-
公开(公告)号:US11829303B2
公开(公告)日:2023-11-28
申请号:US16936143
申请日:2020-07-22
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Zeh-Chen Liu , Wei Shen
CPC classification number: G06F12/1458 , G06F9/5016 , G06F9/5022
Abstract: Methods and apparatus for device driver operation in non-kernel space. In one embodiment, an apparatus configured to configured to interface to a component device driver within non-kernel space is disclosed. The exemplary embodiment restricts device drivers to fewer privileges than kernel processes, while still providing acceptable real-time performance. In another embodiment, mechanisms for non-kernel space device driver operation are described. In one exemplary embodiment, a shared memory interface between kernel space and device drivers enables e.g., a zero-copy device driver architecture.
-
公开(公告)号:US20190303204A1
公开(公告)日:2019-10-03
申请号:US16144992
申请日:2018-09-27
Applicant: Apple Inc.
Inventor: CAHYA ADIANSYAH MASPUTRA , Karan Sanghi , Mingzhe Zhang , Zeh-Chen Liu , Sandeep Nair
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).
-
公开(公告)号:US20210097006A1
公开(公告)日:2021-04-01
申请号:US16936143
申请日:2020-07-22
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Zeh-Chen Liu , Wei Shen
IPC: G06F12/14
Abstract: Methods and apparatus for device driver operation in non-kernel space. In one embodiment, an apparatus configured to configured to interface to a component device driver within non-kernel space is disclosed. The exemplary embodiment restricts device drivers to fewer privileges than kernel processes, while still providing acceptable real-time performance. In another embodiment, mechanisms for non-kernel space device driver operation are described. In one exemplary embodiment, a shared memory interface between kernel space and device drivers enables e.g., a zero-copy device driver architecture.
-
4.
公开(公告)号:US20190306087A1
公开(公告)日:2019-10-03
申请号:US16363495
申请日:2019-03-25
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Sandeep Nair , Zeh-Chen Liu , Wei Shen , Olivier Mardinian
IPC: H04L12/861 , H04L12/859 , H04L29/06 , H04L12/851 , H04L12/863 , H04L12/935
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.
-
公开(公告)号: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).
-
6.
公开(公告)号: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.
-
-
-
-
-