[go: up one dir, main page]

KR20050085837A - 디바이스상의 레지스트리-기반 자동 설치 및 구성요소처리를 위한 시스템 - Google Patents

디바이스상의 레지스트리-기반 자동 설치 및 구성요소처리를 위한 시스템 Download PDF

Info

Publication number
KR20050085837A
KR20050085837A KR1020057011583A KR20057011583A KR20050085837A KR 20050085837 A KR20050085837 A KR 20050085837A KR 1020057011583 A KR1020057011583 A KR 1020057011583A KR 20057011583 A KR20057011583 A KR 20057011583A KR 20050085837 A KR20050085837 A KR 20050085837A
Authority
KR
South Korea
Prior art keywords
component
processor
logic
action
instructions
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020057011583A
Other languages
English (en)
Other versions
KR101119432B1 (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 KR20050085837A publication Critical patent/KR20050085837A/ko
Application granted granted Critical
Publication of KR101119432B1 publication Critical patent/KR101119432B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 디바이스상의 레지스트리-기반 자동 설치 및 구성요소 처리를 위한 시스템에 관한 것이다. 디바이스상의 구성요소를 자동으로 처리하기 위한 방법이 제공되며, 상기 구성요소는 선택된 구성요소 형태를 갖는다. 이러한 방법은 디바이스에 구성요소 처리기를 설치하는 단계를 포함하며, 상기 구성요소 처리기는 선택된 구성요소 형태를 가지는 구성요소들을 처리하도록 동작할 수 있다. 상기 방법은 또한 동작 리스트를 분석하여 디바이스에 의해 처리될 구성요소를 식별하는 구성요소/동작 쌍을 획득하는 단계 및 디바이스에 구성요소를 다운로드하는 단계를 포함한다. 상기 방법은 또한 구성요소가 선택된 구성요소 형태를 가지는지를 결정하는 단계 및 상기 선택된 구성요소 형태를 사용하여 구성요소를 처리하기 위한 구성요소 처리기를 작동하는 단계를 포함한다.

Description

디바이스상의 레지스트리-기반 자동 설치 및 구성요소 처리를 위한 시스템 {SYSTEM FOR REGISTRY-BASED AUTOMATIC INSTALLATION AND COMPONENT HANDLING ON A DEVICE}
본 출원은 2002년 12월 20일 출원된 미국특허출원 60/435,486 "자동-설치"를 우선권으로 하며, 여기서는 참조로서 전체적으로 인용된다.
본 출원은 또한 2002년 12월 20일 출원된 미국특허출원 60/435,828 "레지스트리-기반 자동 설치 구성요소 처리"를 우선권으로 하며, 여기서는 참조로서 전체적으로 인용된다.
본 발명은 디바이스상의 구성요소들의 처리 특히, 디바이스상의 레지스트리-기반 자동 설치 및 구성요소 처리를 위한 시스템에 관한 것이다.
데이터 네트워크는 여러 네트워크-가능 디바이스를 사용하여 서로에 대해 통신하기 위해 다수의 사용자에 대한 방법을 제공한다. 예를 들어, 무선 통신 네트워크에서, 여러 네트워크-가능 휴대용 전화는 사용자들이 장거리를 통해 서로 통신할 수 있도록 한다. 네트워크-가능 디바이스는 디바이스가 동작하는 방법, 궁극적으로는 전체 네트워크가 수행되는 방법을 제어하는 여러 설치된 구성요소로 구성된다.
특정 상황에서, 네트워크 운용자는 네트워크-가능 디바이스의 구성을 업그레이드, 설치, 삭제 또는 그렇지 않을 경우 변경하고자 할 것이다. 예를 들어, 시스템 소프트웨어의 개발에 따라, 네트워크 운용자는 네트워크가 더욱 효율적으로 동작하도록 네트워크내 모든 디바이스상에 설치된 새로운 구성요소를 가지고자 할 것이다. 예를 들어, 네트워크 운용자는 개선된 서비스 또는 업그레이드를 제공하기 위해 디바이스상에 애플리케이션 소프트웨어, 이진 수행 가능 또는 다른 정보를 설치하고자 할 것이다. 다른 상황에서, 네트워크 운용자는 특정 형태의 디바이스의 필요성에 기초하여 사업체 애플리케이션 또는 다른 디바이스 업그레이드 애플리케이션을 설치하고자 할 것이다. 더욱이, 만일 현재 설치된 시스템 구성요소에 문제가 존재하는 것으로 검사되면, 네트워크 운용자는 문제점을 해결하고자, 디바이스 사용자가 문제가 존재함을 알고 있는지에 관계없이 업그레이드된 구성요소를 설치하고자 할 것이다. 예를 들어, 만일 사용자가 멀티미디어 콘텐츠를 시청하도록 하는 현재 디바이스 구성요소에 문제가 존재한다면, 네트워크 운용자는 문제점을 가지지 않은 새로운 구성요소로 이들 구성요소를 대체하기 위해 네트워크상의 모든 디바이스를 업그레이드하고자 할 것이다.
디바이스상의 구성요소를 설치, 업그레이드, 삭제 또는 그렇지 않을 경우 변경시키는데 사용되는 하나의 기술은 디바이스 사용자가 수리점에 디바이스를 돌려보내는 것을 기다리는 것이다. 수리점에서 수리원이 디바이스를 재프로그램할 수 있다면 그 결과 디바이스는 가장 최근 구성요소 버전을 가진다. 불행히도, 이러한 프로세스는 만일 문제점을 인식하지 못할 때 또는 그들이 디바이스를 사용한 방법에 현재까지는 영향을 주지 않았다면, 디바이스 사용자는 디바이스의 회수시키지 않을 것이기 때문에 매우 비효율적이다. 모든 디바이스가 업그레이드되지 않기 때문에, 몇몇 디바이스는 최상의 성능을 제공하도록 동작하지 않을 것이고, 전체 네트워크 동작은 저하된다.
그러므로, 선택된 구성요소 버전이 설치되고 작동되도록 하기 위해 디바이스상의 구성요소를 자동으로 처리하는 시스템이 필요하다. 시스템은 비교적 짧은 시간동안 다수의 디바이스상에서 구성요소를 처리하기에 충분히 융통적이어야 하며, 이에 따라 네트워크상의 모든 디바이스에 대해 빠른 업그레이드를 제공하고, 이는 최상의 디바이스 성능 및 증가된 네트워크 효율을 가져온다.
도 1은 디바이스상의 구성요소들을 자동으로 처리하기 위한 시스템의 일 실시예를 도시한다.
도 2는 구성요소를 자동으로 처리하는 시스템의 일 실시예를 포함하는 디바이스의 기능적인 다이어그램을 도시한다.
도 3은 디바이스상의 구성요소를 자동으로 처리하는 시스템을 제공하기 위해 디바이스를 동작시키기 위한 방법의 일 실시예를 도시한다.
도 4는 특정 구성요소 형태들에 동작하도록 설계된 구성요소 처리기들을 처리하도록 디바이스를 동작시키는 방법의 일 실시예를 도시한다.
도 5는 특정 구성요소 형태들에 동작하도록 설계된 구성요소 처리기들을 처리하도록 디바이스를 동작시키는 방법의 다른 실시예를 도시한다.
도 6는 디바이스상의 구성요소들을 자동으로 처리하기 위한 시스템의 일 실시예의 동작 동안 다운로드 서버와 디바이스 사이에서 발생하는 거래들을 도시한다.
도 7은 디바이스상의 구성요소들을 자동으로 처리하기 위해 시스템내에서 사용되는 동작 리스트의 일 실시예를 도시한다.
하나 이상의 실시예에 따르면, 디바이스상의 구성요소를 자동으로 처리하기 위한 시스템이 제공된다. 예를 들어, 일 실시예에서, 시스템은 디바이스가 다운로드 서버상에서 사용될 수 있는 버전의 동작 리스트를 사용하여 디바이스상의 구성요소의 상태를 설치, 업데이트, 작동, 디스에이블(disable), 재호출 또는 그렇지 않을 경우 변경하도록 한다. 예를 들어, 처리될 수 있는 구성요소는 임의 형태의 애플리케이션, 수행가능, 구성 정보, 사용자 인터페이스 설정, 랜덤 데이터 또는 임의의 다른 형태의 정보를 가진다.
시스템 운용 동안, 디바이스는 디바이스에 의해 처리된 최종 동작 리스트와 관련된 저장된 버전에 대해 다운로드 서버로 동작 리스트의 버전을 검사한다. 만일 두 버전이 상이하면, 디바이스는 서버로부터 새로운 동작을 다운로드하고 디바이스상의 구성요소를 처리하기 위해 동작 리스트내 각각의 아이템을 분석한다. 일 실시예에서, 동작 리스트내 각각의 아이템은 구성요소 식별자를 동작 식별자와 연관시키는 구성요소/동작 쌍을 포함한다. 구성요소 식별자는 한 형태의 구성요소와 그 현재 버전을 식별한다. 동작 식별자는 식별된 구성요소에 대해 디바이스에 의해 수행될 동작을 식별한다.
일 실시예에서, 디바이스는 동작이 식별된 구성요소에 대해 수행될 필요가 있는지를 결정하기 위해 동작 리스트내 각각의 구성요소/동작 쌍을 분석한다. 디바이스는 동작 리스트내 구성요소의 버전을 디바이스상에 저장된 구성요소 버전과 비교한다. 만일 두 개의 구성요소 버전이 동일하면, 디바이스는 그 구성요소/동작 쌍에 대해 어떠한 동작도 수행하지 않는다. 만일 버전이 상이하면, 디바이스는 동작 리스트내 구성요소와 관련된 동작을 수행한다. 예를 들어, 동작이 식별된 구성요소를 설치하였다면, 디바이스는 구성요소를 다운로드하고 다운로드 서버로부터 다른 필요한 정보를 다운로드하며, 디바이스상에 구성요소를 설치한다. 따라서, 디바이스는 새로운 구성요소 버전에 대해서만 등록된 동작을 수행하는 동작 리스트를 통해 단계를 진행한다.
특정 구성요소/동작 쌍을 처리한 이후, 디바이스상에 저장된 구성요소 버전은 동작 리스트내에 제공된 새로운 버전으로 업데이트된다. 전체 동작 리스트가 처리될 때, 디바이스는 동작 리스트의 버전 식별자를 기록하고 그 결과 이후 현재 동작 리스트내 재처리를 방지한다. 따라서, 디바이스는 다운로드 서버상에서 사용 가능한 동작 리스트의 버전이 디바이스상에 저장된 버전과 다를 때까지 다른 동작을 처리하지 않을 것이다.
일 실시예에서, 디바이스는 다운로드 서버와 디바이스가 통신할 때마다 동작 리스트의 버전을 검사한다. 예를 들어, 디바이스는 주기적 간격으로 디바이스에 전력이 공급된 이후 다운로드 서버와 통신한다. 시스템은 어떠한 사용자 대화없이 또는 제한된 사용자 대화로 디바이스상에서 구성요소가 처리되도록 하는 메커니즘을 제공한다. 예를 들어, 일 실시예에서, 구성요소는 "무음 설치"를 효율적으로 제공하기 위해 전력이 올려진 상태에서 디바이스에 푸싱된다. 다른 실시예에서, 사용자 인터페이스는 구성요소 처리가 사용자의 선택에 의하도록 제공된다. 따라서, 시스템은 구성요소 처리가 강제되고, 프롬프트되며, 필요하거나 또는 선택적이 되도록 한다.
시스템은 단일 디바이스 또는 다수의 디바이스상에서 구성요소를 처리하는데 사용된다. 예를 들어, 다수의 디바이스가 동작 리스트 서버를 접속할 수 있는 데이터 네트워크에서, 단일 동작 리스트는 모든 디바이스에 전달되고 각각의 디바이스는 그 디바이스에 대한 처리를 위해 어떤 구성요소가 처리할지를 결정할 수 있다. 다른 실시예에서, 서버는 다른 디바이스 형태에 대해 사용될 수 있는 다수의 동작 리스트를 제공한다. 예를 들어, 다른 형태의 디바이스는 그 형태의 디바이스에 대한 구성요소를 처리하기 위해 다른 동작 리스트에 접속한다. 따라서, 시스템은 다수의 디바이스에 대해 구성요소를 처리하는 것이 가능하고, 여기서 업데이트는 각각의 디바이스가 동작 리스트 서버와 접속할 때 시간 주기 또는 일자(days) 주기동안 수행된다. 추가로, 서버와 디바이스 사이의 통신은 암호 또는 임의 형태의 인코딩과 같은 임의 형태의 안정된 통신 기술을 사용하여 수행될 수 있고, 그 결과 디바이스는 인증될 수 있으며 정보에 대한 임의의 전송은 안정된 방식으로 수행된다.
일 실시예에서, 시스템은 구성요소 형태에 기초하여 구성요소들을 위한 디바이스 지원을 부가하는 능력을 제공한다. 구성요소 "처리기"가 제공되며, 특정 구성요소 형태(즉, 특정 "다용도 인터넷 메일 확장"(MIME) 형태)를 갖는 구성요소를 처리하도록 설계된다. 처리기는 애플리케이션이며 구성요소의 데이터를 절약 및 수용하도록 실행가능하다. 예를 들어, 시스템은 선택된 MIME 형태를 갖는 구성요소들을 처리하도록 설계된 구성요소 처리기를 다운로드 및 설치하도록 동작할 수 있다. 일 실시예에서, 구성요소 처리기는 디바이스의 동작 시스템 레지스트리내에 등록된다. 처리기가 설치되면, 시스템은 선택된 형태를 갖는 구성요소를 다운로드할 수 있고, 관련된 처리기는 구성요소를 처리하도록 작동될 것이다. 따라서, 구성요소 처리기들은 동작 시스템 계층들에 내장되지 않으며, 따라서, OEM에 의해 제공되거나, 제 3자에 의해 제공될 수 있으며, 또는 동적으로 다운로드/업그레이드될 수 있다. 이는 새로운 구성요소 형태들이 디바이스상에 제작후 처리되도록 할 뿐만 아니라 새로운 메카니즘들이 새로운 구성요소 형태들을 적절히 처리하도록 한다.
일 실시예에서, 디바이스상의 구성요소를 자동으로 처리하기 위한 방법이 제공되며, 상기 구성요소는 선택된 구성요소 형태를 갖는다. 이러한 방법은 디바이스상에 구성요소 처리기를 설치하는 단계를 포함하며, 상기 구성요소 처리기는 선택된 구성요소 형태를 가지는 구성요소들을 처리하도록 동작할 수 있다. 상기 방법은 또한 동작 리스트를 분석하여 디바이스에 의해 처리될 구성요소를 식별하는 구성요소/동작 쌍을 획득하는 단계 및 디바이스에 구성요소를 다운로드하는 단계를 포함한다. 상기 방법은 또한 구성요소가 선택된 구성요소 형태를 가지는지를 결정하는 단계 및 상기 선택된 구성요소 형태를 사용하여 구성요소를 처리하기 위한 구성요소 처리기를 작동하는 단계를 포함한다.
일 실시예에서, 디바이스상의 구성요소를 자동으로 처리하기 위한 장치가 제공되며, 상기 구성요소는 선택된 구성요소 형태를 갖는다. 이러한 장치는 디바이스상에 구성요소 처리기를 설치하기 위한 로직을 포함하며, 상기 구성요소 처리기는 선택된 구성요소 형태를 가지는 구성요소들을 처리하도록 동작할 수 있다. 상기 장치는 또한 동작 리스트를 분석하여 디바이스에 의해 처리될 구성요소를 식별하는 구성요소/동작 쌍을 획득하기 위한 로직 및 디바이스에 구성요소를 다운로드하기 위한 로직을 포함한다. 상기 장치는 또한 구성요소가 선택된 구성요소 형태를 가지는지를 결정하기 위한 로직 및 상기 선택된 구성요소 형태를 사용하여 구성요소를 처리하기 위한 구성요소 처리기를 작동하기 위한 로직을 포함한다.
일 실시예에서, 디바이스상의 구성요소를 자동으로 처리하기 위한 장치가 제공되며, 상기 구성요소는 선택된 구성요소 형태를 갖는다. 이러한 장치는 디바이스상에 구성요소 처리기를 설치하기 위한 수단을 포함하며, 상기 구성요소 처리기는 선택된 구성요소 형태를 가지는 구성요소들을 처리하도록 동작할 수 있다. 상기 장치는 또한 동작 리스트를 분석하여 디바이스에 의해 처리될 구성요소를 식별하는 구성요소/동작 쌍을 획득하기 위한 수단 및 디바이스에 구성요소를 다운로드하기 위한 수단을 포함한다. 상기 장치는 또한 구성요소가 선택된 구성요소 형태를 가지는지를 결정하기 위한 수단 및 상기 선택된 구성요소 형태를 사용하여 구성요소를 처리하기 위한 구성요소 처리기를 작동하기 위한 수단을 포함한다.
일 실시예에서, 디바이스내의 로직을 처리하여 실행될 때 디바이스상의 구성요소를 자동으로 처리하도록 동작하는 지시들을 포함하는 컴퓨터-판독가능한 매체가 제공되며, 상기 구성요소는 선택된 구성요소 형태를 갖는다. 이러한 컴퓨터-판독가능한 매체는 디바이스상에 구성요소 처리기를 설치하기 위한 지시를 포함하며, 상기 구성요소 처리기는 선택된 구성요소 형태를 가지는 구성요소들을 처리하도록 동작할 수 있다. 상기 컴퓨터-판독가능한 매체는 또한 동작 리스트를 분석하여 디바이스에 의해 처리될 구성요소를 식별하는 구성요소/동작 쌍을 획득하기 위한 지시 및 디바이스에 구성요소를 다운로드하기 위한 지시를 포함한다. 상기 컴퓨터-판독가능한 매체는 또한 구성요소가 선택된 구성요소 형태를 가지는지를 결정하기 위한 지시 및 상기 선택된 구성요소 형태를 사용하여 구성요소를 처리하기 위한 구성요소 처리기를 작동하기 위한 지시를 포함한다.
본 발명의 다른 특징, 장점 및 특성이 이러한 개요에 부가하여 도면에 대한 간단한 설명, 상세한 설명 및 청구항에 개시된 바에 의해 명확해질 것이다.
여기서 설명된 실시예의 이상의 특정 및 부가적인 장점이 첨부된 도면을 참조할 때 이하의 설명을 통해 더욱 명확해질 것이다.
디바이스상의 구성요소들을 자동으로 처리하기 위해서 시스템의 실시예들이 상술된다. 본 시스템은 통신 네트워크, 인터넷, 사설 네트워크, 가상 사설 네트워크(VPN), 로컬영역 네트워크, 광역 네트워크, 장거리 네트워크, 또는 임의의 다른 타입의 데이터 네트워크를 포함하는 임의의 유선 또는 무선 네트워크에서 사용되는데 적합하다. 본 시스템은 구성요소들을 다운로드 및 설치할 수 있는 임의의 장치와 함께 사용하는 것이 또한 적합하다. 예를 들어, 본 시스템은 사무실 컴퓨터, 노트북 컴퓨터, 및 휴대용 장치(PDA, 핸드폰 등)와 함께 사용하는 것이 적합하다.
하나 이상의 실시예들에서, 본 시스템은 장치 특정 자원들에 대해 일반화된 호출들을 실행하는 실행 환경과 상호작용한다. 이러한 실행 환경 중 하나는 퀄컴사에 의해 개발된 WirelessTM(BREWTM) 용 이진 실행 환경이다. 다음 설명에서, 장치들은 BREW 소프트웨어 플랫폼과 같은 실행 환경에서 실행되는 것으로 가정한다. 그러나, 본 시스템의 다른 실시예들은 다양한 유선 및 무선 장치들상의 구성요소들을 자동으로 처리하기 위해서 다른 타입의 실행환경을 사용할 수 있다.
도1은 장치상의 구성요소들을 자동으로 처리하기 위한 시스템(100)의 일 실시예를 보여주는 도이다. 본 시스템(100)은 서버(102), 데이터 네트워크(104), 및 디바이스(106)를 포함한다. 데이터 네트워크(104)는 서버(102) 및 디바이스(106) 사이에서 정보가 통신될 수 있도록 하여 주는 임의의 유선 또는 무선 네트워크 일 수 있다. 예를 들어, 네트워크(104)는 통신 네트워크, 광역 네트워크, 가상 사설 네트워크, 또는 인터넷과 같은 공용 네트워크일 수 있다.
하나 또는 그 이상의 실시예들에서, 시스템은 디바이스(106)상의 구성요소들을 처리하도록 동작한다. 예를 들어, 서버(102)는 구성요소(112), 동작 리스트(110), 동작 리스트 버전 식별자(108) 및 구성요소 처리기(120)를 포함한다. 버전 식별자(108)는 동작 리스트(110)의 현재 버전을 식별한다. 동작 리스트(110)는 구성요소/동작 쌍들을 포함하고, 각각의 쌍은 구성요소 식별자 및 동작 식별자를 포함한다. 구성요소 식별자는 특정 구성요소를 식별하는 고유 아이템 ID 이다. 구성요소 식별자의 일부는 구성요소의 버전을 식별하는데 사용된다. 예를 들어, 구성요소 식별자는 일련의 비트들이며, 비트들의 일부는 구성요소의 버전을 식별하는데 사용된다. 동작 식별자는 설치, 업데이트, 삭제, 재호출, 디스에이블, 또는 식별된 구성요소에 대해 디바이스(106)가 수행할 다른 동작들과 같은 특정 동작을 식별한다.
구성요소 처리기(120)는 선택된 구성요소 형태들을 처리하도록 설계된다. 예를 들어, 일 실시예에서, 구성요소 처리기들은 선택된 MIME 형태들을 가지는 구성요소들을 처리하도록 설계된다. 구성요소 처리기들은 디바이스(106)에 설치될 수 있고, 디바이스의 동작 시스템 레지스트리에 등록될 수 있다. 설치된 구성요소 처리기들은 상응하는 포맷 형태들을 가지는 구성요소들을 처리하도록 작동된다.
동작기간동안, 서버(102)는 네트워크(104)를 통해 동작 리스트 버전 식별자(108)를 디바이스(106)로 전송한다. 예를 들어, 디바이스(106)는 파워 업 기간동안 서버(102)와 접촉하고, 서버(102)는 동작 리스트 버전 식별자(108)를 디바이스(106)로 전송함으로써 응답한다. 또다른 실시예에서, 서버(102)는 동작 리스트의 새로운 버전이 다운로드를 위해 사용가능한 경우에 디바이스(106)와 접촉한다. 예를 들어, 일 실시예에서, 새로운 동작 리스트가 사용가능하다면, 서버(102)는 디바이스(106)에 동작 리스트 버전 식별자(114)를 포함하는 메세지를 전송한다. 디바이스(106)는 버전 식별자(108)를 저장된 버전 식별자(114)와 비교하고, 저장된 버전 식별자(114)는 디바이스(106)에 의해 처리된 최종 동작 리스트의 버전을 표현한다. 다운로드된 버전(108) 및 저장된 버전(114)이 동일하면, 디바이스는 디바이스상의 기존 구성요소(116)들에 대한 임의의 설치 또는 변경등을 수행할 필요가 없다. 그러나 다운로드된 버전(108)이 저장된 버전(114)과 상이하면, 디바이스(106)는 추가적인 구성요소 처리가 필요하다는 것을 인지한다. 예를 들어, 디바이스(106)상에 설치될 필요가 있는 서버(102)상의 새로운 구성요소들이 존재할 수 있다.
디바이스(106)가 동작 리스트의 새로운 버전이 존재함을 검출하면, 디바이스(106)는 새로운 동작 리스트(110)를 획득하기 위해서 서버(102)로 요청을 전송한다. 서버(102)는 디바이스(106)로 동작 리스트(110)를 전송함으로써 응답한다. 그리고 나서, 디바이스(106)는 동작 리스트(110)에서 식별된 구성요소들을 설치, 업데이트, 삭제, 또는 재처리하기 위해서 동작 리스트(110)를 처리한다.
디바이스(106)는 각각의 구성요소/동작 쌍을 통해 스태핑하고, 각각의 구성요소들에 대해 동작을 수행할지의 여부를 결정함으로써 동작 리스트(110)를 처리하도록 동작한다. 예를 들어, 구성요소가 설치 또는 업데이트될 필요가 있음을 동작 리스트가 규정하면, 디바이스(106)는 구성요소(112) 및 서버(102)로부터 요청되는 다른 파일들을 다운로드하고 이를 디바이스(106)상에 설치한다. 구성요소가 삭제될 필요가 있음을 동작 리스트(110)가 규정하면, 디바이스(106)는 그 구성요소를 삭제한다. 따라서, 동작 리스트(110)내의 각각의 구성요소/동작 쌍은 식별된 구성요소를 자동으로 설치, 업데이트, 삭제하도록 디바이스(106)에 의해 처리된다. 동작 리스트는 임의의 길이를 가질 수 있으며, 동작 리스트 처리후에, 디바이스(106)는 저장된 동작 리스트 버전 식별자(114)를 업데이트하여 가장 최근에 처리된 동작 리스트의 버전을 저장한다.
일 실시예에서, 디바이스(106)는 특정 구성요소에 관련된 동작이 수행될 필요가 있는지 여부를 결정하기 위해서 동작 리스트(110)내의 구성요소/동작 쌍들을 분석(parse)한다. 예를 들어, 디바이스(106)는 이미 설치된 구성요소의 가장 새로운 버전을 이미 가지고 있을 수 있고, 따라서 장치가 그 구성요소를 재설치하는 것이 불필요할 수도 있다. 일 실시예에서, 동작 리스트(110)의 구성요소 식별자는 구성요소의 버전을 결정하기 위한 정보를 포함한다. 예를 들어, 버전 정보는 구성요소 식별자의 끝에 첨부될 수 있다. 디바이스(106)는 저장된 구성요소 버전(118)을 동작 리스트(110)에서 다운로드된 구성요소 버전과 비교한다. 저장 및 다운로드된 구성요소 버전들이 동일하면, 장치는 그 구성요소와 관련된 어떠한 조치도 취할 필요가 없다. 그러나 저장 및 다운로드된 구성요소 버전들이 상이하면, 디바이스(106)는 동작 리스트의 그 구성요소와 관련된 동작을 수행한다. 따라서, 디바이스(106)는 구성요소들의 새로운 버전들만을 처리하기 때문에, 시스템은 매우 효율적이다.
일 실시예에서, 동작 리스트는 특정 구성요소 처리기(120)가 디바이스(106)에 설치되었는지를 식별하는 구성요소/동작 쌍을 포함한다. 구성요소 처리기(120)는 특정 구성요소 형태를 갖는 구성요소들을 처리하도록 설계된다. 예를 들어, 구성요소 형태가 파일의 포맷을 식별하는 MIME 형태일 수 있다. 일 실시예에서, 특정 형태는 구성요소 형태의 시작부에 추가된 문자(character)들의 스트링으로서 제공될 수 있다. 본질적으로, 구성요소 형태는 컴포넌트의 데이터가 처리되는 방법을 규정한다.
구성요소/동작 쌍의 분석에 응답하여, 디바이스는 서버(102)로부터 구성요소 처리기(120)를 다운로드하고, 구성요소 처리기(120)를 디바이스의 설치된 구성요소 처리기들(122)의 일부로 설치한다. 구성요소 처리기(120)가 디바이스(106)내에 설치되면, 디바이스의 동작 시스템 레지스트리내에 등록되어 상응하는 구성요소 형태를 갖는 구성요소들을 처리하도록 작동될 것이다. 예를 들어, 동작 시스템 레지스트리는 처리기가 URL들, 문서들, 이미지들, 및 다른 데이터 파일들과 같은 특정 구성요소 형태들을 처리하도록 사용될 것인지를 식별한다.
구성요소 처리기(120)가 디바이스(106)에 설치된 후에, 구성요소 처리기(120)는 선택된 구성요소 형태를 갖는 임의의 구성요소들을 처리하도록 동작한다. 일 실시예에서, 시스템은 구성요소 처리기를 설치하여 아직 설치되지 않은 구성요소를 처리한다. 예를 들어, 시스템은 디바이스상의 구성요소들을 자동으로 처리하기 위해 하기의 단계들을 수행한다.
1. 디바이스상에 구성요소 처리기를 설치하여 특정 구성요소 형태를 처리한다.
2. 특정 구성요소 형태를 가지는 디바이스에 데이터 구성요소를 다운로드한다.
3. 구성요소 처리기를 사용하여 데이터 구성요소를 처리한다.
따라서, 시스템은 새로운 구성요소들의 버전이 서버(102)로부터 다운로드되어 디바이스(106)상에서 처리되도록 동작한다. 구성요소들은 선택된 구성요소 형태들을 처리하도록 동작하는 구성요소 처리기들을 포함할 수 있다. 디바이스상에서 새로운 구성요소 형태를 처리하기 위해, 새로운 구성요소 처리기는 먼저 동작 시스템 레지스트리내에 설치되고, 이후에 새로운 구성요소를 처리하도록 작동된다.
도2는 디바이스(200)상의 구성요소들을 자동으로 처리하기 위한 시스템의 일 실시예를 포함하는 디바이스(200)의 기능적 다이어그램이다. 상기 장치는 처리 로직(208), 비교 로직(206), 기능 로직(214), 버전 업데이트 로직(224), 저장된 동작 리스트 버전 식별자(ALVI;204), 구성요소 버전 식별자(CVI;212), 설치된 구성요소 처리기들(230) 및 설치된 구성요소(226)를 포함한다. 디바이스(200)에 의해 제공되는 상술된 로직 및 기능들은 하드웨어, 소프트웨어, 또는 이들의 결합에 의해 구현될 수 있다. 예를 들어, 하나 또는 그 이상의 실시예들에서, 도 2에 도시된 기능적인 엘리먼트들은 CPU, 프로세서, 게이트 어레이, 하드웨어 로직, 메모리 엘리먼트, 가상 머신, 소프트웨어, 및/또는 소프트웨어와 하드웨어의 임의의 조합을 포함한다. 따라서, 처리 로직(208)은 일반적으로 여기서 기술되는 기능들을 수행하기 위해 기계 판독가능 지시들을 실행하는 로직을 포함한다. 디바이스(200)는 단지 일 실시예를 보여줄 뿐이며, 상기 장치 엘리먼트들의 변경, 추가, 또는 재배치가 가능하다.
도3은 디바이스(200)상의 구성요소들을 자동으로 처리하기 위한 시스템을 제공하기 위해, 디바이스(200)와 같은 디바이스를 동작시키는 방법(300)에 관한 일 실시예를 보여주는 도이다. 명확화를 위해서, 방법(300)은 도2의 디바이스(200)를 참조하여 기술될 것이다. 디바이스(200)는 도1에 제시된 데이터 네트워크를 통해 다운로드 서버와의 안전한 통신이 이뤄짐이 가정된다.
블록(302)에서, 디바이스는 다운로드 서버로부터 동작 리스트 버전 식별자를 획득한다. 예를 들어, 디바이스는 데이터 네트워크를 통해 다운로드 서버와 통신하고, 다운로드 서버는 202에서 제시된바와 같이, 동작 리스트 버전 식별자를 디바이스로 전송한다.
블록(304)에서, 디바이스에 의해 처리될 최종 동작 리스트와 관련된 저장된 버전 식별자와 다운로드된 동작 리스트 식별자가 상이한지 여부에 대한 테스트가 수행된다. 예를 들어, 다운로드된 버전 식별자(202) 및 저장된 버전 식별자(204)는 이들이 동일한지의 여부를 식별하기 위해서 2개의 식별자들을 비교하는 비교 로직(206)으로 입력된다. 2개의 버전이 동일하면, 방법은 블록(302)으로 복귀하여 다른 시간에서 새로운 버전의 동작 리스트를 획득한다. 2개의 버전 식별자들이 상이하면(Diff), 상기 방법은 블록(306)으로 진행한다.
블록(306)에서, 장치는 다운로드된 서버로부터 동작 리스트를 검색한다. 예를 들어, 동작 리스트(210)는 서버로부터 처리 로직(208)으로 데이터 네트워크를 통해 다운로드된다.
블록(308)에서, 장치는 동작 리스트의 제1 구성요소/동작 쌍을 분석함으로써 동작 리스트의 처리를 개시한다. 예를 들어, 처리 로직(208)은 구성요소/동작 쌍들을 분석하기 위해서 다운로드된 동작 리스트(210)를 처리하도록 동작한다.
블록(310)에서, 현재 처리되는 구성요소/동작 쌍에 대해 임의의 경우에 어떠한 동작이 필요한지에 대한 결정 테스트가 수행된다. 일 실시예에서, 디바이스는 블록(312)으로 진행함으로써 동작을 자동으로 수행하도록 동작한다. 그러나 이로 인해 현재 존재하는 구성요소들이 디바이스에 재설치될 수 있다. 또 다른 실시예에서, 구성요소의 버전이 동작이 필요한지 여부를 결정하기 위해서 검사된다. 예를 들어, 동작이 구성요소를 "설치"하라는 것이면, 디바이스가 현재 설치된 구성요소의 버전을 갖는지를 검사하기 위해서 구성요소가 검사된다. 따라서, 본 방법은 장치상에 이미 장착된 구성요소들의 재-설치를 방지하도록 동작한다. 예를 들어, 처리 로직(208)은 저장된 구성요소 버전 식별자(212)를 검색하고, 이를 동작 리스트에서 식별된 구성요소의 버전과 비교한다. 일 실시예에서, 구성요소 버전은 동작 리스트에 제공되는 구성요소 식별자에 통합된다. 2개의 구성요소 식별자들이 동일하면, 어떠한 추가 동작도 그 구성요소와 관련되어 요구되지 않으며, 상기 방법은 블록(416)으로 진행한다. 2개의 구성요소 버전들이 상이하면, 처리 로직(208)은 그 구성요소와 관련된 동작을 수행하도록 동작하고, 상기 방법은 블록(312)으로 진행한다.
블록(312)에서, 현재 구성요소/동작 쌍의 구성요소와 관련된 동작이 식별된 구성요소의 상태를 변경시키기 위해 수행된다. 예를 들어, 처리 로직(208)은 식별된 구성요소의 설치, 업데이트, 삭제, 작동, 디스에이블, 재호출 또는 기타 변경의 동작을 수행하기 위해서 동작 로직(214)을 제어하도록 동작한다. 예를 들어, 소프트 재호출(recall)은 구성요소가 그 장치로부터 삭제되지만, 관련 데이터 및/또는 라이센싱 정보가 삭제되는 않는 경우에 수행될 수 있다. 예를 들어, 동작이 구성요소를 설치 또는 업데이트하는 것이면, 처리 로직(208)은 데이터 네트워크를 통해 다운로드 서버로부터 구성요소(222)를 다운로드(또는 업데이트)하도록 동작한다. 다운로드된 구성요소는 그리고 나서 설치된 구성요소(226)로서 설치된다. 처리 로직(208)은 임의의 타입의 설치 또는 업데이트 절차를 수행하여 설치된 구성요소(226)로서 다운로드된 구성요소(222)를 설치 또는 업데이트할 수 있다. 동작이 구성요소는 삭제하는 것이면, 처리 로직(208)은 삭제 로직(220)을 제어하여 설치된 구성요소(226)로부터 식별된 구성요소를 삭제한다. 비록 도2 및 3에는 제시되어 있지 않지만, 실제로 설치, 업데이트, 재호출, 작동 및 작동해제 등을 포함하는 임의의 동작들이 수행될 수 있다.
블록(314)에서, 구성요소 버전 리스트는 구성요소의 버전이 설치 또는 업데이트 또는 삭제되었다는 것을 반영하기 위해서 업데이트된다. 예를 들어, 처리 로직(208)은 현재 처리되는 구성요소에 대한 새로운 정보를 통해 저장된 구성요소 버전 식별자(212)를 업데이트하도록 버전 업데이트 로직(224)을 제어한다.
블록(316)에서, 동작 리스트의 구성요소/동작 쌍들 모두가 처리되었는지에 대한 테스트가 수행된다. 만약 모든 쌍들이 처리되었다면, 블럭(320)으로 진행한다. 만약 모든 쌍들이 처리되지 않았다면, 방법은 블럭(318)으로 진행하며, 블럭(310)에서 처리를 위해 다음 쌍이 액세스된다. 동작 리스트(210)는 임의의 길이가 될 수 있고, 따라서, 처리될 임의의 개수의 구성요소/동작 쌍들이 존재할 수 있다.
블럭(320)에서, 저장된 동작 리스트 버전 식별자가 디바이스에서 업데이트된다. 예를 들어, 처리 로직(208)은 업데이트 버전 로직(224)을 제어하여 저장된 동작 리스트 버전 식별자(204)를 가장 최근에 처리된 동작 리스트와 연관된 식별자로 업데이트한다. 따라서, 시스템은 새로운 버전의 동작 리스트가 유효할 때까지 또다른 동작 리스트를 처리하도록 동작하지 않을 것이다.
일 실시예에서, 디바이스상의 컴포넌트들을 자동으로 처리하기 위한 시스템은 컴퓨터 판독가능한 매체에 저장된 프로그램 지시들을 포함하며, 상기 컴퓨터 판독가능한 매체는 처리 로직(208)에 의해 실행될 때, 본 명세서에 개시된 기능들을 제공한다. 예를 들어, 지시들은 플로피 디스크, CD ROM, 메모리 카드, 플래시 메모리 디바이스, RAM, ROM, 또는 임의의 다른 형태의 메모리와 같은 컴퓨터 판독가능한 매체 또는 디바이스(200)에 접속하는 컴퓨터 판독가능한 매체로부터 디바이스(200)로 로딩될 수 있다. 또다른 실시예에서, 지시들은 데이터 네트워크를 통해 디바이스(200)에 접속하는 네트워크 자원으로부터 디바이스(200)로 다운로드될 수 있다. 지시들은 처리 로직(208)에 의해 실행될 때, 본 명세서에 개시된 것과 같은 디바이스상의 구성요소들을 자동으로 처리하기 위한 하나 또는 그이상의 실시예들을 제공한다.
방법(300)은 단지 하나의 실시예를 설명하며, 상기 방법 요소들의 변경, 부가, 또는 재조정들이 본 발명의 사상을 벗어나지 않고 수행될 수 있음에 유의하여야 한다.
도 4는 특정 구성요소 형태들에 동작하도록 설계된 구성요소 처리기들을 처리하기 위한 디바이스를 동작하는 방법(400)의 일 실시예를 도시한다. 명확함을 위해, 방법(400)은 도 2에 도시된 디바이스(200)와 관련하여 설명될 것이다. 방법(300)은 동작 리스트를 다운로드하기 위해 사용되고 전술된 것과 같은 구성요소들을 처리하는 것으로 가정될 것이다. 방법(400)은 또한, 시스템이 특정 구성요소 형태들에 동작하도록 설계된 구성요소 처리기들을 처리하도록 동작하는 방법을 설명한다. 하나 또는 그이상의 실시예들에서, 하기의 방법 단계들은 프로그램 지시들의 실행동안 처리 로직(208)에 의해 수행된다.
블럭(402)에서, 시스템은 다운로드된 동작 리스트로부터 획득된 구성요소/동작 쌍을 분석한다. 예를 들어, 동작 리스트는 도 3의 블럭(306)과 관련하여 설명된 것과 같이 획득될 수 있다.
블럭(404)에서, 구성요소/동작 쌍과 관련하여 임의의 동작이 수행되어야 하는지의 여부를 결정하는 테스트가 수행된다. 예를 들어, 구성요소/동작 쌍내의 구성요소의 버전은 저장된 구성요소 버전과 비교되고, 만약 두 버전들이 상이하면, 식별된 구성요소와 관련하여 상응하는 동작이 수행될 것이다.
블럭(406)에서, 임의의 동작이 수행되고 있다고 가정할 때, 식별된 구성요소가 구성요소 처리기인지 결정하는 테스트가 수행된다. 구성요소 처리기는 선택된 구성요소 형태에 동작하도록 설계된 프로그램이다. 만약 구성요소가 구성요소 처리기인 것으로 결정되면, 방법은 블럭(408)으로 진행한다.
블럭(408)에서, 식별된 구성요소 처리기는 디바이스에 다운로드된다. 예를 들어, 구성요소 처리기(228)는 서버(102)와 같은 서버로부터 다운로드될 수 있다.
블럭(410)에서, 구성요소 처리기는 디바이스상에 설치된다. 예를 들어, 구성요소 처리기는 디바이스의 동작 시스템 레지스트리내에 특정 구성요소 형태를 갖는 구성요소들에 동작하는 애플리케이션으로서 등록된다. 일 실시예에서, 동작 시스템 레지스트리는 처리 로직(208)의 일부분이다. 등록 이후에, 구성요소 처리기(228)는 디바이스(200)상에 설치된 구성요소 처리기들(230)의 일부가 된다.
블럭(412)에서, 설치된 구성요소 처리기의 버전 식별자는 디바이스상에 위치된 저장된 구성요소 버전 식별자 내에서 업데이트된다. 예를 들어, 업데이트 버전 로직(224)이 저장된 구성요소 버전 식별자들(212)을 최근에 설치된 구성요소 처리기(228)의 버전으로 업데이트한다. 방법(400)은 그후에 다음의 구성요소/동작 쌍을 분석하기 위해 블럭(402)으로 진행한다.
하기의 설명에 대하여, 블럭들(402 및 404)은 후속 구성요소/동작 쌍을 분석하여 구성요소가 디바이스에서 처리될 것인지를 식별하는 것으로 가정된다.
블럭(406)에서, 식별된 구성요소가 구성요소 처리기인지를 결정하는 테스트가 수행된다. 만약 구성요소가 구성요소 처리기가 아니라면, 방법은 블럭(414)으로 진행한다.
블럭(414)에서, 구성요소는 디바이스에 다운로드된다. 예를 들어, 처리 로직(208)은 서버(일반적으로 (222)에 도시된)로부터 구성요소를 다운로드한다.
블럭(416)에서, 구성요소의 포맷 형태가 결정된다. 예를 들어, 구성요소는 구성요소내의 정보의 포맷 및/또는 정보가 처리되어야 하는 방법을 지시하는 다른 포맷의 선택된 MIME 형태를 가질 수 있다.
블럭(418)에서, 구성요소 형태와 관련된 구성요소 처리기는 구성요소를 처리하도록 작동된다. 예를 들어, 동작 시스템 레지스트리는 구성요소 처리기가 선택된 구성요소 형태를 처리하도록 사용되어야 한다고 결정하기 위해 사용된다. 레지스트리에 의해 식별된 처리기는 구성요소를 처리하도록 작동된다. 예를 들어, 처리 로직(208)은 구성요소를 처리하기 위해 설치된 구성요소 처리기들(230) 중 하나를 작동시킨다.
블럭(420)에서, 작동된 구성요소 처리기는 구성요소를 처리한다. 예를 들어, 구성요소 처리기는 디바이스상의 구성요소를 설치, 삭제, 업데이트, 작동, 데이터 통합하거나 디바이스상의 구성요소의 상태를 변경하도록 동작할 수 있다.
블럭(422)에서, 디바이스상에 저장된 구성요소 버전 식별자는 새로운 구성요소 버전으로 업데이트된다. 예를 들어, 업데이트 버전 로직(224)은 디바이스에 저장된 구성요소 버전 식별자들(212)을 업데이트한다. 방법은 그후에 블럭(402)에서 다음 구성요소/동작 쌍을 처리하도록 진행한다.
그러므로, 방법(400)은 구성요소 처리기를 다운로드 및 설치하여 이후에 다운로드된 구성요소를 처리하는데 사용되도록 동작한다. 처리기는 특정 구성요소 형태를 처리하도록 설계되면, 설치될 때, 디바이스의 레지스트리내에 등록된다. 특정 형태를 갖는 구성요소가 디바이스상에서 처리될 때, 레지스트리는 처리기를 작동하여 구성요소에서 요구되는 처리를 수행하도록 사용된다. 디바이스상의 구성요소 버전 식별자는 업데이트된다.
또다른 실시예에서, 구성요소 처리기(228) 및 연관된 구성요소는 서로다른 동작 리스트들을 사용하여 디바이스(200)에 다운로드된다. 예를 들어, 제 1 동작 리스트는 구성요소 처리기를 다운로드 및 설치하는데 사용되고, 제 2 동작 리스트는 구성요소를 처리하는데 사용되며, 이전에 설치된 구성요소 처리기는 구성요소를 처리한다.
또다른 실시예에서, 구성요소 처리기(228)는 임의의 다른 설치 기술을 사용하여 디바이스(200)에 설치된다. 예를 들어, 구성요소 처리기는 다운로드로부터의 개별 전송을 사용하여 설치될 수 있거나, 구성요소 처리기는 로컬 시스템 또는 디바이스로부터 설치될 수 있다. 그러나 구성요소 처리기가 설치되면, 동작 시스템 레지스트리내에 등록되고, 상응하는 구성요소를 처리하도록 사용된다.
도 5는 특정 구성요소 형태들에 동작하도록 설계된 구성요소 처리기들을 처리하기 위한 디바이스를 동작하는 방법(500)의 일 실시예를 도시한다. 명확함을 위해, 방법(500)은 도 2에 도시된 디바이스(200)와 관련하여 설명될 것이다. 방법(300)은 동작 리스트를 다운로드하기 위해 사용되고 전술된 것과 같은 구성요소들을 처리하는 것으로 가정될 것이다. 방법(500)은 또한, 시스템이 특정 구성요소 형태들에 동작하도록 설계된 구성요소 처리기들을 처리하도록 동작하는 방법을 설명한다. 하나 또는 그이상의 실시예들에서, 하기의 방법 단계들은 프로그램 지시들의 실행동안 처리 로직(208)에 의해 수행된다.
블럭(502)에서, 동작 리스트는 디바이스에서 처리될 구성요소/동작 쌍을 획득하기 위해 분석된다. 블럭(504)에서, 식별된 구성요소와 관련하여 임의의 동작이 수행되어야 하는지의 여부를 결정하는 테스트가 수행된다. 만약, 디바이스에서 식별된 구성요소의 상태를 변경하는 동작이 요구되면, 방법은 블럭(506)으로 진행한다.
블럭(506)에서, 구성요소를 처리하기 위해 요구되는 구성요소 처리기가 결정된다. 예를 들어, 일 실시예에서, 동작 리스트내의 구성요소 처리기는 구성요소의 형태를 식별하는 "형태" 식별자를 포함한다. 처리 로직(208)은 구성요소를 처리하기 위해 요구되는 구성요소 처리기를 결정하기 위해 "형태" 식별자를 사용한다.
블럭(508)에서, 요구되는 구성요소 처리기가 디바이스에 현재 존재하는지를 결정하는 테스트가 수행된다. 예를 들어, 처리 로직(208)은 요구되는 처리기가 설치되었는지를 결정하기 위해 설치된 구성요소 처리기들(226)을 검사한다. 만약 요구되는 처리기가 설치되었으면, 방법은 블럭(516)으로 진행한다. 만약 요구되는 처리기가 설치되지 않았으면, 방법은 블럭(510)으로 진행한다.
블럭(510)에서, 요구되는 구성요소 처리기는 디바이스에 다운로드된다. 예를 들어, 일 실시예에서, 처리 로직(208)은 다운로드 서버로부터 구성요소 처리기(228)를 다운로드한다. 디바이스에 구성요소 처리기를 다운로드하기 위해 임의의 기술이 사용될 수 있다.
블럭(512)에서, 처리기는 디바이스에 설치된다. 예를 들어, 처리기는 동작 시스템 레지스트리내에 등록되어 선택된 구성요소 형태들을 처리하도록 작동될 수 있다. 블럭(514)에서, 저장된 처리기 버전이 업데이트된다. 예를 들어, 업데이트 버전 로직(224)은 저장된 구성요소 버전 식별자들(212)을 업데이트한다. 방법은 블럭(516)으로 진행한다.
블럭(516)에서, 식별된 구성요소는 디바이스로 다운로드된다. 예를 들어, 처리 로직(208)은 다운로드 서버로부터 식별된 구성요소를 다운로드한다.
블럭(518)에서, 새롭게 설치된 처리기는 다운로드된 구성요소를 처리하도록 작동된다. 예를 들어, 처리 로직(208)은 설치된 구성요소 처리기들(230) 중 어느 것이 구성요소를 처리하도록 작동하는지를 결정하기 위해 레지스트리를 사용한다. 결과적으로, 새롭게 설치된 구성요소 처리기는 구성요소를 처리하도록 작동될 것이다.
블럭(520)에서, 구성요소 처리기는 디바이스상의 구성요소의 상태를 변경하기 위해 디바이스상의 구성요소를 처리한다. 예를 들어, 구성요소 처리기는 디바이스상의 구성요소를 설치, 삭제, 업데이트, 작동, 데이터 통합하거나 디바이스상의 구성요소의 상태를 변경하도록 동작할 수 있다.
블럭(522)에서, 디바이스의 저장된 버전 식별자는 업데이트된다. 예를 들어, 업데이트 버전 로직(224)은 저장된 구성요소 버전 식별자들(212)을 업데이트한다. 방법은 그후에 블럭(502)에서 다음 구성요소/동작 쌍을 분석하도록 진행한다.
그러므로 방법(500)은 요구되는 구성요소 처리기가 구성요소를 처리하는데 사용가능한지를 결정하도록 동작한다. 만약 구성요소 처리기가 디바이스에 설치되지 않으면, 처리기는 다운로드 서버로부터 다운로드되고, 설치되며, 이후에 다운로드된 구성요소를 처리하도록 사용된다. 처리기는 특정 구성요소 형태를 처리하도록 설계되고, 설치되면, 디바이스의 레지스트리내에 등록된다. 특정 형태를 갖는 구성요소가 디바이스상에서 처리되기 위한 것이면, 레지스트리는 구성요소에 요구되는 처리를 수행하기 위해 정확한 처리기를 작동시키도록 동작된다. 디바이스상의 구성요소 버전 식별자는 그후에 업데이트된다.
도 6는 디바이스상의 구성요소들을 자동으로 처리하기 위해 사용되는 시스템의 일 실시예의 동작동안 다운로드 서버와 디바이스 사이에서 발생하는 거래(600)들을 도시한다. 예를 들어, 거래(600)는 도 1에 도시된 디바이스(106)와 서버(102) 사이에서 발생한다.
자동 처리의 시작에서, 디바이스(106)는 (602)에 도시된 것과 같이, 서버(102)로부터 동작 리스트의 최종 버전 식별자를 요청한다. 동작 리스트는 각각의 식별된 구성요소에 대하여 디바이스가 수행해야하는 동작을 설명하는 구성요소/동작 쌍들을 포함한다. 동작 리스트는 주기적으로 변경되거나 업데이트 될 수 있고, 동작 리스트 버전 식별자는 동작 리스트의 현재 버전을 식별한다.
서버(102)는 (604)에 도시된 것과 같이 현재 동작 리스트의 버전 식별자를 전송함으로써 디바이스(106)의 요청에 응답한다. 동작 리스트 버전 식별자를 수신한 후에, 디바이스는 상기 식별자와 저장된 동작 리스트 버전 식별자를 비교한다. 만약 두개의 버전 식별자들이 동일하면, 디바이스는 추가의 동작을 수행하지 않는다. 만약 두개의 버전 식별자들이 상이하면, 디바이스(106)는 (606)에 도시된 것과 같이 서버(102)로부터 새로운 동작 리스트를 요청한다.
서버(102)는 (608)에 도시된 것과 같이 새로운 동작 리스트를 전송함으로써 디바이스(106)로부터의 요청에 응답한다. 디바이스(106)는 동작 리스트내의 각각의 구성요소/동작 쌍을 처리하여 특정 구성요소의 설치, 업데이트, 삭제, 또는 특정 구성요소의 상태의 변경에 대한 여부를 결정한다. 만약 디바이스(106)가 특정 구성요소가 처리 되어야 한다고 결정하면, 디바이스(106)는 (610)에 도시된 것과 같이 서버(102)로부터 구성요소를 요청(또는 업데이트)한다.
서버(102)는 요청되는 구성요소를 디바이스(106)에 전송함으로써 상기 요청에 응답한다. 디바이스(106)는 상기 구성요소를 수신하여 필요에 따라 설치 또는 업데이트를 수행한다. 구성요소는 디바이스가 국부적으로 저장하는 구성요소 버전 식별자를 가질 수 있다. 구성요소 버전 식별자는 디바이스가 구성요소를 처리한 후에 업데이트된다. 디바이스(106)가 전체 동작 리스트를 분석하고, 필요한 경우에 서버(102)로부터 모든 요청되는 구성요소들을 검색한 후에, 디바이스(106)는 국부적으로 저장된 동작 리스트 버전 식별자를 직전에 처리된 동작 리스트의 버전으로 업데이트한다. 따라서, 디바이스(106)는 서버로부터 다운로드된 동작 리스트 버전 식별자가 저장된 식별자와 상이할 때까지는 상기 서버(102)로부터 또다른 동작 리스트를 처리하지 않는다.
도 7는 디바이스상의 구성요소들을 자동으로 처리하기 위한 시스템에서 사용하기 위한 동작 리스트(700)의 일 실시예를 도시한다. 동작 리스트(700)는 구성요소/동작 쌍들(704, 706) 이전의 동작 리스트 버전 식별자(702)를 포함한다. 예를 들어, 구성요소/동작 쌍(704)은 구성요소 식별자 및 상응하는 동작을 포함한다. 일 실시예에서, 구성요소 식별자는 구성요소 버전 식별자 및 "형태" 식별자를 포함한다. 버전 식별자가 사용됨으로써 구성요소의 버전은 구성요소가 디바이스상에 현재 존재하는지의 여부를 결정하는 데 사용될 수 있다. 형태 식별자는 구성요소의 형태를 지시하고 처리기가 구성요소를 처리하기 위해 요구되는지를 결정하기 위해 사용된다. 동작은 설치, 업데이트, 삭제 또는 디바이스상의 구성요소의 상태를 변경하는 다른 형태의 동작중 하나가 될 수 있다. 상기 동작 리스트내의 정보는 안전한 전송 및/또는 인증을 위해 임의의 적절한 포맷을 사용하여 인코딩될 수 있고, 구성요소 및 동작 식별자들은 임의의 형태 중 하나가 될 수 있다. 일 실시예에서, 쌍(704)은 디바이스상에 설치될 구성요소 처리기를 식별하고, 쌍(706)은 구성요소 처리기에 의해 처리될 구성요소를 식별한다.
따라서, 본 명세서에 디바이스상의 구성요소들을 자동으로 처리하기 위한 시스템의 하나 또는 그이상의 실시예들이 설명되고 개시되었지만, 그들의 사상 또는 본질적인 특성들을 벗어나지 않고 다양한 변경들이 수행될 수 있다. 따라서, 본 명세서의 개시물들 및 설명이 본 발명의 사상을 제한하는 것이 아니고, 하기의 청구항들이 이를 제한한다.

Claims (32)

  1. 디바이스상의 선택된 구성요소 형태를 갖는 구성요소들을 자동으로 처리하기 위한 방법으로서,
    디바이스에 구성요소 처리기 - 상기 구성요소 처리기는 상기 선택된 구성요소 형태를 갖는 구성요소들을 처리하도록 동작함 - 를 설치하는 단계;
    동작 리스트를 분석하여 상기 디바이스에 의해 처리될 구성요소를 식별하는 구성요소/동작 쌍을 획득하는 단계;
    상기 구성요소를 상기 디바이스에 다운로드하는 단계;
    상기 구성요소가 상기 선택된 구성요소 형태를 갖는지를 결정하는 단계; 및
    상기 구성요소 처리기가 상기 구성요소를 처리하도록 작동시키기 위해 상기 선택된 구성요소 형태를 사용하는 단계를 포함하는 자동 처리 방법.
  2. 제 1항에 있어서, 상기 구성요소 처리기 설치 단계는,
    상기 디바이스에서 상기 동작 리스트를 수신하는 단계; 및
    상기 동작 리스트를 분석하여 상기 구성요소 처리기를 식별하는 선택된 구성요소/동작 쌍을 획득하는 단계를 포함하는 것을 특징으로 하는 자동 처리 방법.
  3. 제 1항에 있어서, 상기 구성요소 처리기 설치 단계는,
    상기 구성요소 처리기를 상기 선택된 구성요소 형태로부터 식별하는 단계; 및
    상기 구성요소 처리기를 상기 디바이스에 다운로드하는 단계를 포함하는 것을 특징으로 하는 자동 처리 방법.
  4. 제 1항에 있어서, 상기 구성요소 처리기 설치 단계는 상기 선택된 구성요소 처리기를 디바이스 레지스트리내에 등록하는 단계를 포함하는 것을 특징으로 하는 자동 처리 방법.
  5. 제 1항에 있어서, 상기 선택된 구성요소 형태 사용 단계는 상기 선택된 구성요소 처리기를 사용하여 상기 디바이스상의 상기 구성요소의 상태를 변경시키는 단계를 포함하는 것을 특징으로 하는 자동 처리 방법.
  6. 제 1항에 있어서, 상기 선택된 구성요소 형태 사용 단계는 상기 구성요소 처리기를 사용하여 상기 디바이스상에 상기 구성요소를 설치하는 단계를 포함하는 것을 특징으로 하는 자동 처리 방법.
  7. 제 1항에 있어서, 저장된 구성요소 버전 식별자를 상기 구성요소와 연관된 버전 식별자로 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 자동 처리 방법.
  8. 제 1항에 있어서, 상기 디바이스는 무선 디바이스인 것을 특징으로 하는 자동 처리 방법.
  9. 디바이스상의 선택된 구성요소 형태를 갖는 구성요소들을 자동으로 처리하기 위한 장치로서,
    디바이스에 구성요소 처리기 - 상기 구성요소 처리기는 상기 선택된 구성요소 형태를 갖는 구성요소들을 처리하도록 동작함 - 를 설치하기 위한 로직;
    동작 리스트를 분석하여 상기 디바이스에 의해 처리될 구성요소를 식별하는 구성요소/동작 쌍을 획득하기 위한 로직;
    상기 구성요소를 상기 디바이스에 다운로드하기 위한 로직;
    상기 구성요소가 상기 선택된 구성요소 형태를 갖는지를 결정하기 위한 로직; 및
    상기 구성요소 처리기가 상기 구성요소를 처리하도록 작동시키기 위해 상기 선택된 구성요소 형태를 사용하기 위한 로직을 포함하는 자동 처리 장치.
  10. 제 9항에 있어서, 상기 구성요소 처리기 설치 로직은,
    상기 디바이스에서 상기 동작 리스트를 수신하기 위한 로직; 및
    상기 동작 리스트를 분석하여 상기 구성요소 처리기를 식별하는 선택된 구성요소/동작 쌍을 획득하기 위한 로직을 포함하는 것을 특징으로 하는 자동 처리 장치.
  11. 제 9항에 있어서, 상기 구성요소 처리기 설치 로직은,
    상기 구성요소 처리기를 상기 선택된 구성요소 형태로부터 식별하기 위한 로직; 및
    상기 구성요소 처리기를 상기 디바이스에 다운로드하기 위한 로직을 포함하는 것을 특징으로 하는 자동 처리 장치.
  12. 제 9항에 있어서, 상기 구성요소 처리기 설치 로직은 상기 선택된 구성요소 처리기를 디바이스 레지스트리내에 등록하기 위한 로직을 포함하는 것을 특징으로 하는 자동 처리 장치.
  13. 제 9항에 있어서, 상기 선택된 구성요소 형태 사용 로직은 상기 선택된 구성요소 처리기를 사용하여 상기 디바이스상의 상기 구성요소의 상태를 변경시키기 위한 로직을 포함하는 것을 특징으로 하는 자동 처리 장치.
  14. 제 9항에 있어서, 상기 선택된 구성요소 형태 사용 로직은 상기 구성요소 처리기를 사용하여 상기 디바이스상에 상기 구성요소를 설치하기 위한 로직을 포함하는 것을 특징으로 하는 자동 처리 장치.
  15. 제 9항에 있어서, 저장된 구성요소 버전 식별자를 상기 구성요소와 연관된 버전 식별자로 업데이트하기 위한 로직을 더 포함하는 것을 특징으로 하는 자동 처리 장치.
  16. 제 9항에 있어서, 상기 디바이스는 무선 디바이스인 것을 특징으로 하는 자동 처리 장치.
  17. 디바이스상의 선택된 구성요소 형태를 갖는 구성요소들을 자동으로 처리하기 위한 장치로서,
    디바이스에 구성요소 처리기 - 상기 구성요소 처리기는 상기 선택된 구성요소 형태를 갖는 구성요소들을 처리하도록 동작함 - 를 설치하기 위한 수단;
    동작 리스트를 분석하여 상기 디바이스에 의해 처리될 구성요소를 식별하는 구성요소/동작 쌍을 획득하기 위한 수단;
    상기 구성요소를 상기 디바이스에 다운로드하기 위한 수단;
    상기 구성요소가 상기 선택된 구성요소 형태를 갖는지를 결정하기 위한 수단; 및
    상기 구성요소 처리기가 상기 구성요소를 처리하도록 작동시키기 위해 상기 선택된 구성요소 형태를 사용하기 위한 수단을 포함하는 자동 처리 장치.
  18. 제 17항에 있어서, 상기 구성요소 처리기 설치 수단은,
    상기 디바이스에서 상기 동작 리스트를 수신하기 위한 수단; 및
    상기 동작 리스트를 분석하여 상기 구성요소 처리기를 식별하는 선택된 구성요소/동작 쌍을 획득하기 위한 수단을 포함하는 것을 특징으로 하는 자동 처리 장치.
  19. 제 17항에 있어서, 상기 구성요소 처리기 설치 수단은,
    상기 구성요소 처리기를 상기 선택된 구성요소 형태로부터 식별하기 위한 수단; 및
    상기 구성요소 처리기를 상기 디바이스에 다운로드하기 위한 수단을 포함하는 것을 특징으로 하는 자동 처리 장치.
  20. 제 17항에 있어서, 상기 구성요소 처리기 설치 수단은 상기 선택된 구성요소 처리기를 디바이스 레지스트리내에 등록하기 위한 수단을 포함하는 것을 특징으로 하는 자동 처리 장치.
  21. 제 17항에 있어서, 상기 선택된 구성요소 형태 사용 수단은 상기 선택된 구성요소 처리기를 사용하여 상기 디바이스상의 상기 구성요소의 상태를 변경시키기 위한 수단을 포함하는 것을 특징으로 하는 자동 처리 장치.
  22. 제 17항에 있어서, 상기 선택된 구성요소 형태 사용 수단은 상기 구성요소 처리기를 사용하여 상기 디바이스상에 상기 구성요소를 설치하기 위한 수단을 포함하는 것을 특징으로 하는 자동 처리 장치.
  23. 제 17항에 있어서, 저장된 구성요소 버전 식별자를 상기 구성요소와 연관된 버전 식별자로 업데이트하기 위한 수단을 더 포함하는 것을 특징으로 하는 자동 처리 장치.
  24. 제 17항에 있어서, 상기 디바이스는 무선 디바이스인 것을 특징으로 하는 자동 처리 장치.
  25. 디바이스내의 로직을 처리하여 실행될 때, 상기 디바이스상의 선택된 구성요소 형태를 갖는 구성요소들을 자동으로 처리하도록 동작하는 지시들을 포함하는 컴퓨터-판독가능한 매체로서,
    디바이스에 구성요소 처리기 - 상기 구성요소 처리기는 상기 선택된 구성요소 형태를 갖는 구성요소들을 처리하도록 동작함 - 를 설치하기 위한 지시;
    동작 리스트를 분석하여 상기 디바이스에 의해 처리될 구성요소를 식별하는 구성요소/동작 쌍을 획득하기 위한 지시;
    상기 구성요소를 상기 디바이스에 다운로드하기 위한 지시;
    상기 구성요소가 상기 선택된 구성요소 형태를 갖는지를 결정하기 위한 지시; 및
    상기 구성요소 처리기가 상기 구성요소를 처리하도록 작동시키기 위해 상기 선택된 구성요소 형태를 사용하기 위한 지시를 포함하는 컴퓨터-판독가능한 매체.
  26. 제 25항에 있어서, 상기 구성요소 처리기 설치 지시는,
    상기 디바이스에서 상기 동작 리스트를 수신하기 위한 지시; 및
    상기 동작 리스트를 분석하여 상기 구성요소 처리기를 식별하는 선택된 구성요소/동작 쌍을 획득하기 위한 지시를 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 매체.
  27. 제 25항에 있어서, 상기 구성요소 처리기 설치 지시는,
    상기 구성요소 처리기를 상기 선택된 구성요소 형태로부터 식별하기 위한 지시; 및
    상기 구성요소 처리기를 상기 디바이스에 다운로드하기 위한 지시를 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 매체.
  28. 제 25항에 있어서, 상기 구성요소 처리기 설치 지시는 상기 선택된 구성요소 처리기를 디바이스 레지스트리내에 등록하기 위한 지시를 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 매체.
  29. 제 25항에 있어서, 상기 선택된 구성요소 형태 사용 지시는 상기 선택된 구성요소 처리기를 사용하여 상기 디바이스상의 상기 구성요소의 상태를 변경시키기 위한 지시를 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 매체.
  30. 제 25항에 있어서, 상기 선택된 구성요소 형태 사용 지시는 상기 구성요소 처리기를 사용하여 상기 디바이스상에 상기 구성요소를 설치하기 위한 지시를 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 매체.
  31. 제 25항에 있어서, 저장된 구성요소 버전 식별자를 상기 구성요소와 연관된 버전 식별자로 업데이트하기 위한 지시를 더 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 매체.
  32. 제 25항에 있어서, 상기 디바이스는 무선 디바이스인 것을 특징으로 하는 컴퓨터-판독가능한 매체.
KR1020057011583A 2002-12-20 2003-12-19 디바이스상의 레지스트리-기반 자동 설치 및 구성요소처리를 위한 시스템 Expired - Fee Related KR101119432B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US43582802P 2002-12-20 2002-12-20
US43548602P 2002-12-20 2002-12-20
US60/435,828 2002-12-20
US60/435,486 2002-12-20
US10/740,227 2003-12-18
US10/740,227 US20040188510A1 (en) 2002-12-20 2003-12-18 System for registry-based automatic installation and component handling on a device

Publications (2)

Publication Number Publication Date
KR20050085837A true KR20050085837A (ko) 2005-08-29
KR101119432B1 KR101119432B1 (ko) 2012-03-08

Family

ID=32686084

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057011583A Expired - Fee Related KR101119432B1 (ko) 2002-12-20 2003-12-19 디바이스상의 레지스트리-기반 자동 설치 및 구성요소처리를 위한 시스템

Country Status (9)

Country Link
US (1) US20040188510A1 (ko)
EP (1) EP1586050A4 (ko)
JP (2) JP2006511872A (ko)
KR (1) KR101119432B1 (ko)
AU (1) AU2003299810A1 (ko)
CA (1) CA2511056A1 (ko)
MX (1) MXPA05006752A (ko)
NZ (1) NZ540856A (ko)
WO (1) WO2004059513A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9134989B2 (en) 2002-01-31 2015-09-15 Qualcomm Incorporated System and method for updating dataset versions resident on a wireless device
US20040068724A1 (en) * 2002-08-30 2004-04-08 Gardner Richard Wayne Server processing for updating dataset versions resident on a wireless device
US9092286B2 (en) 2002-12-20 2015-07-28 Qualcomm Incorporated System to automatically process components on a device
US8626146B2 (en) 2003-10-29 2014-01-07 Qualcomm Incorporated Method, software and apparatus for performing actions on a wireless device using action lists and versioning
US7794473B2 (en) 2004-11-12 2010-09-14 C.R. Bard, Inc. Filter delivery system
TWI270789B (en) * 2005-03-03 2007-01-11 Via Tech Inc Method for automatically installing software program
CN100391289C (zh) * 2005-03-11 2008-05-28 上海华为技术有限公司 移动通信系统中远程子系统升级的方法
EP2163075A2 (en) 2007-06-19 2010-03-17 Qualcomm Incorporated Methods and apparatus for dataset synchronization in a wireless environment
JP2015153266A (ja) * 2014-02-18 2015-08-24 日本電気株式会社 ファームウェア管理システム、方法、及び、プログラム
US10798216B2 (en) * 2016-10-15 2020-10-06 Microsoft Technology Licensing, Llc Automatic provisioning of IoT devices
CN113535221B (zh) * 2020-04-16 2024-10-18 北京沃东天骏信息技术有限公司 应用版本管理的方法和装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473772A (en) * 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
DE68926345T2 (de) * 1989-08-03 1996-11-07 Ibm Datenverarbeitungsnetzwerk
JPH08106393A (ja) * 1994-10-06 1996-04-23 Matsushita Electric Ind Co Ltd 携帯端末システム
US5761618A (en) * 1994-12-22 1998-06-02 Bell Atlantic Mobile Systems, Inc. Updating technique for downloading new system identification (SID) list into a handset
US5920821A (en) * 1995-12-04 1999-07-06 Bell Atlantic Network Services, Inc. Use of cellular digital packet data (CDPD) communications to convey system identification list data to roaming cellular subscriber stations
JPH1021061A (ja) * 1996-07-05 1998-01-23 Nec Corp クライアントソフトウェア自動バージョンアップシステム
JPH1049354A (ja) * 1996-08-05 1998-02-20 Fuji Xerox Co Ltd 情報処理システム
US6308061B1 (en) * 1996-08-07 2001-10-23 Telxon Corporation Wireless software upgrades with version control
US5995756A (en) * 1997-02-14 1999-11-30 Inprise Corporation System for internet-based delivery of computer applications
US6418554B1 (en) * 1998-09-21 2002-07-09 Microsoft Corporation Software implementation installer mechanism
JP2000276335A (ja) * 1999-03-29 2000-10-06 Nec Soft Ltd プログラム自動更新システム
JP2001075785A (ja) * 1999-09-09 2001-03-23 Nec Corp データ更新システム
US6934532B2 (en) * 2000-02-09 2005-08-23 Apriva, Inc. Communication systems, components, and methods operative with programmable wireless devices
US7140013B2 (en) * 2000-06-01 2006-11-21 Aduva, Inc. Component upgrading with dependency conflict resolution, knowledge based and rules
JP2001356912A (ja) * 2000-06-12 2001-12-26 Fujitsu Ltd ソフトウェアのインストール/アップデート/アンインストールシステム
JP2002278767A (ja) * 2001-03-16 2002-09-27 Kenwood Corp ネットワーク通信システム、サーバ装置、携帯端末、通信方法及びプログラム

Also Published As

Publication number Publication date
KR101119432B1 (ko) 2012-03-08
JP2011227912A (ja) 2011-11-10
JP5248657B2 (ja) 2013-07-31
CA2511056A1 (en) 2004-07-15
AU2003299810A1 (en) 2004-07-22
EP1586050A4 (en) 2006-03-22
US20040188510A1 (en) 2004-09-30
WO2004059513A1 (en) 2004-07-15
NZ540856A (en) 2008-07-31
MXPA05006752A (es) 2005-10-05
EP1586050A1 (en) 2005-10-19
JP2006511872A (ja) 2006-04-06

Similar Documents

Publication Publication Date Title
JP5254396B2 (ja) デバイス上のコンポーネントを自動的に処理するシステム
JP5248657B2 (ja) デバイス上におけるレジストリベースの自動インストール及びコンポーネントハンドリングのためのシステム
US9591428B2 (en) Method, software and apparatus for performing actions on a wireless device using action lists and versioning
US9134989B2 (en) System and method for updating dataset versions resident on a wireless device
US7187660B2 (en) System and method for continuously provisioning a mobile device
US20150319299A1 (en) Method and apparatus for remote control and updating of wireless mobile devices
RU2339076C2 (ru) Выполнение неверифицированных программ в операционной среде устройства радиосвязи
CN100474285C (zh) 用于在装置上自动处理组件的方法和设备
RU2339995C2 (ru) Система автоматической установки и обработки компонента в устройстве на основе реестра
HK1085819A (en) System for registry-based automatic installation and component handling on a device

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

A201 Request for examination
AMND Amendment
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

AMND Amendment
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E601 Decision to refuse application
PE0601 Decision on rejection of patent

St.27 status event code: N-2-6-B10-B15-exm-PE0601

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

J201 Request for trial against refusal decision
PJ0201 Trial against decision of rejection

St.27 status event code: A-3-3-V10-V11-apl-PJ0201

AMND Amendment
E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PB0901 Examination by re-examination before a trial

St.27 status event code: A-6-3-E10-E12-rex-PB0901

B701 Decision to grant
PB0701 Decision of registration after re-examination before a trial

St.27 status event code: A-3-4-F10-F13-rex-PB0701

PR1002 Payment of registration fee

Fee payment year number: 1

St.27 status event code: A-2-2-U10-U12-oth-PR1002

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 4

PR1001 Payment of annual fee

Fee payment year number: 4

St.27 status event code: A-4-4-U10-U11-oth-PR1001

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 5

PR1001 Payment of annual fee

Fee payment year number: 5

St.27 status event code: A-4-4-U10-U11-oth-PR1001

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 6

PR1001 Payment of annual fee

Fee payment year number: 6

St.27 status event code: A-4-4-U10-U11-oth-PR1001

PR1001 Payment of annual fee

Fee payment year number: 7

St.27 status event code: A-4-4-U10-U11-oth-PR1001

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Not in force date: 20190127

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

St.27 status event code: A-4-4-U10-U13-oth-PC1903

PC1903 Unpaid annual fee

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20190127

St.27 status event code: N-4-6-H10-H13-oth-PC1903

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000