KR20080017420A - 데이터 언어에서 변수들의 자동 업데이팅 - Google Patents

데이터 언어에서 변수들의 자동 업데이팅 Download PDF

Info

Publication number
KR20080017420A
KR20080017420A KR1020077031012A KR20077031012A KR20080017420A KR 20080017420 A KR20080017420 A KR 20080017420A KR 1020077031012 A KR1020077031012 A KR 1020077031012A KR 20077031012 A KR20077031012 A KR 20077031012A KR 20080017420 A KR20080017420 A KR 20080017420A
Authority
KR
South Korea
Prior art keywords
dynamic variable
value
dynamic
data language
variable
Prior art date
Application number
KR1020077031012A
Other languages
English (en)
Other versions
KR100948472B1 (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 KR20080017420A publication Critical patent/KR20080017420A/ko
Application granted granted Critical
Publication of KR100948472B1 publication Critical patent/KR100948472B1/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
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/543Local
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

본 발명은 데이터 언어 내의 변수들을 자동으로 업데이트하기 위한 다양한 방법들 및 장치들에 관한 것이다. 동적 변수는 동적 변수를 포함하는 데이터 언어로 기록된 명령을 해석하고, 메모리 내에 상기 동적 변수를 생성하고, 상기 동적 변수에 대한 값을 할당하고, 상기 동적 변수를 포함하는 상기 데이터 언어로 기록된 상기 명령을 해석하지 않고 상기 동적 변수 값을 업데이트함으로써 업데이트된다. 동적 변수는 또한 동적 변수 값과 연관된 오브젝트를 생성함으로써 업데이트될 수 있고, 상기 오브젝트는 상기 동적 변수 값을 결정한다. 또한, 함수 값을 관찰하는 것은 상기 동적 변수와 연관될 수 있고, 그후에 상기 함수 값이 변화될 때 상기 오브젝트에 통지된다.

Description

데이터 언어에서 변수들의 자동 업데이팅{AUTOMATIC UPDATING OF VARIABLES IN A DATA LANGUAGE}
- 관련된 출원의 상호 참조 -
본 출원은 2005년 5월 31일에 제출된 미국 임시 출원 번호 60/686,271의 우선권을 청구하며, 본 명세서에서 참조로서 통합된다.
- 본 발명의 기술분야 -
본 발명은 일반적으로 소프트웨어 애플리케이션들의 가변 처리에 관한 것이다. 특히, 본 발명은 데이터 언어에서 동적 변수들의 처리에 관한 것이다.
데이터 언어들은 프로그램에서 더 널리 퍼지는 방식이 되고 있다. 데이터 언어들은 XML에 기초하며, HTML 및 TRIGML®(QUALCOMM사에 의해 소유되는)을 포함하는 마크업 언어들을 포함한다. 데이터 언어들은 광범위하게 웹-기반의 애플리케이션을 프로그래밍하는데 사용되지만, 그에 제한되지는 않는다. XML 기반의 언어들을 사용하여 구현되는 기능들의 예들은 지불 청구 및 거래 처리 프로그램들을 포함한다.
데이터 언어들은 본래 설명을 위한 것이다. 데이터 언어 프로그램을 통해 통로가 형성되며, 예를 들어, 웹 페이지는 상기 프로그램 내에 정의된 엘리먼트들 을 사용하여 디스플레이된다. 프로그램은 사용된 엘리먼트들 뿐만 아니라 그들이 디스플레이될 수 있는 방식과 관련된 엘리먼트들의 특성들을 정의할 수 있다. 상기 언어들은 사용자 인터페이스들의 생성시 사용될 수 있다.
데이터 언어들을 사용할 때, 변수들의 처리와 같은 차이들이 발생한다. XML이 본래 설명을 위한 것이기 때문에, 동적인 변수들은 변수가 세팅될 때마다 변경될 수 없다. 상기 문제점을 해결하기 위한 몇몇 시도들은 자바 스크립트들을 사용하는 것이다. 그러나, 자바 스크립트들은 코드가 재실행될 때까지 변수를 수정하지 않고, 자바 스크립트가 재실행되도록 트리거해야 한다. 자동 트리거는 존재하지 않는다. 다시 말해서, 자바 스크립트를 포함하는 프로그램 코드는 새로운 변수 값을 결정하기 위해 다시 실행되어야 한다. 만약 변수가 동적이고 변화하면, 자바 스크립트에서 사용된 변수는 코드가 재실행될 때까지 업데이트되지 않을 것이다.
데이터 언어들을 사용하는 또다른 차이는 상기 언어들이 기본적인 컴퓨터 또는 프로세서 플랫폼 기능들에 접속할 수 없다는 것이다. 예를 들어, 당신이 데이터 언어를 사용하여 배터리 레벨을 표시하는 배터리 아이콘을 디스플레이하기를 원하는 경우에, 플랫폼에 공지된 것과 같이 배터리 레벨에 접속하기 위한 메카니즘은 데이터 언어 내에 존재하지 않는다. 자바 스크립트들은 컴퓨터/플랫폼 기능들에 접속할 수 있는 능력을 가지지 못하는 상기 문제점을 갖는다.
따라서, 동적 변수들을 포함하는 표현식들의 계산을 허용하는 방법 및 장치를 제공하는 것이 당업계에 요구된다. 부가적으로, 컴퓨터/플랫폼 레벨 기능들로의 접속을 제공하는 방법 및 장치를 가지는 것이 요구된다.
본 발명의 시스템들 및 방법들은 동적 변수들을 계산하고 컴퓨터 플랫폼의 기본적인 기능들에 접속하는 시스템들, 방법들 및 장치들을 생성함으로써 현존하는 시스템들의 단점을 극복한다.
본 발명의 일 실시예에서, 데이터 언어로 기록된 동적 변수를 가지는 표현식은 상기 동적 변수를 수신하고, 상기 동적 변수의 제 1 값을 결정하고, 상기 제 1 값을 사용하여 상기 표현식을 계산하며, 상기 동적 변수와 연관된 변경을 검출함으로써 계산된다. 상기 동적 변수와 연관된 제 2 값을 수신하고 상기 동적 변수와 연관된 상기 제 2 값을 사용하여 상기 표현식을 계산한 후에, 상기 표현식은 상기 표현식을 포함하는 다른 프로그램 코드를 재해석하지 않고 상기 제 2 값을 사용하여 계산된다.
또다른 실시예예에서, 동적 변수는 상기 동적 변수를 포함하는 상기 데이터 언어로 기록된 명령을 해석하고, 메모리 내에 상기 동적 변수를 생성하고, 상기 동적 변수에 대한 값을 할당하며, 상기 동적 변수를 포함하는 상기 데이터 언어로 기록된 상기 명령을 해석하지 않고 상기 동적 변수 값을 업데이트함으로써 업데이트된다. 동적 변수는 또한 상기 동적 변수 값과 연관된 오브젝트를 생성함으로써 업데이트되며, 상기 오브젝트는 상기 동적 변수 값을 결정한다. 또한, 함수 값을 관찰하는 것은 상기 동적 변수와 연관되고, 상기 함수 값이 변화될 때 상기 오브젝트에 통지된다.
또다른 실시예에서, 데이터 언어 내의 동적 변수를 업데이트하기 위한 장치는 동적 변수에 할당된 메모리 위치 및 상기 동적 변수에 대한 업데이트들을 계산하기 위한 프로세서를 포함하며, 상기 동적 변수는 상기 데이터 언어 내의 명령을 해석하는데 응답하여 상기 메모리 위치에 할당된다.
또다른 실시예에서, 데이터 언어로 기록된 동적 변수를 업데이트하기 위한 컴퓨터로 실행가능한 명령들을 포함하는 컴퓨터로 판독가능한 매체로서, 상기 명령들은 실행될 때, 상기 동적 변수를 포함하는 상기 데이터 언어로 기록된 명령을 해석하는 단계, 메모리 내에 상기 동적 변수를 생성하는 단계, 상기 동적 변수에 대한 값을 할당하는 단계, 및 상기 동적 변수를 포함하는 상기 데이터 언어로 기록된 상기 명령을 해석하지 않고 상기 동적 변수 값을 업데이트하는 단계를 수행한다.
본 발명의 다른 목적들, 장점들, 및 특징들은 도면의 간단한 설명, 실시예 및 청구항들의 검토 이후 명백해질 것이다.
도 1은 디바이스들이 본 발명의 일 실시예에서 동작할 수 있는 통신 환경의 기능 다이어그램이다.
도 2는 본 발명의 일 실시예에서 샘플 이동 디바이스의 구성요소들을 도시하는 기능 블럭 다이어그램이다.
도 3은 본 발명의 일 실시예에서, 샘플 컴퓨팅 디바이스의 구성요소들을 도시하는 기능 블럭 다이어그램이다.
도 4는 본 발명의 일 실시예에서 컴퓨터 플랫폼의 애플리케이션 구조를 도시하는 블럭 다이어그램이다.
도 5는 본 발명의 일 실시예에서, 사용자 인터페이스 구성요소들을 업데이트하는 시스템 및 트리그플레이어, 액터들 및 트리그들을 도시하는 구조를 설명하는 블럭 다이어그램이다.
도 6은 본 발명의 일 실시예에서 연관 TrigML 코드, 오브젝트들 및 액터들을 도시하는 블럭 다이어그램이다.
도 7은 본 발명의 일 실시예에서, 동적 표현식을 계산하는 프로세스를 도시하는 흐름도이다.
첨부된 도면들에 도시된 것과 같이 본 발명의 예시적이고 바람직한 실시예들에 참조가 수행되며, 상기 도면들에서 유사한 도면 부호들은 몇몇 도면에서 유사하거나 상응하는 부분들을 지정한다. 본 발명의 특성, 목적들 및 장점들은 첨부된 도면을 참조로 하여 하기에서 상세히 설명된다.
용어들의 사용과 관련하여, 본 설명에서 용어들 "무선 디바이스", "무선 전화기" 및 "이동 디바이스"는 상호교환하여 사용된다. 용어 "애플리케이션"은 본 명세서에서 사용된 것과 같이 실행가능한 및 실행 불가능한 소프트웨어 파일들, 원 데이터, 집합된 데이터, 패치들, 컨텐트, 사용자 인터페이스들 및 사용자 인터페이스 구성요소들 및 다른 코드 세그먼트들을 함축하도록 의도된다. 또한, 유사한 숫자는 몇몇 도면들에서 유사한 엘리먼트들을 지칭하고, 관사 "a" 및 "the"는 본 설명에서 달리 지정되지 않는다면 다수의 참조들을 포함한다.
TrigML은 사용자 인터페이스를 개발하는데 사용가능한 사용자 실행 언어이 다. TrigMl은 QUALCOMM사에 의해 소유되는 제품이다. XML에서 정의된 데이터 언어들과 유사하게, TrigML 코드는 태그들의 사용을 포함한다. 실시예들이 무선 디바이스 상의 사용자 인터페이스를 위해 TrigML의 배경에서 설명되지만, 이는 단지 설명의 목적을 위한 것이며, 본 발명에서 제한되지 않는다. 본 명세서에 설명된 장치 및 방법들은 또한 비-사용자 인터페이스 환경들에 적용가능하며, 전술된 것과 같이 서로 다른 데이터 언어를 사용하는 환경들에서 사용하는데 적용가능하다.
도 1은 디바이스들이 본 발명의 일 실시예에서 동작할 수 있는 통신 환경(100)의 기능도이다. 상기 예에서, 통신 환경(100)은 무선 네트워크(122)를 포함한다. 무선 네트워크(122)는 무선 서비스 제공자가 이동 디바이스들에 데이터 또는 원격통신 접속을 제공하기 위해 동작되는 통신 네트워크들이 될 수 있다. 또한, 무선 네트워크(122)는 유선 네트워크들, 인터넷, 광역 네트워크들, 공중 전화 교환망(PSTN) 및 다른 공중 및/또는 사설 네트워크들을 포함할 수 있고, 따라서 디바이스들은 그들의 네트워크들로 접속된 다른 디바이스를 사용하여 직접 또는 간접 통신할 수 있다.
일 예에서, 무선 네트워크(122)는 셀룰러 전화 네트워크를 포함할 수 있다. 몇몇 이동 디바이스들은 셀룰러 전화기(112), 랩탑 컴퓨터(116), PDA(118) 및 이동 메세징 디바이스(120)와 같은 무선 네트워크(122)와 통신한다. 상기 디바이스들은 단지 무선 네트워크(122)를 통해 통신할 수 있는 다양한 타입의 디바이스들의 설명을 위해 도시된다.
애플리케이션 서버(124) 및 사용자 인터페이스 서버(126)가 도 1에 도시된 다. 사용자 인터페이스 서버(126)는 사용자 인터페이스 구성요소들(130)을 서비스하는 컴퓨팅 디바이스이다(하기에 상세히 설명됨). 상기 사용자 인터페이스 구성요소들(130)은 무선 네트워크(122)에 접속된 다른 디바이스들로 다운로드될 수 있다. 사용자 인터페이스 구성요소들은 사용자 인터페이스를 렌더링하기 위한 코드 및/또는 데이터(기능 호출들, 메뉴들, 컨텐트 호출들을 위한 코드, 스킨들 등등)을 포함한다. 컨텐트 서버들을 포함하는 다수의 다른 서버들이 정보를 전송하기 위해 네트워크로의 접속에 사용될 수 있음에 유의하라. 사용할 수 있는 정보의 타입은 제한되어 있고, 매우 많은 서로 다른 예들이 당업자에게 인식될 것이다. 사용자 인터페이스 서버(126)는 무선 네트워크(122)를 통해 사용자 인터페이스 구성요소들(130)을 요청중인 디바이스들로 제공하도록 구성된 서버 소프트웨어를 포함한다.
애플리케이션 서버(124)는 소프트웨어 애플리케이션들(128)이 이동 디바이스들에 의한 다운로드에 사용가능하게 하며 무선 네트워크(122)에 결합된 컴퓨팅 디바이스 또는 시스템이다. 언급된 애플리케이션들(128)은 그들의 디바이스들에서의 실행을 위해 셀룰러 전화기(112)와 같이 무선 네트워크(122)에 접속된 디바이스에 의해 다운로드될 수 있다. 상기 특정 실시예에서, 애플리케이션 다운로드 서버(124)에 의해 서비스되는 애플리케이션들 중 적어도 하나는 이동 디바이스들 중 적어도 하나에서의 실행을 위해 구성된 컨텐트-기반의 애플리케이션이다. 컨텐트-기반의 애플리케이션(클라이언트)는 사용자 인터페이스를 통해 이동 디바이스에 의한 표시를 위해 컨텐트 서버(비도시)로부터 컨텐트를 검색하도록 구성된다.
도 2는 본 발명의 일 실시예에서, 샘플 이동 디바이스(201)의 구성요소들을 도시하는 기능 블럭 다이어그램이다. 이동 디바이스(201)는 셀룰러 전화기, 개인 디지털 보조 장치, 처리되는 "팜탑" 디바이스, 랩탑 컴퓨터, 휴대가능한 음악 플레이어, 위성 위치 측정(GPS) 디바이스 등등과 같이 컴퓨팅 기능을 가지는 임의의 디바이스가 될 수 있다.
이동 디바이스(201)는 소프트웨어 애플리케이션들을 수신하여 실행하고 데이터를 디스플레이할 수 있는 컴퓨터 플랫폼(250)을 갖는다. 컴퓨터 플랫폼(250)은 애플리케이션용 집적 회로 "ASIC", 디지털 신호 프로세서("DSP), 마이크로 프로세서, 마이크로 제어기, 로직 회로, 상태 머신, 또는 다른 데이터 처리 디바이스와 같은 프로세서(252)를 포함한다. 프로세서(252)는 이동 디바이스의 메모리(256) 내의 임의의 상주 프로그램들과 인터페이싱하는 애플리케이션 프로그래밍 인터페이스("API") 층(254)을 실행한다. 메모리(256)는 랜덤 액세스 메모리 또는 판독 전용 메모리(RAM 또는 ROM), EPROM, EEPROM, 플래시 메모리 또는 컴퓨터 플랫폼들에 공통인 임의의 메모리를 포함할 수 있다. 컴퓨터 플랫폼(250)은 사용자 인터페이스 서버(126; 도1)로부터 다운로드된 소프트웨어 애플리케이션들 또는 사용자 인터페이스 구성요소들과 같이 메모리(256) 내에서 실제 사용되지 않는 소프트웨어 애플리케이션들, 파일들 또는 데이터를 저장할 수 있는 로컬 저장장치(258)를 포함한다. 로컬 저장장치(258)는 일반적으로 하나 또는 그 이상의 플래시 메모리 셀들로 구성되지만, 자기 매체, EPROM, EEPROM, 광학 매체, 테이프, 또는 소프트 또는 하드 디스크와 같이 당업계에 공지된것과 같은 임의의 제 2의 또는 제 3의 저장 디바이스가 될 수 있다.
컴퓨터 플랫폼(250)은 또한 사용자 인터페이스(비도시)를 사용하여 데이터를 디스플레이하기 위해 소프트웨어 애플리케이션들에 의해 사용될 수 있는 디스플레이(260)를 포함한다.
도 2에 도시된 구성요소들은 다수의 이동 디바이스들을 대표하지만, 다른 구성요소들이 이동 디바이스(201)에 부가될 수 있고, 특정 경우들에서, 도 2에 도시된 몇몇 구성요소들은 이동 디바이스(201)로부터 생략될 수 있다.
도 3은 본 발명의 일 실시예에서, 샘플 컴퓨팅 디바이스(301)의 핵심 구성요소들을 도시하는 기능적인 블럭 다이어그램이다. 컴퓨팅 디바이스(301)는 데스크탑 컴퓨터 또는 서버와 같이 임의의 고정된 컴퓨팅 디바이스가 될 수 있다.
상기 예에서, 컴퓨팅 디바이스(301)는 프로세서 유니트(304), 메모리(306),저장 매체(313) 및 오디오 유니트(331)를 포함한다. 프로세서 유니트(304)는 유리하게 마이크로 프로세서 또는 디지털 신호 프로세서(DSP)와 같은 특수 용도의 프로세서를 포함하지만 선택적으로 프로세서, 제어기, 마이크로 제어기 또는 상태 머신의 임의의 종래의 형태가 될 수 있다. 프로세서 유니트(304)는 메모리(306)에 결합되어 유리하게 프로세서 유니트(304)에 의해 실행되는 소프트웨어 명령들을 저장하는 RAM 메모리로서 구현된다. 선택적인 실시예에서, 메모리(306)는 펌웨어 또는 플래시 메모리로 구성될 수 있다. 상기 실시예에서, 메모리(306)에 저장된 소프트웨어 명령들은 오퍼레이팅 시스템(310) 및 사용자 인터페이스(비도시)를 사용하는 애플리케이션과 같은 하나 또는 그 이상의 애플리케이션들(312)을 포함한다.
이동 디바이스(301)는 또한 컴퓨팅 디바이스(301)와 이동 디바이스와 같은 하나 또는 그 이상의 다른 컴퓨팅 디바이스들 사이에서 양방향 통신을 가능하게 하는 통신 모듈(321)을 포함한다. 통신 모듈(321)은 셀룰러 전화기 네트워크, 블루투스 접속, 무선 근거리 네트워크 또는 아마도 무선 광대역 네트워크와 같은 다른 무선 통신들 또는 RF를 가능하게 하는 구성요소들을 포함한다. 선택적으로, 통신 모듈(321)은 이더넷 접속, RJ-11 접속, 범용 직렬 버스 접속, IEEE 1394(펌웨어) 접속 등등을 가능하게 하는 구성요소들을 포함할 수 있다. 이들은 불완전한 리스트들로 의뢰되며, 다양한 다른 대안들이 가능하다. 오디오 유니트(331)는 아날로그 및 디지털 포맷 사이로 신호들을 변환하도록 구성된 이동 디바이스(301)의 구성요소이다. 오디오 유니트(331)는 스피커(332)를 사용하여 사운드를 출력하고 마이크(333)로부터 입력 신호들을 수신하기 위해 이동 디바이스(301)에 의해 사용된다.
도 3은 다수의 종래의 컴퓨팅 디바이스들에서 발견되는 특정 구성요소들만을 도시한다. 매우 다양한 다른 구성요소들이 또한 특정 구현들에서 일반적으로 발견되며, 특정 경우들에서 도 3에 도시된 몇몇 구성요소들을 생략될 수 있다. 그러나, 도 3에 도시된 컴퓨팅 디바이스(301)는 오늘날 공통으로 발견되는 컴퓨팅 디바이스들을 대표한다.
도 4는 본 발명의 일 실시예에서 디바이스의 애플리케이션 구조를 도시한다. 디바이스는 "컴퓨터 플랫폼"을 포함할 것이다. 컴퓨터 플랫폼은 하드웨어, 소프트웨어 또는 이들 모두를 포함하는 디바이스의 구성요소들을 지칭할 수 있다. 예를 들어, 상기 컴퓨터 플랫폼은 오퍼레이팅 시스템, 칩을 포함하는 기본적인 하드웨어 구성요소들, 사용자 인터페이스 하드웨어(예를 들면, 디스플레이들, 입력 및 출력 디바이스들), 라이브러리들, 지원중인 API들, 추가의 오퍼레이팅 시스템 등등을 포함할 수 있다.
일 실시예에서, 무선 디바이스의 애플리케이션 구조(400)는 디바이스 APIs(405), BREW APIs(410), BREW 확장들(415), 트리그 플레이어(Trigplayer;420), 액터들(Actors;425) 및 트리그들(Trigs430)을 포함한다. 디바이스 APIs(405)는 특정 프로세서 또는 ASIC 기능들, 특정 디바이스 하드웨어 기능 등등과 같이 그 디바이스에 특정하게 결합된 기능들을 처리하기 위해 소프트웨어 플랫폼에 의해 사용되는 그들의 APIs를 포함할 수 있다.
BREW APIs(410)는 QUALCOMM사에 의해 개발된 소프트웨어 플랫폼이다. BREW APIs(410)는 애플리케이션들이 디바이스 APIs(405) 및 디바이스를 위해 특정하게 기록될 필요 없는 다른 기능들을 호출하는 능력을 제공한다. 다시 말해서, 이는 애플리케이션으로부터 하드웨어의 특정 양상들을 요약하며, 따라서 애플리케이션이 실행되는 각각의 특정 디바이스에 대하여 조정하거나, 약간의 조정을 요구하지 않고 다수의 디바이스들을 위해 기록되도록 한다.
BREW 확장(415)은 MP3 플레이어들, 자바 가상 머신들 등등을 제공하는 것과 같이 BREW 플랫폼에 특정 능력을 부가하는 능력을 제공한다.
트리그 플레이어(420), 트리그들(430) 및 액터들(425)은 QUALCOMM사에 의해 개발된 uiOne™ 구조의 구성요소들이다. 상기 구성요소들은 일반적으로 디바이스(400)의 사용자 인터페이스 양상들을 지칭한다. 일 실시예에서, 트리그들(430)은 TrigML® 코드 및 디바이스(400)에서 사용자 인터페이스를 렌더링하기 위해 애 플리케이션에 의해 사용되는 다른 자원들(메타 데이터, 텍스트 파일들 및 이미지들을 포함할 수 있는)로 번역된다. 다수의 트리그들(430) 및 트리그들로의 업데이트들은 트리그렛들(Triglets;비도시)로 지칭되며 사용자 인터페이스를 위해 사용될 수 있다.
QUALCOMM사에 의해 소유되는 TrigML 코드는 XML에 기초하는 데이터 언어이며, 트리그들(430)을 허가하기 위한 사용자 인터페이스 표시 언어를 위해 사용될 수 있고, 다른 장점들 사이에서 이동을 목표로 하는 기능, 대화형 사용자 인터페이스 이벤트 모델 및 픽셀 위치 측정의 장점들을 포함한다.
액터들(425)은 트리그들을 기본적인 디바이스 APIs(405) 및/또는 BREW APIs(410)에 접속하기 위해 기본적인 C 코드를 포함한다. 액터들(425)은 입력/출력을 위해 실행가능한 것으로 서비스된다. 그리고, 액터들이 기본적인 디바이스 및 BREW APIs에 접속하기 때문에 컴퓨터 플랫폼 기능들에 접속한다.
트리그 플레이어(420)는 도 4에서는 구분되지만 BREW 확장(415)으로 구현될 수 있다. 트리그 플레이어는 트리그들 및 액터들을 사용하는 사용자 인터페이스를 렌더링하는데 사용된다.
도 4의 논의가 QUALCOMM사의 uiOne 구조(번역된 TrigML, 트리그 플레이어, BREW APIs 등등을 포함하는)와 관련되지만, 이는 설명을 위한 것이며 본 발명은 다른 데이터 언어들, 컴퓨터 및 소프트웨어 플랫폼들 및 디바이스 구조들을 포함하는 것이 인식될 것이다.
도 5는 본 발명의 일 실시예에서 트리그 플레이어(420), 액터들(425) 및 트 리그들(430)을 도시하는 구조 및 사용자 인터페이스 구성요소들을 업데이트하는 시스템을 설명하는 블럭 다이어그램이다. 디바이스(500)는 트리그 플레이어(420), 액터들(425) 및 트리그들(430)을 포함한다. 트리그들은 TrigML 코드(505), 텍스트 스트링들(510), 이미지(515) 및 업데이트 채널들(520; 업데이트 채널들은 트리그렛들(530)을 페치하기 위한 시간 방식들 및 URL들을 정의할 수 있다)를 포함할 수 있다. 트리그들은 무선으로 업데이트되어 사용자 인터페이스가 디바이스들이 이미 제작자에 의해 위탁된 이후에 업데이트되도록 한다. 서버(525)는 새로운 트리그들 및 트리그들의 업데이트된 구성요소들(예를 들면, 트리그렛들(530))을 다운로드하여 디바이스를 위한 사용자 인터페이스가 제작되도록 하는데 사용될 수 있다.
도 6은 본 발명의 일 실시예에서 관련 TrigML 코드, 오브젝트들 및 액터들을 도시하는 블럭 다이어그램이다. TrigML 코드는 태그들의 시리즈(605-625)를 사용하여 기록될 수 있다. 상기 태그들은 프로그램 코드의 목적과 연관된 특정 파라미터들을 수행하고 정의하기 위한 동작들을 정의할 수 있다. 일 실시예에서, 상기 TrigML 코드는 무선 디바이스에서 분석하고 실행하기 전에 해석된다.
본 발명의 일 실시예에서, TrigML 프로그램 코드가 실행을 위해 분석될 때, 오브젝트들은 TrigML 코드 내의 엘리먼트들(605-625)과 연관된다(630-650). 상기 오브젝트들은 엘리먼트들의 대표들을 포함할 수 있다. 예를 들면, 엘리먼트(620)j는 길이 3을 가지는 박스를 표시한다. 상기 엘리먼트가 계산될 때, 박스 길이 = 3의 값을 가지는 오브젝트(645)가 생성된다.
프로그램 코드 내의 표현식에서 동적 변수를 포함하는 것이 바람직할 수 있 다. 예를 들어, 만약 무선 디바이스의 배터리 레벨을 표시하는 아이콘이 요구되면, 배터리 레벨이 변화함에 따라 박스 폭이 변화한다고 가정할 때, 배터리가 충전되고 소비됨에 따라 변화할 수 있는 현재 배터리 레벨을 표시하기 위해 상기 박스 폭을 업데이트하는 것이 바람직할 수 있다.
상기 경우에, 엘리먼트 "박스폭 = "배터리수명/10">"(645)은 배터리 내에 남아있는 충전량에 따라 변화할 수 있는 동적으로 변화하는 "배터리 수명"을 가지는 표현식("배터리수명/10")을 포함한다. 이는 또한 배터리 수명 값을 10으로 나눔으로써 오브젝트에 의해 조종될 수 있다. 상기 표현식이 숫자들, 스트링들, 연산자들과 함께 동적 변수들을 사용하는 것을 포함하는 간단하거나 복잡한 연산을 포함할 수 있음에 유의하자.
일 실시예에서, 오브젝트(640)는 동적 변수를 포함하는 엘리먼트의 표현의 값을 결정하기 위해 생성된다. 또한, 액터(655)는 배터리수명 값을 수신하기 위해 생성되어 사용된다. 오브젝트(640)는 상기 표현식을 계산할 때 동적 변수를 위한 액터에서 표시되는 값을 사용할 것이다.
디바이스 내에서 API와 같은 함수는 현재 배터리 수명(660)을 모니터하여 결정한다. 상기 함수는 컴퓨터 또는 플랫폼에서 컴퓨텅 디바이스(예를 들면, 디바이스 및/또는 BREW APIs)에 대한 레벨이거나 로컬로 또는 원격으로 실행되는 다른 API들, 함수들 또는 작업들의 다른 함수들이 될 수 있고, 로컬 컴퓨터 또는 원격 컴퓨터와 관련될 수 있다. "배터리 수명" 함수는 설명의 목적으로 사용되고, 임의의 함수/API가 사용될 수 있음이 당업자에 의해 인식될 것이다.
다수의 보기들은 배터리수명 함수(660)의 액터(655)에 대한 값의 변경을 표시하도록 사용될 수 있다. 예를 들면, 배터리 수명 함수(660)가 논의되는 관찰/통지 패턴은 액터(655)에 통지하기 위해 값의 변화가 발생하는 시점과 액터(655)가 존재하는 것으로 구현될 수 있다. 상기 보기를 사용하여, 액터(655)는 변화가 발생하는 배터리 수명 함수(660)로부터의 표시를 위해 대기한다. 액터(655)가 변화의 표시를 수신하면, 오브젝트(640)에 이를 통지하며, 따라서 오브젝트(640)는 배터리 수명 함수(660)로부터 값을 페치할 수 있다. 오브젝트는 새로운 함수 값을 사용하여 동적 변수를 포함하는 표현을 계산할 수 있다.
또다른 보기는 액터(655)가 변화가 발생했다는 표시를 위해 배터리 수명 함수(660)를 주기적으로 폴링하는 폴링을 포함한다. 처리는 전술된 것과 같이 진행하여 오브젝트는 함수의 값을 페치하고 표현식을 계산한다. 다른 보기들이 존재하고 당업자에게 공지되며 본 발명의 사상 내에 포함된다.
표현식을 표시하는 오브젝트가 재계산되면, 새로운 값은 TrigML 코드가 기속되기 위한 목적으로 사용될 수 있다. 동적 변수는 종종 변화할 수 있고, 각각의 변경에서 표현식과 연관된 오브젝트만이 새로운 값을 결정하기 위해 재계산되어야 한다. TrigML 코드는 재해석될 필요는 없다.
도 7은 본 발명의 일 실시예에서 동적 표현식을 계산하는 프로세스를 도시하는 흐름도이다. 먼저, 방법은 동적 변수를 가지는 표현식을 수신함으로써 시작한다(단계 705). 상기 표현식은 일반적으로 XML에 기초하는 것과 같은 데이터 언어 포맷임에 유의하자. 그러나 다른 데이터 언어 포맷들이 사용될 수 있다.
또한 동적 변수는 변화할 수 있는 변수이며, 이에 대한 변경은 데이터 언어 프로그램 코드의 초기 번역 이후에 요구될 수 있다. 상기 변수는 또한 컴퓨터 플랫폼과 연관된 함수와 관련될 수 있다.
다음에, 오브젝트는 표현식을 계산하기 위해 형성된다(단계 710). 오브젝트의 사용은 불필요하고, 몇몇 엘리먼트들을 위해서만 필요할 수 있다. 오브젝트는 값을 포함하지만, 상기 값은 반드시 숫자 또는 스칼라 값이 아니라 엘리먼트의 용도의 표시이다.
동적 변수의 값을 제공하는 것을 지원하는 액터가 생성된다(단계 715). 선택적으로, 액터는 이미 존재할 수 있고, 존재하는 액터는 함수값이 변화하였음을 오브젝트에 통지하기 위해 사용된다. 액터는 동적 변수와 연관된 함수와 결합된다. 액터는 2개의 기능들을 제공할 수 있다(상기 기능들은 액터에 할당될 필요는 없고, 추가 기능들을 수행할 수 있다.) 먼저, 제 1 기능은 값이 질의되고, 페치되고, 판독되도록 하는 것이고, 제 2 기능은 오브젝트에 대한 기능의 변경을 표시하는 메카니즘으로서 서비스할 수 있는 것이다(본 명세서에서 논의되는 보기들 중 하나를 사용하여().
오브젝트는 함수로부터 함수값을 페치한다(단계 720). 오브젝트는 표현식을 계산하도록 진행한다(단계 725). 다음에, 함수 값에 변경이 존재하는지 결정된다(단계 730). 이는 본 명세서에서 논의되는 것과 같이 액터에 변경이 발생되었음을 표시하는 함수 및 변경이 오브젝트에 발생하였음을 표시하는 액터를 통해 수행할 수 있다.
만약 함수 값이 단계 730에서 변경되면, "예" 경로로 진행하고, 오브젝트는 함수로부터 함수 값을 다시 페치하며(단계 735) 새로운 함수값(동적 변수와 연관됨)을 사용하여 표현식을 계산한다(단계 745).
만약 함수 값이 단계(730)에서 변화하지 않으면, "아니오" 경로로 진행하며, 함수는 본 명세서에 개시되거나 당업자에게 공지된 보기들 주 하나를 사용하여 변화를 위해 모니터된다.
또다른 실시예는 하기와 같은 부울(Boolean) 표현식들에 의존하는 "액션" 태그를 업데이트를 포함한다.
<animate while="valueof/res/width)>120" .../>
여기에서, "animate" 애니메이션 태그는 주어진 부울 표현식이 사실인 경우에 동작된다. 만약 향후 임의의 시점에서 표현식이 '거짓'으로 분석되면, 애니메이션은 동작되지 않는다.
부울 표현식은 표현식이 사실일 때마다, 즉 표현식의 임의의 서브-엘리먼트가 변경되고, 전체 표현식이 다음과 같이 참으로 분석될 때 태그가 (순간적으로) 동작되는 것을 강조함으로써 원-오프 '액션' 태그를 위해 사용될 수 있다.
<doload when="valueof/res/errormsg)='Downloaded'".../>
여기에서 'doload' 액션은 VFS node/res/errormsg가 업데이트되고 표현식이 사실로 계산될 때마다 수행된다.
표현식은 하기와 같은 자원 경로 엘리먼트들로서 입력될 수 있다.
<image res="res/{valueof/var/restype)}/valueof/var/num)*10}".../>
상기 실시예에서 3개 엘리먼트들의 자원 경로는 제 1 엘리먼트를 위한 문자 상수 및 최종 엘리먼트들을 위한 2개의 표현식들을 사용하여 구성된다. 자원 경로는 이미지의 위치가 렌더링되는 것을 표시한다. 임의의 세부 표현식들이 변화하는 경우에, 자원 경로는 자동으로 재계산되고, 서로 다른 이미지가 디스플레이되게 한다.
XML 특성들에 임의의 복소 표현들을 직접 입력함으로써, 이벤트들 또는 입력된 스크립트 언어들의 필요 없이 간결하고 세련된 마크업을 사용하여 동적으로 업데이트할 수 있는 UI들을 생성할 수 있다.
전술된 방법 및 소프트웨어 설계 설명은 장치 내에 구현되며 RAM 또는 다른 메모리 저장 디바이스들 내에 명령들로 저장된다. 본 문서에서 제공된 프로세스들은 특정 순서로 도시되고 설명되지만, 다른 실시예들에서, 상기 프로세스들의 단계들은 서로 다른 순서들로 다수 회로 및/또는 동시에 수행될 수 있다. 또한, 몇몇 실시예들에서, 몇몇 프로세스들에서 설명된 하나 또는 그 이상의 단계들은 개별 단계들로, 몇몇 단계들이 조합되어, 또는 가능하면 전체적으로 생략되어 수행될 수 있다.
개시된 실시예의 전술된 설명은 당업자가 본 발명을 구현하고 이용하기에 용이하도록 하기 위하여 제공되었다. 이들 실시예에 대한 여러 가지 변형은 당업자에게 자명하며, 여기서 한정된 포괄적인 원리는 본 발명의 사용 없이도 다른 실시예에 적용될 수 있다. 따라서, 본 발명은 설명된 실시예에 한정되는 것이 아니며, 여기에 개시된 원리 및 신규한 특징에 나타낸 가장 넓은 범위에 따른다.

Claims (16)

  1. 데이터 언어로 기록된 프로그램 코드 내의 동적 변수를 가지는 표현식을 계산하기 위한 방법으로서,
    상기 동적 변수를 수신하는 단계;
    상기 동적 변수의 제 1 값을 결정하는 단계;
    상기 제 1 값을 사용하여 상기 표현식을 계산하는 단계;
    상기 동적 변수와 연관된 변경을 검출하는 단계;
    상기 동적 변수와 연관된 제 2 값을 수신하는 단계; 및
    상기 동적 변수와 연관된 상기 제 2 값을 사용하여 상기 표현식을 계산하는 단계를 포함하며,
    상기 표현식은 상기 표현식을 포함하는 다른 프로그램 코드를 재해석하지 않고 상기 제 2 값을 사용하여 계산되는 방법.
  2. 데이터 언어 내의 동적 변수를 업데이트하는 방법으로서,
    상기 동적 변수를 포함하는 상기 데이터 언어로 기록된 명령을 해석하는 단계;
    메모리 내에 상기 동적 변수를 생성하는 단계;
    상기 동적 변수에 대한 값을 할당하는 단계; 및
    상기 동적 변수를 포함하는 상기 데이터 언어로 기록된 상기 명령을 해석하 지 않고 상기 동적 변수 값을 업데이트하는 단계를 포함하는 방법.
  3. 제 2항에 있어서,
    상기 동적 변수 값과 연관된 오브젝트를 생성하는 단계를 더 포함하며, 상기 오브젝트는 상기 동적 변수 값을 결정하는 것을 특징으로 하는 방법.
  4. 제 2항에 있어서,
    상기 동적 변수와 연관된 함수 값을 관찰하는 단계; 및
    상기 함수 값이 변화될 때 상기 오브젝트에 통지하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제 2항에 있어서,
    상기 동적 변수에 대한 값을 할당하는 단계는 소프트웨어 플랫폼과 연관된 함수를 계산하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제 2항에 있어서,
    상기 동적 변수는 복소식에 포함되며, 상기 업데이트된 동적 변수 값으로 상기 복소식을 계산하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 데이터 언어 내의 동적 변수를 업데이트하기 위한 장치로서,
    동적 변수에 할당된 메모리 위치; 및
    상기 동적 변수에 대한 업데이트들을 계산하기 위한 프로세서를 포함하며,
    상기 동적 변수는 상기 데이터 언어 내의 명령을 해석하는데 응답하여 상기 메모리 위치에 할당되는 장치.
  8. 제 7항에 있어서,
    상기 메모리는 상기 동적 변수와 연관된 오브젝트를 더 포함하며, 상기 오브젝트는 상기 동적 변수를 대표하는 값을 수신하는 것을 특징으로 하는 장치.
  9. 제 8항에 있어서,
    상기 함수 값은 소프트웨어 플랫폼 함수로부터 기초하는 것을 특징으로 하는 장치.
  10. 데이터 언어로 기록된 동적 변수를 업데이트하기 위한 컴퓨터로 실행가능한 명령들을 포함하는 컴퓨터로 판독가능한 매체로서, 상기 명령들은 실행될 때,
    상기 동적 변수를 포함하는 상기 데이터 언어로 기록된 명령을 해석하는 단계;
    메모리 내에 상기 동적 변수를 생성하는 단계;
    상기 동적 변수에 대한 값을 할당하는 단계; 및
    상기 동적 변수를 포함하는 상기 데이터 언어로 기록된 상기 명령을 해석하 지 않고 상기 동적 변수 값을 업데이트하는 단계를 수행하는 컴퓨터 판독가능 매체.
  11. 제 10항에 있어서, 상기 데이터 언어로 기록된 동적 변수를 업데이트하기 위한 컴퓨터로 실행가능한 명령들은 실행될 때,
    상기 동적 변수 값과 연관된 오브젝트를 생성하는 단계를 더 수행하며, 상기 오브젝트는 상기 동적 변수 값을 결정하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  12. 제 10항에 있어서, 상기 데이터 언어로 기록된 동적 변수를 업데이트하기 위한 컴퓨터로 실행가능한 명령들은 실행될 때,
    상기 동적 변수와 연관된 함수 값을 관찰하는 단계; 및
    상기 함수 값이 변화될 때 상기 오브젝트에 통지하는 단계를 더 수행하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  13. 제 10항에 있어서,
    상기 동적 변수에 대한 값을 할당하는 단계는 소프트웨어 플랫폼과 연관된 함수를 계산하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
  14. 데이터 언어 내의 동적 변수를 업데이트하기 위한 장치로서,
    상기 동적 변수를 포함하는 상기 데이터 언어로 기록된 명령을 해석하는 수단;
    메모리 내에 상기 동적 변수를 생성하는 수단;
    상기 동적 변수에 대한 값을 할당하는 수단; 및
    상기 동적 변수를 포함하는 상기 데이터 언어로 기록된 상기 명령을 해석하지 않고 상기 동적 변수 값을 업데이트하는 수단을 포함하는 장치.
  15. 제 14항에 있어서,
    상기 동적 변수 값과 연관된 오브젝트를 생성하는 수단을 더 포함하며, 상기 오브젝트는 상기 동적 변수 값을 결정하는 것을 특징으로 하는 장치.
  16. 제 14항에 있어서,
    상기 동적 변수와 연관된 함수 값을 관찰하는 수단; 및
    상기 함수 값이 변화될 때 상기 오브젝트에 통지하는 수단을 더 포함하는 것을 특징으로 하는 장치.
KR1020077031012A 2005-05-31 2006-05-31 데이터 언어에서 변수들의 자동 업데이팅 KR100948472B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US68627105P 2005-05-31 2005-05-31
US60/686,271 2005-05-31

Publications (2)

Publication Number Publication Date
KR20080017420A true KR20080017420A (ko) 2008-02-26
KR100948472B1 KR100948472B1 (ko) 2010-03-17

Family

ID=36821523

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077031012A KR100948472B1 (ko) 2005-05-31 2006-05-31 데이터 언어에서 변수들의 자동 업데이팅

Country Status (7)

Country Link
US (1) US7908595B2 (ko)
EP (1) EP1889157A1 (ko)
JP (1) JP4927830B2 (ko)
KR (1) KR100948472B1 (ko)
CN (1) CN101185062B (ko)
BR (1) BRPI0611320A2 (ko)
WO (1) WO2006130537A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9313245B2 (en) * 2007-12-24 2016-04-12 Qualcomm Incorporated Adaptive streaming for on demand wireless services
US20130290851A1 (en) * 2012-04-30 2013-10-31 Microsoft Corporation User interface web services
CN105159679A (zh) * 2015-09-15 2015-12-16 北京国科世纪激光技术有限公司 视窗类软件的消息响应和处理方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917730A (en) * 1995-08-17 1999-06-29 Gse Process Solutions, Inc. Computer implemented object oriented visualization system and method
US6961929B1 (en) * 1999-06-25 2005-11-01 Sun Microsystems, Inc. Mechanism for automatic synchronization of scripting variables
US7165243B1 (en) 1999-06-25 2007-01-16 Sun Microsystems, Inc. Multi-lingual tag extension mechanism
JP2002108600A (ja) * 2000-10-02 2002-04-12 Digital Electronics Corp 制御システムの端末装置、記録媒体、および、制御システム
US20030189593A1 (en) * 2001-01-05 2003-10-09 Yarvin Curtis G. Method and apparatus for dynamically updating a markup language based user interface
JP2003150440A (ja) * 2001-11-13 2003-05-23 Matsushita Electric Ind Co Ltd 複数ユーザインタフェースの同期方法とそのシステム及びプログラム
US7096456B2 (en) * 2001-11-30 2006-08-22 Microsoft Corporation Method and apparatus for providing dynamically scoped variables within a statically scoped computer programming language
JP2004178303A (ja) * 2002-11-27 2004-06-24 Digital Electronics Corp 表示装置、画面データ生成装置、および、そのプログラム

Also Published As

Publication number Publication date
CN101185062A (zh) 2008-05-21
US20060271845A1 (en) 2006-11-30
WO2006130537A1 (en) 2006-12-07
EP1889157A1 (en) 2008-02-20
WO2006130537B1 (en) 2007-02-01
KR100948472B1 (ko) 2010-03-17
JP4927830B2 (ja) 2012-05-09
US7908595B2 (en) 2011-03-15
CN101185062B (zh) 2012-10-03
BRPI0611320A2 (pt) 2010-08-31
JP2008546095A (ja) 2008-12-18

Similar Documents

Publication Publication Date Title
US8407584B1 (en) Stable and secure use of content scripts in browser extensions
US8627204B2 (en) Custom optimization of web pages
CN110489101B (zh) 接口模拟方法、系统、介质和电子设备
US9703761B2 (en) Delayed code parsing for reduced startup latency
US20140236756A1 (en) Systems and methods for integrated recommendations
US20120096429A1 (en) Wiring web widgets of a web mashup
US9286142B2 (en) Methods and systems for supporting a rendering API using a runtime environment
EP3416054B1 (en) Method and device for page display, and storage medium
US20130091418A1 (en) Cross-browser toolbar and method thereof
JP2016521879A (ja) ウェブページからのアプリケーションの呼び出しまたは他のアプリケーションの呼び出し
JP2011248918A (ja) 条件付きui制御及び画面ナビゲーションを有する対話型無線アプリケーションのためのシステム及び方法
CN108319474B (zh) 一种页面信息生成方法、装置和设备
US11210449B2 (en) Page display method and device and storage medium
CN110069725A (zh) 可视化内嵌浏览器方法和装置
KR100948472B1 (ko) 데이터 언어에서 변수들의 자동 업데이팅
US20050197157A1 (en) System enabling easy application development on mobile devices
US8719704B2 (en) Seamless integration of additional functionality into enterprise software without customization or apparent alteration of same
CN108268298B (zh) 桌面图标的生成方法、装置、存储介质及电子设备
US7797308B2 (en) Managing multiple languages in a data language
CN114020309B (zh) 通过webpack构建多页面应用的方法、装置及存储介质
TW201215115A (en) Method and arrangement in an IPTV terminal
JP2012032938A (ja) ユーザ端末がスクリプトプログラムを解釈実行する方法、スクリプトプログラム及びユーザ端末
CN115495178A (zh) 基于微前端框架的屏幕展示方法和相关设备
CN116089696A (zh) 个性化推荐方法、装置、设备和存储介质
JP2010072852A (ja) 構造分析装置、構造分析方法、及び構造分析プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee