KR20080022934A - Application framework system for distribution and migration of application - Google Patents

Application framework system for distribution and migration of application Download PDF

Info

Publication number
KR20080022934A
KR20080022934A KR1020060086794A KR20060086794A KR20080022934A KR 20080022934 A KR20080022934 A KR 20080022934A KR 1020060086794 A KR1020060086794 A KR 1020060086794A KR 20060086794 A KR20060086794 A KR 20060086794A KR 20080022934 A KR20080022934 A KR 20080022934A
Authority
KR
South Korea
Prior art keywords
application
manager
view
mvc
controller
Prior art date
Application number
KR1020060086794A
Other languages
Korean (ko)
Other versions
KR100827925B1 (en
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 KR1020060086794A priority Critical patent/KR100827925B1/en
Priority to PCT/KR2007/000064 priority patent/WO2008029974A1/en
Publication of KR20080022934A publication Critical patent/KR20080022934A/en
Application granted granted Critical
Publication of KR100827925B1 publication Critical patent/KR100827925B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

An application framework system for distributing and migrating an application in a ubiquitous environment is provided to support a platform independent application to users, share computing resources by using a distribution MVC(Model, View and Controller) model, and guarantee migration to the users in the unique environment. An MVC/UAML(Ubiquitous Application Markup Language) manager(210) manages a model, a view, and a controller, and parses/manages UMAL defining the model, the view, and the controller by including a model manager(212), a view manager(214) and a controller manager(216). A service manager(220) operates and manages an automatic update service and migration service of the model, the view, and the controller. A runtime manager(230) manages a life cycle related to loading, executing, and terminating an application, and stores/manages information of the model, the view, and the controller. An event manager transfers a message and data among the model, the view, and the controller. A network manager(250) transfers the message generated from the application to other frameworks and devices.

Description

유비쿼터스 환경에서 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크 시스템{Application framework system for distribution and migration of application}Application framework system for distribution and mobility of applications in ubiquitous environment

도 1은 본 발명에 따른 유비쿼터스 환경에서 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크 시스템의 구성을 나타내는 블록도. 1 is a block diagram showing the configuration of an application framework system for the distribution and mobility of applications in the ubiquitous environment according to the present invention.

도 2는 유비쿼터스 환경에서 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크의 구성을 나타내는 블록도. Figure 2 is a block diagram showing the configuration of an application framework for the distribution and mobility of applications in a ubiquitous environment.

도 3은 애플리케이션의 뷰와 콘트롤러간의 데이터 전달에 관한 시퀀스 다이어그램. 3 is a sequence diagram for passing data between a view of an application and a controller.

도 4는 뷰가 마이그레이션되는 시퀀스 다이어그램. 4 is a sequence diagram in which views are migrated.

본 발명은 유비쿼터스 기술에 관한 것으로서, 보다 상세하게는 유비쿼터스 환경에서 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크 시스템에 관한 것이다. The present invention relates to ubiquitous technology, and more particularly, to an application framework system for the distribution and mobility of applications in a ubiquitous environment.

전통적인 컴퓨팅 환경은 사용자가 특정한 컴퓨팅 장치가 있는 공간 앞에서 그 장치를 직접 사용하는 정적인 환경이다. 유비쿼터스 환경은 사용자가 컴퓨팅 장치를 인지하지 않아도 인접한 공간에 존재하는 모든 컴퓨팅 장치들이 사용자의 편의와 업무를 돕기 위해 서로 협동하는 동적이고 지능적인 환경이다. Traditional computing environments are static environments in which a user directly uses a device in front of a particular computing device. The ubiquitous environment is a dynamic and intelligent environment in which all computing devices in adjacent spaces cooperate with each other to help the user's convenience and work even if the user does not recognize the computing device.

물리적인 공간과 전자적인 공간의 결합으로 생성되는 유비쿼터스 공간은 다양한 기종의 장치들과 다양한 플랫폼 상의 애플리케이션과 서비스들이 실시간으로 협업하게 된다. 이러한 환경 하에 존재하는 서비스들은 다양하게 혼재할 뿐만 아니라 서비스를 받는 대상에 따라 정보 제공방법 등이 실행시간에 결정되고 변경되어야 한다. The ubiquitous space, which is created by combining physical and electronic space, enables real-time collaboration of various devices and applications and services on various platforms. The services existing under such environment are not only mixed in various ways, but the information provision method must be determined and changed at runtime according to the target of the service.

이러한 유비쿼터스 환경은 애플리케이션이 실행될 수 있는 환경의 다양화를 초래하며, 이는 기존의 특정 환경에 종속되어 정적으로 개발되던 애플리케이션 개발방법의 변화를 요구한다. 그러나, 애플리케이션 개발자들에게는 애플리케이션을 개발하는 시점에서 자신이 작성하는 애플리케이션이 어느 환경에서 실행될 것인지를 예측하기 힘들며, 이것을 예측한다고 하더라도 각 환경마다 다른 버전의 애플리케이션을 개발해야 하므로 개발 어려움을 겪게 된다. This ubiquitous environment leads to the diversification of the environment in which an application can be executed, which requires a change in the method of developing an application that is statically developed depending on a specific existing environment. However, it is difficult for application developers to predict in which environment the application they write will run at the time of developing the application, and even if it is predicted, it is difficult to develop a different version of the application for each environment.

유비쿼터스 공간 내에서는 사용자를 위한 서비스의 선택과 상황인지 등의 추론도 중요한 요소지만 사용자와의 접점, 즉, 직접적으로 보고 듣고 느낄 수 있는 사용자와의 상호작용 또한 중요한 부분이다. 시스템의 복잡성과 환경의 다양성으로 애플리케이션 개발의 어려움으로 인해 서비스 제공을 하지 못한다면 유비쿼터스 환경을 구축하는데 큰 장애요소가 될 것이다. 따라서 최근에는 유비쿼터스 컴퓨팅 환경을 위한 애플리케이션 프레임워크에 대한 연구가 활발히 진행되고 있으며, 대표 적으로는 PIMA, Gaia, Aura 등이 있다. Inferencing such as service selection and situation for the user is also an important factor in the ubiquitous space, but the point of contact with the user, that is, the interaction with the user who can directly see, hear and feel is also important. If the service cannot be provided due to the difficulty of application development due to the complexity of the system and the diversity of the environment, it will be a big obstacle in establishing a ubiquitous environment. Recently, researches on application frameworks for ubiquitous computing environments have been actively conducted, and PIMA, Gaia, and Aura are representative.

PIMA(Platform-Independent Model for Application) 프로젝트는 IBM사의 T.J. Watson Research Center에서 진행된 연구로서, 현재의 모바일 컴퓨팅 장치, 애플리케이션 및 물린 환경에 대해 근본적인 변화가 필요하며, 새로운 비전으로 디바이스는 포탈, 애플리케이션은 태스크, 물리 환경은 컴퓨팅 환경으로 고려해야 한다고 제시하였다. 그러나, PIMA에서는 다양한 환경에서 구동되는 애플리케이션의 통합과 프레임워크로서의 기능 정의는 부족한 편이다. The Platform-Independent Model for Application (PIMA) project is based on IBM's T.J. Research from the Watson Research Center suggests that fundamental changes to current mobile computing devices, applications, and bite environments are needed, with new vision that devices should be considered portals, applications as tasks, and physical environments as computing environments. However, PIMA lacks the integration of applications running in various environments and the definition of functionality as a framework.

Gaia는 Illinois 대학교에서 유비쿼터스 애플리케이션을 위한 인프라구조를 개발하는 프로젝트로서, 컴포넌트 기반의 미들웨어 운영체제, 유비쿼터스를 구축하기 위한 애플리케이션 모델, 및 컴포넌트 기반 애플리케이션을 조합하기 위한 스크립트 언어의 3개의 주요 요소에 기초하고 있다. Gaia에서 정의한 애플리케이션 모델은 MVC 모델을 액티브 스페이스 환경에 맞도록 적용하였으나, 액티브 공간들간의 협업과 이 공간을 벗어나 공간을 통합하는 측면에서는 문제점을 가진다. Gaia is a project at Illinois University to develop an infrastructure for ubiquitous applications, based on three main elements: a component-based middleware operating system, an application model for building ubiquitous, and a scripting language for combining component-based applications. . The application model defined by Gaia applies the MVC model to the active space environment, but has problems in terms of collaboration between active spaces and integration of spaces outside of this space.

Aura는 Carnegie Mellon 대학교에서 진행하는 프로젝트로서 유비쿼터스 환경에서 사용자 이동성을 위한 프레임워크로서, 이동 사용자의 프록시(proxy)처럼 동작한다. 그러나, Aura는 유비쿼터스 환경에서 애플리케이션의 효율적인 개발방법에 관한 지원은 부족하다. Aura is a project at Carnegie Mellon University, a framework for user mobility in a ubiquitous environment that acts as a proxy for mobile users. However, Aura lacks support for how to develop applications efficiently in a ubiquitous environment.

본 발명이 이루고자 하는 기술적 과제는 유비쿼터스 환경에서 사용자에게 플랫폼 독립적인 애플리케이션을 지원하고 분산 MVC 모델을 이용하여 컴퓨팅 자원을 공유하고 사용자에게 이동성을 보장하는 유비쿼터스 환경에서 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크 시스템 을 제공하는데 있다. The technical task of the present invention is to provide a platform-independent application to the user in the ubiquitous environment, to share the computing resources using a distributed MVC model and to ensure the mobility to the user application framework for the distribution and mobility of the application in the ubiquitous environment To provide a system.

상기 기술적 과제를 달성하기 위한 본 발명에 따른 유비쿼터스 환경에서 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크는, 유비쿼터스 환경에서 모델, 뷰 및 콘트롤러(MVC; Model, View and Controller)로 이루어진 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크에 있어서, 상기 모델, 뷰 및 콘트롤러를 각각 관리하고, 상기 모델, 뷰 및 콘트롤러를 정의하는 UAML(Ubiquitous Application Mark-up Language: 유비쿼터스 애플리케이션 마크업 언어)을 파싱하고 관리하는 MVC 및 UAML 관리부; 상기 모델, 뷰 및 콘트롤러의 자동 갱신 서비스 및 마이그레이션 서비스를 구동하고 관리하는 서비스 관리부; 상기 애플리케이션의 로딩 실행 및 종료와 관련한 라이프 사이클을 관리하고, 상기 모델, 뷰 및 콘트롤러의 정보들을 유지, 관리하는 런타임 관리부; 상기 모델, 뷰 및 콘트롤러들간의 메시지 및 데이터를 전달하는 이벤트 관리부; 및 상기 애플리케이션에서 발생하는 메시지를 다른 프레임워크 또는 디바이스로 전달하는 네트워크 관리부를 포함한다. Application framework for the distribution and mobility of the application in the ubiquitous environment according to the present invention for achieving the above technical problem, the distribution and mobility of the application consisting of a model, view and controller (MVC) in the ubiquitous environment An application framework for managing the model, views and controllers, and MVC for parsing and managing the Ubiquitous Application Mark-up Language (UAML) defining the models, views and controllers, and UAML management unit; A service manager for driving and managing an automatic update service and a migration service of the model, view and controller; A runtime manager that manages a life cycle related to loading execution and termination of the application and maintains and manages information of the model, view, and controller; An event manager for transmitting messages and data between the models, views, and controllers; And a network manager for delivering a message generated in the application to another framework or device.

상기 MVC 및 UAML 관리부는, 상기 모델을 관리하고, 상기 모델과 관련한 이벤트를 전달하는 모델관리부; 상기 뷰를 관리하고, 상기 뷰와 관련한 이벤트를 전달하는 뷰 관리부; 상기 콘트롤러를 관리하고, 상기 콘트롤러와 관련한 이벤트를 전달하는 콘트롤러 관리부; 및 상기 UAML을 파싱하고 관리하는 UAML 관리부를 포함 한다. The MVC and UAML management unit, the model management unit for managing the model, and delivers events related to the model; A view manager for managing the view and delivering an event related to the view; A controller manager for managing the controller and delivering an event related to the controller; And a UAML management unit for parsing and managing the UAML.

상기 UAML은, 상기 애플리케이션의 목적 및 메타정보 정의, 상기 MVC 구성요소의 정의, 상기 MVC 구성요소의 실행환경 요구사항, MVC 구성요소들간의 데이터 교환을 위한 이벤트의 형식 정의, 상기 애플리케이션의 데이터 저장장소 정의 및 마이그레이션 정책 정의 중 적어도 어느 하나를 포함한다. The UAML defines the purpose and meta information of the application, the definition of the MVC component, execution environment requirements of the MVC component, the format definition of an event for data exchange between MVC components, and a data storage location of the application. It includes at least one of the definition and the migration policy definition.

상기 서비스 관리부는, 상기 애플리케이션의 마이그레이션을 실행하는 마이그레이션 서비스 실행부; 상기 애플리케이션 프레임워크의 자동 갱신을 실행하는 자동 갱신 서비스 실행부; 및 상기 애플리케이션의 실행시 웹서비스와 바인딩하는 런타임 서비스 바인더를 포함한다. The service manager may include a migration service execution unit that executes migration of the application; An automatic update service execution unit executing automatic update of the application framework; And a runtime service binder that binds to the web service when the application is executed.

상기 런타임 관리부는, 현재 실행중인 애플리케이션에 관련한 정보를 유지, 관리하는 런타임 애플리케이션 정보; 및 실행중인 애플리케이션의 MVC 구성요소가 존재하는 위치정보를 유지하는 런타임 라우팅 정보를 포함한다. The runtime management unit may include runtime application information for maintaining and managing information related to an application currently running; And runtime routing information that maintains location information where the MVC component of the running application is present.

상기 이벤트 관리부는, 상기 MVC 구성요소들간의 메시지 전달을 위한 이벤트를 XML 기반의 메시지로 생성하는 메시지 생성부; 및 상기 메시지 생성부에서 생성된 메시지를 상기 MVC 구성요소들에게 전달하는 메시지 전달부를 포함한다. The event manager may include a message generator configured to generate an XML-based message for an event for message transmission between the MVC components; And a message transfer unit configured to transfer the message generated by the message generator to the MVC components.

상기 뷰는, 매크로미디어 플래시(Macromedia Flash)를 사용하는 것이 바람직하다. Preferably, the view uses Macromedia Flash.

상기 기술적 과제를 달성하기 위한 본 발명에 따른 유비쿼터스 환경에서 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크 시스템은, 유비쿼터스 환경에서 모델, 뷰 및 콘트롤러(MVC; Model, View and Controller)로 이루어진 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크 시스템에 있어서, 애플리케이션 및 애플리케이션 프레임워크를 포함하는 복수의 디바이스들; 상기 디바이스에게 배포될 애플리케이션을 저장하는 애플리케이션 서버; 및 상기 복수의 디바이스들과 애플리케이션 서버간, 및 상기 복수의 디바이스들간에 메시지 및 데이터를 전달하는 메시지 브로커를 포함하며, 상기 애플리케이션 프레임워크는, 상기 모델, 뷰 및 콘트롤러를 각각 관리하고, 상기 모델, 뷰 및 콘트롤러를 정의하는 UAML(Ubiquitous Application Mark-up Language: 유비쿼터스 애플리케이션 마크업 언어)을 파싱하고 관리하는 MVC 및 UAML 관리부; 상기 모델, 뷰 및 콘트롤러의 자동 갱신 서비스 및 마이그레이션 서비스를 구동하고 관리하는 서비스 관리부; 상기 애플리케이션의 로딩 실행 및 종료와 관련한 라이프 사이클을 관리하고, 상기 모델, 뷰 및 콘트롤러의 정보들을 유지, 관리하는 런타임 관리부; 상기 모델, 뷰 및 콘트롤러들간의 메시지 및 데이터를 전달하는 이벤트 관리부; 및 상기 애플리케이션에서 발생하는 메시지를 다른 프레임워크 또는 디바이스로 전달하는 네트워크 관리부를 포함한다. Application framework system for the distribution and mobility of the application in the ubiquitous environment according to the present invention for achieving the above technical problem, the distribution of the application consisting of the model, view and controller (MVC; Model and View and Controller) in the ubiquitous environment An application framework system for mobility, comprising: a plurality of devices including an application and an application framework; An application server for storing an application to be distributed to the device; And a message broker for transferring messages and data between the plurality of devices and the application server and between the plurality of devices, wherein the application framework manages the model, view and controller, respectively, An MVC and UAML manager that parses and manages a Ubiquitous Application Mark-up Language (UAML) defining views and controllers; A service manager for driving and managing an automatic update service and a migration service of the model, view and controller; A runtime manager that manages a life cycle related to loading execution and termination of the application and maintains and manages information of the model, view, and controller; An event manager for transmitting messages and data between the models, views, and controllers; And a network manager for delivering a message generated in the application to another framework or device.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다. In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings which illustrate preferred embodiments of the present invention and the contents described in the accompanying drawings.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로서, 본 발명을 상세히 설명한다. 각 도면에 대하여, 동일한 참조부호는 동일한 부재임을 나타낸다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. For each figure, like reference numerals denote like elements.

도 1은 본 발명에 따른 유비쿼터스 환경에서 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크 시스템의 구성을 블록도로 도시한 것으로서, 애플리케이션 프레임워크 시스템은 복수의 디바이스들(100-1, 100-2, ..., 100-n), 애플리케이션 서버(150) 및 메시지 브로커(180)를 포함한다. 1 is a block diagram illustrating a configuration of an application framework system for distribution and mobility of an application in a ubiquitous environment according to the present invention. The application framework system includes a plurality of devices 100-1, 100-2, .. , 100-n), application server 150 and message broker 180.

디바이스-1(100-1)은 애플리케이션(110) 및 애플리케이션 프레임워크(120)를 포함하며, 애플리케이션(110)은 데이터 객체인 모델(Model)(112),화면에 모델 데이터를 보여주는 뷰(View)(114) 및 연산을 처리하거나 데이터를 변경하는 콘트롤러(Controller)(116)를 포함한다. The device-1 100-1 includes an application 110 and an application framework 120. The application 110 includes a model 112, which is a data object, and a view showing model data on a screen. 114 and a Controller 116 that processes operations or changes data.

본 발명의 실시예에서는, 플랫폼(flatform) 독립적인 뷰를 지원하기 위해 현재 웹뿐만 아니라 다양한 환경에서 사용되고 있는 매크로미디어 플래시(Macromedia Flash)를 채택하였다. 여기서, 플랫폼이란 애플리케이션을 실행할 수 있는 환경을 의미하는 것으로서, OS(Operating System: 운영 체계), 미들웨어, 디바이스 등을 총괄하는 개념이다. In an embodiment of the present invention, to support a platform independent view, Macromedia Flash, which is currently used in various environments as well as the web, is adopted. Here, the platform refers to an environment in which an application can be executed, and is a concept that manages an operating system (OS), middleware, and devices.

플래시를 이용할 경우, 디바이스의 디스플레이 크기를 고려할 필요가 없으며, 개발자는 콘트롤러와 모델의 코딩에 집중할 수 있으며 UI(User Interface) 디자이너는 사용자 인터페이스에만 집중할 수 있어, 명확한 업무 구분이 가능한 장점을 가지고 있다. With Flash, there is no need to consider the display size of the device. Developers can focus on coding controllers and models, and UI (User Interface) designers can focus on the user interface, allowing for clear separation of tasks.

애플리케이션 프레임워크(120)는 애플리케이션을 한번 개발하여 특정 플랫폼에서만 동작하는 것이 아니라 다양한 플랫폼에서 구동가능하게 해주며, 실행중인 애플리케이션이 공간 내에 존재하는 디바이스들간에 이용하여도 실행을 가능하게 해주며, 애플리케이션의 각 구성요소들을 분산시켜 실행할 수 있도록 지원하는 미들웨어 시스템을 말한다. The application framework 120 develops an application once so that it can be operated not only on a specific platform but also on various platforms, and can be executed even when a running application is used between devices existing in a space. Refers to a middleware system that supports the distribution and execution of each component.

애플리케이션 프레임워크(120)는 모바일 장치를 포함한 각종 디바이스의 운영체계 상에 존재한다. 애플리케이션 프레임워크 환경에서 개발된 애플리케이션은 애플리케이션 프레임워크가 존재하는 어떠한 디바이스에서도 구동될 수 있다. The application framework 120 resides on the operating system of various devices, including mobile devices. Applications developed in an application framework environment can run on any device on which the application framework exists.

본 발명에 따른 애플케이션 프레임워크(120)의 분산(distributed) MVC(Model, View and Controller) 모델은 모델(112), 뷰(114) 및 콘트롤러(116)간의 독립성을 보장하여 각각의 구성요소가 독립적으로 개발될 수 있는 환경을 제공한다. 따라서 전문적인 UI 디자이너는 뷰를 개발하고 프로그래머는 콘트롤러 및 모델을 개발하여 애플리케이션의 전문화를 높이면 개발 시간을 단축시킬 수 있는 장점을 가진다. The distributed MVC (Model, View and Controller) model of the application framework 120 according to the present invention ensures independence between the model 112, the view 114 and the controller 116 so that each component is Provide an environment that can be developed independently. Therefore, professional UI designers develop views, and programmers develop controllers and models to increase application specialization, which can reduce development time.

분산 MVC 모델은 유비쿼터스 환경에 배치되어 있는 다양한 디바이스의 컴퓨팅 환경을 고려하여 분리되어 배치될 수 있다. 예를 들어, 애플리케이션이 실행되는 디바이스의 컴퓨팅 자원이 부족한 경우, 주위에서 컴퓨팅 자원이 풍부한 디바이스로 복잡한 연산을 수행하는 콘트롤러를 이동시켜 수행될 수 있다. 또한 애플리케이션은 사용자가 한 공간에서 다른 공간으로 이동하게 되면 가장 적합한 디바이스에 존재하는 애플리케이션 프레임워크로 마이그레이션이 가능하도록 프레임워크간 협동이 이루어진다. The distributed MVC model may be separately disposed in consideration of computing environments of various devices disposed in the ubiquitous environment. For example, when the computing resource of the device on which the application is executed is insufficient, it may be performed by moving a controller that performs a complex operation to a computing resource-rich device around. In addition, applications can collaborate across frameworks so that when a user moves from one space to another, they can migrate to the application frameworks that exist on the most appropriate device.

예를 들어, 사용자가 디바이스-1(100-1)을 사용하다가 다른 디바이스-2(100-2)를 사용하는 경우, 애플리케이션 프레임워크(120)는 애플리케이션(100)의 상태를 다른 디바이스-2(100-2)의 애플리케이션 프레임워크(미도시)로 마이그레이션 서비스를 이용하여 전송한다. 이렇게 함으로써, 사용자가 이동하더라도 애플리케이션은 연속적으로 태스크를 수행할 수 있다. For example, if a user uses device-1 100-1 and then another device-2 100-2, the application framework 120 may change the state of the application 100 to another device-2 ( 100-2) using the migration service to the application framework (not shown). This allows the application to perform tasks continuously as the user moves.

애플리케이션 서버(150)는 디바이스(100-1, 100-2, ..., 100-n)의 사용자의 요청에 따라 프로그램에 대한 정보를 제공하고 UAML 및 프로그램 파일을 전송하는 프로그램 관리부(160) 및 애플리케이션을 저장하는 애플리케이션 저장부(170)를 포함한다. The application server 150 provides a program manager 160 for providing information about a program and transmitting UAML and program files according to a user's request of the devices 100-1, 100-2, ..., 100-n; It includes an application storage unit 170 for storing the application.

애플리케이션 프레임워크(120)를 내장한 디바이스(100-1)는 메시지 브로커(180)를 통해 애플리케이션 서버(150)로부터 애플리케이션을 용이하게 다운로딩할 수 있으며, 새로운 버전의 애플리케이션이 개발되어 애플리케이션 서버(150)에 배포되면, 애플리케이션 프레임워크(120)는 애플리케이션을 실행할 때 버전을 체크하여 최신의 애플리케이션을 자동으로 다운로딩하게 되어 갱신 절차가 대폭 간소화된다. The device 100-1 with the application framework 120 may easily download an application from the application server 150 through the message broker 180, and a new version of the application may be developed to apply the application server 150. ), The application framework 120 automatically checks the version and downloads the latest application when executing the application, greatly simplifying the update procedure.

애플리케이션 프레임워크(120)는 사용자에게 필요한 애플리케이션의 검색 및 로드, 애플리케이션의 구성요소들의 분산될 실행, 각 구성요소들의 마이그레이션 정책, 자동 갱신 등을 지원하기 위해 메타 레벨의 애플리케이션을 기술하는 UAML(Ubiquitous Application Mark-up Language: 유비쿼터스 애플리케이션 마크업 언어)을 사용한다. Application framework 120 describes Ubiquitous Application, which describes meta-level applications to support the retrieval and loading of applications required by the user, the distributed execution of the components of the application, the migration policy of each component, automatic updates, and the like. Mark-up Language: Ubiquitous application markup language.

UAML은 애플리케이션의 목적 및 메타 정보 정의, MVC 구성요소의 정의, MVC 구성요소의 실행환경 요구사항(예를 들어, 장치 성능), MVC 구성요소들간의 데이터 교환을 위한 이벤트의 형식 정의, 애플리케이션의 데이터 저장부 정의, 마이그레이션 정책 정의 등을 기술한다. The UAML defines the purpose and meta-information of the application, the definition of the MVC component, the execution environment requirements of the MVC component (eg device performance), the format definition of events for the exchange of data between the MVC components, and the data of the application. Describe the storage definition and migration policy definition.

도 2는 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크의 구성을 블록도로 도시한 것으로서, 애플리케이션 프레임워크(120)는 MVC 및 UAML 관리부(210), 서비스 관리부(220), 런타임 관리부(230), 이벤트 관리부(240), 네트워크 관리부(250)를 포함한다. 2 is a block diagram illustrating the configuration of an application framework for application distribution and mobility. The application framework 120 includes an MVC and UAML manager 210, a service manager 220, a runtime manager 230, and an event. The manager 240 and the network manager 250 are included.

MVC 및 UAML 관리부(210)는 모델, 뷰 및 콘트롤러를 각각 관리하고, 모델, 뷰 및 콘트롤러를 정의하는 UAML을 파싱하고 관리한다. The MVC and UAML manager 210 manages a model, a view, and a controller, respectively, and parses and manages a UAML defining a model, a view, and a controller.

MVC 및 UAML 관리부(210)는 모델을 관리하고 모델과 관련한 이벤트를 전달하는 모델 관리부(212), 뷰를 관리하고 뷰와 관련한 이벤트를 전달하는 뷰 관리부(214), 콘트롤러를 관리하고 콘트롤러와 관련한 이벤트를 전달하는 콘트롤러 관리부(216) 및 UAML을 파싱하고 관리하는 UAML 관리부(218)을 포함한다. The MVC and UAML manager 210 manages a model and delivers events related to the model, a model manager 212, a view manager 214 that manages a view and delivers events related to the view, an controller and an event related to a controller. It includes a controller manager 216 for transmitting the UAML manager 218 to parse and manage the UAML.

UAML 관리부(218)는 애플리케이션의 관리를 위한 메타 정보인UAML 정보들을 파싱하는 UAML 파서(219)를 포함한다. UAML 관리부(218)는 파싱한 UAML 정보들에 대해 유효성 검사를 하고 오류가 없는 경우 애플리케이션 프레임워크에 필요한 정보로 변환하여 제공한다. The UAML manager 218 includes a UAML parser 219 for parsing UAML information which is meta information for managing an application. The UAML management unit 218 validates the parsed UAML information and, if there is no error, converts the UAML information into information necessary for the application framework and provides the converted information.

서비스 관리부(220)는 애플리케이션 프레임워크 시스템이나 애플리키션에게 필요한 다양한 서비스들을 구동, 관리한다. 서비스 관리부(220)는 애플케이션 프레임워크 시스템에서 직접 사용하는 시스템 서비스로서, 모델, 뷰 및 콘트롤러의 자동 갱신 서비스 및 마이그레이션 서비스를 구동하고 관리한다. The service manager 220 drives and manages various services required by an application framework system or an application. The service manager 220 is a system service used directly by the application framework system. The service manager 220 drives and manages an automatic update service and a migration service of models, views, and controllers.

이를 위해, 서비스 관리부(220)는 애플리케이션의 마이그레이션을 실행하는 마이그레이션 서비스 실행부(222), 및 애플리케이션 프레임워크의 자동 갱신을 실행하는 자동 갱신 서비스 실행부(224)를 포함한다. To this end, the service management unit 220 includes a migration service execution unit 222 that executes the migration of the application, and an automatic update service execution unit 224 that executes the automatic update of the application framework.

유비쿼터스 환경에서는 애플리케이션이 실행되는 장소마다 서비스의 종류가 상이할 수 있으므로 정적인 서비스 바인딩 기법은 적합하지 않으므로, 본 발명에 따른 애플리케이션 프레임워크에서는 서비스의 규격을 정의하고 플러거블한(pluggable) 서비스 삽입 구조를 통하여 유비쿼터스 환경에 적합한 서비스 제공을 지원한다. 이를 위해, 서비스 관리부(220)는, 예를 들어, 웹서비스를 지원하기 위해 애플리케이션 프레임워크에서 제공하는 서비스 규격에 맞추어 웹서비스와 바인딩할 수 있는 런타임 서비스 바인더(226)를 포함한다. In the ubiquitous environment, the static service binding scheme is not suitable because the types of services may be different for each location where the application is executed. In the application framework according to the present invention, a service specification is defined and a pluggable service insertion structure. It supports the provision of services suitable for the ubiquitous environment. To this end, the service manager 220 includes, for example, a runtime service binder 226 that can bind to a web service according to a service standard provided by an application framework to support a web service.

런타임 관리부(230)는 애플리케이션의 로딩 실행 및 종료와 관련한 라이프 사이클을 관리하고, 모델, 뷰 및 콘트롤러의 정보들을 유지, 관리한다. 애플리케이션의 라이프 사이클 관리는 애플리케이션의 설치 및 배포 과정을 포함하며, 추가적으로 애플리케이션의 실행 과정 및 종료 과정을 관리하여 애플리케이션의 배포, 설치, 실행, 종료 및 삭제와 관련된 라이프 사이클의 관리를 지원한다. The runtime manager 230 manages a life cycle related to loading execution and termination of an application, and maintains and manages information of a model, a view, and a controller. Application lifecycle management involves the installation and deployment of applications, and further manages the execution and termination of applications to support the management of the lifecycle associated with the deployment, installation, execution, termination, and deletion of applications.

런타임 관리부(230)는 현재 실행중인 애플리케이션에 관련한 정보를 유지, 관리하는 런타임 애플리케이션 정보(232), 및 실행중인 애플리케이션의 MVC 구성요소가 존재하는 위치정보를 유지하는 런타임 라우팅 정보(234)를 포함한다. 위치정보는 애플리케이션 프레임워크에서 정의한 네이밍 룰에 따라 논리적인 위치정보로 표현된다. 논리적인 위치정보는 물리적인 IP 주소 또는 미들웨어의 채널 이름 등으 로 대응되며 라우팅을 위한 맵핑 테이블이 유지된다. The runtime management unit 230 includes runtime application information 232 for maintaining and managing information related to a currently running application, and runtime routing information 234 for maintaining location information at which an MVC component of a running application exists. . Location information is represented by logical location information according to the naming rules defined in the application framework. The logical location information corresponds to the physical IP address or channel name of the middleware and the mapping table for routing is maintained.

이벤트 관리부(240)는 모델, 뷰 및 콘트롤러들간의 메시지 및 데이터를 전달한다. 이벤트 관리부(240)는 애플리케이션 및 애플리케이션 프레임워크에서 발행하는 다양한 이벤트를 생성, 전달한다. 애플리케이션 프레임워크는 메시지 구동 시스템이며, 애플리케이션 프레임워크에서 발생하는 모든 이벤트는 XML 기반의 메시지로 생성되어 전달된다. 이벤트 관리부(240)는 각각의 이벤트들의 헤더를 분석하여 메시지가 전달되어야 하는 목적지의 애플리케이션 모듈 또는 프레임워크의 시스템 이벤트 큐(242)로 메시지를 전달한다. The event manager 240 transfers messages and data between models, views, and controllers. The event manager 240 generates and delivers various events issued by applications and application frameworks. The application framework is a message-driven system. All events that occur in the application framework are generated and delivered as XML-based messages. The event manager 240 analyzes the header of each event and delivers the message to the system event queue 242 of the application module or framework of the destination to which the message should be delivered.

또한, 이벤트 관리부(240)는 MVC 구성요소들간의 메시지 전달을 위한 이벤트를 XML 기반의 메시지로 생성하는 메시지 생성부(244) 및 메시지 생성부(244)에서 생성된 메시지를 MVC 구성요소들에게 전달하는 메시지 전달부(246)를 포함한다. In addition, the event manager 240 transmits the message generated by the message generator 244 and the message generator 244 to generate the event for the message transfer between the MVC components to the MVC components 244 to the MVC components. It includes a message transfer unit 246.

네트워크 관리부(250)는 애플리케이션에서 발생하는 메시지를 다른 프레임워크 또는 디바이스로 전달한다. 네트워크 관리부(250)는 애플리케이션 프레임워크(120)의 하부에 존재하는 각종 미들웨어들과 연동하여 애플리케이션에서 발생하는 각종 이벤트 메시지나 다른 센서들과의 연동을 가능하도록 지원한다. The network manager 250 delivers a message generated in the application to another framework or device. The network manager 250 may support interworking with various event messages or other sensors generated in an application by interworking with various middlewares existing under the application framework 120.

유비쿼터스 환경에서는 다양한 네트워크 인프라가 존재하며 런타임시에 애플리케이션이 실행되는 환경에서 어느 종류의 네트워크를 사용할지 알 수 없다. 따라서 유비쿼터스 환경에 적응적으로 대처하기 위해서는, 다양한 네트워크 프로토콜을 지원할 수 있어야 하며, 런타임시에 어느 네트워크 프로토콜을 이용하여 데이터를 전송할 것인지를 선택하고 바인딩할 수 있어야 한다. In a ubiquitous environment, various network infrastructures exist, and it is impossible to know what kind of network is used in an environment in which an application is executed at runtime. Therefore, in order to adapt adaptively to the ubiquitous environment, it must be able to support various network protocols and be able to select and bind which network protocol to transmit data at runtime.

이를 위해, 네트워크 관리부(250)는 런타임시에 필요한 네트워크 어댑터를 바인딩할 수 있는 런타임 메시지 브로커 바인터(252)를 포함한다. 또한 네트워크 관리부는 다양한 네트워크에 접속할 수 있는 소켓 어댑터(254), 인포버스(infobus) 어댑터(256) 및 다른 메시지 브로커 어댑터(258)를 포함한다. To this end, the network manager 250 includes a runtime message broker binder 252 capable of binding a network adapter required at runtime. The network manager also includes a socket adapter 254, an infobus adapter 256, and other message broker adapter 258 that can connect to various networks.

도 3은 분산 MVC 모델에서 뷰와 콘트롤러간의 데이터 전달에 관한 시퀀스 다이어그램을 도시한 것이다. 3 shows a sequence diagram for data transfer between a view and a controller in a distributed MVC model.

뷰(114)로 발생된 이벤트가 입력되면(S300), 뷰 관리부(214)를 거쳐(S302), 이벤트 관리부(240)로 전달된다(S304). 이벤트 관리부(240)에서 이벤트 메시지로 생성되어(S306), 네트워크 관리부(250)로 전달된다(S308). 네트워크 관리부(250)는 현재 커뮤티케이션 가능한 메시지 브로커를 선택하여(S310), 메시지 브로커(180)를 통해(S312) 전달하고자 하는 대상 디바이스로 메시지를 전달한다(S314). When the event generated in the view 114 is input (S300), the view manager 214 passes through (S302), and passes to the event manager 240 (S304). The event manager 240 is generated as an event message (S306) and is transmitted to the network manager 250 (S308). The network manager 250 selects a message broker that is currently communicable (S310), and delivers a message to the target device to be delivered through the message broker 180 (S312) (S314).

대상 디바이스가 메시지 브로커(180)를 통해(S316) 메시지를 수신하면(S318), 네트워크 관리부(250)가 받은 메시지를 이벤트 관리부(240)로 전달하면(S320), 이벤트 관리부(240)는 이벤트를 콘트롤러 관리부(216)로 전달하고(S322), 콘트롤러 관리부(216)는 적당한 콘트롤러를 찾아(S324), 콘트롤러(116)를 호출한다(S326). When the target device receives the message through the message broker 180 (S316) (S318), when the network manager 250 delivers the received message to the event manager 240 (S320), the event manager 240 sends an event. The controller manager 216 transmits the data to the controller manager 216 (S322), and the controller manager 216 finds an appropriate controller (S324) and calls the controller 116 (S326).

콘트롤러(116)는 연산하여 연산한 값을 콘트롤러 관리부(216)에게 전달하고(S328), 콘트롤러 관리부(216)는 이벤트 관리부(240)에게 전달한다(S330). 메시지는 네트워크 관리부(250) 및 메시지 브로커(180)를 거쳐 전달되고(S332 내지 S338), 뷰 관리부(214)에게 전달된다(S240). 뷰(114)가 뷰 관리부(214)로부터 이벤 트를 수신하면(S342), 뷰를 갱신하여 연산한 값을 보여준다(S344). The controller 116 transmits the calculated value to the controller manager 216 (S328), and the controller manager 216 transmits the calculated value to the event manager 240 (S330). The message is delivered through the network manager 250 and the message broker 180 (S332 to S338), and is delivered to the view manager 214 (S240). When the view 114 receives the event from the view manager 214 (S342), it shows the value calculated by updating the view (S344).

도 4는 뷰가 마이그레이션되는 시퀀스 다이어그램을 도시한 것이다. 4 shows a sequence diagram in which views are migrated.

사용자의 이동으로 인해 이벤트가 발생하면(S400), 런타임 관리부(230)는 서비스 관리부(220)에게 서비스를 요청하고(S402), 서비스 관리부(220)는 적당한 서비스를 찾아낸다(S404). When an event occurs due to the movement of the user (S400), the runtime manager 230 requests a service from the service manager 220 (S402), and the service manager 220 finds a suitable service (S404).

서비스 관리부(220)가 마이그레이션 서비스 실행부(222)에게 서비스를 요청하면(S406), 마이그레이션 서비스 실행부(222)는 마이그레이션 서비스를 실행한다(S408). 마이그레이션 서비스 실행부(222)가 뷰의 상태를 얻기 위해 메시지를 뷰 관리부(214)에게 전달하고(S410), 뷰 관리부(214)는 뷰를 찾아(S412), 뷰(114)에 메시지를 전달한다(S414). 뷰(114)는 뷰 상태를 저장하고(S416), 뷰 상태를 나타내는 메시지를 뷰 관리부(214)를 거쳐(S418), 마이그레이션 서비스 실행부(222)로 전달한다(S420). When the service manager 220 requests a service from the migration service execution unit 222 (S406), the migration service execution unit 222 executes the migration service (S408). The migration service execution unit 222 delivers a message to the view manager 214 to obtain the state of the view (S410), and the view manager 214 finds the view (S412) and delivers the message to the view 114. (S414). The view 114 stores the view state (S416), and passes a message indicating the view state to the migration service execution unit 222 via the view manager 214 (S418) (S420).

마이그레이션 서비스 실행부(222)는 뷰 관리부(214)를 통해(S422), 뷰(114)를 닫는 메시지를 전달한다(S424). The migration service execution unit 222 transmits a message for closing the view 114 through the view manager 214 (S422) (S424).

마이그레이션 서비스 실행부(222)는 이벤트 관리부(240)에게 새로운 뷰를 생성하라는 메시지를 전달하면(S426), 이벤트 관리부(240)는 네트워크 관리부 및 메시지 브로커를 거쳐 다른 디바이스의 이벤트 관리부(440)에게 그 메시지를 전달한다(S428). When the migration service execution unit 222 transmits a message to the event management unit 240 to create a new view (S426), the event management unit 240 passes the network management unit and the message broker to the event management unit 440 of the other device. Deliver the message (S428).

이벤트 관리부(440)는 뷰 관리부(414)를 거쳐(S430), 뷰(314)를 생성하게 한다(S432). 또한, 마이그레이션 서비스 실행부(222)는 이벤트 관리부(240)에게 뷰의 현재 상태를 설정하라는 메시지를 전달하면(S434), 이벤트 관리부(240)는 네트워크 관리부 및 메시지 브로커를 거쳐 다른 디바이스의 이벤트 관리부(440)에게 그 메시지를 전달한다(S436). The event manager 440 allows the view manager 414 to generate the view 314 through the view manager 414 (S432). In addition, when the migration service execution unit 222 transmits a message for setting the current state of the view to the event management unit 240 (S434), the event management unit 240 passes through the network management unit and the message broker event management unit ( The message is forwarded to step 440 (S436).

이벤트 관리부(440)는 뷰 관리부(414)를 거쳐(S438), 뷰(314)에게 현재 상태를 설정하게 한다(S440). 뷰(314)가 뷰 상태를 복구하면(S442), 뷰 관리부(414), 이벤트 관리부(440) 및 이벤트 관리부(240)를 거쳐 마이그레이션 서비스 실행부(222)에게 뷰 상태가 복구되었음을 나타내는 메시지를 전달하면, 마이그레이션 서비스 실행부(222)는 런타임 관리부(230)에게 마이그레이션 서비스가 완료되었음을 나타내는 메시지를 전달한다(S452).The event manager 440 passes through the view manager 414 (S438) and causes the view 314 to set the current state (S440). When the view 314 recovers the view state (S442), the view service unit 414, the event manager 440, and the event manager 240 transmits a message indicating that the view state is restored to the migration service execution unit 222. If so, the migration service execution unit 222 transfers a message indicating that the migration service is completed to the runtime management unit 230 (S452).

이상 본 발명의 바람직한 실시예에 대해 상세히 기술하였지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구범위에 정의된 본 발명의 정신 및 범위에 벗어나지 않으면서 본 발명을 여러 가지로 변형 또는 변경하여 실시할 수 있음을 알 수 있을 것이다. 따라서, 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.Although a preferred embodiment of the present invention has been described in detail above, those skilled in the art to which the present invention pertains can make various changes without departing from the spirit and scope of the invention as defined in the appended claims. It will be appreciated that modifications or variations may be made. Accordingly, modifications to future embodiments of the present invention will not depart from the technology of the present invention.

본 발명에 따르면, 분산 MVC 모델을 통하여 애플리케이션의 이동성을 지원하고, 분산된 컴퓨팅 자원의 활용과 같은 효율적인 기능을 지원하는 애플리케이션을 개발할 수 있다. 또한, 플래시, XML 형식의 메시지 사용 등으로 인해 플랫폼 독립적인 애플리케이션을 쉽게 개발할 수 있다. 또한, 애플리케이션의 배포 및 갱신이 용이하게 되며, 유비쿼터스 환경의 애플리케이션 개발시 마이그레이션을 위한 코드 및 분산 실행을 위한 코드를 작성할 필요가 없으므로 코딩작업을 절감시킬 수 있다. According to the present invention, it is possible to develop an application that supports mobility of an application through a distributed MVC model and supports efficient functions such as utilization of distributed computing resources. In addition, the use of messages in Flash and XML formats makes it easy to develop platform-independent applications. In addition, it is easy to distribute and update the application, and it is possible to reduce coding work because there is no need to write code for migration and distributed execution when developing an application in a ubiquitous environment.

Claims (14)

유비쿼터스 환경에서 모델, 뷰 및 콘트롤러(MVC; Model, View and Controller)로 이루어진 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크에 있어서, In the application framework for the distribution and mobility of the application consisting of the model, view and controller (MVC) in the ubiquitous environment, 상기 모델, 뷰 및 콘트롤러를 각각 관리하고, 상기 모델, 뷰 및 콘트롤러를 정의하는 UAML(Ubiquitous Application Mark-up Language: 유비쿼터스 애플리케이션 마크업 언어)을 파싱하고 관리하는 MVC 및 UAML 관리부; An MVC and UAML manager that manages the models, views, and controllers respectively, and parses and manages a Ubiquitous Application Mark-up Language (UAML) defining the models, views, and controllers; 상기 모델, 뷰 및 콘트롤러의 자동 갱신 서비스 및 마이그레이션 서비스를 구동하고 관리하는 서비스 관리부; A service manager for driving and managing an automatic update service and a migration service of the model, view and controller; 상기 애플리케이션의 로딩 실행 및 종료와 관련한 라이프 사이클을 관리하고, 상기 모델, 뷰 및 콘트롤러의 정보들을 유지, 관리하는 런타임 관리부; A runtime manager that manages a life cycle related to loading execution and termination of the application and maintains and manages information of the model, view, and controller; 상기 모델, 뷰 및 콘트롤러들간의 메시지 및 데이터를 전달하는 이벤트 관리부; 및 An event manager for transmitting messages and data between the models, views, and controllers; And 상기 애플리케이션에서 발생하는 메시지를 다른 프레임워크 또는 디바이스로 전달하는 네트워크 관리부를 포함하는 것을 특징으로 하는 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크. Application framework for the distribution and mobility of the application, characterized in that it comprises a network management unit for transmitting a message generated in the application to another framework or device. 제1항에 있어서, MVC 및 UAML 관리부는, According to claim 1, MVC and UAML management unit, 상기 모델을 관리하고, 상기 모델과 관련한 이벤트를 전달하는 모델관리부; A model manager for managing the model and delivering an event related to the model; 상기 뷰를 관리하고, 상기 뷰와 관련한 이벤트를 전달하는 뷰 관리부; A view manager for managing the view and delivering an event related to the view; 상기 콘트롤러를 관리하고, 상기 콘트롤러와 관련한 이벤트를 전달하는 콘트롤러 관리부; 및 A controller manager for managing the controller and delivering an event related to the controller; And 상기 UAML을 파싱하고 관리하는 UAML 관리부를 포함하는 것을 특징으로 하는 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크. Application framework for distribution and mobility of the application comprising a UAML management unit for parsing and managing the UAML. 제1항에 있어서, 상기 UAML은, The method of claim 1, wherein the UAML, 상기 애플리케이션의 목적 및 메타정보 정의, 상기 MVC 구성요소의 정의, 상기 MVC 구성요소의 실행환경 요구사항, MVC 구성요소들간의 데이터 교환을 위한 이벤트의 형식 정의, 상기 애플리케이션의 데이터 저장장소 정의 및 마이그레이션 정책 정의 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크. Definition of the purpose and meta information of the application, definition of the MVC component, execution environment requirements of the MVC component, format definition of events for data exchange between MVC components, data storage location definition and migration policy of the application An application framework for distribution and mobility of an application, characterized in that it comprises at least one of the definitions. 제1항에 있어서, 상기 서비스 관리부는, The method of claim 1, wherein the service management unit, 상기 애플리케이션의 마이그레이션을 실행하는 마이그레이션 서비스 실행부; A migration service execution unit that executes migration of the application; 상기 애플리케이션 프레임워크의 자동 갱신을 실행하는 자동 갱신 서비스 실행부; 및 An automatic update service execution unit executing automatic update of the application framework; And 상기 애플리케이션의 실행시 웹서비스와 바인딩하는 런타임 서비스 바인더를 포함하는 것을 특징으로 하는 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크. And a runtime service binder that binds with the web service when the application is executed. 제1항에 있어서, 상기 런타임 관리부는, The method of claim 1, wherein the runtime management unit, 현재 실행중인 애플리케이션에 관련한 정보를 유지, 관리하는 런타임 애플리케이션 정보; 및 Runtime application information for maintaining and managing information related to currently running applications; And 실행중인 애플리케이션의 MVC 구성요소가 존재하는 위치정보를 유지하는 런타임 라우팅 정보를 포함하는 것을 특징으로 하는 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크. An application framework for distribution and mobility of an application, comprising runtime routing information that maintains location information where the MVC component of a running application is present. 제1항에 있어서, 상기 이벤트 관리부는, 상기 MVC 구성요소들간의 메시지 전달을 위한 이벤트를 XML(extensible mark-up language) 기반의 메시지로 생성하는 메시지 생성부; 및 The apparatus of claim 1, wherein the event manager comprises: a message generator configured to generate an event based on an extensible mark-up language (XML) based message for message transmission between the MVC components; And 상기 메시지 생성부에서 생성된 메시지를 상기 MVC 구성요소들에게 전달하는 메시지 전달부를 포함하는 것을 특징으로 하는 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크. And a message transfer unit configured to transfer the message generated by the message generator to the MVC components. 제1항에 있어서, 상기 뷰는, The method of claim 1, wherein the view, 매크로미디어 플래시(Macromedia Flash)를 사용하는 것을 특징으로 하는 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크. Application framework for distributed and mobile applications, characterized by using Macromedia Flash. 유비쿼터스 환경에서 모델, 뷰 및 콘트롤러(MVC; Model, View and Controller)로 이루어진 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크 시스템에 있어서, In the application framework system for the distribution and mobility of the application consisting of the model, view and controller (MVC) in the ubiquitous environment, 애플리케이션 및 애플리케이션 프레임워크를 포함하는 복수의 디바이스들; A plurality of devices including an application and an application framework; 상기 디바이스에게 배포될 애플리케이션을 저장하는 애플리케이션 서버; 및 An application server for storing an application to be distributed to the device; And 상기 복수의 디바이스들과 애플리케이션 서버간, 및 상기 복수의 디바이스들간에 메시지 및 데이터를 전달하는 메시지 브로커를 포함하며, A message broker for transferring messages and data between the plurality of devices and an application server and between the plurality of devices, 상기 애플리케이션 프레임워크는, The application framework, 상기 모델, 뷰 및 콘트롤러를 각각 관리하고, 상기 모델, 뷰 및 콘트롤러를 정의하는 UAML(Ubiquitous Application Mark-up Language: 유비쿼터스 애플리케이션 마크업 언어)을 파싱하고 관리하는 MVC 및 UAML 관리부; An MVC and UAML manager that manages the models, views, and controllers respectively, and parses and manages a Ubiquitous Application Mark-up Language (UAML) defining the models, views, and controllers; 상기 모델, 뷰 및 콘트롤러의 자동 갱신 서비스 및 마이그레이션 서비스를 구동하고 관리하는 서비스 관리부; A service manager for driving and managing an automatic update service and a migration service of the model, view and controller; 상기 애플리케이션의 로딩 실행 및 종료와 관련한 라이프 사이클을 관리하고, 상기 모델, 뷰 및 콘트롤러의 정보들을 유지, 관리하는 런타임 관리부; A runtime manager that manages a life cycle related to loading execution and termination of the application and maintains and manages information of the model, view, and controller; 상기 모델, 뷰 및 콘트롤러들간의 메시지 및 데이터를 전달하는 이벤트 관리부; 및 An event manager for transmitting messages and data between the models, views, and controllers; And 상기 애플리케이션에서 발생하는 메시지를 다른 프레임워크 또는 디바이스로 전달하는 네트워크 관리부를 포함하는 것을 특징으로 하는 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크 시스템. Application framework system for distribution and mobility of the application, characterized in that it comprises a network management unit for transmitting a message generated in the application to another framework or device. 제8항에 있어서, MVC 및 UAML 관리부는, According to claim 8, MVC and UAML management unit, 상기 모델을 관리하고, 상기 모델과 관련한 이벤트를 전달하는 모델관리부; A model manager for managing the model and delivering an event related to the model; 상기 뷰를 관리하고, 상기 뷰와 관련한 이벤트를 전달하는 뷰 관리부; A view manager for managing the view and delivering an event related to the view; 상기 콘트롤러를 관리하고, 상기 콘트롤러와 관련한 이벤트를 전달하는 콘트롤러 관리부; 및 A controller manager for managing the controller and delivering an event related to the controller; And 상기 UAML을 파싱하고 관리하는 UAML 관리부를 포함하는 것을 특징으로 하는 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크 시스템. Application framework system for distribution and mobility of the application comprising a UAML management unit for parsing and managing the UAML. 제8항에 있어서, 상기 UAML은, The method of claim 8, wherein the UAML, 상기 애플리케이션의 목적 및 메타정보 정의, 상기 MVC 구성요소의 정의, 상기 MVC 구성요소의 실행환경 요구사항, MVC 구성요소들간의 데이터 교환을 위한 이벤트의 형식 정의, 상기 애플리케이션의 데이터 저장장소 정의 및 마이그레이션 정책 정의 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크 시스템. Definition of the purpose and meta information of the application, definition of the MVC component, execution environment requirements of the MVC component, format definition of events for data exchange between MVC components, data storage location definition and migration policy of the application An application framework system for distribution and mobility of an application comprising at least one of the definitions. 제8항에 있어서, 상기 서비스 관리부는, The method of claim 8, wherein the service management unit, 상기 애플리케이션의 마이그레이션을 실행하는 마이그레이션 서비스 실행부; A migration service execution unit that executes migration of the application; 상기 애플리케이션 프레임워크의 자동 갱신을 실행하는 자동 갱신 서비스 실행부; 및 An automatic update service execution unit executing automatic update of the application framework; And 상기 애플리케이션의 실행시 웹서비스와 바인딩하는 런타임 서비스 바인더를 포함하는 것을 특징으로 하는 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크 시스템. And a runtime service binder that binds to the web service when the application is executed. 제8항에 있어서, 상기 런타임 관리부는, The method of claim 8, wherein the runtime management unit, 현재 실행중인 애플리케이션에 관련한 정보를 유지, 관리하는 런타임 애플리케이션 정보; 및 Runtime application information for maintaining and managing information related to currently running applications; And 실행중인 애플리케이션의 MVC 구성요소가 존재하는 위치정보를 유지하는 런타임 라우팅 정보를 포함하는 것을 특징으로 하는 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크 시스템. An application framework system for distribution and mobility of an application, comprising runtime routing information that maintains location information where MVC components of a running application are present. 제8항에 있어서, 상기 이벤트 관리부는, The method of claim 8, wherein the event management unit, 상기 MVC 구성요소들간의 메시지 전달을 위한 이벤트를 XML(extensible mark-up language) 기반의 메시지로 생성하는 메시지 생성부; 및 A message generator to generate an event for message transmission between the MVC elements as an XML based extensible mark-up language (message); And 상기 메시지 생성부에서 생성된 메시지를 상기 MVC 구성요소들에게 전달하는 메시지 전달부를 포함하는 것을 특징으로 하는 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크 시스템. And a message transfer unit configured to transfer the message generated by the message generator to the MVC components. 제8항에 있어서, 상기 뷰는, The method of claim 8, wherein the view, 매크로미디어 플래시(Macromedia Flash)를 사용하는 것을 특징으로 하는 애플리케이션의 분산 및 이동성을 위한 애플리케이션 프레임워크 시스템. An application framework system for the distribution and mobility of applications characterized by using Macromedia Flash.
KR1020060086794A 2006-09-08 2006-09-08 Application framework system for distribution and migration of application KR100827925B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060086794A KR100827925B1 (en) 2006-09-08 2006-09-08 Application framework system for distribution and migration of application
PCT/KR2007/000064 WO2008029974A1 (en) 2006-09-08 2007-01-04 Application framework system for distribution and migration of application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060086794A KR100827925B1 (en) 2006-09-08 2006-09-08 Application framework system for distribution and migration of application

Publications (2)

Publication Number Publication Date
KR20080022934A true KR20080022934A (en) 2008-03-12
KR100827925B1 KR100827925B1 (en) 2008-05-07

Family

ID=39157382

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060086794A KR100827925B1 (en) 2006-09-08 2006-09-08 Application framework system for distribution and migration of application

Country Status (2)

Country Link
KR (1) KR100827925B1 (en)
WO (1) WO2008029974A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011118985A2 (en) * 2010-03-23 2011-09-29 서울시립대학교 산학협력단 Middleware device for three-tier ubiquitous city system
WO2012020972A2 (en) * 2010-08-09 2012-02-16 서울시립대학교 산학협력단 U-city portal structure and method for providing service for same in three-tier u-city system based on u-city middleware system
KR101243015B1 (en) * 2011-03-16 2013-03-12 엔에이치엔비즈니스플랫폼 주식회사 Service providing system and service providing method for providing combined separate services
KR101394420B1 (en) * 2012-06-14 2014-05-13 (주)아이비즈소프트웨어 Method For Supporting Multi-Framework, Apparatus And Computer-Readable Recording Medium with Program Therefor

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7890644B2 (en) * 2009-01-07 2011-02-15 Sony Corporation Parallel tasking application framework

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1170673A1 (en) * 2000-07-05 2002-01-09 Sony International (Europe) GmbH Portal application
KR100561683B1 (en) * 2003-10-10 2006-03-15 에스케이 텔레콤주식회사 Mobile Communication Terminal with Mobile Platform Supporting Object Oriented Application Framework
KR100542758B1 (en) * 2003-12-10 2006-01-20 한국전자통신연구원 Sobot based on ubiquitous network, system using the sobot, operation method of the system, and transition and transferring method of the sobot
KR100567327B1 (en) * 2003-12-26 2006-04-04 한국전자통신연구원 Gateway system, network device, and packet routing method for ubiquitous computing
KR100691286B1 (en) * 2004-11-30 2007-03-12 한국전자통신연구원 Apparatus supporting Seamless Mobility in the Ubiquitous Environment and its method
KR100611580B1 (en) * 2004-12-11 2006-08-10 한국전자통신연구원 A multi-mode communication terminal and a multi-mode method of the same
KR100717166B1 (en) * 2005-02-16 2007-05-11 삼성전자주식회사 Service framework for A Home network

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011118985A2 (en) * 2010-03-23 2011-09-29 서울시립대학교 산학협력단 Middleware device for three-tier ubiquitous city system
WO2011118985A3 (en) * 2010-03-23 2012-03-08 서울시립대학교 산학협력단 Middleware device for three-tier ubiquitous city system
WO2012020972A2 (en) * 2010-08-09 2012-02-16 서울시립대학교 산학협력단 U-city portal structure and method for providing service for same in three-tier u-city system based on u-city middleware system
WO2012020972A3 (en) * 2010-08-09 2012-05-24 서울시립대학교 산학협력단 U-city portal structure and method for providing service for same in three-tier u-city system based on u-city middleware system
KR101243015B1 (en) * 2011-03-16 2013-03-12 엔에이치엔비즈니스플랫폼 주식회사 Service providing system and service providing method for providing combined separate services
KR101394420B1 (en) * 2012-06-14 2014-05-13 (주)아이비즈소프트웨어 Method For Supporting Multi-Framework, Apparatus And Computer-Readable Recording Medium with Program Therefor

Also Published As

Publication number Publication date
KR100827925B1 (en) 2008-05-07
WO2008029974A1 (en) 2008-03-13

Similar Documents

Publication Publication Date Title
US7756905B2 (en) System and method for building mixed mode execution environment for component applications
US8091097B2 (en) Distributed virtual machine architecture
CA2604108C (en) System and method of representing data entities of standard device applications as built-in components
KR100807651B1 (en) System and method of creating and communicating with component based wireless applications
RU2466450C2 (en) Method and system to develop it-oriented server network applications
EP2003854B1 (en) Server for communicating with multi-mode devices using multi-mode applications
US20080256225A1 (en) Osgi-Based Dynamic Service Management Method for Context-Aware Systems
US9277033B2 (en) Server for communicating with multi-mode devices using multi-mode applications
US8732652B2 (en) System and method for creating multi-mode applications
CN111352653B (en) System development method based on PaaS cloud platform server and server
CA2511916A1 (en) System and method of building wireless component applications
KR100827925B1 (en) Application framework system for distribution and migration of application
Malek et al. Reconceptualizing a family of heterogeneous embedded systems via explicit architectural support
Belsare et al. Micro-ros
CA2635172C (en) Device for communicating in multiple modes using multi-mode applications
US9425988B2 (en) Device for communicating in multiple modes using multi-mode applications
CA2583840A1 (en) Extending access to local software of a wireless device
EP2003832A1 (en) System and method for creating multi-mode applications
EP1851625A1 (en) Simulating an application for subsequent deployment to a device
JP2008225625A (en) Distributed processing system cooperation system, distributed processing system cooperation method and distributed processing system cooperation program
Sommer Lehrstuhl für Echtzeitsysteme und Robotik

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment
FPAY Annual fee payment
FPAY Annual fee payment

Payment date: 20160325

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170327

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180411

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190326

Year of fee payment: 12