KR100903108B1 - 자율적 시스템 구성을 지원하는 상황인지 기반 시스템 및운용 방법 - Google Patents

자율적 시스템 구성을 지원하는 상황인지 기반 시스템 및운용 방법 Download PDF

Info

Publication number
KR100903108B1
KR100903108B1 KR1020060096599A KR20060096599A KR100903108B1 KR 100903108 B1 KR100903108 B1 KR 100903108B1 KR 1020060096599 A KR1020060096599 A KR 1020060096599A KR 20060096599 A KR20060096599 A KR 20060096599A KR 100903108 B1 KR100903108 B1 KR 100903108B1
Authority
KR
South Korea
Prior art keywords
software
profile
situation
platform
user system
Prior art date
Application number
KR1020060096599A
Other languages
English (en)
Other versions
KR20070061318A (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 한국전자통신연구원
Priority to JP2006331890A priority Critical patent/JP2007157165A/ja
Priority to US11/636,047 priority patent/US20070150589A1/en
Publication of KR20070061318A publication Critical patent/KR20070061318A/ko
Application granted granted Critical
Publication of KR100903108B1 publication Critical patent/KR100903108B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • 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/445Program loading or initiating
    • 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/445Program loading or initiating
    • G06F9/44589Program code verification, e.g. Java bytecode verification, proof-carrying code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명에 의한 자율적 시스템 구성을 지원하는 상황인지 기반 시스템 및 운용 방법은 시스템 소프트웨어와 플랫폼 소프트웨어를 제공하는 적어도 하나 이상의 서버와 연동하여 동작하는 사용자 시스템에 있어서, 센서가 제공하는 주변 상황 정보에 기초한 상황 프로파일에 따라 상기 사용자 시스템 운용에 필요한 적어도 하나 이상의 소프트웨어를 상기 서버로부터 다운받아 관리하는 플랫폼 매니저; 및 상기 플랫폼 매니저가 관리하는 적어도 하나 이상의 프로파일을 저장하는 프로파일 캐시;를 포함하는 것을 특징으로 하며, 하나의 사용자 시스템을 이용하여 다양한 상황에 대응할 수 있도록 시스템의 소프트웨어적인 구조를 자율적으로 변경 및 재구성할 수 있도록 하여 사용자 편이성을 극대화할 수 있다.
Figure R1020060096599
상황 인지 미들웨어, 동적 기능 확장, 자동 서비스 검색, 재설정 가능 소프트웨어

Description

자율적 시스템 구성을 지원하는 상황인지 기반 시스템 및 운용 방법{Context-awareness based system supporting autonomous system construction and method using the same}
도 1은 종래의 사용자의 직접적인 다운로드 기반 플랫폼 확장 시스템을 구성하는 일 예를 보여주는 도면이다.
도 2는 종래의 수동적 시스템 기능 확장을 수행하는 방법의 일 예를 보여주는 도면이다.
도 3은 본 발명에 따른 자율적 시스템 구성을 지원하는 상황인지 기반 시스템의 구성을 보여주는 도면이다.
도 4는 본 발명에 따른 자율적 시스템 구성을 지원하는 상황인지형 사용자 시스템의 내부 구성을 보여주는 블록도이다.
도 5는 도 4의 플랫폼 메니저의 상세 구성을 보여주는 블록도이다.
도 6은 본 발명에 따른 상황인지형 시스템의 초기화를 위한 기본 플랫폼 선택 실행 화면의 일 예를 보여주는 도면이다.
도 7은 본 발명에 따른 상황인지형 시스템의 주변 상황자동탐지 모드 실행 화면의 일 예를 보여주는 도면이다.
도 8은 본 발명에 따른 상황인지형 사용자 시스템의 운용 방법의 과정을 보 여주는 흐름도이다.
도 9는 본 발명에 따른 자율적 시스템 구성을 지원하는 상황인지 기반 시스템 의 운용 방법의 과정을 보여주는 흐름도이다.
도 10a 내지 도 10b는 도 9의 과정을 좀 더 상세하게 보여주는 흐름도이다.
본 발명은 자율적 시스템 구성을 지원하는 상황인지 기반 시스템 및 그 운용 방법에 관한 것으로서, 보다 상세하게는 센서를 기반으로 사용자 혹은 사용자 시스템이 처한 상황에 적응적으로 소프트웨어 구성을 변경할 수 있는, 자율적 시스템 구성을 지원하는 상황인지 기반 시스템 및 그 운용 방법에 관한 것이다.
본 발명에서 사용자 시스템이란 인간의 활동을 지원하여 편의를 제공할 수 있는 각종 장치를 말하며, 휴대 단말기나 개인용 로봇 등이 포함된다.
본 발명에서 시스템 소프트웨어란 사용자 시스템의 운용을 위해 필요한 기본적인 시스템 운용 소프트웨어를 말함. 예를 들어, Linux 혹은 MS Windows와 같은 운영체제(OS: Operating System)가 이에 속한다.
본 발명에서 플랫폼 소프트웨어란 사용자 시스템의 하드웨어적/시스템 소프트웨어적 특성을 응용이 알지 못하도록 투명성을 제공하기 위한 미들웨어를 말한다. 예를 들어, WIPI, JVM, OSGi, uPnP 등과 같은 미들웨어들이 있다.
일반적으로 사용자 시스템의 시스템 소프트웨어는 사용자의 선호도에 따라서 별도의 시스템 탑재 단계를 거쳐 수작업으로 설정된다. 이 단계에서 사용자의 판단에 따라 시스템 소프트웨어의 일부 기능을 삭제하거나 추가하는 행위가 이루어진다. 또한, 플랫폼 소프트웨어의 경우 다양한 시스템 하드웨어 및 시스템 소프트웨어에 대한 투명성을 제공하기 위하여 공통의 API를 응용에게 제공함으로써 응용 프로그램의 이식성을 높이고 새로운 프로그램의 개발을 용이하게 하는 장점을 가진다. 그러나, 다양한 디바이스의 개발과 응용의 출현으로 플랫폼 소프트웨어는 동적인 확장성을 갖도록 설계 및 개발되고 있다.
이해를 돕고자 도 1을 통해 확장성있는 플랫폼 소프트웨어의 모델을 제시한다. 도 1은 한국 표준무선인터넷 플랫폼인 위피 플랫폼의 구조를 도식화한 것이다.
도 1에서 도시된 바와 같이 위피(103)는 기본 API (104)와 동적 컴포넌트 (107)를 가진다. 동적 컴포넌트 (107)는 API 뿐만 아니라 실행엔지부(105)도 동적링킹라이브러리를 이용하여 업그레이드가 가능하도록 한다. HAL (106)은 하드웨어 포팅을 원활하기 위한 하드웨어 적응 계층이며, 플랫폼 확장 대상에 포함되지 않고 고정적인 구조를 갖는다. 확장 API를 다운로드하거나 응용 프로그램을 다운로드하고 관리하는 기능은 프로그램 메니져 (101)에 의해 이루어지며 사용자의 그래픽 사용자 인터페이스에 의한 명령에 의해 다운로드된다. 즉, 사용자의 의지에 의해 다운로드가 이루어지고 플랫폼 소프트웨어가 업그레이드된다.
시스템 소프트웨어(108)는 업그레이드되지 않으며, 시스템 하드웨어 (109)에 고정적이다. 즉, 시스템 소프트웨어의 지원을 받아야만 하는 새로운 플랫폼 소프트웨어의 기능을 제공하기 위해서는 시스템 소프트웨어를 변경해야하는데 변경 자체 가 불가능하다. 그리고, 플랫폼 소프트웨어를 다른 시스템 소프트웨어에 탑재하기 위해서는 플랫폼 소프트웨어의 HAL (106) 계층을 변경해야 하며 시스템의 하드웨어적인 특성에 따라 소프트웨어적인 설정값들도 변경해야한다. 이는 사용자 차원에서 할 수 없으며 시스템을 제작한 제조사가 지원해야하는 어려운 문제이다.
플랫폼 소프트웨어 및 응용 프로그램의 무결성 검증은 프로그램 메니져 (101)가 아니라 프로그램 개발 시점에서 별도의 검증도구에 의해서 수행된다.
도 2에 기존 시스템 사용자가 확장 컴포넌트를 포함해서 프로그램이나 컨텐츠를 다운로드 받기 위한 단계를 도시한다. 사용자는 그래픽 사용자 인터페이스를 이용하여 휴대 단말 (201) 상에서 다운로드 대상을 선택하면, 해당 URL의 컨텐츠 서버 (203)로부터 WAP/HTTP 프로토콜을 이용하여 대상을 다운로드한다.
따라서, 기존의 시스템의 경우에는 플랫폼 소프트웨어를 상황에 따라 자율적으로 변경하기 어려울 뿐만 아니라, 플랫폼 소프트웨어의 기반인 시스템 소프트웨어를 교체하거나 기능을 변경하는 기능이 제공되고 있지 않다. 이는 하나의 단말을 통해 다양한 상황과 서비스를 위해 사용하기를 원하는 사용자들의 요구를 충분히 충족시키지 못하는 근본적인 문제가 되고 있다.
본 발명이 이루고자 하는 기술적 과제는 상기 문제점을 해결하기 위해 제안된 것으로서, 센서를 기반으로 사용자 혹은 사용자 시스템의 주변 상황에 대한 정보를 획득함으로 자율적 시스템 구성을 지원하는 상황인지 기반 시스템 및 그 운용 방법을 제공하는데 있다.
상기의 기술적 과제를 이루기 위하여 본 발명에 의한 상황인지형 사용자 시스템은 시스템 소프트웨어와 플랫폼 소프트웨어를 제공하는 적어도 하나 이상의 서버와 연동하여 동작하는 사용자 시스템에 있어서, 센서가 제공하는 주변 상황 정보에 기초한 상황 프로파일에 따라 상기 사용자 시스템 운용에 필요한 적어도 하나 이상의 소프트웨어를 상기 서버로부터 다운받아 관리하는 플랫폼 매니저; 및 상기 플랫폼 매니저가 관리하는 적어도 하나 이상의 프로파일을 저장하는 프로파일 캐시;를 포함하는 것을 특징으로 한다.
상기의 기술적 과제를 이루기 위하여 본 발명에 의한 자율적 시스템 구성을 지원하는 상황인지 기반 시스템은 적어도 하나 이상의 센서에서 동적인 주변 상황정보를 수신하여 관리하는 사용자 시스템; 상기 사용자 시스템이 인식한 센서정보로부터 상황 프로파일 정보의 위치를 제공할 수 있는 리소스 로케이터; 사용자 혹은 사용자 시스템의 상황에 맞는 상황 프로파일을 사용자 시스템의 요청에 대응하여 제공할 수 있는 상황 프로파일 서버; 사용자 시스템이 제공하는 시스템 프로파일과 상황 프로파일을 기반으로 최적화된 소프트웨어 조합을 계산하여 서비스 프로파일을 생성하며, 산출된 서비스 프로파일에 맞는 소프트웨어를 소프트웨어 다운로드 서버로부터 다운로드하여 컴파일 후 사용자 시스템으로 다운로드해주는 플랫폼 브로커; 각종 시스템 소프트웨어, 플랫폼 소프트웨어 및 서비스 소프트웨어를 소스 수준 혹은 바이너리 수준으로 저장하고 있는 소프트웨어 다운로드 서버; 상황 변경에 따른 사용자 시스템의 소프트웨어 환경 교체 혹은 안전성을 목적으로 사용 자 시스템의 소프트웨어를 전체적으로 혹은 선택적으로 백업할 수 있도록 하는 소프트웨어 백업 서버;를 포함하는 것을 특징으로 한다.
상기의 기술적 과제를 이루기 위하여 본 발명에 의한 사용자 시스템의 운용 방법은 사용자 시스템에서 운용되는 적어도 하나 이상의 소프트웨어를 제공하는 적어도 하나 이상의 서버와 연동하여 동작하는 사용자 시스템의 운용 방법에 있어서, 기본 플랫폼에 적합한 시스템 소프트웨어를 상기 서버로부터 다운받아 설치하는 단계; 센서가 인식하는 주변 상황정보에 따라 최적화된 소프트웨어들을 상기 서버로부터 다운받아 설치한 후 기본 플랫폼 소프트웨어로 설치하고 운용하는 단계; 및 운용중에 추가로 발생하는 상황 변화에 따른 플랫폼 소프트웨어를 다운받아 상기 기본 플랫폼 소프트웨어에 포팅하여 확장 플랫폼 소프트웨어를 구성하여 운용하는 단계;를 포함하는 것을 특징으로 한다.
상기의 기술적 과제를 이루기 위하여 본 발명에 의한 사용자 시스템의 운용 방법은 센서로부터 주변 상황 정보를 획득하여 리소스 로케이터로 송신하는 단계; 상기 주변 상황 정보에 따른 상황 프로파일을 제공하는 서버의 위치를 상기 리소스 로케이터로부터 수신하는 단계; 상기 상황 프로파일 서버에 접속하여 상기 상황 프로파일을 수신하는 단계; 플랫폼 브로커가 상기 사용자 시스템으로부터 상기 상황 프로파일과 시스템 프로파일을 제공받아 서비스 프로파일을 생성하는 단계; 플랫폼 브로커가 상기 서비스 프로파일에 해당하는 소프트웨어를 다운로드 서버로부터 수신하여 사용자 시스템에 최적화하여 송신하는 단계; 및 상기 사용자 시스템이 상기 최적화된 소프트웨어를 수신하여 검증한 후 실행하는 단계;를 포함하는 것을 특징 으로 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 또한 설명의 편의를 위하여 필요한 경우에는 장치와 방법을 함께 서술하도록 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다. 도 3은 본 발명에 따른 자율적 시스템 구성을 지원하는 상황인지 기반 시스템의 구성을 보여주는 도면이고, 도 4는 본 발명에 따른 자율적 시스템 구성을 지원하는 상황인지형 사용자 시스템의 내부 구성을 보여주는 블록도이며, 도 5는 도 4의 플랫폼 메니저의 상세 구성을 보여주는 블록도이다. 그리고 도 6은 본 발명에 따른 상황인지형 시스템의 초기화를 위한 기본 플랫폼 선택 실행 화면의 일 예를 보여주는 도면이며, 도 7은 본 발명에 따른 상황인지형 시스템의 주변 상황자동탐지 모드 실행 화면의 일 예를 보여주는 도면이다. 한편 도 8은 본 발명에 따른 상황인지형 사용자 시스템의 운용 방법의 과정을 보여주는 흐름도이며, 도 9는 본 발명에 따른 자율적 시스템 구성을 지원하는 상황인지 기반 시스템 의 운용 방법의 과정을 보여주는 흐름도이고, 마지막으로 도 10a 내지 도 10b는 도 9의 과정을 좀 더 상세하게 보여주는 흐름도이다.
먼저 도 3과 도 9를 참조한다. 도 3에서 도시된 바와 같이, 센서 노드 (320) 로부터 센서 정보를 센서 인식 모듈을 통해 입력받은 상황인지형 사용자 시스템 (330)은 리소스 로케이터(340)로 그 정보를 송신하고(S901) 리소스 로케이터(340)부터 센서 정보에 따른 상황 프로파일의 인터넷상에서의 위치인 유.알.엘 (URL) 혹은 아이.피 (IP) 주소를 얻어 온다(S903). 얻어온 위치 정보를 이용하여 상황 프로파일을 저장하고 있는 상황 프로파일 서버 (350)에 접속하여, 기 획득한 센서 정보를 제시하고 이에 해당하는 상황 프로파일을 다운로드한다(S905). 사용자 시스템 (330)은 플랫폼 브로커 (360)에 접속하여 획득한 상황 프로파일과 시스템의 사양을 기술하고 있는 시스템 프로파일을 제공한다. 플랫폼 브로커 (360)는 사용자 시스템이 제공하는 시스템 프로파일과 상황 프로파일을 기반으로 최적화된 소프트웨어 조합을 계산하여 서비스 프로파일을 생성하며(S907), 산출된 서비스 프로파일에 해당하는 소프트웨어를 소프트웨어 다운로드 서버 (370) 로부터 다운로드하여 시스템 프로파일에서 기술된 시스템에 맞도록 컴파일 후 사용자 시스템 (330) 으로 전송한다(S909). 사용자 시스템에 최적화된 시스템 소프트웨어, 플랫폼 소프트웨어 및 서비스 소프트웨어를 바이너리 코드 형태로 다운로드 받은 사용자 시스템은 이를 검증 과정을 거쳐 실행함으로써 상황에 최적화된 시스템을 구성하게 된다(S911).
또한, 상황 변경에 따른 사용자 시스템의 소프트웨어 환경 교체 혹은 안전성을 목적으로 사용자 시스템의 소프트웨어를 전체적으로 혹은 선택적으로 백업할 수 있도록 하는 소프트웨어 백업 서버 (380)가 있다. 소프트웨어 백업 서버 (380)에 저장된 소프트웨어는 사용자 시스템이 많은 상황에 적응적으로 교체되면서 메모리의 한계 혹은 시스템 자체 백업을 위해서 사용되며, 소프트웨어 백업 서버 (380)에 저장하고 있는 동일한 상황 프로파일이 검색될 경우엔 사용자 시스템 (330)은 상기한 프로세스 단계를 생략하고 바로 소프트웨어 백업 서버에 접속하여 기존 소프트웨어들을 다운로드하여 매우 빠른 시스템 복원을 수행한다.
이러한 본 발명에 의한 시스템을 정리하면 다음과 같다. 사용자 시스템(330)은 적어도 하나 이상의 센서(320)에서 동적인 주변 상황정보를 수신하여 관리한다. 리소스 로케이터(340)는 상기 사용자 시스템(330)이 인식한 센서정보로부터 상황 프로파일 정보의 위치를 제공하게 된다. 상황 프로파일 서버(350)는 사용자 혹은 사용자 시스템의 상황에 맞는 상황 프로파일을 사용자 시스템(330)의 요청에 대응하여 제공한다.
플랫폼 브로커(360)는 사용자 시스템이 제공하는 시스템 프로파일과 상황 프로파일을 기반으로 최적화된 소프트웨어 조합을 계산하여 서비스 프로파일을 생성하며, 산출된 서비스 프로파일에 맞는 소프트웨어를 소프트웨어 다운로드 서버(370)로부터 다운로드하여 컴파일 후 사용자 시스템으로 다운로드해준다.
소프트웨어 다운로드 서버(370)는 각종 시스템 소프트웨어, 플랫폼 소프트웨어 및 서비스 소프트웨어를 소스 수준 혹은 바이너리 수준으로 저장하면서 상기 플랫폼 브로커(360)의 요청에 의하여 다운로드 해준다.
소프트웨어 백업 서버(380)는 상황 변경에 따른 사용자 시스템의 소프트웨어 환경 교체 혹은 안전성을 목적으로 사용자 시스템의 소프트웨어를 전체적으로 혹은 선택적으로 백업할 수 있도록 하는 기능을 수행한다.
도 4는 본 발명에 의한 자율적 시스템 구성을 지원하는 상황인지형 사용자 시스템의 내부 구성도이다. 도 3에서 전체적인 프레임워크 동작을 기술하였다면, 도 4에서는 사용자 시스템(330)을 구성하는 일 실시예를 도시한다. 사용자 시스템(330)의 하드웨어부는 일반적인 휴대단말이나 로봇등이 갖춘 시스템을 도시한 것이다. 소프트웨어부는 운영체제와 기본 플랫폼 소프트웨어 및 확장가능한 확장 서비스 소프트웨어들로 구성된다. 소프트웨어부를 제어하는 모듈이 플랫폼 메니져 (410)이며, 플랫폼 메니져가 관리하는 프로파일을 저장하는 저장소가 프로파일 캐시(420)이다. 플랫폼 메니져는 리소스 로케이터 (340), 상황 프로파일 서버 (350), 플랫폼 브로커 (360) 및 서비스 백업 서버 (380)와 위에서 상술한 바와 같이 통신한다. 플랫폼 매니저(410)는 센서가 제공하는 주변 상황 정보에 기초하여 최종적으로 생성되는 상황 프로파일에 따라 상기 사용자 시스템 운용에 필요한 적어도 하나 이상의 소프트웨어를 상기 서버로부터 다운받아 관리하며, 프로파일 캐시(420)는 상기 플랫폼 매니저(410)가 관리하는 적어도 하나 이상의 프로파일을 저장한 후 필요에 따라 제공한다. 프로파일 캐시(420)는 사용자 시스템의 사양을 기술하는 시스템 프로파일, 사용자 혹은 사용자 시스템의 주변 상황 정보를 기술하는 상황 프로파일, 그리고 상기 시스템 프로파일과 상황 프로파일을 기초로 최적화된 소프트웨어 조합에 대한 정보를 기술한 서비스 프로파일을 저장한다. 한편 도 4에서 플랫폼 매니저와 프로파일 캐시를 제외한 나머지 블록은 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구나 이해할 수 있을 것이므로 설명을 생략하도록 한다.
이제 도 5를 참조하면서 플랫폼 메니저를 보다 상세히 살펴본다. 플랫폼 매 니저(420)는 크게 몇 부분으로 구분할 수 있다. 먼저 시스템 소프트웨어와 플랫폼 소프트웨어 및 상기 주변 상황 정보에 특화되어 플랫폼 소프트웨어를 확장시킬 수 있는 서비스 소프트웨어를 다운로드받는 다운로드부(590), 다운로드된 상기 소프트웨어들을 검증하는 적합성 검증부(520), 검증이 완료된 소프트웨어의 실행 제어를 수행하는 소프트웨어 실행 제어부(510), 그리고 상기 소프트웨어 적합성 검증부(520)과 소프트웨어 실행 제어부(510)부터 발생되는 오류 상황을 처리하여 그 결과를 출력하는 오류제어부(570)으로 소프트웨어 실행부(미도시)를 형성한다.
그 다음으로, 사용자 시스템(330)의 주변 상황 정보를 센서로부터 획득하는 센서 데이터 해석부(540), 그리고 상기 프로파일 캐시(420)가 저장하는 프로파일들을 액세스하고 관리하는 프로파일관리부(550)로 이루어진다.
또한 플랫폼 매니저(410)는 사용자 시스템과 상기 서버들과의 인터페이스를 제공하는 통신처리부(580)와 상기 플랫폼 매니저(410) 및 프로파일 캐시(420)의 제어를 담당하는 서비스 관리 모듈(560)을 포함한다.
그리고 플랫폼 메니저는 사용자 시스템이 기본적으로 구동할 수 있는 부트코드 (530)를 구비하고 있어야 한다. 왜냐하면 시스템 초기 상황에서는 시스템을 운용해야하는 기본적인 운용체제가 없는 상황이며, 플랫폼 브로커 (360)와 통신하여 상기한 바대로 소프트웨어를 설치하기 위해서는 부트코드(530)를 포함하고 있어야 한다. 부트 코드는 센서인식 모듈과 시스템의 네트워크 모듈을 이용할 수 있는 드라이버를 플랫폼 브로커(60)로부터 다운로드할 수 있도록 티.에프.티.피 (TFTP)와 같은 간단한 파일 전송 프로토콜을 내장하고 있어야 한다. 센서 인식 기능 및 네트워크 기능 등을 포함한 기본적인 시스템 구동이 가능해진 상태에서, 초기 설정 단계를 수행한다. 보다 자세한 초기 설정 절차는 도 10에서 기술한다. 센서 데이터 해석부(540)는 사용자 시스템의 통신처리부(580)와 통신을 수행하여 주변 센서(595)로부터 센서 정보를 인식한다. 이때 통신처리부(580)는 RFID, 지그비 또는 블루투스를 포함하는 무선 프로토콜로 주변 센서(595)와 통신을 수행할 수 있다. 인식된 센서 정보는 서비스 관리 모듈 (560)에 의해 리소스 로케이터(340)로 전송되어 상황 프로파일의 인터넷상에서의 위치인 유.알.엘 (URL) 혹은 아이.피 (IP) 주소를 얻어 온다. 서비스 관리 모듈 (560)은 획득한 상황 프로파일 서버의 주소로부터 상황 프로파일을 얻기 위해서 다운로드부(590)로 상황 프로파일 서버의 주소와 명령을 전달한다. 이외에도 다운로드부(590)은 서비스 관리 모듈(560)의 명령에 따라 플랫폼 브로커(360), 서비스 백업 서버(380) 등과 통신하면서 필요한 데이터를 다운로드하여 서비스 관리 모듈(560)에게 전달한다. 프로파일 관리부(550)은 사용자 시스템의 프로파일과 상황 프로파일 및 서비스 프로파일을 관리한다. 소프트웨어 적합성 검증부(520)은 다운로드된 소프트웨어의 검증을 담당하며 시스템에 탑재된 소프트웨어를 소프트웨어 테스트 케이스를 기반으로 적합성 테스트를 수행한다. 이는 명령과 응답의 형태로 특정 테스트 케이스를 실행시켰을 때 다운로드된 소프트웨어가 반응하지 않거나 오동작의 여부를 진단하게 된다. 오류 발생시에는 오류제어부(570)에 의해 오류 처리가 일어나며 최종적인 오류보고를 서비스 관리 모듈(560)에게 전달한다. 오류제어 모듈에 의해 문제가 발생하지 않거나 실행 가능한 정도의 오류를 보유한 것으로 평가된 소프트웨어는 서비스 관리 모듈에 의해 실행명령이 소프트웨어 실행제어부(510)로 전달되어 다운로드 소프트웨어를 최종 실행하게 된다. 시스템 외부와의 통신은 통신처리부 (580)가 담당하며 시리얼 통신 및 TCP/IP 프로토콜 통신 방식을 지원한다.
도 8을 참조하면서 도 5의 구성하에서 사용자 시스템의 운용 과정을 살펴본다.
먼저 사용자 시스템을 구동할 수 있는 부트코드를 구비하고(S801), 선택할 수 있는 기본 플랫폼을 적어도 하나 이상 사용자에게 제시하고 그 응답으로 선택된 것을 기본 플랫폼으로 선정한 후에 그 기본 플랫폼에 해당하는 시스템 소프트웨어를 위에서 상술한 과정 즉 서버들에게 요청하여 수신한 후, 상기 시스템 소프트웨어로 시스템 포팅을 수행하고 상기 시스템 소프트웨어를 검증한 후 실행한다(S803).
이렇게 준비된 상황에서 센서로부터 획득한 상기 주변 상황 정보에 해당하는 상황 프로파일을 수신하여, 상기 상황 프로파일과 사용자 시스템의 사양을 서버에 제공하고 그에 따라 생성된 사용자 시스템에 최적화된 소프트웨어를 수신하여, 검증한 후 실행한다(S805).
이제 마지막으로, 운용중에 추가로 발생하는 상황 변화에 따른 플랫폼 소프트웨어를 다운받아 상기 기본 플랫폼 소프트웨어에 포팅하여 확장 플랫폼 소프트웨어를 구성하여 운용하게 된다(S807).
도 6에서는 사용자 시스템의 초기화 단계에서 시스템을 설정하기 위한 기본 플랫폼을 선택하기 위한 그래픽 사용자 인터페이스의 일실시예를 제시한다. 시스템 프로파일을 기초로 사용자 시스템의 초기화를 자동으로 수행할 수도 있으나, 사용자의 필요에 의해 도 6과 같이 다양한 기본 플랫폼들 중에서 사용자가 직접 선택할 수도 있다. 실선의 사각형에 포함된 아이템이 우선권을 갖는 기본 플랫폼을 의미하며 점선으로 표시된 플랫폼들은 적용가능한 플랫폼들을 의미한다.
도 7은 사용자 시스템이 상황인식기능을 통해 인식한 상황정보들을 의미한다. 단일 상황 프로파일이 결정될 수도 있으며, 다중 상황 프로파일이 선택될 수도 있다. 도 7에서는 차량내 사용자가 탑승하여 텔레메틱스 단말로 동작하려는 상황과 동시에 생체 센서에 의한 바이오센서가 활성화되어 인간의 몸을 탐지하려는 상황이 인식된 것을 의미한다. 나머지 점선 내에 포함된 상황 프로파일들은 인식되지는 않았으나, 기존에 인식되어 소프트웨어 백업 서버에 소프트웨어가 등록되어 있는 상황 프로파일들을 의미한다.
도 10a 내지 도 10b는 상황인지에 의한 자율적 시스템 구축 단계의 흐름을 도시한 것이다. 초기 시스템을 가동시키게 되면 시스템 초기화 단계 (S1001)에 진입하여 플랫폼 메니저를 구동하게 된다. 이 때, 기본 플랫폼 선택단계 (S1003)에 들어가며, 이는 도 6에서 도시한 사용자 인터페이스가 실행되는 것을 의미한다. 사용자는 시스템의 기본 플랫폼을 제시된 아이템들 중에서 자동으로 혹은 수동으로 선택한다 (S1005). 최종적으로 선택된 기본 플랫폼의 시스템 소프트웨어를 다운로드하기 위해 플랫폼 브로커 (360)로 선택된 기본 플랫폼에 해당하는 시스템 프로파일을 전송한다. 플랫폼 브로커 (360)는 제시된 시스템 프로파일에 적합한 시스템 소프트웨어를 다운로드 서버 (370)로부터 다운로드하여 컴파일한다. 생성된 시스템 소프트웨어의 바이너리코드를 사용자 시스템(330)에 전달한다 (S1007). 서비스 관리 모듈 (560)은 시스템 포팅을 수행한 후(S1009) 소프트웨어 검증단계를 수행시켜 적합성을 확인한 후 (S1011) 소프트웨어 실행 제어 모듈에게 소프트웨어 실행을 명령한다 (S1013).
사용자 시스템(330)의 플랫폼 소프트웨어를 구성하기 위해 서비스 관리 모듈 (560)은 센서 인식 모듈(미도시)을 통해 주변 상황을 검색한다(S1015). 그 결과로 단일 혹은 다중의 활성화된 상황 정보를 확보하게 된다 (S1017). 사용자의 선택에 의해 혹은 자동적으로 추출된 상황정보를 통해 상황 프로파일을 구성한다 (S1019). 서비스 관리 모듈 (560)은 상황 프로파일과 시스템 프로파일을 플랫폼 브러커 (360)에게 전달하여 필요한 플랫폼 소프트웨어를 구성하도록 요구한다. 플랫폼 브로커 (360)는 제시된 시스템 프로파일에 적합한 플랫폼 소프트웨어를 다운로드 서버 (370)로부터 다운로드하여 컴파일한다. 생성된 플랫폼 소프트웨어 바이너리코드를 사용자 시스템에 전달한다 (S1021). 서비스 관리 모듈 (560)은 선택된 플랫폼 소프트웨어를 시스템 소프트웨어에 포팅한 후(S1023) 소프트웨어 검증단계를 수행시켜 적합성을 확인한 후 (S1025) 소프트웨어 실행 제어부(510)에게 소프트웨어 실행을 명령한다 (S1027).
서비스 소프트웨어 다운로드는 추가적으로 인식되는 상황 프로파일이 현재의 상황 프로파일을 기반으로 추가되는 경우에 발생된다. 동일한 상황 프로파일에 해당하는 플랫폼 소프트웨어가 사용자 시스템에서 실행되고 있는 상황에서 추가적으로 선택된 상황 정보에 따른 플랫폼 소프트웨어는 상기 기본 플랫폼 소프트웨어와 동일한 단계를 거쳐서 다운로드되고 (S1029), 확장 플랫폼으로 구성된 후 (S1031) 소프트웨어의 적합성을 검증(S1033)을 거쳐, 최종적으로 확장 플랫폼을 시스템 소 프트웨어 상에서 실행하는 단계를 수행한다 (S1035).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 의한 자율적 시스템 구성을 지원하는 상황인지 기반 시스템 및 운용 방법은 하나의 사용자 시스템을 이용하여 다양한 상황에 대응할 수 있도록 시스템의 소프트웨어적인 구조를 자율적으로 변경 및 재구성할 수 있도록 하여 사용자 편이성을 극대화할 수 있다.

Claims (18)

  1. 소프트웨어를 제공하는 서버와 연동하여 동작하는 상황인지형 사용자 시스템에 있어서,
    센서가 제공하는 주변 상황 정보에 기초한 상황 프로파일에 따라 상기 사용자 시스템 운용에 필요한 소프트웨어를 상기 서버로부터 다운받아 관리하는 플랫폼 매니저; 및
    상기 플랫폼 매니저가 관리하는 프로파일을 저장하는 프로파일 캐시;를 포함하며,
    상기 플랫폼 매니저는
    상기 사용자 시스템의 주변 상황 정보를 획득하는 센서 데이터 해석부;
    상기 프로파일 캐시가 저장하는 프로파일들을 액세스하고 관리하는 프로파일관리부; 및
    상기 소프트웨어를 수신하여 실행하는 소프트웨어 실행부;를 포함하고,
    상기 프로파일 캐시는
    사용자 시스템의 사양을 기술하는 시스템 프로파일, 사용자 혹은 사용자 시스템의 주변 상황 정보를 기술하는 상황 프로파일, 또는 상기 시스템 프로파일과 상기 상황 프로파일을 기초로 조합되는 소프트웨어 조합에 대한 정보를 기술한 서비스 프로파일 중 적어도 어느 하나를 저장하는 것을 특징으로 하는 상황인지형 사용자 시스템.
  2. 삭제
  3. 제1항에 있어서, 상기 소프트웨어 실행부는
    시스템 소프트웨어와 플랫폼 소프트웨어 또는 상기 주변 상황 정보에 특화되어 플랫폼 소프트웨어를 확장시킬 수 있는 서비스 소프트웨어 중 적어도 어느 하나를 다운로드받는 다운로드부;
    다운로드된 상기 소프트웨어들을 검증하는 적합성 검증부;
    검증이 완료된 상기 소프트웨어의 실행 제어를 수행하는 소프트웨어 실행 제어부; 및
    상기 소프트웨어 적합성 검증부와 상기 소프트웨어 실행 제어부로부터 발생되는 오류 상황을 처리하여 그 결과를 출력하는 오류제어부;를 포함하는 것을 특징으로 하는 상황인지형 사용자 시스템.
  4. 제1항에 있어서, 상기 플랫폼 매니저는
    상기 사용자 시스템과 상기 서버와의 인터페이스를 제공하는 통신처리부; 및
    상기 플랫폼 매니저 및 상기 프로파일 캐시의 제어를 담당하는 서비스 관리 모듈;을 더 포함하는 것을 특징으로 하는 상황인지형 사용자 시스템.
  5. 삭제
  6. 삭제
  7. 사용자 시스템이 인식한 센서정보로부터 상황 프로파일 정보의 위치를 제공할 수 있는 리소스 로케이터;
    사용자 혹은 상기 사용자 시스템의 상황에 맞는 상황 프로파일을 상기 사용자 시스템의 요청에 대응하여 제공할 수 있는 상황 프로파일 서버;
    상기 사용자 시스템이 제공하는 시스템 프로파일과 상기 상황 프로파일을 기초로 소프트웨어 조합을 계산하여 서비스 프로파일을 생성하며, 상기 생성된 서비스 프로파일에 맞는 소프트웨어를 소프트웨어 다운로드 서버로부터 다운로드하여 컴파일 후 상기 사용자 시스템으로 다운로드해주는 플랫폼 브로커;
    각종 시스템 소프트웨어, 플랫폼 소프트웨어 또는 서비스 소프트웨어 중 적어도 어느 하나를 소스 수준 혹은 바이너리 수준으로 저장하고 있는 소프트웨어 다운로드 서버; 및
    상기 사용자 시스템의 소프트웨어를 전체적으로 혹은 선택적으로 백업할 수 있도록 하는 소프트웨어 백업 서버;를 포함하며,
    상기 플랫폼 브로커는
    상황인지형 사용자 시스템이 제공하는 시스템 프로파일과 상황 프로파일을 기초로 소프트웨어 조합을 계산하여 서비스 프로파일을 생성하는 서비스 프로파일 생성부; 및
    상기 생성된 서비스 프로파일에 맞는 소프트웨어를 소프트웨어 다운로드 서버로부터 다운로드하여 컴파일한 후 상기 사용자 시스템으로 송신하는 소프트웨어 송신부;를 포함는 것을 특징으로 하는 자율적 시스템 구성을 지원하는 상황인지 기반 시스템.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 소프트웨어를 제공하는 서버와 연동하여 동작하는 상황인지형 사용자 시스템의 운용 방법에 있어서,
    (a) 기본 플랫폼에서 운용되는 시스템 소프트웨어를 상기 서버로부터 다운받아 설치하는 단계;
    (b) 센서가 인식하는 주변 상황정보에 따라 운용되는 소프트웨어들을 상기 서버로부터 다운받아 설치한 후 기본 플랫폼 소프트웨어로 설치하고 운용하는 단계; 및
    (c) 운용중에 추가로 발생하는 상황 변화에 따른 플랫폼 소프트웨어를 다운받아 상기 기본 플랫폼 소프트웨어에 포팅하여 확장 플랫폼 소프트웨어를 구성하여 운용하는 단계;를 포함하는 것을 특징으로 하는 상황인지형 사용자 시스템의 운용 방법.
  13. 제12항에 있어서,
    상기 (a)단계 이전에 상기 사용자 시스템을 구동할 수 있는 부트코드를 구비하는 단계;를 더 포함하는 것을 특징으로 하는 상황인지형 사용자 시스템의 운용 방법.
  14. 제12항에 있어서, 상기 (a)단계는
    (a1) 선택할 수 있는 기본 플랫폼을 적어도 하나 이상 사용자에게 제시하고 그 응답으로 선택된 것을 기본 플랫폼으로 선정하는 단계;
    (a2) 상기 기본 플랫폼에 해당하는 시스템 소프트웨어를 수신하는 단계; 및
    (a3) 상기 시스템 소프트웨어로 시스템 포팅을 수행하고 상기 시스템 소프트웨어를 검증한 후 실행하는 단계;를 포함하는 것을 특징으로 하는 상황인지형 사용자 시스템의 운용 방법.
  15. 제12항에 있어서, 상기 (b)단계는
    (b1) 센서로부터 획득한 상기 주변 상황 정보에 해당하는 상황 프로파일을 수신하는 단계; 및
    (b2) 상기 상황 프로파일과 사용자 시스템의 사양을 상기 서버에 제공하고 그에 따라 생성된 사용자 시스템에서 운용될 소프트웨어를 수신하여 검증한 후 실행하는 단계;를 포함하는 것을 특징으로 하는 상황인지형 사용자 시스템의 운용 방법.
  16. (a) 센서로부터 주변 상황 정보를 획득하여 리소스 로케이터로 송신하는 단계;
    (b) 상기 주변 상황 정보에 따른 상황 프로파일을 제공하는 서버의 위치를 상기 리소스 로케이터로부터 수신하는 단계;
    (c) 상기 상황 프로파일 서버에 접속하여 상기 상황 프로파일을 수신하는단계;
    (d) 상기 상황 프로파일과 시스템 프로파일을 플랫폼 브로커에 제공하는 단계;
    (e) 상기 플랫폼 브로커로부터 상기 상황 프로파일과 상기 시스템 프로파일에 해당하는 소프트웨어를 수신하여 검증한 후 실행하는 단계;를 포함하는 것을 특징으로 하는 상황인지형 사용자 시스템의 운용 방법.
  17. 제16항에 있어서,
    백업서버에 상기 소프트웨어를 전체적으로 혹은 선택적으로 백업하는 단계;를 더 포함하는 것을 특징으로 하는 상황인지형 사용자 시스템의 운용 방법.
  18. 삭제
KR1020060096599A 2005-12-08 2006-09-29 자율적 시스템 구성을 지원하는 상황인지 기반 시스템 및운용 방법 KR100903108B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006331890A JP2007157165A (ja) 2005-12-08 2006-12-08 自律的なシステム構成を支援する状況認知基盤システム及び運用方法
US11/636,047 US20070150589A1 (en) 2005-12-08 2006-12-08 Context-awareness based system supporting autonomous system construction and method of operating the system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050119523 2005-12-08
KR20050119523 2005-12-08

Publications (2)

Publication Number Publication Date
KR20070061318A KR20070061318A (ko) 2007-06-13
KR100903108B1 true KR100903108B1 (ko) 2009-06-16

Family

ID=38357249

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060096599A KR100903108B1 (ko) 2005-12-08 2006-09-29 자율적 시스템 구성을 지원하는 상황인지 기반 시스템 및운용 방법

Country Status (1)

Country Link
KR (1) KR100903108B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10054921B2 (en) 2014-03-04 2018-08-21 Electronics And Telecommunications Research Institute Apparatus and method for adaptively controlling a target system according to operating environment

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110117748A (ko) * 2010-04-22 2011-10-28 (주) 버드랜드소프트웨어 사용자 인식 기반 멀티미디어 시스템 제공방법 및 그 시스템
KR101417194B1 (ko) * 2010-10-06 2014-07-09 한국전자통신연구원 식별자 관리 서버, 응용 서비스 플랫폼, 센서노드의 식별자를 이용한 장치 인식 방법 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040076583A (ko) * 2003-02-26 2004-09-01 마이크로소프트 코포레이션 통지를 제공하기 위한 네트워크 프레임워크 및 어플리케이션

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040076583A (ko) * 2003-02-26 2004-09-01 마이크로소프트 코포레이션 통지를 제공하기 위한 네트워크 프레임워크 및 어플리케이션

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10054921B2 (en) 2014-03-04 2018-08-21 Electronics And Telecommunications Research Institute Apparatus and method for adaptively controlling a target system according to operating environment

Also Published As

Publication number Publication date
KR20070061318A (ko) 2007-06-13

Similar Documents

Publication Publication Date Title
JP2007157165A (ja) 自律的なシステム構成を支援する状況認知基盤システム及び運用方法
JP6941743B2 (ja) 機械学習モデルパッケージの生成および展開
US9418367B2 (en) Context-aware code provisioning for mobile devices
EP3732566B1 (en) Dynamically deploying a component in an application
JP4625213B2 (ja) 周辺装置に関連する情報にアクセスする方法およびシステム
CN102577318B (zh) 用于应用范围管理的方法和装置
US8775578B2 (en) Providing hardware updates in a software environment
US8782204B2 (en) Monitoring hardware resources in a software provisioning environment
US9880836B2 (en) System and method for deploying a software program
US9124497B2 (en) Supporting multiple name servers in a software provisioning environment
US8417926B2 (en) Systems and methods for providing configuration management services from a provisioning server
US7996830B2 (en) Programming model generic application deployment
JP5171790B2 (ja) 情報処理装置、通信システムおよびプログラム
US8924920B2 (en) Providing a software appliance based on a role
JP6728691B2 (ja) ソフトウェア及びファームウェアダウンロード及びインストール支援計算処理システム及びソフトウェアダウンロード支援方法
US20100057833A1 (en) Methods and systems for centrally managing multiple provisioning servers
US20150227356A1 (en) Adaptive deployment of applications for mobile devices
US20100223367A1 (en) Systems and methods for integrating software provisioning and configuration management
US20090007097A1 (en) Product install and configuration providing choice of new installation and re-use of existing installation
JP6232431B2 (ja) 自動車ヘッドユニットを伴った通信およびサービスを提供するためのシステム、方法、および物品
CN104246699A (zh) 云应用的动态插件
CN111367534B (zh) 一种基于应用环境的服务编排方法及系统
US8589912B2 (en) Loosely coupled product install and configuration
US20100223607A1 (en) Systems and methods for abstracting software content management in a software provisioning environment
WO2014206054A1 (en) Systems and methods for pushing applications

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee