-
公开(公告)号:US11954540B2
公开(公告)日:2024-04-09
申请号:US17471557
申请日:2021-09-10
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Eric Tsz Leung Cheng , Sandeep Nair , Wei Shen
IPC: G06F7/08 , G06F9/50 , G06F9/54 , G06F15/173 , H04L49/901 , H04L49/9047
CPC classification number: G06F9/544 , G06F9/5044 , G06F9/545 , G06F15/173 , G06F2209/548 , H04L49/901 , H04L49/9047
Abstract: Methods and apparatus for split memory allocations in non-kernel space. Many modern networking technologies use asymmetric transmit and/or receive resource. Various aspects described herein split memory resources for transmit and receive, configuring each for their respective hardware optimizations. For example, a receive data paths that support batch processing and packet aggregation may be allocated large memory objects (32 KB) that can route data packets on a per-flow basis. In contrast, transmit data paths that support multiple concurrent network connections may be allocated small memory objects (2 KB) that can route data packets one at a time.
-
2.
公开(公告)号:US20190303205A1
公开(公告)日:2019-10-03
申请号:US16368338
申请日:2019-03-28
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Delziel Jude Fernandes , Darrin Jewell , Sandeep Nair , Wei Shen
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.
-
公开(公告)号:US20190082443A1
公开(公告)日:2019-03-14
申请号:US16128415
申请日:2018-09-11
Applicant: Apple Inc.
Inventor: Guoqing Li , Christiaan A. Hartman , Daniel R. Borges , Jarkko L. Kneckt , Oren Shani , Tushar R. Shah , Xiaowen Wang , Yong Liu , Christian W. Mucke , Joseph Hakim , Farouk Belghoul , Ayman F. Naguib , Karan Sanghi , Cahya Adiansyah Masputra
Abstract: An electronic device that determines a transmission schedule is described. This electronic device may include an interface circuit that communicates with a recipient electronic device. During operation, the electronic device may receive a frame with scheduling-request information that is associated with the recipient electronic device. The scheduling-request information may include a buffer status report for persistent traffic, and the frame may be compatible with an IEEE 802.11 communication protocol. For example, the frame may include a scheduling-request management frame. Alternatively, the frame may include a data frame and the scheduling-request information may be included in a media access control (MAC) frame header, such as a high-efficiency (HE) variant high-throughput (HT) control header. Then, the electronic device may determine the transmission schedule based at least in part on the scheduling-request information.
-
公开(公告)号:US11775359B2
公开(公告)日:2023-10-03
申请号:US17469610
申请日:2021-09-08
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Eric Tsz Leung Cheng , Wei Shen , Francesco Dimambro , Sandeep Nair
CPC classification number: G06F9/545 , G06F9/45558 , G06F9/468 , G06F21/53 , G06F2009/45587
Abstract: Methods and apparatuses for cross-layer processing. In some embodiments, kernel processes are executed at a higher privilege and priority than user space processes, thus cross-layer communication that spans both kernel and user space may introduce system vulnerabilities and/or consume limited resources in an undesirable manner. Unlike kernel space networking architectures that have to accommodate generic use cases, user space networking architectures are application specific, run in their own memory allocations, and can be terminated without affecting other user space applications 602 and/or kernel space operation. Various aspects described herein provide application specific, non-generic functionality without kernel assistance. Exemplary embodiments for buffer cloning, packet aggregation and “just in time” transformations, are illustrative of the broader concepts enabled by the present disclosure.
-
公开(公告)号:US11381514B2
公开(公告)日:2022-07-05
申请号:US15973153
申请日:2018-05-07
Applicant: Apple Inc.
Inventor: Karan Sanghi , Saurabh Garg , Cahya Adiansyah Masputra
Abstract: Methods and apparatus for non-sequential packet transfer. Prior art multi-processor devices implement a complete network communications stack at each processor. The disclosed embodiments provide techniques for delivering network layer (L3) and/or transport layer (L4) data payloads in the order of receipt, rather than according to the data link layer (L2) order. The described techniques enable e.g., earlier packet delivery. Such design topologies can operate within a substantially smaller memory footprint compared to prior art solutions. As a related benefit, applications that are unaffected by data link layer corruptions can receive data immediately (rather than waiting for the re-transmission of an unrelated L4 data flow) and thus the overall network latency can be greatly reduced and user experience can be improved.
-
6.
公开(公告)号:US11212373B2
公开(公告)日:2021-12-28
申请号:US16236032
申请日:2018-12-28
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Wei Shen , Sandeep Nair , Olivier Mardinian , Darrin Jewell
IPC: G06F21/00 , 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).
-
公开(公告)号:US11178259B2
公开(公告)日:2021-11-16
申请号:US16146533
申请日:2018-09-28
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Sandeep Nair , Karan Sanghi , Mingzhe Zhang , Jason McElrath
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).
-
公开(公告)号:US11843683B2
公开(公告)日:2023-12-12
申请号:US16368368
申请日:2019-03-28
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Sandeep Nair , Darrin Jewell
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 active queue management in user space networking stacks. 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. Additionally, user space networking stacks require a new flow control methodology that is responsive to networking congestion and/or packet loss. For example, embodiments of the present disclosure introduce a flow advisory table that may, for example, utilize an eventing methodology for active queue management in addition to, or alternatively then, legacy active queue management. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack) as well as flow advisory tables (and legacy active queue management).
-
公开(公告)号: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.
-
公开(公告)号:US11558348B2
公开(公告)日:2023-01-17
申请号:US16935982
申请日:2020-07-22
Applicant: Apple Inc.
Inventor: Cahya Adiansyah Masputra , Eric Tsz Leung Cheng , Sandeep Nair , Wei Shen
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.
-
-
-
-
-
-
-
-
-