IP Library Granted Patent US 12,641,166
Granted Patent B2
US 12,641,166 · App. 18/222,987 · Granted May 26, 2026

Managing high-availability file servers

Inventors: Tony Joseph (Bangalore, IN); Galaxy Kadiyala (Bangalore, IN)
Assignee: Nutanix, Inc.
H04L67/1095H04L41/0803H04L67/06H04L67/1097
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,641,166
App. No.
18/222,987
Filed
Jul 17, 2023
Granted
May 26, 2026
Kind
B2
Examiner
DUONG, OANH
Art Unit
2441
USPC
709/219
Abstract

Methods, systems and computer program products for implementing high-availability file services in a clustered computing environment. Two or more clusters are interconnected to carry out operations for replication of file content between file servers. The file servers and their respective network links are registered with a file server witness. The file servers operate in synchrony, where each file I/O is replicated from one file server to another file server over a first set of network paths. A file server witness communicates with each file server using a second set of two or more network paths interfaced with respective file servers. The file server witness monitors the file servers to determine operational health of the file servers. Upon receipt of a file I/O request, the file I/O request is directed to one of the two file servers based at least in part on the determined operational health.

Claims (86)

1 . A method, comprising:

implementing, using a first virtual machine, a first file server in a first failure domain to provide file services;

implementing, using a second virtual machine, a second file server in a second failure domain to provide the file services, wherein a failure affecting the first failure domain does not affect the second failure domain;

generating monitoring results by respectively monitoring the first and the second file servers, wherein said monitoring is performed with at least one system monitor in at least one of the first and second failure domains, the at least one system monitor is external to the first and the second file servers, and the at least one system monitor comprises a first system monitor deployed in a first controller of a first cluster of the first failure domain and a second system monitor deployed in a second controller of a second cluster of the second failure domain; and

implementing a witness external to the first and second failure domains, wherein the witness is in communication with the at least one system monitor and each of the first and second controllers and executes an operation to select either the first file server or the second file server to serve as a primary file server after detecting an operational status of the first file server or the second file server from the monitoring results.

2 . The method of claim 1 , wherein the first file server in the first failure domain synchronously replicates data to the second file server in the second failure domain, or the first file server at the first failure domain and the second file server at the second failure domain store file services content in a distributed storage pool.

3 . The method of claim 1 , wherein the first file server in the first failure domain corresponds to a primary file server and is transitioned from a primary mode into a fail mode, and the second file server at the second failure domain corresponds to a secondary file server and is transitioned from a replication mode into the primary mode.

4 . The method of claim 3 , wherein the first file server at the first failure domain, after a remediation, is transitioned from the fail mode into the replication mode while the second file server at the second failure domain remains in the primary mode, the witness is in a third failure domain, and the witness is implemented as a third virtual machine.

5 . The method of claim 1 , wherein the witness is in a third failure domain external to the first failure domain and the second failure domain, wherein the witness receives the operational status from the at least one system monitor, the first virtual machine or the second virtual machine is of a first type of virtual machines, and the witness is implemented in a separate virtual machine of a second type that is different from the first type.

6 . The method of claim 1 , wherein the at least one system monitor receives a heartbeat corresponding to the first file server in the first failure domain, wherein the heartbeat is used to monitor availability of the first file server at the first failure domain.

7 . The method of claim 1 , wherein a plurality of file servers including the first file server in the first failure domain and the second file server in the second failure domain are registered with the witness, and the witness bridges one or more hosts with the plurality of file servers in multiple clusters to provide the file services to the one or more hosts.

8 . The method of claim 1 , wherein the first file server in the first failure domain is in a first cluster and the second file server in the second failure domain is in a second cluster.

9 . The method of claim 1 , wherein each of the first failure domain and the second failure domain respectively corresponds to a logical collection of hardware components that are commonly affected by a failure within the corresponding logical collection.

10 . The method of claim 1 , the at least one system monitor comprising a first system monitor and a second system monitor, wherein

the first failure domain comprises the first system monitor that is in communication with the witness,

the second failure domain comprises the second system monitor that is in communication with the witness,

the first system monitor of the first failure domain is external to and in communication with the first file server,

the second system monitor of the second failure domain is external to and in communication with the second file server, and

results are generated by respectively monitoring the first and second file servers with respective first and second system monitors.

11 . The method of claim 2 , wherein

the first failure domain comprises a first system monitor and the second failure domain comprises a second system monitor,

the first system monitor of the first failure domain is external to and in communication with the first file server and the witness, the first system monitor receiving a first heartbeat corresponding the first file server,

the second system monitor of the second failure domain is external to and in communication with the second file server and the witness, the second system monitor receiving a second heartbeat corresponding to the second file server, and

the witness executes an operation to select either the first file server or the second file server based at least in part on respective first and second heartbeats and respective availabilities of respective first and second file servers.

12 . The method of claim 1 , wherein the first controller is a virtual machine.

13 . The method of claim 1 , wherein the second controller is a virtual machine.

14 . A system, comprising:

a processor;

a memory for holding programmable code, wherein the programmable code includes instructions which, when executed by the processor, causes the processor to perform a set of acts, the set of acts comprising:

implementing, using a first virtual machine, a first file server in a first failure domain to provide file services;

implementing, using a second virtual machine, a second file server in a second failure domain to provide the file services, wherein a failure affecting the first failure domain does not affect the second failure domain;

generating monitoring results by respectively monitoring the first and the second file servers, wherein said monitoring is performed with at least one system monitor in at least one of the first and second domains, the at least one system monitor is external to the first and second file servers, and the at least one system monitor comprises a first system monitor deployed in a first controller of a first cluster of the first failure domain and a second system monitor deployed in a second controller of a second cluster of the second failure domain; and

implementing a witness external to the first and second failure domains, wherein the witness is in communication with the at least one system monitor and each of the first and second controllers and executes an operation to select either the first or the second file server to serve as a primary file server after detecting an operational status of the first file server or the second file server from the monitoring results.

15 . The system of claim 14 , wherein the first file server in the first failure domain synchronously replicates data to the second file server in the second failure domain, or the first file server at the first failure domain and the second file server at the second failure domain store file services content in a distributed storage pool.

16 . The system of claim 14 , wherein the first file server in the first failure domain corresponds to a primary file server and is transitioned from a primary mode into a fail mode, and the second file server in the second failure domain corresponds to a secondary file server and is transitioned from a replication mode into the primary mode.

17 . The system of claim 16 , wherein the first file server in the first failure domain, after a remediation, is transitioned from the fail mode into the replication mode while the second file server in the second failure domain remains in the primary mode, the witness is in a third failure domain, and the witness is implemented as a third virtual machine.

18 . The system of claim 14 , wherein the witness is in a third failure domain external to the first and second domains, wherein the witness receives the operational status from the at least one system monitor, the first virtual machine or the second virtual machine is of a first type of virtual machines, and the witness is implemented in a separate virtual machine of a second type that is different from the first type.

19 . The system of claim 14 , wherein the at least one system monitor receives a heartbeat corresponding to the first file server in the first failure domain, wherein the heartbeat is used to monitor availability of the first file server in the first failure domain.

20 . The system of claim 14 , wherein a plurality of file servers including the first file server in the first failure domain and the second file server in the second failure domain are registered with the witness, and the witness bridges one or more hosts with the plurality of file servers in multiple clusters to provide the file services to the one or more hosts.

21 . The system of claim 14 , wherein the first file server in the first failure domain is in a first cluster and the second file server in the second failure domain is in a second cluster.

22 . The system of claim 14 , wherein each of the first failure domain and the second failure domain respectively corresponds to a logical collection of hardware components that are commonly affected by a failure within the corresponding logical collection.

23 . The system of claim 14 , wherein the first controller is a virtual machine.

24 . The system of claim 14 , wherein the second controller is a virtual machine.

25 . The system of claim 14 , wherein the witness is in a third failure domain external to the first failure domain and the second failure domain.

26 . The system of claim 25 , wherein the first file server is in a first cluster in the first failure domain, the second file server is in a second cluster in the second failure domain, and the witness is in a third cluster in the third failure domain, wherein the third failure domain is separate from and external to the first failure domain and the second failure domain.

27 . The system of claim 14 , the at least one system monitor comprising a first system monitor and a second system monitor, wherein

the first failure domain comprises the first system monitor that is in communication with the witness,

the second failure domain comprises the second system monitor that is in communication with the witness,

the first system monitor of the first failure domain is external to and in communication with the first file server,

the second system monitor of the second failure domain is external to and in communication with the second file server, and

results are generated by respectively monitoring the first and second file servers with respective first and second system monitors.

28 . The system of claim 14 , wherein

the first failure domain comprises a first system monitor and the second failure domain comprises a second system monitor,

the first system monitor of the first failure domain is external to and in communication with the first file server and the witness, the first system monitor receiving a first heartbeat corresponding the first file server,

the second system monitor of the second failure domain is external to and in communication with the second file server and the witness, the second system monitor receiving a second heartbeat corresponding to the second file server, and

the witness executes an operation to select either the first file server or the second file server based at least in part on respective first and second heartbeats and respective availabilities of respective first and second file servers.

29 . A computer program product embodied on a non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor, causes the processor to execute a set of acts, the set of acts comprising:

implementing, using a first virtual machine, a first file server in a first failure domain to provide file services;

implementing, using a first virtual machine, a second file server in a second failure domain to provide the file services, wherein a failure affecting the first failure domain does not affect the second failure domain;

generating monitoring results by respectively monitoring the first and the second file servers, wherein said monitoring is performed with at least one system monitor in at least one of the first and second failure domains, the at least one system monitor is external to the first and second file servers, and the at least one system monitor comprises a first system monitor deployed in a first controller of a first cluster of the first failure domain and a second system monitor deployed in a second controller of a second cluster of the second failure domain; and

implementing a witness external to the first and second failure domains, wherein the witness is in communication with the at least one system monitor and each of the first and second controllers and executes an operation to select either the first file server or the second file server to serve as a primary file server after detecting an operational status of the first file server or the second file server from the monitoring results.

30 . The computer program product of claim 29 , wherein the first file server in the first failure domain synchronously replicates data to the second file server in the second failure domain, or the first file server at the first site and the second file server in the second failure domain store file services content in a distributed storage pool.

31 . The computer program product of claim 29 , wherein the first file server in the first failure domain corresponds to a primary file server and is transitioned from a primary mode into a fail mode, and the second file server in the second failure domain corresponds to a secondary file server and is transitioned from a replication mode into the primary mode.

32 . The computer program product of claim 31 , wherein the first file server in the first failure domain, after a remediation, is transitioned from the fail mode into the replication mode while the second file server in the second remains in the primary mode, the witness is in a third failure domain, and the witness is implemented as a third virtual machine.

33 . The computer program product of claim 29 , wherein the witness is in a third failure domain external to the first and second domains, wherein the witness receives the operational status from the at least one system monitor, the first virtual machine or the second virtual machine is of a first type of virtual machines, and the witness is implemented in a third virtual machine of a second type that is different from the first type.

34 . The computer program product of claim 29 , wherein the at least one system monitor receives a heartbeat corresponding to the first file server in the first failure domain, wherein the heartbeat is used to monitor availability of the first file server in the first failure domain.

35 . The computer program product of claim 29 , wherein a plurality of file servers including the first file server in the first failure domain and the second file server in the second failure domain are registered with the witness, and the witness bridges one or more hosts with the plurality of file servers in multiple clusters to provide the file services to the one or more hosts.

36 . The computer program product of claim 29 , wherein the first file server in the first failure domain is in a first cluster and the second file server in the second failure domain is in a second cluster.

37 . The computer program product of claim 29 , wherein each of the first failure domain and the second failure domain respectively correspond to a logical collection of hardware components that are commonly affected by a failure within the corresponding logical collection.

38 . The method of claim 1 , wherein the witness is in a third failure domain external to the first failure domain and the second failure domain.

39 . The method of claim 38 , wherein the first file server is in a first cluster in the first failure domain, the second file server is in a second cluster in the second failure domain, and the witness is in a third cluster in the third failure domain, wherein the third failure domain is separate from and external to the first failure domain and the second failure domain.

40 . The computer program product of claim 29 , wherein the first controller is a virtual machine.

41 . The computer program product of claim 29 , wherein the second controller is a virtual machine.

42 . The computer program product of claim 29 , wherein the witness is in a third failure domain external to the first failure domain and the second failure domain.

43 . The computer program product of claim 42 , wherein the first file server is in a first cluster in the first failure domain, the second file server is in a second cluster in the second failure domain, and the witness is in a third cluster in the third failure domain, wherein the third failure domain is separate from and external to the first failure domain and the second failure domain.

44 . The computer program product of claim 29 , the at least one system monitor comprising a first system monitor and a second system monitor, wherein

the first failure domain comprises the first system monitor that is in communication with the witness,

the second failure domain comprises the second system monitor that is in communication with the witness,

the first system monitor of the first failure domain is external to and in communication with the first file server,

the second system monitor of the second failure domain is external to and in communication with the second file server, and

results are generated by respectively monitoring the first and second file servers with respective first and second system monitors.

45 . The computer program product of claim 29 , wherein

the first failure domain comprises a first system monitor and the second failure domain comprises a second system monitor,

the first system monitor of the first failure domain is external to and in communication with the first file server and the witness, the first system monitor receiving a first heartbeat corresponding the first file server,

the second system monitor of the second failure domain is external to and in communication with the second file server and the witness, the second system monitor receiving a second heartbeat corresponding to the second file server, and

the witness executes an operation to select either the first file server or the second file server based at least in part on respective first and second heartbeats and respective availabilities of respective first and second file servers.

Assignments (1)
SECURITY INTEREST Recorded Feb 13, 2025
From: NUTANIX, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070206/0463 →
Continuity (2)
Continuation 16177126 · Oct 31, 2018
Related Publication 20260089210A1 · Mar 26, 2026
References Cited (400)
US 5253252A · Tobol · 1993 [cited by applicant]
US 5276867A · Kenley et al. · 1994 [cited by applicant]
US 5664144A · Yanai et al. · 1997 [cited by applicant]
US 5870555A · Pruett et al. · 1999 [cited by applicant]
US 5873085A · Enoki · 1999 [cited by applicant]
US 5884308A · Foulston · 1999 [cited by applicant]
US 5924096A · Draper · 1999 [cited by applicant]
US 6055543A · Christensen et al. · 2000 [cited by applicant]
US 6085234A · Pitts et al. · 2000 [cited by applicant]
US 6101508A · Wolff · 2000 [cited by applicant]
US 6212531B1 · Blea et al. · 2001 [cited by applicant]
US 6289356B1 · Hitz et al. · 2001 [cited by applicant]
US 6341340B1 · Tsukerman et al. · 2002 [cited by applicant]
US 6363416B1 · Naeimi et al. · 2002 [cited by applicant]
US 6442602B1 · Choudhry · 2002 [cited by applicant]
US 6539381B1 · Prasad · 2003 [cited by applicant]
US 6684397B1 · Byer et al. · 2004 [cited by applicant]
US 6738801B1 · Kawaguchi et al. · 2004 [cited by applicant]
US 6928589B1 · Pomaranski et al. · 2005 [cited by applicant]
US 6963914B1 · Breitbart et al. · 2005 [cited by applicant]
US 6968345B1 · Muhlestein · 2005 [cited by applicant]
US 7120631B1 · Vahalia et al. · 2006 [cited by applicant]
US 7159056B2 · Goldick · 2007 [cited by applicant]
US 7162467B2 · Eshleman · 2007 [cited by applicant]
US 7356679B1 · Le et al. · 2008 [cited by applicant]
US 7366738B2 · Yorke · 2008 [cited by applicant]
US 7379419B2 · Collins · 2008 [cited by applicant]
US 7409511B2 · Edwards et al. · 2008 [cited by applicant]
US 7421578B1 · Huang et al. · 2008 [cited by applicant]
US 7461374B1 · Balint et al. · 2008 [cited by applicant]
US 7606868B1 · Le et al. · 2009 [cited by applicant]
US 7631066B1 · Schatz et al. · 2009 [cited by applicant]
US 7647427B1 · Devarapalli · 2010 [cited by applicant]
US 7702843B1 · Chen et al. · 2010 [cited by applicant]
US 7707618B1 · Cox · 2010 [cited by applicant]
US 7720864B1 · Muth et al. · 2010 [cited by applicant]
US 7725671B2 · Prahlad et al. · 2010 [cited by applicant]
US 7752492B1 · Armangau et al. · 2010 [cited by applicant]
US 7774391B1 · Le et al. · 2010 [cited by applicant]
US 7805469B1 · Nagaralu et al. · 2010 [cited by applicant]
US 7805511B1 · Panicker et al. · 2010 [cited by applicant]
US 7840533B2 · Prahlad et al. · 2010 [cited by applicant]
US 7890529B1 · Srinivasan et al. · 2011 [cited by applicant]
US 7934117B2 · Kakivaya et al. · 2011 [cited by applicant]
US 7937453B1 · Hayden et al. · 2011 [cited by applicant]
US 7937455B2 · Saha et al. · 2011 [cited by applicant]
US 7941470B2 · Le et al. · 2011 [cited by applicant]
US 7990962B2 · Chang et al. · 2011 [cited by applicant]
US 8024432B1 · Sharma et al. · 2011 [cited by applicant]
US 8051252B2 · Williams · 2011 [cited by applicant]
US 8051262B2 · Ichikawa et al. · 2011 [cited by applicant]
US 8095810B2 · Matsuzawa et al. · 2012 [cited by applicant]
US 8095931B1 · Chen et al. · 2012 [cited by applicant]
US 8190588B1 · Gupta et al. · 2012 [cited by applicant]
US 8219769B1 · Wilk · 2012 [cited by applicant]
US 8239518B2 · Wipfel et al. · 2012 [cited by applicant]
US 8352482B2 · Hansen · 2013 [cited by applicant]
US 8352608B1 · Keagy et al. · 2013 [cited by applicant]
US 8352799B2 · Marathe et al. · 2013 [cited by applicant]
US 8359594B1 · Davidson · 2013 [cited by applicant]
US 8365167B2 · Beaty et al. · 2013 [cited by applicant]
US 8370494B1 · Chen et al. · 2013 [cited by applicant]
US 8392680B1 · Natanzon et al. · 2013 [cited by applicant]
US 8407448B1 · Hayden et al. · 2013 [cited by applicant]
US 8424003B2 · Degenaro et al. · 2013 [cited by applicant]
US 8447728B2 · Prahlad et al. · 2013 [cited by applicant]
US 8473462B1 · Banerjee · 2013 [cited by applicant]
US 8473775B1 · Helmick · 2013 [cited by applicant]
US 8484163B1 · Yucel et al. · 2013 [cited by applicant]
US 8484356B1 · Douglis et al. · 2013 [cited by applicant]
US 8495323B1 · Tatavarty · 2013 [cited by applicant]
US 8539076B2 · Nakano et al. · 2013 [cited by applicant]
US 8543790B2 · Chen et al. · 2013 [cited by applicant]
US 8549518B1 · Aron · 2013 [cited by applicant]
US 8578204B1 · Ortenberg et al. · 2013 [cited by applicant]
US 8601471B2 · Beaty · 2013 [cited by applicant]
US 8601473B1 · Aron et al. · 2013 [cited by applicant]
US 8635351B2 · Astete et al. · 2014 [cited by applicant]
US 8646089B2 · Jayanthi et al. · 2014 [cited by applicant]
US 8655851B2 · Patwardhan et al. · 2014 [cited by applicant]
US 8688660B1 · Sivasubramanian et al. · 2014 [cited by applicant]
US 8707082B1 · Chen et al. · 2014 [cited by applicant]
US 8725679B2 · Nair · 2014 [cited by applicant]
US 8751515B1 · Xing et al. · 2014 [cited by applicant]
US 8762335B2 · Prahlad et al. · 2014 [cited by applicant]
US 8805951B1 · Faibish et al. · 2014 [cited by applicant]
US 8838923B2 · Prahlad et al. · 2014 [cited by applicant]
US 8850130B1 · Aron et al. · 2014 [cited by applicant]
US 8863124B1 · Aron · 2014 [cited by applicant]
US 8898668B1 · Costea · 2014 [cited by applicant]
US 8914429B2 · Pitts · 2014 [cited by applicant]
US 8935563B1 · Rajaa et al. · 2015 [cited by applicant]
US 8949557B2 · Kamei et al. · 2015 [cited by applicant]
US 8966188B1 · Bardale · 2015 [cited by applicant]
US 8983952B1 · Zhang et al. · 2015 [cited by applicant]
US 8996783B2 · Huang et al. · 2015 [cited by applicant]
US 9009106B1 · Aron et al. · 2015 [cited by applicant]
US 9032248B1 · Petty · 2015 [cited by applicant]
US 9043567B1 · Modukuri et al. · 2015 [cited by applicant]
US 9060014B2 · Crowley · 2015 [cited by applicant]
US 9069708B2 · Gill et al. · 2015 [cited by applicant]
US 9135018B2 · Britsch et al. · 2015 [cited by applicant]
US 9152628B1 · Stacey et al. · 2015 [cited by applicant]
US 9154535B1 · Harris · 2015 [cited by applicant]
US 9165003B1 · Tummala · 2015 [cited by applicant]
US 9201698B2 · Ashok et al. · 2015 [cited by applicant]
US 9201704B2 · Chang et al. · 2015 [cited by applicant]
US 9201887B1 · Earl et al. · 2015 [cited by applicant]
US 9213513B2 · Hartz et al. · 2015 [cited by applicant]
US 9244674B2 · Waterman et al. · 2016 [cited by applicant]
US 9244969B1 · Love et al. · 2016 [cited by applicant]
US 9256475B1 · Aron et al. · 2016 [cited by applicant]
US 9256612B1 · Bhatt et al. · 2016 [cited by applicant]
US 9268586B2 · Voccio et al. · 2016 [cited by applicant]
US 9274817B1 · Fan et al. · 2016 [cited by applicant]
US 9286298B1 · Gillett, Jr. · 2016 [cited by applicant]
US 9286344B1 · Bhardwaj et al. · 2016 [cited by applicant]
US 9292327B1 · Von Thenen et al. · 2016 [cited by applicant]
US 9336132B1 · Aron et al. · 2016 [cited by applicant]
US 9348702B2 · Hsu et al. · 2016 [cited by applicant]
US 9389887B1 · Aron et al. · 2016 [cited by applicant]
US 9405566B2 · Chawla et al. · 2016 [cited by applicant]
US 9411628B2 · Bezbaruah et al. · 2016 [cited by applicant]
US 9448887B1 · Ben Dayan et al. · 2016 [cited by applicant]
US 9489273B2 · Pershin et al. · 2016 [cited by applicant]
US 9497257B1 · Love et al. · 2016 [cited by applicant]
US 9513946B2 · Sevigny et al. · 2016 [cited by applicant]
US 9519596B2 · Coppola et al. · 2016 [cited by applicant]
US 9535907B1 · Stringham · 2017 [cited by applicant]
US 9563555B2 · Flynn et al. · 2017 [cited by applicant]
US 9571561B2 · Jang · 2017 [cited by applicant]
US 9590843B2 · Cui et al. · 2017 [cited by applicant]
US 9619257B1 · Aron et al. · 2017 [cited by applicant]
US 9634990B2 · Lee · 2017 [cited by applicant]
US 9639428B1 · Boda · 2017 [cited by applicant]
US 9639588B2 · Cheng · 2017 [cited by applicant]
US 9652265B1 · Narayanasamy et al. · 2017 [cited by applicant]
US 9658899B2 · Jenkins · 2017 [cited by applicant]
US 9690670B1 · Paulzagade et al. · 2017 [cited by applicant]
US 9733958B2 · Cui · 2017 [cited by applicant]
US 9740436B2 · Fiebrich-kandler et al. · 2017 [cited by applicant]
US 9740472B1 · Sohi · 2017 [cited by applicant]
US 9740723B2 · Prahlad et al. · 2017 [cited by applicant]
US 9747287B1 · Bhardwaj et al. · 2017 [cited by applicant]
US 9772284B2 · Quan et al. · 2017 [cited by applicant]
US 9772866B1 · Aron et al. · 2017 [cited by applicant]
US 9779015B1 · Oikarinen et al. · 2017 [cited by applicant]
US 9817703B1 · Ryland et al. · 2017 [cited by applicant]
US 9832136B1 · Gibson · 2017 [cited by applicant]
US 9846706B1 · Basov et al. · 2017 [cited by applicant]
US 9853978B2 · Tellvik et al. · 2017 [cited by applicant]
US 9870291B2 · Bezbaruah et al. · 2018 [cited by applicant]
US 9893988B2 · Agarwal et al. · 2018 [cited by applicant]
US 9898522B2 · Cole et al. · 2018 [cited by applicant]
US 9940154B2 · Ramani et al. · 2018 [cited by applicant]
US 9946573B2 · Mcdermott · 2018 [cited by applicant]
US 9977704B1 · Chopra et al. · 2018 [cited by applicant]
US 10009215B1 · Shorey · 2018 [cited by applicant]
US 10050862B2 · Nambiar et al. · 2018 [cited by applicant]
US 10061665B2 · Mahindru et al. · 2018 [cited by applicant]
US 10083022B2 · Fukui et al. · 2018 [cited by applicant]
US 10084873B2 · Dornemann · 2018 [cited by applicant]
US 10095506B2 · Gopalapura Venkatesh et al. · 2018 [cited by applicant]
US 10101989B2 · Sinha et al. · 2018 [cited by applicant]
US 10114706B1 · Chougala et al. · 2018 [cited by applicant]
US 10127059B2 · Astete et al. · 2018 [cited by applicant]
US 10127124B1 · Dash et al. · 2018 [cited by applicant]
US 10140115B2 · Fukui et al. · 2018 [cited by applicant]
US 10152233B2 · Xu et al. · 2018 [cited by applicant]
US 10193767B1 · Vokaliga et al. · 2019 [cited by applicant]
US 10210048B2 · Sancheti · 2019 [cited by applicant]
US 10210172B1 · Konig et al. · 2019 [cited by applicant]
US 10223402B1 · Vokaliga et al. · 2019 [cited by applicant]
US 10248657B2 · Prahlad et al. · 2019 [cited by applicant]
US 10311153B2 · Mason · 2019 [cited by applicant]
US 10362092B1 · Parthasarathy · 2019 [cited by applicant]
US 10367753B2 · Schultze et al. · 2019 [cited by applicant]
US 10379759B2 · Bhardwaj et al. · 2019 [cited by applicant]
US 10394547B2 · Fukui et al. · 2019 [cited by applicant]
US 10412066B1 · Vemuri · 2019 [cited by applicant]
US 10419426B2 · Bakshan et al. · 2019 [cited by applicant]
US 10430217B2 · Cheng et al. · 2019 [cited by applicant]
US 10523592B2 · Byers et al. · 2019 [cited by applicant]
US 10530742B2 · Shah et al. · 2020 [cited by applicant]
US 10534634B2 · Yang et al. · 2020 [cited by applicant]
US 10540164B2 · Bafna et al. · 2020 [cited by applicant]
US 10540165B2 · Bafna et al. · 2020 [cited by applicant]
US 10540166B2 · Arikatla et al. · 2020 [cited by applicant]
US 10542049B2 · Cui et al. · 2020 [cited by applicant]
US 10592342B1 · Sokolova · 2020 [cited by examiner]
US 10594730B1 · Summers · 2020 [cited by applicant]
US 10599459B2 · Livshits · 2020 [cited by applicant]
US 10620856B2 · Dev et al. · 2020 [cited by applicant]
US 10642507B2 · Gupta et al. · 2020 [cited by applicant]
US 10642518B1 · Bezbaruah et al. · 2020 [cited by applicant]
US 10719305B2 · Sinha et al. · 2020 [cited by applicant]
US 10719306B2 · Deshmukh et al. · 2020 [cited by applicant]
US 10719307B2 · Kanada et al. · 2020 [cited by applicant]
US 10728090B2 · Deshmukh et al. · 2020 [cited by applicant]
US 10728255B2 · Jindal et al. · 2020 [cited by applicant]
US 10809998B2 · Gopalapura Venkatesh et al. · 2020 [cited by applicant]
US 10824455B2 · Arikatla et al. · 2020 [cited by applicant]
US 10831465B2 · Sharpe et al. · 2020 [cited by applicant]
US 10838708B2 · Sinha et al. · 2020 [cited by applicant]
US 10949192B2 · Gopalapura Venkatesh · 2021 [cited by applicant]
US 10963182B2 · Blau et al. · 2021 [cited by applicant]
US 10965752B1 · Smith · 2021 [cited by applicant]
US 10990462B2 · Gahlot et al. · 2021 [cited by applicant]
US 10997028B2 · Sokolova et al. · 2021 [cited by applicant]
US 11025626B1 · Todd · 2021 [cited by applicant]
US 11086826B2 · Thummala · 2021 [cited by applicant]
US 11106447B2 · Gupta · 2021 [cited by applicant]
US 11194680B2 · Konka et al. · 2021 [cited by applicant]
US 11218418B2 · Gupta et al. · 2022 [cited by applicant]
US 11281484B2 · Bafna et al. · 2022 [cited by applicant]
US 11288239B2 · Bafna et al. · 2022 [cited by applicant]
US 11294777B2 · Venkatesh et al. · 2022 [cited by applicant]
US 11310286B2 · Cui et al. · 2022 [cited by applicant]
US 11403001B2 · Hadav et al. · 2022 [cited by applicant]
US 11513705B2 · Meiri et al. · 2022 [cited by applicant]
US 11741078B1 · Narendra et al. · 2023 [cited by applicant]
US 11841781B2 · Kaushik et al. · 2023 [cited by applicant]
US 11888599B2 · Gupta et al. · 2024 [cited by applicant]
US 20010047400A1 · Coates · 2001 [cited by applicant]
US 20020069196A1 · Betros · 2002 [cited by applicant]
US 20020120763A1 · Miloushev et al. · 2002 [cited by applicant]
US 20020133491A1 · Sim et al. · 2002 [cited by applicant]
US 20030014442A1 · Shiigi · 2003 [cited by applicant]
US 20030115218A1 · Bobbitt et al. · 2003 [cited by applicant]
US 20030163597A1 · Hellman et al. · 2003 [cited by applicant]
US 20030195942A1 · Muhlestein et al. · 2003 [cited by applicant]
US 20040054777A1 · Ackaouy et al. · 2004 [cited by applicant]
US 20040199734A1 · Rajamani · 2004 [cited by applicant]
US 20040210591A1 · Hirschfeld et al. · 2004 [cited by applicant]
US 20040225742A1 · Loaiza · 2004 [cited by applicant]
US 20040267832A1 · Wong et al. · 2004 [cited by applicant]
US 20050094574A1 · Han et al. · 2005 [cited by applicant]
US 20050120160A1 · Plouffe et al. · 2005 [cited by applicant]
US 20050120180A1 · Schornbach et al. · 2005 [cited by applicant]
US 20050125503A1 · Iyengar et al. · 2005 [cited by applicant]
US 20050193221A1 · Yoneyama · 2005 [cited by applicant]
US 20050193245A1 · Hayden et al. · 2005 [cited by applicant]
US 20050201272A1 · Wang et al. · 2005 [cited by applicant]
US 20050210461A1 · Srivastava et al. · 2005 [cited by applicant]
US 20050226059A1 · Kavuri et al. · 2005 [cited by applicant]
US 20050228798A1 · Shepard et al. · 2005 [cited by applicant]
US 20050268298A1 · Hunt et al. · 2005 [cited by applicant]
US 20060010227A1 · Atluri · 2006 [cited by applicant]
US 20060047685A1 · Dearing et al. · 2006 [cited by applicant]
US 20060069912A1 · Zheng et al. · 2006 [cited by applicant]
US 20060080445A1 · Chang · 2006 [cited by applicant]
US 20060080657A1 · Goodman · 2006 [cited by applicant]
US 20060136781A1 · Lamport · 2006 [cited by applicant]
US 20060167921A1 · Grebus · 2006 [cited by applicant]
US 20060206901A1 · Chan · 2006 [cited by applicant]
US 20060224918A1 · Koike · 2006 [cited by applicant]
US 20060225065A1 · Chandhok et al. · 2006 [cited by applicant]
US 20060271510A1 · Harward · 2006 [cited by applicant]
US 20060271931A1 · Harris · 2006 [cited by applicant]
US 20070022129A1 · Bahar et al. · 2007 [cited by applicant]
US 20070038913A1 · Allen et al. · 2007 [cited by applicant]
US 20070100905A1 · Masters et al. · 2007 [cited by applicant]
US 20070171921A1 · Wookey et al. · 2007 [cited by applicant]
US 20070179995A1 · Prahlad · 2007 [cited by applicant]
US 20070271561A1 · Winner et al. · 2007 [cited by applicant]
US 20070300220A1 · Seliger et al. · 2007 [cited by applicant]
US 20080040483A1 · Nakatani · 2008 [cited by applicant]
US 20080071997A1 · Loaiza · 2008 [cited by applicant]
US 20080098194A1 · Hashimoto et al. · 2008 [cited by applicant]
US 20080104349A1 · Maruyama · 2008 [cited by applicant]
US 20080104589A1 · Mccrory et al. · 2008 [cited by applicant]
US 20080133486A1 · Fitzgerald et al. · 2008 [cited by applicant]
US 20080134178A1 · Fitzgerald et al. · 2008 [cited by applicant]
US 20080137528A1 · O'Toole · 2008 [cited by examiner]
US 20080189468A1 · Schmidt et al. · 2008 [cited by applicant]
US 20080201414A1 · Amir et al. · 2008 [cited by applicant]
US 20080201457A1 · London · 2008 [cited by applicant]
US 20080208938A1 · Lin et al. · 2008 [cited by applicant]
US 20080209136A1 · Qi et al. · 2008 [cited by applicant]
US 20080263113A1 · Krishnaiyer · 2008 [cited by applicant]
US 20080270677A1 · Kolakowski · 2008 [cited by applicant]
US 20080320499A1 · Suit · 2008 [cited by applicant]
US 20080320583A1 · Sharma et al. · 2008 [cited by applicant]
US 20090006801A1 · Shultz et al. · 2009 [cited by applicant]
US 20090100248A1 · Kami · 2009 [cited by applicant]
US 20090113034A1 · Krishnappa et al. · 2009 [cited by applicant]
US 20090144720A1 · Roush et al. · 2009 [cited by applicant]
US 20090150885A1 · Safari · 2009 [cited by applicant]
US 20090158082A1 · Jain et al. · 2009 [cited by applicant]
US 20090171971A1 · Goddard et al. · 2009 [cited by applicant]
US 20090193272A1 · Matsuzawa et al. · 2009 [cited by applicant]
US 20090216975A1 · Halperin et al. · 2009 [cited by applicant]
US 20090248870A1 · Kamei et al. · 2009 [cited by applicant]
US 20090249470A1 · Litvin et al. · 2009 [cited by applicant]
US 20090254572A1 · Redlich · 2009 [cited by applicant]
US 20090271412A1 · Lacapra et al. · 2009 [cited by applicant]
US 20090287887A1 · Matsuki et al. · 2009 [cited by applicant]
US 20090288084A1 · Astete et al. · 2009 [cited by applicant]
US 20090290572A1 · Gonia et al. · 2009 [cited by applicant]
US 20100023521A1 · Arcese · 2010 [cited by applicant]
US 20100042869A1 · Szabo et al. · 2010 [cited by applicant]
US 20100070725A1 · Prahlad et al. · 2010 [cited by applicant]
US 20100082716A1 · Agetsuma et al. · 2010 [cited by applicant]
US 20100082774A1 · Pitts · 2010 [cited by applicant]
US 20100095289A1 · Nguyen et al. · 2010 [cited by applicant]
US 20100110150A1 · Xu et al. · 2010 [cited by applicant]
US 20100138921A1 · Na et al. · 2010 [cited by applicant]
US 20100162226A1 · Borissov et al. · 2010 [cited by applicant]
US 20100174745A1 · Ryan et al. · 2010 [cited by applicant]
US 20100214908A1 · Ralev · 2010 [cited by applicant]
US 20100241785A1 · Chen et al. · 2010 [cited by applicant]
US 20100250824A1 · Belay · 2010 [cited by applicant]
US 20100262717A1 · Critchley · 2010 [cited by applicant]
US 20100275205A1 · Nakajima · 2010 [cited by applicant]
US 20100306256A1 · Blackman · 2010 [cited by applicant]
US 20110022694A1 · Dalal et al. · 2011 [cited by applicant]
US 20110022695A1 · Dalal et al. · 2011 [cited by applicant]
US 20110022812A1 · Van et al. · 2011 [cited by applicant]
US 20110022883A1 · Hansen · 2011 [cited by applicant]
US 20110047340A1 · Olson et al. · 2011 [cited by applicant]
US 20110078318A1 · Desai et al. · 2011 [cited by applicant]
US 20110107135A1 · Andrews et al. · 2011 [cited by applicant]
US 20110119668A1 · Calder · 2011 [cited by applicant]
US 20110119763A1 · Wade et al. · 2011 [cited by applicant]
US 20110125835A1 · Soltis · 2011 [cited by applicant]
US 20110137879A1 · Dubey · 2011 [cited by applicant]
US 20110145627A1 · Huras et al. · 2011 [cited by applicant]
US 20110161299A1 · Prahlad et al. · 2011 [cited by applicant]
US 20110173493A1 · Armstrong et al. · 2011 [cited by applicant]
US 20110179414A1 · Goggin et al. · 2011 [cited by applicant]
US 20110184993A1 · Chawla · 2011 [cited by applicant]
US 20110185292A1 · Chawla et al. · 2011 [cited by applicant]
US 20110225574A1 · Khalidi et al. · 2011 [cited by applicant]
US 20110239213A1 · Aswani et al. · 2011 [cited by applicant]
US 20110251992A1 · Bethlehem · 2011 [cited by applicant]
US 20110252208A1 · Ali et al. · 2011 [cited by applicant]
US 20110255538A1 · Srinivasan et al. · 2011 [cited by applicant]
US 20110265076A1 · Thorat et al. · 2011 [cited by applicant]
US 20110271279A1 · Pate · 2011 [cited by applicant]
US 20110276578A1 · Allalouf et al. · 2011 [cited by applicant]
US 20110276963A1 · Wu et al. · 2011 [cited by applicant]
US 20110283277A1 · Castillo et al. · 2011 [cited by applicant]
US 20110289561A1 · Ivanov et al. · 2011 [cited by applicant]
US 20110307729A1 · Matsuzawa et al. · 2011 [cited by applicant]
US 20110320690A1 · Petersen et al. · 2011 [cited by applicant]
US 20120017114A1 · Timashev et al. · 2012 [cited by applicant]
US 20120023495A1 · Machida · 2012 [cited by applicant]
US 20120030456A1 · Wu et al. · 2012 [cited by applicant]
US 20120054736A1 · Arcese et al. · 2012 [cited by applicant]
US 20120078948A1 · Darcy · 2012 [cited by applicant]
US 20120081395A1 · Adi et al. · 2012 [cited by applicant]
US 20120084381A1 · Alladi et al. · 2012 [cited by applicant]
US 20120117555A1 · Banerjee et al. · 2012 [cited by applicant]
US 20120126177A1 · Meissner et al. · 2012 [cited by applicant]
US 20120166866A1 · Rao et al. · 2012 [cited by applicant]
US 20120209983A1 · Bronner · 2012 [cited by applicant]
US 20120222089A1 · Whelan et al. · 2012 [cited by applicant]
US 20120233463A1 · Holt et al. · 2012 [cited by applicant]
US 20120233608A1 · Toeroe · 2012 [cited by applicant]
US 20120243795A1 · Head et al. · 2012 [cited by applicant]
US 20120254342A1 · Evans · 2012 [cited by applicant]
US 20120254396A1 · Prahalad et al. · 2012 [cited by applicant]
US 20120254445A1 · Kawamoto et al. · 2012 [cited by applicant]
US 20120254567A1 · Umbehocker · 2012 [cited by applicant]
US 20120266162A1 · Baron · 2012 [cited by applicant]
US 20120266231A1 · Spiers et al. · 2012 [cited by applicant]
US 20120272237A1 · Baron · 2012 [cited by applicant]
US 20120290630A1 · Aizman et al. · 2012 [cited by applicant]
US 20120304247A1 · Badger · 2012 [cited by applicant]
US 20120310881A1 · Shadmon · 2012 [cited by applicant]
US 20120310892A1 · Dam et al. · 2012 [cited by applicant]
US 20120317142A1 · Broecheler et al. · 2012 [cited by applicant]
US 20120324183A1 · Chiruvolu et al. · 2012 [cited by applicant]
US 20130007741A1 · Britsch et al. · 2013 [cited by applicant]
US 20130036323A1 · Goose et al. · 2013 [cited by applicant]
US 20130046740A1 · Li et al. · 2013 [cited by applicant]
US 20130047160A1 · Conover · 2013 [cited by applicant]
US 20130054973A1 · Fok et al. · 2013 [cited by applicant]
US 20130055018A1 · Joshi et al. · 2013 [cited by applicant]
US 20130061110A1 · Zvibel · 2013 [cited by applicant]
US 20130061167A1 · Rhodes et al. · 2013 [cited by applicant]
US 20130066930A1 · Kamei et al. · 2013 [cited by applicant]
US 20130117744A1 · Klein et al. · 2013 [cited by applicant]
US 20130132674A1 · Sundrani · 2013 [cited by applicant]
US 20130138995A1 · Sivaramakrishnan et al. · 2013 [cited by applicant]
US 20130151888A1 · Bhattiprolu et al. · 2013 [cited by applicant]
US 20130152077A1 · Leitman et al. · 2013 [cited by applicant]
US 20130152085A1 · Amore et al. · 2013 [cited by applicant]
US 20130174246A1 · Schrecker et al. · 2013 [cited by applicant]
US 20130185716A1 · Yin et al. · 2013 [cited by applicant]
US 20130198738A1 · Reddin et al. · 2013 [cited by applicant]
US 20130212345A1 · Nakajima · 2013 [cited by applicant]
US 20130219030A1 · Szabo · 2013 [cited by applicant]
US 20130227379A1 · Gupta et al. · 2013 [cited by applicant]
US 20130227550A1 · Weinstein et al. · 2013 [cited by applicant]
US 20130227552A1 · Reddin et al. · 2013 [cited by applicant]
US 20130227566A1 · Higuchi et al. · 2013 [cited by applicant]
US 20130232491A1 · Radhakrishnan et al. · 2013 [cited by applicant]
US 20130235774A1 · Jo et al. · 2013 [cited by applicant]
US 20130246705A1 · Diare · 2013 [cited by applicant]