KR20060123361A - 상이한 실행 환경들 간의 교환을 위한 방법 및 시스템 - Google Patents
상이한 실행 환경들 간의 교환을 위한 방법 및 시스템 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5055—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5015—Service provider selection
Abstract
상이한 실행 환경들에서 애플리케이션 서비스 교환의 방법은, 제1 실행 환경에서 동작하는 서버 애플리케이션으로부터 서비스를 핸들링하기 위한 등록을 수신하는 단계, 제2 실행 환경에서 동작하는 클라이언트 애플리케이션으로부터 서비스에 대한 요청을 수신하는 단계, 서버 애플리케이션으로부터 서비스를 요청하는 단계, 상기 요청 단계에 응답적으로 상기 서버 애플리케이션으로부터 결과를 수신하는 단계, 및 상기 클라이언트 애플리케이션에 상기 결과를 전달하는 단계를 포함한다. 본 요약은 탐색자 또는 다른 독자가 기술 개시의 주제를 빨리 확인하도록 하는 요약을 요구하는 규칙에 따라 제공된다. 본 요약은, 청구범위의 범위 또는 의미를 해석하거나 제한하기 위해 사용되지는 않을 것임을 이해함으로써 제출된다.
모바일 장치, 애플리케이션 서비스 교환, 서버/클라이언트 애플리케이션, 플랫폼 서비스 관리 지원, 서비스 요청 중개자, 실행 환경 중립적 방식
Description
본 발명은 일반적으로 상이한 실행 환경들에서 애플리케이션들 간의 통신에 관한 것이고, 더 구체적으로는, 상이한 실행 환경들에서 애플리케이션 서비스 교환에 관한 것이다.
다수의 임베디드(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 실행 환경에서 동작하는 서버 애플리케이션으로부터 서비스를 핸들링하기 위한 등록을 수신하는 단계;제2 실행 환경에서 동작하는 클라이언트 애플리케이션으로부터 상기 서비스에 대한 요청을 수신하는 단계;서버 애플리케이션으로부터 상기 서비스를 요청하는 단계;상기 요청하는 단계에 응답하는 상기 서버 애플리케이션으로부터의 결과를 수신하는 단계; 및상기 클라이언트 애플리케이션으로 상기 결과를 전달하는 단계를 포함하는 방법.
- 제1항에 있어서, 상기 단계들은 모바일 장치의 플랫폼 내에서 수행되는 방법.
- 제2항에 있어서, 상기 단계들은 상기 모바일 장치의 플랫폼의 플랫폼 서비스 관리 지원에 의해 수행되는 방법.
- 제1항에 있어서, 상기 클라이언트 애플리케이션은 상기 서버 애플리케이션 또는 상기 제1 실행 환경의 위치를 모르는 방법.
- 제4항에 있어서, 상기 서버 애플리케이션은 상기 클라이언트 애플리케이션 또는 상기 제2 실행 환경의 위치를 모르는 방법.
- 제1항에 있어서, 상기 서비스는 실행-환경 중립적인 방식으로 명시되는 방법.
- 제6항에 있어서, 상기 서비스는 문자열을 사용하여 표현되는 방법.
- 제1항에 있어서, 상기 서비스는 플랫폼 서비스 관리 지원에 특정한 표현으로 표현되는 방법.
- 제3항에 있어서, 상기 등록을 수신하는 단계는 상기 플랫폼 서비스 관리 지원의 등록 부분에 의해 수행되는 방법.
- 제3항에 있어서, 상기 플랫폼 서비스 관리 지원의 서비스 중개자 부분에 의해, 상기 서비스에 대한 요청을 수신하는 단계, 상기 서비스를 요청하는 단계, 상기 결과를 수신하는 단계, 및 상기 결과를 전달하는 단계가 수행되는 방법.
- 제1항에 있어서, 모바일 장치의 플랫폼 서비스 관리 지원에 의해 상기 단계들이 수행되는 방법.
- 제11항에 있어서, 상기 플랫폼 서비스 관리 지원은 상기 모바일 장치의 플랫폼의 일부인 방법.
- 제11항에 있어서, 상기 플랫폼 서비스 관리 지원은 상기 모바일 장치의 플러그-인에 구현되는 방법.
- 제11항에 있어서, 상기 플랫폼 서비스 관리 지원은,상기 모바일 장치의 플랫폼의 일부로서 구현되는 등록 부분; 및상기 모바일 장치의 플러그-인에 구현되는 서비스 중개자 부분을 포함하는 방법.
- 제1항에 있어서,상기 클라이언트 애플리케이션이 적어도 한 개의 서비스를 명시하는 단계; 및상기 서버 애플리케이션이 상기 클라이언트 애플리케이션에 의해 명시된 상기 서비스를 핸들링할 수 있는지의 여부를 상기 서버 애플리케이션이 판정하는 단계를 더 포함하는 방법.
- 제1항에 있어서,상기 서버 애플리케이션이 적어도 한 개의 서비스를 명시하는 단계; 및상기 서버 애플리케이션에 의해 명시된 상기 적어도 한 개의 서비스가 상기 클라이언트 애플리케이션 서비스 요청에 따르는지의 여부를 상기 클라이언트 애플리케이션이 판정하는 단계를 더 포함하는 방법.
- 상이한 실행 환경들에서 애플리케이션 서비스 교환을 위한 시스템으로서,제1 실행 환경;상기 제1 실행 환경에서 실행하기 위해 적응된 서버 애플리케이션;제2 실행 환경;상기 제2 실행 환경에서 실행하기 위해 적응된 클라이언트 애플리케이션; 및플랫폼 서비스 관리 지원을 포함하며, 상기 플랫폼 서비스 관리 지원은,상기 클라이언트 애플리케이션에 의해 상기 서비스에 대한 요청을 수신하고,상기 서버 애플리케이션으로부터 상기 서비스를 요청하고, 및상기 클라이언트 애플리케이션으로 상기 요청에 응답하는 결과를 전달하는시스템.
- 제17항에 있어서, 상기 플랫폼 서비스 관리 지원은,상기 서버 애플리케이션에 의해 상기 서비스를 핸들링하기 위한 등록을 수신하고,상기 요청 단계에 응답하는 상기 서버 애플리케이션으로부터의 상기 결과를 수신하는시스템.
- 제17항에 있어서, 상기 플랫폼 서비스 관리 지원은 플랫폼의 일부로서 구현되는 시스템.
- 제17항에 있어서, 상기 플랫폼 서비스 관리 지원은 플러그-인에 구현되는 시스템.
- 제17항에 있어서, 상기 플랫폼 서비스 관리 지원은,플랫폼의 일부로서 구현되는 등록 부분; 및플러그-인에 구현되는 서비스 중개자 부분을 포함하는 시스템.
- 제17항에 있어서, 상기 클라이언트 애플리케이션은 상기 서버 애플리케이션 또는 상기 제1 실행 환경의 위치를 모르는 시스템.
- 제22항에 있어서, 상기 서버 애플리케이션은 상기 클라이언트 애플리케이션 또는 상기 제2 실행 환경의 위치를 모르는 시스템.
- 제17항에 있어서, 상기 서비스는 실행 환경 중립적인 방식으로 명시되는 시스템.
- 제24항에 있어서, 상기 서비스는 문자열을 사용하여 표현되는 시스템.
- 제17항에 있어서, 상기 서비스는 플랫폼 서비스 관리 지원에 특정한 표현으로 표현되는 시스템.
- 제17항에 있어서, 상기 플랫폼 서비스 관리 지원은,등록 부분; 및서비스 중개자 부분을 포함하는 시스템.
- 제17항에 있어서, 상기 클라이언트 애플리케이션은 적어도 한 개의 서비스를 명시하기 위해 적응되고, 상기 서버 애플리케이션이 상기 클라이언트 애플리케이션에 의해 명시된 상기 서비스를 핸들링할 수 있는지의 여부를 상기 서버 애플리케이 션이 판정하기 위해 적응되는 시스템.
- 제17항에 있어서, 상기 서버 애플리케이션은 적어도 한 개의 서비스를 명시하기 위해 적응되고, 상기 서버 애플리케이션에 의해 명시된 상기 적어도 한 개의 서비스가 상기 클라이언트 애플리케이션 서비스 요청에 따르는지의 여부를 상기 클라이언트 애플리케이션이 판정하기 위해 적응되는 시스템.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102052847B1 (ko) * | 2019-02-27 | 2019-12-05 | 정남호 | 모바일 단말기에서 앱의 간편실행을 위한 플랫폼 제공 방법 및 이를 이용하는 시스템 |
Families Citing this family (7)
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)
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 |
-
2004
- 2004-07-19 US US10/893,808 patent/US7958496B2/en active Active
- 2004-12-20 KR KR1020067012329A patent/KR101062120B1/ko active IP Right Grant
- 2004-12-20 EP EP04804083A patent/EP1697839A2/en not_active Ceased
- 2004-12-20 WO PCT/EP2004/014483 patent/WO2005064462A2/en active Application Filing
- 2004-12-20 KR KR1020107028592A patent/KR20110009255A/ko not_active Application Discontinuation
- 2004-12-20 JP JP2006544378A patent/JP2007515720A/ja active Pending
Cited By (1)
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 |