Abstract:
A solution for managing applications in a network is proposed. A distributed application management system receives information about a first application installed on a first device in the network and determines whether a second application is required or recommended for the first device or for a second device in the network or whether a further device is required or recommended for the network based on the received information. A device management system then informs a user about a required or recommended second application or a required or recommended further device.

Description:
FIELD OF THE INVENTION 
       [0001]    The invention relates to a solution for a distributed application life-cycle management, and more specifically to a solution for a distributed application life-cycle management, which is capable of handling interrelated distributed applications on multiple devices. 
       BACKGROUND OF THE INVENTION 
       [0002]    Today, not only traditional personal computers and mobile devices, such as smartphones and tablets, support dynamic installation of applications. Also devices under NSP management (NSP: Network Service Provider), such as broadband gateways and set top boxes, support application life-cycle management, i.e. the process of dynamically (at any point in time) installing, updating and uninstalling applications. 
         [0003]    As an example, the Broadband Forum TR-069 CPE WAN Management Protocol (TR-069 Amendment 3 or later) defines a protocol that allows a so-called ACS (ACS: Auto Configuration Server) to dynamically install applications, also referred to as software components, on a CPE device (CPE: Customer Premises Equipment), such as a gateway, a router or a set top box. 
         [0004]    European patent application EP 2 184 904 describes a state of the art TR-069 system for performing application life-cycle management on the same device while keeping track of cross-execution environment dependencies, e.g. OSGi (OSGi: Open Services Gateway initiative) and native Linux, as well as service subscription and configuration of needed applications. 
         [0005]    With the spread of more popular smartphones and tablets people are becoming aware of the so-called application stores and get familiar with searching for and installing applications on these devices. However, people are less aware and familiar with the fact that also other devices may support dynamic installation of components. 
         [0006]    In addition, there is a trend towards ever more network connected devices and a number of services come with applications for phone or tablet. 
         [0007]    Furthermore, multi-screen applications and services are becoming increasingly popular, whereby, for example, video content displayed on a TV is supported by tablet applications providing additional information. Such solutions often depend on a set of applications running on multiple devices, so called “distributed applications”. 
       SUMMARY OF THE INVENTION 
       [0008]    It is an object of the present invention to propose a method and an apparatus for a distributed application life-cycle management, which are capable of handling interrelated distributed applications on multiple devices. 
         [0009]    According to one aspect of the invention, a method for managing applications in a network comprises the steps of:
       receiving information about a first application installed on a first device in the network;   determining whether a second application is required or recommended for the first device or for a second device in the network or whether a further device is required or recommended for the network based on the received information; and   informing a user about a required or recommended second application or a required or recommended further device.       
 
         [0013]    Accordingly, an apparatus for managing applications in a network comprises:
       an input for receiving information about a first application installed on a first device in the network;   a distributed application management system for determining whether a second application is required or recommended for the first device or for a second device in the network or whether a further device is required or recommended for the network based on the received information; and   an device management system for informing a user about a required or recommended second application or a required or recommended further device.       
 
         [0017]    According to a further aspect of the invention, a method for managing applications on a device in a network comprises the steps of:
       installing or updating a first application on the device;   sending information about the first application to a distributed application management system; and   receiving information about a required or recommended second application or a required or recommended further device from the distributed application management system.       
 
         [0021]    Accordingly, a network device capable of managing applications is adapted to perform the steps of:
       installing or updating a first application;   sending information about the first application to a distributed application management system; and   receiving information about a required or recommended second application or a required or recommended further device from the distributed application management system.       
 
         [0025]    The present invention defines a high level distributed application backend or cloud system, to which the network devices connect. The system leverages on the different existing dedicated solutions for application life-cycle management for various devices, either under NSP remote management or not. It contains dependency information on distributed applications and the devices they can be running on. After receiving information about a first application, e.g. upon installation of the application or upon updating of the application, the system determines whether any depending upon applications are missing or if new devices or additional applications should be recommended for a better user experience. Possibly, direct links to device resellers are provided along with the recommendation for one-click purchase. 
         [0026]    The proposed solution allows to overcome a number of issues. Users may not be aware of the availability of applications for given devices, which leads to a sub-optimal user experience because of missing parts of the distributed application. Also, while users may be familiar with installing applications on today&#39;s most popular devices, such as smartphones or tablets, they may not be familiar with installing applications on other home network devices. For some devices without user interface, the applications running on them may be invisible to the end-user while providing functionality on which other applications depend. Furthermore, pairing different devices and applications may be a cumbersome process requiring end-user configuration of user passwords. Not all devices in the home are possibly under management using a protocol such as TR-069, which means that a NSP can automatically install some parts of the distributed application, but not all of them. 
         [0027]    The solution according to the invention yields an optimal user experience for enabling a service. An end-user selects an user interface oriented application from an existing application store he or she is familiar with and is automatically informed about all needed or recommended applications. There is no need perform any individual steps of subscribing to a service and searching and installing all applications that are compatible with devices the end-user owns. This minimizes the risk of problems between incompatible applications and reduces the ever growing complexity of distributed applications caused by the increasing number of network connected devices. 
         [0028]    As a further advantage, the proposed solution does not require new application stores for devices such as broadband gateways, but relies upon user interface centered applications as a main distribution channel. Devices such as broadband gateways have limited user interface capabilities, which would make it difficult for end-users to be aware of the functionality residing on the device. 
         [0029]    Favorably, at least part of the received information is compared with entries in a database with dependency information for determining a required or recommended second application or a required or recommended further device. The database with dependency information comprises mandatory or recommended dependencies between applications and the devices they are running on as well as information on devices owned by a subscriber. The dependency information advantageously comprises application version ranges for mandatory (for service) or recommended (for optimal user experience) applications, device types on which these can run, and device resellers of devices a customer does not yet have but which would support applications that maximize the user experience. 
         [0030]    Advantageously, at least required applications are automatically installed on the appropriate devices, within or outside of the home. During installation, the system preferably reports what the installation status is. 
         [0031]    For a better understanding the invention shall now be explained in more detail in the following description with reference to the figures. It is understood that the invention is not limited to this exemplary embodiment and that specified features can also expediently be combined and/or modified without departing from the scope of the present invention as defined in the appended claims. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0032]      FIG. 1  shows an exemplary topology of distributed applications; 
           [0033]      FIG. 2  depicts the components of a distributed application life-cycle management solution according to the invention; and 
           [0034]      FIG. 3  illustrates an exemplary distributed application management procedure. 
       
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
       [0035]    In  FIG. 1  an exemplary topology of distributed applications, which are all part of a particular service is visualized. For example, the particular service may be related to home automation or media or content sharing. The topology includes an application on a home sensor  1 , which is able to sense environmental conditions such as motion, temperature, humidity, air quality, or elements, etc. and to translate this into events and data. User interface applications are installed on tablets  2 ,  3  within or outside the house. Further user interface applications are installed on mobile phones  4  and on a set top box  5  or a smart TV  6 . Additional applications are installed on a broadband gateway  7  or other network devices  8 . 
         [0036]      FIG. 2  schematically illustrates the components that relate to the present invention. The devices  10 ,  11 ,  12  are network connected devices capable of running applications. Each device embeds at least one network interface, such as Ethernet, WiFi, mobile 3G/LTE (3G: 3rd generation of mobile telecommunications technology; LTE: Long Term Evolution), etc., and has a CPU (CPU: Central Processing Unit) as well as memory. Examples of such devices are tablets, smartphones, set top boxes, PCs (PC: Personal Computer), or broadband gateways, which are installed at customer premises and provide Internet access over Cable DOCSIS (DOCSIS: Data Over Cable Service Interface Specification), DSL (DSL: Digital Subscriber Line), mobile 3G/LTE, fiber, etc. 
         [0037]    Running on the devices  10 ,  11 ,  12  are applications  20 ,  21 ,  22 . An application  20 ,  21 ,  22  can be dynamically installed on a device  10 ,  11 ,  12  and executed/started. The installation can be done manually by an end-user of the device  10 ,  11 ,  12 , e.g. by installing it from a storage medium such as a compact disc or alternatively from a so-called application store  30 , where end-users can select from a plurality of applications  31  for installation on a device. Typically the application store  30  is available via the Internet. Installation can also be done automatically, e.g. under control of a network service provider in the context of subscribing to a service and the NSP remotely managing a number of service related devices. In case of distributed applications, an application will directly, e.g. using web services, or indirectly, e.g. via a cloud or backend platform which provides the infrastructure for communication or messaging between applications, interface with other applications. An example of such communication is a tablet application with a rich user interface, which interfaces with a backend application reachable via the Internet and also communicates with one or more applications running within the home, e.g. on a broadband gateway and on a power metering device or another device connecting sensors or home control to the Internet. The proposed solution does not depend on one particular communication infrastructure, possible examples include, but are not limited to, ‘push notifications’ for mobile devices (as offered by Google, Apple, RIM . . . ). 
         [0038]    Devices  11 ,  12  that are under NSP control and remote management typically embed a remote management agent  41 ,  42 . One example is a Broadband Forum TR-069 CPE WAN Management Protocol agent, another example is an OMA-Device Management agent (OMA: Open Mobile Alliance). Of course, also the leftmost device  10  may be under NSP control and remote management. The management agent  41 ,  42  typically connects to a device management system  51  using a standardized protocol, such as TR-069, OMA-DM, SNMP (SNMP: Simple Network Management Protocol), or a proprietary protocol enabling the device management system  51  to send remote management instructions, which are propagated and executed in the device  11 ,  12  as needed. One example of a management instruction is the installation of an application, as found in the TR-069 Amendment 3 specification. 
         [0039]    All distributed applications connect to a distributed application management system (DAMS)  50 . The DAMS holds all mandatory or recommended dependencies between applications and the devices they are running on. For this purpose it has information on the devices owned by subscribers. This information can be obtained by any suitable mechanism, for example the TR-069 CPE WAN Management Protocol in combination with the TR-098 or TR-181i2 data model for home network defined by Broadband Forum. 
         [0040]    Exemplary information stored by the distributed application management system  50  advantageously comprises:
       Application information, with for each application:
           Application identity (name, version, author)   Mandatory applications it depends on, with for each application:
               Application identity (name, version, author)   Compatible version range (the versions the application is compatible with)   The devices the application can run on, with for each device:
                   Operating system   Operating system version range   Manufacturer   Hardware/product identifier   
                   Mandatory devices, with for each device:
                   Manufacturer   Hardware/product identifier   Suppliers, with for each supplier:    Name    URL of Internet store web-site    Price   
                   
               Recommended applications, with for each application:
               Application identity (name, version, author)   Compatible version range (the versions the application is compatible with)   The devices the application can run on, with for each device:
                   Operating system   Operating system version range   Manufacturer   Hardware/product identifier   
                   Recommended devices, with for each device:
                   Manufacturer   Hardware/product identifier   Suppliers, with for each supplier:    Name    URL of Internet store web-site    Price   
                   
               
           Subscriber information, with for each subscriber:
           Subscriber identity (e.g. email address)   The list of subscriber owned devices, with for each device:
               Device identity (serial number or IMEI (IMEI: International Mobile Equipment Identity))   Operating system   Operating system version   Manufacturer   Hardware/product identifier   IPv4 and/or IPv6 Address(es)   List of installed applications, with for each application:
                   Application identity (name, version, author)   
                   
               Service subscriptions, with for each subscription:
               Service name   Service validity date   Billing information (how billing is performed)   
               
               
 
         [0082]    The device management system  51  communicates with the device management agents  41 ,  42  to perform application installation or uninstallation as determined by the distributed application management system  50 . It may be part of or separate from the distributed application management system  50 . 
         [0083]    The flowchart in  FIG. 3  illustrates an exemplary distributed application management procedure. In this example, installation of a first application (Application 1) automatically results in installation of a second application (Application 2) on another device. 
         [0084]    In the example, a first application (Application 1) is installed from an application store  30  on a first device  10  (Device A) of a subscriber X. The first application notifies its installation and the necessary detailed information to the distributed application management system  50 . The distributed application management system  50  verifies the available dependencies and instructs the device management  51  to initiate installation of a second application (Application 2) on a second device  11  (Device B) of the subscriber X. The device management  51  in turn instructs the management agent  41  of the second device  11  to install the second application. It further informs the first application about the installation of another application. The first application notifies the user accordingly. The installation instruction is executed by the management agent  41 , which notifies the device management  51  once the installation of the second application is complete. The device management  51  in turn informs the distributed application management system  50  about completion of the installation. After installation, also the second application submits the necessary detailed information to the distributed application management system  50 . The distributed application management system  50  inform the first application about completion of the installation and about potential recommended devices. The first application about in turn notifies the user about any recommended devices. Once the procedure is finished, the first application is able to communicate with the second application, if necessary.