WO2022002342A1 - Communication system - Google Patents
Communication system Download PDFInfo
- Publication number
- WO2022002342A1 WO2022002342A1 PCT/EP2020/068177 EP2020068177W WO2022002342A1 WO 2022002342 A1 WO2022002342 A1 WO 2022002342A1 EP 2020068177 W EP2020068177 W EP 2020068177W WO 2022002342 A1 WO2022002342 A1 WO 2022002342A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- edge processing
- network edge
- processing function
- network
- selecting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Definitions
- the present application relates to a method, apparatus, and computer program. Background
- a communication system can be seen as a facility that enables communication sessions between two or more entities such as user terminals, base stations/access points and/or other nodes by providing carriers between the various entities involved in the communications path.
- a communication system can be provided, for example, by means of a communication network and one or more compatible communication devices.
- the communication sessions may comprise, for example, communication of data for carrying communications such as voice, electronic mail (email), text message, multimedia and/or content data and so on.
- Non-limiting examples of services provided comprise two-way or multi-way calls, data communication or multimedia services and access to a data network system, such as the Internet. Summary
- an apparatus comprising: means for determining that network edge processing is to be performed; means for selecting at least one network edge processing function from a plurality of network edge processing functions for supporting at least part of said network edge processing, wherein said plurality of network edge processing functions comprises at least one browser; and means for causing the selected at least one network edge processing function to support said part of said network edge processing.
- the apparatus may further comprise means for receiving an indication of an availability of the at least one network edge processing function prior to employing the means for selecting the at least one network edge processing function; and means for using the indication of the availability when selecting the at least one network edge processing function.
- the apparatus may further comprise means for determining a trust level for said at least one network edge processing function in dependence on at least one security mechanism used for connecting the at least one network edge processing function to the apparatus.
- the apparatus may further comprise means for determining a trust level for said at least one network edge processing function in dependence on a service level agreement associated with an apparatus on which the at least one network edge processing function is executing.
- the means for selecting may select the at least one network edge processing function in dependence on at least one of: a location of the at least one network edge processing function, a location of an end point to where the network edge processing is to be provided; an indication of the amount of processing resources available from the at least one network edge processing function; mobility information of the at least one network edge processing function; power source of the at least one network edge processing function; battery state and remaining operating time of the at least one network edge processing function; computational capacity of the at least one network edge processing function; information regarding whether a browser of the at least one network edge processing function has access to at least one Graphical Processing Unit (GPU); Artificial Intelligence processing capabilities beyond basic GPU available to the at least one network edge processing function; available memory of the at least one network edge processing function; available storage of the at least one network edge processing function; and network properties and connectivity of the at least one network edge processing function.
- GPU Graphical Processing Unit
- the network edge processing function may comprise at least part of a processing for deep learning processing.
- the network edge processing may comprise at least part of a service to be provided to a user requesting that service.
- the apparatus may further comprise means for communicating with the at least one network edge processing function using WebSockets communication protocol.
- the apparatus may further comprise means for storing information on the plurality of network edge processing functions for selecting the at least one network edge processing function.
- the apparatus may further comprise means for storing both historical and current information for at least one of the plurality of network edge processing functions, wherein said means for selecting further comprises means for using the historical and current information for selecting the at least one network edge processing function.
- the apparatus may further comprise means for configuring the selected at least one network edge processing function to share at least one of data and computing state information between the selected at least one network edge processing function using device to device communication.
- a method comprising: determining that network edge processing is to be performed; selecting at least one network edge processing function from a plurality of network edge processing functions for supporting at least part of said network edge processing, wherein said plurality of network edge processing functions comprises at least one browser; and causing the selected at least one network edge processing function to support said part of said network edge processing.
- the method may further comprise receiving an indication of an availability of the at least one network edge processing function prior to selecting the at least one network edge processing function; and using the indication of the availability when selecting the at least one network edge processing function.
- the method may further comprise determining a trust level for said at least one network edge processing function in dependence on at least one security mechanism used for connecting the at least one network edge processing function to the apparatus.
- the method may further comprise determining a trust level for said at least one network edge processing function in dependence on a service level agreement associated with an apparatus on which the at least one network edge processing function is executing.
- the selecting may select the at least one network edge processing function in dependence on at least one of: a location of the at least one network edge processing function, a location of an end point to where the network edge processing is to be provided; an indication of the amount of processing resources available from the at least one network edge processing function; mobility information of the at least one network edge processing function; power source of the at least one network edge processing function; battery state and remaining operating time of the at least one network edge processing function; computational capacity of the at least one network edge processing function; information regarding whether a browser of the at least one network edge processing function has access to at least one Graphical Processing Unit (GPU); Artificial Intelligence processing capabilities beyond basic GPU available to the at least one network edge processing function; available memory of the at least one network edge processing function; available storage of the at least one network edge processing function; and network properties and connectivity of the at least one network edge processing function.
- GPU Graphical Processing Unit
- the network edge processing function may comprise at least part of a processing for deep learning processing.
- the network edge processing may comprise at least part of a service to be provided to a user requesting that service.
- the method may further comprise communicating with the at least one network edge processing function using WebSockets communication protocol.
- the method may further comprise storing information on the plurality of network edge processing functions for selecting the at least one network edge processing function.
- the method may further comprise storing both historical and current information for at least one of the plurality of network edge processing functions, wherein said selecting further comprises using the historical and current information for selecting the at least one network edge processing function.
- the method may further comprise configuring the selected at least one network edge processing function to share at least one of data and computing state information between the selected at least one network edge processing function using device to device communication.
- an apparatus comprising at least one processor and at least one memory comprising computer code that, when run on the at least one processor, causes the network apparatus to: determine that network edge processing is to be performed; select at least one network edge processing function from a plurality of network edge processing functions for supporting at least part of said network edge processing, wherein said plurality of network edge processing functions comprises at least one browser; and cause the selected at least one network edge processing function to support said part of said network edge processing.
- the apparatus may further be caused to receive an indication of an availability of the at least one network edge processing function prior to selecting the at least one network edge processing function; and use the indication of the availability when selecting the at least one network edge processing function.
- the apparatus may further be caused to determine a trust level for said at least one network edge processing function in dependence on at least one security mechanism used for connecting the at least one network edge processing function to the apparatus.
- the apparatus may further be caused to determine a trust level for said at least one network edge processing function in dependence on a service level agreement associated with an apparatus on which the at least one network edge processing function is executing.
- the selecting may select the at least one network edge processing function in dependence on at least one of: a location of the at least one network edge processing function, a location of an end point to where the network edge processing is to be provided; an indication of the amount of processing resources available from the at least one network edge processing function; mobility information of the at least one network edge processing function; power source of the at least one network edge processing function; battery state and remaining operating time of the at least one network edge processing function; computational capacity of the at least one network edge processing function; information regarding whether a browser of the at least one network edge processing function has access to at least one Graphical Processing Unit (GPU); Artificial Intelligence processing capabilities beyond basic GPU available to the at least one network edge processing function; available memory of the at least one network edge processing function; available storage of the at least one network edge processing function; and network properties and connectivity of the at least one network edge processing function.
- GPU Graphical Processing Unit
- the network edge processing function may comprise at least part of a processing for deep learning processing.
- the network edge processing may comprise at least part of a service to be provided to a user requesting that service.
- the apparatus may further be caused to communicate with the at least one network edge processing function using WebSockets communication protocol.
- the apparatus may further be caused to store information on the plurality of network edge processing functions for selecting the at least one network edge processing function.
- the apparatus may further be caused to store both historical and current information for at least one of the plurality of network edge processing functions, wherein said selecting further comprises using the historical and current information for selecting the at least one network edge processing function.
- the apparatus may further be caused to configure the selected at least one network edge processing function to share at least one of data and computing state information between the selected at least one network edge processing function using device to device communication.
- an apparatus comprising: determining circuitry for determining that network edge processing is to be performed; selecting circuitry for selecting at least one network edge processing function from a plurality of network edge processing functions for supporting at least part of said network edge processing, wherein said plurality of network edge processing functions comprises at least one browser; and causing circuitry for causing the selected at least one network edge processing function to support said part of said network edge processing.
- the apparatus may further comprise receiving circuitry for receiving an indication of an availability of the at least one network edge processing function prior to employing the means for selecting the at least one network edge processing function; and using circuitry for using the indication of the availability when selecting the at least one network edge processing function.
- the apparatus may further comprise determining circuitry for determining a trust level for said at least one network edge processing function in dependence on at least one security mechanism used for connecting the at least one network edge processing function to the apparatus.
- the apparatus may further comprise determining circuitry for determining a trust level for said at least one network edge processing function in dependence on a service level agreement associated with an apparatus on which the at least one network edge processing function is executing.
- the selecting circuitry for selecting may select the at least one network edge processing function in dependence on at least one of: a location of the at least one network edge processing function, a location of an end point to where the network edge processing is to be provided; an indication of the amount of processing resources available from the at least one network edge processing function; mobility information of the at least one network edge processing function; power source of the at least one network edge processing function; battery state and remaining operating time of the at least one network edge processing function; computational capacity of the at least one network edge processing function; information regarding whether a browser of the at least one network edge processing function has access to at least one Graphical Processing Unit (GPU); Artificial Intelligence processing capabilities beyond basic GPU available to the at least one network edge processing function; available memory of the at least one network edge processing function; available storage of the at least one network edge processing function; and network
- the network edge processing function may comprise at least part of a processing for deep learning processing.
- the network edge processing may comprise at least part of a service to be provided to a user requesting that service.
- the apparatus may further comprise communicating circuitry for communicating with the at least one network edge processing function using WebSockets communication protocol.
- the apparatus may further comprise storing circuitry for storing information on the plurality of network edge processing functions processing functions for selecting the at least one network edge processing function.
- the apparatus may further comprise storing circuitry for storing both historical and current information for at least one of the plurality of network edge processing functions processing functions, wherein said selecting circuitry for selecting further comprises using circuitry for using the historical and current information for selecting the at least one network edge processing function.
- the apparatus may further comprise configuring circuitry for configuring the selected at least one network edge processing function to share at least one of data and computing state information between the selected at least one network edge processing function using device to device communication.
- non-transitory computer readable medium comprising program instructions for causing an apparatus to perform at least the following: determine that network edge processing is to be performed; select at least one network edge processing function from a plurality of network edge processing functions for supporting at least part of said network edge processing, wherein said plurality of network edge processing functions comprises at least one browser; and cause the selected at least one network edge processing function to support said part of said network edge processing.
- the apparatus may further be caused to receive an indication of an availability of the at least one network edge processing function prior to selecting the at least one network edge processing function; and use the indication of the availability when selecting the at least one network edge processing function.
- the apparatus may further be caused to determine a trust level for said at least one network edge processing function in dependence on at least one security mechanism used for connecting the at least one network edge processing function to the apparatus.
- the apparatus may further be caused to determine a trust level for said at least one network edge processing function in dependence on a service level agreement associated with an apparatus on which the at least one network edge processing function is executing.
- the selecting may select the at least one network edge processing function in dependence on at least one of: a location of the at least one network edge processing function, a location of an end point to where the network edge processing is to be provided; an indication of the amount of processing resources available from the at least one network edge processing function; mobility information of the at least one network edge processing function; power source of the at least one network edge processing function; battery state and remaining operating time of the at least one network edge processing function; computational capacity of the at least one network edge processing function; information regarding whether a browser of the at least one network edge processing function has access to at least one Graphical Processing Unit (GPU); Artificial Intelligence processing capabilities beyond basic GPU available to the at least one network edge processing function; available memory of the at least one network edge processing function; available storage of the at least one network edge processing function; and network properties and connectivity of the at least one
- the network edge processing function may comprise at least part of a processing for deep learning processing.
- the network edge processing may comprise at least part of a service to be provided to a user requesting that service.
- the apparatus may further be caused to communicate with the at least one network edge processing function using WebSockets communication protocol.
- the apparatus may further be caused to store information on the plurality of network edge processing functions processing functions for selecting the at least one network edge processing function.
- the apparatus may further be caused to store both historical and current information for at least one of the plurality of network edge processing functions processing functions, wherein said selecting further comprises using the historical and current information for selecting the at least one network edge processing function.
- the apparatus may further be caused to configure the selected at least one network edge processing function to share at least one of data and computing state information between the selected at least one network edge processing function using device to device communication.
- a computer program comprising program instructions for causing a computer to perform any method as described above.
- a computer program product stored on a medium may cause an apparatus to perform any method as described herein.
- an electronic device that may comprise apparatus as described herein.
- a chipset that may comprise an apparatus as described herein.
- Figure 1 shows a schematic diagram of an example communication system comprising a plurality of base stations and a plurality of communication devices;
- Figure 2 shows a schematic diagram of an example mobile communication device;
- Figure 3 shows a schematic diagram of an example network apparatus;
- Figure 4 show a schematic diagram of an example network
- Figure 5 shows an example flowchart of actions performed by a network apparatus.
- the following disclosure relates to the provision and/or use of processing functions at the edges of a network for enabling edge computing and/or fog computing to be performed.
- the following relates to a processing function that is located in logic on a browser at the edge of a network.
- the present application discloses a system in which a network may consider and/or use these browser-based processing functions for edge processing/computing. For example, when a request for a service (and/or for edge processing) is received by the network, a determination may be made as whether or not at least part of that service can be provided by a processing function located at the edge of the network. If it can, at least one processing function may be selected to provide that at least part of a service.
- the selection of the at least one processing function may include a making a selection from a set of two or more processing functions that includes at least one processing function embodied by logic located in a browser.
- edge processing By expanding the pool of processing functions that may be used by a network to provide edge services/edge processing to include browser-based processing, more edge processing may be performed. This may result in the reduction of a burden on core network resources and a reduced latency for services that can be provided locally.
- a wireless communication system 100 such as that shown in Figure 1
- mobile communication devices, user apparatus, or terminal 102, 104, 105 are provided wireless access via at least one base station or similar wireless transmitting and/or receiving node or point.
- a user can access the communication system by means of an appropriate communication device or terminal.
- a communication device of a user is often referred to as user equipment (UE) or as a user apparatus.
- UE user equipment
- terminal is used to cover communication devices that may access a network through an access point, and which may or may not have a user. Examples of such terminals without a user include devices that make machine-to-machine transmissions in a factory.
- a communication device is provided with an appropriate signal receiving and transmitting apparatus for enabling communications, for example enabling access to a communication network or communications directly with other users.
- the communication device may access a carrier provided by a station or access point, and transmit and/or receive communications on the carrier.
- the communication system and associated devices typically operate in accordance with a given standard or specification which sets out what the various entities associated with the system are permitted to do and how that should be achieved. Communication protocols and/or parameters which shall be used for the connection are also typically defined.
- UTRAN 3G radio
- An example of attempts to solve the problems associated with the increased demands for capacity is an architecture that is known as the long-term evolution (LTE) of the Universal Mobile Telecommunications System (UMTS) radio-access technology.
- LTE long-term evolution
- UMTS Universal Mobile Telecommunications System
- the LTE standard is developed by the 3rd Generation Partnership Project (3GPP). LTE was first released in 2008 (known as LTE Release 8), and new enhancements (in form of releases) has been introduced since then. LTE Release 13 and onwards is also known as LTE Advanced Pro.
- a base station is referred to as an eNodeB (eNB) in LTE, a gNodeB (gNB) in 5G, and may be referred to more generally as simply a network apparatus or a network access point.
- Base stations are typically controlled by at least one appropriate controller apparatus, so as to enable operation thereof and management of mobile communication devices in communication with the base stations.
- the controller apparatus may be located in a radio access network (e.g. wireless communication system 100) or in a core network (CN) (not shown) and may be implemented as one central apparatus or its functionality may be distributed over several apparatus.
- the controller apparatus may be part of the base station and/or provided by a separate entity such as a Radio Network Controller.
- control apparatus 108 and 109 are shown to control the respective macro level base stations 106 and 107.
- the control apparatus may additionally or alternatively be provided in a radio network controller.
- LTE and 5G systems may however be considered to have a so-called “flat” architecture, without the provision of RNCs; rather the (e)NB is in communication with a system architecture evolution gateway (SAE-GW) and a mobility management entity (MME), which entities may also be pooled meaning that a plurality of these nodes may serve a plurality (set) of (e)NBs.
- SAE-GW system architecture evolution gateway
- MME mobility management entity
- Each user apparatus is served by only one MME and/or S-GW at a time and the (e)NB keeps track of current association.
- SAE-GW is a “high-level” user plane core network element in LTE, which may comprise the S-GW and the P-GW (serving gateway and packet data network gateway, respectively).
- the functionalities of the S-GW and P-GW are separated and they are not required to be co-located.
- radio resource control is defined to be a sublayer of radio interface Layer 3 that exists in the control plane only, and which provides information transfer service to the non-access stratum (see 3GPP Technical Specification Group Services and System Aspects 21.905).
- RRC is a protocol layer between a user apparatus and an eNB, and is in charge of, for example, paging the user apparatus when traffic comes, establishing/maintaining or release of radio bearers (establishing an RRC connection between user apparatus and eNB), user apparatus mobility, user apparatus measurement configuration and user apparatus reporting configuration, etc.
- RRC is responsible for controlling the configuration of radio interface Layers 1 and 2.
- base stations 106 and 107 are shown as connected to a wider communications network 113 via gateway 112.
- a further gateway function may be provided to connect to another network.
- the smaller base stations 116, 118 and 120 may also be connected to the network 113, for example by a separate gateway function and/or via the controllers of the macro level stations.
- the base stations 116, 118 and 120 may be pico or femto level base stations or the like. In the example, base stations 116 and 118 are connected via a gateway 111 whilst station 120 connects via the controller apparatus 108. In some examples, the smaller stations may not be provided.
- a possible communication device that comprises a browser will now be described in more detail with reference to Figure 2 showing a schematic, partially sectioned view of a communication device 200. Such a communication device is often referred to as user apparatus (terminal) or terminal.
- An appropriate communication device may be provided by any device capable of sending and receiving radio signals.
- Non-limiting examples comprise a mobile station (MS) or mobile device such as a mobile phone or what is known as a ’smart phone’, a computer provided with a wireless interface card or other wireless interface facility (e.g., USB dongle), personal data assistant (PDA) or a tablet provided with wireless communication capabilities, or any combinations of these or the like.
- a communication device may provide, for example, communication of data for carrying communications such as voice, electronic mail (email), text message, multimedia and so on. Users may thus be offered and provided numerous services via their communication devices. Non-limiting examples of these services comprise two-way or multi-way calls, data communication or multimedia services or simply an access to a data communications network system, such as the Internet. Users may also be provided broadcast or multicast data.
- Non-limiting examples of the content comprise downloads, television and radio programs, videos, advertisements, various alerts and other information.
- the communication device 200 may receive signals over an air or radio interface 207 via appropriate apparatus for receiving and may transmit signals via appropriate apparatus for transmitting radio signals.
- transceiver apparatus is designated schematically by block 206.
- the transceiver apparatus 206 may be provided for example by means of a radio part and associated antenna arrangement.
- the antenna arrangement may be arranged internally or externally to the mobile device.
- a communication device is typically provided with at least one data processing entity 201 , at least one memory 202 and other possible components 203 for use in software and hardware aided execution of tasks it is designed to perform, including control of access to and communications with access systems and other communication devices.
- the data processing, storage and other relevant control apparatus can be provided on an appropriate circuit board and/or in chipsets. This feature is denoted by reference 204.
- the user may control the operation of the mobile device by means of a suitable user interface such as key pad 205, voice commands, touch sensitive screen or pad, combinations thereof or the like.
- a display 208, a speaker and a microphone can be also provided.
- a mobile communication device may comprise appropriate connectors (either wired or wireless) to other devices and/or for connecting external accessories, for example hands-free equipment, thereto.
- the communication devices 102, 104, 105 may access the communication system based on various access techniques.
- wireless communication systems are architectures standardized by the 3rd Generation Partnership Project (3GPP).
- 3GPP 3rd Generation Partnership Project
- a latest 3GPP based development is often referred to LTE Advanced Pro of the Universal Mobile Telecommunications System (UMTS) radio-access technology, or the 5th Generation (5G) New Radio (NR).
- UMTS Universal Mobile Telecommunications System
- 5G 5th Generation
- Other examples of radio access system comprise those provided by base stations of systems that are based on technologies such as wireless local area network (WLAN) and/or WiMax (Worldwide Interoperability for Microwave Access).
- WLAN wireless local area network
- WiMax Worldwide Interoperability for Microwave Access
- FIG. 3 shows an example of a control apparatus 300 for a communication system, for example to be coupled to and/or for controlling a station of an access system, such as a RAN node, e.g. a base station or (g) node B, or a node of a core network such as an MME or Access and Mobility Management Function (AMF).
- the method may be implanted in a single control apparatus or across more than one control apparatus.
- the control apparatus may be integrated with or external to a node or module of a core network or RAN.
- base stations comprise a separate control apparatus unit or module.
- the control apparatus can be another network element such as a radio network controller or a spectrum controller.
- each base station may have such a control apparatus as well as a control apparatus being provided in a radio network controller.
- the control apparatus 300 can be arranged to provide control on communications in the service area of the system.
- the control apparatus 300 comprises at least one memory 301 , at least one data processing unit 302, 303 and an input/output interface 304. Via the interface the control apparatus can be coupled to a receiver and a transmitter of the base station.
- the receiver and/or the transmitter may be implemented as a radio front end or a remote radio head.
- the control apparatus 300 can be configured to execute an appropriate software code to provide the control functions.
- Control apparatus 300 may be included in a chipset or modem apparatus.
- a chipset or modem apparatus which includes apparatus 300 may be included in a control node such as an eNB.
- 5G New Radio is designed to accommodate a wide range of services on top of the traditional mobile broadband (MBB) communication.
- MBB mobile broadband
- URLLC ultra-reliable low-latency communications
- processing functions associated with providing a service may be performed by large data centres. These large data centres are not always located near to a user at an edge of a network, which can make it difficult for user applications to receive responsive performance. The location of these large data centres is likely to lead to an increased burden on the core network infrastructure, as the data being processed is signalled across the network.
- edge computing Because of this, to help reduce latency and to reduce network congestion, recent studies have increasingly focused on developing edge computing mechanisms to provide services. This means that services may be deployed by processing functions at an edge of a network, outside of a core network functionality. Outsourcing computational/processing work to an edge of a network is also known as “fog computing”.
- MEC Multi-access edge computing
- ETSI European Telecommunications Standards Institute
- MEC is directed towards enabling cloud computing capabilities and a service environment to be provided at the edge of a cellular network.
- the concepts of MEC may be applied to the edge of any network, and not just cellular networks. Therefore, although the following may describe examples in the context of cellular networks, it is understood that the presently described techniques are not limited to cellular networks.
- edge network computing mechanisms may be viewed through the “network-in-a-box” concept.
- Network-in-a-box revolves around the idea of fitting all of the software and hardware modules needed by a mobile network in a single, or in a handful of physical devices. Functions that would normally be performed by a core network infrastructure and/or radio access network may then be performed by functionality on those physical devices. This may be useful when part of the regular communication network is unavailable, such as during emergency situations and areas in which there is no formal communication infrastructure.
- the logic of a provided service may be provided substantially by the network-in-a-box devices (and, minimally, in the user devices utilising the service).
- the network-in-a-box may provide only part of a network at any one time.
- Network-in- a-box devices may thus establish interfaces with at least one of: an end user of a service (for, for example, service provisioning), an external network (e.g. the internet for, for example, backhaul communications), and other networks-in-a-box or pre existent infrastructure components that are communicating with end users.
- the interfaces established may be dependent on the role played by that network-in-a-box. MEC may therefore be thought of as one type of network-in-a-box.
- As the network-in- a-box seeks to minimise core network interactions/processing, developments in edge computing are also useful to network-in-a-box mechanisms.
- One of the complications associated with edge computing relates to establishing a pool of processing entities to which processing/computational tasks may be outsourced. In particular, devices for performing the processing functions need to be determined, and have logic installed on them for performing the processing.
- browsers comprise functionality for performing processing functionality associated with providing edge processing, such as for a requested service.
- a webpage of a browser may comprise a processing function that is configured to perform processing and/or computation associated with providing edge processing, such as when providing a requested service for a user.
- This processing function on the browser may be comprised within a set of processing functions that a central controller located in the network, such as in a cellular network, may have knowledge of as being processing functions able to contribute towards providing edge processing.
- the presently described system can be said to virtualise Web-based resources in order to provision edge networks. Consequently, in response to a determination that edge processing/an edge service is to be provided, the central controller may select at least one processing function from the set to provide at least part of the edge service, and send an instruction to that at least one processing function to provide the at least part of the service. The at least part of the service may be returned to the central controller for further processing and/or provision to the user.
- the described system allows for a substantial increase in a pool of potential edge processing functions, which allows for more distributed processing to take place and reduces core network bottleneck.
- the use of browsers for contributing towards processing pools can assist in the provision of an on-demand network capacity, computing power, storage capabilities and out-of-band communication capabilities.
- the system may form a web-based instant network of participating systems on- demand, based on what is available in the local network. The following will discuss some examples of how the above-described system may be implemented, although it is understood that the present application is not limited to these described examples.
- Figure 4 provides a schematic overview of a potential system in which the presently described techniques may be deployed.
- FIG. 4 shows a network management agent 401 that comprises a task manager 402 and an edge processing function coordinator 403.
- the network management agent may be comprised within a central controller for a radio access network, or within some other network-based component (e.g. within an access network and/or within a core network, including apparatus/functions having a similar functionality, including network-in-a-box functions).
- the edge processing function coordinator 403 may communicate with processing functions 404, 405, 406.
- processing functions 404 and 405 may be resident on respective web browsers, while processing function 406 may be an edge application resident on a dedicated server.
- Each of processing functions 404, 405, 406 may comprise independent access to processing resources for processing edge services and/or edge computing.
- the processing resources being accessed may be accessed by a single processing function.
- the processing resources being accessed may be accessed by multiple processing functions (i.e. the processing resources may be shared).
- JavaScript is a computer programming that has been standardised by the European Computer Manufacturers Association (ECMA) International according to their ECMAScript specification. JavaScript can be used to emulate operating systems, such as Linux, which enables generic computation to be performed using it. Moreover, some modern browsers allow JavaScript access to Graphics Processing Units (GPUs).
- GPUs Graphics Processing Units
- a GPU is a single chip processor used for extensive Graphical and Mathematical computations. In general, GPUs have a large number of simple cores, which allows parallel computing through thousands of threads computing at a time.
- JavaScript may also be configured to implement control channels and exchange data using a communication protocol such as WebSocket.
- WebSocket is located at layer 7 in the OSI model, and utilises Transmission Control Protocol (TCP) at layer 4 to allow for full duplex communication.
- TCP Transmission Control Protocol
- WebSocket is also enabled to work over HTTP ports 80 and 443 to support HTTP proxies and intermediaries, thus making it compatible with the HTTP protocol. It is understood that other communication protocols enabling duplex communications may be used.
- the browser environment may run a Web application (or simply a Web page) that runs an “Instant Edge Component”.
- the “Instant Edge Component” may be thought of as the logic that enables the processing resources to be used in a browser environment.
- the edge processing function coordinator may use a Uniform Resource Locator (URL) as a configuration parameter when addressing an Instant Edge Component (although it is understood that other mechanisms may be used to address the Instant Edge Components).
- the URL may be provided when a Web application including the Instant Edge Component is generated.
- the URL may be discovered in some other way, such as by using a discovery server or a domain name server.
- the Instant Edge Component may subsequently send capability and/or environmental information to the network controller.
- This information may be used by the edge processing function coordinator when selecting a processing function for performing edge processing.
- this sent information will be simply referred to as capability information.
- the sent information may comprise other categories of information.
- the information may be at least one of the following information: location information, mobility trajectory information, battery/not battery powered device information, battery state and remaining operating time, computational capacity, information regarding whether the browser has access to at least one GPU, Artificial Intelligence processing capabilities beyond basic GPU, available memory, available storage, network properties and connectivity. This information may be obtained from public Application Programming Interfaces (APIs) within the browser environment.
- APIs Application Programming Interfaces
- the edge processing function coordinator may store historical information about the Instant Edge Component. This stored information may be privacy protected. The edge processing function coordinator may use both current and historical information about the Instant Edge Component to determine a longevity score for how long the Instant Edge Component is expected to be available. Further, the edge processing function coordinator may be aware of customer and subscription data that determines Service Level Agreement features for the Instant Edge Component. For example, it may be known that an Instant Edge Component is available for a limited period of time. This could happen in the case that a laptop is taken to a known/agreed location and the Instant Web Platform is activated on the laptop according to prior agreement.
- a Service Level Agreement may be thought of as an agreement between a user of an apparatus associated with the Instant Edge Component and the network that defines a level of service that the user can expect, such as latency, etc. Metrics may be provided for determining whether or not the parameters defined in a Service Level Agreement are adhered to.
- the edge processing function coordinator may use at least part of this determined information to rank and prioritise the Instant Edge Components for selecting at least one Instant Edge Component for processing data.
- the edge processing function coordinator may categorise and cluster the Instant Edge Components based on their determined and estimated properties, such as the geographical position, computing capability, expected online duration, Service Level Agreement parameters, etc.
- the resources may then be selected and utilised according to these estimates, with scheduling decisions being made by the edge processing function coordinator.
- the cluster of instant Web components may be configured to use local device-to-device (D2D) connectivity to share data and computing state.
- D2D device-to-device
- This configuration may be instructed by the network management agent.
- the network management agent may use device-cloud connectivity for control, but may configure more local connectivity with D2D and WebSockets-based optimizations. This configuration may be performed by at least one of the Instant Edge Components.
- the configuration may be performed following receipt by at least one of the Instant Edge Components of an indication from the edge processing function coordinator that the configuration is allowed.
- the Instant Edge Components may have varying degrees of flexibility regarding how the local commnications are managed. For example, in one instance the Instant Edge Components may be free to set up their own local networks in response to receipt of an indication that they’re allowed to set up their own processing networks.
- the indication may comprised detailed information of the local network(s) to be set up. Use of configurations may be useful when processing information of varying security levels.
- the edge processing function coordinator may address the resources through at least one of a variety of different schemes. As one example, it is possible to use Uniform Resource Indicators to address resources at Instant Edge Components, rather than an Instant Edge Component in general.
- the edge processing function coordinator may enforce security and privacy measures for the resources. These may be enforced/implemented using security and privacy measures defined in a communication protocol.
- the Instant Edge Component may be delivered through a secure Web page connected with a network controller/cellular system (a trusted Web server).
- the Instant Edge Component may access the edge processing function coordinator using a secure channel, such as HTTPS or secure WebSockets.
- a secure channel such as HTTPS or secure WebSockets.
- the Instant Edge Component may be started on a device by a user having a specific Service Level Agreement in place covering this edge processing functionality. For example, a worker might activate the system at specific site for a specific purpose. The Instant Edge Component may then require additional credentials and/or use of out of band channels for authenticating the Service Level Agreement activation.
- the edge processing function coordinator may be able to detect when an Instant Edge Component is both running over a cellular connection and has a specific cellular Service Level Agreement that may cover also Instant Edge functionality. Through this cellular network-based Service Level Agreement and verification of the cellular connectivity, the network controller may be able to build more trust towards the device and the Edge component, including in terms of connectivity and location as well as cellular subscription.
- FIG. 5 is a flow chart illustrating some general principles of the presently described techniques with respect to an apparatus performing as an edge processing function coordinator. For clarity, the following will refer to this apparatus as a network controller. Flowever, it is understood that this term includes apparatuses that perform equivalent functionality.
- an apparatus such as a network controller or some apparatus associated with a network, determines that network edge processing is to be performed. This determination may be done in dependence on at least one of a variety of different conditions. For example, it may be determined that network edge processing is to be performed when the apparatus has knowledge of processing functions local to where the processing result is to be delivered.
- the network controller may determine to perform local/edge processing when the network controller determines that there are enough processing resources available for providing at least part of that service.
- the determination may be made in dependence on the amount of data the network controller is already transmitting to the core network and/or a state of the core network, such that edge processing is employed when transmitting the data further upstream would adversely affect the core network functions.
- the determination may be made if it is determined that an explicit request for edge processing has been received. This may be the case, for example, when the requests are received from other network elements, such as other network controllers.
- the apparatus selects at least one network edge processing function from a plurality of processing functions for supporting at least part of said network edge processing, wherein said plurality of processing functions comprises at least one browser.
- a browser comprises functionality to execute processing functions.
- the selecting may be performed in dependence on at least one of: a location of the at least one network edge processing function, a location of an end point to where the network edge processing is to be provided; an indication of the amount of processing resources available from the at least one network edge processing function; mobility information of the at least one network edge processing function; power source of the at least one network edge processing function; battery state and remaining operating time of the at least one network edge processing function; computational capacity of the at least one network edge processing function; information regarding whether a browser of the at least one network edge processing function has access to at least one Graphical Processing Unit (GPU); Artificial Intelligence processing capabilities beyond basic GPU available to the network edge processing function; available memory of the at least one network edge processing function; available storage of the at least one network edge processing function; and network properties and connectivity of the at least one network edge processing function.
- GPU Graphical Processing Unit
- At least some of this information may be obtained from the at least one network edge processing function. This may be provided when, or in response to, the apparatus being notified of an availability of the at least one network edge processing function. This is discussed further herein.
- the apparatus may cause the selected at least one network edge processing function to support said part of said network edge processing.
- the apparatus may cause the selected at least one network edge processing function to process data. The processed data may be returned to the apparatus for provision to a return point of the network edge processing.
- the apparatus may receive an indication of an availability of the at least one network edge processing function prior to employing the means for selecting the at least one network edge processing function. This may be received when the at least one network edge processing function registers with the network. The indication of availability may be used by the apparatus when selecting the at least one network edge processing function. The indication of availability may be received when the apparatus contacts another network apparatus for information regarding available network edge processing functions. In this case, the at least one network edge processing function may register its availability with the another network apparatus.
- the apparatus may determine a trust level for said at least one network edge processing function. This trust level may be determined in dependence on at least one of a plurality of different factors. For example, the trust level may be determined in dependence on at least one security mechanism used for connecting the at least one network edge processing function to the apparatus. In another example, the trust level may be determined in dependence on a service level agreement associated with an apparatus on which the at least one network edge processing function is executing.
- the apparatus may perform the selecting of a network edge processing function in dependence on the determined trust levels. For example, the task to be performed may have a minimum trust level such that network edge processing functions having a lower trust level that the minimum trust level are not selected for preforming at least part of the task. As another example, the apparatus and/or a network operator may set a minimum trust level for performing any task.
- the network edge processing may comprise at least one of a variety of different processing tasks.
- the network edge processing may comprise at least part of a processing for deep learning processing.
- the network edge processing may comprise at least part of a service to be provided to a user requesting that service.
- the network edge processing may be fog processing.
- the apparatus may communicate with the at least one network edge processing function using a communication protocol such as WebSockets and/or FITTP.
- a communication protocol such as WebSockets and/or FITTP.
- the apparatus may communicate with the at least one network edge processing function using communication protocols that have security functions, such as, for example, HTTPS or secure WebSockets as a communication protocol.
- Information on the plurality of processing functions may be stored by the apparatus for selecting the at least one network edge processing function.
- Information on the plurality of processing functions may be stored by another apparatus than the apparatus for selecting the at least one network edge processing function. In this latter case, the selecting apparatus may have access to the stored information.
- the apparatus may further have access to and/or store both historical and current information for at least one of the plurality of processing functions.
- the selecting the at least one network edge processing function may be performed in dependence on both the historical and current information.
- the historical and current information may relate to at least one of the above-discussed information used for selecting the at least one network edge processing function, including the information discussed in relation to step 502.
- the apparatuses may comprise or be coupled to other units or modules etc., such as radio parts or radio heads, used in or for transmission and/or reception.
- the apparatuses have been described as one entity, different modules and memory may be implemented in one or more physical or logical entities.
- the various examples may be implemented in hardware or special purpose circuits, software, logic or any combination thereof.
- Some aspects of the described may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the claimed is not limited thereto.
- the examples of this disclosure may be implemented by computer software executable by a data processor of the mobile device, such as in the processor entity, or by hardware, or by a combination of software and hardware.
- Computer software or program also called program product, including software routines, applets and/or macros, may be stored in any apparatus-readable data storage medium and they comprise program instructions to perform particular tasks.
- a computer program product may comprise one or more computer-executable components which, when the program is run, are configured to carry out examples.
- the one or more computer- executable components may be at least one software code or portions of it.
- any blocks of the logic flow as in the Figures may represent program steps, or interconnected logic circuits, blocks and functions, or a combination of program steps and logic circuits, blocks and functions.
- the software may be stored on such physical media as memory chips, or memory blocks implemented within the processor, magnetic media such as hard disk or floppy disks, and optical media such as for example DVD and the data variants thereof, CD.
- the physical media is a non-transitory media.
- the memory may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor based memory devices, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory.
- the data processors may be of any type suitable to the local technical environment, and may comprise one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASIC), FPGA, gate level circuits and processors based on multi core processor architecture, as non limiting examples.
- Examples of the above disclosures may be practiced in various components such as integrated circuit modules.
- the design of integrated circuits is by and large a highly automated process.
- Complex and powerful software tools are available for converting a logic level design into a semiconductor circuit design ready to be etched and formed on a semiconductor substrate.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
There is provided a method comprising: determining that network edge processing is to be performed; selecting at least one network edge processing function from a plurality of network edge processing functions for supporting at least part of said network edge processing, wherein said plurality of network edge processing functions comprises at least one browser; and causing the selected at least one network edge processing function to support said part of said network edge processing.
Description
Title
COMMUNICATION SYSTEM Field
The present application relates to a method, apparatus, and computer program. Background
A communication system can be seen as a facility that enables communication sessions between two or more entities such as user terminals, base stations/access points and/or other nodes by providing carriers between the various entities involved in the communications path. A communication system can be provided, for example, by means of a communication network and one or more compatible communication devices. The communication sessions may comprise, for example, communication of data for carrying communications such as voice, electronic mail (email), text message, multimedia and/or content data and so on. Non-limiting examples of services provided comprise two-way or multi-way calls, data communication or multimedia services and access to a data network system, such as the Internet. Summary
According to a first aspect, there is provided an apparatus comprising: means for determining that network edge processing is to be performed; means for selecting at least one network edge processing function from a plurality of network edge processing functions for supporting at least part of said network edge processing, wherein said plurality of network edge processing functions comprises at least one browser; and means for causing the selected at least one network edge processing function to support said part of said network edge processing.
The apparatus may further comprise means for receiving an indication of an availability of the at least one network edge processing function prior to employing the means for selecting the at least one network edge processing function; and means for using the indication of the availability when selecting the at least one network edge processing function.
The apparatus may further comprise means for determining a trust level for said at least one network edge processing function in dependence on at least one security mechanism used for connecting the at least one network edge processing function to the apparatus.
The apparatus may further comprise means for determining a trust level for said at least one network edge processing function in dependence on a service level agreement associated with an apparatus on which the at least one network edge processing function is executing.
The means for selecting may select the at least one network edge processing function in dependence on at least one of: a location of the at least one network edge processing function, a location of an end point to where the network edge processing is to be provided; an indication of the amount of processing resources available from the at least one network edge processing function; mobility information of the at least one network edge processing function; power source of the at least one network edge processing function; battery state and remaining operating time of the at least one network edge processing function; computational capacity of the at least one network edge processing function; information regarding whether a browser of the at least one network edge processing function has access to at least one Graphical Processing Unit (GPU); Artificial Intelligence processing capabilities beyond basic GPU available to the at least one network edge processing function; available memory of the at least one network edge processing function; available storage of the at least one network edge processing function; and network properties and connectivity of the at least one network edge processing function.
The network edge processing function may comprise at least part of a processing for deep learning processing.
The network edge processing may comprise at least part of a service to be provided to a user requesting that service.
The apparatus may further comprise means for communicating with the at least one network edge processing function using WebSockets communication protocol.
The apparatus may further comprise means for storing information on the plurality of network edge processing functions for selecting the at least one network edge processing function.
The apparatus may further comprise means for storing both historical and current information for at least one of the plurality of network edge processing functions, wherein said means for selecting further comprises means for using the historical and current information for selecting the at least one network edge processing function.
The apparatus may further comprise means for configuring the selected at least one network edge processing function to share at least one of data and computing state information between the selected at least one network edge processing function using device to device communication.
According to a second aspect, there is provided a method comprising: determining that network edge processing is to be performed; selecting at least one network edge processing function from a plurality of network edge processing functions for supporting at least part of said network edge processing, wherein said plurality of network edge processing functions comprises at least one browser; and causing the selected at least one network edge processing function to support said part of said network edge processing.
The method may further comprise receiving an indication of an availability of the at least one network edge processing function prior to selecting the at least one network edge processing function; and using the indication of the availability when selecting the at least one network edge processing function.
The method may further comprise determining a trust level for said at least one network edge processing function in dependence on at least one security mechanism
used for connecting the at least one network edge processing function to the apparatus.
The method may further comprise determining a trust level for said at least one network edge processing function in dependence on a service level agreement associated with an apparatus on which the at least one network edge processing function is executing.
The selecting may select the at least one network edge processing function in dependence on at least one of: a location of the at least one network edge processing function, a location of an end point to where the network edge processing is to be provided; an indication of the amount of processing resources available from the at least one network edge processing function; mobility information of the at least one network edge processing function; power source of the at least one network edge processing function; battery state and remaining operating time of the at least one network edge processing function; computational capacity of the at least one network edge processing function; information regarding whether a browser of the at least one network edge processing function has access to at least one Graphical Processing Unit (GPU); Artificial Intelligence processing capabilities beyond basic GPU available to the at least one network edge processing function; available memory of the at least one network edge processing function; available storage of the at least one network edge processing function; and network properties and connectivity of the at least one network edge processing function.
The network edge processing function may comprise at least part of a processing for deep learning processing.
The network edge processing may comprise at least part of a service to be provided to a user requesting that service.
The method may further comprise communicating with the at least one network edge processing function using WebSockets communication protocol.
The method may further comprise storing information on the plurality of network edge processing functions for selecting the at least one network edge processing function.
The method may further comprise storing both historical and current information for at least one of the plurality of network edge processing functions, wherein said selecting further comprises using the historical and current information for selecting the at least one network edge processing function.
The method may further comprise configuring the selected at least one network edge processing function to share at least one of data and computing state information between the selected at least one network edge processing function using device to device communication.
According to a third aspect, there is provided an apparatus comprising at least one processor and at least one memory comprising computer code that, when run on the at least one processor, causes the network apparatus to: determine that network edge processing is to be performed; select at least one network edge processing function from a plurality of network edge processing functions for supporting at least part of said network edge processing, wherein said plurality of network edge processing functions comprises at least one browser; and cause the selected at least one network edge processing function to support said part of said network edge processing.
The apparatus may further be caused to receive an indication of an availability of the at least one network edge processing function prior to selecting the at least one network edge processing function; and use the indication of the availability when selecting the at least one network edge processing function.
The apparatus may further be caused to determine a trust level for said at least one network edge processing function in dependence on at least one security mechanism used for connecting the at least one network edge processing function to the apparatus.
The apparatus may further be caused to determine a trust level for said at least one network edge processing function in dependence on a service level agreement associated with an apparatus on which the at least one network edge processing function is executing.
The selecting may select the at least one network edge processing function in dependence on at least one of: a location of the at least one network edge processing function, a location of an end point to where the network edge processing is to be provided; an indication of the amount of processing resources available from the at least one network edge processing function; mobility information of the at least one network edge processing function; power source of the at least one network edge processing function; battery state and remaining operating time of the at least one network edge processing function; computational capacity of the at least one network edge processing function; information regarding whether a browser of the at least one network edge processing function has access to at least one Graphical Processing Unit (GPU); Artificial Intelligence processing capabilities beyond basic GPU available to the at least one network edge processing function; available memory of the at least one network edge processing function; available storage of the at least one network edge processing function; and network properties and connectivity of the at least one network edge processing function.
The network edge processing function may comprise at least part of a processing for deep learning processing.
The network edge processing may comprise at least part of a service to be provided to a user requesting that service.
The apparatus may further be caused to communicate with the at least one network edge processing function using WebSockets communication protocol.
The apparatus may further be caused to store information on the plurality of network edge processing functions for selecting the at least one network edge processing function.
The apparatus may further be caused to store both historical and current information for at least one of the plurality of network edge processing functions, wherein said selecting further comprises using the historical and current information for selecting the at least one network edge processing function.
The apparatus may further be caused to configure the selected at least one network edge processing function to share at least one of data and computing state information between the selected at least one network edge processing function using device to device communication.
According to a fourth aspect, there is provided an apparatus comprising: determining circuitry for determining that network edge processing is to be performed; selecting circuitry for selecting at least one network edge processing function from a plurality of network edge processing functions for supporting at least part of said network edge processing, wherein said plurality of network edge processing functions comprises at least one browser; and causing circuitry for causing the selected at least one network edge processing function to support said part of said network edge processing.
The apparatus may further comprise receiving circuitry for receiving an indication of an availability of the at least one network edge processing function prior to employing the means for selecting the at least one network edge processing function; and using circuitry for using the indication of the availability when selecting the at least one network edge processing function.
The apparatus may further comprise determining circuitry for determining a trust level for said at least one network edge processing function in dependence on at least one security mechanism used for connecting the at least one network edge processing function to the apparatus.
The apparatus may further comprise determining circuitry for determining a trust level for said at least one network edge processing function in dependence on a service level agreement associated with an apparatus on which the at least one network edge processing function is executing.
The selecting circuitry for selecting may select the at least one network edge processing function in dependence on at least one of: a location of the at least one network edge processing function, a location of an end point to where the network edge processing is to be provided; an indication of the amount of processing resources available from the at least one network edge processing function; mobility information of the at least one network edge processing function; power source of the at least one network edge processing function; battery state and remaining operating time of the at least one network edge processing function; computational capacity of the at least one network edge processing function; information regarding whether a browser of the at least one network edge processing function has access to at least one Graphical Processing Unit (GPU); Artificial Intelligence processing capabilities beyond basic GPU available to the at least one network edge processing function; available memory of the at least one network edge processing function; available storage of the at least one network edge processing function; and network properties and connectivity of the at least one network edge processing function.
The network edge processing function may comprise at least part of a processing for deep learning processing.
The network edge processing may comprise at least part of a service to be provided to a user requesting that service.
The apparatus may further comprise communicating circuitry for communicating with the at least one network edge processing function using WebSockets communication protocol.
The apparatus may further comprise storing circuitry for storing information on the plurality of network edge processing functions processing functions for selecting the at least one network edge processing function.
The apparatus may further comprise storing circuitry for storing both historical and current information for at least one of the plurality of network edge processing
functions processing functions, wherein said selecting circuitry for selecting further comprises using circuitry for using the historical and current information for selecting the at least one network edge processing function. The apparatus may further comprise configuring circuitry for configuring the selected at least one network edge processing function to share at least one of data and computing state information between the selected at least one network edge processing function using device to device communication. According to a fifth aspect, there is provided non-transitory computer readable medium comprising program instructions for causing an apparatus to perform at least the following: determine that network edge processing is to be performed; select at least one network edge processing function from a plurality of network edge processing functions for supporting at least part of said network edge processing, wherein said plurality of network edge processing functions comprises at least one browser; and cause the selected at least one network edge processing function to support said part of said network edge processing.
The apparatus may further be caused to receive an indication of an availability of the at least one network edge processing function prior to selecting the at least one network edge processing function; and use the indication of the availability when selecting the at least one network edge processing function.
The apparatus may further be caused to determine a trust level for said at least one network edge processing function in dependence on at least one security mechanism used for connecting the at least one network edge processing function to the apparatus.
The apparatus may further be caused to determine a trust level for said at least one network edge processing function in dependence on a service level agreement associated with an apparatus on which the at least one network edge processing function is executing.
The selecting may select the at least one network edge processing function in dependence on at least one of: a location of the at least one network edge processing function, a location of an end point to where the network edge processing is to be provided; an indication of the amount of processing resources available from the at least one network edge processing function; mobility information of the at least one network edge processing function; power source of the at least one network edge processing function; battery state and remaining operating time of the at least one network edge processing function; computational capacity of the at least one network edge processing function; information regarding whether a browser of the at least one network edge processing function has access to at least one Graphical Processing Unit (GPU); Artificial Intelligence processing capabilities beyond basic GPU available to the at least one network edge processing function; available memory of the at least one network edge processing function; available storage of the at least one network edge processing function; and network properties and connectivity of the at least one network edge processing function.
The network edge processing function may comprise at least part of a processing for deep learning processing.
The network edge processing may comprise at least part of a service to be provided to a user requesting that service.
The apparatus may further be caused to communicate with the at least one network edge processing function using WebSockets communication protocol.
The apparatus may further be caused to store information on the plurality of network edge processing functions processing functions for selecting the at least one network edge processing function.
The apparatus may further be caused to store both historical and current information for at least one of the plurality of network edge processing functions processing functions, wherein said selecting further comprises using the historical and current information for selecting the at least one network edge processing function.
The apparatus may further be caused to configure the selected at least one network edge processing function to share at least one of data and computing state information between the selected at least one network edge processing function using device to device communication.
According to a sixth aspect, there is provided a computer program comprising program instructions for causing a computer to perform any method as described above.
According to a seventh aspect, there is provided a computer program product stored on a medium may cause an apparatus to perform any method as described herein.
According to an eighth aspect, there is provided an electronic device that may comprise apparatus as described herein.
According to a ninth aspect, there is provided a chipset that may comprise an apparatus as described herein.
Description of Figures
Examples will now be described, by way of example only, with reference to the accompanying Figures in which:
Figure 1 shows a schematic diagram of an example communication system comprising a plurality of base stations and a plurality of communication devices; Figure 2 shows a schematic diagram of an example mobile communication device; Figure 3 shows a schematic diagram of an example network apparatus;
Figure 4 show a schematic diagram of an example network; and
Figure 5 shows an example flowchart of actions performed by a network apparatus.
Detailed description
In general, the following disclosure relates to the provision and/or use of processing functions at the edges of a network for enabling edge computing and/or fog computing to be performed.
In particular, the following relates to a processing function that is located in logic on a browser at the edge of a network. The present application discloses a system in which a network may consider and/or use these browser-based processing functions for edge processing/computing. For example, when a request for a service (and/or for edge processing) is received by the network, a determination may be made as whether or not at least part of that service can be provided by a processing function located at the edge of the network. If it can, at least one processing function may be selected to provide that at least part of a service. The selection of the at least one processing function may include a making a selection from a set of two or more processing functions that includes at least one processing function embodied by logic located in a browser.
By expanding the pool of processing functions that may be used by a network to provide edge services/edge processing to include browser-based processing, more edge processing may be performed. This may result in the reduction of a burden on core network resources and a reduced latency for services that can be provided locally.
Before explaining in detail the examples, certain general principles of a wireless communication system and mobile communication devices are briefly explained with reference to Figures 1 to 2 to assist in understanding the technology underlying the described examples.
In a wireless communication system 100, such as that shown in Figure 1 , mobile communication devices, user apparatus, or terminal 102, 104, 105 are provided wireless access via at least one base station or similar wireless transmitting and/or receiving node or point. A user can access the communication system by means of an appropriate communication device or terminal. A communication device of a user is often referred to as user equipment (UE) or as a user apparatus. Throughout the following, these terms will be used interchangeably. It is understood that the term “terminal” is used to cover communication devices that may access a network through an access point, and which may or may not have a user. Examples of such terminals without a user include devices that make machine-to-machine transmissions in a
factory. A communication device is provided with an appropriate signal receiving and transmitting apparatus for enabling communications, for example enabling access to a communication network or communications directly with other users. The communication device may access a carrier provided by a station or access point, and transmit and/or receive communications on the carrier.
The communication system and associated devices typically operate in accordance with a given standard or specification which sets out what the various entities associated with the system are permitted to do and how that should be achieved. Communication protocols and/or parameters which shall be used for the connection are also typically defined. One example of a communications system is UTRAN (3G radio). An example of attempts to solve the problems associated with the increased demands for capacity is an architecture that is known as the long-term evolution (LTE) of the Universal Mobile Telecommunications System (UMTS) radio-access technology. The LTE standard is developed by the 3rd Generation Partnership Project (3GPP). LTE was first released in 2008 (known as LTE Release 8), and new enhancements (in form of releases) has been introduced since then. LTE Release 13 and onwards is also known as LTE Advanced Pro.
A base station is referred to as an eNodeB (eNB) in LTE, a gNodeB (gNB) in 5G, and may be referred to more generally as simply a network apparatus or a network access point. Base stations are typically controlled by at least one appropriate controller apparatus, so as to enable operation thereof and management of mobile communication devices in communication with the base stations. The controller apparatus may be located in a radio access network (e.g. wireless communication system 100) or in a core network (CN) (not shown) and may be implemented as one central apparatus or its functionality may be distributed over several apparatus. The controller apparatus may be part of the base station and/or provided by a separate entity such as a Radio Network Controller. In Figure 1 , control apparatus 108 and 109 are shown to control the respective macro level base stations 106 and 107. In some systems, the control apparatus may additionally or alternatively be provided in a radio network controller.
LTE and 5G systems may however be considered to have a so-called “flat” architecture, without the provision of RNCs; rather the (e)NB is in communication with a system architecture evolution gateway (SAE-GW) and a mobility management entity (MME), which entities may also be pooled meaning that a plurality of these nodes may serve a plurality (set) of (e)NBs. Each user apparatus is served by only one MME and/or S-GW at a time and the (e)NB keeps track of current association. SAE-GW is a “high-level” user plane core network element in LTE, which may comprise the S-GW and the P-GW (serving gateway and packet data network gateway, respectively). The functionalities of the S-GW and P-GW are separated and they are not required to be co-located.
In an LTE system, radio resource control (RRC) is defined to be a sublayer of radio interface Layer 3 that exists in the control plane only, and which provides information transfer service to the non-access stratum (see 3GPP Technical Specification Group Services and System Aspects 21.905). RRC is a protocol layer between a user apparatus and an eNB, and is in charge of, for example, paging the user apparatus when traffic comes, establishing/maintaining or release of radio bearers (establishing an RRC connection between user apparatus and eNB), user apparatus mobility, user apparatus measurement configuration and user apparatus reporting configuration, etc. RRC is responsible for controlling the configuration of radio interface Layers 1 and 2.
In Figure 1 base stations 106 and 107 are shown as connected to a wider communications network 113 via gateway 112. A further gateway function may be provided to connect to another network.
The smaller base stations 116, 118 and 120 may also be connected to the network 113, for example by a separate gateway function and/or via the controllers of the macro level stations. The base stations 116, 118 and 120 may be pico or femto level base stations or the like. In the example, base stations 116 and 118 are connected via a gateway 111 whilst station 120 connects via the controller apparatus 108. In some examples, the smaller stations may not be provided.
A possible communication device that comprises a browser will now be described in more detail with reference to Figure 2 showing a schematic, partially sectioned view of a communication device 200. Such a communication device is often referred to as user apparatus (terminal) or terminal. An appropriate communication device may be provided by any device capable of sending and receiving radio signals. Non-limiting examples comprise a mobile station (MS) or mobile device such as a mobile phone or what is known as a ’smart phone’, a computer provided with a wireless interface card or other wireless interface facility (e.g., USB dongle), personal data assistant (PDA) or a tablet provided with wireless communication capabilities, or any combinations of these or the like. A communication device may provide, for example, communication of data for carrying communications such as voice, electronic mail (email), text message, multimedia and so on. Users may thus be offered and provided numerous services via their communication devices. Non-limiting examples of these services comprise two-way or multi-way calls, data communication or multimedia services or simply an access to a data communications network system, such as the Internet. Users may also be provided broadcast or multicast data. Non-limiting examples of the content comprise downloads, television and radio programs, videos, advertisements, various alerts and other information. The communication device 200 may receive signals over an air or radio interface 207 via appropriate apparatus for receiving and may transmit signals via appropriate apparatus for transmitting radio signals. In Figure 2 transceiver apparatus is designated schematically by block 206. The transceiver apparatus 206 may be provided for example by means of a radio part and associated antenna arrangement. The antenna arrangement may be arranged internally or externally to the mobile device.
A communication device is typically provided with at least one data processing entity 201 , at least one memory 202 and other possible components 203 for use in software and hardware aided execution of tasks it is designed to perform, including control of access to and communications with access systems and other communication devices. The data processing, storage and other relevant control apparatus can be provided on an appropriate circuit board and/or in chipsets. This feature is denoted by
reference 204. The user may control the operation of the mobile device by means of a suitable user interface such as key pad 205, voice commands, touch sensitive screen or pad, combinations thereof or the like. A display 208, a speaker and a microphone can be also provided. Furthermore, a mobile communication device may comprise appropriate connectors (either wired or wireless) to other devices and/or for connecting external accessories, for example hands-free equipment, thereto. The communication devices 102, 104, 105 may access the communication system based on various access techniques.
An example of wireless communication systems are architectures standardized by the 3rd Generation Partnership Project (3GPP). A latest 3GPP based development is often referred to LTE Advanced Pro of the Universal Mobile Telecommunications System (UMTS) radio-access technology, or the 5th Generation (5G) New Radio (NR). Other examples of radio access system comprise those provided by base stations of systems that are based on technologies such as wireless local area network (WLAN) and/or WiMax (Worldwide Interoperability for Microwave Access). A base station can provide coverage for an entire cell or similar radio service area.
An example network equipment for the 3GPP system is shown in Figure 3. Figure 3 shows an example of a control apparatus 300 for a communication system, for example to be coupled to and/or for controlling a station of an access system, such as a RAN node, e.g. a base station or (g) node B, or a node of a core network such as an MME or Access and Mobility Management Function (AMF). The method may be implanted in a single control apparatus or across more than one control apparatus. The control apparatus may be integrated with or external to a node or module of a core network or RAN. In some examples, base stations comprise a separate control apparatus unit or module. In other examples, the control apparatus can be another network element such as a radio network controller or a spectrum controller. In some examples, each base station may have such a control apparatus as well as a control apparatus being provided in a radio network controller. The control apparatus 300 can be arranged to provide control on communications in the service area of the system. The control apparatus 300 comprises at least one memory 301 , at least one data processing unit 302, 303 and an input/output interface 304. Via the interface the
control apparatus can be coupled to a receiver and a transmitter of the base station. The receiver and/or the transmitter may be implemented as a radio front end or a remote radio head. For example the control apparatus 300 can be configured to execute an appropriate software code to provide the control functions. Control apparatus 300 may be included in a chipset or modem apparatus. A chipset or modem apparatus which includes apparatus 300 may be included in a control node such as an eNB.
5G New Radio (NR) is designed to accommodate a wide range of services on top of the traditional mobile broadband (MBB) communication. For example, ultra-reliable low-latency communications (URLLC) is one of the three main usage scenarios and is envisioned as enabling emerging new applications, for example from industrial automations, autonomous driving, electric-power distribution to Programme Making and Special Events, and so on.
In light of these envisaged uses, it is therefore useful to provide mechanisms that help to reduce latency of services provided to a user.
It is also expected that the number of devices connected to a network, and the amount of processing to be performed by a network, is likely to increase exponentially over the next few years. To help mitigate the processing load on a network, processing functions associated with providing a service may be performed by large data centres. These large data centres are not always located near to a user at an edge of a network, which can make it difficult for user applications to receive responsive performance. The location of these large data centres is likely to lead to an increased burden on the core network infrastructure, as the data being processed is signalled across the network.
Because of this, to help reduce latency and to reduce network congestion, recent studies have increasingly focused on developing edge computing mechanisms to provide services. This means that services may be deployed by processing functions at an edge of a network, outside of a core network functionality. Outsourcing
computational/processing work to an edge of a network is also known as “fog computing”.
An example mechanism/architecture for providing edge computing is Multi-access edge computing (MEC). MEC is a European Telecommunications Standards Institute (ETSI)-defined network architecture concept that has been publically developed since 2014. MEC is directed towards enabling cloud computing capabilities and a service environment to be provided at the edge of a cellular network. The concepts of MEC may be applied to the edge of any network, and not just cellular networks. Therefore, although the following may describe examples in the context of cellular networks, it is understood that the presently described techniques are not limited to cellular networks.
The mechanisms associated with edge network computing mechanisms may be viewed through the “network-in-a-box” concept. “Network-in-a-box” revolves around the idea of fitting all of the software and hardware modules needed by a mobile network in a single, or in a handful of physical devices. Functions that would normally be performed by a core network infrastructure and/or radio access network may then be performed by functionality on those physical devices. This may be useful when part of the regular communication network is unavailable, such as during emergency situations and areas in which there is no formal communication infrastructure. In the context of provided services, the logic of a provided service may be provided substantially by the network-in-a-box devices (and, minimally, in the user devices utilising the service). The network-in-a-box may provide only part of a network at any one time. Network-in- a-box devices may thus establish interfaces with at least one of: an end user of a service (for, for example, service provisioning), an external network (e.g. the internet for, for example, backhaul communications), and other networks-in-a-box or pre existent infrastructure components that are communicating with end users. The interfaces established may be dependent on the role played by that network-in-a-box. MEC may therefore be thought of as one type of network-in-a-box. As the network-in- a-box seeks to minimise core network interactions/processing, developments in edge computing are also useful to network-in-a-box mechanisms.
One of the complications associated with edge computing relates to establishing a pool of processing entities to which processing/computational tasks may be outsourced. In particular, devices for performing the processing functions need to be determined, and have logic installed on them for performing the processing.
To simplify this, the following proposes that browsers comprise functionality for performing processing functionality associated with providing edge processing, such as for a requested service.
In particular, a webpage of a browser may comprise a processing function that is configured to perform processing and/or computation associated with providing edge processing, such as when providing a requested service for a user. This processing function on the browser may be comprised within a set of processing functions that a central controller located in the network, such as in a cellular network, may have knowledge of as being processing functions able to contribute towards providing edge processing. In other words, the presently described system can be said to virtualise Web-based resources in order to provision edge networks. Consequently, in response to a determination that edge processing/an edge service is to be provided, the central controller may select at least one processing function from the set to provide at least part of the edge service, and send an instruction to that at least one processing function to provide the at least part of the service. The at least part of the service may be returned to the central controller for further processing and/or provision to the user.
In this way, a large number of processing resources may be provided at the edge of a network with relatively few changes to a current network structure. Further, the described system allows for a substantial increase in a pool of potential edge processing functions, which allows for more distributed processing to take place and reduces core network bottleneck. In other words, the use of browsers for contributing towards processing pools can assist in the provision of an on-demand network capacity, computing power, storage capabilities and out-of-band communication
capabilities. Given a resource-demanding activity for a certain duration and objective, the system may form a web-based instant network of participating systems on- demand, based on what is available in the local network. The following will discuss some examples of how the above-described system may be implemented, although it is understood that the present application is not limited to these described examples.
Figure 4 provides a schematic overview of a potential system in which the presently described techniques may be deployed.
Figure 4 shows a network management agent 401 that comprises a task manager 402 and an edge processing function coordinator 403. The network management agent may be comprised within a central controller for a radio access network, or within some other network-based component (e.g. within an access network and/or within a core network, including apparatus/functions having a similar functionality, including network-in-a-box functions). The edge processing function coordinator 403 may communicate with processing functions 404, 405, 406. As an example, processing functions 404 and 405 may be resident on respective web browsers, while processing function 406 may be an edge application resident on a dedicated server. Each of processing functions 404, 405, 406 may comprise independent access to processing resources for processing edge services and/or edge computing. The processing resources being accessed may be accessed by a single processing function. The processing resources being accessed may be accessed by multiple processing functions (i.e. the processing resources may be shared).
One mechanism through which browsers may provide processing functions is through the use of JavaScript. JavaScript is a computer programming that has been standardised by the European Computer Manufacturers Association (ECMA) International according to their ECMAScript specification. JavaScript can be used to emulate operating systems, such as Linux, which enables generic computation to be performed using it.
Moreover, some modern browsers allow JavaScript access to Graphics Processing Units (GPUs). A GPU is a single chip processor used for extensive Graphical and Mathematical computations. In general, GPUs have a large number of simple cores, which allows parallel computing through thousands of threads computing at a time. This also makes browsers comprising processing logic/functions suitable for supporting deep learning processing, when large amounts of data are processed, which means that the browsers containing JavaScript may also be useful for deep learning processing. Further, programs exist that facilitate the compiling of code into JavaScript, such as C+/C++. This means that code in other programming languages can also be run on web browsers at near native speeds through use of a JavaScript plugin.
JavaScript may also be configured to implement control channels and exchange data using a communication protocol such as WebSocket. WebSocket is located at layer 7 in the OSI model, and utilises Transmission Control Protocol (TCP) at layer 4 to allow for full duplex communication. WebSocket is also enabled to work over HTTP ports 80 and 443 to support HTTP proxies and intermediaries, thus making it compatible with the HTTP protocol. It is understood that other communication protocols enabling duplex communications may be used.
In operation, the browser environment (or Web/JavaScript runtime) may run a Web application (or simply a Web page) that runs an “Instant Edge Component”. The “Instant Edge Component” may be thought of as the logic that enables the processing resources to be used in a browser environment. Hereinafter, these terms will be used interchangeably to indicate an edge processing function. The Instant Edge Component may connect with the edge processing function coordinator in the network that coordinates/allocates the processing to be performed. The edge processing function coordinator may use a Uniform Resource Locator (URL) as a configuration parameter when addressing an Instant Edge Component (although it is understood that other mechanisms may be used to address the Instant Edge Components). The URL may be provided when a Web application including the Instant
Edge Component is generated. The URL may be discovered in some other way, such as by using a discovery server or a domain name server.
Once the edge processing function coordinator has a URL for the Instant Edge Component, the Instant Edge Component may subsequently send capability and/or environmental information to the network controller. This information may be used by the edge processing function coordinator when selecting a processing function for performing edge processing. Hereinafter, this sent information will be simply referred to as capability information. However, it is understood that the sent information may comprise other categories of information. The information may be at least one of the following information: location information, mobility trajectory information, battery/not battery powered device information, battery state and remaining operating time, computational capacity, information regarding whether the browser has access to at least one GPU, Artificial Intelligence processing capabilities beyond basic GPU, available memory, available storage, network properties and connectivity. This information may be obtained from public Application Programming Interfaces (APIs) within the browser environment.
The edge processing function coordinator may store historical information about the Instant Edge Component. This stored information may be privacy protected. The edge processing function coordinator may use both current and historical information about the Instant Edge Component to determine a longevity score for how long the Instant Edge Component is expected to be available. Further, the edge processing function coordinator may be aware of customer and subscription data that determines Service Level Agreement features for the Instant Edge Component. For example, it may be known that an Instant Edge Component is available for a limited period of time. This could happen in the case that a laptop is taken to a known/agreed location and the Instant Web Platform is activated on the laptop according to prior agreement. In the present context, a Service Level Agreement may be thought of as an agreement between a user of an apparatus associated with the Instant Edge Component and the network that defines a level of service that the user can expect, such as latency, etc. Metrics may be provided for
determining whether or not the parameters defined in a Service Level Agreement are adhered to.
The edge processing function coordinator may use at least part of this determined information to rank and prioritise the Instant Edge Components for selecting at least one Instant Edge Component for processing data.
To make the selection more efficient, the edge processing function coordinator may categorise and cluster the Instant Edge Components based on their determined and estimated properties, such as the geographical position, computing capability, expected online duration, Service Level Agreement parameters, etc. The resources may then be selected and utilised according to these estimates, with scheduling decisions being made by the edge processing function coordinator. The cluster of instant Web components may be configured to use local device-to-device (D2D) connectivity to share data and computing state. This configuration may be instructed by the network management agent. For example, the network management agent may use device-cloud connectivity for control, but may configure more local connectivity with D2D and WebSockets-based optimizations. This configuration may be performed by at least one of the Instant Edge Components. In such a case, the configuration may be performed following receipt by at least one of the Instant Edge Components of an indication from the edge processing function coordinator that the configuration is allowed. Depending on the implementation, the Instant Edge Components may have varying degrees of flexibility regarding how the local commnications are managed. For example, in one instance the Instant Edge Components may be free to set up their own local networks in response to receipt of an indication that they’re allowed to set up their own processing networks. As another example, the indication may comprised detailed information of the local network(s) to be set up. Use of configurations may be useful when processing information of varying security levels. With the edge processing function coordinator playing the role of the mediator for resources of the Instant Edge Components, the edge processing function coordinator may address the resources through at least one of a variety of different schemes. As
one example, it is possible to use Uniform Resource Indicators to address resources at Instant Edge Components, rather than an Instant Edge Component in general.
The edge processing function coordinator may enforce security and privacy measures for the resources. These may be enforced/implemented using security and privacy measures defined in a communication protocol.
For example, consider the case of a browser/system executing an Instant Edge Component that connects with the edge processing function coordinator. The Instant Edge Component may be delivered through a secure Web page connected with a network controller/cellular system (a trusted Web server). The Instant Edge Component may access the edge processing function coordinator using a secure channel, such as HTTPS or secure WebSockets. Thus existing Web security techniques ensure that both the Instant Edge and the edge processing function coordinator are proper and trusted. The edge processing function coordinator may not necessarily trust the Instant Edge Component, because the Web runtime may be compromised. The content provided to such semi-trusted Instant Edge Components is expected to be encrypted. There are techniques for enabling the processing of encrypted/protected content on untrusted computing nodes.
To further improve security, the Instant Edge Component may be started on a device by a user having a specific Service Level Agreement in place covering this edge processing functionality. For example, a worker might activate the system at specific site for a specific purpose. The Instant Edge Component may then require additional credentials and/or use of out of band channels for authenticating the Service Level Agreement activation.
The edge processing function coordinator may be able to detect when an Instant Edge Component is both running over a cellular connection and has a specific cellular Service Level Agreement that may cover also Instant Edge functionality. Through this cellular network-based Service Level Agreement and verification of the cellular connectivity, the network controller may be able to build more trust towards the device
and the Edge component, including in terms of connectivity and location as well as cellular subscription.
Figure 5 is a flow chart illustrating some general principles of the presently described techniques with respect to an apparatus performing as an edge processing function coordinator. For clarity, the following will refer to this apparatus as a network controller. Flowever, it is understood that this term includes apparatuses that perform equivalent functionality. At 501 , an apparatus, such as a network controller or some apparatus associated with a network, determines that network edge processing is to be performed. This determination may be done in dependence on at least one of a variety of different conditions. For example, it may be determined that network edge processing is to be performed when the apparatus has knowledge of processing functions local to where the processing result is to be delivered. This means that when a network controller receives a request for a service from a user of a device, the network controller may determine to perform local/edge processing when the network controller determines that there are enough processing resources available for providing at least part of that service. As another example, the determination may be made in dependence on the amount of data the network controller is already transmitting to the core network and/or a state of the core network, such that edge processing is employed when transmitting the data further upstream would adversely affect the core network functions. As another example, the determination may be made if it is determined that an explicit request for edge processing has been received. This may be the case, for example, when the requests are received from other network elements, such as other network controllers.
At 502, the apparatus selects at least one network edge processing function from a plurality of processing functions for supporting at least part of said network edge processing, wherein said plurality of processing functions comprises at least one browser. By this, it is meant that a browser comprises functionality to execute processing functions.
The selecting may be performed in dependence on at least one of: a location of the at least one network edge processing function, a location of an end point to where the network edge processing is to be provided; an indication of the amount of processing resources available from the at least one network edge processing function; mobility information of the at least one network edge processing function; power source of the at least one network edge processing function; battery state and remaining operating time of the at least one network edge processing function; computational capacity of the at least one network edge processing function; information regarding whether a browser of the at least one network edge processing function has access to at least one Graphical Processing Unit (GPU); Artificial Intelligence processing capabilities beyond basic GPU available to the network edge processing function; available memory of the at least one network edge processing function; available storage of the at least one network edge processing function; and network properties and connectivity of the at least one network edge processing function. At least some of this information may be obtained from the at least one network edge processing function. This may be provided when, or in response to, the apparatus being notified of an availability of the at least one network edge processing function. This is discussed further herein. At 503, the apparatus may cause the selected at least one network edge processing function to support said part of said network edge processing. For example, the apparatus may cause the selected at least one network edge processing function to process data. The processed data may be returned to the apparatus for provision to a return point of the network edge processing.
As described in some of the above examples, the apparatus may receive an indication of an availability of the at least one network edge processing function prior to employing the means for selecting the at least one network edge processing function. This may be received when the at least one network edge processing function registers with the network. The indication of availability may be used by the apparatus when selecting the at least one network edge processing function. The indication of availability may be received when the apparatus contacts another network apparatus for information regarding available network edge processing functions. In this case,
the at least one network edge processing function may register its availability with the another network apparatus.
The apparatus may determine a trust level for said at least one network edge processing function. This trust level may be determined in dependence on at least one of a plurality of different factors. For example, the trust level may be determined in dependence on at least one security mechanism used for connecting the at least one network edge processing function to the apparatus. In another example, the trust level may be determined in dependence on a service level agreement associated with an apparatus on which the at least one network edge processing function is executing. The apparatus may perform the selecting of a network edge processing function in dependence on the determined trust levels. For example, the task to be performed may have a minimum trust level such that network edge processing functions having a lower trust level that the minimum trust level are not selected for preforming at least part of the task. As another example, the apparatus and/or a network operator may set a minimum trust level for performing any task.
The network edge processing may comprise at least one of a variety of different processing tasks. For example, the network edge processing may comprise at least part of a processing for deep learning processing. As another example, the network edge processing may comprise at least part of a service to be provided to a user requesting that service. The network edge processing may be fog processing.
The apparatus may communicate with the at least one network edge processing function using a communication protocol such as WebSockets and/or FITTP. For additional security, the apparatus may communicate with the at least one network edge processing function using communication protocols that have security functions, such as, for example, HTTPS or secure WebSockets as a communication protocol. Information on the plurality of processing functions may be stored by the apparatus for selecting the at least one network edge processing function. Information on the plurality of processing functions may be stored by another apparatus than the
apparatus for selecting the at least one network edge processing function. In this latter case, the selecting apparatus may have access to the stored information.
The apparatus may further have access to and/or store both historical and current information for at least one of the plurality of processing functions. The selecting the at least one network edge processing function may be performed in dependence on both the historical and current information. The historical and current information may relate to at least one of the above-discussed information used for selecting the at least one network edge processing function, including the information discussed in relation to step 502.
It should be understood that each block of the flowchart of the Figures and any combination thereof may be implemented by various means or their combinations, such as hardware, software, firmware, one or more processors and/or circuitry.
It is noted that whilst examples have been described in relation to one example of a standalone 5G, similar principles maybe applied in relation to other examples of standalone 3G, LTE or 5G networks. It should be noted that other examples may be based on other cellular technology other than LTE or on variants of LTE. Therefore, although certain examples were described above by way of example with reference to certain example architectures for wireless networks, technologies and standards, examples may be applied to any other suitable forms of communication systems than those illustrated and described herein. It is also noted herein that while the above describes example examples, there are several variations and modifications which may be made to the disclosed solution without departing from the scope of the present claims.
It should be understood that the apparatuses may comprise or be coupled to other units or modules etc., such as radio parts or radio heads, used in or for transmission and/or reception. Although the apparatuses have been described as one entity, different modules and memory may be implemented in one or more physical or logical entities.
In general, the various examples may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects of the described may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the claimed is not limited thereto. While various aspects of the claimed may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
The examples of this disclosure may be implemented by computer software executable by a data processor of the mobile device, such as in the processor entity, or by hardware, or by a combination of software and hardware. Computer software or program, also called program product, including software routines, applets and/or macros, may be stored in any apparatus-readable data storage medium and they comprise program instructions to perform particular tasks. A computer program product may comprise one or more computer-executable components which, when the program is run, are configured to carry out examples. The one or more computer- executable components may be at least one software code or portions of it.
Further in this regard it should be noted that any blocks of the logic flow as in the Figures may represent program steps, or interconnected logic circuits, blocks and functions, or a combination of program steps and logic circuits, blocks and functions. The software may be stored on such physical media as memory chips, or memory blocks implemented within the processor, magnetic media such as hard disk or floppy disks, and optical media such as for example DVD and the data variants thereof, CD. The physical media is a non-transitory media.
The memory may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor
based memory devices, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The data processors may be of any type suitable to the local technical environment, and may comprise one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASIC), FPGA, gate level circuits and processors based on multi core processor architecture, as non limiting examples.
Examples of the above disclosures may be practiced in various components such as integrated circuit modules. The design of integrated circuits is by and large a highly automated process. Complex and powerful software tools are available for converting a logic level design into a semiconductor circuit design ready to be etched and formed on a semiconductor substrate. The foregoing description has provided by way of non-limiting examples a full and informative description of the exemplary example of this disclosure. However, various modifications and adaptations may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings and the appended claims. However, all such and similar modifications of the teachings of this disclosure will still fall within the scope of the appended claims.
Claims
Claims
1) An apparatus comprising: means for determining that network edge processing is to be performed; means for selecting at least one network edge processing function from a plurality of network edge processing functions for supporting at least part of said network edge processing, wherein said plurality of network edge processing functions comprises at least one browser; and means for causing the selected at least one network edge processing function to support said part of said network edge processing.
2) An apparatus as claimed in claim 1, further comprising: means for receiving an indication of an availability of the at least one network edge processing function prior to employing the means for selecting the at least one network edge processing function; and means for using the indication of the availability when selecting the at least one network edge processing function.
3) An apparatus as claimed in any preceding claim, further comprising means for determining a trust level for said at least one network edge processing function in dependence on at least one security mechanism used for connecting the at least one network edge processing function to the apparatus.
4) An apparatus as claimed in any preceding claim, further comprising means for determining a trust level for said at least one network edge processing function in dependence on a service level agreement associated with an apparatus on which the at least one network edge processing function is executing.
5) An apparatus as claimed in any preceding claim, wherein the means for selecting selects the at least one network edge processing function in dependence on at least one of: a location of the at least one network edge processing function, a location of an end point to where the network edge processing is to be provided; an indication of the amount of processing
resources available from the at least one network edge processing function; mobility information of the at least one network edge processing function; power source of the at least one network edge processing function; battery state and remaining operating time of the at least one network edge processing function; computational capacity of the at least one network edge processing function; information regarding whether a browser of the at least one network edge processing function has access to at least one Graphical Processing Unit (GPU); Artificial Intelligence processing capabilities beyond basic GPU available to the at least one network edge processing function; available memory of the at least one network edge processing function; available storage of the at least one network edge processing function; and network properties and connectivity of the at least one network edge processing function.
6) An apparatus as claimed in any preceding claim, wherein the network edge processing comprises at least part of a processing for deep learning processing.
7) An apparatus as claimed in any preceding claim, wherein the network edge processing comprises at least part of a service to be provided to a user requesting that service.
8) An apparatus as claimed in any preceding claim, further comprising means for communicating with the at least one network edge processing function using WebSockets communication protocol.
9) An apparatus as claimed in any preceding claim, further comprising means for storing information on the plurality of network edge processing functions for selecting the at least one network edge processing function.
10)An apparatus as claimed in any preceding claim, further comprising means for storing both historical and current information for at least one of the plurality of network edge processing functions, wherein said means for selecting further comprises means for using the historical and current information for selecting the at least one network edge processing function.
)An apparatus as claimed in any proceeding claim, further comprising means for configuring the selected at least one network edge processing function to share at least one of data and computing state information between the selected at least one network edge processing function using device to device communication. )A method comprising: determining that network edge processing is to be performed; selecting at least one network edge processing function from a plurality of network edge processing functions for supporting at least part of said network edge processing, wherein said plurality of network edge processing functions comprises at least one browser; and causing the selected at least one network edge processing function to support said part of said network edge processing. )A method as claimed in claim 12, further comprising: receiving an indication of an availability of the at least one network edge processing function prior to employing the means for selecting the at least one network edge processing function; and using the indication of the availability when selecting the at least one network edge processing function. )A method as claimed in any of claims 12 to 13, further comprising determining a trust level for said at least one network edge processing function in dependence on at least one security mechanism used for connecting the at least one network edge processing function to the apparatus. )A method as claimed in any of claims 12 to 14, further comprising determining a trust level for said at least one network edge processing function in dependence on a service level agreement associated with an apparatus on which the at least one network edge processing function is executing. )A method as claimed in any of claims 12 to 15, wherein the selecting selects the at least one network edge processing function in dependence on at least
one of: a location of the at least one network edge processing function, a location of an end point to where the network edge processing is to be provided; an indication of the amount of processing resources available from the at least one network edge processing function; mobility information of the at least one network edge processing function; power source of the at least one network edge processing function; battery state and remaining operating time of the at least one network edge processing function; computational capacity of the at least one network edge processing function; information regarding whether a browser of the at least one network edge processing function has access to at least one Graphical Processing Unit (GPU); Artificial Intelligence processing capabilities beyond basic GPU available to the at least one network edge processing function; available memory of the at least one network edge processing function; available storage of the at least one network edge processing function; and network properties and connectivity of the at least one network edge processing function. )A method as claimed in any of claims 12 to 16, further comprising storing information on the plurality of network edge processing functions for selecting the at least one network edge processing function. )A method as claimed in any of claims 12 to 17, further comprising storing both historical and current information for at least one of the plurality of network edge processing functions, wherein said selecting further comprises using the historical and current information for selecting the at least one network edge processing function. )A method as claimed in any of claims 12 to 18, further comprising configuring the selected at least one network edge processing function to share at least one of data and computing state information between the selected at least one network edge processing function using device to device communication. )A computer product comprising computer code that, when executed by at least one processor, causes the processor to perform the functions of any of claims 12 to 19.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/EP2020/068177 WO2022002342A1 (en) | 2020-06-29 | 2020-06-29 | Communication system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/EP2020/068177 WO2022002342A1 (en) | 2020-06-29 | 2020-06-29 | Communication system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022002342A1 true WO2022002342A1 (en) | 2022-01-06 |
Family
ID=71452207
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2020/068177 Ceased WO2022002342A1 (en) | 2020-06-29 | 2020-06-29 | Communication system |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2022002342A1 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140259109A1 (en) * | 2013-03-06 | 2014-09-11 | Surfeasy, Inc. | Edge server selection for enhanced services network |
| US20190020657A1 (en) * | 2017-07-13 | 2019-01-17 | Dell Products, Lp | Method and apparatus for optimizing mobile edge computing for nomadic computing capabilities as a service |
-
2020
- 2020-06-29 WO PCT/EP2020/068177 patent/WO2022002342A1/en not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140259109A1 (en) * | 2013-03-06 | 2014-09-11 | Surfeasy, Inc. | Edge server selection for enhanced services network |
| US20190020657A1 (en) * | 2017-07-13 | 2019-01-17 | Dell Products, Lp | Method and apparatus for optimizing mobile edge computing for nomadic computing capabilities as a service |
Non-Patent Citations (1)
| Title |
|---|
| VODAFONE GROUP PLC: "Draft MEC gs_ 002v010201", vol. ISG - MEC - Multi-access Edge Computing, 31 August 2017 (2017-08-31), pages 1 - 43, XP014298899, Retrieved from the Internet <URL:docbox.etsi.org\ISG\MEC\05-Contributions\2017\2017_09_05_RG_MEC#78-Tech\MEC(17)000466_Draft_MEC_gs__002v010201\Draft gs_MEC002v010201.docx> [retrieved on 20170831] * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3925271B1 (en) | Method and apparatus for signaling offset in a wireless communication system | |
| US10117107B2 (en) | Method, apparatus, system and computer program | |
| US9363718B2 (en) | Inter-cell interference control method and apparatus | |
| US10708943B2 (en) | Methods for configuring and receiving scheduling signaling and related devices | |
| JP2021510473A (en) | Signal transmission method and equipment | |
| CN110535604B (en) | Rate matching method and device | |
| JP2020523927A (en) | Data receiving method, related device, and system | |
| WO2022182330A1 (en) | Signalling support for split ml-assistance between next generation random access networks and user equipment | |
| US20250247828A1 (en) | Information sending method, and communication node and storage medium | |
| WO2021045903A1 (en) | Methods and apparatus for signaling offset in a wireless communication system | |
| US20170325092A1 (en) | Discovery mechanism for service server connection | |
| CN110933758A (en) | Interference coordination method and device, and base station | |
| JP7612843B2 (en) | Apparatus, method and computer program | |
| US12363707B2 (en) | Ultra-reliable low latency communication (URLLC) scheme selection | |
| US20180007528A1 (en) | Method, apparatus and system | |
| WO2022002342A1 (en) | Communication system | |
| US20240372791A1 (en) | Apparatus, methods, and computer programs | |
| CN116963310A (en) | Method, apparatus and computer readable medium for communication | |
| WO2023093555A1 (en) | Method for determining service access point, and information sending method, communication node and storage medium | |
| TWI687119B (en) | Apparatuses and methods for a user equipment (ue) to handle multiple scheduling request (sr) procedures | |
| CN116828617A (en) | TBS determination method, device, user equipment and storage medium | |
| CN113993208B (en) | Method, device and communication equipment for determining target resource type | |
| CN117336167B (en) | A network distribution method and system for Internet of Things devices | |
| WO2025092059A1 (en) | Method, apparatus, and system for artificial intelligence (ai) model splitting | |
| WO2024198474A1 (en) | Conflict mitigation in near-rt ric |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 20736285 Country of ref document: EP Kind code of ref document: A1 |