Patents by Inventor Erin C. MacNeil

Erin C. MacNeil has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20240134751
    Abstract: A network device may execute a master application shared with another network device via a session, and may receive, by a backup application replication kernel, a replicated data object. The backup application replication kernel may provide the replicated data object to a backup application, and may calculate a time delta between when the replicated data object is received and when the replicated data object is consumed by the backup application. The backup application replication kernel may determine whether the time delta exceeds a first threshold or a second threshold, and may generate a session flag based on the time delta exceeding the first threshold or the second threshold. The backup application replication kernel may provide the session flag to a master application replication kernel and to the backup application, and the master application replication kernel may provide details of the session to the master application and the backup application.
    Type: Application
    Filed: December 29, 2023
    Publication date: April 25, 2024
    Inventors: Amit ARORA, Erin C. MACNEIL, Harmeet SINGH, Sairam NEELAM
  • Patent number: 11902404
    Abstract: A network device may monitor a TCP session with another network device, and may identify ingress and/or egress packets, a TCP header, and a socket of the TCP session. The network device may inspect the ingress and/or egress packets, the TCP header, and the socket to identify a zero window advertisement, details of a last quantity of packets sent or received, synchronize, finish, or reset packets sent or received, negotiated TCP options, or buffer space utilization, and may temporarily record identified data based on the inspection. The network device may detect a TCP session flap when a finish packet or a reset packet is identified and recorded, and may store, in a dead TCP session list, the identified data based on the TCP session flap being detected.
    Type: Grant
    Filed: June 10, 2022
    Date of Patent: February 13, 2024
    Assignee: Juniper Networks, Inc.
    Inventors: Amit Arora, Erin C. MacNeil, Harmeet Singh, Sairam Neelam
  • Patent number: 11886304
    Abstract: A network device may execute a master application communicating with another network device via a session, and may receive, by a backup application replication layer, a replicated data object. The backup application replication layer may provide the replicated data object to a backup application, and may calculate a time delta between when the replicated data object is received and when the replicated data object arrives at the backup application. The backup application replication layer may determine whether the time delta exceeds a first threshold or a second threshold, and may generate a session flag based on the time delta exceeding the first threshold or the second threshold. The backup application replication layer may provide the session flag to a master application replication layer and to the backup application, and the master application replication layer may provide details of the session to the master application and the backup application.
    Type: Grant
    Filed: June 22, 2022
    Date of Patent: January 30, 2024
    Assignee: Juniper Networks, Inc.
    Inventors: Amit Arora, Erin C. MacNeil, Harmeet Singh, Sairam Neelam
  • Publication number: 20230418713
    Abstract: A network device may execute a master application communicating with another network device via a session, and may receive, by a backup application replication layer, a replicated data object. The backup application replication layer may provide the replicated data object to a backup application, and may calculate a time delta between when the replicated data object is received and when the replicated data object arrives at the backup application. The backup application replication layer may determine whether the time delta exceeds a first threshold or a second threshold, and may generate a session flag based on the time delta exceeding the first threshold or the second threshold. The backup application replication layer may provide the session flag to a master application replication layer and to the backup application, and the master application replication layer may provide details of the session to the master application and the backup application.
    Type: Application
    Filed: June 22, 2022
    Publication date: December 28, 2023
    Inventors: Amit ARORA, Erin C. MACNEIL, Harmeet SINGH, Sairam NEELAM
  • Patent number: 11334267
    Abstract: A disclosed method may include (1) detecting one or more requests for a memory chunk of a specific size on a computing device, (2) determining that the computing device has yet to implement a memory pool dedicated to fixed memory chunks of the specific size, (3) computing an amount of memory that is potentially wasted in part by satisfying the one or more requests from an existing memory pool dedicated to fixed memory chunks of a different size, (4) determining that the amount of memory that is potentially wasted exceeds a waste threshold, and then in response to determining that the amount of memory that is potentially wasted exceeds the waste threshold, (5) creating an additional memory pool dedicated to fixed memory chunks of the specific size on the computing device. Various other apparatuses, systems, and methods are also disclosed.
    Type: Grant
    Filed: July 28, 2020
    Date of Patent: May 17, 2022
    Assignee: Juniper Networks, Inc
    Inventors: Amit Kumar Rao, Erin C. MacNeil, Finlay Michael Graham Pelley
  • Patent number: 11327685
    Abstract: A disclosed method may include (1) publishing, by a writer, a first context that represents a lockless data structure at a first moment in time for access by a set of readers, (2) upon the publication of the first context, directing at least one of the readers to access an object stored in shared memory via the first context, (3) publishing, by the writer, a second context that represents the lockless data structure at a second moment in time for access by the set of readers, and (4) upon the publication of the second context, directing the at least one of the readers to access an additional object stored in the shared memory via the second context. Various other apparatuses, systems, and methods are also disclosed.
    Type: Grant
    Filed: June 22, 2020
    Date of Patent: May 10, 2022
    Assignee: Juniper Networks, Inc
    Inventors: Erin C. MacNeil, Amit Kumar Rao, Finlay Michael Graham Pelley
  • Patent number: 11307896
    Abstract: A disclosed method may include (1) maintaining a set of fleeting contexts that represent a lockless data structure at different moments in time, (2) determining an oldest context within the set of fleeting contexts, (3) identifying, within a discard list of the oldest context, a reference to an object stored in shared memory, and then (4) reclaiming, in the shared memory, a memory location occupied by the object whose reference was identified within the discard list of the oldest context. Various other apparatuses, systems, and methods are also disclosed.
    Type: Grant
    Filed: June 22, 2020
    Date of Patent: April 19, 2022
    Assignee: Juniper Networks, Inc
    Inventors: Erin C. MacNeil, Amit Kumar Rao, Finlay Michael Graham Pelley
  • Patent number: 11307981
    Abstract: A disclosed method may include (1) mapping a block of shared memory to a plurality of processes running on a computing device, (2) determining, for a process within the plurality of processes, a local pointer that references a specific portion of the block of shared memory from a shared memory pointer that is shared across the plurality of processes by (A) identifying, within the shared memory pointer, a block number assigned to the block of shared memory and (B) identifying, within the shared memory pointer, an offset that corresponds to the specific portion of the block of shared memory relative to the process, and then (3) performing an operation on the specific portion of the block of shared memory based at least in part on the local pointer. Various other systems, methods, and computer-readable media are also disclosed.
    Type: Grant
    Filed: May 10, 2020
    Date of Patent: April 19, 2022
    Assignee: Juniper Networks, Inc
    Inventors: Erin C. MacNeil, Amit Kumar Rao, Finlay Michael Graham Pelley
  • Publication number: 20220045896
    Abstract: A network device intercepts, from an application associated with a user space, a request message associated with obtaining information regarding a network state from a kernel. The network device directs the request message to a service daemon of the user space based on intercepting the request message, and determines, using the service daemon, network state information regarding the network state. The network device intercepts, from the service daemon, a response message associated with providing the network state information to the application, and directs an altered response message to the application based on intercepting the response message such that the altered response message identifies the kernel as a source of the response message and not the service daemon as the source of the response message.
    Type: Application
    Filed: October 25, 2021
    Publication date: February 10, 2022
    Inventors: Amit Kumar RAO, Erin C. MACNEIL, Sairam NEELAM
  • Patent number: 11245668
    Abstract: A network device may detect, from an application associated with a user space of the network device, a request to configure a firewall provided by a kernel of the network device with a rule. The network device may intercept the request to configure the firewall before the firewall is configured with the rule. The network device, based on intercepting the request to configure the firewall, may analyze the rule to determine whether the rule modifies a critical functionality of the firewall. The network device may reject the request to configure the firewall based on determining that the rule modifies the critical functionality of the firewall.
    Type: Grant
    Filed: March 6, 2019
    Date of Patent: February 8, 2022
    Assignee: Juniper Networks, Inc.
    Inventors: Sreekanth Rupavatharam, Prashant Singh, Erin C. MacNeil
  • Patent number: 11165625
    Abstract: A network device intercepts, from an application associated with a user space, a request message associated with obtaining information regarding a network state from a kernel. The network device directs the request message to a service daemon of the user space based on intercepting the request message, and determines, using the service daemon, network state information regarding the network state. The network device intercepts, from the service daemon, a response message associated with providing the network state information to the application, and directs an altered response message to the application based on intercepting the response message such that the altered response message identifies the kernel as a source of the response message and not the service daemon as the source of the response message.
    Type: Grant
    Filed: August 28, 2018
    Date of Patent: November 2, 2021
    Assignee: Juniper Networks, Inc.
    Inventors: Amit Kumar Rao, Erin C. MacNeil, Sairam Neelam
  • Patent number: 11063877
    Abstract: A socket-intercept layer in kernel space on a network device may intercept a packet destined to egress out of the network device. The socket-intercept layer may then query a routing daemon for the Maximum Transmission Unit (MTU) value of the interface out of which that packet is to egress from the network device. In response to this query, the routing daemon may provide the socket-intercept layer with the MTU value of that interface. A tunnel driver in kernel space may identify the size of the packet and fragment the packet into segments whose sizes are each less than or equal to the MTU value of the interface. The tunnel driver may then push the segments of the packet to a packet forwarding engine on the network device. In turn, the packet forwarding engine may forward the segments of the packet to the corresponding destination via the interface.
    Type: Grant
    Filed: January 21, 2020
    Date of Patent: July 13, 2021
    Assignee: Juniper Networks, Inc
    Inventors: Prashant Singh, Sreekanth Rupavatharam, Hariprasad Shanmugam, Erin C. MacNeil
  • Patent number: 10742570
    Abstract: A device may receive, from the packet processing component and through an internal interface, a packet that includes a virtual routing and forwarding (VRF) interface identifier associated with a VRF interface of a virtual device. The internal interface may be associated with multiple external interfaces. The device may modify a value identifying an incoming interface via which the packet is received after receiving the packet that includes the VRF interface identifier. The modified value may be associated with the virtual device, and the modified value may allow an upper communication layer to determine that the packet is associated with the virtual device. The device may provide the packet to the upper communication layer after modifying the value identifying the incoming interface via which the packet is received to permit the upper communication layer to forward the packet to a destination.
    Type: Grant
    Filed: March 2, 2017
    Date of Patent: August 11, 2020
    Assignee: Juniper Networks, Inc.
    Inventors: Sreekanth Rupavatharam, Erin C. MacNeil, Hariprasad Shanmugam
  • Patent number: 10740162
    Abstract: A device may receive, by a kernel of the device and from a loadable kernel module of the device, information that instructs the kernel to invoke a callback function associated with the loadable kernel module based on an execution of a hook of the kernel. The device may receive, by the kernel of the device and from an application of the device, a socket application programming interface (API) call. The socket API call may include control information. The device may execute, by the kernel of the device, the hook based on receiving the socket API call. The device may invoke, by the kernel of the device, the callback function associated with the loadable kernel module based on executing the hook to permit a functionality associated with the callback function to be provided. The kernel may provide the control information, associated with the socket API call, to the callback function as an argument.
    Type: Grant
    Filed: October 31, 2018
    Date of Patent: August 11, 2020
    Assignee: Juniper Networks, Inc.
    Inventors: Erin C. MacNeil, Hariprasad Shanmugam, Sreekanth Rupavatharam
  • Patent number: 10735282
    Abstract: A disclosed method may include (1) detecting, at a network stack of a network device, a packet that (A) is destined at least intermediately for a network interface of the network device and (B) has been flagged by the network stack to be dropped instead of forwarded to the network interface based on at least one characteristic of the packet, (2) instead of dropping the packet, forwarding the packet to an alternative network interface of the network device that analyzes content of packets, (3) identifying, at the alternative network interface, the characteristic of the packet, and then (4) executing, based on the characteristic of the packet, at least one action in connection with the packet that improves the performance of the network device. Various other apparatuses, systems, and methods are also disclosed.
    Type: Grant
    Filed: June 29, 2018
    Date of Patent: August 4, 2020
    Assignee: Juniper Networks, Inc
    Inventors: Prashant Singh, Sreekanth Rupavatharam, Erin C. MacNeil
  • Patent number: 10594618
    Abstract: The disclosed apparatus may include (1) a physical routing engine that comprises (A) a socket-intercept layer, stored in kernel space, that (I) intercepts a packet that is destined for a remote device and (II) queries, in response to intercepting the packet in kernel space, a routing daemon in user space for an MTU value of an egress interface that is to forward the packet from the network device to the remote device and (B) a tunnel driver, stored in kernel space, that fragments the packet into segments whose respective sizes each comply with the MTU value of the egress interface and (2) a physical packet forwarding engine that forwards the segments of the packet to the remote device by way of the egress interface. Various other apparatuses, systems, and methods are also disclosed.
    Type: Grant
    Filed: June 6, 2017
    Date of Patent: March 17, 2020
    Assignee: Juniper Networks, Inc
    Inventors: Prashant Singh, Sreekanth Rupavatharam, Hariprasad Shanmugam, Erin C. MacNeil
  • Publication number: 20200021479
    Abstract: A network device intercepts, from an application associated with a user space, a request message associated with obtaining information regarding a network state from a kernel. The network device directs the request message to a service daemon of the user space based on intercepting the request message, and determines, using the service daemon, network state information regarding the network state. The network device intercepts, from the service daemon, a response message associated with providing the network state information to the application, and directs an altered response message to the application based on intercepting the response message such that the altered response message identifies the kernel as a source of the response message and not the service daemon as the source of the response message.
    Type: Application
    Filed: August 28, 2018
    Publication date: January 16, 2020
    Inventors: Amit Kumar RAO, Erin C. MACNEIL, Sairam NEELAM
  • Patent number: 10362070
    Abstract: The disclosed method may include (1) receiving a synchronize message from a computing device to initiate synchronization between the computing device and a server with respect to a communication protocol, (2) notifying an application in user space on the server of the synchronize message such that the application in user space selects at least one attribute to be applied to a communication session resulting from the synchronization between the computing device and the server, (3) sending a synchronize acknowledgment that identifies the attribute selected by the application in user space to the computing device to further the synchronization between the computing device and the server, and then (4) establishing the communication session with the attribute selected by the application in user space upon receiving an acknowledgment message from the computing device to complete the synchronization. Various other methods, systems, and apparatuses are also disclosed.
    Type: Grant
    Filed: August 19, 2016
    Date of Patent: July 23, 2019
    Assignee: Juniper Networks, Inc
    Inventors: Sreekanth Rupavatharam, Hariprasad Shanmugam, Erin C. MacNeil
  • Patent number: 10348652
    Abstract: The disclosed computer-implemented method may include (1) identifying, in kernel space on a network device, a packet that is destined for a remote device, (2) passing, along with the packet, metadata for the packet to a packet buffer in kernel space on the network device, (3) framing, by the kernel module in kernel space, the packet such that the packet egresses via a tunnel interface driver on the network device, (4) encapsulating, by the tunnel interface driver, the packet with the metadata, and then (5) forwarding, by the tunnel interface driver, the packet to the remote device based at least in part on the metadata with which the packet was encapsulated. Various other methods, systems, and computer-readable media are also disclosed.
    Type: Grant
    Filed: January 28, 2017
    Date of Patent: July 9, 2019
    Assignee: Juniper Networks, Inc.
    Inventors: Erin C. MacNeil, Sreekanth Rupavatharam, Hariprasad Shanmugam
  • Patent number: 10243877
    Abstract: A device may receive a packet associated with an application. The device may identify a filter associated with the application. The device may determine that information associated with the packet matches information associated with the filter. The device may compare a count, associated with the filter, and an expediting threshold associated with expediting processing of the packet based on determining that the information associated with the packet matches the information associated with the filter. The device may selectively expedite processing of the packet based on comparing the count and the expediting threshold.
    Type: Grant
    Filed: November 30, 2016
    Date of Patent: March 26, 2019
    Assignee: Juniper Networks, Inc.
    Inventors: Ramanan Govindarajan, Sreekanth Rupavatharam, Erin C. Macneil