WO2008029974A1 - 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
WO2008029974A1
WO2008029974A1 PCT/KR2007/000064 KR2007000064W WO2008029974A1 WO 2008029974 A1 WO2008029974 A1 WO 2008029974A1 KR 2007000064 W KR2007000064 W KR 2007000064W WO 2008029974 A1 WO2008029974 A1 WO 2008029974A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
administration unit
view
controller
model
Prior art date
Application number
PCT/KR2007/000064
Other languages
French (fr)
Inventor
Hongki Jung
Kyoochan Cho
Chanyeul Lee
Weduck Cho
Original Assignee
Ajou University Industry Cooperation Foundation
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 Ajou University Industry Cooperation Foundation filed Critical Ajou University Industry Cooperation Foundation
Publication of WO2008029974A1 publication Critical patent/WO2008029974A1/en

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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

Definitions

  • the present invention relates to ubiquitous technology, more particularly, to an application framework system for distribution and migration of a
  • PIMA Plan- Independent Model for Application
  • the application model defined in the Gaia suits MVC Model to an active space environment, but has a problem in view of cooperation between the respective active spaces and unification of spaces outside of the active space.
  • Aura as a developing project at Carnegie Mellon University, is a framework for the migration of users under ubiquitous environment and operates as a proxy of movable users. However, the Aura is not sufficient in supporting effective developing methods of application under ubiquitous environment. Disclosure of Invention Technical Solution
  • the technical task to achieve through the present invention provides an application framework system for distribution and migration for supporting users with platform independent application under ubiquitous environment, sharing computing resources through the distributed MVC Model, and guaranteeing the migration to users under ubiquitous environment.
  • an application framework for the distribution and mobility of an application under ubiquitous environment may comprise a MVC and UAML administration unit controlling the Model, View and controller, and both parsing and controlling UAML defining the Model, View and Controller in an application framework for the distribution and mobility of an application comprising MVC (Model, View and Controller) under ubiquitous environment; a service administration unit both driving and controlling both an automatic renewal service and a migration service of the Model, View and Controller; a runtime administration unit controlling a lifecycle related to both a loading execution and termination of the application, and both maintaining and controlling the information of the Model, view and Controller; an event administration unit transferring messages and data among the Model, View and Controller; and, a network administration unit transferring a message generated in the application to either other framework or device.
  • MVC Model, View and Controller
  • the MVC and UAML administration unit comprises a Model administration unit controlling the Model and transferring an event related to the Model; a View administration unit controlling the View and transferring an event related to the View; a Controller administration unit controlling the Controller and transferring an event related to the Controller; and, a UAML administration unit parsing and controlling the UAML.
  • the UAML comprises at least one of a purpose of the application, meta information definition, requirement for executing environment of the MVC components, a format definition of an event for exchanging data among MVC components, a definition of data storage place of the application, and a migration policy definition.
  • the service administration unit comprises a migration service execution unit executing a migration of the application; an automatic renewal service execution unit executing an automatic renewal of the application framework; and, a runtime binder binding a web service at execution of the application.
  • the runtime administration unit comprises a runtime application information unit both maintaining and controlling information related to a currently executing application; and, a runtime routing information unit maintaining a location information that MVC components of the currently executing application exist.
  • the event administration unit comprises a message generating unit generating XML based message for an event transferring the message among the MVC components; and, a message transferring unit transferring the message generated in the message generating unit to the MVC components.
  • an application framework system for the distribution and mobility of an application under ubiquitous environment may comprise a plurality of devices comprising an application and an application framework in an application framework system for the distribution and mobility of an application comprising MVC (Model, View and Controller) under ubiquitous environment; an application server storing the application to be distributed to the devices; and, a message broker transferring messages and data between said a plurality of devices and the application server, and among said a plurality of devices, the application framework comprises a MVC and UAML administration unit controlling the Model, View and controller, and both parsing and controlling UAML defining the Model, View and Controller; a service administration unit both driving and controlling both an automatic renewal service and a migration service of the Model, View and Controller; a runtime administration unit controlling a lifecycle related to both a loading execution and termination of the application, and both maintaining and controlling the information of the Model, view and Controller; an event administration unit transferring messages and data among the Model, View and Controller; and, a network administration unit
  • an application can be developed for supporting the migration of the application through the distributed MVC Model and an efficient function such as the utilization of the distributed computing resources.
  • platform independent application can be easily developed by using FLASH, XML format message.
  • the distribution and renewal of the application is very easy, and any coding process is much reduced because there is no need to write down codes for migration and distributed execution at developing an application under ubiquitous environment.
  • Figure 1 is a block diagram of application framework system for the distribution and mobility of application under ubiquitous environment according to the present invention.
  • Figure 2 is a block diagram of application framework for the distribution and mobili ty of application under ubiquitous environment according to the present invention.
  • Figure 3 is a sequence diagram related to data transferring between application view and controller.
  • Figure 4 is a sequence diagram in which view is migrated.
  • FIG. 1 is a block diagram of an application framework system for the distribution and mobility of application under ubiquitous environment according to the present invention.
  • the application framework system may comprise a plurality of deviceslOO-1, 100-2, , 100-n, and an application server 150 and a message broker 180.
  • the device 100-1 may comprise an application 110 and an application framework
  • the application 110 may comprise a model 112 that is a data subject, a View 114 showing the model data on screen, and a Controller 116 in which processes computing or changes data.
  • Macromedia Flash is adopted for supporting a platform independent View, in which is used in a variety of environments including current web.
  • the platform is referred to an environment for executing an application and a generic term for operating system (OS), middleware and device, etc..
  • OS operating system
  • middleware middleware
  • device etc.
  • the display size of the device may not be considered at all.
  • the application framework 120 may be driven in a variety of platforms instead of a specific platform, and may execute an executing application at using among the devices existing on space. It may refer to a middleware system that supports execution of each diversified components of the application.
  • the application framework 120 may exist in the OS of respective devices including mobile devices.
  • the application developed under application framework environment may be driven in any devices in which application framework exists.
  • Model 120 may guarantee the independence among a Model 112, a View 112 and a Controller 116, so that it may provide an environment for which the respective components are independently developed. Therefore, professional UI designers may only develop View, and programmers may develop Controller and Model. In that regard, the present invention may have merits on the higher expertise of application and shorten developing time.
  • the distributed MVC may be separately arranged in consideration of the computing environment of a variety of devices disposed in the ubiquitous environment. For example, in case of the insufficient computing resources of devices that application is executed, the controller executing complex computing may move to other device that has abundant computing resources for executing. Moreover, the application, when an user moves from a space to another space, may cooperate with a framework in order to be migration possible to an application framework existing in the most adequate device.
  • the application framework 120 may transfer the status of the application 110 to an application framework (not shown) of the device 100-2 by using a migration service. In doing this, while a user is moving, the application may execute tasks consecutively.
  • An application server 150 may comprise a program administration unit 160 and an application storage unit 170.
  • the application administration unit 160 may provide information and transfer UAML and program files according to the request of users of devices 100-1, 100-2,,,, 100-n.
  • the device 100-1 incorporating the application framework 120 may easily download applications from the application server 150 through a message broker 180. Moreover, when a new version of application is developed and distributed to the application server 150, the application framework 120 may check the application version in executing the application and automatically download the newest application, so that it may much reduce a renewal procedure.
  • the application framework 120 may use UAML (Ubiquitous Application Mark- Up Language) describing application of meta level for supporting the application search and loading necessary to users, execution to be distributed of the components of application, migration policy of the respective components and automatic renewal.
  • UAML Ubiquitous Application Mark- Up Language
  • the UAML may describe the purpose of application, the definition of meta information and MVC components, executing requirements of the MVC components (for example, device performance), definition of an event format for exchanging data among the MVC components, the definition of data storage unit in an application, and the definition of migration policy, etc..
  • the Fig.2 is a block diagram showing the configuration of an application framework for the distribution and mobility of an application.
  • the application framework 120 may comprise a MVC and UAML administration unit 210, a service administration unit 220, a runtime administration unit 230, an event administration unit 240 and a network administration unit 250.
  • the MVC and UAML administration unit 210 may control a Model, a View and a
  • Controller may do parsing and control the UAML defining the Model, View and Controller.
  • the MVC and UAML administration unit 210 may comprise a Model administration unit 212 both controlling a model and transferring events related to the model, a View administration unit 214 both controlling a View and transferring events related to the View, a Controller administration unit 216 both controlling a Controller and transferring events related to the Controller, and a UAML administration unit 218 both parsing and controlling UAML.
  • the UAML administration unit 218 may comprise a UAML parser 219 parsing
  • the UAML administration unit 218 may provide necessary information with the application framework after converting the UAML information, unless there is any mistake in the parsing UAML information at a validity test.
  • the service administration unit 220 may drive and control a variety of services necessary to either an application framework system or an application.
  • the service administration unit 220 as a system service directly used in the application framework system, may drive and control both an automatic renewal service and migration service of a Model, a View and a Controller.
  • the service administration unit 220 may comprise a migration service executing unit 222 executing the migration of an application, an automatic renewal service executing unit 224 executing the automatic renewal of an application framework.
  • the ap- plication framework may define a service standard and support a service providing adequate to ubiquitous environment through pluggable service inserting structure.
  • the service administration unit 220 may comprise a binder 226 binding a Web service based on the service standard supplied in the application framework, for supporting the Web service.
  • the runtime administration unit 230 may control the lifecycle related to the execution and termination of an application loading, and maintain and control information of the Model, View and Controller.
  • the control of lifecycle of the application may comprise the installation and distribution procedure of the application, and additionally support the control of the lifecycle related to the distribution, instalment, execution, termination and deletion of an application in controlling execution and termination operation of an application.
  • the runtime administration unit 230 may comprise a runtime application information unit 232 both maintaining and controlling the information related to the currently executing application, and a runtime routing information unit 234 maintaining a location information that an executing application MVC components are existing.
  • the location information may be expressed in logical location information based on a naming rule defined in the application framework.
  • the logical location information may correspond to a physical IP address or middleware channel name, etc., and the mapping table for routing may be maintained.
  • the event administration unit 240 may transfer messages among Models, Views and Controllers.
  • the event administration unit 240 may generate and transfer a variety of events issued at both an application and an application framework.
  • the application framework is a message driving system, and all events generated in the application framework may be generated and transferred in messages based on XML.
  • the event administration unit 240 may transfer the messages to either an application module of the arriving place in which a message is to be transferred, or a system event Que 242 of the framework.
  • the event administration unit 240 may comprise a message generating unit 244 generating a XML based message with the event for transferring message among the MVC components, and a message transferring unit 246 transferring the message generated in the message generating unit 244 to the MVC components.
  • the network administration unit 250 may transfer the message generated in the application to other framework or devices.
  • the network administration unit 250 may interlock with a variety of middle wares existing in the under part of the application framework 120, and may support the interlocking with a variety of event messages generated in the application and other sensors.
  • the network administration unit 250 may comprise a runtime message broker binder 252 binding a network adapter necessary to the runtime. Moreover, the network administration unit may comprise a socket adapter 254 connecting to a variety of networks, an infobus adapter 256 and other message broker adapter 258.
  • the Fig. 3 is a sequence diagram related to data transfer between a View and a
  • An event generated is input to a View 114 (S300). Then, the event is sent to an event administration unit 240(S304) through a View administration unit 214(S302). The event may be generated into an event message in the event administration unit 240(S306) and transferred to a network administration unit 250(S308).
  • the network administration unit 250 may select a message broker being able to do current communication (S310), and transfer the message (S314) to a subject device through a message broker 180(S312).
  • the subject device may receive the message (S318) through the message broker
  • the network administration unit 250 may transfer the received message to the event administration unit 240(S320), the event administration unit 240 may transfer the event to a controller administration unit 216(S322), and the controller administration unit 216 may search an adequate controller (S324) and call the controller 116 (S326).
  • the controller 116 may transfer a computed value to the controller administration unit 240 after computing (S328), and the controller administration unit 216 may transfer it to the event administration unit 240(S330).
  • the message may be sent to a View administration unit 214 through the network administration unit 250 and the message broker 180(S338)(S340).
  • the View 114 may receive an event from the View administration unit 214(S342), and show a computed value after updating the View (S344).
  • the Fig. 4 is a sequence diagram in which a View is migrated.
  • a runtime administration unit 230 may request a service to a service administration unit 220(S402), and the service administration unit 220 may search an adequate service (S404).
  • the migration service execution unit 222 may execute a migration service (S408).
  • the migration service execution unit 222 may deliver a message to the View administration unit 214 to get the status of the View (S410), and the View administration unit 214 may send the message to the View 114 after the View administration unit 214 searches a View (S412).
  • the View 114 may store the status of the ViewS416), and send the message showing the status of the View to the migration service execution unit 222 through the view administration unit 214(S418).
  • the migration service execution unit 222 may transfer the message closing the
  • the migration service execution unit 222 may transfer a message generating a new
  • the event administration unit 240 may transfer the message to the event administration unit 440 of other device through both a network administration unit and a message broker (S428).
  • the event administration unit 440 may generate a view to a View 314 through a view administration unit 414(S414)(S432). Moreover, the migration service execution unit 222 may transfer a message establishing the current status of the view to the event administration unit 240(S434), then, the event administration unit 240 may the message to the event administration unit 440 of other device through a network administration unit and a message broker (S436).
  • the event administration unit 440 may let the View 314 establish its current status through the View administration unit 414 (S438). If the View 314 restores the status of view (S442), the View 314 may transfer the message showing completion of the restoring the view to the migration service execution unit 222 through the View administration unit 414, the event administration unit 440 and the event administration unit 240. Then, the migration service execution unit 222 may transfer a message showing the completion of the migration service to a runtime administration unit 230.

Landscapes

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

Abstract

It is provided an application framework for the distribution and mobility of an application under ubiquitous environment. The application framework system according to the present invention comprises a plurality of devices comprising an application and an application framework; an application server storing the application to be distributed to the devices; and a message broker transferring messages and data between said a plurality of devices and the application server, and among said a plurality of devices, the application framework comprises a MVC and UAML administration unit controlling the Model, View and controller, and both parsing and controlling UAML defining the Model, View and Controller; a service administration unit both driving and controlling both an automatic renewal service and a migration service of the Model, View and Controller; a runtime administration unit controlling a lifecycle related to both a loading execution and termination of the application, and both maintaining and controlling the information of the Model, view and Controller; an event administration unit transferring messages and data among the Model, View and Controller; and, a network administration unit transferring a message generated in the application to either other framework or device.

Description

Description
APPLICATION FRAMEWORK SYSTEM FOR DISTRIBUTION AND MIGRATION OF APPLICATION
Technical Field
[1] The present invention relates to ubiquitous technology, more particularly, to an application framework system for distribution and migration of a
[2] n application under ubiquitous environment.
Background Art
[3] Traditional computing environment is a static environment that users directly use a specific computing device in front of the space on which the specific computing device is putting. Ubiquitous environment is a dynamic and intelligent environment in which all computing devices existing in adjacent spaces cooperate each other for supporting the convenience and jobs of users, even though the users do not recognize the computing devices.
[4] Various devices, applications on multiple platforms and services cooperate each other in real time in the ubiquitous space generated due to combination of both physical space and electronic space. These services existing in such an environment are mingled variously, and an information providing method must be decided and adjusted in execution time by the subject with which a service is provided.
[5] Such a ubiquitous environment causes the diversity of the environment in which applications are executing, therefore, requires the change of the developing method for applications that are developed dependently and statically under the previous specific environment. However, application developers could not expect under which environment their developing application is executed, at the developing time of the application. Even though they do expect it, they might have difficulty because they also have to develop other versions of application for respective environments.
[6] Inference such as service selection and situation recognition, etc., for users is a critical factor, but the contact point with the users, for example, the interoperation with users that directly watches, hears and feels is also a critical factor in the ubiquitous space. If services are not adequately provided because of such a difficulty as complicated system configurations and various environments, it might be a big obstacle in establishing the ubiquitous environment. Therefore, the development of the application framework has been actively progressed for ubiquitous computing environment. The representative examples are PIMA, Gaia and Aura, etc.
[7] PIMA (Platform- Independent Model for Application) project, as a research progressed in TJ. Watson Research Center at IBM corporation, presents that a fundamental change is required for current mobile computing device, application and physical environment, and a new vision is proposed to consider the device as portal, application as task, and physical environment as computing environment. However, it is still insufficient in unifying applications driven under various environments and defining the function of framework in the PIMA.
[8] Gaia, as a project developing an infrastructure for ubiquitous application at Illinois
University, focuses three critical factors, component-based middleware operating system, application model for establishing ubiquitous environment and script language for organizing component-based applications. The application model defined in the Gaia suits MVC Model to an active space environment, but has a problem in view of cooperation between the respective active spaces and unification of spaces outside of the active space.
[9] Aura, as a developing project at Carnegie Mellon University, is a framework for the migration of users under ubiquitous environment and operates as a proxy of movable users. However, the Aura is not sufficient in supporting effective developing methods of application under ubiquitous environment. Disclosure of Invention Technical Solution
[10] The technical task to achieve through the present invention provides an application framework system for distribution and migration for supporting users with platform independent application under ubiquitous environment, sharing computing resources through the distributed MVC Model, and guaranteeing the migration to users under ubiquitous environment.
[11] In order to achieve the technical task above, an application framework for the distribution and mobility of an application under ubiquitous environment according to the present invention may comprise a MVC and UAML administration unit controlling the Model, View and controller, and both parsing and controlling UAML defining the Model, View and Controller in an application framework for the distribution and mobility of an application comprising MVC (Model, View and Controller) under ubiquitous environment; a service administration unit both driving and controlling both an automatic renewal service and a migration service of the Model, View and Controller; a runtime administration unit controlling a lifecycle related to both a loading execution and termination of the application, and both maintaining and controlling the information of the Model, view and Controller; an event administration unit transferring messages and data among the Model, View and Controller; and, a network administration unit transferring a message generated in the application to either other framework or device. [12] The MVC and UAML administration unit comprises a Model administration unit controlling the Model and transferring an event related to the Model; a View administration unit controlling the View and transferring an event related to the View; a Controller administration unit controlling the Controller and transferring an event related to the Controller; and, a UAML administration unit parsing and controlling the UAML.
[13] The UAML comprises at least one of a purpose of the application, meta information definition, requirement for executing environment of the MVC components, a format definition of an event for exchanging data among MVC components, a definition of data storage place of the application, and a migration policy definition.
[14] The service administration unit comprises a migration service execution unit executing a migration of the application; an automatic renewal service execution unit executing an automatic renewal of the application framework; and, a runtime binder binding a web service at execution of the application.
[15] The runtime administration unit comprises a runtime application information unit both maintaining and controlling information related to a currently executing application; and, a runtime routing information unit maintaining a location information that MVC components of the currently executing application exist.
[16] The event administration unit comprises a message generating unit generating XML based message for an event transferring the message among the MVC components; and, a message transferring unit transferring the message generated in the message generating unit to the MVC components.
[17] The View is preferable to use Macromedia Flash.
[18] In order to achieve the technical task above, an application framework system for the distribution and mobility of an application under ubiquitous environment according to the present invention may comprise a plurality of devices comprising an application and an application framework in an application framework system for the distribution and mobility of an application comprising MVC (Model, View and Controller) under ubiquitous environment; an application server storing the application to be distributed to the devices; and, a message broker transferring messages and data between said a plurality of devices and the application server, and among said a plurality of devices, the application framework comprises a MVC and UAML administration unit controlling the Model, View and controller, and both parsing and controlling UAML defining the Model, View and Controller; a service administration unit both driving and controlling both an automatic renewal service and a migration service of the Model, View and Controller; a runtime administration unit controlling a lifecycle related to both a loading execution and termination of the application, and both maintaining and controlling the information of the Model, view and Controller; an event administration unit transferring messages and data among the Model, View and Controller; and, a network administration unit transferring a message generated in the application to either other framework or device.
Advantageous Effects
[19] According to the present invention, an application can be developed for supporting the migration of the application through the distributed MVC Model and an efficient function such as the utilization of the distributed computing resources. Moreover, platform independent application can be easily developed by using FLASH, XML format message. Moreover, the distribution and renewal of the application is very easy, and any coding process is much reduced because there is no need to write down codes for migration and distributed execution at developing an application under ubiquitous environment. Brief Description of the Drawings
[20] The above and other features and advantages of the present invention will become more apparent by describing in detailed example embodiments thereof with reference to the accompanying figures, in which:
[21] Figure 1 is a block diagram of application framework system for the distribution and mobility of application under ubiquitous environment according to the present invention.
[22] Figure 2 is a block diagram of application framework for the distribution and mobili ty of application under ubiquitous environment according to the present invention.
[23] Figure 3 is a sequence diagram related to data transferring between application view and controller.
[24] Figure 4 is a sequence diagram in which view is migrated.
Best Mode for Carrying Out the Invention
[25] The present invention is described more fully hereinafter. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present invention to those skilled in the art.
[26] It will be understood that when an member or layer is referred to as being "on",
"connected to" or "coupled to" another member, it can be directly on, connected or coupled to the other member or layer or intervening members or layers may be present. In contrast, when a member is referred to as being "directly on," "directly connected to" or "directly coupled to" another member, there are no intervening members or layers present. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items. [27] It will be understood that, although the terms first, second, third etc. may be used herein to describe various members, components, regions, these members, components, regions should not be limited by these terms. These terms are only used to distinguish one member, component, region, layer or section from another region, layer or section. Thus, a first member, component, region discussed below could be termed a second member, component, and region without departing from the teachings of the present invention.
[28] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present invention. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, members, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, members, components, and/or groups thereof.
[29] Unless otherwise defined, all terms including technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
[30] Figure 1 is a block diagram of an application framework system for the distribution and mobility of application under ubiquitous environment according to the present invention. The application framework system may comprise a plurality of deviceslOO-1, 100-2, , 100-n, and an application server 150 and a message broker 180.
[31] The device 100-1 may comprise an application 110 and an application framework
120. And, the application 110 may comprise a model 112 that is a data subject, a View 114 showing the model data on screen, and a Controller 116 in which processes computing or changes data.
[32] In the preferred embodiment of the present invention, Macromedia Flash is adopted for supporting a platform independent View, in which is used in a variety of environments including current web. The platform is referred to an environment for executing an application and a generic term for operating system (OS), middleware and device, etc..
[33] In using Flash, the display size of the device may not be considered at all.
Developers may focus on both the controller and the coding of a model, and User Interface (UI) designers may focus on the UI. Therefore, using Flash has a merit in that jobs may accurately be divided.
[34] The application framework 120 may be driven in a variety of platforms instead of a specific platform, and may execute an executing application at using among the devices existing on space. It may refer to a middleware system that supports execution of each diversified components of the application.
[35] The application framework 120 may exist in the OS of respective devices including mobile devices. The application developed under application framework environment may be driven in any devices in which application framework exists.
[36] The distributed MVC (Model, View and Controller) of the application framework
120 may guarantee the independence among a Model 112, a View 112 and a Controller 116, so that it may provide an environment for which the respective components are independently developed. Therefore, professional UI designers may only develop View, and programmers may develop Controller and Model. In that regard, the present invention may have merits on the higher expertise of application and shorten developing time.
[37] The distributed MVC may be separately arranged in consideration of the computing environment of a variety of devices disposed in the ubiquitous environment. For example, in case of the insufficient computing resources of devices that application is executed, the controller executing complex computing may move to other device that has abundant computing resources for executing. Moreover, the application, when an user moves from a space to another space, may cooperate with a framework in order to be migration possible to an application framework existing in the most adequate device.
[38] For example, when a user uses other device 100-2 from a device 100-1, the application framework 120 may transfer the status of the application 110 to an application framework (not shown) of the device 100-2 by using a migration service. In doing this, while a user is moving, the application may execute tasks consecutively.
[39] An application server 150 may comprise a program administration unit 160 and an application storage unit 170. The application administration unit 160 may provide information and transfer UAML and program files according to the request of users of devices 100-1, 100-2,,,, 100-n.
[40] The device 100-1 incorporating the application framework 120 may easily download applications from the application server 150 through a message broker 180. Moreover, when a new version of application is developed and distributed to the application server 150, the application framework 120 may check the application version in executing the application and automatically download the newest application, so that it may much reduce a renewal procedure.
[41] The application framework 120 may use UAML (Ubiquitous Application Mark- Up Language) describing application of meta level for supporting the application search and loading necessary to users, execution to be distributed of the components of application, migration policy of the respective components and automatic renewal.
[42] The UAML may describe the purpose of application, the definition of meta information and MVC components, executing requirements of the MVC components (for example, device performance), definition of an event format for exchanging data among the MVC components, the definition of data storage unit in an application, and the definition of migration policy, etc..
[43] The Fig.2 is a block diagram showing the configuration of an application framework for the distribution and mobility of an application. The application framework 120 may comprise a MVC and UAML administration unit 210, a service administration unit 220, a runtime administration unit 230, an event administration unit 240 and a network administration unit 250.
[44] The MVC and UAML administration unit 210 may control a Model, a View and a
Controller, respectively, may do parsing and control the UAML defining the Model, View and Controller.
[45] The MVC and UAML administration unit 210 may comprise a Model administration unit 212 both controlling a model and transferring events related to the model, a View administration unit 214 both controlling a View and transferring events related to the View, a Controller administration unit 216 both controlling a Controller and transferring events related to the Controller, and a UAML administration unit 218 both parsing and controlling UAML.
[46] The UAML administration unit 218 may comprise a UAML parser 219 parsing
UAML information such as meta information for the administration of an application. The UAML administration unit 218 may provide necessary information with the application framework after converting the UAML information, unless there is any mistake in the parsing UAML information at a validity test.
[47] The service administration unit 220 may drive and control a variety of services necessary to either an application framework system or an application. The service administration unit 220, as a system service directly used in the application framework system, may drive and control both an automatic renewal service and migration service of a Model, a View and a Controller.
[48] Therefore, the service administration unit 220 may comprise a migration service executing unit 222 executing the migration of an application, an automatic renewal service executing unit 224 executing the automatic renewal of an application framework.
[49] Since the services are different at the places executing the application under ubiquitous environment, a static service binding method is not adequate. The ap- plication framework according to the present invention may define a service standard and support a service providing adequate to ubiquitous environment through pluggable service inserting structure. For providing it, the service administration unit 220, for example, may comprise a binder 226 binding a Web service based on the service standard supplied in the application framework, for supporting the Web service.
[50] The runtime administration unit 230 may control the lifecycle related to the execution and termination of an application loading, and maintain and control information of the Model, View and Controller. The control of lifecycle of the application may comprise the installation and distribution procedure of the application, and additionally support the control of the lifecycle related to the distribution, instalment, execution, termination and deletion of an application in controlling execution and termination operation of an application.
[51] The runtime administration unit 230 may comprise a runtime application information unit 232 both maintaining and controlling the information related to the currently executing application, and a runtime routing information unit 234 maintaining a location information that an executing application MVC components are existing. The location information may be expressed in logical location information based on a naming rule defined in the application framework. The logical location information may correspond to a physical IP address or middleware channel name, etc., and the mapping table for routing may be maintained.
[52] The event administration unit 240 may transfer messages among Models, Views and Controllers. The event administration unit 240 may generate and transfer a variety of events issued at both an application and an application framework. The application framework is a message driving system, and all events generated in the application framework may be generated and transferred in messages based on XML. The event administration unit 240 may transfer the messages to either an application module of the arriving place in which a message is to be transferred, or a system event Que 242 of the framework.
[53] Moreover, the event administration unit 240 may comprise a message generating unit 244 generating a XML based message with the event for transferring message among the MVC components, and a message transferring unit 246 transferring the message generated in the message generating unit 244 to the MVC components.
[54] The network administration unit 250 may transfer the message generated in the application to other framework or devices. The network administration unit 250 may interlock with a variety of middle wares existing in the under part of the application framework 120, and may support the interlocking with a variety of event messages generated in the application and other sensors.
[55] Since a variety of network infrastructures exist under ubiquitous environment, it is unknown which network may be used in the environment executing application at the runtime. Therefore, a variety of network protocols may be supported in order to efficiently cope with the ubiquitous environment. Moreover, it should be chosen and bounded to transfer data by using a network protocol at the runtime.
[56] For doing it, the network administration unit 250 may comprise a runtime message broker binder 252 binding a network adapter necessary to the runtime. Moreover, the network administration unit may comprise a socket adapter 254 connecting to a variety of networks, an infobus adapter 256 and other message broker adapter 258.
[57] The Fig. 3 is a sequence diagram related to data transfer between a View and a
Controller in the distributed MVC model.
[58] An event generated is input to a View 114 (S300). Then, the event is sent to an event administration unit 240(S304) through a View administration unit 214(S302). The event may be generated into an event message in the event administration unit 240(S306) and transferred to a network administration unit 250(S308). The network administration unit 250 may select a message broker being able to do current communication (S310), and transfer the message (S314) to a subject device through a message broker 180(S312).
[59] The subject device may receive the message (S318) through the message broker
180 (S316), the network administration unit 250 may transfer the received message to the event administration unit 240(S320), the event administration unit 240 may transfer the event to a controller administration unit 216(S322), and the controller administration unit 216 may search an adequate controller (S324) and call the controller 116 (S326).
[60] The controller 116 may transfer a computed value to the controller administration unit 240 after computing (S328), and the controller administration unit 216 may transfer it to the event administration unit 240(S330). The message may be sent to a View administration unit 214 through the network administration unit 250 and the message broker 180(S338)(S340). The View 114 may receive an event from the View administration unit 214(S342), and show a computed value after updating the View (S344).
[61] The Fig. 4 is a sequence diagram in which a View is migrated.
[62] If an event is occurred due to movement of a user (S400), a runtime administration unit 230 may request a service to a service administration unit 220(S402), and the service administration unit 220 may search an adequate service (S404).
[63] If the service administration unit 220 may request a service to a migration service execution unit 222(S406), the migration service execution unit 222 may execute a migration service (S408). The migration service execution unit 222 may deliver a message to the View administration unit 214 to get the status of the View (S410), and the View administration unit 214 may send the message to the View 114 after the View administration unit 214 searches a View (S412). The View 114 may store the status of the ViewS416), and send the message showing the status of the View to the migration service execution unit 222 through the view administration unit 214(S418).
[64] The migration service execution unit 222 may transfer the message closing the
View 114 to the View 114(S424).
[65] The migration service execution unit 222 may transfer a message generating a new
View to the event administration unit 240(S426), and the event administration unit 240 may transfer the message to the event administration unit 440 of other device through both a network administration unit and a message broker (S428).
[66] The event administration unit 440 may generate a view to a View 314 through a view administration unit 414(S414)(S432). Moreover, the migration service execution unit 222 may transfer a message establishing the current status of the view to the event administration unit 240(S434), then, the event administration unit 240 may the message to the event administration unit 440 of other device through a network administration unit and a message broker (S436).
[67] The event administration unit 440 may let the View 314 establish its current status through the View administration unit 414 (S438). If the View 314 restores the status of view (S442), the View 314 may transfer the message showing completion of the restoring the view to the migration service execution unit 222 through the View administration unit 414, the event administration unit 440 and the event administration unit 240. Then, the migration service execution unit 222 may transfer a message showing the completion of the migration service to a runtime administration unit 230.
[68] The foregoing is illustrative of the present invention and is not to be construed as limiting thereof. Although a few example embodiments of the present invention have been described, those skilled in the art will readily appreciate that many modifications are possible in the example embodiments without materially departing from the novel teachings and advantages of the present invention. Accordingly, all such modifications are intended to be included within the scope of the present invention as defined in the claims. In the claims, means-plus-function clauses are intended to cover the structures described herein as performing the recited function and not only structural equivalents but also equivalent structures. Therefore, it is to be understood that the foregoing is illustrative of the present invention and is not to be construed as limited to the specific embodiments disclosed, and that modifications to the disclosed embodiments, as well as other embodiments, are intended to be included within the scope of the appended claims. The present invention is defined by the following claims, with equivalents of the claims to be included therein.

Claims

Claims
[1] An application framework for the distribution and mobility of an application comprising MVC (Model, View and Controller) under ubiquitous environment comprising; a MVC and UAML administration unit controlling the Model, View and controller, and both parsing and controlling UAML defining the Model, View and Controller; a service administration unit both driving and controlling both an automatic renewal service and a migration service of the Model, View and Controller; a runtime administration unit controlling a lifecycle related to both a loading execution and termination of the application, and both maintaining and controlling the information of the Model, view and Controller; an event administration unit transferring messages and data among the Model,
View and Controller; and, a network administration unit transferring a message generated in the application to either other framework or device.
[2] An application framework for the distribution and mobility of an application of
Claim 1, wherein the MVC and UAML administration unit comprises: a Model administration unit controlling the Model and transferring an event related to the Model; a View administration unit controlling the View and transferring an event related to the View; a Controller administration unit controlling the Controller and transferring an event related to the Controller; and, a UAML administration unit parsing and controlling the UAML.
[3] An application framework for the distribution and mobility of an application of
Claim 1, wherein the UAML comprises at least one of a purpose of the application, meta information definition, requirement for executing environment of the MVC components, a format definition of an event for exchanging data among MVC components, a definition of data storage place of the application, and a migration policy definition.
[4] An application framework for the distribution and mobility of an application of
Claim 1, wherein the service administration unit comprises: a migration service execution unit executing a migration of the application; an automatic renewal service execution unit executing an automatic renewal of the application framework; and, a runtime binder binding a web service at execution of the application.
[5] A system for supporting the diversity of the ubiquitous computing environment of Claim 4, wherein the runtime administration unit comprises; a runtime application information unit both maintaining and controlling information related to a currently executing application; and, a runtime routing information unit maintaining a location information that MVC components of the currently executing application exist.
[6] A system for supporting the diversity of the ubiquitous computing environment of Claim 1, wherein the event administration unit comprises: a message generating unit generating XML based message for an event transferring the message among the MVC components; and, a message transferring unit transferring the message generated in the message generating unit to the MVC components.
[7] A system for supporting the diversity of the ubiquitous computing environment of Claim 1, wherein the View uses Macromedia Flash.
[8] An application framework system for the distribution and mobility of an application comprising MVC (Model, View and Controller) under ubiquitous environment comprising: a plurality of devices comprising an application and an application framework; an application server storing the application to be distributed to the devices; and, a message broker transferring messages and data between said a plurality of devices and the application server, and among said a plurality of devices, the application framework comprising: a MVC and UAML administration unit controlling the Model, View and controller, and both parsing and controlling UAML defining the Model, View and Controller; a service administration unit both driving and controlling both an automatic renewal service and a migration service of the Model, View and Controller; a runtime administration unit controlling a lifecycle related to both a loading execution and termination of the application, and both maintaining and controlling the information of the Model, view and Controller; an event administration unit transferring messages and data among the Model, View and Controller; and, a network administration unit transferring a message generated in the application to either other framework or device.
[9] A system for supporting the diversity of the ubiquitous computing environment of Claim 8, wherein the MVC and UAML administration unit comprises: a Model administration unit controlling the Model and transferring an event related to the Model; a View administration unit controlling the View and transferring an event related to the View; a Controller administration unit controlling the Controller and transferring an event related to the Controller; and, a UAML administration unit parsing and controlling the UAML.
[10] A system for supporting the diversity of the ubiquitous computing environment of Claim 8, wherein the UAML comprises at least one of a purpose of the application, meta information definition, requirement for executing environment of the MVC components, a format definition of an event for exchanging data among MVC components, a definition of data storage place of the application, and a migration policy definition.
[11] A system for supporting the diversity of the ubiquitous computing environment of Claim 8, wherein the service administration unit comprises: a migration service execution unit executing a migration of the application; an automatic renewal service execution unit executing an automatic renewal of the application framework; and, a runtime binder binding a web service at execution of the application.
[12] A system for supporting the diversity of the ubiquitous computing environment of Claim 8, wherein the runtime administration unit comprises; a runtime application information unit both maintaining and controlling information related to a currently executing application; and, a runtime routing information unit maintaining a location information that MVC components of the current executing application exist.
[13] A system for supporting the diversity of the ubiquitous computing environment of Claim 8, wherein the event administration unit comprises: a message generating unit generating XML based message for an event transferring the message among the MVC components; and, a message transferring unit transferring the message generated in the message generating unit to the MVC components.
[14] A system for supporting the diversity of the ubiquitous computing environment of Claim 8, wherein the View uses Macromedia Flash.
PCT/KR2007/000064 2006-09-08 2007-01-04 Application framework system for distribution and migration of application WO2008029974A1 (en)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2008029974A1 true WO2008029974A1 (en) 2008-03-13

Family

ID=39157382

Family Applications (1)

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

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010080680A3 (en) * 2009-01-07 2010-09-23 Sony Corporation Parallel tasking application framework

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101509269B1 (en) * 2010-03-23 2015-04-07 서울시립대학교 산학협력단 Middleware device for ubiquitous system using distributed computing scheme
KR101299757B1 (en) * 2010-08-09 2013-08-23 서울시립대학교 산학협력단 U-city Portal System and Service Method Thereof
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

Citations (4)

* 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
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
KR20050065983A (en) * 2003-12-26 2005-06-30 한국전자통신연구원 Gateway system, network device, and packet routing method for ubiquitous computing
KR20060060533A (en) * 2004-11-30 2006-06-05 한국전자통신연구원 Apparatus supporting seamless mobility in the ubiquitous environment and its method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100561683B1 (en) * 2003-10-10 2006-03-15 에스케이 텔레콤주식회사 Mobile Communication Terminal with Mobile Platform Supporting Object Oriented Application Framework
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

Patent Citations (4)

* 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
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
KR20050065983A (en) * 2003-12-26 2005-06-30 한국전자통신연구원 Gateway system, network device, and packet routing method for ubiquitous computing
KR20060060533A (en) * 2004-11-30 2006-06-05 한국전자통신연구원 Apparatus supporting seamless mobility in the ubiquitous environment and its method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010080680A3 (en) * 2009-01-07 2010-09-23 Sony Corporation Parallel tasking application framework
CN102272717A (en) * 2009-01-07 2011-12-07 索尼公司 Parallel tasking application framework

Also Published As

Publication number Publication date
KR100827925B1 (en) 2008-05-07
KR20080022934A (en) 2008-03-12

Similar Documents

Publication Publication Date Title
US7805735B2 (en) System and method of representing data entities of standard device applications as built-in components
US7493594B2 (en) System and method for designing component based applications
CA2634839C (en) Server for communicating with multi-mode devices using multi-mode applications
USRE44534E1 (en) Dynamic machine synthesis for wireless device access and management
US8732652B2 (en) System and method for creating multi-mode applications
WO2007059465A2 (en) Server side application integration framework
US8065679B2 (en) System and method for flexible application hosting on a wireless device
JP2004005419A (en) Install processing apparatus, processing method, storage medium, and program
CN101174219A (en) Method and system for executing and equipping application according to use condition
EP1875373A1 (en) System and method of data source detection
US20080311886A1 (en) Server for communicating with multi-mode devices using multi-mode applications
CN102043665A (en) System landscape aware inter-application communication infrastructure
CN102591724A (en) Method and device for information interaction
CN101931603A (en) Method for realizing remote call on hand-held intelligent terminal
CN102163156A (en) Mobile terminal icon replacing method and mobile terminal
WO2008029974A1 (en) Application framework system for distribution and migration of application
Malek et al. Reconceptualizing a family of heterogeneous embedded systems via explicit architectural support
CN102169447A (en) Method and corresponding system for registering and deregistering self-defined Shell
EP1703386B1 (en) System and method for designing component based applications
CA2635172C (en) Device for communicating in multiple modes using multi-mode applications
CA2635173C (en) System and method for creating multi-mode applications
US9425988B2 (en) Device for communicating in multiple modes using multi-mode applications
CN102508665B (en) Method for drawing application view and device for drawing application view
KR100494827B1 (en) Distributed object model based radio server with hardware-independent communication interface and communication control method using the same
CN118170426A (en) Service processing method, device and architecture based on micro front end single-bin architecture

Legal Events

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

Ref document number: 07700856

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07700856

Country of ref document: EP

Kind code of ref document: A1