Mobile device and control method thereof

Information

  • Patent Grant
  • 10863557
  • Patent Number
    10,863,557
  • Date Filed
    Friday, March 22, 2019
    5 years ago
  • Date Issued
    Tuesday, December 8, 2020
    3 years ago
Abstract
A method includes: executing an application prepared by an application programming interface (API) of a platform; and providing a network setting information to be used in the executed application to a display. A network connection is performed by the platform based on the network setting information.
Description
BACKGROUND
1. Field

Apparatuses and methods consistent with exemplary embodiments relate to a mobile device and a control method thereof, and more particularly, to a mobile device capable of providing a network function and a control method thereof.


2. Description of the Related Art

A mobile device such as a cellular phone, a smart phone, a tablet personal computer (PC), etc. performs communication through various networks such as third generation (3G), Wi-Fi, etc. Such various networks have their merits and deficiencies regarding connectivity, speed, costs, etc. Thus, it is desirable to selectively use various networks in accordance with purpose or intention.


Meanwhile, an application of a mobile device often uses a network service supported by an operating system (OS), a platform or the like of the mobile device in order to provide a function useful to a user.


However, the OS, the platform, or the like of a related art mobile device does not sufficiently support an application developer to conveniently develop an application in association with the network. Therefore, enhancement of an application developing environment is desirous.


SUMMARY

Exemplary embodiments address at least the above problems and/or disadvantages and other disadvantages not described above. Also, an exemplary embodiment is not required to overcome the disadvantages described above, and an exemplary embodiment may not overcome any of the problems described above.


One or more exemplary embodiments provide a mobile device capable of providing a developing environment in which a preferred network can be more easily set up, and a control method thereof.


According to an aspect of an exemplary embodiment, there is provided a mobile device providing a network function, the mobile device including a display unit which displays an image; a user input unit which receives an input of a user; a communication unit which performs communication through a network; and a control unit which executes an application prepared by an application programming interface (API) of the network function provided by a platform, and controls the communication unit to perform communication in accordance with setup of a preferred network if the application includes the setup of the preferred network.


The platform may define a plurality of operation modes related to the preferred network, the application may include setup of a variable representing one of the plurality of operation modes, and the control unit may control the communication unit to operate in the operation mode corresponding to the setup of the variable.


The plurality of operation modes may include use of Wi-Fi first, use of only a packet switched (PS) domain, and use of only Wi-Fi.


A network connection by the platform may include a default network connection where the application does not specify the network connection, and a custom network connection where the application is enabled to directly control the network, and the control unit may control the communication unit to perform communication in accordance with the setup of the preferred network in the case of the default network connection.


According to another aspect of an exemplary embodiment, there is provided a control method of a mobile device providing a network function, the control method including executing an application prepared by an API provided by a platform of the mobile device; and performing communication in accordance with setup of a preferred network if the application includes the setup of the preferred network.


The platform may define a plurality of operation modes related to the preferred network, the application may include setup of a variable representing one of the plurality of operation modes, and the performing the communication may include performing communication to operate in the operation mode corresponding to the setup of the variable.


The plurality of operation modes may include use of Wi-Fi first, use of only a PS domain, and use of only Wi-Fi.


A network connection by the platform may include a default network connection where the application does not specify the network connection, and a custom network connection where the application is enabled to directly control the network, and the performing the communication may include performing the communication in accordance with the setup of the preferred network in the case of the default network connection.





BRIEF DESCRIPTION OF THE DRAWINGS

The above and/or other aspects will become more apparent from the following description of exemplary embodiments, taken in conjunction with the accompanying drawings, in which:



FIG. 1 is a block diagram showing a configuration of a mobile device according to an exemplary embodiment;



FIG. 2 is a block diagram showing a software configuration of the mobile device of FIG. 1;



FIGS. 3 and 4 show network connection types of the mobile device according to an exemplary embodiment;



FIG. 5 is a view for explaining a preferred network of the mobile device according to an exemplary embodiment; and



FIG. 6 is a flowchart showing an operation of the mobile device according to an exemplary embodiment.





DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Certain exemplary embodiments are described in greater detail below with reference to accompanying drawings.


In the following description, like drawing reference numerals are used for like elements, even in different drawings. The matters defined in the description, such as detailed construction and elements, are provided to assist in a comprehensive understanding of exemplary embodiments. However, exemplary embodiments can be practiced without those specifically defined matters.



FIG. 1 is a block diagram showing a configuration of a mobile device according to an exemplary embodiment. The mobile device 1 shown in FIG. 1 may include, for example, a cellular phone, a smart phone, a tablet personal computer (PC), etc. The mobile device 1 may include a communication unit 11, a display unit 12, an audio output unit 13, a user input unit 14, a storage unit 16, a control unit 17, a power unit 18, a camera unit 191, and an audio input unit 192.


The communication unit 11 performs communication through a network. The contents and type of the communication performed by the communication unit 11 may vary depending on use and function of the mobile device 1. For example, in the case of a telephone function, the communication unit 11 calls the other device (not shown) for telephone conversation. In this exemplary embodiment, the calling type includes 3G. In the case of an Internet function, the communication unit 11 performs Internet connection with a predetermined server (not shown) for transmitting/receiving data. Further, the communication unit 11 may perform communication with a peripheral device (not shown) through local communication such as Bluetooth, WiFi, etc. The communication unit 11 performs the communication under control of the control unit 17.


The display unit 12 displays an image representing the operation or state of the mobile device 1. The display unit 12 may display an image by using various display devices including, for example, a liquid crystal display (LCD), an organic light emitting device (OLED), etc. The audio output unit 13 outputs an audio representing the operation or state of the mobile device 1. The audio output unit 13 may include an audio processor (not shown) that processes an audio signal, and a loudspeaker (not shown) that outputs an audio based on an audio signal.


The user input unit 14 receives a user's command. The user input unit 14 may receive a user's command in various forms, which may include a key input unit (not shown) that receives a user's command by a key input, and a touch input unit (not shown) that receives a user's command by a touch input. A touch input unit may include a touch screen provided in the display unit 12.


The storage unit 16 is a non-volatile memory including, for example, a flash memory, a hard disk drive, etc., which stores data or programs for operating the mobile device 1. The power unit 18 supplies power for operating the mobile device 1. The camera unit 191 takes an image, and the audio input unit 192 may include a microphone or the like and receives an audio. Some of the above-described elements, for example, the camera unit 191, or the like may be omitted from the mobile device 1 in consideration of its function or use.


The control unit 17 controls the operation of the elements in the mobile device 1. The control unit 17 may include a read only memory (ROM) 171 where a control program for performing an operation is stored, a random access memory (RAM) 172 where the control program is at least partially loaded, and a central processing unit (CPU) 173 which executes the loaded control program. The control program of the control unit 17 may be stored in the storage unit 16 as well as in the ROM 171. The control program of the control unit 17 may include a plurality of programs. FIG. 2 is a block diagram showing an exemplary configuration of the control program in the control unit 17.


As shown in FIG. 2, the control program of the control unit 17 may include an OS 21, a device driver 22, a platform 23, and an application 24. The OS 21 manages and controls overall operations of the mobile device 1. The device driver 22 performs an interface between a hardware device such as the communication unit 16 and the OS 21. The platform 23 performs an interface between the OS 21 and the application 24, and includes an API 231 for supporting the application 24.


The application 24 performs at least one function, and may be prepared using the API 231 of the platform 23. The function performed by the application 24 includes a network function. The application 24 may be transmitted from the external device through the communication unit 11 and installed on the mobile device 1. That is, a user can download the application 24 via the Internet or the like and install it on the mobile device 1.


The API 231 of the platform 23 includes an API for the network function which is also referred to as a network service. For example, a network connection representing an actual run-time session is initially established for transmitting and receiving data through a network using the platform 23. To set up the network connection, a network account may be used. The network account encapsulates configuration parameters such as a protocol type, an access point name, a local Internet protocol (IP) address, a domain name system (DNS) address, authentication information, etc. After the network connection is successfully established, a data communication protocol such as a hyper text transfer protocol (HTTP), socket methods, etc. may be applied.



FIGS. 3 and 4 show network connection types of the mobile device according to an exemplary embodiment. FIG. 3 shows a default network connection, and FIG. 4 shows a custom network connection.


Referring to FIG. 3, the application 24 requests a network service of the platform 23 without a network connection via a request 31. The network service (e.g., HTTP, socket methods, etc.) internally starts the default network connection in accordance with a preset default (as indicated by a reference numeral 32. Next, the network service of the platform 23 accesses a network 5 via a connection 33.


The default network connection shown in FIG. 3 is established because the application 24 does not specify the network connection, and therefore usage of the network is simplified in view of the application developer. Also, the platform 23 is allowed to fully manage the network connection. Thus, the application developers can easily and simply develop the application 24 even though they do not know complicated contents of the API 231.


Referring to FIG. 4, the application 24 creates the custom network connection and starts it as indicated by a reference numeral 41. Program 1 shows an example of the application 24 that creates and starts a custom network connection.












Program 1

















// start the NetConnection









using namespace Osp::Net;



void



Test(void)



{









// Account ID



NetAccountId accountId = INVALID_HANDLE;



result r = E_SUCCESS;



// Account manager



NetAccountManager netAccountManager;



r = netAccountManager.Construct( );



accountId =









netAccountManager.GetNetAccountId( );









// Construct a Listener



TestListener* pMyListener = new TestListener( );



// NetConnection instance allocation



NetConnection* pNetConnection = new









NetConnection;









// NetConnection Construction



r = pNetConnection−>Construct(accountId);



// ——NetConnectionEvent AddListener



r = pNetConnection−









>AddNetConnectionListener(pMyListener);









// NetConnection connect



r = pNetConnection−>Start( );









}










Referring back to FIG. 4, the application 24 requests a network service of the platform 23 with a network connection via a request 42. Next, the network service of the platform 23 accesses the network 5 via a connection 43.


The custom network connection described with reference to FIG. 4 may be for an advanced developer, and enables the application 24 to directly control the network 5. Thus, the application 24 can use a specific network account, and start or stop the network connection at any time. That is, the application developer is allowed to develop the application 24 that provides a more enhanced function.


The control unit 17 of an exemplary embodiment may enable the developer to perform communication with a desired network which may be referred to as a preferred network in accordance with a setup of the application 24. FIG. 5 is a view for explaining a preferred network of the mobile device in this exemplary embodiment. The preferred network in this exemplary embodiment includes Wi-Fi 51 and 3G 52. The 3G is an example of a PS domain. The control unit 17 may be connected to one of the preferred networks, i.e., the Wi-Fi 51 and the 3G 52 in accordance with the setup of the application 24.


The API 231 of the platform 23 defines a plurality of operation modes related to the preferred network. The application 24 includes setup of variables that represents one of the operation modes defined by the API 231 of the platform 23. Table 1 shows an example of variables corresponding to the operation modes related to the preferred network of the present exemplary embodiment, and Program 2 shows an example of the application 24 that sets up the preferred network. The platform 23 accomplishes connection to one preferred network between the Wi-Fi 51 and the 3G 52 with reference to the variables set up in the application 24.












TABLE 1







Variables
Operation modes









NET_WIFI_FIRST
Use of WI-FI first



NET_PS_ONLY
Use of only PS domain



NET_WIFI_ONLY
Use of only Wi-Fi




















PROGRAM 2

















Net::NetAccountManager::Construct( )



Net::NetAccountManager::SetNetPreference(NET_PS_ONLY)










In this exemplary embodiment, the platform 23 provides the foregoing simple API 231 in association with the preferred network, so that the application developer can readily perform the setup related to the preferred network by simply selecting the given variable of the API 231. Also, the setup of the preferred network may be applied to the default network connection described with reference to FIG. 3. In other words, although the application developer does not completely know the API 231 to accomplish the custom network connection described with reference to FIG. 4, the developer is enabled to set up the preferred network even when the default network connection is used. Accordingly, there is provided an environment for more easily developing the application 24.



FIG. 6 is a flowchart showing an operation of the mobile device according to an exemplary embodiment. At operation 501, the application 24 using the API 231 of the platform is executed. At operation 502, it is ascertained whether the application 24 includes setup related to the preferred network. If the application 24 includes the setup related to the preferred network, at operation 503 the communication is performed in accordance with the setup of the preferred network.


As described above, there is provided a developing environment in which a preferred network can be more easily set up.


The foregoing exemplary embodiments and advantages are merely exemplary and are not to be construed as limiting. The present teaching can be readily applied to other types of apparatuses. Also, the description of the exemplary embodiments is intended to be illustrative, and not to limit the scope of the claims, and many alternatives, modifications, and variations will be apparent to those skilled in the art.

Claims
  • 1. A control method for a mobile device, the control method comprising: executing an application prepared by an application programming interface (API) of a platform;providing a plurality of network setting information to be used in the executed application to a display;determining a network connection to be performed by the platform based on whether the application is associated with a first network setting information that specifies the network connection to a network among the plurality of network setting information, or with a second network setting information that does not specify the network connection to any network among the plurality of network setting information; andperforming the network connection based on the determining.
  • 2. The control method of claim 1, wherein the performing further comprises: performing the network connection using a default network connection based on the determining that the application does not specify the network connection.
  • 3. The control method of claim 1, further comprising: if the executed application is associated with the first network setting information, establishing a first network connection based on a first operation mode among a plurality of operation modes which are defined in the platform, the first operation mode defining the first network setting information of the executed application and specifying the first network connection; andif the executed application is associated with the second network setting information, requesting a network service of the platform based on a determination that a second network connection is not established, and, in response to the requesting, starting the second network connection via the platform based on a second operation mode among the plurality of operation modes, the second operation mode defining a network setting information of the platform and specifying the second network connection.
  • 4. The method of claim 3, wherein the establishing the first network connection comprises: establishing the first network connection based on the first operation mode being set up in the application via the API.
  • 5. The method of claim 4, wherein the plurality of operation modes comprises at least two from among: a use of Wi-Fi first;a use of only a packet switched (PS) domain; anda use of only the Wi-Fi.
  • 6. The method of claim 4, further comprising: requesting the network service of the platform with the first network connection; andaccessing the network based at least on the requesting.
  • 7. The method of claim 3, wherein the starting the second network connection further comprises: accessing a network, via the second network connection.
  • 8. The method of claim 3, further comprising: displaying an information corresponding to the network service.
  • 9. The method of claim 3, further comprising: prior to the executing the application, establishing the network service by using the second network connection.
  • 10. An apparatus comprising: a processor;a display;a communication unit coupled to the processor and controlled by the processor to communicate with an electronic device external to the apparatus through a network,wherein the processor is configured to: execute an application prepared by an application programming interface (API) of a platform,provide a plurality of network setting information to be used in the executed application to display in the display,determine a network connection to be performed by the platform based on whether the application is associated with a first network setting information that specifies the network connection to a network among the plurality of network setting information, or with a second network setting information that does not specify the network connection to any network among the plurality of network setting information, andcontrol to perform the network connection based on the determining.
  • 11. The apparatus of claim 10, wherein the processor is further configured to perform, via the platform, a default network connection based on the determining the application does not specify the network connection.
  • 12. The apparatus of claim 10, wherein the processor is further configured to: establish a first network connection via the communication unit, if the executed application is associated with the first network setting information, based on the first network setting information of the executed application specifying the first network connection, the first network connection being managed by the application, anduse a second network connection via the communication unit, if the executed application is associated with the second network setting information, based on a network setting information of the platform specifying the second network connection; andwherein the processor is further configured to use the second network connection based at least on a preferred network being set up in the platform.
  • 13. The apparatus of claim 12, wherein the processor is further configured to: establish the first network connection, based on one of a plurality of operation modes which are defined in the platform, the one of the plurality of operation modes being set up in the application via the API.
  • 14. The apparatus of claim 13, wherein the plurality of operation modes comprises at least two from among: a mode to provide a Wi-Fi first,a mode to provide only a packet switched (PS) domain, anda mode to provide only the Wi-Fi.
  • 15. The apparatus of claim 13, wherein: the application includes at least one variable corresponding to the one of the plurality of operation modes.
  • 16. The apparatus of claim 13, wherein the application is configured to directly control the network.
  • 17. The apparatus of claim 16, wherein the application is configured to start and stop the first network connection via the platform.
  • 18. The apparatus of claim 13, wherein the processor is further configured to request a network service of the platform with the first network connection, and access the network based at least on a request for the network service.
  • 19. The apparatus of claim 13, wherein the processor is further configured to request a network service, without a network connection, and use the second network connection via the platform, based at least on a request for the network service.
  • 20. The apparatus of claim 10, further comprising: a user input unit which is operatively coupled with the processor and configured to receive, from a user, an input corresponding to the application.
Priority Claims (1)
Number Date Country Kind
10-2010-0116091 Nov 2010 KR national
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 14/542,099 filed Nov. 14, 2014, which is a continuation of U.S. patent application Ser. No. 12/958,007, filed Dec. 1, 2010, which claims benefit of the filing dates of U.S. Patent Provisional Application Nos. 61/265,923 and 61/265,939, filed Dec. 2, 2009, and claims priority from Korean Patent Application No. 10-2010-0116091 filed Nov. 22, 2010, in the Korean Intellectual Property Office. The disclosures of the above-named applications are incorporated herein by reference in their entireties.

US Referenced Citations (64)
Number Name Date Kind
6175789 Beckert et al. Jan 2001 B1
6757269 Dorenbosch et al. Jun 2004 B2
6775267 Kung et al. Aug 2004 B1
7672695 Rainnie et al. Mar 2010 B1
7761607 Hassan et al. Jul 2010 B2
8467390 Persson et al. Jun 2013 B2
8516096 LeBlanc et al. Aug 2013 B2
8687547 Collingrige Apr 2014 B2
8774169 Anchan et al. Jul 2014 B2
20020176366 Ayyagari et al. Nov 2002 A1
20030100308 Rusch May 2003 A1
20040097228 Saada May 2004 A1
20040131078 Gupta et al. Jul 2004 A1
20040233930 Colby, Jr. Nov 2004 A1
20040264402 Whitmore et al. Dec 2004 A9
20050060425 Yeh et al. Mar 2005 A1
20050090292 Yasutake Apr 2005 A1
20050102631 Andreas et al. May 2005 A1
20050128968 Yang Jun 2005 A1
20050149204 Manchester et al. Jul 2005 A1
20050195390 Jeon et al. Sep 2005 A1
20050227692 Kawashima et al. Oct 2005 A1
20050228870 de Boor et al. Oct 2005 A1
20050238046 Hassan et al. Oct 2005 A1
20050239443 Watanabe et al. Oct 2005 A1
20060015636 Skraba et al. Jan 2006 A1
20060031784 Makela Feb 2006 A1
20060039335 Ono et al. Feb 2006 A1
20060126649 Akiyoshi Jun 2006 A1
20060239206 Rao et al. Oct 2006 A1
20060245358 Beverly Nov 2006 A1
20060258353 Makela et al. Nov 2006 A1
20060288329 Gandhi et al. Dec 2006 A1
20070004393 Forsberg et al. Jan 2007 A1
20070011665 Gandhi et al. Jan 2007 A1
20070097877 Hoekstra et al. May 2007 A1
20070211690 van Megen Sep 2007 A1
20080039079 Iyer et al. Feb 2008 A1
20080056212 Karaoguz et al. Mar 2008 A1
20080062937 Mansfield Mar 2008 A1
20080086529 Lu et al. Apr 2008 A1
20080109877 Park et al. May 2008 A1
20080127225 Mullis et al. May 2008 A1
20080160967 Narasimhan et al. Jul 2008 A1
20080299960 Lockhart et al. Dec 2008 A1
20090011738 Sasakura Jan 2009 A1
20090135749 Yang May 2009 A1
20090143061 Wu et al. Jun 2009 A1
20090245215 Oshime Oct 2009 A1
20090254639 Manchester et al. Oct 2009 A1
20090285190 Baron et al. Nov 2009 A1
20090310509 Kumai et al. Dec 2009 A1
20100008291 Leblanc et al. Jan 2010 A1
20100022243 Oommen et al. Jan 2010 A1
20100131618 Brewis May 2010 A1
20100142542 Van Wie et al. Jun 2010 A1
20100150001 Tsuchiya Jun 2010 A1
20100153969 Dyba Jun 2010 A1
20100184440 Mao Jul 2010 A1
20100235523 Garcia et al. Sep 2010 A1
20110058541 Fok et al. Mar 2011 A1
20120079084 Forssell Mar 2012 A1
20130132854 Raleigh May 2013 A1
20150334087 Dawes Nov 2015 A1
Foreign Referenced Citations (10)
Number Date Country
101325769 Dec 2008 CN
101388819 Mar 2009 CN
200672969 Mar 2006 JP
2006074295 Mar 2006 JP
10-2006-0058590 May 2006 KR
10-2006-0076546 Jul 2006 KR
10-2007-0095048 Sep 2007 KR
10-2009-0121435 Nov 2009 KR
2006109159 Oct 2006 WO
2008032479 Mar 2008 WO
Non-Patent Literature Citations (24)
Entry
Communication dated Sep. 19, 2016, issued by the Korean Intellectual Property Office in counterpart Korean Application No. 10-2010-0116091.
International Search Report [PCT/ISA/210] issued by the International Searching Authority in International Application No. PCT/KR2010/008602 dated Aug. 23, 2011.
Communication, dated Jun. 25, 2014, issued by the State Intellectual Property Office of P.R. China in counterpart Patent Application No. 201080054231.0.
Communication, dated Sep. 9, 2014, issued by the Japanese Patent Office in counterpart Patent Application No. 2012-541945.
Communication dated Oct. 9, 2014 issued by the Australian Government IP Australia in counterpart Australian Patent Application No. 2010327451.
Office Action dated Jun. 21, 2012, issued by the U.S. Patent and Trademark Office in U.S. Appl. No. 12/958,007.
Office Action dated Nov. 8, 2012, issued by the U.S. Patent and Trademark Office in parent U.S. Appl. No. 12/958,007.
Office Action dated May 17, 2013, issued by the U.S. Patent and Trademark Office in parent U.S. Appl. No. 12/958,007.
Office Action dated Nov. 4, 2013, issued by the U.S. Patent and Trademark Office in parent U.S. Appl. No. 12/958,007.
Office Action dated Feb. 24, 2014, issued by the U.S. Patent and Trademark Office in parent U.S. Appl. No. 12/958,007.
Notice of Allowance dated Jul. 25, 2014, issued by the U.S. Patent and Trademark Office in parent U.S. Appl. No. 12/958,007.
Communication dated Feb. 26, 2015 issued by European Patent Office in counterpart European Application No. 10834787.3.
Communication dated Feb. 6, 2015 issued by the State Intellectual Property Office of the People's Republic of China in counterpart Chinese Patent Application No. 201080054231.0.
Communication dated Mar. 22, 2016 issued by the Japanese Patent Office in counterpart Japanese Patent Application No. 2012-541945.
Communication dated May 19, 2015, issued by the Japanese Intellectual Property Office in counterpart Japanese Application No. 2012-541945.
Iain Campbel et al.; “SymbianOS Communications Programming”, Shouei Co., Ltd., Feb. 12, 2008, Second Edition, pp. 174-193.
Communication dated Jul. 28, 2015, issued by the Japanese Patent Office in counterpart Japanese Application No. 2012-541948.
Communication dated Mar. 18, 2019, issued by the European Patent Office in counterpart European Application No. 10834787.3.
Non Final Office Action dated Jul. 1, 2016, issued by the U.S. Patent and Trademark Office in parent U.S. Appl. No. 14/542,099.
Non Final Office Action dated Nov. 16, 2016, issued by the U.S. Patent and Trademark Office in parent U.S. Appl. No. 14/542,099.
Final Office Action dated May 18, 2017, issued by the U.S. Patent and Trademark Office in parent U.S. Appl. No. 14/542,099.
Non Final Office Action dated Oct. 19, 2017, issued by the U.S. Patent and Trademark Office in parent U.S. Appl. No. 14/542,099.
Non Final Office Action dated Jul. 10, 2018, issued by the U.S. Patent and Trademark Office in parent U.S. Appl. No. 14/542,099.
Notice of Allowance dated Nov. 20, 2018, issued by the U.S. Patent and Trademark Office in parent U.S. Appl. No. 14/542,099.
Related Publications (1)
Number Date Country
20190220186 A1 Jul 2019 US
Provisional Applications (2)
Number Date Country
61265939 Dec 2009 US
61265923 Dec 2009 US
Continuations (2)
Number Date Country
Parent 14542099 Nov 2014 US
Child 16362159 US
Parent 12958007 Dec 2010 US
Child 14542099 US