KR101768236B1 - 애플리케이션 범위 관리를 위한 방법 및 장치 - Google Patents
애플리케이션 범위 관리를 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR101768236B1 KR101768236B1 KR1020127008301A KR20127008301A KR101768236B1 KR 101768236 B1 KR101768236 B1 KR 101768236B1 KR 1020127008301 A KR1020127008301 A KR 1020127008301A KR 20127008301 A KR20127008301 A KR 20127008301A KR 101768236 B1 KR101768236 B1 KR 101768236B1
- Authority
- KR
- South Korea
- Prior art keywords
- application
- web
- scoped
- platform
- processor
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 230000008569 process Effects 0.000 claims abstract description 33
- 230000001960 triggered effect Effects 0.000 claims abstract description 30
- 238000004891 communication Methods 0.000 claims abstract description 23
- 230000004044 response Effects 0.000 claims description 18
- 230000007246 mechanism Effects 0.000 claims description 17
- 230000000694 effects Effects 0.000 claims description 12
- 230000003993 interaction Effects 0.000 claims description 6
- 230000003213 activating effect Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims 1
- 239000008186 active pharmaceutical agent Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 241001272996 Polyphylla fullo Species 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000002085 persistent effect Effects 0.000 description 6
- 230000000977 initiatory effect Effects 0.000 description 4
- 230000011664 signaling Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
사용자 장치의 제1프로세서에서 구동하도록 조정되고 또한 사용자 장치의 웹 클라이언트를 통해 액세스할 수 있는 웹 애플리케이션과, 애플리케이션 범위 플랫폼에서 실행가능한 애플리케이션 범위 간의 통신이 가능하게 하는 애플리케이션 범위 플랫폼과 방법에 관한 것이다. 애플리케이션 범위 플랫폼은 이벤트 트리거된 애플리케이션 범위를 생성하고 또한 관리하도록 조정되는 프로세스 매니저와, 상기 웹 클라이언트를 통해 웹 애플리케이션이 애플리케이션 범위 플랫폼과 통신할 수 있도록 조정되는 웹 서버와 통신 인터페이스를 포함한다. 애플리케이션 범위 플랫폼은 제2프로세서에서 구동하도록 조정되고, 프로세서, 웹 클라이언트 및/또는 상기 웹 애플리케이션의 상태에 상관없이 애플리케이션 범위 개입 웹 애플리케이션인 웹 애플리케이션과 통신하도록 조정된다.
Description
본 발명은 애플리케이션 범위를 관리하기 위한 방법과 장치에 관한 것이다. 특히, 본 발명은 웹 애플리케이션과 관련된 애플리케이션 범위 간의 상호작용을 관리하기 위한 강화된 메커니즘에 관한 것이다.
월드 와이드 웹(WWW)은 애플리케이션 개발을 위한 궁극적인 플랫폼이 되는 방향으로 이동하고 있기 때문에, 새로운 특성들이 지속적으로 개발되고 있는데, 이들은 웹 애플리케이션들이 그들의 대응하는 데스크탑 상대에 나타날 수 있도록 하고 또한 보다 유사하게 작동할 수 있게 한다. 하나의 이러한 특성은 전형적으로 웹 워커(Web worker)로 불리는데, 이는 스레드(thread)들에 상응하는 브라우저 자바스크립트로서 보일 수 있다. 웹 워커는, 개별적인 자바스크립트 범위(JavaScript scope)에서 백그라운드 실행(background execution)을 위한 태스크(task)들을 애플리케이션이 연기하도록 해주는데, 여기서 메시지 전달 API(message-passing API)는 웹 워커가 주 애플리케이션과 통신할 수 있도록 해준다. 전형적으로 공유 웹 워커로 불리는 다른 유형의 웹 워커들은, 애플리케이션에서 상이한 윈도우들 간에 공유될 수 있고, 또한 전형적으로 웹 워커는 공유 웹 워커에 연결된 마지막 오픈 윈도우가 닫힐 때까지 종결되지 않게 된다.
영속적인 웹 워커들은, 그들의 모 애플리케이션(parent application)보다 오래 지속되고 또한 백그라운드에서 그들의 실행 프로세스를 지속하고, 또한 웹 브라우저 그 자체가 닫혀진 이후에 잠재적으로 지속하는 웹 워커들을 칭한다. 영속적인(persistent) 웹 워커들이 웹 브라우저보다 오래 지속 될 수 있도록 개별적인 프로세스에서 구동하여야만 하더라도, 웹 워커들은 그들의 웹 브라우저에 단단히 결합된다.
영속적인 웹 워커들이 웹 애플리케이션들이 백그라운드에서 동작을 지속하도록 할 수 있다 하더라도, 랩탑, 넷북 및 셀룰러 폰과 같은 많은 배터리 구동 장치들은 연장된 시간 주기 동안에 CPU 파워를 유지할 수 없을 수 있는데, 이는 영속적인 웹 워커 구동을 유지하기 위한 주 필요조건이다.
본 발명의 목적은 상기에서 지적한 문제점들을 처리하는 것이다. 특히, 본 발명의 목적은 웹 애플리케이션(Web Application)과, 애플리케이션 범위에 대한 웹 애플리케이션 액세스를 제공하는 웹 클라이언트(Web Client)와, 그리고 웹 클라이언트를 지원하는 프로세서의 상태에 상관없이, 애플리케이션 범위 플랫폼(Application Scope Platform)에 상주하는 영속적인 애플리케이션 범위와 사용자 장치에 상주하는 웹 애플리케이션들 간에 통신이 개시되게 하고 또한 재개되게 해주는 메커니즘을 제공하는 것이다.
본 발명의 한 특징에 따라, 제1프로세서 상에서 구동하도록 조정되고, 사용자 장치의 웹 클라이언트를 통해 액세스할 수 있는 웹 애플리케이션과 제2프로세서 상에서 구동하도록 조정된 애플리케이션 범위 플랫폼 상에서 실행가능한 애플리케이션 범위 사이에서 통신을 가능하게 하는 상기 애플리케이션 범위 플랫폼이 제공된다.
한 예시적인 실시예에 따라, 애플리케이션 범위 플랫폼은 이벤트 트리거된 애플리케이션 범위(event triggered Application Scope)를 생성하고 또한 관리하도록 조정된 프로세스 매니저(Process Manager)와, 웹 클라이언트를 통해 애플리케이션 범위 플랫폼과 웹 애플리케이션 사이에 웹 애플리케이션 상호작용(Web Application interaction)이 가능하게 하도록 조정된 웹 서버를 포함한다. 애플리케이션 범위는 제1프로세서와, 웹 클라이언트 및/또는 상기 웹 애플리케이션의 상태에 상관없이, 애플리케이션 범위 개입 웹 애플리케이션(Application Scope enabled Web Application)이 웹 애플리케이션과 통신하도록 조정된다.
프로세스 매니저는 공유 키 메커니즘(shared key mechanism)을 적용함으로써 웹 애플리케이션을 애플리케이션 범위와 관련시키도록 조정될 수 있다.
프로세스 매니저는 또한 웹 애플리케이션으로부터 애플리케이션 범위를 생성하는 요청을 수신하는 것에 응해, 명령들을 검색하고 또한 상기 명령들을 애플리케이션 범위 내에 로딩시킴으로써 애플리케이션 범위를 생성하도록 조정된다.
애플리케이션 범위를 생성하는데 사용되는 명령들은 자바스크립트, 자바, 또는 플래쉬와 같은 소정 유형의 실행가능한 코드를 포함할 수 있다.
애플리케이션 범위는 전형적으로, 적어도 하나의 트리거(triggered) 이벤트에 대한 적어도 하나의 액티비티(activity)를 애플리케이션 범위가 감시할 수 있도록 하는 명령들을 실행가능한 코드의 형식으로 포함할 수 있다. 또한, 감시 애플리케이션 범위(monitoring Application Scope)는 트리거된 이벤트의 출현을 인식하는 것에 응해, 사용자 장치의 공유 자원 및/또는 관련 웹 애플리케이션을 애플리케이션 범위가 인보크(invoke)할 수 있는 명령들을 포함할 수 있다.
프로세스 매니저는 또한 전형적으로, 웹 애플리케이션으로부터 요청, 또는 관련 애플리케이션 범위로부터 요청을 수신하는 것에 응해, 웹 애플리케이션과 관련 웹 범위를 재연결시키도록 조정된다.
제안된 다른 실시예들 중 하나에 따라, 애플리케이션 범위 플랫폼은 또한 상기 애플리케이션 범위가 하나 이상의 공유 자원들을 액세스할 수 있도록 하는, 명령들을 구성하는 시스템 범위(System Scope)을 포함할 수 있다.
시스템 범위는 또한 D-버스(D-bus) 메커니즘을 통해 하나 이상의 공유 자원들에 액세스하도록 조정될 수 있다. 이러한 공유 자원들 모두 또는 일부는 제1프로세서, 제1프로세서 이외의 다른 프로세서, 또는 이들의 조합 상에서 구동하도록 조정될 수 있다.
전형적으로, 시스템 범위는 또한 선-규정된 이벤트의 트리거(trigger)를 인식하는 것에 응해, 관련 애플리케이션 범위로부터 인보크되도록 각각 조정되는, 하나 이상의 인에이블러(enabler)들을 제공하도록 조정될 수 있다. 이러한 인에이블러들 각각은 애플리케이션 프로그램 인터페이스(Application Program Interface:API)를 구성할 수 있는데, 이들 각각은, 예컨대 망 노드로부터 업데이트를 수신하고 또한 수신한 업데이트를 처리하도록 조정되는 망 API; 트리거된 이벤트의 사용자에게 통지하도록 조정되는 통지 API; 사용자 장치의 데이터 소오스로부터 데이터가 획득되도록 해주게 조정되는 센서 API; 공유 저장영역 상에/로부터 공유 데이터를 저장하고 또한 다운로딩하도록 조정되는 저장 API일 수 있다.
공유 저장 영역을 제공하는 이외에, 공유 자원은 인터넷에 대한 액세스를 얻기 위한 망 접속과 같은 망 접속, 또는 GPS 또는 위치확인 기능과 같은 사용자 장치 기능일 수 있다.
한 전형적인 실시예에서, 애플리케이션 범위 플랫폼은 PRC 또는 REST와 같은 원격 절차 호출(Remote Procedure Call) 메커니즘을 적용함으로써 웹 애플리케이션과 관련 애플리케이션 범위 간의 통신이 가능하도록 조정된다. RPC를 사용하는 경우에, 확장성 생성 언어(Extensible Markup Language(XML))-RPC 또는 자바스크립트 객체 표기법(JavaScript Object Notation(JSON))-RPC가 적용될 수 있다.
애플리케이션 범위 플랫폼은 사용자 장치의 집적화 부분, 또는 사용자 장치와는 물리적으로 별개인 엔티티에서 구현될 수 있다. 모든 기능들이 동일 장치에 배열되기 때문에, 전자는 많은 상황에서 바람직할 수 있다. 그러나, 애플리케이션 범위 플랫폼이 고정장치이고, 전원이 큰 문제가 아니고, 그리고 하나 이상의 사용자 장치들이 애플리케이션 범위 플랫폼에 대한 액세스를 가지는 상황에서 후자가 바람직할 수 있다.
본 발명의 다른 특징에 따라, 애플리케이션 범위 플랫폼에서 구동하는, 애플리케이션 범위와 웹 애플리케이션이 통신할 수 있도록 하는 사용자 장치의 배열이 제공된다. 사용자 장치는 제1프로세서 상에서 작동하도록 조정되고 또한 웹 애플리케이션과 애플리케이션 범위 플랫폼 사이에서 통신이 이루어질 수 있도록 조정되는, 예컨대 웹 브라우저일 수 있는 웹 클라이언트를 포함한다. 웹 애플리케이션은 제2프로세서에서 구동하는, 애플리케이션 범위 플랫폼 상에 애플리케이션 범위를 생성할 수 있도록 하는 명령들을 실행가능한 코드의 형태로 포함한다. 사용자 장치는 또한 제1프로세서, 웹 클라이언트 및/또는 웹 애플리케이션의 상태에 상관없이, 애플리케이션 범위가 웹 애플리케이션을 인보크할 수 있는 통신 인터페이스(CI)를 포함한다.
트리거된 이벤트에 응해, 만일 관련된 웹 애플리케이션의 자동화된 인보킹(invoking)이 필요하지 않다면, 애플리케이션 범위는 대신에, 애플리케이션 범위로부터 제공된, 통지(notification)를 표현하도록 조정되는, 디스플레이 장치를 포함하는 공유 자원을 인보크하도록 조정될 수 있다. 이러한 통지는 전형적으로, 동작하는 애플리케이션 범위에서 트리거된 이벤트를 사용자에게 통지하기 위한 공유 자원에 제공되어, 사용자가 관련 웹 애플리케이션을 다시 시작할지, 또는 통지를 무시할지를 선택하도록 한다.
또 다른 특징에 따라, 애플리케이션 범위 플랫폼과 웹 애플리케이션 간에 통신이 이루어지도록 하는 방법이 제공되는데, 웹 애플리케이션은 사용자 장치의 웹 클라이언트를 통해 액세스가능하고, 상기 웹 클라이언트는 제1프로세스에서 구동하도록 조정되는 한편, 애플리케이션 범위 플랫폼은 제2프로세서에서 구동하도록 조정된다. 애플리케이션 범위 플랫폼에서 수행되는, 상기 실시예들 중 하나에 따른 방법은, 웹 애플리케이션과 관련된, 이벤트 트리거된 애플리케이션 범위를 생성하기 위한 요청이 웹 애플리케이션으로부터 수신되면 개시한다. 이러한 요청을 수신하는 것에 응해, 실행가능한 명령들을 획득하고 또한 이들 명령들을 요청된 애플리케이션 범위 내로 로딩시킴으로써 요청된 애플리케이션 범위가 생성된다. 생성되면, 애플리케이션 범위는 명령들에 따라 동작을 시작한다. 동작하는 동안, 제1프로세서, 웹 클라이언트 및/또는 웹 애플리케이션의 상태에 상관없이, 필요할 때마다 관련 웹 애플리케이션을 인보크하도록 조정된다.
제안한 방법은 적어도 하나의 트리거된 이벤트에 대한 적어도 하나의 액티비티를 감시하는 단계와, 트리거된 이벤트를 인식하는 것에 응해 액티비티를 실행하는 단계를 더 포함할 수 있다. 이러한 액티비티는 제1프로세서, 웹 클라이언트를 활성화시키는 것과, 및/또는 웹 애플리케이션을 인보크하는 것을 포함한다. 선-규정된 이벤트는 또한, 애플리케이션 범위가 예컨대 공유 자원으로부터 획득한 익스플로잇 데이터(exploit data)가 될 수 있도록, 공유 자원의 인보크를 트리거시킬 수 있다.
인보크 단계(invoking step)는 사용자 장치에 트리거된 이벤트의 통지를 제공하는 단계를 더 포함할 수 있어서, 사용자가 각 웹 애플리케이션을 재개할 것인지, 또는 통지를 무시할 것인지를 선택할 수 있다.
본 발명의 한 실시예에 따라, 통지가 사용자에게 디스플레이될 수 있는 디스플레이 장치를 포함하는, 사용자 장치의 공유 자원에 통지를 제공할 수 있다. 사용자가 트리거된 이벤트를 통지로 통보받으면, 사용자는 웹 애플리케이션과 관련 애플리케이션 범위 간의 상호작용을 지속하는 것을 선택할 수 있다.
제안한 활성 및/또는 인보크 단계는 전형적으로, 원격 절차 호출(RPC) 메커니즘 또는 REST(Representational State Transfer) 메커니즘과 같은 인터-프로세스(Inter-Process) 통신 시스템을 통해 수행된다.
본 발명의 다른 특징과 이의 장점들은 아래 상세한 설명으로부터 이해할 수 있다.
본 발명에 따라, 웹 클라이언트를 지원하는 프로세서의 상태에 상관없이, 애플리케이션 범위 플랫폼에 상주하는 영속적인 애플리케이션 범위와 사용자 장치에 상주하는 웹 애플리케이션들 간에 통신이 개시되게 하고 또한 재개되게 할 수 있다.
도 1a는 웹 애플리케이션과 관련 웹 범위 간에 상호작용을 수반하는, 예시적인 시나리오를 설명하는 간략화된 시그날링 도면.
도 1b는 웹 애플리케이션과 관련 애플리케이션 범위 간에 상호작용을 수반하는, 다른 예시적인 시나리오를 설명하는 간략화된 시그날링 도면.
도 2는 한 예시적인 실시예에 따라, 애플리케이션 범위 플랫폼을 포함하는, 사용자 장치 기능과 관련 장치의 기능의 구성을 설명하는 간략화된 블록도.
도 3은 한 예시적인 실시예에 따라, 웹 애플리케이션을 시작하는 것과 관련된, 애플리케이션 범위 서비스의 상태들에 대한 상태 요청을 시작하기 위한 절차를 설명하는 흐름도.
도 4는 한 예시적인 실시예에 따라, 웹 애플리케이션 범위를 실행하기 위한 절차를 개괄적으로 설명하는 다른 흐름도.
도 1b는 웹 애플리케이션과 관련 애플리케이션 범위 간에 상호작용을 수반하는, 다른 예시적인 시나리오를 설명하는 간략화된 시그날링 도면.
도 2는 한 예시적인 실시예에 따라, 애플리케이션 범위 플랫폼을 포함하는, 사용자 장치 기능과 관련 장치의 기능의 구성을 설명하는 간략화된 블록도.
도 3은 한 예시적인 실시예에 따라, 웹 애플리케이션을 시작하는 것과 관련된, 애플리케이션 범위 서비스의 상태들에 대한 상태 요청을 시작하기 위한 절차를 설명하는 흐름도.
도 4는 한 예시적인 실시예에 따라, 웹 애플리케이션 범위를 실행하기 위한 절차를 개괄적으로 설명하는 다른 흐름도.
본 발명은 웹 애플리케이션 자체가 구동하지 않고, 웹 애플리케이션이 액세스하도록 해주는 웹 클라이언트가 폐쇄되거나 및/또는 웹 클라이언트를 구동시키는 프로세스가 중지된 경우에도, 웹 애플리케이션이 외부 이벤트들에 항상 반응할 수 있도록 하는 방법과 장치에 관한 것이다.
공지된 웹 워커 솔루션(Web Worker solution)들은, 영속적인 웹 워커가 웹 브라우저와 밀접하게 일체화되는 개념을 기반으로 하여, 웹 브라우저가 구동하는 하나 이상의 주 프로세스들을 공통의, 백그라운드 논리를 호스팅하는 프로세스로부터 분리시키는 것을 어렵게 한다.
따라서, 웹 브라우저를 통해 액세스되는 웹 애플리케이션, 또는 웹 런타임 위젯(Web Runtime Widget)과 같은 다른 유형의 웹 클라이언트가 제1프로세서에서 구동하는 한편, 웹 애플리케이션의 백그라운드에서 구동하고, 백그라운드 프로세스로 부를 수 있는 애플리케이션 범위가 제2프로세서에서 구동하는 개념이 제안된다.
웹 클라이언트/웹 애플리케이션 및 관련 애플리케이션 범위에 대해 상이한 프로세서들을 적용함으로써, 애플리케이션 범위로부터 웹 애플리케이션의 이벤트 기반 인보킹(event based invoking)을 가능하게 하는 보다 강화된 메커니즘이 제공된다. 따라서, 본 명세서에서 논의하는 애플리케이션 범위는 또한, 관련 웹 애플리케이션을 취소하는 그들의 확장된 능력 때문에 영속적인 애플리케이션 범위로 부를 수 있다.
제안된 개념은, 이후 애플리케이션 범위 인에이블러 서비스로 부르게 되는 서비스, 결국 제안된 실시예들 중 하나에 따라 하나 이상의 애플리케이션 범위들을 호스트하고, 또한 애플리케이션 범위 개입 웹 애플리케이션에 이러한 서비스를 제공하도록 조정되는 장치(arrangement)로서 제공될 수 있다.
본 명세서 전체에 걸쳐, 애플리케이션 범위는, 생성되면 하나 이상의 선-규정된 태스크들을 수행하게 되는, 실행가능한 코드의 형태로 제공되는 명령들의 셋트로서 부르게 된다. 애플리케이션 범위는 모든 애플리케이션 범위들에 대한 일반적인 기능들을 지원하도록 선-규정된, 공통 명령들을 구성한다. 애플리케이션 범위를 생성하거나, 또는 활성화시키기 위하여, 각 웹 애플리케이션의 필요조건들에 따라 구성될 애플리케이션 범위를 얻을 수 있도록, 애플리케이션 범위 특정 명령들/코드가 획득되어 공통 명령들로 로드되어야 한다.
전형적인 시나리오에서, 상기에서 언급한 제1프로세서는 사용자 장치, 이동전화, PDA 또는 랩탑과 같은 전형적인 이동성 사용자 장치의 메인 CPU일 수 있는 한편, 제2프로세서는 예컨대 애플리케이션 프로세서, 또는 동작을 위해 저전력 레벨을 필요로 하는 소정의 다른 유형의 프로세서일 수 있다. 제2프로세서는 예컨대, 이동형 광대역 모듈(Mobile Broadband Module), 또는 소정의 다른 독립 엔티티 상에 배열될 수 있다.
두 프로세서들과, 각 프로세서 상에서 구동하는 관련 기능들은 단일 엔티티 상에 배열될 수 있다.
웹 클라이언트 및 애플리케이션 범위 플랫폼 각각을 담당하기 위한 개별적인 프로세서들을 가짐으로써, 제1프로세서와 애플리케이션 범위 플랫폼은, 웹 클라이언트를 구동하는, 보다 많은 전력을 소모하는 제1프로세서에 대한 통상적인 경우보다 더 장기적으로 전원 온 상태를 유지할 수 있고, 또한 애플리케이션 범위들이 관련 웹 애플리케이션을 인보크할 가능성 때문에, 웹 애플리케이션 및/또는 웹 클라이언트가 활성화되지 않을 때라도, 사용자가 소정의 해당 업데이트들이 무시되는 위험성 없이 웹 애플리케이션이 중단될 수 있다.
상기에서 기술한 일반적인 개념을 기반으로 하는 프로세스를, 도 1a 및 1b의 시그날링도를 참조하여 보다 상세히 설명하는데, 도면에서 사용자 장치(100)에서 구동하는 웹 애플리케이션(103)이 애플리케이션 범위 플랫폼(104)에서 구동하는 관련 애플리케이션 범위(111)와 어떻게 상호작용하는지를 도식적으로 보여준다. 도 1a와 1b는 단순화되어 있고, 도식적인 설명이고 또한 본 발명의 문맥에서 통상적으로 휴대용이지만, 고정식 사용자 장치일 수 있는 소정 유형의 사용자 장치에서 웹 애플리케이션이 구동할 수 있다는 것을 알아야 한다.
앞서 상기에서 언급하였듯이, 웹 애플리케이션(103)과 앱 애플리케이션에 액세스하도록 하는 웹 클라이언트(미도시)는 제1프로세서에서 구동하는 한편, 애플리케이션 범위 플랫폼은 다른 프로세서에서 구동한다. 웹 클라이언트는 전형적으로 웹 브라우저, 또는 웹 런타임 (WRT) 위젯 가능 웹 클라이언트(Web Runtime (WRT) Widget enabled Web Client)이다.
또한, 웹 애플리케이션(103)과 애플리케이션 범위 플랫폼(104)이 서로 개별적인 것으로 도시되어 있지만, 이들은 개별적인 물리적 엔티티들에서, 또는 하나의 단일 물리적인 엔티티에서 호스트될 수 있다는 것을 알아야 한다. 전자의 경우, 두 장치들은 예컨대 블루투스 또는 Wi-Fi와 같은 통상적인 단거리 통신 프로토콜을 통해 서로 통신할 수 있도록 조정될 수 있다.
도 1a에 따라, 웹 애플리케이션(103)에 액세스하는 사용자는, 제1단계(1:1)로 표시된 바와 같이, 웹 애플리케이션(103)으로부터의 애플리케이션 범위 인에이블러 서비스로 액세스하는 웹 애플리케이션 능력에 관해, 초기에는 현재 상태로 노출될 수 있다. 웹 애플리케이션이 한 서비스에 액세스할 수 있게 되거나 또는 액세스할 수 없게 되는 것은, 서비스 개발자 종속 사안이어서, 많은 상이한 방식들로 웹 애플리케이션을 지원할 수 있는, 하나 이상의 애플리케이션 범위들을 적용하는 능력으로 웹 애플리케이션을 강화하는 것을 서비스 개발자가 선택할 수 있다. 전형적인 시나리오에서, 이러한 상태 요청은 각 웹 애플리케이션을 시작시키는 것과 관련해, 애플리케이션 범위 인에이블러 서비스의 현 상태 정보를 얻기 위한 코드를 포함하는, 부트스트랩 스크립트(bootstrap script)을 시작함으로써 개시될 수 있다.
웹 애플리케이션에 대해서 애플리케이션 범위 인에이블러 서비스를 이용할 수 있는 것으로 판명된다면, 다음 단계(1:2)에 표시된 바와 같이, 웹 애플리케이션은 생성될 웹 애플리케이션에 대해 특별히 조정된 애플리케이션 범위, 또는 이러한 웹 애플리케이션 범위가 웹 애플리케이션으로부터 이전에 생성되었다면 재접속될 웹 애플리케이션에 대해 특별히 조정된 애플리케이션 범위를 요청할 수 있다. 그렇지 않으면, 사용자에게 이러한 요청을 수용하거나 또는 거절하는 옵션이 주어질 수 있다.
애플리케이션 범위 플랫폼(104)에서, 후속 단계(1:4)에 나타낸 바와 같이 웹 애플리케이션 특정 명령들을 획득하기 전에, 단계(1:3)에 나타낸 바와 같이 상기 요청은 공통 명령들을 요청된 애플리케이션 범위 내로 로드시키도록 조정되는, 로직을 활성화시켜, 애플리케이션 범위가 생성될 수 있거나 또는 재접속될 수 있다. 공통 명령들과 웹 애플리케이션 특정 명령들 둘 다는, 예컨대 자바스트립트 코드, 파이썬 코드(Python code), 또는 이들의 조합과 같은 실행가능한 코드의 형태로 제공된다.
애플리케이션 범위에서 구동하는 코드는 관련된 웹 애플리케이션의 일부를 구성하는 것으로 볼 수 있고, 또한 이와 같이, 웹 애플리케이션이 상주하는 서버로부터 획득하게 되지만, 그러나 필요한 명령들의 일부 또는 모두는 다른 서버로부터 획득할 수 있다.
로딩되기만 하면, 애플리케이션 범위는 단계(1:5)에 나타낸 바와 같이 명령들에 따라 실행된다. 다른 대안에 따라, 적절한 명령들은 웹 애플리케이션을 구성하는 명령들의 일부일 수 있고, 또한 이러한 시나리오에서, 애플리케이션 범위 플랫폼(104)에 제공되는 요청은 요청된 애플리케이션 범위(111)의 실행에 필요한 명령들 모두, 또는 일부를 포함할 수 있다.
단계(1:5)에서 개시되는 프로세싱은, 예컨대 데이터 업데이트를 위해 웹 서버 상의 특정 애플리케이션을 감시하는 것과, 이러한 데이터를 다운로딩하는 것과, 선택적으로 데이터를 처리한 후 관련 웹 애플리케이션으로 다운로딩한 데이터를 제공하는 것과 같은, 많이 또는 덜 복잡한 태스크를 수반할 수 있다. 애플리케이션 범위는 또한, 웹 애플리케이션(104)에 액세스할 수 있도록 하는 웹 클라이언트, 및/또는 웹 애플리케이션(103)의 상태가 개방 또는 활성화에서 폐쇄 또는 비활성화 상태로 변경되는 때를 결정하는 프로세스 단계들을 포함하게 된다. 이러한 상태의 변화는 D-버스 메커니즘을 사용하여 감시할 수 있다.
이외에도, 애플리케이션 범위(111)는, 제1프로세서가 구동하고 있는지 또는 중단되고 있는지를 판단하여, 프로세서를 먼저 활성화시켜야 하는지 또는 구동 준비시켜야 하는지, 또는 웹 클라이언트 및/또는 웹 애플리케이션만이 개방될 필요가 있는지를 판단하도록 구성되게 된다.
후속 단계(1:6)에서 나타낸 바와 같이, 애플리케이션 범위(111)의 프로세싱은 전형적으로 하나의 특정한 선-규정된 액티비티를 트리거하도록 선규정되는, 하나 이상의 이벤트들에 의해 개입중단되게 된다. 액티비티는 예컨대, 데이터 다운로딩을 트리거할 수 있는, 외부 소오스로부터 액세스할 수 있는 새로운 데이터의 검출과 같은 외부 액티비티; 사용자 장치에서 발생하고, 선-규정된 계산의 실행이 될 수 있는, 펜딩 타이머(pending timer)와 같은 내부 액티비티에서 발생하는 이벤트에 의해 트리거될 수 있다. 액티비티는 또한 사용자 장치의 배터리 레벨이 선규정된 임계치 아래로 떨어질 때, 웹 애플리케이션이 구동하는 사용자 장치에서 트리거될 수 있다.
도 1a의 단계(1:5)에 언제든지 후속하여 발생하지만, 단계(1:6)에 따라 트리거 이벤트의 출현 이전에 발생할 수 있는 다른 단계(1:6')에 나타낸 바와 같이, 웹 애플리케이션(103)이 구동하는 제1프로세서는 중단된다. 이러한 중단 단계는, 사용자 장치의 에너지를 절약할 목적으로, 타이머 시간만료로 인해 개시될 수 있다.
다음 단계(1:7a)에서, 제1프로세서가 지금 중단된 것을 알고 있는, 애플리케이션 범위 플랫폼(104)에서 구동하는 애플리케이션 범위(111)는, 중단된 프로세서를 인보크, 활성화, 또는 구동 준비하기 위한 요청을 전송할 수 있다. 이러한 요청은 전형적으로, 사용자 장치(100)의 CI(미도시)를 통해 사용자 장치(100)로 전송될 수 있는데, 여기서 CI는 D-버스 메커니즘을 적용함으로써 프로세서를 다시 구동 준비(wake-up)하도록 조정될 수 있다.
단계(1:7')에 나타낸 바와 같이, 이러한 요청은 먼저 제1프로세서의 웨이크-업 프로세스(wake-up process)(구동 준비)를 활성화시킨다. 프로세서가 활성화되었으면, 다음 단계(1:8')에 나타낸 바와 같이 웹 클라이언트가 개방되고, 이후에 후속 단계(1:9')에 나타낸 바와 같이, 관련 웹 애플리케이션(103)이 마지막으로 활성화된다. 웹 애플리케이션이 다시 활성화되었으면, 애플리케이션 범위(111)와 웹 애플리케이션(103) 간의 다른 상호작용이 시작될 수 있다.
도 1b는 시나리오의 다른 설명으로서, 다른 예시적인 실시예에 따라 애플리케이션 범위 플랫폼(104)에서 구동하는 애플리케이션 범위(111)의 프로세싱이 어떻게 실행될 수 있는지를 설명하는 도면이다.
전제조건으로서, 도 1a를 참조하여 상기에서 설명한 단계들 중 적어도 몇몇이 발생하게 되어, 애플리케이션 범위(111)가 애플리케이션 범위 플랫폼(104)에서 생성되거나 또는 재접속된다.
단계(1:8)에 나타낸 바와 같이, 선-규정된 이벤트가 트리거되어, 애플리케이션 범위(111)가 사용자 장치(100)에 상주하는 공유 자원(116)과 상호작용하도록 명령을 받는다. 따라서, 애플리케이션 범위(111)는, 자원으로부터 데이터를 획득할 수 있도록, 다른 단계(1:9)에 나타낸 바와 같이 각 공유 자원(116)을 인보크한다.
또한, 애플리케이션 범위(111)는 구동중인 프로세스가 트리거된 이벤트의 사용자 장치(100)에 대한 통지를 제공할 수 있도록 구성되는 코드를 포함할 수 있다. 상기에서 예시한 트리거 이벤트와 무관하게 실행될 수 있는 시라니오가 후속 트리거 단계(1:10)와, 그리고 다른 공유 자원(117)이 통지받게 되는 후속 통지 단계(1:11)로 표시된다. 공유 자원(117)은 예컨대, 랩탑 또는 셀룰러 전화의 뚜껑의 외측에, 또는 트리거된 이벤트를 사용자가 통지받을 수 있는 소정의 다른 유형의 사용자 인터페이스에 위치하는 작은 디스플레이일 수 있다.
전형적으로, 예컨대 작은 팝-업(pop-up)과 같은 통지가, 각 웹 애플리케이션을 인보크하지 않지만, 전형적으로 사용자 장치의 주 CPU인 웹 클라이언트를 지원하는 프로세서를 인보크함으로써 사용자 장치에 제공될 수 있다. 이와 같은 경우에, 통지에 제공된 정보를 기반으로, 통지받은 사용자는, 그가 웹 애플리케이션(103)을 시작할 것인지 여부를 결정할 수 있다. 이러한 옵션이 도 1b의 다른 단계(1:12)로 설명되어 있다. 만일 사용자가 단계(1:12)에서 웹 애플리케이션(103)을 시작하는 것으로 선택한다면, 사용자는 후속 단계(1:13)로 나타낸 바와 같이, 애플리케이션 범위(111)와 상호작용을 지속할 수 있다.
프로세스 자체가 종결될 때까지, 예컨대 하나 이상의 선-규정된 태스크들이 성공적으로 수행될 때까지, 또는 관련 웹 애플리케이션(103)에서부터 능동적으로 종결되거나, 또는 사용자의 결단으로 종결될 때까지 애플리케이션 범위(111)는 전형적으로 구동을 계속한다. 도 1b에서, 애플리케이션 범위(111)는 최종 단계(1:14)에서 나타낸 바와 같이, 프로세스 그 자체에 의해 종결된다.
도 2는 상기에서 제안한 방법 단계들 중 일부 또는 모두에 따른 방법을 실행하도록 구성되는, 한 예시적인 실시예에 따라 장치(105)와 사용자 장치(100)를 포함하는 구성을 설명하는 블록도이다.
도 2에 따라, 사용자 장치(100)는 제1프로세서(101)와, 그리고 애플리케이션 범위 플랫폼(104)의 제2프로세서(106)에서 구동하는 애플리케이션 범위와 통신하고 또한 상호작용하도록 조정되는 하나 이상의 애플리케이션 범위 개입 웹 애플리케이션(103a, 103b, 103c), 즉 웹 애플리케이션에 사용자가 액세스할 수 있도록 하는 웹 클라이언트(102)를 포함한다.
도 2에서, 장치(105)는 애플리케이션 범위 플랫폼(104)과 제2프로세서(106)를 호스팅하는, 개별적인 장치로서 도시된다. 그러나, 상기에서 이미 언급하였듯이, 하나의 단일 장치에 각 관련 기능들과 함께, 제1 및 제2프로세서를 호스트하도록 사용자 장치(100')를 구성할 수 있다.
애플리케이션 범위 플랫폼(104)은 하나 이상의 애플리케이션 범위(111a, 111b, 111c)을 호스트할 수 있고, 애플리케이션 범위 각각은 하나 이상의 이벤트 트리거 태스크를 실행함으로써, 특정 웹 애플리케이션을 지원할 목적으로, 명령들을 실행하도록 선-구성된다.
본 발명에 따라, 애플리케이션 범위 플랫폼(104)은 소정의 정규 그래픽 사용자 인터페이스(GUI) 부품을 필요로 하지 않아, 구동을 위해 낮은 전력레벨을 필요로 하는, 애플리케이션 범위 플랫폼(104)의 구현을 단순화시킨다. 통상적인 GUI 대신에, 애플리케이션 범위 플랫폼(104)에는 내장형 웹 서버(114)가 제공된다.
웹 애플리케이션은, 애플리케이션 범위 플랫폼(104)이 사용자 장치(100,100')에 설치되었는지를 정보를 얻거나(문의하거나), 또는 조사하기 위해, 그리고 또한 웹 애플리케이션이 시작하면 구동하는, 전형적으로 매주 작은 부트 스트랩 파일에 포함되지 않는 부트 스트랩 코드의 일부를 획득하기 위해 웹 서버(114)를 사용한다. 이 시작절차는 도 3을 참조하여 아래에서 보다 상세히 기술하게 된다.
웹 서버(114)는 또한, 예컨대 애플리케이션 범위들의 프로세싱 명령들이 변경될 수 있도록, 애플리케이션 범위(111a, 111b, 111c)를 사용자가 관리하게 하고 또한 애플리케이션 범위를 사용자가 종결할 수 있도록 하는, 웹 클라이언트(102)와 웹 서버(114) 간에 인터페이스를 제공하는 HTTP 기반 관리 콘솔(115)을 포함한다.
애플리케이션 범위 플랫폼(104)은 또한 웹 애플리케이션으로부터 요청에 응해 애플리케이션 범위(111a, 111b, 111c)를 생성하고, 관리하고 또한 종결하도록 조정되는 프로세스 매니저(113)를 포함한다. 프로세서 매니저(113)는 CI를 통해 요청을 수신하는 것에 응해 애플리케이션 범위(111a, 111b, 111c)를 생성하도록 조정되는 로직을 포함한다. 도 2에서, 프로세스 매니저(113)는 시스템 범위(System Scope)(107)과 CI(109)를 공유하지만, 구성에 따라 개별적인 CI가 제공될 수 있다.
애플리케이션 범위는 공통 명령들을 획득함으로써 생성되고, 공통 명령들이 웹 애플리케이션 특정 명령들에 로딩되기만 하면 구동을 시작한다.
애플리케이션 범위(111a, 111b, 111c)가 생성되면, 프로세서 매니저(113)는 또한, 웹 클라이언트(102)와 웹 서버(104)를 통해 프로세스 매니저(113)에 액세스할 수 있는 사용자로부터, 또는 웹 애플리케이션(103a, 103b, 103c)으로부터 요청을 수신하는 것에 응해, 애플리케이션 범위를 관리하고 또한 종결할 수 있다.
애플리케이션 범위(111a, 111b, 111c)는, 애플리케이션 범위 플랫폼이 전원 온되는 한, 또는 적절한 명령에 응해 또는 애플리케이션 범위를 폐쇄되도록 요청하는 사용자 명령에 응해 대응하는 웹 애플리케이션으로부터 자동적으로 명확히 폐쇄되기 전까지 지속하게 된다. 이외에도, 애플리케이션 범위는, 예컨대 하나 이상의 선-규정된 태스크가 완벽히 수행되었으면 스스로 종결할 수 있다.
애플리케이션 범위 플랫폼(104)은 또한 전형적으로, 하나 이상의 신뢰하는 애플리케이션 프로그램 인터페이스(API)(API1, ... APIn)을 통해, 활성 애플리케이션 범위(111a, 111b, 111c)들 사이에서 공유할 수 있는, 사용자 장치(100)에 상주하는 하나 이상의 공유 자원(116)들을 관리하도록 조정되는, 시스템 범위(107)로서 불리는 기능적 엔티티를 포함할 수 있다. 시스템 범위(107)는, 공유 자원(116)이 요구될 때마다 애플리케이션 범위(111a, 111b, 111c)로부터 인보크(invoke)될 수 있는, 인에이블러 실현(enabler realization)을 제공할 수 있다. 공유 자원들은 예컨대, 인터넷에 대한 액세스를 제공하는 망 접속, 사용자에게 이벤트를 알릴 수 있는 디스플레이 장치, 또는 나중 검색을 공유 데이터가 저장될 수 있는 메모리수단일 수 있다. 공유 메모리수단은, 먼저 캐시된(pre-cached) 데이터를 제1프로세서(101)가 이용할 수 있는 것이 필요할 때와 같은 상황에서 사용할 수 있는 옵션이다.
이외에도, 위치확인시스템(GPS) 기능과 같은 기능성, 또는 온도센서와 같은 센서들이, 구동중인 애플리케이션 범위에 대한 데이터 소오스로서 사용될 수 있는 다른 유형의 공유 자원을 구성할 수 있다.
공유 자원(116)에 대한 액세스를 필요로 하는 구동중인 애플리케이션 범위(111a, 111b, 111c)는 시스템 범위(107)의 API와 CI(109)를 통해 자원에 액세스할 수 있다. 시스템 범위(107)의 통지 API를 인보크함으로써, 애플리케이션 범위(111a, 111b, 111c)는 예컨대 트리거된 이벤트를 사용자에게 통지할 수 있게 될 수 있다.
애플리케이션 범위(111a, 111b, 111c)가 생성되었으면, 웹 애플리케이션(103a, 103b, 103c)들은 통신 인터페이스(CI)(108, 109, 112, 118)들에 의해 제공되는 통신 링크를 통해 관련 애플리케이션 범위(111a, 111b, 111c)와 통신할 수 있다. 가장 간단한 형태에서, 웹 클라이언트(102)에는 플러그-인, 또는 다른 확장장치가 제공될 수 있지만, 바람직하게는 웹 소켓(Web Socket) 또는 HTTP 코멧(HTTP Comet)에 의존하는 통신 링크가 적용되게 된다. 이러한 통신 링크는 원격 절차 호출(Remote Procedure Call) 메커니즘, 또는 REST(Representational State Transfer) 메커니즘을 지원할 수 있다.
이외에, 수행된 계산의 결과를 나타내는, 예컨대 문자 메시지와 같은 애플리케이션 범위의 로그 메시지들이, 확립된 통신 링크들을 통해 전용 채널로 전송될 수 있어서, 이들 메시지들이 관련 웹 애플리케이션(103a, 103b, 103c)에 디스플레이될 수 있게 해준다.
웹 애플리케이션은, 각 웹 애플리케이션의 일부를 구성하는 명령들을 실행함으로써 애플리케이션 범위 인에이블러 서비스에 대한 액세스를 얻을 수 있다. 이러한 명령들은 전형적으로, 부트스트랩 스크립트로서 웹 애플리케이션에서 구현될 수 있다. 부트스트랩 스크립트, 또는 대응하는 코드는 애플리케이션 범위 인에이블러 서비스의 존재를 확인하기 위한 상태 요청 프로세스를 개시하고, 또한 웹 애플리케이션이 새로운 필요 애플리케이션 범위를 생성할 수 있도록 하거나, 또는 앞 단계에서 생성되었던 애플리케이션 범위에 재접속할 수 있도록 조정되는 짧은 명령을 포함한다.
애플리케이션 범위가 생성되거나, 또는 재접속될 수 있도록, 구동중인 웹 애플리케이션(103a, 103b, 103c)들이 애플리케이션 범위 플랫폼(104)과 어떻게 접촉을 확립할 수 있는지를 기술하는 개시 절차를 도 3의 흐름도를 참조하여 아래에서 보다 상세하게 설명한다.
단계(3:1)에서,
부트스트랩 스크립트를 활성화시킴으로써, 상태 요청이 웹 애플리케이션으로부터 시작된다. 이러한 요청에 의해 트리거된 상태 이벤트에 따라, 웹 애플리케이션에 의해 상이한 옵션들이 실행될 수 있다. 부트스트랩 스크립트는 또한, 상태 요청으로부터 획득한 결과를 자동으로 처리할 수 있도록 하기 위하여, 하나 또는 한 세트의 이용 상태 이벤트(custom status event)에 대한 청자(lisener)들을 등록하도록 조정될 수 있다.
후속 단계(3:2)에서, 만일 애플리케이션 범위 인에이블러 서비스가 이미 설치되었다고 판명된다면, 후속 단계(3:3)에서, 웹 애플리케이션에 대해 구동하는 소정의 애플리케이션 범위가 현재 있는지 판단하고, 그리고 만일 있다면, 다른 단계(3:4)에서 나타낸 바와 같이 웹 애플리케이션이 이 애플리케이션 범위에 재접속할 수 있다.
도 2를 다시 참조하면, 웹 애플리케이션(103a, 103b, 103c)은 CI(108)를 통해 프로세스 매니저(113)에 액세스할 수 있어서 프로세스 매니저(113)가 각 애플리케이션 범위(111a, 111b, 111c)에 재접속하도록 지시한다.
한편, 만일 단계(3:2)에서, 애플리케이션 범위 인에이블러 서비스가 설치되어 있지 않은 것으로 판명되면, 단계(3:5)로 나타낸 바와 같이 다른 확인이 수행될 수 있는데, 여기서 사용자는 웹 애플리케이션에 대한 애플리케이션 범위 인에이블러 서비스를 허용하거나 거절하는 것을 선택할 수 있다. 즉 애플리케이션 범위 플랫폼(104)에 대한 웹 애플리케이션(103a, 103b, 103c) 액세스와 그리고 플랫폼으로부터 제공될 수 있는, 웹 애플리케이션 특정 애플리케이션 범위들의 형태인 서비스를 허용하거나 또는 거절하는 것을 선택할 수 있다. 만일 액세스가 허용되면, 단계(3:6)에 나타낸 바와 같이 애플리케이션 범위 인에이블러 서비스가 웹 애플리케이션으로 다운로드되고, 그리고 단계(3:1)에서 시작하는, 상기에서 설명한 프로세스가 다시 한번 반복되지만, 그러나 애플리케이션 범위 플랫폼과 이의 서비스들에 대한 액세스는 이루어진다. 애플리케이션 범위 인에이블러 서비스를 시작시키도록 하는 명령들은 전형적으로 서비스 캐시(Service Cache)(120)로부터, 또는 애플리케이션 범위 플랫폼(104)의 다른 대응 수단으로부터 획득하게 된다. 그렇지 않으면, 각 웹 애플리케이션을 시작하는 것과 관련해, 특히 웹 애플리케이션에 의해 제공되는 서비스(들)를 구동시킬 때 애플리케이션 범위들이 필수적이라면 서비스는 무조건적으로 다운로드될 수 있다.
다른 한편으로, 만일 사용자가 애플리케이션 범위 인에이블러 서비스를 필요로 하지 않는다면, 상기에서 기술한 개시 절차는 단계(3:9)에서 종결되고, 그리고 시작된 웹 애플리케이션은 통상적인, 비-애플리케이션 범위 개입 모드에서 구동하게 된다.
만일 단계(3:2)에서, 애플리케이션 범위 인에이블러 서비스가 이미 설치되었고 또한 웹 애플리케이션이 이용할 수 있는 것으로 판명되었지만, 후속 단계(3:3)에서 현재 어떠한 애플리케이션 범위도 활성화되지 않은 것으로 판명된다면, 웹 애플리케이션은 단계(3:8)에 나타낸 바와 같이 새로운 애플리케이션 범위를 생성하라고 요청할 수 있다. 그러나, 선행 단계(3:7)에서 나타낸 바와 같이, 사용자는 먼저, 웹 애플리케이션에 의해 만들어지는 이러한 요청을 허용하거나 또는 거절하는 것을 선택할 수 있다. 만일 새로운 애플리케이션 범위의 생성을 사용자가 허용하지 않는다면, 개시 프로세스는 단계(3:9)에서 종결되고, 시작된 웹 애플리케이션은 통상적인, 비-애플리케이션 범위 개입 모드에서 구동하게 되는 한편, 사용자가 요청을 승인하게 된다면, 개시 절차가 단계(3:9)에서 종결되기 전에 단계(3:8)에서 나타낸 바와 같이 요청된 애플리케이션 범위가 생성된다. 후자의 경우에, 관련 명령/코드를 실행함으로써, 웹 애플리케이션은 전형적으로 프로세스 매니저에 접속하거나, 또는 각 애플리케이션 범위를 생성하도록 조정되는 대응하는 기능 유닛에 접속한다. 보다 상세히 설명하면, 웹 애플리케이션은, 요청에서 애플리케이션 범위 특정 코드를 지적하는 URL을 전송할 수 있어서, 관련 추가 코드의 다운로딩을 가능하게 하고, 또한 요청된 애플리케이션 범위의 생성을 가능하게 한다. 그렇지 않으면, 요청은, 애플리케이션 범위를 생성하기 위해 프로세스 매니저에 필요한, 관련 애플리케이션 범위 특정 명령들 모두, 또는 일부를 포함할 수 있다.
도 4는 본 발명의 한 예시적인 실시예에 따라, 애플리케이션 범위 플랫폼에서 애플리케이션 범위의 일반적인 프로세싱 단계들을 설명하는 흐름도이다. 단계(4:1)에서 시작하여, 도 3의 단계(3:8)에 따라 접속 이벤트가 트리거되었고, 애플리케이션 범위가 생성되었거나, 또는 재접속 이벤트가 트리거 되었고, 또한 이미 다운로딩된 코드를 기반으로, 도 3의 단계(3:4)에 따라 각 애플리케이션 범위가 재접속되었다고 상정한다.
단계(4:2)에 나타낸 바와 같이, 명령들에 따라 애플리케이션 범위의 실행이 시작된다.
애플리케이션 범위는, 다른 단계(4:4)에 나타낸 바와 같이 관련된 이벤트 기반 트리거를 인식하는 것에 응해 소정의 이벤트들을 실행하도록 구성된다. 이와 같은 이벤트는 예컨대, 공유 자원들을 인보크하는 단계를 포함하는데, 이로부터 소정의 데이터를 불러오고, 처리하고 및/또는 웹 애플리케이션에 제공될 수 있다. 애플리케이션 범위는, 관련된 웹 애플리케이션으로부터의 필요조건들에 따라, 하나 이상의 이벤트 트리거들을 포함할 수 있다. 애플리케이션 범위는 또한 관련된 웹 애플리케이션에, 또는 UI 장치를 포함하는 공유 자원에 선-규정된 이벤트의 통지를 제공하도록 구성될 수 있다. 이와 같은 이벤트 실행 프로세스를 후속 단계(4:5)에 나타낸다.
기술한 프로세스는 일반적으로, 예컨대 관련된 웹 애플리케이션으로부터 요청을 수신하는 것에 응해; 애플리케이션 범위 코드의 선-규정된 종결 트리거에 응해, 예컨대 하나 이상의 선-규정된 태스크들의 종류에 응해, 또는 웹 서버/관리 콘솔과 상호작용함으로써 애플리케이션 범위를 능동적으로 폐쇄하는 사용에 의해, 애플리케이션 범위가 종결될 수 있을 때 단계(4:6)에 나타낸 바와 같이 애플리케이션 범위가 종결될 때까지 실행된다.
본 명세서를 통해, "프로세스 매니저", "시스템 범위", "애플리케이션 범위" 및 "애플리케이션 범위 플랫폼"과 같은 논리적 장치들, 엔티티들 또는 노드들을 나타내는데 사용하는 용어들은 예시적인 표현으로서 단순히 이해하여야 하고, 이는 많은 다른 방식으로 표현할 수 있다.
이외에, 설명한 장치와 방법 단계들은 특정 예시적 실시예들을 참조하여 설명하였지만, 설명은 기술한 발명의 개념을 설명하기 위한 것이고 또한 첨부 청구항에 의해 규정되는 범위를 제한하는 것으로 이해하여서는 안 된다.
약어
API : Application Programming Interface
CPU : Central Processing Unit
D-BUS : Desktop bus
GUI : Graphical User Interface
HTML : Hyper Text Markup Language
HTTP : Hyper Text Transport Protocol
JSON : JavaScript Object Notation
RPC : Remote Procedure Call
REST : Representational State Transfer
URL : Uniform Resource Locator
WRT : Web Runtime
WWW : World Wide Web
XML : Extensible Markup Language
Claims (27)
- 사용자 장치의 웹 클라이언트를 통해 액세스 가능한 웹 애플리케이션과, 애플리케이션 범위 플랫폼에서 실행가능한 애플리케이션 범위 사이에서 통신을 가능하게 하는 상기 애플리케이션 범위 플랫폼을 포함하는 컴퓨터 판독가능한 기록 매체로서, 상기 웹 애플리케이션은 사용자 장치의 제1프로세서에서 구동하도록 조정되고, 상기 애플리케이션 범위 플랫폼은:
- 상기 애플리케이션 범위 플랫폼 상에서 실행가능한 이벤트 트리거된 애플리케이션 범위인 애플리케이션 범위를 생성하고 또한 관리하도록 조정되는 프로세스 매니저와,
- 상기 웹 클라이언트를 통해 상기 애플리케이션 범위 플랫폼과 상기 웹 애플리케이션 사이에서 웹 애플리케이션 상호작용이 가능하게 조정되는 웹 서버 및 통신 인터페이스를 포함하고, 상기 애플리케이션 범위는 상기 애플리케이션 범위 플랫폼 상의 제2프로세서에서 구동하도록 조정되고,
상기 애플리케이션 범위는, 상기 제1프로세서, 상기 웹 클라이언트 및/또는 웹 애플리케이션이 개방 또는 폐쇄 상태에 있는지에 상관없이, 애플리케이션 범위 개입 웹 애플리케이션인 상기 웹 애플리케이션을 인보크하도록 조정되는 것을 특징으로 하는, 컴퓨터 판독가능한 기록 매체. - 제1항에 있어서,
상기 프로세스 매니저는 공유 키 메커니즘을 적용함으로써 애플리케이션 범위 개입 웹 애플리케이션과 애플리케이션 범위를 관련시키도록 조정되는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체. - 제1항 또는 제2항에 있어서,
상기 프로세스 매니저는 실행가능한 코드의 형태로 명령들을 획득하고, 또한 상기 웹 애플리케이션으로부터 애플리케이션 범위를 생성하기 위한 요청을 수신하는 것에 응해 상기 명령들을 상기 애플리케이션 범위 내로 로딩함으로써, 애플리케이션 범위를 생성하도록 조정되는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체. - 제3항에 있어서,
상기 애플리케이션 범위는 애플리케이션 범위가 적어도 하나의 트리거된 이벤트에 대한 적어도 하나의 액티비티를 감시할 수 있도록 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체. - 제3항에 있어서,
상기 애플리케이션 범위는 트리거된 이벤트의 출연을 인식하는 것에 응해, 애플리케이션 범위가 상기 사용자 장치의 공유 자원, 및/또는 관련된 웹 애플리케이션을 인보크할 수 있도록 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체. - 제1항 또는 제2항에 있어서,
상기 프로세스 매니저는, 웹 애플리케이션으로부터, 또는 애플리케이션 범위로부터 요청을 수신하는 것에 응해, 상기 웹 애플리케이션을 관련된 상기 애플리케이션 범위와 재접속시키도록 조정되는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체. - 제5항에 있어서,
상기 애플리케이션 범위가 상기 공유 자원들 중 하나 이상을 사용할 수 있도록 하는 명령을 구성하는 시스템 범위를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체. - 제7항에 있어서,
상기 시스템 범위는 상기 애플리케이션 범위가 상기 통신 인터페이스를 통해 하나 이상의 공유 자원들에 액세스할 수 있도록 조정되는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체. - 제8항에 있어서,
상기 액세스는 D-버스(D-Bus) 메커니즘을 통해 제공되는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체. - 제9항에 있어서,
상기 공유 자원은 사용자 장치의 상기 제1프로세서에서 구동하도록 조정되는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체. - 제9항에 있어서,
상기 공유 자원은 사용자 장치의 상기 제1프로세서 이외의 다른 프로세서에서 구동하도록 조정되는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체. - 제11항에 있어서,
상기 시스템 범위는 하나 이상의 인에이블러를 제공하도록 조정되고, 인에이블러 각각은 트리거된 선-규정된 이벤트를 인식하는 것에 응해 상기 애플리케이션 범위로부터 인보크되도록 조정되는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체. - 제12항에 있어서,
상기 하나 이상의 인에이블러 각각은 애플리케이션 프로그램 인터페이스(API)인 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체. - 제13항에 있어서,
상기 하나 이상의 API는 망 노드로부터 수신된 업데이트를 처리하도록 조정되는 망 API; 이벤트의 관련된 애플리케이션 범위 개입 웹 애플리케이션를 통지하도록 조정되는 통지 API; 상기 사용자 장치의 데이터 소오스로부터 데이터를 획득할 수 있도록 조정되는 센서 API; 공유 저장 영역에/으로부터 공유 데이터의 저장 및 다운로딩이 가능하도록 조정되는 저장 API 중 적어도 하나인 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체. - 제1항 또는 제2항에 있어서,
상기 애플리케이션 범위 플랫폼은 원격 절차 호출 메커니즘을 적용함으로써 웹 애플리케이션과 관련된 애플리케이션 범위 간의 통신이 가능하게 되도록 조정되는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체. - 제1항 또는 제2항에 있어서,
상기 애플리케이션 범위 플랫폼은, 상기 사용자 장치로부터 물리적으로 분리된 엔티티에서 구현되는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체. - 제1항 또는 제2항에 있어서,
상기 애플리케이션 범위 플랫폼은 상기 사용자 장치에 통합된 부분으로서 구현되는 것을 특징으로 하는 컴퓨터 판독가능한 기록 매체. - 웹 애플리케이션이, 애플리케이션 범위 플랫폼에서 구동하는 애플리케이션 범위와 통신할 수 있도록 하는 사용자 장치로서, 상기 사용자 장치는:
- 상기 웹 애플리케이션과 상기 애플리케이션 범위 플랫폼 사이에서 통신할 수 있도록 조정되는 웹 클라이언트를 포함하되, 상기 웹 애플리케이션은 상기 애플리케이션 범위 플랫폼에 애플리케이션 범위를 생성할 수 있도록 하는 실행가능한 명령들을 포함하고, 상기 웹 애플리케이션은 제1프로세서에서 구동하고 상기 애플리케이션 범위는 애플리케이션 범위 플랫폼 상의 제2프로세서에서 구동하며, 그리고
- 사용자 장치 상의 상기 제1프로세서, 상기 웹 클라이언트 및/또는 상기 웹 애플리케이션이 개방 또는 폐쇄상태에 있는지에 상관없이, 상기 애플리케이션 범위가 상기 웹 애플리케이션을 인보크할 수 있게 하는 통신 인터페이스를 포함하는 것을 특징으로 하는 사용자 장치. - 제18항에 있어서,
상기 애플리케이션 범위로부터 제공된 통지를 사용자에게 표시하도록 조정되는, 사용자 인터페이스 장치를 포함하는 공유 자원을 더 포함하는 것을 특징으로 하는 사용자 장치. - 애플리케이션 범위 플랫폼과 웹 애플리케이션 간의 통신을 가능하게 하는 방법으로서, 상기 웹 애플리케이션은 사용자 장치의 웹 클라이언트와 통신 인터페이스를 통해 액세스할 수 있고, 상기 웹 애플리케이션은 사용자 장치의 제1프로세서에서 구동하도록 조정되며, 상기 방법은 상기 애플리케이션 범위 플랫폼에서 실행되게 되는 다음 단계들:
- 사용자 장치에서, 상기 웹 애플리케이션과 연관된 이벤트 트리거된 애플리케이션 범위를 생성하기 위한 요청을 상기 웹 애플리케이션으로부터 수신하는 단계와;
- 실행가능한 명령들을 획득하고 또한 상기 명령들을 상기 애플리케이션 범위로 로딩시킴으로써 상기 애플리케이션 범위를 생성하는 단계와;
- 상기 애플리케이션 범위를 실행하는 단계를 포함하고,
상기 애플리케이션 범위는 애플리케이션 범위 플랫폼 상에서 제2프로세서에서 구동하도록 조정되고, 그리고 상기 애플리케이션 범위는, 사용자 장치의 상기 제1프로세서, 상기 웹 클라이언트 및/또는 상기 웹 클라이언트가 개방 또는 폐쇄상태에 있는지에 상관없이 상기 웹 애플리케이션을 인보크하도록 조정되는 것을 특징으로 하는 방법. - 제20항에 있어서,
상기 실행하는 단계는:
- 적어도 하나의 트리거된 이벤트에 대해 적어도 하나의 액티비티를 감시하는 단계와, 그리고
- 트리거된 이벤트를 인식하는 것에 응해 액티비티를 실행하는 단계를 더 포함하는 것을 특징으로 하는 방법. - 제20항 또는 제21항에 있어서,
상기 실행하는 단계는 제1프로세서와 웹 클라이언트 중 하나 또는 둘 다를 활성화시키는 단계와; 상기 웹 애플리케이션을 인보크시키는 단계와; 공유 자원을 인보크하는 단계와; 그리고 상기 사용자 장치에 상기 트리거된 이벤트의 통지를 제공하는 단계들 중 적어도 하나를 포함하는 것을 특징으로 하는 방법. - 삭제
- 삭제
- 제22항에 있어서,
상기 사용자 장치에 트리거된 이벤트의 통지를 제공하는 단계는, 상기 사용자 장치의 공유 자원의 사용자 인터페이스 장치에 통지를 제공하는 단계를 포함하는 것을 특징으로 하는 방법. - 제22항에 있어서,
상기 활성화 및/또는 인보크 단계는 인터-프로세스 통신시스템을 통해 수행되는 것을 특징으로 하는 방법. - 제26항에 있어서,
상기 인터-프로세스 통신시스템은 원격 절차 호출(PRC) 메커니즘 또는 REST(Representational State Transfer) 메커니즘을 기반으로 하는 것을 특징으로 하는 방법.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/SE2009/051094 WO2011040848A1 (en) | 2009-10-01 | 2009-10-01 | A method and arrangements for application scope management |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120091041A KR20120091041A (ko) | 2012-08-17 |
KR101768236B1 true KR101768236B1 (ko) | 2017-08-14 |
Family
ID=43826503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127008301A KR101768236B1 (ko) | 2009-10-01 | 2009-10-01 | 애플리케이션 범위 관리를 위한 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9674262B2 (ko) |
EP (2) | EP2484094B1 (ko) |
KR (1) | KR101768236B1 (ko) |
CN (1) | CN102577318B (ko) |
BR (1) | BR112012007376B1 (ko) |
WO (1) | WO2011040848A1 (ko) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9075663B2 (en) * | 2010-05-12 | 2015-07-07 | Samsung Electronics Co., Ltd. | Cloud-based web workers and storages |
US20150205489A1 (en) | 2010-05-18 | 2015-07-23 | Google Inc. | Browser interface for installed applications |
US9178766B2 (en) | 2010-06-28 | 2015-11-03 | Amazon Technologies, Inc. | Provisioning multiple network resources |
US20120066345A1 (en) * | 2010-09-14 | 2012-03-15 | Cyril Rayan | Emergency communications platform |
US8825817B1 (en) | 2012-03-19 | 2014-09-02 | Amazon Technologies, Inc. | Using a template to update a stack of resources |
US10089152B1 (en) | 2012-03-19 | 2018-10-02 | Amazon Technologies, Inc. | Using scripts to bootstrap applications with metadata from a template |
US8949930B1 (en) | 2012-03-19 | 2015-02-03 | Amazon Technologies, Inc. | Template representation of security resources |
US8694961B2 (en) | 2012-04-03 | 2014-04-08 | Microsoft Corporation | Thread-agile execution of dynamic programming language programs |
US9628438B2 (en) | 2012-04-06 | 2017-04-18 | Exablox | Consistent ring namespaces facilitating data storage and organization in network infrastructures |
US20140047360A1 (en) * | 2012-08-09 | 2014-02-13 | Google Inc. | Background application page architecture for web applications |
US9058219B2 (en) | 2012-11-02 | 2015-06-16 | Amazon Technologies, Inc. | Custom resources in a resource stack |
US9143550B2 (en) * | 2012-12-01 | 2015-09-22 | Qualcomm Innovation Center, Inc. | Graceful degradation of websocket connections to nonpersistent HTTP-based communications |
US9552382B2 (en) | 2013-04-23 | 2017-01-24 | Exablox Corporation | Reference counter integrity checking |
EP3008647A4 (en) | 2013-06-12 | 2017-01-25 | Exablox Corporation | Hybrid garbage collection |
US9715521B2 (en) | 2013-06-19 | 2017-07-25 | Storagecraft Technology Corporation | Data scrubbing in cluster-based storage systems |
US9934242B2 (en) | 2013-07-10 | 2018-04-03 | Exablox Corporation | Replication of data between mirrored data sites |
KR102384872B1 (ko) * | 2013-07-18 | 2022-04-11 | 삼성전자주식회사 | 디스플레이를 구비한 휴대 단말기 및 그 휴대 단말기의 동작 방법 |
US10248556B2 (en) | 2013-10-16 | 2019-04-02 | Exablox Corporation | Forward-only paged data storage management where virtual cursor moves in only one direction from header of a session to data field of the session |
US9985829B2 (en) * | 2013-12-12 | 2018-05-29 | Exablox Corporation | Management and provisioning of cloud connected devices |
US9774582B2 (en) | 2014-02-03 | 2017-09-26 | Exablox Corporation | Private cloud connected device cluster architecture |
WO2015120071A2 (en) | 2014-02-04 | 2015-08-13 | Exablox Corporation | Content based organization of file systems |
US20170060924A1 (en) | 2015-08-26 | 2017-03-02 | Exablox Corporation | B-Tree Based Data Model for File Systems |
US9846553B2 (en) | 2016-05-04 | 2017-12-19 | Exablox Corporation | Organization and management of key-value stores |
US11003517B2 (en) * | 2017-03-16 | 2021-05-11 | Siemens Aktiengesellschaft | Device-based engineering system for programmable logic controllers |
EP4229527A4 (en) | 2020-10-14 | 2024-04-17 | Vidaa USA, Inc. | PAGE LOADING METHOD AND DISPLAY APPARATUS |
WO2024015115A1 (en) * | 2022-07-14 | 2024-01-18 | Qusecure, Inc | System and methods for portability and transparently integrating post-quantum cryptography in communications |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040139151A1 (en) * | 2002-12-17 | 2004-07-15 | International Business Machines Corporation | Apparatus and method for selecting a web service in response to a request from a client device |
US20090077091A1 (en) * | 2007-09-18 | 2009-03-19 | Gilad Khen | System for development and hosting of network applications |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6292825B1 (en) * | 1998-11-12 | 2001-09-18 | International Business Machines Corporation | Service application with pull notification |
WO2001067679A1 (fr) * | 2000-03-10 | 2001-09-13 | Shenzhen Liming Network Systems Co., Ltd. | Plate-forme de commutateur d'informations |
US6883024B2 (en) * | 2000-12-18 | 2005-04-19 | International Business Machines Corporation | Method and apparatus for defining application scope and for ensuring finite growth of scaled distributed applications |
US7325042B1 (en) | 2002-06-24 | 2008-01-29 | Microsoft Corporation | Systems and methods to manage information pulls |
US20070106739A1 (en) | 2005-11-08 | 2007-05-10 | David Clark | Wireless messaging using notification messages in a wireless communication network |
US7587399B2 (en) * | 2005-12-30 | 2009-09-08 | Sap Ag | Integrated software toolset for a web server |
US8045236B2 (en) * | 2006-03-29 | 2011-10-25 | Research In Motion Limited | Apparatus, and associated method, for facilitating background processing of push content |
ATE479243T1 (de) * | 2006-03-29 | 2010-09-15 | Research In Motion Ltd | VORRICHTUNG UND ZUGEORDNETES VERFAHREN ZUR ERLEICHTERUNG DER HINTERGRUNDVERARBEITUNG VON ßPUSHß-INHALT |
US8341595B2 (en) * | 2007-05-30 | 2012-12-25 | Roam Data Inc | System and method for developing rich internet applications for remote computing devices |
US8683247B2 (en) * | 2008-06-12 | 2014-03-25 | Advanced Micro Devices, Inc. | Method and apparatus for controlling power supply to primary processor and portion of peripheral devices by controlling switches in a power/reset module embedded in secondary processor |
US9176747B2 (en) * | 2009-02-17 | 2015-11-03 | Sandisk Il Ltd. | User-application interface |
-
2009
- 2009-10-01 KR KR1020127008301A patent/KR101768236B1/ko active IP Right Grant
- 2009-10-01 EP EP09850126.5A patent/EP2484094B1/en not_active Not-in-force
- 2009-10-01 WO PCT/SE2009/051094 patent/WO2011040848A1/en active Application Filing
- 2009-10-01 EP EP19153503.8A patent/EP3493506A1/en active Pending
- 2009-10-01 CN CN200980161706.3A patent/CN102577318B/zh active Active
- 2009-10-01 US US13/498,064 patent/US9674262B2/en active Active
- 2009-10-01 BR BR112012007376-1A patent/BR112012007376B1/pt active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040139151A1 (en) * | 2002-12-17 | 2004-07-15 | International Business Machines Corporation | Apparatus and method for selecting a web service in response to a request from a client device |
US20090077091A1 (en) * | 2007-09-18 | 2009-03-19 | Gilad Khen | System for development and hosting of network applications |
Also Published As
Publication number | Publication date |
---|---|
EP3493506A1 (en) | 2019-06-05 |
EP2484094B1 (en) | 2019-04-10 |
US20120179808A1 (en) | 2012-07-12 |
WO2011040848A1 (en) | 2011-04-07 |
US9674262B2 (en) | 2017-06-06 |
KR20120091041A (ko) | 2012-08-17 |
BR112012007376B1 (pt) | 2023-02-14 |
EP2484094A1 (en) | 2012-08-08 |
EP2484094A4 (en) | 2013-06-12 |
CN102577318B (zh) | 2015-07-15 |
CN102577318A (zh) | 2012-07-11 |
BR112012007376A2 (pt) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101768236B1 (ko) | 애플리케이션 범위 관리를 위한 방법 및 장치 | |
US11204786B2 (en) | Method and arrangement for managing persistent rich internet applications | |
JP6463494B2 (ja) | プログラムコードの低レイテンシ実行のためのセキュリティプロトコル | |
US9979670B2 (en) | Method for providing a connection of a client to an unmanaged service in a client-server remote access system | |
US9571332B2 (en) | Methods and apparatuses for remote application provisioning automation over virtualized IT infrastructure | |
US11842222B2 (en) | Using scripts to bootstrap applications with metadata from a template | |
US9342333B2 (en) | Backend custom code extensibility | |
CN109716735B (zh) | 用于在于一个或多个应用平台上执行的隔离的应用之间共享应用数据的系统和方法 | |
JP6088531B2 (ja) | ローカルサーバーを通じたローカルクライアントアプリケーションのためのイベントサービス | |
US9465677B2 (en) | Partitioned application environment | |
KR20140028961A (ko) | 데이터 송수신 방법 및 그 전자 장치 | |
US8276136B2 (en) | Transparent configuration of a network appliance | |
JP2021184235A5 (ko) | ||
EP3149576A1 (en) | Management of headless hardware in data center | |
US10445165B2 (en) | Inactive application restarting | |
CN118200309A (zh) | 用于更新云手机的方法、相关装置及计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |