This disclosure concerns a mechanism for providing external access to a secured networked virtualization environment.
A networked virtualization environment includes several nodes (e.g., servers, data centers, etc.) that are in communication with each other, each node hosting several user virtual machines. The networked virtualization environment, otherwise referred to as a cluster of nodes, is normally deployed for use within a secured environment, such that only internal accesses to the nodes within the cluster are allowed. In order to maintain security within the cluster of nodes, a firewall is typically provided to prevent external access into the cluster of nodes. Even where a firewall is not provided, the nodes within the cluster are provided private IP addresses such that the nodes cannot be externally accessed.
During operation of the cluster of nodes, a need may arise for an external entity to gain access into the cluster of nodes. This may occur where an external entity is needed to service or provide support to the cluster of nodes. Because the cluster of nodes are protected by a firewall or otherwise inaccessible to external entities, a mechanism is needed for providing external access to the secured networked virtualization environment (e.g., cluster of nodes).
Embodiments of the present invention provide a mechanism for providing external access to a secured networked virtualization environment. The method for providing external access to a secured networked virtualization environment includes performing a leadership election amongst nodes of the secured networked virtualization environment to elect a leader node, assigning a cluster virtual IP address to the leader node and generating a reverse tunnel, using a processor, by the leader node to allow for an external entity to communicate with the secured networked virtualization environment.
Further details of aspects, objects and advantages of the invention are described below in the detailed description, drawings and claims. Both the foregoing general description and the following detailed description are exemplary and explanatory, and are not intended to be limiting as to the scope of the invention.
The drawings illustrate the design and utility of embodiments of the present invention, in which similar elements are referred to by common reference numerals. In order to better appreciate the advantages and objects of embodiments of the invention, reference should be made to the accompanying drawings. However, the drawings depict only certain embodiments of the invention, and should not be taken as limiting the scope of the invention.
Various embodiments are described hereinafter with reference to the figures. It should be noted that the figures are not necessarily drawn to scale. It should also be noted that the figures are only intended to facilitate the description of the embodiments, and are not intended as an exhaustive description of the invention or as a limitation on the scope of the invention. In addition, an illustrated embodiment need not have all the aspects or advantages shown. An aspect of or advantage described in conjunction with a particular embodiment is not necessarily limited to that embodiment and can be practiced in any other embodiments even if not so illustrated. Also, reference throughout this specification to “some embodiments” or “other embodiments” means that a particular feature, structure, material, or characteristic described in connection with the embodiments is included in at least one embodiment. Thus, the appearances of the phrase “in some embodiments” or “in other embodiments”, in various places throughout this specification are not necessarily referring to the same embodiment or embodiments.
Each node 100a or 100b runs virtualization software, such as VMWare ESX(i), Microsoft Hyper-V, or RedHat KVM. The virtualization software includes a hypervisor 130/132 to manage the interactions between the underlying hardware and the one or more user VMs 102a, 102b, 102c and 102d that run client software.
A special VM 110a/110b is used to manage storage and I/O activities according to some embodiments of the invention, which is referred to herein as a “Service VM”. The term Service VM may also be referred to herein as a Controller VM. This is the “Storage Controller” in the currently described networked virtualization environment for storage management. Multiple such storage controllers coordinate within a cluster to form a single-system. The Controller VMs 110a/110b are not formed as part of specific implementations of hypervisors 130/132. Instead, the Controller VMs run as virtual machines above hypervisors 130/132 on the various servers 102a and 102b, and work together to form a distributed system 110 that manages all the storage resources, including the locally attached storage 122/124, the networked storage 128, and the cloud storage 126. Since the Controller VMs run above the hypervisors 130/132, this means that the current approach can be used and implemented within any virtual machine architecture, since the Controller VMs of embodiments of the invention can be used in conjunction with any hypervisor from any virtualization vendor.
Each Controller VM 110a-b exports one or more block devices or NFS server targets that appear as disks to the client VMs 102a-d. These disks are virtual, since they are implemented by the software running inside the Controller VMs 110a-b. Thus, to the user VMs 102a-d, the Controller VMs 110a-b appear to be exporting a clustered storage appliance that contains some disks. All user data (including the operating system) in the client VMs 102a-d resides on these virtual disks.
Significant performance advantages can be gained by allowing the virtualization environment to access and utilize local (e.g., server-internal) storage 122. This is because I/O performance is typically much faster when performing access to local storage 122 as compared to performing access to networked storage 128 across a network 140. This faster performance for locally attached storage 122 can be increased even further by using certain types of optimized local storage devices, such as SSDs 125.
Once the virtualization environment is capable of managing and accessing locally attached storage, as is the case with the present embodiment, various optimizations can then be implemented to improve system performance even further. For example, the data to be stored in the various storage devices can be analyzed and categorized to determine which specific device should optimally be used to store the items of data. Data that needs to be accessed much faster or more frequently can be identified for storage in the locally attached storage 122. On the other hand, data that does not require fast access or which is accessed infrequently can be stored in the networked storage devices 128 or in cloud storage 126.
Another advantage provided by this approach is that administration activities can be handled on a much more efficient granular level. Recall that the prior art approaches of using a legacy storage appliance in conjunction with VMFS heavily relies on what the hypervisor can do at its own layer with individual “virtual hard disk” files, effectively making all storage array capabilities meaningless. This is because the storage array manages much coarser grained volumes while the hypervisor needs to manage finer-grained virtual disks. In contrast, the present embodiment can be used to implement administrative tasks at much smaller levels of granularity, one in which the smallest unit of administration at the hypervisor matches exactly with that of the storage tier itself.
Yet another advantage of the present embodiment of the invention is that storage-related optimizations for access and storage of data can be implemented directly within the primary storage path. For example, in some embodiments of the invention, the Controller VM 110a can directly perform data deduplication tasks when storing data within the storage devices. This is far advantageous to prior art approaches that require add-on vendors/products outside of the primary storage path to provide deduplication functionality for a storage system. Other examples of optimizations that can be provided by the Controller VMs include quality of service (QOS) functions, encryption and compression. The networked virtualization environment massively parallelizes storage, by placing a storage controller—in the form of a Controller VM—at each hypervisor, and thus makes it possible to render enough CPU and memory resources to achieve the aforementioned optimizations.
Additional details regarding networked virtualization environments for storage management are described in related U.S. Pat. No. 8,601,473, issued on Dec. 3, 2013, entitled “Architecture for Managing I/O and Storage for a Virtualization Environment”, which is hereby incorporated by reference in its entirety.
A networked virtualization environment includes several nodes (e.g., servers, data centers, etc.) that are in communication with each other, each node hosting several user virtual machines. An example of such a networked virtualization environment is illustrated in
By providing each node 201 within the cluster with a private IP address 203, internal communications between nodes 201 located in the cluster is allowed while external access to nodes 201 within the cluster is prevented because the external entity 207 is unable to access the private IP address 203 of the nodes 201 within the cluster. While the external entity 207 is prevented from accessing the nodes within the cluster, the nodes 201 within the cluster are allowed to communicate with the external entity 207 by way of the external entity's public IP address 209.
An additional layer of protection is also provided by the firewall 205. The firewall allows for nodes 201 within the cluster to communicate with the external entity 207, but prevents the external entity 207 from being able to access nodes 201 within the cluster, as illustrated by the unidirectional dashed arrows in
During operation of the cluster of nodes, a need may arise for the external entity 207 to gain access into nodes 201 within the cluster. This may occur where the external entity 207 is needed to service or provide support to nodes 201 within the cluster. Because the nodes 201 within the cluster are protected by a firewall or otherwise inaccessible to external entities (e.g., due to their private IP addresses), a mechanism is needed for providing external access to the secured networked virtualization environment (e.g., cluster of nodes).
Initially a leadership election is performed by the secured networked virtualization environment (e.g., cluster of nodes) to elect a leader node as shown at 301. The leader node will be responsible for providing external access to the cluster of nodes, and will also be utilized to direct the external communications from external entities to the appropriate nodes within the cluster. By electing a leader node, a single point of external access is provided for the cluster, rather than having each node within the cluster independently provide for external access. This allows for external entities looking to service or provide support to the cluster of nodes to communicate through a single end-point rather than having to separately communicate through multiple different endpoints, thereby streamlining the process for providing external access.
Various methods for leadership election exist for electing a leader node from the cluster of nodes. An example of a leadership election is described in
In the networked virtualization environment (e.g., cluster of nodes), a distributed configuration module may exist at each node. The distributed configuration module keeps track of various parameters related to the networked virtualization environment, including the health of nodes within the cluster. Each node may utilize its own instance of the distributed configuration modules, and the different distributed configuration modules may communicate amongst each other to track parameters for all nodes with the cluster.
One feature provided by the distributed configuration modules is heartbeat tracking. Each node may receive a request from its corresponding distributed configuration module requesting its health status. The node may respond with an indication of good health, or otherwise not respond, which indicates that it is in a failure state. The distributed configuration modules within the cluster may communicate amongst each other such that every node is aware of the health of every other node in the networked virtualization environment.
When leadership election is to occur for the cluster of nodes, the distributed configuration modules may receive heartbeat responses from their corresponding nodes as shown at 401. For the nodes that do provide heartbeat responses, a queue may be formed as shown at 403. This may be accomplished by placing the first node that provides a heartbeat response at the head of the queue, and placing each subsequent node that provides a heartbeat response in a respective location within the queue. The distributed configuration modules at each node may communicate amongst each other to determine the order of nodes within the queue.
The queue may be updated periodically, such as for each heartbeat request and heartbeat response. When a node currently located in the queue subsequently fails to provide a heartbeat response, it may be removed from the queue. Likewise, when a node that is not currently located in the queue subsequently provides a healthy heartbeat response, it is placed in the appropriate position in the queue.
After the queue is formed using nodes that provide a heartbeat response, the node located in the first position in the queue is elected as the leader node as shown at 405. As mentioned above, the elected leader node will be responsible for providing external access to the cluster of nodes, and will also be utilized to direct the external communications from external entities to the appropriate nodes within the cluster.
Once the leader node has been elected, a cluster virtual IP address is assigned to the leader node as shown at 303. By assigning a cluster virtual IP address to the leader node, a single IP address may be utilized for all external accesses into the cluster of nodes. Whenever the leader node fails, and a new leader node is elected, the new leader node may be assigned the same cluster virtual IP address such that external communication with the cluster through the new leader node may still be accomplished using the same cluster virtual IP address. This avoids the need to provide a different IP address each time a different leader node is elected for the cluster, thereby simplifying the process for providing external access to the cluster.
The nodes within the cluster may continue to communicate internally amongst each other using their individual private IP addresses. The cluster virtual IP address is only used to allow for external communication from an external entity into the cluster of nodes that utilizes.
After the leader node has been assigned the cluster virtual IP address, the leader node generates a reverse tunnel to allow for the external entity to communicate with the cluster as shown at 305. In order to generate a reverse tunnel, the leader node may first identify a port number at an external entity through which the external entity may communicate with the leader node. In some embodiments, the leader node may use a statically determined port (e.g., statically determined port number) at the external entity. In other embodiments, the leader node may use dynamically determined port (e.g., dynamically determined port number) at the external entity.
The external entity may be selected from a configured list of external entities assigned to and stored at the cluster of nodes. The configured list of external entities may be stored within the secured networked virtualization environment to allow for the secured networked virtualization environment to identify the external entity for providing external access. In some embodiments, the external entity is identified based on its ability to establish communication with the secured networked virtualization environment. For example, the external entity may be determined by iterating through the configured list of external entities until an external entity is encountered with which communication can be established and port numbers determined. This list of external entities may be periodically refreshed by communicating with an entity from the current list. For example, the list of external entities may be refreshed once daily. This allows for the configured list of external entities to be modified (e.g., new external entities added) without requiring a manual reset or a software package upgrade. Additionally, to enable load balancing different clusters may be assigned different lists of external entities based on their unique identifiers. Thus the reverse tunnels established across different clusters may be distributed among different external entities.
The leader node receives the available port number from the external entity as shown at 503 and then generates the reverse tunnel using the received available port number from the external entity as shown at 505, which will be discussed in greater detail below. By providing for dynamic port generation, the port utilized by the external entity for access into the secured cluster of nodes may be determined based on availability rather than having to statically provide a port for external access.
After identifying a port number at the external entity through which the external entity may communicate with the leader node (either statically or dynamically), the leader node may then perform a secured shell (SSH) command with the identified port number, the cluster virtual IP, and a public SSH key for the external entity. The command is performed by the leader node causing a tunnel to be created between the external entity and the leader node through which the external entity may communicate with the cluster. The external entity then communicates with the cluster via the tunnel formed between the external entity and the leader node.
The reverse tunnel is monitored at the cluster as shown at 307. While monitoring the reverse tunnel, the cluster may periodically check to see if the reverse tunnel remains operational as shown at 309. If the reverse tunnel becomes non-operational, the method returns to 301 where a new leader node is elected and another reverse tunnel is generated, which will be described in greater detail below. In some embodiments, the reverse tunnel may become non-operational when the leader node fails.
If the reverse tunnel remains operational, the method may return to 307 where the cluster continues to monitor the reverse tunnel. If the cluster of nodes decides that it no longer wants to provide access to external entities, it may terminate the reverse tunnel as shown at 311.
As mentioned above, the external entity 607 may be selected from a configured list of external entities assigned to and stored at the cluster of nodes 611. The external entity that is provided with access to the cluster of nodes 601 may be determined by iterating through the configured list of external entities until the external entity 607 is encountered with which communication can be established and port numbers determined.
A leadership election is then performed by the secured networked virtualization environment (e.g., cluster of nodes) to elect a leader node 611 as illustrated in
The leader node 611 is responsible for providing external access to the cluster of nodes 601, and will also be utilized to direct the external communications from the external entity 607 to the appropriate nodes 601 within the cluster. By electing a leader node 611, a single point of external access is provided for the cluster, rather than having each node 601 within the cluster independently provide for external access. This allows for the external entity 607 looking to service or provide support to the cluster of nodes 601 to communicate through a single end-point rather than having to separately communicate through multiple different endpoints, thereby streamlining the process for providing external access.
Once the leader node 611 has been elected, a cluster virtual IP address 613 is assigned to the leader node 611 as illustrated in
The nodes 601 within the cluster may continue to communicate internally amongst each other using their individual private IP addresses 603. The cluster virtual IP address 613 is only used to allow for external communication from the external entity 607 into the cluster of nodes 601.
After the leader node 611 has been assigned the cluster virtual IP address 613, the leader node 611 generates a reverse tunnel 615 to allow for the external entity 607 to communicate with the cluster as illustrated in
Monitoring of the reverse tunnel 615 may then occur until the leader node 611 fails or the cluster otherwise decides to terminate the reverse tunnel 615 and discontinue external access. When the leader node 611 fails, external access from the external entity 607 into the cluster of nodes 601 is not lost. The cluster of nodes 601 may perform another leadership election to again generate a reverse tunnel for allowing the external entity to access the cluster of nodes.
Initially, failure of the leader node is identified as shown at 701. As mentioned above, an instance of a distributed configuration module at each node keeps track of the health of nodes within the cluster. When the leader node fails to provide a heartbeat in response to a heartbeat request from its corresponding distributed configuration module, notification that the leader node has failed is propagated to the rest of the nodes in the cluster.
After identifying that the leader node has failed, leadership election is again performed to elect a new leader node as shown at 703. Election of the new leader node may occur in the same manner as election of failed leader node and as described above in
Once the new leader node has been elected, the cluster virtual IP address that was previously assigned to the failed leader node is assigned to the new leader node as shown at 705. By assigning the previously assigned cluster virtual IP address to the new leader node, external communication with the cluster through the new leader node may still be accomplished using the same cluster virtual IP address. This avoids the need to provide a different IP address each time a different leader node is elected for the cluster, thereby simplifying the process for providing external access to the cluster.
The nodes within the cluster may continue to communicate internally amongst each other using their individual private IP addresses. The cluster virtual IP address is only used to allow for external communication from an external entity into the cluster of nodes that utilizes.
After the new leader node has been assigned the cluster virtual IP address, the new leader node generates a reverse tunnel to allow for the external entity to communicate with the cluster as shown at 707. Because the previously elected leader node has failed, the reverse tunnel generated by the previously elected leader node is no longer operational. Thus, the newly elected leader node must generate another reverse tunnel to allow for external entities to communicate with the cluster. The newly elected leader node may generate the reverse tunnel in the same manner as described above for the previously elected leader node.
Because the newly elected leader node utilizes the same cluster virtual IP address as the previously elected leader node, the reverse tunnel generated by the newly elected leader node will utilize the same cluster virtual IP address as the reverse tunnel generated by the previously elected leader node. Similarly, because the newly elected leader node belongs to the same cluster as the previously elected leader node, the port number at the external entity through which the external entity may communicate with the newly elected leader node may remain the same as the port number used in conjunction with the previously elected leader node.
After the newly elected leader node has generated the reverse tunnel for allowing the external entity to communicate with the cluster, monitoring may continue to occur in the manner described above.
In
After identifying that the leader node 611 has failed, leadership election is again performed to elect a new leader node 801 (node 3) as illustrated in
The cluster virtual IP address 613 that was previously assigned to the failed leader node 611 is then assigned to the new leader node 801 as illustrated in
Finally, the new leader node 801 generates another reverse tunnel 803 to allow for the external entity 607 to communicate with the cluster as illustrated in
Because the newly elected leader node 801 utilizes the same cluster virtual IP address 613 as the previously elected leader node 611, the reverse tunnel 803 generated by the newly elected leader node 801 will utilize the same cluster virtual IP address 613 as the reverse tunnel generated 615 by the previously elected leader node 611. Similarly, because the newly elected leader node 801 belongs to the same cluster as the previously elected leader node 611, the port number at the external entity through which the external entity 607 may communicate with the newly elected leader node 801 may remain the same as the port number used in conjunction with the previously elected leader node 611.
After the newly elected leader node 801 has generated the reverse tunnel 803 for allowing the external entity 607 to communicate with the cluster, monitoring may continue to occur in the manner described above.
According to one embodiment of the invention, computer system 1400 performs specific operations by processor 1407 executing one or more sequences of one or more instructions contained in system memory 1408. Such instructions may be read into system memory 1408 from another computer readable/usable medium, such as static storage device 1409 or disk drive 1410. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and/or software. In one embodiment, the term “logic” shall mean any combination of software or hardware that is used to implement all or part of the invention.
The term “computer readable medium” or “computer usable medium” as used herein refers to any medium that participates in providing instructions to processor 1407 for execution. Such a medium may take many forms, including but not limited to, non-volatile media and volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as disk drive 1410. Volatile media includes dynamic memory, such as system memory 1408.
Common forms of computer readable media includes, for example, floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, or any other medium from which a computer can read.
In an embodiment of the invention, execution of the sequences of instructions to practice the invention is performed by a single computer system 1400. According to other embodiments of the invention, two or more computer systems 1400 coupled by communication link 1415 (e.g., LAN, PTSN, or wireless network) may perform the sequence of instructions required to practice the invention in coordination with one another.
Computer system 1400 may transmit and receive messages, data, and instructions, including program, i.e., application code, through communication link 1415 and communication interface 1414. Received program code may be executed by processor 1407 as it is received, and/or stored in disk drive 1410, or other non-volatile storage for later execution
In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. For example, the above-described process flows are described with reference to a particular ordering of process actions. However, the ordering of many of the described process actions may be changed without affecting the scope or operation of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than restrictive sense.
The present application is a continuation of U.S. patent application Ser. No. 14/708,091, filed on May 8, 2015, titled “MECHANISM FOR PROVIDING EXTERNAL ACCESS TO A SECURED NETWORKED VIRTUALIZATION ENVIRONMENT”, and claims the benefit of U.S. Provisional Application Ser. No. 61/991,195, filed on May 9, 2014, titled “MECHANISM FOR PROVIDING EXTERNAL ACCESS TO A SECURED NETWORKED VIRTUALIZATION ENVIRONMENT”, the content of the aforementioned applications are hereby incorporated by reference in its entirety. The present application is related to U.S. Pat. No. 8,601,473, entitled “ARCHITECTURE FOR MANAGING I/O AND STORAGE FOR A VIRTUALIZATION ENVIRONMENT”, issued on Dec. 3, 2013, and which is hereby incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5253252 | Tobol | Oct 1993 | A |
5276867 | Kenley et al. | Jan 1994 | A |
5664144 | Yanai et al. | Sep 1997 | A |
5870555 | Pruett et al. | Feb 1999 | A |
5884308 | Foulston | Mar 1999 | A |
6055543 | Christensen et al. | Apr 2000 | A |
6085234 | Pitts et al. | Jul 2000 | A |
6101508 | Wolff | Aug 2000 | A |
6212531 | Blea et al. | Apr 2001 | B1 |
6289356 | Hitz et al. | Sep 2001 | B1 |
6341340 | Tsukerman et al. | Jan 2002 | B1 |
6363416 | Naeimi et al. | Mar 2002 | B1 |
6442602 | Choudhry | Aug 2002 | B1 |
6684397 | Byer et al. | Jan 2004 | B1 |
6738801 | Kawaguchi et al. | May 2004 | B1 |
6928589 | Pomaranski et al. | Aug 2005 | B1 |
6963914 | Breitbart et al. | Nov 2005 | B1 |
6968345 | Muhlestein | Nov 2005 | B1 |
7120631 | Vahalia et al. | Oct 2006 | B1 |
7356679 | Le et al. | Apr 2008 | B1 |
7379419 | Collins | May 2008 | B2 |
7409511 | Edwards et al. | Aug 2008 | B2 |
7421578 | Huang | Sep 2008 | B1 |
7461374 | Balint et al. | Dec 2008 | B1 |
7606868 | Le et al. | Oct 2009 | B1 |
7647427 | Devarapalli | Jan 2010 | B1 |
7702843 | Chen et al. | Apr 2010 | B1 |
7720864 | Muth et al. | May 2010 | B1 |
7725671 | Prahlad et al. | May 2010 | B2 |
7752492 | Armangau et al. | Jul 2010 | B1 |
7774391 | Le et al. | Aug 2010 | B1 |
7805469 | Nagaralu et al. | Sep 2010 | B1 |
7805511 | Panicker et al. | Sep 2010 | B1 |
7840533 | Prahlad et al. | Nov 2010 | B2 |
7890529 | Srinivasan et al. | Feb 2011 | B1 |
7934117 | Kakivaya et al. | Apr 2011 | B2 |
7937453 | Hayden et al. | May 2011 | B1 |
7937455 | Saha et al. | May 2011 | B2 |
7941470 | Le et al. | May 2011 | B2 |
7990962 | Chang et al. | Aug 2011 | B2 |
8051252 | Williams | Nov 2011 | B2 |
8051262 | Ichikawa et al. | Nov 2011 | B2 |
8095810 | Matsuzawa et al. | Jan 2012 | B2 |
8095931 | Chen et al. | Jan 2012 | B1 |
8190588 | Gupta et al. | May 2012 | B1 |
8219769 | Wilk | Jul 2012 | B1 |
8352482 | Hansen | Jan 2013 | B2 |
8352608 | Keagy et al. | Jan 2013 | B1 |
8365167 | Beaty et al. | Jan 2013 | B2 |
8392680 | Natanzon et al. | Mar 2013 | B1 |
8407448 | Hayden et al. | Mar 2013 | B1 |
8424003 | Degenaro et al. | Apr 2013 | B2 |
8447728 | Prahlad et al. | May 2013 | B2 |
8473462 | Banerjee | Jun 2013 | B1 |
8473775 | Helmick | Jun 2013 | B1 |
8484163 | Yucel et al. | Jul 2013 | B1 |
8484356 | Douglis et al. | Jul 2013 | B1 |
8539076 | Nakano et al. | Sep 2013 | B2 |
8543790 | Chen et al. | Sep 2013 | B2 |
8549518 | Aron | Oct 2013 | B1 |
8601471 | Beaty | Dec 2013 | B2 |
8601473 | Aron | Dec 2013 | B1 |
8635351 | Astete et al. | Jan 2014 | B2 |
8646089 | Jayanthi et al. | Feb 2014 | B2 |
8688660 | Sivasubramanian et al. | Apr 2014 | B1 |
8751515 | Xing et al. | Jun 2014 | B1 |
8762335 | Prahlad et al. | Jun 2014 | B2 |
8805951 | Faibish et al. | Aug 2014 | B1 |
8838923 | Prahlad et al. | Sep 2014 | B2 |
8850130 | Aron et al. | Sep 2014 | B1 |
8863124 | Aron | Oct 2014 | B1 |
8898668 | Costea | Nov 2014 | B1 |
8914429 | Pitts | Dec 2014 | B2 |
8935563 | Rajaa et al. | Jan 2015 | B1 |
8949557 | Kamei et al. | Feb 2015 | B2 |
8966188 | Bardale | Feb 2015 | B1 |
8983952 | Zhang et al. | Mar 2015 | B1 |
8996783 | Huang et al. | Mar 2015 | B2 |
9009106 | Aron et al. | Apr 2015 | B1 |
9032248 | Petty | May 2015 | B1 |
9043567 | Modukuri et al. | May 2015 | B1 |
9060014 | Crowley | Jun 2015 | B2 |
9069708 | Gill et al. | Jun 2015 | B2 |
9152628 | Stacey et al. | Oct 2015 | B1 |
9154535 | Harris | Oct 2015 | B1 |
9201698 | Ashok et al. | Dec 2015 | B2 |
9201704 | Chang et al. | Dec 2015 | B2 |
9201887 | Earl et al. | Dec 2015 | B1 |
9213513 | Hartz et al. | Dec 2015 | B2 |
9244674 | Waterman et al. | Jan 2016 | B2 |
9244969 | Love et al. | Jan 2016 | B1 |
9256475 | Aron et al. | Feb 2016 | B1 |
9256612 | Bhatt et al. | Feb 2016 | B1 |
9268586 | Voccio et al. | Feb 2016 | B2 |
9274817 | Fan et al. | Mar 2016 | B1 |
9286298 | Gillett, Jr. | Mar 2016 | B1 |
9286344 | Bhardwaj et al. | Mar 2016 | B1 |
9292327 | Von Thenen et al. | Mar 2016 | B1 |
9336132 | Aron et al. | May 2016 | B1 |
9348702 | Hsu et al. | May 2016 | B2 |
9389887 | Aron et al. | Jul 2016 | B1 |
9405566 | Chawla et al. | Aug 2016 | B2 |
9411628 | Bezbaruah et al. | Aug 2016 | B2 |
9448887 | Ben Dayan et al. | Sep 2016 | B1 |
9497257 | Love et al. | Nov 2016 | B1 |
9513946 | Sevigny et al. | Dec 2016 | B2 |
9519596 | Coppola et al. | Dec 2016 | B2 |
9535907 | Stringham | Jan 2017 | B1 |
9563555 | Flynn et al. | Feb 2017 | B2 |
9571561 | Jang | Feb 2017 | B2 |
9619257 | Aron et al. | Apr 2017 | B1 |
9634990 | Lee | Apr 2017 | B2 |
9639588 | Cheng | May 2017 | B2 |
9652265 | Narayanasamy et al. | May 2017 | B1 |
9690670 | Paulzagade et al. | Jun 2017 | B1 |
9740436 | Fiebrich-Kandler et al. | Aug 2017 | B2 |
9740723 | Prahlad et al. | Aug 2017 | B2 |
9747287 | Bhardwaj et al. | Aug 2017 | B1 |
9772866 | Aron et al. | Sep 2017 | B1 |
9832136 | Gibson | Nov 2017 | B1 |
9846706 | Basov et al. | Dec 2017 | B1 |
9853978 | Tellvik et al. | Dec 2017 | B2 |
9870291 | Bezbaruah et al. | Jan 2018 | B2 |
9893988 | Agarwal et al. | Feb 2018 | B2 |
9898522 | Cole et al. | Feb 2018 | B2 |
9940154 | Ramani et al. | Apr 2018 | B2 |
9946573 | Mcdermott | Apr 2018 | B2 |
10009215 | Shorey | Jun 2018 | B1 |
10050862 | Nambiar et al. | Aug 2018 | B2 |
10083022 | Fukui et al. | Sep 2018 | B2 |
10084873 | Dornemann | Sep 2018 | B2 |
10095506 | Gopalapura Venkatesh et al. | Oct 2018 | B2 |
10101989 | Sinha et al. | Oct 2018 | B2 |
10114706 | Chougala et al. | Oct 2018 | B1 |
10127059 | Astete et al. | Nov 2018 | B2 |
10140115 | Fukui et al. | Nov 2018 | B2 |
10152233 | Xu et al. | Dec 2018 | B2 |
10210048 | Sancheti | Feb 2019 | B2 |
10210172 | Konig et al. | Feb 2019 | B1 |
10248657 | Prahlad et al. | Apr 2019 | B2 |
10367753 | Schultze et al. | Jul 2019 | B2 |
10394547 | Fukui et al. | Aug 2019 | B2 |
10419426 | Bakshan et al. | Sep 2019 | B2 |
10523592 | Byers et al. | Dec 2019 | B2 |
10530742 | Shah et al. | Jan 2020 | B2 |
10534634 | Yang et al. | Jan 2020 | B2 |
10540164 | Bafna et al. | Jan 2020 | B2 |
10540165 | Bafna et al. | Jan 2020 | B2 |
10540166 | Arikatla et al. | Jan 2020 | B2 |
10719305 | Sinha et al. | Jul 2020 | B2 |
10719306 | Deshmukh et al. | Jul 2020 | B2 |
10719307 | Kanada et al. | Jul 2020 | B2 |
10728090 | Deshmukh et al. | Jul 2020 | B2 |
10809998 | Gopalapura Venkatesh et al. | Oct 2020 | B2 |
10824455 | Arikatla et al. | Nov 2020 | B2 |
10831465 | Sharpe et al. | Nov 2020 | B2 |
10838708 | Sinha et al. | Nov 2020 | B2 |
20020120763 | Miloushev et al. | Aug 2002 | A1 |
20020133491 | Sim | Sep 2002 | A1 |
20030115218 | Bobbitt et al. | Jun 2003 | A1 |
20030163597 | Hellman et al. | Aug 2003 | A1 |
20030195942 | Muhlestein et al. | Oct 2003 | A1 |
20040054777 | Ackaouy et al. | Mar 2004 | A1 |
20040210591 | Hirschfeld et al. | Oct 2004 | A1 |
20040267832 | Wong et al. | Dec 2004 | A1 |
20050094574 | Han et al. | May 2005 | A1 |
20050120160 | Plouffe et al. | Jun 2005 | A1 |
20050120180 | Schornbach et al. | Jun 2005 | A1 |
20050125503 | Iyengar et al. | Jun 2005 | A1 |
20050193245 | Hayden et al. | Sep 2005 | A1 |
20050201272 | Wang et al. | Sep 2005 | A1 |
20050210461 | Srivastava et al. | Sep 2005 | A1 |
20050226059 | Kavuri et al. | Oct 2005 | A1 |
20050228798 | Shepard et al. | Oct 2005 | A1 |
20050268298 | Hunt et al. | Dec 2005 | A1 |
20060010227 | Atluri | Jan 2006 | A1 |
20060047685 | Dearing et al. | Mar 2006 | A1 |
20060069912 | Zheng et al. | Mar 2006 | A1 |
20060080657 | Goodman | Apr 2006 | A1 |
20060136781 | Lamport | Jun 2006 | A1 |
20060206901 | Chan | Sep 2006 | A1 |
20060224918 | Koike | Oct 2006 | A1 |
20060225065 | Chandhok et al. | Oct 2006 | A1 |
20070022129 | Bahar et al. | Jan 2007 | A1 |
20070038913 | Allen et al. | Feb 2007 | A1 |
20070100905 | Masters et al. | May 2007 | A1 |
20070171921 | Wookey et al. | Jul 2007 | A1 |
20070271561 | Winner et al. | Nov 2007 | A1 |
20070300220 | Seliger et al. | Dec 2007 | A1 |
20080098194 | Hashimoto et al. | Apr 2008 | A1 |
20080104589 | Mccrory et al. | May 2008 | A1 |
20080133486 | Fitzgerald et al. | Jun 2008 | A1 |
20080134178 | Fitzgerald et al. | Jun 2008 | A1 |
20080189468 | Schmidt et al. | Aug 2008 | A1 |
20080201414 | Amir et al. | Aug 2008 | A1 |
20080201457 | London | Aug 2008 | A1 |
20080208938 | Lin et al. | Aug 2008 | A1 |
20080270677 | Kolakowski | Oct 2008 | A1 |
20080320499 | Suit | Dec 2008 | A1 |
20080320583 | Sharma et al. | Dec 2008 | A1 |
20090006801 | Shultz et al. | Jan 2009 | A1 |
20090100248 | Kami | Apr 2009 | A1 |
20090113034 | Krishnappa | Apr 2009 | A1 |
20090144720 | Roush et al. | Jun 2009 | A1 |
20090158082 | Jain et al. | Jun 2009 | A1 |
20090171971 | Goddard et al. | Jul 2009 | A1 |
20090193272 | Matsuzawa et al. | Jul 2009 | A1 |
20090216975 | Halperin et al. | Aug 2009 | A1 |
20090248870 | Kamei et al. | Oct 2009 | A1 |
20090249470 | Litvin et al. | Oct 2009 | A1 |
20090271412 | Lacapra et al. | Oct 2009 | A1 |
20090287887 | Matsuki et al. | Nov 2009 | A1 |
20090288084 | Astete et al. | Nov 2009 | A1 |
20090290572 | Gonia et al. | Nov 2009 | A1 |
20100042869 | Szabo et al. | Feb 2010 | A1 |
20100070725 | Prahlad et al. | Mar 2010 | A1 |
20100082716 | Agetsuma et al. | Apr 2010 | A1 |
20100082774 | Pitts | Apr 2010 | A1 |
20100095289 | Nguyen et al. | Apr 2010 | A1 |
20100110150 | Xu et al. | May 2010 | A1 |
20100138921 | Na et al. | Jun 2010 | A1 |
20100162226 | Borissov et al. | Jun 2010 | A1 |
20100174745 | Ryan et al. | Jul 2010 | A1 |
20100214908 | Ralev | Aug 2010 | A1 |
20100241785 | Chen et al. | Sep 2010 | A1 |
20100262717 | Critchley | Oct 2010 | A1 |
20100275205 | Nakajima | Oct 2010 | A1 |
20110022694 | Dalal et al. | Jan 2011 | A1 |
20110022695 | Dalal et al. | Jan 2011 | A1 |
20110022812 | Van et al. | Jan 2011 | A1 |
20110022883 | Hansen | Jan 2011 | A1 |
20110047340 | Olson et al. | Feb 2011 | A1 |
20110078318 | Desai et al. | Mar 2011 | A1 |
20110107135 | Andrews et al. | May 2011 | A1 |
20110119763 | Wade et al. | May 2011 | A1 |
20110125835 | Soltis | May 2011 | A1 |
20110161299 | Prahlad et al. | Jun 2011 | A1 |
20110173493 | Armstrong et al. | Jul 2011 | A1 |
20110179414 | Goggin et al. | Jul 2011 | A1 |
20110184993 | Chawla | Jul 2011 | A1 |
20110185292 | Chawla et al. | Jul 2011 | A1 |
20110225574 | Khalidi et al. | Sep 2011 | A1 |
20110239213 | Aswani et al. | Sep 2011 | A1 |
20110252208 | Ali et al. | Oct 2011 | A1 |
20110255538 | Srinivasan et al. | Oct 2011 | A1 |
20110265076 | Thorat et al. | Oct 2011 | A1 |
20110271279 | Pate | Nov 2011 | A1 |
20110276578 | Allalouf et al. | Nov 2011 | A1 |
20110276963 | Wu et al. | Nov 2011 | A1 |
20110283277 | Castillo et al. | Nov 2011 | A1 |
20110289561 | Ivanov et al. | Nov 2011 | A1 |
20110307729 | Matsuzawa et al. | Dec 2011 | A1 |
20110320690 | Petersen et al. | Dec 2011 | A1 |
20120017114 | Timashev et al. | Jan 2012 | A1 |
20120023495 | Machida | Jan 2012 | A1 |
20120030456 | Wu et al. | Feb 2012 | A1 |
20120054736 | Arcese et al. | Mar 2012 | A1 |
20120078948 | Darcy | Mar 2012 | A1 |
20120081395 | Adi et al. | Apr 2012 | A1 |
20120084381 | Alladi et al. | Apr 2012 | A1 |
20120117555 | Banerjee et al. | May 2012 | A1 |
20120166866 | Rao et al. | Jun 2012 | A1 |
20120222089 | Whelan | Aug 2012 | A1 |
20120233463 | Holt et al. | Sep 2012 | A1 |
20120233608 | Toeroe | Sep 2012 | A1 |
20120243795 | Head et al. | Sep 2012 | A1 |
20120254342 | Evans | Oct 2012 | A1 |
20120254445 | Kawamoto et al. | Oct 2012 | A1 |
20120266162 | Baron | Oct 2012 | A1 |
20120266231 | Spiers | Oct 2012 | A1 |
20120272237 | Baron | Oct 2012 | A1 |
20120290630 | Aizman et al. | Nov 2012 | A1 |
20120310892 | Dam et al. | Dec 2012 | A1 |
20120317142 | Broecheler et al. | Dec 2012 | A1 |
20120324183 | Chiruvolu et al. | Dec 2012 | A1 |
20130007741 | Britsch et al. | Jan 2013 | A1 |
20130036323 | Goose et al. | Feb 2013 | A1 |
20130046740 | Li et al. | Feb 2013 | A1 |
20130054973 | Fok | Feb 2013 | A1 |
20130055018 | Joshi et al. | Feb 2013 | A1 |
20130061110 | Zvibel | Mar 2013 | A1 |
20130061167 | Rhodes et al. | Mar 2013 | A1 |
20130066930 | Kamei et al. | Mar 2013 | A1 |
20130117744 | Klein et al. | May 2013 | A1 |
20130132674 | Sundrani | May 2013 | A1 |
20130138995 | Sivaramakrishnan et al. | May 2013 | A1 |
20130151888 | Bhattiprolu et al. | Jun 2013 | A1 |
20130152077 | Leitman et al. | Jun 2013 | A1 |
20130152085 | Amore et al. | Jun 2013 | A1 |
20130174246 | Schrecker | Jul 2013 | A1 |
20130185716 | Yin et al. | Jul 2013 | A1 |
20130198738 | Reddin et al. | Aug 2013 | A1 |
20130212345 | Nakajima | Aug 2013 | A1 |
20130219030 | Szabo | Aug 2013 | A1 |
20130227379 | Gupta et al. | Aug 2013 | A1 |
20130227550 | Weinstein et al. | Aug 2013 | A1 |
20130227552 | Reddin et al. | Aug 2013 | A1 |
20130227566 | Higuchi et al. | Aug 2013 | A1 |
20130232491 | Radhakrishnan et al. | Sep 2013 | A1 |
20130235774 | Jo | Sep 2013 | A1 |
20130246705 | Diare | Sep 2013 | A1 |
20130247036 | Fujiwara | Sep 2013 | A1 |
20130262396 | Kripalani et al. | Oct 2013 | A1 |
20130283267 | Cooper et al. | Oct 2013 | A1 |
20130297869 | Mills et al. | Nov 2013 | A1 |
20130304694 | Barreto et al. | Nov 2013 | A1 |
20130332771 | Salapura et al. | Dec 2013 | A1 |
20140006708 | Huynh et al. | Jan 2014 | A1 |
20140025796 | Vibhor et al. | Jan 2014 | A1 |
20140052877 | Mao | Feb 2014 | A1 |
20140059392 | Ren et al. | Feb 2014 | A1 |
20140068612 | Torrey | Mar 2014 | A1 |
20140068711 | Schweitzer, III | Mar 2014 | A1 |
20140089259 | Cheng | Mar 2014 | A1 |
20140095544 | Eshel et al. | Apr 2014 | A1 |
20140095555 | Kim et al. | Apr 2014 | A1 |
20140095816 | Hsu et al. | Apr 2014 | A1 |
20140101649 | Kamble | Apr 2014 | A1 |
20140109172 | Barton | Apr 2014 | A1 |
20140115182 | Sabaa et al. | Apr 2014 | A1 |
20140123138 | Lee et al. | May 2014 | A1 |
20140143831 | Fieweger | May 2014 | A1 |
20140146055 | Bala et al. | May 2014 | A1 |
20140149794 | Shetty et al. | May 2014 | A1 |
20140149983 | Bonilla et al. | May 2014 | A1 |
20140164831 | Merriman et al. | Jun 2014 | A1 |
20140173199 | Gupta et al. | Jun 2014 | A1 |
20140181116 | Wang | Jun 2014 | A1 |
20140188808 | Wolf et al. | Jul 2014 | A1 |
20140189685 | Kripalani | Jul 2014 | A1 |
20140189686 | Masters et al. | Jul 2014 | A1 |
20140196038 | Kottomtharayil et al. | Jul 2014 | A1 |
20140201725 | Tian et al. | Jul 2014 | A1 |
20140207824 | Brandwine et al. | Jul 2014 | A1 |
20140222953 | Karve et al. | Aug 2014 | A1 |
20140230024 | Uehara et al. | Aug 2014 | A1 |
20140237464 | Waterman et al. | Aug 2014 | A1 |
20140250300 | Runkis et al. | Sep 2014 | A1 |
20140279909 | Am et al. | Sep 2014 | A1 |
20140310710 | Lubsey et al. | Oct 2014 | A1 |
20140359612 | D'Amato et al. | Dec 2014 | A1 |
20150006788 | Liu et al. | Jan 2015 | A1 |
20150007180 | Sharp et al. | Jan 2015 | A1 |
20150026682 | Singh et al. | Jan 2015 | A1 |
20150032690 | Hoque et al. | Jan 2015 | A1 |
20150039763 | Chaudhary et al. | Feb 2015 | A1 |
20150039837 | Quan et al. | Feb 2015 | A1 |
20150058298 | Earl et al. | Feb 2015 | A1 |
20150081644 | Pitts | Mar 2015 | A1 |
20150095788 | Thiele et al. | Apr 2015 | A1 |
20150106325 | Cole et al. | Apr 2015 | A1 |
20150106802 | Ivanov et al. | Apr 2015 | A1 |
20150142745 | Tekade et al. | May 2015 | A1 |
20150142747 | Zou | May 2015 | A1 |
20150178019 | Hegdal et al. | Jun 2015 | A1 |
20150205618 | Bailey et al. | Jul 2015 | A1 |
20150205639 | Matsumoto et al. | Jul 2015 | A1 |
20150213032 | Powell et al. | Jul 2015 | A1 |
20150220324 | Arcese et al. | Aug 2015 | A1 |
20150242291 | Chang et al. | Aug 2015 | A1 |
20150244802 | Simoncelli | Aug 2015 | A1 |
20150278046 | Zellermayer et al. | Oct 2015 | A1 |
20150293830 | Bhide et al. | Oct 2015 | A1 |
20150293896 | Runkis et al. | Oct 2015 | A1 |
20150301903 | Mutha et al. | Oct 2015 | A1 |
20150032653 | Cui et al. | Nov 2015 | A1 |
20150324217 | Shilmover et al. | Nov 2015 | A1 |
20150326531 | Cui et al. | Nov 2015 | A1 |
20150331757 | Durge et al. | Nov 2015 | A1 |
20150347775 | Bie et al. | Dec 2015 | A1 |
20160034555 | Rahut et al. | Feb 2016 | A1 |
20160050118 | Blanco et al. | Feb 2016 | A1 |
20160057009 | Kadayam et al. | Feb 2016 | A1 |
20160070492 | Cherubini et al. | Mar 2016 | A1 |
20160077936 | Tang et al. | Mar 2016 | A1 |
20160078068 | Agrawal et al. | Mar 2016 | A1 |
20160085480 | Chiu et al. | Mar 2016 | A1 |
20160085574 | Dornemann et al. | Mar 2016 | A1 |
20160087861 | Kuan et al. | Mar 2016 | A1 |
20160110214 | Vincent et al. | Apr 2016 | A1 |
20160110267 | Earl et al. | Apr 2016 | A1 |
20160124665 | Jain et al. | May 2016 | A1 |
20160162371 | Prabhu et al. | Jun 2016 | A1 |
20160171241 | Yun | Jun 2016 | A1 |
20160179419 | Yamaguchi et al. | Jun 2016 | A1 |
20160188232 | Ramachandran et al. | Jun 2016 | A1 |
20160188407 | Bronnikov et al. | Jun 2016 | A1 |
20160202916 | Cui et al. | Jul 2016 | A1 |
20160203008 | Cui et al. | Jul 2016 | A1 |
20160204977 | Cui et al. | Jul 2016 | A1 |
20160216993 | Beckwith et al. | Jul 2016 | A1 |
20160224363 | Joy | Aug 2016 | A1 |
20160301766 | Ionescu et al. | Oct 2016 | A1 |
20160328226 | Arya et al. | Nov 2016 | A1 |
20160335134 | Gupta et al. | Nov 2016 | A1 |
20160359697 | Scheib et al. | Dec 2016 | A1 |
20160359955 | Gill et al. | Dec 2016 | A1 |
20160378528 | Zamir | Dec 2016 | A1 |
20160378616 | Wigmore et al. | Dec 2016 | A1 |
20170004131 | Ben Dayan et al. | Jan 2017 | A1 |
20170005990 | Birger et al. | Jan 2017 | A1 |
20170012904 | Matzek et al. | Jan 2017 | A1 |
20170024152 | Bhagi et al. | Jan 2017 | A1 |
20170024224 | Bakke et al. | Jan 2017 | A1 |
20170039078 | Chen et al. | Feb 2017 | A1 |
20170039218 | Prahlad et al. | Feb 2017 | A1 |
20170048223 | Anantha Padmanaban et al. | Feb 2017 | A1 |
20170068469 | Shankar et al. | Mar 2017 | A1 |
20170075921 | Benton et al. | Mar 2017 | A1 |
20170090776 | Kowles | Mar 2017 | A1 |
20170091047 | Bangalore et al. | Mar 2017 | A1 |
20170094002 | Kumar et al. | Mar 2017 | A1 |
20170109184 | Ramani et al. | Apr 2017 | A1 |
20170160983 | Fiske et al. | Jun 2017 | A1 |
20170177638 | Bhosale et al. | Jun 2017 | A1 |
20170206074 | Arcese et al. | Jul 2017 | A1 |
20170206207 | Bondurant et al. | Jul 2017 | A1 |
20170214738 | Agarwal et al. | Jul 2017 | A1 |
20170220661 | Cao et al. | Aug 2017 | A1 |
20170235507 | Sinha et al. | Aug 2017 | A1 |
20170235562 | Bafna et al. | Aug 2017 | A1 |
20170235563 | Bafna et al. | Aug 2017 | A1 |
20170235589 | Gopalapura Venkatesh et al. | Aug 2017 | A1 |
20170235590 | Sinha et al. | Aug 2017 | A1 |
20170235591 | Kanada et al. | Aug 2017 | A1 |
20170235653 | Arikatla et al. | Aug 2017 | A1 |
20170235654 | Deshmukh et al. | Aug 2017 | A1 |
20170235751 | Gupta et al. | Aug 2017 | A1 |
20170235758 | Gopalapura Venkatesh et al. | Aug 2017 | A1 |
20170235760 | Sharpe et al. | Aug 2017 | A1 |
20170235761 | Bafna et al. | Aug 2017 | A1 |
20170235762 | Sharpe et al. | Aug 2017 | A1 |
20170235763 | Gopalapura Venkatesh et al. | Aug 2017 | A1 |
20170235764 | Sharpe et al. | Aug 2017 | A1 |
20170235950 | Gopalapura Venkatesh et al. | Aug 2017 | A1 |
20170242599 | Patnaik et al. | Aug 2017 | A1 |
20170262346 | Pradhan et al. | Sep 2017 | A1 |
20170277556 | Ishii et al. | Sep 2017 | A1 |
20170277903 | Christodorescu et al. | Sep 2017 | A1 |
20170279674 | Zhu | Sep 2017 | A1 |
20170286228 | Redko et al. | Oct 2017 | A1 |
20170302589 | Leafe et al. | Oct 2017 | A1 |
20180004766 | Darling | Jan 2018 | A1 |
20180062993 | Wu et al. | Mar 2018 | A1 |
20180129426 | Aron et al. | May 2018 | A1 |
20180143845 | Chawla et al. | May 2018 | A1 |
20180157521 | Arikatla et al. | Jun 2018 | A1 |
20180157522 | Bafna et al. | Jun 2018 | A1 |
20180157561 | Venkatesh et al. | Jun 2018 | A1 |
20180157677 | Bafna et al. | Jun 2018 | A1 |
20180157752 | Arikatla et al. | Jun 2018 | A1 |
20180157860 | Nair et al. | Jun 2018 | A1 |
20180159729 | Deshmukh et al. | Jun 2018 | A1 |
20180159826 | Yisan et al. | Jun 2018 | A1 |
20180173731 | Nazari et al. | Jun 2018 | A1 |
20180205787 | Ben Dayan et al. | Jul 2018 | A1 |
20180278602 | Koushik et al. | Sep 2018 | A1 |
20180332105 | Huang et al. | Nov 2018 | A1 |
20180357251 | Kumarasamy et al. | Dec 2018 | A1 |
20190026101 | Gopalapura Venkatesh et al. | Jan 2019 | A1 |
20190079747 | Sinha et al. | Mar 2019 | A1 |
20190129808 | Acharya et al. | May 2019 | A1 |
20190196718 | Pai et al. | Jun 2019 | A1 |
20190207925 | Anantha Padmanaban et al. | Jul 2019 | A1 |
20190286832 | Szeto et al. | Sep 2019 | A1 |
20190332683 | Thummala et al. | Oct 2019 | A1 |
20200007530 | Mohamad Abdul et al. | Jan 2020 | A1 |
20200036647 | Gupta et al. | Jan 2020 | A1 |
20200081704 | Bafna et al. | Mar 2020 | A1 |
20200106669 | Dhillon et al. | Apr 2020 | A1 |
20200274869 | Tahenakos et al. | Aug 2020 | A1 |
Number | Date | Country |
---|---|---|
103746997 | Apr 2014 | CN |
110519112 | Nov 2019 | CN |
1 229 443 | Aug 2002 | EP |
WO 2010050944 | May 2010 | WO |
WO 2011078646 | Jun 2011 | WO |
WO 2014200564 | Dec 2014 | WO |
WO 2016018446 | Feb 2016 | WO |
WO 2020180291 | Sep 2020 | WO |
Entry |
---|
Non-final Office Action dated Jul. 7, 2015 for related U.S. Appl. No. 14/278,363. |
Non-final Office Action dated Jul. 16, 2015 for related U.S. Appl. No. 14/584,466. |
International Search Report and Written Opinion dated Aug. 20, 2015, for related PCT Patent Application No. PCT/US15/31096, 8 pages. |
International Search Report and Written Opinion dated Aug. 26, 2015, for related PCT Patent Application No. PCT/US15/31096, 8 pages. |
Final Office Action dated Feb. 25, 2016 for related U.S. Appl. No. 14/584,466. |
Final Office Action dated Mar. 23, 2016 for related U.S. Appl. No. 14/278,363. |
Notice Of Allowance and Fee(s) due dated Jul. 19, 2016 for related U.S. Appl. No. 14/206,869. |
Lamport, Leslie “Paxos Made Simple,” dated Nov. 1, 2001, 14 pages. |
Alexander Shraer, et al., “Dynamic Reconfiguration of Primary/Backup Clusters,” dated 2011, 13 pages. |
Notice of Allowance and Fee(s) due dated Oct. 30, 2015 for related U.S. Appl. No. 14/144,520. |
Wikipedia, “Compare-and-swap,” Nov. 9, 2015, 6 pages. |
International Search Report and Written Opinion dated Aug. 7, 2015, for corresponding PCT Patent Application No. PCT/US2015/030026, 10 pages. |
Non-final Office Action dated Jul. 17, 2015 for related U.S. Appl. No. 14/206,869. |
PCT International Search Report and Written Opinion dated Jun. 15, 2015 for related PCT Patent Application No. PCT/US2015/020139. |
Final Office Action dated Jan. 25, 2016 for related U.S. Appl. No. 14/206,869. |
Non-final Office Action dated Sep. 22, 2016 for related U.S. Appl. No. 14/584,466. |
Citrix, “Citrix XenServer 6.0 Administrator's Guide”, Copyright 2012 Citrix Systems, Inc., 207 pages (PCM Nutanix-023 ref). |
John L Hufferd, Hufferd Enterprises, SNIA, “IP Storage Protocols: iSCSI”, Copyright 2011 Storage Networking Industry Association, 46 pages (PCM Nutanix-032 ref). |
Vmware, Technical White Paper, “Multipathing Configuration for Software iSCSI Using Port Binding”, Copyright 2012 Vmware, Inc., 15 pages (PCM Nutanix-032 ref). |
Non-final Office Action dated Oct. 7, 2016 for related U.S. Appl. No. 14/278,363. |
Notice of Allowance and Fee(s) due dated Oct. 24, 2016 for related U.S. Appl. No. 14/206,869. |
Non-final Office Action dated Nov. 1, 2016 for related U.S. Appl. No. 14/708,091. |
Notice of Allowance and Fee(s) due dated Apr. 5, 2017 for related U.S. Appl. No. 14/584,466. |
Ajmani et al., “Scheduling and Simulation: How to Upgrade Distributed Systems,” HotOS IX: The 9th Workshop on Hot Topics in Operating Systems, USENIX, 2003, pp. 43-48. |
Kochut, Andrzej and Alexei Karve, “Leveraging Local Image Redundancy for Efficient Virtual Machine Provisioning,” 2012 IEEE Network Operations and Management Symposium, Jun. 8, 2012, pp. 179-187. |
Soules et al.; “Metadata Efficiency in a Comprehensive Versioning File System”, May 2002, CMU-CS-02-145, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213, 33 pages. |
Notice of Allowance and Fee(s) due dated Apr. 10, 2017 for related U.S. Appl. No. 14/278,363. |
Final Office Action dated Apr. 20, 2017 for related U.S. Appl. No. 14/708,091. |
Notice of Allowance and Fee(s) due dated May 15, 2017 for related U.S. Appl. No. 15/069,961. |
Non-Final Office Action dated Jan. 26, 2017 for related U.S. Appl. No. 15/069,961. |
Non-Final Office Action dated Jul. 12, 2017 for related U.S. Appl. No. 14/610,285. |
European Search Report dated May 5, 2017 for related EP Application No. 15792334.3, 13 pages. |
European Search Report dated May 19, 2017 for related EP Application No. 15788922.1, 11 pages. |
Non-Final Office Action dated Aug. 24, 2017 for related U.S. Appl. No. 14/708,091. |
Final Office Action dated Jan. 9, 2018 for related U.S. Appl. No. 14/610,285. |
European Extended Search Report dated Jan. 15, 2018 for related EP Application No. 15762234.1, 19 pages. |
Final Office Action dated Feb. 27, 2018 for related U.S. Appl. No. 14/708,091. |
Advisory Action dated May 18, 2018 for related U.S. Appl. No. 14/708,091. |
Non-Final Office Action dated Jun. 7, 2018 for related U.S. Appl. No. 15/294,422. |
Non-Final Office Action dated Jun. 29, 2018 for related U.S. Appl. No. 15/160,347. |
Notice of Allowance dated Sep. 6, 2018 for related U.S. Appl. No. 14/708,091, 8 pages. |
First Office Action dated Jul. 30, 2018 for related European Application No. 15762234.1, 6 pages. |
Non-Final Office Action dated Nov. 14, 2018 for related U.S. Appl. No. 15/678,893, 7 pages. |
Notice of Allowance dated Nov. 20, 2018 for related U.S. Appl. No. 15/294,422, 7 pages. |
Intention to Grant dated Jan. 3, 2019 for related EP Application No. 15792334.3, 7 pages. |
Final Office Action dated Jan. 28, 2019 for related U.S. Appl. No. 15/160,347, 16 pages. |
Poitras, Steven. “The Nutanix Bible” (Oct. 15, 2013), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). |
Poitras, Steven. “The Nutanix Bible” (Jan. 11, 2014), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). |
Poitras, Steven. “The Nutanix Bible” (Jun. 20, 2014), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). |
Poitras, Steven. “The Nutanix Bible” (Jan. 7, 2015), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). |
Poitras, Steven. “The Nutanix Bible” (Jun. 9, 2015), from http://stevenpoitras.com/the-nutanix-bible/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). |
Poitras, Steven. “The Nutanix Bible” (Sep. 4, 2015), from https://nutanixbible.com/. |
Poitras, Steven. “The Nutanix Bible” (Jan. 12, 2016), from https://nutanixbible.com/. |
Poitras, Steven. “The Nutanix Bible” (Jun. 9, 2016), from https://nutanixbible.com/. |
Poitras, Steven. “The Nutanix Bible” (Jan. 3, 2017), from https://nutanixbible.com/. |
Poitras, Steven. “The Nutanix Bible” (Jun. 8, 2017), from https://nutanixbible.com/. |
Poitras, Steven. “The Nutanix Bible” (Jan. 3, 2018), from https://nutanixbible.com/. |
Poitras, Steven. “The Nutanix Bible” (Jun. 25, 2018), from https://nutanixbible.com/. |
Poitras, Steven. “The Nutanix Bible” (Jan. 8, 2019), from https://nutanixbible.com/. |
Notice of Allowance dated Mar. 20, 2019 for related U.S. Appl. No. 15/678,893, 5 pages. |
Notice of Allowance dated Mar. 26, 2019 for related U.S. Appl. No. 15/294,422, 7 pages. |
Non-Final Office Action dated Sep. 6, 2019 for related U.S. Appl. No. 15/160,347. |
Notice of Allowance dated Nov. 19, 2019 for related U.S. Appl. No. 14/708,091. |
Notice of Allowance dated Dec. 27, 2019 for related U.S. Appl. No. 14/610,285. |
Final Office Action dated Mar. 16, 2020 for related U.S. Appl. No. 15/160,347. |
E.S., “Nutanix Two-Node Clusters”, (Jun. 18, 2018), from http://vpash.com/nutanix/nutanix-two-node-clusters/, pp. all. |
Configuring a Witness (two-node cluster) (Jul. 16, 2018), 3 pages. |
Gupta, Upasna. “Unlocking the ROBO/Edge IT Landscape with the Launch of Nutanix 1-node Cluster” (Jan. 19, 2018), 7 pages. |
Liu, M. “Fine-Grained Replicated State Machines for a Cluster Storage System”, in the Proceedings of the 17th USENIX Symposium on Networked Systems Design and Implementation (NSDI '20), (Feb. 25-27, 2020). |
Junqueira, F. P., “Zab: High-performance broadcast for primary-backup systems”, 2011 IEEE/IFIP 41st International Conference on Dependable Systems & Networks (DSN), (Jun. 27-30, 2011). |
Redis, “Redis Sentinel Documentation”, (Jul. 23, 2012), date retrieved from google. |
Rabbitmq, “Quorum Queues”, (Nov. 14, 2019), date retrieved from google. |
Cao, W., “PolarFS: An Ultra-low Latency and Failure Resilient Distributed File System for Shared Storage Cloud Database”, Proceedings of the VLDB Endowment, vol. 11, No. 12, (Aug. 2018). |
Alibaba Cloud, “AliSQL X-Cluster: An MySQL Database with Superior Performance and Strong Consistency”, (Dec. 8, 2019). |
Cano, I. et al., “Curator: Self-Managing Storage for Enterprise Clusters”, 14th USENIX Symposium on Networked Systems Design and Implementation, NSDI '17, (Mar. 27, 2017). |
Poitras, Steven. “The Nutanix Bible” (Jul. 9, 2019), from https://nutanixbible.com/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). |
Poitras, Steven. “The Nutanix Bible” (Feb. 3, 2020), from https://nutanixbible.com/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). |
Final Office Action dated Aug. 5, 2020 for U.S. Appl. No. 16/041,348. |
Notice of Allowance dated Nov. 4, 2020 for related U.S. Appl. No. 15/160,347. |
Mizrak, A. T et al., “VMWARE vCenter Server High Availability Performance and Best Practices”, VMware vCenter Server 6.5, Performance Study, VMware, (Nov. 2016). |
VMware, “vSAN Planning and Deployment”, VMware vSphere 7.0, VMware vSAN 7.0, VMware, Inc., (Apr. 2, 2020). |
VMware, “VMware Infrastructure, Automating High Availability (HA) Services with VMware HA”, VMware Technical Note, (Revised on Jun. 5, 2006). |
VMware, “VMware® High Availability (VMware HA): Deployment Best Practices”, VMware® vSphere™ 4.1, Technical White Paper, (Dec. 10, 2010), date retrieved from google. |
Potheri, M. et al., “VMware vCenter Server™ 6.0, Availability Guide”, Technical Marketing Documentation, Version 1.0, (May 2015). |
McCarty, J., “VMware® Virtual SAN™ Stretched Cluster: Bandwidth Sizing Guidance”, Technical White Paper, VMware, (Jan. 26, 2016), date retrieved from google. |
McCarty, J., “VMware® Virtual SAN™ 6.1 Stretched Cluster & 2 Node Guide”, Storage and Availability Business Unit, VMware, v 6.1.0c, version 0.20, (Jan. 2016). |
Dell: “High Availability and Data Protection With Dell EMC Isilon Scale-Out NAS”, (Jul. 2018), Dell Inc. |
Jcosta et al., “High Availability Setup Using Veritas Cluster Server and NetApp Synchronous SnapMirror—One button Failover-Failback with SnapMirror Sync and Veritas Cluster Server”, (Nov. 18, 2010), NetApp Community. |
NetApp: “Preparing storage systems for SnapMirror replication”, (Jul. 2015), NetApp, Inc. |
Bounds, J., “High-Availability (HA) Pair Controller Configuration Overview and Best Practices”, (Feb. 2016), NetApp, Inc. |
Netapp, “Clustered Data ONTAP 8.2 File Access Management Guide for CIFS”, NetApp, Inc., (Feb. 2014). |
Jung, Y . et al. “ Standard-based Virtual Infrastructure Resource Management for Distributed and Heterogeneous Servers”, ICACT, (Feb. 15, 2009). |
Dell EMC, “Dell EMC Isilon OneFS Operating System, Scale-out NAS to maximize the data capital and business value of your unstructured data”, Data Sheet, (Jan. 31, 2019), date retrieved from google. |
Dell EMC, “Dell EMC Isilon OneFS Operating System, Powering the Isilon Scale-Out Storage Platform”, White Paper, (Dec. 2019). |
EMC, “EMC Isilon OneFS Operating System, Powering scale-out storage for the new world of Big Data in the enterprise”, Data Sheet, (Apr. 2013). |
EMC, Isilon OneFS, Version 8.0.1, Web Administration Guide, EMC Corporation, (Oct. 2016). |
NetApp, “Enabling or disabling SMB automatic node referrals”, ONTAP 9 Documentation Center, NetApp, Inc., (Updated Dec. 2020), from https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.cdot-famg-cifs%2FGUID-AC7E8515-3A4C-4BB5-A8C8-38B565C952EO.html,. |
NetApp, “Guaranteeing throughput with QoS”, ONTAP 9 Documentation Center, NetApp, Inc., (Updated Dec. 2020), from https://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.Netapp.doc.pow-perf-mon%2FGUID-77DF9BAF-4ED7-43F6-AECE-95DFB0680D2F.html. |
NetApp. “How to troubleshoot the ‘Autolocation’ feature in Clustered Data ONTAP”, Knowledgebase, NetApp, (Jun. 4, 2019). |
NetApp. “How to troubleshoot the ‘Autolocation’ feature in Clustered Data ONTAP—Results”, Knowledgebase, NetApp, (Captured on Sep. 19, 2019). |
Cloudian, “Hybrid Cloud Storage with Cloudian HyperStore and Amazon S3”, Solution Brief, Cloudian Inc., (Aug. 2015). |
NetApp, “Improving client response time by providing SMB automatic node referrals with Auto Location”, NetApp, Inc., (May 2013), from https://library.netapp.com/ecmdocs/ECMP1196891/html/GUID-0A5772A4-A6D7-4A00-AC2A-92B868C5B3B5.html. |
NetApp, “Managing Workloads”, ONTAP 9 Documentation Center, NetApp, Inc., (Updated Dec. 2020), from https://docs.netapp.com/ontap9/index.jsp?topic=%2Fcom.netapp.doc.pow-perf-mon%2FGUID-13D35FC5-AF37-4BBD-8A8E-B1OB41451A16.html. |
Nutanix, “Nutanix AFS—Introduction & Steps For Setting Up”, (Jan. 3, 2018), from https://virtual building blocks. com/2018/01/03/nutanix-afs-introduction-steps-for-setting-up/. |
NetApp, “Protect Your Data with NetApp Element Software”, Solution Brief, NetApp, (Oct. 11, 2020), date retrieved from google. |
Kemp, E., “NetApp SolidFire SnapMirror Architecture and Configuration”, Technical Report, NetApp, (Dec. 2017). |
Kleyman, B., “How Cloud Computing Changes Storage Tiering”, DataCenter Knowledge, (Nov. 12, 2015). |
Poitras, Steven. “The Nutanix Bible” (Aug. 1, 2020), from https://nutanixbible.com/ (Publication date based on indicated capture date by Archive.org; first publication date unknown). |
Virtuadmin, “Configure vCenter High Availability”, Virtubytes, (Sep. 14, 2017). |
U.S. Appl. No. 17/129,425 titled “ Parallel Change File Tracking in a Distributed File Server Virtual Machine (FSVM) Architecture” filed Dec. 21, 2020. |
U.S. Appl. No. 16/942,929 titled “Method Using Access Information in a Distributed File Server Virtual Machine (FSVM) Architecture, Including Web Access”; filed Jul. 30, 2020. |
U.S. Appl. No. 16/944,323 titled “Actions Based On File Tagging in a Distributed File Server Virtual Machine (FSVM) Environment”, filed Jul. 31, 2020. |
U.S. Appl. No. 17/091,758 titled “Virtualized File Server Distribution Across Clusters”, filed Nov. 6, 2020. |
Non-Final Office Action dated Sep. 30, 2020 for related U.S. Appl. No. 16/177,126. |
Notice of Allowance dated Mar. 3, 2021 for U.S. Appl. No. 16/041,348. |
Notice of Allowance dated Mar. 10, 2021 for related U.S. Appl. No. 15/160,347. |
Rivera, R., “VMware Virtual SAN: Witness Component Deployment Logic”, VMware vSphere Bloi, (Apr. 1, 2014). |
Page, M. “EMC Vplex Witness Deployment Within VMware Vcloud Air”, White Paper, EMC, (Oct. 7, 2016). |
EMC, “EMC Vplex Witness Deployment Within VMware Vcloud Air”, White Paper, EMC, (Jul. 2013). |
“New VMware HCL category: vSphere Metro Stretched Cluster”, Virtual Geek, (Oct. 5, 2011). |
Lakkapragada, S. et al., “Site Recovery Manager and Stretched Storage: Tech Preview of a New Approach to Active-Active Data Centers”, VMware, (Nov. 2014). |
Epping, D., “Stretched vCloud Director Infrastructure”, VMware, (Jan. 23, 2013). |
Bernasconi, A. et al., “IBM SAN and SVC Stretched Cluster and VMware Solution Implementation”, IBM Redbooks, (Apr. 2013). |
Ashish, S. et al., “IBM SAN vol. Controller Stretched Cluster with PowerVM and PowerHA”, IBM Redbooks, (Jul. 2013). |
Dell, “Multi-AZ (stretched cluster)”, Architecture Guide—VMware Cloud Foundation 3.10.01 on VxRail, Dell Technologies, (Oct. 2001). |
Daveberm, “Step-By-Step: Configuring a 2-NODE Multi-Site Cluster On Windows Server 2008 R2—Part 1”, Clustering for Mere Mortals, (Sep. 15, 2009). |
“Failover Clustering (III)”, Networks & Servers Blog, (Sep. 2011). |
Sarmiento, E., “Force Start a Windows Server Failover Cluster without a Quorum to bring a SQL Server Failover Clustered Instance Online”, (Aug. 22, 2014). |
Horenbeeck, M. V., “Spooky! the Curious Case of the ‘Ghost’ File Share Witness . . . ”, (Jul. 15, 2014). |
VMware, “Administering VMware Virtual SAN: VMware vSphere 6.5, vSAN 6.6”, VMware, (Jun. 26, 2017). |
Littman, M. L., “The Witness Algorithm: Solving Partially Observable Markov Decision Process”, Brown University, (Dec. 1994). |
Oracle, “Deploying Microsoft SQL Server Always On Availability Groups”, Oracle White Paper, (Sep. 2018). |
Enterprisedb, “EDB Failover Manager Guide: Failover Manager Version 2.0.3”, EnterpriseDB Corporation, (Dec. 18, 2015). |
“Explaining the Stormagic SvSAN WITNESS”, White Paper, (Aug. 29, 2018). |
“2016 Failover cluster using Azure blob as a cluster quorum”, Teckadmin, (Mar. 31, 2019). |
Deschner, G. et al., “Calling the Witness: SMB3 Failover with Samba/CTDB”, Redhat, (Oct. 2, 2015). |
Microsoft, “High Availability Solutions: SQL Server 2012 Books Online”, Microsoft (Jun. 2012). |
Mitchell, D., “Introduction to VMware vSAN™ for VMware Cloud Providers™,” Version 2.9, VMware, (Jan. 2018). |
Mitchell, D., “Introduction to VMware vSAN™ for VMware vCloud Air™ Network”, Version 2.7, VMware, (Feb. 2017). |
Paderin, M. “Analysis of Server Clustering Its Uses and Implementation”, Bachelor's thesis Information Technology, (Dec. 2017). |
VMware, “Virtualizing Microsoft Applications on VMware Virtual SAN”, Reference Architecture, VMware, (Apr. 2, 2015). |
Deschner, G., “Implementing the Witness protocol in Samba”, Redhat, (Jun. 22, 2015). |
Deschner, G., “Cluster improvements in Samba4”, Redhat, (May 30, 2016). |
Ngyuen, L., “SMB 3 Transparent Failover for Hitachi NAS Platform 4000 Series”, Tech Note, Hitachi Data Systems, (Nov. 2016). |
McCarty, J. “VMware Horizon 6 with App volumes and Virtual SAN Reference Architecture”, Storage and Availability Business Unit, VMware (Jan. 2016). |
VMware, “VMware Horizon 6 with App volumes and Virtual SAN Reference Architecture”, Technical White Paper, VMware, (Apr. 9, 2011), date retrieved from google. |
Feroce, D., “Leveraging VMware vSAN™ for Highly Available Management Clusters”, Version 2.9, VMware, (Jan. 2018). |
VMware, “Deployment for Multiple Availability Zones”, VMware Validated Design for Software-Defined Data Center 4.3, VMware, (Jul. 17, 2018). |
Hogan, C., “VMware Virtual SAN Health Check Guide”, Storage and Availability Business Unit, v 6.1.0, VMware, (Sep. 2015). |
Banerjee, A. et al., “VMware Virtual SAN™ Stretched Cluster: Performance and Best Practices”, Technical White Paper, VMware, (Oct. 22, 2015). |
Hosken, M., “VMware vSAN™ Two-Node Architecture VMware Cloud Provider™ Use Cases”, Version 2.9, VMware, (Jan. 2018). |
“VMware Virtual SAN 6.2”, Licensing Guide, VMware, (Revised Jun. 2016). |
Hunter, J., “VMware Virtual SAN 6.2”, PCI DSS Compliance Guide, (Revised Feb. 2016). |
“VMware Virtual SAN: SAP Applications”, Solution Overview, VMware, (May 6, 2016). |
Eckerle, A. et al., “What's New in VMware vSphere® 6.5”, Technical White Paper, (Nov. 15, 2016). |
Notice of Allowance dated Jun. 24, 2021 for U.S. Appl. No. 16/041,348. |
Notice of Allowance dated Aug. 4, 2021 for related U.S. Appl. No. 15/160,347. |
Non-Final Office Action dated Feb. 4, 2020 for U.S. Appl. No. 16/041,348. |
Final Office Action dated Apr. 26, 2021 for related U.S. Appl. No. 16/177,126. |
Non-Final Office Action dated Sep. 7, 2021 for U.S. Appl. No. 16/947,444. |
Number | Date | Country | |
---|---|---|---|
20200177639 A1 | Jun 2020 | US |
Number | Date | Country | |
---|---|---|---|
61991195 | May 2014 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14708091 | May 2015 | US |
Child | 16747272 | US |