IP Library Granted Patent US 12,314,786
Granted Patent B2
US 12,314,786 · App. 17/509,951 · Granted May 27, 2025

Methods and apparatus for memory allocation and reallocation in networking stack infrastructures

Inventors: Cahya Adiansyah Masputra (Cupertino, CA); Delziel Jude Fernandes (Cupertino, CA); Darrin Jewell (Woodside, CA); Sandeep Nair (San Jose, CA); Wei Francis Shen (Cupertino, CA)
Assignee: Apple Inc.
G06F9/545G06F9/5016G06F9/544G06F12/023G06F12/10H04L12/4641H04L49/9052H04L61/103G06F2212/657
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,314,786
App. No.
17/509,951
Granted
May 27, 2025
Kind
B2
Abstract

Methods and apparatus for memory allocation and reallocation in networking stack infrastructures. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional “socket” based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. A user space networking stack is disclosed that enables extensible, cross-platform-capable, user space control of the networking protocol stack functionality. The user space networking stack facilitates tighter integration between the protocol layers (including TLS) and the application or daemon. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack). Due to this disclosed architecture, physical memory allocations (and deallocations) may be more flexibly implemented.

Claims (37)

1. A method for managing memory space, the method comprising:

requesting, by a non-kernel space application, a channel schema to open a channel for the non-kernel space application, wherein the channel schema represents a memory sharing agreement between a kernel space and a user space to create a shared memory area pre-divided into a plurality of data structures, and wherein the channel schema is selected from one of a plurality of different pre-designated channel schemas; and

configuring the plurality of data structures in accordance with application requirements for the non-kernel space application, comprising configuring a transmission buffer and a receive buffer.

2. The method of claim 1 , wherein the plurality of data structures further includes an allocation buffer or a free buffer.

3. The method of claim 1 , further comprising:

establishing, by a flow switch apparatus, the channel between two entities that includes the non-kernel space application.

4. The method of claim 1 , wherein the non-kernel space application includes a user space application in the user space or a driver application in the kernel space.

5. The method of claim 1 , wherein the configuring the plurality of data structures comprises:

assigning the transmission buffer having a first buffer size; and

assigning the receive buffer having a second buffer size.

6. The method of claim 5 , further comprising:

receiving a request for a different size for one or both of the first buffer size and the second buffer size.

7. The method of claim 6 , wherein the receiving the request for the different size for one or both of the first buffer size and the second buffer size comprises increasing a data throughput for one or both of the transmission buffer and the receive buffer.

8. The method of claim 6 , wherein the receiving the request for the different size for one or both of the first buffer size and the second buffer size comprises decreasing an amount of latency for one or both of the transmission buffer and the receive buffer.

9. The method of claim 1 , further comprising:

mirroring the plurality of data structures between a user-accessible region of the memory space and a kernel-only accessible region of the memory space; and

applying a common offset from a base address within the user-accessible region and the kernel-only accessible region for a metadata user object and a metadata kernel object associated with the metadata user object.

10. A computing system, comprising:

one or more processors;

a flow switch operated by the one or more processors;

a non-kernel space application operated by the one or more processors; and

physical memory coupled to the one or more processors for use by the non-kernel space application and the flow switch, wherein the non-kernel space application and the flow switch are configured to:

request, by the non-kernel space application, a channel schema to open a channel for the non-kernel space application, wherein the channel schema represents a memory sharing agreement between a kernel space and a user space to create a shared memory area of the physical memory, and wherein the shared memory area is divided into a plurality of data structures, and wherein the channel schema is selected from one of a plurality of different pre-designated channel schemas; and

configure, by the flow switch, the plurality of data structures in accordance with application requirements for the non-kernel space application, wherein the plurality of data structures includes a transmission buffer and a receive buffer.

11. The computing system of claim 10 , wherein the plurality of data structures further includes an allocation buffer or a free buffer.

12. The computing system of claim 10 , wherein the flow switch is further configured to establish the channel between two entities that includes the non-kernel space application.

13. The computing system of claim 10 , wherein the non-kernel space application includes a user space application in the user space or a driver application in the kernel space.

14. The computing system of claim 10 , wherein the channel schema further includes optimized flow advisor settings and operating statistics for the non-kernel space application.

15. The computing system of claim 10 , wherein to configure the plurality of data structures, the flow switch is further configured to:

assign the transmission buffer having a first buffer size; and

assign the receive buffer having a second buffer size.

16. One or more non-transitory, computer-readable media comprising instructions that, when executed, cause a computing device to perform operations, the operations including:

requesting, by a non-kernel space application, a channel schema to open a channel for the non-kernel space application, wherein the channel schema represents a memory sharing agreement between a kernel space and a user space to create a shared memory area pre-divided into a plurality of data structures, and wherein the channel schema is selected from one of a plurality of different pre-designated channel schemas; and

configuring the plurality of data structures in accordance with application requirements for the non-kernel space application, wherein the configuring the plurality of data structures includes configuring a transmission buffer and a receive buffer.

17. The one or more non-transitory, computer-readable media of claim 16 , wherein the configuring the plurality of data structures further includes configuring an allocation buffer or a free buffer.

18. The one or more non-transitory, computer-readable media of claim 16 , wherein the non-kernel space application includes a user space application in the user space or a driver application in the kernel space.

19. The one or more non-transitory, computer-readable media of claim 16 , wherein the channel schema further includes optimized flow advisor settings and operating statistics for the non-kernel space application.

Continuity (3)
Division 16368338 · Mar 28, 2019
Provisional Application 62649509 · Mar 28, 2018
Related Publication 20220046117A1 · Feb 10, 2022
References Cited (397)
US 4805137A · Grant et al. · 1989 [cited by applicant]
US 4949299A · Pickett · 1990 [cited by applicant]
US 5367688A · Croll · 1994 [cited by applicant]
US 5467459A · Alexander et al. · 1995 [cited by applicant]
US 5485578A · Sweazey · 1996 [cited by applicant]
US 5506968A · Dukes · 1996 [cited by applicant]
US 5613086A · Frey et al. · 1997 [cited by applicant]
US 5659542A · Bell et al. · 1997 [cited by applicant]
US 5708779A · Graziano et al. · 1998 [cited by applicant]
US 5731973A · Takaishi et al. · 1998 [cited by applicant]
US 5850395A · Hauser et al. · 1998 [cited by applicant]
US 5903564A · Ganmukhi et al. · 1999 [cited by applicant]
US 5943507A · Cornish et al. · 1999 [cited by applicant]
US 6008992A · Kawakami · 1999 [cited by applicant]
US 6032179A · Osborne · 2000 [cited by applicant]
US 6216178B1 · Stracovsky et al. · 2001 [cited by applicant]
US 6233702B1 · Horst et al. · 2001 [cited by applicant]
US 6260152B1 · Cole et al. · 2001 [cited by applicant]
US 6349355B1 · Draves et al. · 2002 [cited by applicant]
US 6359863B1 · Varma et al. · 2002 [cited by applicant]
US 6411997B1 · Dawes et al. · 2002 [cited by applicant]
US 6485081B1 · Bingle et al. · 2002 [cited by applicant]
US 6523073B1 · Kammer et al. · 2003 [cited by applicant]
US 6553446B1 · Miller · 2003 [cited by applicant]
US 6693895B1 · Crummey et al. · 2004 [cited by applicant]
US 6815873B2 · Johnson et al. · 2004 [cited by applicant]
US 6874075B2 · Jerding et al. · 2005 [cited by applicant]
US 6948094B2 · Schultz et al. · 2005 [cited by applicant]
US 6973701B2 · Momoda et al. · 2005 [cited by applicant]
US 6990594B2 · Kim · 2006 [cited by applicant]
US 7013536B2 · Golden et al. · 2006 [cited by applicant]
US 7032282B2 · Powell et al. · 2006 [cited by applicant]
US 7100020B1 · Brightman et al. · 2006 [cited by applicant]
US 7111307B1 · Wang · 2006 [cited by applicant]
US 7127600B2 · Zimmer et al. · 2006 [cited by applicant]
US 7152231B1 · Galluscio et al. · 2006 [cited by applicant]
US 7281172B2 · Chujo · 2007 [cited by applicant]
US 7397774B1 · Holland et al. · 2008 [cited by applicant]
US 7398382B2 · Rothman et al. · 2008 [cited by applicant]
US 7403542B1 · Thompson · 2008 [cited by applicant]
US 7506084B2 · Moerti et al. · 2009 [cited by applicant]
US 7509391B1 · Chauvel et al. · 2009 [cited by applicant]
US 7587575B2 · Moertl et al. · 2009 [cited by applicant]
US 7590817B2 · Moertl et al. · 2009 [cited by applicant]
US 7617377B2 · Moertl et al. · 2009 [cited by applicant]
US 7681012B2 · Verma et al. · 2010 [cited by applicant]
US 7685476B2 · Andre et al. · 2010 [cited by applicant]
US 7802256B2 · Havens · 2010 [cited by applicant]
US 7853731B1 · Zeng · 2010 [cited by applicant]
US 7899941B2 · Hendry et al. · 2011 [cited by applicant]
US 7941682B2 · Adams · 2011 [cited by applicant]
US 8209704B1 · McCann · 2012 [cited by examiner]
US 8214707B2 · Munson et al. · 2012 [cited by applicant]
US 8230248B2 · Dance et al. · 2012 [cited by applicant]
US 8239947B1 · Glick et al. · 2012 [cited by applicant]
US 8255725B2 · Shimazaki et al. · 2012 [cited by applicant]
US 8271996B1 · Gould et al. · 2012 [cited by applicant]
US 8352624B2 · Zimmerman et al. · 2013 [cited by applicant]
US 8359603B1 · McCann · 2013 [cited by examiner]
US 8468285B2 · Kobayashi · 2013 [cited by applicant]
US 8555099B2 · Marinkovic et al. · 2013 [cited by applicant]
US 8561090B2 · Schneider · 2013 [cited by applicant]
US 8635412B1 · Wilshire · 2014 [cited by applicant]
US 8656228B2 · Check et al. · 2014 [cited by applicant]
US 8769168B2 · Moertl et al. · 2014 [cited by applicant]
US 8788822B1 · Riddle · 2014 [cited by applicant]
US 8799537B1 · Zhu et al. · 2014 [cited by applicant]
US 8806640B2 · Wang · 2014 [cited by applicant]
US 8819386B1 · Mather · 2014 [cited by applicant]
US 8848809B2 · Whitby-Strevens · 2014 [cited by applicant]
US 8855120B2 · Robbins · 2014 [cited by applicant]
US 8876062B1 · Baghdasarian · 2014 [cited by applicant]
US 9049179B2 · Luna · 2015 [cited by applicant]
US 9130864B2 · Keith · 2015 [cited by applicant]
US 9135059B2 · Ballard et al. · 2015 [cited by applicant]
US 9152580B1 · Chau et al. · 2015 [cited by applicant]
US 9170957B2 · Touzni et al. · 2015 [cited by applicant]
US 9280360B2 · Xu et al. · 2016 [cited by applicant]
US 9319090B2 · Whitby-Strevens · 2016 [cited by applicant]
US 9483305B1 · Shmidt et al. · 2016 [cited by applicant]
US 9544069B2 · Whitby-Strevens et al. · 2017 [cited by applicant]
US 9547535B1 · Wilt · 2017 [cited by applicant]
US 9594718B2 · Kaushik et al. · 2017 [cited by applicant]
US 9769756B1 · Cui et al. · 2017 [cited by applicant]
US 9830289B2 · Pulyala et al. · 2017 [cited by applicant]
US 9910475B2 · Kurts et al. · 2018 [cited by applicant]
US 9913305B2 · Pinheiro et al. · 2018 [cited by applicant]
US 9932757B2 · Hager · 2018 [cited by applicant]
US 9959124B1 · Herbeck et al. · 2018 [cited by applicant]
US 9985904B2 · Shalev et al. · 2018 [cited by applicant]
US 10078361B2 · Sanghi et al. · 2018 [cited by applicant]
US 10230608B2 · Tsirkin · 2019 [cited by applicant]
US 10289555B1 · Michaud et al. · 2019 [cited by applicant]
US 10331600B1 · Rajadnya et al. · 2019 [cited by applicant]
US 10331612B1 · Petkov et al. · 2019 [cited by applicant]
US 10534601B1 · Venkata et al. · 2020 [cited by applicant]
US 10552072B1 · Bono et al. · 2020 [cited by applicant]
US 10585689B1 · Marion · 2020 [cited by examiner]
US 10678432B1 · Dreier et al. · 2020 [cited by applicant]
US 10798059B1 · Singh et al. · 2020 [cited by applicant]
US 10798224B2 · Masputra et al. · 2020 [cited by applicant]
US 10819831B2 · Masputra et al. · 2020 [cited by applicant]
US 10999132B1 · Sagar et al. · 2021 [cited by applicant]
US 11095758B2 · Masputra et al. · 2021 [cited by applicant]
US 11146665B2 · Masputra et al. · 2021 [cited by applicant]
US 11159651B2 · Masputra et al. · 2021 [cited by applicant]
US 11178259B2 · Masputra et al. · 2021 [cited by applicant]
US 11178260B2 · Masputra et al. · 2021 [cited by applicant]
US 11212373B2 · Masputra et al. · 2021 [cited by applicant]
US 11368560B2 · Masputra et al. · 2022 [cited by applicant]
US 11477123B2 · Masputra et al. · 2022 [cited by applicant]
US 11558348B2 · Masputra et al. · 2023 [cited by applicant]
US 11792307B2 · Masputra et al. · 2023 [cited by applicant]
US 11824962B2 · Masputra et al. · 2023 [cited by applicant]
US 11829303B2 · Masputra et al. · 2023 [cited by applicant]
US 11843683B2 · Masputra et al. · 2023 [cited by applicant]
US 20010037410A1 · Gardner · 2001 [cited by applicant]
US 20020013868A1 · West · 2002 [cited by applicant]
US 20020044553A1 · Chakravorty · 2002 [cited by applicant]
US 20020053011A1 · Aiken et al. · 2002 [cited by applicant]
US 20020065867A1 · Chauvel · 2002 [cited by applicant]
US 20020169938A1 · Scott et al. · 2002 [cited by applicant]
US 20020195177A1 · Hinkley et al. · 2002 [cited by applicant]
US 20030014607A1 · Slavin et al. · 2003 [cited by applicant]
US 20030061395A1 · Kingsbury et al. · 2003 [cited by applicant]
US 20030120935A1 · Teal et al. · 2003 [cited by applicant]
US 20030200413A1 · Gurumoorthy et al. · 2003 [cited by applicant]
US 20040010473A1 · Hsu et al. · 2004 [cited by applicant]
US 20040010545A1 · Panday · 2004 [cited by applicant]
US 20040044929A1 · Chujo · 2004 [cited by applicant]
US 20040105384A1 · Gallezot et al. · 2004 [cited by applicant]
US 20040128568A1 · O'Shea · 2004 [cited by applicant]
US 20040179546A1 · McDaniel et al. · 2004 [cited by applicant]
US 20040201749A1 · Malloy Desormeaux · 2004 [cited by applicant]
US 20040221056A1 · Kobayashi · 2004 [cited by applicant]
US 20040228365A1 · Kobayashi · 2004 [cited by applicant]
US 20040249957A1 · Ekis et al. · 2004 [cited by applicant]
US 20050055406A1 · Singhai et al. · 2005 [cited by applicant]
US 20050068897A1 · Arita et al. · 2005 [cited by applicant]
US 20050076196A1 · Zimmer et al. · 2005 [cited by applicant]
US 20050076244A1 · Watanabe · 2005 [cited by applicant]
US 20050108385A1 · Wechter et al. · 2005 [cited by applicant]
US 20050114620A1 · Justen · 2005 [cited by applicant]
US 20050117601A1 · Anderson et al. · 2005 [cited by applicant]
US 20050138628A1 · Bradford et al. · 2005 [cited by applicant]
US 20050140683A1 · Collins et al. · 2005 [cited by applicant]
US 20050149711A1 · Zimmer et al. · 2005 [cited by applicant]
US 20050157781A1 · Ho et al. · 2005 [cited by applicant]
US 20050198777A1 · Mabe · 2005 [cited by applicant]
US 20050278498A1 · Ahluwalia et al. · 2005 [cited by applicant]
US 20050285862A1 · Noda et al. · 2005 [cited by applicant]
US 20060039285A1 · Chapman et al. · 2006 [cited by applicant]
US 20060047989A1 · Delgado et al. · 2006 [cited by applicant]
US 20060075119A1 · Hussain · 2006 [cited by applicant]
US 20060107071A1 · Girish et al. · 2006 [cited by applicant]
US 20060136570A1 · Pandya · 2006 [cited by applicant]
US 20060186700A1 · Browne et al. · 2006 [cited by applicant]
US 20060186706A1 · Browne et al. · 2006 [cited by applicant]
US 20060215697A1 · Olderdissen · 2006 [cited by applicant]
US 20060218301A1 · O'Toole et al. · 2006 [cited by applicant]
US 20060232051A1 · Morris et al. · 2006 [cited by applicant]
US 20060248542A1 · Wang et al. · 2006 [cited by applicant]
US 20070005869A1 · Balraj et al. · 2007 [cited by applicant]
US 20070008983A1 · Van Doren et al. · 2007 [cited by applicant]
US 20070043901A1 · Wu et al. · 2007 [cited by applicant]
US 20070063540A1 · Browne et al. · 2007 [cited by applicant]
US 20070063541A1 · Browne et al. · 2007 [cited by applicant]
US 20070070997A1 · Weitz et al. · 2007 [cited by applicant]
US 20070080013A1 · Melz et al. · 2007 [cited by applicant]
US 20070086480A1 · Elzur · 2007 [cited by applicant]
US 20070118831A1 · Kondo · 2007 [cited by applicant]
US 20070180041A1 · Suzuki · 2007 [cited by applicant]
US 20070183418A1 · Riddoch et al. · 2007 [cited by applicant]
US 20070201492A1 · Kobayashi · 2007 [cited by applicant]
US 20070226375A1 · Chu et al. · 2007 [cited by applicant]
US 20070226417A1 · Davis · 2007 [cited by applicant]
US 20070255802A1 · Aloni · 2007 [cited by applicant]
US 20070255866A1 · Aloni et al. · 2007 [cited by applicant]
US 20070261307A1 · Alexander · 2007 [cited by applicant]
US 20070286246A1 · Kobayashi · 2007 [cited by applicant]
US 20080005794A1 · Inoue et al. · 2008 [cited by applicant]
US 20080007081A1 · Shibata et al. · 2008 [cited by applicant]
US 20080010563A1 · Nishimura · 2008 [cited by applicant]
US 20080046689A1 · Chen et al. · 2008 [cited by applicant]
US 20080077816A1 · Ravichandran · 2008 [cited by applicant]
US 20080100079A1 · Herrera et al. · 2008 [cited by applicant]
US 20080100092A1 · Gao et al. · 2008 [cited by applicant]
US 20080120911A1 · Browne et al. · 2008 [cited by applicant]
US 20080127292A1 · Cooper et al. · 2008 [cited by applicant]
US 20080148291A1 · Huang et al. · 2008 [cited by applicant]
US 20080183931A1 · Verm et al. · 2008 [cited by applicant]
US 20080231711A1 · Glen et al. · 2008 [cited by applicant]
US 20080235355A1 · Spanier et al. · 2008 [cited by applicant]
US 20080244259A1 · Zimmer et al. · 2008 [cited by applicant]
US 20080276056A1 · Giacomoni · 2008 [cited by examiner]
US 20080301148A1 · Lee et al. · 2008 [cited by applicant]
US 20090006920A1 · Munson et al. · 2009 [cited by applicant]
US 20090024924A1 · Kim · 2009 [cited by applicant]
US 20090092057A1 · Doctor et al. · 2009 [cited by applicant]
US 20090113141A1 · Bullman et al. · 2009 [cited by applicant]
US 20090138650A1 · Lin et al. · 2009 [cited by applicant]
US 20090172674A1 · Bobak et al. · 2009 [cited by applicant]
US 20090177847A1 · Ceze et al. · 2009 [cited by applicant]
US 20090189442A1 · Chi · 2009 [cited by applicant]
US 20090225818A1 · Dapper et al. · 2009 [cited by applicant]
US 20090240874A1 · Pong · 2009 [cited by applicant]
US 20090265723A1 · Mochizuki et al. · 2009 [cited by applicant]
US 20090322531A1 · Estevez et al. · 2009 [cited by applicant]
US 20100005014A1 · Castle et al. · 2010 [cited by applicant]
US 20100017655A1 · Gooding et al. · 2010 [cited by applicant]
US 20100049876A1 · Pope et al. · 2010 [cited by applicant]
US 20100057932A1 · Pope et al. · 2010 [cited by applicant]
US 20100082859A1 · Hendry et al. · 2010 [cited by applicant]
US 20100098419A1 · Levy et al. · 2010 [cited by applicant]
US 20100118041A1 · Chen et al. · 2010 [cited by applicant]
US 20100329319A1 · Dai et al. · 2010 [cited by applicant]
US 20110029696A1 · Uehara · 2011 [cited by applicant]
US 20110035575A1 · Kwon et al. · 2011 [cited by applicant]
US 20110052142A1 · Sultenfuss et al. · 2011 [cited by applicant]
US 20110083002A1 · Albers et al. · 2011 [cited by applicant]
US 20110161619A1 · Kaminski et al. · 2011 [cited by applicant]
US 20110219208A1 · Asaad et al. · 2011 [cited by applicant]
US 20110242425A1 · Zeng · 2011 [cited by applicant]
US 20110246742A1 · Kogen et al. · 2011 [cited by applicant]
US 20110276710A1 · Mighani et al. · 2011 [cited by applicant]
US 20110292936A1 · Wang et al. · 2011 [cited by applicant]
US 20110310296A1 · Lee et al. · 2011 [cited by applicant]
US 20110320861A1 · Bayer et al. · 2011 [cited by applicant]
US 20120017063A1 · Hummel et al. · 2012 [cited by applicant]
US 20120036334A1 · Horman et al. · 2012 [cited by applicant]
US 20120072658A1 · Hashimoto · 2012 [cited by applicant]
US 20120084483A1 · Sanjive · 2012 [cited by applicant]
US 20120084484A1 · Post et al. · 2012 [cited by applicant]
US 20120102307A1 · Wong · 2012 [cited by applicant]
US 20120124252A1 · Kayama · 2012 [cited by applicant]
US 20120203880A1 · Kluyt et al. · 2012 [cited by applicant]
US 20120224640A1 · Sole Rojals et al. · 2012 [cited by applicant]
US 20120229076A1 · Zhu et al. · 2012 [cited by applicant]
US 20120260017A1 · Mine et al. · 2012 [cited by applicant]
US 20130039278A1 · Bouazizi et al. · 2013 [cited by applicant]
US 20130050216A1 · Whitby-Strevens et al. · 2013 [cited by applicant]
US 20130057567A1 · Frank et al. · 2013 [cited by applicant]
US 20130067018A1 · Reynolds · 2013 [cited by examiner]
US 20130067188A1 · Mehra et al. · 2013 [cited by applicant]
US 20130091772A1 · Berger et al. · 2013 [cited by applicant]
US 20130111014A1 · Lawrie et al. · 2013 [cited by applicant]
US 20130138840A1 · Kegel et al. · 2013 [cited by applicant]
US 20130162911A1 · Glen · 2013 [cited by applicant]
US 20130204927A1 · Kruglikov et al. · 2013 [cited by applicant]
US 20130205113A1 · Ahmad et al. · 2013 [cited by applicant]
US 20130275976A1 · Dawson · 2013 [cited by applicant]
US 20130290947A1 · Li · 2013 [cited by applicant]
US 20130347131A1 · Mooring et al. · 2013 [cited by applicant]
US 20140033220A1 · Campbell et al. · 2014 [cited by applicant]
US 20140068624A1 · Fuller et al. · 2014 [cited by applicant]
US 20140068636A1 · Dupont et al. · 2014 [cited by applicant]
US 20140122695A1 · Kulikov et al. · 2014 [cited by applicant]
US 20140122828A1 · Kagan et al. · 2014 [cited by applicant]
US 20140173236A1 · Kegel · 2014 [cited by applicant]
US 20140189057A1 · Sankoda · 2014 [cited by applicant]
US 20140211894A1 · Yang · 2014 [cited by applicant]
US 20140247983A1 · MacInnis et al. · 2014 [cited by applicant]
US 20140355606A1 · Riddoch et al. · 2014 [cited by applicant]
US 20150007262A1 · Aissi et al. · 2015 [cited by applicant]
US 20150036051A1 · Broberg et al. · 2015 [cited by applicant]
US 20150058444A1 · Willmann · 2015 [cited by applicant]
US 20150081985A1 · Archer et al. · 2015 [cited by applicant]
US 20150156122A1 · Singh et al. · 2015 [cited by applicant]
US 20150172345A1 · Mantin et al. · 2015 [cited by applicant]
US 20150189109A1 · Whitby-Strevens et al. · 2015 [cited by applicant]
US 20150205749A1 · Whitby-Strevens et al. · 2015 [cited by applicant]
US 20150212806A1 · Hsieh · 2015 [cited by applicant]
US 20150244804A1 · Warfield et al. · 2015 [cited by applicant]
US 20150261588A1 · Liu et al. · 2015 [cited by applicant]
US 20150309940A1 · Kumar · 2015 [cited by applicant]
US 20150326542A1 · Serebrin · 2015 [cited by applicant]
US 20150363110A1 · Batra et al. · 2015 [cited by applicant]
US 20150370582A1 · Kinsella et al. · 2015 [cited by applicant]
US 20150378737A1 · Debbage et al. · 2015 [cited by applicant]
US 20160028635A1 · Wang · 2016 [cited by applicant]
US 20160034195A1 · Li et al. · 2016 [cited by applicant]
US 20160041852A1 · Suarez Gracia et al. · 2016 [cited by applicant]
US 20160044143A1 · Narasimhamurthy · 2016 [cited by applicant]
US 20160063258A1 · Ackerly · 2016 [cited by applicant]
US 20160077989A1 · Pulyala et al. · 2016 [cited by applicant]
US 20160103480A1 · Sanghi et al. · 2016 [cited by applicant]
US 20160103689A1 · Sanghi et al. · 2016 [cited by applicant]
US 20160103743A1 · Sanghi et al. · 2016 [cited by applicant]
US 20160142988A1 · Powell et al. · 2016 [cited by applicant]
US 20160208539A1 · Hofmann et al. · 2016 [cited by applicant]
US 20160224442A1 · Sanghi et al. · 2016 [cited by applicant]
US 20160226957A1 · Zhang et al. · 2016 [cited by applicant]
US 20160226967A1 · Zhang et al. · 2016 [cited by applicant]
US 20160231929A1 · Tsirkin · 2016 [cited by applicant]
US 20160261632A1 · Kölhi et al. · 2016 [cited by applicant]
US 20160269991A1 · Van Greunen et al. · 2016 [cited by applicant]
US 20160357443A1 · Li et al. · 2016 [cited by applicant]
US 20160363955A1 · Stevens et al. · 2016 [cited by applicant]
US 20160364350A1 · Sanghi et al. · 2016 [cited by applicant]
US 20160378545A1 · Ho · 2016 [cited by applicant]
US 20170003977A1 · Sumida et al. · 2017 [cited by applicant]
US 20170003997A1 · Kelly et al. · 2017 [cited by applicant]
US 20170075856A1 · Suzue et al. · 2017 [cited by applicant]
US 20170089641A1 · Humfeld et al. · 2017 [cited by applicant]
US 20170108912A1 · Li et al. · 2017 [cited by applicant]
US 20170111283A1 · Kumar et al. · 2017 [cited by applicant]
US 20170124327A1 · Kumbhar et al. · 2017 [cited by applicant]
US 20170126726A1 · Han · 2017 [cited by applicant]
US 20170147282A1 · Seo · 2017 [cited by applicant]
US 20170149890A1 · Shamis · 2017 [cited by applicant]
US 20170187621A1 · Shalev et al. · 2017 [cited by applicant]
US 20170187846A1 · Shalev et al. · 2017 [cited by applicant]
US 20170249098A1 · Petkov et al. · 2017 [cited by applicant]
US 20170264497A1 · Lim · 2017 [cited by applicant]
US 20170286300A1 · Doshi et al. · 2017 [cited by applicant]
US 20170286322A1 · Garg et al. · 2017 [cited by applicant]
US 20170286323A1 · Garg et al. · 2017 [cited by applicant]
US 20170308460A1 · Guthula et al. · 2017 [cited by applicant]
US 20170337588A1 · Chittilappilly et al. · 2017 [cited by applicant]
US 20170353499A1 · Huang et al. · 2017 [cited by applicant]
US 20170371591A1 · Xia et al. · 2017 [cited by applicant]
US 20180004690A1 · Kaminski et al. · 2018 [cited by applicant]
US 20180070341A1 · Islam et al. · 2018 [cited by applicant]
US 20180081829A1 · Kaplan · 2018 [cited by applicant]
US 20180129261A1 · Garg et al. · 2018 [cited by applicant]
US 20180129269A1 · Garg et al. · 2018 [cited by applicant]
US 20180129270A1 · Garg et al. · 2018 [cited by applicant]
US 20180173643A1 · Yu et al. · 2018 [cited by applicant]
US 20180196648A1 · Henderson et al. · 2018 [cited by applicant]
US 20180219805A1 · MacNeil et al. · 2018 [cited by applicant]
US 20180219976A1 · Decenzo et al. · 2018 [cited by applicant]
US 20180239657A1 · Petrbok et al. · 2018 [cited by applicant]
US 20180248847A1 · Guri et al. · 2018 [cited by applicant]
US 20180253315A1 · Norton et al. · 2018 [cited by applicant]
US 20180285561A1 · Frank et al. · 2018 [cited by applicant]
US 20180295052A1 · St-Laurent · 2018 [cited by applicant]
US 20180329743A1 · Pope et al. · 2018 [cited by applicant]
US 20180343206A1 · White et al. · 2018 [cited by applicant]
US 20180357176A1 · Wang · 2018 [cited by applicant]
US 20190007850A1 · DenBoer et al. · 2019 [cited by applicant]
US 20190036893A1 · Jiang · 2019 [cited by applicant]
US 20190052659A1 · Weingarten et al. · 2019 [cited by applicant]
US 20190065301A1 · Tsirkin et al. · 2019 [cited by applicant]
US 20190097938A1 · Talla et al. · 2019 [cited by applicant]
US 20190102303A1 · Wang et al. · 2019 [cited by applicant]
US 20190102568A1 · Hausauer et al. · 2019 [cited by applicant]
US 20190109714A1 · Clark et al. · 2019 [cited by applicant]
US 20190140983A1 · Tu et al. · 2019 [cited by applicant]
US 20190141041A1 · Bhabbur et al. · 2019 [cited by applicant]
US 20190147066A1 · Ben Dayan et al. · 2019 [cited by applicant]
US 20190147069A1 · Ben Dayan et al. · 2019 [cited by applicant]
US 20190205533A1 · Diehl et al. · 2019 [cited by applicant]
US 20190213044A1 · Cui et al. · 2019 [cited by applicant]
US 20190213166A1 · Petkov et al. · 2019 [cited by applicant]
US 20190253351A1 · Ihlar et al. · 2019 [cited by applicant]
US 20190286466A1 · Tsirkin et al. · 2019 [cited by applicant]
US 20190303204A1 · Masputra et al. · 2019 [cited by applicant]
US 20190303205A1 · Masputra et al. · 2019 [cited by applicant]
US 20190303221A1 · Masputra et al. · 2019 [cited by applicant]
US 20190303222A1 · Masputra et al. · 2019 [cited by applicant]
US 20190303280A1 · Masputra et al. · 2019 [cited by applicant]
US 20190303562A1 · Masputra et al. · 2019 [cited by applicant]
US 20190303576A1 · Masputra et al. · 2019 [cited by applicant]
US 20190306076A1 · Masputra et al. · 2019 [cited by applicant]
US 20190306087A1 · Masputra et al. · 2019 [cited by applicant]
US 20190306109A1 · Masputra et al. · 2019 [cited by applicant]
US 20190306281A1 · Masputra et al. · 2019 [cited by applicant]
US 20190306282A1 · Masputra et al. · 2019 [cited by applicant]
US 20200019695A1 · Sovio et al. · 2020 [cited by applicant]
US 20200036615A1 · Lewis · 2020 [cited by applicant]
US 20200045015A1 · Nukala et al. · 2020 [cited by applicant]
US 20200065244A1 · Sanghi et al. · 2020 [cited by applicant]
US 20200073829A1 · Tsirkin et al. · 2020 [cited by applicant]
US 20200195684A1 · Linz · 2020 [cited by applicant]
US 20210011856A1 · Xia et al. · 2021 [cited by applicant]
US 20210097006A1 · Masputra et al. · 2021 [cited by applicant]
US 20210099391A1 · Masputra et al. · 2021 [cited by applicant]
US 20210099427A1 · Masputra et al. · 2021 [cited by applicant]
US 20220030095A1 · Masputra et al. · 2022 [cited by applicant]
US 20230155980A1 · Masputra et al. · 2023 [cited by applicant]
EP 3013008A1 · 2016 [cited by applicant]
JP H02306082A · 1990 [cited by applicant]
JP H03169996A · 1991 [cited by applicant]
JP 2004086792A · 2004 [cited by applicant]
JP 2012108677A · 2012 [cited by applicant]
JP 2013246642A · 2013 [cited by applicant]
JP 2015001867A · 2015 [cited by applicant]
WO WO2008070138A2 · 2008 [cited by applicant]
Moon-Sang Lee, Joonwon Lee and S. Maeng, “Context-aware address translation for high performance SMP cluster system,” 2008 IEEE International Conference on Cluster Computing, Tsukuba, 2008, pp. 292-297; doi: 10.1109/CLU… [cited by applicant]
Honda et al, “Rekindling Network Protocol Innovation with User-Level Stacks”, ACM SIGCOMM Computer Communication Review, vol. 44, No. 2, Apr. 2014. [cited by applicant]
Gopalakrishnan R., et al., “Efficient User-Space Protocol Implementations with QoS Guarantees Using Real-Time Upcalls”, IEEE/ACM Transactions on Networking, Aug. 1998, vol. 6 (4), pp. 374-388. [cited by applicant]
ECN L1 PM Substates with CLKREQ approved Aug. 23, 2012. [cited by applicant]
Jackson, “PCI Express Technology”, Sep. 2012 (Sep. 2012), MindShare Press, xP002777351, pp. 49,86,87,712-723. [cited by applicant]
PCI Express base Specification Revision 3.0, published Nov. 10, 2010. [cited by applicant]
PCI Express Base Specification Revision 3.1, published Oct. 8, 2014. [cited by applicant]
Universal Serial Bus, Communication Class, Subclass Specifications for Network Control Model (NCM) Devices; Revision 1.0 (Errata 1), Nov. 24, 2010, published by USB Implementers Forum, Inc. [cited by applicant]
Whitworth, “Improving Networking by moving the network stack to userspace”, Imperial College London, Jun. 14, 2010 [Mar. 17, 2022]; retrieved from the Internet: <URL https://www.doc.ic.ac.uk/teaching/distinguished-proje… [cited by applicant]