METHODS AND SYSTEMS FOR MANAGING APPLICATION INSTALLATION

Methods and an electronic device for managing application installation are described. A method may include identifying a first application a user is currently accessing in a primary electronic device; identifying at least one secondary electronic device associated with the user; determining at least one second application for the at least one secondary electronic device from an application provider of the first application; and displaying, at the primary electronic device, at least one graphical element representing the at least one secondary electronic device and a number of applications available for the at least one secondary electronic device, in response to receiving a user input on an application availability indication displayed on the first application.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority from Indian Patent Application No. 201741000547, filed on Jan. 5, 2017, which is incorporated herein in its entirety by reference.

BACKGROUND

Apparatuses and methods consistent with example embodiments relate to managing applications and more particularly related to methods and systems for managing application installation on multiple devices.

2. Description of the Related Art

Currently, a user may use multiple devices, such as a tablet, a mobile phone, a smart phone, a wearable computing device, an Internet of things (IoT) device, and so on, for a plurality of applications. The user can share data across these devices, provided each of the devices is associated with the user. However, each of these devices may differ from each other, wherein the differences can be in terms of operation system (OS), hardware, compatibility, and so on.

Each application available for a device can have different versions, tailored for each type of device, depending on parameters such as the OS, the available hardware, and so on. The user may not be aware of the availability of applications for each of his devices. The user has to access an application source (such as an application store, website, and so on) on each device separately to check for availability and compatibility.

SUMMARY

Various example embodiments may provide a method and an electronic device for managing application installation.

Example embodiments may also provide a method and electronic device for identifying an application a user is currently accessing in the electronic device.

Example embodiments may also provide a method and electronic device for identifying at least one secondary electronic device associated with the user.

Example embodiments may also provide a method and electronic device for determining at least one application for the at least one identified secondary electronic device from an application provider of the application that the user is currently accessing.

Example embodiments may also provide a method and electronic device for displaying at the electronic device at least one icon representing the at least one identified secondary electronic device and number of applications available for the at least one identified secondary electronic device, on receiving a user input on an application availability indication displayed on the application.

According to an aspect of an example embodiment, a method for managing application installation is provided. The method may include identifying a first application a user is currently accessing in a primary electronic device; identifying at least one secondary electronic device associated with the user; determining at least one second application for the at least one secondary electronic device from an application provider of the first application; and displaying, at the primary electronic device, at least one graphical element representing the at least one secondary electronic device and a number of applications available for the at least one secondary electronic device, in response to receiving a user input on an application availability indication displayed on the first application.

The method may further include displaying the at least one second application associated with the at least one secondary electronic device, in response to receiving a user gesture on the at least one graphical element; and initiating an installation of the at least one second application at the at least one secondary electronic device, in response to the at least one application being selected.

The application availability indication may be displayed on the first application, in response to determining that the at least one second application for the at least one secondary electronic device is available.

The application availability indication on the first application may be displayed as an animation.

The at least one graphical element may be displayed at the primary electronic device as an indicative map.

According to an aspect of an example embodiment an electronic device for managing application installation may be provided. The electronic device may include an application controller unit configured to identify a first application a user is currently accessing in the electronic device; identify at least one secondary electronic device associated with the user; determine at least one second application for the at least one secondary electronic device from an application provider of the first application; and display, at the electronic device, at least one graphical element representing the at least one secondary electronic device and a number of applications available for the at least one secondary electronic device, in response to receiving a user input on an application availability indication displayed on the first application.

DETAILED DESCRIPTION

The example embodiments herein and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the example embodiments herein. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein may be practiced and to further enable those of skill in the art to practice the embodiments herein. Accordingly, the example embodiments should not be construed as limiting the scope of the disclosure herein.

The term “accessing an application” as used herein may refer to the user accessing an application, viewing an application, using a service provided by an application, visiting a website, viewing an application on an application store, and/or any other equivalent action.

The example embodiments herein provide methods for managing application installation. A method may include identifying an application a user is currently accessing in a primary electronic device, wherein the application is associated with an application provider/content provider (CP). Further, the method may include identifying at least one secondary electronic device associated with the primary electronic device. Further, the method may include displaying an application availability indication on the application that the user is currently accessing, on determining at least one application for the at least one identified secondary electronic device is available, wherein the at least one application is associated with the application provider of the application that the user is currently accessing. Further, the method may include displaying at the primary electronic device at least one icon representing the at least one identified secondary electronic device and number of applications available for the at least one identified secondary electronic device, on receiving a user input on an application availability indication displayed on the application.

Further, the method may include displaying the at least one application associated with the at least one identified secondary electronic device, on receiving a user gesture on the at least one icon representing the at least one identified secondary electronic device and number of applications available for the at least one identified secondary electronic device. Further, the method may include initiating an installation of the at least one application associated with the at least one identified secondary electronic device to the at least one identified secondary electronic device, on selecting the at least one application associated with the at least one identified secondary electronic device.

Referring now to the drawings, and more particularly toFIGS. 1A through 7, where similar reference characters denote corresponding features consistently throughout the figures, there are shown example embodiments.

FIGS. 1A-1Cillustrate example scenarios of managing applications installations in an electronic device100(i.e., primary electronic device), according to an example embodiment. The electronic device100may be, for example, a mobile phone, a smart phone, tablet, a phablet, a personal digital assistant (PDA), a wearable computing device, an IoT device, or the like.

The electronic device100may be a primary electronic device100. The primary electronic device100may be used to initiate the application installation to the one or more electronic device (i.e., one or more secondary electronic devices) connected to the primary electronic device100.

When a user is currently accessing/browsing an application/website using the primary electronic device100. The primary electronic device100may identify one or more secondary electronic devices connected to the primary electronic device100. The primary electronic device100may identify one or more secondary electronic devices connected to the primary electronic device100using a suitable means such as a wired communication, a wireless communication, a short range communication, or the like. In an example, the secondary electronic device may be a smart watch, a smart car, a smart TV, a smart set-top box, a smart gear, or any other electronic device associated with the user. Further, the primary electronic device100may identify applications for the connected secondary electronic device from the same application provider that the user is currently accessing the application in the primary electronic device100. Further, the primary electronic device100may display an application availability indication on the application/website the user is currently accessing as shown inFIG. 1A. The application availability indication indicates to the user that there are applications available for the connected secondary electronic devices. When the user selects the application availability indicator, the primary electronic device100may display one or more graphical elements (e.g., icons) as part of a graphical user interface (GUI). The graphical elements may represent the at least one identified secondary electronic device and the number (e.g., count) of applications available for the at least one identified secondary electronic device as shown inFIG. 1B.

For example, a car icon displayed in the primary electronic device100may represent that there are four applications available for the secondary electronic device (e.g., the smart car) from the application provider of the application that the user is currently accessing. Similarly, there are other applications available for other secondary electronic devices from the application provider of the application that the user is currently accessing are shown inFIG. 1B. Further, the primary electronic device100may receive a user gesture on the car icon in order to display the available application for the smart car as shown inFIG. 1B. Further, the primary electronic device100may display the available applications associated with the smart car as shown inFIG. 1C. Further, the primary electronic device100may receive the user input on the application that the user is interested in to initiate the installation of the application to the corresponding secondary electronic device (e.g., the smart car).

FIG. 2is a block diagram illustrating various units of the electronic device100, according to an example embodiment. The electronic device100may an application controller202, an installation manager204, a communication interface206, and a memory208. Each of these components illustrated inFIG. 2and other figures may be implemented with hardware (e.g., circuits, microchips, processors, etc.), software, or a combination of both.

The application controller202may identify an application a user is currently accessing in the primary electronic device100; wherein the application the user is currently accessing is associated with an application provider. Further, the application controller202may identify one or more secondary electronic device associated with the primary electronic device100.

Further, the application controller202may display an application availability indication on the application/website that the user is currently accessing, on determining one or more application for the one or more secondary electronic device is available, wherein the one or more application is associated with the application provider of the application that the user is currently accessing. Displaying the application availability indication on the application/website that the user is currently accessing on the primary electronic device100may be in the form of an animation. Further, the application controller202may display at the primary electronic device100one or more icons representing the at least one identified secondary electronic device and the number of applications available for the at least one identified secondary electronic device, on receiving a user input on an application availability indication displayed on the application. Displaying the one or more icons representing the one or more application associated with the one or more secondary electronic device may be in the form of an indicative map. Further, the application controller unit202may display the at least one application associated with the at least one secondary electronic device, on receiving a user gesture on the at least one icon representing the at least one application associated with the at least one secondary electronic device.

The installation manager204may initiate the installation of the at least one application associated with the at least one secondary electronic device at the at least one secondary electronic device, in response to the user selecting the at least one application associated with the at least one secondary electronic device.

The communication interface206may establish communication between the primary electronic device100and the one or more secondary electronic devices. The memory208may store the association information of the one or more application to the available one or secondary electronic devices. The memory208may be a tangible and/or non-transitory computer-readable storage device for carrying or having computer-executable instructions or data structures stored thereon. Such tangible computer-readable storage device may be any available media that can be accessed by a general-purpose or special-purpose computer, including the functional design of any special purpose processor as described above. By way of example, and not limitation, such tangible computer-readable storage devices may include random access memory (RAM), read-only memory (ROM), electronically erasable programmable ROM (EEPROM), compact disc ROM (CD-ROM), drives or other optical disk storage, magnetic disk storage or other magnetic storage devices, semiconductor-based storage devices, or any other device or medium which can be used to carry or store desired program code means in the form of computer-executable instructions, data structures, or processor chip design.

FIG. 2shows example components of the electronic device100, but it is to be understood that example embodiments are not limited thereon. In other example embodiments, the electronic device100may include fewer or more number of components, units, modules, etc. Further, the labels or names of the units are used only for illustrative purpose and does not limit the scope of the present disclosure. One or more units can be combined together to perform same or substantially similar function in the electronic device100.

FIG. 3is a flow diagram300illustrating a method for managing application installation, according to an example embodiment.

At step302, the method may include identifying the application the user is currently accessing in the primary electronic device100. The method may allow the application controller202to identify the application the user is currently accessing in the primary electronic device100. The application the user is currently accessing may be associated with an application provider.

At step304, the method may include identifying at least one secondary electronic device associated with the user. The method may allow the application controller unit202to identify at least one secondary electronic device associated with the user.

At step306, the method may include determining at least one application for the at least one identified secondary electronic device from an application provider of the application that the user is currently accessing. The method may allow the application controller202to determine at least one application for the at least one identified secondary electronic device from an application provider of the application that the user is currently accessing.

At step308, the method may include displaying at the electronic device at least one icon representing the at least one identified secondary electronic device and the number of applications available for the at least one identified secondary electronic device, in response to receiving a user input on an application availability indication displayed on the application. The method may allow the application controller202to display at the electronic device at least one icon representing the at least one identified secondary electronic device and the number of applications available for the at least one identified secondary electronic device, in response to receiving a user input on an application availability indication displayed on the application.

At step310, the method may include displaying the at least one application associated with the at least one identified secondary electronic device, in response to receiving a user gesture on the at least one icon representing the at least one identified secondary electronic device and number of applications available for the at least one identified secondary electronic device. The method may allow the application controller202to display the at least one application associated with the at least one identified secondary electronic device, in response to receiving a user gesture on the at least one icon representing the at least one identified secondary electronic device and the number of applications available for the at least one identified secondary electronic device.

At step312, the method may include initiating an installation of the at least one application associated with the at least one identified secondary electronic device to the at least one identified secondary electronic device, in response to the user selecting the at least one application associated with the at least one identified secondary electronic device. The method may allow the installation manager204to initiate an installation of the at least one application associated with the at least one identified secondary electronic device at the at least one identified secondary electronic device, in response to the user selecting the at least one application associated with the at least one identified secondary electronic device.

FIGS. 4A-4Cillustrate example scenarios of installing applications associated with the gaming application of the primary electronic device100to one or more secondary electronic device, according to an example embodiment.

When a user is accessing the gaming application in the primary electronic device100, the primary electronic device100may identify one or more secondary electronic devices associated with the primary electronic device100. Further, the primary electronic device100may determine one or more applications from the application provider of the gaming application for the one or more available secondary electronic device connected to the primary electronic device100. Further, the primary electronic device100may display the application availability indication on the gaming application that the user is currently accessing as shown inFIG. 4A. Further, the primary electronic device100may receive a user input on the application availability indication and display one or more icons representing the one or more application associated with the one or more secondary electronic device. The applications associated with the secondary electronic devices may be displayed in the form of an indicative map. The application provider of the gaming application may provide, for example, two applications for a smart watch, one application for a set-top box, and one application for a virtual reality (VR) headset, four applications for a smart car, three applications for a smart TV, and two applications for a smart health monitoring device, as shown inFIG. 4B. Further, the primary electronic device100may receive a user gesture on one of the icons (e.g., a smart TV icon) representing one or more applications associated with the secondary electronic devices (e.g., a smart TV). Further, the primary electronic device100may display the one or more applications associated with the secondary electronic device (e.g., a smart TV) as shown inFIG. 4C. Further, the primary electronic device100may allow the user to select the one or more applications associated with the selected secondary electronic device (e.g., a smart TV) to initiate the installation of the selected application associated with the smart TV. Further, the primary electronic device100may initiate the installation of the selected application on to the smart TV.

FIGS. 5A-5Cillustrate example scenario of installing applications associated with the social networking site (SNS) present on the primary electronic device100to one or more secondary electronic devices, according to an example embodiment.

When a user is accessing the SNS application or SNS web page in the primary electronic device100, the primary electronic device100may identify one or more secondary electronic devices associated with the primary electronic device100. Further, the primary electronic device100may determine one or more applications from the application provider of the SNS application/SNS webpage for the one or more available secondary electronic device connected to the primary electronic device100. Further, the primary electronic device100may display the application availability indication on the SNS application/SNS webpage that the user is currently accessing as shown inFIG. 5A. Further, the primary electronic device100may receive a user input on the application availability indication and display at the primary electronic device100one or more icons representing the one or more applications associated with one or more secondary electronic device, as shown inFIG. 5B. Here, the application provider of the SNS application may provide one application for the smart watch, one application for the set-top box, and one application for the VR headset. Further, the primary electronic device100may receive a user gesture on one of the icons (e.g., the smart watch) representing one or more applications associated with the smart watch and display the available applications associated with the smart watch as shown inFIG. 5C. Further, the primary electronic device100may allow a user to select an available application (e.g., a messenger application) to initiate the installation of the application to the smart watch.

FIG. 6illustrates an example architecture of a smart application system for managing applications installations, according to an example embodiment.

The smart application system may include a source application602, an animation controller604, an application launcher606, a meta info extractor608, a meta info parser610, a device map manager612, an application controller202, an IoT connectivity manager614, an application database (DB)616, an installation manager204, an application package builder618, a content provider (CP) server620, a network622, and one or more connected secondary electronic devices624.

The content provider (CP), an application developer, or an application provider may provide a source application602and publish information about other applications that can be installed on various connected secondary electronic devices624. The other applications can be downloaded from the CP server620. The process to create the applications for other secondary electronic devices624and publishing the applications may be facilitated by employing a developer server (DS) hosted for developers. The DS may host a set of templates for creating the applications for other secondary electronic device624. An application developer may use those templates to develop app by downloading those templates from the DS. In a particular scenario, creating an application using a template may just require modification of the template resources. After development, the application developer may either upload the full application or only the modified resources to a server and indicate the availability of these applications using meta data information embedded inside another app (i.e., the source application), which is installed on the user's primary electronic device100.

The application controller202running in the user's primary electronic device100may interact with the application launcher606to launch the source application602. The meta info extractor608may extract meta information from the source application602. The meta information available may indicate availability of other apps for the secondary electronic devices624(e.g., other applications whose variants may be installed on the primary electronic device). Using the meta info parser610, the meta information may be parsed to obtain the list of available applications from the application developer and the list of secondary electronic devices624. The application controller202may interact with the IoT connectivity manager614and filter the list of available applications that can be installed for the user's secondary electronic devices624.

Further, the application DB616may segregate the applications that user might have already installed. If a list of one or more applications is found to be available for installation, the application controller202may inform the application launcher606to show an indicative animation using the animation controller604. The animation may be displayed on the source application execution window to attract the user's attention about the availability of applications published by the application developer. If the user clicks on the animation, the animation controller604may inform the application controller202, which in turn invokes the device map manager612to take the user to a window showing an indicative map of available apps for different connected secondary electronic devices624. The map may show the number of applications available for a particular secondary electronic device, the status of the secondary electronic device, and other related information. Once the user expands the particular secondary electronic device, the details of the applications available for the secondary electronic device may be shown to the user. This information may also contain the applications that user has already installed, means to uninstall an already installed application, comments for different applications, means to install a new application, or the like. If the user selects to install a particular application, the device map manager612may inform the same to the application controller202. The application controller202may propagate the installation request to the installation manager204. The installation manager204may initiate the installation process by downloading the required application resources from the CP server620over the Network622. Further, the installation manager204may optionally build the application package if, for example, the app was built using a template or may also validate the integrity of the application to be installed. Then, the installation manager204may transmit an installation request message to the IoT connectivity manager614to install the selected application on the user's secondary electronic device. Further, the IoT connectivity manager614may transmit (e.g., push) the installation request to the targeted connected secondary electronic device624. If the connected secondary electronic devices624are online, the installation manager204may continue to install the application to the desired secondary electronic device. If the target secondary electronic devices are offline, the IoT connectivity manager614may queue the installation request such that the installation may continue when the secondary electronic device624becomes online. After completing the process of application installation, the application installer in the target secondary electronic device may inform the installation status back to the installation manager204through the IoT connectivity manager614. The application controller202may also receive the same information from the installation manager204and inform the user accordingly with a visual indication.

Similar to the application installation, the present disclosure provides an option to uninstall the applications, update the already installed applications, read detailed information including ratings and feedback from other users, give ratings and feedback for an application, or the like.

FIG. 7illustrate an example scenario of an application development for a smart car, according to an example embodiment.

The smart car application templates may be uploaded to a developer website. The content provider may be allowed to download at least one template from the developer website. In a particular scenario, creating the smart car application using a template may just require modification of the template resources. After development of the smart car application, the developer may either upload the full application or only the modified resources to a server and indicate the availability of the smart car application using meta data information embedded inside another application (e.g., the application/website that the user is currently accessing, such as the source application). Further, when a user is accessing a browser, the browser may prompt the user to install the smart car applications. In response to the user selecting the smart car application, the browser may send the smart car application to the car for installation. The browser may generate the smart car application and send a request to the car for installation by embedding the generated application as part of the request payload or embedding a link to the generated application inside the installation request. Further, the application may be installed on the smart car by an application runtime present in the smart car.

FIG. 8is a block diagram illustrating an electronic device801in a network environment800according to various embodiments. Referring toFIG. 8, the electronic device801in the network environment800may communicate with an electronic device802via a first network898(e.g., a short-range wireless communication network), or an electronic device804or a server808via a second network899(e.g., a long-range wireless communication network). According to an embodiment, the electronic device801may communicate with the electronic device804via the server808. According to an embodiment, the electronic device801may include a processor820, memory830, an input device850, a sound output device855, a display device860, an audio module870, a sensor module876, an interface877, a haptic module879, a camera module880, a power management module888, a battery889, a communication module890, a subscriber identification module (SIM)896, or an antenna module897. In some embodiments, at least one (e.g., the display device860or the camera module880) of the components may be omitted from the electronic device801, or one or more other components may be added in the electronic device801. In some embodiments, some of the components may be implemented as single integrated circuitry. For example, the sensor module876(e.g., a fingerprint sensor, an iris sensor, or an illuminance sensor) may be implemented as embedded in the display device860(e.g., a display).

The processor820may execute, for example, software (e.g., a program840) to control at least one other component (e.g., a hardware or software component) of the electronic device801coupled with the processor820, and may perform various data processing or computation. According to one embodiment, as at least part of the data processing or computation, the processor820may load a command or data received from another component (e.g., the sensor module876or the communication module890) in volatile memory832, process the command or the data stored in the volatile memory832, and store resulting data in non-volatile memory834. According to an embodiment, the processor820may include a main processor821(e.g., a central processing unit (CPU) or an application processor (AP)), and an auxiliary processor823(e.g., a graphics processing unit (GPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)) that is operable independently from, or in conjunction with, the main processor821. Additionally or alternatively, the auxiliary processor823may be adapted to consume less power than the main processor821, or to be specific to a specified function. The auxiliary processor823may be implemented as separate from, or as part of the main processor821.

The auxiliary processor823may control at least some of functions or states related to at least one component (e.g., the display device860, the sensor module876, or the communication module890) among the components of the electronic device801, instead of the main processor821while the main processor821is in an inactive (e.g., sleep) state, or together with the main processor821while the main processor821is in an active state (e.g., executing an application). According to an embodiment, the auxiliary processor823(e.g., an image signal processor or a communication processor) may be implemented as part of another component (e.g., the camera module880or the communication module890) functionally related to the auxiliary processor823.

The memory830may store various data used by at least one component (e.g., the processor820or the sensor module876) of the electronic device801. The various data may include, for example, software (e.g., the program840) and input data or output data for a command related thereto. The memory830may include the volatile memory832or the non-volatile memory834.

The program840may be stored in the memory830as software, and may include, for example, an operating system (OS)842, middleware844, or an application846.

The input device850may receive a command or data to be used by other component (e.g., the processor820) of the electronic device801, from the outside (e.g., a user) of the electronic device801. The input device850may include, for example, a microphone, a mouse, or a keyboard.

The display device860may visually provide information to the outside (e.g., a user) of the electronic device801. The display device860may include, for example, a display, a hologram device, or a projector and control circuitry to control a corresponding one of the display, hologram device, and projector. According to an embodiment, the display device860may include touch circuitry adapted to detect a touch, or sensor circuitry (e.g., a pressure sensor) adapted to measure the intensity of force incurred by the touch.

The audio module870may convert a sound into an electrical signal and vice versa. According to an embodiment, the audio module870may obtain the sound via the input device850, or output the sound via the sound output device855or a headphone of an external electronic device (e.g., an electronic device802) directly (e.g., wiredly) or wirelessly coupled with the electronic device801.

A connecting terminal878may include a connector via which the electronic device801may be physically connected with the external electronic device (e.g., the electronic device802). According to an embodiment, the connecting terminal878may include, for example, a HDMI connector, a USB connector, a SD card connector, or an audio connector (e.g., a headphone connector),

The camera module880may capture a still image or moving images. According to an embodiment, the camera module880may include one or more lenses, image sensors, image signal processors, or flashes.

The power management module888may manage power supplied to the electronic device801. According to one embodiment, the power management module888may be implemented as at least part of, for example, a power management integrated circuit (PMIC).

The battery889may supply power to at least one component of the electronic device801. According to an embodiment, the battery889may include, for example, a primary cell which is not rechargeable, a secondary cell which is rechargeable, or a fuel cell.

The communication module890may support establishing a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device801and the external electronic device (e.g., the electronic device802, the electronic device804, or the server808) and performing communication via the established communication channel. The communication module890may include one or more communication processors that are operable independently from the processor820(e.g., the application processor (AP)) and supports a direct (e.g., wired) communication or a wireless communication. According to an embodiment, the communication module890may include a wireless communication module892(e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module894(e.g., a local area network (LAN) communication module or a power line communication (PLC) module). A corresponding one of these communication modules may communicate with the external electronic device via the first network898(e.g., a short-range communication network, such as Bluetooth™, wireless-fidelity (Wi-Fi) direct, or infrared data association (IrDA)) or the second network899(e.g., a long-range communication network, such as a cellular network, the Internet, or a computer network (e.g., LAN or wide area network (WAN)). These various types of communication modules may be implemented as a single component (e.g., a single chip), or may be implemented as multi components (e.g., multi chips) separate from each other. The wireless communication module892may identify and authenticate the electronic device801in a communication network, such as the first network898or the second network899, using subscriber information (e.g., international mobile subscriber identity (IMSI)) stored in the subscriber identification module896.

The antenna module897may transmit or receive a signal or power to or from the outside (e.g., the external electronic device) of the electronic device801. According to an embodiment, the antenna module897may include one or more antennas, and, therefrom, at least one antenna appropriate for a communication scheme used in the communication network, such as the first network898or the second network899, may be selected, for example, by the communication module890(e.g., the wireless communication module892). The signal or the power may then be transmitted or received between the communication module890and the external electronic device via the selected at least one antenna.

The example embodiments disclosed herein may be implemented through at least one software program running on at least one hardware device and performing network management functions to control the network elements. The network elements shown inFIG. 2andFIG. 8may include blocks, which may be at least one of a hardware device, or a combination of hardware device and a software module. Though the terms “first,” “second,” “primary,” “secondary,” etc. may be used herein to describe various devices, applications, members, components, regions, layers, and/or sections, these devices, applications, members, components, regions, layers, and/or sections should not be limited by these terms. These terms are only used to distinguish one device, application, member, component, region, layer, or section from another region, layer, or section, and not used to imply order, preference, or priority.

The foregoing description of the example embodiments will so fully reveal the general nature of the present disclosure herein that others can, by applying current knowledge, readily modify and/or adapt for various applications such example embodiments without departing from the generic concept, and, therefore, such adaptations and modifications should and are intended to be comprehended within the meaning and range of equivalents of the disclosed example embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Therefore, those skilled in the art will recognize that the example embodiments herein may be practiced with modification within the spirit and scope of the example embodiments as described herein.