KR20090101230A - 클라이언트 구동 서버측 설치를 위한 장치 및 방법 - Google Patents

클라이언트 구동 서버측 설치를 위한 장치 및 방법 Download PDF

Info

Publication number
KR20090101230A
KR20090101230A KR1020097014577A KR20097014577A KR20090101230A KR 20090101230 A KR20090101230 A KR 20090101230A KR 1020097014577 A KR1020097014577 A KR 1020097014577A KR 20097014577 A KR20097014577 A KR 20097014577A KR 20090101230 A KR20090101230 A KR 20090101230A
Authority
KR
South Korea
Prior art keywords
application
server
identifier
response
receiving
Prior art date
Application number
KR1020097014577A
Other languages
English (en)
Other versions
KR101089353B1 (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 KR20090101230A publication Critical patent/KR20090101230A/ko
Application granted granted Critical
Publication of KR101089353B1 publication Critical patent/KR101089353B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

클라이언트 디바이스에 응답하여 필요한 애플리케이션을 자동으로 설치하는 서버가 설명된다. 서버는 클라이언트 무선 디바이스로부터 식별자를 포함하는 제 1 신호를 수신하도록 구성되는 인터페이스 에이전트를 포함한다. 상기 식별자에 대응하는 실행 가능 애플리케이션을 입수하도록 검색 애플리케이션이 구성되고, 상기 실행 가능 애플리케이션을 입수하는 상기 검색 애플리케이션에 응답하여 상기 실행 가능 애플리케이션을 설치하도록 설치자 애플리케이션이 구성된다. 상기 인터페이스 에이전트는 설치된 실행 가능 애플리케이션의 실행을 일으키도록 구성된다.

Description

클라이언트 구동 서버측 설치를 위한 장치 및 방법{APPARATUS AND METHODS FOR CLIENT-DRIVEN SERVER-SIDE INSTALLATION}
본 발명은 클라이언트 구동 서버측 설치를 위한 장치 및 방법에 관한 것이다.
기술의 진보로 개인 연산 디바이스들은 보다 소형화되고 보다 강력해져 왔다. 예를 들어, 각각 작고 가벼우며 사용자들이 쉽게 휴대할 수 있는 휴대용 무선 전화, 개인 디지털 보조기기(PDA) 및 페이징 디바이스와 같은 무선 연산 디바이스를 포함하여, 현재 다양한 휴대용 개인 연산 디바이스가 존재한다. 보다 구체적으로, 휴대용 무선 전화들은 예를 들어 무선 네트워크를 통해 음성 및 데이터 패킷들을 전달하는 셀룰러폰을 추가로 포함한다. 또한, 이러한 많은 셀룰러폰은 연산 용량들이 비교적 크게 증대하여 제조되고 있으며, 그 자체로 소형 개인용 컴퓨터 및 핸드헬드 PDA와 동등해지고 있다. 그러나 이러한 보다 작고 보다 강력한 개인용 연산 디바이스들은 통상적으로 심각하게 자원 한정적이다. 예를 들어, 화면 크기, 이용 가능한 메모리 및 파일 시스템 공간의 양, 입력 및 출력 성능의 양 및 처리 용량이 각각 디바이스의 작은 크기에 의해 제한될 수 있다. 이러한 심각한 자원 압박 때문에, 예를 들어 이러한 원격 개인 연산 디바이스들, 예를 들어 클라이언트 디바이스들에 상주하는 한정된 크기 및 수량의 소프트웨어 애플리케이션 및 다른 정보를 유지하는 것이 흔히 통상적으로 바람직하다. 무선 디바이스, 예를 들어 무선 전화 및 다른 휴대용 무선 핸드헬드 전자 디바이스들은 다양한 타입의 실행 가능 콘텐츠, 예를 들어 애플리케이션 소프트웨어 등을 다운로드하여 실행할 수 있다. 어떤 경우, 무선 디바이스들의 사용자들은 처리 디바이스, 예를 들어 개인용 컴퓨터나 다른 프로세서 또는 논리 기반 디바이스로/로부터 콘텐츠를 전달하고자 한다.
많은 경우, 전달될 콘텐츠는 무선 디바이스와의 통신을 가능하게 하고 그리고/또는 처리 디바이스의 무선 디바이스에 의해 요청된 동작을 수행하기 위해 처리 디바이스 상에 특정 애플리케이션을 필요로 한다.
형태들은 클라이언트 구동 서버측 설치를 위한 명령들을 갖는 컴퓨터 판독 가능 매체, 시스템 및 방법을 제공한다.
클라이언트 디바이스에 응답하여 필요한 애플리케이션을 자동으로 설치하는 서버 형태는 클라이언트 무선 디바이스로부터 식별자를 포함하는 제 1 신호를 수신하도록 구성되는 인터페이스 에이전트; 상기 식별자에 대응하는 실행 가능 애플리케이션을 입수하도록 구성되는 검색 애플리케이션; 및 상기 실행 가능 애플리케이션을 입수한 상기 검색 애플리케이션에 응답하여 상기 실행 가능 애플리케이션을 설치하도록 구성되는 설치자 애플리케이션을 포함하며, 상기 인터페이스 에이전트는 상기 설치된 실행 가능 애플리케이션의 실행을 일으키도록 구성된다.
서버에서의 필요한 애플리케이션의 설치를 요청하는 클라이언트 무선 디바이스 형태는 애플리케이션 식별자를 포함하는 실행 가능 애플리케이션; 및 설치 요청을 서버에 전송하도록 구성되는 인터페이스 에이전트를 포함하며, 상기 설치 요청은 상기 애플리케이션 식별자에 대응하는 식별자를 포함한다.
클라이언트 디바이스에 응답하여 필요한 애플리케이션을 자동으로 설치하는 방법 형태는 클라이언트 디바이스로부터 식별자를 포함하는 설치 요청을 수신하는 단계; 상기 식별자의 적어도 일부를 기초로 결정된 애플리케이션을 설치하는 단계; 상기 식별자의 수신에 응답하여 상기 애플리케이션을 실행하는 단계; 상기 애플리케이션에 대한 동작 요청의 수신에 응답하여 결과를 생성하는 단계; 및 상기 생성된 결과를 상기 클라이언트 디바이스에 전송하는 단계를 포함한다.
서버에서의 필요한 애플리케이션의 설치를 요청하고 상기 애플리케이션과 상호 작용하는 방법 형태는 애플리케이션 식별자에 대응하는 식별자를 포함하는 설치 요청을 서버에 전송하는 단계; 상기 설치 요청에 응답하는 확인 응답 메시지의 수신에 응답하여, 상기 서버에 동작 요청을 전송하는 단계; 및 상기 동작 요청에 응답하는 상기 서버로부터의 결과를 수신하는 단계를 포함한다.
프로세서 형태는 클라이언트 디바이스로부터 식별자를 포함하는 설치 요청을 수신하는 동작; 상기 식별자의 적어도 일부를 기초로 결정된 애플리케이션을 설치하는 동작; 상기 식별자의 수신에 응답하여 상기 애플리케이션을 실행하는 동작; 상기 애플리케이션에 대한 동작 요청의 수신에 응답하여 결과를 생성하는 동작; 및 상기 생성된 결과를 상기 클라이언트 디바이스에 전송하는 동작을 수행하도록 구성된 적어도 하나의 프로세서를 포함한다.
다른 프로세서 형태는 애플리케이션 식별자에 대응하는 식별자를 포함하는 설치 요청을 서버에 전송하는 동작; 상기 설치 요청에 응답하는 확인 응답 메시지의 수신에 응답하여, 상기 서버에 동작 요청을 전송하는 동작; 및 상기 동작 요청에 응답하는 상기 서버로부터의 결과를 수신하는 동작을 수행하도록 구성된 적어도 하나의 프로세서를 포함한다.
저장된 명령들을 포함하는 기계 판독 가능 매체 형태는 클라이언트 디바이스로부터 식별자를 포함하는 설치 요청을 수신하기 위한 제 1 세트의 명령들; 상기 식별자의 적어도 일부를 기초로 결정된 애플리케이션을 설치하기 위한 제 2 세트의 명령들; 상기 식별자의 수신에 응답하여 상기 애플리케이션을 실행하기 위한 제 3 세트의 명령들; 상기 애플리케이션에 대한 동작 요청의 수신에 응답하여 결과를 생성하기 위한 제 4 세트의 명령들; 및 상기 생성된 결과를 상기 클라이언트 디바이스에 전송하기 위한 제 5 세트의 명령들을 포함한다.
저장된 명령들을 포함하는 다른 기계 판독 가능 매체 형태는 애플리케이션 식별자에 대응하는 식별자를 포함하는 설치 요청을 서버에 전송하기 위한 제 1 세트의 명령들; 상기 설치 요청에 응답하는 확인 응답 메시지의 수신에 응답하여, 상기 서버에 동작 요청을 전송하기 위한 제 2 세트의 명령들; 및 상기 동작 요청에 응답하는 상기 서버로부터의 결과를 수신하기 위한 제 3 세트의 명령들을 포함한다.
클라이언트 디바이스에 응답하여 필요한 애플리케이션을 자동으로 설치하는 서버 디바이스 형태는 클라이언트 디바이스로부터 식별자를 포함하는 설치 요청을 수신하는 수단; 상기 식별자의 적어도 일부를 기초로 결정된 애플리케이션을 설치하는 수단; 상기 식별자의 수신에 응답하여 상기 애플리케이션을 실행하는 수단; 상기 애플리케이션에 대한 동작 요청의 수신에 응답하여 결과를 생성하는 수단; 및 상기 생성된 결과를 상기 클라이언트 디바이스에 전송하는 수단을 포함한다.
서버에서의 필요한 애플리케이션의 설치를 요청하고 상기 애플리케이션과 상호 작용하는 클라이언트 디바이스 형태는 애플리케이션 식별자에 대응하는 식별자를 포함하는 설치 요청을 서버에 전송하는 수단; 상기 설치 요청에 응답하는 확인 응답 메시지의 수신에 응답하여, 상기 서버에 동작 요청을 전송하는 수단; 및 상기 동작 요청에 응답하는 상기 서버로부터의 결과를 수신하는 수단을 포함한다.
또 다른 이점들은 이어지는 상세한 설명으로부터 당업자들에게 쉽게 명백해질 것이며, 바람직한 형태들은 단지 기대되는 최상의 모드의 예시로 도시 및 설명된다. 실현되는 바와 같이, 그 밖의 다른 형태들이 가능하며, 몇 가지 항목은 범위를 전혀 벗어나지 않으며 다양한 명백한 관점에서 변형이 가능하다.
설명한 형태들은 첨부 도면에서 한정이 아닌 예시로 설명되며, 동일한 참조 부호를 갖는 엘리먼트들은 전반적으로 같은 엘리먼트를 나타낸다. 도 1은 본 시스템의 한 형태의 구조의 고 레벨 블록도이다. 도 2a-도 2d는 한 형태에 따른 설치 요청의 블록도이다. 도 3은 한 형태에 따른 고 레벨 메시지 시퀀스도이다. 도 4는 다른 형태에 따른 고 레벨 메시지 시퀀스도이다. 도 5는 한 형태에 따른 고 레벨 프로세스 흐름도이다. 도 6은 한 형태와 관련하여 사용 가능한 시스템의 고 레벨 기능 블록도이다. 도 7은 본 시스템의 다른 형태의 고 레벨 블록도이다.
도 1은 한 형태에 따른 시스템 구조(100)의 고 레벨 블록도를 나타낸다. 시스템 구조(100)는 (클라이언트 디바이스로도 지칭되는) 무선 클라이언트 디바이스(102), 서버(104), 데이터 저장소(106), 및 클라이언트 디바이스, 서버, 데이터 저장소를 통신 가능하게 연결하는 네트워크(108)를 포함한다. 클라이언트 디바이스(102)는 미리 결정된 애플리케이션을 이용하여 동작을 수행할 것을 서버(104)에 요청한다. 요청은 동작을 수행하기 위해 사용하독록 서버(104)에 요청된 미리 결정된 애플리케이션을 특정하는 식별자를 포함한다. 미리 결정된 애플리케이션이 서버(104)에 설치되어 있지 않다면, 서버는 데이터 저장소(106)로부터 미리 결정된 애플리케이션을 검색하여 애플리케이션을 설치하고, 애플리케이션의 실행을 일으켜 클라이언트 디바이스(102)와 통신하게 한다.
클라이언트 디바이스(102)는 서버(104)와 통신하는 인터페이스 에이전트(110), 기존 클라이언트 애플리케이션(112) 및 다운로드된(D/L) 클라이언트 애플리케이션(114)을 포함한다.
클라이언트 애플리케이션들(기존 애플리케이션(112) 및/또는 D/L 애플리케이션(114))은 클라이언트 디바이스(102)에 의해 실행될 때 클라이언트 디바이스로 하 여금 서버(104)와 함께 미리 결정된 기능, 예를 들어 원격 파일 열람 및/또는 조작, 웹 카메라 제어 및 열람, 데스크탑 컴퓨터 상에서의 이메일 브라우징, 전화 또는 다른 모바일 디바이스로부터 카 스테레오 상의 플레이리스트 조작 등을 수행하게 하는 실행 가능 명령들을 포함한다. 기존 클라이언트 애플리케이션(112) 및 D/L 클라이언트 애플리케이션(114)은 각각 특정 클라이언트 애플리케이션을 고유하게 식별하는 클라이언트 애플리케이션 식별자(ID)(116)를 포함한다. 클라이언트 디바이스(102)는 또한 클라이언트 디바이스, 예를 들어 시리얼 번호, 모델 번호 등을 고유하게 식별하는 디바이스 ID(118)를 선택적으로 포함한다.
적어도 일부 형태들에서, 기존 클라이언트 애플리케이션(112)은 미리 설치될 수 있는 클라이언트 애플리케이션 및/또는 클라이언트 디바이스(102) 상의 기존 실행 가능 명령들 중 일부를 포함한다. D/L 클라이언트 애플리케이션(114)은 클라이언트 디바이스(102)로 업로드, 다운로드 또는 전송될 수 있으며, 업데이트된 기존 클라이언트 애플리케이션(112) 및/또는 이러한 클라이언트 애플리케이션에 대한 확장자를 더 포함할 수 있다. 적어도 일부 형태들에서, 클라이언트 애플리케이션 ID(116)는 애플리케이션 타입, 예를 들어 원격 파일 열람 애플리케이션 등을 고유하게 식별한다.
클라이언트 애플리케이션(들)(112, 114)은 설치 요청(200)(도 2)을 생성하고 이를 인터페이스 에이전트(110)를 통해 서버(104)로 전송한다. 설치 요청(200)은 서버(104)로 하여금 해당 서버 애플리케이션이 설치 요청을 생성한 클라이언트 애플리케이션(112, 114)의 요청된 기능을 수행할 수 있는 서버에 설치되어 있는지 여 부를 결정하게 한다.
인터페이스 에이전트(110)는 네트워크(108)를 통해 클라이언트 디바이스(102)와 서버(104) 간의 통신을 설정한다. 적어도 일부 형태들에서, 인터페이스 에이전트(110)는 운영 시스템의 일부, 런타임 환경의 일부로서 한 세트의 실행 가능 명령들, 및 클라이언트 애플리케이션(112, 114)과 같은 한 세트의 실행 가능 명령들 중 하나일 수 있다.
클라이언트 애플리케이션(들)(112, 114)으로부터 수신된 설치 요청(200)(도 2)에 응답하여, 인터페이스 에이전트(110)는 인터페이스 에이전트가 통신을 설정한 접속된 서버(104)에 설치 요청을 전송한다. 서버(104)로부터의 확인 응답 수신 후 인터페이스 에이전트(110)는 수신된 확인 응답을 적절한 클라이언트 애플리케이션(들)(112, 114)에 전송한다. 인터페이스 에이전트(110)는 클라이언트 애플리케이션(들)(112, 114)으로부터 수신된 메시지들을 서버(104)로 그리고 서버(104)로부터 수신된 메시지들을 클라이언트 애플리케이션(들)으로 전송하도록 진행한다.
적어도 일부 형태들에서, 인터페이스 에이전트(110)는 클라이언트 애플리케이션(들)(112, 114)에 통신 정보를 제공하여 클라이언트 애플리케이션(들)이 서버(104)와 직접 통신할 수 있게 한다. 적어도 일부 형태들에서, 인터페이스 에이전트(110)는 클라이언트 애플리케이션(들)(112, 114)과 서버(104) 간의 추가 통신을 가능하게 하기 위해 서버(104)의 인증 및 승인을 요청하는 보안 기능을 포함한다. 보안 기능은 패스워드 교환, 디지털 서명 및/또는 인증서, 암호, 공개키-비밀키 쌍 및 다른 보안 메커니즘들을 이용하여 구현될 수 있다.
서버(104)는 처리 디바이스, 예를 들어 개인용 컴퓨터, 랩탑, 데스크탑, 서버 등과 같은 프로세서나 다른 논리 기반 디바이스이다. 서버(104)는 클라이언트 디바이스(102)와 통신하는 인터페이스 에이전트(120), 설치 에이전트(122), 검색 에이전트(124) 및 기존 서버 애플리케이션(126)을 포함한다. 서버(104)는 선택적으로 D/L 서버 애플리케이션(128)을 포함한다. 서버 애플리케이션(들)(126, 128)은 각각 특정 서버 애플리케이션을 고유하게 식별하는 서버 애플리케이션 ID(130)를 포함한다. 서버(104)는 또한 클라이언트 디바이스(102)에 관해 상술한 바와 같이 선택적으로 디바이스 ID(118)를 포함한다.
적어도 일부 형태들에서, 기존 서버 애플리케이션(126)은 미리 설치될 수 있는 서버 애플리케이션 및/또는 서버(104) 상의 기존 실행 가능 명령들 중 일부를 포함한다. D/L 서버 애플리케이션(128)은 서버(104)로 업로드, 다운로드 또는 전송될 수 있으며, 업데이트된 기존 서버 애플리케이션(126) 및/또는 이러한 서버 애플리케이션에 대한 확장자를 더 포함할 수 있다. 적어도 일부 형태들에서, 서버 애플리케이션 ID(130)는 애플리케이션 타입, 예를 들어 원격 파일 열람 애플리케이션 등을 고유하게 식별한다.
인터페이스 에이전트(120)는 인터페이스 에이전트(110)에 응답하여 네트워크(108)를 통한 클라이언트 디바이스(102)와의 통신을 설정한다. 적어도 일부 형태들에서, 인터페이스 에이전트(120)는 운영 시스템의 일부, 런타임 환경의 일부로서 한 세트의 실행 가능 명령들, 및 서버 애플리케이션(126, 128)과 같은 한 세트의 실행 가능 명령들 중 하나일 수 있다.
클라이언트 디바이스(102)로부터의 설치 요청(200)(도 2)의 수신에 응답하여, 인터페이스 에이전트(120)는 서버(104) 상에 해당 서버 애플리케이션(126, 128)이 설치되어 있는지 여부를 결정한다. 서버(104)에 해당 서버 애플리케이션(126, 128)이 설치되어 있다면, 인터페이스 에이전트(120)는 서버 애플리케이션이 실행중인지 여부를 결정한다. 해당 서버 애플리케이션(126, 128)이 실행중이지 않다면, 인터페이스 에이전트(120)는 서버 애플리케이션의 실행을 일으켜 클라이언트 디바이스(102)에 확인 응답을 전송한다. 서버(104)에 해당 서버 애플리케이션(126, 128)이 설치되어 실행중이라면, 인터페이스 에이전트(120)는 클라이언트 디바이스(102)로 확인 응답을 전송한다.
서버(104)에 해당 서버 애플리케이션(126, 128)이 설치되어 있지 않다면, 인터페이스 에이전트(120)는 검색 에이전트(124)에 애플리케이션 검색 요청을 전송한다. 후술하는 바와 같이, 검색 에이전트(124)는 특정 D/L 서버 애플리케이션(126, 128)을 입수하여 설치 에이전트(122)가 D/L 서버 애플리케이션을 설치하게 한다. 설치 에이전트(122)로부터의 서버 애플리케이션 설치 완료 메시지에 응답하여, 인터페이스 에이전트(120)는 설치된 애플리케이션이 실행을 시작하게 한다. D/L 서버 애플리케이션(128)의 설치 후 인터페이스 에이전트(120)는 클라이언트 디바이스(102)에 확인 응답을 전송한다.
적어도 일부 형태들에서, 서버(104), 예를 들어, 검색 에이전트(124) 및/또는 설치 에이전트(122)는 서버 상에서 D/L 서버 애플리케이션의 다운로드 및/또는 설치를 가능하게 하기 위해 D/L 서버 애플리케이션(128)의 인증 및 승인을 요청하 는 보안 기능을 포함한다. 보안 기능은 패스워드 교환, 디지털 서명 및/또는 인증서, 암호, 공개키-비밀키 쌍 및 다른 보안 메커니즘들을 이용하여 구현될 수 있다. 서버(104)는 검색 에이전트(124) 및/또는 설치 에이전트(122) 중 하나 또는 둘 다에 의해 D/L 서버 애플리케이션(128)의 출처가 신뢰할 수 있는 소스이며 서버에 의해 실행될 것이 허용되었음을 검증한다. 적어도 일부 형태들에서, 서버(104)는 미리 결정된 개수의 서명한 증명서를 신뢰하고, 데이터 저장소(106)는 D/L 서버 애플리케이션(128)과 함께 디지털 인증서를 서버에 전송한다. 적어도 일부 형태들에서, 서버(104)와 D/L 서버 애플리케이션(128)의 서명한 증명서 간의 신뢰 관계는 서버와 데이터 저장소(106) 간의 신뢰 관계와 논리적으로 별개이다.
인터페이스 에이전트(120)는 클라이언트 디바이스(102)로부터 수신된 메시지들을 서버 애플리케이션(들)(126, 128)으로 그리고 서버 애플리케이션(들)(126, 128)으로부터 수신된 메시지들을 클라이언트 디바이스로 전송하도록 진행한다. 적어도 일부 형태들에서, 인터페이스 에이전트(120)는 서버 애플리케이션(들)(126, 128)에 통신 정보를 제공하여 서버 애플리케이션(들)이 클라이언트 디바이스(102)와 직접 통신할 수 있게 한다. 적어도 일부 형태들에서, 인터페이스 에이전트(120)는 서버 애플리케이션(들)(126, 128)과 클라이언트 디바이스 간의 추가 통신을 가능하게 하기 위해 클라이언트 디바이스(102)의 인증 및 승인을 요청하는 보안 기능을 포함한다. 보안 기능은 패스워드 교환, 디지털 서명 및/또는 인증서, 암호, 공개키-비밀키 쌍 및 다른 보안 메커니즘들을 이용하여 구현될 수 있다.
인터페이스 에이전트(120)로부터 수신된 애플리케이션 검색 요청에 응답하 여, 검색 에이전트(124)는 네트워크(108)를 통해 데이터 저장소(106)와 통신하여 설치 요청(200)(도 2)의 적어도 일부를 기초로 D/L 서버 애플리케이션(128)을 입수한다. 적어도 일부 형태들에서, 검색 에이전트(124)는 적절한 D/L 서버 애플리케이션(128)을 식별하기 위해 데이터 저장소(106)에 질문을 전송한다. 검색 에이전트(124)는 데이터 저장소(106)로부터 D/L 서버 애플리케이션(128)을 다운로드할 수 있고 그리고/또는 데이터 저장소는 검색 에이전트로 D/L 서버 애플리케이션을 업로드할 수 있다.
검색 에이전트(124)에 의해 D/L 서버 애플리케이션(128)이 검색된 후, 검색 에이전트는 설치 에이전트(122)에 서버 애플리케이션 설치 요청을 전송한다. 적어도 일부 형태들에서, 서버 애플리케이션 설치 요청은 D/L 서버 애플리케이션(128)이 검색되었고 상기 애플리케이션을 설치할 것을 설치 에이전트(122)에 요청한다는 표시를 포함한다. 적어도 일부 추가 형태들에서, 서버 애플리케이션 설치 요청은 검색된 것과 같은 D/L 서버 애플리케이션(128) 및 상기 애플리케이션의 설치 요청을 포함한다.
검색 에이전트(124)로부터 수신된 서버 애플리케이션 설치 요청에 응답하여, 설치 에이전트(122)는 D/L 서버 애플리케이션(128)을 설치하고 인터페이스 에이전트(120)에 서버 애플리케이션 설치 완료 메시지를 전송한다.
적어도 일부 형태들에서, 설치 에이전트(122) 및 검색 에이전트(124)는 단일 에이전트로 결합된다. 적어도 일부 추가 형태들에서, 설치 에이전트(122), 검색 에이전트(124) 및 인터페이스 에이전트(120) 중 2개 이상이 하나 이상의 에이전트 로 결합된다.
데이터 저장소(106)는 처리 디바이스, 예를 들어 개인용 컴퓨터, 랩탑, 데스크탑, 서버 등과 같은 프로세서나 다른 논리 기반 디바이스를 포함한다. 데이터 저장소(106)는 서버(104)에 전송될 이용 가능한 하나 이상의 D/L 서버 애플리케이션(들)(128)을 포함한다.
적어도 일부 형태들에서, 데이터 저장소(106)는 특정 D/L 서버 애플리케이션(128)에 대해 서버(104)로부터 수신된 질문에 응답하는 기능을 포함한다.
네트워크(108)는 무선 및/또는 유선 통신 접속을 포함한다. 적어도 일부 형태들에서, 클라이언트 디바이스(102)는 유선 및/또는 무선 접속에 의해 서버(104)에 직접 접속될 수 있다.
도 2a-도 2d는 본 시스템과 관련하여 이익을 얻는데 이용 가능한 설치 요청(200)의 서로 다른 형태들의 블록도를 나타낸다. 도 2a는 서버 애플리케이션 ID(130)를 포함하는 설치 요청(200)을 나타낸다. 도 2a의 형태에 관해, 설치 요청(200)은 클라이언트 디바이스(102)가 통신할 특정 서버 애플리케이션을 지정한다. 적어도 일부 형태들에서, 서버 애플리케이션 ID(130)는 특정 서버 애플리케이션을, 예를 들어 이름이나 다른 식별자, 타입, 파일 확장자, URL(uniform resource locator), 및/또는 애플리케이션을 지정하기 위한 다른 메커니즘들에 의해 지정한다. 타입, 파일 확장자 또는 다른 총괄적인 사양(specification)에 의한 사양의 수신에 응답하여, 서버(104)는 어느 서버 애플리케이션(들)(126, 128)이 지정된 총괄 사양에 대응하는지를 결정한다. 상술한 바와 같이, 해당 서버 애플리케이션 (들)(126, 128)이 서버(104)에 설치되어 있지 않다면, 서버는 데이터 저장소(106)로부터의 애플리케이션 검색을 시도하도록 진행한다.
적어도 일부 추가 형태들에서, 서버 애플리케이션 ID(130)는 어느 클라이언트 디바이스(102)가 서버(104)와 통신할 것인지에 따라 특정 프로토콜을 지정할 수 있다. 프로토콜 명세의 수신에 응답하여, 서버(104)는 어느 서버 애플리케이션(들)(126, 128)이 지정된 프로토콜에 대응하는지를 결정한다.
적어도 일부 다른 추가 형태들에서, 서버 애플리케이션 ID(130)은 클라이언트 디바이스(102)와 서버(104) 간의 통신에 사용될 특정 데이터 교환 언어, 예를 들어 XML 및/또는 다른 구조화된 데이터 언어를 지정할 수도 있다.
도 2b는 클라이언트 애플리케이션 ID(116)를 포함하는 설치 요청(200)을 나타낸다. 도 2b의 형태에 관해, 설치 요청(200)은 서버(104)가 통신할 요청 클라이언트 애플리케이션(112, 114)을 지정한다. 적어도 일부 형태들에서, 클라이언트 애플리케이션 ID(116)는 특정 클라이언트 애플리케이션(112, 114)을, 예를 들어 이름이나 다른 식별자, 알파벳 및/또는 숫자 식별자, 타입, 파일 확장자, URL, 및/또는 애플리케이션을 지정하기 위한 다른 메커니즘들에 의해 지정한다. 타입, 파일 확장자 또는 다른 총괄적인 사양에 의한 사양의 수신에 응답하여, 서버(104)는 어느 서버 애플리케이션(들)(126, 128)이 지정된 총괄 사양에 대응하는지를 결정한다. 상술한 바와 같이, 해당 서버 애플리케이션(들)(126, 128)이 서버(104)에 설치되어 있지 않다면, 서버는 데이터 저장소(106)로부터의 애플리케이션 검색을 시도하도록 진행한다.
도 2c는 서버 애플리케이션 ID(130) 및 클라이언트 애플리케이션 ID(116)를 포함하는 설치 요청(200)을 나타낸다. 서버 애플리케이션 ID(130)와 클라이언트 애플리케이션 ID(116) 중 어느 하나 또는 둘 다 도 2a 및 도 2b의 형태들에 관해 상술한 바와 같을 수 있다. 도 2a 및 도 2b의 형태들과 비슷하게, 도 2c의 형태의 설치 요청(200)을 사용하는 동작은 도 2a 및/또는 도 2b에 관해 상술한 기능 중 하나 또는 둘 다를 따라 진행한다.
도 2d는 서버 애플리케이션 ID(130), 클라이언트 애플리케이션 ID(116) 및 디바이스 ID(118)를 포함하는 설치 요청(200)을 나타낸다. 서버 애플리케이션 ID(130)와 클라이언트 애플리케이션 ID(116) 중 어느 하나 또는 둘 다 도 2c의 형태에 관해 상술한 바와 같을 수 있다.
도 3은 한 형태에 따른 동작의 고 레벨 메시지 시퀀스도이다. 시간은 페이지의 세로를 따라 아래쪽으로 진행한다. 처음에, 클라이언트 디바이스(102) 및 서버(104)는 각각 설치된 인터페이스 에이전트(110) 및 인터페이스 에이전트(120)를 포함한다. 나타낸 것과 같이, 클라이언트 디바이스(102)는 데이터 저장소(106)로부터 D/L 클라이언트 애플리케이션(114)을 다운로드한다(시퀀스 300). 클라이언트 디바이스(102)는 클라이언트 디바이스(102)와 통신하기 위해 서버 애플리케이션(126, 128)의 설치 및/또는 실행을 서버에 요청하는 설치 요청(200)을 서버(104)에 전송한다(시퀀스 302).
적어도 일부 형태들에서, 설치 요청(200)은 도 2a-도 2d에 관해 상술한 형태들 중 하나, 둘 이상의 조합, 또는 하나 이상에 대한 변형에 따른 설치 요청일 수 도 있다.
설치 요청(200)의 수신 후 서버(104)는 설치 요청의 적어도 일부에 기초하여, 요청된 서버 애플리케이션(126, 128)이 서버에 설치되어 있지 않다고 결정하고 적절한 서버 애플리케이션에 대한 요청을 데이터 저장소(106)에 전송한다(시퀀스 304). 서버(104)로부터의 애플리케이션 요청 수신 후, 데이터 저장소(106)는 애플리케이션 요청의 적어도 일부에 기초하여, 요청된 D/L 서버 애플리케이션(128)을 결정하고 D/L 서버 애플리케이션을 서버에 전송한다(시퀀스 306). 적어도 일부 형태들에서, 서버(104)는 수신된 설치 요청(200)의 적어도 일부를 데이터 저장소(106)에 전송한다.
요청된 D/L 서버 애플리케이션(128)의 수신 후, 서버(104)는 애플리케이션을 설치하여 실행시키고 확인 응답 메시지(ACK)를 클라이언트 디바이스(102)에 전송한다(시퀀스 308). 서버(104)로부터의 확인 응답 메시지 수신 후, 클라이언트 디바이스(102)는 D/L 서버 애플리케이션(128)을 사용하여 서버(104)에 의해 수행될 것이 요청되는 동작을 전송한다(시퀀스 310).
클라이언트 디바이스(102)로부터의 동작 요청 수신 후, 서버(104), 그리고 보다 구체적으로는 D/L 서버 애플리케이션(128)은 요청된 동작을 수행한다(시퀀스 312). 서버(104)가 요청된 동작을 수행한 후 서버는 동작 결과를 클라이언트 디바이스(102)에 전송한다.
적어도 일부 형태들에서, 클라이언트 디바이스(102)에 의해 요청된 동작은 1회 응답, 주기적 응답 및/또는 미리 결정된 처리(on-going) 단위 응답을 요청할 수 있다. 예를 들어, 클라이언트 애플리케이션(112, 114)은 서버 상태 등과 같은 서버(104)로부터의 정보의 끊임없는 업데이트를 요청할 수 있다. 다른 한정적이지 않은 예에서, 클라이언트 애플리케이션(112, 114)은 정보의 변경을 기초로 서버(104)로부터의 정보의 업데이트를 요청할 수 있다. 적어도 일부 추가 형태들에서, 클라이언트 디바이스(102)에 의해 요청된 동작은 클라이언트 디바이스에 어떠한 응답도 제공되지 않을 것을 요청할 수도 있다.
적어도 일부 형태들에서, 인터페이스 에이전트(110, 120)는 각각 클라이언트 디바이스(102) 및 서버(104)에, 예를 들어 제조시 미리 설치될 수도 있다. 적어도 일부 다른 형태들에서, 인터페이스 에이전트(110, 120) 중 하나 또는 둘 다 나중에 다운로드될 수도 있다.
적어도 일부 형태들에서, 서버(104)에서 동작이 수행될 것을 요청하는 클라이언트 애플리케이션은 클라이언트 디바이스(102) 상의 기존 애플리케이션(112)일 수도 있다. 적어도 일부 형태들에서, 클라이언트 디바이스(102) 및/또는 서버(104)는 요청을 인증 및/또는 승인하기 위해 메시지 전송의 일부로서 또는 메시지 전송 이외에, 예를 들어 사용자 입력에 의해 상대 쪽으로의 디바이스 ID(118) 전송을 요청할 수 있다.
도 4는 다른 형태에 따른 동작의 고 레벨 메시지 시퀀스도를 나타낸다. 처음에, 클라이언트 디바이스(102) 및 서버(104)는 각각 설치된 인터페이스 에이전트(110) 및 인터페이스 에이전트(120)를 포함한다. 또한, 도 4의 형태에서 서버(104)는 서버에 설치된 클라이언트 디바이스(102)로부터의 요청된 동작을 수행할 수 있는 적절한 서버 애플리케이션(126, 128)을 포함한다.
메시지 시퀀스는 도 3에 관해 상술한 것과 같이 진행하지만, 클라이언트 디바이스(102)로부터의 설치 요청(200) 수신(시퀀스 302) 후, 서버(104)는 적절한 서버 애플리케이션(126, 128)이 서버에 설치되어 있다고 결정하고, (아직 실행중이 아니라면) 애플리케이션을 실행시키며, 클라이언트 디바이스로 확인 응답 메시지를 전송한다(시퀀스 308). 흐름은 도 3에 관해 상술한 것과 같이 계속된다.
도 5는 한 형태에 따른 서버(104)의 프로세스 흐름 부분(400)의 고 레벨 프로세스 흐름도를 나타낸다. 프로세스 흐름(400)은 서버(104)의 대기 상태(402)에서 시작한다. 설치 요청(200)의 수신에 응답하여, 흐름은 설치 요청의 적어도 일부에 대응하는 서버 애플리케이션(126, 128)이 서버(104)에 설치되어 있는지 여부를 결정하도록 진행한다(애플리케이션 결정 상태(404)).
서버 애플리케이션(126, 128)이 설치되어 있다면, 서버(104)는 확인 응답 메시지를 전송하고 흐름은 대기 상태(402)로 돌아간다. 서버 애플리케이션(126, 128)이 설치되어 있지 않다면, 흐름은 데이터 저장소(106)로부터 서버 애플리케이션(128)을 입수하기 위한 시도로 진행한다(애플리케이션 검색 상태(406)). 애플리케이션 검색 상태(406) 동안, 서버(104)는 데이터 저장소(106)로부터 서버 애플리케이션(128)의 입수를 시도한다.
서버(104)가 데이터 저장소(106)로부터 D/L 서버 애플리케이션(128)을 입수할 수 있다면, 흐름은 서버에 D/L 서버 애플리케이션을 설치하도록 진행한다(애플리케이션 설치(408)). 서버(104) 상에 D/L 서버 애플리케이션(128)의 설치 후, 서 버(104)는 확인 응답 메시지를 클라이언트 디바이스(102)에 전송하고, 흐름은 대기 상태(402)로 돌아가도록 진행한다. 적어도 일부 형태들에서, 서버(104)가 특정 D/L 서버 애플리케이션에 대한 신뢰성을 확증할 수 있다면, 즉 특정 D/L 서버 애플리케이션(128)의 서명한 증명서를 검증 및/또는 유효화할 수 있다면, 서버는 설명한 바와 같이 확인 응답 메시지를 클라이언트 디바이스(102)에 전송하도록 진행한다.
서버(104)가 데이터 저장소(106)로부터 D/L 서버 애플리케이션(128)을 입수할 수 없다면, 서버(104)는 부정 응답 메시지를 클라이언트 디바이스(102)에 전송하고, 흐름은 대기 상태(402)로 돌아간다. 부정 응답 메시지는 서버(104)가 클라이언트 디바이스(102)로부터의 요청에 응답할 수 없음을 나타낸다. 적어도 일부 형태들에서, 서버(104)가 D/L 서버 애플리케이션(128)에 대한 신뢰성을 확증할 수 없다면, 서버는 설명한 바와 같이 부정 응답 메시지를 클라이언트 디바이스(102)로 전송하도록 진행한다.
클라이언트 디바이스(102)로부터 동작에 대한 요청의 수신에 응답하여, 흐름은 요청된 동작을 수행하도록 진행하는데, 즉 서버 애플리케이션(126, 128)이 요청된 동작을 수행한다(동작 수행 상태(410)). 요청된 동작의 수행 후, 서버(104)는 동작 요청을 클라이언트 디바이스(102)에 전송하고 흐름은 대기 상태(402)로 돌아가도록 진행한다. 적어도 일부 형태들에서, 서버(104)는 동작 결과를 클라이언트 디바이스(102)에 전송하고 흐름은 동작 수행 상태(410)로 돌아간다(점선 동작 결과). 이 형태에 따르면, 점선의 동작 결과 전이는 동작 결과들을 클라이언트 디바 이스(102)에 제공하도록 주기적으로 또는 미리 결정된 단위로 1회 이상 실행될 수 있다.
어떤 개인 연산 디바이스들은 로컬 컴퓨터 플랫폼에 설치되어, 예를 들어 디바이스 특정 자원들에 대한 일반화된 호출들을 제공하는 등 이러한 디바이스의 동작들을 간소화하는데 사용되는 애플리케이션 프로그래밍 인터페이스(API)들을 이용하며, 이는 때때로 런타임 환경 및 소프트웨어로 지칭된다. 또한, 어떤 API들은 이러한 디바이스들에서 완전히 실행 가능한 소프트웨어 애플리케이션들을 생성하는 능력을 소프트웨어 개발자들에게 제공하는 것으로 알려져 있다. 또한, 이러한 API들 중 일부는 소프트웨어 개발자들이 특정 연산 디바이스 시스템 소스 코드를 가질 것을 요구하지 않고 연산 디바이스 연산 기능이 소프트웨어 애플리케이션들에 이용 가능하게 되도록 연산 디바이스 시스템 소프트웨어와 소프트웨어 애플리케이션들 사이에 동작 가능하게 위치하는 것으로 알려져 있다. 또한, 어떤 API들은 보안 암호 정보를 사용하여 이러한 개인용 디바이스들(즉, 클라이언트들)과 원격 디바이스들(즉, 서버들) 간의 보안 통신을 위한 메커니즘들을 제공하는 것으로 알려져 있다.
일부가 아래에서 더 상세히 논의되는 이러한 API들의 예는 캘리포니아 샌디에고의 Qualcomm, Inc.에 의해 개발된 무선용 이진 런타임 환경®(BREW®)의 버전들을 포함한다. BREW®는 때로는 다른 특징들 중에서도 개인 연산 디바이스들에서 특별히 발견되는 하드웨어 피처(feature)들에 대한 인터페이스들을 제공하는 연산 디바이스(통상적으로는 무선 셀룰러폰)의 운영 시스템 위에 존재하는 박판(thin veneer)으로서 설명된다. BREW®는 또한 이러한 디바이스 자원들에 대한 수요 및 BREW® API를 포함하는 디바이스들에 대해 소비자들이 지급한 가격에 관하여 비교적 낮은 비용으로 이러한 개인 연산 디바이스들 상에 제공될 수 있는 적어도 어떤 한 이점에 의해 또 특성화된다. BREW®와 관련된 것으로 알려진 다른 피처들은 무선 서비스 운영자들, 소프트웨어 개발자들 및 연산 디바이스 소비자들에게 다양한 이익을 제공하는 종단간 소프트웨어 배포 플랫폼을 포함한다. 이러한 적어도 하나의 현재 이용 가능한 종단간 소프트웨어 배포 플랫폼은 서버가, 예를 들어 과금, 보안 및 애플리케이션 배포 기능을 수행하고 클라이언트가, 예를 들어 애플리케이션 실행, 보안 및 사용자 인터페이스 기능을 수행하는 서버-클라이언트 구조를 통해 배포되는 로직을 포함한다.
하나 이상의 형태가 연산 디바이스 상에서 실행하는 애플리케이션 프로그래밍 인터페이스(API) 또는 런타임 환경과 관련하여 사용된다. 이러한 어떤 런타임 환경이나 API는 이전에 논의한 무선용 이진 런타임 환경®(BREW®) 소프트웨어이다. 그러나 설명한 형태들 중 하나 이상은 예를 들어 무선 클라이언트 연산 디바이스들 상에서의 애플리케이션들의 실행을 제어하도록 동작하는 다른 타입의 런타임 환경/API에 사용될 수 있다.
도 6은 무선 시스템(600)의 한 예시적인 형태의 블록도를 나타낸다. 시스템(600)은 무선 통신 포탈 또는 무선 네트워크(604)에 대한 다른 데이터 액세스를 통해 소프트웨어 애플리케이션들과 컴포넌트들을 선택적으로 무선 디바이스들에 전송하는 적어도 하나의 애플리케이션 다운로드 서버(606), 예를 들어 데이터 저장 소(106)와 무선 네트워크(604), 예를 들어, 네트워크(108)를 통해 통신하는 셀룰러폰(602)과 같은 클라이언트 무선 디바이스들을 포함할 수 있다. 여기에 도시한 바와 같이, 무선 (클라이언트) 디바이스는 셀룰러폰(602), 개인 디지털 보조기기(608), 여기서는 양방향 텍스트 호출기로 나타낸 호출기(610), 또는 심지어 무선 통신 포탈을 갖는 개별 컴퓨터 플랫폼(612)일 수 있다. 예를 들어, 무선 디바이스(102)는 데이터를 전송 및 수신하는 트랜시버 또는 통신 디바이스, 명령들을 실행하고 무선 디바이스의 동작을 제어하는 프로세서, 실행 가능 명령들을 저장하는 메모리, 클라이언트 애플리케이션(들)(112, 114), 디바이스 ID(118) 및 인터페이스 에이전트(110)를 포함한다. 이와 같이 상기 형태들은 무선 통신 포탈, 예를 들어 한정 없이 무선 모뎀, PCMCIA 카드, 개인용 컴퓨터, 액세스 단말, 전화, 또는 이들의 임의의 조합 또는 하위 조합을 포함하는 통신 디바이스를 포함하는 임의의 형태의 클라이언트 디바이스에 대해 실현될 수 있다.
애플리케이션 다운로드 서버(606)는 여기서 무선 네트워크(604)와 통신하는 다른 컴퓨터 엘리먼트들과 함께 네트워크(616) 상에 도시된다. 독립 서버(622)가 있을 수 있으며, 각 서버는 무선 네트워크(604)를 통해 개별 서비스들 및 프로세스들을 클라이언트 디바이스(602, 608, 610, 612)에 제공할 수 있다. 시스템(600)은 또한 적어도 하나의 저장된 애플리케이션 데이터베이스(618), 예를 들어, 서버(622)에 의해 다운로드 가능한 소프트웨어 애플리케이션들, 예를 들어 D/L 서버 애플리케이션(128) 및 D/L 클라이언트 애플리케이션(114)을 보유하는 데이터 저장소(106)를 포함할 수도 있다(D/L 서버 애플리케이션은 점선에 의해 서버로 다운로 드 가능한 것으로 표시되고, D/L 클라이언트 애플리케이션은 점선에 의해 클라이언트 디바이스로 다운로드 가능한 것으로 표시된다). 그러나 당업자들은 도 6에 나타낸 구성이 예시일 뿐임을 인식할 것이다. 따라서 다른 형태들은 설명한 모든 기능을 각각 수행하고 필요한 모든 하드웨어 및 소프트웨어를 포함할 수 있거나, 선택된 기능만을 포함할 수 있는 더 많은 서버 중 하나를 포함할 수 있다.
도 7에서, 무선 네트워크(604)의 컴포넌트들 및 예시적인 형태들의 엘리먼트들의 상호 관계를 포함하는 시스템(600)을 더욱 충분히 설명하는 블록도가 도시된다. 시스템(600)은 예시이며 임의의 시스템을 포함할 수 있으며, 이로써 무선 클라이언트 연산 디바이스(602, 608, 610, 612)와 같은 원격 클라이언트 디바이스들은 서로 간에 그리고 이들 사이에서 그리고/또는 한정 없이 무선 네트워크 캐리어들 및/또는 서버들을 포함하는 무선 네트워크(604)를 통해 접속된 컴포넌트들 간에 그리고 이들 사이에서 무선으로 통신한다. 애플리케이션 다운로드 서버(606)와 저장된 애플리케이션 데이터베이스(618)는 인터넷, 보안 LAN, WAN 또는 다른 네트워크와 같은 데이터 링크를 통해 캐리어 네트워크(700)와 통신한다. 저장된 애플리케이션 데이터베이스(618)는 무선 클라이언트 컴퓨터 디바이스(602, 608, 610, 612) 각각으로의 다운로드를 위해 상술한 형태들에 따른 D/L 클라이언트 애플리케이션(114)을 포함한다. 무선 클라이언트 컴퓨터 디바이스(602, 608, 610, 612)는 저장된 애플리케이션 데이터베이스(618)로부터 D/L 클라이언트 애플리케이션(114)(점선)의 사본을 다운로드한다. 도시한 형태에서, 서버(620)는 애플리케이션 다운로드 서버(606), 배포 서버(622) 및 저장된 애플리케이션 데이터베이스(618)를 포함할 수 있다. 그러나 이들 서버는 독립 디바이스일 수도 있다.
다시 도 7의 형태를 참조하면, 캐리어 네트워크(700)는 메시징 서비스 제어기(MSC)(702)로 전송되는 메시지들(일반적으로는 데이터 패킷들)을 제어한다. 캐리어 네트워크(700)는 다른 네트워크, 인터넷 및/또는 POTS(plain ordinary telephone system)와 같은 다른 통신 링크를 통해 MSC(702)와 통신한다. 통상적으로, 캐리어 네트워크(700)와 MSC(702) 간의 네트워크 또는 인터넷 접속은 데이터를 전송하고, POTS는 음성 정보를 전송한다. MSC(702)는 데이터 네트워크 및/또는 데이터 전송을 위한 인터넷과 음성 정보를 위한 POTS를 모두 포함하는 적어도 하나의 통신 링크 등에 의해 다수의 기지국(BTS)(704)에 접속될 수 있다. BTS(704)는 결국 단문 전송 서비스(SMS) 등과 같은 무선 프로토콜로 셀룰러폰(602)과 같은 무선 통신 디바이스들에 무선으로 메시지들을 브로드캐스트한다.
도 7의 형태에서, 셀룰러폰(602)과 같은 각각의 무선 디바이스는 소프트웨어 애플리케이션들을 수신하여 실행할 수 있고 컴퓨터 시스템(620) 또는 다른 네트워크 서버들(622)로부터 전송된 데이터를 디스플레이할 수 있는 컴퓨터 플랫폼(706)을 포함할 수 있다. 컴퓨터 플랫폼(706)은 주문형 집적 회로(ASIC)(708), 또는 다른 칩셋, 마이크로프로세서, 논리 회로나 다른 데이터 처리 디바이스를 포함할 수 있다. ASIC(708)는 셀룰러폰(602)의 제조시 설치될 수 있다. ASIC(708)나 다른 프로세서는 무선 디바이스의 메모리(712)에 있는 임의의 상주 프로그램들, 예를 들어 D/L 클라이언트 애플리케이션(114)과 인터페이스 접속하는 애플리케이션 프로그래밍 인터페이스(API) 계층(710)을 실행할 수 있다. API(710)는 연산 디바이스, 또는 이 경우에는 셀룰러폰(602)에서 실행하는 런타임 환경이다. 이러한 어떤 런타임 환경은, 예를 들어 무선 연산 디바이스들 상에서의 애플리케이션들의 실행을 제어하도록 동작하는 다른 런타임 환경들이 이용될 수도 있지만, 무선용 이진 런타임 환경®(BREW®) 소프트웨어이다. 메모리(712)는 예를 들어 판독 전용 및 랜덤 액세스 메모리(RAM 및 ROM), EPROM, EEPROM, 플래시 카드, 및 컴퓨터 플랫폼들에 일반적인 임의의 메모리 중 적어도 하나로 구성될 수 있다. 컴퓨터 플랫폼(706)은 또한 소프트웨어 애플리케이션들, 예를 들어, 메모리(712)에서 활발하게 사용되지 않는 데이터나 파일들, 또는 D/L 클라이언트 애플리케이션(114)을 보유할 수 있는 로컬 데이터베이스(714)를 포함할 수도 있다. 로컬 데이터베이스(714)는 플래시 메모리 셀, 자기 매체, EPROM, EEPROM, 광 매체, 테이프, 소프트 디스크, 하드디스크, 및 임의의 다른 타입의 제 2 또는 제 3 메모리 중 적어도 하나를 포함할 수도 있다. 이와 같이, 도 7의 형태에서 각 셀룰러폰(602)에는 시스템(600)에 따라 컴퓨터 시스템(620)으로부터 D/L 클라이언트 애플리케이션(114)과 같은 애플리케이션들 및/또는 데이터가 로드될 수 있다.
본원에 개시된 형태들에 관련하여 설명한 다양한 예시적인 로직, 논리 블록, 모듈 및 회로는 여기서 설명하는 기능들을 수행하도록 설계된 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 현장 프로그래밍 가능 게이트 어레이(FPGA) 또는 다른 프로그래밍 가능 논리 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트, 또는 이들의 임의의 조합으로 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로 프로세서는 임의의 종래 프로세서, 제어기, 마이크로컨트롤러 또는 상태 머신일 수도 있다. 프로세서는 또한 연산 디바이스들의 조합, 예를 들어 DSP와 마이크로프로세서의 조합, 다수의 마이크로프로세서, DSP 코어와 결합한 하나 이상의 마이크로프로세서, 또는 임의의 다른 구성으로 구현될 수도 있다.
또한, 본원에 개시된 형태들과 관련하여 설명한 방법 또는 알고리즘의 단계들 및/또는 동작들은 하드웨어에 직접, 또는 프로세서에 의해 실행되는 소프트웨어 모듈에, 또는 이 둘의 조합으로 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드디스크, 착탈식 디스크, CD-ROM, 또는 공지된 임의의 다른 형태의 저장 매체에 상주할 수 있다. 예시적인 저장 매체는 프로세서가 저장 매체로부터 정보를 읽고 저장 매체에 정보를 기록할 수 있도록 프로세서에 연결된다. 대안으로, 저장 매체는 프로세서에 통합될 수도 있다. 또한, 어떤 형태들에서 프로세서 및 저장 매체는 ASIC에 상주할 수도 있다. 추가로, ASIC는 사용자 단말에 상주할 수도 있다. 대안으로, 프로세서 및 저장 매체는 사용자 단말에 개별 컴포넌트들로서 상주할 수도 있다. 추가로, 어떤 형태들에서는 방법 또는 알고리즘의 단계들 및/또는 동작들이 기계 판독 가능 매체 및/또는 컴퓨터 판독 가능 매체 상의 명령들 중 하나 또는 임의의 조합 또는 세트로서 상주할 수도 있다.
상기한 개시는 예시적인 형태들 및/또는 실시예들을 보여주지만, 첨부된 청구범위에 의해 정의된 바와 같이 설명한 형태들 및/또는 실시예들의 범위를 벗어나지 않으면서 다양한 변형 및 개조가 이루어질 수 있다는 점에 유의해야 한다. 더 욱이, 설명한 형태들의 엘리먼트들은 단수로 설명 또는 청구될 수 있지만, 단수로의 한정이 명시되지 않는 한 다수가 고려된다. 추가로, 달리 언급되지 않는 한, 임의의 형태 및/또는 실시예의 일부 또는 전부가 임의의 다른 형태 및/또는 실시예의 일부 또는 전부와 함께 이용될 수도 있다.

Claims (20)

  1. 클라이언트 디바이스에 응답하여 필요한 애플리케이션을 자동으로 설치하는 서버로서,
    클라이언트 무선 디바이스로부터 식별자를 포함하는 제 1 신호를 수신하도록 구성되는 인터페이스 에이전트;
    상기 식별자에 대응하는 실행 가능 애플리케이션을 입수하도록 구성되는 검색 애플리케이션; 및
    상기 실행 가능 애플리케이션을 입수한 상기 검색 애플리케이션에 응답하여 상기 실행 가능 애플리케이션을 설치하도록 구성되는 설치자 애플리케이션을 포함하며,
    상기 인터페이스 에이전트는 상기 설치된 실행 가능 애플리케이션의 실행을 일으키도록 구성되는, 서버.
  2. 제 1 항에 있어서,
    상기 식별자는 상기 실행 가능 애플리케이션의 네트워크 어드레스를 포함하는, 서버.
  3. 제 1 항에 있어서,
    상기 식별자는 상기 클라이언트 무선 디바이스 상의 대응하는 실행 가능 애 플리케이션의 식별자를 포함하는, 서버.
  4. 제 1 항에 있어서,
    하나 이상의 실행 가능 애플리케이션들을 포함하는 데이터 저장소를 더 포함하며, 상기 실행 가능 애플리케이션들 각각은 애플리케이션 식별자를 포함하는, 서버.
  5. 제 1 항에 있어서,
    하나 이상의 애플리케이션 식별자들이 상기 식별자에 대응하는, 서버.
  6. 제 1 항에 있어서,
    상기 검색 애플리케이션은 입수한 실행 가능 애플리케이션을 인증하도록 추가 구성되는, 서버.
  7. 서버에서의 필요한 애플리케이션의 설치를 요청하는 클라이언트 무선 디바이스로서,
    애플리케이션 식별자를 포함하는 실행 가능 애플리케이션; 및
    설치 요청을 서버에 전송하도록 구성되는 인터페이스 에이전트를 포함하며,
    상기 설치 요청은 상기 애플리케이션 식별자에 대응하는 식별자를 포함하는, 클라이언트 무선 디바이스.
  8. 제 7 항에 있어서,
    상기 실행 가능 애플리케이션은 미리 설치된 애플리케이션 및 다운로드된 애플리케이션 중 적어도 하나를 포함하는, 클라이언트 무선 디바이스.
  9. 제 7 항에 있어서,
    디바이스 식별자를 더 포함하는, 클라이언트 무선 디바이스.
  10. 제 9 항에 있어서,
    상기 설치 요청은 상기 디바이스 식별자를 더 포함하는, 클라이언트 무선 디바이스.
  11. 제 7 항에 있어서,
    상기 식별자는 다른 애플리케이션 식별자를 포함하는, 클라이언트 무선 디바이스.
  12. 클라이언트 디바이스에 응답하여 필요한 애플리케이션을 자동으로 설치하는 방법으로서,
    클라이언트 디바이스로부터 식별자를 포함하는 설치 요청을 수신하는 단계;
    상기 식별자의 적어도 일부를 기초로 결정된 애플리케이션을 설치하는 단계;
    상기 식별자의 수신에 응답하여 상기 애플리케이션을 실행하는 단계;
    상기 애플리케이션에 대한 동작 요청의 수신에 응답하여 결과를 생성하는 단계; 및
    상기 생성된 결과를 상기 클라이언트 디바이스에 전송하는 단계를 포함하는, 애플리케이션 자동 설치 방법.
  13. 제 12 항에 있어서,
    상기 설치하는 단계는 상기 애플리케이션을 실행하기 전에 상기 애플리케이션을 인증하는 단계를 포함하는, 애플리케이션 자동 설치 방법.
  14. 서버에서의 필요한 애플리케이션의 설치를 요청하고 상기 애플리케이션과 상호 작용하는 방법으로서,
    애플리케이션 식별자에 대응하는 식별자를 포함하는 설치 요청을 서버에 전송하는 단계;
    상기 설치 요청에 응답하는 확인 응답 메시지의 수신에 응답하여, 상기 서버에 동작 요청을 전송하는 단계; 및
    상기 동작 요청에 응답하는 상기 서버로부터의 결과를 수신하는 단계를 포함하는, 애플리케이션의 설치 요청 및 상호 작용 방법.
  15. 적어도 하나의 프로세서로서,
    클라이언트 디바이스로부터 식별자를 포함하는 설치 요청을 수신하는 동작;
    상기 식별자의 적어도 일부를 기초로 결정된 애플리케이션을 설치하는 동작;
    상기 식별자의 수신에 응답하여 상기 애플리케이션을 실행하는 동작;
    상기 애플리케이션에 대한 동작 요청의 수신에 응답하여 결과를 생성하는 동작; 및
    상기 생성된 결과를 상기 클라이언트 디바이스에 전송하는 동작을 수행하도록 구성되는, 적어도 하나의 프로세서.
  16. 적어도 하나의 프로세서로서,
    애플리케이션 식별자에 대응하는 식별자를 포함하는 설치 요청을 서버에 전송하는 동작;
    상기 설치 요청에 응답하는 확인 응답 메시지의 수신에 응답하여, 상기 서버에 동작 요청을 전송하는 동작; 및
    상기 동작 요청에 응답하는 상기 서버로부터의 결과를 수신하는 동작을 수행하도록 구성되는, 적어도 하나의 프로세서.
  17. 저장된 명령들을 포함하는 기계 판독 가능 매체로서,
    클라이언트 디바이스로부터 식별자를 포함하는 설치 요청을 수신하기 위한 제 1 세트의 명령들;
    상기 식별자의 적어도 일부를 기초로 결정된 애플리케이션을 설치하기 위한 제 2 세트의 명령들;
    상기 식별자의 수신에 응답하여 상기 애플리케이션을 실행하기 위한 제 3 세트의 명령들;
    상기 애플리케이션에 대한 동작 요청의 수신에 응답하여 결과를 생성하기 위한 제 4 세트의 명령들; 및
    상기 생성된 결과를 상기 클라이언트 디바이스에 전송하기 위한 제 5 세트의 명령들을 포함하는, 기계 판독 가능 매체.
  18. 저장된 명령들을 포함하는 기계 판독 가능 매체로서,
    애플리케이션 식별자에 대응하는 식별자를 포함하는 설치 요청을 서버에 전송하기 위한 제 1 세트의 명령들;
    상기 설치 요청에 응답하는 확인 응답 메시지의 수신에 응답하여, 상기 서버에 동작 요청을 전송하기 위한 제 2 세트의 명령들; 및
    상기 동작 요청에 응답하는 상기 서버로부터의 결과를 수신하기 위한 제 3 세트의 명령들을 포함하는, 기계 판독 가능 매체.
  19. 클라이언트 디바이스에 응답하여 필요한 애플리케이션을 자동으로 설치하는 서버 디바이스로서,
    클라이언트 디바이스로부터 식별자를 포함하는 설치 요청을 수신하는 수단;
    상기 식별자의 적어도 일부를 기초로 결정된 애플리케이션을 설치하는 수단;
    상기 식별자의 수신에 응답하여 상기 애플리케이션을 실행하는 수단;
    상기 애플리케이션에 대한 동작 요청의 수신에 응답하여 결과를 생성하는 수단; 및
    상기 생성된 결과를 상기 클라이언트 디바이스에 전송하는 수단을 포함하는, 서버 디바이스.
  20. 서버에서의 필요한 애플리케이션의 설치를 요청하고 상기 애플리케이션과 상호 작용하는 클라이언트 디바이스로서,
    애플리케이션 식별자에 대응하는 식별자를 포함하는 설치 요청을 서버에 전송하는 수단;
    상기 설치 요청에 응답하는 확인 응답 메시지의 수신에 응답하여, 상기 서버에 동작 요청을 전송하는 수단; 및
    상기 동작 요청에 응답하는 상기 서버로부터의 결과를 수신하는 수단을 포함하는, 클라이언트 디바이스.
KR1020097014577A 2006-12-12 2007-12-05 클라이언트 구동 서버측 설치를 위한 장치 및 방법 KR101089353B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/609,462 US8645948B2 (en) 2006-12-12 2006-12-12 Apparatus and methods for client-driven server-side installation
US11/609,462 2006-12-12
PCT/US2007/086545 WO2008073787A1 (en) 2006-12-12 2007-12-05 Apparatus and methods for client-driven server-side installation

Publications (2)

Publication Number Publication Date
KR20090101230A true KR20090101230A (ko) 2009-09-24
KR101089353B1 KR101089353B1 (ko) 2011-12-02

Family

ID=39203522

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097014577A KR101089353B1 (ko) 2006-12-12 2007-12-05 클라이언트 구동 서버측 설치를 위한 장치 및 방법

Country Status (6)

Country Link
US (1) US8645948B2 (ko)
EP (1) EP2102745A1 (ko)
JP (1) JP5237298B2 (ko)
KR (1) KR101089353B1 (ko)
CN (1) CN101558381A (ko)
WO (1) WO2008073787A1 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8009644B2 (en) 2005-12-01 2011-08-30 Ruckus Wireless, Inc. On-demand services by wireless base station virtualization
US9071583B2 (en) * 2006-04-24 2015-06-30 Ruckus Wireless, Inc. Provisioned configuration for automatic wireless connection
EP2013758B1 (en) 2006-04-24 2016-08-03 Ruckus Wireless, Inc. Dynamic authentication in secured wireless networks
US9769655B2 (en) 2006-04-24 2017-09-19 Ruckus Wireless, Inc. Sharing security keys with headless devices
US8335501B1 (en) 2007-11-21 2012-12-18 At&T Mobility Ii Llc Controlling functions of mobile communications devices
US20090158273A1 (en) * 2007-12-18 2009-06-18 Thanabalan Thavittupitchai Paul Systems and methods to distribute software for client receivers of a content distribution system
US20090288079A1 (en) * 2008-05-13 2009-11-19 Google Inc. Automatic installation of a software product on a device
EP2340485A1 (de) * 2008-09-25 2011-07-06 Siemens Enterprise Communications GmbH & Co. KG Verfahren zur konfiguration einer applikation
EP2340484A1 (en) 2008-10-27 2011-07-06 Hewlett-Packard Development Company, L.P. Imaging process
US8346847B2 (en) * 2009-06-03 2013-01-01 Apple Inc. Installing applications based on a seed application from a separate device
US20110126192A1 (en) * 2009-10-26 2011-05-26 Simon Frost Systems and methods for providing and updating a unified client
US8621457B2 (en) * 2009-11-12 2013-12-31 Nintendo Co., Ltd. System and method for installing software applications
US8881134B2 (en) * 2010-04-29 2014-11-04 International Business Machines Corporation Updating elements in data storage facility using predefined state machine over extended time period
WO2012030653A2 (en) * 2010-08-29 2012-03-08 Vascode Technologies Ltd. A system and methods for multi-tasking in a clientless mobile phone
JP5032643B2 (ja) * 2010-09-30 2012-09-26 株式会社東芝 通信装置、および管理方法
US9106980B2 (en) * 2011-01-13 2015-08-11 Imergy Power Systems, Inc. Communications system
WO2011113383A2 (zh) * 2011-04-26 2011-09-22 华为终端有限公司 一种业务处理的方法和服务器
US8856506B2 (en) 2011-04-27 2014-10-07 Hewlett-Packard Development Company, L.P. Process for joining a computer to a directory based on either a newly created computer account or renewed computer account depending on a unique identifier associated with an end-user
US9792188B2 (en) 2011-05-01 2017-10-17 Ruckus Wireless, Inc. Remote cable access point reset
US8924958B1 (en) * 2011-05-24 2014-12-30 BlueStack Systems, Inc. Application player
US10089093B1 (en) 2011-05-24 2018-10-02 BlueStack Systems, Inc. Apparatuses, systems and methods of switching operating systems
US9544353B2 (en) * 2011-06-16 2017-01-10 Microsoft Technology Licensing, Llc Dynamic activation of web applications
US9171314B2 (en) * 2011-06-16 2015-10-27 Microsoft Technology Licensing, Llc Cloud based management of an in-store device experience
US9779106B2 (en) * 2011-08-15 2017-10-03 Lenovo (Beijing) Co., Ltd. Application management method and device
US8756668B2 (en) 2012-02-09 2014-06-17 Ruckus Wireless, Inc. Dynamic PSK for hotspots
US9672574B2 (en) * 2012-03-20 2017-06-06 Facebook, Inc. Bypass login for applications on mobile devices
US9092610B2 (en) 2012-04-04 2015-07-28 Ruckus Wireless, Inc. Key assignment for a brand
US9953299B2 (en) 2013-12-04 2018-04-24 PowWow, Inc. Systems and methods for sharing image data
US9661054B2 (en) * 2013-12-04 2017-05-23 PowWow, Inc. Systems and methods to configure applications
WO2015167592A1 (en) * 2014-04-30 2015-11-05 Hewlett-Packard Development Company, L.P. Using a single deployer agent to deploy a plurality of programs on a server
US9747097B2 (en) 2014-09-30 2017-08-29 Qardio, Inc. Devices, systems and methods for segmented device behavior
CN104537283A (zh) * 2014-12-17 2015-04-22 安徽清新互联信息科技有限公司 一种基于网络的软件授权控制装置
EP3368976A1 (en) * 2015-10-30 2018-09-05 British Telecommunications public limited company Mobile information processing
JP7227468B2 (ja) * 2019-01-28 2023-02-22 キヤノンマーケティングジャパン株式会社 プログラム、情報処理システムとその制御方法装置及びプログラム処理方法
US11109339B2 (en) * 2019-02-21 2021-08-31 At&T Intellectual Property I, L.P. Pre-provisioned access management containers for wireless services

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887460A (ja) * 1994-09-19 1996-04-02 Seiko Epson Corp インストールシステム
US6282712B1 (en) * 1995-03-10 2001-08-28 Microsoft Corporation Automatic software installation on heterogeneous networked computer systems
US6049671A (en) * 1996-04-18 2000-04-11 Microsoft Corporation Method for identifying and obtaining computer software from a network computer
US5931909A (en) * 1996-04-19 1999-08-03 Sun Microsystems, Inc. System for multiple-client software installation and upgrade
US5950010A (en) * 1996-11-25 1999-09-07 J.D. Edwards World Source Co. System and method for customized application package building and installation
US6125384A (en) 1996-12-23 2000-09-26 International Business Machines Corporation Computer apparatus and method for communicating between software applications and computers on the world-wide web
US5953532A (en) * 1997-01-03 1999-09-14 Ncr Corporation Installation and deinstallation of application programs
JP2000172657A (ja) 1998-12-08 2000-06-23 Fujitsu Ltd 分散処理システム、分散処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体、サーバ装置およびクライアント装置
EP1411429A3 (en) 1998-12-29 2007-12-26 Citrix Systems, Inc. An apparatus and method for determining a program neighbourhood for a client node in a client-server network
US6427227B1 (en) * 1999-03-03 2002-07-30 Microsoft Corporation System, method, and computer-readable medium for repairing an application program that has been patched
US7062765B1 (en) * 1999-05-25 2006-06-13 Realnetworks, Inc. System and method for updating information via a network
US6223345B1 (en) * 1999-08-30 2001-04-24 J.D. Edwards World Source Company System and method for building client and server application packages
US6578199B1 (en) * 1999-11-12 2003-06-10 Fujitsu Limited Automatic tracking system and method for distributable software
US6751794B1 (en) * 2000-05-25 2004-06-15 Everdream Corporation Intelligent patch checker
JP3642005B2 (ja) 2000-05-26 2005-04-27 日本電気株式会社 アプリケーション実行システム、アプリケーション実行方法、および記録媒体
JP2002027027A (ja) * 2000-07-10 2002-01-25 Toshiba Corp 計算機システム、計算機管理システム及びシステム管理方法
US6725453B1 (en) * 2000-08-23 2004-04-20 Microsoft Corporation Remote software installation and maintenance
US6865737B1 (en) * 2000-08-23 2005-03-08 Microsoft Corporation Remote software installation and maintenance
JP2002140532A (ja) 2000-10-31 2002-05-17 Toshiba Eng Co Ltd ソフトウェア販売システム、ソフトウェア販売方法、ソフトウェア販売を行うためのプログラムを記憶した記録媒体
JP2002236590A (ja) * 2000-12-08 2002-08-23 Seiko Epson Corp ソフトウェアのインストール方法
US7143406B2 (en) * 2001-01-23 2006-11-28 Wildtangent, Inc. Asynchronous software update
WO2002078385A1 (fr) * 2001-03-23 2002-10-03 Tatsuya Fujii Systeme de mise a jour des parametres d'un appareil
US6925481B2 (en) * 2001-05-03 2005-08-02 Symantec Corp. Technique for enabling remote data access and manipulation from a pervasive device
US20060020688A1 (en) * 2001-05-14 2006-01-26 At&T Corp. System having generalized client-server computing
US7055149B2 (en) * 2001-07-25 2006-05-30 Lenovo (Singapore) Pte Ltd. Method and apparatus for automating software upgrades
EP1284550A1 (en) 2001-08-13 2003-02-19 Red-M (Communications) Limited Automatic information transfer
US20030084439A1 (en) * 2001-10-04 2003-05-01 Ross Perkins Incentive system for distributing software over a computer network
JP2003173246A (ja) * 2001-12-05 2003-06-20 Ricoh Co Ltd デバイス情報収集方法、プログラム、サーバ装置及び記憶媒体
KR20020029029A (ko) 2002-03-25 2002-04-17 서진석 온라인 상에서 웹응용프로그램을 제공하는 시스템 및 방법
US7412495B2 (en) * 2002-04-26 2008-08-12 Sun Microsystems, Inc. Method, system, and article of manufacture for a server side application
US7203940B2 (en) * 2002-04-29 2007-04-10 Hewlett-Packard Development Company, Lp. Automated installation of an application
US7089552B2 (en) * 2002-08-29 2006-08-08 Sun Microsystems, Inc. System and method for verifying installed software
US20040088700A1 (en) * 2002-10-31 2004-05-06 Chung-I Lee System and method for automatically installing software on client computers via a network
JP2004171107A (ja) * 2002-11-18 2004-06-17 Sony Corp ソフトウエア提供システム、ソフトウエア提供装置および方法、記録媒体、並びにプログラム
US7287068B1 (en) * 2002-12-13 2007-10-23 Bmc Software, Inc. System and method for updating devices that execute an operating system or application program directly from nonvolatile storage
US7703091B1 (en) * 2002-12-31 2010-04-20 Emc Corporation Methods and apparatus for installing agents in a managed network
US7587715B1 (en) * 2002-12-31 2009-09-08 Emc Corporation System and method for selective installation of one or more components for a data storage management system
KR100493883B1 (ko) 2003-01-02 2005-06-10 삼성전자주식회사 애플리케이션 관리 시스템 및 방법
JP4593078B2 (ja) 2003-02-28 2010-12-08 株式会社日立製作所 異なる計算機環境におけるジョブ実行方法及びそのプログラム
US7584467B2 (en) * 2003-03-17 2009-09-01 Microsoft Corporation Software updating system and method
CA2519327A1 (en) * 2003-03-19 2004-09-30 British Telecommunications Public Limited Company Flexible multi-agent system architecture
US7249354B2 (en) * 2003-10-14 2007-07-24 Microsoft Corporation System and method for deploying a software build from a plurality of software builds to a target computer
US7409463B2 (en) * 2003-12-04 2008-08-05 International Business Machines Corporation On-demand active role-based software provisioning
US7546594B2 (en) * 2003-12-15 2009-06-09 Microsoft Corporation System and method for updating installation components using an installation component delta patch in a networked environment
US7480699B2 (en) * 2004-01-20 2009-01-20 International Business Machines Corporation System and method for replacing an application on a server
WO2005106678A1 (en) * 2004-04-30 2005-11-10 Research In Motion Limited System and method of operation control on an electronic device
JP2006079415A (ja) * 2004-09-10 2006-03-23 Konica Minolta Business Technologies Inc プログラム更新システムおよびプログラム更新方法
US7810089B2 (en) * 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US7793284B2 (en) * 2005-03-25 2010-09-07 Microsoft Corporation Role based server installation and configuration
US7661108B2 (en) * 2005-08-12 2010-02-09 Bea Systems, Inc. Messaging component configuration and deployment in an archived form
US20070106984A1 (en) * 2005-11-09 2007-05-10 Microsoft Corporation Application suite installer with automatic detection of content and configurable options
KR100755697B1 (ko) * 2005-11-09 2007-09-05 삼성전자주식회사 소프트웨어 설치 방법, 장치, 및 시스템
US20070234345A1 (en) * 2006-02-22 2007-10-04 Microsoft Corporation Integrated multi-server installation
US7853945B2 (en) * 2006-02-22 2010-12-14 Michael Kramer Integrated computer server imaging
US20070240150A1 (en) * 2006-03-08 2007-10-11 Oracle International Corporation Simplifying installation of a suite of software products
US7971202B2 (en) * 2006-03-14 2011-06-28 International Business Machines Corporation Method for advanced management of software distribution tasks
JP4842690B2 (ja) * 2006-04-14 2011-12-21 富士通株式会社 アプリケーション管理プログラム、アプリケーション管理方法およびアプリケーション管理装置
US20070283346A1 (en) * 2006-04-21 2007-12-06 David Delgrosso System and method for remote management and facilitating installation and registration of software
US20090254900A1 (en) * 2006-07-13 2009-10-08 Seiko Epson Corporation Network system, computers, and method and program for providing and executing applications in network system
US7770165B2 (en) * 2006-08-25 2010-08-03 Microsoft Corporation Providing firmware updates to portable media devices
US8166472B2 (en) * 2006-10-12 2012-04-24 Apple Inc. Installation utility system and method

Also Published As

Publication number Publication date
EP2102745A1 (en) 2009-09-23
JP5237298B2 (ja) 2013-07-17
KR101089353B1 (ko) 2011-12-02
US8645948B2 (en) 2014-02-04
WO2008073787A1 (en) 2008-06-19
CN101558381A (zh) 2009-10-14
US20080141244A1 (en) 2008-06-12
JP2010512603A (ja) 2010-04-22

Similar Documents

Publication Publication Date Title
KR101089353B1 (ko) 클라이언트 구동 서버측 설치를 위한 장치 및 방법
KR100944065B1 (ko) 다중 크리덴셜 인증 프로토콜을 제공하는 시스템 및 방법
US11424943B2 (en) System and method for interapplication communications
KR100898849B1 (ko) 데이터 네트워크에서 콘텐츠 경품을 제공하기 위한 방법 및장치
KR100929282B1 (ko) 무선 장치의 콘텐츠 전송 제어
US7716661B2 (en) Embedded device update service
US8424068B2 (en) Methods and apparatus for providing application credentials
US20060085517A1 (en) Download user agent plug-in for facilitating over-the-air downloading of media objects
CN107015870B (zh) 实现web页面与本地应用通信的方法、装置和电子设备
RU2339076C2 (ru) Выполнение неверифицированных программ в операционной среде устройства радиосвязи
US20220330021A1 (en) Network Profile Anti-spoofing On Wireless Gateways
US20110264770A1 (en) Apparatus and method for cooperatively operating web browser and local resource in mobile terminal
CN112333134B (zh) 密码安全的动态第三方资源

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: 20141030

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee