Apparatus and method for selective loading in mobile communication terminal

An apparatus and a method for enhancing memory utilization by compressing unused programs and their system files are provided. The method for generating a profile for a selective loading of a terminal includes receiving a selection of at least one application program that is to be activated, identifying that there is at least one application program to be activated among present deactivated application programs and to be deactivated among present activated application programs, compressing other application programs and system files related to the other application programs than at least one application program to be activated and generating a profile comprising a list of at least one application program to be activated.

PRIORITY

This application claims the benefit under 35 U.S.C. §119(a) of a Korean patent application filed in the Korean Intellectual Property Office on Jul. 18, 2007 and assigned Serial No. 2007-0071852, the entire disclosure of which is hereby incorporated by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to operational control of a mobile communication terminal. More particularly, the present invention relates to an apparatus and a method for allowing a user to select and change application programs that are loaded on a terminal.

2. Description of the Related Art

A conventional mobile communication terminal (hereinafter referred to as a ‘terminal’) provides not only a voice communication service but also various additional application programs such as a camera function, a multimedia player function, a messaging function, and the like. However, a user of a conventional terminal must utilize the additional application programs only in a manner defined by a manufacturer/provider as shown inFIG. 1A. That is, as illustrated inFIG. 1A, the additional application programs of the terminal are automatically loaded and presented as icons on a user interface screen by the terminal.

In the conventional manner defined by the manufacturer/provider, an operating system of the conventional terminal does allow a user to selectively register or deregister items as menu items. That is, the conventional terminal allows a user to select or register which of the additional functions will appear as icons on the user interface screen.

However, the registration and deregistration performed by the user merely refers to the addition and deletion of the connection to the user interface. In other words, the registration/deregistration only refers to selection of the corresponding icon to be illustrated on the user interface. It does not imply that the specific application program, including its middleware, engine, and related library, are added or deleted to or from the terminal memory.

As a result, application programs that are selected for deregistration because they are not actually used by the user are still loaded in the terminal memory as shown inFIG. 1B. Furthermore, the application's related data and system files are also loaded in the memory. For example, as illustrated inFIG. 1B, even though the PICTURES function is not used by the user, as indicated by 0 bits being stored in association with that function, the PICTURES application itself is still loaded in the terminal memory.

To address the inefficiency created when the unused application programs and their system files are loaded in to the memory, suggested methods attempt to enhance the memory utilization by setting a timer, periodically checking validity of data in the memory at regular intervals, and deleting invalid data from the memory.

However, those suggested methods do not truly address the poor memory utilization because the unused application programs and their system files still effectively remain in the memory all the time.

SUMMARY OF THE INVENTION

An aspect of the present invention is to address at least the above mentioned problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the present invention is to provide an apparatus and a method for selective loading in a mobile communication terminal.

Another aspect of the present invention is to provide an apparatus and a method of a mobile communication terminal for allowing a user to select application programs according to his/her inclination and purpose and to generate a profile including a list of the selected application programs, not loading application programs and system files unrelated to the generated profile, excluding necessary programs for operations of the mobile communication terminal, and excluding them from a menu when the generated profile is selected.

Yet another aspect of the present invention is to provide an apparatus and a method of a mobile communication terminal for allowing a user to select application programs according to his/her inclination and purpose and to generate a profile including a list of the selected application programs, not loading application programs and system files unrelated to the generated profile, excluding necessary programs for operations of the mobile communication terminal, excluding them from a menu when the generated profile is selected, and compressing the unloaded application programs and system files.

In accordance with an aspect of the present invention, a method for generating a profile for a selective loading of a terminal is provided. The method includes receiving a selection of at least one application program that is to be activated, identifying that there is at least one application program to be activated among present deactivated application programs and to be deactivated among present activated application programs, compressing other application programs and system files related to the other application programs than at least one application program to be activated and generating a profile comprising a list of at least one application program to be activated.

In accordance with another aspect of the present invention, a terminal for generating a profile for a selective loading is provided. The terminal includes an application profile manager for receiving a selection of at least one application program that is to be activated, identifying that there is at least one application program to be activated among present deactivated application programs and to be deactivated among present activated application programs, compressing other application programs and system files related to the other application programs than at least one application program to be activated, and for generating a profile comprising a list of at least one application program to be activated.

In accordance with still another aspect of the present invention, a method for a selective loading of a terminal is provided. The method includes determining whether there is a profile for the selective loading and when there is the profile, loading an application program to be activated and a system file related to the application program to be activated based on the profile.

In accordance with yet another aspect of the present invention, a terminal for selectively loading is provided. The terminal includes an application profile manager for determining whether there is a profile for the selective loading, and when there is the profile, loading an application program to be activated and a system file related to the application program to be activated based on the profile.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Exemplary embodiments of the present invention provide an apparatus and a method for selective loading of application functions in a mobile communication terminal.

FIG. 2is a diagram illustrating an internal platform of a terminal for the selective loading according to an exemplary embodiment of the present invention.

The internal platform ofFIG. 2includes an application program part210, a common Application Program Interface (API) part220, a middleware part230, a driver/library part240, and a hardware part250.

The application program part210includes application programs that may be run directly by a user. As an example, the application program part210may include applications such as an organizer211, a browser212, a media player213, a camera214, a game215and the like. According to an exemplary implementation, the application program part210also includes an application profile manager217for receiving and listing application programs to be deactivated from a user and for generating profile information.

The common API part220provides a program interface for executing system files of a lower layer related to an application program executed by a user.

The middleware part230is a set of program codes executed by commands of the application program. According to the purpose of the operation, the middleware part230can include an application framework231, a user interface framework232, a multimedia framework233, a phone framework244, a messaging framework245, a data communication framework246, a E-mail framework247, a security framework248and the like.

The driver/library part240is used to activate relevant hardware when the application program runs and the relevant hardware is needed.

The hardware part250represents electronic and mechanical elements of the terminal and includes a modem, a media player chip, a vibration motor, a display, a speaker, and so forth.

Through the application profile manager217, the user lists his/her favorite application programs to be activated. Also through the application profile manager217, the user sets the profile and stores the profile in the memory of the terminal. In an exemplary implementation, the user may store a plurality of profiles, wherein each profile is tailored to a specific environment or use, for example a business profile, a personal profile and the like.

When a particular application program of the application program part210is selected to be activated as part of a profile, the terminal loads the framework or module related to the selected application program for display and potential execution by the user. However, the terminal does not load frameworks or modules unrelated to the particular application program in the middleware230. That is, the terminal does not load frameworks for application programs that are not activated as part of the profile.

Except for necessary programs required for the proper execution of the terminal, the terminal does not load application programs and system files unrelated to the generated profile and excludes them from a menu. That is, the terminal deactivates the unrelated applications and system files.

For instance, when the user selects, sets, and stores only the application program of the media player213as a music profile, the terminal only loads the media player213as the application program. The terminal does not load the application programs unselected in the music profile, such as the organizer211, the browser212, the camera214and the game215, and their system files such as middleware, driver and library.

Likewise, when the user selects, sets, and stores the application program of the game215as a game profile, the terminal does not load the application programs unselected in the game profile, such as the organizer211, the browser212, the camera214and the media player213, and their system files such as middleware, driver and library.

FIG. 3is a flowchart illustrating a selective loading method according to an exemplary embodiment of the present invention.

In step310, the terminal is activated, for example by a powering-on operation. Once activated, the terminal analyzes the profile information in step320. The profile information includes the list of application programs to be loaded by the terminal.

In step330, the terminal selectively loads the corresponding module or modules according to the result of the profile information analysis. In more detail, the terminal loads the application programs and their associated system files that are selected in the profile and does not load application programs or their system files that are not selected in the profile, in other words, those that are unrelated to the profile. When the application modules that are selected as part of the profile are loaded, the terminal includes those applications in appropriate menus that may be displayed for the user. Also, the terminal excludes from the menu the application modules that are not selected in the profile. That is, the terminal deactivates the unrelated application programs and their system files. Of course, the selective loading of the appropriate modules does not include the exclusion of programs necessary for the running of the terminal.

Next, the terminal finishes this process.

FIG. 4is a block diagram of a terminal for selective loading according to an exemplary embodiment of the present invention.

The terminal400as illustrated inFIG. 4includes a communication interface410, a controller420, a storage430, an application part440and a system part450.

The communication interface410, which is a module for communicating with other nodes, includes a wireless processing module and a baseband processing module.

The wireless processing module converts a signal received via an antenna to a baseband signal and provides the baseband signal to the baseband processing module. The wireless processing module also converts a baseband signal output from the baseband processing module to a radio signal transmittable over the air and transmits the radio signal via the antenna.

The storage430stores programs for controlling the operations of the terminal and temporary data generated in the program executions. The storage430includes both volatile and non-volatile memory.

The application part440includes application programs such as games, a camera function, a media player, and the like for operating in the terminal. More particularly, the application part440includes an application profile manager442.

The application profile manager442receives the applications that are selected to be activated from the user and generates a profile. The profile can include a list of the application programs to be activated, and a list of middleware, drivers, and libraries related to the activated application programs.

The system part450provides executing conditions for executing the application part440. The system part450includes a middleware part452, a library part454, a driver part456, and a common API part458.

The controller420is responsible for basic processing and controlling of the terminal. For example, the controller420processes and controls data communications and performs typical functions. In addition, the controller420controls the system part450and the application part440. According to the profile information, the controller420does not load the application programs that are not selected as part of the profile. That is, the controller420does not load the application programs to be deactivated and their system files in the operation.

In an exemplary implementation, the controller420can function as the system part450and the application part440and accordingly be provided as an integrated unit including those parts. InFIG. 4, the system part450and the application part440are separately provided to illustrate their respective functions.

In the actual implementation, the controller420may process all or part of the functions of the system part450and the application part440.

Now, an exemplary embodiment of the present invention is described in a case with the application profile manager and in a case without the application profile manager.

FIG. 5is a diagram illustrating an internal platform of a terminal for selective loading according to an exemplary embodiment of the present invention.

The internal platform ofFIG. 5includes an application program part510, a common API part520, a middleware part530, a driver/library part540, and a hardware part550.

The application program part510includes application programs run by the user. The application programs may include an organizer511, a browser512, a media player513, a camera514, a game515and the like. According to another exemplary embodiment of the present invention, the application program part510includes an application profile manager517which receives information from the user regarding application programs that are to be activated or deactivated and generates profiles according to the received information.

The common API part520provides a program interface for executing system files of a lower layer related to the application program. In an exemplary implementation, the common API part520further includes an application program compression service part522which compresses the application program and provides a program interface for the compression and decompression.

The middleware part530includes a set of program codes executed by commands of the application program. According to the purpose of the operation, the middleware part530can include an application framework531, a user interface framework532, a multimedia framework533, a phone framework544, a messaging framework545, a data communication framework546, an E-mail framework547, a security framework548and the like.

The driver/library part540includes programs for driving the hardware that are used to activate the related hardware when the application programs run. In an exemplary implementation, the driver/library part540further includes a memory compressor542for the compression and decompression.

The memory compressor542compresses the application programs, including their system files, which are to be deactivated. The compressed programs and system files are stored in the memory. As appropriate, the memory compressor542also decompresses the compressed programs and files.

The hardware part550represents electronic and mechanical elements of the terminal, and may include a modem, a media player chip, a vibration motor, a display, a speaker, and so forth.

Through the application profile manager517, the user lists his/her favorite application programs, sets and stores them as a separate profile.

When the profile is applied, the mobile communication terminal compresses the application programs that are not part of the profile. That is, the terminal compresses the programs that are to be deactivated, including their system files.

When a specific application program of the application program part510is selected to be activated, the mobile communication terminal compresses frameworks, unrelated to the selected application program, in the middleware part530and the driver/library part540and does not load them in the operation.

Except for programs necessary for its operation, the mobile communication terminal compresses application programs and system files unrelated to the generated profile, does not load them in the operation, and excludes them from the menu. That is, the terminal deactivates the unrelated applications and system files.

For instance, when the user selects only the application program of the media player513and sets and saves it as a music profile, the terminal compresses the application programs unselected in the music profile. That is the terminal compresses the unselected applications such as the camera514and the game515, and their associated system files such as middleware, driver, library and the like and does not load them in the operation.

Likewise, when the user selects the application program of the game515, and sets and saves it as a game profile, the terminal compresses the application programs unselected in the game profile, such as the camera514and the media player513, and their associated system files such as middleware, driver and library, and does not load them in the operation.

Without the application profile manager517, every system file is loaded. In this case, only the application programs to be deactivated can be compressed.

FIG. 6is a flowchart illustrating a profile generating method for selective loading according to an exemplary embodiment of the present invention.

After the mobile communication terminal is activated, a selective loading function is executed in step610. That is, the terminal launches a selective loading function by which the user may select which application programs are to be activated. Launching of the selective loading function and inputting by the user of the selected function may be performed through a menu screen provided by the terminal. The terminal receives one or more application programs selected to be activated in step620.

In step625, the terminal determines if the selected application programs received in step620include programs that were previously deactivated and thus compressed. When it is determined that a previously deactivated item is to be a newly activated item in step625, the terminal proceeds to step660. In step660, the terminal decompresses the corresponding previously compressed application program and its associated system file such as library, driver, middleware and the like that were also compressed, and reconfigures the memory.

In step665, the terminal determines if an application is to be compressed. That is, the terminal determines if an application is not selected and is thus to be deactivated, If there is an application that is not selected, the terminal compresses the application program including its associated system file such as library, driver, middleware and the like and reconfigures the memory in step630.

In step670, the terminal generates a profile including the application program to be activated and its related system file.

By contrast, when it is determined that there is no new item to be activated among the existing deactivated items in step625, the terminal compresses the application programs to be compressed. That is, the terminal compresses the application programs to be deactivated including their associated system files such as library, driver, middleware and the like and reconfigures the memory in step630.

Next, the terminal generates a profile including the application program to be activated and its related system file in step670and then finishes this process.

FIG. 7is a flowchart illustrating a selective loading method according to an exemplary embodiment of the present invention.

In step710, the terminal is activated. After activation, the terminal determines if the profile management function is selected in step715. If the profile management function is selected in step715, the terminal analyzes the profile information in step720. According to the result of the profile information analysis, the terminal selectively loads the application program to be activated and its associated system file in step725.

When the profile management function is not selected in step715, the terminal loads every system file in step730. In the execution of the application program, the terminal compresses other application programs not executing in step740.

Although it is not illustrated inFIG. 7, before the execution of the application program, if the application program has been compressed, it is first decompressed and then executed.

Next, the terminal finishes this process.

FIG. 8is a block diagram of a terminal for selective loading according to an exemplary embodiment of the present invention.

The terminal800as illustrated inFIG. 8includes a communication interface810, a controller820, a storage830, an application part840and a system part850.

The communication interface810, which is a module for communicating with other nodes, includes a wireless processing module and a baseband processing module.

The wireless processing module converts a signal received via an antenna to a baseband signal and provides the baseband signal to the baseband processing module. The wireless processing module also converts a baseband signal output from the baseband processing module to a radio signal transmittable over the air and transmits the radio signal via the antenna.

The storage830stores programs for controlling the operations of the terminal and temporary data generated in the program execution. The storage830includes both volatile and non-volatile memory.

The application part840includes application programs such as a game, a camera, a media player and the like, operating in the terminal. More particularly, the application part840includes an application profile manager842.

The application profile manager842receives the applications that are selected to be activated from the user and generates a profile. The profile can include a list of the application programs to be activated. Based on the list, the application programs to be deactivated and their related system files are compressed.

The system part850provides executing conditions for executing the application part840. The system part850includes a middleware part852, a library part854, a driver part855, a common API part856, and a memory compressor858for the compression.

The memory compressor858compresses application programs to be deactivated and their related system files based on the profile. When the terminal does not provide the profile management function, the memory compressor858compresses unused application programs.

The common API part856further includes an application program compression service part for providing a program interface for the compression function. Namely, the application program compression service part provides the program interface for the compression.

A controller820is responsible for basic processing and controlling of the terminal. For example, the controller820processes and controls data communications and performs typical functions. In addition, the controller820controls the system part850and the application part840. According to the profile information, the controller820does not load the deactivated application programs and their system files in the operation.

When the application profile manager842is not provided, the controller820can control to compress only application programs currently not in the operation.

As constructed above, the controller820can function as the system part850and the application part840. Herein, the system part850and the application part840are separately provided to illustrate their respective functions.

In the actual implementation, the controller820may process all or part of the functions of the system part850and the application part840.

In light of the foregoing, the mobile communication terminal compresses unused application programs and their related system files, rather than loading them in the memory. Therefore, the memory utilization can be enhanced by assigning more memory for data storage and the like.

Additionally, since the unused application programs are deleted from the menu of the user interface, the menu can be simplified. Without having to load all the application programs and the system files, the booting speed can be made quicker.