H04L2101/00

HIGHLY-AVAILABLE DISTRIBUTED NETWORK ADDRESS TRANSLATION (NAT) ARCHITECTURE WITH FAILOVER SOLUTIONS

This disclosure describes techniques for providing a distributed scalable architecture for Network Address Translation (NAT) systems with high availability and mitigations for flow breakage during failover events. The NAT servers may include functionality to serve as fast-path servers and/or slow-path servers. A fast-path server may include a NAT worker that includes a cache of NAT mappings to perform stateful network address translation and to forward packets with minimal latency. A slow-path server may include a mapping server that creates new NAT mappings, depreciates old ones, and answers NAT worker state requests. The NAT system may use virtual mapping servers (VMSs) running on primary physical servers with state duplicated VMSs on different physical failover servers. Additionally, the NAT servers may implement failover solutions for dynamically allocated routeable address/port pairs assigned to new sessions by assigning new outbound address/port pairs when a session starts and broadcasting pairing information.

SYSTEMS AND METHODS FOR MERGING TENANT SHADOW SYSTEMS OF RECORD INTO A MASTER SYSTEM OF RECORD

The present disclosure is related to systems and methods of merging tenant shadow systems of record into a master system of record. First tenant record objects of a first tenant system of record can be accessed. A master record object for a master system of record can be generated using the corresponding first tenant record object. A second tenant record object of a second tenant system of record can be accessed. Whether the second tenant record object is to be merged into the corresponding master record object can be determined. When determined to merge, the second tenant record object can be merged into the corresponding master record object. When determined to not merge, a new master record can be generated.

SYSTEMS AND METHODS FOR DETECTING EVENTS BASED ON UPDATES TO NODE PROFILES FROM ELECTRONIC ACTIVITIES

The present disclosure relates to methods, systems, and storage media for detecting events based on updates to node profiles from electronic activities. Exemplary implementations may access an electronic activity transmitted or received via an electronic account associated with a data source provider; generate a plurality of activity field-value pairs; maintain a plurality of node profiles; identify a first state of a first node profile of the plurality of node profiles; update the first node profile using the electronic activity; identify a second state of the first node profile subsequent to updating the first node profile using the electronic activity; detect a state change of the first node profile based on the first state and the second state; determine that the state change satisfies an event condition; and store an association between the first node profile and an event type corresponding to the event condition.

Systems, methods, and apparatus to monitor mobile internet activity

Systems, methods, and apparatus to monitor mobile Internet activity are disclosed. An example apparatus includes at least one memory, and processor circuitry to execute instructions to at least assign (i) a first port of a proxy server to a first mobile device associated with a first panelist and (ii) a second port of the proxy server to a second mobile device associated with a second panelist, in response to receiving an un-authenticated request for media from at least one of the first, second, or third mobile devices, service the un-authenticated request in response to determining that the un-authenticated request is from an Internet Protocol (IP) address associated with an IP address range representative of devices on a cellular network, and, in response to servicing the un-authenticated request via the first port, store an association between the media and first panelist demographic information associated with the first mobile device.

Load balancing and session persistence in packet networks
11438446 · 2022-09-06 · ·

A node may generate a data packet comprising an Internet Protocol (IP) header and a destination options extension header (DOEH). The DOEH may comprise one or more data fields and an IP payload. The node may send the data packet to another node in a data network.

Server-based local address assignment protocol

An apparatus comprises: a memory; and a processor coupled to the memory and configured to: perform a random number generation; generate a host identifier (HID) based on the random number generation, wherein the HID is substantially unique within a local network; and generate, using the HID, an initial message requesting a local address. A method comprises: performing a random number generation; generating a host identifier (HID) based on the random number generation, wherein the HID is substantially unique within a local network; generating, using the HID, an initial message requesting a local address; and transmitting the initial message.

Discovery of resources in a local network

There is provided mechanisms for making resources discoverable. A method is performed by a resource location mapping node. The method comprises acquiring scope information of a local network and location information enabling determination of specific locations of resources in the local network. The method comprises generating Constrained Application Protocol (CoAP) resource identifiers of the resources from the scope information and the location information. The method comprises providing the CoAP resource identifiers to a resource directory, thereby making the resources discoverable.

Learning of tunnel endpoint selections

Some embodiments provide a method for a managed forwarding element (MFE). At the MFE, the method receives a first packet from a particular tunnel endpoint. The first packet originates from a particular data compute node associated with multiple tunnel endpoints including the particular tunnel endpoint. Based on the first packet, the method stores an association of the particular tunnel endpoint with the particular data compute node. The method uses the stored association to encapsulate subsequent packets received at the MFE and having the particular data compute node as a destination address with the particular tunnel endpoint as a destination tunnel endpoint.

Ethernet Virtual Private Network using Segment Routing

In one embodiment, Ethernet Virtual Private Network (EVPN) is implemented using Internet Protocol Version 6 (IPv6) Segment Routing (SRv6) underlay network and SRv6-enhanced Border Gateway Protocol (BGP) signaling. A particular route associated with a particular Internet Protocol Version 6 (IPv6) Segment Routing (SRv6) Segment Identifier (SID) is advertised in a particular route advertisement message of a routing protocol (e.g., BGP). The SID includes encoding representing a particular Ethernet Virtual Private Network (EVPN) Layer 2 (L2) flooding Segment Routing end function of the particular router and a particular Ethernet Segment Identifier (ESI), with the particular SID including a routable prefix to the particular router. The particular router receives a particular packet including the particular SID; and in response, the particular router performs the particular EVPN end function on the particular packet.

Enhanced segment routing processing of packets

In one embodiment, new Segment Routing capabilities are used in the steering of packets through Segment Routing nodes in a network. A Segment List includes a set of one or more Segment List (SL) Groups, each of which identifies one or more Segments contiguously or non-contiguously stored in the Segment List (or stored across multiple Segment Lists) of a Segment Routing packet. Each SL Group typically includes one Segment that is encoded as a Segment Identifier, and may include Segments that are Extended Values. The steering order of SL Groups is not required to be the same order as they are listed in the Segment List, as the value of Segments Left may be increased, remain the same, or decreased (possibly to skip a next SL Group) and possibly based on the result of an evaluation of a conditional expression.