BASE STATION ASSISTED INFORMATION CENTRIC NETWORK

System and techniques for base station assisted Information Centric Network (ICN) are described herein. A mobile network base station receives an ICN packet from a user equipment (UE). The mobile network base station identifies an aggregate packet data unit (PDU) session with a user plane function (UPF) ICN gateway (ICN-GW) hosted in a mobile network core network (CN) for the ICN packet. Then, the mobile network base station transmits the ICN packet via the aggregate PDU session.

TECHNICAL FIELD

Embodiments described herein generally relate to computer networking and more specifically to base station assisted Information Centric Network (ICN).

BACKGROUND

Information centric networking (ICN) is a transport layer or internet layer protocol that is an alternative to address based approaches, such as the Internet Protocol (IP). ICN replaces host addresses with named data (or functions in a named function networking (NFN)). ICN nodes generally include two data structures, a pending interest table (PIT) and a forwarding information base (FIB) that are used for routing.

When data is desired, a requestor releases an interest packet naming the data being sought. A receiving ICN node records the interest packet arrival along with the physical interface upon which the interest was received in a PIT entry. The ICN node uses the FIB to determine upon which physical interface to forward the interest. When a node has data that matches the name of the interest packet, such a node generally responds to the interest packet in a data packet (e.g., ICN data packet). When the data packet arrives at an interim node, that node matches the name of the data packet with a PIT entry and uses the physical interface of the PIT entry to forward the data; the PIT entry being removed once the data packet is sent.

Because only the name of the data is necessary, data may be cached throughout the network without orchestration present in host-based techniques. Thus, as a data packet traverses an interim ICN node, that node may cache the data packet to respond to future requests for the same data.

DETAILED DESCRIPTION

ICN networks enable high network efficiency by providing localized content caching for mobile devices. However, current ICN implementations in mobile networks (e.g., cellular networks) generally involve connecting a UE to a core network (CN) user plane function (UPF) operating as an ICN gateway (ICN-GW). This connection is a packet data unit (PDU) session. ICN is generally operated as an overlay on the mobile network including, often, Internet Protocol (IP) addressed based connections. That is, underlying IP transport infrastructure is not impacted. IP routing is generally used from the Radio Access Network (RAN)—with a mobile network base station (e.g., a gNB) providing the radio link to the UE—to a mobile backhaul, IP core, and UPF. Thus, the UE attaches to the UPF (e.g., a PDU Anchor) using an IP address. The Content provider in a Data Network (DN) may serve content either using IP or ICN based on a UE request. An alternative approach may implement a Hybrid ICN in which ICN is run over IP by mapping ICN names to the IPv4 or IPv6 addresses. Thus, in an example, from the perspective of the UE, the UE is not aware of the aggregate PDU session. Rather, the UE encapsulates the ICN packet like any other packets, such as putting an ICN packet on top of a UDP socket and then on top of an IP packet. When the mobile network base station receives the packet, the mobile network base station reads the IP header and determines whether the packet is an ICN packet or not. In an example, this information is provided by ab IP packet header, such as in a “protocol” field, to differentiate ICN packets from other IP packets.

The current ICN implementations in mobile networks fall short of realizing the potential of ICN. For example, when the ICN packets are running on top of the end-to-end PDU session—from one end, the UE, to the other end of the UPF/ICN-GW—by passing common UE traffic intersection points such as the mobile network base station does not permit data caching or interest packet aggregation until well into the CN at the UPF/ICN-GW. Thus, for example, multiple interest packets from different UEs that are requesting the same content are still transmitted from UEs to the UPF/ICN-GW through different PDU sessions because the end-to-end PDU session is established on a per-UE basis.

To address the issues above, the mobile network base station is configured to manage an aggregate PDU session for ICN traffic. The aggregate PDU session operates as an ICN interface between the mobile network base station and the CN, such as the UPF/ICN-GW. This arrangement enables the mobile network to perform interest aggregation and data caching at the mobile network base station without disrupting much of the established mobile network infrastructure. Thus, instead of a per-UE end-to-end PDU session between each UE and UPF/ICN-GW, the mobile network base station, on behalf of UEs which are connecting to the mobile network base station, sets up a per-base station aggregate PDU session to the UPF/ICN-GW to transmit the ICN packets.

When the mobile network base station implements ICN routing with an aggregate PDU session, if the mobile network base station receives multiple similar interest packets from multiple UEs, the interests may be aggregated into a single up-stream interest packet sent to the UPF/ICN-GW. Similarly, if the content is already cached at the mobile network base station, the mobile network base station may serve the content from the local cache without communicating with the UPF/ICN-GW.

Implementing ICN router functionality on a mobile network base station coupled to aggregate PDU sessions in lieu of traditional end-to-end PDU sessions strikes a balance between exploiting the advantages inherent in ICN networks over other network models while minimizing mobile network modifications. The aggregate PDU session enables Pending Interest Table (PIT) aggregation and data caching at the mobile network base station. Accordingly, the benefits of ICN are leveraged to reduce unnecessary interest or data packet transmission through the network. In an example, the aggregate PDU session restricted to ICN packets only, and, in an example, differentiated from other PDU sessions with a PDU session type. This enables the UPF/ICN-GW to automatically differentiate the incoming packets as ICN packets without reading the packet headers. Additional details and examples are provided below.

FIG. 1illustrates an example of an environment including a system for base station assisted ICN, according to an embodiment. As illustrated, the user equipment (UE)105is connected via radio link to a mobile network base station110. The mobile network base station110is in turn connected to the mobile network core network (CN)115. The CN115may then connect to other networks120, such as the Internet, corporate networks, defense networks, etc.

The mobile network base station110includes hardware to operate the radio link to the UE105(e.g., a radio interface) as well as communicate with components of the CN115, which may include wired or wireless network interfaces. The mobile network base station110includes memory (e.g., working memory to hold a current system state or storage for volatile or non-volatile storage of data) and processing circuitry (e.g., as described below with respect toFIG. 10). In an example, the mobile network base station110is a gNB in accordance with a Third-Generation Partnership Project (3GPP) family of standards. A gNB, which in some iterations of the 3GPP standard family may be referred to as an eNB, and eNodeB, or an enhanced Node B, represents a fifth generation (5G) radio access network (RAN) component for UE105access to the CN115. Although the examples herein generally refer to the mobile network base station110as a gNB in the context of a 5G mobile network, the described devices and techniques are applicable to other mobile network configurations, such as fourth generation (4G) and earlier 3GPP networks.

To implement a base station assisted ICN, the processing circuitry is configured to receive (e.g., via the radio interface) an ICN packet from the UE105. In an example, the processing circuitry determines that any given packet received from the UE105is an ICN packet based on an explicit signal provided by the UE. Such a signal may include a flag in the packet or may be a request in preparation for sending an ICN packet. In an example, the UE105provides no explicit signaling that the packet is an ICN packet. In this example, the processing circuitry may determine that the packet is an ICN packet by inspection of a packet header, packet contents, or the like. In any case, the processing circuitry is configured to classify the packet as an ICN packet and treat the packet differently than other packet types, such as an IP packet.

In an example, the mobile network base station110includes a PIT. The PIT is maintained in the memory of the mobile network base station110and, as discussed below with respect toFIG. 9, is a data structure that maintains a relationship between received interest packets and an interface into which that interest packet was received. Although the radio interface is the physical interface upon which interest packets are received from multiple UEs, in the context of most wireless networks, including 5G networks, the mobile network base station110generally addresses radio communications to specific UEs. In the context of a 5G network, this mechanism involves the allocation of Data Radio Bearer (DRB) time-frequency blocks to a UE and transmission of data for that UE. Accordingly, the PIT maintains a correlation between an interest received from the UE105and the UE105itself as the receiving interface. Accordingly, in an example, where the ICN packet is an interest packet with a name identifying content, the processing circuitry is configured to place the interest packet in the PIT upon receipt.

Interest aggregation in ICN is a concept whereby multiple interest packets received for content (e.g., multiple interest packets with equivalent names) are not forwarded in search of the content. Rather, while a first of these multiple interest packets is pending (e.g., in the PIT and unexpired or unfulfilled) subsequent interest packets are not forwarded (e.g., to the core network115). Rather, additional entries for in-bound interfaces (e.g., UEs) are made in the PIT in order to deliver any responding data packet to all interested devices. Accordingly, in an example—when a second interest packet is received subsequent to the interest packet, and the second interest packet has the same name as the first interest packet to identify the same content—the processing circuitry is configured to drop the second interest packet in response to the first interest packet already being in the PIT. In an example, the processing circuitry is configured to update the PIT with a second UE as the inbound interface for the entry corresponding to the interest packet.

As with other ICN nodes, the mobile network base station110may provide more efficient data access for the UEs connected to the mobile network base station110by caching data. Thus, in an example, the mobile network base station110includes a cache (e.g., in memory) with entries that each include a name and corresponding content. In an example, a second ICN packet is received from the UE. Here, the second ICN packet is an interest packet with a name specifying content. The processing circuitry is configured to match name with an entry in the cache. The processing circuitry is configured to retrieve the entry (or just the content) based on matching the name. The processing circuitry is configured to respond to the interest packet with a data packet that includes the content. In an example, the mobile network base station does not transmit the interest packet via an aggregate PDU session (as described below) when responding to the interest packet with content from the cache. This set of examples demonstrates the ability of the network to avoid sending interest packets and data packets when locally caching of the data at the mobile network base station110has occurred. In general, such packet transmission reductions greatly improve network efficiency.

The processing circuitry is configured to identify an aggregate packet data unit (PDU) session. PDU sessions operate in 3GPP networks to provide an end-to-end connectivity between the UE105and a data network (DN) hosted in the CN115. Traditionally, an ICN PDU session was used to provide connectivity between ICN facilities on the UE105and an UPF/ICN-GW in the CN115. Different from traditional mobile networks, however, the aggregate PDU that does not terminate with the UE105, but rather with the mobile network base station110. In this context, the aggregate PDU session is used as an upstream ICN interface upon which ICN packets are forwarded. Because there may be multiple UPF/ICN-GWs in the CN115, and there may be multiple Quality-of-Service (QoS) levels, each with an associated with a flow of an aggregate PDU session, the processing circuitry is configured to identify which of multiple possible PDU sessions or flows within a PDU session upon which to forward the ICN packet.

The aggregate PDU session may not be maintained (e.g., not instantiated or shutdown from a previous use) when there are not ICN packets being received at the mobile network base station110. Accordingly, in an example, the aggregate PDU session is established in response to receiving the ICN packet. In an example, when the mobile network base station is a gNB in accordance with a 3GPP family of standards, the aggregate PDU session is established over an N3 GTP-U tunnel in accordance with the 3GPP family of standards. If, however, an aggregate PDU session has already been established—e.g., because a second UE previously sent an ICN packet and a time period to close the aggregate PDU session has not yet elapsed—the aggregate PDU session is not established when the ICN packet is received. Rather, in this example, the processing circuitry is configured to select an appropriate aggregate PDU session for the ICN packet. In this context, the appropriateness of the selected aggregate PDU session may be governed by local metrics on forward routes, such as may be maintained in the PIT for data packets or a FIB for interest packets.

With respect to establishing the aggregate PDU session, UE handover may provoke such establishment. Thus, in an example, the processing circuitry receives a notification of a handover of the UE105to the mobile network base station110. In an example, the notification indicates that the UE has the aggregate PDU session (e.g., established at the previous or current mobile network base station). In an example, the processing circuitry is configured to establish the aggregate PDU session in response to the notification indicating the aggregate PDU session.

In an example, the aggregate PDU session is one of multiple aggregate PDU sessions established by the processing circuitry. In an example, each of the multiple aggregate PDU sessions is established with a different ICN-GW within the CN115. In an example, the ICN packet is an interest packet. Here, the processing circuitry is configured to identify the aggregate PDU session for the ICN packet by using a name contained in the ICN packet to locate an entry in the FIB of the mobile network base station110. From this entry, the processing circuitry obtains the aggregate PDU session.

Once the aggregate PDU session is identified for an ICN packet, the processing circuitry is configured to transmit the ICN packet using the aggregate PDU session. In an example, where the aggregate PDU session includes multiple flows corresponding to different QoS levels, transmitting the ICN packet via the aggregate PDU session includes selecting a flow with a corresponding QoS level. In this manner, the mobile network base station110provides data caching and interest aggregation for connected UEs, including the UE105, reducing both radio resource and CN115network utilization. Because the PDU sessions are leveraged, there is no change to the operation of the CN115or the UE105. Accordingly, ICN efficiencies may be achieved without significant redesign or implementation burdens on a network operator.

FIG. 2illustrates an example of an aggregate PDU session hosted at a base station, according to an embodiment. As illustrated, the UE205transmits ICN packets on two DRBs. These ICN packets are received at the gNB210wherein an ICN mapping (e.g., PIT, FIB, or the like) is applied to identify the aggregate PDU session215(and possibly one of the QoS flows of the aggregate PDU session215) that will be used to transmit the ICN packet to the UPF/ICN-GW220.

As noted above, the gNB210is configured to identify ICN packets from the UE205. The gNB210is configured to provide interest aggregation or content caching functionality when it receives ICN interest packets from different UEs. The gNB210sets up one PDU session on behalf of all the ICN UEs that are accessing the network through this gNB210with the UPF/ICN-GW220. Different aggregate PDU sessions may be setup to different UPFs/ICN-GWs. In an example, the aggregate PDU session215is differentiated with from traditional (e.g., end-to-end) PDU sessions by an “aggregate” flag, signal, or other information.

FIG. 3illustrates an example of an ICN deployment with aggregate PDU session in a mobile network, according to an embodiment. The illustrated arrangement generally conforms to 5G network design. As illustrated, the network stack components become more sophisticated the higher in the network stack. Thus, the L1blocks represent physical layer while the application layer sits at the top of the UE and CN end points. As opposed to traditional 5G networks, the gNB includes several additional components. Specifically, the gNB includes the PDU layer315in order to establish and maintain aggregate PDU sessions. This, coupled with the UE facing ICN block305and the CN facing ICN block310, enables the gNB to provide the ICN network efficiencies described herein.

In the context of the illustrated arrangement, the gNB sets up the aggregate PDU session (via the PDU layer315) between the gNB and the UPF (e.g., UPF/ICN-GW) for transmitting ICN packets collected and aggregated from multiple UEs. As illustrated inFIG. 2, there may be multiple QoS flows setup in the aggregate PDU session for ICN packets with different QoS settings. The ICN packets may come from the same or different DRBs/UEs.

The gNB receives and aggregates the ICN interest packets which request the same content (e.g., use the same name or an equivalent name) under its coverage, for example, using the ICN block305. The aggregated ICN interest packets may be mapped to a QoS flow according to the QoS specifications of the ICN packets. ICN data packets from UEs may also mapped to QoS flows according to the QoS settings. The ICN block310may extract ICN packets (interest or data packets) from the network via the aggregate PDU session and forward (e.g., via the ICN block305) these ICN packets to different UEs in its coverage.

In an example, the gNB implements a PIT, a FIB, and an ICN cache (e.g., local store). Here, the PIT is used for interest aggregation and the FIB is use forward routing of interest packets, such as which aggregate PDU session to use or which neighbor gNB to use for interest packet forwarding. In an example, where the gNB is limited to a single aggregate PDU session—for example, if there is only one UPF/ICN-GW gNB that may connect with the gNB and there is no neighbor gNB with ICN enabled—the gNB may include a PIT and an ICN cache but not the FIB.

QoS may be handled much like a traditional PDU session with the exception that the aggregate PDU session terminates at the gNB. Thus, like a traditional PDU session, multiple QoS flows may be setup within the aggregate PDU session to support different ICN QoS levels. ICN packets with different QoS settings may be mapped to different QoS flows. If different UEs assign different QoS levels to interest packets for similar content, gNB may aggregate the interest packets and assign the highest QoS level requested by a UE.

In general, the aggregate PDU session is specific to ICN traffic. Thus, other network protocols that use PDU sessions, such as IP packet transmission, may continue to use traditional PDU sessions with end-to-end per-UE and DN arrangements.

FIG. 4illustrates an example of component interactions for ICN-User Equipment (UE) registration, according to an embodiment. ICN-UE registration authenticates or authorizes the UE to ICN services. In the registration request405, the UE provides information—such as that carried in a Requested Network Slice Selection Assistance Information (NSSAI) or UE capability communication—to indicate that the UE supports ICN features. When the UE registration request is accepted (exchange410), After the registration, Access and Mobility Management Function (AMF) and gNB shall store the UE's ICN-related context and the gNB is triggered to establish the aggregate PDU session (communication415). The gNB may then establish the aggregate PDU session (exchange420). At this point, the UE may be notified that the registration is accepted and that the RAN (e.g., gNB) supports ICN (communication425). In an example, the gNB may be considered a virtual UE with respect to the aggregate PDU session.

FIG. 5illustrates an example of gNB aggregate PDU registration, according to an embodiment. gNB aggregate PDU registration registers the gNB (e.g., as a virtual ICN UE) to verify whether the gNB may operate as a virtual ICN UE and to set up an aggregate PDU session. The gNB aggregate PDU registration may also obtain authorization to receive ICN services. Similar to UE registrations, gNB registration for the ICN service is generally a one-time registration that does not produce much overhead to the network.

As illustrated, the Registration Request/Accept (communication505) are N2 message that may be carried in either a new NG Application Protocol (NGAP) messages or existing NGAP messages, such as Downlink NAS Transport or Uplink NAS Transport messages. The N2 Registration Request/Accept505is similar to NAS Registration Request/Accept and may include the following information elements:

Message Type

RAN UE NGAP ID: this is a virtual UE NGAP ID assigned for gNB

5GS Registration Type: gNB registration on behalf of ICN UE

5GS Mobility Identity: this is a virtual mobility identify assigned for gNB

The 3GPP authentication function (AUSF) is selected (operation510) and authentication of the gNB carried out (exchange515). After authentication, a 3GPP Unified Data Manager (UDM) is selected (operation520) and NUDM (5G UDM) registration occurs (exchange525). A 3GPP Policy Control Function (PCF) is then selected (operation530) and a policy is established (exchange535). Then, the 3GPP Session Management Function (NSMF) context is established (communication540) and the gNB is notified that the registration is accepted (communication545).

FIG. 6illustrates an example of gNB aggregate PDU session establishment, according to an embodiment. Aggregate PDU session management includes aggregate PDU session establishment, modification, and release between the gNB and the UPF/ICN-GW. In an example, existing 3GPP NG Application Protocol (NGAP) is modified to support gNB or CN initiated PDU session establishment, modification, or release. In this example, PDU session management related Information Elements (IEs) are carried in NGAP directly. An example of PDU session setup is illustrated inFIG. 6. Here, the new NGAP or modified NGAP messages are:

b. N2 PDU Session Resource Request (communication610); and

The other illustrated elements conform to standard 3GPP PDU session management with the exception of the existence of the aggregate PDU session (exchange620).

In an example, existing Non-Access-Stratum (NAS) messages may be used for PDU session management. In this example, the gNB is configured to operate on (e.g., can understand or generate) NAS message. As mentioned above, aggregate PDU session management does not impact the traditional PDU session management for UEs.

FIG. 7illustrates an example of aggregate PDU session handover, according to an embodiment. This may also be called mobility management. In general, the ICN UE performs 3GPP standard registration and mobility tracking. If an ICN UE moves from one gNB to another in Radio Resource Control (RRC) RRC_Connected mode, the aggregate PDU session will be setup in the new gNB is it is not already setup. If an aggregate PDU session has been setup, the transmission of ICN packet in the new gNB may be mapped to this aggregate PDU session.

As illustrated, the aggregate PDU session (exchange705) is operating at the source (e.g., current) gNB. When the handover decision is made (operation710), the source gNB makes a handover request (communication715) to the target (e.g., new) gNB, which is then acknowledged (communication720). RAN handover is initiated (period725) and the source gNB transfers status to the target gNB (communication730). This prompts session setup to transfer ICN packets (exchange735) to the target gNB. The target gNB buffers the pending ICN packets (operation740) until RAN handover is complete (period745). The target gNB then makes a path switch request (communication750) and the aggregate PDU session is established (period755). Once complete, an acknowledgment is received by the target gNB (communication760) and the source gNB is notified (communication765) that it may release the UE context, the handover having been completed.

FIG. 8illustrates a flow diagram of an example of a method800for base station assisted ICN, according to an embodiment. The operations of the method800are performed by computational hardware, such as that described above or below (e.g., processing circuitry).

At operation805, an ICN packet is received at a mobile network base station from a UE. In an example, the mobile network base station is a gNB in accordance with a Third-Generation Partnership Project (3GPP) family of standards.

In an example, the mobile network base station includes a PIT. In an example, the ICN packet is an interest packet with a name identifying content. In an example, the interest packet is placed in the PIT upon receipt. In an example, a second interest packet is received subsequent to the interest packet. In this example, the second interest packet has the same name as the first interest packet to identify the same content. In an example, the second interest packet is dropped in response to the first interest packet already being in the PIT.

In an example, the mobile network base station includes a cache with entries that each include a name and corresponding content. In an example, a second ICN packet is received from the UE. Here, the second ICN packet is an interest packet with a name specifying content. The name may be matched with an entry in the cache. Content in the entry may then be retrieved based on matching the name. The mobile network base station may then respond to the interest packet with a data packet that includes the content. In an example, the mobile network base station does not transmit the interest packet via an aggregate PDU session (as described below) when responding to the interest packet with content from the cache.

At operation810, an aggregate packet data unit (PDU) session is identified with a user plane function (UPF) ICN gateway (ICN-GW) hosted in a mobile network core network (CN) for the ICN packet. In an example, the aggregate PDU session includes multiple flows. In an example, each of the multiple flows corresponds to a quality-of-service (QoS) level.

In an example, the aggregate PDU session is established in response to receiving the ICN packet. In an example, the aggregate PDU session is not established when the ICN packet is received. In an example, when the mobile network base station is a gNB in accordance with a 3GPP family of standards, the aggregate PDU session is established over an N3 GTP-U tunnel in accordance with the 3GPP family of standards.

In an example, the mobile network base station receives a notification of a handover of the UE to the mobile network base station. In an example, the notification indicates that the UE has the aggregate PDU session (e.g., established at the previous or current mobile network base station). In an example, the mobile network base station establishes the aggregate PDU session in response to the notification indicating the aggregate PDU session.

In an example, the aggregate PDU session is one of multiple aggregate PDU sessions established by the mobile network base station. In an example, each of the multiple aggregate PDU sessions is established with a different ICN-GW within the CN. In an example, the ICN packet is an interest packet. Here, identifying the aggregate PDU session for the ICN packet may include includes using a name contained in the ICN packet to locate an entry in a forwarding information base (FIB) of the mobile network base station. Then, the aggregate PDU session may be identified from the entry in the FIB.

At operation815, the ICN packet is transmitted via the aggregate PDU session. In an example, where the aggregate PDU session includes multiple flows correspond to different QoS levels, transmitting the ICN packet via the aggregate PDU session includes selecting a flow with a corresponding QoS level.

FIG. 9illustrates an example information centric network (ICN), according to an embodiment. ICNs operate differently than traditional host-based (e.g., address-based) communication networks. ICN is an umbrella term for a networking paradigm in which information and/or functions themselves are named and requested from the network instead of hosts (e.g., machines that provide information). In a host-based networking paradigm, such as used in the Internet protocol (IP), a device locates a host and requests content from the host. The network understands how to route (e.g., direct) packets based on the address specified in the packet. In contrast, ICN does not include a request for a particular machine and does not use addresses. Instead, to get content, a device905(e.g., subscriber) requests named content from the network itself. The content request may be called an interest and transmitted via an interest packet930. As the interest packet traverses network devices (e.g., network elements, routers, switches, hubs, etc.)—such as network elements910,915, and920—a record of the interest is kept, for example, in a pending interest table (PIT) at each network element. Thus, network element910maintains an entry in its PIT935for the interest packet930, network element915maintains the entry in its PIT, and network element920maintains the entry in its PIT.

When a device, such as publisher940, that has content matching the name in the interest packet930is encountered, that device940may send a data packet945in response to the interest packet930. Typically, the data packet945is tracked back through the network to the source (e.g., device905) by following the traces of the interest packet930left in the network element PITs. Thus, the PIT935at each network element establishes a trail back to the subscriber905for the data packet945to follow.

Matching the named data in an ICN may follow several strategies. Generally, the data is named hierarchically, such as with a universal resource identifier (URI). For example, a video may be named www.somedomain.com or videos or v8675309. Here, the hierarchy may be seen as the publisher, “www.somedomain.com,” a sub-category, “videos,” and the canonical identification “v8675309.” As an interest930traverses the ICN, ICN network elements will generally attempt to match the name to a greatest degree. Thus, if an ICN element has a cached item or route for both “www.somedomain.com or videos” and “www.somedomain.com or videos or v8675309,” the ICN element will match the later for an interest packet930specifying “www.somedomain.com or videos or v8675309.” In an example, an expression may be used in matching by the ICN device. For example, the interest packet may specify “www.somedomain.com or videos or v8675*” where ‘*’ is a wildcard. Thus, any cached item or route that includes the data other than the wildcard will be matched.

Item matching involves matching the interest930to data cached in the ICN element. Thus, for example, if the data945named in the interest930is cached in network element915, then the network element915will return the data945to the subscriber905via the network element910. However, if the data945is not cached at network element915, the network element915routes the interest930on (e.g., to network element920). To facilitate routing, the network elements may use a forwarding information base925(FIB) to match named data to an interface (e.g., physical port) for the route. Thus, the FIB925operates much like a routing table on a traditional network device.

In an example, additional meta-data may be attached to the interest packet930, the cached data, or the route (e.g., in the FIB925), to provide an additional level of matching. For example, the data name may be specified as “www.somedomain.com or videos or v8675309,” but also include a version number—or timestamp, time range, endorsement, etc. In this example, the interest packet930may specify the desired name, the version number, or the version range. The matching may then locate routes or cached data matching the name and perform the additional comparison of meta-data or the like to arrive at an ultimate decision as to whether data or a route matches the interest packet930for respectively responding to the interest packet930with the data packet945or forwarding the interest packet930.

ICN has advantages over host-based networking because the data segments are individually named. This enables aggressive caching throughout the network as a network element may provide a data packet930in response to an interest930as easily as an original author940. Accordingly, it is less likely that the same segment of the network will transmit duplicates of the same data requested by different devices.

Fine grained encryption is another feature of many ICN networks. A typical data packet945includes a name for the data that matches the name in the interest packet930. Further, the data packet945includes the requested data and may include additional information to filter similarly named data (e.g., by creation time, expiration time, version, etc.). To address malicious entities providing false information under the same name, the data packet945may also encrypt its contents with a publisher key or provide a cryptographic hash of the data and the name. Thus, knowing the key (e.g., from a certificate of an expected publisher940) enables the recipient to ascertain whether the data is from that publisher940. This technique also facilitates the aggressive caching of the data packets945throughout the network because each data packet945is self-contained and secure. In contrast, many host-based networks rely on encrypting a connection between two hosts to secure communications. This may increase latencies while connections are being established and prevents data caching by hiding the data from the network elements.

Example ICN networks include content centric networking (CCN), as specified in the Internet Engineering Task Force (IETF) draft specifications for CCNx 0.x and CCN 1.x, and named data networking (NDN), as specified in the NDN technical report DND-0001.

The machine (e.g., computer system)1000may include a hardware processor1002(e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory1004, a static memory (e.g., memory or storage for firmware, microcode, a basic-input-output (BIOS), unified extensible firmware interface (UEFI), etc.)1006, and mass storage1008(e.g., hard drives, tape drives, flash storage, or other block devices) some or all of which may communicate with each other via an interlink (e.g., bus)1030. The machine1000may further include a display unit1010, an alphanumeric input device1012(e.g., a keyboard), and a user interface (UI) navigation device1014(e.g., a mouse). In an example, the display unit1010, input device1012and UI navigation device1014may be a touch screen display. The machine1000may additionally include a storage device (e.g., drive unit)1008, a signal generation device1018(e.g., a speaker), a network interface device1020, and one or more sensors1016, such as a global positioning system (GPS) sensor, compass, accelerometer, or other sensor. The machine1000may include an output controller1028, such as a serial (e.g., universal serial bus (USB), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection to communicate or control one or more peripheral devices (e.g., a printer, card reader, etc.).

Registers of the processor1002, the main memory1004, the static memory1006, or the mass storage1008may be, or include, a machine readable medium1022on which is stored one or more sets of data structures or instructions1024(e.g., software) embodying or utilized by any one or more of the techniques or functions described herein. The instructions1024may also reside, completely or at least partially, within any of registers of the processor1002, the main memory1004, the static memory1006, or the mass storage1008during execution thereof by the machine1000. In an example, one or any combination of the hardware processor1002, the main memory1004, the static memory1006, or the mass storage1008may constitute the machine readable media1022. While the machine readable medium1022is illustrated as a single medium, the term “machine readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) configured to store the one or more instructions1024.

In an example, information stored or otherwise provided on the machine readable medium1022may be representative of the instructions1024, such as instructions1024themselves or a format from which the instructions1024may be derived. This format from which the instructions1024may be derived may include source code, encoded instructions (e.g., in compressed or encrypted form), packaged instructions (e.g., split into multiple packages), or the like. The information representative of the instructions1024in the machine readable medium1022may be processed by processing circuitry into the instructions to implement any of the operations discussed herein. For example, deriving the instructions1024from the information (e.g., processing by the processing circuitry) may include: compiling (e.g., from source code, object code, etc.), interpreting, loading, organizing (e.g., dynamically or statically linking), encoding, decoding, encrypting, unencrypting, packaging, unpackaging, or otherwise manipulating the information into the instructions1024.

In an example, the derivation of the instructions1024may include assembly, compilation, or interpretation of the information (e.g., by the processing circuitry) to create the instructions1024from some intermediate or preprocessed format provided by the machine readable medium1022. The information, when provided in multiple parts, may be combined, unpacked, and modified to create the instructions1024. For example, the information may be in multiple compressed source code packages (or object code, or binary executable code, etc.) on one or several remote servers. The source code packages may be encrypted when in transit over a network and decrypted, uncompressed, assembled (e.g., linked) if necessary, and compiled or interpreted (e.g., into a library, stand-alone executable etc.) at a local machine, and executed by the local machine.

Additional Notes & Examples

Example 1 is a device for base station assisted information centric network (ICN), the device comprising: a memory including instructions; and processing circuitry that, when in operation, is configured by the instructions to: receive, at a mobile network base station, an ICN packet from a user equipment (UE); identify an aggregate packet data unit (PDU) session with a user plane function (UPF) ICN gateway (ICN-GW) hosted in a mobile network core network (CN) for the ICN packet; and transmit the ICN packet via the aggregate PDU session.

In Example 2, the subject matter of Example 1 includes, wherein the instructions further configure the processing circuitry to: establish the aggregate PDU session in response to receiving the ICN packet, wherein the aggregate PDU session is not established when the ICN packet is received.

In Example 3, the subject matter of Examples 1-2 includes, wherein the instructions further configure the processing circuitry to: receive notification of a handover of the UE to the mobile network base station, the notification indicating the aggregate PDU session; and establish the aggregate PDU session in response to the notification indicating the aggregate PDU session.

In Example 4, the subject matter of Examples 1-3 includes, wherein the mobile network base station includes a pending interest table (PIT), wherein the ICN packet is an interest packet with a name identifying content, and wherein the interest packet is placed in the PIT.

In Example 5, the subject matter of Example 4 includes, wherein a second interest packet is received after the interest packet, the second interest packet having the name to identify the content; and wherein the second interest packet is dropped in response to the interest packet being in the PIT.

In Example 6, the subject matter of Examples 4-5 includes, wherein the instructions further configure the processing circuitry to: receive a second interest packet, the second interest packet having the name to identify the content; determine that the PIT includes the interest packet with the name identifying the content; and drop the second interest in response to the determination.

In Example 7, the subject matter of Examples 1-6 includes, wherein the aggregate PDU session includes multiple flows, each of the multiple flows corresponding to a quality-of-service (QoS) level.

In Example 8, the subject matter of Example 7 includes, wherein the ICN packet includes a QoS level, and wherein, to transmit the ICN packet via the aggregate PDU session, the processing circuitry selects a flow with a corresponding QoS level.

In Example 9, the subject matter of Examples 1-8 includes, wherein the mobile network base station includes a cache with entries that each include a name and corresponding content.

In Example 10, the subject matter of Example 9 includes, wherein the instructions further configure the processing circuitry to: receive a second ICN packet from the UE, the second ICN packet being an interest packet with a name for content; match the name for content with an entry in the cache; retrieve content in the entry based on matching the name; and respond to the interest packet with a data packet that includes the content, wherein the processing circuitry does not transmit the interest packet via the aggregate PDU session in response to responding to the interest packet with content from the cache.

In Example 11, the subject matter of Examples 1-10 includes, wherein the aggregate PDU session is one of multiple aggregate PDU sessions established by the mobile network base station, each of the multiple aggregate PDU sessions established with a different ICN-GW within the CN.

In Example 12, the subject matter of Example 11 includes, wherein the ICN packet is an interest packet, and wherein, to identify the aggregate PDU session for the ICN packet the processing circuitry: uses a name contained in the ICN packet to locate an entry in a forwarding information base (FIB) of the mobile network base station; and identifies the aggregate PDU session from the entry in the FIB.

In Example 13, the subject matter of Examples 1-12 includes, wherein the mobile network base station is a gNB in accordance with a Third-Generation Partnership Project (3GPP) family of standards.

In Example 14, the subject matter of Example 13 includes, wherein the aggregate PDU session is established over an N3 GTP-U tunnel in accordance with the 3GPP family of standards.

Example 15 is a method for base station assisted information centric network (ICN), the method comprising: receiving, at a mobile network base station, an ICN packet from a user equipment (UE); identifying an aggregate packet data unit (PDU) session with a user plane function (UPF) ICN gateway (ICN-GW) hosted in a mobile network core network (CN) for the ICN packet; and transmitting the ICN packet via the aggregate PDU session.

In Example 16, the subject matter of Example 15 includes, establishing the aggregate PDU session in response to receiving the ICN packet, wherein the aggregate PDU session is not established when the ICN packet is received.

In Example 17, the subject matter of Examples 15-16 includes, receiving notification of a handover of the UE to the mobile network base station, the notification indicating the aggregate PDU session; and establishing the aggregate PDU session in response to the notification indicating the aggregate PDU session.

In Example 18, the subject matter of Examples 15-17 includes, wherein the mobile network base station includes a pending interest table (PIT), wherein the ICN packet is an interest packet with a name identifying content, and wherein the interest packet is placed in the PIT.

In Example 19, the subject matter of Example 18 includes, wherein a second interest packet is received after the interest packet, the second interest packet having the name to identify the content; and wherein the second interest packet is dropped in response to the interest packet being in the PIT.

In Example 20, the subject matter of Examples 18-19 includes, receiving a second interest packet, the second interest packet having the name to identify the content; determining that the PIT includes the interest packet with the name identifying the content; and dropping the second interest in response to the determination.

In Example 21, the subject matter of Examples 15-20 includes, wherein the aggregate PDU session includes multiple flows, each of the multiple flows corresponding to a quality-of-service (QoS) level.

In Example 22, the subject matter of Example 21 includes, wherein the ICN packet includes a QoS level, and wherein transmitting the ICN packet via the aggregate PDU session includes selecting a flow with a corresponding QoS level.

In Example 23, the subject matter of Examples 15-22 includes, wherein the mobile network base station includes a cache with entries that each include a name and corresponding content.

In Example 24, the subject matter of Example 23 includes, receiving a second ICN packet from the UE, the second ICN packet being an interest packet with a name for content; matching the name for content with an entry in the cache; retrieving content in the entry based on matching the name; and responding to the interest packet with a data packet that includes the content, wherein the mobile network base station does not transmit the interest packet via the aggregate PDU session in response to responding to the interest packet with content from the cache.

In Example 25, the subject matter of Examples 15-24 includes, wherein the aggregate PDU session is one of multiple aggregate PDU sessions established by the mobile network base station, each of the multiple aggregate PDU sessions established with a different ICN-GW within the CN.

In Example 26, the subject matter of Example 25 includes, wherein the ICN packet is an interest packet, and wherein identifying the aggregate PDU session for the ICN packet includes: using a name contained in the ICN packet to locate an entry in a forwarding information base (FIB) of the mobile network base station; and identifying the aggregate PDU session from the entry in the FIB.

In Example 27, the subject matter of Examples 15-26 includes, wherein the mobile network base station is a gNB in accordance with a Third-Generation Partnership Project (3GPP) family of standards.

In Example 28, the subject matter of Example 27 includes, wherein the aggregate PDU session is established over an N3 GTP-U tunnel in accordance with the 3GPP family of standards.

Example 29 is at least one machine readable medium including instructions for base station assisted information centric network (ICN), the instructions, when executed by processing circuitry, cause the processing circuitry to perform operations comprising: receiving, at a mobile network base station, an ICN packet from a user equipment (UE); identifying an aggregate packet data unit (PDU) session with a user plane function (UPF) ICN gateway (ICN-GW) hosted in a mobile network core network (CN) for the ICN packet; and transmitting the ICN packet via the aggregate PDU session.

In Example 30, the subject matter of Example 29 includes, wherein the operations comprise: establishing the aggregate PDU session in response to receiving the ICN packet, wherein the aggregate PDU session is not established when the ICN packet is received.

In Example 31, the subject matter of Examples 29-30 includes, wherein the operations comprise: receiving notification of a handover of the UE to the mobile network base station, the notification indicating the aggregate PDU session; and establishing the aggregate PDU session in response to the notification indicating the aggregate PDU session.

In Example 32, the subject matter of Examples 29-31 includes, wherein the mobile network base station includes a pending interest table (PIT), wherein the ICN packet is an interest packet with a name identifying content, and wherein the interest packet is placed in the PIT.

In Example 33, the subject matter of Example 32 includes, wherein a second interest packet is received after the interest packet, the second interest packet having the name to identify the content; and wherein the second interest packet is dropped in response to the interest packet being in the PIT.

In Example 34, the subject matter of Examples 32-33 includes, wherein the operations comprise: receiving a second interest packet, the second interest packet having the name to identify the content; determining that the PIT includes the interest packet with the name identifying the content; and dropping the second interest in response to the determination.

In Example 35, the subject matter of Examples 29-34 includes, wherein the aggregate PDU session includes multiple flows, each of the multiple flows corresponding to a quality-of-service (QoS) level.

In Example 36, the subject matter of Example 35 includes, wherein the ICN packet includes a QoS level, and wherein transmitting the ICN packet via the aggregate PDU session includes selecting a flow with a corresponding QoS level.

In Example 37, the subject matter of Examples 29-36 includes, wherein the mobile network base station includes a cache with entries that each include a name and corresponding content.

In Example 38, the subject matter of Example 37 includes, wherein the operations comprise: receiving a second ICN packet from the UE, the second ICN packet being an interest packet with a name for content; matching the name for content with an entry in the cache; retrieving content in the entry based on matching the name; and responding to the interest packet with a data packet that includes the content, wherein the mobile network base station does not transmit the interest packet via the aggregate PDU session in response to responding to the interest packet with content from the cache.

In Example 39, the subject matter of Examples 29-38 includes, wherein the aggregate PDU session is one of multiple aggregate PDU sessions established by the mobile network base station, each of the multiple aggregate PDU sessions established with a different ICN-GW within the CN.

In Example 40, the subject matter of Example 39 includes, wherein the ICN packet is an interest packet, and wherein identifying the aggregate PDU session for the ICN packet includes: using a name contained in the ICN packet to locate an entry in a forwarding information base (FIB) of the mobile network base station; and identifying the aggregate PDU session from the entry in the FIB.

In Example 41, the subject matter of Examples 29-40 includes, wherein the mobile network base station is a gNB in accordance with a Third-Generation Partnership Project (3GPP) family of standards.

In Example 42, the subject matter of Example 41 includes, wherein the aggregate PDU session is established over an N3 GTP-U tunnel in accordance with the 3GPP family of standards.

Example 43 is a system for base station assisted information centric network (ICN), the system comprising: means for receiving, at a mobile network base station, an ICN packet from a user equipment (UE); means for identifying an aggregate packet data unit (PDU) session with a user plane function (UPF) ICN gateway (ICN-GW) hosted in a mobile network core network (CN) for the ICN packet; and means for transmitting the ICN packet via the aggregate PDU session.

In Example 44, the subject matter of Example 43 includes, means for establishing the aggregate PDU session in response to receiving the ICN packet, wherein the aggregate PDU session is not established when the ICN packet is received.

In Example 45, the subject matter of Examples 43-44 includes, means for receiving notification of a handover of the UE to the mobile network base station, the notification indicating the aggregate PDU session; and means for establishing the aggregate PDU session in response to the notification indicating the aggregate PDU session.

In Example 46, the subject matter of Examples 43-45 includes, wherein the mobile network base station includes a pending interest table (PIT), wherein the ICN packet is an interest packet with a name identifying content, and wherein the interest packet is placed in the PIT.

In Example 47, the subject matter of Example 46 includes, wherein a second interest packet is received after the interest packet, the second interest packet having the name to identify the content; and wherein the second interest packet is dropped in response to the interest packet being in the PIT.

In Example 48, the subject matter of Examples 46-47 includes, means for receiving a second interest packet, the second interest packet having the name to identify the content; means for determining that the PIT includes the interest packet with the name identifying the content; and means for dropping the second interest in response to the determination.

In Example 49, the subject matter of Examples 43-48 includes, wherein the aggregate PDU session includes multiple flows, each of the multiple flows corresponding to a quality-of-service (QoS) level.

In Example 50, the subject matter of Example 49 includes, wherein the ICN packet includes a QoS level, and wherein the means for transmitting the ICN packet via the aggregate PDU session include means for selecting a flow with a corresponding QoS level.

In Example 51, the subject matter of Examples 43-50 includes, wherein the mobile network base station includes a cache with entries that each include a name and corresponding content.

In Example 52, the subject matter of Example 51 includes, means for receiving a second ICN packet from the UE, the second ICN packet being an interest packet with a name for content; means for matching the name for content with an entry in the cache; means for retrieving content in the entry based on matching the name; and means for responding to the interest packet with a data packet that includes the content, wherein the mobile network base station does not transmit the interest packet via the aggregate PDU session in response to responding to the interest packet with content from the cache.

In Example 53, the subject matter of Examples 43-52 includes, wherein the aggregate PDU session is one of multiple aggregate PDU sessions established by the mobile network base station, each of the multiple aggregate PDU sessions established with a different ICN-GW within the CN.

In Example 54, the subject matter of Example 53 includes, wherein the ICN packet is an interest packet, and wherein the means for identifying the aggregate PDU session for the ICN packet include: means for using a name contained in the ICN packet to locate an entry in a forwarding information base (FIB) of the mobile network base station; and means for identifying the aggregate PDU session from the entry in the FIB.

In Example 55, the subject matter of Examples 43-54 includes, wherein the mobile network base station is a gNB in accordance with a Third-Generation Partnership Project (3GPP) family of standards.

In Example 56, the subject matter of Example 55 includes, wherein the aggregate PDU session is established over an N3 GTP-U tunnel in accordance with the 3GPP family of standards.

Example 57 is at least one machine-readable medium including instructions that, when executed by processing circuitry, cause the processing circuitry to perform operations to implement of any of Examples 1-56.

Example 58 is an apparatus comprising means to implement of any of Examples 1-56.

Example 59 is a system to implement of any of Examples 1-56.

Example 60 is a method to implement of any of Examples 1-56.