KR20060123361A - 상이한 실행 환경들 간의 교환을 위한 방법 및 시스템 - Google Patents

상이한 실행 환경들 간의 교환을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20060123361A
KR20060123361A KR1020067012329A KR20067012329A KR20060123361A KR 20060123361 A KR20060123361 A KR 20060123361A KR 1020067012329 A KR1020067012329 A KR 1020067012329A KR 20067012329 A KR20067012329 A KR 20067012329A KR 20060123361 A KR20060123361 A KR 20060123361A
Authority
KR
South Korea
Prior art keywords
service
platform
management support
application
server application
Prior art date
Application number
KR1020067012329A
Other languages
English (en)
Other versions
KR101062120B1 (ko
Inventor
브존 브자레
조나스 한슨
Original Assignee
텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) filed Critical 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘)
Publication of KR20060123361A publication Critical patent/KR20060123361A/ko
Application granted granted Critical
Publication of KR101062120B1 publication Critical patent/KR101062120B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5015Service provider selection

Abstract

상이한 실행 환경들에서 애플리케이션 서비스 교환의 방법은, 제1 실행 환경에서 동작하는 서버 애플리케이션으로부터 서비스를 핸들링하기 위한 등록을 수신하는 단계, 제2 실행 환경에서 동작하는 클라이언트 애플리케이션으로부터 서비스에 대한 요청을 수신하는 단계, 서버 애플리케이션으로부터 서비스를 요청하는 단계, 상기 요청 단계에 응답적으로 상기 서버 애플리케이션으로부터 결과를 수신하는 단계, 및 상기 클라이언트 애플리케이션에 상기 결과를 전달하는 단계를 포함한다. 본 요약은 탐색자 또는 다른 독자가 기술 개시의 주제를 빨리 확인하도록 하는 요약을 요구하는 규칙에 따라 제공된다. 본 요약은, 청구범위의 범위 또는 의미를 해석하거나 제한하기 위해 사용되지는 않을 것임을 이해함으로써 제출된다.
모바일 장치, 애플리케이션 서비스 교환, 서버/클라이언트 애플리케이션, 플랫폼 서비스 관리 지원, 서비스 요청 중개자, 실행 환경 중립적 방식

Description

상이한 실행 환경들 간의 교환을 위한 방법 및 시스템{METHOD AND SYSTEM FOR EXCHANGE ACROSS DIFFERENT EXECUTION ENVIRONMENTS}
본 발명은 일반적으로 상이한 실행 환경들에서 애플리케이션들 간의 통신에 관한 것이고, 더 구체적으로는, 상이한 실행 환경들에서 애플리케이션 서비스 교환에 관한 것이다.
다수의 임베디드(embeded) 시스템들에서, 모든 애플리케이션들은 동일한 자연 실행 환경(native execution environment)에서 실행한다. 실행 환경은, 서비스들이 액세스되고 사용되는 방법, 이벤트들이 수신되는 방법, 메모리와 같은 공유된 자원들이 사용되는 방법, 운영 시스템이 동작하고 사용되는 방법, 시스템의 실행에서 병렬성이 달성되는 방법, 및 애플리케이션이 시작과 종료에서 제어되는 방법의 관점에서 애플리케이션들에 대한 가능성들과 제한사항들을 정의한다. 부연하면, 실행 환경은 애플리케이션의 실행과 설치에 대한 가능성들과 제한사항들을 정의한다. 모든 애플리케이션들에 대해 동일한 실행 환경의 사용은, 모든 애플리케이션들에 대한 규칙들이 시스템 전체에서 동일하고, 실행 환경 사양이 한 개의 조직체로부터 제어됨을 내포한다.
그러나, 모바일 장치들에서, 모바일 장치의 자연 실행 환경과 병행하여 존재 하는 추가적 실행 환경들(예를 들어, 비자연(non-native) 실행 환경 JAVA)이 도입되었다. 또한, 다수의 모바일 장치 플랫폼 고객들은, 레거시 애플리케이션들(legacy applications)에서 고객들의 투자를 유보하기 위해 모바일-장치 플랫폼으로 이식되는 사유 실행 환경을 가진다.
JAVA와 같은, 표준화된 실행 환경들은, 예를 들어, JSR(JAVA Specification Request) 사양을 통해 표준화된 실행 환경들과 공존하는 다른 실행 환경들에 요구사항들을 부가할 것이다. 예를 들어, JSR 75는, JAVA 애플리케이션의 종단 사용자가 전화 번호를 편집할 때, 시스템 상의 기존 전화번호부가 호출되어 원하는 연락처를 선택하여, JAVA 애플리케이션의 편집 필드에 다시 그 전화 번호를 복사할 수 있도록 한다는 것을 기재한다. 그러므로, JAVA 실행 환경은, 자연 실행 환경 또는 다른 상업/사유 실행 환경에서 실행할 수 있는 임의의 애플리케이션 상에 요구사항들을 부가한다. 그런 애플리케이션들의 특정한 디자인이, 예를 들어, 플랫폼 제조자들의 제어하에 있지 않으므로, 이들 요구사항들은 상이한 실행 환경들의 애플리케이션들이 실행 환경 경계들을 가로질러 서비스들을 교환하도록 하는 기술에 대한 필요성을 발생시킨다.
상이한 실행 환경들에서 애플리케이션 서비스 교환의 방법은, 제1 실행 환경에서 동작하는 서버 애플리케이션으로부터 서비스를 핸들링하기 위해 등록을 수신하는 단계, 제2 실행 환경에서 동작하는 클라이언트 애플리케이션으로부터 서비스에 대한 요청을 수신하는 단계, 서버 애플리케이션으로부터 서비스를 요청하는 단계, 상기 요청 단계에 응답하는 서버 애플리케이션으로부터의 결과를 수신하는 단계, 및 클라이언트 애플리케이션으로 그 결과를 전달하는 단계를 포함한다.
상이한 실행 환경들에서 애플리케이션 서비스 교환을 위한 시스템은, 제1 실행 환경, 제1 실행 환경에서 실행하기 위해 적응된 서버 애플리케이션, 제2 실행 환경, 제2 실행 환경에서 실행하기 위해 적응된 클라이언트 애플리케이션, 및 플랫폼 서비스 관리 지원을 포함한다. 플랫폼 서비스 관리 지원은, 클라이언트 애플리케이션에 의한 서비스에 대한 요청을 수신하고, 서버 애플리케이션으로부터 서비스를 요청하고, 그리고 클라이언트 애플리케이션에게 이 요청에 응답하는 결과를 전달하기 위해 적응된다.
지금부터, 동반하는 도면들과 연관하여 고려할 때, 본 발명의 실시예들에 대한 다음 상세한 설명을 참조하여 본 발명에 대한 더욱 완전한 이해를 얻을 수 있을 것이다.
도 1은 클라이언트 요청 시에 서버가 이미 실행 중일 때 클라이언트 요청과 그 요청에 대한 서버 수행을 나타내는 메시징 도면이다.
도 2는 클라이언트 요청 시에 서버가 실행 중이 아닐 때 클라이언트 요청과 그 요청에 대한 서버 수행을 나타내는 메시징 도면이다.
도 3은 본 발명의 실시예들에 따른 상이한 실행 환경들에서의 애플리케이션 서비스 교환의 논리 블록도 개관이다.
본 발명의 실시예(들)는 동반된 도면들을 참조하여 더욱 완전히 기재될 것이다. 그러나, 본 발명은 다수의 상이한 형태로 구현될 수 있고, 본 명세서에 기재된 실시예들에만 제한되는 것으로서 해석되어서는 안된다. 본 발명은 단지 현재 존재하는 청구항들 및 그것들의 동격들에 의해서만 제한되어야 한다.
본 발명의 원칙들에 따르면, 플랫폼 서비스 관리 지원을 사용하여 서비스 레벨에서 클라이언트와 서버 사이에 정보가 교환된다. 예를 들어, 서버는, 상술된 예에서 "SupplyPhoneNumber"와 같은 특정 서비스 또는 서비스들의 집합을 핸들링할 수 있는 것으로서 그 자신을 등록한다. 임의의 실행 환경에서 클라이언트가 전화 번호를 요청하고, 서버 등록이 존재하면, 모바일 장치 플랫폼 서비스 관리 지원을 통해서, 요청은 그 서비스의 핸들링을 위해 등록된 서버로 전달된다. 서버가 서비스를 수행할 때, 플랫폼 서비스 관리 지원을 통해서, 그 결과가 클라이언트로 전달된다.
완전히 상이한 실행 환경들의 클라이언트와 서버 애플리케이션들 간의 접속을 그들의 각각의 실행 환경에 특정한 레벨들 대신에 서비스 레벨에서 정의함으로써, 실행 환경 경계들에서 정보를 교환하기 위한 일반 메커니즘이 정의될 수 있다. 종단점들(즉, 클라이언트와 서버)은 서로 알 필요가 없고, 서로 컴파일 시간과 링크 시간에 독립적이다. 종단점들은 단지 플랫폼 서비스 관리 지원에 대한 정보를 갖고 그에 적응할 필요만이 있다. 그러므로, 플랫폼 서비스 관리 지원은 서비스 라우터로서 동작할 수 있다. 서비스 관점에서, 플랫폼은 단순히 요청된 서비스들의 집합을 공개한다. 클라이언트 관점에서, 플랫폼은 잠재적으로 액세스가능한 서 비스들을 공개한다. 클라이언트는 서비스를 명시할 수 있고, 서버는 그 자신이 그런 서비스에 대한 요청을 핸들링할 수 있는지의 여부를 판정할 수 있다. 만약 그렇다면, 서버는 그 서비스를 핸들링할 수 있는 것으로서 그 자신을 등록한다.
클라이언트(예를 들어, JAVA 표준화로 나타낸 일례에서)는 서비스를 명시하고, 서버는 그 자신이 그런 요청을 핸들링할 수 있는지의 여부를 판정한다. 클라이언트-명시된 해결책은, 특정한 서버에 의해 서비스의 사양이 클라이언트의 필요사항을 만족시키는지의 여부를 클라이언트가 판정하기 위해 검사하는 대부분의 클라이언트-서버 디자인과는 반대 입장이다. 본 발명의 다양한 실시예들에 따른 방법은 양쪽 경우 모두를 해결한다. 서비스와 그것의 기능적 인터페이스가 명시되고 표현되는 방법에 관한 2개의 경우들의 예가 아래와 같다:
(1) 서비스는 특정한 실행 환경 또는 특정한 서비스 표현에 메이지 않는 방식으로 명시된다. 그러나, 종단점들(즉, 클라이언트와 서버)은 플랫폼 서비스 관리 지원에 적응해야만 한다. 구현 관점에서, 비특정한(non-specific) 서비스 표현을 달성하는 한 가지 방식은, 문자-코딩 스킴을 제외한, 서비스-표현 및 실행 환경 중립적인 문자열들을 사용하는 것이다. 이 경우, 예를 들어, "전화 번호" 및 "주소"와 같은 개념들은 모든 시스템들에서 범용인 데이터 세만틱(semantics)을 나타낸다.
(2) 서비스는 서비스의 플랫폼 서비스 관리 지원 표현에 메인 방식으로 명시된다. 부연하면, 종단점들(즉, 클라이언트와 서버)은 플랫폼 서비스 관리 지원에 적응하여, 상호 간에 알려진 플랫폼 서비스 관리 지원에 의해 서비스가 표현되는 방법을 알아야만 한다.
플랫폼 서비스 관리 지원은 2개의 부분들을 포함한다: (a) 어느 서버가 어느 서비스들을 구현하는지에 대해 추적하는 서비스 등록 부분, 및 (b) 클라이언트와 서버에 대한 접속점으로서 동작하는 서비스 중개자 부분. 서비스 요청은 클라이언트에서 서버로 전달되고, 서비스 결과는 플랫폼 서비스 관리 지원에 의해 서버에서 클라이언트로 전달된다.
플랫폼 서비스 관리 지원이 시스템의 어디에 위치되고 구현되는 지에 관한 3개의 경우들의 예가 아래 기재된다. 어디에 플랫폼 서비스 관리 지원이 위치되는지에 대한 선택이 클라이언트나 서버가 플랫폼 서비스 관리 지원을 사용하는 방법에 영향을 미칠 필요는 없다. 플랫폼 서비스 관리 지원 위치들의 3개의 예가 아래와 같다:
(1) 플랫폼 서비스 관리 지원은 플랫폼으로 병합된다.
(2) 플랫폼 서비스 관리 지원은 플러그-인으로 구현된다.
플러그-인들은, 플러그-인 모델(The Plug-In Model)의 표제이고 참조로서 본 명세서에 병합되는, 미국특허출원서번호 제10/665,834호에서 더 상세히 논의된다.
(3) 플랫폼 서비스 관리 지원의 서비스 중개자 부분이 플러그-인에 구현되는 한편, 플랫폼 서비스 관리 지원의 등록 부분은 플래폼으로 병합된다.
위에 리스트된 3개의 플랫폼 서비스 관리 지원을 위치시키는 경우들의 각각은 외부 가시성, 병합, 프로세스, 및 회사-전략 결정들에 관련하여 상이한 장점들과 단점들을 제공한다. 예를 들어, 플랫폼 서비스 관리 지원이 위의 경우 2와 경 우 3에 따라 위치되면, 자연 서비스들을 요구하는, 예를 들어, JAVA JSRs와 같은 개발은 전체 플랫폼 개발과 동기화될 필요가 없다.
이제 도면들을 참조하면, 도 3은 본 발명의 실시예들에 따른 상이한 실행 환경들에서 애플리케이션 서비스 교환의 논리 블록도 개관이다. 도 3이 플랫폼에 위치된 플랫폼 서비스 관리 지원을 나타내지만, 당업자라면, 본 발명의 원칙들을 벗어나지 않고 상술된 3개의 경우들 중의 임의의 것에 따라 플랫폼 서비스 관리 지원이 위치될 수 있슴을 이해할 것이다. 도 3은 플랫폼(302)을 포함하는 시스템(300)을 나타낸다. 플랫폼(302)과 같은 플랫폼들은, 모바일 터미널을 위한 플랫폼 시스템(Platform System for Mobile Terminals)의 표제이고 참조로서 본 명세서에 병합되는, 미국특허출원서번호 제10/359,835호에 더 상세히 논의된다.
플랫폼(302)은 플랫폼 서비스 관리 지원(305)을 포함한다. 또한, 실행 환경(304, 306, 308)이 시스템(300)의 일부로서 도시된다. 예를 들어, 실행 환경(304)은 JAVA 실행 환경일 수 있고, 실행 환경(306)은 고객 레거시 실행 환경일 수 있고, 및 실행 환경(308)은 플랫폼-정의된 실행 환경일 수 있다.
클라이언트 애플리케이션(310)이 실행 환경(304) 내에 도시된다. 서버 애플리케이션(312)은 실행 환경(308) 내에 도시된다. 또한, 다양한 다른 애플리케이션들은 실행 환경(304, 306, 308) 각각의 내에 도시된다. 플랫폼 서비스 관리 지원(305)은 서비스 중개인 부분(314)과 서비스 등록 부분(316)을 포함한다. 또한, 복수 개의 플랫폼 서비스들(318, 320, 322, 및 324)은 플랫폼(302)의 일부로서 도시된다. 일반적으로, 화살표(326, 328)는 플랫폼 서비스 관리 지원(305)을 통해서 클라이언트 애플리케이션(310)과 서버 애플리케이션(312) 사이의 통신을 나타내고, 화살표(326, 328)는 클라이언트 애플리케이션(310)에 의해 플랫폼 서비스 관리 지원(305)으로 전달되는 서비스 요청, 및 플랫폼 서비스 관리 지원(305)에 의해 서버 애플리케이션(312)으로 전달되는 서버 요청을 나타낸다.
도 1은, 클라이언트 요청 시에, 서버가 이미 실행 중일 때 클라이언트 요청과 그 요청에 대한 서버 수행을 나타내는 메시징 도면이다. 모바일 장치(100)는 실행 환경(102), 실행 환경(104), 및 플랫폼(106)을 포함한다. 실행 환경(102)은 서버 애플리케이션(108)을 포함한다. 실행 환경(104)은 클라이언트 애플리케이션(110)을 포함한다. 플랫폼(106)은 플랫폼 서비스 관리 지원(112)을 포함한다.
메시지(114)에서, 서버 애플리케이션(108)은 플랫폼(106)의 플랫폼 서비스 관리 지원(112)을 사용하여 주어진 서비스에 대한 핸들러로서 등록한다. 플랫폼 서비스 관리 지원(112)은 이 정보를 저장한다. 서비스는 세만틱에서 일반적인 방식으로 명시된다. 메시지(116)에서, 클라이언트 애플리케이션(110)은 플랫폼(106)의 플랫폼 서비스 관리 지원(112)을 사용하여 서비스를 요청한다. 클라이언트 애플리케이션(110)은 어느 서버 애플리케이션 또는 실행 환경이 그 서비스를 구현하는지를 모른다. 그러나, 플랫폼 서비스 관리 지원(112)은 그 요청된 서비스를 구현하는 서버 애플리케이션의 신원을 알고 있다. 플랫폼 서비스 관리 지원(112)은 어느 서버 애플리케이션이 그 서비스를 구현하는지를 알고 있고, 메시지(118)에서, 적절한 서버 애플리케이션(즉, 서버 애플리케이션(108))으로 서비스 요청을 전송한다.
메시지(120)에서, 서버 애플리케이션(108)은 그 서비스를 수행하고, 그 서비스의 결과를 플랫폼 서비스 관리 지원(112)으로 전달한다. 플랫폼 서비스 관리 지원(112)은 클라이언트 애플리케이션(110)이 서비스를 요청했다는 것을 알고 있으며, 메시지(122)에서, 그 서비스의 결과를 클라이언트 애플리케이션(110)으로 전달한다.
다시 도면들을 참조하면, 도 2는, 클라이언트의 요청시에, 서버가 실행 중이 아닐 때, 클라이언트 요청과 그 클라이언트 요청에 대한 서버의 수행을 나타내는 메시징 도면이다. 단계(202)에서, 서버 애플리케이션(108)의 설치시에, 플랫폼 서비스 관리 지원(112)의 서버 등록을 위해 필요한 정보를 서버 애플리케이션(108)이 제공한다. 플랫폼 서비스 관리 지원(112)은 이 정보를 저장한다.
메시지(203)에서, 클라이언트 애플리케이션(110)은 플랫폼(106)의 플랫폼 서비스 관리 지원(112)을 사용하여 서비스를 요청한다. 클라이언트 애플리케이션(110)은 어느 서버 애플리케이션 또는 실행 환경이 그 서비스를 구현하는지를 모른다. 그러나, 플랫폼 서비스 관리 지원(112)은 그 요청된 서비스를 구현하는 서버 애플리케이션의 신원을 알고 있다. 플랫폼 서비스 관리 지원(112)은 어느 서버 애플리케이션이 그 서비스를 구현하는지(즉, 서버 애플리케이션(108))를 추적한다. 도 2에서 처럼, 서버 애플리케이션(108)이 아직 시작하지 않았으면, 플랫폼 서비스 관리 지원(112)은 단계(204)에서 그 서버 애플리케이션을 시작한다. 메시지(206)에서, 플랫폼 서비스 관리 지원(112)은 서비스 요청을 서버 애플리케이션(108)으로 전송한다. 서버 애플리케이션(108)은 그 서비스를 수행하여, 메시지(208)에서, 그 서비스의 결과를 플랫폼 서비스 관리 지원(112)으로 전달한다. 플랫폼 서비스 관리 지원(112)은, 어느 클라이언트 애플리케이션이 그 서비스를 요청했는지(즉, 애플리케이션(110))를 알고 있고, 메시지(210)에서, 그 서비스의 결과를 클라이언트 애플리케이션(110)으로 전달한다.
예를 들어, 실행 환경에 의해 사용되는 시작 애플리케이션들의 특정한 방식들 때문에, 도 2에 도시된 것처럼, 플랫폼 서비스 관리 지원(112)이 서버 애플리케이션(108)을 자동으로 시작하는 것이 바람직하지 않지만, 클라이언트 애플리케이션(110)이 서버 애플리케이션(108)의 서비스들을 요청할 때, 서버 애플리케이션(108)이 주문형(on-demand)으로 시작하는 것이 여전히 바람직하면, 서버 애플리케이션(108)의 실행 환경(102)에서 중개자 애플리케이션이 사용될 수 있다. 중개자 애플리케이션은 동일한 실행 환경(즉, 실행 환경(102)) 상에서 다양한 서버 애플리케이션들의 서비스들을 알고 있을 것이고, 예를 들어, 플랫폼 서비스 관리 지원(112)으로부터의 요청에 응답하여 주문형으로 서버 애플리케이션들을 시작할 수 있을 것이다.
본 발명의 다양한 실시예들은 본질적으로 상이한 실행 환경들이 상호접속되도록 하고, 구현 차이점들을 무시하고, 및 임베디드 모바일 장치 플랫폼이 임의의 애플리케이션 서버에 의해 만족될 수 있는 요구된 서비스들의 사양을 개방하도록 하는 동적인 방식을 제공한다. 또한, 본 발명의 다양한 실시예들은 임의의 실행 환경들에서 애플리케이션들 간의 통신을 위한 일반적 방식으로 사용될 수 있다. 상이한 실행 환경들 사이의 구현 차이점들은 정보 교환 관점에서 접속될 수 있다. 또한, 서버에 의해 제공되는 서비스들의 집합을 명시하는 것에 반하여, 클라이언트에 의해 요청되는 서비스들의 집합이 명시될 수 있다. 실행 환경들 간의 정보 교환은 표현 결함을 피하기 위해, 예를 들어, 문자/문자열을 사용하여 이루어질 수 있다. 또한, 서버와 클라이언트는 서로 알 필요가 없다. 일반 서비스 요청 채널은 상이한 실행 환경들에서 2개의 종단점들 사이에 설정될 수 있다. 더욱이, 본 발명의 다양한 실시예들은 서버-구동 및 클라이언트-구동 서비스 사양 모두를 지원한다.
이전 상세한 설명은 본 발명의 실시예(들)에 관한 것이다. 본 발명의 범위는 이 설명에 의해 제한되어서는 안 된다. 그 대신, 본 발명의 범위는 다음 청구항들 및 그들의 동격들에 의해 정의된다.

Claims (29)

  1. 상이한 실행 환경들에서 애플리케이션 서비스 교환의 방법으로서,
    제1 실행 환경에서 동작하는 서버 애플리케이션으로부터 서비스를 핸들링하기 위한 등록을 수신하는 단계;
    제2 실행 환경에서 동작하는 클라이언트 애플리케이션으로부터 상기 서비스에 대한 요청을 수신하는 단계;
    서버 애플리케이션으로부터 상기 서비스를 요청하는 단계;
    상기 요청하는 단계에 응답하는 상기 서버 애플리케이션으로부터의 결과를 수신하는 단계; 및
    상기 클라이언트 애플리케이션으로 상기 결과를 전달하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 단계들은 모바일 장치의 플랫폼 내에서 수행되는 방법.
  3. 제2항에 있어서, 상기 단계들은 상기 모바일 장치의 플랫폼의 플랫폼 서비스 관리 지원에 의해 수행되는 방법.
  4. 제1항에 있어서, 상기 클라이언트 애플리케이션은 상기 서버 애플리케이션 또는 상기 제1 실행 환경의 위치를 모르는 방법.
  5. 제4항에 있어서, 상기 서버 애플리케이션은 상기 클라이언트 애플리케이션 또는 상기 제2 실행 환경의 위치를 모르는 방법.
  6. 제1항에 있어서, 상기 서비스는 실행-환경 중립적인 방식으로 명시되는 방법.
  7. 제6항에 있어서, 상기 서비스는 문자열을 사용하여 표현되는 방법.
  8. 제1항에 있어서, 상기 서비스는 플랫폼 서비스 관리 지원에 특정한 표현으로 표현되는 방법.
  9. 제3항에 있어서, 상기 등록을 수신하는 단계는 상기 플랫폼 서비스 관리 지원의 등록 부분에 의해 수행되는 방법.
  10. 제3항에 있어서, 상기 플랫폼 서비스 관리 지원의 서비스 중개자 부분에 의해, 상기 서비스에 대한 요청을 수신하는 단계, 상기 서비스를 요청하는 단계, 상기 결과를 수신하는 단계, 및 상기 결과를 전달하는 단계가 수행되는 방법.
  11. 제1항에 있어서, 모바일 장치의 플랫폼 서비스 관리 지원에 의해 상기 단계들이 수행되는 방법.
  12. 제11항에 있어서, 상기 플랫폼 서비스 관리 지원은 상기 모바일 장치의 플랫폼의 일부인 방법.
  13. 제11항에 있어서, 상기 플랫폼 서비스 관리 지원은 상기 모바일 장치의 플러그-인에 구현되는 방법.
  14. 제11항에 있어서, 상기 플랫폼 서비스 관리 지원은,
    상기 모바일 장치의 플랫폼의 일부로서 구현되는 등록 부분; 및
    상기 모바일 장치의 플러그-인에 구현되는 서비스 중개자 부분
    을 포함하는 방법.
  15. 제1항에 있어서,
    상기 클라이언트 애플리케이션이 적어도 한 개의 서비스를 명시하는 단계; 및
    상기 서버 애플리케이션이 상기 클라이언트 애플리케이션에 의해 명시된 상기 서비스를 핸들링할 수 있는지의 여부를 상기 서버 애플리케이션이 판정하는 단계
    를 더 포함하는 방법.
  16. 제1항에 있어서,
    상기 서버 애플리케이션이 적어도 한 개의 서비스를 명시하는 단계; 및
    상기 서버 애플리케이션에 의해 명시된 상기 적어도 한 개의 서비스가 상기 클라이언트 애플리케이션 서비스 요청에 따르는지의 여부를 상기 클라이언트 애플리케이션이 판정하는 단계
    를 더 포함하는 방법.
  17. 상이한 실행 환경들에서 애플리케이션 서비스 교환을 위한 시스템으로서,
    제1 실행 환경;
    상기 제1 실행 환경에서 실행하기 위해 적응된 서버 애플리케이션;
    제2 실행 환경;
    상기 제2 실행 환경에서 실행하기 위해 적응된 클라이언트 애플리케이션; 및
    플랫폼 서비스 관리 지원을 포함하며, 상기 플랫폼 서비스 관리 지원은,
    상기 클라이언트 애플리케이션에 의해 상기 서비스에 대한 요청을 수신하고,
    상기 서버 애플리케이션으로부터 상기 서비스를 요청하고, 및
    상기 클라이언트 애플리케이션으로 상기 요청에 응답하는 결과를 전달하는
    시스템.
  18. 제17항에 있어서, 상기 플랫폼 서비스 관리 지원은,
    상기 서버 애플리케이션에 의해 상기 서비스를 핸들링하기 위한 등록을 수신하고,
    상기 요청 단계에 응답하는 상기 서버 애플리케이션으로부터의 상기 결과를 수신하는
    시스템.
  19. 제17항에 있어서, 상기 플랫폼 서비스 관리 지원은 플랫폼의 일부로서 구현되는 시스템.
  20. 제17항에 있어서, 상기 플랫폼 서비스 관리 지원은 플러그-인에 구현되는 시스템.
  21. 제17항에 있어서, 상기 플랫폼 서비스 관리 지원은,
    플랫폼의 일부로서 구현되는 등록 부분; 및
    플러그-인에 구현되는 서비스 중개자 부분
    을 포함하는 시스템.
  22. 제17항에 있어서, 상기 클라이언트 애플리케이션은 상기 서버 애플리케이션 또는 상기 제1 실행 환경의 위치를 모르는 시스템.
  23. 제22항에 있어서, 상기 서버 애플리케이션은 상기 클라이언트 애플리케이션 또는 상기 제2 실행 환경의 위치를 모르는 시스템.
  24. 제17항에 있어서, 상기 서비스는 실행 환경 중립적인 방식으로 명시되는 시스템.
  25. 제24항에 있어서, 상기 서비스는 문자열을 사용하여 표현되는 시스템.
  26. 제17항에 있어서, 상기 서비스는 플랫폼 서비스 관리 지원에 특정한 표현으로 표현되는 시스템.
  27. 제17항에 있어서, 상기 플랫폼 서비스 관리 지원은,
    등록 부분; 및
    서비스 중개자 부분
    을 포함하는 시스템.
  28. 제17항에 있어서, 상기 클라이언트 애플리케이션은 적어도 한 개의 서비스를 명시하기 위해 적응되고, 상기 서버 애플리케이션이 상기 클라이언트 애플리케이션에 의해 명시된 상기 서비스를 핸들링할 수 있는지의 여부를 상기 서버 애플리케이 션이 판정하기 위해 적응되는 시스템.
  29. 제17항에 있어서, 상기 서버 애플리케이션은 적어도 한 개의 서비스를 명시하기 위해 적응되고, 상기 서버 애플리케이션에 의해 명시된 상기 적어도 한 개의 서비스가 상기 클라이언트 애플리케이션 서비스 요청에 따르는지의 여부를 상기 클라이언트 애플리케이션이 판정하기 위해 적응되는 시스템.
KR1020067012329A 2003-12-22 2004-12-20 상이한 실행 환경들 간의 교환을 위한 방법 및 시스템 KR101062120B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US53223503P 2003-12-22 2003-12-22
US60/532,235 2003-12-22
US10/893,808 US7958496B2 (en) 2003-12-22 2004-07-19 Method of and system for application service exchange across different execution environments
US10/893,808 2004-07-19
PCT/EP2004/014483 WO2005064462A2 (en) 2003-12-22 2004-12-20 Method of and system for exchange across different execution environments

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020107028592A Division KR20110009255A (ko) 2003-12-22 2004-12-20 상이한 실행 환경들 간의 교환을 위한 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20060123361A true KR20060123361A (ko) 2006-12-01
KR101062120B1 KR101062120B1 (ko) 2011-09-02

Family

ID=34681682

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020067012329A KR101062120B1 (ko) 2003-12-22 2004-12-20 상이한 실행 환경들 간의 교환을 위한 방법 및 시스템
KR1020107028592A KR20110009255A (ko) 2003-12-22 2004-12-20 상이한 실행 환경들 간의 교환을 위한 방법 및 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020107028592A KR20110009255A (ko) 2003-12-22 2004-12-20 상이한 실행 환경들 간의 교환을 위한 방법 및 시스템

Country Status (5)

Country Link
US (1) US7958496B2 (ko)
EP (1) EP1697839A2 (ko)
JP (1) JP2007515720A (ko)
KR (2) KR101062120B1 (ko)
WO (1) WO2005064462A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102052847B1 (ko) * 2019-02-27 2019-12-05 정남호 모바일 단말기에서 앱의 간편실행을 위한 플랫폼 제공 방법 및 이를 이용하는 시스템

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194557B1 (en) * 2004-11-08 2007-03-20 Palmsource, Inc. Data exchange between a handheld device and another computer system using an exchange manager via synchronization
US7958496B2 (en) * 2003-12-22 2011-06-07 Telefonaktiebolaget L M Ericsson (Publ) Method of and system for application service exchange across different execution environments
US7984455B2 (en) * 2007-05-30 2011-07-19 Sony Ericsson Mobile Communications Ab Enhanced native contact book application
US9525587B2 (en) 2012-05-17 2016-12-20 International Business Machines Corporation Updating web resources
GB2503932A (en) * 2012-07-13 2014-01-15 Ibm Creating a hybrid processing thread to be executed on multiple application servers
JP5606599B1 (ja) * 2013-07-29 2014-10-15 デジタルア−ツ株式会社 情報処理装置、プログラム及び情報処理方法
US10032027B2 (en) * 2014-07-29 2018-07-24 Digital Arts Inc. Information processing apparatus and program for executing an electronic data in an execution environment

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3954689B2 (ja) * 1997-06-12 2007-08-08 インターナショナル・ビジネス・マシーンズ・コーポレーション メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体
USH1921H (en) 1997-09-26 2000-11-07 Dsc/Celcore, Inc. Generic wireless telecommunications system
US6205482B1 (en) * 1998-02-19 2001-03-20 Ameritech Corporation System and method for executing a request from a client application
US6446109B2 (en) * 1998-06-29 2002-09-03 Sun Microsystems, Inc. Application computing environment
JP3732359B2 (ja) 1999-07-16 2006-01-05 富士通株式会社 情報仲介・統合装置
US7003482B1 (en) * 1999-12-10 2006-02-21 Computer Sciences Corporation Middleware for business transactions
EP1111505A1 (en) 1999-12-21 2001-06-27 Motorola, Inc. Architecture for executing applications in a data communications environment
US6868451B1 (en) * 2000-06-20 2005-03-15 Palm Source, Inc. Data exchange between a handheld device and another computer system using an exchange manager via synchronization
JP2002073578A (ja) * 2000-09-05 2002-03-12 Hitachi Software Eng Co Ltd 分散オブジェクトシステム
US7032002B1 (en) * 2000-09-06 2006-04-18 Xanboo, Inc. Service broker for processing data from a data network
SE519936C2 (sv) * 2001-01-24 2003-04-29 Ericsson Telefon Ab L M Anordning och förfarande relaterade till sessionshantering i en portalstruktur
US7191250B1 (en) * 2001-03-19 2007-03-13 Palmsource, Inc. Communication protocol for wireless data exchange via a packet transport based system
JP2002287989A (ja) * 2001-03-28 2002-10-04 Seiko Epson Corp 分散オブジェクトシステム及びその情報処理方法並びに分散オブジェクトシステムにおける情報処理プログラムを記録した記録媒体
US20030005034A1 (en) * 2001-06-14 2003-01-02 Amin Rajesh B. System and method for service delivery platform in an IP centric distributed next generation network
US6986148B2 (en) * 2001-07-17 2006-01-10 Appforge, Inc. Methods and systems for providing platform-independent shared software components for mobile devices
US7035944B2 (en) * 2001-09-19 2006-04-25 International Business Machines Corporation Programmatic management of software resources in a content framework environment
US7191216B2 (en) * 2001-10-03 2007-03-13 Nokia Corporation System and method for controlling access to downloadable resources
WO2003058375A2 (en) * 2001-10-26 2003-07-17 Zeosoft Corporation Development, management of distributed clients and servers
US7088995B2 (en) * 2001-12-13 2006-08-08 Far Eastone Telecommunications Co., Ltd. Common service platform and software
US7536181B2 (en) * 2002-02-15 2009-05-19 Telefonaktiebolaget L M Ericsson (Publ) Platform system for mobile terminals
US20040215711A1 (en) * 2002-03-14 2004-10-28 Openwave Systems Inc. Mobile services platform architecture
US20030233465A1 (en) * 2002-06-12 2003-12-18 Vuico, L.L.C. System and method for implementing communication middleware for mobile "Java" computing
US7350211B2 (en) * 2002-09-23 2008-03-25 Telefonaktiebolaget Lm Ericsson (Publ) Middleware application environment
US7478395B2 (en) * 2002-09-23 2009-01-13 Telefonaktiebolaget L M Ericsson (Publ) Middleware application message/event model
US7114148B2 (en) * 2002-09-30 2006-09-26 Microsoft Corporation Runtime services for network software platform
US20040128347A1 (en) * 2002-12-31 2004-07-01 Jeffrey Mason System and method for providing content access at remote portal environments
JP4303541B2 (ja) * 2003-09-02 2009-07-29 株式会社日立製作所 検索方法及び検索ブローカ
US7958496B2 (en) * 2003-12-22 2011-06-07 Telefonaktiebolaget L M Ericsson (Publ) Method of and system for application service exchange across different execution environments

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102052847B1 (ko) * 2019-02-27 2019-12-05 정남호 모바일 단말기에서 앱의 간편실행을 위한 플랫폼 제공 방법 및 이를 이용하는 시스템

Also Published As

Publication number Publication date
WO2005064462A2 (en) 2005-07-14
JP2007515720A (ja) 2007-06-14
US20050138116A1 (en) 2005-06-23
US7958496B2 (en) 2011-06-07
WO2005064462A3 (en) 2006-03-23
EP1697839A2 (en) 2006-09-06
KR20110009255A (ko) 2011-01-27
KR101062120B1 (ko) 2011-09-02

Similar Documents

Publication Publication Date Title
KR100320976B1 (ko) 웹서버객체를tcp/ip포트에매핑하는방법및그장치
US6944650B1 (en) System for accessing an object using a “web” browser co-operating with a smart card
US7499983B2 (en) Web dispatch service
KR100929852B1 (ko) 공유 메모리를 이용한 가상 기계 상의 응용프로그램 간통신 인터페이스 장치 및 그 방법
CA2279382C (en) Web request broker controlling multiple processes
US7571208B2 (en) Creating proxies from service description metadata at runtime
JP3730563B2 (ja) セッション管理装置およびセッション管理方法およびプログラムおよび記録媒体
EP1117035A1 (en) Runtime environment component services
US20020002605A1 (en) Server/client system and program for implementing application distribution in this server/client system
US20040204073A1 (en) Network technology augmented user device framework
US20030055862A1 (en) Methods, systems, and articles of manufacture for managing systems using operation objects
JP5422103B2 (ja) 分離されている実行コンテキスト間でのデータ転送方法及び装置
US20030037107A1 (en) Application distribution system, and distribution server and distribution method thereof
US8239862B2 (en) Apparatus, method, and computer program product for processing information
KR101062120B1 (ko) 상이한 실행 환경들 간의 교환을 위한 방법 및 시스템
US6697859B1 (en) Apparatus, method, program, and information processing system for prioritized data transfer to a network terminal
US20130159468A1 (en) Computer implemented method, computer system, electronic interface, mobile computing device and computer readable medium
CA2508081A1 (en) Accessing computational grids
US20050144290A1 (en) Arbitrary java logic deployed transparently in a network
US6763387B1 (en) Method and system for sharing a single communication port between a plurality of servers
KR101190597B1 (ko) 로봇 소프트웨어 컴포넌트를 위한 메소드 포트 장치 및 구성 방법
US7827194B2 (en) Access to shared disk device on storage area network
van Gurp et al. Service grid variability realization
Di Pietro et al. Extending the MASIF location service in the MAP agent system
JP4523196B2 (ja) Icカードとデータの授受を行う管理サーバ及び管理サーバが実行する方法

Legal Events

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

Payment date: 20140807

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150807

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160811

Year of fee payment: 6