IP Library Granted Patent US 12,568,064
Granted Patent B2
US 12,568,064 · App. 18/097,084 · Granted Mar 3, 2026

System and method for granting intermediary access to a data flow between non-kernel applications

Inventors: Cahya Adiansyah Masputra (San Jose, CA); Eric Tsz Leung Cheng (Cupertino, CA); Sandeep Nair (San Jose, CA); Wei Shen (Cupertino, CA)
Assignee: Apple Inc.
H04L63/0236H04L69/161
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,568,064
App. No.
18/097,084
Granted
Mar 3, 2026
Kind
B2
Abstract

Methods and apparatus for emerging use case support in user space networking architectures. In one embodiment, an apparatus configured to segregate packet data based on a packet type is disclosed. The exemplary embodiment provides a custom data type registry that enables the definition, addition, removal, modification, and/or prioritization of custom packet processing rules. Variants of the registry may support custom ethertype packets, network packets, and/or transport packets. In another embodiment, mechanisms for enabling an intermediary packet processing stage are described. Intermediary packet processing may enable user space system extensions that support e.g., packet filtering, packet modification, and/or other forms of packet processing.

Claims (49)

1 . A method for enabling an intermediary packet processing stage by a kernel space entity, the method comprising:

receiving a request from an intermediary application operating in a user space, for intermediary access to a data flow between a first non-kernel application and a second non-kernel application;

granting restricted access to the data flow by the intermediary application in response to the request, the restricted access enabling access to a first access privilege of a plurality of access privileges and forbidding access to a second access privilege of the plurality of access privileges;

allocating a data structure in response to the granting;

exposing the data structure to the intermediary application;

inserting the data flow from the first non-kernel application into the data structure; and

monitoring the intermediary application for compliance with the restricted access.

2 . The method of claim 1 , wherein:

the data structure comprises a receive data structure and a transmit data structure;

the inserting the data flow comprises copying the data flow into the receive data structure; and wherein the method further comprises:

exposing the receive data structure and the transmit data structure to the intermediary application.

3 . The method of claim 2 , further comprising providing the transmit data structure as an input data flow to the second non-kernel application.

4 . The method of claim 1 , further comprising de-allocating the data structure when the intermediary application terminates.

5 . The method of claim 1 , wherein the data structure comprises a zero-copy data structure and the inserting the data flow from the first non-kernel application comprises an original write of the data flow into the zero-copy data structure.

6 . The method of claim 1 , wherein the intermediary access comprises read-only access to the data structure.

7 . The method of claim 1 , wherein the intermediary access comprises read-write access to the data structure.

8 . An intermediary packet processing device, comprising:

a communication interface configured to exchange digital communications with an external device;

a memory that stores allocation information; and

one or more processors configured to:

receive a request from an intermediary application operating in a user space, for intermediary access to a data flow between a first non-kernel application and a second non-kernel application;

grant restricted access to the data flow in response to the request, the restricted access enabling access to a first access privilege of a plurality of access privileges and forbidding access to a second access privilege of the plurality of access privileges;

allocate a data structure in response to the grant;

expose the data structure to the intermediary application;

insert the data flow from the first non-kernel application into the data structure; and

monitor the intermediary application for compliance with the restricted access.

9 . The device of claim 8 , wherein the data structure comprises a receive data structure and a transmit data structure,

wherein the inserting includes copying the data flow into the receive data structure, and

wherein the one or more processors are further configured to expose the receive data structure and the transmit data structure to the intermediary application.

10 . The device of claim 8 , wherein the one or more processors are further configured to de-allocate the data structure when the intermediary application terminates.

11 . The device of claim 8 , wherein the data structure includes a zero-copy data structure and the inserting includes an original write of the data flow into the zero-copy data structure.

12 . The device of claim 8 , wherein the intermediary access includes read-only access to the data structure.

13 . The device of claim 8 , wherein the intermediary access comprises read-write access to the data structure.

14 . A non-transitory computer-readable storage medium having stored thereon instructions that, when executed by one or more processors of a computing device having a kernel space entity, cause the kernel space entity to perform operations, comprising:

receiving a request from an intermediary application operating in a user space, for intermediary access to a data flow between a first non-kernel application and a second non-kernel application;

granting restricted access to the data flow by the intermediary application in response to the request, the restricted access enabling access to a first access privilege of a plurality of access privileged and forbidding access to a second access privilege of the plurality of access privileges;

allocating a data structure in response to the granting;

exposing the data structure to the intermediary application;

inserting the data flow from the first non-kernel application into the data structure; and

monitoring the intermediary application for compliance with the restricted access.

15 . The non-transitory computer-readable storage medium of claim 14 , wherein:

the data structure comprises a receive data structure and a transmit data structure;

the inserting the data flow comprises copying the data flow into the receive data structure; and wherein the operations further comprise:

exposing the receive data structure and the transmit data structure to the intermediary application.

16 . The non-transitory computer-readable storage medium of claim 15 , wherein the operations further comprise providing the transmit data structure as an input data flow to the second non-kernel application.

17 . The non-transitory computer-readable storage medium of claim 14 , the operations further comprising de-allocating the data structure when the intermediary application terminates.

18 . The non-transitory computer-readable storage medium of claim 14 , wherein the data structure comprises a zero-copy data structure and the inserting the data flow from the first non-kernel application comprises an original write of the data flow into the zero-copy data structure.

19 . The non-transitory computer-readable storage medium of claim 14 , wherein the intermediary access comprises read-only access to the data structure.

20 . The non-transitory computer-readable storage medium of claim 14 , wherein the intermediary access comprises read-write access to the data structure.

Continuity (3)
Division 16935982 · Jul 22, 2020
Provisional Application 62906645 · Sep 26, 2019
Related Publication 20230155980A1 · May 18, 2023
References Cited (400)
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 et al. · 2012 [cited by applicant]
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 et al. · 2013 [cited by applicant]
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 applicant]
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 · Pandya · 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 et al. · 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 · Suzuoki · 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 et al. · 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 20080059644A1 · Bakke · 2008 [cited by examiner]
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 et al. · 2008 [cited by applicant]
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 20100057913A1 · DeHaan · 2010 [cited by examiner]
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 · 2011 [cited by applicant]
US 20110052142A1 · Sultenfuss et al. · 2011 [cited by applicant]
US 20110083002A1 · Albers et al. · 2011 [cited by applicant]
US 20110125949A1 · Mudigonda · 2011 [cited by examiner]
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 et al. · 2013 [cited by applicant]
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 et al. · 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 et al. · 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 et al. · 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 · 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 20220046117A1 · Masputra et al. · 2022 [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,” 2008u IEEE International Conference on Cluster Computing, Tsukuba, 2008, pp. 292-297, doi: 10.1109/CL… [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]