KR101700458B1 - 웹 사이트에 대한 대체적인 사용자 경험 검색 - Google Patents

웹 사이트에 대한 대체적인 사용자 경험 검색 Download PDF

Info

Publication number
KR101700458B1
KR101700458B1 KR1020117004220A KR20117004220A KR101700458B1 KR 101700458 B1 KR101700458 B1 KR 101700458B1 KR 1020117004220 A KR1020117004220 A KR 1020117004220A KR 20117004220 A KR20117004220 A KR 20117004220A KR 101700458 B1 KR101700458 B1 KR 101700458B1
Authority
KR
South Korea
Prior art keywords
application
content
alternative
alternate
response
Prior art date
Application number
KR1020117004220A
Other languages
English (en)
Other versions
KR20110063633A (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 KR20110063633A publication Critical patent/KR20110063633A/ko
Application granted granted Critical
Publication of KR101700458B1 publication Critical patent/KR101700458B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

본 발명은 웹 사이트에 대한 대체적인 사용자 경험을 검색하는 방법, 시스템 및 컴퓨터 프로그램 제품에 관한 것이다. 본 발명의 실시예는 사용자가 웹 사이트에 대한 대체적인 응용 프로그램을 가지는 웹 페이지로 탐색해갈 수 있게 해준다. 웹 브라우저가 대체적인 응용 프로그램을 검출한 것에 응답하여, 웹 브라우저에 있는 사용자 인터페이스 컨트롤이 활성화될 수 있다. 사용자는 이어서 사용자 인터페이스 컨트롤을 선택하여 대체적인 응용 프로그램 제어 센터에 대체적인 응용 프로그램을 설치할 수 있다. 대체적인 응용 프로그램 제어 센터를 통해, 사용자는 대체적인 사용자 경험을 가지는 웹 사이트와 상호작용하기 위해 대체적인 응용 프로그램을 활성화시킨다.

Description

웹 사이트에 대한 대체적인 사용자 경험 검색{DISCOVERING ALTERNATIVE USER EXPERIENCES FOR WEBSITES}
컴퓨터 시스템 및 관련 기술이 사회의 많은 측면에 영향을 미치고 있다. 실제로, 컴퓨터 시스템의 정보 처리 능력은 우리가 살고 일하는 방식을 바꾸어 놓았다. 컴퓨터 시스템이 이제는 흔히 컴퓨터 시스템의 출현 이전에 수작업으로 수행되었던 다수의 작업들(예를 들어, 워드 프로세싱, 스케줄링, 회계, 기타)을 수행한다. 보다 최근에, 컴퓨터 시스템은 유선 및 무선 컴퓨터 네트워크 둘다를 형성하기 위해 서로 그리고 다른 전자 장치들과 결합되며 이 네트워크를 통해 컴퓨터 시스템 및 다른 전자 장치가 전자 데이터를 전송할 수 있다. 따라서, 많은 컴퓨팅 작업의 수행이 다수의 서로 다른 컴퓨터 시스템 및/또는 다수의 서로 다른 컴퓨팅 환경에 걸쳐 분산된다.
예를 들어, 인터넷을 통해, 컴퓨터 시스템은 종종 클라이언트/서버 구성으로 동작한다. 웹 브라우저를 포함하는 하나의 컴퓨터 시스템은 웹 서버를 포함하는 다른 컴퓨터 시스템에 데이터를 요청한다. 웹 브라우저와 웹 서버 간의 통신은 통상적으로 HTTP(Hypertext Transfer Protocol)[인터넷 및 월드 와이드 웹(WWW)을 통해 정보를 전달하기 위한 통신 프로토콜임]를 사용하여 용이하게 된다. HTTP는 요청/응답(또는 동기) 프로토콜이다. 웹 브라우저는 URL(Uniform Resource Locator)을 전송함으로써 정보를 요청하고, URL에 의해 식별되는 웹 사이트는 웹 브라우저에 콘텐츠[통상적으로 HTML(Hypertext Markup Language)]를 반환한다. 웹 브라우저는 이어서, 예를 들어, 비디오 및/또는 오디오 출력 장치 등을 통해 제시하기 위해 콘텐츠를 해석한다.
통상적인 웹 경험은 올바르게 구성된 웹 브라우저를 갖는 어떤 컴퓨터 시스템이라도 웹 사이트로부터의 콘텐츠에 액세스할 수 있다는 점에서 유리하다. 즉, 웹 브라우저는, 콘텐츠에 액세스하여 이를 제시하는 적은 수의 잘 정의된 메커니즘을 제공하기 위해, 본질적으로 씬 클라이언트(thin client)로서 기능한다. 웹 서버는, 웹 브라우저 요청에 응답하여, 웹 브라우저에서 제시하기에 적절한 형식(예를 들어, HTML)으로 데이터를 가져오기 위해 거의 모든 처리를 한다.
안타깝게도, 이 클라이언트/서버 구성은 또한 다수의 단점도 있다. 예를 들어, 응용 프로그램과의 모든 상호작용이 웹 서버를 통과해야만 한다. 그 결과, 데이터(예를 들어, URL)가 서버로 전송되고, 서버가 응답하며, 다른 데이터(예를 들어, 웹 페이지)가 웹 브라우저에 다시 로드된다. 따라서, 통상적인 웹 브라우저 동작은 사용자 상호작용을 위한 동기(때때로 느린) 루프를 야기하며, 예를 들어, 웹 사이트 콘텐츠가 제시될 수 있는 때를 제한한다.
게다가, 콘텐츠에 액세스하여 이를 제시하는 웹 브라우저의 적은 수의 잘 정의된 메커니즘은 어떤 형식의 콘텐츠가 어떻게 제시될 수 있는지를 제한한다. 예를 들어, 대부분의 웹 브라우저는 본래 HTML 데이터 이외의 어떤 것도 제시하도록 구성되어 있지 않다. 스크립트의 사용은 웹 브라우저의 제시 능력을 어느 정도 향상시킬 수 있다. 그렇지만, 데이터 제시는 여전히 웹 브라우저 내에서 일어나며 웹 브라우저 환경으로 제한된다.
종종 RIA(Rich Internet Application)라고 하는 각종의 응용 프로그램은 (때때로 웹 브라우저 외부에서) 인터넷-기반 콘텐츠에 액세스하여 이를 제시하는 확장된 또는 향상된 기능을 갖는 대체적인 경험(alternative experiences)을 제공할 수 있다. RIA는 웹 브라우저 제한을 피하기 위해 웹 브라우저와 웹 서버 사이에 있는 중간 소프트웨어 계층(때때로 클라이언트 엔진이라고 함)을 이용한다. RIA는, 설계자가 생각하기에, 다양한 사용자 상호작용을 처리할 때 (예를 들어, 표준 웹 브라우저 구현과 비교하여) 사용자 인터페이스의 어떤 측면을 향상시키거나 그의 응답성을 개선시키게 될 거의 모든 응용 프로그램 기능을 수행하도록 프로그램될 수 있다. 예를 들어, RIA는 HTML을 통해 달성가능하지 않은 확장된 사용자 인터페이스 거동, 향상된 응답성, 클라이언트/서버 작업량 분산, 비동기 통신(즉, 사용자가 응답/회신을 트리거하지 않고 통신이 행해질 수 있음) 및 네트워크 효율 등의 이점을 제공할 수 있다.
RIA는 실행가능(예를 들어, .exe) 파일, 설치 패키지(예를 들어, .msi), 또는 ZIP 파일 설치 패키지일 수 있다. 안타깝게도, RIA에 액세스하거나 심지어 RIA를 인식하게 되는 것이 서로 다른 웹 사이트 간에 다를 수 있다. 예를 들어, 사용자는 통상적으로 RIA에 대한 링크를 식별하기 위해 어떤 웹 사이트 또는 응용 프로그램 관련 HTML 사용자 인터페이스를 읽어야만 한다. 사용자는 이어서 RIA의 다운로드 및/또는 설치를 트리거하기 위해 HTML 페이지 상의 특정의 단추 또는 링크를 클릭한다.
본 발명은 웹 사이트에 대한 대체적인 사용자 경험(alternative user experiences)을 검색하는 방법, 시스템 및 컴퓨터 프로그램 제품에 관한 것이다. 웹 브라우저는 콘텐츠에 대한 요청을 웹 사이트로 전송한다. 웹 브라우저는 웹 사이트로부터 요청에 응답한 응답 콘텐츠를 수신한다. 웹 브라우저는 응답 콘텐츠가 응용 프로그램 매니페스트에 대한 링크를 포함한다고 판정한다. 응용 프로그램 매니페스트는 웹 사이트로부터의 콘텐츠에 액세스하도록 구성된 하나 이상의 대체적인 응용 프로그램을 열거한다.
웹 브라우저는 (예를 들어, 사용자 인터페이스 요소를 통해) 웹 사이트가 대체적인 응용 프로그램 경험을 포함하고 있다는 것을 표시한다. 응답 콘텐츠가 응용 프로그램 매니페스트에 대한 링크를 포함하고 있는 것으로 판정한 것에 응답하여 이 표시가 제시된다. 웹 브라우저는 사용자가 응용 프로그램 매니페스트에 열거된 대체적인 응용 프로그램 경험을 유지하고자 한다는 사용자 표시를 수신한다. 웹 브라우저는 사용자 표시에 응답하여 대체적인 응용 프로그램 경험과 연관된 구성요소를 컴퓨터 시스템에 다운로드한다.
웹 브라우저는 나중에 사용하기 위해 대체적인 응용 프로그램 경험을 유지하기 위해 다운로드된 구성요소를 컴퓨터 시스템에 캐싱한다. 웹 브라우저는 대체적인 응용 프로그램 센터를 통해 대체적인 사용자 경험이 이용가능하다는 것을 표시한다. 대체적인 응용 프로그램 센터는 서로 다른 웹 사이트에 대한 대체적인 응용 프로그램 경험에 액세스하기 위한 공통 위치를 제공한다.
이 요약은 이하에서 상세한 설명에 더 기술되는 일련의 개념을 간략화된 형태로 소개하기 위해 제공된 것이다. 이 요약은 청구된 발명 대상의 주요 특징 또는 필수적인 특징을 확인하기 위한 것이 아니며, 청구된 발명 대상의 범위를 정하는 데 보조 수단으로 사용되기 위한 것도 아니다.
본 발명의 부가의 특징 및 이점이 이하의 설명에서 기술될 것이며, 부분적으로 이 설명으로부터 명백하게 되거나 본 발명의 실시에 의해 알게 될 수 있다. 본 발명의 특징 및 이점이 첨부된 청구항에 특정되어 있는 수단 및 조합에 의해 실현되고 획득될 수 있다. 본 발명의 이들 및 기타 특징이 이하의 설명 및 첨부된 특허청구범위로부터 더욱 명백하게 되거나, 이후에 설명되는 바와 같이 본 발명의 실시에 의해 알게 될 수 있다.
본 발명의 상기한 이점 및 특징과 기타 이점 및 특징이 달성될 수 있는 방식을 설명하기 위해, 이상에서 간략히 설명한 본 발명의 보다 상세한 설명이 첨부 도면에 도시되어 있는 본 발명의 구체적인 실시예를 참조하여 행해질 것이다. 이들 도면이 본 발명의 통상적인 실시예만을 도시하고 있고 따라서 본 발명의 범위를 제한하는 것으로 간주되어서는 안된다는 것을 염두에 두고서, 첨부 도면을 사용하여 보다 구체적이고 상세하게 본 발명에 대해 기술하고 설명할 것이다.
도 1a는 웹 사이트에 대한 대체적인 사용자 경험을 검색하는 것을 용이하게 해주는 예시적인 컴퓨터 아키텍처를 나타낸 도면.
도 1b는 웹 사이트에 대한 대체적인 사용자 경험을 활성화시키는 것을 용이하게 해주는 예시적인 컴퓨터 아키텍처를 나타낸 도면.
도 2는 웹 사이트에 대한 대체적인 사용자 경험을 검색하는 예시적인 방법의 플로우차트.
도 3은 웹 사이트에 대한 대체적인 사용자 경험을 저장하는 웹 브라우저 사용자 인터페이스의 일부를 나타낸 도면.
도 4a 및 도 4b는 웹 사이트에 대한 대체적인 사용자 경험에 액세스하고 이를 활성화시키는 사용자 인터페이스의 일부를 나타낸 도면.
본 발명은 웹 사이트에 대한 대체적인 사용자 경험을 검색하는 방법, 시스템 및 컴퓨터 프로그램 제품에 관한 것이다. 웹 브라우저는 콘텐츠에 대한 요청을 웹 사이트로 전송한다. 웹 브라우저는 웹 사이트로부터 요청에 응답한 응답 콘텐츠를 수신한다. 웹 브라우저는 응답 콘텐츠가 응용 프로그램 매니페스트에 대한 링크를 포함한다고 판정한다. 응용 프로그램 매니페스트는 웹 사이트로부터의 콘텐츠에 액세스하도록 구성된 하나 이상의 대체적인 응용 프로그램을 열거한다.
웹 브라우저는 (예를 들어, 사용자 인터페이스 요소를 통해) 웹 사이트가 대체적인 응용 프로그램 경험을 포함하고 있다는 것을 표시한다. 응답 콘텐츠가 응용 프로그램 매니페스트에 대한 링크를 포함하고 있는 것으로 판정한 것에 응답하여 이 표시가 제시된다. 웹 브라우저는 사용자가 응용 프로그램 매니페스트에 열거된 대체적인 응용 프로그램 경험을 유지하고자 한다는 사용자 표시를 수신한다. 웹 브라우저는 사용자 표시에 응답하여 대체적인 응용 프로그램 경험과 연관된 구성요소를 컴퓨터 시스템에 다운로드한다.
웹 브라우저는 나중에 사용하기 위해 대체적인 응용 프로그램 경험을 유지하기 위해 다운로드된 구성요소를 컴퓨터 시스템에 캐싱한다. 웹 브라우저는 대체적인 응용 프로그램 센터를 통해 대체적인 사용자 경험이 이용가능하다는 것을 표시한다. 대체적인 응용 프로그램 센터는 서로 다른 웹 사이트에 대한 대체적인 응용 프로그램 경험에 액세스하기 위한 공통 위치를 제공한다.
본 발명의 실시예들은, 이하에서 더 상세히 설명하는 바와 같이, 컴퓨터 하드웨어를 포함하는 전용 또는 범용 컴퓨터를 포함하거나 이용할 수 있다. 본 발명의 범위 내의 실시예는 또한 컴퓨터-실행가능 명령어 및/또는 데이터 구조를 전달 또는 저장하는 실제 및 기타 컴퓨터-판독가능 매체를 포함한다. 이러한 컴퓨터-판독가능 매체는 범용 또는 전용 컴퓨터 시스템에 의해 액세스될 수 있는 매체라면 어느 것이라도 될 수 있다. 컴퓨터-실행가능 명령어를 저장하는 컴퓨터-판독가능 매체는 실제 저장 매체이다. 컴퓨터-실행가능 명령어를 전달하는 컴퓨터-판독가능 매체는 전송 매체이다. 따라서, 제한이 아닌 예로서, 본 발명의 실시예는 적어도 2개의 서로 다른 종류의 컴퓨터-판독가능 매체, 즉 실제 저장 매체 및 전송 매체를 포함할 수 있다.
실제 저장 매체는 컴퓨터-실행가능 명령어 또는 데이터 구조 형태의 원하는 프로그램 코드 수단을 저장하는 데 사용될 수 있고 또 범용 또는 전용 컴퓨터에 의해 액세스될 수 있는 RAM, ROM, EEPROM, CD-ROM 또는 기타 광 디스크 저장 장치, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 임의의 다른 매체를 포함한다.
"네트워크"는 컴퓨터 시스템 및/또는 모듈 및/또는 기타 전자 장치 간의 전자 데이터의 전송을 가능하게 해주는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른 통신 연결(유선, 무선 또는 유선과 무선의 조합)을 통해 컴퓨터로 전송 또는 제공될 때, 컴퓨터는 적절하게도 이 연결을 전송 매체로 본다. 전송 매체는 컴퓨터-실행가능 명령어 또는 데이터 구조의 형태의 원하는 프로그램 코드 수단을 전달하는 데 사용될 수 있는 또 범용 또는 전용 컴퓨터에 의해 접속될 수 있는 네트워크 및/또는 데이터 링크를 포함할 수 있다. 상기한 것들의 조합도 역시 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
게다가, 다양한 컴퓨터 시스템 구성요소들에 도달할 때, 컴퓨터-실행가능 명령어 또는 데이터 구조 형태의 프로그램 코드 수단이 전송 매체로부터 실제 저장 매체로(또는 그 반대로) 자동으로 전달될 수 있다. 예를 들어, 네트워크 또는 데이터 링크를 통해 수신되는 컴퓨터-실행가능 명령어 또는 데이터 구조가 네트워크 인터페이스 모듈(예를 들어, "NIC") 내의 RAM에 버퍼링될 수 있고, 그 다음에 궁극적으로 컴퓨터 시스템 RAM 및/또는 컴퓨터 시스템에 있는 저휘발성(less volatile) 실제 저장 매체로 전달될 수 있다. 따라서, 실제 저장 매체가 전송 매체도 역시(또는 심지어 전송 매체를 주로) 이용하는 컴퓨터 시스템 구성요소에 포함될 수 있다는 것을 잘 알 것이다.
컴퓨터-실행가능 명령어는, 예를 들어, 범용 컴퓨터, 전용 컴퓨터 또는 전용 처리 장치로 하여금 어떤 기능 또는 어떤 일군의 기능들을 수행하게 하는 명령어 및 데이터를 포함한다. 컴퓨터-실행가능 명령어는, 예를 들어, 바이너리, 어셈블리어 등의 중간 포맷 명령어(intermediate format instruction), 또는 심지어 소스 코드일 수 있다. 발명 대상이 구조적 특징 및/또는 방법적 동작과 관련하여 기술되어 있지만, 첨부된 특허청구범위에 정의된 발명 대상이 상기한 기술된 특징 또는 동작으로 반드시 제한되는 것은 아니라는 것을 잘 알 것이다. 오히려, 기술된 특징 및 동작은 청구항을 구현하는 예시적인 형태로서 개시되어 있다.
당업자라면 본 발명이 개인용 컴퓨터, 데스크톱 컴퓨터, 랩톱 컴퓨터, 메시지 프로세서, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램가능 가전 제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 이동 전화, PDA, 페이저, 라우터, 스위치, 기타 등등을 비롯한 많은 종류의 컴퓨터 시스템 구성을 갖는 네트워크 컴퓨팅 환경에서 실시될 수 있다는 것을 잘 알 것이다. 본 발명은 또한 네트워크를 통해 (유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합에 의해) 연결되어 있는 로컬 및 원격 컴퓨터 시스템 둘다가 작업을 수행하는 분산 시스템 환경에서 실시될 수 있다. 분산 시스템 환경에서는, 프로그램 모듈이 로컬 및 원격 메모리 저장 장치 둘다에 위치할 수 있다.
도 1a는 웹 사이트에 대한 대체적인 사용자 경험을 검색하는 것을 용이하게 해주는 예시적인 컴퓨터 아키텍처(100)를 나타낸 것이다. 도 1a를 참조하면, 컴퓨터 아키텍처(100)는 컴퓨터 시스템(101) 및 컴퓨터 시스템(102)을 포함한다. 도시된 컴퓨터 시스템들 각각은, 예를 들어, 근거리 통신망(LAN), 원거리 통신망(WAN), 또는 심지어 인터넷 등의 네트워크(또는 그의 일부)를 통해 서로 연결된다. 따라서, 도시된 컴퓨터 시스템들 각각은 물론 임의의 다른 연결된 컴퓨터 시스템 및 그의 구성요소는 메시지 관련 데이터를 생성하고 메시지 관련 데이터[예를 들어, 인터넷 프로토콜(IP) 데이터그램 및 IP 데이터그램을 이용하는 기타 상위 계층 프로토콜(TCP(Transmission Control Protocol), HTTP(Hypertext Transfer Protocol), SMTP(Simple Mail Transfer Protocol), 기타 등등)]를 네트워크를 통해 교환할 수 있다.
컴퓨터 시스템(101)은 웹 브라우저(102), 대체적인 응용 프로그램 센터(104), 및 대체적인 응용 프로그램 캐시(106)를 포함한다. 일반적으로, 웹 브라우저(102)는 웹-기반 데이터를 웹 사이트로 전송하고 그로부터 웹-기반 데이터를 수신하기 위해 [예를 들어, HTTP 메시지(예를 들어, HTTP GET, HTTP HEAD, HTTP POST, HTTP PUT, 기타 등등)로] 웹 사이트와 상호작용하고 사용자 인터페이스를 통해 웹-기반 데이터를 제시하도록 구성되어 있다. 웹 브라우저(102)는 또한 고정 사용자 인터페이스 컨트롤(sticky user-interface control)(103)을 포함한다. 수신된 메시지가 웹 사이트가 대체적인 사용자 경험을 가진다는 것을 나타낼 때, 고정 사용자 인터페이스 컨트롤(103)이 활성화될 수 있다(또는 "켜질" 수 있다). 사용자는 이어서 웹 사이트에 대한 대체적인 사용자 경험을 저장 또는 "고정(make sticky)"하기 위해 고정 사용자 인터페이스 컨트롤(103)을 선택할 수 있고, 그로써 어쩌면 오프라인일 때 대체적인 사용자 경험의 사용을 용이하게 해줄 수 있다.
대체적인 응용 프로그램 센터(104)는 안전한 대체적인 사용자 경험에 액세스하는 사용자 인터페이스를 제공한다. 대체적인 응용 프로그램 캐시(106)는 대체적인 사용자 경험에 대한 데이터를 저장하도록 구성되어 있다. 대체적인 사용자 경험이 저장될 때, 대체적인 사용자 경험에 대한 데이터가 컴퓨터 시스템(101)으로 다운로드되어 대체적인 응용 프로그램 캐시(106)에 저장될 수 있다. 대체적인 응용 프로그램 센터(104)는 대체적인 응용 프로그램 캐시(106)에 저장된 대체적인 사용자 경험을 사용자에게 시각적으로 (예를 들어, 아이콘으로서) 제시할 수 있다. 사용자는 목록으로부터 대체적인 사용자 경험을 선택하여 대체적인 사용자 경험을 활성화시킬 수 있다[직접 또는 대체적인 응용 프로그램 센터(104)를 통해 대체적인 사용자 경험을 할 수 있다].
컴퓨터 시스템(111)은 웹 서버(112)를 포함한다. 일반적으로, 웹 서버(112)는 하나 이상의 웹 사이트에 대한 콘텐츠를 관리하도록 구성되어 있다. 웹 서버(112)는 (예를 들어, HTML 데이터를 포함하는 HTTP 메시지로) 웹-기반 데이터를 웹 브라우저 및 대체적인 응용 프로그램으로 전송하고 그로부터 웹-기반 데이터를 수신하기 위해 웹 브라우저 및 대체적인 응용 프로그램과 상호작용할 수 있다. 컴퓨터 시스템은, 웹 서버(112)에 수신된 데이터 요청에 응답하여, 저장 장치(113)로부터 웹-기반 데이터를 반환할 수 있다. 데이터 요청에 대한 응답은 콘텐츠(114)로부터의 콘텐츠 및/또는 대체적인 응용 프로그램(116)에서의 대체적인 사용자 경험에 대한 링크를 포함할 수 있다. 웹 서버(112)는, 웹-기반 데이터를 웹 브라우저로 반환할 때, 임의의 대체적인 사용자 경험에 대한 링크를 포함할 수 있다. 예를 들어, 웹 서버(112)는 HTML 메시지의 HTML 헤더에 link 요소를 포함할 수 있다. link 요소는 웹 서버(112)에 의해 제공되는 대체적인 사용자 경험을 활성화시키는 [예를 들어, 대체적인 응용 프로그램(116) 내의] 데이터에 링크될 수 있다.
웹 브라우저[예를 들어, 웹 브라우저(102) 등]는, 다른 수신된 데이터에서(예를 들어, HTML 헤더 등에서) 대체적인 사용자 경험에 대한 link 요소를 검출한 것에 응답하여, 사용자 인터페이스 컨트롤[예를 들어, 고정 사용자 인터페이스 컨트롤(103) 등]을 활성화시킬 수 있다.
도 2는 웹 사이트에 대한 대체적인 사용자 경험을 검색하는 예시적인 방법(200)의 플로우차트를 나타낸 것이다. 방법(200)은 컴퓨터 아키텍처(100)의 구성요소 및 데이터와 관련하여 기술될 것이다.
방법(200)은 콘텐츠에 대한 요청을 웹 사이트로 전송하는 단계(단계 201)를 포함한다. 예를 들어, 웹 브라우저(102)는 요청(121)[예를 들어, 웹 서버(112)에 대한 URL을 포함하는 HTTP GET]을 웹 서버(112)로 전송할 수 있다. 방법(200)은 웹 사이트로부터 요청에 응답한 응답 콘텐츠를 수신하는 단계(단계 202)를 포함한다. 예를 들어, 웹 브라우저(102)는 요청(121)에 응답한 응답(122)을 수신할 수 있다.
도시된 바와 같이, 응답(122)은 헤더(123) 및 본문(126)을 포함한다. 헤더(123) 및 본문(126)은 각각 HTML 메시지의 헤더 및 본문일 수 있다. 본문(126)은 요청(121)에 응답한 콘텐츠를 포함할 수 있다. 일반적으로, 헤더(126)는 제목, 키워드, 및 콘텐츠로 꼭 간주되는 것은 아닌 기타 정보를 포함하는 응답(122)에 관한 정보를 포함할 수 있다. 도시된 바와 같이, 헤더(126)는 또한 매니페스트 링크(124)를 포함한다. 웹 서버(112)는 응답(122)을 전송하기 전에 매니페스트 링크(124)를 헤더(123)에 포함시킬 수 있다.
매니페스트 링크(124)는 하기의 형식으로 되어 있을 수 있다:
Figure 112011013174507-pct00001
link 요소는 콘텐츠(114)에 액세스하기 위해 대체적인 사용자 경험에 액세스하기 위한 관계 정보를 전달하는 특성/값 쌍을 포함한다. rel="alternate" 특성/값 쌍은 본문(126)과 "local.xml"(즉, href 특성에 명시된 앵커) 간의 관계를 나타내며 local.xml을 본문(126)의 대체 버전으로서 지정한다. type="application/localria" 특성/값 쌍은 링크 대상 주소에서 이용가능한 [즉, 응답(122)의 대체 버전에 대한] 콘텐츠의 콘텐츠 형식이 RIA(Rich Internet Application) 형식 콘텐츠라는 조언적 힌트를 제공한다. "application/localria" 형식이 웹 브라우저(102)와 웹 서버(112) 사이에서 관리될 수 있고 및/또는 확장된 사용을 위해, 예를 들어, Mime 형식 등의 콘텐츠 형식으로서 등록될 수 있다. href="local.xml" 특성/값 쌍은 응답(122)과 대체적인 응용 프로그램 매니페스트(128) 간의 링크를 정의하는 대체적인 응용 프로그램 매니페스트(128)의 위치를 명시한다.
일반적으로, link 요소에 관한 조언적 정보를 제공하기 위해 제목 특성이 사용될 수 있다. 제목 특성의 값이 웹 브라우저에서 사용자 도구 설명으로서 제공될 수 있다. 따라서, title="Applications" 특성/값 쌍은 매니페스트 링크(124)의 성질이 "Applications"에 관련되어 있다는 것을 나타낸다. 웹 브라우저(102)는, 본문(126)의 일부로서 제시된 사용자 인터페이스 요소를 마우스로 가리킬 때, "Applications"이라는 단어를 디스플레이할 수 있다.
방법(200)은 응답 콘텐츠가 응용 프로그램 매니페스트에 대한 링크를 포함한다고 판정하는 단계 - 응용 프로그램 매니페스트는 웹 사이트로부터의 콘텐츠에 액세스하도록 구성된 하나 이상의 대체적인 응용 프로그램을 열거함 - (단계 203)를 포함한다. 예를 들어, 웹 브라우저(102)는 응답(122)이 매니페스트 링크(124)를 포함한다고 판정할 수 있다. 매니페스트 링크(124)는 웹 서버(112)로부터의 콘텐츠에 액세스하도록 구성된 하나 이상의 대체적인 응용 프로그램을 열거하는 대체적인 응용 프로그램(116)의 일부(예를 들어, "local.xml")에 링크될 수 있다. 방법(200)은, 응답 콘텐츠가 응용 프로그램 매니페스트에 대한 링크를 포함하는 것으로 판정한 것에 응답하여, 웹 사이트가 대체적인 응용 프로그램 경험을 포함한다는 것을 웹 브라우저에 표시하는 단계(단계 204)를 포함한다. 예를 들어, 웹 서버(102)는, 응답(122)이 매니페스트 링크(124)를 포함하는 것으로 판정한 것에 응답하여, 고정 사용자 인터페이스 컨트롤(103)을 활성화시키거나 "켤" 수 있다.
이제 도 3을 참조하면, 도 3은 웹 브라우저 사용자 인터페이스(300)의 일부를 나타낸 것이다. 웹 브라우저 사용자 인터페이스(300)는 웹 사이트에 대한 대체적인 사용자 경험을 저장하는 것을 용이하게 해줄 수 있다. 웹 브라우저 사용자 인터페이스(300)의 기능이 웹 브라우저(102)에 제공될 수 있다. 도시된 바와 같이, 웹 브라우저 사용자 인터페이스(300)는 (예를 들어, URL을 전송하기 위한) 주소 필드(301), 수신된 콘텐츠를 검색하기 위한 검색 필드(306), 지정된 홈페이지로 되돌아가기 위한 홈페이지 컨트롤(302), 수신된 콘텐츠를 인쇄하기 위한 인쇄 컨트롤(304), RSS 형식의 피드(예를 들어, type="application/rss+xml"의 데이터)를 활성화하기 위한 RSS 컨트롤(303)을 포함한다. 웹 브라우저 사용자 인터페이스(300)는 또한 대체적인 사용자 경험(예를 들어, RIA)을 컴퓨터 시스템(101)에 고정시키기 위한 고정 사용자 인터페이스 컨트롤(103)을 포함할 수 있다.
방법(200)은 사용자가 응용 프로그램 매니페스트에 열거된 대체적인 응용 프로그램 경험을 유지하고자 한다는 사용자 표시를 수신하는 단계(단계 205)를 포함한다. 예를 들어, 웹 브라우저(102)는 고정 사용자 인터페이스 컨트롤(103)을 선택하는 사용자 입력(107)을 수신할 수 있다.
방법(200)은 사용자 표시에 응답하여 대체적인 응용 프로그램 경험과 연관된 구성요소를 컴퓨터 시스템에 다운로드하는 단계(단계 206)를 포함한다. 예를 들어, 고정 사용자 인터페이스 컨트롤(103)의 선택은 웹 브라우저(102)로 하여금 매니페스트 링크(124)를 이용하여 대체적인 응용 프로그램 요청(127)을 웹 서버(112)로 전송하게 할 수 있다. 대체적인 응용 프로그램 요청(127)은 대체적인 응용 프로그램(116)의 일부(예를 들어, "local.xml" 등)에 대한 요청일 수 있다. 대체적인 응용 프로그램 요청(127)에 응답하여, 웹 서버(112)는 대체적인 응용 프로그램(116)으로부터의 대체적인 응용 프로그램 매니페스트(128)(예를 들어, "local.xml")를 끌어와서 대체적인 응용 프로그램 매니페스트(128)를 웹 브라우저(102)에 제공할 수 있다.
일부 실시예에서, 응용 프로그램 사용자 경험(XAML, Image, Media), 코드 DLL 및 필요한 응용 프로그램 참조 데이터를 캐싱함으로써, 대체적인 응용 프로그램이 대체적인 응용 프로그램 센터에 고정된다. 응용 프로그램은 간단한 "고정" 매니페스트와 함께 간단한 ZIP과 같은 파일 형식을 사용하여 패키징될 수 있다. 따라서, 대체적인 응용 프로그램 매니페스트(128)는 하기의 형식으로 되어 있을 수 있다:
Figure 112011013174507-pct00002
Figure 112011013174507-pct00003
대체적인 응용 프로그램 매니페스트(128) 내에서, 응용 프로그램 설명("MyTV")은 대체적인 응용 프로그램에 대한 사용자에게 친숙한 설명을 말한다. 응용 프로그램 게시자("Timbuktourist")는 대체적인 응용 프로그램의 게시자를 말한다. 응용 프로그램 아이콘("favicon.ico")은 대체적인 응용 프로그램에 대한 시각적 이미지를 말한다.
매니페스트는 또한 다수의 호스트 섹션을 포함한다. 각각의 호스트 섹션은, 예를 들어, ria-local, clickonce, ria-device, gadget-sidebar, gadget-list, gadget-w3C 등의 응용 프로그램 형식을 포함하는 대체적인 응용 프로그램을 나타낸다. 각각의 호스트 섹션 내에, 일관성있는 단위로서 동기화/다운로드되어야 하는 응용 프로그램 리소스들의 목록(예를 들어, "ClientBin.TVSticky.xap", TVSticky.application" 등)이 포함되어 있다. 리소스는 간단한 상대 URI를 사용하여 식별될 수 있다. 기본 리소스는 응용 프로그램 ZIP 파일이다.
방법(200)은 나중에 사용하기 위해 대체적인 응용 프로그램 경험을 유지하기 위해 다운로드된 구성요소를 컴퓨터 시스템에 캐싱하는 단계(단계 207)를 포함한다. 예를 들어, 컴퓨터 시스템(101)은 대체적인 응용 프로그램 매니페스트(128)에서 식별된[및/또는 웹 서버(112)에 의해 제공된] 구성요소를 대체적인 응용 프로그램 캐시(106)에 캐싱할 수 있다. 캐싱된 구성요소는 리소스는 물론 대체적인 응용 프로그램 매니페스트(128)에 표시된 구성 정보를 포함할 수 있다. 이들 구성요소가 서로 그룹화되어 응용 프로그램 데이터(141)로서 저장될 수 있다.
대체적인 응용 프로그램 매니페스트(128)를 수신한 것에 응답하여, 컴퓨터 시스템(101)은 [예를 들어, 대체적인 응용 프로그램 매니페스트(128)에 포함된 URL을 사용하여] 웹 서버(112)에 추가의 구성요소를 요청할 수 있다. 예를 들어, 컴퓨터 시스템(101)은 구성요소 요청(129)을 웹 서버(112)에 전송할 수 있다. 구성요소 요청(129)에 응답하여, 웹 서버(112)는 대체적인 응용 프로그램 매니페스트(128)에서 대체적인 응용 프로그램의 활성화 및 사용에 관련있는 것으로 대체적인 응용 프로그램 구성요소(131)를 식별할 수 있다. 웹 서버(112)는 캐싱하기 위해 대체적인 응용 프로그램 구성요소(131)를 컴퓨터 시스템(101)에 제공할 수 있다. 이들 구성요소는 대체적인 응용 프로그램 캐시(106)에 저장하기 위해 응용 프로그램 데이터(141)로 그룹화될 수 있다.
방법(200)은 대체적인 사용자 경험이 컴퓨터 시스템에 있는 대체적인 응용 프로그램 센터를 통해 이용가능하다는 것을 표시하는 단계 - 대체적인 응용 프로그램 센터는 서로 다른 웹 사이트에 대한 대체적인 응용 프로그램 경험에 액세스하기 위한 공통 위치를 제공함 - (단계 208)를 포함한다. 예를 들어, 콘텐츠(114)에 액세스하기 위한 대체적인 사용자 경험의 이용가능성이 대체적인 응용 프로그램 센터(104)를 통해 표시될 수 있다.
도 4a 및 도 4b는 웹 사이트에 대한 대체적인 사용자 경험에 액세스하고 이를 활성화시키는 사용자 인터페이스(400)의 일부를 나타낸 것이다. 이제 도 4a를 참조하면, 대체적인 응용 프로그램 제어 센터(104)는 사용자 인터페이스(400)에 사용자 인터페이스 컨트롤로서 나타내어질 수 있다. 이제 도 4b를 참조하면, 사용자 인터페이스 컨트롤의 선택은 대체적인 응용 프로그램 캐시(106)에 캐싱된 이용가능한 대체적인 사용자 경험의 목록이 제시되게 할 수 있다.
따라서, 간단한 제스처로, 사용자는 RIA가 그의 컴퓨터에서 "고정 현재 상태(sticky presence)"를 갖게 할 수 있다. 고정이라는 것은 응용 프로그램을 활성화시키기 위한 응용 프로그램 코드 및 데이터 리소스가 로컬에 캐싱되어 있다는 것을 의미한다. 고정 현재 상태 RIA는 브라우저 RIA의 코드 및 UI 자산의 다수를 재사용할 수 있는 대체적인 응용 프로그램이다.
따라서, 본 발명의 실시예는 사용자가 웹 사이트에 대한 대체적인 응용 프로그램 또는 "고정" RIA(예를 들어, .EXE 응용 프로그램, .MSI 설치 패키지, 또는 ZIP 파일 설치 패키지)를 가지는 웹 페이지로 탐색해가는 것을 가능하게 해준다. 웹 브라우저가 대체적인 응용 프로그램 또는 "고정" RIA를 검출한 것에 응답하여, 브라우저 도구모음에 있는 "Make Sticky" 단추가 활성화될 수 있다. 사용자는 이어서 이 단추를 클릭하고 그의 동작을 확인하도록 요청받을 수 있다. 확인 시에(제시될 때에), 대체적인 응용 프로그램 또는 "고정" RIA가 RIA 센터에 설치될 수 있다.
게다가, 웹 개발자는 대체적인 응용 프로그램을 "고정"으로 만드는 사용자 경험을 사용자 지정할 수 있다. 예를 들어, 웹 개발자는 사용자 인터페이스 컨트롤(예를 들어, 단추 등)을 그의 응용 프로그램에 추가할 수 있다. 사용자가 이 단추를 선택할 때, LocalApplication.Install API가 호출되어 URL을 고정 매니페스트(sticky manfiest)로 전달할 수 있다. 그에 부가하여, 웹 개발자가 HTML 웹 페이지의 <head>에 <link> 요소를 제공할 때, 사용자는 (주소 표시줄로부터의) 웹 페이지를 RIA 센터로 끌어서 놓기할 수 있다.
유익하게도, 이들 메커니즘 중 임의의 것을 사용하여, 사용자는 RIA를 고정으로 만들기 위한 조치를 언제 취할지를 결정하게 된다. 게다가, 대체적인 응용 프로그램이 캐싱된 경우, 사용자가 업데이트된 사용자 인터페이스 경험 및 데이터에 액세스하도록, 응용 프로그램의 리소스 및 데이터가 백그라운드에서 자동으로 업데이트된다. 예를 들어, 웹 서버(112)는, 컴퓨터 시스템(101)과의 통신이 검출될 때, 응용 프로그램 데이터(141)를 업데이트할 수 있다.
도 1b는 웹 사이트에 대한 대체적인 사용자 경험을 활성화시키는 것을 용이하게 해주는 컴퓨터 아키텍처(100)의 일부를 나타낸 것이다. 도시된 바와 같이, 도 1b는 컴퓨터 시스템(101) 및 컴퓨터 시스템(111)을 포함한다. 사용자 입력(147)(활성화하기 위해 대체적인 응용 프로그램을 선택하는 입력)에 응답하여, 대체적인 응용 프로그램 제어 센터는 대체적인 응용 프로그램 캐시(106)로부터 캐싱된 데이터(141)를 로드한다. 대체적인 응용 프로그램 제어 센터(104)는 대체적인 응용 프로그램(142)을 활성화시키기 위해 응용 프로그램 데이터(141)를 처리한다.
대체적인 응용 프로그램(142)은 웹 서버(112)에 웹-기반 데이터를 요청할 수 있다. 예를 들어, 대체적인 응용 프로그램(142)은 요청(151)을 웹 서버(112)로 전송할 수 있다. 요청(151)은 콘텐츠(114)[예를 들어, 본문(126)에 포함된 콘텐츠 또는 어떤 다른 웹-기반 데이터]의 일부에 대한 요청일 수 있다. 요청에 응답하여, 웹 서버(112)는 웹-기반 데이터를 대체적인 응용 프로그램(142)으로 반환할 수 있다. 예를 들어, 웹 서버(112)는 콘텐츠(164)를 대체적인 응용 프로그램(142)으로 반환할 수 있다. 대체적인 응용 프로그램(142)은 사용자 인터페이스에서 콘텐츠(164)를 제시할 수 있다.
본 발명은 그의 정신 또는 본질적인 특성을 벗어나지 않고 다른 특정의 형태로 구현될 수 있다. 기술된 실시예가 모든 점에서 제한적이 아니라 단지 예시적인 것으로 간주되어야 한다. 따라서, 본 발명의 범위는 이상의 설명이 아니라 첨부된 특허청구범위에 의해 나타내어진다. 특허청구범위의 등가성의 의미 및 범위 내에 속하는 모든 변경이 발명의 범위 내에 포함된다.

Claims (18)

  1. 하나 이상의 프로세서, 시스템 메모리 및 웹 브라우저를 포함하는 컴퓨터 시스템에서, 웹 사이트에 대한 대체적인 사용자 경험(alternative user experiences)을 검색하는(discovering) 방법으로서,
    콘텐츠에 대한 요청을 웹 사이트로 전송하는 단계,
    상기 웹 사이트로부터 상기 요청에 응답하는 응답 콘텐츠를 수신하는 단계,
    상기 응답 콘텐츠가 응용 프로그램 매니페스트(application manifest)에 대한 링크를 포함하는지 판정하는 단계- 상기 응용 프로그램 매니페스트는 상기 웹 사이트로부터의 콘텐츠에 액세스하도록 구성된 하나 이상의 대체적인 응용 프로그램을 열거하고, 상기 하나 이상의 대체적인 응용 프로그램은 리치 인터넷 응용 프로그램(Rich Internet Applications: RIA)임 -,
    상기 응답 콘텐츠가 상기 응용 프로그램 매니페스트에 대한 링크를 포함한다는 판정에 응답하여, 상기 웹 사이트가 상기 대체적인 응용 프로그램을 포함한다는 것을 상기 웹 브라우저에 표시하는 단계,
    사용자가 상기 응용 프로그램 매니페스트에 열거된 상기 대체적인 응용 프로그램을 유지하고자 함을 나타내는 사용자 표시를 수신하는 단계,
    상기 사용자 표시에 응답하여 상기 대체적인 응용 프로그램과 연관된 구성요소들을 상기 컴퓨터 시스템에 다운로드하는 단계,
    후속 사용을 위해 상기 대체적인 응용 프로그램을 유지하기 위해 상기 다운로드된 구성요소들을 상기 컴퓨터 시스템에 캐싱하는 단계,
    상기 대체적인 응용 프로그램이 상기 컴퓨터 시스템에서 대체적인 응용 프로그램 센터를 통해 이용가능하다는 것을 표시하는 단계- 상기 대체적인 응용 프로그램 센터는 다른 웹 사이트에 대한 대체적인 응용 프로그램에 액세스하기 위한 공통 위치를 제공함 -,
    상기 대체적인 응용 프로그램 센터를 열기 위한 사용자 입력을 수신하는 단계,
    상기 사용자에게 이용가능한 대체적인 응용 프로그램들을 제시(present)하는 단계,
    상기 제시된 이용가능한 대체적인 응용 프로그램들 중 하나에 대한 사용자 선택을 수신하는 단계,
    사용하기 위한 상기 대체적인 응용 프로그램을 활성화시키기 위해 상기 대체적인 응용 프로그램에 대한 캐싱된 구성요소들에 액세스하는 단계,
    상기 대체적인 응용 프로그램이 콘텐츠에 대한 요청 - 상기 요청은 콘텐츠의 일부에 대한 요청임 - 을 상기 웹 사이트로 전송하는 단계,
    상기 대체적인 응용 프로그램이 상기 요청에 응답하여 상기 웹 사이트로부터 콘텐츠를 수신하는 단계, 및
    상기 수신된 콘텐츠를 상기 대체적인 응용 프로그램에서 제시하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 웹 사이트로부터 상기 요청에 응답하는 응답 콘텐츠를 수신하는 단계는 HTML 문서를 수신하는 단계- 상기 HTML 문서는 헤더와 본문을 포함하고, 상기 헤더는 상기 응용 프로그램 매니페스트에 대한 링크를 포함함 - 를 포함하는 방법.
  3. 제1항에 있어서,
    상기 응답 콘텐츠가 응용 프로그램 매니페스트에 대한 링크를 포함하는지 판정하는 단계는 상기 링크가 HTML 헤더에 포함되어 있는지 판정하는 단계를 포함하는 방법.
  4. 제3항에 있어서,
    상기 응답 콘텐츠가 응용 프로그램 매니페스트에 대한 링크를 포함하는지 판정하는 단계는 상기 링크가 상기 응용 프로그램 매니페스트에 액세스하기 위한 URL을 포함하는지 판정하는 단계를 포함하는 방법.
  5. 제4항에 있어서,
    상기 대체적인 응용 프로그램과 연관된 구성요소들을 다운로드하는 단계는 상기 URL을 상기 웹 사이트로 전송하는 단계를 포함하는 방법.
  6. 제1항에 있어서,
    상기 대체적인 응용 프로그램과 연관된 구성요소들을 다운로드하는 단계는 상기 응용 프로그램 매니페스트를 다운로드하는 단계를 포함하는 방법.
  7. 제1항에 있어서,
    상기 웹 사이트가 대체적인 응용 프로그램을 포함한다는 것을 상기 웹 브라우저에 표시하는 단계는 상기 웹 브라우저의 사용자 인터페이스 컨트롤을 점등하는(lighting up) 단계를 포함하는 방법.
  8. 제1항에 있어서,
    상기 사용자에게 이용가능한 대체적인 응용 프로그램의 업데이트된 버전을 만들기 위해 상기 다운로드된 구성요소들을 캐싱하는 단계 이후에 상기 다운로드된 구성요소들을 업데이트하는 단계를 더 포함하는 방법.
  9. 하나 이상의 프로세서, 시스템 메모리 및 웹 브라우저를 포함하는 컴퓨터 시스템에서 사용하기 위한 컴퓨터 판독가능 저장 매체로서,
    상기 컴퓨터 판독가능 저장 매체는 프로세서에서 실행될 때 상기 컴퓨터 시스템으로 하여금 웹 사이트에 대한 대체적인 사용자 경험을 검색하는 방법을 수행하게 하는 컴퓨터 실행가능 명령어를 저장하고,
    상기 방법은
    콘텐츠에 대한 요청을 웹 사이트로 전송하는 단계,
    상기 웹 사이트로부터 상기 요청에 응답하는 응답 콘텐츠를 수신하는 단계,
    상기 응답 콘텐츠가 응용 프로그램 매니페스트에 대한 링크를 포함하는지 판정하는 단계 - 상기 응용 프로그램 매니페스트는 상기 웹 사이트로부터의 콘텐츠에 액세스하도록 구성된 하나 이상의 대체적인 응용 프로그램을 열거하고, 상기 하나 이상의 대체적인 응용 프로그램은 리치 인터넷 응용 프로그램(Rich Internet Applications: RIA)임 -,
    상기 응답 콘텐츠가 상기 응용 프로그램 매니페스트에 대한 링크를 포함한다는 판정에 응답하여, 상기 웹 사이트가 상기 대체적인 응용 프로그램을 포함한다는 것을 상기 웹 브라우저에 표시하는 단계,
    사용자가 상기 응용 프로그램 매니페스트에 열거된 상기 대체적인 응용 프로그램을 유지하고자 함을 나타내는 사용자 표시를 수신하는 단계,
    상기 사용자 표시에 응답하여 상기 대체적인 응용 프로그램과 연관된 구성요소들을 상기 컴퓨터 시스템에 다운로드하는 단계,
    후속 사용을 위해 상기 대체적인 응용 프로그램을 유지하기 위해 상기 다운로드된 구성요소들을 상기 컴퓨터 시스템에 캐싱하는 단계, 및
    상기 대체적인 응용 프로그램이 상기 컴퓨터 시스템에서 대체적인 응용 프로그램 센터를 통해 이용가능하다는 것을 표시하는 단계- 상기 대체적인 응용 프로그램 센터는 다른 웹 사이트에 대한 대체적인 응용 프로그램에 액세스하기 위한 공통 위치를 제공함 -,
    상기 대체적인 응용 프로그램 센터를 열기 위한 사용자 입력을 수신하는 단계,
    상기 사용자에게 이용가능한 대체적인 응용 프로그램들을 제시하는 단계,
    상기 제시된 이용가능한 대체적인 응용 프로그램들 중 하나에 대한 사용자 선택을 수신하는 단계,
    사용하기 위한 상기 대체적인 응용 프로그램을 활성화시키기 위해 상기 대체적인 응용 프로그램에 대한 캐싱된 구성요소들에 액세스하는 단계,
    콘텐츠에 대한 요청 - 상기 요청은 콘텐츠의 일부에 대한 요청임 - 을 상기 웹 사이트로 전송하는 단계,
    상기 요청에 응답하여 상기 웹 사이트로부터 콘텐츠를 수신하는 단계, 및
    상기 수신된 콘텐츠를 상기 대체적인 응용 프로그램에서 제시하는 단계
    를 포함하는,
    컴퓨터 판독가능 저장 매체.
  10. 제9항에 있어서,
    상기 웹 사이트로부터 상기 요청에 응답하는 응답 콘텐츠를 수신하는 단계는 HTML 문서를 수신하는 단계를 포함하고, 상기 HTML 문서는 헤더와 본문을 포함하고, 상기 헤더는 상기 응용 프로그램 매니페스트에 대한 링크를 포함하는
    컴퓨터 판독가능 저장 매체.
  11. 제9항에 있어서,
    상기 응답 콘텐츠가 응용 프로그램 매니페스트에 대한 링크를 포함하는지 판정하는 단계는 상기 링크가 HTML 헤더에 포함되어 있는지 판정하는 단계를 포함하는
    컴퓨터 판독가능 저장 매체.
  12. 제11항에 있어서,
    상기 응답 콘텐츠가 응용 프로그램 매니페스트에 대한 링크를 포함하는지 판정하는 단계는 상기 링크가 상기 응용 프로그램 매니페스트에 액세스하기 위한 URL을 포함하는지 판정하는 단계를 포함하는
    컴퓨터 판독가능 저장 매체.
  13. 제12항에 있어서,
    상기 대체적인 응용 프로그램과 연관된 구성요소들을 다운로드하는 단계는 상기 URL을 웹 서버로 전송하는 단계를 포함하는
    컴퓨터 판독가능 저장 매체.
  14. 제9항에 있어서,
    상기 대체적인 응용 프로그램과 연관된 구성요소들을 다운로드하는 단계는 상기 응용 프로그램 매니페스트를 다운로드하는 단계를 포함하는
    컴퓨터 판독가능 저장 매체.
  15. 제9항에 있어서,
    상기 웹 사이트가 대체적인 응용 프로그램을 포함한다는 것을 표시하는 단계는 상기 웹 브라우저의 사용자 인터페이스 컨트롤을 점등하는 단계를 포함하는
    컴퓨터 판독가능 저장 매체.
  16. 제9항에 있어서,
    상기 방법은 상기 사용자에게 이용가능한 대체적인 응용 프로그램의 업데이트된 버전을 만들기 위해 상기 다운로드된 구성요소들을 캐싱하는 단계 이후에 상기 다운로드된 구성요소들을 업데이트하는 단계를 더 포함하는
    컴퓨터 판독가능 저장 매체.
  17. 웹 브라우저 컴퓨팅 시스템 및 웹 서버 컴퓨팅 시스템을 포함하는 분산 컴퓨팅 시스템으로서,
    상기 웹 브라우저 컴퓨팅 시스템은,
    하나 이상의 프로세서,
    시스템 메모리, 및
    웹 브라우저 및 대체적인 응용 프로그램 제어 센터를 나타내는 컴퓨터 실행가능 명령어를 저장하는 하나 이상의 컴퓨터 저장 매체
    를 포함하고,
    상기 웹 브라우저는,
    콘텐츠에 대한 요청을 웹 사이트로 전송하고,
    상기 웹 사이트로부터 상기 요청에 응답하는 응답 콘텐츠를 수신하고,
    상기 응답 콘텐츠가 응용 프로그램 매니페스트에 대한 링크를 포함하는지 판정하고- 상기 응용 프로그램 매니페스트는 상기 웹 사이트로부터의 콘텐츠에 액세스하도록 구성된 하나 이상의 대체적인 응용 프로그램을 열거하고, 상기 하나 이상의 대체적인 응용 프로그램은 리치 인터넷 응용 프로그램(Rich Internet Applications: RIA)임 -,
    상기 응답 콘텐츠가 상기 응용 프로그램 매니페스트에 대한 링크를 포함한다는 판정에 응답하여, 상기 웹 사이트가 상기 대체적인 응용 프로그램을 포함한다는 것을 표시하고,
    사용자가 상기 응용 프로그램 매니페스트에 열거된 상기 대체적인 응용 프로그램을 유지하고자 함을 나타내는 사용자 표시를 수신하고,
    상기 사용자 표시에 응답하여 상기 대체적인 응용 프로그램과 연관된 구성요소들을 컴퓨터 시스템에 다운로드하고,
    후속 사용을 위해 상기 대체적인 응용 프로그램을 유지하기 위해 상기 다운로드된 구성요소들을 상기 컴퓨터 시스템에 캐싱하고,
    상기 대체적인 응용 프로그램이 상기 컴퓨터 시스템에서 대체적인 응용 프로그램 센터를 통해 이용가능하다는 것을 표시- 상기 대체적인 응용 프로그램 센터는 다른 웹 사이트에 대한 대체적인 응용 프로그램에 액세스하기 위한 공통 위치를 제공함 -하도록 구성되고,
    상기 대체적인 응용 프로그램 센터는,
    상기 대체적인 응용 프로그램 센터를 열기 위한 사용자 입력을 수신하고,
    상기 사용자에게 이용가능한 대체적인 응용 프로그램들을 제시하고,
    상기 제시된 이용가능한 대체적인 응용 프로그램들 중 하나에 대한 사용자 선택을 수신하고,
    사용하기 위한 상기 대체적인 응용 프로그램을 활성화시키기 위해 상기 대체적인 응용 프로그램에 대한 캐싱된 구성요소들에 액세스하고,
    콘텐츠에 대한 요청 - 상기 요청은 콘텐츠의 일부에 대한 요청임 - 을 상기 웹 사이트로 전송하고,
    상기 요청에 응답하여 상기 웹 사이트로부터 콘텐츠를 수신하며,
    상기 수신된 콘텐츠를 상기 대체적인 응용 프로그램에서 제시하도록 구성되고,
    상기 웹 서버 컴퓨팅 시스템은,
    하나 이상의 프로세서,
    시스템 메모리, 및
    웹 서버를 나타내는 컴퓨터 실행가능 명령어를 저장하는 하나 이상의 컴퓨터 저장 매체를 포함하고,
    상기 웹 서버는,
    상기 웹 사이트에 대한 콘텐츠의 제시를 관리하고,
    웹 브라우저 및 대체적인 응용 프로그램으로부터 상기 웹 사이트로 보내지는 콘텐츠에 대한 요청에 응답하고,
    웹 브라우저 요청에 응답하여 반환되는 메시지에 대체적인 응용 프로그램에 대한 응용 프로그램 매니페스트에 대한 링크를 포함시키고,
    웹 브라우저 컴퓨터 시스템에서 대체적인 응용 프로그램을 활성화시키기 위한 캐싱가능 구성요소들을 제공하며,
    웹 브라우저 컴퓨터 시스템과의 통신이 검출되면 웹 브라우저 컴퓨터 시스템에서 대체적인 응용 프로그램을 활성화시키기 위한 캐싱된 구성요소들을 업데이트하도록 구성되는
    분산 컴퓨팅 시스템.
  18. 제17항에 있어서,
    상기 분산 컴퓨팅 시스템은 인터넷이고, 웹 브라우저 컴퓨터 시스템 및 웹 서버 컴퓨터 시스템은 HTML 콘텐츠를 포함하는 HTTP 메시지를 사용하여 통신하는
    분산 컴퓨팅 시스템.
KR1020117004220A 2008-08-28 2009-08-18 웹 사이트에 대한 대체적인 사용자 경험 검색 KR101700458B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/200,167 2008-08-28
US12/200,167 US8065617B2 (en) 2008-08-28 2008-08-28 Discovering alternative user experiences for websites
PCT/US2009/054226 WO2010025059A2 (en) 2008-08-28 2009-08-18 Discovering alternative user experiences for websites

Publications (2)

Publication Number Publication Date
KR20110063633A KR20110063633A (ko) 2011-06-13
KR101700458B1 true KR101700458B1 (ko) 2017-01-26

Family

ID=41722226

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117004220A KR101700458B1 (ko) 2008-08-28 2009-08-18 웹 사이트에 대한 대체적인 사용자 경험 검색

Country Status (6)

Country Link
US (2) US8065617B2 (ko)
EP (1) EP2319000A4 (ko)
JP (1) JP5384646B2 (ko)
KR (1) KR101700458B1 (ko)
CN (1) CN102132316B (ko)
WO (1) WO2010025059A2 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI474275B (zh) * 2009-06-23 2015-02-21 Univ Yuan Ze 一種即時互動的12-導程心電圖波形量測暨文件編輯資訊系統
US8769391B2 (en) 2009-08-24 2014-07-01 Adobe Systems Incorporated Application broker
KR101800744B1 (ko) * 2011-03-07 2017-11-24 삼성전자주식회사 어플리케이션과 브라우저 연동 방법 및 그 장치
US9329851B2 (en) * 2011-09-09 2016-05-03 Microsoft Technology Licensing, Llc Browser-based discovery and application switching
US9823917B2 (en) * 2011-10-20 2017-11-21 Facebook, Inc. Update application user interfaces on client devices
CN110677330A (zh) * 2011-12-21 2020-01-10 英特尔公司 用于促进计算设备和非计算设备的基于代理用户界面的远程管理和控制的机制
US9075877B2 (en) * 2012-06-29 2015-07-07 Citrix Systems Inc. System and method for transparent in-network adaptation of rich internet applications
CN103546513B (zh) * 2012-07-13 2016-12-21 阿里巴巴集团控股有限公司 一种客户端页面间通信的方法及装置
US9450824B2 (en) 2014-02-04 2016-09-20 Wipro Limited Systems and methods for smart request processing
CN103902184A (zh) * 2014-04-08 2014-07-02 联想(北京)有限公司 电子设备的控制方法、控制装置及电子设备
KR101684278B1 (ko) * 2015-10-30 2016-12-08 주식회사 컨시어지소프트 응용프로그램 제어 장치를 이용한 응용프로그램 제어 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050257128A1 (en) * 1999-12-09 2005-11-17 Simple.Com. WWW browser configured to provide a windowed content manifestation environment
US20080104195A1 (en) * 2006-10-30 2008-05-01 Microsoft Corporation Offline execution of web based applications

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6266681B1 (en) * 1997-04-08 2001-07-24 Network Commerce Inc. Method and system for inserting code to conditionally incorporate a user interface component in an HTML document
US7143358B1 (en) 1998-12-23 2006-11-28 Yuen Henry C Virtual world internet web site using common and user-specific metrics
US6734886B1 (en) 1999-12-21 2004-05-11 Personalpath Systems, Inc. Method of customizing a browsing experience on a world-wide-web site
AU1612801A (en) 1999-12-30 2001-07-16 General Electric Company Web site consumer attention capturing system and method
US7313588B1 (en) 2000-07-13 2007-12-25 Biap Systems, Inc. Locally executing software agent for retrieving remote content and method for creation and use of the agent
JP2002189600A (ja) * 2000-12-21 2002-07-05 Intec Inc Webブラウザからのアプリケーション実行方法
JP2002218107A (ja) * 2001-01-15 2002-08-02 Yamaha Corp 通信端末装置及びその制御方法、サーバ装置及びその制御方法、並びに記憶媒体
US20020109713A1 (en) 2001-02-14 2002-08-15 Daniel Carchidi Intelligent internet site method and system
US7099870B2 (en) 2001-11-09 2006-08-29 Academia Sinica Personalized web page
JP2003303152A (ja) * 2002-02-08 2003-10-24 Matsushita Electric Ind Co Ltd コンテンツ送信システム
CN1209723C (zh) * 2002-04-28 2005-07-06 上海友讯网络资讯有限公司 可自由组合的虚拟形象虚拟场景的形成方法
US20040237082A1 (en) * 2003-05-22 2004-11-25 Alcazar Mark A. System, method, and API for progressively installing software application
US7873668B2 (en) 2003-08-15 2011-01-18 Laszlo Systems, Inc. Application data binding
US7865511B2 (en) * 2004-06-25 2011-01-04 Apple Inc. News feed browser
WO2006047218A2 (en) 2004-10-21 2006-05-04 Createthe, Llc System and method for managing creative assets via user interface
KR100755697B1 (ko) * 2005-11-09 2007-09-05 삼성전자주식회사 소프트웨어 설치 방법, 장치, 및 시스템
US8280843B2 (en) 2006-03-03 2012-10-02 Microsoft Corporation RSS data-processing object
US8150840B2 (en) 2006-04-19 2012-04-03 Hewlett-Packard Development Company, L.P. Dynamic RSS services
US7650390B2 (en) * 2006-06-01 2010-01-19 Roam Data Inc System and method for playing rich internet applications in remote computing devices
US8160232B2 (en) * 2006-08-31 2012-04-17 Kana Software, Inc. Dynamic message context driven application assembly for customer service agent productivity applications
KR101425029B1 (ko) * 2007-06-29 2014-07-31 삼성전자주식회사 Ria를 이용하여 파일정보를 송수신하는 화상형성장치 및그 정보처리방법
US20100005403A1 (en) * 2008-07-02 2010-01-07 Rozmaryn Gadiel Z Monitoring viewable times of webpage elements on single webpages

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050257128A1 (en) * 1999-12-09 2005-11-17 Simple.Com. WWW browser configured to provide a windowed content manifestation environment
US20080104195A1 (en) * 2006-10-30 2008-05-01 Microsoft Corporation Offline execution of web based applications

Also Published As

Publication number Publication date
US20120060079A1 (en) 2012-03-08
US8065617B2 (en) 2011-11-22
CN102132316A (zh) 2011-07-20
WO2010025059A2 (en) 2010-03-04
CN102132316B (zh) 2013-06-05
KR20110063633A (ko) 2011-06-13
WO2010025059A3 (en) 2010-05-20
JP2012501498A (ja) 2012-01-19
JP5384646B2 (ja) 2014-01-08
EP2319000A4 (en) 2012-01-18
EP2319000A2 (en) 2011-05-11
US20100058191A1 (en) 2010-03-04

Similar Documents

Publication Publication Date Title
KR101700458B1 (ko) 웹 사이트에 대한 대체적인 사용자 경험 검색
US20200396186A1 (en) Thumbnail image previews
US7865544B2 (en) Method and system for providing XML-based asynchronous and interactive feeds for web applications
US7496847B2 (en) Displaying a computer resource through a preferred browser
JP5439190B2 (ja) It向けサーバベースのウェブアプリケーションを作成するための方法およびシステム
US7805670B2 (en) Partial rendering of web pages
US6101510A (en) Web browser control for incorporating web browser functionality into application programs
US8001551B2 (en) Providing localized resources for client-side script execution
US7698256B1 (en) History support for stateless Javascript Web client
US20030065810A1 (en) Selective edge processing of dynamically generated content
EP2264618A1 (en) Virtual machine web browser
US8621092B2 (en) Remote portlet consumer with enhanced resource URL processing
JP2001504613A (ja) データナビゲータインタフェース
JP2003015793A (ja) ネットワーク上の監視対象の情報を監視画面上にダイナミックに変化させて表示する方法、ネットワーク上の監視対象の情報を監視画面上にダイナミックに変化させて表示するシステム、およびこのシステムを実現するためのユーザインタフェースプレイヤープログラム
US20100229081A1 (en) Method for Providing a Navigation Element in an Application
US20120054327A1 (en) Site redirection
US20080172396A1 (en) Retrieving Dated Content From A Website
JP2009509216A (ja) 拡張可能なリモートタグマークアップシステムおよび方法
US20080275963A1 (en) Dynamically Modifying A Universal Resource Indicator
US20020047863A1 (en) Method and system for creating software applications in a visual development environment
US20060075069A1 (en) Method and system to provide message communication between different application clients running on a desktop
CN112905920A (zh) 一种页面显示的方法和装置
CA2279145A1 (en) Hypertext link preview
US20030120768A1 (en) Method for obtaining status of web-based imaging originated processes
US20030046334A1 (en) Client resident service that launches a browser to provide device status

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191217

Year of fee payment: 4