KR20140078760A - 감지 데이터 처리 방법 및 컴퓨팅 노드 - Google Patents

감지 데이터 처리 방법 및 컴퓨팅 노드 Download PDF

Info

Publication number
KR20140078760A
KR20140078760A KR1020147013274A KR20147013274A KR20140078760A KR 20140078760 A KR20140078760 A KR 20140078760A KR 1020147013274 A KR1020147013274 A KR 1020147013274A KR 20147013274 A KR20147013274 A KR 20147013274A KR 20140078760 A KR20140078760 A KR 20140078760A
Authority
KR
South Korea
Prior art keywords
event
web page
engine
node
sensor data
Prior art date
Application number
KR1020147013274A
Other languages
English (en)
Other versions
KR101617314B1 (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 KR20140078760A publication Critical patent/KR20140078760A/ko
Application granted granted Critical
Publication of KR101617314B1 publication Critical patent/KR101617314B1/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/44Arrangements for executing specific 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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 센서 데이터를 처리하는 방법 및 컴퓨팅 노드를 제공한다. 상기 방법은 컴퓨팅 노드에 적용되며, 상기 컴퓨팅 노드는 하드웨어 계층, 상기 하드웨어 계층에서 운용되고 있는 운용체제(OS), 및 상기 OS 상에서 운용되고 있는 브라우저 엔진을 포함하고, 상기 하드웨어 계층은 제1 센서 장치를 포함한다.
상기 방법은, 상기 제1 센서 장치가, 상태 변화를 감지하고, 센서 데이터를 생성하며, 상기 센서 데이터를 이벤트의 형태로 상기 OS에 전송하는 단계; 상기 OS가, 상기 센서 데이터에 따라 상기 이벤트의 이벤트 유형을 결정하고, 상기 센서 데이터 및 상기 이벤트 유형을 상기 브라우저 엔진에 전송하는 단계 - 상기 센서 데이터는 이벤트의 형태로 브라우저 엔진에도 전송되며 - ; 및 상기 브라우저 엔진이, 상기 이벤트 유형에 따라, 상기 이벤트가 등록되어 있는 것으로 결정하고, 상기 이벤트의 프로세싱 로직(processing logic)을 실행하는 단계를 포함하며; 코드가 한 번만 기록되므로, 기록된 애플리케이션은 상이한 OS상에서 운용될 수 있으며, 이에 따라 애플리케이션이 플랫폼상에서 운용되게 할 수 있다.

Description

감지 데이터 처리 방법 및 컴퓨팅 노드{SENSING DATA PROCESSING METHOD AND COMPUTING NODE}
본 발명의 실시예는 센서 애플리케이션 기술에 관한 것이며, 특히 센서 데이터를 처리하는 방법 및 컴퓨팅 노드에 관한 것이다.
센서 장치는 단말에 폭넓게 적용된다. 여기서 단말은 이동전화, 전자책, 태블릿 컴퓨터, 전자앨범 등과 같은 단말에 대한 일반적인 용어이다. 센서 장치의 폭넓은 사용으로 더 다양한 기능으로 사용자 경험이 향상된다.
도 1은 종래기술의 센서 장치의 상호작용 모델에 대한 개략도이다. 도 1에 도시된 바와 같이, 네이티브 애플리케이션(native application)은 액세스를 위한 웹페이지를 사용함이 없이 센서 장치와 직접 상호작용한다. 현재의 거의 모든 단말의 운영체제(OS)는 이러한 상호작용 모드를 적용한다. 이하는 상호작용 모델이다:
101. 센서 장치는 사용자 응답 또는 외부 환경 변환에 응답하고 센서 데이터를 OS에 전송한다.
102. OS는 센서 데이터를 처리하고 처리된 센서 데이터를 프레임워크 계층에 전송한다.
103. 프레임워크 데이터는 네이티브 애플리케이션이 데이터를 수신할 준비가 된 상태에 있는지를 판단하고, 준비가 된 상태이면, 센서 이벤트를 네이티브 애플리케이션에 전송한다. 프레임워크 계층은 OS의 다른 실행에 따라 부가되거나 삭제될 수 있다.
104. 네이티브 애플리케이션은 센서 이벤트에 응답하고 센서 장치를 동작시키는 응답 이벤트를 생성한다.
105. 응답 이벤트는 센서 장치까지 다운스트림으로 전송된다.
106. 센서는 응답한다.
전술한 솔루션에서, 다른 OS는 인터페이스를 호출하는 다른 시스템을 제공하고 다른 프로그래밍 언어를 사용한다. 예를 들어, 안드로이드 플랫폼에서는 Java 및 C++이 사용되고 있으나, 애플사의 iOS 플랫폼에서는 Object-C가 사용되고 있다. 결론적으로, 동일한 애플리케이션이 상이한 OS 플랫폼상에서 동시에 운용되어야 하는 경우, 상이한 노드가 요구하고 개별적으로 컴파일링되어야 하는데, 이는 개발비 및 유지관리비를 증가시킨다.
본 발명의 실시예는 종래기술에서 네이티브 애플리케이션과 센서 장치 간의 직접 상호작용으로 인해 애플리케이션이 플랫폼에서 운용될 수 없는 문제를 어느 정도 해결할 수 있도록, 센서 데이터를 처리하는 방법 및 컴퓨팅 노드를 제공한다.
한 관점에서, 본 발명의 실시예는 컴퓨팅 노드에 적용되는, 센서 데이터를 처리하는 방법을 제공하며, 상기 컴퓨팅 노드는 하드웨어 계층, 상기 하드웨어 계층에서 운용되고 있는 운용체제(OS), 및 상기 OS 상에서 운용되고 있는 브라우저 엔진을 포함하고, 상기 하드웨어 계층은 제1 센서 장치를 포함한다. 상기 방법은,
상기 제1 센서 장치가, 상태 변화를 감지하고, 센서 데이터를 생성하며, 상기 센서 데이터를 이벤트의 형태로 상기 OS에 전송하는 단계;
상기 OS가, 상기 센서 데이터에 따라 상기 이벤트의 이벤트 유형을 결정하고, 상기 센서 데이터 및 상기 이벤트 유형을 상기 브라우저 엔진에 전송하는 단계 - 상기 센서 데이터는 이벤트의 형태로 브라우저 엔진에도 전송되며 - ; 및
상기 브라우저 엔진이, 상기 이벤트 유형에 따라, 상기 이벤트가 등록되어 있는 것으로 결정하고, 상기 이벤트의 프로세싱 로직(processing logic)을 실행하는 단계
를 포함한다.
다른 관점에서, 본 발명의 실시예는 컴퓨팅 노드를 제공하며, 상기 컴퓨팅 노드는 하드웨어 계층, 상기 하드웨어 계층에서 운용되고 있는 운용체제(OS), 및 상기 OS 상에서 운용되고 있는 브라우저 엔진을 포함하며,
상기 하드웨어 계층은 제1 센서 장치를 포함하며,
상기 제1 센서 장치는 상태 변화를 감지하고, 센서 데이터를 생성하며, 상기 센서 데이터를 이벤트의 형태로 상기 OS에 전송하도록 구성되어 있으며;
상기 OS는 상기 센서 데이터에 따라 상기 이벤트의 이벤트 유형을 결정하고, 상기 센서 데이터 및 상기 이벤트 유형을 상기 브라우저 엔진에 전송하도록 구성되어 있으며, 상기 센서 데이터는 이벤트의 형태로 브라우저 엔진에도 전송되며; 그리고
상기 브라우저 엔진은 상기 이벤트 유형에 따라, 상기 이벤트가 등록되어 있는 것으로 결정하고, 상기 이벤트의 프로세싱 로직을 실행하도록 구성되어 있다.
전술한 기술적 솔루션의 적어도 하나의 기술적 솔루션은 다음과 같은 장점 또는 이로운 효과를 가진다:
본 발명의 실시예는 이러한 기술을 채용한다: 센서 장치는 상태 변화를 감지하고, 센서 데이터를 생성하며, 그 센서 데이터를 이벤트의 형태로 OS에 전송하며; OS는 이벤트의 이벤트 유형을 결정하고, 센서 데이터 및 이벤트 유형을 브라우저 엔진에 전송하며; 이벤트 유형에 따라, 브라우저 엔진은 이벤트가 등록되어 있는 것으로 결정하고, 이벤트의 프로세싱 로직을 실행한다. 이 방법에서, 브라우저 엔진은 상이한 OS 간의 차이를 숨기고, 종래기술에서 네이티브 애플리케이션과 센서 장치 간의 직접 상호작용으로 인해 애플리케이션이 플랫폼에서 운용될 수 없는 문제를 어느 정도 해결하며; 코드가 한 번만 기록되므로, 기록된 애플리케이션은 상이한 OS상에서 운용될 수 있으며, 이에 의해 애플리케이션이 플랫폼상에서 운용되게 할 수 있다.
본 발명의 실시예 또는 종래기술의 기술적 솔루션을 더 명확하게 설명하기 위해, 이하에서는 실시예 또는 종래기술을 설명하는 데 필요한 첨부된 도면에 대해 간략하게 설명한다. 당연히, 이하의 실시예의 첨부된 도면은 본 발명의 일부의 실시예에 지나지 않으며, 당업자라면 창조적 노력 없이 첨부된 도면으로부터 다른 도면을 도출해낼 수 있을 것이다.
도 1은 종래기술에서의 센서 장치의 상호작용 모델에 대한 개략도이다.
도 2는 본 발명에 따른 상호작용 모델에 대한 개략도이다.
도 3은 도 2에 도시된 상호작용 모델에 기초한 애플리케이션에 대한 개략적인 흐름도이다.
도 4는 본 발명의 실시예에 따라 센서 데이터를 처리하는 방법에 대한 개략적인 흐름도이다.
도 5는 웹페이지의 DOM 트리에 대한 개략적인 구조도이다.
도 6은 본 발명의 실시예에 따라 브라우저 엔진에 웹페이지를 로딩하는 개략적인 시그널링 도해도이다.
도 7은 애플리케이션 시나리오에서 본 발명의 실시예에 대한 개략적인 시그널링 도해도이다.
도 8은 다른 애플리케이션 시나리오에서 본 발명의 실시예에 대한 개략적인 시그널링 도해도이다.
도 9는 본 발명의 실시예에 따른 컴퓨팅 노드(900)에 대한 개략적인 구조도이다.
본 발명의 실시예의 목적, 기술적 솔루션, 및 이점을 더 잘 이해할 수 있도록 하기 위해, 이하에서는 본 발명의 실시예의 첨부된 도면을 참조하여 본 발명의 실시예에 따른 기술적 솔루션에 대해 명확하고 완전하게 설명한다. 당연히, 이하의 상세한 설명에서의 실시예는 본 발명의 모든 실시예가 아닌 일부에 지나지 않는다. 당업자가 창조적 노력 없이 본 발명의 실시예에 기초하여 획득하는 모든 다른 실시예는 본 발명의 보호 범위 내에 있게 된다.
도 2는 본 발명에 따른 상호작용 모델에 대한 개략도이다. 도 2에 도시된 바와 같이, 상호작용 모델은 이하의 단계를 포함한다:
201. 센서 장치는 사용자 응답 또는 외부 환경 변화에 응답하고, 센서 데이터를 이벤트의 형태로 OS에 전송한다.
202. OS는 센서 데이터에 대한 포맷 변환을 수행하고, 센서 데이터를 사전처리하며, 사전처리된 데이터를 프레임워크 계층에 전송한다.
203. 프레임워크 계층은 브라우저/위젯이 데이터를 수신할 준비가 된 상태에 있는지를 검사하고, 브라우저/위젯이 데이터를 수신할 준비가 된 상태에 있으면, 브라우저/위젯에 센서 데이터를 전송한다. 구체적으로, 데이터를 수신할 준비가 된 상태는 브라우저/위젯 내의 브라우저 엔진이 활성화되어 있는지에 따라 결정될 수 있다.
프레임워크 계층은 OS의 실행 상태에 따라 부가되거나 삭제될 수 있다. 브라우저 엔진은 OS상에서 운용되고 있는 미들웨어를 운용하는 웹 애플리케이션이다.
204. 브라우저/위젯 내의 브라우저 엔진은 웹페이지 내의 문서 대상 모델(Document Object Model: DOM으로 약칭) 노드가 대응하는 이벤트 리스닝 코드(event listening code)를 가지는지를 판단하고, 가지고 있으면, 그 대응하는 웹페이지에 센서 데이터를 전송한다.
205. 웹페이지 상의 이벤트 처리 모듈이 촉발된다. 이벤트 리스닝 코드가 센서 장치의 호출을 포함하면, 센서 모듈이 호출되고, 응답 이벤트가 생성된다.
206. 응답 이벤트는 센서 장치에 다운스트림으로 전송된다.
207. 센서 장치는 응답한다.
도 3은 도 2에 도시된 상호작용 모델에 기초한 애플리케이션에 대한 개략적인 흐름도이다. 도 3에 도시된 바와 같이, 애플리케이션 프로세스는 구체적으로 이하의 단계를 포함한다:
301. 공인된 개발자는 웹페이지용 이벤트 리스닝 코드를 부가한다.
여기서 이벤트 리스닝 코드는 이벤트 프로세싱 로직이라고도 할 수 있다.
302. 브라우저 엔진이 웹페이지와 함께 로딩된다.
303. 브라우전 엔진은 웹페이지를 분석하고 이벤트 리스닝 맵핑 테이블을 작성한다.
이벤트 리스닝 맵핑 테이블은 이벤트와 이벤트의 프로세싱 로직 간의 맵핑 관계를 포함한다.
304. 단말 사용자는 센서 장치를 촉발한다.
305. 센서 장치는 센서 데이터를 이벤트의 형태로 OS에 전송한다.
306. OS는 이벤트를 브라우저 엔진에 전송한다.
307. 브라우저 엔진은 이벤트가 등록되어 있는지를 검출한다.
308. 이벤트가 등록되어 있으면, 브라우저 엔진은 이벤트 리스닝 맵핑 테이블에 따라 이벤트의 프로세싱 로직을 호출한다.
3091. 프로세싱 로직이 웹페이지의 스크립트 콘텐츠의 수정을 포함하면, 웹페이지는 다시 작성된다.
예를 들어, 웹페이지의 프레젠테이션 성능을 강화하기 위해, 웹페이지 상에 패턴을 설계할 수 있으며, 패턴의 색은 현재의 온도를 나타낸다. 이에 대응해서, 온도 센서의 온도 변환 이벤트의 프로세싱 로직은 온도 파라미터에 따라 패턴의 색을 수정하는 코드를 포함한다. 이 방법에서, 온도 센서가 온도 변화를 감지하고 온도 파라미터를 보고한 후, 브라우저 엔진은 온도 변화 이벤트의 프로세싱 로직을 호출한다. 프로세싱 로직을 실행하는 중에, 브라우저 엔진은 웹페이지의 스크립트 콘텐츠 내의 패턴의 색 파라미터를 수정하고, 수정된 스크립트 콘텐츠에 따라 웹페이지를 다시 작성한다. 다시 작성된 웹페이지에서, 패턴의 색은 온도 센서가 감지한 온도 파라미터에 대응한다.
3092. 프로세싱 로직이 센서 장치의 호출을 포함하면, 센서 장치가 호출된다.
전술한 상호작용 모델에서 알 수 있는 바와 같이, 본 발명에서, 센서 장치와의 상호작용을 다루는 데에 웹 개발 언어가 사용될 수 있다. 웹 개발 언어는 브라우저 엔진 상에서 운용되며, 브라우저 엔진은 상이한 OS 간의 차이를 숨긴다. 그러므로 코드가 하나의 시도에서 컴파일링되고, 그 컴파일링된 애플리케이션은 상이한 OS 상에서 운용될 수 있으며, 이에 의해 애플리케이션은 플랫폼에서 운용될 수 있게 된다. 이외에, 시스템 이벤트를 생성하면, 센서 장치는 즉시 이벤트를 보고하고 이에 따라 사용자가 설정한 프로세싱 로직은 신속하게 이벤트에 응답할 수 있다. 예를 들어, 본 발명의 실시예는 도 4에 도시된 방법을 사용하여 실행될 수 있다.
도 4는 본 발명의 실시예에 따라 센서 데이터를 처리하는 방법에 대한 개략적인 흐름도이다. 이 방법은 휴대 전화 단말, 셋톱박스, 개인휴대단말(Personal Digital Assistant: PDA로 약칭) 등과 같은 컴퓨팅 노드에 적용되고; 컴퓨팅 노드는 하드웨어 계층, 상기 하드웨어 계층에서 운용되고 있는 운용체제(OS), 및 상기 OS 상에서 운용되고 있는 브라우저 엔진을 포함하고, 하드웨어 계층은 제1 센서 장치를 포함한다. 브라우저 엔진은 브라우저 또는 위젯에 포함될 수 있다. 도 4에 도시된 바와 같이, 방법은 이하의 단계를 포함한다:
401. 제1 센서 장치는 상태 변화를 감지하고, 센서 데이터를 생성하며, 센서 데이터를 이벤트의 형태로 상기 OS에 전송한다.
예를 들어, 제1 센서 장치는 가속도계, 방향 센서, 3-축 자이로, 광센서, 온도 센서, 터치 센서 등일 수 있다. 이에 대응해서, 제1 센서 장치가 감지하는 상태는 가속도, 방향, 움직임 추적, 자계, 근접, 광, 온도, 터치 플릭(touch flick) 등일 수 있다.
402. OS는 센서 데이터에 따라 이벤트의 이벤트 유형을 결정하고, 센서 데이터 및 이벤트 유형을 브라우저 엔진에 전송하며, 센서 데이터는 이벤트의 형태로 브라우저 엔진에도 전송된다.
일반적으로, 컴퓨팅 노드에 설치되고 있을 때, OS는 컴퓨팅 노드에 설치되어 있는 하드웨어를 자동으로 스캐닝하고 대응하는 드라이버를 판독하거나; 또는, 새로운 하드웨어를 컴퓨팅 노드에 설치하는 동안, OS는 또한 새로운 하드웨어를 자동으로 스캐닝하고 그 드라이버를 판독한다. 구체적으로, 본 실시예에서, OS는 제1 센서 장치에 대응하는 적어도 하나의 이벤트의 이벤트 유형을 획득하기 전에 제1 센서 장치의 드라이버를 판독한다. 402에서, 센서 데이터에 대응하는 이벤트의 이벤트 유형은 센서 데이터에 따라 결정된다.
예를 들어, 제1 센서 장치가 3-축 자이로이면, 이벤트는 방향 변화 이벤트, 가속도 변화 이벤트 등을 포함할 수 있고, 대응하는 이벤트 유형은 방향 변화 이벤트 유형, 가속도 변화 이벤트 유형, 자계 변화 이벤트 유형 등이다. 방향 변화를 감지하면, 401에서의 3-축 자이로는 방향 파라미터를 포함하는 센서 데이터를 생성하고, 센서 데이터에 포함되어 있는 방향 파라미터에 따라, 402에서의 OS는 이벤트가 방향 변화 이벤트이고 대응하는 이벤트 유형은 방향 변화 이벤트 유형인 것으로 결정한다.
403. 브라우저 엔진은 이벤트 유형에 따라, 이벤트가 등록되어 있는 것으로 결정하고, 이벤트의 프로세싱 로직을 실행한다.
구체적으로, 이벤트의 프로세싱 로직은 센서 장치의 상태 변화를 모니터링할 목적으로 사전에 웹페이지를 위한 공인된 개발자에 의해 부가되어 있다. 일반적으로, 웹페이지는 DOM 트리에 의해 형성된다. 웹페이지용 프로세싱 로직을 부가하는 것은 실제로 웹페이지의 DOM 트리에 노드용 이벤트 리스닝 코드를 부가하는 것이다. 도 5는 웹페이지의 DOM 트리에 대한 개략적인 구조도이다. 도 5에 도시된 바와 같이, 간단한 웹페이지가 4개의 노드로 형성되어 있는데, 즉 하이퍼텍스트 마크업 언어(HTML) 노드, 본체 노드, 캔버스 노드, 및 분할(div) 노드로 형성되어 있다. 예를 들어, 방향 센서의 프로세싱 로직은 캔버스 노드를 위해 부가되어야 하고, 그 프로세싱 로직은 방향 센서의 상태가 변하면 div 노드에서 현재의 방향을 디스플레이한다. 캔버스의 식별자(ID)가 canvas1이고, div 노드의 ID는 div1인 것으로 가정한다. 캔버스 노드를 위해 부가된 프로세싱 로직은 다음과 같다:
<script>
document.getElementById("canvas1").addEventListner("orientationchanged", function(event){
document.getElementById("div1").innerHTML="방향각 :"+event.value[0]+"<br/>"
+"수직 회전각:"+event.value[1]+"<br/>"
+"수평 회전각:"+event.value[2]+"<br/>";
})
</script>
여기서, "orientatinchanged"는 방향 변화 이벤트 유형을 나타낸다. 방향 센서의 상태가 변하면, 후속으로 등록된 기능(이벤트)이 촉발되고; 그 기능은 이벤트에 의해 전송된 방향 파라미터를 처리하고, div 노드에서 현재의 방향각, 수직 회전각 및 수평 회전각을 디스플레이한다. 실제의 애플리케이션에서는, 방향 센서의 센서 데이터를 직접 사용함으로써 캔버스 노드에 나침반이 작성될 수 있다는 것에 주목하여야 한다. 여기서 상세한 설명은 본 발명의 실시예에서의 방법만을 설명하려는 것이며, 따라서 단말의 현재의 방향 정보는 div 노드 상에서 간단하게 디스플레이된다.
웹페이지가 브라우저 엔진에 로딩되면, 브라우저 엔진은 웹페이지를 운용하고 분석함으로써 웹페이지 내의 각각의 노드의 노드 콘텐츠를 획득한다. 이에 대응해서, 303에서, 이전에 획득된 노드 콘텐츠에 따라, 브라우저 엔진은 어느 노드가 이벤트를 등록하였는지를 판단할 수 있다. 구체적으로, 브라우저 엔진은 3 부분: 브라우저 쉘(Shell), 웹페이지 분석 및 렌더링 엔진, 및 스크립트 분석 엔진으로 분할될 수 있다. Linux 쉘과 동등하게, 브라우저 쉘은 브라우저 인터페이스를 위해 사용자가 수행하는 동작을 수신하고, 웹페이지 분석 및 렌더링 엔진 및 스크립트 분석 엔진을 호출하고 이에 대응해서 반응한다. 예를 들어, 사용자가 웹페이지 상의 링크를 클릭하면, 브라우저 쉘은 사용자의 클릭 이벤트를 수신하고, 웹페이지 분석 및 렌더링 엔진을 호출하여 그 클릭된 웹페이지 어드레스를 찾고, 새로운 웹페이지를 열며; 웹페이지 분석 및 렌더링 엔진은 웹페이지를 분석 및 렌더링하는 것과 같은 동작을 담당하며; 스크립트 분석 엔진은 자바스크립트 스크립트 코드를 분석하고 실행하는 것을 담당한다. 본 발명의 선택적 실시예에서, 단계 403은 구체적으로 이하의 단계를 포함한다:
브라우저 쉘은 OS가 송신한 센서 데이터 및 이벤트 유형을 수신하고, 이벤트 유형과 관련 있는 제1 웹페이지를 결정하고, 제1 웹페이지, 센서 데이터, 및 이벤트 유형을 웹페이지 분석 및 렌더링 엔진에 전송한다.
이벤트 유형에 따라, 웹페이지 분석 및 렌더링 엔진은 제1 웹페이지 내의 제1 노드가 이벤트를 등록한 것으로 결정하고, 제1 노드의 식별자 및 이벤트 유형에 따라, 이벤트의 프로세싱 로직의 포털(portal)을 검색하고, 스크립트 분석 엔진을 호출하여 프로세싱 로직을 실행한다.
또한, 이벤트 유형에 따라 이벤트와 관련 있는 제1 웹페이지를 결정하고 제1 웹페이지, 센서 데이터, 및 이벤트 유형을 웹페이지 분석 및 렌더링 엔진에 전송하는 단계는 구체적으로:
이벤트가 현재의 활성 웹페이지와 관련되어 있는 것으로 결정되면, 현재의 활성 웹페이지가 제1 웹페이지이고, 제1 웹페이지, 센서 데이터, 및 이벤트 유형을 웹페이지 분석 및 렌더링 엔진에 전송하는 단계; 및
이벤트가 운용 중인 모든 웹페이지와 관련되어 있는 것으로 결정되면, 운용 중인 모든 웹페이지가 각각 제1 웹페이지이고, 제1 웹페이지, 센서 데이터, 및 이벤트 유형을 웹페이지 분석 및 렌더링 엔진에 전송하는 단계
를 포함한다.
예를 들어, 터치 플릭 이벤트 및 핑거 탭 이벤트와 같은 이벤트는 일반적으로 현재의 활성 웹페이지에만 관련되어 있고; 방향 변화 이벤트는 일반적으로 운용 중인 모든 웹페이지와 관련되어 있다. 운용 중인 모든 웹페이지는 현재의 활성 웹페이지, 및 운용되고 있기는 하지만 활성은 아닌 웹페이지를 포함한다.
구체적으로, 브라우저 쉘이 제1 웹페이지를 웹페이지 분석 및 렌더링 엔진에 전송하는 단계는 구체적으로: 제1 웹페이지에 대응하는 DOM 트리의 포인터를 웹페이지 분석 및 렌더링 엔진에 전송하는 단계이다. 제1 웹페이지는 임의의 하나 이상의 웹페이지일 수 있고, 제1 노드는 제1 웹페이지의 DOM 트리 내의 임의의 하나 이상의 노드일 수 있다.
또한, 웹페이지의 프레젠테이션 및 상호작용 성능을 강화하고 사용자 경험을 향상시키기 위해, 센서 데이터에 따라 프레젠테이션 웹페이지를 조정하는 로직이 이벤트 프로세싱 로직에 내장될 수 있다. 이에 대응해서, 프로세싱 로직을 실행하기 위해 스크립트 분석 엔진을 호출하는 프로세스는 구체적으로 이하의 동작을 포함한다:
스크립트 분석 엔진은 센서 데이터를 분석하고, 웹페이지 분석 및 렌더링 엔진에 저장되어 있는 제1 웹페이지의 웹페이지 콘텐츠를 수정한다.
여기서 사용되고 있는 전술한 예에서, 방향 센서 프로세싱 로직이 캔버스 노드에 부가되어 있는 것으로 가정한다. 프로세싱 로직은 방향 센서의 상태가 변하면 div 노드에서 현재의 방향을 디스플레이한다. 프로세싱 로직 기능(이벤트)을 실행하기 위해 스크립트 분석 엔진이 브라우저 쉘에 의해 촉발되면, 프로세싱 로직은 브라우저 쉘에 의해 전송된 센서 데이터를 처리하고, 센서 데이터에 포함되어 있는 방향 파라미터에 따라 웹페이지 분석 및 렌더링 엔진에 저장되어 있는 div 노드 웹페이지 콘텐츠를 수정한다. 웹페이지 분석 및 렌더링 엔진은 수정된 웹페이지 콘텐츠에 따라 웹페이지를 갱신하고, div 노드에서 현재의 방향각, 수직 회전각, 수평 회전각을 디스플레이한다.
구체적으로, 브라우저 쉘이 센서 데이터를 웹페이지 분석 및 렌더링 엔진에 전송할 때, 센서 데이터는 일반적으로 인터페이스 디스크립션 언어(Interface Description Language: IDL로 약칭)에 의해 규정되며, 자바스크립트와 시스템 로우-레벨 코드 간의 상호작용의 인터페이스로서 기능한다. 이하는 IDL에 의해 규정된 예시적 인터페이스이다:
module events {
interface [
Conditional=ORIENTATION_CHANGED_EVENTS
] OrientationChangedEvent {
readonly attribute float value[3];
void initOrientationChangedEvent(in float value[3]);
};
}
본 발명의 다른 선택적 실시예에서, 브라우저 엔진에 웹페이지가 로딩되면, 브라우저 엔진은 웹페이지의 각각의 노드에 로딩된 프로세싱 로직을 식별하고, 프로세싱 로직에 대응하는 이벤트를 등록한다. 구체적으로, 단계 401 전에, 방법은 이하의 단계를 더 포함한다:
웹페이지 분석 및 렌더링 엔진은 제1 웹페이지 내의 제1 노드의 스크립트 콘텐츠를 판독하고, 스크립트 분석 엔진을 호출하여 제1 노드의 스크립트 콘텐츠를 실행한다.
스크립트 분석 엔진은 이벤트 유형 및 제1 노드의 스크립트 콘텐츠에 포함되어 있는 이벤트의 프로세싱 로직이 존재하는 것으로 결정하고, 이벤트 유형 및 이벤트의 프로세싱 로직을 웹페이지 분석 및 렌더링 엔진에 송신한다.
웹페이지 분석 및 렌더링 엔진은 이벤트의 프로세싱 로직은 스크립트 분석 엔진에 전송하여 이벤트를 등록한다.
스크립트 분석 엔진은 프로세싱 로직을 캡슐화하고, 프로세싱 로직의 포털을 웹페이지 분석 및 렌더링 엔진에 복귀시킨다.
웹페이지 분석 및 렌더링 엔진은 이벤트의 이벤트 유형 및 프로세싱 로직의 포털을 제1 노드의 이벤트 모니터링 목록에 부가한다.
도 6은 본 발명의 실시예에 따라 브라우저 엔진에 웹페이지를 로딩하는 개략적인 시그널링 도해도이다. 도 6에 도시된 바와 같이, 전술한 예를 계속 여기서 사용하고, 이하의 단계가 포함된다:
601. 웹페이지 분석 및 렌더링 엔진은 캔버스 노드의 스크립트 콘텐츠를 판독한다.
602. 웹페이지 분석 및 렌더링 엔진은 스크립트 분석 엔진을 호출하여 캔버스 노드의 스크립트 콘텐츠를 실행한다.
603. 스크립트 분석 엔진은 캔버스 노드를 위한 이벤트 속성을 부가한다.
구체적으로, 캔버스 노드의 스크립트 콘텐츠를 실행할 때, 스크립트 분석 엔진은 이벤트 유형 및 캔버스 노드의 스크립트 콘텐츠에 포함되어 있는 이벤트의 프로세싱 로직이 존재하는 것으로 결정하고, 이벤트 유형 "orientationchanged" 및 프로세싱 로직 기능(이벤트)을 웹페이지 분석 및 렌더링 엔진에 송신한다.
604. 웹페이지 분석 및 렌더링 엔진은 캔버스 노드의 이벤트 모니터링 큐(event monitoring queue)를 부가한다.
605. 이벤트를 등록하도록 스크립트 분석 엔진에 요구한다.
구체적으로, 웹페이지 분석 및 렌더링 엔진은 이벤트의 프로세싱 로직을 스크립트 분석 엔진에 전송한다.
606. 스크립트 분석 엔진은 프로세싱 로직을 캡슐화하고, 프로세싱 로직의 포털을 웹페이지 분석 및 렌더링 엔진에 복귀시킨다.
구체적으로, 프로세싱 로직의 포털은 프로세싱 로직을 저장하기 위한 어드레스일 수 있다.
607. 웹페이지 분석 및 렌더링 엔진은 이벤트의 이벤트 유형 "orientationchanged" 및 프로세싱 로직의 포털을 캔버스 노드의 이벤트 모니터링 목록에 부가한다.
구체적으로, 607 후에, 스크립트 분석 엔진은 캔버스 노드의 스크립트 콘텐츠를 계속 실행할 수 있다. 캔버스 노드의 스크립트 콘텐츠가 다른 프로세싱 로직을 포함하는 것으로 결정되면, 603-607은 계속 실행될 수 있다. 캔버스 노드의 이벤트 모니터링 큐는 이미 생성되어 있으므로, 605는 반복되지 않아도 된다. 스크립트 분석 엔진이 캔버스 노드의 스크립트 콘텐츠를 실행할 때, 웹페이지 분석 및 렌더링 엔진은 웹페이지 상의 다른 노드의 스크립트 콘텐츠를 계속 판독하고, 스크립트 분석 엔진을 호출하여 스크립트 콘텐츠를 실행한다.
도 7은 애플리케이션 시나리오에서 본 발명의 실시예에 대한 개략적인 시그널링 도해도이다. 본 애플리케이션 시나리오에서, 전술한 방향 센서의 프로세싱 로직이 캔버스 노드를 위해 부가되고, 프로세싱 로직은 방향 센서의 상태가 변하면 div 노드에서 현재의 방향을 디스플레이한다. 도 7에 도시된 바와 같이, 시그널링 프로세스는 구체적으로 이하의 단계를 포함한다:
701. 방향 센서는 방향 변화를 감지하고 방향 파라미터를 이벤트의 형태로 OS에 전송한다.
702. 방향 파라미터에 따라, OS는 이벤트가 방향 변화 이벤트인 것으로 결정하고, 이벤트를 브라우저 쉘에 전송한다.
703. 브라우저 쉘은 임의의 DOM 노드가 방향 변화 이벤트를 등록하였는지를 웹페이지 분석 및 렌더링 엔진에 질의한다.
704. 웹페이지 분석 및 렌더링 엔진은 DOM 노드를 횡단하고, DOM 노드의 이벤트 모니터링 목록을 검색하며, 캔버스 노드가 방향 변화 이벤트를 등록한 것으로 결정한다.
705. 웹페이지 분석 및 렌더링 엔진은 캔버스 노드에 의해 등록된 방향 변화 이벤트의 프로세싱 로직의 포털을 브라우저 쉘에 복귀시킨다.
706. 브라우저 쉘은 프로세싱 로직의 포털 및 방향 파라미터를 스크립트 분석 엔진에 전송한다.
707. 스크립트 분석 엔진은 방향 파라미터를 분석하고 프로세싱 로직을 실행한다.
708. 스크립트 분석 엔진은 웹페이지 분석 및 렌더링 엔진에 저장되어 있는 div 노드 콘텐츠를 수정하여 div 노드에서 현재의 방향을 디스플레이한다.
본 발명의 다른 선택적 실시예에서는, 브라우저 엔진에 웹페이지가, 로딩되면, 브라우저 엔진은 분석을 수행하여 웹페이지의 각각의 노드에 규정된 속성을 획득하고, 속성이 이벤트 속성이면 이벤트 속성에 대응하는 이벤트를 등록한다. 구체적으로, 401 전에, 이하의 단계:
웹페이지 분석 및 렌더링 엔진이, 제1 웹페이지를 분석하고, 제1 웹페이지 내의 제1 노드에 대해 규정된 이벤트 속성이 존재하는 것으로 결정하는 단계;
이벤트 속성에 대응하는 이벤트의 이벤트 유형 및 프로세싱 로직을 결정하는 단계;
이벤트의 프로세싱 로직을 스크립트 분석 엔진에 전송하여 이벤트를 등록하는 단계;
스크립트 분석 엔진이, 프로세싱 로직을 캡슐화하고, 프로세싱 로직의 포털을 웹페이지 분석 및 렌더링 엔진에 복귀시키는 단계; 및
웹페이지 분석 및 렌더링 엔진이, 이벤트의 이벤트 유형 및 프로세싱 로직의 포털을 제1 노드의 이벤트 모니터링 목록에 부가하는 단계
를 포함한다.
또한, 상기 웹페이지 분석 및 렌더링 엔진이, 상기 이벤트 유형에 따라, 제1 웹페이지 내의 제1 노드가 이벤트를 등록한 것으로 결정하는 단계는 구체적으로:
웹페이지 분석 및 렌더링 엔진이, 이벤트가 이벤트 유형에 따른 위치와는 무관한 것으로 결정하고, 각각의 노드의 이벤트 모니터링 목록을 횡단하며, 제1 노드의 이벤트 모니터링 목록에 포함되어 있는 이벤트의 이벤트 유형이 존재하는 것으로 결정하는 단계
를 포함한다.
선택적으로, 상기 웹페이지 분석 및 렌더링 엔진이, 이벤트 유형에 따라, 제1 웹페이지 내의 제1 노드가 이벤트를 등록한 것으로 결정하는 단계는 구체적으로:
웹페이지 분석 및 렌더링 엔진이, 이벤트가 이벤트 유형에 따른 위치와는 무관한 것으로 결정하고, 센서 데이터로부터 위치 정보를 분석하는 단계;
위치 정보에 따라 제1 웹페이지 내에서 위치 정보에 매칭하는 제1 노드를 결정하는 단계; 및
제1 노드의 이벤트 모니터링 목록에 포함되어 있는 이벤트의 이벤트 유형이 존재하는 것으로 결정하는 단계
를 포함한다.
구체적으로, 이벤트가 위치에 의존하는지 무관한지는 이벤트 유형에 따라 판단될 수 있다. 일반적으로, 환경 변환 감지 이벤트는 위치, 예를 들어, 방향 변화 이벤트, 온도 변화 이벤트 등과는 무관하며; 터치 감지 이벤트는 위치, 예를 들어, 터치 플릭 이벤트, 핑거 탭 이벤트 등에는 의존한다. 예를 들어, 웹페이지 상의 복수의 노드는 웹페이지 상의 상이한 위치에 위치하며, 모두 터치 플릭 이벤트를 등록하고 있다. 터치 센서는 사용자의 터치 플릭을 감지하면 센서 데이터를 생성한다. 센서 데이터는 터치 플릭으로 생기는 위치 정보, 플릭 파라미터 등을 포함한다. 웹페이지 분석 및 렌더링 엔진은 이벤트 유형에 따라 이벤트가 위치에 의존하는지를 판단하고, 센서 데이터 내의 위치 정보를 분석하며, 웹페이지 내의 어느 노드가 위치 정보와 매칭하는지, 즉 어느 노드에서 터치 플릭이 일어나는지를 판단하며, 그런 다음 매칭된 노드가 터치 플릭 이벤트를 등록하였는지를 판단하며, 등록하였다면, 그 매칭된 노드의 식별자는 브라우저 쉘에 송신한다.
등록된 이벤트는 DOM 노드에 묶여 있으므로, 센서 장치의 이벤트의 응답 시에, DOM 트리를 횡단하여 어느 DOM 노드가 센서 장치의 이벤트를 등록하였는지를 찾아내야 한다. DOM 트리가 많은 노드를 가지고 있고 트리의 깊이가 상당히 깊으면, 횡단은 고비용으로 수행된다. 그러므로 이벤트에 응답 시에 검색을 용이하게 하기 위해 DOM 트리에 대한 글로벌 이벤트 관리 해시(Hash) 테이블을 설정하여 최적화를 수행할 수 있다. 이러한 애플리케이션 시나리오에서, 웹페이지 분석 및 렌더링 엔진이, 스크립트 분석 엔진에 의해 복귀된 프로세싱 로직의 포털 및 이벤트의 이벤트 유형을 제1 노드의 이벤트 모니터링 목록에 부가한 후, 이하의 단계:
웹페이지 분석 및 렌더링 엔진이 제1 노드의 식별자 및 이벤트의 이벤트 유형을 이벤트 관리 Hash 테이블에 부가하는 단계
를 포함한다.
웹페이지 분석 및 렌더링 엔진이, 이벤트 유형에 따라, 제1 웹페이지 내의 제1 노드가 이벤트를 등록한 것으로 결정하는 단계는 구체적으로:
웹페이지 분석 및 렌더링 엔진이 Hash 테이블에 질의하고 제1 노드의 식별자에 대응하는 테이블 엔트리에 포함되어 있는 이벤트의 이벤트 유형이 존재하는 것을 결정하는 단계
를 포함한다.
구체적으로, 이벤트 관리 Hash 테이블의 포맷은 <key, value>일 수 있으며, 여기서 key는 이벤트의 이벤트 유형이고, value는 이벤트의 DOM 노드 어레이이다. DOM 노드 어레이는 이벤트를 등록한 복수의 DOM 노드의 식별자를 동시에 포함할 수 있다. 또한, 이벤트 등록 관리 모듈이 부가될 수 있는데, 여기서 이벤트 등록 관리 모듈은 이벤트 등록 관리를 담당한다. 특정한 실행에서, 이것은 웹페이지 분석 및 렌더링 엔진의 서브모듈일 수 있다. 이에 대응해서, 도 6에 도시된 시그널링 프로세스 607 후에, 이하의 단계:
웹페이지 분석 및 렌더링 엔진이 제1 노드의 식별자 및 이벤트의 이벤트 유형을 시간 등록 관리 모듈에 의해 저장된 이벤트 관리 Hash 테이블에 부가하는 단계
를 포함한다.
애플리케이션에서는, 복수의 노드가 동일한 이벤트 유형의 이벤트를 등록하는 것이 가능하다. 웹페이지 분석 및 렌더링 엔진은 복수의 노드의 식별자 및 이벤트 유형을 브라우저 쉘에 동시에 송신할 수 있고, 브라우저 쉘은 복수의 노드의 식별자, 이벤트 유형 및 센서 데이터를 웹페이지 분석 및 렌더링 엔진에 송신한다. 복수의 노드의 식별자 및 이벤트 유형에 따르면, 웹페이지 분석 및 렌더링 엔진은 각각의 노드에 의해 등록된 이벤트의 프로세싱 로직의 포털을 각각 찾고, 스크립트 분석 엔진을 호출하여 복수의 노드에 의해 등록된 이벤트의 프로세싱 로직을 각각 실행한다. 상이한 노드에 의해 등록되어 있는 동일한 이벤트 유형의 이벤트는 상이한 프로세싱 로직을 가질 수 있다.
또한, 센서 데이터의 일부의 유형은 사용자의 명령에 응답해서 피드백될 수 있다. 본 발명의 다른 선택적 실시예에서, 브라우저 엔진은 이벤트에 응답해서 센서 장치를 동작시킬 수 있다. 구체적으로, 보고된 이벤트의 프로세싱 로직은 제2 센서 장치의 감지 방법을 호출하는 포털을 포함하며, 이벤트의 프로세싱 로직을 실행하기 위해 스크립트 분석 엔진을 호출하는 단계는 구체적으로:
스크립트 분석 엔진이, 호출의 포털에 따라 제2 센서 장치의 감지 방법을 호출하는 단계
를 포함한다.
구체적으로, 제2 센서 장치는 호출 가능한 감지 방법을 가지는 센서 장치이며, 제1 센서 장치와는 동일한 유형일 수도 있고 다른 유형일 수도 있다. 일반적으로, 공인된 개발자는 제2 센서 장치의 감지 방법을 호출하는 포털을 사전에 특정한 노드의 이벤트의 프로세싱 로직에 부가한다. 여기서는 게임 애플리케이션에서 힘 피드백 센서(force feedback sensor)를 예를 든다. 예를 들어, 야구 게임에서, 힘 피드백 센서는 조이스틱의 방향 및 힘과 같은 파라미터를 이벤트의 형태로 브라우저 엔진에 전송할 수 있다. 공인된 개발자에 의해 설계된 이벤트 프로세싱 로직에서, 힘 피드백 센서의 진동 방법은 조이스틱에 의해 시뮬레이트된 배트와 볼 간의 접촉이 힘 피드백 센서에 의해 보고된 센서 데이터에 따라 결정되는 순간이 촉발될 때 호출되고, 이에 따라 사용자는 진짜로 배팅하는 것을 느낄 수 있게 된다. 이 방법에서, 스크립트 분석 엔진이 이벤트의 프로세싱 로직을 실행할 때, 조이스틱에 의해 시뮬레이트된 배트와 볼 간의 접촉이 힘 피드백 센서에 의해 보고된 센서 데이터에 따라 결정되면, 힘 피드백 센서의 진동 방법은 힘 피드백 센서의 진동 방법을 호출하는 포털에 따라 호출되며, 여기서 포털은 프로세싱 로직에 포함된다. 구체적으로, 스크립트 분석 엔진은 호출하는 포털에 따라 브라우저 쉘 및 OS를 사용하여 제2 센서 장치의 감지 방법을 호출할 수 있다.
또한, 센서 장치의 감지 방법이 호출되어야 하면, 일반적으로 감지 방법은 스크립트 분석 엔진 목록에 먼저 등록해야 한다. 이에 대응해서, 401 전에, 이하의 단계:
브라우저 쉘이, OS로부터 제2 센서 장치의 감지 방법을 호출하는 포털을 획득하는 단계;
브라우저 쉘이, 제2 센서 장치의 감지 방법을 호출하는 포털을 스크립트 분석 엔진에 전송하는 단계; 및
스크립트 분석 엔진이, 제2 센서 장치의 감지 방법을 호출하는 포털을 저장하는 단계
를 포함한다.
구체적으로, OS는 제2 센서 장치의 드라이버로부터 제2 센서 장치의 감지 방법을 호출하는 포털을 획득하고, 그것을 저장할 수 있다. 스크립트 분석 엔진은 제2 센서 장치의 감지 방법을 호출하는 포털을 저장하는데, 즉 감지 방법이 등록된 후, 공인된 개발자는 코드 내의 상기 호출하는 포털을 인용할 수 있다.
도 8은 다른 애플리케이션 시나리오에서 본 발명의 실시예에 대한 개략적인 시그널링 도해도이다. 본 애플리케이션 시나리오에서, 힘 피드백 센서는 진동을 생성하여 사용자는 진짜로 배팅하는 것을 느낄 수 있게 된다. 도 8에 도시된 바와 같이, 시그널링 프로세스는 이하의 단계를 포함한다:
801. 브라우저 쉘은 OS로부터 힘 피드백 센서의 진동 방법을 호출하는 포털을 획득한다.
802. 브라우저 쉘은 힘 피드백 센서의 진동 방법을 스크립트 분석 엔진에 등록한다.
803. 게임 개발자는 야구 게임 페이지 내의 특정한 노드에서 힘 피드백 센서의 진동 방법을 호출한다.
구체적으로, 노드는 힘 피드백 센서의 힘 변화 이벤트를 등록하고 있다. 즉, 노드의 스크립트 콘텐츠는 힘 변화 이벤트의 프로세싱 로직을 포함하고, 힘 변화 이벤트의 프로세싱 로직은 힘 피드백 센서의 진동 방법을 호출하는 포털을 포함한다.
804. 스크립트 분석 엔진은 노드의 스크립트 콘텐츠를 운용한다.
구체적으로, 804는 다음과 같을 수 있다: 스크립트 분석 엔진은 힘 피드백 센서에 의해 전송되는 힘 변화 이벤트에 기초해서 힘 변화 이벤트의 프로세싱 로직을 실행하고, 여기서 프로세싱 로직은 노드의 스크립트 콘텐츠에 포함되어 있다.
805. 스크립트 분석 엔진은 브라우저 쉘로부터 힘 피드백 센서의 진동 방법을 호출한다.
806. 브라우저 쉘은 OS로부터 힘 피드백 센서의 진동 방법을 호출한다.
807. OS는 힘 피드백 센서의 진동 방법을 호출한다.
본 발명의 실시예는 이러한 기술을 채택한다: 센서 장치는 상태 변화를 감지하고, 센서 데이터를 생성하며, 상기 센서 데이터를 이벤트의 형태로 OS에 전송하고; OS는 이벤트의 이벤트 유형을 결정하고, 센서 데이터 및 이벤트 유형을 브라우저 엔진에 전송하며, 브라우저 엔진은 이벤트 유형에 따라, 이벤트가 등록되어 있는 것으로 결정하고, 이벤트의 프로세싱 로직을 실행한다. 이 방법에서, 브라우저 엔진은 상이한 OS 간의 차이를 숨기고, 종래기술에서 네이티브 애플리케이션과 센서 장치 간의 직접 상호작용으로 인해 애플리케이션이 플랫폼에서 운용될 수 없는 문제를 어느 정도 해결하며; 코드가 한 번만 기록되므로, 기록된 애플리케이션은 상이한 OS상에서 운용될 수 있으며, 이에 의해 애플리케이션이 플랫폼상에서 운용되게 할 수 있다. 또한, 사용자 로직은 센서 장치와 상호작용할 수 있고, 센서 장치는 정보의 단방향 입력 소스로서 기능할 뿐만 아니라, 사용자의 동작에도 응답한다. 구체적으로, 센서 장치에 응답하는/운용하는 로직은 컴파일링된 웹페이지에 내장되어 개발을 간단하게 한다.
당업자라면 전술한 방법 실시예의 각각의 단계 중 일부 또는 전부는 관련 하드웨어에 명령을 내리는 프로그램에 의해 실현될 수 있다는 것을 이해할 수 있을 것이다. 프로그램은 컴퓨터 판독 가능형 저장 매체에 저장될 수 있다. 프로그램이 실행되면, 실시예에서의 전술한 방법의 단계가 수행된다. 저장 매체는 프로그램 코드를 저장할 수 있는 임의의 매체이면 되는데, 예를 들어, ROM, RAM, 자기디스크 또는 광디스크를 들 수 있다.
도 9는 본 발명의 실시예에 따른 컴퓨팅 노드(900)에 대한 개략적인 구조도이다. 도 9에 도시된 바와 같이, 컴퓨팅 노드(900)는:
하드웨어 계층(91), 상기 하드웨어 계층(91)에서 운용되고 있는 운용체제(OS)(92), 및 상기 OS(92) 상에서 운용되고 있는 브라우저 엔진(93)을 포함하고, 상기 하드웨어 계층(91)은 제1 센서 장치(911)를 포함하며,
상기 제1 센서 장치(911)는 상태 변화를 감지하고, 센서 데이터를 생성하며, 상기 센서 데이터를 이벤트의 형태로 상기 OS(92)에 전송하도록 구성되어 있으며;
상기 OS(92)는 상기 센서 데이터에 따라 상기 이벤트의 이벤트 유형을 결정하고, 상기 센서 데이터 및 상기 이벤트 유형을 상기 브라우저 엔진(93)에 전송하도록 구성되어 있으며, 상기 센서 데이터는 이벤트의 형태로 브라우저 엔진(93)에도 전송되며; 그리고
상기 브라우저 엔진(93)은 상기 이벤트 유형에 따라, 상기 이벤트가 등록되어 있는 것으로 결정하고, 상기 이벤트의 프로세싱 로직을 실행하도록 구성되어 있다.
본 발명의 선택적 실시예에서, 브라우저 엔진(93)은 브라우저 쉘, 웹페이지 분석 및 렌더링 엔진, 및 스크립트 분석 엔진을 포함한다.
상기 브라우저 쉘은 상기 OS에 의해 전송되는 상기 센서 데이터 및 상기 이벤트 유형을 수신하고, 상기 이벤트 유형에 따라 상기 이벤트와 관련된 제1 웹페이지를 결정하며, 상기 제1 웹페이지, 상기 센서 데이터, 및 상기 이벤트 유형을 상기 웹페이지 분석 및 렌더링 엔진에 전송하도록 구성되어 있다.
상기 웹페이지 분석 및 렌더링 엔진은 상기 이벤트 유형에 따라, 상기 제1 웹페이지 내의 제1 노드가 상기 이벤트를 등록한 것으로 결정하고, 상기 제1 노드의 식별자 및 상기 이벤트 유형에 따라, 상기 이벤트의 프로세싱 로직의 포털을 검색하며, 상기 스크립트 분석 엔진을 호출하도록 구성되어 있다.
상기 스크립트 분석 엔진은 상기 이벤트의 프로세싱 로직을 실행하도록 구성되어 있다.
또한, 상기 브라우저 쉘은 구체적으로,
상기 이벤트가 현재의 활성 웹페이지와 관련되어 있는 것으로 결정되면, 상기 현재의 활성 웹페이지가 제1 웹페이지이고, 상기 제1 웹페이지, 상기 센서 데이터, 및 상기 이벤트 유형을 상기 웹페이지 분석 및 렌더링 엔진에 전송하고; 그리고
상기 이벤트가 운용 중인 모든 웹페이지와 관련되어 있는 것으로 결정되면, 운용 중인 모든 웹페이지가 각각 제1 웹페이지이고, 상기 제1 웹페이지, 상기 센서 데이터, 및 상기 이벤트 유형을 상기 웹페이지 분석 및 렌더링 엔진에 전송하도록 구성되어 있다.
본 발명의 다른 선택적 실시예에서, 상기 웹페이지 분석 및 렌더링 엔진은, 상기 제1 센서 장치가 상태 변화를 감지하고, 센서 데이터를 생성하기 전에, 상기 제1 웹페이지 내의 제1 노드의 스크립트 콘텐츠를 판독하고, 상기 스크립트 분석 엔진을 호출하도록 추가로 구성되어 있다.
상기 스크립트 분석 엔진은 상기 제1 노드의 스크립트 콘텐츠를 실행하고, 상기 제1 노드의 스크립트 콘텐츠에 포함되어 있는 상기 이벤트의 이벤트 유형 및 프로세싱 로직이 존재하는 것으로 결정하며, 상기 이벤트의 이벤트 유형 및 상기 이벤트의 프로세싱 로직을 상기 웹페이지 분석 및 렌더링 엔진에 송신하도록 추가로 구성되어 있다.
상기 웹페이지 분석 및 렌더링 엔진은 상기 이벤트의 프로세싱 로직을 상기 스크립트 분석 엔진에 전송하여 상기 이벤트를 등록하도록 추가로 구성되어 있다.
상기 스크립트 분석 엔진은 상기 프로세싱 로직을 캡슐화하고, 상기 프로세싱 로직의 포털을 상기 웹페이지 분석 및 렌더링 엔진에 복귀시키도록 추가로 구성되어 있다.
상기 웹페이지 분석 및 렌더링 엔진은 상기 이벤트의 이벤트 유형 및 상기 프로세싱 로직의 포털을 상기 제1 노드의 이벤트 모니터링 목록에 부가하도록 추가로 구성되어 있다.
본 발명의 다른 선택적 실시예에서, 상기 웹페이지 분석 및 렌더링 엔진은:
상기 제1 센서 장치가 상태 변화를 감지하고 센서 데이터를 생성하기 전에, 상기 제1 웹페이지를 분석하고 상기 제1 웹페이지 내의 제1 노드에 대해 규정된 이벤트 속성이 존재하는 것으로 결정하고;
상기 이벤트 속성에 대응하는 상기 이벤트의 이벤트 유형 및 프로세싱 로직을 결정하며;
상기 이벤트의 프로세싱 로직을 상기 스크립트 분석 엔진에 전송하여 상기 이벤트를 등록하도록 추가로 구성되어 있다.
상기 스크립트 분석 엔진은 상기 프로세싱 로직을 캡슐화하고, 상기 프로세싱 로직의 포털을 상기 웹페이지 분석 및 렌더링 엔진에 복귀시키도록 추가로 구성되어 있다.
상기 웹페이지 분석 및 렌더링 엔진은 상기 이벤트의 이벤트 유형 및 상기 프로세싱 로직의 포털을 상기 제1 노드의 이벤트 모니터링 목록에 부가하도록 추가로 구성되어 있다.
또한, 상기 웹페이지 분석 및 렌더링 엔진은 또한 상기 이벤트 유형에 따라, 상기 제1 웹페이지 내의 제1 노드가 상기 이벤트를 등록한 것으로 결정하도록 구성되어 있으며, 여기서, 상기 이벤트 유형에 따라, 상기 제1 웹페이지 내의 제1 노드가 상기 이벤트를 등록한 것으로 결정하는 것은 구체적으로:
상기 이벤트가 상기 이벤트 유형에 따른 위치와는 무관한 것으로 결정하고, 상기 제1 웹페이지 내의 각각의 노드의 이벤트 모니터링 목록을 횡단하며, 상기 제1 노드의 이벤트 모니터링 목록에 포함되어 있는 상기 이벤트의 이벤트 유형이 존재하는 것으로 결정하는 것
을 포함한다.
선택적으로, 상기 웹페이지 분석 및 렌더링 엔진은 상기 이벤트 유형에 따라, 상기 제1 웹페이지 내의 제1 노드가 상기 이벤트를 등록한 것으로 결정하도록 구성되어 있으며, 여기서, 상기 이벤트 유형에 따라, 상기 제1 웹페이지 내의 제1 노드가 상기 이벤트를 등록한 것으로 결정하는 것은 구체적으로:
상기 이벤트가 상기 이벤트 유형에 따른 위치와는 무관한 것으로 결정하고, 상기 센서 데이터로부터 위치 정보를 분석하고;
상기 위치 정보에 따라 상기 제1 웹페이지 내에서 상기 위치 정보에 매칭하는 제1 노드를 결정하며; 그리고
상기 제1 노드의 이벤트 모니터링 목록에 포함되어 있는 상기 이벤트의 이벤트 유형이 존재하는 것으로 결정하는 것
을 포함한다.
본 발명의 다른 선택적 실시예에서, 상기 웹페이지 분석 및 렌더링 엔진은, 상기 스크립트 분석 엔진에 의해 복귀된 상기 프로세싱 로직의 포털 및 상기 이벤트의 이벤트 유형을 상기 제1 노드의 이벤트 모니터링 목록에 부가한 후에, 상기 제1 노드의 식별자 및 상기 이벤트의 이벤트 유형을 이벤트 관리 해시 테이블에 부가하도록 추가로 구성되어 있다.
상기 웹페이지 분석 및 렌더링 엔진은 상기 제1 노드의 식별자 및 상기 이벤트 유형에 따라 상기 이벤트의 프로세싱 로직의 포털을 검색하도록 구성되어 있으며, 여기서 상기 제1 노드의 식별자 및 상기 이벤트 유형에 따라 상기 이벤트의 프로세싱 로직의 포털을 검색하는 것은 구체적으로:
상기 해시 테이블에 질의하고, 상기 제1 노드의 식별자에 대응하는 테이블 엔트리에 포함되어 있는 상기 이벤트의 이벤트 유형이 존재하는 것으로 결정하는 것
을 포함한다.
본 발명의 다른 선택적 실시예에서, 상기 스크립트 분석 엔진은 구체적으로, 상기 센서 데이터를 분석하고 상기 웹페이지 분석 및 렌더링 엔진에 저장되어 있는 상기 제1 웹페이지의 웹페이지 콘텐츠를 수정하도록 구성되어 있다.
본 발명의 다른 선택적 실시예에서, 하드웨어 계층(91)은 제2 센서 장치를 더 포함하고, 상기 이벤트의 프로세싱 로직은 상기 제2 센서 장치의 감지 방법을 호출하는 포털을 포함하며, 상기 스크립트 분석 엔진은 구체적으로:
상기 호출하는 포털에 따라 상기 제2 센서 장치의 감지 방법을 호출하도록 구성되어 있다.
또한, 상기 브라우저 쉘은:
상기 제1 센서 장치가 상태 변화를 감지하고 센서 데이터를 생성하기 전에, 상기 OS로부터 상기 제2 센서 장치의 감지 방법을 호출하는 포털을 획득하며; 그리고
상기 제2 센서 장치의 감지 방법을 호출하는 포털을 상기 스크립트 분석 엔진에 송신하도록 추가로 구성되어 있다.
상기 스크립트 분석 엔진은 상기 제2 센서 장치의 감지 방법을 호출하는 포털을 저장하도록 추가로 구성되어 있다.
본 발명의 실시예에서 제공하는 컴퓨팅 노드는 휴대폰, PDA, 셋톱박스, 특정한 분야에서의 휴대장치 등일 수 있다.
본 발명의 실시예는 이러한 기술을 채용한다: 센서 장치는 상태 변화를 감지하고, 센서 데이터를 생성하며, 그 센서 데이터를 이벤트의 형태로 OS에 전송하며; OS는 이벤트의 이벤트 유형을 결정하고, 센서 데이터 및 이벤트 유형을 브라우저 엔진에 전송하며; 이벤트 유형에 따라, 브라우저 엔진은 이벤트가 등록되어 있는 것으로 결정하고, 이벤트의 프로세싱 로직을 실행한다. 이 방법에서, 브라우저 엔진은 상이한 OS 간의 차이를 숨기고, 종래기술에서 네이티브 애플리케이션과 센서 장치 간의 직접 상호작용으로 인해 애플리케이션이 플랫폼에서 운용될 수 없는 문제를 어느 정도 해결하며; 코드가 한 번만 기록되므로, 기록된 애플리케이션은 상이한 OS상에서 운용될 수 있으며, 이에 의해 애플리케이션이 플랫폼상에서 운용되게 할 수 있다. 또한, 사용자 로직은 센서 장치와 상호작용할 수 있고, 센서 장치는 정보의 단방향 입력 소스로서 기능할 뿐만 아니라, 사용자의 동작에도 응답한다. 구체적으로, 센서 장치에 응답하는/운용하는 로직은 컴파일링된 웹페이지에 내장되어 개발을 간단하게 한다.
전술한 실시예의 상세한 설명에 사용된 제1 및 제2의 표현은 순서를 제한하려는 것이 아니라 단지 구별을 쉽게 하기 위한 것이라는 것에 유의해야 한다.
마지막으로, 전술한 실시예는 본 발명의 기술적 솔루션을 설명하기 위한 것에 지나지 않으며, 본 발명을 제한하려는 것이 아님에 유의해야 한다. 본 발명을 전술한 실시예를 참조하여 설명하였으나, 당업자라면 전술한 실시예에 설명된 기술적 솔루션에 대한 수정, 또는 기술적 특징 중 일부 또는 전부에 대해 등가의 대체는 대응하는 기술적 솔루션의 본질이 본 발명의 실시예의 기술적 솔루션의 범위를 벗어나지 않는 한, 이러한 변형 또는 대체를 수행할 수 있다는 것을 이해할 수 있을 것이다.

Claims (22)

  1. 컴퓨팅 노드에 적용되는, 센서 데이터를 처리하는 방법에 있어서,
    상기 컴퓨팅 노드는 하드웨어 계층, 상기 하드웨어 계층에서 운용되고 있는 운용체제(OS), 및 상기 OS 상에서 운용되고 있는 브라우저 엔진을 포함하고, 상기 하드웨어 계층은 제1 센서 장치를 포함하며,
    상기 방법은,
    상기 제1 센서 장치가, 상태 변화를 감지하고, 센서 데이터를 생성하며, 상기 센서 데이터를 이벤트의 형태로 상기 OS에 전송하는 단계;
    상기 OS가, 상기 센서 데이터에 따라 상기 이벤트의 이벤트 유형을 결정하고, 상기 센서 데이터 및 상기 이벤트 유형을 상기 브라우저 엔진에 전송하는 단계 - 상기 센서 데이터는 이벤트의 형태로 브라우저 엔진에도 전송되며 - ; 및
    상기 브라우저 엔진이, 상기 이벤트 유형에 따라, 상기 이벤트가 등록되어 있는 것으로 결정하고, 상기 이벤트의 프로세싱 로직(processing logic)을 실행하는 단계
    를 포함하는 센서 데이터를 처리하는 방법.
  2. 제1항에 있어서,
    상기 브라우저 엔진은 브라우저 쉘(Shell), 웹페이지 분석 및 렌더링 엔진, 및 스크립트 분석 엔진을 포함하며, 상기 브라우저 엔진이, 상기 이벤트 유형에 따라, 상기 이벤트가 등록되어 있는 것으로 결정하고, 상기 이벤트의 프로세싱 로직을 실행하는 단계는 구체적으로,
    상기 브라우저 쉘이, 상기 OS에 의해 전송되는 상기 센서 데이터 및 상기 이벤트 유형을 수신하고, 상기 이벤트 유형에 따라 상기 이벤트와 관련된 제1 웹페이지를 결정하며, 상기 제1 웹페이지, 상기 센서 데이터, 및 상기 이벤트 유형을 상기 웹페이지 분석 및 렌더링 엔진에 전송하는 단계; 및
    상기 웹페이지 분석 및 렌더링 엔진이, 상기 이벤트 유형에 따라, 상기 제1 웹페이지 내의 제1 노드가 상기 이벤트를 등록한 것으로 결정하고, 상기 제1 노드의 식별자 및 상기 이벤트 유형에 따라, 상기 이벤트의 프로세싱 로직의 포털(portal)을 검색하며, 상기 스크립트 분석 엔진을 호출하여 상기 이벤트의 프로세싱 로직을 실행하는 단계
    를 포함하는, 센서 데이터를 처리하는 방법.
  3. 제2항에 있어서,
    상기 이벤트 유형에 따라 상기 이벤트와 관련된 제1 웹페이지를 결정하며, 상기 제1 웹페이지, 상기 센서 데이터, 및 상기 이벤트 유형을 상기 웹페이지 분석 및 렌더링 엔진에 전송하는 단계는 구체적으로,
    상기 이벤트가 현재의 활성 웹페이지와 관련되어 있는 것으로 결정되면, 상기 현재의 활성 웹페이지가 제1 웹페이지이고, 상기 제1 웹페이지, 상기 센서 데이터, 및 상기 이벤트 유형을 상기 웹페이지 분석 및 렌더링 엔진에 전송하는 단계; 및
    상기 이벤트가 운용 중인 모든 웹페이지와 관련되어 있는 것으로 결정되면, 운용 중인 각각의 웹페이지가 각각 제1 웹페이지이고, 각각의 제1 웹페이지, 상기 센서 데이터, 및 상기 이벤트 유형을 상기 웹페이지 분석 및 렌더링 엔진에 전송하는 단계
    를 포함하는, 센서 데이터를 처리하는 방법.
  4. 제2항에 있어서,
    상기 제1 센서 장치가, 상태 변화를 감지하고, 센서 데이터를 생성하는 단계 이전에,
    상기 웹페이지 분석 및 렌더링 엔진이, 상기 제1 웹페이지 내의 제1 노드의 스크립트 콘텐츠를 판독하고, 상기 스크립트 분석 엔진을 호출하여 상기 제1 노드의 스크립트 콘텐츠를 실행하는 단계;
    상기 스크립트 분석 엔진이, 상기 이벤트의 이벤트 유형 및 상기 제1 노드의 스크립트 콘텐츠에 포함되어 있는 상기 이벤트의 프로세싱 로직이 존재하는 것으로 결정하며, 상기 이벤트의 이벤트 유형 및 상기 이벤트의 프로세싱 로직을 상기 웹페이지 분석 및 렌더링 엔진에 전송하는 단계;
    상기 웹페이지 분석 및 렌더링 엔진이, 상기 이벤트의 프로세싱 로직을 상기 스크립트 분석 엔진에 전송하여 상기 이벤트를 등록하는 단계;
    상기 스크립트 분석 엔진이, 상기 프로세싱 로직을 캡슐화하고, 상기 프로세싱 로직의 포털을 상기 웹페이지 분석 및 렌더링 엔진에 복귀시키는 단계; 및
    상기 웹페이지 분석 및 렌더링 엔진이, 상기 이벤트의 이벤트 유형 및 상기 프로세싱 로직의 포털을 상기 제1 노드의 이벤트 모니터링 목록에 부가하는 단계
    를 더 포함하는 센서 데이터를 처리하는 방법.
  5. 제2항에 있어서,
    상기 제1 센서 장치가 상태 변화를 감지하고 센서 데이터를 생성하기 전에,
    상기 웹페이지 분석 및 렌더링 엔진이, 상기 제1 웹페이지를 분석하고 상기 제1 웹페이지 내의 제1 노드에 대해 규정된 이벤트 속성이 존재하는 것으로 결정하는 단계;
    상기 이벤트 속성에 대응하는 상기 이벤트의 이벤트 유형 및 프로세싱 로직을 결정하는 단계;
    상기 이벤트의 프로세싱 로직을 상기 스크립트 분석 엔진에 전송하여 상기 이벤트를 등록하는 단계;
    상기 스크립트 분석 엔진이, 상기 프로세싱 로직을 캡슐화하고, 상기 프로세싱 로직의 포털을 상기 웹페이지 분석 및 렌더링 엔진에 복귀시키는 단계; 및
    상기 웹페이지 분석 및 렌더링 엔진이, 상기 이벤트의 이벤트 유형 및 상기 프로세싱 로직의 포털을 상기 제1 노드의 이벤트 모니터링 목록에 부가하는 단계
    를 더 포함하는, 센서 데이터를 처리하는 방법.
  6. 제2항 내지 제5항 중 어느 한 항에 있어서,
    상기 웹페이지 분석 및 렌더링 엔진이, 상기 이벤트 유형에 따라, 상기 제1 웹페이지 내의 제1 노드가 상기 이벤트를 등록한 것으로 결정하는 단계는 구체적으로,
    상기 웹페이지 분석 및 렌더링 엔진이, 상기 이벤트가 상기 이벤트 유형에 따른 위치와는 무관한 것으로 결정하고, 상기 제1 웹페이지 내의 각각의 노드의 이벤트 모니터링 목록을 횡단하며, 상기 제1 노드의 이벤트 모니터링 목록에 포함되어 있는 상기 이벤트의 이벤트 유형이 존재하는 것으로 결정하는 단계
    를 포함하는, 센서 데이터를 처리하는 방법.
  7. 제2항 내지 제5항 중 어느 한 항에 있어서,
    상기 웹페이지 분석 및 렌더링 엔진이, 상기 이벤트 유형에 따라, 상기 제1 웹페이지 내의 제1 노드가 상기 이벤트를 등록한 것으로 결정하는 단계는 구체적으로,
    상기 웹페이지 분석 및 렌더링 엔진이, 상기 이벤트가 상기 이벤트 유형에 따른 위치와는 무관한 것으로 결정하고, 상기 센서 데이터로부터 위치 정보를 분석하는 단계;
    상기 위치 정보에 따라 상기 제1 웹페이지 내에서 상기 위치 정보에 매칭하는 제1 노드를 결정하는 단계; 및
    상기 제1 노드의 이벤트 모니터링 목록에 포함되어 있는 상기 이벤트의 이벤트 유형이 존재하는 것으로 결정하는 단계
    를 포함하는, 센서 데이터를 처리하는 방법.
  8. 제4항 또는 제5항에 있어서,
    상기 웹페이지 분석 및 렌더링 엔진이 상기 스크립트 분석 엔진에 의해 복귀된 상기 프로세싱 로직의 포털 및 상기 이벤트의 이벤트 유형을 상기 제1 노드의 이벤트 모니터링 목록에 부가한 후에, 상기 방법은,
    상기 웹페이지 분석 및 렌더링 엔진이, 상기 제1 노드의 식별자 및 상기 이벤트의 이벤트 유형을 이벤트 관리 해시 테이블(event management Hash table)에 부가하는 단계
    를 더 포함하고,
    상기 웹페이지 분석 및 렌더링 엔진이, 상기 이벤트 유형에 따라, 상기 제1 웹페이지 내의 제1 노드가 상기 이벤트를 등록한 것으로 결정하는 단계는 구체적으로,
    상기 웹페이지 분석 및 렌더링 엔진이, 상기 해시 테이블에 질의하고, 상기 제1 노드의 식별자에 대응하는 테이블 엔트리에 포함되어 있는 상기 이벤트의 이벤트 유형이 존재하는 것으로 결정하는 단계
    를 포함하는, 센서 데이터를 처리하는 방법.
  9. 제2항에 있어서,
    상기 스크립트 분석 엔진을 호출하여 상기 이벤트의 프로세싱 로직을 실행하는 단계는 구체적으로,
    상기 스크립트 분석 엔진이, 상기 센서 데이터를 분석하고 상기 웹페이지 분석 및 렌더링 엔진에 저장되어 있는 상기 제1 웹페이지의 웹페이지 콘텐츠를 수정하는 단계
    를 포함하는, 센서 데이터를 처리하는 방법.
  10. 제2항에 있어서,
    상기 이벤트의 프로세싱 로직은 제2 센서 장치의 감지 방법을 호출하는 포털을 포함하고, 상기 스크립트 분석 엔진을 호출하여 상기 이벤트의 프로세싱 로직을 실행하는 단계는 구체적으로,
    상기 스크립트 분석 엔진이, 상기 제2 센서 장치의 감지 방법을 호출하는 포털에 따라 상기 제2 센서 장치의 감지 방법을 호출하는 단계
    를 포함하는, 센서 데이터를 처리하는 방법.
  11. 제10항에 있어서,
    상기 제1 센서 장치가 상태 변화를 감지하고 센서 데이터를 생성하기 전에,
    상기 브라우저 쉘이, 상기 OS로부터 상기 제2 센서 장치의 감지 방법을 호출하는 포털을 획득하는 단계;
    상기 브라우저 쉘이, 상기 제2 센서 장치의 감지 방법을 호출하는 포털을 상기 스크립트 분석 엔진에 전송하는 단계; 및
    상기 스크립트 분석 엔진이, 상기 제2 센서 장치의 감지 방법을 호출하는 포털을 저장하는 단계
    를 더 포함하는 센서 데이터를 처리하는 방법.
  12. 하드웨어 계층, 상기 하드웨어 계층에서 운용되고 있는 운용체제(OS), 및 상기 OS 상에서 운용되고 있는 브라우저 엔진을 포함하는 컴퓨팅 노드에 있어서,
    상기 하드웨어 계층은 제1 센서 장치를 포함하며,
    상기 제1 센서 장치는 상태 변화를 감지하고, 센서 데이터를 생성하며, 상기 센서 데이터를 이벤트의 형태로 상기 OS에 전송하도록 구성되어 있으며;
    상기 OS는 상기 센서 데이터에 따라 상기 이벤트의 이벤트 유형을 결정하고, 상기 센서 데이터 및 상기 이벤트 유형을 상기 브라우저 엔진에 전송하도록 구성되어 있으며, 상기 센서 데이터는 이벤트의 형태로 브라우저 엔진에도 전송되며; 그리고
    상기 브라우저 엔진은 상기 이벤트 유형에 따라, 상기 이벤트가 등록되어 있는 것으로 결정하고, 상기 이벤트의 프로세싱 로직을 실행하도록 구성되어 있는, 컴퓨팅 노드.
  13. 제12항에 있어서,
    상기 브라우저 엔진은 브라우저 쉘, 웹페이지 분석 및 렌더링 엔진, 및 스크립트 분석 엔진을 포함하며,
    상기 브라우저 쉘은 상기 OS에 의해 전송되는 상기 센서 데이터 및 상기 이벤트 유형을 수신하고, 상기 이벤트 유형에 따라 상기 이벤트와 관련된 제1 웹페이지를 결정하며, 상기 제1 웹페이지, 상기 센서 데이터, 및 상기 이벤트 유형을 상기 웹페이지 분석 및 렌더링 엔진에 전송하도록 구성되어 있으며;
    상기 웹페이지 분석 및 렌더링 엔진은 상기 이벤트 유형에 따라, 상기 제1 웹페이지 내의 제1 노드가 상기 이벤트를 등록한 것으로 결정하고, 상기 제1 노드의 식별자 및 상기 이벤트 유형에 따라, 상기 이벤트의 프로세싱 로직의 포털을 검색하며, 상기 스크립트 분석 엔진을 호출하도록 구성되어 있으며; 그리고
    상기 스크립트 분석 엔진은 상기 이벤트의 프로세싱 로직을 실행하도록 구성되어 있는, 컴퓨팅 노드.
  14. 제13항에 있어서,
    상기 브라우저 쉘은 구체적으로,
    상기 이벤트가 현재의 활성 웹페이지와 관련되어 있는 것으로 결정되면, 상기 현재의 활성 웹페이지가 제1 웹페이지이고, 상기 제1 웹페이지, 상기 센서 데이터, 및 상기 이벤트 유형을 상기 웹페이지 분석 및 렌더링 엔진에 전송하고; 그리고
    상기 이벤트가 운용 중인 모든 웹페이지와 관련되어 있는 것으로 결정되면, 운용 중인 각각의 웹페이지가 각각 제1 웹페이지이고, 각각의 제1 웹페이지, 상기 센서 데이터, 및 상기 이벤트 유형을 상기 웹페이지 분석 및 렌더링 엔진에 전송하도록 구성되어 있는, 컴퓨팅 노드.
  15. 제13항에 있어서,
    상기 웹페이지 분석 및 렌더링 엔진은, 상기 제1 센서 장치가 상태 변화를 감지하고, 센서 데이터를 생성하기 전에, 상기 제1 웹페이지 내의 제1 노드의 스크립트 콘텐츠를 판독하고, 상기 스크립트 분석 엔진을 호출하도록 추가로 구성되어 있으며;
    상기 스크립트 분석 엔진은 상기 제1 노드의 스크립트 콘텐츠를 실행하고, 상기 제1 노드의 스크립트 콘텐츠에 포함되어 있는 상기 이벤트의 이벤트 유형 및 프로세싱 로직이 존재하는 것으로 결정하며, 상기 이벤트의 이벤트 유형 및 상기 이벤트의 프로세싱 로직을 상기 웹페이지 분석 및 렌더링 엔진에 송신하도록 추가로 구성되어 있으며;
    상기 웹페이지 분석 및 렌더링 엔진은 상기 이벤트의 프로세싱 로직을 상기 스크립트 분석 엔진에 전송하여 상기 이벤트를 등록하도록 추가로 구성되어 있으며;
    상기 스크립트 분석 엔진은 상기 프로세싱 로직을 캡슐화하고, 상기 프로세싱 로직의 포털을 상기 웹페이지 분석 및 렌더링 엔진에 복귀시키도록 추가로 구성되어 있으며; 그리고
    상기 웹페이지 분석 및 렌더링 엔진은 상기 이벤트의 이벤트 유형 및 상기 프로세싱 로직의 포털을 상기 제1 노드의 이벤트 모니터링 목록에 부가하도록 추가로 구성되어 있는, 컴퓨팅 노드.
  16. 제13항에 있어서,
    상기 웹페이지 분석 및 렌더링 엔진은,
    상기 제1 센서 장치가 상태 변화를 감지하고 센서 데이터를 생성하기 전에, 상기 제1 웹페이지를 분석하고 상기 제1 웹페이지 내의 제1 노드에 대해 규정된 이벤트 속성이 존재하는 것으로 결정하고;
    상기 이벤트 속성에 대응하는 상기 이벤트의 이벤트 유형 및 프로세싱 로직을 결정하며;
    상기 이벤트의 프로세싱 로직을 상기 스크립트 분석 엔진에 전송하여 상기 이벤트를 등록하도록 추가로 구성되어 있으며,
    상기 스크립트 분석 엔진은 상기 프로세싱 로직을 캡슐화하고, 상기 프로세싱 로직의 포털을 상기 웹페이지 분석 및 렌더링 엔진에 복귀시키도록 추가로 구성되어 있으며; 그리고
    상기 웹페이지 분석 및 렌더링 엔진은 상기 이벤트의 이벤트 유형 및 상기 프로세싱 로직의 포털을 상기 제1 노드의 이벤트 모니터링 목록에 부가하도록 추가로 구성되어 있는, 컴퓨팅 노드.
  17. 제13항 내지 제16항 중 어느 한 항에 있어서,
    상기 웹페이지 분석 및 렌더링 엔진은 상기 이벤트 유형에 따라, 상기 제1 웹페이지 내의 제1 노드가 상기 이벤트를 등록한 것으로 결정하도록 구성되어 있으며, 여기서, 상기 이벤트 유형에 따라, 상기 제1 웹페이지 내의 제1 노드가 상기 이벤트를 등록한 것으로 결정하는 것은 구체적으로, 상기 이벤트가 상기 이벤트 유형에 따른 위치와는 무관한 것으로 결정하고, 상기 제1 웹페이지 내의 각각의 노드의 이벤트 모니터링 목록을 횡단하며, 상기 제1 노드의 이벤트 모니터링 목록에 포함되어 있는 상기 이벤트의 이벤트 유형이 존재하는 것으로 결정하는 것인, 컴퓨팅 노드.
  18. 제13항 내지 제16항 중 어느 한 항에 있어서,
    상기 웹페이지 분석 및 렌더링 엔진은 상기 이벤트 유형에 따라, 상기 제1 웹페이지 내의 제1 노드가 상기 이벤트를 등록한 것으로 결정하도록 구성되어 있으며, 여기서, 상기 이벤트 유형에 따라, 상기 제1 웹페이지 내의 제1 노드가 상기 이벤트를 등록한 것으로 결정하는 것은,
    상기 이벤트가 상기 이벤트 유형에 따른 위치와는 무관한 것으로 결정하고, 상기 센서 데이터로부터 위치 정보를 분석하고;
    상기 위치 정보에 따라 상기 제1 웹페이지 내에서 상기 위치 정보에 매칭하는 제1 노드를 결정하며; 그리고
    상기 제1 노드의 이벤트 모니터링 목록에 포함되어 있는 상기 이벤트의 이벤트 유형이 존재하는 것으로 결정하는 것인, 컴퓨팅 노드.
  19. 제15항 또는 제16항에 있어서,
    상기 웹페이지 분석 및 렌더링 엔진은, 상기 스크립트 분석 엔진에 의해 복귀된 상기 프로세싱 로직의 포털 및 상기 이벤트의 이벤트 유형을 상기 제1 노드의 이벤트 모니터링 목록에 부가한 후에, 상기 제1 노드의 식별자 및 상기 이벤트의 이벤트 유형을 이벤트 관리 해시 테이블에 부가하도록 추가로 구성되어 있으며; 그리고,
    상기 웹페이지 분석 및 렌더링 엔진은 상기 제1 노드의 식별자 및 상기 이벤트 유형에 따라 상기 이벤트의 프로세싱 로직의 포털을 검색하도록 구성되어 있으며, 여기서 상기 제1 노드의 식별자 및 상기 이벤트 유형에 따라 상기 이벤트의 프로세싱 로직의 포털을 검색하는 것은 구체적으로, 상기 해시 테이블에 질의하고, 상기 제1 노드의 식별자에 대응하는 테이블 엔트리에 포함되어 있는 상기 이벤트의 이벤트 유형이 존재하는 것으로 결정하는 것인, 컴퓨팅 노드.
  20. 제13항에 있어서,
    상기 스크립트 분석 엔진은 구체적으로, 상기 센서 데이터를 분석하고 상기 웹페이지 분석 및 렌더링 엔진에 저장되어 있는 상기 제1 웹페이지의 웹페이지 콘텐츠를 수정하도록 구성되어 있는, 컴퓨팅 노드.
  21. 제13항에 있어서,
    상기 단말은 제2 센서 장치를 더 포함하고, 상기 이벤트의 프로세싱 로직은 상기 제2 센서 장치의 감지 방법을 호출하는 포털을 포함하며,
    상기 스크립트 분석 엔진은 구체적으로,
    상기 제2 센서 장치의 감지 방법을 호출하는 포털에 따라 상기 제2 센서 장치의 감지 방법을 호출하도록 구성되어 있는, 컴퓨팅 노드.
  22. 제21항에 있어서,
    상기 브라우저 쉘은, 상기 제1 센서 장치가 상태 변화를 감지하고 센서 데이터를 생성하기 전에, 상기 OS로부터 상기 제2 센서 장치의 감지 방법을 호출하는 포털을 획득하며, 상기 제2 센서 장치의 감지 방법을 호출하는 포털을 상기 스크립트 분석 엔진에 전송하도록 추가로 구성되어 있으며; 그리고
    상기 스크립트 분석 엔진은 상기 제2 센서 장치의 감지 방법을 호출하는 포털을 저장하도록 추가로 구성되어 있는, 컴퓨팅 노드.
KR1020147013274A 2012-03-01 2012-10-29 감지 데이터 처리 방법 및 컴퓨팅 노드 KR101617314B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201210051773.3 2012-03-01
CN201210051773.3A CN102662646B (zh) 2012-03-01 2012-03-01 传感数据处理方法及计算节点
PCT/CN2012/083663 WO2013127187A1 (zh) 2012-03-01 2012-10-29 传感数据处理方法及计算节点

Publications (2)

Publication Number Publication Date
KR20140078760A true KR20140078760A (ko) 2014-06-25
KR101617314B1 KR101617314B1 (ko) 2016-05-18

Family

ID=46772147

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147013274A KR101617314B1 (ko) 2012-03-01 2012-10-29 감지 데이터 처리 방법 및 컴퓨팅 노드

Country Status (5)

Country Link
EP (1) EP2709004B1 (ko)
JP (1) JP2015506020A (ko)
KR (1) KR101617314B1 (ko)
CN (1) CN102662646B (ko)
WO (1) WO2013127187A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102662646B (zh) * 2012-03-01 2015-09-23 华为技术有限公司 传感数据处理方法及计算节点
CN103677491B (zh) * 2012-09-03 2018-11-13 百度在线网络技术(北京)有限公司 一种用于渲染网页的方法和装置
JP6464712B2 (ja) * 2013-12-19 2019-02-06 株式会社リコー 情報処理装置および情報処理方法
CN103699487A (zh) * 2013-12-27 2014-04-02 北京像素软件科技股份有限公司 实现自动触发逻辑的方法和装置
CN104010045B (zh) * 2014-06-12 2018-01-19 国家计算机网络与信息安全管理中心 基于云平台的移动节点执行任务的方法
CN104579760A (zh) * 2014-12-22 2015-04-29 大唐移动通信设备有限公司 一种网络设备的负荷处理方法和系统
KR102320810B1 (ko) 2015-11-11 2021-11-02 삼성전자주식회사 전자 장치 및 이의 제어 방법
CN107688475B (zh) * 2016-08-04 2023-03-31 创盛视联数码科技(北京)有限公司 基于IOS系统软件开发包引用Swift语言类库的方法
KR102120231B1 (ko) * 2018-08-30 2020-06-16 강릉원주대학교산학협력단 상태천이 다이어그램을 통한 센서노드 프로그램 자동 생성 방법
CN109445966B (zh) * 2018-11-06 2020-11-10 网易传媒科技(北京)有限公司 事件处理方法、装置、介质和计算设备
CN110795154B (zh) * 2019-10-10 2024-02-06 深圳市证通电子股份有限公司 跨平台设备驱动方法、装置、设备及计算机可读存储介质
CN111611679B (zh) * 2020-03-30 2023-05-23 西南电子技术研究所(中国电子科技集团公司第十研究所) 传感器调度行为树模型的建模方法
CN114741256B (zh) * 2020-09-09 2022-11-25 华为终端有限公司 传感器监听方法、装置及终端设备
CN112423111A (zh) * 2020-11-05 2021-02-26 上海哔哩哔哩科技有限公司 图形引擎和适用于播放器的图形处理方法
CN117785150A (zh) * 2023-12-25 2024-03-29 北京领雁科技股份有限公司 一种基于shell脚本的策略画布构建方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020184348A1 (en) 2000-09-20 2002-12-05 Lockheed Martin Corporation Object oriented framework architecture for sensing and/or control environments
WO2006051970A1 (ja) * 2004-11-12 2006-05-18 Justsystems Corporation データ処理装置、文書処理装置、データ中継装置、データ処理方法およびデータ中継方法
US8519963B2 (en) * 2007-01-07 2013-08-27 Apple Inc. Portable multifunction device, method, and graphical user interface for interpreting a finger gesture on a touch screen display
US8037485B1 (en) * 2007-09-04 2011-10-11 Adobe Systems Incorporated Abstracting data acquisition and management
US8174502B2 (en) * 2008-03-04 2012-05-08 Apple Inc. Touch event processing for web pages
JP2009271151A (ja) * 2008-04-30 2009-11-19 Konica Minolta Business Technologies Inc 地図表示装置、地図表示方法及び地図表示プログラム
US8429707B2 (en) * 2010-08-04 2013-04-23 Verizon Patent And Licensing Inc. Method and apparatus for interacting with a set-top box based on sensor events from a user device
CN102026037A (zh) * 2010-11-25 2011-04-20 Tcl集团股份有限公司 基于widget的电视交互方法及系统及一种电视机
CN102262542B (zh) * 2011-08-16 2013-07-03 清华大学 Wsn中基于事件驱动的重编程方法及系统
CN102662646B (zh) * 2012-03-01 2015-09-23 华为技术有限公司 传感数据处理方法及计算节点

Also Published As

Publication number Publication date
CN102662646A (zh) 2012-09-12
EP2709004B1 (en) 2016-12-28
KR101617314B1 (ko) 2016-05-18
CN102662646B (zh) 2015-09-23
JP2015506020A (ja) 2015-02-26
WO2013127187A1 (zh) 2013-09-06
EP2709004A4 (en) 2014-03-19
EP2709004A1 (en) 2014-03-19

Similar Documents

Publication Publication Date Title
KR101617314B1 (ko) 감지 데이터 처리 방법 및 컴퓨팅 노드
US20130232402A1 (en) Method for Processing Sensor Data and Computing Node
US10970097B2 (en) Adaptive web-based robotic process automation
US20220318336A1 (en) Method and Terminal Device for Extracting Web Page Content
EP3069544B1 (en) Protecting privacy in web-based immersive augmented reality
Hashimi et al. Pro Android 3
US9588870B2 (en) Time travel debugging for browser components
US10303748B2 (en) Method and device for providing webpage browsing based on web browser engine kernel
AU2018257221B2 (en) Service processing method and device
US20120297341A1 (en) Modified Operating Systems Allowing Mobile Devices To Accommodate IO Devices More Convenient Than Their Own Inherent IO Devices And Methods For Generating Such Systems
KR101854975B1 (ko) 패키지 파일에 대한 기능 확장 방법 및 시스템
US11775321B2 (en) Robotic process automation with resilient playback capabilities
US11782734B2 (en) Method and system for text extraction from an application window for robotic process automation
US20100122157A1 (en) Cross-browser toolbar and method thereof
KR20180038482A (ko) 스마트 카드 판독/기입 방법 및 디바이스
US20220032457A1 (en) Robotic Process Automation with Resilient Playback of Recordings
CN113010170A (zh) 一种基于Vue3组件的页面渲染方法、装置、介质及电子设备
CN116775034A (zh) 内核观测程序的构建方法、装置及设备
CN113687880A (zh) 一种调用组件的方法、装置、设备和介质
CN115525305A (zh) 数据处理、应用启动方法、装置、计算机设备和存储介质
CN107862729B (zh) 层级动画生成方法、终端及可读存储介质
US20140372507A1 (en) Reporting Exceptions from Executing Compressed Scripts
KR20180048518A (ko) 패키지 파일에 대한 기능 확장 방법 및 시스템
WO2022166553A1 (zh) 一种实现批量系统调用的方法及装置
US20240086266A1 (en) Method of contextual annotation based on third-party application programming interfaces

Legal Events

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

Payment date: 20190328

Year of fee payment: 4