Edge node, mesh network and method to deliver content at an edge of a mesh network

A network entity is provisioned to support cloud services for a mesh network that includes at least one edge node. The network entity comprises: a processor, operably coupleable to a content store; and a content agent registry coupled to the processor and configured to identify content to be delivered to the at least one edge node. The content agent registry records at least one attribute against the content to be delivered based on a characteristic of the content.

RELATED APPLICATION

This application claims the benefit of Great Britain Application No. 1622098.0 filed Dec. 23, 2016. The content of this application is fully incorporated herein in its entirety.

TECHNICAL FIELD

The field of this invention relates generally to an edge node, a mesh network and a method to deliver content at an edge of the mesh network. In particular, some example embodiments of the invention provide for a cloud and an edge node that are configured to push or pull content from the cloud based on a characteristic of the content.

BACKGROUND

A recent development in wireless communications is long term evolved (LTE™), which supports the operation of internet protocol (IP) techniques, such as IPv6, as well as other wireline communications. Using IPv6 in a wireless or wireline communication system is convenient to allow for internet protocol (IP) connectivity for many end user devices, possibly in a number of different subnets so that they can receive large volumes of content quickly.

Directed mesh topology is an example of a small network where there is at least one ‘sink’ node that provides connectivity into the network. Within this context there are 3 types of devices: End nodes, Mesh routers, and Edge nodes.

End nodes are communication devices that communicate using mesh transport technology (typically WiFi™) to either an edge node or a mesh router. An end node device provides no routing functionality for data from other devices. End node devices may obtain an Internet Protocol (e.g. IPv6) prefix (address) from router advertisements sent from an edge node, which may be relayed through mesh routers. End node communication devices do not have routing capability and can only operate as, say, ‘leaves’ in the mesh network.

Mesh router devices are communication devices that communicate using mesh transport technology (also typically WiFi™) to either an edge node or another mesh router. Mesh routers are able to support routing in the mesh network, i.e. they can relay traffic from a second node (either an end node or another mesh router) towards the edge node. Mesh router devices provide routing functionality for data from other devices, which may be either an end node or another mesh router. Mesh router devices also obtain an IPv6 prefix (address) from router advertisements sent from an edge node, which may be relayed through other mesh routers.

Edge nodes not only manage the mesh network and communicate with either end nodes or mesh routers, but also provide routing into the wider IP network, typically a cellular network or the public internet via a backhaul link, thereby linking the mesh network to the public internet and routing traffic between the two technologies. A backhaul link can be accomplished by a number of technologies for example a wired Ethernet connection, WiFi™ link or possibly a cellular technology connection. This results in networks that have to be planned.

Edge nodes act as a requesting router in IPv6 prefix (address) delegation to obtain an IPv6 prefix, which it uses in router advertisements advertising this prefix value into the mesh network. There is at least one edge node in each mesh cluster. In a home environment, the edge node must be placed in a central location so as to provide connectivity throughout the house.

Referring now toFIG.1, an overview of a known architecture100of content being delivered and stored at the network edge is shown. The known architecture100includes a cloud processing entity110that includes a cloud-based management entity120that stores content. The principal mechanism for storing large volumes of content in the architecture100ofFIG.1has typically required cloud based services, due to the ability to centralise the control, management, indexing and retrieval of content. Cloud storage uses what is referred to as a cloud computing model, in which data is stored on remote servers accessed from the Internet, or the so-called ‘cloud.’ It is maintained, operated and managed by a cloud storage service provider typically on a number of storage servers that are built on virtualization techniques.

The principal drawback of centralising content in a cloud storage architecture in the manner ofFIG.1is that good communication links to the network edge are required in order to retrieve, download and stream content that is managed centrally. If content is likely to be retrieved on an ad-hoc basis, at any time, and on-demand, then storing this content centrally works well.

The cloud processing entity110ofFIG.1includes a content scheduler114and a cache of content116. The cloud processing entity110includes a backhaul link130to a plurality of edge nodes (or edge routers), such as edge node140. The backhaul link130may be wired e.g. broadband, or wireless e.g. cellular.

Edge node140includes a content agent142that routes downloaded content132to a content store (e.g. a cache)145. Within the edge node, a dedicated or 3rdparty application resides and serves content via a wireless link150to mobile subscriber device160. The edge node140has access to a dedicated local management of content at a cache145, as well as being connected to other edge nodes and mesh router devices141,143in order to disseminate content locally. Thus, it is not necessarily just the nodes with a direct backhaul link130that can receive content132. Effectively, the edge node140acts as both an agent for content132downloaded from the cloud and a content scheduler for other nodes, e.g. nodes141,143at the network edge. This avoids each node141,143in the edge network from having to download content132from the cloud110direct. In principle, a node can be either a principal node at the network edge or a subordinate node in the mesh.

The edge node140allows the combination of edge storage, deployed applications and connectivity for devices that consume content. The edge node may also support a mesh capability to extend the reach of content132at the network edge. Applications on general purpose edge nodes, applications in the cloud and mobile applications each co-ordinate delivery of content to network edge.

Also well-known is the concept of a software ‘container’. An example of a ‘container’ based on an open standard is Docker™. Docker™ containers wrap a piece of software in a complete filesystem that contains everything needed to run: code, runtime, system tools, etc.

A mechanism is required to improve the management and delivery of stored content in current and future networks, particularly to the edges of networks and to edge nodes. A mechanism is also needed to address a problem where there may be new content available in a central storage, such as in a cloud system, but the edge node does not know that it is there unless a manual check is made. Furthermore, a mechanism is needed where an edge node may have an ‘app’ to run the content, but not the most appropriate ‘app’ to run content that has been downloaded.

SUMMARY OF THE INVENTION

In a first aspect of the invention, a network entity provisioned to support cloud services for a mesh network is described. The network entity includes at least one edge node, wherein the network entity comprises a processor, operably coupleable to a content store; and a content agent registry coupled to the processor and configured to identify content to be delivered to the at least one edge node, wherein the content agent registry records at least one attribute against the content to be delivered based on a characteristic of the content.

In this manner, a mechanism to improve the management and delivery of stored content in current and future networks is described, particularly to the edges of networks and to edge nodes. In this manner, a mechanism to address the problem where there may be new content available in a central storage location, such as in a cloud system, but the edge node does not know that it is there unless a manual check is made is achieved. Furthermore, in this manner, a mechanism is provided to address a problem where an edge node may have an ‘app’ to run the content, but where the most appropriate ‘app’ to run content has not previously been downloaded.

In an optional example of the invention, the characteristic may be associated with content that is to be delivered according to at least one of the following: content that is delivered in a predictable manner; content that is scheduled; content that is made available for a limited period of time; content that is made available for a particular geographic location. In this manner, the type of content may dictate the downloading and use of the content.

In an optional example of the invention, the content agent registry may be configured to specify an application to run on an edge node for the content to be delivered. In an optional example of the invention, the processor may be configured to deliver the specified application with the content based on an indication in the content agent registry. In this manner, the content may always be used with the most appropriate application for that specific content.

In an optional example of the invention, the content agent registry may be configured to use the at least one attribute(s) to determine whether the cache contains any content matching the at least one attribute(s) and, if said matched content is identified, to deliver said matched content to the at least one edge node. In an optional example of the invention, the processor may be configured to deliver said matched content to the at least one edge node by pushing the content from the cache to the at least one edge node in response to the at least one attribute contained in the content agent registry. Alternatively, in other examples, the processor may be configured to receive a query for the content from the at least one edge node, send a response to the query and facilitate said matched content being pulled by the at least one edge node from the cache in response to the at least one attribute contained in the content agent registry.

In an optional example of the invention, the content agent registry may be configured to determine whether other content with the identified at least one attribute is stored in the cache, and, if other content with the identified at least one attribute exists, to download the other content to the edge node.

In an optional example of the invention, the content agent registry may include a register of the meta-data associated with the content, but where the meta-data is also used to organise the content on a per attribute basis. In an optional example of the invention, the content agent registry may be further configured to associate the meta-data with the content.

In an optional example of the invention, the processor may be configured to identify whether the content being delivered to the at least one edge node is associated with content that has a limited period of time, and, upon identifying that the content being delivered to the at least one edge node is associated with content that has a limited period of time, the processor is configured to autonomously download new content associated with the content attribute to the at least one edge node at a given rate.

In an optional example of the invention, the processor may be coupled to a content scheduler and configured to identify whether the content to be delivered is scheduled, and, upon identifying that the content being delivered to the at least one edge node is scheduled, the content scheduler is configured to autonomously download new content associated with the content attribute to the at least one edge node at a scheduled time.

In an optional example of the invention, the processor may be configured to identify whether new content arrived in the cache relates to a geographical attribute stored in the content registry, and, upon identifying that the content relates to a geographical attribute stored in the content registry of an edge node, the processor is configured to autonomously download new content associated with the content attribute to the at least one edge node.

In an optional example of the invention, the content agent registry may be configured to organise multiple attributes associated with the various content in a hierarchical form, including high order attributes that encompass more content or low level attributes that encompass specific content.

In an optional example of the invention, the content agent registry may be configured to send an indication to the at least one edge node that new content has arrived that contains an attribute that matches at least one attribute recorded in the content agent registry for the at least one edge node.

In a second example of the invention, a method for provision of content from a cloud service to at least one edge node in a mesh network is described. The method comprises, at a network entity: identifying at least one attribute associated with content to be delivered to at least one edge node based on a characteristic of the content; recording the attribute as being associated with the content in a content agent registry; determining whether an attribute associated with the at least one edge node matches an attribute recorded in the content agent registry; and delivering the content to the at least one edge node in response to the match.

In a third example of the invention, an edge node for a mesh network that is configured to support cloud services, is described. The edge node comprises: a processor, operably coupleable to a content store; and a user input coupled to the processor and configured to enable a user of the edge node or a user of a device coupled to the edge node to provision at least one attribute that identifies what future content the user desires or needs, wherein the at least one attribute is based on a characteristic of the content; and a transmitter coupled to the processor and configured to send the at least one attribute to a network entity that comprises a content agent registry to record and identify content to be delivered to the edge node.

In a fourth example of the invention, a communication device is described that comprises: a processor, operably coupleable to a content store; and a receiver coupled to the processor and configured to download content from the content store, wherein the downloaded content has an attribute associated with the content and wherein the receiver is further configured to download a mobile application associated with the content. The processor is configured to delete both the mobile application and the downloaded content in response to the processor determining that the attribute associated with the content is no longer applicable.

In some examples, the communication device may further comprise a timer coupled to the processor and configured to monitor whether the time-limit of the time-limited tag has expired; and the processor is configured to delete both the mobile application and the downloaded content in response to the processor determining that an expiry of the time-limited tag has occurred.

In some examples, the communication device may further comprise a location circuit coupled to the processor and configured to monitor a geographical location of the communication device, wherein the processor is configured to delete both the mobile application and the downloaded content in response to the processor determining that the communication device has moved outside of the geographical location that is associated with the downloaded content.

In a fifth example of the invention, a method for a communication device is described. The method comprises: downloading content from a content store, wherein the downloaded content has an attribute associated with the content; downloading with the content a mobile application associated with the content; determining whether the attribute associated with the content is still applicable; and deleting both the mobile application and the downloaded content in response to determining that the attribute associated with the content is no longer applicable.

DETAILED DESCRIPTION

Example embodiments of the present invention are described with respect to resolving an observation by the inventors that content delivery may be improved based on one or more characteristics of the content to be delivered. In particular, examples of the invention recognise and resolve some problems when deploying cloud services at a network edge, for example in a mesh network. For example, certain characteristics related to some content and data that are to be downloaded, for example from a cloud storage, may lead to a desire to store the content at, or coupled to, an edge node, for example in a mesh network. In this manner, it may be possible to avoid a penalty on the network when downloading such content with these characteristics.

A first content characteristic that may be taken into account in the delivery and storage of content is content that is requested in a predictable manner. As an example of this first content characteristic, there are schemes that will automatically download content, e.g., a web cache. A second content characteristic that may be taken into account in the delivery and storage of content is content that can be naturally scheduled and made available for a limited period. Broadcast television is an example of this second content characteristic. A third content characteristic that may be taken into account in the delivery and storage of content is content that is always or specifically required because, say, it is uniquely associated with the network edge. In this context, content may be geographically limited. For example, a code for a discount voucher in a particular shop or chain of shops may be downloaded, such that it can only be used at that location. According to examples of the invention, these characteristics may be used in an attribute or tag, which may be attached to the content itself or an application for running the content.

Examples of the invention propose a mechanism to deploy cloud services and provide content at an edge node that is managed both centrally, e.g. in a ‘cloud’ location, and locally in (or connected to) the edge node. In other examples of the invention, a recognition that an edge node, or a subscriber device connected to the edge node, may not have the most appropriate or best application ‘app’ running on the node or device, for example in a small wireless mesh network, sometimes referred to as a home network, is addressed. In this example, a content agent registry is provided and configured first to hold (e.g. record) content ‘attributes’ or ‘tags’. The content agent registry may also be configured, in a second function, to specify an application to run on an edge node for this content. The content agent registry may also be configured (in a third function, in some cases) to additionally download the application to run on the mobile device for this content. In the case of holding content ‘attributes’, the edge node application is downloaded immediately, if it is not already present at the edge node, and the content installed. If the application is already present on the edge node, there is no need to install it. For example, the application may be a media streaming service and the content a video clip that is preferably viewed by that media streaming service. The final decision whether to download content or an application is made by the edge node. In the edge node-initiated case, the reply from the network to the edge node indicates that there is content available and also that an application is available (with the details of the application). In this manner, the edge node will know whether or not the application should be downloaded. Similarly, in the network-initiated case, when the network indicates to the edge node that new content is available, there will be details of the application. The edge node knows what applications it has (and which version) and so can decide whether or not to download it.

In the case of the third function, the mobile app may also be downloaded immediately, if it is not present, and stored on the edge node, for example pulled by the edge node when it realizes that it does not have the up to date app. Alternatively, when a mobile device accesses the edge node (typically through a web portal or another dedicated app) then the user may be provided with the option to view the content in the associated mobile app. If this option is selected then the mobile app is downloaded and then runs to show the content.

Referring now toFIG.2, an example overview of a network architecture200for improved content delivery is illustrated, in accordance with some example embodiments of the present invention. Example embodiments of the present invention are described with respect to a distributed management of content. Example embodiments of the present invention are also described with respect to a content delivery based on one or more characteristic of the content. The network architecture200includes a network entity210configured to perform cloud functionality. The network entity210includes a cloud-based management entity220that stores content.

The network entity210configured to perform cloud functionality includes one or more processors212, a content scheduler214and a cache216of content. In accordance with example embodiments of the invention, the network entity210includes a content agent registry218. In accordance with example embodiments, content agent registry218may be considered as a register of the meta-data associated with the content, but where the meta-data is also used to organise the content in the cache. In some examples, therefore, there are ‘tags’ or attributes within the meta-data associated with the content. The content agent registry218is configured to perform at least three primary functions. A first function involves the content agent registry218recording the tags or attributes associated with one or more edge node(s). A second function involves the content agent registry218ordering the content by attributes. Ordering content on a per attribute basis allows an edge node to be able to select content that is suitable. Aggregating other meta-data with the content allows the edge node content agent242to perform further processing, for example downloading any associated applications (for the edge node or mobile device) that are required to make use of the content. A third function involves the content agent registry218also associating the meta-data with the content.

In accordance with example embodiments of the invention, the content agent registry218records attributes or ‘tags’ related to edge nodes (such as edge node240) and other nodes and devices, which may be provisioned remotely and recorded/stored in the content agent registry218. In this manner, the attributes or ‘tags’ may be used by the edge nodes (such as edge node240) to query the content to be downloaded. Examples of the invention describe a variety of mechanisms for the content to be ‘pushed’ from the network entity to the edge node240based on a characteristic of the content, which is identified by the attribute or tag, examples of which are described inFIG.5andFIG.6. Further examples of the invention also describe an example mechanism for the content to be ‘pulled’ from the network entity by the edge node240based on a characteristic of the content, which is identified by the attribute or tag, one example being described inFIG.4.

The network entity210includes a backhaul link230to a plurality of edge nodes (or edge routers), such as edge node240. The backhaul link230may be wired e.g. broadband, or wireless e.g. cellular.

Edge node240includes a content agent242that routes downloaded content232to a content store (e.g. a cache)246. In this example, a dedicated or 3rdparty application resides within the edge node and serves content via a wireless link250to mobile subscriber device260. The edge node has access to a dedicated local management of content at a cache245, as well as being connected to other edge nodes and mesh router devices241,243in order to disseminate content locally. Thus, it is not necessarily just the nodes with a direct backhaul link230that can receive content232. Effectively, the edge node240acts as both an agent for content232downloaded from the cloud and a content scheduler for other nodes241,243at the network edge. This avoids each node241,243in the edge network from having to download content232from the cloud direct. In principle, a node can be either a principal node at the network edge or a subordinate node in the mesh.

In accordance with examples of the invention, attributes or ‘tags’ that are provisioned at the edge node240may be used to query the content agent registry218that is located in, or connected to, the cloud in order to determine the (or suitable) content to be downloaded based on the attribute(s) or tag(s). In some examples, the content agent registry218may also use those attributes to determine whether the cache216contains any other content that matches the attribute(s) or tag(s). In some examples, the content agent registry218may also use those attributes to determine whether the cache216contains any similar content, identified under the same attribute(s) or tag(s).

Traditionally, content delivered to an edge node would be delivered to a cache and remain there until accessed, used/viewed and deleted. However, in accordance with example embodiments of the invention, a determination is made as to the status of the at least one characteristic of the content that is requested/delivered. For example, a determination may be made as to whether the content is being delivered in a substantially ‘predictable’ manner. If that content is delivered in a substantially ‘predictable’ manner, e.g. content delivered, say, daily in nature, such as news, a new download would take place and the previous content deleted. In accordance with examples of the invention, the content may be updated with an attribute or tag based on the content characteristic, and the attribute or tag recorded in the content agent registry218, which in this example would tag the news content as being (e.g.) daily in nature. The edge node240sees that it has received a request from the content store246. In accordance with examples of the invention, now that the edge node240knows that the content is required on a daily basis (because of the tag) then it can autonomously download the new content at a particular rate, e.g. daily. In this manner, the edge node240is able to autonomously schedule content download based on a characteristic of the content, which in this context example is a time-limited use of the content that it downloads. Alternatively, in other examples, it is envisaged that the edge node240may register for daily content, and have it pushed by, say, a processor212in the network entity210that performs cloud-based functionality.

Furthermore, in some examples, it is possible to automatically predict what new content is needed based on what content is already contained in the content store246, for example that the data/content may be out of date/past its time-limited threshold, according to the attribute or tag. In this manner, the management of content is now distributed between the central network entity210and the edge node240, as the cloud content agent registry218has all the information about the content and edge nodes, such as edge node240that are able to register for content that they are interested in. Thus, there is no longer a need to perpetually update edge nodes specifically, as the combination of the content agent registry218and edge node algorithms provide the distributed dissemination.

Therefore a content application at the edge node240that registers with this attribute will have content automatically downloaded. For example, a ‘historic homes’ attribute is assigned to content and an application registers with this attribute. The content associated with this attribute is downloaded. Any new content that is tagged at the network entity210, and recorded in content agent registry218with this attribute, is also automatically downloaded, where a trigger is an indication from the network entity210that new content in which the edge node240has previously indicated an interest is available, as illustrated inFIG.5. The application may be running on an edge node deployed at a national trust site. One problem that is being solved is that there may be new content available but the edge nodes do not know that it is there.

One advantage of examples of the invention is that the management of the content has changed so that it is not cached manually, but instead it is predictive and also scheduled (e.g. at a quiet time). A further advantage of using attributes or tags to identify content characteristics facilitates a processor212located in the network entity210being able to ‘push’ the desired content, or recognize similar content, identified under the same tag or attribute, and ‘push’ that content, to the edge node240. Here, the edge node240has previously indicated that it is interested in content of a particular type indicated by a tag. So, the edge node240has in effect requested content to be pushed, as it becomes available. A further advantage of using attributes or tags to identify content characteristics facilitates edge nodes being able to ‘pull’ the desired content, or recognize similar content, identified under the same tag or attribute, and ‘pull’ that content, by indicating to the Content Agent Registry218that it wants content.

In some examples, a communication device, such as the subscriber device260or a network device such as edge node240is described. The communication device comprises: a processor245,265, that operably coupleable to a content store; and a receiver (e.g. as part of transceiver262in subscriber device260) coupled to the processor245,265and configured to download content from the content store, wherein the downloaded content has an attribute associated with the content and wherein the receiver is further configured to download a mobile application associated with the content. The processor245,265is configured to delete both the mobile application and the downloaded content in response to the processor determining that the attribute associated with the content is no longer applicable.

In some examples, the communication device may further comprise a timer247,267coupled to the processor245,265and configured to monitor whether the time-limit of the time-limited tag has expired; and the processor245,265is configured to delete both the mobile application and the downloaded content in response to the processor determining that an expiry of the time-limited tag has occurred.

In some examples, the communication device may further comprise a location circuit248,268coupled to the processor245,265and configured to monitor a geographical location of the communication device, wherein the processor245,265is configured to delete both the mobile application and the downloaded content in response to the processor determining that the communication device has moved outside of the geographical location that is associated with the downloaded content.

Referring now toFIG.3, an example of an edge node300, such as an edge node in a mesh network modified by the functionality herein described, is illustrated in accordance with some example embodiments of the present invention. In example embodiments of the invention the edge node300has been modified such that it receives and handles content differently, dependent upon at least one content characteristic. For example, the edge node300may be configured to receive and handle content differently, dependent upon whether the content is delivered in a predictable manner; content that is scheduled; content that is made available for a limited period of time; content that is made available for a particular geographic location. In some examples, the edge node300has been configured to assign a tag or attribute to content of interest to the edge node, or edge node user, related to a type of content. In some examples, the edge node300may be configured to send a query to the network entity regarding content that is stored in a cache connected to a network entity, for example in a cloud system, based on the assigned tag or attribute. In some examples, based on a network entity response to the query, the edge node300may be configured to pull content from the cache.

In practice, purely for the purposes of explaining embodiments of the invention, the edge node300is described in terms of both a wireless communication device and a wireline connected device, such as a computer, network server, laptop, etc. In a wireless sense, the edge node300contains one or more antenna(e)302for communicating via various wireless technologies. In one example, the one or more antenna(e)302(coupled via a wireless interface308with associated transmit and receive circuitry) is configured to radiate and receive radiated signals332on WiFi™ frequencies or Bluetooth BT™ frequencies or cellular frequencies, e.g. LTE™ over a cellular network (not shown).

In a wireless example, the one or more antenna(e)302is coupled to an antenna switch or duplexer304that provides isolation between receive and transmit chains within the edge node300, as well as providing isolation between circuits targeted for the specific technologies being supported, e.g. LTE™, WiFi™, BT™. One or more receiver chains, as known in the art, include receiver front-end circuitry306(effectively providing reception, filtering and intermediate or base-band frequency conversion). The receiver front-end circuitry306is coupled to a signal processor328(generally realized by a digital signal processor (DSP)). A skilled artisan will appreciate that the level of integration of receiver circuits or components may be, in some instances, implementation-dependent. A controller314maintains overall operational control of the edge node300. The controller314is also coupled to the receiver front-end circuitry306and the signal processor328. A timer318is operably coupled to the controller314to control the timing of operations (e.g. transmission or reception of time-dependent signals) within the edge node300.

In this example, controller314is connected to an internet protocol (IP) circuit/function311, which is coupled to a cache316and one or more IP routing tables and/or routing protocol software312. In a wireline sense, the controller314may be operably coupled to other devices and nodes via a wireline interface309using a wireline connection310, such as Ethernet. In some examples, the signal processor328of the router node300may encompass much more functionality than the IP circuit/function311and IP routing tables and/or routing protocol software312. In particular, in some examples, it is assumed that signal processor328may handle some or all of the higher layer functionality.

There are a number of different approaches that are envisaged that can be employed for content storage in the edge node300. Thus, in some examples, the controller314is coupled to a cache316configured to store content. In examples of the invention, the content includes a tag or an attribute that is associated with the content. In some examples, the tag or attribute may relate to a characteristic of the content, for example whether the content is delivered in a predictable manner; content that is scheduled; content that is made available for a limited period of time; content that is made available for a particular geographic location. In some examples, the tags or attributes associated with the various contents may be organized in families or hierarchies, for example high order tags that encompass more content that has some relationship or low level tags or attributes indicating relatively specific content. In some examples, the cache316is also configured to store an app associated with running the content, which may be downloadable to the edge node as well as the content.

In some examples, the cache316may also store operating regimes, such as decoding/encoding functions, synchronization patterns, code sequences, and the like to assist wireless communications. As regards the transmit chain, this essentially includes the signal processor328being coupled through one or more transmitter/modulation circuits322and one or more power amplifiers324to the one or more antenna(e)302, which may be in a form of an antenna array, or a plurality of antennas. The transmitter/modulation circuits322and the power amplifiers324are operationally responsive to the controller314.

In accordance with example embodiments, edge node300, and in particular signal processor328of edge node300, has been configured to respond to an user input of tag/attribute information. For example, the user may provision attributes (or tags) in the edge node that identify what future content the user desires or needs. In some examples, the signal processor328and transmitter circuity of the edge node300sends a query to the network's (cloud's) content agent register, such as content agent register218inFIG.4. In some examples, based on a response to the query, the signal processor328may ‘pull’ the content from a cache connected to the network entity, such as network entity210ofFIG.2, in the cloud.

In addition, edge node300and in particular signal processor328of edge node300has been configured to support a wireless and/or a wireline connection such as Ethernet. In some examples, signal processor328may perform all of the functions required of the edge node300, or in other examples the signal processor328may encompass multiple signal processors, for example dedicated to the various technologies being supported. In this regard, signal processor328supporting wireless may be implemented as distinct from a signal processor supporting ethernet™ communication. Alternatively, a single processor may be used to support each technology. Clearly, the various components within the edge node300can be realized in discrete or integrated component form, with an ultimate structure therefore being an application-specific or design selection.

FIG.4illustrates an example flowchart400of an operation for the ‘pull’ of content from a cache in the network to an edge node, such as edge node240inFIG.2, in accordance with some example embodiments of the present invention. The flowchart400starts at405and the management processor of the edge node is in an idle mode of operation and waiting for an event to occur in410. At415, a user provisions attributes or tags in the edge node, for example via subscriber device260inFIG.2. At420, the edge node sends a query to the network registry, such as content agent registry218of cloud210inFIG.2. In some examples, the edge node may optionally indicate, say via a flag, that it wants to receive content with an identical tag related to similar content in the future, and the attributes or tags may be optionally set in the network registry to indicate that the edge server is interested in receiving similar content that is identified by the same attribute or tag, for example for future downloads. In some examples, it is envisaged that the tags may be organized in families or hierarchies, where, for example, if the edge node indicates interest in a high order tag, it would receive more content. On the other hand if a low level detailed tag, is indicated, then only very specific content may be selected. For example, a user may register a desire to receive financial or stock market updates content via a finance news tag, whereas similar content on business news may be defined under the same tag, if it is a high level tag. In this instance, the content of both can be downloaded.

At425, a determination is made as to whether any content with any provision attributes or tags is available to download to the edge node. If, at425, there is no content with any provision attributes or tags available to download to the edge node, the flowchart loops to410. However, if at425, there is content with provision attributes or tags available to download to the edge node, the content is downloaded by the edge node and the flowchart loops to410.

FIG.5illustrates a first example flowchart500of an operation for the ‘push’ of content from the network to an edge node, such as edge node240inFIG.2, in accordance with some example embodiments of the present invention. If the edge node is ready to receive data, then it can immediately retrieve the content if the cloud ‘pushes’ the content to the edge node. Alternatively, if the edge node is ready to receive data, the network may be configured to schedule a download of the content at a future time. The flowchart500starts at502and, in accordance with this example, the edge node tag(s)/attribute(s) are stored in the cloud/content agent register at505. In this manner, the network is able to target the edge node for downloading specific new content, based on the stored tag(s)/attribute(s). The management processor of the edge node is in an idle mode of operation and waiting for an event to occur in510. At515, the network (such as a processor212located in the cloud network entity210) indicates to the edge node, such as edge node240inFIG.2, that new content is available. At520a determination is made as to whether the edge node is ready to download the content from the network, i.e. from cache216in the cloud210in the example ofFIG.2. If, at520, the determination is that the edge node is not ready to download the content from the network, a future download of the content is scheduled at530, for example by a local scheduler, such as content scheduler214in cloud210fromFIG.2. The flowchart then loops to510. If, at520, the determination is that the edge node is ready to download the content from the network, a download of the content is performed at525and the flowchart loops to510.

FIG.6illustrates a second example flowchart600of an operation for the ‘push’ of content from the network to an edge node, such as edge node240inFIG.2, in accordance with some example embodiments of the present invention. The flowchart600starts at605and the management processor of the edge node is in an idle mode of operation and waiting for an event to occur in610. At615, the user provisions attributes (tags) in the edge node. In some examples, the user may also indicate whether future content like this is desired. At620, the edge node sends a query to the network's (e.g. cloud's) content agent register, such as content agent register224inFIG.2. In some examples, this query may contain tag(s) indicating desired content and optionally the identifier (ID) of the edge node. At625, the edge node receives a reply from the network to its query. At630, a determination is made as to whether any content with provisioned tags is/are available. If no content with provisioned tags is/are available at630, the process loops back to610. If content with provisioned tags is/are available at630, the content is downloaded ‘pushed’ by the network at635, i.e. from a cache216in the cloud network entity210in the example ofFIG.2. The process then loops back to610. In some examples, the ‘pushing’ of content may be scheduled by content scheduler214in cloud network entity210fromFIG.2.

Further examples of the invention are described with respect to a mobile application (often referred to as an ‘app’) that is downloaded at a network edge, for example by a subscriber device, such as subscriber device260, connected to an edge node, such as edge node240ofFIG.2, of, say, a mesh network. In order to consume content at the network edge, an appropriate app needs to be present on the mobile device. Generic applications, such as web browsers, support many types of content. However, the inventor of the present invention has recognized and appreciated that the ability to download a specific mobile app from the network edge may greatly improve the user experience. In known scenarios, the user of subscriber device260would normally have to choose to download the app in advance and then view the content. Alternatively, the user of subscriber device260may view a video in a website and be told that they need to download, say, Adobe flash player™, to view it locally. In contrast, according to example embodiments of the invention, the subscriber device260is provisioned with the ability to download both content and a specific mobile app associated with the content as a bundle. In this manner, the app is configured to be ‘transparent’, so that the user is able to experience a content-centric experience. In some examples, the app may only be bundled if it is not already present. In some examples, the app may be identified in the content registry on its own, so may not be bundled explicitly, only if required.

Thus, in accordance with some examples, along with the content to be downloaded either a mobile app and/or a web-app may also be included in the bundle. In some examples, a web-app may be stored on the edge node and subsequently downloaded to a mobile browser. In some examples, a mobile app may be stored on the content device and also downloaded to the mobile by any suitable means, which may also be a through a web page or similar.

In some examples, the mobile app or web-app may be configured to remain on the subscriber device indefinitely. Alternatively, in accordance with some further examples, the mobile app or web-app may be configured to remain on the subscriber device for a defined period or until a defined trigger occurs. In this context, the subscriber device or the mobile app itself, may be configured to delete the app, and/or associated content, based on a time period, for example an expiry of a timer, or based on a geographical location of the subscriber device, or any other suitable triggered event. For example, a mobile ‘news’ app is downloaded to a subscriber device at, say, a train station and the user is thereafter able to read the news for that particular day. In this example, the mobile app and content may be removed, e.g. deleted automatically, at the end of the day when not in use or, alternatively, removed when the user moves away from the area and the application is no longer in use. One example of this joint app and content deletion mechanism, based on a location trigger or a time period, is illustrated inFIG.7.

Referring now toFIG.7, a flowchart700illustrates an example of an operation of communication device. In some examples, the communication device may be an edge node and include a content manager in the edge node, such as content manager245coupled to edge node240inFIG.2, in accordance with some example embodiments of the present invention. In some examples, the communication device may be a subscriber device, such as subscriber device260communicating250with a network device such as edge node240inFIG.2, in accordance with some example embodiments of the present invention.

The flowchart700starts at702and, in accordance with this example, the edge node tag(s)/attribute(s) are stored in the cloud/content agent register at705. In this manner, the network is able to target the edge node for downloading specific new content. The management processor is in an idle mode of operation and waiting for an event to occur in710. At715, an external trigger event occurs. At720, a determination is made as to whether a ‘delete app’ trigger event has occurred. In some examples, the trigger event may result from a variety of different causes, for example an expiry of a timer or a geographical trigger with the user moving out of a geographical area. If, at720, a determination is made that a ‘delete app’ trigger event has not occurred, the flowchart loops back to710. However, if at720, a determination is made that a ‘delete app’ trigger event has occurred, the flowchart moves to725where a determination is made as to whether the specific mobile app that requires deletion is running. If, at725, the determination is made that the specific mobile app that requires deletion is running, then the flowchart loops to725until the app is no longer in use. However, if at730the determination is made that the specific mobile app that requires deletion is not, or no longer, running, then the app and the locally stored content are deleted at730and the flowchart loops back to710.

In the example where the communication device is a subscriber device, a similar processor and receiver located in the subscriber device are configured to perform the functions ofFIG.7. Thus, in essence, the communication device may be configured to download content from a content store, wherein the downloaded content has an attribute associated with the content; download with the content a mobile application associated with the content; determine whether the attribute associated with the content is still applicable; and delete both the mobile application and the downloaded content in response to determining that the attribute associated with the content is no longer applicable.

In some examples, the communication device may further comprise a timer coupled to the processor and configured to monitor whether the time-limit of the time-limited tag has expired; and wherein the processor is configured to delete both the mobile application and the downloaded content in response to the processor determining that an expiry of the time-limited tag has occurred.

In some examples, the communication device may further comprise a location circuit coupled to the processor and configured to monitor a geographical location of the communication device, wherein the processor is configured to delete both the mobile application and the downloaded content in response to the processor determining that the communication device has moved outside of the geographical location that is associated with the downloaded content.

It will be further appreciated that, for clarity purposes, the described embodiments of the invention with reference to different functional units and processors may be modified or re-configured with any suitable distribution of functionality between different functional units or processors is possible, without detracting from the invention. For example, functionality illustrated to be performed by separate processors or controllers may be performed by the same processor or controller. Hence, references to specific functional units are only to be seen as references to suitable means for providing the described functionality, rather than indicative of a strict logical or physical structure or organization.

Aspects of the invention may be implemented in any suitable form including hardware, software, firmware or any combination of these. The invention may optionally be implemented, at least partly, as computer software running on one or more data processors and/or digital signal processors.

Thus, the elements and components of an embodiment of the invention may be physically, functionally and logically implemented in any suitable way. Indeed, the functionality may be implemented in a single unit, in a plurality of units or as part of other functional units. Those skilled in the art will recognize that the functional blocks and/or logic elements herein described may be implemented in an integrated circuit for incorporation into one or more of the communication units.

Furthermore, it is intended that boundaries between logic blocks are merely illustrative and that alternative embodiments may merge logic blocks or circuit elements or impose an alternate composition of functionality upon various logic blocks or circuit elements. It is further intended that the small wireless mesh networks depicted herein are merely exemplary, and that in fact many other small wireless mesh network or architectures can be implemented that achieve the same functionality.