KR20070058977A - Dynamic Reconfiguration Apparatus and Method for Home Network Terminal System Software - Google Patents
Dynamic Reconfiguration Apparatus and Method for Home Network Terminal System Software Download PDFInfo
- Publication number
- KR20070058977A KR20070058977A KR1020060121353A KR20060121353A KR20070058977A KR 20070058977 A KR20070058977 A KR 20070058977A KR 1020060121353 A KR1020060121353 A KR 1020060121353A KR 20060121353 A KR20060121353 A KR 20060121353A KR 20070058977 A KR20070058977 A KR 20070058977A
- Authority
- KR
- South Korea
- Prior art keywords
- software
- situation
- information
- module
- software module
- 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.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2807—Exchanging configuration information on appliance services in a home automation network
- H04L12/2814—Exchanging control software or macros for controlling appliance services in a home automation network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 홈 네트워크 환경에서의 실행 환경에 맞게 소프트웨어의 구성과 서비스를 변경시키는 홈 네트워크 단말 시스템에 관한 것으로, 가변성 관리 기법 중 실시간 환경에 적용 가능한 두 가지 방법을 이용하여 상황에 적합한 소프트웨어 모듈을 재구성하는 장치 및 방법에 관한 것이다.The present invention relates to a home network terminal system for changing a software configuration and a service according to an execution environment in a home network environment, and reconfigures a software module suitable for a situation by using two methods applicable to a real-time environment among variability management techniques. It relates to an apparatus and a method.
본원 발명에 따른 소프트웨어의 동적 재구성 방법은 단말 시스템 주변의 상황 정보를 수집하는 단계와, 수집된 상황 정보를 분석하여 메타데이터 형태로 가공하는 단계와, 상기 상황 정보를 분석하여 소프트웨어 모듈의 추가 또는 교체 여부 및 소프트웨어 모듈의 특성 값 변경 여부를 판단하고, 상기 단말 시스템 주변의 상황 정보를 유형화하여 메타데이터 형태로 가공한 상황 패턴을 설정하는 추론단계와, 상기 추론 단계에서의 판단결과에 따라 상황 패턴을 만족시키는 후보 소프트웨어 모듈을 검색하는 단계와, 검색된 후보 소프트웨어 모듈에 대해 정보 은닉 방법 또는 인수화 방법을 사용하여 소프트웨어 모듈을 재구성하는 단계와, 상기 재구성된 소프트웨어 모듈을 목표가 되는 대상 소프트웨어에 동적으로 탑재하는 단계를 포함한다.Dynamic reconfiguration method of the software according to the present invention comprises the steps of collecting the situation information around the terminal system, processing the collected situation information in the form of metadata, analyzing the situation information to add or replace the software module And an inference step of determining whether to change the characteristic value of the software module and setting the situation pattern processed in the form of metadata by tying the situation information around the terminal system, and the situation pattern according to the determination result in the inference step. Retrieving a candidate software module that satisfies, reconstructing the software module by using an information hiding method or an acquisition method for the retrieved candidate software module, and dynamically mounting the reconstructed software module in a target target software. Steps.
본 발명에 의하면 소프트웨어의 실행 과정에 영향을 주지 않으면서 소프트웨어의 구성 요소를 변경하거나 특성을 재구성할 수 있다. According to the present invention, the components of the software can be changed or the characteristics can be reconfigured without affecting the execution process of the software.
Description
도 1은 본원 발명에 따른 홈 네트워크 단말 시스템 소프트웨어의 동적 재구성 장치의 구성도.1 is a block diagram of a dynamic reconfiguration apparatus of home network terminal system software according to the present invention.
도 2는 본원 발명에 따른 홈 네트워크 단말 시스템 소프트웨어의 동적 재구성 방법의 흐름도.2 is a flow chart of a dynamic reconfiguration method of home network terminal system software in accordance with the present invention.
도 3은 도 1의 추론 엔진의 내부 블록도.3 is an internal block diagram of the inference engine of FIG.
도 4는 도 1의 추론 엔진의 추론 알고리즘에 대한 동작 흐름도.4 is an operational flow diagram for the inference algorithm of the inference engine of FIG.
도 5는 홈 환경의 상황 정보를 저장하는 상황 패턴의 메타데이터 구조도.5 is a metadata structure diagram of a situation pattern for storing situation information of a home environment.
도 6a는 가변성 관리 기법 중 정보 은닉 방법을 이용한 소프트웨어 모듈 변경 알고리즘을 설명하는 구조도.6A is a structural diagram illustrating a software module change algorithm using an information hiding method among variability management techniques.
도 6b는 가변성 관리 기법 중 인수화 방법을 이용하여 소프트웨어 모듈의 특성을 변경하는 알고리즘을 설명하는 구조도.FIG. 6B is a structural diagram illustrating an algorithm for changing a characteristic of a software module using an argument method among variability management techniques. FIG.
< 도면의 주요 부분에 대한 설명><Description of Main Parts of Drawing>
100 : 상황 정보 101 : 상황 정보 수집기100: Situation Information 101: Situation Information Collector
110 : 가변 특성 관리기 111 : 상황 정보 분석기 110: Variable Property Manager 111: Situation Information Analyzer
112 : 모듈 검색기 113 : 추론 엔진 112: Module Finder 113: Inference Engine
114 : 모듈 재구성기 115 : 동적 적용기 114: Module Reconfigurer 115: Dynamic Applicator
120 : 모듈 저장소 121 : 후보 소프트웨어 모듈 120: Module Repository 121: Candidate Software Modules
130 : 대상 소프트웨어 131 : 정제된 모듈130: target software 131: refined module
301 : 비교 처리부 302 : 상황 패턴 저장소301: comparison processing unit 302: situation pattern store
303 : 상황 패턴 생성부 304 : 상황 특성 정보 추출부303: Situation pattern generation unit 304: Situation characteristic information extraction unit
본 발명은 홈 네트워크 단말 시스템 소프트웨어의 동적 재구성 장치 및 방법에 관한 것으로, 더욱 상세하게는 가변성 관리 방법을 이용하여 실행 환경 및 상황에 맞게 홈 네트워크 단말 시스템 소프트웨어의 구성과 상기 소프트웨어가 제공하는 서비스를 변경시킬 수 있는 홈 네트워크 단말 시스템 소프트웨어의 동적 재구성 장치 및 방법에 관한 것이다. The present invention relates to an apparatus and method for dynamically reconfiguring a home network terminal system software, and more particularly, to change a configuration of a home network terminal system software and a service provided by the software according to an execution environment and a situation using a variability management method. The present invention relates to an apparatus and method for dynamically reconfiguring home network terminal system software.
최근 유비쿼터스 컴퓨팅(Ubiquitous Computing)이 중요한 컴퓨팅 패러다임으로 자리 잡음으로써 하드웨어뿐만 아니라 소프트웨어도 적시성, 실시간성 및 적응성 등이 중요하게 요구되고 있다. 특히, 스마트 홈에서의 단말 시스템 등에서 요구되는 임베디드 소프트웨어 또는 실시간 제어 소프트웨어 등은 상황 변화에 민감한 서비스의 특성에 따라 소프트웨어 자체가 일부 또는 전체가 변경되는 동적 재구 성(dynamic adaptation) 기능이 필요하다.Recently, ubiquitous computing (Ubiquitous Computing) has emerged as an important computing paradigm, and timeliness, real time and adaptability as well as hardware are important. In particular, embedded software or real-time control software required for a terminal system in a smart home requires a dynamic adaptation function in which part or all of the software itself is changed according to a characteristic of a service sensitive to a situation change.
상황에 맞는 소프트웨어의 동적 재구성을 위한 기술은 소프트웨어 기술의 진화를 위해 십 수년 전부터 시도되어 온 기술로써 실시간 아키텍처 변경, 특성 추가 또는 모델 기반 구조변경 등의 기법 등이 현재의 보편적인 시도라고 볼 수 있다. 하지만 대부분이 현실적이지 못한 이론에 그치는 경우가 많으며, 킬러 애플리케이션의 부재로 검증되지 못한 경우가 대부분이다. The technology for dynamic reconfiguration of context-sensitive software has been tried for decades for the evolution of software technology, and the current common attempts are techniques such as real-time architecture change, feature addition, or model-based restructuring. . But most of the time, it's just an unrealistic theory, and most of the time, it's unproven because of the absence of a killer application.
한편, 최근의 소프트웨어 개발 경향에 있어서, 제품계열공학(Product Line Engineering, PLE) 을 이용한 개발 방법이 연구되고 있다. 소프트웨어 제품계열은 공통의 유사한 기능을 갖는 소프트웨어 제품 또는 소프트웨어 시스템의 집합을 말하는 것으로, 특정 영역의 시장과 용도의 요구 사항을 만족시키기 위해 미리 구축된 소프트웨어 아키텍처등의 핵심자산을 재사용하여 소프트웨어를 개발하는 방법이 연구되고 있는바, 이 방법의 핵심은 소프트웨어 제품군에 공통적인 아키텍처를 기반으로 각 제품별로 가지는 특징들을 반영하여 가변성을 제어하는 기술이다. 현재의 제품계열 기술에서 가장 널리 쓰이고 있는 가변성 관리 기법은 이하에서 제시하는 네 가지 정도로 요약된다. On the other hand, in recent software development trends, development methods using Product Line Engineering (PLE) have been studied. The software product line refers to a collection of software products or software systems that have similar functions in common, and is used to develop software by reusing core assets such as pre-built software architectures to meet specific market and application requirements. As the method is being studied, the core of this method is the technology to control the variability by reflecting the characteristics of each product based on the architecture common to the software suite. The most widely used variability management techniques in current product line technology are summarized in the following four categories.
먼저, 정보 은닉(Information Hiding) 방법을 이용한 가변성 관리 기법은 동일한 인터페이스를 가진 여러 버전의 모듈을 이용하여 가변성을 처리하는 방법이다. 각 버전의 모듈안에 가변성은 숨겨져 있는 형태이며, 이 경우 가변 요소는 각 버전의 모듈 자체가 된다. 이 접근법은 선택가능한 모듈의 집합에서 하나의 모듈을 선택하여 소프트웨어에 삽입하는 것만으로 가변성을 결정하는 효과가 있으나, 변화 되는 범위가 각 모듈 단위 또는 그 이내로 제한되는 경우나 인터페이스가 변하지 않아야 하는 경우에 적용될 수 있다. First, a variability management technique using information hiding is a method of processing variability using multiple versions of modules having the same interface. Variability is hidden in each version of the module, in which case the variable becomes the module itself. This approach has the effect of determining variability simply by selecting one module from a set of selectable modules and inserting it into the software, but in cases where the changing range is limited to or within each module unit or the interface must not change. Can be applied.
인수화(Parameterization) 방법을 이용한 가변성 관리 기법은 대상이 되는 소프트웨어 모듈 내에 정의되어 있는 인수를 가변 요소로 보고 가변성을 처리하는 방법이다. 인수화 방법은 소프트웨어의 특성 값을 변경시킴으로써 가변성을 결정하는 구조를 갖는다. 이 방법은 인수화된 특성들의 값을 변경하거나 초기화하기 위해 모듈의 별도 인터페이스가 구비되어야 가능하다.Variability management technique using parameterization method is a method of handling variability by viewing arguments defined in the target software module as variable elements. The factorization method has a structure for determining variability by changing software characteristic values. This method is possible only if a separate interface of the module is provided to change or initialize the value of the acquired properties.
상속(Inheritance) 을 이용한 가변성 관리 기법은 결정에 따라 가변적으로 제공될 대상이 동일한 인터페이스를 따르지 않는 경우에 적용될 수 있는 방법이며, 적용되는 대상이 모두 동일한 인터페이스를 갖는 정보 은닉 방법과 차이점을 갖는다. 여기서는 기능(Operation) 의 추가 및 변경 등을 통해 가변성이 제공되어 질 수 있다. Variability management technique using inheritance is a method that can be applied when the objects to be variably provided according to the decision does not follow the same interface, and has a difference from the information hiding method that all the applied objects have the same interface. Here, variability can be provided by adding and changing functions.
가변점(Variation Point) 을 이용한 가변성 관리 기법에서는 가변점들로부터 파생된 고유의 가변요소(variants) 들을 선택함으로써 대상 시스템 모듈을 구축할 수 있다. 이 방법은 개발자에게 고유의 가변요소를 생성하고 유지 관리하는데 있어 높은 유연성을 제공한다. 이 방법이 갖는 다른 방법들과의 차이점은 가능한 모든 가변 상황들을 제공하고 개발자가 사용하고자 하는 방향대로 선택할 수 있도록 한다는 점이다. 하지만 예상된 가변 요소를 제외한 추가적인 경우의 발생에는 유연하게 대응하기 힘들다는 단점을 갖는다.In a variability management technique using a variation point, a target system module can be constructed by selecting unique variables derived from the variation points. This method gives developers high flexibility in creating and maintaining their own variables. The difference between this method and other methods is that it provides all possible variations and allows you to choose the way you want to use it. However, it is difficult to flexibly cope with the occurrence of additional cases except for the predicted variable elements.
선행 한국 특허(출원번호 2003-0062955호)의 발명은 멀티미디어 파일을 프로세싱하기 위한 애드인 필터들을 레지스트리에서 검색한 뒤 해당하는 멀티미디어 파일에 적절한 애드인 필터를 편집기에 동적으로 설치하는 것을 주요 구성요소로 한다. 사용자는 특정 멀티미디어 파일에 대한 코덱 및 관련 소프트웨어 요소들을 추가적으로 설치함 없이 작업을 수행할 수 있다. 이 방법은 상기 가변성 관리 방법 중 정보은닉 방법을 응용한 것이라 할 수 있다.The invention of the preceding Korean patent (Application No. 2003-0062955) is to search add-in filters for processing multimedia files in the registry and to dynamically install the appropriate add-in filters in the editor in the editor. do. A user can perform a task without additionally installing a codec and related software components for a specific multimedia file. This method is an application of the information hiding method of the variability management method.
그러나, 선행 연구 대부분은 특정 영역에 대한 파일 프로세싱의 자동화 및 효율성을 목적으로 제한된 범위 내에서 가변성 관리 기법을 이용하였다. 하지만 홈 네트워크상의 단말 시스템 소프트웨어의 동적 재구성을 위해서는 상황의 변경에 따른 소프트웨어의 기능 변경 및 소프트웨어의 특성 변경 등이 필요하다. 그리고 홈 환경의 넓은 가변범위에 맞도록 기능 및 특성을 동적으로 확장할 수 있는 메커니즘 및 지원 시스템이 요구된다.However, most of the previous studies have used variability management techniques in a limited range for the purpose of automating and efficiency of file processing for a specific area. However, in order to dynamically reconfigure the terminal system software on the home network, it is necessary to change the function of the software and the characteristics of the software according to the change of the situation. There is a need for a mechanism and support system that can dynamically expand its functionality and characteristics to accommodate a wide variety of home environments.
본 발명은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 가변성 관리 기법 중 정보 은닉 방법 및/또는 인수화 방법을 이용하여 환경 변화에 따라 홈 네트워크 단말시스템을 구성하는 소프트웨어의 모듈들을 추가 또는 교체하거나 그 특성 값을 변경함으로써, 시스템의 상황에 따라 능동적인 기능 변경 및 구조 변경이 가능한 홈 네트워크 단말 시스템 소프트웨어의 동적 재구성 장치 및 방법을 제공하는 것을 그 목적으로 한다.The present invention is to solve the problems as described above, by using the information hiding method and / or acquisition method of the variability management techniques to add or replace the modules of the software constituting the home network terminal system according to the change of the environment or It is an object of the present invention to provide an apparatus and method for dynamically reconfiguring home network terminal system software capable of active function change and structure change according to the system situation by changing the characteristic value.
상술한 목적을 달성하기 위한 본원 발명의 홈 네트워크 단말 시스템을 구성하는 소프트웨어의 동적 재구성 장치는 상기 단말 시스템 주변의 상황 정보를 수집하는 상황 정보 수집기와, 상기 상황 정보 수집기로부터 전달받은 상황 정보를 분석하여 메타데이터 형태로 가공하는 상황 정보 분석기와, 상기 소프트웨어를 구성하는데 사용되는 복수 개의 소프트웨어 모듈을 저장하는 모듈 저장소와, 상기 가공된 상황 정보를 분석하여 상기 소프트웨어 모듈의 추가 또는 교체 여부 및 소프트웨어 모듈 내에 저장된 특성 값 변경 여부를 판단하는 추론엔진과, 상기 모듈 저장소로부터 신규 소프트웨어 모듈을 검색하는 모듈 검색기와, 상기 소프트웨어 모듈의 추가 또는 교체를 하거나, 소프트웨어 모듈 내에 저장된 특성 값을 변경하는 모듈 재구성기와, 상기 모듈 재구성기를 통해 재구성된 소프트웨어 모듈을 대상 소프트웨어에 동적으로 탑재하는 동적 적용기를 포함하는 것을 특징으로 한다.In order to achieve the above object, a dynamic reconfiguration apparatus of software constituting the home network terminal system of the present invention analyzes the context information collector which collects context information around the terminal system, and the context information received from the context information collector. A context information analyzer processing in metadata form, a module repository for storing a plurality of software modules used to construct the software, and analyzing the processed context information to store the addition or replacement of the software module and stored in the software module. An inference engine for determining whether to change a characteristic value, a module finder for searching for a new software module from the module repository, a module reconfigurer for adding or replacing the software module or changing a characteristic value stored in the software module; And a dynamic applicator for dynamically mounting the software module reconfigured through the module reconfigurer in the target software.
또한, 본원 발명의 홈 네트워크 단말 시스템을 구성하는 소프트웨어의 동적 재구성 방법은 상기 단말 시스템 주변의 상황 정보를 수집하는 단계와, 상기 수집된 상황 정보를 분석하여 메타데이터 형태로 가공하는 단계와, 상기 소프트웨어를 구성하는데 사용되는 복수 개의 소프트웨어 모듈을 별도로 구비된 모듈 저장소에 저장하는 단계와, 상기 가공된 상황 정보를 분석하여 상기 소프트웨어 모듈의 추가 또는 교체 여부 및 소프트웨어 모듈 내에 저장된 특성 값 변경 여부를 판단하는 추론 단계와, 상기 모듈 저장소로부터 신규 소프트웨어 모듈을 검색하는 단계와, 상기 판단 결과에 따라 상기 소프트웨어 모듈의 추가 또는 교체를 하거나, 소프트웨어 모듈 내에 저장된 특성 값을 변경하여 소프트웨어 모듈을 재구성하는 단계와, 상기 재구성된 소프트웨어 모듈을 목표가 되는 대상 소프트웨어에 동적으로 탑재하는 단계를 포함하는 것을 특징으로 한다.In addition, the dynamic reconfiguration method of the software constituting the home network terminal system of the present invention includes the steps of collecting the situation information around the terminal system, analyzing and processing the collected situation information in the form of metadata, the software Storing a plurality of software modules which are used to configure the data in a separate module storage; and analyzing the processed context information to infer whether to add or replace the software module and change the characteristic value stored in the software module. Retrieving a new software module from the module repository, reconfiguring the software module by adding or replacing the software module or changing a characteristic value stored in the software module according to the determination result; Soap Characterized by comprising dynamically loaded into the target software which is a target software module.
이하, 본 발명의 실시 예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본원 발명에 따른 홈 네트워크 단말 시스템 소프트웨어의 동적 재구성 장치의 구성도이다.1 is a block diagram of a dynamic reconfiguration apparatus of a home network terminal system software according to the present invention.
도 1을 참조하면, 본 발명은 크게 상황 정보 수집기(101), 가변특성 관리기(110) 및 모듈 저장소(120)로 구성되어 있으며, 본 발명의 특징적인 구성요소인 가변특성 관리기(110)는 상황 정보 분석기(111), 모듈 검색기(112), 추론 엔진(113), 모듈 재구성기(114) 및 동적 적용기(115)로 구성된다. Referring to FIG. 1, the present invention is largely composed of a
상기 상황 정보 수집기(101)에 의해 수집되는 상황 정보(100)는 홈 네트워크 단말 시스템이 존재하는 주변 상황에 대한 정보로서, 상기 단말 시스템이 존재하는 영역 정보와 주변에 존재하는 주변 장치들에 대한 다양한 형태의 정보를 포함한다. 상기 영역 정보에는 상기 단말 시스템이 존재하는 공간적 위치가 집안에서, 예를 들면 거실, 안방 또는 화장실 등 중에서 어디인지에 대한 정보나 주변 환경에 대한 정보, 예를 들면 온도, 조도 또는 습도 등이 포함될 수 있으며, 상기 주변 장치에 대한 정보에는 상기 단말 시스템 주변에 있는 가전제품, 예를 들면 냉장고, 텔레비전, 또는 홈 보안 시스템들 중에 어떤 장치가 주변에 있는지에 대한 정보가 포함될 수 있다. The
이에 상기 상황 정보 수집기(101)는 상기 단말 시스템과 주변에 존재하는 상 기 영역 정보를 제공하는 단말시스템 및 주변 장치들 간의 유/무선 통신을 통해 상기 상황 정보(100)를 수신할 수 있는 다양한 통신 시스템을 포함한다. 상기 상황 정보 수집기는 LAN과 같은 유선 데이터 통신망이나, 블루투스, 적외선 통신 등과 같은 무선 데이터 통신망을 통해서도 구현될 수 있다. 또한 직접적으로 상황 정보(100)를 수집할 수 있도록 적외선 센서, 온도, 습도 감지 센서 등의 다양한 센서를 포함할 수 있다. 상기와 같은 구성요소를 통해 실시간으로 수집된 상황 정보는 상기 가변특성 관리기(110) 내의 상황 정보 분석기(111)로 전달된다. Accordingly, the
상기 가변특성 관리기(110)는 본원 발명의 특징적인 구성요소로서, 가변성 관리 기법 중 정보은닉 방법 및/또는 인수화 방법을 사용하여 상기 단말 시스템이 주변 상황에 맞게 필요로 하는 소프트웨어 모듈을 상기 모듈 저장소(120)로부터 검색하여 추가 또는 교체하거나, 변경된 특성 값을 소프트웨어 모듈에 반영하여 상기 소프트웨어 모듈을 재구성하고 이를 대상 소프트웨어(130)에 적용하는 역할을 한다.The variable
상기 상황 정보 분석기(111)는 상기 가변특성 관리기(110)의 구성 요소로서, 상기 상황 정보 수집기(101)로부터 전달받은 상황 정보를 분석하여 이를 메타데이터 형태로 가공한다. 상기 메타데이터 형태로 가공된 상황 정보는 상기 단말 시스템의 주변 장치의 통신 방식, 통신 포트, 통신 IP 또는 인터페이스 등의 정보 등을 포함하며, 단말 시스템의 주변의 위치적 특성, 환경적 특성 또는 용도적 특성 등과 같은 영역 특성을 포함한다. The
한편 상기 가공된 상황 정보는 상기 가공된 상황 정보를 유형화하여 메타데 이터 형태로 가공한 상황 패턴과, 상기 가공된 상황 정보의 각 인수들이 갖는 특성 값을 추출한 상황 특성 정보로 변환된다. 상기 상황 패턴은 홈 네트워크상에서 서비스 영역에 대한 정보를 미리 유형화해 놓은 패턴으로, 그 구성에 대한 설명은 도 5를 참조하여 후술할 것이나, 간략히 살펴 보면 주변 장치와 영역에 대한 특성 정보 데이터를 메타데이터 형태로 저장한 것으로, 예를 들어, 안방과 건넌방의 상황 패턴이 다를 것이며, TV와 오디오가 있는 거실에서 냉장고와 세탁기가 있는 부엌으로 이동할 때는 상황 패턴의 변경이 발생한다. 이와 달리, 상황 특성 정보는 상황 정보 데이터에 정의된 각 인수들이 갖는 구체적인 특성 값으로서, 예를 들어, 안방에서 상기 단말 시스템이 위치한 구체적인 좌표지점 또는 안방의 온도, 습도 또는 조도 등의 구체적인 수치를 나타내는 값이다.On the other hand, the processed situation information is converted into a situation pattern obtained by tying the processed situation information into a meta data form and a feature value extracted from characteristic values of each factor of the processed situation information. The situation pattern is a pattern in which information about a service area is pre-typed on a home network, and a description of the configuration will be described later with reference to FIG. 5. It is stored in the form of, for example, the situation pattern of the main room and the parcel will be different, and the change of the situation pattern occurs when moving from a living room with TV and audio to a kitchen with a refrigerator and a washing machine. On the contrary, the situation characteristic information is a specific characteristic value of each factor defined in the situation information data. For example, the situation characteristic information represents a specific coordinate point where the terminal system is located in the room or a specific value such as temperature, humidity or illuminance of the room. Value.
또한, 상기 추론 엔진(113)은 상기 가변특성 관리기(110)의 구성 요소로서, 상기 상황 정보 분석기(111)로부터 전달받은 메타데이터 형태의 상황 정보를 상기 단말 시스템이 이전에 갖고 있던 상황 패턴과 비교하여 새로운 소프트웨어 모듈의 추가 또는 기존의 소프트웨어 모듈을 교체할 필요가 있는지를 판단한다. 즉 현재 단말 시스템의 위치 변경이나, 주변 장치의 변경 등으로 인해 새로운 상황 정보가 추론 엔진으로 입력된 경우, 종전의 상황 정보와의 차이점을 비교 판단하여 현재 상황에 맞는 소프트웨어 모듈의 추가 또는 교체 여부를 판단한다. 이때, 상기 소프트웨어 모듈의 추가 또는 교체 외에 종전에 갖고 있던 소프트웨어 모듈을 유지하면서, 그 특성 값만을 변경하는 방법으로 현재의 상황 정보와 일치하는 소프트웨어 모듈을 구성할 수도 있다. 상기 판단과정은 종전의 소프트웨어 모듈이 갖는 상황 패턴 및 상황 특성 정보를 현재의 상황 정보와 비교하여 그 일치 여부를 판단하는 방법으로 이루어진다. In addition, the
도 2 내지 3에서 상기 추론엔진(113)의 추론 알고리즘 및 구성요소가 자세히 설명되겠지만, 간략히 살펴보면, 상기 추론엔진(113)은 현재 상황 정보의 메타데이터와 종래 상황 패턴의 메타데이터를 비교하여, 일치하지 않는 경우 현재 상황 정보에 맞는 상황 패턴을 검색하거나, 검색 결과 일치하는 상황 패턴이 없는 경우 새로운 상황 패턴을 생성하며, 상기 검색되거나 생성된 상황 패턴을 모듈 검색기(112)로 전달하여 현재 상황에 맞는 새로운 소프트웨어 모듈을 검색하게 한다. 상기 상황 패턴의 일치 여부 판단과 별개로, 상황 특성 정보의 일치 여부를 판단하는데, 이는 상황 정보가 갖는 특성 값과 종전 소프트웨어 모듈 내의 인수가 갖는 특성 값을 비교하여 불일치 하는 경우에 현재 상황 정보가 갖는 특성 값을 모듈 재구성기(114)로 전달한다.Although the reasoning algorithm and components of the
상기 모듈 검색기(112)는 상기 가변특성 관리기(110)의 구성 요소로서, 상기 추론 엔진에서 설정된 상기 상황 패턴을 만족시키는 새로운 소프트웨어 모듈을 모듈 저장소(120)로부터 검색하여 모듈 재구성기(114)로 전달한다. 상기 검색은 상기 전달받은 상황 패턴의 메타데이터와 모듈 저장소에 저장된 후보 소프트웨어 모듈의 메타데이터의 매핑(mapping) 과정을 통해 메타데이터 일치 여부를 판단함으로써 이루어진다.The
상기 모듈 재구성기(114)는 상기 가변특성 관리기(110)의 구성 요소로서, 상 기 모듈 검색기(112)가 검색하여 전달한 소프트웨어 모듈과 상기 추론엔진(113)이 생성한 상황 특성 정보를 결합하여, 정제된 모듈(131)을 생성하고 동적 적용기(115)로 전달한다.The module reconfigurer 114 is a component of the variable
상기 동적 적용기(115)는 상기 가변특성 관리기(110)의 구성 요소로서, 상기 모듈 재구성기(114)에서 정제된 모듈(131)을 단말 시스템 내의 대상 소프트웨어(130)에 적용한다.The
또한, 상기 모듈 저장소(120)는 상기 가변특성관리기(110)에서 필요로 하는 소프트웨어 모듈들, 즉 후보 소프트웨어 모듈들을 저장하고 해당 모듈의 검색을 지원하는 곳이다. 상기 검색은 후보 소프트웨어 모듈에 포함된 메타데이터를 색인으로 하여 이루어진다. 상기 저장소로는 하드 디스크 또는 플래쉬 메모리등의 저장장치를 이용할 수 있으며, 소프트웨어 모듈의 공급을 지원하는 서버와 유선 또는 무선 데이터 통신망을 통해 접속되어 있는 구성을 통해 상기 서버로부터 소프트웨어 모듈을 다운로드 받아 저장할 수 있다. In addition, the
또한, 상기 대상 소프트웨어(130)는 상기 홈 네트워크 단말 시스템을 구성하는 소프트웨어 중 단말 시스템의 위치 또는 주변 장치 상황의 변화에 따라 그 변경을 필요로 하는 소프트웨어로서, 상기 소프트웨어를 구성하는 소프트웨어 모듈의 교체 또는 추가나 소프트웨어 모듈의 특성 값 변경을 통해 성능의 변화를 꾀할 수 있다. In addition, the
상기 동적 적용기(115)를 통해 정제된 모듈(131)은 대상 소프트웨어(130)에 적용되어 상기 소프트웨어의 새로운 구성요소가 된다. The
도 1을 참조하여 본원 발명의 일 실시 예에 따른 홈 네트워크 단말 시스템 소프트웨어의 동적 재구성 장치의 동작 순서를 살펴보면, 상기 단말 시스템의 상기 상황 정보 수집기(101)가 주변 상황에 대한 상황 정보를(100) 주기적으로 받아들이고, 이를 상황 정보 분석기(111)로 전달한다. 상기 상황 정보 분석기(111)는 전달된 상황 정보(100)를 분류하고 분석하여 메타데이터 형태의 상황 정보로 가공하여 추론엔진(113)에 전달한다. 상기 추론엔진(113)은 상기 전달된 메타데이터 형태의 상황 정보를 바탕으로 새로운 소프트웨어 모듈의 추가 또는 교체 여부 및 소프트웨어 모듈의 특성 값 변경 여부를 판단한다. 상기 판단결과에 따라 소프트웨어 모듈의 추가 또는 교체나 특성 값의 변경이 필요한 경우, 적합한 상황 패턴을 검색하거나 새로이 생성하고 이를 모듈 검색기(112)로 전달하여 적합한 후보 소프트웨어 모듈을 검색하게 하고, 특성 값의 변경에 따른 상황 특성 정보를 설정하여 상기 검색된 소프트웨어 모듈에 적용할 수 있도록 한다. 이때 특성 값의 변경만으로도 현재 상황에 맞는 소프트웨어 모듈을 재구성할 수 있는 경우에는 상기 상황 패턴의 검색단계를 생략할 수 있다. 모듈 검색기(112)는 상기 전달받은 상황 패턴을 기준으로 모듈 저장소(120)에서 적합한 소프트웨어 모듈을 검색하여 검색된 후보 소프트웨어 모듈을 모듈 재구성기(114)로 전달하고, 모듈 재구성기(114)는 상기 전달받은 소프트웨어 모듈에 앞서 설명한 가변성 관리 기법 중 정보은닉 방법을 적용하여 소프트웨어 모듈의 추가 또는 교체를 실행할 수 있다. 또한, 상기 추가 또는 교체된 소프트웨어 모듈에 상기 추론엔진(113)으로부터 전달받은 상기 상황 특성 정보를 앞서 설명한 가변성 관리 기법 중 인수화 방법을 통해 결합하여 정제된 모듈(131)을 생성할 수 있으며, 상기 정제된 모듈(131)은 동적 적용기(115)에 전달되고, 상기 동적 적용기(115)는 상기 전달받은 정제된 모듈(131)을 대상 소프트웨어(130)에 적용한다.Referring to FIG. 1, the operation sequence of the dynamic reconfiguration apparatus of the home network terminal system software according to an exemplary embodiment of the present disclosure may be described. The
도 2는 본원 발명에 따른 홈 네트워크 단말 시스템 소프트웨어의 동적 재구성 방법의 흐름도이다.2 is a flowchart of a method for dynamically reconfiguring home network terminal system software according to the present invention.
도 2를 참조하면 본원 발명의 일 실시 예에 따른 홈 네트워크 단말 시스템 소프트웨어의 동적 재구성방법을 잘 이해할 수 있다.Referring to Figure 2 it can be well understood the dynamic reconfiguration method of the home network terminal system software according to an embodiment of the present invention.
먼저, 상기 단말 시스템이 존재하는 영역 정보와 주변에 존재하는 주변 장치들에 대한 다양한 형태의 정보와 같은 각종의 상황 정보를 수집한다(단계 201).First, various types of contextual information are collected, such as area information in which the terminal system exists and various types of information on peripheral devices existing in the vicinity (step 201).
상기 수집 단계를 통해 수집된 상황 정보를 분석하고 메타데이터 형태로 가공한다. 이때, 상기 수집된 상황 정보를 상기 단말 시스템이 존재하고 있는 영역의 특성 정보 및 상기 단말 시스템 주변에 위치한 장치들의 특성 정보로 분류하여 저장할 수 있다. 상기 가공된 메타데이터는 상기 단말 시스템의 주변 장치의 통신 방식, 통신 포트, 통신 IP 또는 인터페이스 등의 정보 등을 포함하며, 단말 시스템의 주변의 위치적 특성, 환경적 특성 또는 용도적 특성 등과 같은 영역 특성을 포함한다(단계 202).The collected situation information is analyzed and processed into metadata. In this case, the collected situation information may be classified and stored as characteristic information of an area in which the terminal system exists and characteristic information of devices located around the terminal system. The processed metadata includes information such as a communication method, a communication port, a communication IP, or an interface of a peripheral device of the terminal system, and includes an area such as a location characteristic, an environmental characteristic, or a usage characteristic of the surroundings of the terminal system. Include the property (step 202).
한편, 상기 수집 단계들과는 별도로 상기 단말 시스템 내의 소프트웨어를 구성하는 소프트웨어 모듈을 별도로 구비된 저장소에 저장한다. 상기 저장된 소프트 웨어 모듈은 소프트웨어 모듈의 추가 또는 교체가 필요한 경우 그 검색의 대상이 된다. 이때, 유선 또는 무선 데이터 통신망을 통해 접속되어 있는 서버로부터 상기 소프트웨어 모듈을 다운로드 받아 상기 모듈 저장소에 저장할 수 있다(단계 210).Meanwhile, in addition to the collecting steps, a software module constituting the software in the terminal system is stored in a separate storage. The stored software module is subject to the search when the software module needs to be added or replaced. In this case, the software module may be downloaded from a server connected through a wired or wireless data communication network and stored in the module repository (step 210).
다음으로, 상기 가공된 상황 정보를 분석하여 상기 소프트웨어 모듈의 추가 또는 교체 여부 및 소프트웨어 모듈 내에 저장된 특성 값 변경 여부를 판단하는 추론 단계(203, 206)를 거친다. 상기 추론 단계의 상세한 알고리즘은 도 3 및 도 4를 참조하여 상세히 설명한다. Next, the processed situation information is analyzed to determine whether to add or replace the software module and to determine whether to change the characteristic value stored in the software module (203, 206). The detailed algorithm of the inference step will be described in detail with reference to FIGS. 3 and 4.
상기 판단결과 소프트웨어 모듈의 추가 또는 교체가 필요한 경우 상기 소프트웨어 모듈의 저장소에서 신규 소프트웨어 모듈을 검색한다(단계 204).If it is determined that addition or replacement of the software module is necessary, a new software module is searched for in the repository of the software module (step 204).
상기 검색된 소프트웨어 모듈은 후술할 소프트웨어 모듈 재구성단계로 넘겨진다(단계 205).The retrieved software module is passed to the software module reconfiguration step to be described later (step 205).
그리고, 상기 소프트웨어 모듈 내에 저장된 특성 값의 변경이 필요한 경우 상기 변경된 특성 값을 후술할 소프트웨어 모듈 재구성단계로 넘겨준다(단계 206).When the characteristic value stored in the software module needs to be changed, the changed characteristic value is passed to the software module reconfiguration step to be described later (step 206).
상기 단계들에서 검색된 신규 소프트웨어 모듈은 앞에서 설명한 가변성 관리 기법 중 정보은닉 방법을 통해 기존의 소프트웨어 모듈과 교체되며, 상기 변경된 특성 값은 앞에서 설명한 가변성 관리 기법 중 인수화 방법을 통해 소프트웨어 모듈 내에 적용되어 소프트웨어 모듈을 재구성하게 된다(단계 207).The new software module retrieved in the above steps is replaced with the existing software module through the information hiding method among the above-described variability management techniques, and the changed characteristic values are applied in the software module through the acquisition method of the above-described variability management techniques to The module will be reconfigured (step 207).
상기 재구성 단계를 통해 재구성된 소프트웨어 모듈은 상기 단말시스템 내의 소프트웨어에 동적으로 탑재된다(단계 208).The software module reconstructed through the reconstruction step is dynamically loaded into the software in the terminal system (step 208).
도 3은 도 1의 상기 추론 엔진(113)의 내부 블럭도이다. 3 is an internal block diagram of the
도 3을 참조하면, 추론 엔진(313)은 비교처리부(301), 상황 패턴 저장소(302), 상황 패턴 생성부(303), 상황 특성 정보 추출부(304)로 구성되어 있으며, 도 1에 도시된 상기 상황 정보 분석기(111), 모듈 검색기(112) 및 모듈 재구성기(114)는 도 3의 구성에서도 동일한 역할을 수행한다. Referring to FIG. 3, the
상기 비교처리부(301)는 상황 정보 분석기(311)로 부터 상기 가공된 상황 정보를 전달받아서 상기 가공된 상황 정보의 메타데이터와 상기 소프트웨어에 탑재되어있는 소프트웨어 모듈들에 관한 상황 패턴 및 상황 특성 정보와의 일치 여부를 판단한다. 상기 판단 결과 상황 패턴의 변경이 필요한 경우 상황 패턴 저장소(302)에서 상기 가공된 상황 정보의 메타데이터와 일치하는 상황 패턴을 검색하거나, 검색 결과 일치하는 상황 패턴이 없는 경우 상황 패턴 생성부(303)를 통해 새로운 상황 패턴을 생성한다. 또한 상기 판단 결과 상황 특성 정보의 변경이 필요한 경우 상기 상황 특성 정보 추출부(304)로 상기 가공된 상황 정보를 전달하여 새로운 상황 특성 정보를 추출하게 한다. The
상기 상황 패턴 저장소(302)는 상기 단말 시스템이 겪을 수 있는 상황을 미리 유형화하여 생성한 상황 패턴을 저장하며, 상황 정보의 변경에 따라 상황 패턴의 변경이 필요하게 된 경우, 적합한 상황 패턴을 검색할 수 있도록 검색기능을 지원한다. 여기에서 검색된 새로운 상황 패턴은 상기 모듈 검색기(312)로 전달되어 새로운 소프트웨어 모듈을 검색하는데 사용된다. The
상기 상황 패턴 생성부(303)는 상기 상황 패턴 저장소(302)에 필요한 상황 패턴이 없는 경우, 상기 가공된 상황 정보의 메타데이터를 분석하여 새로운 상황 패턴을 생성한다. 여기서 생성된 새로운 상황 패턴은 상기 상황 패턴 저장소(302)로 전달되어 저장될 뿐만 아니라, 상기 모듈 검색기(312)로 전달되어 새로운 소프트웨어 모듈을 검색하는데 사용된다. When there is no necessary situation pattern in the
상기 상황 특성 정보 추출부(304)는 상기 비교처리부(301)의 판단 결과 상기 상황 특성 정보의 변경이 필요한 경우, 상기 비교처리부(301)로 부터 전달받은 상기 가공된 상황 정보로부터 상황 특성 정보를 추출하여 상기 모듈 재구성기(314)로 전달한다. The situation characteristic
도 4는 도 1의 추론 엔진의 추론 알고리즘에 대한 동작 흐름도이다.4 is an operation flowchart of an inference algorithm of the inference engine of FIG. 1.
도 4를 참조하면, 도 3의 추론엔진(313)에서 상황 정보를 분석하고 후보 모듈을 검색하여 소프트웨어 모듈을 재구성하는 동작 순서를 이해할 수 있다.Referring to FIG. 4, the
먼저, 상기 상황 정보 분석기(311)에서 메타데이터의 형태로 가공된 상황 정보가 상기 추론 엔진(313)에 입력되면 해당 상황 정보의 모든 메타데이터 필드들을 분석한다. 상기 분석결과를 기준으로 기존의 상황 정보와 비교하여 변경부분이 있는지를 판단하는데, 이때 변경 여부의 판단대상은 기존의 상황 패턴 및 상황 특성 정보가 된다(단계 401).First, when context information processed in the form of metadata in the
상기 가공된 상황 정보와 기존에 있던 상황 패턴의 메타데이터를 비교하여, 그 일치 여부를 판단한다(단계 402).The processed situation information is compared with the metadata of the existing situation pattern, and it is determined whether there is a match (step 402).
상기 판단 결과 상기 가공된 상황 정보와 기존의 상황 패턴이 일치하지 않는 경우, 현재의 상황 정보와 맞는 상황 패턴을 검색하거나 새롭게 생성하여, 새로운 상황 패턴을 설정한다. 이때 상기 상황 패턴을 설정하는 단계는 상기 상황 패턴을 저장해놓은 상황 패턴 저장소(302)로부터 상기 가공된 상황 정보의 메타데이타와 일치하는 상황 패턴을 검색하는 단계와, 상기 검색된 상황 패턴을 상기 가공된 상황 정보의 상황 패턴으로 설정하는 단계와, 상기 검색결과 일치하는 상황 패턴을 찾지 못한 경우 새로운 상황 패턴을 생성하는 단계와, 상기 생성된 상황 패턴을 상기 가공된 상황 정보의 상황 패턴으로 설정하고 상기 상황 패턴 저장소에 저장하는 단계를 포함할 수 있다(단계 403).If the result of the determination does not match the processed situation information and the existing situation pattern, a new situation pattern is set by searching for or newly generating a situation pattern that matches the current situation information. In this case, the setting of the situation pattern may include retrieving a situation pattern matching the metadata of the processed situation information from the
새로운 상황 패턴에 일치하는 새로운 소프트웨어 모듈을 찾기 위해, 모듈 검색기(112)에 새로운 상황 패턴에 대한 데이터를 전송하여 소프트웨어 모듈 검색 요청을 한다(단계 404).In order to find a new software module that matches the new situation pattern, data about the new situation pattern is sent to the
상기 모듈 검색 단계를 통해 검색된 소프트웨어 모듈을 상기 모듈 재구성기(314)로 전달한다(단계 405).The software module retrieved through the module searching step is transferred to the module reconfigurer 314 (step 405).
상기 상황 패턴의 변경이 없거나, 상기 모듈 재구성 단계(405)를 거친 후에 상기 상황 특성 정보의 변경 여부를 판단한다(단계 406). It is determined whether there is no change of the situation pattern or the situation characteristic information is changed after the module reconfiguration step 405 (step 406).
상기 판단 결과 상황 특성 정보의 변경이 필요한 경우, 변경된 상황 특성 정보를 설정한다. 이때, 상기 상황 특성 정보를 설정하는 단계는 상기 가공된 상황 정보의 메타데이터로부터 상기 상황 특성 정보를 추출하는 단계를 포함할 수 있다(단계 407).If it is determined that the situation characteristic information needs to be changed, the changed situation characteristic information is set. In this case, the setting of the situation characteristic information may include extracting the situation characteristic information from metadata of the processed situation information (step 407).
상기 새롭게 설정된 상황 특성 정보는 상기 모듈 재구성기(314)로 전달된다(단계 408).The newly set situation characteristic information is transmitted to the module reconfigurer 314 (step 408).
도 5는 본원 발명의 일 실시 예에 따라, 현재의 홈 네트워크 시스템의 상황 정보를 갖고 있는 상황 패턴의 메타데이터를 도시하고 있다. 상기 메타데이터는 도시된 바와 같이 상기 단말 시스템이 존재하고 있는 영역을 식별하기 위한 영역 번호로 대표될 수 있으며, 크게 상기 단말 시스템이 존재하는 영역의 영역 특성 정보와 주변 장치의 특성에 대한 정보들을 포함한다. 상기 영역 특성 정보는, 예를 들면 위치적 특성, 환경적 특성 또는 용도적 특성등에 대한 정보를 포함할 수 있다. 또한, 상기 주변 장치의 특성에 대한 정보는 장치 식별을 위한 장치 ID, 장치의 통신방식, 통신포트, 통신 IP 또는 인터페이스 등과 같은 장치 특성 정보를 포함할 수 있다. FIG. 5 illustrates metadata of a context pattern having context information of a current home network system according to an embodiment of the present invention. The metadata may be represented by an area number for identifying an area in which the terminal system exists as shown, and includes information on area characteristic information of a region in which the terminal system exists and characteristics of a peripheral device. do. The area characteristic information may include, for example, information about a location characteristic, an environmental characteristic, or a usage characteristic. In addition, the information on the characteristics of the peripheral device may include device characteristic information such as a device ID for device identification, a communication method of the device, a communication port, a communication IP, or an interface.
도 6a는 가변성 관리 기법 중 정보 은닉 방법을 이용한 모듈 변경 알고리즘을 설명하고 있는 도면이다. 6A is a diagram illustrating a module change algorithm using an information hiding method among variability management techniques.
정보 은닉 방법은 설명한 바와 같이, 소프트웨어 모듈 자체를 가변요소로 보는 가변성 관리 방법으로, 특정 기능을 담당하는 소프트웨어 모듈을 통째로 교환하며, 모듈내의 특성 값의 변경 여부는 판단대상이 되지 않는다. As described above, the information hiding method is a variability management method in which the software module itself is seen as a variable element, and a whole software module in charge of a specific function is exchanged. It is not determined whether or not the characteristic value in the module is changed.
도 6a에서는 소프트웨어 모듈이 저장된 상기 모듈 저장소(120)로부터 상황 패턴과 일치하는 소프트웨어 모듈을 검색하는데, 상황 패턴의 메타데이터와 후보 소프트웨어 모듈의 메타데이터의 매핑 과정을 통해 일치 여부를 판단한다. 상기의 판단과정을 통해 검색된 소프트웨어 모듈은 도시된 바와 같이 상기 모듈 재구성기(114)로 전달되어, 기존의 소프트웨어 모듈과 교체되거나 신규로 추가된다. In FIG. 6A, a software module matching a situation pattern is retrieved from the
도 6b는 가변성 관리 기법 중 인수화 방법을 이용하여 소프트웨어 모듈들의 특성 값을 변경하는 알고리즘을 설명하고 있는 도면이다.FIG. 6B is a diagram illustrating an algorithm for changing a characteristic value of software modules using an argumentation method among variability management techniques.
인수화 방법은 설명한 바와 같이, 소프트웨어 모듈 자체가 아닌 소프트웨어 모듈내에 정의된 인수를 가변요소로 보는 가변성 관리 방법으로, 모듈내의 인수, 즉 특성 값의 변경을 통해 가변성을 구현한다. 상기 특성 값을 외부에서 변경하기 위해서는 별도의 특성 인터페이스를 구비하여야 한다.As described above, the argument method is a variability management method in which arguments defined in a software module, rather than the software module itself, are regarded as variable elements. In order to change the characteristic value from the outside, a separate characteristic interface must be provided.
도 6b에서는 상황 특성 정보가 소프트웨어 모듈에 존재하는 특성 인터페이스를 통해 설정되며, 도시된 바와 같이 상황 특성 정보의 변경에 따라 관계된 모듈의 ON/OFF 가 결정되면서 모듈 내부의 아키텍처 및 특성이 변경될 수 있다. 상기 소프트웨어 모듈은 정보 은닉 방법을 통해 교체된 소프트웨어 모듈일 수 있으며, 상황 패턴의 교체가 없었다면 종래의 소프트웨어 모듈의 특성 값의 변경만을 반영할 수도 있다. In FIG. 6B, the context characteristic information is set through a characteristic interface present in the software module. As illustrated in FIG. 6, the architecture and characteristics of the module may be changed while ON / OFF of the related module is determined according to the change of the context characteristic information. . The software module may be a software module replaced by an information hiding method, and may only reflect a change in a characteristic value of a conventional software module if there is no replacement of a situation pattern.
이상과 같이, 본 발명에 의하면 서비스 영역의 변경이 빈번하고, 실시간적 기능 변경이 발생하는 홈 네트워크상의 단말 소프트웨어 시스템의 상황에 따라 능동적인 기능 변경 및 구조 변경이 가능하다. 이는 환경 변화에 동적으로 적응할 수 있는 유연한 소프트웨어 구조를 제공해주며, 환경의 확장에 따른 소프트웨어 기능 확장에도 유리한 구조를 제공하는 효과를 갖는다.As described above, according to the present invention, active function change and structure change are possible according to the situation of the terminal software system on the home network in which the service area changes frequently and the real-time function change occurs. This provides a flexible software structure that can adapt dynamically to changes in the environment, and has the effect of providing a structure that is beneficial to software function expansion as the environment expands.
Claims (20)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020050117758 | 2005-12-05 | ||
| KR20050117758 | 2005-12-05 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20070058977A true KR20070058977A (en) | 2007-06-11 |
Family
ID=38355525
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020060121353A Ceased KR20070058977A (en) | 2005-12-05 | 2006-12-04 | Dynamic Reconfiguration Apparatus and Method for Home Network Terminal System Software |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR20070058977A (en) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101038082B1 (en) * | 2008-10-24 | 2011-06-01 | 한국과학기술원 | Method and apparatus for managing inconsistency between context information in context aware system |
| KR101039748B1 (en) * | 2009-03-04 | 2011-06-08 | 한국과학기술원 | Web Service Variability Determination Method Using Web Service Function and Deployment Variability |
| US9120437B2 (en) | 2013-02-27 | 2015-09-01 | Kt Corporation | Vehicle component control |
| US9215551B2 (en) | 2013-02-04 | 2015-12-15 | Kt Corporation | Resource management in machine to machine networks |
| US9326126B2 (en) | 2013-09-12 | 2016-04-26 | Kt Corporation | Transferring operating environment of registered network to unregistered network |
| US10868692B2 (en) | 2013-10-15 | 2020-12-15 | Kt Corporation | Monitoring device using automation network |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR970029024A (en) * | 1995-11-01 | 1997-06-26 | 김광호 | Dynamic reconfiguration and operating system reconfiguration method |
| KR19990071479A (en) * | 1995-11-21 | 1999-09-27 | 다이어몬드 멀티메디아 시스템즈, 인코포레이티드 | Dynamic Programmable Mode Switching Device Driver Structure |
| US20020073145A1 (en) * | 2000-10-02 | 2002-06-13 | Tadashi Shimoji | System for dynamically generating and processing a program |
| US20030158760A1 (en) * | 2002-01-24 | 2003-08-21 | Robert Kannenberg | System for modifying software using reusable software components |
| KR20040086098A (en) * | 2003-03-31 | 2004-10-08 | 마이크로소프트 코포레이션 | System architecture and related methods for dynamically adding software components to extend functionality of system processes |
| KR20050056824A (en) * | 2003-12-10 | 2005-06-16 | 한국전자통신연구원 | Sobot based on ubiquitous network, system using the sobot, operation method of the system, and transition and transferring method of the sobot |
-
2006
- 2006-12-04 KR KR1020060121353A patent/KR20070058977A/en not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR970029024A (en) * | 1995-11-01 | 1997-06-26 | 김광호 | Dynamic reconfiguration and operating system reconfiguration method |
| KR19990071479A (en) * | 1995-11-21 | 1999-09-27 | 다이어몬드 멀티메디아 시스템즈, 인코포레이티드 | Dynamic Programmable Mode Switching Device Driver Structure |
| US20020073145A1 (en) * | 2000-10-02 | 2002-06-13 | Tadashi Shimoji | System for dynamically generating and processing a program |
| US20030158760A1 (en) * | 2002-01-24 | 2003-08-21 | Robert Kannenberg | System for modifying software using reusable software components |
| KR20040086098A (en) * | 2003-03-31 | 2004-10-08 | 마이크로소프트 코포레이션 | System architecture and related methods for dynamically adding software components to extend functionality of system processes |
| KR20050056824A (en) * | 2003-12-10 | 2005-06-16 | 한국전자통신연구원 | Sobot based on ubiquitous network, system using the sobot, operation method of the system, and transition and transferring method of the sobot |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101038082B1 (en) * | 2008-10-24 | 2011-06-01 | 한국과학기술원 | Method and apparatus for managing inconsistency between context information in context aware system |
| KR101039748B1 (en) * | 2009-03-04 | 2011-06-08 | 한국과학기술원 | Web Service Variability Determination Method Using Web Service Function and Deployment Variability |
| US9215551B2 (en) | 2013-02-04 | 2015-12-15 | Kt Corporation | Resource management in machine to machine networks |
| US9120437B2 (en) | 2013-02-27 | 2015-09-01 | Kt Corporation | Vehicle component control |
| US9326126B2 (en) | 2013-09-12 | 2016-04-26 | Kt Corporation | Transferring operating environment of registered network to unregistered network |
| US9798533B2 (en) | 2013-09-12 | 2017-10-24 | Kt Corporation | Transferring operating environment of registered network to unregistered network |
| US10169026B2 (en) | 2013-09-12 | 2019-01-01 | Kt Corporation | Transferring operating environment of registered network to unregistered network |
| US10868692B2 (en) | 2013-10-15 | 2020-12-15 | Kt Corporation | Monitoring device using automation network |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Guo et al. | Mistify: Automating {DNN} model porting for {On-Device} inference at the edge | |
| Chard et al. | DLHub: Model and data serving for science | |
| US7865874B2 (en) | System and method for information collection for an adaptive software dependency model | |
| US9489189B2 (en) | Dynamically generate and execute a context-specific patch installation procedure on a computing system | |
| US10416979B2 (en) | Package installation on a host file system using a container | |
| JP7050106B2 (en) | How to instantiate an executable analysis module | |
| Giurgiu et al. | Dynamic software deployment from clouds to mobile devices | |
| US20030093420A1 (en) | Method and system for retrieving sharable information using a hierarchically dependent directory structure | |
| CN112099800B (en) | Code data processing method, device and server | |
| CN115309562A (en) | Operator calling system, operator generating method and electronic equipment | |
| CN111597557B (en) | Method, system, device, equipment and storage medium for detecting malicious application program | |
| CN112106023B (en) | Uninstalling the server and uninstalling the program | |
| US6865732B1 (en) | Providing an embedded application specific web server | |
| WO2015073025A1 (en) | Indicating a trait of a continuous delivery pipeline | |
| WO2021104713A1 (en) | System, device, method and datastack for managing applications that manage operation of assets | |
| CN109710263A (en) | Compilation Method, device, storage medium and the electronic equipment of code | |
| US12210854B2 (en) | Methods and apparatuses for providing a function as a service platform | |
| KR20070058977A (en) | Dynamic Reconfiguration Apparatus and Method for Home Network Terminal System Software | |
| US7870539B2 (en) | System and method for cross-channel dependency resolution in a dependency model | |
| CN112997146A (en) | Offload server and offload program | |
| US20080071722A1 (en) | System and method for generating an adaptive software knowledge model | |
| US7761395B2 (en) | System and method for scalable processing of collected knowledge by creating knowledge generation nodes | |
| Pang et al. | Finding Android malware trace from highly imbalanced network traffic | |
| Schmidt et al. | ToMaR--A Data Generator for Large Volumes of Content | |
| Lazovik et al. | Runtime modifications of spark data processing pipelines |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20061204 |
|
| PA0201 | Request for examination | ||
| PG1501 | Laying open of application | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20071030 Patent event code: PE09021S01D |
|
| E601 | Decision to refuse application | ||
| PE0601 | Decision on rejection of patent |
Patent event date: 20080331 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20071030 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |