[go: up one dir, main page]

WO2016131481A1 - An intermediate network node for providing a service to end user devices in a wireless communications network - Google Patents

An intermediate network node for providing a service to end user devices in a wireless communications network Download PDF

Info

Publication number
WO2016131481A1
WO2016131481A1 PCT/EP2015/053380 EP2015053380W WO2016131481A1 WO 2016131481 A1 WO2016131481 A1 WO 2016131481A1 EP 2015053380 W EP2015053380 W EP 2015053380W WO 2016131481 A1 WO2016131481 A1 WO 2016131481A1
Authority
WO
WIPO (PCT)
Prior art keywords
site module
network node
end user
intermediate network
child
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.)
Ceased
Application number
PCT/EP2015/053380
Other languages
French (fr)
Inventor
Michael T HUBER
Robert Skog
Andreas Ljunggren
Johan KÖLHI
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Priority to PCT/EP2015/053380 priority Critical patent/WO2016131481A1/en
Publication of WO2016131481A1 publication Critical patent/WO2016131481A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • 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

Definitions

  • the invention relates to a method at an intermediate network node for providing a service to an end user device in a wireless communications network and the intermediate network node performing the method.
  • the invention further relates to a computer program and a computer program product. Background
  • apps software applications
  • smartphones smartphones, tablets and other mobile device
  • users are generally interacting with their smartphones in two different ways; either through native apps running on their phones (downloaded apps or apps available when the phone is purchased) or using a browser and a web page, possibly implemented in the phone as a so called web app.
  • a native app is installed directly onto the device, and users typically acquire these apps through an online store.
  • Native apps run fast and smoothly on the user's device since (a) the data used by the app can be stored locally, (b) native code, such as a compiled C source code, can be used instead of interpreted code (e.g. JavaScript), and (c) the programmer has access to application programming interfaces (APIs) to render graphics quickly using a built-in graphics processing unit (GPU).
  • APIs application programming interfaces
  • the Facebook app may be fast when scrolling is undertaken, but when a feed is to be updated, a message saying "updating" may appear for several seconds before the feed updates.
  • a bank app the user interface may be quick and responsive within the app, but as soon as the user tries to access his or her transactions, several seconds will lapse before the information is actually shown on the screen.
  • the latency experienced by the user can be divided into three categories:
  • latency that comes from execution speed on the user device itself latency that comes from the wireless network, i.e., the Radio Access Network (RAN), and latency that comes from the network connecting the RAN with the providers of services, e.g., internet.
  • the first type of latency can be more or less eliminated by using a well programmed native app on the device. In the case of a web app the JavaScript code will execute somewhat slower but should still not be generating latencies that are in the order of seconds.
  • the latency for the wireless network can be significant, but modern wireless access technologies have greatly reduced latencies.
  • the remaining latency is that of the Internet itself, i.e., the round-trip-time from the cellular network to the server that hosts the content or provides a service and back to the cellular network again. As wireless access technologies have become faster, the Internet latency is starting to dominate. Summary
  • a method at an intermediate network node for providing a service to an end user device in a wireless communications network comprises receiving a child site module from a server node that hosts a parent site module for providing content or services to end user devices.
  • the method comprises receiving a subsequent request from an end user device to access the parent site module, and directing the subsequent request from the end user device to the child site module of the intermediate network node.
  • a method in a server node that hosts a parent site module for providing content or services to end user devices comprises receiving a download request message from an intermediate network node of a wireless
  • an intermediate network node for providing a service to end user devices in a wireless communications network.
  • the intermediate network node comprises a memory unit for storing a child site module received from a server node that hosts a parent site module for providing content or services to end user devices.
  • a receiving unit is adapted to receive requests from end user devices to access the parent site module.
  • a processing unit is adapted to direct the requests received from the end user devices to the child site module of the intermediate network node.
  • Figure 1 shows an example of a method according to an embodiment
  • Figure 2 shows an example of an intermediate network node according to an embodiment
  • Figure 3 shows an example of a method according to another embodiment
  • Figure 4 shows an example of an application of an embodiment
  • Figure 5 shows an example of another application of an embodiment.
  • One method of reducing Internet latency i.e. the round-trip-time from a cellular network to the server that hosts the content or provides a service within the Internet, and back to the cellular network again, is to provide transparent Internet caching.
  • Transparent Internet caching is a technology that may be used to speed up web site access and reduce network usage, for example by caching certain sections of the web sites being accessed.
  • transparent caching is suitable for use with static web pages
  • this type of caching is not suitable for supporting dynamic, server side rendering of web pages.
  • dynamic web pages are becoming more and more common.
  • new protocols running over HTTP are also difficult to cache.
  • the embodiments described herein provide a new concept of generic site caching, by providing a child site module based on a parent site module.
  • the embodiments of the invention have the advantage that an end user device can access a web proxy, or child site module, which is triggered to cache not only the static web content for example, but also a distributed part of the web server as such.
  • Figure 1 shows a method at an intermediate network node according to an embodiment, for providing a service to an end user device in a wireless communications network.
  • the method comprises receiving a child site module from a server node that hosts a parent site module for providing content or services to end user devices, step 101 .
  • the method comprises receiving a subsequent request from an end user device to access the parent site module, step 103.
  • the subsequent request from the end user device is directed to the child site module of the intermediate network node, step 105.
  • the parent site module may comprise a web site for providing any form of content or services to end user device, for example content such as video services to end user devices, such as those provided by YouTube R TM or Netflix R TM, or gaming services or chat services, etc.
  • the child site module comprises a complete copy of the parent site module, for example including the content of the parent site module and the code for running the parent site module.
  • the child site module comprises at least part of the dynamic content provided by the parent site module to end user devices.
  • the child site module comprises at least part of the dynamic content and at least part of the static content provided by the parent site module to end user devices.
  • the child site module comprises all the dynamic content provided by the parent site module to end user devices.
  • the child site module comprises all the dynamic content and all the static content provided by the parent site module to end user devices.
  • the intermediate network node may be adapted to cache a complete copy of the parent website.
  • reference to a child site module may also be referred to as a cloud cache, or "clache".
  • a child site module may also comprise specific code for enabling the child site module to be run on the intermediate network node.
  • the child site module can be a form of virtual machine or virtual container that can run code and render content locally (i.e. locally to the network of the intermediate network node), and/or in combination with central nodes, and/or other intermediate network nodes having child site modules.
  • the child site module is developed by the original site or content owner, e.g. the owners of the parent site module, the child site module can be configured to provide the same function as the parent site module.
  • the end user devices can receive a full service from the child site module, without having to access the parent site module.
  • the intermediate network node forms part of the same network as the end user devices, for example within a wireless communications network (or operator network)
  • the server node hosting the parent site module is located in a different communication network to the wireless communication network that hosts the intermediate network node.
  • any latency issues relating to the network where the parent site module is located e.g. the Internet
  • the parent site module (for example located in a different communication network to the child site module), can communicate on a regular or periodic basis with the child site module, so that the dynamic content can be updated to reflect and match the parent site module.
  • Any latency issues between the child site module and the parent site module for example caused by latency in an internet network where the parent site module is located, will cause less of an issue to end user devices, since the end user devices will benefit from quicker browsing or access to the child site module.
  • updating of the child site module from the parent site module is less time critical than the end user browsing activity.
  • the intermediate network node is adapted to terminate
  • Transport Layer Security locally, and act as a origin server inside the operator network where the intermediate network node is located.
  • the intermediate network node can therefore act as a form of trusted ambassador within the operator network.
  • the method comprises, prior to receiving the child site module at the intermediate network node, the step of sending a download request message to a server node that hosts the parent site module.
  • the download request message contains a request for a child site module to be downloaded to the intermediate network node.
  • the download request message may be sent to the server node after receiving a threshold number of requests from one or more end user devices to access the parent site module. For example, when it is determined that a certain volume of requests are being directed to a particular website such as YouTube, for example via a particular intermediate network node, or via a particular node or section of a wireless communications network, this can trigger a download request message to be sent to the provider of that website, to download a copy of that website as a child site module to an intermediate network node, thereby making the child site module more accessible to the end user devices, e.g. within the same communications network. This has a benefit of enabling child site modules to be created in a dynamic manner as demand requires.
  • the download request message comprises information describing the execution environment of the intermediate network node, such that the downloaded child site module can be adapted for execution on the intermediate network node.
  • the server which hosts the parent site module can adapt the copy of the parent site module such that the child site module suits or matches the execution environment of the intermediate network node which hosts the child site module.
  • the child site module may be adapted in this way to suit the execution environment of the intermediate network node, in an example where the child site module is a copy of the parent site module, the child site module can still provide a true copy and all the associated functionality of the parent site module, such that the child site module is effectively a true copy of the parent site module in terms of how end user devices would normally access and interact with a parent site module.
  • a routing table provided in the intermediate network node may be updated such that subsequent requests from end user devices to access the parent site module are automatically directed to the child site module held at the intermediate network node.
  • the download request message comprises a hypertext transfer protocol, HTTP, GET message. It is noted, however, that other messages or protocols may be used to download the child site module from a server hosting the parent site module.
  • the header portion of a HTTP GET message may be adapted to provide information relating to the execution environment of the intermediate network node.
  • MSP Multi Service Proxy
  • a Multi Service Proxy, MSP located in a wireless communication network may initiate the fetching of a child site module of a parent website such as YouTube by issuing a HTTP(s) GET to youtube.com.
  • MSP Multi Service Proxy
  • the MSP can apply a HTTP header that states what type of Virtual Machine (VM) environment the MSP (operator) supports.
  • VM Virtual Machine
  • youtube.com in this example, can then use this information to ensure that the child site module sent back to the MSP conforms to that environment.
  • the MSP can state that it supports virtual machines with the following capabilities: hypervisor version, packaging formats etc.
  • the server hosting the parent site module e.g. YouTube.com
  • the server hosting the parent site module can then deliver a child site module that can be installed and started in that environment.
  • the method may further comprise receiving update messages from the server that hosts the parent site module, for updating the content or code of the child site module.
  • update messages are sent on a regular or periodic basis.
  • update massages are sent when a change occurs to the dynamic and/or static content of the parent site module.
  • FIG. 2 shows an example of an intermediate network node 200 according to another embodiment, for providing a service to end user devices 21 1 in a wireless communications network 210.
  • the intermediate network node 200 comprises a memory unit 201 for storing a child site module received from a server node 207 that hosts a parent site module 209 for providing content or services to end user devices 21 1 .
  • the intermediate network node 200 comprises a receiving unit 203 adapted to receive requests from end user devices 21 1 to access the parent site module.
  • the intermediate network node 200 comprises a processing unit 205 adapted to direct the requests received from the end user devices to the child site module of the intermediate network node.
  • the child site module comprises at least part of the dynamic content provided by the parent site module to end user devices. In another embodiment the child site module comprises at least part of the dynamic content provided by the parent site module to end user devices. In another embodiment the child site module comprises at least part of the dynamic content and at least part of the static content provided by the parent site module to end user devices. In another embodiment the child site module comprises all the dynamic content provided by the parent site module to end user devices. In another embodiment the child site module comprises all the dynamic content and all the static content provided by the parent site module to end user devices. In another embodiment the child site module comprises a complete copy of the parent site module. The child site module may further comprise code for running the child site module in the local environment.
  • the wireless communication network that hosts the intermediate network node may be different to a communication network where the server node that hosts the parent site module is located.
  • the wireless communication network may comprise a telecommunication operator network, while the communication network hosting the parent site module may comprise the Internet.
  • Figure 3 shows a method according to another embodiment, and in particular a method in a server node that hosts a parent site module for providing content or services to end user devices.
  • the method comprises receiving a download request message from an intermediate network node of a wireless communications network, step 301 .
  • the method comprises sending a child site module to the intermediate network node, step 305, for example a child site module that is a copy of the parent node.
  • the method comprises determining whether the download request message is from an authorised intermediate network node, step 303, and only sending the child site module in step 305 if the intermediate network node is authorised.
  • the steps of Figure 3 may also be performed in an intermediate network node itself, for example when the distribution of child site modules are daisy chained.
  • the download request message request may comprise a hypertext transfer protocol, HTTP, GET message.
  • the method comprises the steps of determining from the download request message one or more attributes of the intermediate network node from which the download request message was received, and adapting the child site module based on the one or more attributes of the intermediate network node.
  • the adapting step may comprise, for example, adapting the child site module to match a type of virtual machine environment supported by the intermediate network node.
  • the child site module is developed and owned by the parent site module directly.
  • the child site module is a trusted extension of the parent site module that is being executed inside the operator network.
  • Figure 4 shows an example of an application of an intermediate network node 400 according to an embodiment, for example when a user device 401 within an operator network wishes to access a content provider 403, such as youtube.com provided in another network, such as the Internet.
  • the intermediate network node 400 comprises a Multi Service Proxy, MSP.
  • MSP Multi Service Proxy
  • the MSP 400 Upon receiving a request to access youtube.com from a user device 401 , the MSP 400 checks a list, in step 405, to determine whether a child site module has already been downloaded and stored in the MSP, for example in a local server or memory 408.
  • the child site module may have been previously downloaded in response to the MSP 400 determining that a particular number of requests or a threshold number of requests have been received from end user devices 401 for the parent site module youtube.com.
  • a child site module exists for youtube.com, then the request is directed to the child site module hosted by the MSP, for example in the local server or memory 408. If it is determined in step 405 that a child site module does not already exist, then in step 406 a check may be performed to determine whether a child site module should be downloaded for that parent site module youtube.com.
  • the check performed in step 406 may include, for example, checking whether a predetermined number of requests have already been received for that parent site module, and as such whether downloading a child site module is justified or has economical or performance benefits.
  • the check performed in step 406 may comprise checking a white-list of parent site modules, for example a white-list of parent site modules that are allowed to be cached in the operator network. It is noted that instead of checking a white-list, a blacklist may also be checked to determine which parent site modules are not allowed to be cached in the operator network. Other checks may also be performed in step 406. Any of these steps may be performed either alone or in any combination.
  • the MSP can spawn a separate request to download or cache the parent site module youtube.com, shown in step 407.
  • the request may involve downloading youtube.com as a slave module or distributed module (i.e. child site module), and starting the slave module in a separate execution environment, for example the operator network
  • the MSP may initiate the fetching of a youtube.com cache by issuing a HTTP(s) GET to youtube.com.
  • the MSP may apply a new HTTP header that states what type of VM-environment MSP (operator) supports.
  • YOU.com can then use this information to ensure that the child site module sent back to the MSP conforms to that environment.
  • the MSP can state that it supports VM with the following capabilities: hypervisor version, packaging formats etc.
  • youtube.com can then deliver a child site module that can be installed and started in that environment.
  • the execution environment can either be a function inside the MSP, or a separate server dedicated to run a child site module, or indeed multiple child site modules.
  • This can either be provided as virtual machines, or by means of virtual systems/execution environments or similar, for example cloud based systems.
  • Child site modules from different parent site modules may be kept separated, for example to increase security such that leaking of information between child site modules is reduced or eliminated.
  • Child site modules may be checked by an operator MSP in order to make sure that no malicious code is being injected or downloaded to the intermediate network node. This may comprise, for example, a code signing technique.
  • the MSP can update its internal routing table, such that the next time a request is received at the MSP (in which a "slave version" exists) that request will be automatically sent to the "slave version”.
  • site modules may be daisy chained, such that a child site module may also spawn a grandchild site module.
  • an intermediate network node can receive a request from another node connected thereto to download a copy of the child site module, which will become a grandchild site module in that other node.
  • an intermediate network node having a child site module can pull child site modules and static/dynamic content from another intermediate network node having a child site module.
  • FIG. 5 shows an example of how child site modules may be cached in a daisy chained manner.
  • end user devices are shown trying to access the services of a content provider 52, such as youtube.com.
  • An intermediate network node 52 is shown as sending a "Get youtube.com” download request message (Step 1 ) to a network node 53, which itself may comprise an intermediate network node comprising a child site module or cache.
  • the network node 53 sends a "Get child,vm” message (Step 2) and a "GET youtube.com” message (Step 3) to another network node 54, which again may comprise an intermediate network node comprising a child site module or cache.
  • the network node 54 sends a "Get child,vm” message (Step 4) and a "GET youtube.com” message (Step 5) to the server 52 hosting the original website youtube.com.
  • a child site module of youtube.com is then transferred or downloaded to the network node 54, shown by the "Child .vm” and "youtube.com” messages (Steps 6 and 7).
  • Step 8 After installing the child site module at the network node 54 (Step 8), in a similar manner to the above a child site module of youtube.com is then transferred or downloaded from the network node 54 to the network node 53, shown by the "Child.vm” and "youtube.com” messages (Steps 9 and 10).
  • the child site module (which is effectively a grandchild site module) is then installed in the network node 53 (Step 1 1 ). Content or services from youtube.com can then be downloaded from the network node 53 to the wireless device 51 (or other end user devices).
  • the network node 54 therefore stores a first child site module, while the network node 53 stores a daisy chained child site module, i.e. a grandchild site module.
  • daisy chained child site modules such as network node 57, may also be provided for providing content or services to other end user devices.
  • Intermediate network nodes having child site modules may be adapted to communicate on the same level, for example to upgrade child site modules to newer versions, or to cope with flash crowd situations and time zone
  • Child site modules may be downloaded or cached automatically, for example driven by user statistics or predicted usage patterns (for example which have been learnt from historical data). With such an embodiment no specific manual configuration is necessarily needed at an operator site, although manual configuration may also be provided if desired.
  • the owner of a website such as youtube.com, may be responsible for developing and controlling use of child site modules.
  • any protocol for supporting the child site modules may be developed and distributed from the parent site module, i.e. from the backend side. This has an advantage of making transport and communication efficient.
  • An MSP can add information in the HTTP GET of the slave version (child site module) so that a content provider can send back the correct version so that it can be installed and started in the operator environment.
  • the embodiments described herein may be used in a variety of different applications, including for example HTTP video services such as Netflix, HBO, Hulu etc.
  • Child site modules may also be referred to as a cloud cache, or "Clache”, whereby dynamic content caching and static content caching are combined.
  • the embodiments described above enable website cloud caching to be performed automatically, without needing any special configuration to set up.
  • a computer program configured, when run on a computer, to carry out a method as described herein, and as defined in the appended claims.
  • a computer program product comprising a computer readable medium and a computer program as described above stored on the computer readable medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A method at an intermediate network node for providing a service to an end user device in a wireless communications network, comprises receiving a child site module from a server node that hosts a parent site module for providing content or services to end user devices. A subsequent request received from an end user device to access the parent site module is directed to the child site module of the intermediate network node.

Description

AN INTERMEDIATE NETWORK NODE FOR PROVIDING A SERVICE TO END USER DEVICES IN A WIRELESS COMMUNICATIONS NETWORK
Technical Field
The invention relates to a method at an intermediate network node for providing a service to an end user device in a wireless communications network and the intermediate network node performing the method. The invention further relates to a computer program and a computer program product. Background
With the increasing use of software applications (referred to as "apps") designed to run on smartphones, tablets and other mobile device, users are generally interacting with their smartphones in two different ways; either through native apps running on their phones (downloaded apps or apps available when the phone is purchased) or using a browser and a web page, possibly implemented in the phone as a so called web app.
A native app is installed directly onto the device, and users typically acquire these apps through an online store. Native apps run fast and smoothly on the user's device since (a) the data used by the app can be stored locally, (b) native code, such as a compiled C source code, can be used instead of interpreted code (e.g. JavaScript), and (c) the programmer has access to application programming interfaces (APIs) to render graphics quickly using a built-in graphics processing unit (GPU).
Instead of using a native app, the user can choose to visit a web page using a browser or a web app. Many services today can be accessed both ways; for instance, Facebook can be accessed by using a native app as well as by visiting the Facebook homepage from the browser. Historically, browsing was quite slow, since every click resulted in a request to the web server, and the user would have to wait for the content to return. Today, small scripting programs typically written in JavaScript are downloaded to the user device and run locally. This means that tedious round-trip times of the network can often be avoided and JavaScript based web pages can be almost as responsive as a native app. While native apps still have an advantage when it comes to high- demanding applications such as games, the gap between web apps and native apps has been narrowing.
However, a problem that is similar to both native apps and web apps is that they are typically slow when they need to contact a server to obtain information. As an example, the Facebook app may be fast when scrolling is undertaken, but when a feed is to be updated, a message saying "updating..." may appear for several seconds before the feed updates. Another example is a bank app; the user interface may be quick and responsive within the app, but as soon as the user tries to access his or her transactions, several seconds will lapse before the information is actually shown on the screen.
The latency experienced by the user can be divided into three categories:
latency that comes from execution speed on the user device itself, latency that comes from the wireless network, i.e., the Radio Access Network (RAN), and latency that comes from the network connecting the RAN with the providers of services, e.g., internet. The first type of latency can be more or less eliminated by using a well programmed native app on the device. In the case of a web app the JavaScript code will execute somewhat slower but should still not be generating latencies that are in the order of seconds. The latency for the wireless network can be significant, but modern wireless access technologies have greatly reduced latencies. The remaining latency is that of the Internet itself, i.e., the round-trip-time from the cellular network to the server that hosts the content or provides a service and back to the cellular network again. As wireless access technologies have become faster, the Internet latency is starting to dominate. Summary
It is an aim of the present invention to provide a method and apparatus which obviate or reduce at least one or more of the disadvantages mentioned above.
According to one aspect of the present invention there is provided a method at an intermediate network node for providing a service to an end user device in a wireless communications network. The method comprises receiving a child site module from a server node that hosts a parent site module for providing content or services to end user devices. The method comprises receiving a subsequent request from an end user device to access the parent site module, and directing the subsequent request from the end user device to the child site module of the intermediate network node. According to another aspect of the present invention there is provided a method in a server node that hosts a parent site module for providing content or services to end user devices. The method comprises receiving a download request message from an intermediate network node of a wireless
communications network, and sending a child site module to the intermediate network node.
According to another aspect of the present invention, there is provided an intermediate network node for providing a service to end user devices in a wireless communications network. The intermediate network node comprises a memory unit for storing a child site module received from a server node that hosts a parent site module for providing content or services to end user devices. A receiving unit is adapted to receive requests from end user devices to access the parent site module. A processing unit is adapted to direct the requests received from the end user devices to the child site module of the intermediate network node. Brief description of the drawings
For a better understanding of examples of the present invention, and to show more clearly how the examples may be carried into effect, reference will now be made, by way of example only, to the following drawings in which:
Figure 1 shows an example of a method according to an embodiment;
Figure 2 shows an example of an intermediate network node according to an embodiment;
Figure 3 shows an example of a method according to another embodiment; Figure 4 shows an example of an application of an embodiment; and Figure 5 shows an example of another application of an embodiment. Detailed description
One method of reducing Internet latency, i.e. the round-trip-time from a cellular network to the server that hosts the content or provides a service within the Internet, and back to the cellular network again, is to provide transparent Internet caching.
Transparent Internet caching is a technology that may be used to speed up web site access and reduce network usage, for example by caching certain sections of the web sites being accessed. However, while such transparent caching is suitable for use with static web pages, this type of caching is not suitable for supporting dynamic, server side rendering of web pages. These dynamic web pages are becoming more and more common. In addition, new protocols running over HTTP are also difficult to cache.
The embodiments described herein provide a new concept of generic site caching, by providing a child site module based on a parent site module. The embodiments of the invention have the advantage that an end user device can access a web proxy, or child site module, which is triggered to cache not only the static web content for example, but also a distributed part of the web server as such.
Figure 1 shows a method at an intermediate network node according to an embodiment, for providing a service to an end user device in a wireless communications network. The method comprises receiving a child site module from a server node that hosts a parent site module for providing content or services to end user devices, step 101 . The method comprises receiving a subsequent request from an end user device to access the parent site module, step 103. The subsequent request from the end user device is directed to the child site module of the intermediate network node, step 105.
The parent site module may comprise a web site for providing any form of content or services to end user device, for example content such as video services to end user devices, such as those provided by YouTubeR™ or NetflixR™, or gaming services or chat services, etc.
In one example, the child site module comprises a complete copy of the parent site module, for example including the content of the parent site module and the code for running the parent site module. In another example, the child site module comprises at least part of the dynamic content provided by the parent site module to end user devices. In another example, the child site module comprises at least part of the dynamic content and at least part of the static content provided by the parent site module to end user devices. In another example, the child site module comprises all the dynamic content provided by the parent site module to end user devices. In another example, the child site module comprises all the dynamic content and all the static content provided by the parent site module to end user devices. In the example where the child site module comprises a copy of the parent site module, the intermediate network node may be adapted to cache a complete copy of the parent website. In the embodiments described herein, reference to a child site module may also be referred to as a cloud cache, or "clache".
A child site module may also comprise specific code for enabling the child site module to be run on the intermediate network node. The child site module can be a form of virtual machine or virtual container that can run code and render content locally (i.e. locally to the network of the intermediate network node), and/or in combination with central nodes, and/or other intermediate network nodes having child site modules. Where the child site module is developed by the original site or content owner, e.g. the owners of the parent site module, the child site module can be configured to provide the same function as the parent site module.
By downloading a child site module to an intermediate network node, when end user devices subsequently try and access the parent site module, the end user devices can receive a full service from the child site module, without having to access the parent site module.
In an example where the intermediate network node forms part of the same network as the end user devices, for example within a wireless communications network (or operator network), this means that the end user devices can access the child site module within their own environment, without having to access or retrieve information from another network, for example a parent site module (i.e. the original website) hosted in another network such as the Internet.
In such an embodiment the server node hosting the parent site module is located in a different communication network to the wireless communication network that hosts the intermediate network node. As such, any latency issues relating to the network where the parent site module is located (e.g. the Internet) can be avoided. In an example where the child site module comprises dynamic content, the parent site module (for example located in a different communication network to the child site module), can communicate on a regular or periodic basis with the child site module, so that the dynamic content can be updated to reflect and match the parent site module. Any latency issues between the child site module and the parent site module, for example caused by latency in an internet network where the parent site module is located, will cause less of an issue to end user devices, since the end user devices will benefit from quicker browsing or access to the child site module. As such, updating of the child site module from the parent site module is less time critical than the end user browsing activity. In one example the intermediate network node is adapted to terminate
Transport Layer Security (TLS) locally, and act as a origin server inside the operator network where the intermediate network node is located. The intermediate network node can therefore act as a form of trusted ambassador within the operator network.
According to one embodiment the method comprises, prior to receiving the child site module at the intermediate network node, the step of sending a download request message to a server node that hosts the parent site module. The download request message contains a request for a child site module to be downloaded to the intermediate network node.
The download request message may be sent to the server node after receiving a threshold number of requests from one or more end user devices to access the parent site module. For example, when it is determined that a certain volume of requests are being directed to a particular website such as YouTube, for example via a particular intermediate network node, or via a particular node or section of a wireless communications network, this can trigger a download request message to be sent to the provider of that website, to download a copy of that website as a child site module to an intermediate network node, thereby making the child site module more accessible to the end user devices, e.g. within the same communications network. This has a benefit of enabling child site modules to be created in a dynamic manner as demand requires.
In one embodiment the download request message comprises information describing the execution environment of the intermediate network node, such that the downloaded child site module can be adapted for execution on the intermediate network node. In other words, the server which hosts the parent site module can adapt the copy of the parent site module such that the child site module suits or matches the execution environment of the intermediate network node which hosts the child site module. Although the child site module may be adapted in this way to suit the execution environment of the intermediate network node, in an example where the child site module is a copy of the parent site module, the child site module can still provide a true copy and all the associated functionality of the parent site module, such that the child site module is effectively a true copy of the parent site module in terms of how end user devices would normally access and interact with a parent site module.
In one example a routing table provided in the intermediate network node may be updated such that subsequent requests from end user devices to access the parent site module are automatically directed to the child site module held at the intermediate network node.
In one example the download request message comprises a hypertext transfer protocol, HTTP, GET message. It is noted, however, that other messages or protocols may be used to download the child site module from a server hosting the parent site module. The header portion of a HTTP GET message may be adapted to provide information relating to the execution environment of the intermediate network node. For example, a Multi Service Proxy, MSP, located in a wireless communication network may initiate the fetching of a child site module of a parent website such as YouTube by issuing a HTTP(s) GET to youtube.com. In that message the MSP can apply a HTTP header that states what type of Virtual Machine (VM) environment the MSP (operator) supports. The server which hosts the parent site module, i.e. youtube.com in this example, can then use this information to ensure that the child site module sent back to the MSP conforms to that environment. For example; the MSP can state that it supports virtual machines with the following capabilities: hypervisor version, packaging formats etc. The server hosting the parent site module (e.g. YouTube.com) can then deliver a child site module that can be installed and started in that environment.
The method may further comprise receiving update messages from the server that hosts the parent site module, for updating the content or code of the child site module. In this way both at least parts of static and dynamic website content can be updated at the child site module, such that the child site module matches those parts of the parent site module it is intended to mirror, to provide a seamless experience to the end user devices. In one example update messages are sent on a regular or periodic basis. In another example, update massages are sent when a change occurs to the dynamic and/or static content of the parent site module.
Figure 2 shows an example of an intermediate network node 200 according to another embodiment, for providing a service to end user devices 21 1 in a wireless communications network 210. The intermediate network node 200 comprises a memory unit 201 for storing a child site module received from a server node 207 that hosts a parent site module 209 for providing content or services to end user devices 21 1 . The intermediate network node 200 comprises a receiving unit 203 adapted to receive requests from end user devices 21 1 to access the parent site module. The intermediate network node 200 comprises a processing unit 205 adapted to direct the requests received from the end user devices to the child site module of the intermediate network node.
In one embodiment the child site module comprises at least part of the dynamic content provided by the parent site module to end user devices. In another embodiment the child site module comprises at least part of the dynamic content provided by the parent site module to end user devices. In another embodiment the child site module comprises at least part of the dynamic content and at least part of the static content provided by the parent site module to end user devices. In another embodiment the child site module comprises all the dynamic content provided by the parent site module to end user devices. In another embodiment the child site module comprises all the dynamic content and all the static content provided by the parent site module to end user devices. In another embodiment the child site module comprises a complete copy of the parent site module. The child site module may further comprise code for running the child site module in the local environment.
The wireless communication network that hosts the intermediate network node may be different to a communication network where the server node that hosts the parent site module is located. For example, the wireless communication network may comprise a telecommunication operator network, while the communication network hosting the parent site module may comprise the Internet.
Figure 3 shows a method according to another embodiment, and in particular a method in a server node that hosts a parent site module for providing content or services to end user devices. The method comprises receiving a download request message from an intermediate network node of a wireless communications network, step 301 . The method comprises sending a child site module to the intermediate network node, step 305, for example a child site module that is a copy of the parent node. In one example, prior to the sending step, the method comprises determining whether the download request message is from an authorised intermediate network node, step 303, and only sending the child site module in step 305 if the intermediate network node is authorised. As will be described later in the application, the steps of Figure 3 may also be performed in an intermediate network node itself, for example when the distribution of child site modules are daisy chained.
The download request message request may comprise a hypertext transfer protocol, HTTP, GET message.
In one embodiment the method comprises the steps of determining from the download request message one or more attributes of the intermediate network node from which the download request message was received, and adapting the child site module based on the one or more attributes of the intermediate network node. The adapting step may comprise, for example, adapting the child site module to match a type of virtual machine environment supported by the intermediate network node.
According to one embodiment, the child site module is developed and owned by the parent site module directly. In such an embodiment the child site module is a trusted extension of the parent site module that is being executed inside the operator network.
Figure 4 shows an example of an application of an intermediate network node 400 according to an embodiment, for example when a user device 401 within an operator network wishes to access a content provider 403, such as youtube.com provided in another network, such as the Internet. In this example the intermediate network node 400 comprises a Multi Service Proxy, MSP. Upon receiving a request to access youtube.com from a user device 401 , the MSP 400 checks a list, in step 405, to determine whether a child site module has already been downloaded and stored in the MSP, for example in a local server or memory 408. The child site module may have been previously downloaded in response to the MSP 400 determining that a particular number of requests or a threshold number of requests have been received from end user devices 401 for the parent site module youtube.com.
If a child site module exists for youtube.com, then the request is directed to the child site module hosted by the MSP, for example in the local server or memory 408. If it is determined in step 405 that a child site module does not already exist, then in step 406 a check may be performed to determine whether a child site module should be downloaded for that parent site module youtube.com.
The check performed in step 406 may include, for example, checking whether a predetermined number of requests have already been received for that parent site module, and as such whether downloading a child site module is justified or has economical or performance benefits. The check performed in step 406 may comprise checking a white-list of parent site modules, for example a white-list of parent site modules that are allowed to be cached in the operator network. It is noted that instead of checking a white-list, a blacklist may also be checked to determine which parent site modules are not allowed to be cached in the operator network. Other checks may also be performed in step 406. Any of these steps may be performed either alone or in any combination.
If it is determined in step 406 that the parent site module is to be downloaded as a child site module, for example if the number of previous requests to that parent site module warrant such a download, and/or if the parent site module is on the list of allowed sites, the MSP can spawn a separate request to download or cache the parent site module youtube.com, shown in step 407. The request may involve downloading youtube.com as a slave module or distributed module (i.e. child site module), and starting the slave module in a separate execution environment, for example the operator network
environment rather than the Internet environment .
As mentioned above, the MSP may initiate the fetching of a youtube.com cache by issuing a HTTP(s) GET to youtube.com. In that message the MSP may apply a new HTTP header that states what type of VM-environment MSP (operator) supports. Youtube.com can then use this information to ensure that the child site module sent back to the MSP conforms to that environment. For example, the MSP can state that it supports VM with the following capabilities: hypervisor version, packaging formats etc. The parent site module,
youtube.com, can then deliver a child site module that can be installed and started in that environment.
It is noted that the execution environment can either be a function inside the MSP, or a separate server dedicated to run a child site module, or indeed multiple child site modules. This can either be provided as virtual machines, or by means of virtual systems/execution environments or similar, for example cloud based systems.
In one embodiment child site modules from different parent site modules may be kept separated, for example to increase security such that leaking of information between child site modules is reduced or eliminated. Child site modules may be checked by an operator MSP in order to make sure that no malicious code is being injected or downloaded to the intermediate network node. This may comprise, for example, a code signing technique. After the request and installation of the "slave version" or child site module of the original or parent website, the MSP can update its internal routing table, such that the next time a request is received at the MSP (in which a "slave version" exists) that request will be automatically sent to the "slave version".
According to another aspect, site modules may be daisy chained, such that a child site module may also spawn a grandchild site module. In such an embodiment, an intermediate network node can receive a request from another node connected thereto to download a copy of the child site module, which will become a grandchild site module in that other node. In such an embodiment an intermediate network node having a child site module can pull child site modules and static/dynamic content from another intermediate network node having a child site module.
Figure 5 shows an example of how child site modules may be cached in a daisy chained manner. In Figure 5 end user devices are shown trying to access the services of a content provider 52, such as youtube.com. An intermediate network node 52 is shown as sending a "Get youtube.com" download request message (Step 1 ) to a network node 53, which itself may comprise an intermediate network node comprising a child site module or cache. The network node 53 sends a "Get child,vm" message (Step 2) and a "GET youtube.com" message (Step 3) to another network node 54, which again may comprise an intermediate network node comprising a child site module or cache. The network node 54 sends a "Get child,vm" message (Step 4) and a "GET youtube.com" message (Step 5) to the server 52 hosting the original website youtube.com.
A child site module of youtube.com is then transferred or downloaded to the network node 54, shown by the "Child .vm" and "youtube.com" messages (Steps 6 and 7). After installing the child site module at the network node 54 (Step 8), in a similar manner to the above a child site module of youtube.com is then transferred or downloaded from the network node 54 to the network node 53, shown by the "Child.vm" and "youtube.com" messages (Steps 9 and 10). The child site module (which is effectively a grandchild site module) is then installed in the network node 53 (Step 1 1 ). Content or services from youtube.com can then be downloaded from the network node 53 to the wireless device 51 (or other end user devices).
In this example the network node 54 therefore stores a first child site module, while the network node 53 stores a daisy chained child site module, i.e. a grandchild site module.
Other daisy chained child site modules, such as network node 57, may also be provided for providing content or services to other end user devices.
Intermediate network nodes having child site modules may be adapted to communicate on the same level, for example to upgrade child site modules to newer versions, or to cope with flash crowd situations and time zone
popularity effects (for example when the east coast wakes up and popularity statistics quickly rises for a fresh news update - this can trigger intermediate network nodes in the west coast to pre-cache the child site module in advance of increased morning web traffic to the popular news).
Child site modules may be downloaded or cached automatically, for example driven by user statistics or predicted usage patterns (for example which have been learnt from historical data). With such an embodiment no specific manual configuration is necessarily needed at an operator site, although manual configuration may also be provided if desired. In one embodiment the owner of a website, such as youtube.com, may be responsible for developing and controlling use of child site modules. In such an example any protocol for supporting the child site modules may be developed and distributed from the parent site module, i.e. from the backend side. This has an advantage of making transport and communication efficient. An MSP can add information in the HTTP GET of the slave version (child site module) so that a content provider can send back the correct version so that it can be installed and started in the operator environment. The embodiments described herein may be used in a variety of different applications, including for example HTTP video services such as Netflix, HBO, Hulu etc.
In the embodiments described above, the provision of child site modules may also be referred to as a cloud cache, or "Clache", whereby dynamic content caching and static content caching are combined.
The embodiments described above enable website cloud caching to be performed automatically, without needing any special configuration to set up.
According to another aspect there is provided a computer program configured, when run on a computer, to carry out a method as described herein, and as defined in the appended claims. According to another aspect there is provided a computer program product comprising a computer readable medium and a computer program as described above stored on the computer readable medium.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. The word "comprising" does not exclude the presence of elements or steps other than those listed in a claim, "a" or "an" does not exclude a plurality, and a single processor or other unit may fulfil the functions of several units recited in the claims. Any reference signs in the claims shall not be construed so as to limit their scope.

Claims

1 . A method at an intermediate network node for providing a service to an end user device in a wireless communications network, the method comprising:
receiving a child site module from a server node that hosts a parent site module for providing content or services to end user devices;
receiving a subsequent request from an end user device to access the parent site module; and
directing the subsequent request from the end user device to the child site module of the intermediate network node.
2. A method as claimed in claim 1 wherein, prior to receiving the child site module, the method comprises sending a download request message to a server node that hosts the parent site module, the download request message containing a request for a child site module to be downloaded to the
intermediate network node.
3. A method as claimed in claim 2, wherein the method comprises sending the download request message to the server node after receiving a threshold number of requests from one or more end user devices to access the parent site module.
4. A method as claimed in claim 3, wherein the download request message comprises information describing the execution environment of the intermediate network node, such that the downloaded child site module can be adapted for execution on the intermediate network node.
5. A method as claimed in any one of claims 1 to 4, further comprising the step of updating a routing table provided in the intermediate network node, such that subsequent requests from end user devices to access the parent site module are automatically directed to the child site module hosted by the intermediate network node.
6. A method as claimed in any one of the preceding claims further comprising the step of:
receiving a request from another node to download a copy of the child site module; and
sending a copy of the child site module to the other node.
7. A method as claimed in any one of claims 2 to 6, wherein the download request message comprises a hypertext transfer protocol, HTTP, GET message.
8. A method as claimed in claim 7, wherein a header portion of the HTTP GET message is adapted to provide information relating to the execution environment of the intermediate network node.
9. A method as claimed in any one of the preceding claims, wherein the child site module comprises:
at least part of the dynamic content provided by the parent site module to end user devices; or
at least part of the dynamic content and at least part of the static content provided by the parent site module to end user devices; or
all the dynamic content provided by the parent site module to end user devices; or
all the dynamic content and all the static content provided by the parent site module to end user devices; or
a complete copy of the parent site module.
10. A method as claimed in any one of the preceding claims, further comprising the step of receiving update messages from the server that hosts the parent site module, for updating the content of the child site module.
1 1 . A method as claimed in any one of the preceding claims, wherein the server node hosting the parent site module is located in a different
communication network to the wireless communication network that hosts the intermediate network node.
12. A method in a server node that hosts a parent site module for providing content or services to end user devices, the method comprising:
receiving a download request message from an intermediate network node of a wireless communications network; and
sending a child site module to the intermediate network node.
13. A method as claimed in claim 12, wherein the received download request message request comprises a hypertext transfer protocol, HTTP, GET message.
A method as claimed in claim 12 or 13, further comprising the steps of: determining from the download request message one or more attributes of the intermediate network node from which the download request message was received; and
adapting the child site module based on the one or more attributes of the intermediate network node.
15. A method as claimed in claim 14, wherein the step of adapting comprises adapting the child site module to match a type of virtual machine environment supported by the intermediate network node.
16. An intermediate network node for providing a service to end user devices in a wireless communications network, the intermediate network node comprising:
a memory unit for storing a child site module received from a server node that hosts a parent site module for providing content or services to end user devices;
a receiving unit adapted to receive requests from end user devices to access the parent site module; and
a processing unit adapted to direct the requests received from the end user devices to the child site module of the intermediate network node.
17. An intermediate network node as claimed in claim 16, wherein the received child site module comprises:
at least part of the dynamic content provided by the parent site module to end user devices; or
at least part of the dynamic content and at least part of the static content provided by the parent site module to end user devices; or
all the dynamic content provided by the parent site module to end user devices; or
all the dynamic content and all the static content provided by the parent site module to end user devices; or
a complete copy of the parent site module.
18. An intermediate network node as claimed in claim 16 or 17, wherein the wireless communication network that hosts the intermediate network node is different to a communication network where the server node that hosts the parent site module is located.
19. A computer program configured, when run on a computer, to carry out a method according to any one of claims 1 to 15.
20. A computer program product comprising a computer readable medium and a computer program according to claim 19 stored on the computer readable medium.
PCT/EP2015/053380 2015-02-18 2015-02-18 An intermediate network node for providing a service to end user devices in a wireless communications network Ceased WO2016131481A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2015/053380 WO2016131481A1 (en) 2015-02-18 2015-02-18 An intermediate network node for providing a service to end user devices in a wireless communications network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2015/053380 WO2016131481A1 (en) 2015-02-18 2015-02-18 An intermediate network node for providing a service to end user devices in a wireless communications network

Publications (1)

Publication Number Publication Date
WO2016131481A1 true WO2016131481A1 (en) 2016-08-25

Family

ID=52574143

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2015/053380 Ceased WO2016131481A1 (en) 2015-02-18 2015-02-18 An intermediate network node for providing a service to end user devices in a wireless communications network

Country Status (1)

Country Link
WO (1) WO2016131481A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286946A (en) * 2020-09-25 2021-01-29 长沙市到家悠享网络科技有限公司 Data processing method, server and medium
WO2024031912A1 (en) * 2022-08-09 2024-02-15 中国电信股份有限公司 Time synchronization method and apparatus under multi-hop network, and related device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050203962A1 (en) * 2004-03-09 2005-09-15 Dong Zhou Framework and associated apparatus for the adaptive replication of applications with server side code units
US20130311551A1 (en) * 2010-04-07 2013-11-21 Limelight Networks, Inc. Edge-based resource spin-up for cloud computing
WO2015088409A1 (en) * 2013-12-12 2015-06-18 Telefonaktiebolaget L M Ericsson (Publ) An intermediate network node providing a service to a mobile terminal in a wireless communications network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050203962A1 (en) * 2004-03-09 2005-09-15 Dong Zhou Framework and associated apparatus for the adaptive replication of applications with server side code units
US20130311551A1 (en) * 2010-04-07 2013-11-21 Limelight Networks, Inc. Edge-based resource spin-up for cloud computing
WO2015088409A1 (en) * 2013-12-12 2015-06-18 Telefonaktiebolaget L M Ericsson (Publ) An intermediate network node providing a service to a mobile terminal in a wireless communications network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PEI CAO ET AL: "Active Cache: caching dynamic contents on the Web", DISTRIBUTED SYSTEMS ENGINEERING, INSTITUTE OF PHYSICS PUBLISHING, BRISTOL, GB, vol. 6, no. 1, 1 March 1999 (1999-03-01), pages 43 - 50, XP020073380, ISSN: 0967-1846, DOI: 10.1088/0967-1846/6/1/305 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286946A (en) * 2020-09-25 2021-01-29 长沙市到家悠享网络科技有限公司 Data processing method, server and medium
CN112286946B (en) * 2020-09-25 2024-01-12 长沙市到家悠享网络科技有限公司 Data processing method, server and medium
WO2024031912A1 (en) * 2022-08-09 2024-02-15 中国电信股份有限公司 Time synchronization method and apparatus under multi-hop network, and related device

Similar Documents

Publication Publication Date Title
US11792294B2 (en) Method and apparatus for reducing loading time of web pages
CN102375882B (en) Method, device and browser for quickly accessing web pages
CN107203555B (en) Page loading processing method and device
US10091289B2 (en) Provisional execution of dynamic content component
RU2673403C2 (en) Website access method, device and website system
US9565265B2 (en) Method and apparatus for automatically optimizing the loading of images in a cloud-based proxy service
US10693979B2 (en) Third party validation of web content
US20160173635A1 (en) Identifying correlated components of dynamic content
JP7464732B2 (en) Image processing method and device, server, and computer program
US8527862B2 (en) Methods for making ajax web applications bookmarkable and crawlable and devices thereof
US20150100955A1 (en) Method and System for Updating Software
US10148735B1 (en) Application layer load balancer
US20140143647A1 (en) Method for improving browser cache by reducing duplicate stored content
CN108287836A (en) A kind of resource caching method and device
CN103678508A (en) Method and device for opening a webpage
US11853806B2 (en) Cloud computing platform that executes third-party code in a distributed cloud computing network and uses a distributed data store
US9813839B2 (en) Intermediate network node providing a service to a mobile terminal in a wireless communications network
CN105308559A (en) Dynamically configuring user experiences with action uniform resource identifiers
CN115668894A (en) Service worker configured to service a plurality of single-page applications
US9286054B2 (en) Deployment of mobile enterprise application platform
KR102032813B1 (en) Method and system for synchronizing file update of cache server
CN119883400A (en) React framework-based on-demand loading method and storage medium
CN112926002A (en) Service request processing method and device
WO2016131481A1 (en) An intermediate network node for providing a service to end user devices in a wireless communications network
CN106354792A (en) Webpage display method and device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15705980

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15705980

Country of ref document: EP

Kind code of ref document: A1