US10120801B2 - Object caching for mobile data communication with mobility management - Google Patents
Object caching for mobile data communication with mobility management Download PDFInfo
- Publication number
- US10120801B2 US10120801B2 US14/378,118 US201314378118A US10120801B2 US 10120801 B2 US10120801 B2 US 10120801B2 US 201314378118 A US201314378118 A US 201314378118A US 10120801 B2 US10120801 B2 US 10120801B2
- Authority
- US
- United States
- Prior art keywords
- base station
- object cache
- cache server
- server
- user equipment
- 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.)
- Active, expires
Links
- 238000004891 communication Methods 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 46
- 230000004044 response Effects 0.000 claims description 30
- 238000012546 transfer Methods 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000006399 behavior Effects 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
-
- H04L67/2842—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2876—Pairs of inter-processing entities at each side of the network, e.g. split proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/288—Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2885—Hierarchically arranged intermediate devices, e.g. for hierarchical caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/14—Flow control between communication endpoints using intermediate storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/0005—Control or signalling for completing the hand-off
- H04W36/0011—Control or signalling for completing the hand-off for data sessions of end-to-end connection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/08—Reselecting an access point
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/17—Embedded application
- G06F2212/171—Portable consumer electronics, e.g. mobile phone
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/08—Access point devices
Definitions
- This invention relates to the field of optimisation of mobile data communication with mobility management.
- the invention relates to Quality of Experience optimisation using object caching for mobile data communication with mobility management.
- a wireless mobile data terminal communicates with a server on a connected fixed network.
- a mobile data terminal may be any device that can send data over a wireless network where the network provides mobility management.
- networks include: the GPRS (General packet radio service) (2G) network; the WCDMA (Wideband Code Division Multiple Access) (3G) network; or the LTE (Long Term Evolution) or WiMAX (Worldwide Interoperability for Microwave Access) (4G) network.
- the background and description of the invention are described in terms of the 3 rd Generation Mobile Phone Network, UMTS (Unified Mobile Telephony System)/WCDMA.
- FIG. 1 a schematic diagram shows the UMTS architecture 100 which is standardised by the 3rd Generation Partnership Project (3GPP).
- 3GPP 3rd Generation Partnership Project
- the wireless device (cell phone, 3G dongle for a laptop, tablet device, etc.) is known in 3GPP terminology as a User Equipment (UE) 101 . It connects wirelessly 110 to the base station which is labelled Base Station (BS) 102 and is known as a Node B in 3GPP terminology. Around 100 Node Bs are connected over microwave or optical fibre 120 to a Radio Network Controller (RNC) 103 which is connected back to a Serving GPRS Support Node (SGSN) 104 (which supports several RNCs) and then a Gateway GPRS Support Node (GGSN) 105 . Finally the GGSN is connected back to the operators' service network (OSN) 10 which connects to the Internet 107 at a peering point.
- RNC Radio Network Controller
- the protocols between the base station back to the GGSN are various 3GPP specific protocols over which the IP traffic from the UE is tunnelled.
- a GPRS tunnelling protocol (GTP) 130 is used between the RNC 103 and the GGSN 105 .
- GTP GPRS tunnelling protocol
- OSN 106 and the Internet 107 standard Internet Protocol (IP) 140 is used between the GGSN 105 .
- IP Internet Protocol
- a key problem with communication via mobile networks is the rapid increase of data traffic.
- the density of mobile computing platforms is increasing at an exponential rate.
- Mobile computing platforms include traditional platforms such as phones, tablets and mobile broadband enabled laptops but increasingly also mobile data enabled devices, such as GPS systems, cars, even mobile medical equipment.
- MNOs Mobile Network Operators
- the time taken to load a web page on a mobile device is typically much longer than to load the same page from a fixed connection. In part this is due to limited bandwidth and congestion in the network as described above but even if these factors are ignored, the round trip time over a mobile network is much longer than on a fixed link.
- Some of this increased round-trip delay time (RTT) is related to the radio interface from the UE to the base station and some is related to the connection back from the base station over microwave to the core network and the core network itself.
- FIGS. 2A to 2C a series of schematic block diagrams illustrate a network architecture 200 with mobility management as a user equipment (UE) 201 moves at the edge of the network.
- the figures show four base stations 211 - 214 named Node Bs.
- Sub-sets of base stations 211 - 212 , 213 - 214 communicate with individual RNCs 221 , 222 .
- This communication is referred to as a backhaul link 231 , 232 between the base stations and the core of the telephone company's network.
- the RNCs 221 , 222 communicate with a SGSN 241 which uses a GGSN 251 which connects to the Internet 260 which includes multiple servers, such as the shown server 261 .
- the server 261 has a TCP (Transmission Control Protocol) socket 262 which communicates with a TCP socket 202 at the UE 201 when a user wishes to access data from the server 261 .
- TCP Transmission Control Protocol
- FIGS. 2A to 2C the data transfer is shown in solid straight arrows, and the signalling control is shown as curved hashed arrows.
- the UMTS system makes a tunnel 270 from the GGSN 251 to the user equipment (UE) 201 .
- the UE 201 is communicating with base station Node B 1 211 as the user is closest to this base station.
- the IP tunnel 270 is shown for user traffic.
- the IP tunnel 270 is shown for illustration purposes in FIGS. 2 a to 2 C and in practice passes through the interim components, such as the RNC 221 and the SGSN 241 in FIG. 2A .
- the RNC 221 detects movement of the UE 201 and starts a mobility event and works with the GSNs 251 , 261 (GPRS Support Nodes) to move the tunnel 270 as the UE 201 moves from base station 211 to base station 212 .
- GSNs 251 , 261 GPRS Support Nodes
- FIG. 2B shows the UE 201 moved to base station Node B 2 212 and the tunnel 270 moved correspondingly.
- FIG. 2C shows the UE 201 moved to base station Node B 3 213 causing inter-RNC mobility as the UE 201 moves from a base stations with first RNC 1 221 to a base station with second RNC 2 222 with the tunnel 270 moved accordingly.
- the key point is that the UMTS system maintains the integrity of the tunnel 270 across the mobility event.
- the TCP connections flowing through the tunnel 270 are not broken. It is possible that one or more IP packets may be dropped during the mobility event but TCP is designed to operate over lossy links and so this packet drop can be easily recovered.
- the tunnel 270 is handed off seamlessly from one RNC 221 to another 222 .
- the problem with simply adding a caching forward http proxy at the base station is that it impacts on mobility management.
- the UE has a TCP connection which is terminated in the base station. If the UE moves to another base station, then it is extremely difficult to maintain a TCP connection which has state in a part of the network through which the data traffic is no longer travelling.
- There are some solutions in the literature which talk of forwarding traffic for these connections from the base station which the UE is using back to the base station where the TCP connection is terminated but this scheme has a number of drawbacks.
- a method for object caching with mobility management for mobile data communication including intercepting and snooping data communications at a base station between a user equipment and a content server without terminating communications, implementing object caching at the base station using snooped data communications, implementing object caching at an object cache server in the network, where the object cache server proxies communications to the content server from the user equipment, and maintaining synchrony between an object cache at the base station and an object cache at the object cache server.
- a system for object caching with mobility management for mobile data communication including a processor, a network containing one or more base stations, where the network supports mobility management of data transfer to and from a user equipment, an object cache component at a base station for intercepting and snooping data communications between a user equipment and a content server without terminating communications, an object cache server in the network, where the object cache server proxies communications to the content server from the user equipment, and synchronising components at the base station and object cache server for maintaining synchrony between an object cache at the base station and an object cache at the object cache server.
- a computer program stored on a computer readable medium and loadable into the internal memory of a digital computer, comprising software code portions, when the program is run on a computer, for performing the method of any the first aspect of the present invention.
- FIG. 1 is a schematic diagram showing a mobile network architecture, in accordance with the prior art, and in which a preferred embodiment of the present invention may be implemented;
- FIGS. 2A to 2C are schematic block diagrams showing mobile management across a mobile network, in accordance with the prior art, and in which a preferred embodiment of the present invention may be implemented;
- FIG. 3 is a block diagram of a system, in accordance with a preferred embodiment of the present invention.
- FIG. 4 is a block diagram of a computer system in which a preferred embodiment of the present invention may be implemented
- FIG. 5 is a flow diagram of an aspect of a method, in accordance with a preferred embodiment of the present invention.
- FIG. 6 is a flow diagram of an aspect of a method, in accordance with a preferred embodiment of the present invention.
- FIG. 7 is a flow diagram of an aspect of a method, in accordance with a preferred embodiment of the present invention.
- FIG. 8 is a flow diagram of an aspect of a method, in accordance with a preferred embodiment of the present invention.
- FIG. 9 is a flow diagram of an aspect of a method, in accordance with a preferred embodiment of the present invention.
- a solution is described for reducing the latency seen when a wireless mobile data terminal (the User Equipment (UE)) fetches data objects from a server.
- UE User Equipment
- Reduced latency is a key goal of mobile broadband providers because it has a dramatic effect on the Quality of Service perceived by the end users. End users desire instant load of information but the reality of the current network is that it can take many 100s of milliseconds or even seconds to load a web page, even over the most recent technology.
- the mobile data terminal may be any device that can send data over a wireless network where the network provides mobility management.
- Example networks include the GPRS (2G) network, the WCDMA (3G) network, or the LTE or WiMAX (4G) network. However, for the purposes of this description the 3G UMTS/WCDMA network will be used.
- the described solution presents a way to provide the same savings in latency that may be achieved by placing an object cache at the base station whilst also providing mobility. That is to say that if a UE moves to a new location whilst it is being served content from a cache in the base station, the UE continues to receive content without a break. This capability is preserved even in the event that the UE has moved to a base station which has not been modified for this solution. Additionally, this technique can be combined with byte caching which improves its ability to cache effectively.
- An object caching server is inserted into the network at the reference point called the “Gi”.
- This server is referred to as a “OCGi” (Object Cache Gi).
- OCGi Object Cache Gi
- the Gi is much like a conventional WAN, it is the place where the connection is made to the peering point with the Internet.
- This OCGi component contains a HTTP forward caching proxy which has some additional functionality that will be described further.
- the breakout and object caching component at a base station is referred to as a “OCNB” (Object Cache Node B).
- the OCNB contains a cache but this operates slightly differently to a traditional forward caching proxy as will be described.
- FIG. 3 a block diagram shows an embodiment of the described system 300 .
- a user equipment (UE) 301 moves at the edge of the network between multiple base stations (only two are shown in this example) 311 - 312 these are referred to as Node Bs in 3G terminology.
- the UE 301 has a transfer protocol socket 302 for data transmission to and from a socket 362 of a server 361 on the Internet 360 .
- the base stations 311 - 312 communicate with an RNC 321 .
- This communication is referred to as a backhaul link 331 between the base stations and the core of the telephone company's network.
- the RNC 321 communicates with a SGSN 341 which in turn communicates with a GGSN 351 .
- the described system includes an object cache server 380 referred to herein as an object cache Gi (OCGI) at the point where the network connects to the peering point with the Internet 360 .
- the object cache server 380 operates as HTTP forward caching proxy with additional functionality.
- the object cache server 380 includes transfer protocol sockets 381 , 382 , and a object cache structure 383 .
- the object cache server 380 may also include a synchronisation component 384 for synchronising its object cache structure 383 with that of the object cache structure 392 of the object cache component 390 of the base station 312 .
- the object cache server 380 may also include a detecting component 385 for detecting movement of the user equipment from a base station cell and taking over serving an object of a request.
- the Internet 360 provides communication with multiple content servers, such as the shown content server 361 .
- the content server 361 has a transfer protocol socket 362 .
- one of the base stations 312 includes an object cache component 390 referred to as an object cache Node B (OCNB) which includes breakout and object cache functionality to optimise data transfer.
- the object cache component 390 includes an object cache structure 392 .
- An embodiment of the object cache component 390 at the base station 312 includes a breakout component 391 for breaking out traffic which includes a fake socket 397 which mimics the behaviour and state of the real socket in the object cache server 380 .
- the object cache component 390 also includes a snooping component 393 for snooping on traffic to and from the UE 301 . It also includes a cache look-up component 398 for determining if a snooped request or response is cached in the object cache 392 of the base station object cache component 390 . It also includes a mimicking component 394 for generating responses which mimic responses from the object cache server 380 .
- the object cache component 390 may also include a synchronisation component 395 for synchronising its object cache 392 with that of the object cache 383 of the object cache server 380 . It may further include a notification component 396 for sending notification to the object cache server 380 of a cache hit at the object cache component 390 of the base station 312 .
- an exemplary system for implementing aspects of the invention includes a data processing system 400 suitable for storing and/or executing program code including at least one processor 401 coupled directly or indirectly to memory elements through a bus system 403 .
- the memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
- the memory elements may include system memory 402 in the form of read only memory (ROM) 404 and random access memory (RAM) 405 .
- ROM read only memory
- RAM random access memory
- a basic input/output system (BIOS) 406 may be stored in ROM 404 .
- System software 407 may be stored in RAM 405 including operating system software 408 .
- Software applications 410 may also be stored in RAM 405 .
- the system 400 may also include a primary storage means 411 such as a magnetic hard disk drive and secondary storage means 412 such as a magnetic disc drive and an optical disc drive.
- the drives and their associated computer-readable media provide non-volatile storage of computer-executable instructions, data structures, program modules and other data for the system 400 .
- Software applications may be stored on the primary and secondary storage means 411 , 412 as well as the system memory 402 .
- the computing system 400 may operate in a networked environment using logical connections to one or more remote computers via a network adapter 416 .
- Input/output devices 413 can be coupled to the system either directly or through intervening I/O controllers.
- a user may enter commands and information into the system 400 through input devices such as a keyboard, pointing device, or other input devices (for example, microphone, joy stick, game pad, satellite dish, scanner, or the like).
- Output devices may include speakers, printers, etc.
- a display device 414 is also connected to system bus 403 via an interface, such as video adapter 415 .
- a flow diagram 500 shows an embodiment of the described method.
- the method includes intercepting and snooping 501 data communications at a base station between a user equipment and a content server on a network.
- Object caching is implemented 502 at the base station using snooped communications to optimize data transfer.
- Object caching is also implemented 503 at an object cache server provided in the network.
- the object cache server proxies communications to the content server from the user equipment. Synchronicity is maintained 504 between the object cache at the base station and the object cache at the server.
- the example scenario is now described in order to illustrate the described solution in more detail.
- the example scenario is where the UE fetches a web object using the HTTP protocol in a UMTS network.
- a UE establishes 601 a tunnel with a network.
- the UE and the UMTS network may set up a radio bearer and tunnel between the UE and the Gi. Note that this operation often happens in advance with the same tunnel being used over and over again for different requests.
- the UE may need to make 602 a new TCP connection (over the tunnel) to the HTTP port of a content server that it wishes to fetch a web object from.
- This connection is proxied 603 in an OCGi.
- This TCP connection involves one round trip delay on the radio network for the SYN-SYN-ACK TCP set-up phase; however, it should be noted that the HTTP protocol typically holds a single TCP connection open across many requests so it is assumed that the TCP connection will already exist in many cases and therefore there is no per request round trip.
- the UE may make 604 an HTTP GET request for a web object over its TCP connection in the normal way.
- the tunnel carrying the TCP connection over which the HTTP GET request flows may be redirected 605 into an OCNB appliance at the base station (Node B) by a breakout function as known in the prior art.
- the TCP connection is not terminated or proxied, it is simply snooped 606 .
- the HTTP GET request flows on through the tunnel to the core where the TCP connection is terminated in the OCGi.
- the OCNB snoops 701 a request from the UE.
- the OCNB uses the snooped HTTP request to perform 702 a lookup in the OCNB local cache. What happens next depends on whether there is a cache hit or a cache miss 703 .
- the OCNB continues to monitor 709 the TCP connection and snoops the response as it flows through the OCNB unchanged from the OCGi to the UE.
- the OCNB snoops the contents of the response and examines it to determine if it is cacheable. If it is cacheable it places 710 the response into its cache as well as allowing it to flow unchanged to the UE.
- the determination of whether the request is cacheable includes logic to ensure that nothing is cached at the OCNB that has not also been cached at the OCGi.
- a cache hit at the OCNB means that when the OCNB snooped the request it was able to determine that the OCNB has the data in its local cache necessary to serve the requested object.
- the scheme guarantees also that the exact same object is present in the OCGi cache.
- the requested object is retrieved 704 from the cache.
- the OCNB can know precisely every detail of the HTTP response that the OCGi will send for the response. This knowledge can be precisely correct in every detail so that the OCNB is capable of creating the same sequence of bytes including all headers that the OCGi will create. Since the OCNB is also monitoring the TCP connection, it also knows the TCP state at the OCGi and can predict the TCP sequence numbers that will be used to send the response. In this way the OCNB can keep its Fake Socket synchronised with the real socket in the OCGi.
- the OCNB creates 705 the response as the sequence of TCP packets that it knows the OCGi will create when the OCGi processes the request.
- the OCNB sends 706 the response to the UE by causing its fake TCP socket to imitate the real TCP socket in the OCGi inserting into the TCP connection in the direction towards the UE the sequence of TCP packets that will be created by the OCGi. Because the fake socket at the OCNB is kept synchronised with the real socket at the OCGi, the packets sent from the fake socket are identical in all regards to those that would be sent from the OCGi.
- the OCNB can perform this task before the request has reached the OCGi.
- the UE will begin acknowledging these packets with TCP ACK packets containing the sequence numbers that are being acknowledged.
- TCP ACK packets are snooped 707 by the OCNB in order to update the state of its fake socket but they are not intercepted. They flow back to the OCGi where they are used to maintain the state of the TCP socket in the OCGi, keeping this synchronised with the data transfer. This is important in case of mobility as shown below.
- the OCNB sends 708 a notification to the OCGi to indicate that this is a cache hit.
- the notification may be sent in multiple ways. Some examples are as follows:
- the OCNB can send an out of band message, perhaps over UDP to a well known port and IP address and this is intercepted at the OCGi.
- the advantage of this is that there is no need to delay the HTTP GET request.
- the OCGi forward caching proxy receives 801 the request.
- the OCGi proxies 802 the connection and begins to process the request in the normal way for a HTTP forward caching proxy.
- the object is fetched 807 from the origin content server and may be later added 808 to the cache at the OCGi and OCNB. In this case, it can be guaranteed that the request is also a cache miss at the OCNB.
- the request is processed in the normal way that a forward caching proxy processes a cache miss.
- the OCGi may receive 805 an indication from the OCNB that this request is a cache hit in the OCNB. If this is received, rather than serving 809 the content, the OCGi simply maintains the TCP state machine which mirrors the state of the connection. It does not send packets but it receives the ACKs for the packets that the OCNB sends on its behalf.
- the OCGi does not receive an indication from an OCNB that there has been an OCNB cache hit, then the OCGi starts serving 806 the object. There are three possible reasons for this as follows:
- OCGi will begin serving packets before it receives the indication of a cache hit in the OCNB.
- the OCGi may generate some packets which duplicate the packets generated at the OCNB. Both of these will flow to the UE but this is not a problem.
- TCP allows for duplicate packets so long as they are the same. Eventually the OCGi will receive notification and will stop sending packets.
- FIG. 9 an example embodiment is described of an aspect of the method 900 in the form of a mobility event.
- the UE may move 901 to a new base station.
- the OCGi may detect 902 that the UE has moved to a new base station. There are several ways this can happen. Here are three examples:
- the OCGi is informed by the network.
- the OCGi maintains a heartbeat with the OCNB.
- the OCGi sends UDP datagrams to the UE which are removed by the OCNB. If the OCNB is not present then the UE will receive these and generate an ICMP Port Unreachable error. The OCGi notices that it has not received acknowledgement from the UE for packets that were sent and retransmits assuming no OCNB.
- the OCGi When the OCGi detects that the UE has moved to a new base station, the OCGi takes over 903 serving the object. It can do this because it has the up to date state of the TCP connection. It simply needs to start sending packets at the point where the OCNB stopped sending them.
- the OCGi may communicate out of band with the OCNB to arrange for the new OCNB to take over 904 the serving of the object. To do this it will be necessary to communicate the details of the original request together with the current offset and TCP information.
- a cache at a base station object cache component must be consistent with the cache at the object cache server (the OCGi). This consistency is a guarantee that if an object is cached at the OCNB, the exact same object is cached at the OCGi, and that the OCGi does not need to go back to the origin content server (if the cached object is stale).
- the OCGi has a different version of the object or if it needs to go back to the origin content server to fetch the object, then there is a possibility that the sequence of TCP packets generated by the OCNB may be different to that which would be generated by the OCGi.
- Each OCNB cache may be of a fixed size.
- the cache at the OCGi may be equal to the sum of all the OCNB cache sizes.
- the OCGi may partition its cache and separately manage the cached objects cached for each OCNB present in the system.
- the caching logic and parameters may be the same in the OCNB and OCGi for the following:
- the described method and system may be combined with a byte caching process between a base station and the Gi.
- Byte caching may be implemented between a central interception server in the Gi and a set of interception functions in a subset of the base stations.
- the implementation intercepts but does not terminate transfer protocol connections. It optimises transfer protocol connections when they flow through a base station which has the optimisation function. If the UE moves to another base station which has the optimisation function then optimisation continues. If the UE moves to a base station that does not have the optimisation function then the transfer protocol connection is not affected but is not optimised.
- a byte caching server may be inserted into the UMTS network at the reference point called the “Gi”.
- This server may be referred to as a “BCGi” (Byte Cache Gi) and may be combined with the described object cache server (the OCGi).
- This BCGi component operates as a conventional transparent TCP proxy but has additional byte caching behaviour.
- a byte cache component (referred to as a “BCNB” (Byte Cache Node B)) may be provided at one or more of the base stations which may be combined with the described base station object cache component (the OCNB).
- the BCNB function operates as a “bump in the wire”. It is not a proxy.
- the transfer protocol connection between the UE and the core is not terminated but it is sometimes manipulated by the BCNB as if it were terminating it.
- a UE may establish a tunnel with the network in the normal way. It makes a TCP connection to a port at a content server it wishes to receive data from. This TCP connection may be transparently proxied by the BCGi. The response from the server port may flow back through the proxy and may be propagated back to the UE.
- the BCGi does not alter the TCP stream at all but does begin examining the data, calculating Rabin fingerprints and storing away chunks of the file in the byte cache together keyed on their SHA1 hash.
- the byte caching is not fully described here because it is well described in the prior art references. Suffice to say that the BCGi starts to populate a standard byte cache structure but does nothing more until the UE moves to a base station with a BCNB function.
- a BCNB may signal to the BCGi that it is present in the data path by generating marker IP packets which would not be generated by the UE and which the BCGi intercepts.
- the BCGi may stop sending normal TCP traffic and may start instead to send “Byte Caching Records” (BCRs) for this traffic to the BCNB.
- BCRs “Byte Caching Records”
- these records are sent through the GTP tunnel as if they were to be sent to the UE but they are not sent inside the TCP connection. Instead they are sent over UDP to a port that the BCGi recognises. There are in fact many ways that these records could be sent, UDP to a special port is one example.
- the BCRs may contain:
- a byte caching token which is essentially a key that represents a chunk of the data (typically in the region of 8K in size).
- a fake TCP socket may be created. This fake socket behaves identically to the fake socket described for the OCNB.
- the BCNB may receive the byte caching tokens from the BCGi and may use these tokens to reconstitute the original data.
- the details of reconstituting the original data are related to byte caching.
- the byte cache at BCNB looks up the token in its cache to find the corresponding full data and reconstructs the TCP packets. What is critical is that the BCNB does not need to perform the expensive Rabin fingerprinting operations on the data, these can all be done at the BCGi.
- the BCNB simply accesses the data related to the token and recreates the TCP packets.
- the BCNB uses the data in the BCRs to reconstitute the TCP frames around the data fetched from the byte cache.
- the OCNB cache would hold sequences of byte caching tokens keyed on the HTTP request details.
- the initial lookup of a HTTP request would yield a sequence of byte cache tokens.
- the byte cache would sit under this and may hold the data for some or all of these tokens. In the case where the data for some of the tokens was not present in the cache then it would be fetched. It will be clear to someone skilled in the art that the process of inserting the data into the TCP stream at the OCNB is identical between a byte caching implementation and an object caching implementation. In either case, the fake socket at the node B issues the sequence of TCP packets that the real TCP socket would have produced.
- aspects of the present invention may be embodied as a system, method, computer program product or computer program. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
- a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof.
- a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
- Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc. or any suitable combination of the foregoing.
- Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java®, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
- the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- LAN local area network
- WAN wide area network
- Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates.
- These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
-
- When to cache a response;
- The eviction policy when the cache size is exceeded;
- When an object is deemed to be stale.
Combined Object Caching and Byte Caching
Claims (20)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1204362.6A GB2500373A (en) | 2012-03-13 | 2012-03-13 | Object caching for mobile data communication with mobility management |
GB1204362.6 | 2012-03-13 | ||
PCT/EP2013/052558 WO2013135443A1 (en) | 2012-03-13 | 2013-02-08 | Object caching for mobile data communication with mobilty management |
Publications (2)
Publication Number | Publication Date |
---|---|
US20150032974A1 US20150032974A1 (en) | 2015-01-29 |
US10120801B2 true US10120801B2 (en) | 2018-11-06 |
Family
ID=46026417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/378,118 Active 2034-01-18 US10120801B2 (en) | 2012-03-13 | 2013-02-08 | Object caching for mobile data communication with mobility management |
Country Status (6)
Country | Link |
---|---|
US (1) | US10120801B2 (en) |
CN (1) | CN104160679B (en) |
DE (1) | DE112013000702T5 (en) |
GB (2) | GB2500373A (en) |
TW (1) | TWI578745B (en) |
WO (1) | WO2013135443A1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9819604B2 (en) | 2013-07-31 | 2017-11-14 | Nvidia Corporation | Real time network adaptive low latency transport stream muxing of audio/video streams for miracast |
US10299171B2 (en) | 2013-12-03 | 2019-05-21 | Telefonaktiebolaget Lm Ericsson (Publ) | First service network node, a second service network node and methods relating to handling of a service session |
CN104159249B (en) * | 2014-07-30 | 2018-05-18 | 华为技术有限公司 | The method, apparatus and system of a kind of Service Data Management |
CN105721538A (en) * | 2015-12-30 | 2016-06-29 | 东莞市青麦田数码科技有限公司 | Data access method and apparatus |
CN105542685B (en) * | 2016-02-03 | 2018-12-11 | 京东方科技集团股份有限公司 | Sealant, liquid crystal display panel, liquid crystal display and preparation method |
US10540282B2 (en) | 2017-05-02 | 2020-01-21 | International Business Machines Corporation | Asynchronous data store operations including selectively returning a value from cache or a value determined by an asynchronous computation |
WO2018203185A1 (en) * | 2017-05-02 | 2018-11-08 | International Business Machines Corporation | Asynchronous data store operations |
US11553061B1 (en) * | 2021-07-30 | 2023-01-10 | At&T Intellectual Property I, L.P. | Hyperlocal edge cache |
Citations (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001016788A2 (en) | 1999-09-01 | 2001-03-08 | Nextwave Telecom Inc. | Distributed cache for a wireless communication system |
US20020052884A1 (en) * | 1995-04-11 | 2002-05-02 | Kinetech, Inc. | Identifying and requesting data in network using identifiers which are based on contents of data |
US6535509B2 (en) * | 1998-09-28 | 2003-03-18 | Infolibria, Inc. | Tagging for demultiplexing in a network traffic server |
EP1039721B1 (en) | 1999-03-24 | 2004-03-17 | Kabushiki Kaisha Toshiba | Information delivery to mobile computers using cache servers |
US6721288B1 (en) | 1998-09-16 | 2004-04-13 | Openwave Systems Inc. | Wireless mobile devices having improved operation during network unavailability |
WO2004057437A2 (en) | 2002-12-23 | 2004-07-08 | Electronics And Telecommunications Research Institute | System and method for managing cache data by using a cache register in a mobile database system |
US20050135357A1 (en) * | 2003-12-22 | 2005-06-23 | 3Com Corporation | Stackable routers employing a routing protocol |
US7080158B1 (en) * | 1999-02-09 | 2006-07-18 | Nortel Networks Limited | Network caching using resource redirection |
US7143169B1 (en) * | 2002-04-04 | 2006-11-28 | Cisco Technology, Inc. | Methods and apparatus for directing messages to computer systems based on inserted data |
US20070245090A1 (en) * | 2006-03-24 | 2007-10-18 | Chris King | Methods and Systems for Caching Content at Multiple Levels |
US20080086594A1 (en) * | 2006-10-10 | 2008-04-10 | P.A. Semi, Inc. | Uncacheable load merging |
US20080153460A1 (en) * | 2006-12-21 | 2008-06-26 | Chan Mary S | Methods and Apparatus for Distributed Multimedia Content Supporting User Mobility |
US20080229021A1 (en) * | 2007-03-12 | 2008-09-18 | Robert Plamondon | Systems and Methods of Revalidating Cached Objects in Parallel with Request for Object |
US20080310365A1 (en) | 2007-06-12 | 2008-12-18 | Mustafa Ergen | Method and system for caching content on-demand in a wireless communication network |
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 |
US20090327412A1 (en) * | 2008-06-25 | 2009-12-31 | Viasat, Inc. | Methods and systems for peer-to-peer app-level performance enhancing protocol (pep) |
US20100057883A1 (en) | 2008-08-28 | 2010-03-04 | Sycamore Networks, Inc. | Distributed content caching solution for a mobile wireless network |
CN101682566A (en) | 2007-03-12 | 2010-03-24 | 思杰系统有限公司 | Systems and methods of providing proxy-based quality of service |
US20100161741A1 (en) * | 2008-12-24 | 2010-06-24 | Juniper Networks, Inc. | Using a server's capability profile to establish a connection |
EP1928154B1 (en) | 2006-12-01 | 2010-08-11 | Fujitsu Ltd. | Efficient utilization of cache servers in mobile communication system |
US20100235585A1 (en) | 2009-03-12 | 2010-09-16 | At&T Mobility Ii Llc | Data caching in consolidated network repository |
US7813484B2 (en) * | 2002-08-08 | 2010-10-12 | Telecommunication Systems, Inc. | All-HTTP multimedia messaging |
WO2010115469A1 (en) | 2009-04-09 | 2010-10-14 | Nokia Siemens Networks Oy | Base station caching for an efficient handover in a mobile telecommunication network with relays |
US20110044338A1 (en) * | 2006-12-20 | 2011-02-24 | Thomas Anthony Stahl | Throughput in a lan by managing tcp acks |
US20110125820A1 (en) | 2009-11-25 | 2011-05-26 | Yi-Neng Lin | Telecommunication network aggregation cache system and method |
WO2011091861A1 (en) | 2010-02-01 | 2011-08-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Caching in mobile networks |
US20110202634A1 (en) * | 2010-02-12 | 2011-08-18 | Surya Kumar Kovvali | Charging-invariant and origin-server-friendly transit caching in mobile networks |
WO2011116819A1 (en) | 2010-03-25 | 2011-09-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Caching in mobile networks |
WO2012009619A2 (en) | 2010-07-15 | 2012-01-19 | Movik Networks | Hierarchical device type recognition, caching control and enhanced cdn communication in a wireless mobile network |
US20130198274A1 (en) * | 2012-01-26 | 2013-08-01 | Matthew Nicholas Papakipos | Social Hotspot |
-
2012
- 2012-03-13 GB GB1204362.6A patent/GB2500373A/en not_active Withdrawn
-
2013
- 2013-02-08 CN CN201380012617.9A patent/CN104160679B/en active Active
- 2013-02-08 GB GB1415284.7A patent/GB2513284B/en not_active Expired - Fee Related
- 2013-02-08 US US14/378,118 patent/US10120801B2/en active Active
- 2013-02-08 WO PCT/EP2013/052558 patent/WO2013135443A1/en active Application Filing
- 2013-02-08 DE DE112013000702.9T patent/DE112013000702T5/en not_active Withdrawn
- 2013-03-08 TW TW102108212A patent/TWI578745B/en not_active IP Right Cessation
Patent Citations (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020052884A1 (en) * | 1995-04-11 | 2002-05-02 | Kinetech, Inc. | Identifying and requesting data in network using identifiers which are based on contents of data |
US6721288B1 (en) | 1998-09-16 | 2004-04-13 | Openwave Systems Inc. | Wireless mobile devices having improved operation during network unavailability |
US6535509B2 (en) * | 1998-09-28 | 2003-03-18 | Infolibria, Inc. | Tagging for demultiplexing in a network traffic server |
US7080158B1 (en) * | 1999-02-09 | 2006-07-18 | Nortel Networks Limited | Network caching using resource redirection |
EP1039721B1 (en) | 1999-03-24 | 2004-03-17 | Kabushiki Kaisha Toshiba | Information delivery to mobile computers using cache servers |
US6941338B1 (en) * | 1999-09-01 | 2005-09-06 | Nextwave Telecom Inc. | Distributed cache for a wireless communication system |
WO2001016788A2 (en) | 1999-09-01 | 2001-03-08 | Nextwave Telecom Inc. | Distributed cache for a wireless communication system |
US7143169B1 (en) * | 2002-04-04 | 2006-11-28 | Cisco Technology, Inc. | Methods and apparatus for directing messages to computer systems based on inserted data |
US7813484B2 (en) * | 2002-08-08 | 2010-10-12 | Telecommunication Systems, Inc. | All-HTTP multimedia messaging |
WO2004057437A2 (en) | 2002-12-23 | 2004-07-08 | Electronics And Telecommunications Research Institute | System and method for managing cache data by using a cache register in a mobile database system |
US20050135357A1 (en) * | 2003-12-22 | 2005-06-23 | 3Com Corporation | Stackable routers employing a routing protocol |
US20070245090A1 (en) * | 2006-03-24 | 2007-10-18 | Chris King | Methods and Systems for Caching Content at Multiple Levels |
US20080086594A1 (en) * | 2006-10-10 | 2008-04-10 | P.A. Semi, Inc. | Uncacheable load merging |
EP1928154B1 (en) | 2006-12-01 | 2010-08-11 | Fujitsu Ltd. | Efficient utilization of cache servers in mobile communication system |
US20110044338A1 (en) * | 2006-12-20 | 2011-02-24 | Thomas Anthony Stahl | Throughput in a lan by managing tcp acks |
US20080153460A1 (en) * | 2006-12-21 | 2008-06-26 | Chan Mary S | Methods and Apparatus for Distributed Multimedia Content Supporting User Mobility |
CN101682566A (en) | 2007-03-12 | 2010-03-24 | 思杰系统有限公司 | Systems and methods of providing proxy-based quality of service |
US20080229021A1 (en) * | 2007-03-12 | 2008-09-18 | Robert Plamondon | Systems and Methods of Revalidating Cached Objects in Parallel with Request for Object |
US20080310365A1 (en) | 2007-06-12 | 2008-12-18 | Mustafa Ergen | Method and system for caching content on-demand in a wireless communication network |
EP2281383B1 (en) | 2008-05-20 | 2013-03-13 | Alcatel-Lucent | Method and apparatus for pre-fetching data in a mobile network environment using edge data storage |
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 |
US20090327412A1 (en) * | 2008-06-25 | 2009-12-31 | Viasat, Inc. | Methods and systems for peer-to-peer app-level performance enhancing protocol (pep) |
US20100057883A1 (en) | 2008-08-28 | 2010-03-04 | Sycamore Networks, Inc. | Distributed content caching solution for a mobile wireless network |
US20100161741A1 (en) * | 2008-12-24 | 2010-06-24 | Juniper Networks, Inc. | Using a server's capability profile to establish a connection |
US20100235585A1 (en) | 2009-03-12 | 2010-09-16 | At&T Mobility Ii Llc | Data caching in consolidated network repository |
WO2010115469A1 (en) | 2009-04-09 | 2010-10-14 | Nokia Siemens Networks Oy | Base station caching for an efficient handover in a mobile telecommunication network with relays |
US20110125820A1 (en) | 2009-11-25 | 2011-05-26 | Yi-Neng Lin | Telecommunication network aggregation cache system and method |
WO2011091861A1 (en) | 2010-02-01 | 2011-08-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Caching in mobile networks |
US20120300747A1 (en) * | 2010-02-01 | 2012-11-29 | Telefonaktiebolaget L M Ericsson (Publ) | Caching in mobile networks |
US20110202634A1 (en) * | 2010-02-12 | 2011-08-18 | Surya Kumar Kovvali | Charging-invariant and origin-server-friendly transit caching in mobile networks |
WO2011100518A2 (en) | 2010-02-12 | 2011-08-18 | Movik Networks, Inc. | Charging-invariant and origin-server-friendly transit caching in mobile networks |
WO2011116819A1 (en) | 2010-03-25 | 2011-09-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Caching in mobile networks |
WO2012009619A2 (en) | 2010-07-15 | 2012-01-19 | Movik Networks | Hierarchical device type recognition, caching control and enhanced cdn communication in a wireless mobile network |
US20130198274A1 (en) * | 2012-01-26 | 2013-08-01 | Matthew Nicholas Papakipos | Social Hotspot |
Non-Patent Citations (7)
Title |
---|
Chinese Office Action in related Chinese Application No. 201380012617.9 dated Aug. 31, 2016, 9 pages. |
Hsiao et al, "Tailoring a Dsm Simulation Environment for Edge Cache Architecture," Proceedings of the 7th Workshop on Compiler Techniques for High-Performance Computing (CTHPC'01), Mar. 15-16, 2001, 15 pages. |
International Search Report and Written Opinion for International Application No. PCT/EP2013/052558, dated Apr. 3, 2013, 12 pages. |
Lai et al., "Supporting User Mobility Through Cache Relocation," Mobile Information Systems, 2005, Abstract. |
Lai et al., "Supporting User Mobility Through Cache Relocation," Mobile Information Systems, 2005, pp. 275-307. |
Nguyen et al., "An Adaptive Cache Consistency Strategy in a Disconnected Mobile Wireless Network," 2011 IEEE International Conference on Computer Science and Automation Engineering (CSAE), Issue Date: Jun. 10-12, 2011, pp. 256-260. |
Search Report for GB Application No. GB1204362.6, dated Jul. 11, 2012, 8 pages. |
Also Published As
Publication number | Publication date |
---|---|
DE112013000702T5 (en) | 2014-10-09 |
CN104160679A (en) | 2014-11-19 |
US20150032974A1 (en) | 2015-01-29 |
GB201204362D0 (en) | 2012-04-25 |
TWI578745B (en) | 2017-04-11 |
GB201415284D0 (en) | 2014-10-15 |
GB2513284A (en) | 2014-10-22 |
CN104160679B (en) | 2017-09-29 |
WO2013135443A1 (en) | 2013-09-19 |
TW201404101A (en) | 2014-01-16 |
GB2500373A (en) | 2013-09-25 |
GB2513284B (en) | 2014-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10120801B2 (en) | Object caching for mobile data communication with mobility management | |
US9198089B2 (en) | Caching architecture for streaming data between base stations in mobile networks | |
US9237438B2 (en) | Continuous cache service in cellular networks | |
US9001840B2 (en) | Content caching in the radio access network (RAN) | |
US20120297009A1 (en) | Method and system for cahing in mobile ran | |
KR20130137859A (en) | Method and apparatus for handover in mobile content centric network | |
KR20130122196A (en) | Mobile contents delivery method using a hand-over and apparatus therefor | |
US8942174B2 (en) | Reducing packet loss in a mobile data network with data breakout at the edge | |
US9253683B2 (en) | Utilizing stored data to reduce packet data loss in a mobile data network with data breakout at the edge | |
US8848614B2 (en) | Cooperative mobility management in a mobile data network with data breakout at the edge | |
US9390053B2 (en) | Cache device, cache control device, and methods for detecting handover | |
US9729661B2 (en) | Optimization of mobile data communication using byte caching | |
EP3186959B1 (en) | Enrichment of upper layer protocol content in tcp based session | |
US9560557B2 (en) | Mobility management of OSI connections between cell towers | |
US11140594B2 (en) | Methods and service nodes for transferring a service session for a wireless device | |
WO2013069985A1 (en) | Mobile communication system and content provision method in mobile communication system | |
US11166209B2 (en) | Methods and service nodes for transferring a service session for a wireless device between service nodes associated to different base stations | |
KR101589446B1 (en) | Traffic redirection method for contents delivery service and computer readable recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DEAKIN, OLIVER M.;MOORE, VICTOR S.;NICHOLSON, ROBERT B.;AND OTHERS;SIGNING DATES FROM 20140801 TO 20140807;REEL/FRAME:033512/0732 |
|
AS | Assignment |
Owner name: GLOBALFOUNDRIES U.S. 2 LLC COMPANY, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:036277/0160 Effective date: 20150629 |
|
AS | Assignment |
Owner name: GLOBALFOUNDRIES U.S. 2 LLC, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:036550/0001 Effective date: 20150629 |
|
AS | Assignment |
Owner name: GLOBALFOUNDRIES INC., CAYMAN ISLANDS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GLOBALFOUNDRIES U.S. 2 LLC;GLOBALFOUNDRIES U.S. INC.;REEL/FRAME:036779/0001 Effective date: 20150910 |
|
AS | Assignment |
Owner name: GLOBALFOUNDRIES U.S.2 LLC, NEW YORK Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE THE RECEIVING PARTY DATA (NAME OF ASSIGNEE) NEEDS TO BE CORRECTED. ASSIGNEE SHOULD READ GLOBALFOUNDRIES U.S. 2 LLC PREVIOUSLY RECORDED ON REEL 036277 FRAME 0160. ASSIGNOR(S) HEREBY CONFIRMS THE GLOBALFOUNDRIES U.S. 2 LLC COMPANY;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:036919/0644 Effective date: 20150629 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, DELAWARE Free format text: SECURITY AGREEMENT;ASSIGNOR:GLOBALFOUNDRIES INC.;REEL/FRAME:049490/0001 Effective date: 20181127 |
|
AS | Assignment |
Owner name: GLOBALFOUNDRIES U.S. INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GLOBALFOUNDRIES INC.;REEL/FRAME:054633/0001 Effective date: 20201022 |
|
AS | Assignment |
Owner name: GLOBALFOUNDRIES INC., CAYMAN ISLANDS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION;REEL/FRAME:054636/0001 Effective date: 20201117 |
|
AS | Assignment |
Owner name: GLOBALFOUNDRIES U.S. INC., NEW YORK Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION;REEL/FRAME:056987/0001 Effective date: 20201117 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |