WO2009136740A2 - OSGi 서비스 플랫폼에 원격으로 설치된 번들에 대한 바인딩 정보를 관리하는 방법 및 장치 - Google Patents

OSGi 서비스 플랫폼에 원격으로 설치된 번들에 대한 바인딩 정보를 관리하는 방법 및 장치 Download PDF

Info

Publication number
WO2009136740A2
WO2009136740A2 PCT/KR2009/002394 KR2009002394W WO2009136740A2 WO 2009136740 A2 WO2009136740 A2 WO 2009136740A2 KR 2009002394 W KR2009002394 W KR 2009002394W WO 2009136740 A2 WO2009136740 A2 WO 2009136740A2
Authority
WO
WIPO (PCT)
Prior art keywords
bundle
control device
identifier
event
binding information
Prior art date
Application number
PCT/KR2009/002394
Other languages
English (en)
French (fr)
Other versions
WO2009136740A3 (ko
Inventor
정동신
카나케샤바 스리칸쓰시다푸르
Original Assignee
삼성전자 주식회사
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 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to EP09742846.0A priority Critical patent/EP2275944B1/en
Priority to KR1020117000461A priority patent/KR101533283B1/ko
Priority to CN200980126291.6A priority patent/CN102089749B/zh
Publication of WO2009136740A2 publication Critical patent/WO2009136740A2/ko
Publication of WO2009136740A3 publication Critical patent/WO2009136740A3/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5058Service discovery by the service manager
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2814Exchanging control software or macros for controlling appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • H04L12/2825Reporting to a device located outside the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2834Switching of information between an external network and a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications

Definitions

  • the present invention relates to an Open Service Gateway initiative (OSGi), and more particularly, to a method for an OSGi-based controlled device to manage a bundle remotely installed by a control device.
  • OSGi Open Service Gateway initiative
  • Open Service Gateway initiative may be used as a representative technology for providing such an execution environment.
  • the Open Service Gateway initiative is a technology for dynamically installing and executing new services on network devices.
  • the control devices belonging to the network are remotely bundled to the controlled devices on which the OSGi service platform is built. You can install it and use the services provided by the bundle.
  • a bundle is a basic unit of distribution and management in a network and includes at least one OSGi service, and bundles are managed by an OSGi framework.
  • the OSGi framework provides a standardized execution environment for various applications (bundles).
  • the basic concepts of OSGi are well known to those skilled in the art, and a detailed description thereof is described in various OSGi Release documents.
  • the current OSGi technology does not provide a mechanism for mapping and managing a bundle remotely installed from the OSGi service platform and a control device in which the bundle is installed.
  • FIG. 1 is a flowchart illustrating a process of generating binding information according to an embodiment of the present invention.
  • FIG. 2 is a flowchart illustrating a process in which a controlled device operates when a bundle is stopped according to an embodiment of the present invention.
  • FIG. 3 is a flowchart illustrating a process of releasing an event subscription of a control device according to an embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating a process in which a controlled device operates when a bundle is removed according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a process of operating a controlled device when the control device is disconnected from the network according to an embodiment of the present invention.
  • FIG. 6 is a structural diagram of a controlled device according to an embodiment of the present invention.
  • FIG. 7A and 7B are flowcharts illustrating a process of generating binding information according to an embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a process of notifying an event when a bundle is stopped according to an embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating a process of notifying an event when a bundle is removed according to an embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating a process of unsubscribing to an event according to an embodiment of the present invention.
  • 11 is a flowchart illustrating a process of deleting binding information when the control device is disconnected from the network according to an embodiment of the present invention.
  • the present invention provides an apparatus and method for efficiently managing a bundle installed by an OSGi-based controlled device remotely through a network.
  • the controlled device When the control device is abnormally terminated, the controlled device automatically deletes binding information about the control device, thereby reducing unnecessary transmission of an event message.
  • the controlled device on which the OSGi service platform is built may use the binding information to identify the control devices that should notify the life cycle change of the bundle installed in the OSGi framework.
  • a controlled device based on an Open Service Gateway initiative (OSGi) manages a bundle remotely installed by a control device
  • OSGi Open Service Gateway initiative
  • a predetermined service provided by the bundle is registered in an OSGi service registry.
  • Generating a binding information for mapping the bundle and the control device through the service as a service event indicating that the message has been generated is generated; And notifying the control device of an event relating to a change in the lifecycle of the bundle by using the generated binding information.
  • the bundle management method may further include storing the identifier in an area which is not erased even when the bundle is removed when the bundle is uninstalled from the control device, and notifying the event. And when a bundle event indicating that the bundle has been removed, notifying the bundle event to the control device with reference to the stored identifier.
  • the bundle management method may further include deleting the identifier from the bundle property through the service when an event unsubscribe request for the bundle is received from the control device.
  • the bundle management method may further include: searching for bundles whose bundles include the identifier in bundle properties of an OSGi framework when it is detected that the control device is disconnected from a network; And deleting the identifier from bundle properties of the found bundles through predetermined services provided by each of the found bundles.
  • the generating of the binding information may include: when an action invocation message or an event subscribe request message received from the control device includes an identifier of another control device together with an identifier of the control device, It is preferable to add all of the identifiers to the bundle property through a service.
  • the identifier may be a universal resource identifier (URI) of the control device.
  • URI universal resource identifier
  • the present invention also provides a recording medium on which a computer program for executing the bundle management method is recorded.
  • a service event is generated that the predetermined service provided by the bundle is registered in the OSGi service registry Accordingly, a binding information management unit for generating binding information for mapping the bundle and the control device through the service; And an event notification unit for notifying the control device of an event regarding a change in the lifecycle of the bundle by using the generated binding information.
  • the binding information manager may add an identifier of the control device to a bundle property of the bundle through the service.
  • the apparatus may further include a binding information backup unit configured to store the identifier in an area which is not erased even when the bundle is removed when the bundle is uninstalled from the control device.
  • the event notification unit may include: As a bundle event indicating that the bundle has been removed, the bundle event may be notified to the control device by referring to the stored identifier.
  • the binding information management unit may delete the identifier from the bundle property through the service as an event unsubscribe request for the bundle is received from the control device.
  • the device may further include a searcher for searching for bundles including the identifier in a bundle property among bundles of an OSGi framework when the control device is disconnected from the network.
  • the binding information manager may include: The identifier may be deleted from bundle properties of the found bundles through predetermined services provided by each of the found bundles.
  • the binding information management unit when the action invocation message or event subscription request message received from the control device includes the identifier of the other control device together with the identifier of the control device, through the service All of the identifiers may be added to the bundle property.
  • the identifier may be a universal resource identifier (URI) of the control device.
  • URI universal resource identifier
  • a computer-readable storage medium having recorded thereon a program for executing a bundle management method executed by an OSGi-based controlled device, the computer provides the bundle.
  • the binding information is information mapped between a bundle installed in the OSGi framework of the controlled device and a control device interested in the bundle, that is, a control device that needs to be notified of a bundle event about a life cycle change of the bundle. Can be defined.
  • a control device that is interested in a bundle will generally be the control device that installed the bundle, but other control devices may need to be notified of a change in status for the bundle. Therefore, a plurality of control devices may be mapped to one bundle according to a user's decision.
  • control device 101 remotely installs a bundle in the OSGi framework of the controlled device via a network (101).
  • the bundle is started at the request of the control device (102).
  • DBS Device Binding Service
  • OSGi Service Registry the Device Binding Service Registry.
  • DBS is a name of a service newly proposed in the present invention, and DBS manages binding information of a bundle installed in an OSGi framework (103).
  • binding information is generated using a DBS (104). That is, the DBS registered in the OSGi service registry of the controlled device provides an API for generating binding information.
  • This binding information generation process may be a process of adding an identifier of a control device in which a corresponding bundle is installed to a bundle property through the DBS API.
  • a bundle property is a file that stores various information about the bundle. If the bundle property contains the identifier of the control device, it can identify the control device that installed the bundle. Therefore, the identifier of the control device included in the bundle property of a specific bundle maps the control device corresponding to the bundle and identifier. It can be seen as binding information.
  • the identifier of the control device included in the bundle property is binding information.
  • the binding information can be in various forms, and the binding information is stored in another area besides the bundle property. It could be.
  • binding information is generated when a bundle is started, but binding information may be generated at another step according to an implementation example.
  • the control protocol between the control device and the controlled device is UPnP (Universal Plug and Play)
  • the controlled device receives a UPnP control message or a UPnP event subscription request message requesting a specific action from the control device. In this case, you will be able to generate binding information.
  • the controlled device when the action call message or the event subscription request message includes an identifier of another control device, the controlled device generates binding information in which two control devices are mapped to one bundle. For example, two identifiers can be added to the bundle property of the bundle. There may be more than one control device mapped to one bundle.
  • the identifier of the control device may be a URI (Universal Resource Identifier) of the control device.
  • URI Universal Resource Identifier
  • FIG. 2 is a flowchart illustrating a process of operating a controlled device when a bundle is stopped according to an embodiment of the present invention.
  • a bundle event occurs, indicating that the bundle has stopped (201).
  • the OSGi framework notifies an event listener of a bundle event whenever the bundle's lifecycle changes.
  • the controlled device extracts an identifier of the controller device that remotely installed the bundle from the bundle property of the stopped bundle (202).
  • the controlled device notifies the controller device of the bundle event with reference to the extracted identifier (203).
  • the OSGi-based controlled device can determine which control device to notify the bundle event by managing binding information in which the bundle installed in the OSGi framework and the identifier of the control device interested in the bundle are mapped.
  • FIG. 3 is a flowchart illustrating a process of releasing an event subscription according to an embodiment of the present invention.
  • the controlled device receives an event unsubscribe request for a specific bundle from the controlling device (301).
  • the controlled device deletes the identifier of the controller device from the bundle registry of the bundle through the DBS of the bundle (302).
  • FIG. 4 is a flowchart illustrating a process of operating a controlled device when a bundle is uninstalled according to an embodiment of the present invention.
  • the controlled device receives a bundle removal request from the controller device (401).
  • the controlled device extracts an identifier of the controller device from the bundle property of the bundle requested to be removed (402).
  • the controlled device stores the extracted identifier in an area that is not erased even when the bundle is removed (403). This process backs up the identifier of the control unit before the bundle is removed. Since bundle properties cannot be referenced after a bundle has been removed, you should back up the identifier before the bundle is removed. Otherwise, it is difficult to know which control device should notify the bundle event that the bundle has been removed.
  • a bundle event occurs, indicating that the bundle has been removed (404).
  • the controlled device notifies of the bundle event to the controller device by referring to the stored identifier of the controller device (405).
  • FIG. 5 is a flowchart illustrating a process of operating a controlled device when the control device is disconnected from the network according to an embodiment of the present invention.
  • FIG. 4 illustrates a process of a case in which the control device normally leaves the network
  • FIG. 5 illustrates a case in which the control device terminates abnormally without requesting to unsubscribe from an event.
  • the controlled device detects that the control device is disconnected from the network (501).
  • the controlled device searches for among bundles installed in the OGSi framework, bundles including an identifier of the controller device in a bundle property (502).
  • the controlled device deletes an identifier of the controller device from bundle properties of the found bundles by using DBSs of the found bundles (503).
  • the controlled device deletes the binding information associated with the control device as the control device leaves the network, and thus does not need to transmit an unnecessary event message when an event related to the life cycle of the bundle occurs.
  • FIG. 6 is a structural diagram of a controlled device according to an embodiment of the present invention.
  • the controlled device 600 includes an OSGi framework 601, a binding information management unit 602, an event notification unit 603, a binding information backup unit 604, a search unit 605, and the like.
  • the OSGi framework 601 is well known to those skilled in the art, and the description thereof is described in the OSGi standard document, and thus the description is omitted here.
  • the network interface module 606 processes the control protocol between the control device and the controlled device.
  • UPnP Universal Plug and Play
  • UPnP Universal Plug and Play
  • the binding information management unit 602 generates binding information through the DBS when a service event indicating that the DBS of the remotely installed bundle is registered in the OSGi service registry is generated.
  • the binding information may be generated when an action call message other than an action call message requesting the start of a bundle is received from the control device, or may be generated when an event subscription request message is received.
  • Such binding information may be implemented as an identifier included in a bundle property, and a plurality of control devices may be mapped to one bundle.
  • the binding information management unit 602 receives a request for unsubscribing the event subscription for the bundle installed in the OSGi framework 601 from the control device or when the control device is disconnected from the network, the binding associated with the control device through the DBS of the related bundle Delete the information.
  • the event notification unit 603 notifies the control device of a bundle event, that is, an event related to a change in the life cycle of the bundle, using the binding information.
  • the binding information backup unit 604 backs up the binding information in a safe place before a bundle event for removing the bundle occurs when the controller requests uninstall of the bundle. For example, if you implement binding information by adding the URI of a controller to a bundle property, you cannot know which controller to notify the bundle event because the bundle property cannot be referenced once the bundle is completely removed. Therefore, the binding information backup unit 604 stores the URI of the control device in an area that can be maintained even if the bundle is removed before the bundle is completely removed.
  • the searcher 605 retrieves binding information related to the control device. For example, from among the bundle properties of bundles installed in the OSGi framework, select the bundle property that contains the URI of the controller leaving the network. The URI of the control device included in the selected bundle property is deleted by the binding information management unit 602.
  • FIG. 7A is a flowchart illustrating a process of generating binding information according to an embodiment of the present invention.
  • the control device 400 calls an action of the device control protocol (DCP) module 300 to request the start of a bundle (701).
  • DCP device control protocol
  • the DCP module 300 provides a service of the bundle 200 installed in the OSGi framework 50 to the control device 400 through a protocol between the control device 400 and the controlled device, and the action of the control device 400. According to the call, the API (Application Programming Interface) of the OSGi framework 50 is called, and the result is returned to the control device 400. Accordingly, the DCP serves as a gateway between the OSGi service platform of the controlled device and the control device 400.
  • DCP may be implemented as a bundle, or as a native application that exists outside the OSGi service platform.
  • the DCP module 300 requests the start of the bundle 200 by calling the API of the OSGi framework 50 (702).
  • the OSGi framework 50 calls an API that starts the bundle 200 of the APIs of the installed bundle 200 (703).
  • the bundle 200 registers the DBS 100 with the OSGi service registry of the OSGi framework 50 (704).
  • the OSGi framework 50 notifies the DCP module 300 of the service event informing that the DBS 100 is registered (705).
  • the DCP module 300 requests the DBS 100 to generate binding information by using the URI 1 which is the identifier of the control device 400 by calling the API of the DBS 100.
  • This API is referred to herein as AddDeviceEntry () (706).
  • the DBS 100 performs update of the bundle property (707).
  • URI 1 is added to the bundle property (708). That is, binding information for mapping the bundle 200 and the control device 400 is generated.
  • OSGi framework 50 returns the result of the API call at 702 to DCP module 300 (709).
  • the DCP module 300 transmits a response message to the action call at 701 to the control device 400 (710).
  • FIG. 7B is a flowchart illustrating a process of generating binding information according to another embodiment of the present invention. Unlike FIG. 7A, one bundle 200 and a plurality of control devices are mapped in FIG. 7B. That is, there are a plurality of control devices interested in the life cycle variation of the bundle 200, and therefore, the bundle events of the bundle 200 should be notified to the plurality of control devices.
  • the control device 400 calls the action of the Device Control Protocol (DCP) module to request the bundle to start (750).
  • the action call message includes URI 2. That is, the action call message includes an identifier different from URI 1, which is an identifier of the control device 400.
  • steps 751 to 754 are the same as steps 702 to 705 in FIG. 7A, and thus description thereof is omitted.
  • the DCP module 300 requests the DBS 100 to generate binding information by using the URI 1 which is the identifier of the control device 400 by calling the AddDeviceEntry () API of the DBS 100 (755).
  • the DCP module 300 requests the DBS 100 to generate binding information using URI 2, which is an identifier of another control device, by calling the AddDeviceEntry () API of the DBS 100 (756).
  • the DBS 100 performs update of the bundle property (757).
  • the URI 1 and URI 2 are added to the bundle property (758). That is, binding information for mapping the bundle 200 and two control devices is generated.
  • the OSGi framework 50 returns the result of the API call at 751 to the DCP module 300 (759).
  • the DCP module 300 transmits a response message to the action device 400 at 750 to the control device 400 (760).
  • FIG. 8 is a flowchart illustrating a process of notifying an event when a bundle is stopped according to an embodiment of the present invention.
  • the control device 400 calls an action of stopping the bundle 200 among the actions provided by the DCP module 300 (801).
  • the DCP module 300 requests the stop of the bundle 200 by calling the API of the OSGi framework 50 (802).
  • the OSGi framework 50 calls an API to stop the bundle 200 of the APIs of the bundle 200 (803).
  • the bundle 200 requests the OSGi framework 50 to unregister the services it has registered in the OSGi service registry before it is suspended (804).
  • OSGi framework 50 notifies DCP module 300 of the service event that the services of bundle 200 have been unregistered in the OSGi service registry (805).
  • the OSGi framework 50 returns the result of the API call in step 802 to the DCP module 300 (806).
  • DCP module 300 transmits a response message to the action call in step 801 to control device 400 (807).
  • the OSGi framework 50 notifies the bundle event informing that the bundle 200 is stopped, to the DCP module 300 which is an event listener (808).
  • the DCP module 300 extracts the URI of the control device 400 from the bundle property of the stopped bundle 200 (809).
  • the DCP module 300 notifies the bundle event indicating that the bundle 200 is stopped by referring to the extracted URI (810).
  • the bundle 200 is stopped by the request of the control device 400, but the bundle 200 is stopped by the OSGi framework 50, such as when a dependency failure occurs. It may occur. However, even in such a case, 803 to 810 will be performed the same regardless of why the bundle 200 is stopped.
  • FIG. 9 is a flowchart illustrating a process of notifying an event when a bundle is removed according to an embodiment of the present invention.
  • the control device 400 calls an action of the DCP module 300 to request the uninstallation of the active bundle 200 (901).
  • the DCP module 300 requests removal of the bundle 200 by calling an API of the OSGi framework 50 (902).
  • the OSGi framework 50 calls 903 of the APIs of the bundle 200 to stop the bundle 200.
  • the bundle 200 requests the OSGi framework 50 to unregister the services it has registered with the OSGi service registry before it is suspended (904).
  • OSGi framework 50 notifies DCP module 300 of the service event that the services of bundle 200 have been unregistered in the OSGi service registry (905).
  • the OSGi framework 50 notifies the DCP module 300 of the bundle event indicating that the bundle 200 has stopped (906).
  • the DCP module 300 extracts the URI of the control device 400 from the bundle property (907).
  • the DCP module 300 stores the URI of the control device 400 in an area that can be maintained even when the bundle 200 is removed (908).
  • the DCP module 300 notifies the control device 400 of the bundle event informing that the bundle 200 is stopped (909).
  • the OSGi framework 50 returns the result of the API call in step 902 to the DCP module 300 (910).
  • the DCP module 300 transmits a response message to the control device 400 in step 901 to the control device 400 (911).
  • the OSGi framework 50 notifies the bundle event that the bundle 200 has been removed to the DCP module 300, which is an event listener (912).
  • the DCP module 300 notifies the control device 400 of the bundle event indicating that the bundle 200 has been removed by referring to the URI of the control device 400 backed up in step 908 (913).
  • FIG. 10 is a flowchart illustrating a process of unsubscribing to an event according to an embodiment of the present invention.
  • the control device 400 transmits its URI to the DCP module 300 and requests to unsubscribe the event for the life cycle change of the bundle 200 (1000).
  • the DCP module 300 calls DeleteDeviceEntry (), which is an API for deleting binding information among APIs of the DBS 100. At this time, the URI of the control device 400 is transmitted to the DBS 100 (1001).
  • DeleteDeviceEntry is an API for deleting binding information among APIs of the DBS 100.
  • the DBS 100 updates the bundle property of the bundle in which the control device 400 is no longer interested (1002).
  • the URI of the control device 400 is deleted from the bundle property (1003). Therefore, the bundle event notifying the life cycle change of the bundle 200 will no longer be notified to the control device 400.
  • FIG. 11 is a flowchart illustrating a process of deleting binding information when the control device is disconnected from the network according to an embodiment of the present invention. It is assumed that a control device interested in the life cycle of a bundle leaves the network without unsubscribing to the event. That is, FIG. 10 describes processes performed when the control device ends normally, and FIG. 11 illustrates processes performed when the control device ends abnormally.
  • the DCP module 1120 that detects that the control device is disconnected from the network collects binding information of all bundles 1110 installed in the OSGi framework (1101). That is, the URIs included in bundle properties of the bundles 1110 are collected.
  • the DCP module 1120 checks the URI of the control device disconnected from the network among the collected URIs (1102).
  • the DCP module 300 requests the DBSs 1100 for each of the bundles including the URI of the control device disconnected from the network, to delete the URI of the control device (1103). To do this, DeleteDeviceEntry () of the DBSs 1100 is called, and the URI of the control device is passed.
  • the DBSs 1100 receiving the request of the DCP module 300 update bundle bundle properties of the corresponding bundles, respectively (1104).
  • the above-described methods, including the binding information management method, may be recorded, stored or fixed on at least one computer readable medium.
  • the computer-readable medium herein may include program instructions implemented by a computer to cause a processor to execute.
  • the medium may also include each or a combination of program instructions, data files, data structures, and the like.
  • the media and program instructions may be specially designed and constructed, or may be of the kind well known to those skilled in the computer software arts.
  • Examples of computer readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; Optical media such as CD ROM disks and DVDs; And hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions include machine language provided by a compiler, high level code executed on a computer by a translator, and the like.
  • the described hardware devices can be configured to operate as one or more software modules to perform the above described operations and methods, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

현재 OSGi 기술에서는OSGi 서비스 플랫폼에서 원격으로 설치된 번들과 해당 번들을 설치한 제어 장치를 매핑시켜 관리하기 위한 메커니즘을 제공하지 않는다. OSGi(Open Service Gateway initiative) 서비스 플랫폼이 구축된 피제어 장치에서 원격으로 OSGi 프레임워크에 설치된 번들과 그 번들의 생명 주기 변동에 관심 있는 적어도 하나의 제어 장치를 매핑시킨 바인딩 정보를 생성하고 관리한다.

Description

OSGi 서비스 플랫폼에 원격으로 설치된 번들에 대한 바인딩 정보를 관리하는 방법 및 장치
기술분야
본 발명은 OSGi(Open Service Gateway initiative)에 관한 것으로, 더욱 상세하게는OSGi 기반의 피제어 장치가 제어 장치에 의해 원격으로 설치된 번들을 관리하는 방법에 관한 것이다.
배경기술
다양한 통신 기기들의 출현으로, 하나의 장치가 네트워크를 통해 다른 장치와 협동하여 작업을 수행함으로써 원래의 기능성을 확장할 수 있게 되었다. 이러한 실행 환경을 제공하기 위한 대표적인 기술로 OSGi(Open Service Gateway initiative)가 사용될 수 있다.
OSGi(Open Service Gateway initiative) 는 네트워크 기기에 새로운 서비스를 동적으로 설치하고 실행할 수 있는 기술에 관한 규격이며, 네트워크에 속한 제어 장치들은 OSGi 서비스 플랫폼이 구축된 피제어 장치에 원격으로 번들(bundle)을 설치하고, 번들이 제공하는 서비스를 이용할 수 있다.
번들은 네트워크에서 배포(distribution)와 관리(management)의 기본 단위로서, 적어도 하나의 OSGi 서비스를 포함하며, 번들들은 OSGi 프레임워크(framework)에 의해 관리된다. 즉, OSGi 프레임워크는 다양한 애플리케이션(번들)들을 위한 표준화된 실행 환경을 제공한다. OSGi의 기본 개념은 당업자에게 익히 알려져 있으며, 이에 대한 상세한 설명은 다양한 OSGi Release 문서들에 기술되어 있다. 그러나, 현재 OSGi 기술에서는 OSGi 서비스 플랫폼에서 원격으로 설치된 번들과 해당 번들을 설치한 제어 장치를 매핑시켜 관리하기 위한 메커니즘을 제공하지 않는다.
도면의 간단한 설명
도 1은 본 발명의 일 실시예에 따라 바인딩 정보를 생성하는 과정을 나타낸 순서도 ,
도 2는 본 발명의 일 실시예에 따라 번들이 정지된 경우 피제어 장치가 동작하는 과정을 나타낸 순서도 ,
도 3은 본 발명의 일 실시예에 따라 제어 장치의 이벤트 구독을 해제하는 과정을 나타낸 순서도 ,
도 4는 본 발명의 일 실시예에 따라 번들이 제거되는 경우 피제어 장치가 동작하는 과정을 나타낸 순서도 ,
도 5는 본 발명의 일 실시예에 따라 제어 장치가 네트워크에서 단절된 경우 피제어 장치가 동작하는 과정을 나타낸 순서도 ,
도 6은 본 발명의 일 실시예에 따른 피제어 장치의 구조도 ,
도 7a 및 도 7b는 본 발명의 일 실시예에 따라 바인딩 정보를 생성하는 과정을 나타낸 흐름도 ,
도 8은 본 발명의 일 실시예에 따라 번들이 정지된 경우 이벤트가 통지되는과정을 나타낸 흐름도 ,
도 9는 본 발명의 일 실시예에 따라 번들이 제거되는 경우 이벤트가 통지되는 과정을 나타낸 흐름도 ,
도 10은 본 발명의 일 실시예에 따라 이벤트 구독을 해제하는 과정을 나타낸흐름도 ,
도 11은 본 발명의 일 실시예에 따라 제어 장치가 네트워크로부터 단절된 경우 바인딩 정보를 삭제하는 과정을 나타낸 흐름도이다.
기술적 해결방법
본 발명은 OSGi 기반의 피제어 장치가 네트워크를 통해 원격으로 설치된 번들을 효율적으로 관리하는 장치 및 방법을 제공한다.
유리한 효과
제어 장치가 비정상적으로 종료된 경우 피제어 장치가 해당 제어 장치에 관한 바인딩 정보를 자동으로 삭제함으로써 불필요한 이벤트 메시지의 송신을 줄일 수 있다. 또한, OSGi 서비스 플랫폼이 구축된 피제어 장치는 바인딩 정보를 이용하여 OSGi 프레임워크에 설치된 번들에 대한 생명 주기 변동을 통지해야 하는 제어 장치들을 식별할 수 있게 된다.
발명의 실시를 위한 최선의 형태
본 발명의 일 실시예는, OSGi(Open Service Gateway initiative) 기반의 피제어 장치가 제어 장치에 의해 원격으로 설치된 번들을 관리하는 방법에 있어서, 상기 번들이 제공하는 소정의 서비스가 OSGi 서비스 레지스트리에 등록되었음을 알리는 서비스 이벤트가 발생됨에 따라, 상기 서비스를 통해 상기 번들과 상기 제어 장치를 매핑시키는 바인딩 정보를 생성하는 단계; 및 상기 생성된 바인딩 정보를 이용하여 상기 번들의 생명주기(lifecycle)의 변동에 관한 이벤트를 상기 제어 장치에게 통지하는 단계를 포함한다.
상기 바인딩 정보를 생성하는 단계는, 상기 서비스를 통해 상기 제어 장치의 식별자를 상기 번들의 번들 프로퍼티에 추가하는 것이 바람직하다.
상기 번들 관리 방법은, 상기 제어 장치로부터 상기 번들에 대한 제거(uninstall)가 요청됨에 따라, 상기 식별자를 상기 번들이 제거되어도 지워지지 않는 영역에 저장하는 단계를 더 포함하며, 상기 이벤트를 통지하는 단계는, 상기 번들이 제거되었음을 나타내는 번들 이벤트가 발생되면, 상기 저장된 식별자를 참조하여 상기 제어 장치에게 상기 번들 이벤트를 통지하는 단계를 포함하는 것이 바람직하다.
상기 번들 관리 방법은, 상기 제어 장치로부터 상기 번들에 대한 이벤트 구독 해제 요청(unsubscribe request)이 수신됨에 따라, 상기 서비스를 통해 상기 식별자를 상기 번들 프로퍼티에서 삭제하는 단계를 더 포함하는 것이 바람직하다.
상기 번들 관리 방법은, 상기 제어 장치가 네트워크로부터 단절되었음이 감지됨에 따라, OSGi 프레임워크의 번들들 중 번들 프로퍼티에 상기 식별자가 포함된 번들들을 검색하는 단계; 및 상기 검색된 번들들 각각이 제공하는 소정의 서비스들을 통해 상기 검색된 번들들의 번들 프로퍼티들에서 상기 식별자를 삭제하는 단계를 더 포함하는 것이 바람직하다.
상기 바인딩 정보를 생성하는 단계는, 상기 제어 장치로부터 수신된 액션 호출(action invocation) 메시지 또는 이벤트 구독 요청(subscribe request) 메시지에 상기 제어 장치의 식별자와 함께 다른 제어 장치의 식별자가 포함된 경우, 상기 서비스를 통해 상기 번들 프로퍼티에 상기 식별자들을 모두 추가하는 것이 바람직하다.
상기 식별자는 상기 제어 장치의URI(Universal Resource Identifier)가 될 수 있다.
또한, 본 발명은 상기 번들 관리 방법을 실행하는 컴퓨터 프로그램을 기록한 기록 매체를 제공한다.
또한, 본 발명의 일 실시예는, 제어 장치에 의해 원격으로 설치된 번들을 관리하는 OSGi 기반의 피제어 장치에 있어서, 상기 번들이 제공하는 소정의 서비스가 OSGi 서비스 레지스트리에 등록되었다는 서비스 이벤트가 발생됨에 따라, 상기 서비스를 통해 상기 번들과 상기 제어 장치를 매핑시키는 바인딩 정보를 생성하는 바인딩정보관리부; 및 상기 생성된 바인딩 정보를 이용하여 상기 번들의 생명주기(lifecycle)의 변동에 관한 이벤트를 상기 제어 장치에게 통지하는 이벤트통지부를 포함한다.
상기 바인딩정보관리부는, 상기 서비스를 통해 상기 제어 장치의 식별자를 상기 번들의 번들 프로퍼티에 추가할 수 있다.
상기 장치는, 상기 제어 장치로부터 상기 번들에 대한 제거(uninstall)가 요청됨에 따라, 상기 식별자를 상기 번들이 제거되어도 지워지지 않는 영역에 저장하는 바인딩정보백업부를 더 포함할 수 있으며, 상기 이벤트통지부는, 상기 번들이 제거되었음을 나타내는 번들 이벤트가 발생됨에 따라, 상기 저장된 식별자를 참조하여 상기 제어 장치에게 상기 번들 이벤트를 통지할 수 있다.
상기 바인딩정보관리부는, 상기 제어 장치로부터 상기 번들에 대한 이벤트 구독 해제 요청(unsubscribe request)이 수신됨에 따라, 상기 서비스를 통해 상기 식별자를 상기 번들 프로퍼티에서 삭제할 수 있다.
상기 장치는, 제어 장치가 네트워크로부터 단절되었음이 감지됨에 따라, OSGi 프레임워크의 번들들 중 번들 프로퍼티에 상기 식별자가 포함된 번들들을 검색하는 검색부를 더 포함할 수 있으며, 상기 바인딩정보관리부는, 상기 검색된 번들들 각각이 제공하는 소정의 서비스들을 통해 상기 검색된 번들들의 번들 프로퍼티들에서 상기 식별자를 삭제할 수 있다.
상기 바인딩정보관리부는, 상기 제어 장치로부터 수신된 액션 호출(action invocation) 메시지 또는 이벤트 구독 요청(subscribe request) 메시지에 상기 제어 장치의 식별자와 함께 다른 제어 장치의 식별자가 포함된 경우, 상기 서비스를 통해 상기 번들 프로퍼티에 상기 식별자들을 모두 추가할 수 있다.
상기 식별자는 상기 제어 장치의URI(Universal Resource Identifier)가 될 수 있다.
본 발명의 일 실시예에 의하면, OSGi(Open Service Gateway initiative) 기반의 피제어 장치에 의해 실행되는 번들 관리 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 저장 매체로서, 컴퓨터가, 상기 번들이 제공하는 소정의 서비스가 OSGi 서비스 레지스트리에 등록되었음을 알리는 서비스 이벤트가 발생됨에 따라, 상기 서비스를 통해 상기 번들과 상기 제어 장치를 매핑시키는 바인딩 정보를 생성하는 단계; 및 상기 생성된 바인딩 정보를 이용하여 상기 번들의 생명주기(lifecycle)의 변동에 관한 이벤트를 상기 제어 장치에게 통지하는 단계를 수행하도록 하는 명령어들을 포함하는 매체가 제공된다 .
발명의 실시를 위한 형태
도 1은 본 발명의 일 실시예에 따라 바인딩 정보를 생성하는 과정을 나타낸 순서도이다 . 이하에서 , 바인딩 정보는 피제어 장치의 OSGi 프레임워크에 설치된 번들과 그 번들에 관심이 있는 제어 장치 , 즉 그 번들의 생명 주기 변동에 대한 번들 이벤트를 통지 받을 필요가 있는 제어 장치를 매핑시킨 정보로서 정의될 수 있다 .
종종 , 번들에 관심이 있는 제어 장치는 일반적으로 그 번들을 설치한 제어 장치일 것이나 , 그 외에 다른 제어 장치도 그 번들에 대한 상태 변화를 통지받아야 하는 경우가 있을 수 있다 . 따라서 , 사용자의 결정에 따라 하나의 번들에 복수 개의 제어 장치들이 매핑될 수도 있을 것이다 .
도 1에 도시된 바와 같이 , 제어 장치는 네트워크를 통해 피제어 장치의 OSGi 프레임워크에 원격으로 번들을 설치 (install)한다 (101).
제어 장치의 요청에 의해 번들이 시작 (start)된다 (102).
시작된 번들이 제공하는 서비스들 중 DBS(Device Binding Service)가 OSGi 서비스 레지스트리 (Registry)에 등록된다 . DBS란 본 발명에서 새롭게 제안하는 서비스의 이름이며 , DBS는 OSGi 프레임워크에 설치된 번들의 바인딩 정보를 관리한다 (103).
즉 , 본 발명에서는 제어 장치가 피제어 장치에 원격으로 설치한 모든 번들은 해당 번들의 바인딩 정보를 관리하는 DBS를 포함하는 것으로 가정하며 , 따라서 피제어 장치에 원격으로 설치된 번들이 시작되면 , 그 번들의 DBS가 OSGi 서비스 레지스트리에 등록된다 . 설명의 편의를 위해 , 이하 모든 번들은 원격으로 설치된 번들인 것으로 가정하나 , 반드시 그에 한정되지는 않는다 .
다시 도 1을 참조하면 , DBS를 이용하여 바인딩 정보를 생성한다 (104). 즉 , 피제어 장치의 OSGi 서비스 레지스트리에 등록된 DBS는 바인딩 정보를 생성하기 위한 API를 제공한다 . 이러한 바인딩 정보 생성 과정은 DBS의 API를 통해 번들 프로퍼티 (Bundle Property)에 해당 번들을 설치한 제어 장치의 식별자를 추가하는 과정이 될 수 있다 .
번들 프로퍼티는 해당 번들에 관한 다양한 정보를 저장하는 파일이다 . 번들 프로퍼티에 제어 장치의 식별자가 포함되어 있으면 해당 번들을 설치한 제어 장치를 식별할 수 있으므로 , 결국 특정 번들의 번들 프로퍼티에 포함된 제어 장치의 식별자는 그 번들과 식별자에 해당하는 제어 장치를 매핑시킨 바인딩 정보로 볼 수 있다 .
이하에서는 번들 프로퍼티에 포함된 제어 장치의 식별자를 바인딩 정보인 것으로 가정할 것이지만 , 번들과 제어 장치를 매핑시킬 수만 있으면 바인딩 정보는 다양한 형식이 될 수 있으며 , 번들 프로퍼티 외에 다른 영역에 바인딩 정보가 저장될 수도 있을 것이다 .
도 1을 참조하면 , 번들이 시작될 때 바인딩 정보가 생성되는 것으로 가정하였으나 , 구현 예에 따라 다른 단계에서 바인딩 정보가 생성될 수도 있다 . 예를 들면 , 제어 장치와 피제어 장치 간의 제어 프로토콜을 UPnP(Universal Plug and Play)라고 가정할 때 , 피제어 장치가 제어 장치로부터 특정 액션을 요청하는 UPnP 제어 메시지 또는 UPnP 이벤트 구독 요청 메시지를 수신한 경우 바인딩 정보를 생성할 수 있을 것이다 .
한편 , 액션 호출 메시지 또는 이벤트 구독 요청 메시지에 또 다른 제어 장치의 식별자가 포함된 경우 , 피제어 장치는 하나의 번들에 두 제어 장치들이 매핑된 바인딩 정보를 생성한다 . 예를 들면 , 해당 번들의 번들 프로퍼티에 두 개의 식별자가 추가될 수 있다 . 하나의 번들에 매핑되는 제어 장치의 수는 둘 이상이 될 수도 있을 것이다 .
제어 장치의 식별자는 제어 장치의 URI (Universal Resource Identifier) 가 될 수 있다.
도 2는 본 발명의 일 실시예에 따라 번들이 정지된 경우 피제어 장치가 동작하는 과정을 나타낸 순서도이다 .
번들이 정지 (stop)되었음을 나타내는 번들 이벤트가 발생한다 (201). OSGi 프레임워크는 번들의 생명주기 (lifecycle)이 변동될 때마다 번들 이벤트를 이벤트 리스너 (listener)에게 통지한다 .
피제어 장치는 정지된 번들의 번들 프로퍼티에서 그 번들을 원격으로 설치한 제어 장치의 식별자를 추출한다 (202).
피제어 장치는 추출된 식별자를 참조하여 번들 이벤트를 제어 장치에게 통지한다 (203).
이와 같이 , OSGi 기반의 피제어 장치는 OSGi프레임워크에 설치된 번들과 그 번들에 관심 있는 제어 장치의 식별자를 매핑시킨 바인딩 정보를 관리함으로써 번들 이벤트를 어떠한 제어 장치에게 통지해야 하는지 결정할 수 있다 .
도 3은 본 발명의 일 실시예에 따라 이벤트 구독을 해제하는 과정을 나타낸 순서도이다 .
피제어 장치는 제어 장치로부터 특정 번들에 대한 이벤트 구독 해제 (event unsubscribe) 요청을 수신한다 (301).
피제어 장치는 해당 번들의 DBS를 통해 해당 번들의 번들 레지스트리에서 제어 장치의 식별자를 삭제한다 (302).
도 4는 본 발명의 일 실시예에 따라 번들이 제거 (uninstall)되는 경우 피제어 장치가 동작하는 과정을 나타낸 순서도이다 .
피제어 장치는 제어 장치로부터 번들 제거 요청을 수신한다 (401).
피제어 장치는 제거 요청된 번들의 번들 프로퍼티에서 제어 장치의 식별자를 추출한다 (402).
피제어 장치는 추출된 식별자를 번들이 제거되어도 지워지지 않는 영역에 저장한다 (403). 이 과정은 , 제어 장치의 식별자를 번들이 제거되기 전에 백업해 두는 과정이다 . 번들이 제거된 후에는 번들 프로퍼티를 참조할 수 없기 때문에 번들이 제거되기 전에 식별자를 백업해 두어야 한다 . 그렇지 않으면 , 번들이 제거되었다는 번들 이벤트를 어떠한 제어 장치에게 통지해야 하는지 알기 어렵기 때문이다 .
다시 도 4를 참조하면 , 번들이 제거되었음을 나타내는 번들 이벤트가 발생한다 (404).
피제어 장치는 저장해 둔 제어 장치의 식별자를 참조하여 제어 장치에게 번들 이벤트를 통지한다 (405).
도 5는 본 발명의 일 실시예에 따라 제어 장치가 네트워크에서 단절된 경우 피제어 장치가 동작하는 과정을 나타낸 순서도이다 .
도 4는 제어 장치가 정상적으로 네트워크를 떠난 경우에 대한 과정을 설명하는 반면 , 도 5는 제어 장치가 이벤트 구독 해제 요청을 하지 않은 상태에서 비정상적으로 종료된 경우를 설명한다 .
도 5를 참조하면 , 피제어 장치는 제어 장치가 네트워크에서 단절되었음을 감지한다 (501).
피제어 장치는 OGSi 프레임워크에 설치된 번들들 중에서 그 제어 장치의 식별자를 번들 프로퍼티에 포함하는 번들들을 검색한다 (502).
피제어 장치는 검색된 번들들의 DBS들을 이용하여 제어 장치의 식별자를 검색된 번들들의 번들 프로퍼티들로부터 삭제한다 (503).
이와 같이 , 피제어 장치는 네트워크에서 제어 장치가 떠남에 따라 그 제어 장치와 관련된 바인딩 정보를 삭제함으로써 , 번들의 생명 주기와 관련한 이벤트가 발생하였을 때 , 불필요한 이벤트 메시지를 송신하지 않아도 된다 .
도 6은 본 발명의 일 실시예에 따른 피제어 장치의 구조도이다 .
도 6에 도시된 바와 같이 , 피제어 장치 (600)는 OSGi 프레임워크 (601), 바인딩 정보 관리부 (602), 이벤트 통지부 (603), 바인딩 정보 백업부 (604), 검색부 (605) 및 네트워크 인터페이스 모듈 (606)을 포함한다 .
OSGi 프레임워크 (601)는 당업자들에게 익히 알려져 있으며 , 이에 관한 설명은 OSGi 표준 문서에 기술되어 있으므로 여기서는 설명을 생략한다 .
네트워크 인터페이스 모듈 (606)은 제어 장치와 피제어 장치 간의 제어 프로토콜을 처리한다 . 예를 들면 , 제어 장치와 피제어 장치 간의 제어 프로토콜에는 UPnP(Universal Plug and Play)가 사용될 수 있다 .
바인딩 정보 관리부 (602)는 원격으로 설치된 번들의 DBS가 OSGi 서비스 레지스트리에 등록되었다는 서비스 이벤트가 발생되면 , DBS를 통해 바인딩 정보를 생성한다 .
전술한 바와 같이 , 바인딩 정보는 제어 장치로부터 번들의 시작을 요청하는 액션 호출 메시지 외에 다른 액션 호출 메시지를 수신하였을 때 생성될 수도 있으며 , 이벤트 구독 요청 메시지를 수신하였을 때 생성될 수도 있다 . 한편 , 이러한 바인딩 정보는 번들 프로퍼티에 포함된 식별자로서 구현될 수 있으며 , 하나의 번들에는 복수 개의 제어 장치들이 매핑될 수 있다 .
또한 , 바인딩 정보 관리부 (602)는 제어 장치로부터 OSGi 프레임워크 (601)에 설치된 번들에 대한 이벤트 구독 해체 요청이 수신되거나 제어 장치가 네트워크로부터 단절되면 , 관련된 번들의 DBS를 통해 그 제어 장치에 관련된 바인딩 정보를 삭제한다 .
이벤트 통지부 (603)는 바인딩 정보를 이용하여 번들 이벤트 , 즉 번들의 생명 주기의 변동에 관련된 이벤트를 제어 장치에게 통지한다 .
바인딩 정보 백업부 (604)는 제어 장치가 번들의 제거 (uninstall)을 요청한 경우 , 번들의 제거에 대한 번들 이벤트가 발생하기 이전에 바인딩 정보를 안전한 곳에 백업한다 . 예를 들면 , 번들 프로퍼티에 제어 장치의 URI를 추가함으로써 바인딩 정보를 구현한 경우 , 번들이 완전히 제거되면 번들 프로퍼티를 참조할 수 없기 때문에 번들 이벤트를 어떤 제어 장치에게 통지해야 하는지 알 수 없다 . 따라서 , 바인딩 정보 백업부 (604)는 번들이 완전히 제거되기 전에 제어 장치의 URI를 번들이 제거되어도 유지될 수 있는 영역에 저장한다 .
검색부 (605)는 제어 장치가 네트워크로부터 단절되었음이 감지되면 , 해당 제어 장치와 관련된 바인딩 정보를 검색한다 . 예를 들면 , OSGi 프레임워크에 설치된 번들들의 번들 프로퍼티들 중 네트워크를 떠난 제어 장치의 URI를 포함하는 번들 프로퍼티를 선택한다 . 선택된 번들 프로퍼티에 포함된 해당 제어 장치의 URI는 바인딩 정보 관리부 (602)에 의해 삭제된다 .
도 7a는 본 발명의 일 실시예에 따라 바인딩 정보를 생성하는 과정을 나타낸 흐름도이다 .
제어 장치 (400)는 DCP(Device Control Protocol) 모듈 (300)의 액션을 호출하여 번들 시작을 요청한다 (701).
DCP 모듈 (300)은 제어 장치 (400)와 피제어 장치 간의 프로토콜을 통해 OSGi 프레임워크 (50)에 설치된 번들 (200)의 서비스를 제어 장치 (400)에게 제공하며 , 제어 장치 (400)의 액션 호출에 따라 OSGi 프레임워크 (50)의 API(Application Programming Interface)를 호출하고 , 그 결과를 제어 장치 (400)에게 리턴한다 . 따라서 , DCP는 피제어 장치의 OSGi 서비스 플랫폼과 제어 장치 (400) 간의 게이트웨이 역할을 수행한다 .
DCP는 번들로서 구현될 수도 있으며 , OSGi 서비스 플랫폼 밖에 존재하는 네이티브 애플리케이션 (native application)으로 구현될 수도 있을 것이다 .
DCP 모듈 (300)은 OSGi 프레임워크 (50)의 API를 호출함으로써 번들 (200)의 시작을 요청한다 (702).
OSGi 프레임워크 (50)는 설치된 번들 (200)의 API들 중 번들 (200)을 시작시키는 API를 호출한다 (703).
번들 (200)이 시작되면 , 번들 (200)은 DBS(100)를 OSGi 프레임워크 (50)의 OSGi 서비스 레지스트리에 등록한다 (704).
OSGi 프레임워크 (50)는 DBS(100)가 등록되었음을 알리는 서비스 이벤트를 DCP 모듈 (300)에게 통지한다 (705).
DCP 모듈 (300)은 DBS(100)의 API를 호출함으로써 제어 장치 (400)의 식별자인 URI 1을 이용하여 바인딩 정보를 생성할 것을 DBS(100)에게 요청한다 . 여기서는 이러한 API를 AddDeviceEntry()로 칭하였다 (706).
DBS(100)는 번들 프로퍼티의 업데이트를 수행한다 (707).
707에서의 번들 프로퍼티 업데이트 결과 , 번들 프로퍼티에는 URI 1이 추가된다 (708). 즉 , 번들 (200)과 제어 장치 (400)를 매핑시키는 바인딩 정보가 생성된다 .
OSGi 프레임워크 (50)는 702에서의 API 호출에 대한 결과를 DCP 모듈 (300)에게 리턴한다 (709).
DCP 모듈 (300)은 701에서의 액션 호출에 대한 응답 메시지를 제어 장치 (400)에게 송신한다 (710).
도 7b는 본 발명의 다른 실시예에 따라 바인딩 정보를 생성하는 과정을 나타낸 흐름도이다 . 도 7a과는 달리도 7b에서는 하나의 번들 (200)과 복수 개의 제어 장치들이 매핑된다 . 즉 , 번들 (200)의 생명 주기 변동에 관심 있는 제어 장치가 복수 개이며 , 따라서 해당 번들 (200)의 번들 이벤트가 복수 개의 제어 장치들에게 모두 통지되어야 한다 .
제어 장치 (400)는 DCP(Device Control Protocol) 모듈의 액션을 호출하여 번들 시작을 요청한다 (750). 이 때 , 액션 호출 메시지에는 URI 2가 포함된다 . 즉 , 액션 호출 메시지에는 제어 장치 (400)의 식별자인 URI 1과는 다른 식별자가 포함된다 .
도 7a 및 도 7b를 참조하면 , 단계 751 내지 단계 754는 도 7a에서의 단계 702 내지 705와 동일하므로 설명을 생략한다 .
DCP 모듈 (300)은 DBS(100)의 AddDeviceEntry() API를 호출함으로써 제어 장치 (400)의 식별자인 URI 1을 이용하여 바인딩 정보를 생성할 것을 DBS(100)에게 요청한다 (755).
DCP 모듈 (300)은 DBS(100)의 AddDeviceEntry() API를 호출함으로써 또 다른 제어 장치의 식별자인 URI 2를 이용하여 바인딩 정보를 생성할 것을 DBS(100)에게 요청한다 (756).
DBS(100)는 번들 프로퍼티의 업데이트를 수행한다 (757).
757에서의 업데이트 결과 , 번들 프로퍼티에는 URI 1 및 URI 2가 추가된다 (758). 즉 , 번들 (200)과 두 개의 제어 장치들을 매핑시키는 바인딩 정보가 생성된다 .
OSGi 프레임워크 (50)는 751에서의 API 호출에 대한 결과를 DCP 모듈 (300)에게 리턴한다 (759).
DCP 모듈 (300)은 750에서의 액션 호출에 대한 응답 메시지를 제어 장치 (400)에게 송신한다 (760).
도 8은 본 발명의 일 실시예에 따라 번들이 정지된 경우 이벤트가 통지되는과정을 나타낸 흐름도이다 .
제어 장치 (400)는 DCP 모듈 (300)이 제공하는 액션들 중 번들 (200)을 정지시키는 액션을 호출한다 (801).
DCP 모듈 (300)은 OSGi 프레임워크 (50)의 API를 호출함으로써 번들 (200)의 정지를 요청한다 (802).
OSGi 프레임워크 (50)는 번들 (200)의 API들 중 번들 (200)을 정지시키는 API를 호출한다 (803).
번들 (200)은 정지되기 전에 OSGi 서비스 레지스트리에 자신이 등록한 서비스들을 등록 해제할 것을 OSGi 프레임워크 (50)에게 요청한다 (804).
OSGi 프레임워크 (50)는 DCP 모듈 (300)에게 번들 (200)의 서비스들이 OSGi 서비스 레지스트리에서 등록 해제되었다는 서비스 이벤트를 통지한다 (805).
OSGi 프레임워크 (50)는 DCP 모듈 (300)에게 단계 802에서의 API 호출에 대한 결과를 리턴한다 (806).
DCP 모듈 (300)은 단계 801에서의 액션 호출에 대한 응답 메시지를 제어 장치 (400)에게 송신한다 (807).
OSGi 프레임워크 (50)는 번들 (200)이 정지 되었음을 알리는 번들 이벤트를 이벤트 리스너인 DCP 모듈 (300)에게 통지한다 (808).
DCP 모듈 (300)은 정지된 번들 (200)의 번들 프로퍼티에서 제어 장치 (400)의 URI를 추출한다 (809).
DCP 모듈 (300)은 추출된 URI를 참조하여 제어 장치 (400)에게 번들 (200)이 정지되었음을 나타내는 번들 이벤트를 통지한다 (810).
도 8을 참조하면 , 제어 장치 (400)의 요청에 의해 번들 (200)이 정지되나 , 의존성 실패 (dependency failure)가 발생한 경우 등 OSGi 프레임워크 (50)에 의해 번들 (200)이 정지되는 경우가 생길 수도 있다 . 다만 , 그러한 경우에도 803 내지 810은 번들 (200)이 정지된 이유와 상관 없이 동일하게 수행될 것이다 .
도 9는 본 발명의 일 실시예에 따라 번들이 제거되는 경우 이벤트가 통지되는 과정을 나타낸 흐름도이다 .
제어 장치 (400)는 DCP 모듈 (300)의 액션을 호출하여 활성화된 (active) 번들 (200)의 제거 (uninstall)을 요청한다 (901).
DCP 모듈 (300)은 OSGi 프레임워크 (50)의 API를 호출함으로써 번들 (200)의 제거를 요청한다 (902).
OSGi 프레임워크 (50)는 번들 (200)의 API들 중 번들 (200)을 정지시키는 API를 호출한다 (903).
번들 (200)은 정지되기 전에 OSGi 서비스 레지스트리에 자신이 등록한 서비스들을 등록 해제할 것을 OSGi 프레임워크 (50)에게 요청한다 (904).
OSGi 프레임워크 (50)는 DCP 모듈 (300)에게 번들 (200)의 서비스들이 OSGi 서비스 레지스트리에서 등록 해제되었다는 서비스 이벤트를 통지한다 (905).
OSGi 프레임워크 (50)는 번들 (200)이 정지되었음을 나타내는 번들 이벤트를 DCP 모듈 (300)에게 통지한다 (906).
DCP 모듈 (300)은 번들 프로퍼티에서 제어 장치 (400)의 URI를 추출한다 (907).
DCP 모듈 (300)은 제어 장치 (400)의 URI를 번들 (200)이 제거되어도 유지될 수 있는 영역에 저장한다 (908).
번들 (200)이 제거되었음을 알리는 번들 이벤트를 통지하기 위해서는 그 번들 (200)에 관심 있는 제어 장치 (400)의 URI를 참조해야 하는데 , 바인딩 정보가 번들 프로퍼티에 포함된 경우 번들 (200)이 제거되면 DCP 모듈 (300)이 더 이상 번들 프로퍼티에 액세스 할 수 없는 문제가 생기므로 , 번들 (200)이 제거되기 전에 미리 제어 장치 (400)의 URI를 안전한 공간에 백업해 두는 것이다 .
DCP 모듈 (300)은 제어 장치 (400)에게 번들 (200)이 정지되었음을 알리는 번들 이벤트를 통지한다 (909).
OSGi 프레임워크 (50)는 DCP 모듈 (300)에게 단계 902에서의 API 호출에 대한 결과를 리턴한다 (910).
DCP 모듈 (300)은 단계 901에서의 액션 호출에 대한 응답 메시지를 제어 장치 (400)에게 송신한다 (911).
OSGi 프레임워크 (50)는 번들 (200)이 제거되었음을 알리는 번들 이벤트를 이벤트 리스너인 DCP 모듈 (300)에게 통지한다 (912).
DCP 모듈 (300)은 단계 908에서 백업해 둔 제어 장치 (400)의 URI을 참조하여 번들 (200)이 제거되었음을 알리는 번들 이벤트를 제어 장치 (400)에게 통지한다 (913).
도 10은 본 발명의 일 실시예에 따라 이벤트 구독을 해제하는 과정을 나타낸흐름도이다 .
제어 장치 (400)는 DCP 모듈 (300)에게 자신의 URI를 전달하며 번들 (200)의 생명 주기 변동에 대한 이벤트 구독 해제를 요청한다 (1000).
DCP 모듈 (300)은 DBS(100)의 API들 중 바인딩 정보를 삭제하는 API인 DeleteDeviceEntry()를 호출한다 . 이 때 , 제어 장치 (400)의 URI가 DBS(100)에게 전달된다 (1001).
DBS(100)는 제어 장치 (400)가 더 이상 관심 없는 번들의 번들 프로퍼티를 업데이트 한다 (1002).
업데이트 결과 , 해당 번들 프로퍼티에서 제어 장치 (400)의 URI가 삭제된다 (1003). 따라서 , 이후 해당 번들 (200)의 생명 주기 변동을 알리는 번들 이벤트는 제어 장치 (400)에게 더 이상 통지되지 않을 것이다 .
도 11은 본 발명의 일 실시예에 따라 제어 장치가 네트워크로부터 단절된 경우 바인딩 정보를 삭제하는 과정을 나타낸 흐름도이다 . 번들의 생명 주기 변동에 관심 있는 제어 장치는 이벤트 구독 해제를 하지 않고 네트워크로부터 떠난 경우를 가정한다 . 즉 , 도 10은 제어 장치가 정상적으로 종료한 경우에 수행되는 과정들을 설명하고 , 도 11은 제어 장치가 비정상적으로 종료한 경우에 수행되는 과정들을 설명한다 .
제어 장치가 네트워크로부터 단절되었음을 감지한 DCP 모듈 (1120)은 OSGi 프레임워크에 설치된 모든 번들들 (1110)의 바인딩 정보를 수집한다 (1101). 즉 , 번들들 (1110)의 번들 프로퍼티들에 포함된 URI들을 수집한다 .
DCP 모듈 (1120)은 수집된 URI들 중에 네트워크에서 단절된 제어 장치의 URI를 체크한다 (1102).
DCP 모듈 (300)은 네트워크에서 단절된 제어 장치의 URI를 번들 프로퍼티에 포함하고 있는 번들들 각각에 대한 DBS들 (1100)에게 제어 장치의 URI를 삭제할 것을 요청한다 (1103). 이를 위해 , DBS들 (1100)의 DeleteDeviceEntry()가 호출되며 , 제어 장치의 URI가 전달된다 .
DCP 모듈 (300)의 요청을 받은 DBS들 (1100)은 각각 해당 번들들의 번들 프로퍼티들을 업데이트한다 (1104).
업데이트 결과 , 해당 번들 프로퍼티들로부터 제어 장치의 URI가 삭제된다 (1105).
바인딩 정보 관리 방법을 포함하여 상기 설명한 방법들은 적어도 하나의 컴퓨터로 읽을 수 있는 매체에 기록, 저장 또는 고정될 수 있다. 여기서의 컴퓨터로 읽을 수 있는 매체는 컴퓨터에 의해 구현되어 프로세서가 실행하도록 하는 프로그램 명령어들을 포함할 수 있다. 매체는 또한 프로그램 명령어들, 데이터 파일들, 데이터 구조 등의 각각 또는 이들의 조합을 포함할 수 있다. 매체 및 프로그램 명령어들은 특수하게 디자인되고 구성될 수 있으며, 또는 컴퓨터 소프트웨어 분야의 당업자에게 잘 알려진 종류일 수도 있다. 컴퓨터로 읽을 수 있는 매체의 예로는 하드 디스크, 플로피 디스크, 자기 테이프 등의 자기 매체; CD ROM 디스크 및 DVD 등의 광 매체; 및 ROM, RAM, 플래쉬 메모리 등과 같이 프로그램 명령어들을 저장하고 수행하기 위해 특별히 구성된 하드웨어 기기들을 포함할 수 있다. 프로그램 명령어들의 예를 들면, 컴파일러에 의해 제공되는 기계어, 번역기에 의해 컴퓨터에서 수행되는 하이 레벨 코드 등이 있다. 설명한 하드웨어 기기들은 상기 설명한 동작들 및 방법들을 수행하기 위한 하나 또는 그 이상의 소프트웨어 모듈로서 동작하도록 구성될 수 있으며 그 반대 역시 가능하다.

Claims (15)

  1. 【청구항 1】
    OSGi(Open Service Gateway initiative) 기반의 피제어 장치가 제어 장치에 의해 원격으로 설치된 번들을 관리하는 방법에 있어서,
    상기 번들이 제공하는 소정의 서비스가 OSGi 서비스 레지스트리에 등록되었음을 알리는 서비스 이벤트가 발생됨에 따라, 상기 서비스를 통해 상기 번들과 상기 제어 장치를 매핑시키는 바인딩 정보를 생성하는 단계; 및
    상기 생성된 바인딩 정보를 이용하여 상기 번들의 생명주기(lifecycle)의 변동에 관한 이벤트를 상기 제어 장치에게 통지하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 【청구항 2】
    제 1항에 있어서,
    상기 바인딩 정보를 생성하는 단계는,
    상기 서비스를 통해 상기 제어 장치의 식별자를 상기 번들의 번들 프로퍼티에 추가하는 단계임을 특징으로 하는 방법.
  3. 【청구항 3】
    제 2항에 있어서,
    상기 제어 장치로부터 상기 번들에 대한 제거(uninstall)가 요청됨에 따라, 상기 식별자를 상기 번들이 제거되어도 지워지지 않는 영역에 저장하는 단계를 더 포함하며,
    상기 이벤트를 통지하는 단계는,
    상기 번들이 제거되었음을 나타내는 번들 이벤트가 발생됨에 따라, 상기 저장된 식별자를 참조하여 상기 제어 장치에게 상기 번들 이벤트를 통지하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 【청구항 4】
    제 2항에 있어서,
    상기 제어 장치로부터 상기 번들에 대한 이벤트 구독 해제 요청(unsubscribe request)이 수신됨에 따라, 상기 서비스를 통해 상기 식별자를 상기 번들 프로퍼티에서 삭제하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 【청구항 5】
    제 2항에 있어서,
    상기 제어 장치가 네트워크로부터 단절되었음이 감지됨에 따라, OSGi 프레임워크의 번들들 중 번들 프로퍼티에 상기 식별자가 포함된 번들들을 검색하는 단계; 및
    상기 검색된 번들들 각각이 제공하는 소정의 서비스들을 통해 상기 검색된 번들들의 번들 프로퍼티들에서 상기 식별자를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 【청구항 6】
    제 2항에 있어서,
    상기 바인딩 정보를 생성하는 단계는,
    상기 제어 장치로부터 수신된 액션 호출(action invocation) 메시지 또는 이벤트 구독 요청(subscribe request) 메시지에 상기 제어 장치의 식별자와 함께 다른 제어 장치의 식별자가 포함된 경우, 상기 서비스를 통해 상기 번들 프로퍼티에 상기 식별자들을 모두 추가하는 것을 특징으로 하는 방법.
  7. 【청구항 7】
    제 2항에 있어서,
    상기 식별자는 상기 제어 장치의URI(Universal Resource Identifier)인 것을 특징으로 하는 방법.
  8. 【청구항 8】
    제어 장치에 의해 원격으로 설치된 번들을 관리하는OSGi 기반의 피제어 장치에 있어서,
    상기 번들이 제공하는 소정의 서비스가 OSGi 서비스 레지스트리에 등록되었다는 서비스 이벤트가 발생됨에 따라, 상기 서비스를 통해 상기 번들과 상기 제어 장치를 매핑시키는 바인딩 정보를 생성하는 바인딩정보관리부; 및
    상기 생성된 바인딩 정보를 이용하여 상기 번들의 생명주기(lifecycle)의 변동에 관한 이벤트를 상기 제어 장치에게 통지하는 이벤트통지부를 포함하는 것을 특징으로 하는 장치.
  9. 【청구항 9】
    제 8항에 있어서,
    상기 바인딩정보관리부는,
    상기 서비스를 통해 상기 제어 장치의 식별자를 상기 번들의 번들 프로퍼티에 추가하는 것을 특징으로 하는 장치.
  10. 【청구항 10】
    제 9항에 있어서,
    상기 제어 장치로부터 상기 번들에 대한 제거(uninstall)가 요청됨에 따라, 상기 식별자를 상기 번들이 제거되어도 지워지지 않는 영역에 저장하는 바인딩정보백업부를 더 포함하며,
    상기 이벤트통지부는,
    상기 번들이 제거되었음을 나타내는 번들 이벤트가 발생됨에 따라, 상기 저장된 식별자를 참조하여 상기 제어 장치에게 상기 번들 이벤트를 통지하는 단계를 포함하는 것을 특징으로 하는 장치.
  11. 【청구항 11】
    제 9항에 있어서,
    상기 바인딩정보관리부는,
    상기 제어 장치로부터 상기 번들에 대한 이벤트 구독 해제 요청(unsubscribe request)이 수신됨에 따라, 상기 서비스를 통해 상기 식별자를 상기 번들 프로퍼티에서 삭제하는 것을 특징으로 하는 장치.
  12. 【청구항 12】
    제 9항에 있어서,
    상기 제어 장치가 네트워크로부터 단절되었음이 감지됨에 따라, OSGi 프레임워크의 번들들 중 번들 프로퍼티에 상기 식별자가 포함된 번들들을 검색하는 검색부를 더 포함하며,
    상기 바인딩정보관리부는,
    상기 검색된 번들들 각각이 제공하는 소정의 서비스들을 통해 상기 검색된 번들들의 번들 프로퍼티들에서 상기 식별자를 삭제하는 것을 특징으로 하는 장치.
  13. 【청구항 13】
    제 9항에 있어서,
    상기 바인딩정보관리부는,
    상기 제어 장치로부터 수신된 액션 호출(action invocation) 메시지 또는 이벤트 구독 요청(subscribe request) 메시지에 상기 제어 장치의 식별자와 함께 다른 제어 장치의 식별자가 포함된 경우, 상기 서비스를 통해 상기 번들 프로퍼티에 상기 식별자들을 모두 추가하는 것을 특징으로 하는 장치.
  14. 【청구항 14】
    제 9항에 있어서,
    상기 식별자는 상기 제어 장치의URI(Universal Resource Identifier)인 것을 특징으로 하는 장치.
  15. 【청구항 15】
    OSGi(Open Service Gateway initiative) 기반의 피제어 장치에 의해 실행되는 번들 관리 방법을 수행하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 저장 매체로서, 컴퓨터가
    상기 번들이 제공하는 소정의 서비스가 OSGi 서비스 레지스트리에 등록되었음을 알리는 서비스 이벤트가 발생됨에 따라, 상기 서비스를 통해 상기 번들과 상기 제어 장치를 매핑시키는 바인딩 정보를 생성하는 단계; 및
    상기 생성된 바인딩 정보를 이용하여 상기 번들의 생명주기(lifecycle)의 변동에 관한 이벤트를 상기 제어 장치에게 통지하는 단계를 수행하도록 하는 명령어들을 포함하는
    매체.
PCT/KR2009/002394 2008-05-07 2009-05-07 OSGi 서비스 플랫폼에 원격으로 설치된 번들에 대한 바인딩 정보를 관리하는 방법 및 장치 WO2009136740A2 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP09742846.0A EP2275944B1 (en) 2008-05-07 2009-05-07 Method and apparatus for managing binding information about a bundle installed remotely in an osgi service platform
KR1020117000461A KR101533283B1 (ko) 2008-05-07 2009-05-07 OSGi 서비스 플랫폼에 원격으로 설치된 번들에 대한 바인딩 정보를 관리하는 방법 및 장치
CN200980126291.6A CN102089749B (zh) 2008-05-07 2009-05-07 用于管理关于远程安装在开放服务网关初始化服务平台中的包的绑定信息的方法和设备

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US5113908P 2008-05-07 2008-05-07
US61/051,139 2008-05-07
KR1020080081071A KR20090116595A (ko) 2008-05-07 2008-08-19 OSGi 서비스 플랫폼에 원격으로 설치된 번들에 대한 바인딩 정보를 관리하는 방법 및 장치
KR10-2008-0081071 2008-08-19

Publications (2)

Publication Number Publication Date
WO2009136740A2 true WO2009136740A2 (ko) 2009-11-12
WO2009136740A3 WO2009136740A3 (ko) 2010-02-18

Family

ID=41601351

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2009/002394 WO2009136740A2 (ko) 2008-05-07 2009-05-07 OSGi 서비스 플랫폼에 원격으로 설치된 번들에 대한 바인딩 정보를 관리하는 방법 및 장치

Country Status (5)

Country Link
US (1) US8375110B2 (ko)
EP (1) EP2275944B1 (ko)
KR (2) KR20090116595A (ko)
CN (1) CN102089749B (ko)
WO (1) WO2009136740A2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8448163B2 (en) * 2006-08-15 2013-05-21 International Business Machines Corporation Deploying J2EE web applications in an OSGI environment
US8898774B2 (en) * 2009-06-25 2014-11-25 Accenture Global Services Limited Method and system for scanning a computer system for sensitive content
KR101636457B1 (ko) * 2009-12-28 2016-07-05 삼성전자주식회사 복수 개의 번들간에 서로 기능을 공유할 수 있는 프레임워크 기반으로 동작하는 화상형성장치 및 이러한 화상형성장치에 번들을 설치하는 방법
US8739187B2 (en) 2011-09-09 2014-05-27 International Business Machines Corporation Legacy application integration within a bundle framework
US8738755B2 (en) * 2011-09-09 2014-05-27 International Business Machines Corporation Providing external access to service versions via a bundle framework
US9398109B2 (en) * 2012-12-21 2016-07-19 Software Ag System, messaging broker and method for managing communication between open services gateway initiative (OSGI) environments
US20150220308A1 (en) * 2014-01-31 2015-08-06 Dell Products L.P. Model-based development
US9389929B1 (en) 2015-03-24 2016-07-12 International Business Machines Corporation Granular event management for service platforms
CN108121574B (zh) * 2016-11-29 2021-09-24 阿里巴巴集团控股有限公司 一种内核模块的热升级方法、装置及虚拟机系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE248475T1 (de) * 2001-06-06 2003-09-15 Cit Alcatel Verfahren zum verteilen von diensten und verfahren zum konfigurieren von einem netzelementen in einem kommunikationsnetzwerk
US7398305B2 (en) * 2003-02-06 2008-07-08 International Business Machines Corporation Client device configuration with hooks
US7761571B2 (en) 2003-11-25 2010-07-20 Panasonic Corporation SIP service for home network device and service mobility
US8151281B2 (en) * 2004-01-09 2012-04-03 International Business Machines Corporation Method and system of mapping at least one web service to at least one OSGi service
KR101008977B1 (ko) * 2004-02-25 2011-01-17 삼성전자주식회사 OSGi 서비스 플랫폼 테스트 방법 및 이를 이용한테스트 툴
US7289795B2 (en) 2005-06-22 2007-10-30 Matsushita Electric Industrial Co., Ltd. Event moderation for event publishing environments
ES2482111T3 (es) 2005-07-04 2014-08-01 Sk Telecom Co., Ltd. Sistema de puerta de enlace residencial para servicio de red doméstica
JP2007133796A (ja) 2005-11-14 2007-05-31 Hitachi Ltd 情報処理装置及び情報処理システム
WO2007066843A1 (en) 2005-12-08 2007-06-14 Electronics And Telecommunications Research Institute Osgi-based dynamic service management method for context-aware systems
KR100703361B1 (ko) 2006-02-15 2007-04-03 삼성전자주식회사 다수의 디지털 기기들의 어플리케이션을 관리하는 시스템및 방법
EP1835690B1 (en) 2006-03-15 2014-10-22 Alcatel Lucent TR69 based service interface for OSGi bundles
EP2097848A2 (en) * 2006-12-27 2009-09-09 International Business Machines Corporation Method, system and computer program for monitoring components in a service framework
US8127237B2 (en) * 2007-09-24 2012-02-28 Sap Ag Active business client

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None

Also Published As

Publication number Publication date
KR20090116595A (ko) 2009-11-11
KR101533283B1 (ko) 2015-07-02
WO2009136740A3 (ko) 2010-02-18
EP2275944A4 (en) 2012-02-08
CN102089749A (zh) 2011-06-08
EP2275944B1 (en) 2015-10-21
US20090282400A1 (en) 2009-11-12
US8375110B2 (en) 2013-02-12
CN102089749B (zh) 2014-12-17
EP2275944A2 (en) 2011-01-19
KR20110033190A (ko) 2011-03-30

Similar Documents

Publication Publication Date Title
WO2009136740A2 (ko) OSGi 서비스 플랫폼에 원격으로 설치된 번들에 대한 바인딩 정보를 관리하는 방법 및 장치
WO2012025011A1 (zh) 软件升级系统及方法、计算机存储介质
WO2014071755A1 (zh) 实现移动终端应用程序下载的方法及移动终端
WO2018103315A1 (zh) 监控数据的处理方法、装置、服务器及存储设备
WO2018076841A1 (zh) 数据分享方法、装置、存储介质及服务器
WO2010062063A2 (ko) 브라우저 기반 어뷰징 방지 방법 및 시스템
WO2011105860A2 (en) Method and apparatus for generating minimum boot image
WO2018227772A1 (zh) 柜员机控件更新方法、装置、计算机设备及存储介质
WO2008014647A1 (fr) Procédé d'entretien pour l'objet de gestion de capacité, procédé de gestion de capacité, système et terminal correspondants
WO2012070900A2 (ko) 개인 장치간 이벤트 및 데이터 공유 시스템
WO2013154398A1 (ko) 소프트웨어 정의 라디오 어플리케이션의 배포, 설치 및 실행 방법
WO2020077832A1 (zh) 云桌面的访问方法、装置、设备及存储介质
WO2018076863A1 (zh) 数据存储的方法、装置、存储介质、服务器及系统
WO2020233060A1 (zh) 事件通知方法、事件通知服务器、存储介质及装置
WO2014044130A1 (zh) 业务巡检方法和系统、计算机存储介质
EP2443539A2 (en) Widget activation and communication method
WO2021051492A1 (zh) 数据库服务节点切换方法、装置、设备及计算机存储介质
WO2017157125A1 (zh) 在云计算环境中删除云主机的方法、装置、服务器及存储介质
WO2011145889A2 (ko) 사용자 단말 및 이의 소프트웨어 관리제어방법 및 장치
WO2014200201A1 (ko) 시스템 보호를 위한 파일 보안용 관리장치와 관리방법
WO2019190035A1 (ko) 데이터 연계 시스템
WO2019177244A1 (ko) 하이브리드 웜 디스크 제공 시스템
WO2013100648A1 (ko) 대상정보 백업 장치 및 백업서버
WO2013129743A1 (ko) 어플리케이션 제공 방법 및 그를 위한 어플리케이션 제공 서버
WO2015088268A1 (ko) Sdn 환경에서 네트워크 장치에 대한 장애를 처리하는 방법

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980126291.6

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09742846

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 2009742846

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20117000461

Country of ref document: KR

Kind code of ref document: A