U.S. patent application number 15/508388 was filed with the patent office on 2017-08-31 for method and apparatuses for enabling routing of data packets between a wireless device and a service provider based in the local service cloud.
The applicant listed for this patent is Telefonaktiebolaget LM Ericsson (publ). Invention is credited to Johan Rune, Lars Westberg, Vinay Yadhav.
Application Number | 20170250952 15/508388 |
Document ID | / |
Family ID | 55440186 |
Filed Date | 2017-08-31 |
United States Patent
Application |
20170250952 |
Kind Code |
A1 |
Westberg; Lars ; et
al. |
August 31, 2017 |
Method and Apparatuses for Enabling Routing of Data Packets Between
a Wireless Device and a Service Provider Based in the Local Service
Cloud
Abstract
There is provided a method for constructing a traffic filter
enabling routing of data between a wireless device and a Local
Service Cloud, LSC, based service provider and a corresponding
system, computer program and computer program carrier. There is
also provided a method for enabling routing of data packets between
a wireless device in a cellular communication network and a Local
Service Cloud, LSC, based service provider, a method for routing
data packets between a wireless device in a cellular communication
network and a Local Service Cloud, LSC, based service provider and
corresponding network nodes.
Inventors: |
Westberg; Lars; (Enkoping,
SE) ; Rune; Johan; (Lidingo, SE) ; Yadhav;
Vinay; (Upplands Vasby, SE) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Telefonaktiebolaget LM Ericsson (publ) |
Stockholm |
|
SE |
|
|
Family ID: |
55440186 |
Appl. No.: |
15/508388 |
Filed: |
September 4, 2014 |
PCT Filed: |
September 4, 2014 |
PCT NO: |
PCT/SE2014/051021 |
371 Date: |
March 2, 2017 |
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H04L 63/0272 20130101;
G06F 2009/45562 20130101; H04L 63/0236 20130101; H04L 67/327
20130101; G06F 2009/4557 20130101; H04L 61/1511 20130101; H04L
63/0245 20130101; H04L 61/6013 20130101; G06F 9/45504 20130101;
G06F 2009/45595 20130101; H04L 67/16 20130101; H04W 40/20 20130101;
H04L 67/1002 20130101 |
International
Class: |
H04L 29/06 20060101
H04L029/06; H04L 29/12 20060101 H04L029/12; H04W 40/20 20060101
H04W040/20; G06F 9/455 20060101 G06F009/455 |
Claims
1-57. (canceled)
58. A method for constructing a traffic filter enabling routing of
data between a wireless device and a Local Service Cloud (LSC)
based service provider providing services or applications for the
wireless device, the method comprising: obtaining information
representing an identity of the wireless device requesting an
application to be processed by a local cloud based service, and a
representation of an application identity identifying the
application; selecting, based on the application identity, a
Virtual Machine (VM) as the LSC based service provider suitable to
process the application for the wireless device; and constructing
the traffic filter based on the information representing the
identity of the wireless device, the representation of the
application identity and a representation of an identity of the
selected VM, the traffic filter providing routing of data between
the wireless device and the selected VM.
59. The method according to claim 58, wherein the traffic filter
comprises one or more of at least one uplink filter for routing of
data from the wireless device to the selected VM and at least one
downlink filter for routing of data from the selected VM to the
wireless device.
60. The method according to claim 58, wherein the identity of the
wireless device comprises at least one of an international mobile
subscriber identity (IMSI) signature of the wireless device, an
internet protocol (IP) address of the wireless device and a medium
access control (MAC) address of the wireless device.
61. The method according to claim 58, wherein the selected VM is
selected by determining conditional constraints that optionally
restrict the wireless device's use of the application and using the
determined conditional constraints to reduce the number of VMs
suitable to process the application for the wireless device.
62. The method according to claim 61, wherein the conditional
constraints comprise constraints relating to whether the wireless
device is authorized to use the application.
63. The method according to claim 61, wherein the conditional
constraints comprise any of the following, or any combination of
the following: constraints on a maximal limit for delays or packet
losses; security constraints rendering particular VMs
non-selectable; geographical access constraints rendering
particular VMs non-selectable; constraints on a network load
rendering certain VMs non-selectable; constraints on a VM-load
rendering certain VMs non-selectable; and constraints on latency
limits making certain VMs non-selectable.
64. The method according to claim 58, wherein the step of selecting
the selected VM is based on information identifying a selection of
VMs within a local cloud that are deemed suitable to process the
application for the wireless device.
65. The method according to claim 64, wherein the information
identifying the selection of VMs is obtained from a Topology Data
Base (TDB) carrying information about existing VMs within the local
cloud and information about deployment of applications.
66. The method according to claim 64, wherein the step of selecting
the selected VM comprises extracting at least one VM from the
selection of VMs by means of at least one Traffic Engineering (TE)
algorithm.
67. The method according to claim 66, wherein the at least one TE
algorithm is any of the following, or any combination of the
following: a shortest path algorithm, counting a number of hops
among the selection of VMs, wherein a suitable VM, comprised in the
selection of VMs, and is selected responsive to a determination
that the suitable VM adheres to a constraint on the number of hops;
a cost based optimization algorithm wherein a suitable VM,
comprised in the selection of VMs, is selected based on a
comparison with a cost threshold and an actual cost of processing;
and a priority based optimization algorithm wherein a suitable VM,
comprised in the selection of VMs, is selected based on priority
values assigned to each VM within the local cloud.
68. The method according to claim 58, wherein the step of
constructing the traffic filter enabling routing of data between
the wireless device and the selected VM is based on information
representing an internet protocol (IP) address of the selected
VM.
69. The method according to claim 58, wherein the step of
constructing the traffic filter enabling routing of data between
the wireless device and the selected VM is based on information
representing an identity of a Virtual Local Area Network (VLAN)
hosting the selected VM.
70. The method according to claim 69, wherein the step of
constructing the traffic filter enabling routing of data between
the wireless device and the selected VM, is also based on a medium
access control (MAC) address of the selected VM hosted by the
VLAN.
71. The method according to claim 58, wherein the step of
constructing the traffic filter enabling routing of data between
the wireless device and the selected VM is based on information
representing an identity of at least one bearer used for routing
data packets to the wireless device.
72. The method according to claim 71, wherein the step of
constructing the traffic filter also comprises the step of
providing a mapping between the at least one bearer used for
routing data packets to the wireless device and the selected VM,
thereby enabling routing of data packets between the selected VM
and the wireless device over a connection link defined by said the
at least one bearer.
73. A system configured to construct a traffic filter enabling
routing of data between a wireless device and a Local Service Cloud
(LSC) based service provider providing services or applications for
the wireless device, wherein the system comprises: processing
circuitry configured to: obtain information representing an
identity of the wireless device requesting an application to be
processed by a local cloud based service, and a representation of
an application identity identifying the application; select, based
on the application identity, a Virtual Machine (VM) as the LSC
based service provider suitable to process the application for the
wireless device; and construct the traffic filter based on the
information representing the identity of the wireless device, the
representation of the application identity and a representation of
an identity of the selected VM, the traffic filter providing
routing of data between the wireless device and the selected
VM.
74. The system according to claim 73, wherein the processing
circuitry is configured to construct the traffic filter to comprise
one or more of at least one uplink filter for routing of data from
the wireless device to the selected VM and at least one downlink
filter for routing of data from the selected VM to the wireless
device.
75. The system according to claim 73, wherein the processing
circuitry is configured to obtain the identity of the wireless
device by obtaining at least one of an international mobile
subscriber identity (IMSI) signature of the wireless device, an
internet protocol (IP) address of the wireless device and a medium
access control (MAC) address of the wireless device.
76. The system according to claim 73, wherein the processing
circuitry is configured to select the selected VM by determining
conditional constraints that optionally restrict the wireless
device's use of the application and using the determined
conditional constraints to reduce the number of VMs suitable to
process the application for the wireless device.
77. The system according to claim 76, wherein the processing
circuitry is configured to select the selected VM based on
conditional constraints that comprise constraints relating to
whether the wireless device is authorized to use the
application.
78. The system according to claim 76, wherein the processing
circuitry is configured to select the selected VM based on
conditional constraints that comprise any of the following, or any
combination of the following: constraints on a maximal limit for
delays or packet losses; security constraints rendering particular
VMs non-selectable; geographical access constraints rendering
particular VMs non-selectable; constraints on a network load
rendering certain VMs non-selectable; constraints on a VM-load
rendering certain VMs non-selectable; and constraints on latency
limits making certain VMs non-selectable.
79. The system according to claim 73, wherein the processing
circuitry is configured to select the selected VM based on
information identifying a selection of VMs within a local cloud
that are deemed suitable to process the application for the
wireless device.
80. The system according to claim 79, wherein the processing
circuitry is configured to the obtain information identifying a
selection of VMs from a Topology Data Base (TDB) carrying
information about existing VMs within the local cloud and
information about deployment of applications.
81. The system according to claim 79, wherein the processing
circuitry is configured to select the selected VM by extracting at
least one VM from the selection of VMs by means of at least one
Traffic Engineering (TE) algorithm.
82. The system according to claim 81, wherein the processing
circuitry is configured to extract at least one VM based on at
least one TE algorithm comprising any of the following, or any
combination of the following: a shortest path algorithm, counting a
number of hops among the selection of VMs, wherein a suitable VM,
comprised in the selection of VMs, and is selected responsive to a
determination that the suitable VM adheres to a constraint on the
number of hops; a cost based optimization algorithm wherein a
suitable VM, comprised in the selection of VMs, is selected based
on a comparison with a cost threshold and an actual cost of
processing; and a priority based optimization algorithm wherein a
suitable VM, comprised in the selection of VMs, is selected based
on priority values assigned to each VM within the local cloud.
83. The system according to claim 73, wherein the processing
circuitry is configured to construct the traffic filter enabling
routing of data between the wireless device and the selected VM
based on information representing an internet protocol (IP) address
of the VM.
84. The system according to claim 73, wherein the processing
circuitry is configured to construct the traffic filter enabling
routing of data between the wireless device and the selected VM
based on information representing an identity of a Virtual Local
Area Network (VLAN) hosting the selected VM.
85. The system according to claim 84, wherein the processing
circuitry is configured to construct the traffic filter enabling
routing of data between the wireless device and the selected VM,
also based on a medium access control (MAC) address of the selected
VM hosted by the VLAN.
86. The system according to claim 73, wherein the processing
circuitry is configured to construct the traffic filter enabling
routing of data between the wireless device and the selected VM
based on information representing an identity of at least one
bearer used for routing data packets to the wireless device.
87. The system according to claim 86, wherein the processing
circuitry is configured to construct the traffic filter by also
providing a mapping between the at least one bearer used for
routing data packets to the wireless device and the selected VM,
thereby enabling routing of data packets between the selected VM
and the wireless device over a connection link defined by the at
least one bearer.
88. The system according to claim 87, wherein the processing
circuitry is configured to construct the traffic filter by
determining the at least one bearer to be used for routing data
packets from the selected VM to the wireless device.
89. The system according to claim 86, wherein the processing
circuitry is configured to construct the traffic filter by
determining the at least one bearer used to route data packets to
the wireless device, the at least one bearer being at least one of:
a Radio Bearer (RB), an evolved packet system (EPS) bearer and a
Radio Access Bearer (RAB).
90. The system according to claim 73, wherein the system comprises
a memory, the memory comprising instructions executable by the
processing circuitry, whereby the processing circuitry is operative
to construct the traffic filter.
91. The system according to claim 90, wherein the communication
circuitry is configured to obtain the information representing the
identity of the wireless device requesting the application to be
processed by the local cloud based service, and the representation
of the application identity identifying the application.
92. A non-transitory computer-readable storage medium storing a
computer program for constructing a traffic filter enabling routing
of data between a wireless device and a Local Service Cloud (LSC)
based service provider providing services or applications for the
wireless device, the computer program comprising instructions,
which when executed by at least one processor of a system
configured to construct the traffic filter, cause the system to:
read information representing an identity of the wireless device
requesting an application to be processed by a local cloud based
service, and a representation of an application identity
identifying the application; select based on the application
identity, a Virtual Machine (VM) as the LSC based service provider
suitable to process the application for the wireless device; and
construct the traffic filter based on the information representing
the identity of the wireless device, the representation of the
application identity and a representation of an identity of the
selected VM, the traffic filter providing routing of data between
the wireless device and the selected VM.
Description
TECHNICAL FIELD
[0001] The proposed technology generally relates to a method for
constructing a traffic filter enabling routing of data packets
between a wireless device and a Local Service Cloud, LSC, based
service provider and a corresponding system, computer program and
computer program carrier. It also relates to a method for enabling
routing of data packets between a wireless device in a cellular
communication network and a Local Service Cloud, LSC, based service
provider and a corresponding network node. The proposed technology
also relates to a method for routing data packets between a
wireless device in a cellular communication network and a Local
Service Cloud, LSC, based service provider and a corresponding
network node.
BACKGROUND
[0002] An expectation within the field of network technology is
that cloud based service delivery will be important for future
service providers. In the future therefore, it is expected that a
lot of client services will be provided in one way or the other by
the cloud. Many of the currently known and applied cloud
technologies are based on orchestration functions as a way to
manage the cloud functionality.
[0003] The currently utilized approaches are mainly geared towards
using statically provided filter rules that are configured by cloud
management, i.e., orchestration. The rules, or policies, are set
statically and as such cannot adapt to such cases as when a
wireless device have downloaded a new application and want to have
it processed by the cloud.
[0004] A number of approaches has been suggested for managing cloud
functionalities. In US 20120093074 A1, there is disclosed a User
Equipment, UE, where context,
[0005] A number of approaches has been suggested for managing cloud
functionalities. In US 20120093074 A1, there is disclosed a User
Equipment, UE, where context, including a session context for a
breakout data session, is stored in a local memory. The session
context comprises a source internet protocol address, IP address, a
destination IP address, an identifier of a former local breakout
gateway LBGW and an identifier of a new LBGW.
[0006] In US 2011/0069659 A1 there is disclosed a method and an
apparatus for providing a Local Break-Out service, LBO service, in
a wireless communication system.
[0007] In WO 2014014823 A1 there is disclosed a system for
controlling local breakout using a policy infrastructure. The
system includes a Policy and Changing Rules Function, PCRF,
configured to receive an admission request associated with a
subscriber from an eNodeB and, in response to the admission
request, to install a subscriber-specific policy on the eNodeB for
implementing local breakout at the eNode B for the subscriber.
[0008] In U.S. Pat. No. 8,724, 509 B2 there is disclosed a method
for local IP-access without affecting the access to the operator's
core network. The method might be applied in a corporate network
provided with multiple home NodeBs or eNodeBs. The disclosed method
deals with local IP-access.
[0009] In U.S. Pat. No. 8,462,696 B2 there is provided a mobile
terminal that is configured to detect the availability of a local
break-out service to an Internet Protocol gateway GW, and to
initiate a network entry to the local break-out service and to
configure an Internet protocol stack in the mobile terminal based
on the received configuration data. The purpose is to configure the
client by using DHCP as the protocol. This is required in a home GW
environment where the Client is trying to access the home
resources. The disclosed technology is based on the local
IP-address and access is determined on the basis of the
IP-address.
[0010] In certain mobile systems, there are solutions for end-user
based policies. These policy rules are set by the operator in the
PCRF. The policies are set to dynamically configure the PDN-GW,
PDN-Gate Way, either when a Client, such as a User Equipment, UE,
connects to the network or when a QoS-bearer is activated. Other
solutions for home base-stations are dealing with local-break-out
of traffic to the local home-GW.
[0011] Further approaches can be found in Refs [1]-[8].
SUMMARY
[0012] The proposed technology aims to provide alternative
mechanisms for managing or controlling cloud functionalities. These
mechanisms provide for an efficient routing of data packets between
a wireless device served by the functionalities of the cloud and
the cloud.
[0013] To enable a satisfactory service provided by the
functionality of the cloud, the activation of cloud services should
preferably be able to incorporate the particular demands from the
wireless device requesting the services. The service should in
particular be able to cope with the dynamics of the specific
application chosen by the user of the wireless device, and thus to
be able to provide a routing of data packets to and from cloud
based services based on the particular demands of the wireless
device. It would in particular be a preferable feature if the data
traffic between the wireless device and the cloud services was more
dynamical and tailored to the specific application.
[0014] The proposed technology aims to provide mechanisms or
functionalities that enables an efficient routing of data packets
between a wireless device served by a service provider in a Local
Service Cloud, LSC, and the LSC.
[0015] It is an object of the proposed technology to provide
methods for constructing a traffic filter that enables a routing of
data packets between a service provider based in a Local Service
Cloud, LSC, and a wireless device that is requesting an application
to be processed by the LSC.
[0016] It is a specific object to provide a method that enables
routing of data packets between a wireless device in a cellular
communication network and a Local Service Cloud, LSC, based service
provider.
[0017] It is another specific object to provide a method performed
by a network node serving the wireless device in the cellular
communication network for routing data packets between a wireless
device in a cellular communication network and a Local Service
Cloud, LSC, based service provider.
[0018] Yet another specific object of the proposed technology is to
provide a system for constructing a traffic filter that enables a
routing of data packets between a service provider hosted in a
Local Service Cloud, LSC, and a wireless device that is requesting
an application to be processed by the LSC.
[0019] Still another specific object of the proposed technology is
to provide a network node configured for routing data packets
between a wireless device in a cellular communication network and a
Local Service Cloud, LSC, based service provider.
[0020] Yet another object is to provide a traffic filter that
enables routing of data packets between a wireless device and a LSC
based service provider.
[0021] Yet another a specific object is to provide a computer
program comprising instructions, which when executed by at least
one processor, cause the at least one processor to construct a
traffic filter.
[0022] These and other objects are met by embodiments of the
proposed technology.
[0023] According to a first aspect, the proposed technology
provides a method for constructing a traffic filter enabling
routing of data between a wireless device and a Local Service
Cloud, LSC, based service provider providing service(s) and/or
application(s) for the wireless device. The method comprises:
[0024] obtaining information representing the identity of the
wireless device requesting an application to be processed by the
local cloud based service, and a representation of an application
identity identifying the application; [0025] selecting, based on
the application identity, a Virtual Machine, VM, as the LSC based
service provider suitable to process the application for the
wireless device; [0026] constructing a traffic filter based on the
information representing the identity of the wireless device, the
representation of the application identity and a representation of
the identity of the selected VM, the traffic filter providing
routing of data between the wireless device and the selected
VM.
[0027] According to a second aspect the proposed technology
provides a method for enabling routing of data packets between a
wireless device in a cellular communication network and a Local
Service Cloud, LSC, based service provider providing service(s)
and/or application(s) for the wireless device. The method comprises
the steps of: [0028] installing a Local Break-Out, LBO, function in
a network node serving the wireless device, the LBO function
comprising a traffic filter constructed according to the first
aspect enabling routing of data packets between the Local Service
Cloud based service provider and the wireless device; and [0029]
configuring the LBO function in the network node to select, also
referred to as break out, data packets from the wireless device to
be directed to the Local Service Cloud based service provider by
means of the traffic filter and insert, also referred to as break
in, data packets from the Local Service Cloud based service
provider into a packet flow to be carried by the bearer and to be
routed to the wireless device by means of the traffic filter.
[0030] According to third aspect the proposed technology a method
for routing data packets between a wireless device in a cellular
communication network and a Local Service Cloud, LSC, based service
provider providing service(s) and/or application(s) for the
wireless device. The method is performed by a network node serving
the wireless device in the cellular communication network, and the
method comprises the steps of: [0031] selecting, also referred to
as breaking out, data packets from the wireless device to be routed
to the LSC based service provider; and [0032] inserting , also
referred to as breaking in, data packets from the LSC based
provider into a packet flow to be routed to the wireless device,
[0033] wherein the data packets are routed by means of a traffic
filter constructed according to the first aspect.
[0034] According to a fourth aspect, the proposed technology
provides a system configured to construct a traffic filter enabling
routing of data between a wireless device and a Local Service
Cloud, LSC, based service provider providing service(s) and/or
application(s) for the wireless device. The system is configured to
obtain information representing the identity of the wireless device
requesting an application to be processed by the local cloud based
service, and a representation of an application identity
identifying the application. The system is also configured to
select, based on the application identity, a Virtual Machine, VM,
as the LSC based service provider suitable to process the
application for the wireless device. The system is furthermore
configured to construct a traffic filter based on the information
representing the identity of the wireless device, the
representation of the application identity and a representation of
the identity of the selected VM, the traffic filter providing
routing of data between the wireless device and the selected
VM.
[0035] According to a fifth aspect, the proposed technology
provides a network node serving a wireless device in a cellular
communication network and being configured to enable routing of
data packets between the wireless device and a Local Service Cloud,
LSC, based service provider providing service(s) and/or
application(s) for the wireless device. The network node comprises
an installed Local Break-Out, LBO, function, configured to select,
also referred to as break out, data packets from the wireless
device to be directed to the Local Service Cloud based service
provider by means of the traffic filter and insert, also referred
to as break in, data packets from the Local Service Cloud based
service provider into a packet flow to be carried by the bearer and
to be routed to the wireless device by means of the traffic filter.
The LBO function comprises a traffic filter constructed by the
system according to the fourth aspect, which enables a routing of
data packets between the Local Service Cloud based service provider
and the wireless device; and
[0036] According to a sixth aspect, the proposed technology
provides a network node, serving a wireless device in the cellular
communication network, and configured for routing data packets
between a wireless device in a cellular communication network and a
Local Service Cloud, LSC, based service provider providing
service(s) and/or application(s) for the wireless device. The
network node is configured to select, also referred to as breaking
out, data packets from the wireless device to be routed to the LSC
based service provider. The network node is also configured to
insert, also referred to as breaking in, data packets from the LSC
based provider into a packet flow to be routed to the wireless
device. The network node is further configured to rout data packets
by means of a traffic filter constructed by the system according to
the fourth aspect.
[0037] According to a seventh aspect the proposed technology
provides a computer program comprising instructions, which when
executed by at least one processor, cause the processor(s) to:
[0038] read information representing the identity of the wireless
device requesting an application to be processed by the local cloud
based service, and a representation of an application identity
identifying the application; [0039] select, based on the
application identity, a Virtual Machine, VM, as the LSC based
service provider suitable to process the application for the
wireless device ; [0040] construct a traffic filter based on the
information representing the identity of the wireless device, the
representation of the application identity and a representation of
the identity of the selected VM, the traffic filter providing
routing of data between the wireless device and the selected
VM.
[0041] According to an eight aspect the proposed technology
provides a carrier comprising the computer program, wherein the
carrier is one of an electronic signal, an optical signal, an
electromagnetic signal, a magnetic signal, an electric signal, a
radio signal, a microwave signal, or a computer-readable storage
medium.
[0042] According to a ninth aspect the proposed technology provides
a system for constructing a traffic filter enabling routing of data
between a wireless device and a Local Service Cloud, LSC, based
service provider providing service(s) and/or application(s) for the
wireless device. The system comprises: [0043] a communicating
module for obtaining information representing the identity of the
wireless device requesting an application to be processed by the
local cloud based service, and a representation of an application
identity identifying the application; [0044] a selecting module for
selecting, based on the application identity, a Virtual Machine,
VM, as the LSC based service provider suitable to process the
application for the wireless device; [0045] a constructing module
for constructing a traffic filter based on the information
representing the identity of the wireless device, the
representation of the application identity and a representation of
the identity of the selected VM, the traffic filter providing
routing of data between the wireless device and the selected
VM.
[0046] Embodiments of the proposed technology enables a secure and
efficient routing of data packets between a wireless device and a
service provider based in the Local Service Cloud. Other advantages
will be appreciated when reading the detailed description.
BRIEF DESCRIPTION OF THE DRAWINGS
[0047] The embodiments, together with further objects and
advantages thereof, may best be understood by making reference to
the following description taken together with the accompanying
drawings, in which:
[0048] FIG. 1 is a schematic illustration of parts of a network and
a Local Service Cloud
[0049] FIG. 2 is a schematic illustration of the signaling between
entities according to a exemplary embodiment of the proposed
technology
[0050] FIG. 3 is a flow diagram illustrating a particular
embodiment of a method for constructing a traffic filter according
to the proposed technology.
[0051] FIG. 4 is a flow diagram illustrating another particular
embodiment of a method for constructing a traffic filter according
to the proposed technology
[0052] FIG. 5 is a flow diagram illustrating an embodiment of a
method for enabling routing of data packets between a wireless
device and a service provider based in the Local Service Cloud,
LSC.
[0053] FIG. 6 is a flow diagram illustrating an embodiment of a
method for routing data packets between a wireless device and a
service provider based in the Local Service Cloud, LSC.
[0054] FIG. 7A is a block diagram illustrating a particular
embodiment of a system configured to construct a traffic filter
according to the proposed technology
[0055] FIG. 7B is a block diagram illustrating another particular
embodiment of a system configured to construct a traffic filter
according to the proposed technology
[0056] FIG. 8A is a block diagram illustrating a particular
embodiment of a network node according to the proposed
technology.
[0057] FIG. 8B is a block diagram illustrating another particular
embodiment of a network node according to the proposed
technology.
[0058] FIG. 9B is a block diagram illustrating an embodiment of a
system for constructing a traffic filter together with a computer
program product according to the proposed technology.
[0059] FIG. 10 is a diagram illustrating an embodiment of a system
for constructing a traffic filter according to the proposed
technology.
[0060] FIG.11 is a flow diagram illustrating an exemplary
embodiment of the proposed technology.
DETAILED DESCRIPTION
[0061] Throughout the drawings, the same reference designations are
used for similar or corresponding elements.
[0062] For a better understanding of the proposed technology, it
may be useful to begin with a brief overview of the architecture a
network and an associated Local Service Cloud. Reference is made to
the particular example of FIG. 1 that illustrates some features of
a network and a Local Service Cloud.
[0063] In this example, where for simplicity the general
architecture is based on LTE technology, there is shown a wireless
device 10, a network node 20, a Serving Gateway, SGW, 30, a PDN
Gateway, PGW, 40 and a Local Service Cloud, LSC, 50.
[0064] The SGW 30 provides functionalities in the form of routing
and forwarding of user data packets. The PGW provides for
connectivity between the wireless device, e.g. the UE and external
networks, it acts as a network entry point and exit point for the
wireless device. Also disclosed in FIG.1 is a bearer 11 from the WD
to the serving network node. This bearer might be a Radio Bearer,
RB, over which data is carried from the network node to the
wireless device. EPS bearer 12 is also disclosed, an EPS bearer
provides for the possibility to transmit traffic between a WD and a
PGW.
[0065] A Local Service Cloud, LSC, is essentially a pool of server
hardware and/or virtual machines, VMs, hosting third party services
and operator services, but that may also be used for transport- and
network related features such as compression.
[0066] The Local Service Cloud 50 might contain a number of actual
service providers that is generally denoted by the term Virtual
Machines, VMs. These are the actual processing entities that
performs the processing within the cloud. The VMs could for example
be regular processors whose processing functionalities could be
used by an external user, such as a wireless device.
[0067] A possible scenario relevant for the proposed technology is
schematically illustrated by means of the signaling diagram given
in FIG.2. A wireless device requests the service of having an
application processed by a service provider hosted or situated in
the Local Service Cloud.
[0068] According to the proposed technology this request initiates
a mechanism whereby a traffic filter is constructed that enables
routing or forwarding of data packets between the wireless device
and a service provider based in the LSC. As used in this
specification a traffic filter is a set of rules that directs or
routes data packets between a wireless device and a service
provider hosted by the LSC. Or put differently, a functionality
that provides routing information or routing rules that determines
how data packets should be routed. The present filter will be
described more thoroughly in what follows.
[0069] According to an embodiment of the proposed technology it is
provided a mechanism whereby a request from the wireless device to
use cloud functionalities will initiate a traffic filter
construction that will determine how data is to be routed between
the wireless device and the service provider, i.e. a Virtual
Machine, VM, based in the LSC.
[0070] In FIG.3 there is illustrated an embodiment of a method for
constructing a traffic filter enabling routing of data between a
wireless device and a Local Service Cloud, LSC, based service
provider providing service(s) and/or application(s) for the
wireless device. The method comprises: [0071] obtaining information
representing the identity of the wireless device requesting an
application to be processed by the local cloud based service, and a
representation of an application identity identifying the
application; [0072] selecting, based on the application identity, a
Virtual Machine, VM, as the LSC based service provider suitable to
process the application for the wireless device; [0073]
constructing a traffic filter based on the information representing
the identity of the wireless device, the representation of the
application identity and a representation of the identity of the
selected VM, the traffic filter providing routing of data between
the wireless device and the selected VM.
[0074] The proposed method provides a way for allowing data packet
routing on demand based on the particular application/service the
wireless device has requested to be processed. Since the
applications in general is chosen by the end-user, the chosen
applications are not known in advance. The method therefor enables
an end-user based access to the cloud functionalities on demand
where a single request from an end-user in the form of a wireless
device is used to both select, or assign, a Virtual Machine to
process the application and provide data packet routing between the
selected VM and the wireless device.
[0075] The proposed method moreover provides for an efficient way
of constructing a traffic filter. The constructed traffic filter
will enable a fast and secure routing of data packets between the
wireless device and the selected VM. The proposed method allows, in
a specific embodiment, for a construction of an alternative traffic
filter that can handle Internet Protocol routing, or IP-routing,
that is, it provides a traffic filter that can handle routing of
data between two specified IP addresses. One identifying the
wireless device and the other the selected VM. The constructed
traffic filter is however able to provide various types of traffic
filtering or routing, for example over various bearers such as
Radio Bearers, ESPs bearers and Radio Access Bearers, RABs.
Examples of such routing types will be described in more detail in
what follows.
[0076] In a particular embodiment of the proposed method is the
traffic filter constructed so that it comprises at least one uplink
filter for routing of data from the wireless device to the selected
VM and/or at least one downlink filter for routing of data from the
selected VM to the wireless device.
[0077] In an example of an embodiment of the proposed method the
identity of the wireless device may comprise at least one of the
IMSI signature of the wireless device, the IP address of the
wireless device or the MAC address of the wireless device.
[0078] In a possible embodiment of the proposed method is the VM is
selected by determining conditional constraints optionally
restricting the wireless device use of the application and using
the determined conditional constraints to reduce the number of VMs
suitable to process the application for the wireless device. If,
for example, there are a large number of VMs within the LSC that is
deemed suitable to process the application/service for the wireless
device the number of VMs might be reduced if conditional
constraints on the wireless device, the application and the VMs are
taken into consideration. Since a suitable VM should be selected
the use of conditional constraints to reduce the number of VMs
could be advantageous.
[0079] It might be possible that, the conditional constraints of
the VM, the application and the wireless device are so strict that
the number of suitable VMs are reduced to zero.
[0080] The conditional constraints might, in a particular
embodiment, comprise constraints relating to whether the wireless
device is authorized to use the application. If the wireless device
is not authorized to use the application, no VM will be selected
and no a traffic filter will be constructed. Hence the identity of
the application and the particular constraints on the application
and the wireless device are used to determine whether a VM should
be selected and whether a traffic filter should be constructed.
[0081] In still another embodiment of the proposed method the
conditional constraints could comprises any of the following, or
any combination of the following: [0082] constraints on the maximal
limit for delays or packet losses making particular VMs
non-selectable; [0083] security constraints rendering particular
VMs non-selectable; [0084] geographical access constraints
rendering particular VMs non-selectable; [0085] constraints on the
network load rendering certain VMs non-selectable; [0086]
constraints on the VM-load rendering certain VMs non-selectable;
[0087] constraints on the latency limits making certain VMs
non-selectable.
[0088] According to a particular example of the proposed method is
the step S2 of selecting at least one VM based on information
identifying a selection of Virtual Machines, VMs, within the local
cloud that are deemed suitable to process the application for the
wireless device.
[0089] The VMs contained in this selection of VMs might be VMs
where the conditional constraints has been used to determine VMs
fulfilling the conditional constraints.
[0090] According to a particular embodiment of the proposed method
the information identifying a selection of VMs is obtained from a
Topology Database, TDB, carrying information about existing VMs
within the local cloud and information about the deployment of
applications.
[0091] A Topology Database is a database provided with a topology.
The topology is relational, that is, the topology defines relations
between entities within the database, in this way a TDB is more
than just arrays of data entities it also specifies the relations
between the data entities. The concept of a topology database is
well-known and no further description will be given here. In this
particular application the used features of the TDB is the entities
corresponding to the VMs and the VMs deployment of
applications/services.
[0092] It might be preferable to use a topology database that
comprises a topology map includes knowledge about unused resources
for Storage and CPU of the VMs and also cloud based Traffic
engineering algorithms that can be used for on-demand selection of
suitable VMs to process the applications.
[0093] By way of example, the step S2 of selecting a VM might, in
the proposed method, comprise extracting at least one VM from the
selection of VMs by means of at least one Traffic Engineering, TE,
algorithm.
[0094] By using a TE algorithm it will be possible to distinguish
which of the VMs that are preferable to use based on comparison
between the outcomes of the TE algorithm performed on individual
VMs. Hence the TE algorithm is used to pick out, if not the
optional VM, than at least a VM that is deemed satisfying according
to the set criteria's.
[0095] In a particular embodiment of the proposed method at least
one TE algorithm is chosen from the following, or any combination
of the following: [0096] a shortest path algorithm, counting the
number of hops among the VMs, wherein a suitable VM, comprised in
the selection of VMs, and is selected if adhering to a constraint
on the number of hops; [0097] a cost based optimization algorithm
wherein a suitable VM, comprised in the selection of VMs, is
selected based on a comparison with a cost threshold and the actual
cost of the processing; [0098] a priority based optimization
algorithm wherein a suitable VM, comprised in the selection of VMs,
is selected based on priority values assigned to each VM within the
local cloud.
[0099] By way of example, the step S3 of constructing a traffic
filter enabling routing of data between the wireless device and the
selected VM is, in a particular embodiment of the proposed method,
based on information representing the IP address of the VM.
[0100] The method according to the above given embodiment specifies
that the information that is used to identify the selected VM is
the IP address of the VM. In the particular case where the
corresponding information identifying the wireless device is the IP
address of the wireless device the constructed traffic filter will
provide for IP-routing of data packets between the selected VM and
the wireless device.
[0101] In still another possible embodiment of the method is the
step S3 of constructing a traffic filter enabling routing of data
between the wireless device and the selected VM is based on
information representing the identity of the Virtual Local Area
Network, VLAN, hosting the selected VM.
[0102] By identifying the VLAN hosting the selected VM it will be
possible to rout data packets effectively between the wireless
device and the VM by routing in the most suitable way to the VLAN.
For example on a designated bearer such as a particular EPS bearer
providing a link between the wireless device and the VLAN. This
routing of data packets to the VLAN might be all that is needed if
the VLAN only contains a single VM, in this case the identity of
the VM is uniquely determined and the data packet routing
completely specified.
[0103] Since a VLAN however might contain more than a single VM the
data routing needs to be further specified to find the particular
selected VM. The traffic filter might therefore first rout the data
packets to the entry point of the VLAN and upon arrival at the VLAN
packets are routed to the particular VM by means of using the MAC
address of the selected VM.
[0104] In other words, in still another exemplary embodiment of the
proposed method is the step of constructing a traffic filter
enabling routing of data between the wireless device and the
selected VM, also based on a MAC address of the selected VM hosted
by the VLAN.
[0105] In a possible embodiment of the proposed method is the step
S3 of constructing a traffic filter enabling routing of data
between the wireless device and the selected VM based on
information representing the identity of at least one bearer used
for routing data packets to the wireless device.
[0106] By utilizing information that identifies the bearer of the
data packets in the construction of the traffic filter it is
possible to route data between the wireless device and the selected
VM in an efficient way where the suitable bearer of data packet is
singled out. The traffic filter might therefor set, as a possible
end-destination for the data packets address, the bearer of data
packets that corresponds to either the VM, on the uplink from the
wireless device to the VM, or the wireless device, on the downlink
from the VM to the wireless device.
[0107] In a specific example of the proposed method relating to the
above, the step S3 of constructing a traffic filter also comprises
the step S31 of providing a mapping between the at least one bearer
used for routing data packets to the wireless device and the
selected VM thereby enabling routing of data packets between the
selected VM and the wireless device over the connection link
defined by the bearer. This embodiment is schematically illustrated
in FIG.4.
[0108] In other words, the traffic filter is constructed so that a
mapping is provided between the identified bearer and the VM. The
traffic filter might then forward data packets from the wireless
device to the VM on the uplink by identifying the bearer and using
the provided mapping to single out the selected VM. The same could
also be done on the downlink, that is, data packets from the VM
could be forwarded to the wireless device over an identified
bearer. If this particular bearer is not the single bearer of data
packets to the wireless device, the method for constructing a
traffic filter might comprise to provide a mapping between the
identified bearer and the wireless device.
[0109] To construct a traffic filter that identifies the bearers is
advantageous when the communication is viewed from the perspective
of the user plane. This point of view will be described more below
in relation to the use of a constructed traffic filter in the user
plane.
[0110] In still another exemplary embodiment of the proposed
method, the step S3 of constructing a traffic filter further
comprises to determine the at least one bearer to be used for
routing data packets from the VM to the wireless device.
[0111] In other words, the traffic filter determines the suitable
bearer of data packets and forward the data packets on the
determined bearer. In case the bearer does not uniquely identify
the wireless device or the VM, the provided mappings between the
bearer and the VM or wireless device can be used to forward the
data packets to the end address.
[0112] In particular embodiments of the proposed method, the at
least one bearer used to route data packets to the wireless device
is at least one of: a Radio Bearer, RB, an EPS bearer or a Radio
Access Bearer, RAB.
[0113] As a specific non-limiting example, suppose that a RB has
been identified and the identity of the RB been used to construct
the traffic filter. This particular RB would receive data packets
forwarded from the selected VM with end destination the wireless
device. If the concerned RB is the single RB serving the wireless
device, that is, the RB provides the relevant radio link for the
wireless device, than the inclusion of this identified RB into the
traffic filter is enough to non-ambiguously forward data packets to
the wireless device. On the other hand if the wireless device has
several established RBs, a mapping between the wireless device and
the RBs might be included so that the correct RB is singled
out.
[0114] The same mechanism could also be used on the uplink. That
is, if a bearer of data packets to the VM is identified, the
inclusion of this bearer identity in the traffic filter could, in
case there is a one to one correspondence between the VM and the
bearer be enough to uniquely specify the VM. The traffic filter
therefor enables data packets to be routed to the VM from the
wireless device on the uplink by identifying the VM by means of
identifying the bearer. Yet again a mapping between the VM and the
bearers may be used in the case with several established bearers.
In other words, if a VM have several established bearers the
traffic filter could comprise a mapping relating the bearers to the
VM.
[0115] To provide a better understanding of the proposed technology
a few non-limiting examples will be described. The examples are
merely intended to facilitate the understanding of the concepts
behind the proposed technology and should not in any way be
construed as limitations of the proposed technology.
[0116] The intention of the following example is to provide a
simplified example of how the proposed method for constructing a
traffic filter is used in a particular scenario. The particular
scenario relates to a situation with a single wireless device,
having a single established Radio Bearer, RB, and where the
selected VM is the single entity of a Virtual Local Area Network,
VLAN.
[0117] A request to have an application processed by the LSC is
obtained Si from a wireless device. The request comprises two
identities, or certain representations of the identities, a
user-identity, providing an explicit or implicit identification the
wireless device, and an application identity. The former identity
could in the present case be implicitly represented by the RB since
there is a single established RB for the wireless device. The
latter identity provides an identification of the particular
application the wireless device wants to be processed in the LSC.
The application identity, Application-ID, might be a pointer that
refers to a specific application type or to an explicit URL or to a
text-string that can be matched to an application. Many examples of
identifier could be used and the mentioned ones are merely specific
examples.
[0118] In step S2 a Virtual Machine, VM, based in the LSC is
selected. The VM is selected in order to provide the application
processing service. The particular selection could for example be
based on whether the user or the wireless device is authorized to
use the application. This could be determined by means of checking
whether the application ID is part of a list of authorized
applications. If the user/wireless device is not authorized to use
the application, the request is denied and a rejection response may
optionally be returned to the actor.
[0119] If however it is determined that the user/wireless device is
authorized to use the application, the selection procedure
continues by collecting possible conditional constraints that is
associated with the application. These conditional constraints are,
together with the the application ID, relayed or sent to a database
such as a Topology Database, TDB. The purpose is to obtain, from
the TDB, a selection of one or more suitable service providers,
i.e., VMs within the LSC. The selection of suitable service
providers is therefor, in this particular example, obtained from
the TDB.
[0120] The functionality of the TDB is to use the relayed
application ID and conditional constraints to select a list or a
selection of suitable VMs based in the LSC. The topology database
might extract the selection of VMs based on a single one of the
following selection criteria, or any combination of the following
selection criteria: [0121] A selection of VMs in the LSC that are
able to process the application. This can be determined based on
the relayed application ID. [0122] Traffic engineering (TE)
algorithms that utilize the relayed conditional constraints in
order to select the VMs. Different optimization algorithms can then
be used to single out a suitable selection, the following
TE-algorithms could be used alone or in any possible combination:
[0123] Shortest path to the VM counted in the number of hops among
the VMs that fulfill the constraints. [0124] Cost based decision.
Instead of using strict binary decision of the constraints that
might be for example thresholds, it is possible to calculate the
difference between the actual value and the thresholds and apply a
cost function to the difference values. The resulting cost can then
be compared to a threshold to make the binary decisions. [0125]
Priority based decision. In this particular case a priority is
assigned to a VM based on the conditional constraints. For example
by providing a particular priority to the VMs based on whether or
not they are fulfilling a particular number of constraints. The
priorities assigned to the VMs might then be used to extract VMs
suitable for processing the application.
[0126] In the end a particular VM is selected for processing the
requested application.
[0127] Based on the selected VM a traffic filter is constructed S3
that enables routing of data packets between the user/wireless
device and the selected VM. In this particular example at hand the
constructed traffic filter comprises a representation of the
identity of the wireless device. In the case at hand this identity
could either be explicit, by providing for example the IMSI OR the
IP address of the wireless device, or implicit by providing an
identity of the single established RB. The identity of the RB will
in this case uniquely determine the wireless device. As has been
explained earlier, if the wireless device had several established
RBs, the traffic filter may comprise a mapping between RBs and the
wireless device. The IP address of the wireless device or the
identity of the RB forms part of downlink section of the traffic
filter. On the uplink section an identity singling out the VLAN
could be used. Since there is only a single VM hosted in the VLAN,
the identity of the VLAN will uniquely specify the VM, conversely
the identity of the VM, for example its IP address will uniquely
specify the VLAN in which the VM is hosted. If there was instead a
number of VMs hosted by the VLAN than further information
specifying the VM could be used. For example the IP address or the
MAC address of the VM.
[0128] A traffic filter is thereby constructed that enables data
packets to be routed between the selected VM and the wireless
device. Since the traffic filter comprises both a UL section and a
DL section it enables routing of data packets to the VM, from the
wireless device, as well as to the wireless device from the VM.
[0129] Having described in detail the method for constructing a
traffic filter enabling routing of data between a wireless device
and a Local Service Cloud, LSC, based service provider. The
following will be related to how such a traffic filter can be used
in the user plane, or equivalently on the data plane or bearer
plane. In particular it relates to how a network node is able to
utilize such a traffic filter to enable routing of data between a
wireless device and a Local Service Cloud, LSC, based service
provider.
[0130] A particular issue at hand is that only selected parts of
the traffic from a wireless device should be routed or,
equivalently, directed to the LSC. In order to break out the
relevant data packets to be routed to the LSC and to avoid breaking
out data packets not intended to be broken out it is proposed a
deployment of a Local Break-Out function, LBO function, that is
dynamically configured to break out and/or break in the relevant
data packets and route or direct the data packets between the LSC
to the correct wireless device and/or bearer. The routing of data
packets may be performed with a traffic filter according to what
has been described earlier. The proposed technology addresses the
deployment of such a LBO function.
[0131] Before providing concrete embodiments of the proposed
technology an overview will be given that provide a conceptually
geared description of the proposed technology that also highlights
how the earlier described traffic filter is used.
[0132] The proposed operation of the network node is based on
having LBO functions installed. The functionality of these LBO
functions is to govern which traffic that should be broken out of a
traffic flow and also inserted into a traffic flow. The LBO
function for an application flow comprises a traffic filter as
described earlier providing a mapping between the VM and the
established bearer, for example an EPS bearer and the VLAN
associated to the VM selected to process the application. In the
uplink UL the LBO function selects the data packets to be broken
out and the traffic filter that provides a mapping between, e.g.
the EPS bearer and the VLAN, governs which VLAN, and implicitly by
means of, for example the MAC address of the VM, which VM the LBO
function will forward the broken out packet to. In the downlink,
DL, the LBO function may use a traffic filter that determine the
particular radio bearer on which to forward a packet from the LSC,
for example by means of a VM-bearer mapping, e.g., a VLAN-EPS
bearer mapping.
[0133] Such an LBO function is suitable to handle a single traffic
flow, that is, for a flow related to a single interaction between a
wireless device and a VM that processes a single application in the
LSC. If a wireless device has multiple simultaneous traffic flows
that are broken out to the LSC, that is, in the case that the
wireless device is interacting with multiple applications processed
in the LSC, there could be an LBO function for each traffic flow.
Moreover, if a wireless device has multiple simultaneous traffic
flows, all of which are using the same IP address identifying the
wireless device, which are broken out to applications running on
the same VM in the LSC, and if the wireless device uses different
radio bearers for the concerned traffic flows, then each LBO
function also has to identify the data packets in the DL, so that
different DL traffic flows are correctly forwarded on their
respective radio bearer.
[0134] With this conceptual description at hand reference is now
made to FIG. 5 where it is schematically shown a flow diagram
illustrating an embodiment of a method for enabling routing of data
packets between a wireless device in a cellular communication
network and a Local Service Cloud, LSC, based service provider
providing service(s) and/or application(s) for the wireless device.
The method comprises the steps of: [0135] installing S100 a Local
Break-Out, LBO, function in a network node serving the wireless
device, the LBO function comprising a traffic filter, constructed
according to what has been described above, enabling routing of
data packets between the Local Service Cloud based service provider
and the wireless device; and [0136] configuring S200 the LBO
function in the network node to select, also referred to as break
out, data packets from the wireless device to be directed to the
Local Service Cloud based service provider by means of the traffic
filter, constructed according to what has been described above, and
insert, also referred to as break in, data packets from the Local
Service Cloud based service provider into a packet flow to be
carried by the bearer and to be routed to the wireless device by
means of the traffic filter.
[0137] The proposed technology provides a way of creating and
deploying Local Break-Out functionality that enables a network node
to both break out the relevant data packets to the LSC and to
insert/break in the relevant data packets from the LSC. The
corresponding data packets can then be directed to their final
destination by means of a traffic filter according to what has been
described earlier. This functionality can handle multiple traffic
flows as well as multiple bearers associated with the same wireless
device.
[0138] In an optional embodiment of the proposed method, the step
of configuring S200 the LBO function is triggered based on a Domain
Name Server, DNS, query for an application or service hosted by the
LSC.
[0139] This optional embodiment provides for a fully dynamical
approach based on a local DNS proxy in LSC. When a wireless device
initially attaches to a network, i.e., by means of an attach
procedure, the core network configures the wireless device with,
among other parameters, the IP address of the particular DNS server
that the wireless device is expected to transmit its DNS queries
to. This in accordance with regular standards and procedures.
[0140] In a particular exemplary embodiment, the LBO function in
each network node might be configured with a static LBO function in
order to breakout DNS queries from wireless devices and direct
these to the DNS proxy in the LSC. This static LBO function might
contain a traffic filter matching the DNS queries and an identifier
of the VLAN that leads to the VM on which the DNS proxy is running.
The traffic filter may comprise the DNS server IP address that the
core network has configured the wireless device with, this could be
assumed to be the same for all wireless devices, or the default
port number for DNS queries or both of these in combination. A
specific embodiment might only include the DNS query default port,
which also allows arbitrary DNS server IP addresses. Such a
described static LBO function could be complemented with a more
dynamic part that handles the part where a DNS query is intercepted
and redirected to the LSC. The dynamic part might comprise of the
IP address of the wireless device and a downlink, DL, mapping from,
e.g. the VLAN to the EPS bearer on which the DNS query was
sent.
[0141] If the DNS proxy is unable to respond to the query, for
example due to the fact that the query does not concern an
application that is supported in the LSC, it may forward the query
to the originally addressed DNS server. The DNS proxy is
transparent in the sense that its presence is not noticeable for
the wireless device. The DNS proxy does not have its own IP
address. It accepts any destination IP address in the query, a fact
that enables it to process DNS queries originally addressed to any
DNS server IP address. When the DSN proxy responds to a query, with
the IP address of a selected VM processing the application in the
LSC, it uses the destination IP address of the query as the source
IP address in the response. When the DNS proxy forwards a query, it
keeps the IP address of the wireless device as the source address
and the IP address of the originally addressed DSN server as the
destination address. That is, it forwards the original DNS query,
including the IP packet that carries it, unmodified.
[0142] In still another particular embodiment is the LBO function
adapted to intercept the DNS query and direct the query to a local
DNS proxy in the LSC and adapted to receive, from the local DNS
proxy, LBO function information for an expected traffic flow of the
application or service, and wherein the LBO function is configured
for the expected packet flow based on the LBO function
information.
[0143] In the case that the DNS proxy finds that the application a
DNS query pertains to is supported in the LSC, a LBO function for
the expected traffic flows of the concerned application could be
established. The DNS proxy could for example contribute to the
traffic filter of the LBO function by providing as input, for
example, the application server IP, i.e., the IP address of the
selected VM processing the application, the IP address of the
wireless device and an application identity. Functionality
associated with the LBO function and/or the LSC, e.g. LSC
orchestration functionality, may interact with the DNS proxy to
select the VM to be used, e.g. in case the same application is
processed by multiple VMs based in the LSC. When the VM has been
selected, a bearer-VM mapping, e.g., a VLAN-EPS bearer mapping can
be set. For example relating the VLAN associated with the selected
VM with the EPS bearer that the DNS query was sent on. In case the
wireless device has multiple EPS bearers it is possible to
initially establish the LBO function, including a VM-bearer
mapping, e.g., a VLAN-EPS bearer mapping, for each of the wireless
device EPS bearers. When the first application data packet flow
arrives at the LBO function, i.e. when the first packet matches the
traffic filter of one of the LBO functions, this is seen as an
indication of which bearer, e.g. EPS bearer, that is used and
consequently the LBO function(s) associated with the other EPS
bearer(s) can be deleted. For the last part of the LBO function the
DNS proxy or the functionality associated with the LBO function
and/or the LSC, such as the LSC orchestration functionality, or
this functionality in cooperation with the DNS proxy, provides the
transport protocol and application port number to the traffic
filter(s) of the LBO function if this is needed in order to
separate multiple traffic flows from the same wireless device.
[0144] To further facilitate the understanding of the proposed
method a concrete example will be given in the context of an
Evolved Packet System, EPS/Long Term Evolution, LTE, cellular
network. Even though this example is described using terms and
concepts of an EPS/LTE cellular network, it should be pointed out
that the principles of the proposed technology could equally well
be applied to cases where the cellular networks are based on other
standards, such as a Universal Mobile Telecommunications System,
UMTS, Wideband Code Division Multiple Access, WCDMA, and High Speed
Packet Access, HSPA.
[0145] In the case of an LTE network the LBO function might also,
on the downlink, utilize a mapping that relates the contents of a
downlink packet to the User Equipment context, UE context in the
eNodeB. The UE context comprises data primarily related to the
bearers of the UE/wireless device including data providing the
identities of established bearers for the UE/wireless device. In
addition the UE context comprises, for example, identifiers for the
signaling connection between the eNodeB and the Mobility Management
Entity, MME, used for signaling related to the UE. This signaling
connection is also referred to as a S1 connection. The UE context
could moreover also comprise user subscription related
information.
[0146] The following identifiers of the bearers may be derived from
the content of the UE context and used to identify the EPS bearers
in the VLAN-EPS bearer mapping describe earlier: [0147] Radio
bearer ID, providing a unique ID for one UE within one eNodeB
[0148] EPS bearer ID providing a unique ID for one UE [0149]
Extended EPS bearer ID, an ID that will be defined below
[0150] If the wireless device, or equivalently the User Equipment,
UE, has a single established radio bearer, that is, a single data
radio bearer, than the VLAN-EPS bearer mapping described earlier is
redundant in the downlink, DL. That is because of the fact that the
destination IP address of the packet, that is, the IP address of
the UE and the mapping to the UE context, i.e. a reference to the
UE context, is enough to single out the radio bearer to use since
it is the only radio bearer included in the UE context.
[0151] Since the bearer is associated with the UE context, the UE
context might be identified based on the bearer of a broken-out
uplink, UL, packet that is subject to local breakout. This could,
for example, be the first UL packet that matches the traffic filter
in the LBO function for the concerned application flow or, as an
alternative, the UL packet containing the DNS query that triggered
the LBO function creation.
[0152] An identifier that might be used to identify the EPS bearer
in the VLAN-EPS bearer mapping could be a particular type of ID
that in the present disclosure is referred to as an Extended EPS
bearer ID. An Extended EPS bearer ID consists of a combination of
three identifiers: 1) the MME UE S1AP ID, 2) the EPS bearer ID, 3)
either the Globally Unique Mobility Management Entity Identifier,
GUMMEI or the IP address of a Mobility Management Entity MME. The
combination provides an identifier that is globally unique.
[0153] The MME UE S1AP ID given above is a well-defined ID within
the technical field that can be used to provide an identification
of a UE, or more precisely, an identification of the MME side of a
signalling connection between an eNodeB and a MME for signalling
pertaining to a certain UE, the signalling connection is also
referred to as a S1 connection. The GUMMEI is a globally unique ID
and so is the MME IP address unless the operator uses private IP
addresses for its MMEs. In the latter case it might be preferred to
use the GUMMEI.
[0154] Since the Extended EPS bearer ID includes a reference to the
UE context, by means of the MME UE S1AP ID combined with either the
GUMMEI or the MME IP address, this reference may serve to map the
DL packets that, for example, has been identified by the IP address
of the UE to the UE context. In this case no additional UE context
mapping references is needed in the LBO function and they can
therefor optionally be omitted.
[0155] The above described LBO function is enough to handle a
single traffic flow, i.e. essentially a single UE's interaction
with a single application in the LSC. If a UE has multiple
simultaneous traffic flows that are broken out to the LSC, e.g.
interacting with multiple LSC applications, there might be an LBO
function for each traffic flow. Moreover, if a UE has multiple
simultaneous traffic flows, all using the same UE IP address, that
are broken out to applications running on the same VM in the LSC,
for example interacting with multiple LSC applications hosted on
the same VM or using different traffic flows towards the same
application and the UE uses different radio bearers for the
concerned traffic flows, then each LBO function might also include
a traffic filter to identify the packets in the DL, so that the
different DL traffic flows are correctly forwarded on their
respective radio bearer. As long as only a single VM per VLAN is
possible, the DL packet filter need only to contain the transport
protocol and the source and destination port numbers to distinguish
the different DL application flows to the same UE, but if multiple
VMs can be hosted by the same VLAN, then the source IP address,
i.e. the VM IP address, could also be included in the DL packet
filter. Another optional feature is that the DL traffic filter
could be omitted for one of the LBO functions, which would mean
that DL packets from the LSC which do not match the traffic filter
of any of the other LBO functions for the same UE would be governed
by the LBO function without traffic filter.
[0156] Hence, in the general case a LBO function consists of an UL
packet filter, a DL packet filter, a VLAN-EPS bearer mapping and
might also contain a reference to the UE context. The latter may be
integrated with the Extended EPS bearer ID if that particular ID is
used in the VLAN-EPS bearer mapping. The UE IP address might also
be used to forward DL packets to the correct UE.
[0157] A particular example of how a LBO function can be
established is provided in the flow diagram of FIG.11. In FIG.11
the following is illustrated: [0158] A DNS query is detected for an
application that can be processed within the Local Service Cloud.
[0159] The application ID is obtained from the detected DNS query.
[0160] The IP address of the wireless device is obtained, for
example from the source address of the IP packet that carries the
DNS query. [0161] An optional step of obtaining LSC constraints
might be performed, it is also possible to check whether it is
suitable to process the application in the LSC, if deemed not
suitable the process can be terminated. [0162] A VM belonging to a
VLAN is selected based on the ID of the application and optionally
on the LSC constraints, if such constraints were obtained. That is,
the application ID and possibly the LSC constraints are used to
select a VM and a VLAN associated to the VM. [0163] A traffic
filter is constructed. The selected VM constitutes the uplink, UL,
destination or the downlink, DL, source. The uplink, UL, traffic
filter comprises the IP address of the destination and, optionally,
a transport protocol and the port number of the destination. The
downlink, DL, traffic filter comprises the IP address of the
destination, that is the IP address of the wireless device, and
might optionally comprise the IP address of the source and
optionally also the transport protocol and/or the port number of
the source. [0164] A bearer ID is obtained, the bearer ID is in
this particular example an Extended EPS bearer ID as described
earlier. In the case where the bearer ID is different from an
Extended EPS bearer ID this particular step might also comprise to
obtain a separate UE context reference in order to identify the
particular bearer. This feature is however not necessary in the
case an Extended EPS bearer ID is used since the Extended EPS
bearer ID already includes a UE context reference. [0165] The LBO
function is compiled. The LBO function comprises UL and DL traffic
filters, information about VLAN and the bearer ID, e.g., the
Extended EPS bearer ID. As mentioned above, in the particular
example of FIG. 11, the IP address of the wireless device is a part
of the DL traffic filter, another option might however to keep it
as a separate item in the LBO function. [0166] Having compiled the
LBO function, the LBO function is ready to be installed in a
network node.
[0167] Reference is now made to FIG. 6 where there is disclosed a
method for routing data packets between a wireless device in a
cellular communication network and a Local Service Cloud, LSC,
based service provider providing service(s) and/or application(s)
for the wireless device, wherein the method is performed by a
network node serving the wireless device in the cellular
communication network. The method comprises the steps of: [0168]
selecting S110, also referred to as breaking out, data packets from
the wireless device to be routed to the LSC based service provider;
and [0169] inserting S120, also referred to as breaking in, data
packets from the LSC based provider into a packet flow to be routed
to the wireless device,
[0170] wherein the data packets are routed by means of a traffic
filter constructed according to what has been described above.
[0171] In a possible embodiment of the proposed method, the network
node breaks out packets from the wireless device to be directed to
the LSC based service provider and breaks in packets from the LSC
based service provider to be directed to the wireless device
between a radio interface part and a non-radio interface part of a
bearer associated with the wireless device.
[0172] In another possible embodiment of the proposed method the
LSC based service provider is based on at least one Virtual
Machine, VM, each VM being associated with an individual Virtual
Local Area Network, VLAN, and the network node controls on which
VLAN the selected packets are to be forwarded to the corresponding
VM on which the application or service is running, based on a
bearer-VLAN mapping providing a mapping between a bearer for the
wireless device and the VLAN to the VM on which the application or
service is running.
[0173] In a particular embodiment of the proposed method the
network node also controls on which radio bearer packets are to be
forwarded from the LSC based service provider to the wireless
device.
[0174] By way of example, in the proposed method the network node
intercepts a Domain Name Server, DNS, query for an application or
service hosted by the LSC based service provider and directs the
query to a local DNS proxy in the LSC based service provider and
receives, from the local DNS proxy, information for enabling the
node to control the breaking out and/or breaking in of packets
belonging to an expected traffic flow related to the
application.
[0175] The proposed technology also provide a system for
constructing a traffic filter as described in the description. FIG.
7A illustrates schematically an exemplary embodiment of such a
system. FIG. 7A shows a system 100 comprising a processor 122 and a
memory 124 that is configured to construct a traffic filter
enabling routing of data between a wireless device and a Local
Service Cloud, LSC, based service provider providing service(s)
and/or application(s) for the wireless device. The system is
configured to obtain information representing the identity of the
wireless device requesting an application to be processed by the
local cloud based service, and a representation of an application
identity identifying the application. The system is also configured
to select, based on the application identity, a Virtual Machine,
VM, as the LSC based service provider suitable to process the
application for the wireless device. The system is furthermore
configured to construct a traffic filter based on the information
representing the identity of the wireless device, the
representation of the application identity and a representation of
the identity of the selected VM, the traffic filter providing
routing of data between the wireless device and the selected
VM.
[0176] In a particular embodiment of the system is the system is
configured to construct a traffic filter comprising at least one
uplink filter for routing of data from the wireless device to the
selected VM and/or at least one downlink filter for routing of data
from the selected VM to the wireless device.
[0177] In yet another embodiment of the system is the system
configured to obtain the identity of the wireless device by
obtaining at least one of the IMSI signature of the wireless
device, the IP address of the wireless device or the MAC address of
the wireless device.
[0178] In still another embodiment of the system is the system
configured to select the VM by determining conditional constraints
optionally restricting the wireless device use of the application
and using the determined conditional constraints to reduce the
number of VMs suitable to process the application for the wireless
device.
[0179] By way of example, a possible embodiment of the system
provides a system that is configured to select the VM based on
conditional constraints that comprises constraints relating to
whether the wireless device is authorized to use the
application.
[0180] A particular embodiment of the system provides a system that
is configured to select the VM based on conditional constraints
that comprises any of the following, or any combination of the
following: [0181] constraints on the maximal limit for delays or
packet losses; [0182] security constraints rendering particular VMs
non-selectable; [0183] geographical access constraints rendering
particular VMs non-selectable; [0184] constraints on the network
load rendering certain VMs non-selectable; [0185] constraints on
the VM-load rendering certain VMs non-selectable; [0186]
constraints on the latency limits making certain VMs
non-selectable.
[0187] A possible example of an embodiment of the system provides a
system that is configured to select at least one VM based on
information identifying a selection of Virtual Machines, VMs,
within the local cloud that are deemed suitable to process the
application for the wireless device.
[0188] An optional embodiment of a system provides a system that is
configured to obtain the information identifying a selection of VMs
from a Topology Data Base, TDB, carrying information about existing
VMs within the local cloud and information about the deployment of
applications.
[0189] A possible embodiment of a system according to the proposed
technology provides a system that is configured to select a VM by
extracting at least one VM from the selection of VMs by means of at
least one Traffic Engineering, TE, algorithm.
[0190] An optional embodiment of a system provides a system that is
configured to extract at least on VM based on at least one TE
algorithm comprising any of the following, or any combination of
the following: [0191] a shortest path algorithm, counting the
number of hops among the VMs, wherein a suitable VM, comprised in
the selection of VMs, and is selected if adhering to a constraint
on the number of hops; [0192] a cost based optimization algorithm
wherein a suitable VM, comprised in the selection of VMs, is
selected based on a comparison with a cost threshold and the actual
cost of the processing; [0193] a priority based optimization
algorithm wherein a suitable VM, comprised in the selection of VMs,
is selected based on priority values assigned to each VM within the
local cloud.
[0194] In an optional embodiment is the system configured to
construct a traffic filter enabling routing of data between the
wireless device and the selected VM based on information
representing the IP address of the VM.
[0195] In a particular embodiment of a system is the system
configured to construct a traffic filter enabling routing of data
between the wireless device and the selected VM based on
information representing the identity of the Virtual Local Area
Network, VLAN, hosting the selected VM.
[0196] An optional variant of a system provides a system that is
configured to construct a traffic filter enabling routing of data
between the wireless device and the selected VM, also based on a
MAC address of the selected VM hosted by the VLAN.
[0197] By way of example, a possible embodiment provides a system
that is configured to construct a traffic filter enabling routing
of data between the wireless device and the selected VM based on
information representing the identity of at least one bearer used
for routing data packets to the wireless device.
[0198] Still another embodiment of a system provides for a system
that is configured to construct a traffic filter by also providing
a mapping between the at least one bearer used for routing data
packets to the wireless device and the selected VM thereby enabling
routing of data packets between the selected VM and the wireless
device over the connection link defined by the bearer.
[0199] In an optional embodiment is the system configured to
construct a traffic filter by determining the at least one bearer
to be used for routing data packets from the VM to the wireless
device.
[0200] A specific example of an embodiment provides a system that
is configured to construct a traffic filter by determining at least
one bearer used to route data packets to the wireless device, the
bearer being at least one of: a Radio Bearer, RB, an EPS bearer or
a Radio Access Bearer.
[0201] In a particular embodiment of the system, illustrated in
FIG.7A, it is provided a system that comprises a processor 122 and
a memory 124, the memory 124 comprising instructions executable by
the processor 122, whereby the processor 122 is operative to
construct the traffic filter.
[0202] Still another particular embodiment of the system is
illustrated in FIG.7B and provides a system that comprises
communication circuitry 110 configured to obtain information
representing the identity of the wireless device requesting an
application to be processed by the local cloud based service, and a
representation of an application identity identifying the
application.
[0203] The proposed technology also provides a network node 150,
serving a wireless device in a cellular communication network. The
network node is configured to enable routing of data packets
between the wireless device and a Local Service Cloud, LSC, based
service provider providing service(s) and/or application(s) for the
wireless device. The network node comprises an installed Local
Break-Out, LBO, function, configured to select, also referred to as
break out, data packets from the wireless device to be directed to
the Local Service Cloud based service provider by means of a
traffic filter and insert, also referred to as break in, data
packets from the Local Service Cloud based service provider into a
packet flow to be carried by the bearer and to be routed to the
wireless device by means of a traffic filter. The LBO function
comprises a traffic filter that is constructed by the above
described system, and which enables routing of data packets between
the Local Service Cloud based service provider and the wireless
device. An embodiment of such a network node is schematically
illustrated in the block diagram of FIG. 8A.
[0204] In a particular embodiment of the network node is the LBO
function configured to trigger based on a Domain Name Server, DNS,
query for an application or service hosted by the LSC.
[0205] In a possible embodiment of the network node is the LBO
function configured to intercept the DNS query and direct the query
to a local DNS proxy in the LSC and configured to receive, from the
local DNS proxy, LBO function information for an expected traffic
flow of the application or service, and wherein the LBO function is
configured for the expected packet flow based on the LBO function
information.
[0206] The proposed technology also provides a network node 150,
serving a wireless device in the cellular communication network,
and configured for routing data packets between a wireless device
in a cellular communication network and a Local Service Cloud, LSC,
based service provider providing service(s) and/or application(s)
for the wireless device. The network node is configured to select,
also referred to as breaking out, data packets from the wireless
device to be routed to the LSC based service provider. The network
node is also configured to insert, also referred to as breaking in,
data packets from the LSC based provider into a packet flow to be
routed to the wireless device by means of a traffic filter
constructed by the described system.
[0207] A particular example of a network node according to the
proposed technology provides a network node that is configured to
break out packets from the wireless device to be directed to the
LSC based service provider and break in packets from the LSC based
service provider to be directed to the wireless device between a
radio interface part and a non-radio interface part of a bearer
associated with the wireless device.
[0208] In a possible embodiment of the proposed network node is the
LSC based service provider based on at least one Virtual Machine,
VM, each VM being associated with an individual Virtual Local Area
Network, VLAN. The network node controls on which VLAN the selected
packets are to be forwarded to the corresponding VM on which the
application or service is running, based on a bearer-VLAN mapping
providing a mapping between a bearer for the wireless device and
the VLAN to the VM on which the application or service is
running.
[0209] In an optional embodiment of the network node, the network
node also controls on which radio bearer packets are to be
forwarded from the LSC based service provider to the wireless
device.
[0210] By way of example, a possible embodiment of the proposed
network node provides a network node that is configured to
intercept a Domain Name Server, DNS, query for an application or
service hosted by the LSC based service provider and wherein the
network node is configured direct the query to a local DNS proxy in
the LSC based service provider and wherein the network node is
configured to receive, from the local DNS proxy, information for
enabling the network node to control the breaking out and/or
breaking in of packets belonging to an expected traffic flow
related to the application.
[0211] A particular embodiment of the proposed network node
provides a network node that comprises a processor 220 and a memory
230, the memory 230 comprising instructions executable by the
processor 220, whereby the processor 220 is operative to rout data
packets between a wireless device in a cellular communication
network and a Local Service Cloud, LSC, based service provider
providing service(s) and/or application(s) for the wireless device.
A schematic illustration of an embodiment of such network node is
given in FIG. 8A.
[0212] In still another particular embodiment illustrated in FIG.
8B, the network node also comprises communication circuitry 210
configured to obtain information enabling the network node to rout
data packets between a wireless device in a cellular communication
network and a Local Service Cloud, LSC, based service provider
providing service(s) and/or application(s) for the wireless
device.
[0213] As used herein, the non-limiting terms "User Equipment" and
"wireless device" may refer to a mobile phone, a cellular phone, a
Personal Digital Assistant, PDA, equipped with radio communication
capabilities, a smart phone, a laptop or Personal Computer, PC,
equipped with an internal or external mobile broadband modem, a
tablet PC with radio communication capabilities, a target device, a
device to device UE, a machine type UE or UE capable of machine to
machine communication, iPAD, customer premises equipment, CPE,
laptop embedded equipment, LEE, laptop mounted equipment, LME, USB
dongle, a portable electronic radio communication device, a sensor
device equipped with radio communication capabilities or the like.
In particular, the term "UE" and the term "wireless device" should
be interpreted as non-limiting terms comprising any type of
wireless device communicating with a radio network node in a
cellular or mobile communication system or any device equipped with
radio circuitry for wireless communication according to any
relevant standard for communication within a cellular or mobile
communication system.
[0214] As used herein, the non-limiting term "network node" may
refer to base stations, network control nodes such as network
controllers, radio network controllers, base station controllers,
and the like. In particular, the term "base station" may encompass
different types of radio base stations including standardized base
stations such as Node Bs, or evolved Node Bs, eNBs, and also
macro/micro/pico radio base stations, home base stations, also
known as femto base stations, relay nodes, repeaters, radio access
points, base transceiver stations, BTSs, and even radio control
nodes controlling one or more Remote Radio Units, RRUs, or the
like.
[0215] The network node and the system may also include radio
circuitry for communication with one or more other nodes, including
transmitting and/or receiving information.
[0216] It will be appreciated that the methods and devices
described herein can be combined and re-arranged in a variety of
ways.
[0217] For example, embodiments may be implemented in hardware, or
in software for execution by suitable processing circuitry, or a
combination thereof.
[0218] The steps, functions, procedures, modules and/or blocks
described herein may be implemented in hardware using any
conventional technology, such as discrete circuit or integrated
circuit technology, including both general-purpose electronic
circuitry and application-specific circuitry.
[0219] Particular examples include one or more suitably configured
digital signal processors and other known electronic circuits, e.g.
discrete logic gates interconnected to perform a specialized
function, or Application Specific Integrated Circuits (ASICs).
[0220] Alternatively, at least some of the steps, functions,
procedures, modules and/or blocks described herein may be
implemented in software such as a computer program for execution by
suitable processing circuitry such as one or more processors or
processing units.
[0221] The proposed technology also provides a computer program 125
comprising instructions, which when executed by at least one
processor, cause the processor(s) to: [0222] read information
representing the identity of the wireless device requesting an
application to be processed by the local cloud based service, and a
representation of an application identity identifying the
application; [0223] select based on the application identity, a
Virtual Machine, VM, as the LSC based service provider suitable to
process the application for the wireless device ; [0224] construct
a traffic filter based on the information representing the identity
of the wireless device, the representation of the application
identity and a representation of the identity of the selected VM,
the traffic filter providing routing of data between the wireless
device and the selected VM.
[0225] The use of such a computer program is illustrated
schematically in FIG. 9.
[0226] By way of example, the software or computer program may be
realized as a computer program product, which is normally carried
or stored on a computer-readable medium. The computer-readable
medium may include one or more removable or non-removable memory
devices including, but not limited to a Read-Only Memory (ROM), a
Random Access Memory (RAM), a Compact Disc (CD), a Digital
Versatile Disc (DVD), a Blueray disc, a Universal Serial Bus (USB)
memory, a Hard Disk Drive (HDD) storage device, a flash memory, a
magnetic tape, or any other conventional memory device. The
computer program may thus be loaded into the operating memory of a
computer or equivalent processing device for execution by the
processing circuitry thereof.
[0227] The proposed technology also provides a carrier comprising
the computer program, wherein the carrier is one of an electronic
signal, an optical signal, an electromagnetic signal, a magnetic
signal, an electric signal, a radio signal, a microwave signal, or
a computer-readable storage medium 145.
[0228] Examples of processing circuitry includes, but is not
limited to, one or more microprocessors, one or more Digital Signal
Processors (DSPs), one or more Central Processing Units (CPUs),
video acceleration hardware, and/or any suitable programmable logic
circuitry such as one or more Field Programmable Gate Arrays
(FPGAs), or one or more Programmable Logic Controllers (PLCs).
[0229] It should also be understood that it may be possible to
re-use the general processing capabilities of any conventional
device or unit in which the proposed technology is implemented. It
may also be possible to re-use existing software, e.g. by
reprogramming of the existing software or by adding new software
components.
[0230] In this particular example, at least some of the steps,
functions, procedures, modules and/or blocks described herein are
implemented in a computer program, which is loaded into the memory
for execution by processing circuitry including one or more
processors. The processor(s) and memory are interconnected to each
other to enable normal software execution. An optional input/output
device may also be interconnected to the processor(s) and/or the
memory to enable input and/or output of relevant data such as input
parameter(s) and/or resulting output parameter(s).
[0231] The term `processor` should be interpreted in a general
sense as any system or device capable of executing program code or
computer program instructions to perform a particular processing,
determining or computing task.
[0232] The processing circuitry including one or more processors is
thus configured to perform, when executing the computer program,
well-defined processing tasks such as those described herein.
[0233] The processing circuitry does not have to be dedicated to
only execute the above-described steps, functions, procedure and/or
blocks, but may also execute other tasks.
[0234] By way of example, the software or computer program may be
realized as a computer program product, which is normally carried
or stored on a computer-readable medium. The computer-readable
medium may include one or more removable or non-removable memory
devices including, but not limited to a Read-Only Memory (ROM), a
Random Access Memory (RAM), a Compact Disc (CD), a Digital
Versatile Disc (DVD), a Blueray disc, a Universal Serial Bus (USB)
memory, a Hard Disk Drive (HDD) storage device, a flash memory, a
magnetic tape, or any other conventional memory device. The
computer program may thus be loaded into the operating memory of a
computer or equivalent processing device for execution by the
processing circuitry thereof.
[0235] The flow diagram or diagrams presented herein may therefore
be regarded as a computer flow diagram or diagrams, when performed
by one or more processors. A corresponding system or network node
may be defined as a group of function modules, where each step
performed by the processor corresponds to a function module. In
this case, the function modules are implemented as a computer
program running on the processor. Hence, the system or network node
may alternatively be defined as a group of function modules, where
the function modules are implemented as a computer program running
on at least one processor.
[0236] The proposed technology provides a system 300 for
constructing a traffic filter enabling routing of data between a
wireless device and a Local Service Cloud, LSC, based service
provider providing service(s) and/or application(s) for the
wireless device. The system comprises: [0237] a communicating
module 325 for obtaining information representing the identity of
the wireless device requesting an application to be processed by
the local cloud based service, and a representation of an
application identity identifying the application; [0238] a
selecting module 335 for selecting, based on the application
identity, a Virtual Machine, VM, as the LSC based service provider
suitable to process the application for the wireless device; and
[0239] a constructing module 345 for constructing a traffic filter
based on the information representing the identity of the wireless
device, the representation of the application identity and a
representation of the identity of the selected VM, the traffic
filter providing routing of data between the wireless device and
the selected VM.
[0240] The computer program residing in memory may thus be
organized as appropriate function modules configured to perform,
when executed by the processor, at least part of the steps and/or
tasks described herein. An example of such a system is illustrated
in FIG.10.
[0241] The embodiments described above are merely given as
examples, and it should be understood that the proposed technology
is not limited thereto. It will be understood by those skilled in
the art that various modifications, combinations and changes may be
made to the embodiments without departing from the present scope as
defined by the appended claims. In particular, different part
solutions in the different embodiments can be combined in other
configurations, where technically possible.
REFERENCES
[0242] [1] US2013/0066936
[0243] [2] US 2013/0121207 A1
[0244] [3] US21013/0124712 A1
[0245] [4] US 2013/0279336
[0246] [5] US 2011/0235595
[0247] [6] US 2013/0165177 A1
[0248] [7] U.S. Pat. No. 8,607,074 B2
[0249] [8] WO 2013164403 A1
* * * * *