US20130246638A1 - Content Pre-Fetching And CDN Assist Methods In A Wireless Mobile Network - Google Patents

Content Pre-Fetching And CDN Assist Methods In A Wireless Mobile Network Download PDF

Info

Publication number
US20130246638A1
US20130246638A1 US13/889,688 US201313889688A US2013246638A1 US 20130246638 A1 US20130246638 A1 US 20130246638A1 US 201313889688 A US201313889688 A US 201313889688A US 2013246638 A1 US2013246638 A1 US 2013246638A1
Authority
US
United States
Prior art keywords
ran
cache
content
cdn
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/889,688
Inventor
Surya Kumar Kovvali
Charles Boyle
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Movik Networks
Original Assignee
Movik Networks
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Movik Networks filed Critical Movik Networks
Priority to US13/889,688 priority Critical patent/US20130246638A1/en
Publication of US20130246638A1 publication Critical patent/US20130246638A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • H04L29/0881
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • H04W88/182Network node acting on behalf of an other network entity, e.g. proxy

Definitions

  • Content caching devices or web-caches that cache frequently viewed web pages, pictures and multi-media content are deployed in the internet for reducing transport latencies, and reducing download times for frequently accessed content across the internet.
  • web-proxies/caches are also deployed at enterprise sites to cache frequently used Internet web-content within the enterprise network.
  • Caching devices 10 can also be used in mobile wireless network, for example, a 3G/UMTS network 20 .
  • the wireless network includes a Radio Access Network (RAN) 21 and a Core Network (CN) 22 .
  • RAN Radio Access Network
  • CN Core Network
  • a typical wireless network is shown in FIG. 1 .
  • the GGSN 3 (Gateway GPRS Service Node) connects the mobile wireless network to the IP Core Network.
  • the Gateway GPRS Support Node (GGSN) 3 is a main component of the GPRS (General Packet Radio Service) network.
  • the GGSN 3 is responsible for compatibility between the GPRS network and external packet switched networks, such as the Internet 1 and X.25 networks.
  • the GGSN 3 When viewed from an external network, the GGSN 3 appears as a router to a sub-network, because the GGSN 3 hides the GPRS infrastructure from the external network.
  • the GGSN 3 receives data addressed to a specific user, it checks if the user is active. If it is, the GGSN 3 forwards the data to the SGSN 4 serving the mobile user. However if the mobile user is inactive, the data are discarded, or a paging procedure is initiated to locate and notify the mobile device. For data originated within the GPRS network, the GGSN 3 routes these mobile-originated packets to the correct external network.
  • the GGSN 3 converts the GPRS packets coming from the SGSN 4 into the appropriate packet data protocol (PDP) format (e.g., IP or X.25) and sends them out on the corresponding packet data network. For incoming packets, the PDP addresses are converted to the GSM address of the destination user. The readdressed packets are then sent to the responsible SGSN 4 . In order to accomplish this function, the GGSN 3 stores the current SGSN address of the user and its associated profile in its location register. The GGSN 3 is responsible for IP address assignment and is the default router for the connected user equipment (UE) 7 . The GGSN 3 also performs authentication functions.
  • PDP packet data protocol
  • a Serving GPRS Support Node (SGSN) 4 is responsible for the delivery of data packets from and to the mobile stations within its geographical service area. Its tasks include packet routing and transfer, mobility management (attach/detach and location management), logical link management, and authentication and charging functions.
  • the location register of the SGSN 4 stores location information and user profiles of all GPRS users registered with this SGSN 4 .
  • the Radio Network Controller (or RNC) 5 is a governing element in the radio access network and is responsible for controlling the Node Bs 6 that are connected to it.
  • the RNC 5 carries out radio resource management, some of the mobility management functions and is the point where encryption is done before user data is sent to and from the mobile.
  • the RNC 5 connects to the SGSN (Serving GPRS Support Node) 4 in the Packet Switched Core Network.
  • SGSN Serving GPRS Support Node
  • Node B 6 is a term used to denote the base transceiver station (BTS) in the UMTS/3GPP Architecture. As in all cellular systems, such as GSM, Node B (or BTS) 6 contains radio frequency transmitter(s) and the receiver(s) used to communicate directly with the user equipment, which move freely around it.
  • BTS base transceiver station
  • the user equipment (UE) 7 comprises all user equipment, including handsets, smart phones and computing equipment.
  • Radio Access Networks such as in GSM/GPRS, 3G/UMTS/HSDPA/HSUPA, LTE, CDMA network etc., have their own private networks (PLMN) and interconnect to the Internet/IP networks through gateway devices (GGSN in GSM/GPRS, 3G/UMTS/HSDPA/HSUPA, and PDSN in CDMA).
  • GGSN gateway devices
  • GGSN Gateway Device
  • CDMA Code Division Multiple Access Networks
  • Content caches 10 are typically deployed outside of the RAN as shown in FIG. 1 . However, content caches 10 are not deployed in the RAN between the Wireless Base Station 6 and GGSN 3 or PDSN (in a CDMA Network).
  • the RAN network 20 is deployed as a transport network that transports user IP traffic (Bearer IP traffic) using either ATM or IP transports. Regardless of the type of transport, the RAN network transports the user payloads in per user/per service tunnels. Such tunnels are terminated within the PDSN or GGSN 3 , which forwards the bearer IP traffic to the public IP network using IP forwarding rules. Thus in the prior art deployments, the RAN network is content un-aware.
  • Content caching devices cache content when a client device accesses an object (such as a web page or a URL object), for subsequent delivery if the same content is requested by the same or a different user.
  • object such as a web page or a URL object
  • cache updates are triggered by client accesses.
  • Web crawlers and other mechanisms proactively fetch content to increase cache hit ratios and other features, such as content searching functions, etc.
  • Content Delivery Network devices proactively retrieve content from specific content servers through the internet before such content is requested by any user. Such pre-fetching reduces the latency while delivering content when requested by one or more users, and assists in delivering dynamic content for Edge Side Includes (ESI) by CDNs.
  • ESE Edge Side Includes
  • content servers (origin servers) redirect user requests to appropriate CDN devices through interaction with the CDN Network using DNS. While such mechanisms exist in the internet and wire-line networks, in wireless mobile networks, connections to internet data-plane sessions are established only when a user accesses the packet network (internet or private network
  • a RAN-cache may be placed in a Radio Access Network, such as UMTS or LTE, where it is used to cache frequently accessed content by one or more users in local storage and serves the cached content to plurality of users per HTTP Protocols.
  • the RAN-cache device operates as a transparent inline cache, in the sense that it intercepts the Control Plane and User Plane Protocols on the interfaces to which it is connected. It then reconstructs the objects and their corresponding references.
  • the current invention defines methods by which a RAN-Cache can pre-fetch locally determined content, and provides methods for a CDN device to pre-fetch content via a RAN-Cache device that interacts with UTMS/LTE network elements, such as a SGSN, a GGSN, a SGW, or a PDN GW.
  • the RAN-Cache emulates a virtual user for pre-fetching content using a local control logic function, and/or due to external request by a locally connected CDN device.
  • Pre-fetching requires the virtual user to be provisioned by the operator for network access and charging.
  • the RAN-Cache provides a mechanism for the mobile network operator to configure the attributes of the mobile user that include IMSI (International Mobile Subscriber Identity), ISDN Number etc. for the Virtual user.
  • IMSI International Mobile Subscriber Identity
  • the RAN-C then uses the attributes of the virtual user while initiating sessions for that virtual user.
  • the mobile operator provisions the attributes of the virtual user, the corresponding service plan etc. in the service plane (for example HSS, RADIUS server etc.), so that when the session is initiated by RAN-cache for the virtual user, the operator's mobile core network accepts the session establishment. In this mode, it registers the virtual user with the mobile network.
  • the RAN-Cache may schedule pre-fetch requests by using the identity of one of the active user sessions. While selecting user sessions, it uses the sessions of those users that are being serviced from local cache.
  • the rationale is that the operator's billing and charging system uses down-stream and upstream byte counts as monitored by Core Network (SGSN, GGSN, S-GW, PDN-GW).
  • Core Network SGSN, GGSN, S-GW, PDN-GW.
  • the RAN-cache services user requests from local cache, this content is not fetched through the CN for that specific user session since the content served from local cache is transparent to the Core Network.
  • the user is effectively given content “free of charging and billing”, due to the caching of the content.
  • the RAN Cache may then utilize this user session context for pre-fetching content, since this minimizes charging and billing impacts to mobile users in the operator network.
  • Another aspect of the current invention allows the RAN-Cache to provide network connectivity from a locally connected CDN device to the rest of the CDN Network through the operator's mobile network and internet.
  • Such interconnectivity may be provided by emulating a UE (Virtual User) through the Operator's Core Network through a SGSN/GGSN, or a S-GW/PDN-GW, or through a local offload interface.
  • Another aspect of the current invention is to pre-fetch the content from a local IP offload-interface, if such an interface is available.
  • IP offload connects to a local Internet Service Provider's network, or to the operator's IP network. In other words, it does not go through the mobile core network (SGSN/GGSN) and billing charging system.
  • the IP-Offload network does not use RAN tunneling protocols, such as GTP-U, for forwarding packets through SGSN/GGSN.
  • GTP-U Network Address Translation
  • the RAN-Cache uses NAT (Network Address Translation) to map pre-fetch requests corresponding to a user to a configured public IP Address and configured pool of TCP port numbers.
  • NAT for pre-fetching content on behalf of user to circumvent the need for requiring a user plane tunnel for performing pre-fetch operation through the operator core network.
  • the RAN Cache may use locally configured public IP addresses, and pre-fetch without the context of any user through the IP offload network.
  • This scenario is particularly applicable to on-deck content, which is content that an operator provides from his content network.
  • the present invention describes a method where the RAN Cache implementing these methods receives requests from RAN interfaces, and the user IP requests are embedded within the corresponding protocols of that interface.
  • the RAN Cache device un-wraps the protocol layers, identifies what objects need to be pre-fetched and when the pre-fetching should occur.
  • FIG. 1 illustrates a wireless network
  • FIG. 2 shows a representative configuration according to one embodiment
  • FIG. 3 shows a content pre-fetch for a CDN using a RAN cache according to one embodiment
  • FIG. 4 shows a content pre-fetch for a CDN using a RAN cache according to another embodiment
  • FIG. 5 shows a datapath for CDN content using the IP Traffic Offload interface
  • FIG. 6 is a representative block diagram of a RAN cache
  • FIG. 7 shows a representation configuration using traffic offload according to one embodiment.
  • FIG. 6 shows a representative block diagram of the RANC.
  • the RANC 300 has two interface modules 301 , each of which is adapted to implement the hardware signaling required for the choice interface and the associated software protocol. This interface protocol may be IuB, IuPS or Gn, as shown in FIGS. 3-5 .
  • Each interface module 301 is adapted to receive and transmit on the selected interface. Additionally, received data is placed into a storage element 302 , typically a semiconductor storage element such as a RAM, DRAM or an equivalent technology.
  • the movement of data from the interface module to the memory 302 and vice versa may be accomplished using dedicated hardware, such as a DMA controller. Alternatively, a dedicated data movement processor may be used to handle the actual movement of data through the RANC 8 .
  • the control logic/processing unit 303 may have its own local storage element 304 , which contains instructions to execute and local status. This storage element may be RAM or DRAM. In addition, at least a portion of this storage element 304 may be non-volatile, such as ROM, FLASH ROM, hard disk, Solid State Disk, or the like. Using known specifications and protocols, the control logic/processing unit 303 parses the received information to understand the packet at each protocol layer. Also included may be a large storage element 305 , adapted to hold cached information.
  • this cache storage may be semiconductor memory, such as RAM or DRAM. In other embodiments, this cache storage may be a rotating media, such as a disk drive or other large storage device.
  • the control logic/processing unit may be physically implemented in a variety of technologies. For example, it may be a general-purpose processor, executing a set of instructions from an internal or external storage device.
  • control logic and “processing unit” are used interchangeably to designate an entity adapted to perform the set of functions described.
  • the RANC 8 also contains software capable of performing the functions described herein.
  • the software may be written in any suitable programming language and the choice is not limited by this disclosure.
  • all applications and software described herein are computer executable instructions that are contained on a computer-readable media.
  • the software and applications may be stored in a read only memory, a rewritable memory, or within an embedded processing unit.
  • the particular computer on which this software executes is application dependent and not limited by the present invention.
  • the Figures show the RAN-C as a separate device, it may also become part of an existing component.
  • it may be embedded in an existing component, such as the RNC or SGSN and provide the functionality described above.
  • FIG. 2 shows a first configuration of the present invention.
  • the RAN-Cache 300 is a content aware inline device that monitors user sessions, populates data cache, caches local content, and serves the cached content on subsequent user sessions per the corresponding protocol rules such as HTTP 1.0/1.1 (RFC 2616) rules, as described in Co-pending Patent Publication No. 2010/0034089.
  • protocol rules such as HTTP 1.0/1.1 (RFC 2616) rules, as described in Co-pending Patent Publication No. 2010/0034089.
  • the RAN cache 300 may also be positioned within the RAN 21 , such as between the NodeB and the RNC, between the RNC and the SGSN or between the SGSN and the GGSN. Similarly, in a LTE network, the RAN cache may be between the eNodeB and the MME/Serving GW.
  • the control logic 303 consists of a variety of functions.
  • the pre-fetch 350 , 351 and UE Emulation/transit UE session modules 352 are logical software components that incorporate one or more of the inventive methods identified in the present application.
  • one function of the RAN cache is to determine what content to prefetch, as well as other parameters, such as the format of the objects, the time that the pre-fetch should occur, as well as other parameters.
  • the pre-fetch decision logic 350 makes decisions based on local configuration policy, frequency of a site's access, peak traffic/busy hour from previous history, the relationship with content publishers, types of objects and other parameters. Additional or different parameters may also be used to decide the content that should be pre-fetched.
  • the UE emulation or transit UE session module 352 is used to establish a connection with the mobile network.
  • the RAN Cache 300 can create this connection. In a first mode, it emulates a user by creating a virtual user. In a second mode, the RAN cache uses the user session context of another actual UE. These modes are described in more detail below.
  • the RAN-Cache 300 To emulate a UE (also termed Virtual UE throughout this specification), the RAN-Cache 300 , using the UE emulation module 352 , emulates a signaling client in the control plane and initiates and terminates the signaling connection for the virtual UE.
  • the service plane information for the virtual UE such as but not limited to rate plan, IMSI, ISDN Number, need to be configured in the RAN Cache 300 , and in the operator network. This is so that when the virtual user (i.e. the RAN Cache 300 ) initiates a user plane session, the session setup is accepted by the operator's Core Network 21 .
  • the user plane session created for the Virtual UE could be used for pre-fetching any content.
  • the user plane session traverses through the CN and the charging and billing will be done for the operator provisioned virtual UE.
  • the RAN Cache 300 adopts the identity and session context of an existing UE 7 that is being served from local cache. This approach causes the RAN Cache 300 to send a data request in the context of user sessions for data objects which the users did not specifically request, which may increases their total charges if their data plan is based on the amount of content delivered.
  • the rationale for doing this is that when a UE 7 is served from RAN-Cache 300 , the bytes sent over RAN 21 to the UE 7 from RAN-Cache 300 are not counted by the Operator's Core Network 22 (and Charging and Billing System).
  • the pre-fetched bytes are simply a replacement for the actual content that was served, but not counted by the CN 22 . In this way, it is believed that the user's actual requested byte count will closely match the byte count for which he was charged. In other billing systems, total byte count is unlimited, and therefore there is no charge or inconvenience to the user because the RAN cache 300 uses this user session.
  • the RAN-Cache 300 When using other UE's session context, the RAN-Cache 300 maintains a list in its storage element of UEs 7 that are currently being served from the RAN-cache 300 , and the downloaded byte counts delivered from RAN-cache 300 for each UE 7 . This number represents the number of bytes which were delivered to each UE 7 without the knowledge of the Operator's Core Network 22 (and Charging and Billing System). In one embodiment, the RAN cache 300 selects active UE sessions that have the highest bytes delivered from cache. In some embodiments, the RAN cache 300 then decrements this byte count by the number of bytes delivered during the pre-fetch operation. In some embodiments, the goal is to maintain each of these counters as close to zero as possible, such that unrequested pre-fetches roughly equal delivered cache content, thereby resulting an a relatively accurate byte count for each UE 7 .
  • the RAN Cache 300 accesses the UE service plan, and determines whether any of the UEs 7 have an unlimited data plan. This can be achieved through interaction with the service plane. This information comes via the HLR, through RADIUS, through PCRF or through Subscription Profile Repository (SPR). These methods are known to those skilled in the art. In this case, the RAN cache 300 can use the user session of these UEs without incurring any additional costs for those users.
  • the RAN Cache 300 uses UE's sessions that have active PDP contexts. It does not initiate user plane sessions for pre-fetching content. Therefore, it may be necessary for the RAN Cache 300 to extend user sessions. For example, while the RAN Cache 300 is using a UE's session context through the core network (CN) 22 for pre-fetch, the actual UE 7 may finish its own ongoing transfers, such as the download of an object from RAN cache 300 may be completed. After the UE 7 receives its requested data, the UE 7 may initiate releasing the data session. In this case, since the RAN Cache 300 is still using that user session, the RAN Cache 300 defers releasing the signaling connection through control plane, until its pre-fetch operation is completed.
  • CN core network
  • the RAN Cache 300 may use additional considerations, such as whether the device is connected to power source, the remaining battery power in the UE, the device type of the UE or other characteristics. Remaining battery power is important, since in one embodiment, the UE must remain in the active state in order to complete the pre-fetch operations. In another embodiment, the UE power consumption is not increased while using that UE session context for pre-fetching. This is achieved by allowing the UE to initiate a session termination and having the RAB release the connection to the UE. However, the RAN Cache 300 defers the session termination and RAB release on the core side until the prefetch operation is complete.
  • the RAN Cache 300 may interpret control plane protocols to determine the type of device or other parameters.
  • the UE 7 may have active traffic flows through the same user-plane session (for example, another UE's GTP-U session when the RAN-Cache is placed on IuPS interface).
  • the RAN Cache 300 when responses are received from CN 22 interface, the RAN Cache 300 must identify the responses that should be forwarded to the UE 7 over the RAN 21 , and the responses that should be forwarded to the local CDN or to be consumed locally for locally initiated pre-fetch requests.
  • the methods for using an existing UE 7 user session described above detail embodiments in which the UE session is active, and the RAN Cache 300 uses that user session simultaneously.
  • the RAN Cache 300 may locally store the attributes of the UE's that have large contents delivered from local data cache. Then, at a later time, the RAN Cache 300 may initiate a user plane session setup by using the locally stored UE information.
  • This method has the advantage that the RAN cache 300 could perform pre-fetch when the network usage is low (for example non busy hours), and when the specific UE 7 is not using the Operator's Core Network 22 resources. Thus pre-fetch use does not degrade the corresponding UE's QOE.
  • UEs can be selected based on number of previously served bytes from the RAN Cache 300 , or based on the UE data plan, such that user sessions are setup for UEs 7 having unlimited data plans. Additionally, the selection may be based the remaining battery power, whether it is connected to a power source, and type of UE (for example, laptop dongle, feature phone or other device.
  • FIG. 7 shows an embodiment where a Traffic Offload interface is available to the RAN cache 300 .
  • the RAN cache 300 determines what content to pre-fetch, and when to perform these pre-fetches, as described with reference to FIG. 2 .
  • a traffic offload interface 380 is available to the RAN Cache 300 .
  • the RAN cache 300 acts as a UE, using either virtual UE mode or transit UE mode. However, rather than routing the request through the core network 22 , the request is routed through the traffic offload interface.
  • the RAN Cache makes decisions by parsing the top-page requested by a user device from a website, such as www.yahoo.com.
  • the server returns the page as a html/xml object.
  • this object contains embedded links that point to other objects at the same site or other sites. For example, links to other yahoo pages or advertisement objects that may point to other sites may be contained in the returned object.
  • the client starts receiving the response bytes, it may start issuing additional requests for content contained in the html page.
  • the RAN-C while delivering the response bytes, parses the html response object and determines which of the embedded links should be prefetched. This determination could be based on specific target sites, such as ad-delivery sites, or type of embedded link (PHP), or prior history based on how long a similar type of request previously took.
  • PGP type of embedded link
  • the RAN Cache 300 may determine the path through which the content should be routed. For example, a pre-fetch request may be routed through the Mobile core-network or, an offload interface, or a locally connected CDN.
  • Locally connected CDN device vendors have relationships with certain content publishers only, and are interested in serving only their content. These relationships are configured in RAN-Cache, indicating to the RAN Cache that such requests should be forwarded to the local CDN device.
  • the RAN-Cache device may use a private-protocol to exchange such information. The methods used for these exchanges with the CDN device are outside the scope of the present invention.
  • certain web-sites may have local content/scope.
  • the Ran Cache may have this information based on local configuration and/or the operator relationship with the corresponding content publishers.
  • the operator network or ISP Internet service provider
  • the operator may have specific content optimization devices, for example, HD Video content for NetFlix on the local offload network.
  • FIGS. 2 and 7 describe embodiments where the decision of what content to pre-fetch, and the storage of the pre-fetched data are all performed within the RAN cache 300 . However, there are other embodiments, as described below.
  • FIG. 3 shows an external CDN device 370 that is connected to the RAN Cache 300 .
  • the RAN Cache 300 and the local CDN device 370 exchange pre-fetch information, and the RAN cache 300 performs pre-fetch by one of the pre-fetch mechanisms (either virtual UE or transit UE).
  • the actual pre-fetch operation parameters may be determined by the RAN Cache 300 or by both RAN cache 300 and the local CDN device 370 . Once these parameters are determined, the RAN Cache 300 pre-fetches the data using either of the modes described above.
  • the pre-fetched content is delivered to the RAN Cache 300 , it is routed to the CDN device 370 .
  • RAN-Cache is providing a data-path using the Virtual-UE or transit-UE to do the pre-fetch operation, and the actual storage of pre-fetched objects and subsequent delivery to one more user requests are performed by the locally connected CDN.
  • Dotted line 371 shows the pre-fetch datapath in this embodiment.
  • FIG. 4 shows the RAN cache 300 providing datapath connectivity for the local CDN device 370 to other CDN devices 375 , 376 through the Wireless operator's Core Network 22 (SGSN, GGSN, S-GW, PDN-GW etc.) using the virtual UE component in the RAN cache 300 .
  • This example may also be performed using transit UE mode.
  • the RAN cache 300 is deployed in operator's RAN network, and internet connectivity through a local offload interface is not available.
  • a local connected CDN 370 needs to connect to other CDNs 375 , 376 . Any data accesses through Operator's Core Network 22 require the establishment of a UE session.
  • the RAN Cache 300 emulates a virtual UE to establish a data session.
  • Dotted line 372 shows the datapath between the CDN device 370 and the remote CDN device 376 .
  • the local CDN uses a Public-IP address to communicate with other co-operative CDNs (for example, other CDNs that belong to the same CDN vendor).
  • the CDN devices discover and communicate among themselves using public IP addresses.
  • the operator mobile network may use private IP addresses, and use the network address translation (NAT) function when the traffic sent/received through the internet.
  • NAT network address translation
  • the RAN-Cache emulates a transit UE with a operator configured static IP address, and uses well known NAT methods to carry the traffic through the operator network.
  • the device performing the NAT function between GGSN and Internet is configured to remap the NAT addresses delivered by RAN-C to the public IP address that the local CDN is configured to use.
  • the RAN-C may use IP-in-IP by adding a locally operator-configured private IP address as an IP envelope to carry the CDN's public IP address.
  • the device for example, a router, in the operator mobile core network that routes the mobile traffic to the internet may be configured to remove the IP in IP encapsulation for the specific IP address and forward it using the local CDN's public IP address. Similarly, it may be configured to forward any traffic designated to local-CDN IP address by first encapsulating using IP in IP.
  • FIG. 5 shows a configuration similar to FIG. 4 , however a traffic offload interface 380 is available for offloading portions of traffic through the offload interface 380 rather than going through the operator's core network 22 .
  • the RAN Cache 300 uses the offload interface 380 to service the pre-fetch requests from the local CDN device 370 and also to provide CDN connectivity.
  • This scenario is similar to the previous example, shown in FIG. 4 , with the major difference being that it uses the offload interface to provide data path between CDN devices, rather than the mobile core network (CN). Since the traffic from the local CDN is not passing through the core network, the RAN-C does not need to perform IP-to-IP encapsulation and de-encapsulation functions, which is required when such traffic traverses the core network. It is important to note that RAN-C exchanges two types of traffic from the local CDN. The first is traffic that CDN intends to send to UEs through the RAN. The second type is traffic that the CDN communicates with other CDNs through the public internet. The RAN-Cache identifies and distinguishes these two type of datapaths using prior art IP methods, such as IP SRC, IP Destination, Source and Destination Port numbers and other methods.
  • the origin servers When objects are pre-fetched and delivered from cache, or stored by a regular caching operation and delivered from cache, the origin servers lose “per user” statistics, summarization and click counts. To replace this information, the RAN Cache may maintain these counts. For example, the RAN Cache may count the number of iPhone users that downloaded a specific object. The RAN Cache may then provide this information to the origin servers. To protect the privacy of the users, the RAN Cache may anonymize (make anonymous) the user information such as IMSI, IMEI etc. This is done using prior-art methods, such as HTTP Post methods to co-operative sites. For example, the RAN Cache may remove the IMEI or IMSI and replace it with a random number to protect the user's privacy.

Abstract

The current invention is applicable to a RAN-cache or proxy operating in a wireless mobile network that is functioning as a transparent inline device intercepting wireless mobile protocols such as UMTS, LTE, WIMAX, CDMA etc.), or a traffic off-load device connected to multiple interfaces towards the Core/Internet. The current invention identifies methods for pre-fetching content by emulating portions of a mobile client for gaining connectivity through the mobile-core network, or to use session contexts of other mobile clients in a way not to significantly effect charging and billing for the preloaded content. The pre-load decision of what to pre-load and when to pre-load may be locally derived within the RAN-cache/Proxy device, or in-coordination with a locally connected CDN (Content Delivery Network) device. Other embodiments of the current invention include the RAN-cache/Proxy providing interconnectivity from the locally connected CDN device to other CDN devices through the Mobile Core Network (SGSN/GGSN in UMTS, S-GW/P-GW in LTE etc.).

Description

  • This application is a divisional of U.S. patent application Ser. No. 13/185,066 filed Jul. 18, 2011, which claims priority to U.S. Provisional Patent Application Ser. No. 61/365,401, filed Jul. 19, 2010, the disclosures of which are incorporated herein by reference in its entirety.
  • BACKGROUND OF THE INVENTION
  • Content caching devices or web-caches that cache frequently viewed web pages, pictures and multi-media content are deployed in the internet for reducing transport latencies, and reducing download times for frequently accessed content across the internet. Similarly, web-proxies/caches are also deployed at enterprise sites to cache frequently used Internet web-content within the enterprise network.
  • Caching devices 10 can also be used in mobile wireless network, for example, a 3G/UMTS network 20. The wireless network includes a Radio Access Network (RAN) 21 and a Core Network (CN) 22. A typical wireless network is shown in FIG. 1.
  • The GGSN 3 (Gateway GPRS Service Node) connects the mobile wireless network to the IP Core Network. The Gateway GPRS Support Node (GGSN) 3 is a main component of the GPRS (General Packet Radio Service) network. The GGSN 3 is responsible for compatibility between the GPRS network and external packet switched networks, such as the Internet 1 and X.25 networks.
  • When viewed from an external network, the GGSN 3 appears as a router to a sub-network, because the GGSN 3 hides the GPRS infrastructure from the external network. When the GGSN 3 receives data addressed to a specific user, it checks if the user is active. If it is, the GGSN 3 forwards the data to the SGSN 4 serving the mobile user. However if the mobile user is inactive, the data are discarded, or a paging procedure is initiated to locate and notify the mobile device. For data originated within the GPRS network, the GGSN 3 routes these mobile-originated packets to the correct external network.
  • The GGSN 3 converts the GPRS packets coming from the SGSN 4 into the appropriate packet data protocol (PDP) format (e.g., IP or X.25) and sends them out on the corresponding packet data network. For incoming packets, the PDP addresses are converted to the GSM address of the destination user. The readdressed packets are then sent to the responsible SGSN 4. In order to accomplish this function, the GGSN 3 stores the current SGSN address of the user and its associated profile in its location register. The GGSN 3 is responsible for IP address assignment and is the default router for the connected user equipment (UE) 7. The GGSN 3 also performs authentication functions.
  • A Serving GPRS Support Node (SGSN) 4 is responsible for the delivery of data packets from and to the mobile stations within its geographical service area. Its tasks include packet routing and transfer, mobility management (attach/detach and location management), logical link management, and authentication and charging functions. The location register of the SGSN 4 stores location information and user profiles of all GPRS users registered with this SGSN 4.
  • The Radio Network Controller (or RNC) 5 is a governing element in the radio access network and is responsible for controlling the Node Bs 6 that are connected to it. The RNC 5 carries out radio resource management, some of the mobility management functions and is the point where encryption is done before user data is sent to and from the mobile. The RNC 5 connects to the SGSN (Serving GPRS Support Node) 4 in the Packet Switched Core Network.
  • Node B 6 is a term used to denote the base transceiver station (BTS) in the UMTS/3GPP Architecture. As in all cellular systems, such as GSM, Node B (or BTS) 6 contains radio frequency transmitter(s) and the receiver(s) used to communicate directly with the user equipment, which move freely around it.
  • The user equipment (UE) 7 comprises all user equipment, including handsets, smart phones and computing equipment.
  • Radio Access Networks (RANs), such as in GSM/GPRS, 3G/UMTS/HSDPA/HSUPA, LTE, CDMA network etc., have their own private networks (PLMN) and interconnect to the Internet/IP networks through gateway devices (GGSN in GSM/GPRS, 3G/UMTS/HSDPA/HSUPA, and PDSN in CDMA). Content caches 10 are typically deployed outside of the RAN as shown in FIG. 1. However, content caches 10 are not deployed in the RAN between the Wireless Base Station 6 and GGSN 3 or PDSN (in a CDMA Network).
  • One reason for this is, while the user application payloads are TCP/IP, those payloads are embedded within Radio Access Network Protocols that are specific to the specific RAN. Thus, within the RAN, application payloads are not directly visible for performing content-aware caching and other optimizations. The RAN network 20 is deployed as a transport network that transports user IP traffic (Bearer IP traffic) using either ATM or IP transports. Regardless of the type of transport, the RAN network transports the user payloads in per user/per service tunnels. Such tunnels are terminated within the PDSN or GGSN 3, which forwards the bearer IP traffic to the public IP network using IP forwarding rules. Thus in the prior art deployments, the RAN network is content un-aware.
  • Content caching devices cache content when a client device accesses an object (such as a web page or a URL object), for subsequent delivery if the same content is requested by the same or a different user. Thus, cache updates are triggered by client accesses. Web crawlers and other mechanisms proactively fetch content to increase cache hit ratios and other features, such as content searching functions, etc. Content Delivery Network devices proactively retrieve content from specific content servers through the internet before such content is requested by any user. Such pre-fetching reduces the latency while delivering content when requested by one or more users, and assists in delivering dynamic content for Edge Side Includes (ESI) by CDNs. Also, content servers (origin servers) redirect user requests to appropriate CDN devices through interaction with the CDN Network using DNS. While such mechanisms exist in the internet and wire-line networks, in wireless mobile networks, connections to internet data-plane sessions are established only when a user accesses the packet network (internet or private network).
  • Co-pending Patent Publication No. 2010/0034089, entitled “Content Caching in the Radio Access Network”, filed Aug. 6, 2009, the contents of which are incorporated by reference, proposes deploying Content Aware Ran Caches in the Radio Access Network at one or more locations. A RAN-cache may be placed in a Radio Access Network, such as UMTS or LTE, where it is used to cache frequently accessed content by one or more users in local storage and serves the cached content to plurality of users per HTTP Protocols. The RAN-cache device operates as a transparent inline cache, in the sense that it intercepts the Control Plane and User Plane Protocols on the interfaces to which it is connected. It then reconstructs the objects and their corresponding references.
  • It would be advantageous if content could be pre-fetched before any user requests the content. It would be beneficial if this pre-fetched data could be stored in a RAN cache, for subsequent use by attached mobile users.
  • SUMMARY OF THE INVENTION
  • The current invention defines methods by which a RAN-Cache can pre-fetch locally determined content, and provides methods for a CDN device to pre-fetch content via a RAN-Cache device that interacts with UTMS/LTE network elements, such as a SGSN, a GGSN, a SGW, or a PDN GW. The RAN-Cache emulates a virtual user for pre-fetching content using a local control logic function, and/or due to external request by a locally connected CDN device. Such Pre-fetching requires the virtual user to be provisioned by the operator for network access and charging. Unlike the normal operation of the RAN-cache in which it does not initiate user sessions, in UE emulation mode using a Virtual User, it initiates and terminates user sessions for the virtual user. Per the current invention, the RAN-Cache provides a mechanism for the mobile network operator to configure the attributes of the mobile user that include IMSI (International Mobile Subscriber Identity), ISDN Number etc. for the Virtual user. The RAN-C then uses the attributes of the virtual user while initiating sessions for that virtual user. The mobile operator provisions the attributes of the virtual user, the corresponding service plan etc. in the service plane (for example HSS, RADIUS server etc.), so that when the session is initiated by RAN-cache for the virtual user, the operator's mobile core network accepts the session establishment. In this mode, it registers the virtual user with the mobile network.
  • Alternatively, the RAN-Cache may schedule pre-fetch requests by using the identity of one of the active user sessions. While selecting user sessions, it uses the sessions of those users that are being serviced from local cache. The rationale is that the operator's billing and charging system uses down-stream and upstream byte counts as monitored by Core Network (SGSN, GGSN, S-GW, PDN-GW). When the RAN-cache services user requests from local cache, this content is not fetched through the CN for that specific user session since the content served from local cache is transparent to the Core Network. Thus, the user is effectively given content “free of charging and billing”, due to the caching of the content. However, the RAN Cache may then utilize this user session context for pre-fetching content, since this minimizes charging and billing impacts to mobile users in the operator network.
  • Another aspect of the current invention allows the RAN-Cache to provide network connectivity from a locally connected CDN device to the rest of the CDN Network through the operator's mobile network and internet. Such interconnectivity may be provided by emulating a UE (Virtual User) through the Operator's Core Network through a SGSN/GGSN, or a S-GW/PDN-GW, or through a local offload interface.
  • Another aspect of the current invention is to pre-fetch the content from a local IP offload-interface, if such an interface is available. Such an IP offload connects to a local Internet Service Provider's network, or to the operator's IP network. In other words, it does not go through the mobile core network (SGSN/GGSN) and billing charging system. Also, the IP-Offload network does not use RAN tunneling protocols, such as GTP-U, for forwarding packets through SGSN/GGSN. While pre-fetching through an IP offload network, the RAN-Cache uses NAT (Network Address Translation) to map pre-fetch requests corresponding to a user to a configured public IP Address and configured pool of TCP port numbers. Hiding private IP addresses through NAT for both TCP and UDP are well known methods in the prior art. The present invention may use NAT for pre-fetching content on behalf of user to circumvent the need for requiring a user plane tunnel for performing pre-fetch operation through the operator core network.
  • Yet another alternative for performing a pre-fetch, the RAN Cache may use locally configured public IP addresses, and pre-fetch without the context of any user through the IP offload network. This scenario is particularly applicable to on-deck content, which is content that an operator provides from his content network. The present invention describes a method where the RAN Cache implementing these methods receives requests from RAN interfaces, and the user IP requests are embedded within the corresponding protocols of that interface. Thus, the RAN Cache device un-wraps the protocol layers, identifies what objects need to be pre-fetched and when the pre-fetching should occur. In addition, while responding to user requests from local cache or pre-fetched content through another interface, such as a locally connected CDN and/or an offload interface, these responses have to be re-encapsulated and merged with the responses and protocol exchanges that user device is performing through the mobile Core Network (such as traffic going through SGSN/GGSN). Such a need does not arise in application and performance enhancing proxies known in the prior art.
  • BRIEF DESCRIPTIONS OF FIGURES
  • FIG. 1 illustrates a wireless network;
  • FIG. 2 shows a representative configuration according to one embodiment;
  • FIG. 3 shows a content pre-fetch for a CDN using a RAN cache according to one embodiment;
  • FIG. 4 shows a content pre-fetch for a CDN using a RAN cache according to another embodiment;
  • FIG. 5 shows a datapath for CDN content using the IP Traffic Offload interface;
  • FIG. 6 is a representative block diagram of a RAN cache;
  • FIG. 7 shows a representation configuration using traffic offload according to one embodiment.
  • DETAILED DESCRIPTION OF THE INVENTION
  • FIG. 6 shows a representative block diagram of the RANC. The RANC 300 has two interface modules 301, each of which is adapted to implement the hardware signaling required for the choice interface and the associated software protocol. This interface protocol may be IuB, IuPS or Gn, as shown in FIGS. 3-5. Each interface module 301 is adapted to receive and transmit on the selected interface. Additionally, received data is placed into a storage element 302, typically a semiconductor storage element such as a RAM, DRAM or an equivalent technology. The movement of data from the interface module to the memory 302 and vice versa may be accomplished using dedicated hardware, such as a DMA controller. Alternatively, a dedicated data movement processor may be used to handle the actual movement of data through the RANC 8. Once stored within the RANC 8, the information is processed in accordance with the RAN specifications. This may be done using dedicated control logic or a processing unit 303. The control logic/processing unit 303 may have its own local storage element 304, which contains instructions to execute and local status. This storage element may be RAM or DRAM. In addition, at least a portion of this storage element 304 may be non-volatile, such as ROM, FLASH ROM, hard disk, Solid State Disk, or the like. Using known specifications and protocols, the control logic/processing unit 303 parses the received information to understand the packet at each protocol layer. Also included may be a large storage element 305, adapted to hold cached information. In some embodiments, this cache storage may be semiconductor memory, such as RAM or DRAM. In other embodiments, this cache storage may be a rotating media, such as a disk drive or other large storage device. The control logic/processing unit may be physically implemented in a variety of technologies. For example, it may be a general-purpose processor, executing a set of instructions from an internal or external storage device.
  • In another embodiment, a dedicated hardware device having embedded instructions or state machines may be used to perform the functions described. Throughout this disclosure, the terms “control logic” and “processing unit” are used interchangeably to designate an entity adapted to perform the set of functions described.
  • The RANC 8 also contains software capable of performing the functions described herein. The software may be written in any suitable programming language and the choice is not limited by this disclosure. Additionally, all applications and software described herein are computer executable instructions that are contained on a computer-readable media. For example, the software and applications may be stored in a read only memory, a rewritable memory, or within an embedded processing unit. The particular computer on which this software executes is application dependent and not limited by the present invention.
  • While the Figures show the RAN-C as a separate device, it may also become part of an existing component. For example, it may be embedded in an existing component, such as the RNC or SGSN and provide the functionality described above.
  • FIG. 2 shows a first configuration of the present invention. In this embodiment, the RAN-Cache 300 is a content aware inline device that monitors user sessions, populates data cache, caches local content, and serves the cached content on subsequent user sessions per the corresponding protocol rules such as HTTP 1.0/1.1 (RFC 2616) rules, as described in Co-pending Patent Publication No. 2010/0034089.
  • Although shown in FIG. 2 as positioned between the RAN 21 and the core network (CN) 22, the RAN cache 300 may also be positioned within the RAN 21, such as between the NodeB and the RNC, between the RNC and the SGSN or between the SGSN and the GGSN. Similarly, in a LTE network, the RAN cache may be between the eNodeB and the MME/Serving GW.
  • In this embodiment, the control logic 303 consists of a variety of functions. The pre-fetch 350, 351 and UE Emulation/transit UE session modules 352 are logical software components that incorporate one or more of the inventive methods identified in the present application. In this example, one function of the RAN cache is to determine what content to prefetch, as well as other parameters, such as the format of the objects, the time that the pre-fetch should occur, as well as other parameters. In some embodiments, the pre-fetch decision logic 350 makes decisions based on local configuration policy, frequency of a site's access, peak traffic/busy hour from previous history, the relationship with content publishers, types of objects and other parameters. Additional or different parameters may also be used to decide the content that should be pre-fetched.
  • The UE emulation or transit UE session module 352 is used to establish a connection with the mobile network. There are two ways that the RAN Cache 300 can create this connection. In a first mode, it emulates a user by creating a virtual user. In a second mode, the RAN cache uses the user session context of another actual UE. These modes are described in more detail below.
  • To emulate a UE (also termed Virtual UE throughout this specification), the RAN-Cache 300, using the UE emulation module 352, emulates a signaling client in the control plane and initiates and terminates the signaling connection for the virtual UE. The service plane information for the virtual UE such as but not limited to rate plan, IMSI, ISDN Number, need to be configured in the RAN Cache 300, and in the operator network. This is so that when the virtual user (i.e. the RAN Cache 300) initiates a user plane session, the session setup is accepted by the operator's Core Network 21. Once established, the user plane session created for the Virtual UE could be used for pre-fetching any content. The user plane session traverses through the CN and the charging and billing will be done for the operator provisioned virtual UE.
  • In a second mode, known as transit UE mode, the RAN Cache 300 adopts the identity and session context of an existing UE 7 that is being served from local cache. This approach causes the RAN Cache 300 to send a data request in the context of user sessions for data objects which the users did not specifically request, which may increases their total charges if their data plan is based on the amount of content delivered. However, the rationale for doing this is that when a UE 7 is served from RAN-Cache 300, the bytes sent over RAN 21 to the UE 7 from RAN-Cache 300 are not counted by the Operator's Core Network 22 (and Charging and Billing System). Therefore, the pre-fetched bytes are simply a replacement for the actual content that was served, but not counted by the CN 22. In this way, it is believed that the user's actual requested byte count will closely match the byte count for which he was charged. In other billing systems, total byte count is unlimited, and therefore there is no charge or inconvenience to the user because the RAN cache 300 uses this user session.
  • When using other UE's session context, the RAN-Cache 300 maintains a list in its storage element of UEs 7 that are currently being served from the RAN-cache 300, and the downloaded byte counts delivered from RAN-cache 300 for each UE 7. This number represents the number of bytes which were delivered to each UE 7 without the knowledge of the Operator's Core Network 22 (and Charging and Billing System). In one embodiment, the RAN cache 300 selects active UE sessions that have the highest bytes delivered from cache. In some embodiments, the RAN cache 300 then decrements this byte count by the number of bytes delivered during the pre-fetch operation. In some embodiments, the goal is to maintain each of these counters as close to zero as possible, such that unrequested pre-fetches roughly equal delivered cache content, thereby resulting an a relatively accurate byte count for each UE 7.
  • In another embodiment, the RAN Cache 300 accesses the UE service plan, and determines whether any of the UEs 7 have an unlimited data plan. This can be achieved through interaction with the service plane. This information comes via the HLR, through RADIUS, through PCRF or through Subscription Profile Repository (SPR). These methods are known to those skilled in the art. In this case, the RAN cache 300 can use the user session of these UEs without incurring any additional costs for those users.
  • In this transit UE mode, the RAN Cache 300 uses UE's sessions that have active PDP contexts. It does not initiate user plane sessions for pre-fetching content. Therefore, it may be necessary for the RAN Cache 300 to extend user sessions. For example, while the RAN Cache 300 is using a UE's session context through the core network (CN) 22 for pre-fetch, the actual UE 7 may finish its own ongoing transfers, such as the download of an object from RAN cache 300 may be completed. After the UE 7 receives its requested data, the UE 7 may initiate releasing the data session. In this case, since the RAN Cache 300 is still using that user session, the RAN Cache 300 defers releasing the signaling connection through control plane, until its pre-fetch operation is completed. While selecting a user session for such pre-fetch purposes, the RAN Cache 300 may use additional considerations, such as whether the device is connected to power source, the remaining battery power in the UE, the device type of the UE or other characteristics. Remaining battery power is important, since in one embodiment, the UE must remain in the active state in order to complete the pre-fetch operations. In another embodiment, the UE power consumption is not increased while using that UE session context for pre-fetching. This is achieved by allowing the UE to initiate a session termination and having the RAB release the connection to the UE. However, the RAN Cache 300 defers the session termination and RAB release on the core side until the prefetch operation is complete. Information, such as remaining battery power, device type and other characteristics, is obtained from the device using the methods identified in companion provisional application 61/364,560, which is incorporated by reference in its entirety. For example, the RAN Cache 300 may interpret control plane protocols to determine the type of device or other parameters.
  • Furthermore, in this transit UE mode, the UE 7 may have active traffic flows through the same user-plane session (for example, another UE's GTP-U session when the RAN-Cache is placed on IuPS interface). Thus, when responses are received from CN 22 interface, the RAN Cache 300 must identify the responses that should be forwarded to the UE 7 over the RAN 21, and the responses that should be forwarded to the local CDN or to be consumed locally for locally initiated pre-fetch requests.
  • The methods for using an existing UE 7 user session described above detail embodiments in which the UE session is active, and the RAN Cache 300 uses that user session simultaneously. As an alternative to this approach, the RAN Cache 300 may locally store the attributes of the UE's that have large contents delivered from local data cache. Then, at a later time, the RAN Cache 300 may initiate a user plane session setup by using the locally stored UE information. This method has the advantage that the RAN cache 300 could perform pre-fetch when the network usage is low (for example non busy hours), and when the specific UE 7 is not using the Operator's Core Network 22 resources. Thus pre-fetch use does not degrade the corresponding UE's QOE. As described above, UEs can be selected based on number of previously served bytes from the RAN Cache 300, or based on the UE data plan, such that user sessions are setup for UEs 7 having unlimited data plans. Additionally, the selection may be based the remaining battery power, whether it is connected to a power source, and type of UE (for example, laptop dongle, feature phone or other device.
  • FIG. 7 shows an embodiment where a Traffic Offload interface is available to the RAN cache 300. In this embodiment, the RAN cache 300 determines what content to pre-fetch, and when to perform these pre-fetches, as described with reference to FIG. 2. In this configuration, a traffic offload interface 380 is available to the RAN Cache 300. The RAN cache 300 acts as a UE, using either virtual UE mode or transit UE mode. However, rather than routing the request through the core network 22, the request is routed through the traffic offload interface.
  • There are various algorithms that can be used to determine what content to pre-fetch. In one embodiment, the RAN Cache makes decisions by parsing the top-page requested by a user device from a website, such as www.yahoo.com. When this page is requested by a user device, the server returns the page as a html/xml object. Typically, this object contains embedded links that point to other objects at the same site or other sites. For example, links to other yahoo pages or advertisement objects that may point to other sites may be contained in the returned object. When the client starts receiving the response bytes, it may start issuing additional requests for content contained in the html page. The RAN-C, while delivering the response bytes, parses the html response object and determines which of the embedded links should be prefetched. This determination could be based on specific target sites, such as ad-delivery sites, or type of embedded link (PHP), or prior history based on how long a similar type of request previously took.
  • In addition to determining what content to pre-fetch, the RAN Cache 300 may determine the path through which the content should be routed. For example, a pre-fetch request may be routed through the Mobile core-network or, an offload interface, or a locally connected CDN.
  • Locally connected CDN device vendors have relationships with certain content publishers only, and are interested in serving only their content. These relationships are configured in RAN-Cache, indicating to the RAN Cache that such requests should be forwarded to the local CDN device. As an alternative to this static configuration, the RAN-Cache device may use a private-protocol to exchange such information. The methods used for these exchanges with the CDN device are outside the scope of the present invention.
  • As another example, certain web-sites may have local content/scope. The Ran Cache may have this information based on local configuration and/or the operator relationship with the corresponding content publishers. Thus, by forwarding such requests to the local offload interface, the operator network or ISP (internet service provider) would be able to serve more relevant content for the specific location.
  • As a further example, the operator may have specific content optimization devices, for example, HD Video content for NetFlix on the local offload network.
  • FIGS. 2 and 7 describe embodiments where the decision of what content to pre-fetch, and the storage of the pre-fetched data are all performed within the RAN cache 300. However, there are other embodiments, as described below.
  • FIG. 3 shows an external CDN device 370 that is connected to the RAN Cache 300. The RAN Cache 300 and the local CDN device 370 exchange pre-fetch information, and the RAN cache 300 performs pre-fetch by one of the pre-fetch mechanisms (either virtual UE or transit UE). The actual pre-fetch operation parameters (such as time of pre-fetch, which transit user session should be used for pre-fetch, etc.) may be determined by the RAN Cache 300 or by both RAN cache 300 and the local CDN device 370. Once these parameters are determined, the RAN Cache 300 pre-fetches the data using either of the modes described above. When the pre-fetched content is delivered to the RAN Cache 300, it is routed to the CDN device 370. In this scenario, RAN-Cache is providing a data-path using the Virtual-UE or transit-UE to do the pre-fetch operation, and the actual storage of pre-fetched objects and subsequent delivery to one more user requests are performed by the locally connected CDN. Dotted line 371 shows the pre-fetch datapath in this embodiment.
  • FIG. 4 shows the RAN cache 300 providing datapath connectivity for the local CDN device 370 to other CDN devices 375, 376 through the Wireless operator's Core Network 22 (SGSN, GGSN, S-GW, PDN-GW etc.) using the virtual UE component in the RAN cache 300. This example may also be performed using transit UE mode. In this example, the RAN cache 300 is deployed in operator's RAN network, and internet connectivity through a local offload interface is not available. A local connected CDN 370 needs to connect to other CDNs 375, 376. Any data accesses through Operator's Core Network 22 require the establishment of a UE session. Thus, the RAN Cache 300 emulates a virtual UE to establish a data session. Dotted line 372 shows the datapath between the CDN device 370 and the remote CDN device 376.
  • This operation may be performed as follows. The local CDN uses a Public-IP address to communicate with other co-operative CDNs (for example, other CDNs that belong to the same CDN vendor). In this way, the CDN devices discover and communicate among themselves using public IP addresses. However, the operator mobile network may use private IP addresses, and use the network address translation (NAT) function when the traffic sent/received through the internet. Thus, any traffic to/from local CDN that needs to be transported through the operator's mobile needs to be carried using private-ip addresses assigned by operator, whereas CDN devices use public-IP addresses. To facilitate CDN to CDN communication through the mobile-operator's network, the RAN-Cache emulates a transit UE with a operator configured static IP address, and uses well known NAT methods to carry the traffic through the operator network. The device performing the NAT function between GGSN and Internet is configured to remap the NAT addresses delivered by RAN-C to the public IP address that the local CDN is configured to use.
  • As an alternative to using NAT function in the RAN-C as described above, the RAN-C may use IP-in-IP by adding a locally operator-configured private IP address as an IP envelope to carry the CDN's public IP address. The device, for example, a router, in the operator mobile core network that routes the mobile traffic to the internet may be configured to remove the IP in IP encapsulation for the specific IP address and forward it using the local CDN's public IP address. Similarly, it may be configured to forward any traffic designated to local-CDN IP address by first encapsulating using IP in IP.
  • FIG. 5 shows a configuration similar to FIG. 4, however a traffic offload interface 380 is available for offloading portions of traffic through the offload interface 380 rather than going through the operator's core network 22. The RAN Cache 300 uses the offload interface 380 to service the pre-fetch requests from the local CDN device 370 and also to provide CDN connectivity.
  • This scenario is similar to the previous example, shown in FIG. 4, with the major difference being that it uses the offload interface to provide data path between CDN devices, rather than the mobile core network (CN). Since the traffic from the local CDN is not passing through the core network, the RAN-C does not need to perform IP-to-IP encapsulation and de-encapsulation functions, which is required when such traffic traverses the core network. It is important to note that RAN-C exchanges two types of traffic from the local CDN. The first is traffic that CDN intends to send to UEs through the RAN. The second type is traffic that the CDN communicates with other CDNs through the public internet. The RAN-Cache identifies and distinguishes these two type of datapaths using prior art IP methods, such as IP SRC, IP Destination, Source and Destination Port numbers and other methods.
  • When objects are pre-fetched and delivered from cache, or stored by a regular caching operation and delivered from cache, the origin servers lose “per user” statistics, summarization and click counts. To replace this information, the RAN Cache may maintain these counts. For example, the RAN Cache may count the number of iPhone users that downloaded a specific object. The RAN Cache may then provide this information to the origin servers. To protect the privacy of the users, the RAN Cache may anonymize (make anonymous) the user information such as IMSI, IMEI etc. This is done using prior-art methods, such as HTTP Post methods to co-operative sites. For example, the RAN Cache may remove the IMEI or IMSI and replace it with a random number to protect the user's privacy.
  • The present disclosure is not to be limited in scope by the specific embodiments described herein. Indeed, other various embodiments of and modifications to the present disclosure, in addition to those described herein, will be apparent to those of ordinary skill in the art from the foregoing description and accompanying drawings. Thus, such other embodiments and modifications are intended to fall within the scope of the present disclosure. Further, although the present disclosure has been described herein in the context of a particular implementation in a particular environment for a particular purpose, those of ordinary skill in the art will recognize that its usefulness is not limited thereto and that the present disclosure may be beneficially implemented in any number of environments for any number of purposes.

Claims (7)

What is claimed is:
1. A method of pre-fetching content data in a wireless radio access network (RAN) for improving QOE to users, and for reducing delivery time for certain objects, wherein said RAN services a plurality of users, and wherein said RAN comprises a plurality of components, comprising:
a. inserting a device in said RAN, said device comprising a storage element, control logic and two interface modules, such that said device communicates with a first and a second component;
b. using said control logic in said device to emulate a virtual user to establish a user plane session for the said pre-fetch operations; and
c. using said control logic to act as said virtual user to request content data to be stored in said storage element.
2. The method of claim 1, wherein said control logic determines what content to pre-fetch and when to pre-fetch said content.
3. The method of claim 1, wherein said pre-fetch operations are initiated upon receiving requests from an external device.
4. The method of claim 1, further comprising using the said virtual user data plane session to pre-fetch content.
5. The method of claim 5, further comprising using said virtual user data session to provide a CDN datapath between a local CDN and an external CDN through an operator core network.
6. The method of claim 1, wherein said virtual user emulation comprises using local configuration information, and emulating, initiating and terminating client requests.
7. The method of claim 1, wherein said virtual user emulation comprises initiating a signaling connection in a control plane, and using that connection to establish a virtual user session in said data plane.
US13/889,688 2010-07-19 2013-05-08 Content Pre-Fetching And CDN Assist Methods In A Wireless Mobile Network Abandoned US20130246638A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/889,688 US20130246638A1 (en) 2010-07-19 2013-05-08 Content Pre-Fetching And CDN Assist Methods In A Wireless Mobile Network

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US36540110P 2010-07-19 2010-07-19
US13/185,066 US8799480B2 (en) 2010-07-19 2011-07-18 Content pre-fetching and CDN assist methods in a wireless mobile network
US13/889,688 US20130246638A1 (en) 2010-07-19 2013-05-08 Content Pre-Fetching And CDN Assist Methods In A Wireless Mobile Network

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/185,066 Division US8799480B2 (en) 2010-07-19 2011-07-18 Content pre-fetching and CDN assist methods in a wireless mobile network

Publications (1)

Publication Number Publication Date
US20130246638A1 true US20130246638A1 (en) 2013-09-19

Family

ID=45497396

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/185,066 Expired - Fee Related US8799480B2 (en) 2010-07-19 2011-07-18 Content pre-fetching and CDN assist methods in a wireless mobile network
US13/889,688 Abandoned US20130246638A1 (en) 2010-07-19 2013-05-08 Content Pre-Fetching And CDN Assist Methods In A Wireless Mobile Network

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/185,066 Expired - Fee Related US8799480B2 (en) 2010-07-19 2011-07-18 Content pre-fetching and CDN assist methods in a wireless mobile network

Country Status (2)

Country Link
US (2) US8799480B2 (en)
WO (1) WO2012012334A2 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110202634A1 (en) * 2010-02-12 2011-08-18 Surya Kumar Kovvali Charging-invariant and origin-server-friendly transit caching in mobile networks
US8799480B2 (en) 2010-07-19 2014-08-05 Movik Networks Content pre-fetching and CDN assist methods in a wireless mobile network
US20150012614A1 (en) * 2013-03-15 2015-01-08 Instart Logic, Inc. Efficient delivery of webpages
US9001840B2 (en) 2008-08-06 2015-04-07 Movik Networks Content caching in the radio access network (RAN)
US9043467B2 (en) 2009-01-30 2015-05-26 Movik Networks Adaptive chunked and content-aware pacing of multi-media delivery over HTTP transport and network controlled bit rate selection
WO2015127075A1 (en) * 2014-02-19 2015-08-27 Level 3 Communications, Llc Content delivery network architecture with edge proxy
US9204474B2 (en) 2010-09-24 2015-12-01 Movik Networks Destination learning and mobility detection in transit network device in LTE and UMTS radio access networks
US9298455B1 (en) 2013-03-15 2016-03-29 Instart Logic, Inc. Provisional execution of dynamic content component
US9363329B1 (en) 2013-03-15 2016-06-07 Instart Logic, Inc. Identifying correlated components of dynamic content
US20170188401A1 (en) * 2015-12-26 2017-06-29 Karthik Veeramani Technologies for streaming device role reversal
US9813480B2 (en) 2015-01-08 2017-11-07 Instart Logic, Inc. Placeholders for dynamic components in HTML streaming
US10893118B2 (en) * 2011-01-28 2021-01-12 Level 3 Communications, Llc Content delivery network with deep caching infrastructure

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4535163B2 (en) * 2008-04-08 2010-09-01 ソニー株式会社 Information processing system, communication terminal, information processing apparatus, and program
WO2010088490A1 (en) 2009-01-30 2010-08-05 Movik Networks Application, usage & radio link aware transport network scheduler
US8601052B2 (en) 2010-10-04 2013-12-03 Qualcomm Incorporated System and method of performing domain name server pre-fetching
US9674876B2 (en) * 2011-01-19 2017-06-06 Telefonaktiebolaget Lm Ericsson (Publ) Local data bi-casting between core network and radio access
US9161080B2 (en) 2011-01-28 2015-10-13 Level 3 Communications, Llc Content delivery network with deep caching infrastructure
US8645501B2 (en) * 2011-05-05 2014-02-04 Qualcomm Innovation Center, Inc. Adaptive DNS pre-fetching
CN102857483B (en) * 2011-06-30 2016-06-29 国际商业机器公司 Prefetch the method for data, equipment and device
US8934414B2 (en) * 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
US20130159511A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. System and method for generating a report to a network operator by distributing aggregation of data
EP3249546B1 (en) 2011-12-14 2022-02-09 Level 3 Communications, LLC Content delivery network
US20130254830A1 (en) * 2012-03-22 2013-09-26 Madhav Moganti Apparatus and method for assuring communications of corporate users
US10474691B2 (en) * 2012-05-25 2019-11-12 Dell Products, Lp Micro-staging device and method for micro-staging
US9088613B2 (en) * 2012-11-13 2015-07-21 Gogo Llc Ground system for vehicle data distribution
US10701148B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having storage services
US10701149B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having origin services
US20140337472A1 (en) 2012-12-13 2014-11-13 Level 3 Communications, Llc Beacon Services in a Content Delivery Framework
US10791050B2 (en) 2012-12-13 2020-09-29 Level 3 Communications, Llc Geographic location determination in a content delivery framework
US9628343B2 (en) 2012-12-13 2017-04-18 Level 3 Communications, Llc Content delivery framework with dynamic service network topologies
US10652087B2 (en) 2012-12-13 2020-05-12 Level 3 Communications, Llc Content delivery framework having fill services
US9634918B2 (en) 2012-12-13 2017-04-25 Level 3 Communications, Llc Invalidation sequencing in a content delivery framework
GB2509072B (en) * 2012-12-19 2015-08-05 Samsung Electronics Co Ltd Bearer management
US9497251B2 (en) * 2013-07-12 2016-11-15 Yahoo! Inc. Serving of web pages according to web site launch times
US9848055B1 (en) 2013-09-20 2017-12-19 Google Inc. Local client discovery for content via cache
KR102219415B1 (en) 2014-01-20 2021-02-25 삼성전자 주식회사 MME, Local Server, MME-Local Server interface and Data Transmission Method for Optimized Data Path in LTE Network
US9887914B2 (en) * 2014-02-04 2018-02-06 Fastly, Inc. Communication path selection for content delivery
KR102446093B1 (en) 2014-06-11 2022-09-23 아이피엘에이 홀딩스 인크. Mapping service for local content redirection
US10506027B2 (en) * 2014-08-27 2019-12-10 Tensera Networks Ltd. Selecting a content delivery network
US10015235B2 (en) 2014-10-23 2018-07-03 Sprint Communications Company L.P. Distribution of media content to wireless communication devices
US9609489B2 (en) 2014-10-24 2017-03-28 Sprint Communications Company L.P. Distribution of media content identifiers to wireless communication devices
US9967734B1 (en) 2014-11-24 2018-05-08 Sprint Communications Company, L.P. Content delivery network request handling in wireless communication systems
CN105898737B (en) 2015-02-16 2019-07-09 中兴通讯股份有限公司 Processing system, the method and device of Packet data service
CN107409340B (en) * 2015-03-16 2021-05-04 瑞典爱立信有限公司 Method, apparatus and computer-readable storage medium for traffic steering
US11070608B2 (en) * 2015-06-17 2021-07-20 Fastly, Inc. Expedited sub-resource loading
CN106549987B (en) * 2015-09-17 2020-06-05 中兴通讯股份有限公司 Method, device and system for deciding cache content in CDN (content delivery network) by mobile network
GB2572545B (en) * 2018-03-27 2021-01-20 Openwave Mobility Inc Data replication
US11729858B2 (en) * 2019-06-21 2023-08-15 Parallel Wireless, Inc. Unique IP address in ad-hoc base station

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002104055A1 (en) * 2001-06-14 2002-12-27 Telecom Italia S.P.A. System and method for simulating the behaviour of a network for mobile radio apparatus
US20040064577A1 (en) * 2002-07-25 2004-04-01 Dahlin Michael D. Method and system for background replication of data objects
US20060117139A1 (en) * 2004-11-29 2006-06-01 Fujitsu Limited Data-cache apparatus and a data-cache method used by a radio communications system
US20060167975A1 (en) * 2004-11-23 2006-07-27 Chan Alex Y Caching content and state data at a network element
US20060277271A1 (en) * 2005-06-07 2006-12-07 Yahoo! Inc. Prefetching content based on a mobile user profile
US20070156845A1 (en) * 2005-12-30 2007-07-05 Akamai Technologies, Inc. Site acceleration with content prefetching enabled through customer-specific configurations
US20070160181A1 (en) * 2003-11-21 2007-07-12 Andrea Barbaresi Method and system for simulating communications networks, object and computer program product therefor
US20080191816A1 (en) * 2007-02-14 2008-08-14 Krishna Balachandran Content rate control for streaming media servers
US20090029644A1 (en) * 2007-07-24 2009-01-29 The Directv Group, Inc. Method and system for distributing content using device-specific content delivery networks
US20090067367A1 (en) * 2004-10-28 2009-03-12 Enrico Buracchini Method for configuring a radio terminal through a radio communication network, related network and computer program product therefor
US20090254330A1 (en) * 2005-11-24 2009-10-08 Paolo Goria Method and System for Simulating a Communication Network, Related Network and Computer Program Product Therefor
US20090287842A1 (en) * 2007-03-12 2009-11-19 Robert Plamondon Systems and methods of prefetching objects for caching using qos
US20090291696A1 (en) * 2008-05-20 2009-11-26 Mauricio Cortes Method and apparatus for pre-fetching data in a mobile network environment using edge data storage
US20100057887A1 (en) * 2005-08-12 2010-03-04 Tiehong Wang System and method for providing locally applicable internet content with secure action requests and item condition alerts
US20100057883A1 (en) * 2008-08-28 2010-03-04 Sycamore Networks, Inc. Distributed content caching solution for a mobile wireless network
US20100153529A1 (en) * 2008-12-17 2010-06-17 Sap Ag Enhancing network details using network monitoring scripts
US20100161756A1 (en) * 2008-12-23 2010-06-24 At&T Mobility Ii Llc Streaming enhancements through pre-fetch background
US20100272021A1 (en) * 2007-12-19 2010-10-28 Dirk Kopplin Method, apparatuses and program for handling protocol translation between eps and gprs
US20110213800A1 (en) * 2008-11-03 2011-09-01 Telefonaktiebolaget Lm Ericsson (Publ) Pre-Fetching of Data in a Mobile Communications Environment
EP2512101A1 (en) * 2011-04-11 2012-10-17 Deutsche Telekom AG Method and system to pre-fetch user-specific HTTP requests for web applications

Family Cites Families (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5948066A (en) 1997-03-13 1999-09-07 Motorola, Inc. System and method for delivery of information over narrow-band communications links
US6338046B1 (en) 1997-10-06 2002-01-08 Nokia Telecommunications, Oy System and method for determining charges for usage of a network connection
US6681227B1 (en) 1997-11-19 2004-01-20 Ns Solutions Corporation Database system and a method of data retrieval from the system
JP3561139B2 (en) 1998-01-27 2004-09-02 シャープ株式会社 File object relay method, computer-readable recording medium storing program of file object relay method, and gateway computer
US6185598B1 (en) 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6330561B1 (en) * 1998-06-26 2001-12-11 At&T Corp. Method and apparatus for improving end to end performance of a data network
US6275865B1 (en) 1998-11-25 2001-08-14 Sony Corporation Of Japan Method and system for message dispatching in a home audio/video network
DE60041352D1 (en) 1999-10-22 2009-02-26 Nomadix Inc SYSTEM AND METHOD FOR DYNAMIC PARTICIPANT BASED BANDWIDTH MANAGEMENT IN A COMMUNICATION NETWORK
EP1168806A1 (en) 2000-06-29 2002-01-02 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Method and apparatus for charging of telecommunications services
US20020059440A1 (en) 2000-09-06 2002-05-16 Hudson Michael D. Client-side last-element cache network architecture
US6996085B2 (en) 2000-12-22 2006-02-07 Nortel Networks Limited System, device, and method for providing network access in a communication system
ES2296733T3 (en) 2001-02-06 2008-05-01 Nokia Corporation ACCESS SYSTEM FOR A CELLULAR NETWORK.
US8385977B2 (en) 2001-05-02 2013-02-26 Trex Enterprises Corp Cellular communication system with high speed content distribution
US7995603B2 (en) 2001-05-22 2011-08-09 Nds Limited Secure digital content delivery system and method over a broadcast network
US7193985B1 (en) 2001-06-14 2007-03-20 Utstarcom, Inc. System and method for managing foreign agent selections in a mobile internet protocol network
US20030003919A1 (en) 2001-06-29 2003-01-02 Per Beming Relocation of serving network radio network controller ( SRNC) which has used direct transport bearers between SRNC and base station
EP1563389A4 (en) * 2001-08-01 2008-06-25 Actona Technologies Ltd Virtual file-sharing network
US20030115421A1 (en) 2001-12-13 2003-06-19 Mchenry Stephen T. Centralized bounded domain caching control system for network edge servers
US7499973B2 (en) 2001-12-21 2009-03-03 Motorola, Inc. System and method for automatically forwarding a communication message
US6907501B2 (en) 2002-01-25 2005-06-14 Ntt Docomo Inc. System for management of cacheable streaming content in a packet based communication network with mobile hosts
US7010598B2 (en) 2002-02-11 2006-03-07 Akamai Technologies, Inc. Method and apparatus for measuring stream availability, quality and performance
US7483487B2 (en) 2002-04-11 2009-01-27 Microsoft Corporation Streaming methods and systems
US7039672B2 (en) 2002-05-06 2006-05-02 Nokia Corporation Content delivery architecture for mobile access networks
US8161158B2 (en) 2002-09-25 2012-04-17 Nokia Corporation Method in a communication system, a communication system and a communication device
US7499401B2 (en) 2002-10-21 2009-03-03 Alcatel-Lucent Usa Inc. Integrated web cache
US7318100B2 (en) 2003-04-14 2008-01-08 Riverbed Technology, Inc. Cooperative proxy auto-discovery and connection interception
US8176186B2 (en) * 2002-10-30 2012-05-08 Riverbed Technology, Inc. Transaction accelerator for client-server communications systems
SG111978A1 (en) 2002-11-20 2005-06-29 Victor Company Of Japan An mpeg-4 live unicast video streaming system in wireless network with end-to-end bitrate-based congestion control
US7292538B1 (en) 2002-12-06 2007-11-06 Cisco Technology, Inc. System and method for distributing information in a network environment
US7991905B1 (en) 2003-02-12 2011-08-02 Netapp, Inc. Adaptively selecting timeouts for streaming media
JP4010330B2 (en) 2003-02-26 2007-11-21 日本電気株式会社 Protocol conversion apparatus and method
SE0301053D0 (en) 2003-04-07 2003-04-07 Ericsson Telefon Ab L M Method and system in a communications network
US20040255008A1 (en) * 2003-04-21 2004-12-16 International Business Machines Corporation System for low power operation of wireless LAN
KR20040096363A (en) 2003-05-09 2004-11-16 삼성전자주식회사 Traffic Scheduling Apparatus and Method in Base Station of Wireless Communication System
US20040240390A1 (en) 2003-05-30 2004-12-02 Vidiator Enterprises Inc. Method and apparatus for dynamic bandwidth adaptation
US20040264368A1 (en) 2003-06-30 2004-12-30 Nokia Corporation Data transfer optimization in packet data networks
US7251649B2 (en) * 2003-10-31 2007-07-31 Hewlett-Packard Development Company, L.P. Method for prioritizing content
DE10356724B3 (en) 2003-12-02 2005-06-16 Deutsches Zentrum für Luft- und Raumfahrt e.V. Method for reducing the transport volume of data in data networks
GB0329499D0 (en) 2003-12-19 2004-01-28 Nokia Corp Communication network
US7272414B2 (en) 2003-12-19 2007-09-18 Symbol Technologies, Inc. Method and apparatus for configuring a voice over IP client connection
US20050157646A1 (en) 2004-01-16 2005-07-21 Nokia Corporation System and method of network congestion control by UDP source throttling
US7933290B2 (en) 2004-03-30 2011-04-26 Nokia Corporation System and method for comprehensive service translation
WO2006000900A1 (en) 2004-06-29 2006-01-05 Nokia Corporation Internet high speed packet access
WO2006004472A1 (en) 2004-07-05 2006-01-12 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for supplying quality of service parameters in http messages
CN100515102C (en) 2004-07-13 2009-07-15 Ut斯达康通讯有限公司 Wireless switch-in network system in mobile communication system
ATE365437T1 (en) 2004-08-03 2007-07-15 Alcatel Lucent METHOD FOR IMPROVING THE SELECTION OF AN ACCESS NETWORK IN THE CONTEXT OF A DISCONTINUOUS COVERAGE ACCESS NETWORK, CORRESPONDING ACCESS CONTROL AND CORRESPONDING MULTIPLE TRANSMISSION SYSTEM
US7801530B2 (en) 2005-04-27 2010-09-21 Cisco Technology, Inc. Caching content at a cell site
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
EP3567912B1 (en) 2005-06-07 2023-08-09 Apple Inc. Providing a data function in an access gateway node
CA2513016A1 (en) 2005-07-22 2007-01-22 Research In Motion Limited A secure method of synchronizing cache contents of a mobile browser with a proxy server
CA2513014A1 (en) 2005-07-22 2007-01-22 Research In Motion Limited A method of controlling delivery of multi-part content from an origin server to a mobile device browser via a proxy server
WO2007038281A2 (en) 2005-09-23 2007-04-05 Ramesh Balwani Local area wireless airspace management
US7562191B2 (en) * 2005-11-15 2009-07-14 Mips Technologies, Inc. Microprocessor having a power-saving instruction cache way predictor and instruction replacement scheme
US20070143218A1 (en) 2005-12-19 2007-06-21 Sony Ericsson Mobile Communications Ab Method and apparatus for reporting usage of multimedia content by multimedia-enabled devices
MX2008010122A (en) 2006-02-07 2009-01-07 Asankya Networks Inc Systems and methods of improving performance of transport protocols.
US7844215B2 (en) 2006-08-08 2010-11-30 Accenture Global Services Gmbh Mobile audio content delivery system
US8225046B2 (en) * 2006-09-29 2012-07-17 Intel Corporation Method and apparatus for saving power by efficiently disabling ways for a set-associative cache
CN100591043C (en) 2006-10-25 2010-02-17 华为技术有限公司 System, access point, and gateway for network access from different devices and method thereof
US8050671B2 (en) 2006-11-03 2011-11-01 Alcatel Lucent Method and apparatus for network growth planning in wireless networks
EP2103089A2 (en) 2006-12-11 2009-09-23 Hari Prasad Sampath A method and system for personalized content delivery for wireless devices
WO2008076073A1 (en) 2006-12-19 2008-06-26 Telefonaktiebolaget Lm Ericsson (Publ) Transfer of buffered data from a source base station to a target base station
US8380864B2 (en) 2006-12-27 2013-02-19 Microsoft Corporation Media stream slicing and processing load allocation for multi-user media systems
WO2008084316A1 (en) 2007-01-08 2008-07-17 Nokia Corporation Method for fast circuit switched service enabling handover from packet-switched only networks
FI20075062A0 (en) 2007-02-01 2007-02-01 Nokia Corp The method, device, system, computer program product, and computer program distribution medium
US8578045B2 (en) 2007-02-14 2013-11-05 Microsoft Corporation Adaptive bandwidth utilization
EP1968243A1 (en) 2007-03-07 2008-09-10 British Telecommunications Public Limited Company Method of transmitting data to a mobile device
EP2119267B1 (en) 2007-03-08 2016-01-27 Telefonaktiebolaget LM Ericsson (publ) Allocation of service area identifiers indicative of location information and charging information for a femto cell in a wireless system
US7668170B2 (en) 2007-05-02 2010-02-23 Sharp Laboratories Of America, Inc. Adaptive packet transmission with explicit deadline adjustment
US8832220B2 (en) 2007-05-29 2014-09-09 Domingo Enterprises, Llc System and method for increasing data availability on a mobile device based on operating mode
US7917702B2 (en) * 2007-07-10 2011-03-29 Qualcomm Incorporated Data prefetch throttle
EP2015535A1 (en) 2007-07-10 2009-01-14 Panasonic Corporation Detection of mobility functions implemented in a mobile node
US7987285B2 (en) 2007-07-10 2011-07-26 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
US8171135B2 (en) * 2007-07-12 2012-05-01 Viasat, Inc. Accumulator for prefetch abort
US7930485B2 (en) * 2007-07-19 2011-04-19 Globalfoundries Inc. Speculative memory prefetch
KR101128971B1 (en) 2007-10-04 2012-03-28 후지쯔 가부시끼가이샤 Intercept system, path changing device, and recording medium
EP2204066B1 (en) 2007-10-25 2017-06-28 Cisco Technology, Inc. Interworking gateway for mobile nodes
CN101431807B (en) 2007-11-05 2012-02-22 上海华为技术有限公司 Mobile station proxy, base station subsystem and network adapting method
US20090210904A1 (en) 2008-02-14 2009-08-20 Samuel Pierce Baron Control Of Multimedia Content Delivery
US8194765B2 (en) 2008-05-05 2012-06-05 Motorola Solutions, Inc. Method and apparatus for configuring channel quality feedback in an orthogonal frequency division multiplexing communication system
WO2009155356A1 (en) 2008-06-18 2009-12-23 Onion Networks, KK Traffic and cost containment for internet access by adapting the coding rate when distributing- media content
US8060145B2 (en) 2008-07-09 2011-11-15 T-Mobile Usa, Inc. Cell site content caching
WO2010017308A1 (en) 2008-08-06 2010-02-11 Movik Networks Content caching in the radio access network (ran)
US8706910B2 (en) 2008-10-28 2014-04-22 Panzura, Inc. Dynamically adaptive network-based data processing system and method
US8713601B2 (en) 2008-11-17 2014-04-29 At&T Intellectual Property I, L.P. System and method for content delivery
US8370520B2 (en) 2008-11-24 2013-02-05 Juniper Networks, Inc. Adaptive network content delivery system
WO2010075426A1 (en) 2008-12-23 2010-07-01 Movik Networks Transparent interaction with multi-layer protocols via selective bridging and proxying
US20100178914A1 (en) 2009-01-09 2010-07-15 Adc Telecommunications, Inc. System and method of delivering content from a wireless communication unit
WO2010088490A1 (en) 2009-01-30 2010-08-05 Movik Networks Application, usage & radio link aware transport network scheduler
US8285821B2 (en) * 2009-02-10 2012-10-09 Lenovo (Singapore) Pte. Ltd. Method, apparatus, and system of forward caching for a managed client
US8325764B2 (en) 2009-02-24 2012-12-04 Verivue, Inc. Canonical scheduling for heterogeneous content delivery
US8359420B2 (en) * 2009-06-21 2013-01-22 Ablaze Wireless, Inc. External memory based FIFO apparatus
US8180914B2 (en) 2009-07-17 2012-05-15 Sap Ag Deleting data stream overload
US20110202634A1 (en) 2010-02-12 2011-08-18 Surya Kumar Kovvali Charging-invariant and origin-server-friendly transit caching in mobile networks
WO2011115965A1 (en) 2010-03-15 2011-09-22 Movik Networks Adaptive chunked and content-aware pacing of multi-media delivery over http transport and network controlled bit rate selection
US8332517B2 (en) * 2010-03-31 2012-12-11 Incnetworks, Inc. Method, computer program, and algorithm for computing network service value pricing based on communication service experiences delivered to consumers and merchants over a smart multi-services (SMS) communication network
CN102577328A (en) 2010-07-15 2012-07-11 莫维克网络公司 Hierarchical device type recognition, caching control and enhanced CDN communication in a wireless mobile network
US8799480B2 (en) 2010-07-19 2014-08-05 Movik Networks Content pre-fetching and CDN assist methods in a wireless mobile network

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002104055A1 (en) * 2001-06-14 2002-12-27 Telecom Italia S.P.A. System and method for simulating the behaviour of a network for mobile radio apparatus
US20040064577A1 (en) * 2002-07-25 2004-04-01 Dahlin Michael D. Method and system for background replication of data objects
US20070160181A1 (en) * 2003-11-21 2007-07-12 Andrea Barbaresi Method and system for simulating communications networks, object and computer program product therefor
US20090067367A1 (en) * 2004-10-28 2009-03-12 Enrico Buracchini Method for configuring a radio terminal through a radio communication network, related network and computer program product therefor
US20060167975A1 (en) * 2004-11-23 2006-07-27 Chan Alex Y Caching content and state data at a network element
US20060117139A1 (en) * 2004-11-29 2006-06-01 Fujitsu Limited Data-cache apparatus and a data-cache method used by a radio communications system
US20060277271A1 (en) * 2005-06-07 2006-12-07 Yahoo! Inc. Prefetching content based on a mobile user profile
US20100057887A1 (en) * 2005-08-12 2010-03-04 Tiehong Wang System and method for providing locally applicable internet content with secure action requests and item condition alerts
US20090254330A1 (en) * 2005-11-24 2009-10-08 Paolo Goria Method and System for Simulating a Communication Network, Related Network and Computer Program Product Therefor
US20070156845A1 (en) * 2005-12-30 2007-07-05 Akamai Technologies, Inc. Site acceleration with content prefetching enabled through customer-specific configurations
US20080191816A1 (en) * 2007-02-14 2008-08-14 Krishna Balachandran Content rate control for streaming media servers
US20090287842A1 (en) * 2007-03-12 2009-11-19 Robert Plamondon Systems and methods of prefetching objects for caching using qos
US20090029644A1 (en) * 2007-07-24 2009-01-29 The Directv Group, Inc. Method and system for distributing content using device-specific content delivery networks
US20100272021A1 (en) * 2007-12-19 2010-10-28 Dirk Kopplin Method, apparatuses and program for handling protocol translation between eps and gprs
US20090291696A1 (en) * 2008-05-20 2009-11-26 Mauricio Cortes Method and apparatus for pre-fetching data in a mobile network environment using edge data storage
US20100057883A1 (en) * 2008-08-28 2010-03-04 Sycamore Networks, Inc. Distributed content caching solution for a mobile wireless network
US20110213800A1 (en) * 2008-11-03 2011-09-01 Telefonaktiebolaget Lm Ericsson (Publ) Pre-Fetching of Data in a Mobile Communications Environment
US20100153529A1 (en) * 2008-12-17 2010-06-17 Sap Ag Enhancing network details using network monitoring scripts
US20100161756A1 (en) * 2008-12-23 2010-06-24 At&T Mobility Ii Llc Streaming enhancements through pre-fetch background
EP2512101A1 (en) * 2011-04-11 2012-10-17 Deutsche Telekom AG Method and system to pre-fetch user-specific HTTP requests for web applications

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Biswas et al, A Connection Management Scheme for a Mobile Radio LAN, ICPWC'94, IEEE 1994, pp. 100-107 *
Marquez et al, "A web caching and prefetching simulator," Proc. International Conf. on Software, Telecommunications and Computer Networks, SoftCOM'08, IEEE 2008. *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9001840B2 (en) 2008-08-06 2015-04-07 Movik Networks Content caching in the radio access network (RAN)
US9043467B2 (en) 2009-01-30 2015-05-26 Movik Networks Adaptive chunked and content-aware pacing of multi-media delivery over HTTP transport and network controlled bit rate selection
US20110202634A1 (en) * 2010-02-12 2011-08-18 Surya Kumar Kovvali Charging-invariant and origin-server-friendly transit caching in mobile networks
US8799480B2 (en) 2010-07-19 2014-08-05 Movik Networks Content pre-fetching and CDN assist methods in a wireless mobile network
US9204474B2 (en) 2010-09-24 2015-12-01 Movik Networks Destination learning and mobility detection in transit network device in LTE and UMTS radio access networks
US10893118B2 (en) * 2011-01-28 2021-01-12 Level 3 Communications, Llc Content delivery network with deep caching infrastructure
US10091289B2 (en) 2013-03-15 2018-10-02 Instart Logic, Inc. Provisional execution of dynamic content component
US9298455B1 (en) 2013-03-15 2016-03-29 Instart Logic, Inc. Provisional execution of dynamic content component
US9363329B1 (en) 2013-03-15 2016-06-07 Instart Logic, Inc. Identifying correlated components of dynamic content
US20150012614A1 (en) * 2013-03-15 2015-01-08 Instart Logic, Inc. Efficient delivery of webpages
US11165879B2 (en) 2014-02-19 2021-11-02 Level 3 Communications, Llc Proxy server failover protection in a content delivery network
US9838497B2 (en) 2014-02-19 2017-12-05 Level 3 Communications, Llc Content delivery network architecture with edge proxy
US10778801B2 (en) 2014-02-19 2020-09-15 Level 3 Communications, Llc Content delivery network architecture with edge proxy
US10938941B2 (en) 2014-02-19 2021-03-02 Level 3 Communications, Llc Proxy server failover and load clustering using hash value ranges and hash value calculations based on IP addresses
WO2015127075A1 (en) * 2014-02-19 2015-08-27 Level 3 Communications, Llc Content delivery network architecture with edge proxy
US10264091B2 (en) 2014-02-19 2019-04-16 Level 3 Communications, Llc Proxy server failover and load clustering
US10367907B2 (en) 2014-02-19 2019-07-30 Level 3 Communications, Llc Content delivery network architecture with edge proxy
US9998521B2 (en) 2015-01-08 2018-06-12 Instart Logic, Inc. HTML streaming
US10425464B2 (en) 2015-01-08 2019-09-24 Instart Logic, Inc. Adaptive learning periods in HTML streaming
US10382520B2 (en) 2015-01-08 2019-08-13 Instart Logic, Inc. Placeholders for dynamic components in HTML streaming
US10931731B2 (en) 2015-01-08 2021-02-23 Akamai Technologies, Inc. Adaptive learning periods in HTML streaming
US9813480B2 (en) 2015-01-08 2017-11-07 Instart Logic, Inc. Placeholders for dynamic components in HTML streaming
US10091264B2 (en) * 2015-12-26 2018-10-02 Intel Corporation Technologies for streaming device role reversal
US20170188401A1 (en) * 2015-12-26 2017-06-29 Karthik Veeramani Technologies for streaming device role reversal
US11405443B2 (en) 2015-12-26 2022-08-02 Intel Corporation Technologies for streaming device role reversal
US20230047746A1 (en) * 2015-12-26 2023-02-16 Intel Corporation Technologies for streaming device role reversal

Also Published As

Publication number Publication date
WO2012012334A3 (en) 2012-04-19
US8799480B2 (en) 2014-08-05
US20120191862A1 (en) 2012-07-26
WO2012012334A2 (en) 2012-01-26

Similar Documents

Publication Publication Date Title
US8799480B2 (en) Content pre-fetching and CDN assist methods in a wireless mobile network
CN102171664B (en) Content caching in the radio access network (RAN)
ES2833410T3 (en) Telecommunications networks
US20120184258A1 (en) Hierarchical Device type Recognition, Caching Control & Enhanced CDN communication in a Wireless Mobile Network
EP2976868B1 (en) Localizing and placement of network node functions in a network
US9386077B2 (en) Enhanced virtualized mobile gateway in cloud computing environment
JP2018534645A (en) System and method for load balancing in a distributed software defined network packet core system
US8929242B2 (en) Mobility support in a mobile data network
US8819341B2 (en) Method and device for caching in a wireless peer-to-peer network
KR101981285B1 (en) Contents delivery service system using contents identification, apparatus therefor and contents delivery service method thereof
US11102116B2 (en) Method and device for hosting application by access node
KR20140021372A (en) Contents delivery service method and local cache apparatus using contents identification
US20150142882A1 (en) Content processing method and network side device
US20140071804A1 (en) Utilizing stored data to reduce packet data loss in a mobile data network with data breakout at the edge
KR101615878B1 (en) Optimizing backhaul and wireless link capacity in mobile telecommunication systems
Jiang et al. Incorporating proxy services into wide area cellular IP networks
KR102120869B1 (en) Method for application hosting by access node and apparatus therefor
KR102169614B1 (en) Method for application hosting by access node and apparatus therefor

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION