EP2069960A1 - Apparatus and method for lightweighting application through duplicated application management in osgi middleware environment of embedded terminal - Google Patents

Apparatus and method for lightweighting application through duplicated application management in osgi middleware environment of embedded terminal

Info

Publication number
EP2069960A1
EP2069960A1 EP07768545A EP07768545A EP2069960A1 EP 2069960 A1 EP2069960 A1 EP 2069960A1 EP 07768545 A EP07768545 A EP 07768545A EP 07768545 A EP07768545 A EP 07768545A EP 2069960 A1 EP2069960 A1 EP 2069960A1
Authority
EP
European Patent Office
Prior art keywords
application
osgi
message
native module
service bundle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP07768545A
Other languages
German (de)
French (fr)
Other versions
EP2069960A4 (en
Inventor
Jong-Woo Choi
Oh-Cheon Kwon
Moon-Soo Lee
Myung-Jin Lee
Min-Jung Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Publication of EP2069960A1 publication Critical patent/EP2069960A1/en
Publication of EP2069960A4 publication Critical patent/EP2069960A4/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Definitions

  • the present invention relates to an apparatus and method for lightweighting an application through duplicated application management in an Open Service Gateway Initiative (OSGi) middleware environment of an embedded terminal.
  • OSGi Open Service Gateway Initiative
  • OSGi stands for Open Service Gateway Initiative and is a noncommercial standardization organization established in March 1999. Over 40 members of home appliances/electronics, motors, communication, and Information & Technology (IT) fields are briskly working.
  • the role of OSGi is to make open standards for transferring a service to a local network or device and operating the transferred service.
  • An OSGi service platform is largely interested in three fields: connection and control between services; connection and control between a service and an OSGi middleware, and connection and control between an OSGi middleware and an external service management system.
  • OSGi is a standard based on a Java virtual machine. The Java virtual machine acts as a buffer on differences between heterogeneous embedded Operating System (OS) and Central Processing Unit (CPU).
  • OS embedded Operating System
  • CPU Central Processing Unit
  • An OSGi service is contained in a physical package called a bundle.
  • OSGi services may be contained in a single bundle, and the bundle is a basic unit of distribution and management.
  • OSGi middleware manages bundle(s).
  • the OSGi middleware performs registration/inquiry/execution/uninstall on a service with a service registry.
  • the OSGi middleware also searches for and responds to an event.
  • the event is a logical event based on three event creators, such as a service, a bundle, and a framework without association with a physical event created by a device.
  • OSGi Since OSGi is based on Java, OSGi has the easiness in management and development, and thus, an OSGi service platform is one of competitive service platforms suitable for an advanced service environment.
  • OSGi is Java-oriented. That is, the selection of a Java virtual machine causes a performance decrease due to an overhead of a dynamic execution environment when an application is executed in an embedded terminal environment.
  • UI user interface
  • the execution load is too heavy to execute an application in the embedded terminal environment.
  • restrictions of embedded Java virtual machines limit implementation of applications. For some commercialized embedded Java virtual machines, since a memory address space is physically limited, the number of executable OSGi bundles is limited.
  • the present invention provides an apparatus and method for lightweighting an application in an embedded terminal by separately implementing the application so as to be optimized to each environment through duplicated application management and in- teroperating the separated applications through communication in an Open Service Gateway Initiative (OSGi) middleware environment of the embedded terminal.
  • OSGi Open Service Gateway Initiative
  • the present invention also provides an apparatus and method for separately implementing and lightweighting an application as modules optimized to each environment and removing restrictions of an embedded Java environment by performing duplicated application management using an OSGi-to-native linker and a native integrated manager unlike conventional OSGi middleware.
  • an apparatus for lightweighting an application through duplicated application management in an OSGi middleware environment of an embedded terminal comprising at least one OSGi service bundle and native module operating based on an OSGi framework
  • the apparatus comprising: a linker providing an interface to the OSGI service bundle for implement duplication of the application when executing the application and exchanging a message, which is required to execute the application, with an integrated manager connecting to the native module; the integrated manager providing the interface to implement duplication of the application and exchanging the message with the linker; and a determiner determining whether a native module related to the OSGi service bundle exists and executes an application according to the OSGi service bundle and removes the application if it is determined that the native module exists or determining application execution through the message exchange between the linker and the integrated manager if it is determined that the native module does not exist.
  • a method of lightweighting an application through duplicated application management in an OSGi middleware environment of an embedded terminal comprising: determining whether a native module is included in a received OSGi service bundle; if it is determined that the native module is not included in the received OSGi service bundle, installing, executing, and removing the OSGi service bundle; and if it is determined that the native module is included in the received OSGi service bundle, executing an application in association with the native module.
  • an application can be lightweighted by being separately implemented as modules optimized to each environment.
  • the duplicated application can remove restrictions of a Java environment.
  • the linker and the integrated manager allow the duplication of the application to be easily implemented by providing interfaces for an OSGi bundle and a native module.
  • the duplicated application has compatibility with applications executed on the conventional OSGi middleware. Description of Drawings
  • FlG. 1 is a block diagram of an apparatus for lightweighting an application through duplicated application management in an Open Service Gateway Initiative (OSGi) middleware environment of an embedded terminal according to an embodiment of the present invention
  • OSGi Open Service Gateway Initiative
  • FlG. 2 is a system configuration for exchanging a message between a linker and an integrated manager illustrated in FlG. 1, according to an embodiment of the present invention
  • FlG. 3 is a structure of a message for communication between a linker and an integrated manager illustrated in FlG. 2, according to an embodiment of the present invention.
  • FlG. 4 is a flowchart illustrating a process of processing a lifecycle of an application lightweighted through duplicated application management
  • an apparatus for lightweighting an application through duplicated application management in an OSGi middleware environment of an embedded terminal comprising at least one OSGi service bundle and native module operating based on an OSGi framework
  • the apparatus comprising: a linker providing an interface to the OSGI service bundle for implement duplication of the application when executing the application and exchanging a message, which is required to execute the application, with an integrated manager connecting to the native module; the integrated manager providing the interface to implement duplication of the application and exchanging the message with the linker; and a determiner determining whether a native module related to the OSGi service bundle exists and executes an application according to the OSGi service bundle and removes the application if it is determined that the native module exists or determining application execution through the message exchange between the linker and the integrated manager if it is determined that the native module does not exist.
  • a method of lightweighting an application through duplicated application management in an OSGi middleware environment of an embedded terminal comprising: determining whether a native module is included in a received OSGi service bundle; if it is determined that the native module is not included in the received OSGi service bundle, installing, executing, and removing the OSGi service bundle; and if it is determined that the native module is included in the received OSGi service bundle, executing an application in association with the native module.
  • FlG. 1 is a configuration of an entire system for lightweighting an application through duplicated application management in an Open Service Gateway Initiative (OSGi) middleware environment of an embedded terminal according to an embodiment of the present invention.
  • the system includes a basement terminal hardware 100, an Operating System (OS) 101, a Java virtual machine 110, an OSGi framework 111, an OSGi-to-native linker 112, a plurality of OSGi bundles 113, a native integrated manager 120, and a plurality of native modules 121.
  • the basement terminal hardware 100 denotes an embedded terminal of a cellular phone, a Personal Digital Assistant (PDA), a Digital Multimedia Broadcasting (DMB) terminal, or a telemetics terminal.
  • PDA Personal Digital Assistant
  • DMB Digital Multimedia Broadcasting
  • the OS 101 provides the least environment for executing a program in an embedded terminal and operates the OSGi framework 111 independent to a frame through the Java virtual machine 110.
  • An application can be implemented in two types: a singular type of an OSGi bundle 113; and a duplicated type of an OSGi bundle 113 and a native module 121.
  • the application can be lightweighted by implementing a portion requiring much memory space, such as a User Interface (UI) using a native module 121 or separately implementing application modules so as to be optimized to each environment, and thereby, restrictions of the Java virtual machine 110 can be overcome.
  • UI User Interface
  • FlG. 2 is a system configuration for exchanging a message between application modules using an OSGi-to-native linker 200 and a native integrated manager 210 in order to execute the lightweighted application illustrated in FlG. 1, according to an embodiment of the present invention. Referring to FlG.
  • the system includes the OSGi-to-native linker (hereinafter, linker) 200, the native integrated manager (hereinafter, integrated manager) 210, an OSGi bundle 205, and a native module 215 related to the integrated manager 210, wherein the native module 215 is classified into a stand-alone native module and a passive Dynamic Link Library (DLL) native module.
  • the linker 200 includes a socket server 201, a first message broker 202, a first application manager 203, and a first table 204
  • the integrated manager 210 includes a socket client 211, a second message broker 212, a second application manager 213, and a second table 214.
  • the socket server 201 and the socket client 211 take in charge of communication by forming a communication channel between the linker 200 and the integrated manager 210.
  • Each of the first message broker 202 and the second message broker 212 creates a message to be transmitted and transmits the message through a socket, or analyzes a received message and performs an operation according to the analysis result.
  • Each of the first application manager 203 and the second application manager 213 manages a lifecycle of an application and records a state of the application in the first table 204 or the second table 214.
  • the first application manager 203 and the second application manager 213 exchange a message for managing the lifecycle of the application through the first message broker 202 and the second message broker 212.
  • the OSGi bundle 205 and the native module 215 constituting the application interoperate by exchanging a message. That is, when the message is created and transmitted to the first message broker 202 or the second message broker 212, the first message broker 202 or the second message broker 212 transmits the message to the other party through the socket. The first message broker 202 or the second message broker 212, which has received the message, analyzes the message, determines which module the message is transmitted, and transmits the message to the determined module.
  • FlG. 3 is a structure of a message for communication between thelinker 200 and the integrated manager 210 illustrated in FlG. 2, according to an embodiment of the present invention
  • FlG. 4 is a flowchart illustrating a process of processing a lifecycle of an application lightweighted through duplicated application management according to an embodiment of the present invention.
  • the message has a binary, extensible Markup Language (XML), or Hypertext Markup Language (HTML) format.
  • a message start field 301 and a message end field 304 are located in both ends of the message, and a head field 302 and a body field 303 exist between the message start field 301 and the message end field 304.
  • the head field 302 includes a target field 311, a message type field 312, and a message related parameters field 313.
  • the body field 303 includes a plurality of target related parameters fields 321.
  • a name of the OSGi bundle 205 or the native module 215 to which the message is transmitted is recorded.
  • a message type i.e., a type of a message for managing a lifecycle or a message exchanged between application modules
  • parameters according to the message type field 312 are recorded. If the first message broker 202 or the second message broker 212 analyzes the head field 302 and determines that a target of the message is an application module, the first message broker 202 or the second message broker 212 transmits the body field 303 to the target application module. Since the body field 303 follows an application-related specification, only the application can analyze the body field 303.
  • a lifecycle of an application begins when the application is received to a terminal in a bundle type in which a native module is compressed.
  • An OSGi service bundle is received and decompressed in operation 401. It is determined in operation 402 whether a service- related native module is included in the service bundle. If it is determined in operation 402 that the native module is not included, as well as the prior art, the OSGi service bundle is installed in operation 421, started in operation 422, stopped in operation 423, and uninstalled in operation 424.
  • a name of the native module is detected when the OSGi service bundle is installed in operation 411.
  • the name of the native module is registered in the first table 204 in operation 412.
  • the native module is loaded in operation 413 and registered in the second table 214 in operation 414.
  • the OSGi service bundle is started in operation 415, and the application is executed through communication between the OSGi service bundle and the native module in operation 416.
  • the OSGi service bundle is stopped in operation 417, the interoperation between the OSGi service bundle and the native module is terminated, and when the OSGi service bundle is uninstalled in operation 418, the native module is released in operation 419.
  • the invention can also be embodied as computer readable codes on a computer readable recording medium.
  • the computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Examples of the computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission through the Internet).
  • ROM read-only memory
  • RAM random-access memory
  • CD-ROMs compact discs
  • magnetic tapes magnetic tapes
  • floppy disks optical data storage devices
  • carrier waves such as data transmission through the Internet
  • an application can be lightweighted by being separately implemented as modules optimized to each environment.
  • the duplicated application can remove restrictions of a Java environment.
  • the linker and the integrated manager allow the duplication of the application to be easily implemented by providing interfaces for an OSGi bundle and a native module.
  • the duplicated application has compatibility with applications executed on the conventional OSGi middleware.
  • the present invention relates to an apparatus and method for lightweighting an application through duplicated application management in an Open Service Gateway Initiative (OSGi) middleware environment of an embedded terminal.
  • OSGi Open Service Gateway Initiative

Abstract

Provided is an apparatus and method for lightweighting an application through duplicated application management in an Open Service Gateway Initiative (OSGi) middleware environment of an embedded terminal including at least one OSGi service bundle and native module operating based on an OSGi framework. The apparatus includes: a linker providing an interface to the OSGI service bundle for implement duplication of the application when executing the application and exchanging a message, which is required to execute the application, with an integrated manager connecting to the native module; the integrated manager providing the interface to implement duplication of the application and exchanging the message with the linker; and a determiner determining whether a native module related to the OSGi service bundle exists and executes an application according to the OSGi service bundle and removes the application if it is determined that the native module exists or determining application execution through the message exchange between the linker and the integrated manager if it is determined that the native module does not exist. Accordingly, by duplicating application management using a linker and an integrated manager unlike a conventional OSGi middleware, an application can be lightweighted by being separately implemented as modules optimized to each environment.

Description

Description
APPARATUS AND METHOD FOR LIGHTWEIGHTING APPLICATION THROUGH DUPLICATED APPLICATION MANAGEMENT IN OSGi MIDDLEWARE ENVIRONMENT OF
EMBEDDED TERMINAL
Technical Field
[1] The present invention relates to an apparatus and method for lightweighting an application through duplicated application management in an Open Service Gateway Initiative (OSGi) middleware environment of an embedded terminal. Background Art
[2] OSGi stands for Open Service Gateway Initiative and is a noncommercial standardization organization established in March 1999. Over 40 members of home appliances/electronics, motors, communication, and Information & Technology (IT) fields are briskly working. The role of OSGi is to make open standards for transferring a service to a local network or device and operating the transferred service. An OSGi service platform is largely interested in three fields: connection and control between services; connection and control between a service and an OSGi middleware, and connection and control between an OSGi middleware and an external service management system. OSGi is a standard based on a Java virtual machine. The Java virtual machine acts as a buffer on differences between heterogeneous embedded Operating System (OS) and Central Processing Unit (CPU).
[3] An OSGi service is contained in a physical package called a bundle. A plurality of
OSGi services may be contained in a single bundle, and the bundle is a basic unit of distribution and management. OSGi middleware manages bundle(s). The OSGi middleware performs registration/inquiry/execution/uninstall on a service with a service registry. The OSGi middleware also searches for and responds to an event. The event is a logical event based on three event creators, such as a service, a bundle, and a framework without association with a physical event created by a device.
[4] Since OSGi is based on Java, OSGi has the easiness in management and development, and thus, an OSGi service platform is one of competitive service platforms suitable for an advanced service environment. However, the biggest problem of OSGi is derived from the fact that OSGi is Java-oriented. That is, the selection of a Java virtual machine causes a performance decrease due to an overhead of a dynamic execution environment when an application is executed in an embedded terminal environment. In addition, if a user interface (UI) is implemented using graphic libraries provided by Java, since too much memory space is required as compared to imple- mentation of a native type UI, the execution load is too heavy to execute an application in the embedded terminal environment. In addition, restrictions of embedded Java virtual machines limit implementation of applications. For some commercialized embedded Java virtual machines, since a memory address space is physically limited, the number of executable OSGi bundles is limited.
[5] Similar conventional patents are 'Method and Apparatus for Efficiently Managing M emory in Object-Oriented Application (Korean Patent Application No. 10-2004-0070939)', 'Application Management System and Method (Korean Patent Application No. 10-2003-0000058)', and 'Method, System and Program Product for Controlling Native Applications Using Open Service Gateway Initiative (OSGi) Bundles (US Pat. Publication No. 2005/0193388)'. However, the conventional patents cope with application management rather than an application design method and does not provide a method of lightweighting an application on OSGi middleware. Disclosure of Invention Technical Problem
[6] The present invention provides an apparatus and method for lightweighting an application in an embedded terminal by separately implementing the application so as to be optimized to each environment through duplicated application management and in- teroperating the separated applications through communication in an Open Service Gateway Initiative (OSGi) middleware environment of the embedded terminal.
[7] The present invention also provides an apparatus and method for separately implementing and lightweighting an application as modules optimized to each environment and removing restrictions of an embedded Java environment by performing duplicated application management using an OSGi-to-native linker and a native integrated manager unlike conventional OSGi middleware. Technical Solution
[8] According to an aspect of the present invention, there is provided an apparatus for lightweighting an application through duplicated application management in an OSGi middleware environment of an embedded terminal comprising at least one OSGi service bundle and native module operating based on an OSGi framework, the apparatus comprising: a linker providing an interface to the OSGI service bundle for implement duplication of the application when executing the application and exchanging a message, which is required to execute the application, with an integrated manager connecting to the native module; the integrated manager providing the interface to implement duplication of the application and exchanging the message with the linker; and a determiner determining whether a native module related to the OSGi service bundle exists and executes an application according to the OSGi service bundle and removes the application if it is determined that the native module exists or determining application execution through the message exchange between the linker and the integrated manager if it is determined that the native module does not exist.
[9] According to another aspect of the present invention, there is provided a method of lightweighting an application through duplicated application management in an OSGi middleware environment of an embedded terminal, the method comprising: determining whether a native module is included in a received OSGi service bundle; if it is determined that the native module is not included in the received OSGi service bundle, installing, executing, and removing the OSGi service bundle; and if it is determined that the native module is included in the received OSGi service bundle, executing an application in association with the native module. Advantageous Effects
[10] As described above, according to the present invention, by duplicating application management using a linker and an integrated manager unlike a conventional OSGi middleware, an application can be lightweighted by being separately implemented as modules optimized to each environment. The duplicated application can remove restrictions of a Java environment. The linker and the integrated manager allow the duplication of the application to be easily implemented by providing interfaces for an OSGi bundle and a native module. In addition, the duplicated application has compatibility with applications executed on the conventional OSGi middleware. Description of Drawings
[11] FlG. 1 is a block diagram of an apparatus for lightweighting an application through duplicated application management in an Open Service Gateway Initiative (OSGi) middleware environment of an embedded terminal according to an embodiment of the present invention;
[12] FlG. 2 is a system configuration for exchanging a message between a linker and an integrated manager illustrated in FlG. 1, according to an embodiment of the present invention;
[13] FlG. 3 is a structure of a message for communication between a linker and an integrated manager illustrated in FlG. 2, according to an embodiment of the present invention; and
[14] FlG. 4 is a flowchart illustrating a process of processing a lifecycle of an application lightweighted through duplicated application management
[15] according to an embodiment of the present invention.
Best Mode
[16] According to an aspect of the present invention, there is provided an apparatus for lightweighting an application through duplicated application management in an OSGi middleware environment of an embedded terminal comprising at least one OSGi service bundle and native module operating based on an OSGi framework, the apparatus comprising: a linker providing an interface to the OSGI service bundle for implement duplication of the application when executing the application and exchanging a message, which is required to execute the application, with an integrated manager connecting to the native module; the integrated manager providing the interface to implement duplication of the application and exchanging the message with the linker; and a determiner determining whether a native module related to the OSGi service bundle exists and executes an application according to the OSGi service bundle and removes the application if it is determined that the native module exists or determining application execution through the message exchange between the linker and the integrated manager if it is determined that the native module does not exist.
[17] According to another aspect of the present invention, there is provided a method of lightweighting an application through duplicated application management in an OSGi middleware environment of an embedded terminal, the method comprising: determining whether a native module is included in a received OSGi service bundle; if it is determined that the native module is not included in the received OSGi service bundle, installing, executing, and removing the OSGi service bundle; and if it is determined that the native module is included in the received OSGi service bundle, executing an application in association with the native module. Mode for Invention
[18] Hereinafter, the present invention will be described in detail by explaining preferred embodiments of the invention with reference to the attached drawings.
[19] FlG. 1 is a configuration of an entire system for lightweighting an application through duplicated application management in an Open Service Gateway Initiative (OSGi) middleware environment of an embedded terminal according to an embodiment of the present invention. Referring to FlG. 1, the system includes a basement terminal hardware 100, an Operating System (OS) 101, a Java virtual machine 110, an OSGi framework 111, an OSGi-to-native linker 112, a plurality of OSGi bundles 113, a native integrated manager 120, and a plurality of native modules 121. The basement terminal hardware 100 denotes an embedded terminal of a cellular phone, a Personal Digital Assistant (PDA), a Digital Multimedia Broadcasting (DMB) terminal, or a telemetics terminal. The OS 101 provides the least environment for executing a program in an embedded terminal and operates the OSGi framework 111 independent to a frame through the Java virtual machine 110. An application can be implemented in two types: a singular type of an OSGi bundle 113; and a duplicated type of an OSGi bundle 113 and a native module 121. For an application in the duplicated type of an OSGi bundle 113 and a native module 121, the application can be lightweighted by implementing a portion requiring much memory space, such as a User Interface (UI) using a native module 121 or separately implementing application modules so as to be optimized to each environment, and thereby, restrictions of the Java virtual machine 110 can be overcome. When the lightweighted application is executed, the OSGi bundle 113 and the native module 121 work together, and this process is managed by the OSGi-to-native linker 112 and the native integrated manager 120 through a message exchange. In addition the OSGi-to-native linker 112 and the native integrated manager 120 allows the duplication of the application to be easily implemented by providing interfaces for the OSGi bundle 113 and the native module 121. [20] FlG. 2 is a system configuration for exchanging a message between application modules using an OSGi-to-native linker 200 and a native integrated manager 210 in order to execute the lightweighted application illustrated in FlG. 1, according to an embodiment of the present invention. Referring to FlG. 2, the system includes the OSGi-to-native linker (hereinafter, linker) 200, the native integrated manager (hereinafter, integrated manager) 210, an OSGi bundle 205, and a native module 215 related to the integrated manager 210, wherein the native module 215 is classified into a stand-alone native module and a passive Dynamic Link Library (DLL) native module. The linker 200 includes a socket server 201, a first message broker 202, a first application manager 203, and a first table 204, and the integrated manager 210 includes a socket client 211, a second message broker 212, a second application manager 213, and a second table 214. The socket server 201 and the socket client 211 take in charge of communication by forming a communication channel between the linker 200 and the integrated manager 210. Each of the first message broker 202 and the second message broker 212 creates a message to be transmitted and transmits the message through a socket, or analyzes a received message and performs an operation according to the analysis result. Each of the first application manager 203 and the second application manager 213 manages a lifecycle of an application and records a state of the application in the first table 204 or the second table 214. The first application manager 203 and the second application manager 213 exchange a message for managing the lifecycle of the application through the first message broker 202 and the second message broker 212. The OSGi bundle 205 and the native module 215 constituting the application interoperate by exchanging a message. That is, when the message is created and transmitted to the first message broker 202 or the second message broker 212, the first message broker 202 or the second message broker 212 transmits the message to the other party through the socket. The first message broker 202 or the second message broker 212, which has received the message, analyzes the message, determines which module the message is transmitted, and transmits the message to the determined module.
[21] A method of managing a duplicated application in an OSGi middleware environment of an embedded terminal will now be described with reference to FIGS. 3 and 4. FlG. 3 is a structure of a message for communication between thelinker 200 and the integrated manager 210 illustrated in FlG. 2, according to an embodiment of the present invention, and FlG. 4 is a flowchart illustrating a process of processing a lifecycle of an application lightweighted through duplicated application management according to an embodiment of the present invention.
[22] Referring to FlG. 3, the message has a binary, extensible Markup Language (XML), or Hypertext Markup Language (HTML) format. A message start field 301 and a message end field 304 are located in both ends of the message, and a head field 302 and a body field 303 exist between the message start field 301 and the message end field 304. The head field 302 includes a target field 311, a message type field 312, and a message related parameters field 313. The body field 303 includes a plurality of target related parameters fields 321. When the message is received, the first message broker 202 or the second message broker 212 analyzes the head field 302. In the target field 311 , a name of the OSGi bundle 205 or the native module 215 to which the message is transmitted is recorded. In the message type field 312, a message type, i.e., a type of a message for managing a lifecycle or a message exchanged between application modules, is recorded. In the message related parameters field 313, parameters according to the message type field 312 are recorded. If the first message broker 202 or the second message broker 212 analyzes the head field 302 and determines that a target of the message is an application module, the first message broker 202 or the second message broker 212 transmits the body field 303 to the target application module. Since the body field 303 follows an application-related specification, only the application can analyze the body field 303.
[23] How to process a lifecycle in which an application is installed, started, stopped after the application is completed, and uninstalled through duplicated application management will now be described with reference to FlG. 4. A lifecycle of an application begins when the application is received to a terminal in a bundle type in which a native module is compressed. An OSGi service bundle is received and decompressed in operation 401. It is determined in operation 402 whether a service- related native module is included in the service bundle. If it is determined in operation 402 that the native module is not included, as well as the prior art, the OSGi service bundle is installed in operation 421, started in operation 422, stopped in operation 423, and uninstalled in operation 424.
[24] If it is determined in operation 402 that the native module is included, a name of the native module is detected when the OSGi service bundle is installed in operation 411. The name of the native module is registered in the first table 204 in operation 412. The native module is loaded in operation 413 and registered in the second table 214 in operation 414. The OSGi service bundle is started in operation 415, and the application is executed through communication between the OSGi service bundle and the native module in operation 416. When the OSGi service bundle is stopped in operation 417, the interoperation between the OSGi service bundle and the native module is terminated, and when the OSGi service bundle is uninstalled in operation 418, the native module is released in operation 419.
[25] The invention can also be embodied as computer readable codes on a computer readable recording medium. The computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Examples of the computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission through the Internet). The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
[26] As described above, according to the present invention, by duplicating application management using a linker and an integrated manager unlike a conventional OSGi middleware, an application can be lightweighted by being separately implemented as modules optimized to each environment. The duplicated application can remove restrictions of a Java environment. The linker and the integrated manager allow the duplication of the application to be easily implemented by providing interfaces for an OSGi bundle and a native module. In addition, the duplicated application has compatibility with applications executed on the conventional OSGi middleware.
[27] While this invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. The preferred embodiments should be considered in descriptive sense only and not for purposes of limitation. Therefore, the scope of the invention is defined not by the detailed description of the invention but by the appended claims, and all differences within the scope will be construed as being included in the present invention. Industrial Applicability
[28] The present invention relates to an apparatus and method for lightweighting an application through duplicated application management in an Open Service Gateway Initiative (OSGi) middleware environment of an embedded terminal.

Claims

Claims
[1] An apparatus for lightweighting an application through duplicated application management in an Open Service Gateway Initiative (OSGi) middleware environment of an embedded terminal comprising at least one OSGi service bundle and native module operating based on an OSGi framework, the apparatus comprising: a linker providing an interface to the OSGI service bundle for implement duplication of the application when executing the application and exchanging a message, which is required to execute the application, with an integrated manager connecting to the native module; the integrated manager providing the interface to implement duplication of the application and exchanging the message with the linker; and a determiner determining whether a native module related to the OSGi service bundle exists and executes an application according to the OSGi service bundle and uninstalls the application if it is determined that the native module exists or determining application execution through the message exchange between the linker and the integrated manager if it is determined that the native module does not exist.
[2] The apparatus of claim 1, wherein the linker comprises: a socket server forming a communication channel with the integrated manager; a first message broker creating and transmitting the message, or analyzing a message received from the integrated manager and transmitting the message to a relevant module; a first application manager managing information containing a lifecycle of the application; and a first table storing the information.
[3] The apparatus of claim 1, wherein the integrated manager comprises: a socket client forming a communication channel with the linker; a second message broker creating and transmitting the message, or analyzing a message received from the linker and transmitting the message to a relevant module; a second application manager managing information containing a lifecycle of the application; and a second table storing the information.
[4] The apparatus of one of claims 1 through 3, wherein the message has a binary, extensible Markup Language (XML), or Hypertext Markup Language (HTML) format.
[5] A method of lightweighting an application through duplicated application management in an Open Service Gateway Initiative (OSGi) middleware environment of an embedded terminal, the method comprising: determining whether a native module is included in a received OSGi service bundle; installing, executing, and removing the OSGi service bundle, if it is determined that the native module is not included in the received OSGi service bundle; and executing an application in association with the native module if it is determined that the native module is included in the received OSGi service bundle.
[6] The method of claim 5, wherein executing the application comprises providing an interface for duplication to the OSGi service bundle and the native module and creating and exchanging a message required to execute the application when the application is executed.
[7] The method of claim 6, wherein providing the interface and creating and exchanging the message comprises: forming a communication channel between the OSGi service bundle and the native module; installing the OSGi service bundle, detecting a name of the native module, and registering the name of the native module in a first table; executing the native module and registering the native module in a second table; analyzing the transmitted and received message and transmitting the message to a relevant module; when the OSGi service bundle is stopped, terminating the native module and removing the native module from the first and second table; and uninstalling the OSGi service bundle.
[8] The method of claim 6 or 7, wherein the message has a binary, extensible
Markup Language (XML), or Hypertext Markup Language (HTML) format.
[9] A computer readable recording medium storing a computer readable program for executing a method of lightweighting an application through duplicated application management in an Open Service Gateway Initiative (OSGi) middleware environment of an embedded terminal, the method comprising: determining whether a native module is included in a received OSGi service bundle; if it is determined that the native module is not included in the received OSGi service bundle, installing, executing, and removing the OSGi service bundle; and if it is determined that the native module is included in the received OSGi service bundle, executing an application in association with the native module.
EP07768545A 2006-09-14 2007-06-29 Apparatus and method for lightweighting application through duplicated application management in osgi middleware environment of embedded terminal Withdrawn EP2069960A4 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060089261A KR100833494B1 (en) 2006-09-14 2006-09-14 Apparatus for lightweighting application through duplicating management of application in environment of OSGi middleware for embedded terminal and method thereof
PCT/KR2007/003174 WO2008032922A1 (en) 2006-09-14 2007-06-29 Apparatus and method for lightweighting application through duplicated application management in osgi middleware environment of embedded terminal

Publications (2)

Publication Number Publication Date
EP2069960A1 true EP2069960A1 (en) 2009-06-17
EP2069960A4 EP2069960A4 (en) 2011-01-19

Family

ID=39183947

Family Applications (1)

Application Number Title Priority Date Filing Date
EP07768545A Withdrawn EP2069960A4 (en) 2006-09-14 2007-06-29 Apparatus and method for lightweighting application through duplicated application management in osgi middleware environment of embedded terminal

Country Status (3)

Country Link
EP (1) EP2069960A4 (en)
KR (1) KR100833494B1 (en)
WO (1) WO2008032922A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5206257B2 (en) * 2008-09-09 2013-06-12 株式会社リコー Information processing apparatus, program start method, start program
EP2184904B1 (en) * 2008-11-06 2017-09-13 Alcatel Lucent Method for automatically installing and configuring application and services on devices which comprise lifecycle management functionalities and corresponding client premises equipments, auto configuration server and module
KR100943126B1 (en) * 2009-02-10 2010-02-18 주식회사 아레오네트웍스 Update method for application, modular wireless application framework and recording medium
CN102291438A (en) * 2011-07-27 2011-12-21 东莞中山大学研究院 Support platform of intelligent digital media gateway
JP5882436B1 (en) * 2014-11-07 2016-03-09 西日本電信電話株式会社 Communication device
US9389929B1 (en) 2015-03-24 2016-07-12 International Business Machines Corporation Granular event management for service platforms

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040194059A1 (en) * 2003-03-27 2004-09-30 International Business Machines Corporation Method to deploy software using an open service gateway initiative (OSGi) framework
US20050193388A1 (en) * 2004-02-26 2005-09-01 International Business Machines Corporation Method, system and program product for controlling native applications using open service gateway initiative (OSGi) bundles
US20050223101A1 (en) * 2004-03-22 2005-10-06 International Business Machines Corporation Computer-implemented method, system and program product for resolving prerequisites for native applications utilizing an open service gateway initiative ( OSGi) framework

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100370548B1 (en) * 2000-09-14 2003-02-05 (주)마하넷 Realtime Middleware apparatus providing an integrated software development frameworks of embedded system and its service method
KR100486853B1 (en) * 2002-10-11 2005-05-03 한국전자통신연구원 Emergency messaging service system using home server built in OSGi service platform and method thereof
KR100584712B1 (en) * 2003-12-26 2006-05-30 한국전자통신연구원 Apparatus for Homenetwork Middleware Interoperability Service using Home gateway and OSGi Platform and method thereof
KR101008977B1 (en) * 2004-02-25 2011-01-17 삼성전자주식회사 Method of testing OSGi service platform and test tool thereof
KR100636380B1 (en) * 2004-12-17 2006-10-19 한국전자통신연구원 Homenetwork Universal Middleware Bridge System and Method for home device's Interoperability in Heterogeneous Home Network Middleware
US20060252406A1 (en) * 2005-04-25 2006-11-09 Nokia Corporation System and method for providing bundle group termination in an OSGi service platform
KR20060135339A (en) * 2005-06-24 2006-12-29 엘지전자 주식회사 Apparatus and method for communicating between different kinds of process in embedded system
WO2007066843A1 (en) * 2005-12-08 2007-06-14 Electronics And Telecommunications Research Institute Osgi-based dynamic service management method for context-aware systems
KR100751456B1 (en) * 2006-03-24 2007-08-23 한국정보통신대학교 산학협력단 OSGi SERVICE FLATFORM AND METHOD FOR OFFERING SERVICE USING BY IT
KR100751449B1 (en) * 2006-03-24 2007-08-23 한국정보통신대학교 산학협력단 STUB BUNDLE PRODUCTION METHOD BASED OSGi SERVICE PLATFORM
KR20080016161A (en) * 2006-08-17 2008-02-21 주식회사 렉터슨 Home gateway for controlling different brand devices in a home network system using the power line communication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040194059A1 (en) * 2003-03-27 2004-09-30 International Business Machines Corporation Method to deploy software using an open service gateway initiative (OSGi) framework
US20050193388A1 (en) * 2004-02-26 2005-09-01 International Business Machines Corporation Method, system and program product for controlling native applications using open service gateway initiative (OSGi) bundles
US20050223101A1 (en) * 2004-03-22 2005-10-06 International Business Machines Corporation Computer-implemented method, system and program product for resolving prerequisites for native applications utilizing an open service gateway initiative ( OSGi) framework

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JOSEL RUIZ ET AL: "A Framework for Resolution of Deployment Dependencies in Java-Enabled Service Gateways", 9 March 2004 (2004-03-09), SCIENTIFIC ENGINEERING OF DISTRIBUTED JAVA APPLICATIONS; [LECTURE NOTES IN COMPUTER SCIENCE;;LNCS], SPRINGER-VERLAG, BERLIN/HEIDELBERG, PAGE(S) 1 - 11, XP019002396, ISBN: 978-3-540-21091-7 * the whole document * *
See also references of WO2008032922A1 *

Also Published As

Publication number Publication date
KR100833494B1 (en) 2008-05-29
WO2008032922A1 (en) 2008-03-20
EP2069960A4 (en) 2011-01-19
KR20080024751A (en) 2008-03-19

Similar Documents

Publication Publication Date Title
US7900214B2 (en) System and method for adaptable provisioning of generic application content
US8010973B2 (en) Class loader for managing a network
US8286194B2 (en) Coupling state aware systems
WO2008032922A1 (en) Apparatus and method for lightweighting application through duplicated application management in osgi middleware environment of embedded terminal
US6865732B1 (en) Providing an embedded application specific web server
US8387039B2 (en) System and method for customized provisioning of application content
EP2341692B1 (en) Communication between integrated device and mobile application client on mobile personal communication device
US20130290425A1 (en) Method for a connector providing transactional interoperability to multiple messaging providers to multiple application servers using the same implementation
KR100586866B1 (en) Apparatus and method for sharing services on network
CN112149169A (en) Application access method and device and computer readable storage medium
US7043726B2 (en) Binding of processes in network systems
US6842905B2 (en) Method and system for implementing collection program interface for accessing a collection of data associated with a legacy enumeration application interface
EP2097848A2 (en) Method, system and computer program for monitoring components in a service framework
JP3986721B2 (en) Software module dynamic exchange method and software module dynamic exchange program recording medium
US7784064B2 (en) Method for collecting monitor information
CN112035270A (en) Interface adaptation method, system, device, computer readable medium and electronic equipment
US20060106915A1 (en) Apparatus for providing service in response to user request and method therefor
Kadowaki et al. Design and implementation of adaptive jini system to support undefined services
JP4536292B2 (en) Network system, server, client, inter-object communication method, profile object registration method, program, and storage medium
CN101324900A (en) Method, device and system for opening graphics user interface
CN117176568A (en) Deployment method and device of single-core operating system based on edge removal vehicle in server-free frame
JP2006127399A (en) Application platform provision system, method, and program for it
Wang et al. Runtime Software Architecture Based Software Evolution And Adaptation
Handorean et al. Automated code management for service oriented computing in ad hoc networks
EP1560114A1 (en) Computer system and method for customized provisioning of application content

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20090414

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC MT NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR MK RS

A4 Supplementary search report drawn up and despatched

Effective date: 20101220

RIC1 Information provided on ipc code assigned before grant

Ipc: G06F 9/445 20060101ALI20101214BHEP

Ipc: G06F 17/00 20060101AFI20080414BHEP

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20110318