KR101134849B1 - 인-페이지 인스톨러 - Google Patents

인-페이지 인스톨러 Download PDF

Info

Publication number
KR101134849B1
KR101134849B1 KR1020097019600A KR20097019600A KR101134849B1 KR 101134849 B1 KR101134849 B1 KR 101134849B1 KR 1020097019600 A KR1020097019600 A KR 1020097019600A KR 20097019600 A KR20097019600 A KR 20097019600A KR 101134849 B1 KR101134849 B1 KR 101134849B1
Authority
KR
South Korea
Prior art keywords
software
user
browser
computing device
installation
Prior art date
Application number
KR1020097019600A
Other languages
English (en)
Other versions
KR20090127138A (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 KR20090127138A publication Critical patent/KR20090127138A/ko
Application granted granted Critical
Publication of KR101134849B1 publication Critical patent/KR101134849B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links

Abstract

관련 소프트웨어의 존재에 대해서 사용자에게 알리고, 브라우저를 이용하여 이러한 소프트웨어의 설치를 용이하게 하는 방법. 브라우저와의 사용자의 상호작용들은 브라우징 세션 동안 컨텍스트를 결정하기 위해 모니터링되고, 컨텍스트에 관련된 소프트웨어가 이용가능한지 아닌지가 결정된다. 이러한 소프트웨어가 이용가능하면, 그것은 사용자에게 권장되고, 사용자가 소프트웨어를 설치하기를 원한다면, 설치는 브라우저를 통해 수행될 수 있다. 소프트웨어는, 정적 웹 페이지에 상기 권장을 포함하는 것, 동적 웹페이지에 상기 권장을 포함하는 것, 및 상기 권장을 광고 컨텐트의 일부분으로서 전달하는 것을 포함하는 다양한 수단을 통해 사용자에게 권장될 수 있다. 상기 권장은 브라우저에 의한 소프트웨어의 설치를 용이하게 하는 설치 스크립트들 등으로의 링크를 포함할 수 있다.
인-페이지, 컨텍스트, 브라우저, 웹 페이지, 설치 스크립트

Description

인-페이지 인스톨러{IN-PAGE INSTALLER}
본 특허 명세서에 개시된 내용은 저작권의 보호를 받는 내용을 포함한다. 저작권 소유자는 특허청의 특허 문서 또는 기록에 나타나는 대로 본 특허 문서 또는 특허 개시 내용을 팩시밀리 복제해도 이의를 갖지 않으나, 그렇지 않은 경우 모든 저작권에 관한 권리를 보유한다.
본 명세는 컴퓨터 소프트웨어의 분야에 관한 것으로, 더욱 구체적으로는 소프트웨어 애플리케이션들이 웹 페이지를 통해 사용자 컴퓨터에 설치될 수 있는 시스템 및 방법들을 제공한다.
다수의 경우 의심하지 않는 사용자의 컴퓨터에 악의적인 컴퓨터 소프트웨어를 설치함으로써 초래되는 컴퓨터 보안 문제들에 관한 뉴스 보고들이 널리 퍼져 있어, 사용자들이 임의의 새로운 소프트웨어의 설치에 관하여 경계하는 것은 당연하다. 또한, 인구의 많은 부분에 있어서, 새로운 소프트웨어를 설치하는 것은 쉽지않은 과제이다 - 그들은 설치 경로들, 설치 옵션들, 및 초보 사용자가 이해하기에는 어려울 수 있는 다른 속성들을 확인하도록 촉구된다. 그 결과, 컴퓨터 소프트웨어 회사들은 종종, 제조업자에 의해 새로운 컴퓨터들이 유통될 때 그 컴퓨터들에 그들의 소프트웨어가 설치되게 하기 위한 기회를 얻기 위해 경쟁한다. 소프트웨어 를 사전 설치(pre-installed)되게 함으로써, 컴퓨터 소프트웨어 회사들은 사용자가 차후에 소프트웨어를 설치하기 위한 필요성을 없앨 수 있다. 그 결과, 이들 컴퓨터 소프트웨어 회사들은, 소프트웨어를 사전 설치되게 하지 않은 컴퓨터 소프트웨어 회사들보다 자신들의 소프트웨어에 대한 더 높은 채택률을 실현할 수 있다.
종래 기술 중 일부는 컴퓨터 소프트웨어 설치 절차를 간단히 함으로써 이들 결점들을 처리하려고 시도했다. 예를 들면, 캘리포니아주 산타 클라라 소재의 매크로비젼 사(Macrovision Coporation)에 의해 배포된 인스톨쉴드 설치 도구(InstallShield installation tool), 및 유타주 린돈 소재의 알티리스 사(Altiris, Inc.)에 의해 배포된 와이즈 설치 스튜디오(Wise Installation Studio)는 소프트웨어 설치 절차의 많은 부분이 자동화될 수 있게 하는 수단을 제공한다. 그러나, 이러한 설치 도구들은 각 애플리케이션 및 애플리케이션 버젼에 대해서 새로운 인스톨러들이 생성되는 것을 요구한다. 인스톨러들은 전체 설치를 하나 이상의 압축된, 차후에 인스톨러에 의해 압축이 풀릴 디지털 서명된 파일들 내에 패키징한다. 그 후 인스톨러는 소프트웨어가 설치된 후에 그 자신의 적어도 일부분을 제거한다.
산업계의 다른 사람들은 프로그램 업데이트들의 설치를 단순하게 함으로써 문제를 처리하려고 시도하였고, 이에 따라 적어도 사용자가 프로그램을 설치해야하는 횟수를 감소시켰다. 예를 들면, 워싱턴 주 레드몬드 소재의 마이크로소프트 사는 클릭원스 전개 기법(ClickOnce deployment technology)을 제공한다. 클릭원스는, 소프트웨어 개발자들이 마이크로소프트 Windows™ 패밀리의 운영 체제들에 대 한 자기-업데이팅 애플리케이션(selp-updating application)들을 생성하게 해주는 전개 기법이다. 자기-업데이팅 애플리케이션들은 최소한의 사용자 상호작용으로 설치되고 실행될 수 있다. 클릭원스 전개 기법에 대한 더욱 자세한 정보는 http://msdn2.microsoft.com/en-us/library/142dbbz4.aspx에서 찾을 수 있다.
[개요]
필요한 것은 컴퓨터 소프트웨어 설치 및 업데이트들을 더욱 단순하게 할 수 있는 시스템들 및 방법들이다. 따라서, 본 명세는, 관련 기술의 제한들 및 불리한 점들에 따르는 문제점들 중 하나 이상을 실질적으로 제거하는 인-페이지 컴퓨터 스프트웨어 인스톨러를 지향한다.
전술한 바와 같이, 많은 컴퓨팅 디바이스들에는 컴퓨터 소프트웨어가 미리 설치되며, 많은 사용자들은, 사용자들의 요구들에 더욱 적합할 수 있는 다른 소프트웨어가 존재하는 경우에도 이러한 미리 설치된 컴퓨터 소프트웨어만을 사용하도록 그들 자신을 제한한다. 유사하게, 특정한 사용자에게 유리한 컴퓨터 소프트웨어가 존재할 수 있지만, 사용자는 이러한 소프트웨어의 존재를 모를 수 있다.
사용자들이, 워싱턴주 레드몬드 소재의 마이크로소프트 사에 의해 유통되는 인터넷 익스플로어, 및 캘리포니아주 마운틴 뷰 소재의 모질라 사(Mozilla Corporation)에 의해 유통되는 파이어폭스와 같은, 그러나 이들에 한정되지 않는, 종래의 웹 브라우저들의 이용 및 이들과의 상호작용들에 기초하여 프로파일될(profiled) 수 있는 많은 시스템들이 존재한다. 이러한 프로파일링 시스템들의 이용을 통해, 사용자의 관심을 끌 수 있을 것 같은 컴퓨터 소프트웨어가 존재하는 지 아닌지를 결정하는 것이 가능하다. 본 명세는 이러한 소프트웨어의 존재를 사용자에게 주의시키도록 이러한 프로파일링 시스템을 이용(leverage)하고, 이러한 컴퓨터 소프트웨어의 설치를 능률적으로 한다.
본 발명의 추가적인 특징들 및 이점들은 이하의 설명에서 보여질 것이며, 일부분은 본 명세로부터 명백하게 될 것이고, 또는 본 발명의 실시에 의해 알 수 있을 것이다. 본 발명의 목적들 및 다른 이점들은 본원에 포함된 임의의 청구항들 및 첨부된 도면들을 포함하는 본 명세에서 특히 지적되는 구조에 의해 실현되고 달성될 것이다.
인-페이지 컴퓨터 소프트웨어 인스톨러의 일부 실시예들은, 웹에 걸쳐 관련 컨텍스트에서 소프트웨어를 다운로드하고, 이러한 소프트웨어를 컨텍스트를 중단하는 일 없이 가능한 빠르고 쉽게 획득하는 능력을 사용자에 제공한다. 그 해법은, 웹 페이지 등이 사용자를 위한 적절한 소프트웨어를 설치하도록 제안하게 해주며, 페이지에 의해 제공되는 컨텍스트 및 사용자의 컴퓨팅 디바이스의 구성에 기초하여 제안 및 행동 요구(call to action)를 동적으로 맞추는 방식으로 이러한 제안들을 현존하는 웹 페이지 내에 임베드되게 해준다. 이것은 웹-기반 설치들을 지원하는 종래의 인스톨러들과는 다른데, 여기에서 인스톨러는 전용 웹 페이지로부터 시작되어야 한다. 제한이 아니라 예로서, 사용자는 슬라이드쇼로서 사용자의 컴퓨터 상에 저장된 디지털 사진들을 프레젠테이션할 수 있는 소프트웨어를 얻기 위해 widgets.yahoo.com과 같은 컴퓨터 소프트웨어 저장소를 검색할 수 있다. 이러한 검색은 사용자의 관심을 끌 수 있는 몇몇 소프트웨어 애플리케이션들을 반환할 수 있다. 인-페이지 컴퓨터 소프트웨어 인스톨러는 사용자가 검색의 일부로서 반환된 하나 이상의 소프트웨어 애플리케이션을 용이하게 설치하도록 해줄 수 있다.
일부 실시예들에서, 인-페이지 컴퓨터 소프트웨어 인스톨러는 또한, 사용자로부터 입력을 요구하거나 또는 요청하지 않고, 사용자의 컴퓨팅 디바이스의 구성에 특유한 설치 종속물들(installation dependencies)을 자동적으로 관리할 수 있다. 이것은, 사용자가 웹 페이지 상의 행동 요구를 클릭하는 것으로부터 사용자의 편에서 추가적인, 중간 행동 없이 소프트웨어를 실행하는 것까지 진행할 수 있게 해준다.
인-페이지 컴퓨터 소프트웨어 인스톨러의 일부 실시예들은 개방되어 있고, 제출자(submitter)에 의해 제공된 세팅들, 및 부모 웹 페이지(parent web page)의 개발자에 의해 지시된 파라미터들에 기초하여, 그리고 사용자의 컴퓨팅 디바이스의 구성에 의존하여, 저장소에 제출된 임의의 소프트웨어에 대한 설치 종속물들을 동적으로 관리하는 능력에 의해 확장가능하다.
일부 실시예들은 배포 가능한 아키텍쳐를 이용하며, 이에 따라 다양한 환경에서의 전개를 용이하게 하고, 기초가 되는 아키텍쳐에 대한 변화들을 용이하게 한다. 일부 실시예에서, 이것은 HTML 2.0 규격, 또는 유사한 엘리먼트에서 정의된 바와 같이, IFRAME, 또는 인라인 프레임(inline frame)을 통해 웹 페이지 안에 인스톨러 안에 "배지(badge)"를 임베드함으로써 성취될 수 있다. 일부 실시예들에서, 인-페이지 컴퓨터 소프트웨어 인스톨러는 개별 웹 페이지 안에 적합한 기능성을 수동적으로 하드 코딩(hard-coding)함으로써 구현될 수 있다. 또 다른 실시예 들에서, 인-페이지 컴퓨터 소프트웨어 인스톨러는 임의의 웹 페이지에 동적으로 임베드될 수 있는 모듈을 생성함으로써 구현될 수 있다. 또 다른 실시예들에서, 인-페이지 컴퓨터 소프트웨어 인스톨러는 광고-제공 매체(ad-served media) 안에 적합한 기능성을 임베드함으로써 구현될 수 있다.
일부 실시예들은 관련 소프트웨어의 존재에 대해서 사용자에게 알리고 이러한 소프트웨어의 설치를 용이하게 하는 방법을 포함하며, 이 방법은, 브라우징 세션 동안 컴퓨팅 디바이스에서 실행되는 브라우저와의 사용자 상호작용(user interaction)들을 모니터링하는 단계; 상기 모니터링된 사용자 상호작용들에 기초하여 상기 브라우징 세션에 대한 컨텍스트를 결정하는 단계; 상기 컨텍스트에 관련된 소프트웨어가 이용가능한지 아닌지를 결정하는 단계; 상기 결정된 소프트웨어를 상기 사용자에게 권장하는 단계; 및, 인-페이지 인스톨러를 통해 상기 결정된 소프트웨어의 설치를 용이하게 하는 단계를 포함한다. 일부 실시예들에서, 상기 용이하게 하는 단계는, 상기 브라우저가 지원되는 브라우저인지 아닌지를 결정하고, 상기 브라우저가 지원되는 브라우저가 아닌 경우에 표준 인스톨러를 통해 상기 결정된 소프트웨어의 설치를 용이하게 하는 단계; 필요한 코드 라이브러리들(code libraries)이 상기 컴퓨팅 디바이스에 설치되었는지 아닌지를 결정하고, 상기 컴퓨팅 디바이스에 임의의 필요한 코드 라이브러리들을 설치하는 단계; 중앙 애플리케이션 서버(central application server)로부터 설치 스크립트(installation script)를 획득하는 단계; 및, 상기 브라우저가 상기 설치 스크립트를 시작하게 하는 단계를 더 포함한다.
일부 실시예들에서, 상기 설치 스크립트, 또는 그의 일부분들은 디지털식으로 서명될 수 있으며, 상기 디지털 서명은 상기 설치 스크립트가 신뢰되는 소스로부터의 것이라는 것을 확인하기 위해 이용될 수 있다. 상기 설치 스크립트가 신뢰되는 소스로부터의 것이 아닌 경우, 상기 인-페이지 인스톨러는 설치를 수행하는 것을 거절할 수 있거나, 또는 상기 인-페이지 인스톨러는 설치를 시작하기 전에 사용자로부터의 추가적인 허가를 요청할 수 있다.
일부 실시예들에서, 상기 인-페이지 인스톨러는 상기 모니터링된 사용자 상호작용들에 기초하여 사용자에 대한 프로파일을 수립하는 단계를 더 포함할 수 있다. 일부 실시예들에서, 상기 결정된 소프트웨어는 광고를 통해 사용자에게 권장된다. 일부 실시예들에서, 상기 결정된 소프트웨어는 상기 브라우저에 나타나는 웹 페이지 안에 동적으로 통합된 콘텐트를 통해 사용자에게 권장된다.
일부 실시예들에서, 컨텍스트는, 적어도 부분적으로, 키워드들, 메타데이터, 또는 브라우저에 의해 현재 표시되는 페이지와 연관된 다른 이러한 정보에 기초하여 결정될 수 있다. 일부 실시예들에서, 컨텍스트는, 적어도 부분적으로, 대중적인 Yahoo! 검색 엔진을 이용하는 검색과 같이, 사용자에 의해 수행되는 검색의 결과에 기초하여 결정될 수 있다.
일부 실시예들은 소프트웨어 설치를 용이하게 하기 위한 시스템을 포함하며, 이러한 시스템은: 표준 웹 서버; 애플리케이션 서버; 애플리케이션 종속 데이터베이스; 상기 표준 웹 서버에 의해 제공되는 컨텐트를 렌더링할 수 있는 컴퓨팅 디바이스에서 동작하는 브라우저; 및 상기 브라우저에 의해 해석될 수 있는, 명령들의 집합을 포함하며, 여기에서 상기 명령들의 집합은, 상기 애플리케이션 종속 데이터베이스로부터 설치 스크립트를 획득하는 것, 상기 애플리케이션 서버로부터 상기 설치 스크립트에서 참조된 파일들을 획득하는 것, 및 소프트웨어를 설치하기 위해 상기 설치 스크립트를 실행하는 것을 용이하게 한다. 일부 실시예들에서, 상기 애플리케이션 서버는 상기 애플리케이션 종속 데이터베이스를 포함할 수 있다. 일부 실시예들은 상기 컴퓨팅 디바이스에 설치된 제1 코드 라이브러리를 더 포함할 수 있으며, 여기에서 상기 제1 코드 라이브러리는 상기 컴퓨팅 디바이스에서 실행되는 운영 체제와 상기 브라우저 사이의 상호작용을 용이하게 한다. 일부 실시예들에서는 상기 컴퓨팅 디바이스에 설치된 제2 코드 라이브러리를 더 포함할 수 있으며, 여기에서 상기 제2 코드 라이브러리는 상기 운영 체제 및 상기 컴퓨팅 디바이스에 설치된 다른 소프트웨어 애플리케이션들에 대한 정보를 획득하는 것을 용이하게 한다. 일부 실시예들에서, 상기 제1 코드 라이브러리 및 제2 코드 라리브러리는 단일 코드 라이브러리로 통합된다.
일부 실시예들은 하나 이상의 컴퓨터 프로그램 제품에 통합된 상기 인-페이지 인스톨러의 양태들을 포함할 수 있다.
이러한 해법에 대해서 중대한 잠재적인 사업의 중요성이 존재한다. 일단 소수의 코어 파일들(few core files)이 사용자의 PC에 설치되면, 임의의 추가적인 소프트웨어의 설치는 사용자에게 전적으로 쉬울 것을 보장하도록 설계된다. 본 해법의 실시예들은 배포 지점들의 수 및 관련성을 크게 증가시킬, 매우 가볍고 구성가능한 전개를 가능하게 하는 개방적이고 확장가능한 방식으로 설계된다. 추가적으 로, 광고 서버의 타겟팅 기법을 이용하는 능력은 전적으로 새로운 배포의 방법을 개척한다. 종래의 다운로드 가능한 소프트웨어 배포와 연관된 대부분의 성가신 사용자 고민 점들의 제거와 결합된 배포 기회들의 이러한 증식의 최종 결과는, 성공적인 소프트웨어 설치들의 수의 현저한 증가뿐만 아니라, 이러한 소프트웨어를 채택하는 사용자들의 더욱 높은 보유(retention)일 것으로 예측된다. 이것은, 컴퓨터 제조업자들 및 컴퓨터 소프트웨어 판매 업자들이 관련성이 보다 작은 소프트웨어를 더욱 인기 있는 소프트웨어 제품들과 함께 공격적으로 일괄 판매(bundling)하는 현재의 관행을 그만두게 해주는 대신에, 사용자들이 소프트웨어를 찾는 컨텍스트에서 그들이 원하는 더욱 많은 소프트웨어를 사용자들에게 제공하는 것에 초점을 맞추게 해준다.
전술한 개괄적인 설명 및 후술하는 상세한 설명 모두는 예시적이고 설명적이며, 이들은 개시된 인-페이지 컴퓨터 소프트웨어 인스톨러의 추가 설명을 제공하기 위해 의도된다는 것은 이해될 것이다.
개시된 인-페이지 컴퓨터 소프트웨어 인스톨러의 추가적인 이해를 제공하도록 포함되고, 본 명세서에 통합되어 그의 일부를 구성하는 첨부된 도면들은 다양한 실시예들을 나타내고, 상세한 설명과 함께, 개시된 인-페이지 컴퓨터 소프트웨어 인스톨러의 적어도 하나의 실시예의 원리들을 설명하는 데에 도움을 준다.
도 1은 사용자에게 사용자의 잠재적인 관심을 끄는 소프트웨어의 존재를 알릴 수 있는 예시적인 사용자 인터페이스를 나타내는 스크린 캡쳐.
도 2는 사용자의 관심을 끄는 소프트웨어가 확인될 수 있는 예시적인 방법을 나타내는 흐름도.
도 3a 및 3b는 인-페이지 인스톨러를 이용하여 소프트웨어가 설치될 수 있는 예시적인 방법을 나타내는 흐름도.
도 4는 관심을 끄는 소프트웨어에 대한 추가적인 상세들을 사용자에게 알릴 수 있는 예시적인 사용자 인터페이스를 스크린 캡쳐한 도면.
도 5는 사용자가 인-페이지 인스톨러를 이용하여 소프트웨어의 다운로드 및 설치를 시작할 수 있는 예시적인 사용자 인터페이스를 스크린 캡쳐한 도면.
도 6은 사용자가 소프트웨어를 열 수 있게 해주는 예시적인 인-페이지 인스톨러 사용자 인터페이스를 스크린 캡쳐한 도면.
도 7은 사용자가 소프트웨어 및 관련된 지원 컴포넌트들의 설치를 승인할 수 있는 예시적인 인-페이지 인스톨러 사용자 인터페이스를 스크린 캡쳐한 도면.
도 8은 사용자가 관련된 지원 컴포넌트들에 대한 추가적인 정보를 획득할 수 있는 예시적인 사용자 인터페이스를 스크린 캡쳐한 도면.
도 9는 예시적인 상태 바를 스크린 캡쳐한 도면.
도 10은 예시적인 상태 바를 스크린 캡쳐한 도면.
도 11은 예시적인 상태 바를 스크린 캡쳐한 도면.
도 12은 설치가 취소된 것을 나타내는 예시적인 상태 바를 스크린 캡쳐한 도면.
도 13은 사용자에게 설치가 완료된 것을 알리는 예시적인 사용자 인터페이스 를 스크린 캡쳐한 도면.
도 14는 사용자에게 설치 및/또는 다운로드 에러들을 알리는 예시적인 사용자 인터페이스를 스크린 캡쳐한 도면.
도 15는 사용자가 이전에 설치된 소프트웨어의 업데이트를 시작할 수 있는 예시적인 사용자 인터페이스를 스크린 캡쳐한 도면.
도 16은 인-페이지 인스톨러의 구현을 지원하는 예시적인 네트워크 아키텍쳐를 나타내는 기능 블럭도.
이제 개시된 인-페이지 컴퓨터 소프트웨어의 실시예들에 대해 상세하게 언급할 것이며, 이들의 예들은 첨부된 도면에 도시된다.
본 명세는, 소프트웨어가 웹 브라우저와의 사용자의 상호작용들에 기초하여 사용자에게 권장될 수 있고 차후 사용자를 위해 설치될 수 있는 시스템 및 방법들을 설명한다. 제한이 아니라 예로서, 사용자들이 방문한 월드 와이드 웹("Web") 사이트들, 및 하나 이상의 검색 엔진을 통해 사용자에 의해 수행되는 검색들과 같은, 그러나 이들에 한정되지 않는, 그곳에 입력된 정보에 기초하여 사용자들이 프로파일되는 것을 허용하는 몇몇 시스템들이 존재한다. 이러한 프로파일들은 사용자의 관심을 끄는 영역들을 결정하는 데에 이용될 수 있고, 이들 관심을 끄는 영역들은 차후에 사용자에게 유익하거나 바람직할 수 있는 소프트웨어를 확인하는 데에 이용될 수 있다. 도 1은 사용자에게 이러한 소프트웨어의 존재를 알릴 수 있는 예시적인 사용자 인터페이스의 스크린 캡쳐이다. 도 1에 도시된 예에서, 본 시스템은, 잘 알려진 Yahoo! Music Engine("YME")에 대한 제어를 용이하게 하는 "위젯(widget)"으로 알려진 작은, 전문적인 애플리케이션 "YME Remote"를 권장하고 있다. 위젯들은 동작하기 위해 비교적 작은 마이크로프로세서 시간 및/또는 메모리를 활용하는 이점을 가진다. 일부 실시예들에서, 위젯들은, 브라우저 내에서 이러한 위젯들의 동작을 용이하게 하는 액티브X 컨트롤로서, 또는 자바(JAVA), 자바 스크립트, VB스크립트, 등으로 작성될 수 있다. 본 명세는 사용자들에게 위젯들을 권장하는 시스템 및 방법들을 설명하지만, 본 발명의 정신 또는 범주로부터 벗어나지 않고 대안 소프트웨어가 그 대신에 이용될 수 있다는 것이 본 기술 분야에 통상의 지식을 가진 자에게 명백할 것이다.
도 2는 소프트웨어가 사용자에게 권장될 수 있는 예시적인 방법을 나타내는 기능적 블럭도이다. 블럭(200)에서, 웹 브라우저와의 사용자의 상호작용들이 모니터링되고, 차후에 이들 상호작용들에 기초하여 프로파일이 개발된다(블럭(210)). 블럭(220)에서, 사용자가 브라우저와 더 상호작용을 할 때, 본 시스템 및 방법들은 브라우저와의 사용자의 상호작용에 대한 특정한 컨텍스트를 결정할 수 있다. 본 시스템 및 방법들은 그 후, 사용자의 컨텍스트 및 프로파일에 대해 관련있고/관련있거나 적합한 소프트웨어가 이용가능한지 아닌지를 결정할 수 있으며(블럭(230)), 사용자에게 그 소프트웨어를 권장할 수 있다(블럭(240)). 제한이 아니라 예로서, 프로파일은, 사용자가 아마 18세 내지 25세 사이의 남자라는 것, 및 사용자가 자주 디지털 음원을 구입하고, 그의 디지털 음원을 관리하기 위해 YME를 활용한다는 것을 결정할 수 있다. 사용자가 그 후 "미디어 플레이어들(media players)"을 검색하기 위해 브라우저를 이용하거나, 또는 다운로드 가능한 미디어 플레이어들을 갖는 웹페이지를 방문할 때, 본 시스템 및 방법들은 사용자의 관심을 끌 수 있는 소프트웨어를 확인하기 위해 이용가능한 위젯들 및 다른 소프트웨어의 데이터베이스도 검색할 수 있다. 일단 확인되면, 본 시스템 및 방법들은, 광고로서 경보를 대신하거나 또는 삽입하거나, 또는 그렇지 않으면 사용자에게 행동을 요청함으로써, 도 1에 도시된 바와 같은 인터페이스를 통해 YME Remote 소프트웨어가 존재한다는 사실을 사용자에게 알린다. 일부 실시예들에서, 행동 요청은 인-페이지 소프트웨어 인스톨러를 통합할 수 있고, 이에 따라 소프트웨어의 설치를 능률적으로 하고 단순하게 한다.
도 3a 및 3b는 소프트웨어가 인-페이지 소프트웨어 인스톨러를 이용하여 사용자의 컴퓨팅 디바이스에 설치될 수 있는 예시적인 방법을 나타내는 블럭도들이다. 상기 방법은 도 3a의 블럭(300)에서 시작한다. 이러한 실시예에서, 브라우저는, 사용자의 컴퓨팅 디바이스에서 실행되는 운영 체제가 컴퓨터 소프트웨어의 인-페이지 설치가 지원되는 것인지 아닌지, 적합한 스크립팅 엔진이 컴퓨팅 디바이스에 존재하는지 아닌지, 및 소프트웨어의 인-페이지 설치가능 버전이 컴퓨팅 디바이스에 대해 이용가능한지 아닌지를 결정한다(블럭(301)). 일부 실시예들에서, 본 방법은 인-페이지 설치를 실행하기 위해 자바 스크립트들을 이용할 수 있지만, 대안 스크립팅 언어들이 본 발명의 정신 또는 범주를 벗어나지 않고 그것을 대신할 수 있다. 운영 체제가 컴퓨터 소프트웨어의 인-페이지 설치가 가능하지 않은 것인 경우, 적합한 스크립팅 엔진이 컴퓨팅 디바이스에 존재하지 않는 경우, 또는 소프트웨어의 인-페이지 설치가능 버전이 이용가능하지 않은 경우, 본 방법은 소프트웨어가 다운로드될 수 있는 링크를 획득한다(블럭(302)). 본 방법은 차후, 사용자가 소프트웨어에 대한 표준 인스톨러의 다운로드를 시작할 수 있는, 도 5에 도시된 웹 페이지와 같은, 그러나 이것에 한정되지 않는, 대화 상자, 웹 페이지, 또는 다른 사용자 인터페이스를 표시한다(블럭(303)). 사용자는 그 후, 인스톨러를 실행하고/실행하거나 저장하거나(블럭(304)), 또는 취소하기로 결정할 수 있다.
본 시스템 및 방법들이 사용자의 컴퓨팅 디바이스에서 실행되는 운영 체제에서 소프트웨어의 인-페이지 설치를 지원하는 경우, 적합한 스크립팅 엔진이 컴퓨팅 디바이스에 존재하는 경우, 그러나 소프트웨어의 인-페이지 설치가능 버전이 이용가능하지 않은 경우(블럭(305)), 사용자에게 종래의 설치 프로그램을 이용하여 소프트웨어를 다운로드하고 설치할 기회가 제공된다(블럭(302)). 소프트웨어의 인-페이지 설치가능 버전이 이용가능한 경우, 본 방법은 소프트웨어의 인-페이지 설치를 용이하게 하기 위해 필요한 코드가 사용자 컴퓨팅 디바이스에서 현재 이용중인 운영 체제와 연관되었는지 아닌지를 결정한다(블럭(310)).
인-페이지 소프트웨어 인스톨러의 일부 실시예들은 사용자의 컴퓨팅 디바이스에 설치되거나 또는 액세스가능한 두 개의 코드 라이브러리들을 활용한다. 본원에서 YInst 및 YVerInfo로 칭해지는 이들 두 개의 코드 라이브러리들은, 자바, 자바 스크립트, VB스크립트, 등으로 작성된 컴퓨터 소프트웨어 코드와 같은, 그러나 이들에 한정되지 않는, 웹페이지의 추가적인 컴퓨터 소프트웨어 코드가 대부분의 웹 페이지들이 할 수 없는 방식으로 컴퓨팅 디바이스의 운영 체제와 통신하도록 허용한다. 웹 페이지는 시스템 구성 정보, 버전 정보, 및 운영 체제 자체뿐만 아니라, 임의의 설치된 소프트웨어 애플리케이션들에 대한 다른, 관련 정보를 획득하도록 컴퓨팅 디바이스에 질의하기 위해 YVerInfo를 활용할 수 있다. 이러한 데이터는 그 후 웹 페이지 및 애플리케이션 종속 데이터베이스에 의해 명령된 비즈니스 로직(business logic)을 위한 입력으로서 소용될 수 있고, 이에 따라, 사용자가 그들이 요청한 컨텐트를 체험하게 해주기 위해 어느 소프트웨어(만약 있다면)가 설치될 필요가 있는지를 결정한다.
YInst 코드 라이브러리는, 하나 이상의 저장소로부터 요구된 컴포넌트들을 획득하고, 획득된 컴포넌트들을 적합한 순서 및 위치들로 설치함으로써 비즈니스 로직의 출력에 기초하여 설치 절차를 관리한다. 일부 실시예들에서, 이러한 모든 것은 사용자가 브라우저 보안 대화 또는 클라이언트 인스톨러 인터페이스를 전혀 보는 일 없이 일어날 수 있다. 모든 요구된 사용자 입력들 및 정보의 표시들은 웹 페이지에 임베드된 본래의 행동 요청의 컨텍스트 내에서 전적으로 일어날 수 있다. 일부 실시예들에서, YInst 및 YVerInfo 코드 라이브러리들에 의해 제공되는 기능성은 단일 코드 라이브러리로 결합될 수 있다. 이러한 결합된 코드 라이브러리에 대한 예시적인 오브젝트 모델 정의는 본원에 부록 A로서 첨부되고, 그 전체가 참조로서 본원에 통합된다.
인-페이지 설치 코드가 컴퓨팅 디바이스에서 이용가능하지 않거나, 또는 이용중인 브라우저와 연관되지 않는 경우, 사용자는 도 6에 도시된 사용자 인터페이스와 같은 대화 상자 또는 다른 사용자 인터페이스를 제공받는다(블럭(312 및 314)). 사용자가 소프트웨어가 설치되어야 한다는 것을 지시하는 경우, 사용자는 도 7의 것과 같은 차후의 사용자 인터페이스를 제공받을 수 있다. 도 7에 도시된 예시적인 사용자 인터페이스와 같은 사용자 인터페이스는, 사용자가 인-페이지 인스톨러 코드 및 소프트웨어 양쪽 모두가 사용자 컴퓨팅 디바이스에 설치될 것, 및 인-페이지 인스톨러 코드가 적어도 사용자 컴퓨팅 디바이스에서 현재 실행중인 브라우저와 연관될 것을 승인하도록 해준다. 도 8은 사용자가 인-페이지 인스톨러 코드 또는 사용자 컴퓨터에 설치될 다른 파일들에 대한 추가적인 정보를 획득할 수 있는 예시적인 사용자 인터페이스이다. 도 4는 사용자가 소프트웨어에 대한 추가적인 정보를 얻을 수 있는 대안적인 예시적인 인터페이스이다. 사용자가 브라우저와 연관된 인-페이지 소프트웨어 인스톨러 코드를 갖지 않기로 결정하는 경우, 사용자에게는 종래의 소프트웨어 인스톨러를 이용하여 소프트웨어를 설치할 기회가 제공될 수 있다. 일단, 인-페이지 인스톨러 코드가 설치되면(블럭(316 및 318)), 상기 방법은 블럭(320)으로 진행한다.
인-페이지 인스톨러 코드가 사용자 컴퓨팅 디바이스에서 현재 실행중인 브라우저와 연관되면, 본 방법은 인-페이지 인스톨러 코드의 최종 버전이 사용자의 컴퓨팅 디바이스에 현재 상주하는지 아닌지를 결정한다(블럭(320)). 인-페이지 인스톨러 코드의 최종 버전이 사용자 컴퓨팅 디바이스에 상주하지 않는다면, 본 방법은 최종 버전의 다운로드 및 설치를 시작하도록 인-페이지 인스톨러 코드의 현재 설치된 버전을 활용한다(블럭(322, 324, 및 326)). 일부 실시예들에서, 사용자는 인-페이지 인스톨러 코드의 최종 버전이 설치되어야 하는지를 확인하기 위한 기회를 제공받을 수 있다. 임의의 큰 파일들, 또는 파일들의 그룹들을 다운로드하는 동안, 본 방법은 컴퓨팅 디바이스 및/또는 브라우저가 도 9에 도시된 예시적인 상태 바와 같은 상태 바, 또는 다운로드 경과의 다른 표시를 표시하게 할 수 있다. 유사하게, 본 방법은 표시되는 상태 바가 도 10, 11, 및 12에 도시된 바와 같은 상태 바들과 같이, 설치 경과를 전달하게 해줄 수 있다. 인-페이지 인스톨러 코드가 성공적으로 업데이팅되면, 본 방법은 소프트웨어의 버전이 사용자의 컴퓨팅 디바이스에 이미 설치되었는지 아닌지를 결정할 수 있다(블럭(328)). 소프트웨어가 이미 설치되었다면, 그 후 본 방법은 옵션으로, 도 13에 도시된 사용자 인터페이스와 같은, 그러나 이것에 한정되지 않는, 축하의 사용자 인터페이스가 표시되게 하고, 소프트웨어를 실행한다(블럭(360)). 소프트웨어가 설치되지 않은 경우, 본 방법은 소프트웨어 설치 절차를 시작한다(블럭(334)).
인-페이지 인스톨러 코드의 최종 버전이 컴튜팅 디바이스에 상주하는 경우, 본 방법은 블럭(330)으로 진행한다. 블럭(330)에서, 사용자 컴퓨팅 디바이스는 소프트웨어의 버전이 사용자의 컴퓨팅 디바이스에 이미 상주하는지 아닌지를 결정하기 위해 폴링된다(polled). 제한이 아니라 예로서, 공공 또는 공용 컴퓨팅 디바이스들에서, 사용자는 소프트웨어가 이전에 다운로드되고 설치되었는지 알아차릴 수 없기 때문에, 소프트웨어를 재설치할 필요성을 잠재적으로 제거하게 한다. 소프트웨어가 설치되어 있는 경우, 본 방법은 최종 버전이 컴퓨팅 디바이스에 상주하는지 아닌지를 결정할 수 있다(블럭(340)). 소프트웨어가 설치되어 있고 최종 버전이 컴퓨팅 디바이스에 상주하는 경우, 소프트웨어는 실행된다(블럭(350)). 소프트웨어가 컴퓨팅 디바이스에 상주하지 않거나, 또는 소프트웨어의 더 새로운 버전이 이용가능한 경우, 본 방법은 소프트웨어의 다운로딩 및 설치를 시작할 수 있다.(블럭(332 및 342)). 설치가 업데이트인 경우에, 본 방법은 변경된 파일들 또는 파일들의 일부만 다운로드할 수 있어, 이에 따라 대역폭 요건들을 감소시키고 설치를 빠르게 한다. 또한, 사용자는, 사용자가 소프트웨어가 업데이트되어야 한다는 것을 확인할 수 있는, 도 15의 것과 유사한 사용자 인터페이스를 제공받을 수 있다.
일부 실시예들에서, 본 방법은, 소프트웨어의 구현을 위해 필요하고/필요하거나 유익한 지원 컴포넌트들이 컴퓨팅 디바이스에 상주하는지 아닌지(블럭(334)), 및 컴퓨팅 디바이스에 상주하는 임의의 지원 컴포넌트들이 업데이트될 필요가 있는지 아닌지(블럭(344))를 더 결정할 수 있다. 지원 컴포넌트들의 최종 버전이 이미 사용자 컴퓨팅 디바이스에 상주한다면, 본 방법은 소프트웨어의 설치 또는 업그레이딩을 용이하게 하기 위해 필요한 파일들의 다운로드 및 설치를 시작할 수 있다(블럭(336)). 지원 컴포넌트들이 설치되고/설치되거나 업데이트될 필요가 있는 경우, 본 방법은 소프트웨어에 대한 것들을 포함하는 필요한 파일들을 다운로드 하고 설치한다(블럭(370)). 설치가 끝나면, 사용자는 사용자에게 설치가 성공적이며 완료된 것을 알리는, 도 13에 도시된 바와 같은 사용자 인터페이스를 제공받을 수 있다. 소프트웨어 또는 지원 컴포넌트들의 다운로드 또는 설치 동안에 오류가 발생한 경우(블럭(338 및 372)), 사용자는 사용자에게 오류를 알릴 수 있는, 도 14의 것과 유사한 사용자 인터페이스를 제공받을 수 있다.
사용자는 또한 아무 때나 소프트웨어 또는 지원 컴포넌트들의 다운로드 및/또는 설치를 취소할 수 있다(블럭(374)). 지원 컴포넌트 설치가 시작되었다면(블럭(376)), 클린-업(clean-up) 프로세스가 이들 지원 컴포넌트들을 제거하기 위해 시작될 수 있으며(블럭(377)), 그 후에 이러한 취소는 완료된다(블럭(378)).
전술한 바와 같이, 인-페이지 인스톨러는 사용자 컴퓨팅 디바이스에서 소프트웨어의 설치를 용이하게 하기 위해 브라우저 및 연관된 스크립팅 엔진을 이용한다. 몇몇 인-페이지 인스톨러 배포 실시예들이 존재하며, 이들 모두는 전술한 예시적인 방법, 또는 유사한 방법들을 이용할 수 있다. 이들 배포 실시예들은 이하를 포함하지만, 이에 제한되지 않는다:
1) 개별 웹 페이지 내에 수동적으로 이들 기능성들을 하드-코딩하는 것
2) 임의의 웹 페이지에 동적으로 임베드될 수 있는 모듈을 생성하는 것
3) 임의의 웹 페이지에 동적으로 임베드될 수 있는 "배지"를 (IFRAME들을 이용하여) 생성하는 것
4) 이러한 기능성을 광고-제공 미디어에 임베드하는 것.
도 16은 인-페이지 인스톨러가 동작할 수 있는 예시적인 아키텍쳐를 나타낸다. 도시된 실시예에서, 인-페이지 인스톨러는, 사용자 컴퓨팅 디바이스(1600) 상의 브라우저(1605)에서 실행되는 브라우저-해석가능 명령들(browser-interpretable commands)(1608)로서 배포된다. 사용자가 표준 웹 서버(1630)에 의해 제공되는 웹 페이지를 방문하기 위해 브라우저(1605)를 이용할 때, 중앙 애플리케이션 서버(1620)로부터 이용가능한 소프트웨어와 사용자의 관심들 및/또는 기호들을 비교함으로써 결정되는, 사용자의 관심을 끄는 소프트웨어를 설치할 기회가 사용자에게 제공될 수 있다. 사용자가 소프트웨어를 설치하기 위한 욕구를 나타낼 때, 브라우저 해석가능 명령들(1608)은 애플리케이션 종속 데이터베이스(1625)로부터 필요한 파일들 및 설치 스크립트들을 입수할 수 있다. 애플리케이션 종속 데이터베이스(1625)는 표준 설치 스크립트들을 제공할 수 있거나, 또는 사용자 기호들, 브라우저(1605)의 구성, 및/또는 사용자 컴퓨팅 디바이스(1600)의 구성에 기초하여 사용자 지정된(customized) 설치 스크립트를 생성할 수 있다. 일부 실시예들에서, 애플리케이션 종속 데이터베이스(1625)로부터 획득된 임의의 설치 스크립트 중 적어도 일부분들은 디지털식으로 서명될 수 있고, 이에 따라 브라우저 해석가능 명령들(1608)이 설치 스크립트가 신뢰되는 소스로부터의 것이라는 것을 확인하게 해준다. 이러한 디지털 서명들은, RSA, SHA, 및 GMR 서명 스킴들을 이용하는 것을 포함하는, 그러나 이에 한정되지 않는, 다양한 수단을 통해 성취될 수 있다. 일부 실시예들에서, 디지털 서명 정보는 스크립트들의 더 큰 집합에 임베드될 수 있고, 이에 따라 스크립트들이 자기 인증(self-authenticating)하게 해준다. 일부 실시예들에서, 디지털식으로 서명된 스크립트들 중 일부분들은, 운영 체제, 브라우저, 디바이스 등과 올바르게 상호작용하기 위해 격상된 특권(elevated privilege)들을 요구하는 그러한 명령어들에만 제한될 수 있다.
인-페이지 컴퓨터 소프트웨어 인스톨러의 상세하고 구체적인 실시예들이 본원에서 설명되었지만, 다양한 변경들 및 변화들이 인-페이지 컴퓨터 소프트웨어 인스톨러의 정신 및 범주로부터 벗어나지 않고 거기에 행해질 수 있다는 점이 본 기술 분야에 숙련된 자들에게 명백할 것이다. 따라서, 본 명세는, 임의의 첨부된 청구항들 및/또는 그들의 균등물들의 범주 내에 이러한 변경들 및 변종들이 속하는 경우에 그들을 포함하는 것으로 한다.
부록 A
Figure 112009057604612-pct00001
Figure 112009057604612-pct00002
Figure 112009057604612-pct00003
Figure 112009057604612-pct00004
Figure 112009057604612-pct00005

Claims (48)

  1. 관련 소프트웨어의 존재에 대해서 사용자에게 통지하고, 이러한 소프트웨어를 설치하는 방법으로서,
    브라우징 세션 동안에 컴퓨팅 디바이스에서 실행되는 브라우저와의 사용자 상호작용(interaction)들을 모니터링하는 단계;
    상기 모니터링된 사용자 상호작용들에 기초하여 상기 브라우징 세션에 대한 컨텍스트(context)를 결정하고 상기 컴퓨팅 디바이스의 구성(configuration)을 결정하는 단계 - 상기 컴퓨팅 디바이스의 구성은 상기 사용자로부터의 추가적인 입력없이 결정됨 - ;
    상기 컨텍스트 및 상기 구성에 관련된 소프트웨어가 이용 가능한지 아닌지를 결정하는 단계;
    상기 결정된 소프트웨어를 상기 사용자에게 권장하는 단계 - 상기 결정된 소프트웨어는 상기 브라우저에 나타난 웹 페이지에 동적으로 포함되는 컨텐트를 통하여 상기 사용자에게 권장됨 -; 및
    인-페이지 인스톨러(in-page installer)를 통해 상기 결정된 소프트웨어를 설치하는 단계 - 상기 결정된 소프트웨어의 설치는 상기 컨텍스트 및 상기 컴퓨팅 디바이스의 구성에 기초하여 상기 결정된 소프트웨어를 동적으로 맞춤(tailoring) -
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 소프트웨어를 설치하는 단계는,
    상기 브라우저가 지원되는 브라우저인지 아닌지를 결정하고, 상기 브라우저가 지원되는 브라우저가 아닌 경우에, 표준 인스톨러를 통해 상기 결정된 소프트웨어를 설치하는 단계;
    필요한 코드 라이브러리들(code libraries)이 상기 컴퓨팅 디바이스에 설치되어 있는지 아닌지를 결정하고, 임의의 필요한 코드 라이브러리들을 상기 컴퓨팅 디바이스에 설치하는 단계;
    중앙 애플리케이션 서버로부터 설치 스크립트(installaiton script)를 획득하는 단계; 및
    상기 브라우저로 하여금 상기 설치 스크립트를 시작하게 하는 단계를 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 설치 스크립트의 적어도 일부분은 디지털식으로 서명되는 방법.
  4. 제3항에 있어서,
    상기 디지털식으로 서명된 설치 스크립트의 일부분은 실행하기 위해 격상된 특권(elevated privilege)들을 필요로 하는 명령어들을 포함하는 방법.
  5. 제3항에 있어서,
    상기 디지털 서명에 기초하여 상기 설치 스크립트가 신뢰되는 소스(trusted source)로부터의 것임을 확인하는 단계를 더 포함하는 방법.
  6. 제5항에 있어서,
    상기 설치 스크립트가 확인되지 않은 경우에 상기 설치를 수행하는 것을 거절하는 단계를 더 포함하는 방법.
  7. 제5항에 있어서,
    상기 설치 스크립트가 확인될 수 없다는 것을 상기 사용자에게 알리는 단계;
    상기 설치를 진행하기 위한 허가(authorization)를 상기 사용자로부터 요청하는 단계; 및
    상기 사용자가 상기 설치를 허가하지 않는 경우 상기 방법을 종료하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서,
    상기 모니터링된 사용자 상호작용들에 기초하여 상기 사용자에 대한 프로파일(profile)을 수립하는(building) 단계를 더 포함하는 방법.
  9. 제1항에 있어서,
    상기 결정된 소프트웨어는 광고(advertisement)를 통해 상기 사용자에게 권장되는 방법.
  10. 제1항에 있어서,
    상기 결정된 소프트웨어는 상기 브라우저에 나타나는 웹 페이지에 동적으로 통합되는 컨텐트를 통해 상기 사용자에게 권장되는 방법.
  11. 제1항에 있어서,
    상기 컨텍스트는 상기 브라우저를 통해 상기 사용자에 의해 수행된 검색으로부터의 결과들에 부분적으로 기초하여 결정되는 방법.
  12. 제11항에 있어서,
    상기 검색은 컴퓨터 소프트웨어 애플리케이션 저장소의 검색을 포함하는 방법.
  13. 제1항에 있어서,
    상기 컨텍스트는 상기 브라우저에 의해 현재 표시되는 페이지의 키워드들에 부분적으로 기초하여 결정되는 방법.
  14. 제1항에 있어서,
    상기 컨텍스트는 상기 브라우저에 의해 현재 표시되는 페이지와 연관된 메타데이터(metadata)에 부분적으로 기초하여 결정되는 방법.
  15. 소프트웨어를 설치하기 위한 시스템으로서,
    애플리케이션 서버;
    애플리케이션 종속 데이터베이스(application dependency database); 및
    컴퓨팅 디바이스에서 동작하는 브라우저에 의해 해석가능한, 명령들의 집합(set of commands)
    을 포함하며,
    상기 명령들의 집합은, 상기 브라우저에 의해 해석될 때,
    브라우저 세션의 컨텍스트를 결정하고,
    상기 애플리케이션 종속 데이터베이스로부터 설치 스크립트를 획득하고,
    상기 애플리케이션 서버로부터 상기 설치 스크립트에서 참조된 파일들을 획득하고,
    동작하기 위해 격상된 특권들을 요구하는 상기 설치 스크립트의 적어도 일부분들은 신뢰되는 소스에 의해 디지털식으로 서명되고 상기 설치 스크립트의 일부분들은 상기 컴퓨팅 디바이스의 구성에 따른다는 것을 확인하고,
    상기 소프트웨어를 설치하기 위해 상기 설치 스크립트를 실행 - 상기 소프트웨어의 설치는 상기 컴퓨팅 디바이스의 구성 및 상기 컨텍스트에 기초하여 상기 소프트웨어를 동적으로 맞추는(tailoring) 것을 포함함 - 하기 위한
    명령어들을 포함하는
    시스템.
  16. 제15항에 있어서,
    상기 애플리케이션 서버는 상기 애플리케이션 종속 데이터베이스를 포함하는 시스템.
  17. 제15항에 있어서,
    상기 컴퓨팅 디바이스에 설치된 제1 코드 라이브러리를 더 포함하며, 상기 제1 코드 라이브러리는 상기 컴퓨팅 디바이스에서 실행되는 운영 체제와 상기 브라우저 사이의 상호작용을 가능하게 해주는 시스템.
  18. 제17항에 있어서,
    상기 컴퓨팅 디바이스에 설치된 제2 코드 라이브러리를 더 포함하며, 상기 제2 코드 라이브러리는 상기 운영 체제, 및 상기 컴퓨팅 디바이스에 설치된 다른 소프트웨어 애플리케이션들에 대한 정보를 획득하는 것을 가능하게 해주는 시스템.
  19. 제18항에 있어서,
    상기 제1 코드 라이브러리 및 상기 제2 코드 라이브러리는 단일 코드 라이브러리로 통합되는 시스템.
  20. 제15항에 있어서,
    상기 명령들의 집합은, 신뢰되는 스크립트의 적어도 일부분이 신뢰되는 소스에 의해 디지털식으로 서명되지 않은 경우에 이를 사용자에게 알리고, 상기 설치를 진행하기 위한 허가를 상기 사용자로부터 요청하기 위한 명령어들(instructions)을 더 포함하는 시스템.
  21. 제15항에 있어서,
    상기 명령들의 집합은 브라우저 세션에 대한 컨텍스트를 결정하기 위한 명령어들을 더 포함하는 시스템.
  22. 제21항에 있어서,
    상기 컨텍스트는 상기 브라우저를 통해 사용자에 의해 수행되는 검색으로부터의 결과들에 부분적으로 기초하여 결정되는 시스템.
  23. 제22항에 있어서,
    상기 검색은 컴퓨터 소프트웨어 애플리케이션 저장소의 검색을 포함하는 시스템.
  24. 제21항에 있어서,
    상기 컨텍스트는 상기 브라우저에 의해 현재 표시되는 페이지의 키워드들에 부분적으로 기초하여 결정되는 시스템.
  25. 제21항에 있어서,
    상기 컨텍스트는 상기 브라우저에 의해 현재 표시되는 페이지와 연관된 메타데이터에 부분적으로 기초하여 결정되는 시스템.
  26. 컴퓨터 프로그램 제품이 기록된 컴퓨터 판독가능한 기록 매체로서 - 상기 컴퓨터 프로그램 제품은 관련 소프트웨어의 존재에 대해서 사용자에게 알리고, 이러한 소프트웨어를 설치하는 명령어들을 포함함 -, 상기 명령어들은,
    브라우징 세션 동안 컴퓨팅 디바이스에서 실행되는 브라우저와의 사용자 상호작용들을 모니터링하기 위한 명령어들;
    상기 모니터링된 사용자 상호작용들에 기초하여 상기 브라우징 세션에 대한 컨텍스트를 결정하고 상기 컴퓨팅 디바이스의 구성을 결정하기 위한 명령어들 - 상기 컴퓨팅 디바이스의 구성은 상기 사용자로부터의 추가적인 입력 없이 결정됨 - ;
    상기 컨텍스트에 관련된 소프트웨어가 이용가능한지 아닌지를 결정하기 위한 명령어들;
    상기 결정된 소프트웨어를 상기 사용자에게 권장하기 위한 명령어들 - 상기 결정된 소프트웨어는 상기 브라우저에 나타난 웹 페이지에 동적으로 포함되는 컨텐트를 통하여 상기 사용자에게 권장됨 -; 및
    인-페이지 인스톨러를 통해 상기 결정된 소프트웨어를 설치하기 위한 명령어들 - 상기 결정된 소프트웨어의 설치는 상기 컨텍스트 및 상기 컴퓨팅 디바이스의 구성에 기초하여 상기 결정된 소프트웨어를 동적으로 맞춤 -
    을 포함하는, 컴퓨터 프로그램 제품이 기록된 컴퓨터 판독가능한 기록 매체.
  27. 제26항에 있어서,
    상기 브라우저가 지원되는 브라우저인지 아닌지를 결정하고, 상기 브라우저가 지원되는 브라우저가 아닌 경우에 표준 인스톨러를 통해 상기 결정된 소프트웨어를 설치하기 위한 명령어들;
    필요한 코드 라이브러리들이 상기 컴퓨팅 디바이스에 설치되어 있는지 아닌지를 결정하고, 임의의 필요한 코드 라이브러리들을 상기 컴퓨팅 디바이스에 설치하기 위한 명령어들;
    중앙 애플리케이션 서버로부터 설치 스크립트를 획득하기 위한 명령어들; 및
    상기 브라우저로 하여금 상기 설치 스크립트를 시작하게 하기 위한 명령어들
    을 더 포함하는 컴퓨터 프로그램 제품이 기록된 컴퓨터 판독가능한 기록 매체.
  28. 제27항에 있어서,
    디지털 서명에 기초하여 상기 설치 스크립트가 신뢰되는 소스로부터의 것임을 확인하기 위한 명령어들을 더 포함하는 컴퓨터 프로그램 제품이 기록된 컴퓨터 판독가능한 기록 매체.
  29. 제28항에 있어서,
    상기 설치 스크립트가 확인되지 않는 경우에 상기 설치를 수행하는 것을 거절하기 위한 명령어들을 더 포함하는 컴퓨터 프로그램 제품이 기록된 컴퓨터 판독가능한 기록 매체.
  30. 제28항에 있어서,
    상기 설치 스크립트가 확인될 수 없는 것을 상기 사용자에게 알리기 위한 명령어들;
    상기 설치를 진행하기 위한 허가를 상기 사용자로부터 요청하기 위한 명령어들; 및
    상기 사용자가 상기 설치를 허가하지 않는 경우에 상기 설치를 중단하기 위한 명령어들을 더 포함하는 컴퓨터 프로그램 제품이 기록된 컴퓨터 판독가능한 기록 매체.
  31. 제27항에 있어서,
    상기 모니터링된 사용자 상호작용들에 기초하여 상기 사용자에 대한 프로파일을 수립하기 위한 명령어들을 더 포함하는 컴퓨터 프로그램 제품이 기록된 컴퓨터 판독가능한 기록 매체.
  32. 제27항에 있어서,
    광고를 통해 상기 사용자에게 상기 결정된 소프트웨어를 권장하기 위한 명령어들을 더 포함하는 컴퓨터 프로그램 제품이 기록된 컴퓨터 판독가능한 기록 매체.
  33. 제27항에 있어서,
    상기 브라우저에 나타나는 웹 페이지에 동적으로 통합된 컨텐트를 통해 상기 사용자에게 상기 결정된 소프트웨어를 권장하기 위한 명령어들을 더 포함하는 컴퓨터 프로그램 제품이 기록된 컴퓨터 판독가능한 기록 매체.
  34. 제26항에 있어서,
    상기 컨텍스트는 상기 브라우저를 통해 상기 사용자에 의해 수행된 검색으로부터의 결과들에 부분적으로 기초하여 결정되는, 컴퓨터 프로그램 제품이 기록된 컴퓨터 판독가능한 기록 매체.
  35. 제34항에 있어서,
    상기 검색은 컴퓨터 소프트웨어 애플리케이션 저장소의 검색을 포함하는, 컴퓨터 프로그램 제품이 기록된 컴퓨터 판독가능한 기록 매체.
  36. 제26항에 있어서,
    상기 컨텍스트는 상기 브라우저에 의해 현재 표시되는 페이지의 키워드들에 부분적으로 기초하여 결정되는, 컴퓨터 프로그램 제품이 기록된 컴퓨터 판독가능한 기록 매체.
  37. 제26항에 있어서,
    상기 컨텍스트는 상기 브라우저에 의해 현재 표시되는 페이지와 연관된 메타데이터에 부분적으로 기초하여 결정되는, 컴퓨터 프로그램 제품이 기록된 컴퓨터 판독가능한 기록 매체.
  38. 소프트웨어를 설치하기 위한 시스템으로서,
    웹 서버;
    애플리케이션 서버;
    애플리케이션 종속 데이터베이스;
    통신 경로 - 상기 통신 경로를 통하여, 상기 웹 서버가 상기 웹 서버에 의해 제공되는 컨텐트를 렌더링할 수 있는 브라우저와 통신할 수 있음 - ; 및
    컴퓨팅 디바이스에서 동작하는 상기 브라우저에 의해 해석될 수 있는 명령들의 집합
    을 포함하며,
    상기 명령들의 집합은,
    브라우저 세션의 컨텍스트를 결정하고,
    상기 애플리케이션 종속 데이터베이스로부터 설치 스크립트를 획득하고,
    상기 애플리케이션 서버로부터 상기 설치 스크립트에서 참조된 파일들을 획득하고,
    동작하기 위해 격상된 특권들을 요구하는 상기 설치 스크립트의 적어도 일부분들은 신뢰되는 소스에 의해 디지털식으로 서명되고 상기 설치 스크립트의 일부분들은 상기 컴퓨팅 디바이스의 구성을 따른다는 것을 확인하고,
    상기 컴퓨팅 디바이스에 소프트웨어를 설치하기 위해 상기 설치 스크립트를 실행 - 상기 소프트웨어의 설치는 상기 컴퓨팅 디바이스의 구성 및 상기 컨텍스트에 기초하여 상기 소프트웨어를 동적으로 맞추는(tailoring) 것을 포함함 - 하기 위한
    명령어들
    을 포함하는 시스템.
  39. 제38항에 있어서,
    상기 애플리케이션 서버는 상기 애플리케이션 종속 데이터베이스를 포함하는 시스템.
  40. 제38항에 있어서,
    상기 컴퓨팅 디바이스에 설치된 제1 코드 라이브러리를 더 포함하며, 상기 제1 코드 라이브러리는 상기 컴퓨팅 디바이스에서 실행되는 운영 체제와 상기 브라우저 사이의 상호작용을 가능하게 해주는 시스템.
  41. 제40항에 있어서,
    상기 컴퓨팅 디바이스에 설치된 제2 코드 라이브러리를 더 포함하며, 상기 제2 코드 라이브러리는 상기 운영 체제, 및 상기 컴퓨팅 디바이스에 설치된 다른 소프트웨어 애플리케이션들에 대한 정보를 획득하는 것을 가능하게 해주는 시스템.
  42. 제41항에 있어서,
    상기 제1 코드 라이브러리 및 상기 제2 코드 라이브러리는 단일 코드 라이브러리로 통합되는 시스템.
  43. 제38항에 있어서,
    상기 명령들의 집합은, 신뢰되는 스크립트의 적어도 일부분이 신뢰되는 소스에 의해 디지털식으로 서명되지 않은 경우에 이를 사용자에게 알리고, 상기 설치를 진행하기 위한 허가를 상기 사용자로부터 요청하기 위한 명령어들을 더 포함하는 시스템.
  44. 제38항에 있어서,
    상기 명령들의 집합은 브라우저 세션에 대한 컨텍스트를 결정하기 위한 명령어들을 더 포함하는 시스템.
  45. 제44항에 있어서,
    상기 컨텍스트는 상기 브라우저를 통해 사용자에 의해 수행되는 검색으로부터의 결과들에 부분적으로 기초하여 결정되는 시스템.
  46. 제45항에 있어서,
    상기 검색은 컴퓨터 소프트웨어 애플리케이션 저장소의 검색을 포함하는 시스템.
  47. 제44항에 있어서,
    상기 컨텍스트는 상기 브라우저에 의해 현재 표시되는 페이지의 키워드들에 부분적으로 기초하여 결정되는 시스템.
  48. 제44항에 있어서,
    상기 컨텍스트는 상기 브라우저에 의해 현재 표시되는 페이지와 연관된 메타데이터에 부분적으로 기초하여 결정되는 시스템.
KR1020097019600A 2007-03-21 2008-03-13 인-페이지 인스톨러 KR101134849B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/689,469 2007-03-21
US11/689,469 US8065675B2 (en) 2007-03-21 2007-03-21 In-page installer
PCT/US2008/056885 WO2008115764A1 (en) 2007-03-21 2008-03-13 In-page installer

Publications (2)

Publication Number Publication Date
KR20090127138A KR20090127138A (ko) 2009-12-09
KR101134849B1 true KR101134849B1 (ko) 2012-04-16

Family

ID=39766351

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097019600A KR101134849B1 (ko) 2007-03-21 2008-03-13 인-페이지 인스톨러

Country Status (9)

Country Link
US (1) US8065675B2 (ko)
EP (1) EP2126743A4 (ko)
JP (1) JP5372907B2 (ko)
KR (1) KR101134849B1 (ko)
CN (1) CN101689193B (ko)
AU (1) AU2008229091A1 (ko)
HK (1) HK1142701A1 (ko)
TW (1) TWI402751B (ko)
WO (1) WO2008115764A1 (ko)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BRPI0809857A2 (pt) 2007-03-30 2014-09-30 Google Inc Determinação de conversão de propaganda
US10304065B2 (en) 2007-03-30 2019-05-28 Google Llc Determining advertising conversion
US20090235149A1 (en) * 2008-03-17 2009-09-17 Robert Frohwein Method and Apparatus to Operate Different Widgets From a Single Widget Controller
US9720554B2 (en) * 2008-07-23 2017-08-01 Robert J. Frohwein Method and apparatus to operate different widgets from a single widget controller
US8434093B2 (en) 2008-08-07 2013-04-30 Code Systems Corporation Method and system for virtualization of software applications
US8776038B2 (en) 2008-08-07 2014-07-08 Code Systems Corporation Method and system for configuration of virtualized software applications
US8954958B2 (en) 2010-01-11 2015-02-10 Code Systems Corporation Method of configuring a virtual application
US8959183B2 (en) 2010-01-27 2015-02-17 Code Systems Corporation System for downloading and executing a virtual application
US9104517B2 (en) 2010-01-27 2015-08-11 Code Systems Corporation System for downloading and executing a virtual application
US9229748B2 (en) 2010-01-29 2016-01-05 Code Systems Corporation Method and system for improving startup performance and interoperability of a virtual application
EP2362334A1 (en) 2010-02-25 2011-08-31 Research In Motion Limited Method and system for acquisition of an application for installation at a communication device
US8881128B2 (en) 2010-02-25 2014-11-04 Blackberry Limited Method and system for acquisition of an application for installation at a communication device
US8763009B2 (en) 2010-04-17 2014-06-24 Code Systems Corporation Method of hosting a first application in a second application
US8782106B2 (en) 2010-07-02 2014-07-15 Code Systems Corporation Method and system for managing execution of virtual applications
US9021015B2 (en) 2010-10-18 2015-04-28 Code Systems Corporation Method and system for publishing virtual applications to a web server
US9209976B2 (en) 2010-10-29 2015-12-08 Code Systems Corporation Method and system for restricting execution of virtual applications to a managed process environment
CN102722379B (zh) * 2011-03-30 2015-10-21 腾讯科技(深圳)有限公司 软件推荐方法及系统
US8438532B2 (en) 2011-04-19 2013-05-07 Sonatype, Inc. Method and system for scoring a software artifact for a user
KR101270444B1 (ko) * 2011-05-16 2013-06-03 라온시큐어(주) 클라이언트에서 서버 제공 스크립트 실행 방법
US8612936B2 (en) 2011-06-02 2013-12-17 Sonatype, Inc. System and method for recommending software artifacts
FR2977346A1 (fr) * 2011-06-30 2013-01-04 France Telecom Procede de gestion de contenus destines a etre distribues a une entite cliente, controleur de gestion, systeme de distribution et programme d'ordinateur correspondants.
CN102890629B (zh) * 2011-07-21 2017-07-21 富泰华工业(深圳)有限公司 具有操作提示功能的电子装置及操作提示方法
US8473894B2 (en) * 2011-09-13 2013-06-25 Sonatype, Inc. Method and system for monitoring metadata related to software artifacts
US8627270B2 (en) 2011-09-13 2014-01-07 Sonatype, Inc. Method and system for monitoring a software artifact
US9141378B2 (en) 2011-09-15 2015-09-22 Sonatype, Inc. Method and system for evaluating a software artifact based on issue tracking and source control information
US9047606B2 (en) 2011-09-29 2015-06-02 Hewlett-Packard Development Company, L.P. Social and contextual recommendations
CN102426533B (zh) * 2011-12-12 2014-10-01 奇智软件(北京)有限公司 软件安装方法及装置
US9454349B2 (en) * 2011-12-20 2016-09-27 Microsoft Technology Licensing, Llc User interface placeholders for application extensions
US20130166525A1 (en) * 2011-12-27 2013-06-27 Microsoft Corporation Providing application results based on user intent
US8656343B2 (en) 2012-02-09 2014-02-18 Sonatype, Inc. System and method of providing real-time updates related to in-use artifacts in a software development environment
US9135445B2 (en) * 2012-03-19 2015-09-15 Google Inc. Providing information about a web application or extension offered by website based on information about the application or extension gathered from a trusted site
US8825689B2 (en) 2012-05-21 2014-09-02 Sonatype, Inc. Method and system for matching unknown software component to known software component
US9141408B2 (en) 2012-07-20 2015-09-22 Sonatype, Inc. Method and system for correcting portion of software application
US9280789B2 (en) 2012-08-17 2016-03-08 Google Inc. Recommending native applications
US9762698B2 (en) * 2012-12-14 2017-09-12 Google Inc. Computer application promotion
US9135263B2 (en) 2013-01-18 2015-09-15 Sonatype, Inc. Method and system that routes requests for electronic files
US20140250105A1 (en) * 2013-03-04 2014-09-04 Google Inc. Reliable content recommendations
US9247380B1 (en) * 2013-03-15 2016-01-26 Google Inc. Location based mobile device profiles
JP2015041179A (ja) * 2013-08-21 2015-03-02 キヤノン株式会社 デバイス装置、制御方法およびコンピュータプログラム
CN103442077A (zh) * 2013-09-04 2013-12-11 珠海金山网络游戏科技有限公司 一种软件客户端通过网络进行更新的方法及系统
CN110049488B (zh) 2013-11-18 2022-01-14 华为终端有限公司 应用程序推送方法、装置、设备及系统
RU2604999C2 (ru) * 2014-05-29 2016-12-20 Общество С Ограниченной Ответственностью "Яндекс" Способ и система выработки рекомендаций по приложениям для пользователя
CN104580378A (zh) * 2014-12-12 2015-04-29 百度在线网络技术(北京)有限公司 安装包的处理方法及装置
IL237986A0 (en) * 2015-03-26 2015-11-30 Yaron Peretz Method and system for broadcasting surfing activities
JP6673464B2 (ja) * 2016-02-29 2020-03-25 株式会社リコー システム、システムの方法および画像形成装置
US9971594B2 (en) 2016-08-16 2018-05-15 Sonatype, Inc. Method and system for authoritative name analysis of true origin of a file
CN106357817A (zh) * 2016-11-02 2017-01-25 广东浪潮大数据研究有限公司 一种应用程序的安装方法及服务端和客户端
US10277688B2 (en) 2017-01-04 2019-04-30 Microsoft Technology Licensing, Llc Automatic installation activation selection for hosted services
US10812570B1 (en) * 2017-08-02 2020-10-20 Intuit Inc. System for data consolidation across disparate namespaces
US11281723B2 (en) * 2017-10-05 2022-03-22 On24, Inc. Widget recommendation for an online event using co-occurrence matrix
EP3748493B1 (en) * 2018-03-28 2023-04-05 Huawei Technologies Co., Ltd. Method and device for downloading installation-free application
CN109901849B (zh) * 2019-01-30 2022-06-21 Oppo广东移动通信有限公司 应用程序安装方法、装置、电子设备及存储介质
US11733668B2 (en) * 2020-07-09 2023-08-22 UiPath, Inc. Robot access control and governance for robotic process automation
CN113094057A (zh) * 2021-04-01 2021-07-09 湖南长城科技信息有限公司 一种基于pk平台的应用安装器及其安装方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000029922A2 (en) * 1998-11-16 2000-05-25 Essential Surfing Gear, Inc. Providing web browsing companion tools and services
WO2003034257A1 (en) * 2001-10-18 2003-04-24 Claria Corporation System, method and computer program product for presenting information to a user utilizing historical information about the user
KR100403398B1 (ko) * 2000-04-04 2003-10-30 주식회사 리즈텍 서버와 클라이언트간의 파일 전송 방법
US20050071251A1 (en) * 1998-09-18 2005-03-31 Linden Gregory D. Data mining of user activity data to identify related items in an electronic catalog

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909545A (en) * 1996-01-19 1999-06-01 Tridia Corporation Method and system for on demand downloading of module to enable remote control of an application program over a network
US6049671A (en) * 1996-04-18 2000-04-11 Microsoft Corporation Method for identifying and obtaining computer software from a network computer
US5919247A (en) * 1996-07-24 1999-07-06 Marimba, Inc. Method for the distribution of code and data updates
US5923885A (en) * 1996-10-31 1999-07-13 Sun Microsystems, Inc. Acquisition and operation of remotely loaded software using applet modification of browser software
US6073163A (en) * 1997-06-10 2000-06-06 Oracle Corporation Method and apparatus for enabling web-based execution of an application
US5996073A (en) * 1997-12-18 1999-11-30 Tioga Systems, Inc. System and method for determining computer application state
US6965870B1 (en) 1997-12-24 2005-11-15 Nortel Networks Limited Method and system for activity responsive telemarketing
US6343377B1 (en) * 1997-12-30 2002-01-29 Netscape Communications Corp. System and method for rendering content received via the internet and world wide web via delegation of rendering processes
JPH11282687A (ja) * 1998-03-31 1999-10-15 Hitachi Ltd プログラム自動改版方法
US6167567A (en) * 1998-05-05 2000-12-26 3Com Corporation Technique for automatically updating software stored on a client computer in a networked client-server environment
EP1076871A1 (en) * 1998-05-15 2001-02-21 Unicast Communications Corporation A technique for implementing browser-initiated network-distributed advertising and for interstitially displaying an advertisement
US6157953A (en) * 1998-07-28 2000-12-05 Sun Microsystems, Inc. Authentication and access control in a management console program for managing services in a computer network
US6289378B1 (en) 1998-10-20 2001-09-11 Triactive Technologies, L.L.C. Web browser remote computer management system
US6408434B1 (en) * 1999-01-07 2002-06-18 Sony Corporation System and method for using a substitute directory to automatically install an update program
US6366298B1 (en) 1999-06-03 2002-04-02 Netzero, Inc. Monitoring of individual internet usage
JP2000339321A (ja) * 1999-05-25 2000-12-08 Nippon Telegr & Teleph Corp <Ntt> 関連情報随時自動送信装置及び方法並びに関連情報随時自動送信プログラムを記録した記録媒体
US6675382B1 (en) * 1999-06-14 2004-01-06 Sun Microsystems, Inc. Software packaging and distribution system
US7882501B1 (en) * 1999-08-13 2011-02-01 Oracle America, Inc. System and method for enabling dynamic modifed class reloading in an application server environment
US6640238B1 (en) * 1999-08-31 2003-10-28 Accenture Llp Activity component in a presentation services patterns environment
US6546554B1 (en) * 2000-01-21 2003-04-08 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
US6880086B2 (en) 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
AU2001273000A1 (en) 2000-06-26 2002-01-08 Motorola, Inc. Method and apparatus for autonomous memory usage optimization and downloading of software features
US7062567B2 (en) 2000-11-06 2006-06-13 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
US6898619B1 (en) * 2000-12-08 2005-05-24 Sun Microsystmes, Inc. System and method for dynamically disabling resubmission of HTTP requests
JP3870765B2 (ja) * 2001-03-30 2007-01-24 セイコーエプソン株式会社 ドライバ自動インストール装置およびこれに用いるプログラム並びにドライバ自動インストール方法
US20030093508A1 (en) * 2001-10-18 2003-05-15 Seiko Epson Corporation System for installing and launching network applications
GB0203617D0 (en) * 2002-02-15 2002-04-03 Ibm Application window closure in response to event in parent window
US7810091B2 (en) * 2002-04-04 2010-10-05 Mcafee, Inc. Mechanism to check the malicious alteration of malware scanner
US7647392B2 (en) * 2002-10-16 2010-01-12 Xerox Corporation Device model agent
US7730073B2 (en) * 2003-10-23 2010-06-01 Microsoft Corporation System and a method for presenting related items to a user
US7257583B2 (en) * 2004-01-09 2007-08-14 Microsoft Corporation System and method for updating an on-device application catalog in a mobile device receiving a push message from a catalog server indicating availability of an application for download
US7676448B2 (en) * 2004-03-12 2010-03-09 Microsoft Corporation Controlling installation update behaviors on a client computer
JP2007535770A (ja) * 2004-04-28 2007-12-06 オープンロジック インコーポレイテッド 非協調ソフトウェアプロジェクトをスタックさせるためのツール
TW200636511A (en) * 2005-02-15 2006-10-16 Infomato Crosslink data structure, crosslink database, and system and method of organizing and retrieving information
US7624086B2 (en) * 2005-03-04 2009-11-24 Maxsp Corporation Pre-install compliance system
US20060259867A1 (en) 2005-05-13 2006-11-16 Microsoft Corporation System and method for automatic generation of browsing favorites
JP4519779B2 (ja) * 2006-01-25 2010-08-04 株式会社東芝 管理装置、管理装置のキャッシュ制御方法及び記録媒体並びに情報転送システムのキャッシュ制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071251A1 (en) * 1998-09-18 2005-03-31 Linden Gregory D. Data mining of user activity data to identify related items in an electronic catalog
WO2000029922A2 (en) * 1998-11-16 2000-05-25 Essential Surfing Gear, Inc. Providing web browsing companion tools and services
KR100403398B1 (ko) * 2000-04-04 2003-10-30 주식회사 리즈텍 서버와 클라이언트간의 파일 전송 방법
WO2003034257A1 (en) * 2001-10-18 2003-04-24 Claria Corporation System, method and computer program product for presenting information to a user utilizing historical information about the user

Also Published As

Publication number Publication date
TWI402751B (zh) 2013-07-21
JP2010522398A (ja) 2010-07-01
HK1142701A1 (en) 2010-12-10
WO2008115764A1 (en) 2008-09-25
US8065675B2 (en) 2011-11-22
US20080235680A1 (en) 2008-09-25
CN101689193A (zh) 2010-03-31
CN101689193B (zh) 2013-03-06
TW200907806A (en) 2009-02-16
KR20090127138A (ko) 2009-12-09
AU2008229091A1 (en) 2008-09-25
EP2126743A4 (en) 2010-08-18
EP2126743A1 (en) 2009-12-02
JP5372907B2 (ja) 2013-12-18
WO2008115764A9 (en) 2009-08-13

Similar Documents

Publication Publication Date Title
KR101134849B1 (ko) 인-페이지 인스톨러
AU2010201642B2 (en) Remote module incorporation into a container document
JP3762687B2 (ja) Htmlフォーム・エレメントを動的に表示するシステムおよび方法
KR101389969B1 (ko) 원격 모듈용 메시지 목록
US8185819B2 (en) Module specification for a module to be incorporated into a container document
US20030016241A1 (en) Adding a shortcut to a web site
US20070136201A1 (en) Customized container document modules using preferences
US9274774B2 (en) Common installer server
US11553035B2 (en) Cross-platform module for loading across a plurality of device types
EP2201520A2 (en) Automatically instrumenting a set of web documents
WO2007070402A2 (en) Proxy server collection of data for module incorporation into a container document
JP2005338940A (ja) インストール方法、情報処理装置、及びデバイスドライバ
JP4700700B2 (ja) アクティブエックスコントロール設置方法
US20030177075A1 (en) Installing advertising material in the form of a desktop HTML page and/or a screen saver
KR20120101841A (ko) 어플리케이션과 브라우저 연동 방법 및 그 장치
JP2011086142A (ja) 画像形成装置及びプログラム操作方法
KR100705002B1 (ko) 액티브엑스 컨트롤 설치 방법
JP5471277B2 (ja) 画像形成装置及びプログラム操作方法
AU2012200799B2 (en) In-page installer
KR20010081239A (ko) 응용 소프트웨어를 이용한 인터넷 광고방법
KR100510400B1 (ko) 인터넷망에서의 웹 에디팅 컴포넌트 임대 서비스 방법
Udell Android
Petersen et al. Installing and Updating Software: YUM, GNOME Software, PackageKit, and RPM
Petersen et al. Installing and Updating Software: YUM, PackageKit, and RPM

Legal Events

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

Payment date: 20160318

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170322

Year of fee payment: 6