-
公开(公告)号:US20210099427A1
公开(公告)日:2021-04-01
申请号:US16935982
申请日:2020-07-22
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Eric Tsz Leung Cheng , Sandeep Nair , Wei Shen
IPC: H04L29/06
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.
-
公开(公告)号:US11792307B2
公开(公告)日:2023-10-17
申请号:US16144992
申请日:2018-09-27
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Karan Sanghi , Mingzhe Zhang , Zeh-Chen Liu , Sandeep Nair
IPC: H04L69/16 , H04L69/163 , H04L69/164 , H04L12/46 , G06F9/54 , H04L9/40 , G06F9/48 , G06F9/50 , G06F12/10 , G06F13/16 , G06F3/06 , G06F9/46 , G06F12/02 , H04L47/2475 , H04L47/2483 , H04L47/6295 , H04L49/00 , H04L49/9047 , H04L69/00 , G06F9/455 , H04L47/193 , H04L47/283 , G06F9/52 , H04L43/0864 , G06F16/23 , G06F21/52 , H04L47/24 , H04L47/30 , H04L47/32 , H04L47/6275 , G06F21/56 , H04L69/22 , G06F16/22 , H04L61/103 , H04L61/2503 , H04L67/146 , H04L69/18 , H04L1/00
CPC classification number: H04L69/162 , G06F3/0604 , G06F3/0631 , G06F3/0644 , G06F3/0673 , G06F9/45558 , G06F9/461 , G06F9/4881 , G06F9/5005 , G06F9/5016 , G06F9/5022 , G06F9/52 , G06F9/542 , G06F9/545 , G06F12/023 , G06F12/10 , G06F13/1668 , G06F16/2228 , G06F16/2365 , G06F21/52 , G06F21/568 , H04L12/4641 , H04L43/0864 , H04L47/193 , H04L47/2458 , H04L47/2475 , H04L47/2483 , H04L47/283 , H04L47/30 , H04L47/32 , H04L47/6275 , H04L47/6295 , H04L49/30 , H04L49/9052 , H04L61/103 , H04L61/2542 , H04L63/166 , H04L67/146 , H04L69/02 , H04L69/161 , H04L69/163 , H04L69/164 , H04L69/18 , H04L69/22 , G06F9/50 , G06F2009/45595 , G06F2209/5011 , G06F2212/657 , G06F2221/032 , G06F2221/034 , H04L1/0061
Abstract: Methods and apparatus for efficient data transfer within a user space network stack. 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. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. 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).
-
公开(公告)号:US11606302B2
公开(公告)日:2023-03-14
申请号:US17346115
申请日:2021-06-11
Applicant: Apple Inc.
Inventor: Wei Shen , Sandeep Nair , Vidhi Goel , Francesco R. Dimambro , Eric Tsz Leung Cheng , Cahya Adiansyah Masputra
IPC: H04L47/22 , H04L47/35 , H04L47/32 , H04L47/2483
Abstract: Techniques are provided for managing a user space protocol stack are disclosed herein. A nexus in a kernel space can receive a packet from a packet pool, and extract information from the packet to generate a flow key indicating a particular flow for the packet. The nexus can further look up the flow key in a flow table to determine whether there is an existing flow key stored in the flow table matching the flow key of the packet, and store the packet into a batch of packets of the existing flow when the existing flow key matches the flow key of the packet. When a release condition being met, the nexus can release the batch of packets of the existing flow to a user space protocol stack within a user space application through a channel communicatively coupled to the nexus and the user space protocol stack.
-
14.
公开(公告)号:US11178260B2
公开(公告)日:2021-11-16
申请号:US16363495
申请日:2019-03-25
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Sandeep Nair , Zeh-Chen Liu , Wei Shen , Olivier Mardinian
IPC: H04L29/06 , H04L12/46 , G06F9/54 , G06F9/48 , G06F9/50 , G06F12/10 , G06F13/16 , G06F3/06 , G06F9/46 , G06F12/02 , H04L12/859 , H04L12/851 , H04L12/863 , H04L12/935 , H04L12/861 , G06F9/455 , H04L12/801 , H04L12/841 , G06F9/52 , H04L12/26 , G06F16/23 , G06F21/52 , H04L12/833 , H04L12/835 , H04L12/823 , H04L12/865 , G06F21/56 , G06F16/22 , H04L29/12 , H04L29/08 , H04L1/00
Abstract: Methods and apparatus for dynamic packet pool configuration in networking stack architectures. Unlike prior art monolithic memory allocations, embodiments of the present disclosure enable packet pools associated with non-kernel space applications to dynamically allocate additional memory allocations to a given non-kernel space application, or conversely, de-allocate memory allocations to a given non-kernel space application. Variants also disclose the splitting up of a memory allocation into device accessible portions and kernel accessible portions. Other variants disclose sizing certain segment allocations so as to be a multiple of a physical address page size. Such a variant enables a single input/output (I/O) bus address lookup for the given segment so as to minimize look up costs associated with an I/O lookup for the given segment.
-
15.
公开(公告)号:US11159651B2
公开(公告)日:2021-10-26
申请号:US16368338
申请日:2019-03-28
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Delziel Jude Fernandes , Darrin Jewell , Sandeep Nair , Wei Shen
IPC: G06F9/455 , H04L29/06 , H04L12/46 , G06F9/54 , G06F9/48 , G06F9/50 , G06F12/10 , G06F13/16 , G06F3/06 , G06F9/46 , G06F12/02 , H04L12/859 , H04L12/851 , H04L12/863 , H04L12/935 , H04L12/861 , H04L12/801 , H04L12/841 , G06F9/52 , H04L12/26 , G06F16/23 , G06F21/52 , H04L12/833 , H04L12/835 , H04L12/823 , H04L12/865 , G06F21/56 , G06F16/22 , H04L29/12 , H04L29/08 , H04L1/00
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.
-
公开(公告)号:US11095758B2
公开(公告)日:2021-08-17
申请号:US16365484
申请日:2019-03-26
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Darrin Jewell , Sandeep Nair
IPC: H04L29/06 , H04L12/46 , G06F9/54 , G06F9/48 , G06F9/50 , G06F12/10 , G06F13/16 , G06F3/06 , G06F9/46 , G06F12/02 , H04L12/859 , H04L12/851 , H04L12/863 , H04L12/935 , H04L12/861 , G06F9/455 , H04L12/801 , H04L12/841 , G06F9/52 , H04L12/26 , G06F16/23 , G06F21/52 , H04L12/833 , H04L12/835 , H04L12/823 , H04L12/865 , G06F21/56 , G06F16/22 , H04L29/12 , H04L29/08 , H04L1/00
Abstract: Methods and apparatus for efficient data transfer within a user space network stack. 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. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. 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).
-
17.
公开(公告)号:US10798224B2
公开(公告)日:2020-10-06
申请号:US16146324
申请日:2018-09-28
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Wei Shen , Sandeep Nair , Dieter Wilfred Siegmund , Darrin Jewell
IPC: H04L29/06 , G06F13/16 , G06F3/06 , G06F9/46 , G06F9/50 , G06F9/54 , G06F12/02 , H04L12/859 , H04L12/851 , H04L12/863 , H04L12/935 , H04L12/861 , G06F9/455 , H04L12/801 , H04L12/46 , G06F9/48 , G06F12/10 , H04L12/841 , G06F9/52 , H04L12/26 , G06F16/23 , G06F21/52 , H04L12/833 , H04L12/835 , H04L12/823 , H04L12/865 , G06F21/56 , G06F16/22 , H04L29/12 , H04L29/08 , H04L1/00
Abstract: Methods and apparatus for efficient data transfer within a user space network stack. 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. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. 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).
-
公开(公告)号:US20190306281A1
公开(公告)日:2019-10-03
申请号:US16146533
申请日:2018-09-28
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Sandeep Nair , Karan Sanghi , Mingzhe Zhang , Jason McElrath
Abstract: Methods and apparatus for efficient data transfer within a user space network stack. 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. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. 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).
-
公开(公告)号:US11824962B2
公开(公告)日:2023-11-21
申请号:US17498574
申请日:2021-10-11
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Sandeep Nair , Darrin Jewell , Prabhakar Lakhera , Thomas Francis Pauly , Joshua Verweyst Graessley , Wei Shen , Olivier Mardinian
IPC: H04L29/06 , H04L69/16 , H04L69/163 , H04L69/164 , H04L12/46 , G06F9/54 , H04L9/40 , G06F9/48 , G06F9/50 , G06F12/10 , G06F13/16 , G06F3/06 , G06F9/46 , G06F12/02 , H04L47/2475 , H04L47/2483 , H04L47/6295 , H04L49/00 , H04L49/9047 , H04L69/00 , G06F9/455 , H04L47/193 , H04L47/283 , G06F9/52 , H04L43/0864 , G06F16/23 , G06F21/52 , H04L47/24 , H04L47/30 , H04L47/32 , H04L47/6275 , G06F21/56 , H04L69/22 , G06F16/22 , H04L61/103 , H04L61/2503 , H04L67/146 , H04L69/18 , H04L1/00
CPC classification number: H04L69/162 , G06F3/0604 , G06F3/0631 , G06F3/0644 , G06F3/0673 , G06F9/45558 , G06F9/461 , G06F9/4881 , G06F9/5005 , G06F9/5016 , G06F9/5022 , G06F9/52 , G06F9/542 , G06F9/545 , G06F12/023 , G06F12/10 , G06F13/1668 , G06F16/2228 , G06F16/2365 , G06F21/52 , G06F21/568 , H04L12/4641 , H04L43/0864 , H04L47/193 , H04L47/2458 , H04L47/2475 , H04L47/2483 , H04L47/283 , H04L47/30 , H04L47/32 , H04L47/6275 , H04L47/6295 , H04L49/30 , H04L49/9052 , H04L61/103 , H04L61/2542 , H04L63/166 , H04L67/146 , H04L69/02 , H04L69/161 , H04L69/163 , H04L69/164 , H04L69/18 , H04L69/22 , G06F9/50 , G06F2009/45595 , G06F2209/5011 , G06F2212/657 , G06F2221/032 , G06F2221/034 , H04L1/0061
Abstract: Methods and apparatus for efficient data transfer within a user space network stack. 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. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. 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).
-
公开(公告)号:US11799986B2
公开(公告)日:2023-10-24
申请号:US17480964
申请日:2021-09-21
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Eric Tze Leung Cheng , Sandeep Nair , Wei Shen
IPC: H04L67/63 , H04L41/0896 , H04L47/2475 , G06F9/54
CPC classification number: H04L67/63 , G06F9/545 , H04L41/0896 , H04L47/2475
Abstract: Methods and apparatus for thread-level execution in non-kernel space. Most modern consumer usage scenarios are focused on user experience for only a few network connections; in many such cases, background network applications and/or stale network connections could be de-prioritized and/or even terminated without adverse effect. The exemplary “polylithic” non-kernel space networking architecture concurrently runs multiple instances of a network stack in non-kernel space. Thread execution for each instance can be individually managed by the operating system (OS). Disclosed embodiments dynamically determine receive (RX) mitigation and/or receive side scaling with consistent hashing.
-
-
-
-
-
-
-
-
-