US 12,314,786 B2
Methods and apparatus for memory allocation and reallocation in networking stack infrastructures
Cahya Adiansyah Masputra, Cupertino, CA (US); Delziel Jude Fernandes, Cupertino, CA (US); Darrin Jewell, Woodside, CA (US); Sandeep Nair, San Jose, CA (US); and Wei Francis Shen, Cupertino, CA (US)
Assigned to Apple Inc., Cupertino, CA (US)
Filed by Apple Inc., Cupertino, CA (US)
Filed on Oct. 25, 2021, as Appl. No. 17/509,951.
Application 17/509,951 is a division of application No. 16/368,338, filed on Mar. 28, 2019, granted, now 11,159,651.
Claims priority of provisional application 62/649,509, filed on Mar. 28, 2018.
Prior Publication US 2022/0046117 A1, Feb. 10, 2022
Int. Cl. G06F 9/54 (2006.01); G06F 9/50 (2006.01); G06F 12/02 (2006.01); G06F 12/10 (2016.01); H04L 12/46 (2006.01); H04L 49/9047 (2022.01); H04L 61/103 (2022.01)
CPC G06F 9/545 (2013.01) [G06F 9/5016 (2013.01); G06F 9/544 (2013.01); G06F 12/023 (2013.01); G06F 12/10 (2013.01); H04L 12/4641 (2013.01); H04L 49/9052 (2013.01); H04L 61/103 (2013.01); G06F 2212/657 (2013.01)] 19 Claims
OG exemplary drawing
 
10. A computing system, comprising:
one or more processors;
a flow switch operated by the one or more processors;
a non-kernel space application operated by the one or more processors; and
physical memory coupled to the one or more processors for use by the non-kernel space application and the flow switch, wherein the non-kernel space application and the flow switch are configured to:
request, by the non-kernel space application, a channel schema to open a channel for the non-kernel space application, wherein the channel schema represents a memory sharing agreement between a kernel space and a user space to create a shared memory area of the physical memory, and wherein the shared memory area is divided into a plurality of data structures, and wherein the channel schema is selected from one of a plurality of different pre-designated channel schemas; and
configure, by the flow switch, the plurality of data structures in accordance with application requirements for the non-kernel space application, wherein the plurality of data structures includes a transmission buffer and a receive buffer.