Methods and apparatus for flow-based batching and processing

    公开(公告)号:US11606302B2

    公开(公告)日:2023-03-14

    申请号:US17346115

    申请日:2021-06-11

    Applicant: Apple Inc.

    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.

    Methods and apparatus for device driver operation in non-kernel space

    公开(公告)号:US11829303B2

    公开(公告)日:2023-11-28

    申请号:US16936143

    申请日:2020-07-22

    Applicant: Apple Inc.

    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.

    Methods and apparatus for emerging use case support in user space networking

    公开(公告)号:US11558348B2

    公开(公告)日:2023-01-17

    申请号:US16935982

    申请日:2020-07-22

    Applicant: Apple Inc.

    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.

    METHODS AND APPARATUS FOR EMERGING USE CASE SUPPORT IN USER SPACE NETWORKING

    公开(公告)号:US20210099427A1

    公开(公告)日:2021-04-01

    申请号:US16935982

    申请日:2020-07-22

    Applicant: Apple Inc.

    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.

    Methods and apparatuses for cross-layer processing

    公开(公告)号:US11775359B2

    公开(公告)日:2023-10-03

    申请号:US17469610

    申请日:2021-09-08

    Applicant: Apple Inc.

    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.

Patent Agency Ranking