KR101120301B1 - 지속 저장 포탈 - Google Patents

지속 저장 포탈 Download PDF

Info

Publication number
KR101120301B1
KR101120301B1 KR1020097005792A KR20097005792A KR101120301B1 KR 101120301 B1 KR101120301 B1 KR 101120301B1 KR 1020097005792 A KR1020097005792 A KR 1020097005792A KR 20097005792 A KR20097005792 A KR 20097005792A KR 101120301 B1 KR101120301 B1 KR 101120301B1
Authority
KR
South Korea
Prior art keywords
user
entities
widget
information
delete delete
Prior art date
Application number
KR1020097005792A
Other languages
English (en)
Other versions
KR20090055584A (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 KR20090055584A publication Critical patent/KR20090055584A/ko
Application granted granted Critical
Publication of KR101120301B1 publication Critical patent/KR101120301B1/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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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
    • 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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

인터넷 상에서 정보를 수집하기 위한 방법 및 컴퓨터 프로그램 제품이 개시된다. 본 방법은 복수의 수집 가능 개체를 형성하기 위해 웹페이지의 콘텐츠를 파싱하는 단계, 상기 복수의 수집 가능 개체로부터 하나 이상의 개체를 선택하는 단계, 상기 하나 이상의 개체를 하나 이상의 저장 포탈에 저장하는 단계, 사용자 지정 데이터에 따라 상기 하나 이상의 개체에 주석을 첨부하는 단계, 및 상기 하나 이상의 저장 포탈의 암시적 데이터에 따라 상기 하나 이상의 개체에 주석을 첨부하는 단계를 포함한다. 본 방법은 사용자 지정 데이터를 이용하여, 수동 개입 없이 자동으로 상기 하나 이상의 개체에 주석을 첨부하는 단계, 및 상기 하나 이상의 저장 포탈의 암시적 데이터를 이용하여, 수동 개입 없이 자동으로 상기 하나 이상의 개체에 주석을 첨부하는 단계를 더 포함한다.
인터넷, 지속 저장 포탈, 콘텐츠, 암시적 데이터, 개체, 주석

Description

지속 저장 포탈{PERSISTENT SAVING PORTAL}
본 발명은 인터넷 응용 분야에 관한 것이다. 구체적으로, 본 발명은 인터넷 상에서 정보를 수집하기 위한 방법 및 시스템에 관한 것이다.
일반적으로, 사용자가 웹으로부터 소정의 정보를 저장하기를 원하는 경우, 사용자는 웹사이트로 가서, 웹페이지들을 클릭한 후, 페이지 상의 정보를 저장하기 위해 페이지를 북마킹해야 한다. 본질적으로, 사용자는 웹사이트에 대한 액세스를 저장하여 왔다. 그러나 이러한 접근법과 관련된 적어도 두 가지 문제가 존재하는데, 이는 인터넷이 매우 일시적인 진화하는 환경이기 때문이다. 첫째, 사용자가 정보를 다시 필요로 할 때, 웹사이트는 더 이상 존재하지 않을 수 있다. 둘째, 웹사이트가 계속 존재하는 경우에도, 웹사이트의 콘텐츠가 변경되어, 사용자가 관심을 갖는 정보가 더 이상 존재하지 않을 수 있다.
웹으로부터 소정의 정보를 저장하기 위한 다른 하나의 접근법은 마이크로소프트 워드와 같은 클립보드 형태의 애플리케이션을 여는 것인데, 이어서 사용자는 관심 있는 특정 정보를 선택하고 복사하여, 워드 문서에 첨부할 수 있다. 이러한 접근법의 하나의 단점은 관심 있는 정보가 복사될 때 그 정보와 관련된 다른 정보가 워드 문서로 이동되지 못한다는 점이다. 사용자는 검색된 정보와 관련된 인용 문, URL, 저자 또는 다른 컨텍스트(context) 정보를 수동으로 입력해야 하며, 이는 시간 소모적이고 지루한 작업이다.
또 하나의 접근법은 야후사에 의해 제공되는 마이 웹과 같은 애플리케이션을 이용하는 것인데, 이 애플리케이션은 사용자가 관심 있는 정보를 포함하는 웹페이지의 사본을 저장하는 것을 가능하게 한다. 그러나, 이 접근법은 사용자가 관심을 갖는 정보와 사용자가 관심을 갖지 않는 정보를 모두 저장한다. 사용자는 페이지의 특정 부분 또는 페이지 상의 특정 이미지에만 관심을 가질 수 있다. 이 접근법의 또 하나의 단점은 사용자가 페이지를 저장한 경우에 사용자가 검색된 정보와 관련된 인용문, URL, 저자 및 다른 컨텍스트 정보를 수동으로 입력하지 않으면 그 정보를 잃을 수 있다는 것이다.
위의 사례들에서, 하나의 단점은 사용자가 포스트 하비스트 액션(post-harvest action)으로서 취득 정보에 대한 메타데이터를 추가하는 것이 필요하다는 것이다. 사용자가 정보를 수집하고 실시간으로 정보에 메타데이터를 주석으로서 첨부하는 것을 가능하게 하는 메커니즘은 존재하지 않는다. 또한, 정보를 구조화된 방식으로 저장하는 메커니즘은 존재하지 않는다. 결과적으로, 사용자는 정보를 수집한 후에 정보를 유용한 포맷들로 체계화 및 구조화해야 한다. 따라서, 현재 기술의 이러한 문제들을 해결하는 것이 필요하다. 구체적으로, 인터넷 상에서 정보를 수집하기 위한 지속 저장 포탈이 필요하다.
<발명의 요약>
일 실시예에서, 인터넷 상에서 정보를 수집하기 위한 방법은 복수의 수집 가 능 개체를 형성하기 위해 웹페이지의 콘텐츠를 파싱하는 단계, 상기 복수의 수집 가능 개체로부터 하나 이상의 개체를 선택하는 단계, 상기 하나 이상의 개체를 하나 이상의 저장 포탈에 저장하는 단계, 사용자 지정 데이터에 따라 상기 하나 이상의 개체에 주석을 첨부하는 단계, 및 상기 하나 이상의 저장 포탈의 암시적 데이터에 따라 상기 하나 이상의 개체에 주석을 첨부하는 단계를 포함한다. 본 방법은 사용자 지정 데이터를 이용하여, 수동 개입 없이 자동으로 상기 하나 이상의 개체에 주석을 첨부하는 단계, 및 상기 하나 이상의 저장 포탈의 암시적 데이터를 이용하여, 수동 개입 없이 자동으로 상기 하나 이상의 개체에 주석을 첨부하는 단계를 더 포함한다.
본 발명의 상기 특징들 및 이익들은 물론, 그의 추가적인 특징들 및 이익들은 아래의 도면들과 관련하여 본 발명의 실시예들의 상세한 설명을 읽은 후에 더 명확히 이해할 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른, 웹사이트 상에서 맵 애플리케이션들을 실행하기 위한 시스템을 나타내는 도면이다.
도 2a, 2b 및 2c는 본 발명의 일 실시예에 따른 정보 수집 방법을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른, 수집 정보에 주석을 첨부하는 방법을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른, 도 2의 각각의 지속 저장 포탈에서 수 집된 개체들의 예들을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른, 전술한 애플리케이션들을 실행하는 이동 장치를 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 지속 저장 포탈들의 다른 세트를 나타내는 도면이다.
도면들 전반에서 동일한 번호들이 사용된다.
인터넷 상에서 정보를 수집하기 위한 방법들 및 시스템들이 제공된다. 아래의 설명은 이 분야의 임의의 기술자가 본 발명을 실시하고 이용할 수 있도록 하기 위해 제공된다. 특정 실시예들 및 응용들에 대한 설명은 단지 예로서 제공된다. 여기에 설명되는 예들에 대한 다양한 변경 및 조합이 이 분야의 기술자들에게 자명할 것이며, 여기에 설명되는 일반 원리들은 본 발명의 사상 및 범위를 벗어나지 않고 다른 예들 및 응용들에 적용될 수 있다. 따라서, 본 발명은 설명되고 도시된 예들로 한정되는 것을 의도하지 않으며, 여기에 설명되는 원리들 및 특징들과 일관되는 가장 넓은 범위가 주어져야 한다.
아래의 상세한 설명의 소정 부분들은 컴퓨터 시스템에서 수행될 수 있는 정보에 대한 조작들의 흐름도, 논리 블록 및 다른 심벌 표현을 통해 제공된다. 여기서, 절차, 컴퓨터 실행 단계, 논리 블록, 프로세스 등은 원하는 결과에 이르게 하는 하나 이상의 단계 또는 명령어의 일관된 시퀀스인 것으로 생각된다. 단계들은 물리적 양들의 물리적 조작들을 이용하는 것들이다. 이러한 양들은 컴퓨터 시스템에서 저장, 전달, 결합, 비교, 아니면 조작될 수 있는 전기, 자기 또는 무선 신호들의 형태를 가질 수 있다. 이러한 신호들은 때때로 비트, 값, 요소, 심벌, 문자, 용어, 숫자 등으로서 참조될 수 있다. 각각의 단계는 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합에 의해 수행될 수 있다.
도 1은 본 발명의 일 실시예에 따른, 웹사이트 상에서 맵 애플리케이션들을 실행하기 위한 시스템을 나타낸다. 시스템은 하나 이상의 인터넷 콘텐츠 제공자 서버(102), 데이터베이스(105) 및 하나 이상의 클라이언트(104)를 포함한다. 서버들(102)은 통신 네트워크(103)를 통해 클라이언트들(104)과 인터페이스한다. 인터넷 콘텐츠 제공자 서버들(102)은 콘텐츠를 네트워크(103)를 통해 클라이언트들(104)에게 제공할 수 있는 호스트 서버들이다. 서버들 중 하나 이상은 웹사이트들을 호스트하며, 맵 기능들을 포함한다. 데이터베이스들(105)은 서버들(102) 및/또는 클라이언트들(104)에 의해 제공되는 데이터를 저장할 수 있다. 데이터베이스들은 네트워크(103)를 통해 서버들(102) 또는 클라이언트들(104)과 통신할 수 있다. 데이터베이스들은 맵들 및 사용자 정보와 같은, 웹페이지들에 포함된 데이터 항목들을 저장할 수 있다.
대안으로, 서버들(102)은 데이터베이스들, 프로세서들, 스위치들, 라우터들, 인터페이스들 및 다른 컴포넌트들 및 모듈들을 포함할 수 있다. 서버들(102)의 각각은 연산 및/또는 분산 컴퓨팅 요건에 따라 하나 이상의 서버를 포함하거나, 도시된 것보다 적은 수의 서버들에 결합될 수 있다. 서버들(102)은 서로에 대해 상이한 위치들에 위치할 수 있다. 또한, 데이터베이스들은 서버들(102)에 개별적으로 접속될 수 있다. 연산 및/또는 분산 컴퓨팅 요건에 따라, 둘보다 많거나 적은 데이터베이스들이 존재할 수 있다. 데이터베이스들은 서로 및 서버들(102)에 대해 상이한 위치들에 위치할 수 있다.
클라이언트들(104)의 각각은 중앙 처리 장치(CPU), 메모리, 입력 장치, 출력 장치 및 디스플레이를 구비하는, 퍼스널 컴퓨터와 같은 범용 컴퓨터일 수 있다. 인터넷 설비, 핸드헬드 장치, 무선 장치, 휴대형 장치, 착용식 컴퓨터, 셀룰러 또는 모바일 폰, 휴대형 개인 단말기(PDA), 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능한 가전제품, 셋톱 박스, 네트워크 PC, 미니 컴퓨터 등을 포함하는 다른 컴퓨터 시스템 구성들도 클라이언트들(104)로서 구현될 수 있다. 클라이언트들(104)의 각각은 또한 아날로그 및 디지털 기저대역 회로, 전력 관리 회로, 무선 주파수(RF) 트랜시버, 및 배터리 인터페이스 및 충전 회로를 구현할 수 있다. 클라이언트들(104)은 하나 이상의 애플리케이션, 프로그램 모듈 및/또는 서브루틴을 포함할 수 있다. 일례로, 클라이언트들(104)은 서버들(102)에 의해 제공되는 웹사이트들 및 웹페이지들, 및 데이터베이스들(105)에 저장된 데이터에 액세스하기 위한 브라우저 애플리케이션(예를 들어, 인터넷 익스플로러 등) 및 그래픽 사용자 인터페이스(GUI)를 포함할 수 있다. 클라이언트들(104)은 서로로부터, 서버들(102)로부터 그리고/또는 데이터베이스들(105)로부터 원격적일 수 있다.
네트워크(103)는 근거리 네트워크(LAN), 원거리 네트워크(WAN) 또는 인터넷과 같은 통신 네트워크이다. 네트워크(103)가 공개 네트워크인 경우, 시스템 내의 허가된 액세스를 보장하기 위해 보안 특징들(예를 들어, VPN/SSL 보안 전송)이 포함될 수 있다.
서버들(102)은 복수의 개별 도메인, 예를 들어 쇼핑 도메인(106), 뉴스 도메인(108), 마이 웹 도메인(110), 맵 도메인(112) 등을 더 포함한다. 도메인은 쇼핑 애플리케이션, 뉴스 애플리케이션 및 맵 애플리케이션과 같은 특정 애플리케이션을 위해 상이한 하드웨어 및 소프트웨어로 구현되는 컴퓨터 시스템이다. 본 발명의 지속 저장 포탈 애플리케이션들은 마이 웹 도메인(110) 상에서 실행되며, 이는 HTML, CSS, 자바스크립트, 위젯 엔진 및 "비동기 자바스크립트 및 XML"(AJAX)의 조합을 이용하여 웹 2.0 기능들을 구현한다.
도 2a, 2b 및 2c는 본 발명의 일 실시예에 따른 정보 수집 방법을 나타낸다. 도 2a에 도시된 바와 같이, 한 세트의 지속 저장 포탈들(202)이 웹페이지(204)와 함께 사용자의 컴퓨팅 장치 상에 표시된다. 지속 저장 포탈들(202)의 세트는 사용자에 의해 선택되는 정보를 저장하고 체계화하기 위한 하나 이상의 지속 저장 포탈을 포함할 수 있다. 본 명세서에서, 지속 저장 포탈은 간단히 포탈로도 참조된다. 또한, 지속 저장 포탈 내에 저장된 정보는 하나 이상의 개체로도 참조될 수 있다. 이 예에서, 각각의 지속 저장 포탈은 원으로 표시된다. 지속 저장 포탈들(202)의 세트의 확대도에서, 3개의 원은 각각 "프로젝트 1(Project 1)"(206), "프로젝트 2(Project 2)"(208) 및 "프로젝트 3(Project 3)"(210)으로 라벨이 부여되어 있다. 사용자는 "저장 포탈 추가(Add a Saving Portal)" 버튼(211)을 이용하여 새로운 저장 포탈을 추가할 수 있다. 사용자는 또한 각각의 포탈 내에 저장된 개체들의 내용들을 지시하기 위해 라벨들을 변경할 수 있다. 예를 들어, 지속 저장 포탈들(202)의 세트를 나타내는 3개의 원은 도 2b에서 각각 "나의 작업 공간(My Workspace)"(206), "크리스마스 아이디어들(Xmas Ideas)"(208) 및 "프랑스 여행(Trip to France)"(210)으로 라벨이 부여된다. 이 예에서, 포탈들은 프로젝트들이며, 이들은 개인적 소비를 위해 사용될 집합들을 포함한다. 다른 실시예에서, 이러한 포탈들 중 하나 이상은 그룹 메일링 리스트 또는 그룹 웹사이트와 같은 목적지들일 수 있다. 예를 들어, 사용자가 특정 그룹에 대해 지정된 저장 포탈 상에 맵을 드롭할 때, 맵은 이 저장 포탈을 그 그룹의 개체들의 집합으로 전달할 수 있다.
도 2b에서, 사용자가 웹페이지(204)를 브라우징할 때, 사용자는 웹페이지 상에 맵(212)을 저장하는 것에 관심을 가질 수 있다. 그렇게 하기 위해, 사용자는 간단히 맵을 지속 저장 포탈들(202)의 세트 내의 관련 포탈로 드래그 앤 드롭할 수 있다. 이 예에서, 맵은 "프랑스 여행"과 관련되며, 포탈(210) 내에 저장된다. 항목 214는 맵(212)이 "프랑스 여행"이라는 라벨을 가진 포탈로 드래그되는 것을 나타낸다. 사진, 텍스트, 그래픽, 비디오, 사운드, URL 등을 포함하지만, 이에 한정되지 않는 웹페이지 상의 임의 단위 또는 타입의 정보가 저장될 수 있음에 유의한다. 또한, 본 발명에 따라 수집되고 주석이 첨부되는 개체들은 웹사이트 상의 개체들로 한정되지 않으며, 사용자는 그의 셀룰러 폰으로 촬영한 차의 사진 또는 사용자가 스캐닝한 제품의 바코드와 같은 자체 생성 정보를 수집하고 주석을 첨부할 수 있다는 점에 유의한다. 이러한 개체들은 사용자가 관심을 갖는 정보를 더 얻는 데 사용될 수 있다.
사용자는 수집된 개체들에 라벨을 부여하기 위해 한 세트의 속성들을 정의할 수 있다. 이러한 속성들은 개체들의 수집시에 정의되며, 그 후에 아무 때나 편집 또는 수정될 수 있다. 속성들의 세트는 사용자가 특정 포탈에 저장된 개체들에 자동으로 주석을 첨부하는 데 사용할 수 있는 키 워드들 및/또는 심벌들을 포함할 수 있다. 예를 들어, 항목 218은 사용자 지정 주석 용어들, 예를 들어 "프랑스 여행" 포탈에 저장된 개체들에 라벨을 부여하는 데 사용되는 "파리(Paris)", "허니문(Honeymoon)"을 나타낸다. 또한, 항목 220은 사용자의 이름 "카론(Karon)", 정보가 저장된 날짜 "12.26.05" 및 데이터 타입 "jpg"와 같은 다른 암시적 데이터를 나타낸다. 이들 데이터는 포탈에 드롭된 정보에 수동 개입 없이 자동으로 첨부된다. 일시, 위치, 파일 타입, 파일 크기, 액세스 허가 등을 포함하지만, 이에 한정되지 않는 다른 타입의 암시적 데이터가 첨부될 수 있다는 점에 유의한다. 각각의 개체의 사용자 정의 및 암시 용어들 양자는 개체의 메타데이터로서 간주된다.
개체가 수집 또는 고블링(gobbling)되고 있을 때 구조적 데이터를 구성하고 연관시키는 여러 방법이 존재한다는 점에 유의한다. 첫째, 개체와 연관된 URL을 분석하여, 나중에 백엔드 데이터베이스에 조회하는 데 사용될 수 있는 고유 개체 식별자를 검색한다. 예를 들어, 야후 로컬 내의 비즈니스는 그의 URL 내에 고유 ID를 가질 수 있다. URL이 (도메인 local.yahoo.com으로부터) 야후 로컬에 속하는 것으로 식별되는 경우, id=1234567과 같은 URL 내의 식별자를 이용하여, 비즈니스와 연관된 URL로부터 모두 유래되는 전화 번호, 작업 시간, 고객 또는 전문가 논평과 같은 그 비즈니스에 대한 더 많은 정보에 대해 야후 로컬 웹 서비스/데이터베이스에 문의할 수 있다.
둘째, 수집되고 있는 개체는 마이크로포맷들을 포함할 수 있다. 마이크로포맷들은 HTML (또는 XHTML) 웹페이지에서 의미론(semantics)의 표현을 허가하는 마크업들이다. 고블러(gobbler) 애플리케이션은 마이크로포맷들로 마크업되는 표준 웹페이지로부터 의미를 추출할 수 있다. 현존하는 XHTML (및 HTML) 표준들은 의미론이 그들 내에 내장되고 인코딩되는 것을 허가한다. 이것은 특정 HTML 속성들을 이용하여 행해진다. 표준 HTML 웹페이지에 마이크로포맷들을 추가하는 것은 머신들이 HTML 텍스트를 처리하고 아마도 데이터를 원격 데이터베이스들에 로딩하는 것을 가능하게 한다. 이것은 고블러 애플리케이션과 같은 프로그램들이 웹페이지들 상에서 콘택트 정보, 이벤트 및 논평과 같은 항목들을 찾는 것을 가능하게 할 것이다.
마지막으로, 라이브워드(http://desktop.yahoo.com) 또는 용어 추출(http://developer.yahoo.com)과 같은 정보 분석 기술들을 이용하여, 고블링된 개체 내의 텍스트를 분석하여 엔티티들을 추출할 수 있다. 라이브워드 특징은 사용자가 관심을 가질 수 있는 추가 정보를 위해 웹을 검색하는 간단한 방법을 사용자에게 제공한다. 엔티티들의 예는 어드레스, 비즈니스 및 회사를 포함하며, 이어서 이들은 (더 많은 비즈니스 또는 회사 정보를 검색하기 위해) 야후 로컬과 같은 데이터 소스들에 대한 다른 조회들에 또는 일반적인 웹 검색들에 이용될 수 있다.
그러한 구조화된 메타데이터는 다양한 방식(예를 들어 맵 상에 또는 캘린더 내에 고블링된 정보를 넣음)으로 이용될 수 있으며, 또한 사용자의 주석 또는 태그로부터 수집될 수 있다. 예를 들어, "팔로 알토(Palo Alto)"라는 텍스트 태그의 추가를 이용하여, 저장 포탈 내에 수집된 개체들에, 라이브워드에 의해 도시로서 식별되는 팔로 알토라는 도시의 지리 좌표들을 지리 태그로서 첨부할 수 있다.
고블러 애플리케이션은 사용자가 그가 수집한 개체들을 효율적으로 분류하고, 그러한 개체들에 주석으로 첨부되는 메타데이터를 이용하여 개체들에 효율적으로 액세스하는 것을 가능하게 한다. 메타데이터는 개체들이 수집된 후에 추가 또는 삭제될 수 있다. 예를 들어, 사용자가 새로운 용어를 프로젝트에 추가할 때, 프로젝트 내에 포함된 모든 개체는 그 용어를 갖도록 갱신될 수 있다. 다른 접근법에서, 사용자는 소정의 용어들을 소정의 개체들의 메타데이터에 선택적으로 추가하기로 결정할 수 있다. 이것은 지정된 특정 개체들에 용어들을 선택, 추가하기 위해 사용자 측에서 더 많은 단계를 필요로 할 것이다. 메타데이터는 개체 및 집합 검색을 위해 브라우징을 지원하고 시스템에 조회하기 위해 사용자의 환경에서 태그 구름(tag cloud)으로서 또는 다른 시각적 방법들로 구현될 수 있다. 사용자의 개체들의 집합이 증가함에 따라, 개체 및 집합 검색에 대한 필요도 증가한다. 또한, 사용자의 집합이 공개 저장소 내에 공개되는 경우, 메타데이터는 유사한 프로젝트들 또는 집합들의 클러스터링을 가능하게 하며, 다수의 소스로부터의 검색을 지원한다.
도 2c에는, 지속 저장 포탈 "프렌치 클래스(French Class)"(216)가 프렌치 클래스 101 그룹과 관련된 정보를 수집하는 것으로 도시되어 있다. 사용자는 사용자가 속하는 각각의 그룹에 대해 다수의 저장 포탈을 생성할 수 있다. 이 예에서, 항목 219는 사용자 지정 주석 용어들, 예를 들어 "프렌치 클래스(French Class)" 포탈에 저장된 개체들에 라벨을 부여하는 데 사용되는 "참조(Reference)", "파리 여행(Paris Trip)" 및 "여행 가이드(Trip Guide)"를 나타낸다. 또한, 항목 221은 사용자의 이름 "카론(Karon)" 및 데이터 타입 "jpg"와 같은 다른 암시적 데이터를 나타낸다. 이들 데이터는 포탈에 드롭되는 파리(212)라는 맵에 수동 개입 없이 자동으로 첨부된다. 개체가 저장 포탈에 수집된 후, 개체는 사용자가 가입한 목적지로, RSS(Really Simple Syndication) 피드를 통해, 또는 인터넷을 통해 정보를 전송하는 다른 수단들을 통해 방송 또는 배포될 수 있다. RSS 파일 포맷은 XML에서 지정되고 웹 신디케이션에 사용되는 웹 피드 포맷들의 패밀리이다. RSS는 그의 정보를 "RSS 피드", "웹피드", "RSS 스트림" 또는 "RSS 채널"이라고 하는 XML 파일로서 전송한다. 이러한 RSS 피드들은 사용자들에게 새로 릴리스된 콘텐츠(텍스트, 웹페이지, 사운드 파일 또는 다른 매체 등)를 수동적으로 수신하는 방법을 제공하며, 이것은 풀 콘텐츠이거나, 아마도 요약 또는 다른 메타데이터를 갖는, 단지 풀 콘텐츠에 대한 링크일 수 있다.
일반적인 이용 시나리오에서, 콘텐츠 제공자는 최종 사용자들이 그들의 머신 상에서 실행되는 수집기 프로그램에 추가할 수 있는 그들의 사이트 상의 피드 링크를 공개한다. 주기적으로(대부분의 수집기는 이를 사용자가 설정할 수 있게 하지만, 일반적으로는 5-10분마다), 수집기는 그의 피드 리스트 내의 모든 서버에게 이들이 새로운 콘텐츠를 갖고 있는지를 묻는다. 그러한 경우, 수집기는 새로운 콘텐츠에 대한 노트를 작성하거나 이를 다운로드한다. 이 예에서는, 파리의 맵이 프렌치 클래스 101 그룹의 홈페이지(222)로 라우팅된다. 프렌치 클래스 101 그룹의 홈페이지 상에는, 저장된 개체들 및 그룹 멤버들에 의해 생성된 프로젝트들이 표시된다. 예를 들어, 사용자가 방금 수집한 파리의 맵이 다른 개체들과 함께 항목 224로서 포스팅된다.
도 3은 본 발명의 일 실시예에 따른 수집 정보에 주석을 첨부하는 방법을 나타낸다. 도 3에서, 사용자 인터페이스 윈도우(302)는 포탈 "프랑스 여행"의 사용자 지정 주석 용어들 "파리, 허니문, 12.26.05"를 표시한다. 사용자 지정 주석 용어들은 저장 포탈이 생성될 때 사용자에 의해 편집 필드에 입력된다. 이러한 사용자 지정 주석 용어들은 나중에 편집 동작을 이용하여 수정될 수 있다는 점에 유의한다. 텍스트 외에도, 임의의 매체 자산이 주석으로서 개체에 첨부될 수 있다. 이 예에서는, 사용자 정의 아이콘인 에펠탑(304)의 섬네일이 "프랑스 여행" 포탈에 저장된 개체들을 라벨링하는 데 사용된다. 또한, 도 3에 도시된 바와 같이, 사용자 인터페이스 윈도우는 디스플레이 토글(303)을 포함한다. 디스플레이 토글(303)이 아래로 향해 있을 때, 포탈에 저장된 개체들의 대표적인 뷰(view)들 및 자동 생성 주석들이 표시된다. 도 3에 도시된 바와 같이, 숫자들 305, 306, 307, 308 및 309는 수집된 5개의 개체를 지시한다. 지속 저장 포탈들 내에 수집된 개체들은 사용자 정의 주석들 및 암시적 주석들 양자를 취득한다. 일 구현에서, 각각의 개체는 그에게 고유 식별자가 할당된다는 점에서 고유하다. 에펠탑(304)의 섬네일은 각각의 개체에 첨부된다. 사용자 정의 아이콘은 포탈에 수집된 개체들의 보다 나은 체계화 및 주석 첨부를 가능하게 한다. 다른 실시예에서는, 사람의 사진이 그 사람으로부터 수신/수집된 정보를 라벨링하기 위한 사용자 정의 아이콘으로서 사용될 수 있다. 이러한 비 텍스트 메타데이터에 대한 지원은 개체들의 컴퓨터 비전과 같은 특성들을 이용한 개체들의 조회 및 검색을 가능하게 한다는 점에 유의한다. 예를 들어, 이미지의 칼라 특성들을 검색하거나 그래픽 개체들의 형상들을 검색하는 능력은 단순히 텍스트 용어들이 주석으로 첨부된 개체들을 검색하는 것이 아니라 상이한 세트의 개체들을 검색할 수 있게 한다.
본 발명의 일 특징은, 포탈들이 최초 셋업될 때, 사용자 지정 용어들로도 알려진, 사용자에 의해 정의된 용어들에 기초하여, 포탈에 수집된 개체들에 초기 셋업 후 수동 개입 없이 자동으로 주석 데이터가 첨부된다는 점이다. 사용자의 이름과 같은 다른 암시적 용어들이 컴퓨팅 장치의 소유자 또는 로그인으로부터 결정된다. 파일 타입은 데이터의 소스로부터 결정되거나, 데이터의 URL에 의해 제공된다. 또한, 컴퓨팅 장치는 날짜, 일시, 액세스 허가 등과 같은 다른 타입의 암시적 데이터를 제공할 수 있다. 개체들의 메타데이터로도 알려진 사용자 지정 및 암시적 주석 데이터는 사용자가 이용할 수 있게 되며, 개체가 한 사람으로부터 다른 사람에게 전달될 때 수집 개체들에 첨부될 수 있다.
일 실시예에서, 개체가 한 사람으로부터 다른 사람에게 전달될 때, 본 방법은 개체에 이미 첨부된 기존 메타데이터에 새로운 메타데이터를 축적한다. 따라서, 본 방법은 각각의 개체에 한 세트의 고유 메타데이터를 할당한다. 이러한 방식으로, 메타데이터는 인용문 및 저작권 요건은 물론, 컨텍스트의 전달을 지원한다. 사용자는 메타데이터를 이용하여, 개체가 수집된 오리지널 웹사이트를 찾을 수 있으며, 필요한 경우에는 그 웹사이트로부터 다른 정보를 검색할 수 있다. 정보를 수집하고 주석을 첨부하는 이러한 방법은 사용자에 의한 파생 작업들의 생성을 지원한다. 이것은 본 방법이 수집된 각각의 개체에 메타데이터를 추가하는 것을 지원할 뿐만 아니라, 메타데이터의 이력, 출처, 컨텍스트 및 위치를 유지하기 때문이다.
도 4는 본 발명의 일 실시예에 따른, 도 2의 각각의 지속 저장 포탈에 수집된 개체들의 예들을 나타낸다. 도 4에 도시된 바와 같이, "크리스마스 아이디어" 및 "프랑스 여행" 포탈들 양자가 열린다. "프랑스 여행" 포탈 내의 개체들은 도 3에 도시된 것들과 유사하다. "크리스마스 아이디어" 포탈에 대해, 개체들에는 사용자 지정 용어들 "2005, 크리스마스, 가족 및 친구들"(402)이 주석으로 첨부된다. "크리스마스 아이디어" 포탈은 3개의 선물 아이디어, 즉 클레어를 위한 인형(404), 마이크를 위한 돛단배(406) 및 안나를 위한 텐트(407)를 포함한다. 사용자 지정 용어들 "2005, 크리스마스, 가족 및 친구들" 및 암시적 용어들 "카론" 및 "jpg"는 자동으로 생성되어 선물 아이디어들의 각각에 첨부된다. 안나와 같은, 선물의 수신자의 이름은 사용자에 의해 사용자 지정 용어로서 제공된다. 포탈 "나의 작업 공간"에서, 사용자는 예를 들어 "관심 있는 개체들"을 포함하는 다양한 작업 관련 정보를 저장할 수 있다. 이와 같이, 포탈은 사용자의 작업과 관련된 정보의 집합을 저장하기 위한 라이브러리로서 작용한다. 잠재적으로 그리고 유용하게, 아직 구조화되지 않은 개체들 또는 진행중인 아이디어들이 그러한 "관심 있는 개체들" 저장 포탈들 중 하나 이상에 수집될 수 있다. 이러한 저장 포탈들은 사용자가 그가 어떻게 사용할지를 아직 결정하지 못하였지만 유용할 수 있을 것으로 생각하는 개체들을 수집하는 것을 가능하게 하며, 사용자는 나중에 이러한 개체들을 집합들로 체계화할 수 있다.
포탈들 내에 수집된 개체들은 텍스트 및 사진들의 묶음들 이상이라는 점에 유의한다. 이러한 개체들은 사용자에게 추가적인 정보, 상품 또는 서비스를 제공하기 위해 인터넷 콘텐츠 제공자가 이용 가능한 다른 정보와 함께 사용될 수 있다. 예를 들어, "크리스마스 아이디어" 포탈에 수집된 개체들은 도 1의 쇼핑 도메인(106)에 링크될 수 있다. 이러한 방식으로, 사용자는 돛단배를 판매하는 근거리 영역 내의 상인들을 찾을 수 있다. 또한, 사용자가 상이한 모델의 돛단배들의 특징들 및 가격들을 비교하는 것을 가능하게 하는 정보가 사용자에게 제공될 수 있다. 돛단배에 대한 사용자 경험을 더욱 풍부하게 하기 위해 돛단배의 액세서리들에 대한 정보도 사용자에게 제공될 수 있다. 이러한 정보는 그리드와 같은 소정의 방식들로 표시되거나, 사용자에 의해 선택된 특정 기준, 예를 들어 가격에 의해 순위화될 수 있다. 개체들이 수집되고 주석이 첨부되는 방법은 정보가 상이한 지능적 방식들로 보여지는 것을 가능하게 한다.
다른 예로서, 통상적으로 사람들이 웹페이지 상에서 어드레스를 볼 때, 이들은 수동으로 텍스트를 다른 문서 내에 컷 앤 페이스트하거나 수동으로 어드레스를 종이에 적는다. 이 어드레스를 어드레스-북 항목으로 변환하는 것은 다수의 지루하고 시간 소모적인 단계를 필요로 한다. 본 발명에서, 메타데이터의 추가는 개체가 관련 컨텍스트를 제공하는 것을 가능하게 한다. 예를 들어, 이 어드레스 개체는 이 어드레스에 있는 비즈니스에 대한 이름, 전화 번호, 위치 및 운전 방향을 얻기 위해 인터넷 콘텐츠 제공자의 맵 도메인에 링크되거나, 이 어드레스에 있는 비즈니스에 대한 추가 정보를 얻기 위해 인터넷 콘텐츠 제공자의 뉴스 도메인에 링크될 수 있다.
도 5는 본 발명의 일 실시예에 따른, 전술한 애플리케이션들을 실행하는 이동 장치를 나타낸다. 이 예에서, 이동 장치(500)는 캘리포니아 서니베일의 팜사에 의해 제조된 팜원 장치이다. 전술한 애플리케이션들은 전통적인 데스크톱 컴퓨팅 장치들 외에도 상이한 형태의 사용자 장치들 상에서 실행될 수 있다는 점에 유의한다. 이러한 능력은 사용자들이 언제 어디서나 포탈들에 저장된 정보에 대한 다수의 액세스 포인트를 갖는 것을 가능하게 한다. 지속 저장 포탈들을 유지하는 능력을 달성하기 위해, 클라이언트 장치(예를 들어, 데스크톱 또는 이동 장치)의 지속 저장 포탈들에 포함된 개체들은 도 1의 서버들(102) 및 데이터베이스들(105) 내에 온라인으로 저장되고 미러링된다. 결과적으로, 사용자는 인터넷 콘텐츠 제공자의 네트워크를 통해 지속 저장 포탈들에 저장된 정보에 대한 유니버설 액세스를 가질 수 있다.
상이한 사용자 장치들에 의해 지속 저장 포탈에 대한 유니버설 액세스를 갖는 이익은 다음 예에 의해 설명될 수 있다. 사용자가 집에 있는 그의 데스크톱 컴퓨터로부터 여행 계획을 세우고 여정을 지속 저장 포탈에 저장한 것으로 가정한다. 여행 중에, 사용자는 이동 장치를 이용하여 지속 저장 포탈에 저장된 여정에 액세스할 수 있다. 예를 들어, 사용자는 그의 이동 장치를 이용하여 호텔 어드레스를 취득할 수있다. 호텔 어드레스로부터, 사용자는 인터넷 콘텐츠 제공자의 맵 도메인을 통해 호텔에 대한 맵 정보 및 운전 방향을 얻을 수 있다. 따라서, 지속 저장 포탈들에 대한 유니버설 액세스를 갖는 능력은 사용자가 그의 목적지들로 네비게이트하는 것을 가능하게 한다. 하나의 접근법에서, 사용자는 그의 이동 장치를 이용하여 정보를 저장 포탈들 중 하나 내로 수확할 수 있다. 예를 들어, 사용자는 바코드를 스캐닝하고, 사진 또는 비디오를 촬영하고, 개체를 메타데이터와 함께 포탈에 즉시 추가할 수 있다. 애플리케이션은 저장 포탈 내의 사진에 암시적 데이터를 할당하기 위해 사용자의 지리 위치를 자동으로 적용할 수 있는데, 예를 들어 사용자가 파리를 여행하고 있는 동안에 파리에서 촬영된 사진은 파리 여행 포탈 내로 들어갈 것이다.
일 실시예에서는, 하나의 포탈이 다수의 사용자 사이에 공유될 수 있다. 예를 들어, 사용자 A 및 사용자 B는 동일 프로젝트의 상이한 부분들 상에서 작업하고 있으며, 사용자 B는 사용자 A의 출력에 의존하여 그의 작업을 계속한다. 사용자 A가 작업을 끝낼 때마다, 그는 제1 공유 포탈 내에 작업을 배치할 수 있으며, 따라서 사용자 B는 사용자 A의 상태의 통지를 수신하고, 제1 공유 포탈로부터 정보를 검색할 수 있다. 마찬가지로, 사용자 B가 작업을 끝낼 때마다, 그도 제2 공유 포탈 내에 작업을 배치할 수 있으며, 따라서 사용자 A는 사용자 B의 상태의 통지를 수신하고, 새로운 작업들을 제1 공유 포탈에 계속 제공할 수 있다. 수집된 정보를 공유하는 능력은 개별 개체에 대해, 개체들의 세트에 대해, 또는 모든 저장 포탈 내의 사용자의 개체들의 집합에 대해 이루어질 수 있다. 사용자는 각각의 포탈에 대해 맞춤화된 공유 모델, 즉 공개, 비밀 또는 친구 전용 모델을 정의할 수 있다.
도 6은 본 발명의 일 실시예에 따른 지속 저장 포탈들의 다른 세트를 나타낸다. 도 6에 도시된 예에서는, 9개 포탈의 섬네일 이미지(600) 및 대응 확대 이미지가 제공된다. 각각의 포탈은 사용자에 의해 선택된 상이한 정보를 저장하는 데 사용될 수 있으며, 각각의 포탈은 상이한 정보의 집합에 대한 상이한 사용자 지정 주석들을 지원하도록 맞춤화될 수 있다. 각각의 지속 저장 포탈은 (점선으로 지시된) 링크들(602)을 통해 다른 포탈들에 링크될 수 있다. 사용자가 개체들의 상이한 세트들을 맞춤화하는 것을 가능하게 하기 위해 다수의 지속 저장 포탈이 사용될 수 있다. 각각의 포탈은 사용자가 포탈 내에 저장된 각각의 항목을 중지하고 주석을 첨부해야 할 필요 없이 완벽하게 실시간으로 정보를 저장하기 위한 사전 결정 영역을 제공한다. 각각의 포탈은 위젯(widget)으로서 구현될 수 있으며, 사용자는 상이한 요구들 및 목적들을 만족시키기 위해 다수의 위젯을 결합할 수 있다. 대안 접근법에서, 사용자는 단일 위젯을 이용하여, 상이한 요구들 및 목적들을 만족시키기 위한 다수의 포탈을 구현할 수 있다.
일 실시예에서, 브라우저 및 정보 수집 애플리케이션(고블러 애플리케이션이라고도 함)은 데스크톱 퍼스널 컴퓨터와 같은 사용자의 컴퓨팅 장치 상에서 실행되는 자바스크립트로 구현될 수 있다. 고블러 애플리케이션은 도 2A에서와 같이 하나 이상의 저장 포탈(206, 208, 210)로서 도시되는, 정보를 수집하기 위한 사용자 인터페이스를 제공하며, 동적 링크 라이브러리(DLL)를 이용하여 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP) 포트 상에서 수집될 데이터를 청취한다. 이 예에서, 웹사이트는 자바스크립트를 제공하거나, 북마크릿(bookmarklet)을 이용하여 페이지 내에 삽입된다. 북마크릿은 대부분의 대중적인 웹 브라우저 내의 북마크 내에 또는 웹페이지 상의 하이퍼링크들 내에 URL로서 저장될 수 있는 소형 자바스크립트 프로그램이다.
브라우저 자바스크립트는 플래시 개체를 생성하고, 웹페이지의 콘텐츠를 복수의 수집 가능 개체로 파싱하여, 선택되어 저장 포탈로 드래그 앤 드롭될 수 있는 수집 가능 개체들을 생성한다. 사용자는 웹페이지의 하나 이상의 수집 가능 개체를 저장 포탈 상에 드래그 앤 드롭하거나, 페이지 내의 해당 요소 근처의 액션 버튼을 클릭함으로써 데이터를 고블링할 수 있다. 개체들이 고블링될 때, 웹페이지 내의 자바스크립트는 플래시 개체를 이용하여, 사전 결정된 TCP/IP 포트 상에서 실행되는 위젯에 대한 접속을 설정한다. 이어서, 자바스크립트는 이 TCP/IP 접속을 통해 고블링되고 있는 개체에 대한 데이터를 전송한다. 수신 위젯은 개체에 시간, 날짜 등과 같은 다양한 속성을 주석으로 첨부함으로써 개체를 처리한다. 이어서, 수신 위젯은 저장 및 추가 처리를 위해 개체를 백엔드 서버로 전송한다. 추가 처리는 개체의 소스를 분석하여, 수집될 수 있는 개체와 관련된 다른 메타데이터를 설정하는 것을 포함한다.
위젯 내의 자바스크립트는 적절한 사용자의 저장소에 개체를 추가하기 위해 XMLHttpRequest(XHR) 또는 다른 유사한 기술들을 이용하여 고블러 서비스와 접촉한다. XHR은 웹페이지의 클라이언트측과 서버측 간의 독립적인 접속 채널을 설정하는 HTTP를 이용하여 웹 서버로 그리고 웹 서버로부터 XML 데이터를 전송하고 조작하기 위해 자바스크립트, J 스크립트, VB 스크립트 및 다른 웹 브라우저 스크립팅 언어들에 의해 사용될 수 있는 API이다. XMLHttpRequest 호출들로부터 반환되는 데이터는 종종 백엔드 데이터베이스들에 의해 제공될 수 있다. XML 외에, XMLHttpRequest는 다른 포맷들, 예를 들어 JSON 또는 심지어 평문으로 데이터를 인출(fetch)하는 데 사용될 수 있다. XMLHttpRequest는 에이잭스(Ajax) 웹 개발 기술의 일부이며, 응답적 및 동적 웹 애플리케이션들을 구현하기 위해 많은 웹사이트에 의해 사용된다.
다른 실시예에서, 고블러 애플리케이션은 사용자의 컴퓨팅 장치의 브라우저에서 실행되는 자바스크립트만을 포함한다. 유사하게, 이 예에서, 웹사이트는 자바스크립트를 제공하거나, 북마크릿을 이용하여 페이지 내에 삽입된다. 브라우저 자바스크립트는 웹페이지를 파싱하여, 선택되어 저장 포탈 내로 드래그 앤 드롭될 수 있는 수집 가능 개체들을 생성한다. 또한, 브라우저 자바스크립트는 정보를 수집하기 위한 하나 이상의 저장 포탈을 포함하는 사용자 인터페이스를 제공하는 새로운 페이지 요소를 생성한다. 사용자들은 웹페이지의 수집 가능 개체들을 페이지의 고블러 부분 상에 드래그 앤 드롭하거나, 페이지 내의 해당 수집 가능 개체 근처의 액션 버튼을 클릭함으로써 데이터를 고블링할 수 있다. 개체들이 고블링될 때, 자바스크립트는 개체에 시간, 날짜 등과 같은 다양한 속성을 주석으로서 첨부한다. 이어서, 페이지 자바스크립트는 저장 및 추가 처리를 위해 개체를 백엔드 서버로 전송한다. 추가 처리는 개체의 소스를 분석하여, 수집될 수 있는 다른 관련 메타데이터를 설정하는 것을 포함한다. 웹페이지 내의 자바스크립트는 적절한 사용자의 저장소에 개체를 추가하기 위해 XHR 또는 다른 유사한 기술들을 이용하여 고블러 서비스와 접촉한다.
또 다른 실시예에서는, 후술하는 야후 위젯 엔진을 이용하여, 본 발명의 지속 저장 포탈들을 구현할 수 있다. 이 분야의 통상의 기술자들은 다른 구현들 또는 다른 타입의 위젯 엔진들을 이용하여 지속 저장 포탈들을 구현할 수 있다는 것을 알 것이다. 또한, 아래의 설명에서는, 윈도우 운영 체제를 실행하는 컴퓨팅 장치들에 대해 위젯들을 구성하고 이용하는 방법들이 설명된다. 이 분야의 통상의 기술자들은 매킨토시, 유닉스 또는 리눅스 운영 체제에 대해 유사한 구현들이 이루어질 수 있음을 이해할 것이다.
본 명세서에서 "위젯 엔진" 또는 "엔진"으로도 참조되는 야후 위젯 엔진은 확장형 마크업 언어(XML)를 이용하여 위젯들 및 개체들을 정의한다. 이 언어는 각각의 개체에 대한 명확한 계층 구조, 개체가 드로잉되는 순서, 및 각각의 개체의 속성들을 연관시키는 순서를 형성한다. 위젯의 일례는 다음과 같다.
Figure 112009016988027-pct00001
위젯은 사용자가 "여기를 클릭하라"고 말하는 텍스트를 클릭할 때마다 이미지의 불투명도를 10%씩 감소시킨다. 이 샘플 위젯은 몇 가지 요점을 설명하는 데 사용된다. 첫째, 위젯의 구조는 대칭 언어 XML을 사용하며, 따라서 각각의 개체 지정자(예를 들어, <text>)는 대응하는 종결자(</text>)를 갖는다. 이러한 지정자들 및 종결자들의 쌍들 내에서, 스크린 위치, 정렬 등과 같은 개체들의 속성들이 정의된다. 둘째, XML에서 정의된 개체들은 자바스크립트에서 조작될 수 있다. 셋째, 개체들의 이름은 문자로 시작한다. 이름을 위해 문자, 숫자 및 언더스코어(underscore)만이 허가된다. 위젯의 XML 설명서는 확장명 .kon을 갖는 파일에 저장된다. 실제로, 위젯은 많은 이미지 및 텍스트 개체, 다수의 자바스크립트 섹션을 가질 수 있으며, 복잡한 기능을 구현하기 위해 자바스크립트를 이용하여 실행 시간에 새로운 개체들을 생성할 수 있다. 아래의 섹션들은 새로운 위젯을 생성하기 위한 기술들 및 코드들의 다양한 실시예를 설명한다.
XML 신택스와 관련하여 두 가지 스타일의 태그 표기법이 존재하는데, 이들은 다음과 같다.
Figure 112009016988027-pct00002
사용자는 아래의 같이 두 가지 태그 표기법을 혼합하고 매칭시킬 수 있다.
Figure 112009016988027-pct00003
엔티티들은 사용자가 특수 이스케이프 시퀀스(escape sequence)를 통해 문자를 지정하는 것을 가능하게 하는 XML 구조체이다. XML 신택스를 파싱하는 데 사용되는 소정의 문자들이 예약되는 것으로 간주한다. 심벌 &는 엔티티 이스케이프 시작으로서 사용된다(그리고 그러한 이유로 예약 문자이기도 하다). 엔티티들의 표준 세트는 XML 특수 문자들을 표현하는 데 사용된다.
Figure 112009016988027-pct00004
또한, 사용자는 엔티티들을 이용하여, 문자를 그의 유니코드 코드 포인트에 의해 지정할 수 있다.
Figure 112009016988027-pct00005
XML 엔진은 XML 데이터의 블록들을 마킹하기 위해 <and> 심벌들을 찾으므로, 자바스크립트 엔진은 이러한 심벌들을 각각 & it 및 & gt로 대체하는 것을 필요로 한다. 예를 들면, 다음과 같다.
Figure 112009016988027-pct00006
대안으로, 사용자는 HTML에서 일반적으로 행해지는 바와 같이 XML 코멘트들을 이용하여, XML 엔진으로부터 자바스크립트 코드를 숨길 수 있다.
Figure 112009016988027-pct00007
또 다른 접근법에서, 사용자는 다음과 같이 CDATA 섹션들을 이용할 수 있다.
Figure 112009016988027-pct00008
이러한 대안 접근법들은 코드를 더 쉽게 읽을 수 있게 한다. 또 다른 접근법에서, 사용자는 XML 파서를 "엄격 모드"로 설정할 수 있는데, 이 모드는 파서가 정상적으로는 수행하지 못하는 방식들로 XML의 규칙들을 실시한다. 엄격 모드를 가능하게 하기 위해, 아래의 라인이 XML 파일의 최상위에 추가된다.
Figure 112009016988027-pct00009
엄격 모드에서는, 프로그램의 아래의 양태들이 실시되는데, 즉 1) 모든 속성 값들이 따옴표 내에 넣어지고, 2) 정상 텍스트 섹션에서 어떠한 스트레이(stray) & 문자들도 허가되지 않고, 3) 엔티티들("&"으로 시작하는 것들)이 속성 값들 내에서 평가되고, 4) 코멘트 내에 어떠한 더블 대시("__")도 허가되지 않으며, 이러한 이유로 인해, 코드를 CDATA 블록들 내에 넣는 것이 바람직하고, 5) 외부 파일이 포함되는 경우, 그 파일 내에 & 1t와 같은 엔티티들을 대체할 필요가 없다.
위젯 엔진 내의 파일 경로들은 XML 파일의 위치에 상대적이다. 이것은 디렉토리를 갖지 않은 파일 참조(예를 들어, main.js)가 XML 파일과 동일한 디렉토리에서 검색되는 반면, 디렉토리를 갖는 파일 참조(예를 들어, javascript/main.js)는 XML 파일이 위치하는 디렉토리의 지정 서브디렉토리에서 검색된다는 것을 의미한다. 상이한 컴퓨터들의 디스크 레이아웃은 크게 다를 수 있으므로, 절대 경로들(예를 들어, a/로 시작하는 경로들)은 사용하지 않는 것이 바람직하다.
윈도우 머신들에서, 위젯을 구성하는 파일들은 .widget 파일에 저장된다. 이것은 확장명이 .widget로 변경된 표준 ZIP 파일이다. 위젯 엔진의 윈도우 버전들은 짚업된 .widget 파일들을 읽을 수 있다. 이것은 또한 크로스-플랫폼 위젯들을 생성할 때의 최상의 포맷이다. 일례에서, 위젯 번들은 다음의 구조를 갖는다.
Figure 112009016988027-pct00010
.kon 파일은 (위의 섹션의 샘플 위젯과 유사한) 실제 위젯 코드를 포함한다. 일 구현에서, .kon 파일은 콘텐츠 폴더에 포함된다. 사용자는 사진들과 같은 자원들을 그 안에 넣을 수 있다. 일반적으로, 자원들은 전술한 바와 같이 자원 폴더에 넣어질 것이다.
사용자가 위젯 변환기를 사용하지 않는 대신에 파일들을 수동으로 짚(zip)하기로 결정한 경우, 이것은 윈도우 컴퓨터 상에서 위젯 폴더를 우측 클릭하여 그로부터 ZIP 파일을 생성함으로써 수행될 수 있다. 사용자는 그가 위젯을 개발하는 동안에 변경을 행할 때마다 테스트를 위해 짚업된 위젯 파일을 생성할 필요가 없다는 점에 유의해야 한다. 사용자는 .kon 파일을 더블 클릭하여 동일 효과를 얻을 수 있다.
위젯 패키지는 실행 시간에 변경되지 않아야 한다는 점에 유의한다. 즉, 위젯 패키지를 이용하여, 그 자신 내에 정보를 저장하지 말아야 한다. 많은 위젯들이 프레퍼런스들을 이용하여 그들의 설정들을 저장하지만, 어떤 위젯은 그 자신의 패키지 내에 정보를 저장할 수 있다. 또한, 위젯 엔진이 짚된 위젯을 실행할 때, 위젯 엔진은 먼저 위젯을 특수 위치 내에 언짚(unzip)한 후, 그곳에서 위젯을 실행한다. 이러한 언짚핑은 위젯을 실행할 때마다 발생하며, 따라서 위젯의 언짚된 패키지 내에 정보가 저장된 경우, 이 정보는 고쳐 쓰여질 수 있다. 영구 데이터를 저장하는 것을 필요로 하는 위젯들을 수용하기 위해, 시스템 위젯 DataFolder 폴더 경로를 이용하여 위젯의 영구 정보를 저장할 수 있다.
또 다른 실시예에서, 위젯 엔진은 짚되지 않은 플랫-파일(flat-file) 포맷을 지원할 수 있다. 플랫 파일 포맷이 압축되지 않을 때, 위젯의 크기는 짚 포맷의 위젯의 크기보다 크다. 이미지들이 위젯 크기의 대부분을 차지하므로, 그 증가는 평균 약 15%인데, 이는 일반적으로 텍스트 파일들이 압축되지 않는 반면, 이미지들은 일반적으로 이미 압축된 포맷(PNG, JPG)이기 때문이다. 파일들을 압축하는 이익은, 파일들은 파일-맵핑되므로, 실제로 필요할 때까지 파일들을 RAM에 저장할 필요가 없다는 것이다. 이러한 새로운 포맷을 이용함으로써, 위젯 애플리케이션을 론칭하는 시간이 감소된다.
위젯이 플랫 파일 포맷을 이용할 때, 플랫 파일 위젯으로부터의 파일을 파일 시스템 내의 위치로 추출하기 위해 새로운 API(widget.extract File ())를 사용하지 않는 한은, 위젯으로 패키징되었을 수 있는 동적 링크 라이브러리들(DLLs)과 같은 항목들이 사용되지 않을 수 있다. 하나의 예외는 play () 기능을 통해 재생되는 사운드 파일들이 어떠한 변경 없이도 동작할 수 있다는 것이다.
이 섹션은 위젯들이 어떻게 실행되는지, 그리고 해결할 필요가 있는 문제들 중 일부를 설명한다. 위젯이 열릴 때, 위젯은 개별 프로세스로서 실행된다. 이것은 하나의 위젯이 사용자가 사용할 수 있는 나머지 위젯들에 영향을 미치지 않는 것을 보장하기 위해 행해진다. 짚 포맷의 위젯이 특수 위치(PC 상의 C:/Documents and Settings/<user>/Local Settings/Application Data) 내로 언짚된다. 짚되지 않은 위젯은 그가 위치하는 곳에서 실행된다. 이러한 이유 때문에, 위젯이 어디에 있는지에 의존하지 않을 수 있다. .kon 파일이 위젯 내에 위치하는 경우, 현재 디렉토리는 .kon 파일이 위치하는 디렉토리로 설정된다. 따라서, 예를 들어, .kon 파일이 콘텐츠 폴더 내에 있는 경우, 현재 작업 디렉토리는 콘텐츠일 것이다. 이것은 자원들로의 상대적인 경로들이 적절히 기능하는 것을 가능하게 한다. .kon 파일은 예를 들어 그의 이미지들이 콘텐츠 폴더 내의 자원 폴더 내에 있는 경우에 하나의 이미지를 Resources/Image1.png로서 참조할 것이다.
.kon 파일이 위치되고, 현재 디렉토리가 설정될 때, 파일이 파싱되고, 그 안에 정의된 개체들이 생성된다. 모든 것이 성공적으로 생성된 후, onLoad 핸들러가 호출된다. 이어서, 위젯은 초기화 루틴을 실행한다. onLoad 핸들러는 일반적으로 위젯이 가시화되기 전에 실행된다는 점에 유의한다. 즉, 많은 위젯들은 처음에는 그들의 윈도우가 숨겨지도록 설정하며, onLoad 핸들러의 완전한 실행시에 가시화된다. onLoad 핸들러가 성공적으로 실행된 후, 위젯이 나타나고 실행된다. 다음에 위젯이 실행될 때, 위젯은 다시 언짚된다는 점에 유의한다. 이러한 이유 때문에, 위젯 번들 내에 정보를 저장하는 것을 신뢰할 수 없다. 대신에, 전술한 바와 같이, 위젯의 DataFolder 내에 정보를 저장하는 것이 바람직하다.
위젯 엔진은 어떤 위젯들이 자동으로 열릴 수 있는지를 계속 추적한다. 위젯 엔진이 다음에 론칭될 때, 위젯 엔진은 위젯 엔진이 마지막으로 닫힐 때 실행되고 있었던 임의의 위젯들을 자동으로 다시 연다.
액션들은 위젯들에서 중요한데, 이는 이들이 사용자가 그가 위젯과 상호작용할 때 위젯이 어떻게 거동할지를 정의하는 곳이기 때문이다. 일 구현에서는, 액션을 소정의 자바스크립트 텍스트로 설정함으로써 액션이 지정된다. 이 텍스트는 사용자가 클릭할 때 평가되고 실행되는데, 예를 들면 다음과 같다.
Figure 112009016988027-pct00011
그러나, 적어도 2개의 제한이 존재하는데, 즉 1) 사용자는 액션을 실행하고 있었던 개체를 일반적으로 참조하기 위해 자바스크립트 'this' 개체를 사용하지 못할 수 있으며, 2) 사용자가 동일 코드를 갖는 여러 개체를 갖는 경우, 사용자는 그가 코드를 첨부한 각각의 개체를 반영하기 위해 자바스크립트를 복제하고 개체들의 이름들을 변경해야 할 수 있다.
이러한 제한들을 제거하기 위해, 위젯 엔진은 이러한 액션들에 대한 적절한 자바스크립트 기능들을 지원한다. 예를 들어, 어떠한 파라미터도 액션들로 전송되지 않는다. 또한, onMouseup 핸들러가 system.event를 검사하는 대신에 마우스의 x 및 y 좌표를 수신할 수 있다. 기능들을 이용하기 위해, 사용자는 (속성을 이용함으로써) XML에서 기능을 이용하거나, 아래에 나타낸 바와 같이 특성을 자바스크립트에서 호출하는 기능으로 설정할 수 있다.
Figure 112009016988027-pct00012
XML 설명서에서, 사용자는 <name> 특성을 설정할 수 있다. 이것은, 생성될 수 있고, 이름을 그 일부로 하는 개체에 결합될 수 있는 전역 자바스크립트 개체를 정의한다. 예를 들어, 코드
Figure 112009016988027-pct00013
는 이름이 mainWindow인 전체 범위에서의 자바스크립트 변수를 생성한다. 모든 이름은 고유할 것을 필요로 한다는 점에 유의한다. 또한, 내부적으로 이러한 이름들은 개체들을 추적하는 데 사용되므로, 이들은 변경될 수 없다. 위젯 엔진은 모든 이름 특성을 판독 전용이 되게 함으로써 이를 실시한다. 사용자가 자바스크립트를 이용하여 온더플라이 방식으로 개체를 생성할 때, 개체는 Image001과 같은 일반적인 이름이 주어진다.
위젯들을 디버깅하기 위해 소정의 규정들이 만들어진다. 사용자가 디버깅 목적으로 "온"으로 설정할 수 있는 XML 태그 "debug"가 존재한다. "debug" 태그가 온으로 설정되는 경우, 위젯이 론칭될 때 디버그 출력 윈도우가 열릴 것이다. 자바스크립트 코드 내의 log() 또는 print()에 대한 호출들은 이 디버그 윈도우로 라우팅된다. 위젯 엔진 내부에서 만나는 임의의 에러들도 이 윈도우에서 보고된다. 디버그 태그가 온으로 설정되지 않으면, 디버그 윈도우는 열리지 않을 것이라는 점에 유의한다.
위젯을 개발하는 동안, 디버그 태그가 턴온되어, 위젯이 실행되고 있는 동안에 발생한 에러들에 대하여 사용자에게 알릴 수 있는 것이 바람직하다. 예를 들어, 속성의 철자가 잘못된 경우, 출력 윈도우는 이 에러를, 코드의 어느 곳에서 문제가 발견될 수 있는지와 함께, 사용자에게 알린다.
위젯 엔진에 나타날 수 있는 두 가지 타입의 보안 윈도우가 존재한다. 첫 번째는 최초 실행/변경 윈도우이다. 위젯 엔진이 이전에 알지 못한 위젯의 최초 실행시, 새로운 위젯이 열리려 한다는 것을 사용자에게 알리고, 사용자에게 액션을 승인할 것을 요청하기 위한 윈도우가 나타난다. 이것은 사용자의 인식 없이 바로 실행될 수 있는 위젯들을 보호하기 위한 것이다. 또한, 사용자가 위젯이 실행되는 것을 허가하고, 이어서 위젯이 변경되는 경우, 다음에 위젯이 론칭될 때, 변경된 위젯에 대해 사용자에게 알리는 다른 윈도우가 나타난다. 또한, 사용자는 이 변경된 위젯을 론칭하기 위한 요청을 승인 또는 거절할 수 있다.
사용자가 위젯의 디버깅을 진행하고 있는 경우, 사용자는 디버그 모드를 턴온할 수 있으며, 이는 최초 실행/변경된 보안 윈도우들을 억제할 수 있다. 따라서, 사용자는 사용자가 코드를 변경하고 위젯을 다시 로딩할 때마다 인터럽트되지 않는다.
제2 타입의 윈도우는 '샌드박스(sandbox)' 윈도우이다. 하나의 접근법에서, 샌드박스 액션은 사용자의 그의 인터넷 콘텐츠 제공자 계정에 대한 로그인과 관련된다. 위젯이 사용자의 계정에 최초로 로그인하려고 시도할 때, 사용자에게 이 사실을 알리고, 위젯이 계정 상의 사용자의 데이터를 사용하도록 허가해야 할지를 묻기 위한 윈도우가 나타날 것이다.
명료화를 위해 위의 설명은 상이한 기능 유닛들 및 프로세서들과 관련하여 본 발명의 실시예들을 설명하였음을 알 것이다. 그러나, 상이한 기능 유닛들 또는 프로세서들 사이의 임의의 적절한 기능의 분산이 본 발명으로부터 벗어나지 않고 이용될 수 있음은 명백할 것이다. 예를 들어, 개별 프로세서들 또는 제어기들에 의해 수행되는 것으로 설명된 기능은 동일 프로세서들 또는 제어기들에 의해 수행될 수도 있다. 따라서, 특정 기능 유닛들에 대한 참조는 엄격한 논리적 또는 물리적 구조 또는 체계를 지시하는 것이 아니라, 설명된 기능을 제공하기 위한 적절한 수단에 대한 참조로서 간주되어야 한다.
본 발명은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의 조합을 포함하는 임의의 적절한 형태로 구현될 수 있다. 본 발명은 옵션으로서 하나 이상의 데이터 프로세서 및/또는 디지털 신호 프로세서 상에서 실행되는 컴퓨터 소프트웨어로서 부분적으로 구현될 수 있다. 본 발명의 실시예의 요소들 및 컴포넌트들은 임의의 적절한 방식으로 물리적으로, 기능적으로, 논리적으로 구현될 수 있다. 게다가, 기능은 단일 유닛으로, 복수의 유닛으로, 또는 다른 기능 유닛들의 일부로서 구현될 수 있다. 따라서, 본 발명은 단일 유닛으로 구현되거나, 상이한 유닛들 및 프로세서들 사이에 물리적으로, 기능적으로 분산될 수 있다.
관련 분야의 기술자는 동일한 기본 기반 메커니즘들 및 방법들을 계속 이용하면서, 개시된 실시예들의 많은 가능한 변경 및 조합이 이용될 수 있음을 인식할 것이다. 위의 설명은 설명의 목적으로 특정 실시예들을 참조하여 기재되었다. 그러나, 위의 예시적인 설명은 포괄적이거나, 본 발명을 개시된 그 형태들로 한정하고자 하는 의도는 없다. 위의 가르침에 비추어 많은 변경 및 변형이 가능하다. 실시예들은 본 발명의 원리들 및 이들의 실제 응용들을 설명하기 위해, 그리고 이 분야의 다른 기술자들이 예측되는 특정 용도에 적합한 다양한 변경과 함께 본 발명 및 다양한 실시예를 최상으로 이용할 수 있게 하기 위해 선택되고 설명되었다.

Claims (24)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 인터넷상에서 정보를 수집하기 위한 방법에 있어서,
    웹페이지의 콘텐츠를 파싱하여 복수의 수집 가능 개체를 형성하는 단계;
    상기 복수의 수집 가능 개체로부터 하나 이상의 개체를 선택하는 단계;
    상기 하나 이상의 개체를 하나 이상의 저장 포탈에 저장하는 단계;
    사용자 지정 데이터에 따라 상기 하나 이상의 개체에 주석을 첨부하는 단계; 및
    상기 하나 이상의 저장 포탈의 암시적 데이터(implicit date)에 따라 상기 하나 이상의 개체에 주석을 첨부하는 단계를 포함하며,
    상기 암시적 데이터에 따라 상기 하나 이상의 개체에 주석을 첨부하는 단계는,
    상기 하나 이상의 개체의 소스들을 식별하는 단계; 및
    상기 하나 이상의 개체의 소스들의 저작권 정보를 제공하는 단계를 더 포함하는
    인터넷상에서 정보를 수집하기 위한 방법.
  11. 인터넷상에서 정보를 수집하기 위한 방법에 있어서,
    웹페이지의 콘텐츠를 파싱하여 복수의 수집 가능 개체를 형성하는 단계;
    상기 복수의 수집 가능 개체로부터 하나 이상의 개체를 선택하는 단계;
    상기 하나 이상의 개체를 하나 이상의 저장 포탈에 저장하는 단계;
    사용자 지정 데이터에 따라 상기 하나 이상의 개체에 주석을 첨부하는 단계; 및
    상기 하나 이상의 저장 포탈의 암시적 데이터에 따라 상기 하나 이상의 개체에 주석을 첨부하는 단계를 포함하며,
    상기 암시적 데이터에 따라 상기 하나 이상의 개체에 주석을 첨부하는 단계는,
    상기 사용자 지정 데이터 및 상기 하나 이상의 개체와 연관된 암시적 데이터를 이용하여 추가 정보를 검색하는 단계; 및
    상기 검색된 추가 정보를 이용하여 상기 하나 이상의 개체의 구조화된 메타 데이터를 구성하는 단계를 더 포함하는
    인터넷 상에서 정보를 수집하기 위한 방법.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
KR1020097005792A 2006-08-22 2007-08-20 지속 저장 포탈 KR101120301B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/508,596 2006-08-22
US11/508,596 US8572202B2 (en) 2006-08-22 2006-08-22 Persistent saving portal

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020117009970A Division KR101409673B1 (ko) 2006-08-22 2007-08-20 지속 저장 포탈

Publications (2)

Publication Number Publication Date
KR20090055584A KR20090055584A (ko) 2009-06-02
KR101120301B1 true KR101120301B1 (ko) 2012-03-06

Family

ID=39107336

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020127017738A KR20120093421A (ko) 2006-08-22 2007-08-20 지속 저장 포탈
KR1020117009970A KR101409673B1 (ko) 2006-08-22 2007-08-20 지속 저장 포탈
KR1020097005792A KR101120301B1 (ko) 2006-08-22 2007-08-20 지속 저장 포탈

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020127017738A KR20120093421A (ko) 2006-08-22 2007-08-20 지속 저장 포탈
KR1020117009970A KR101409673B1 (ko) 2006-08-22 2007-08-20 지속 저장 포탈

Country Status (7)

Country Link
US (1) US8572202B2 (ko)
EP (1) EP2054812A4 (ko)
JP (1) JP5148612B2 (ko)
KR (3) KR20120093421A (ko)
CN (1) CN101578592B (ko)
HK (1) HK1138395A1 (ko)
WO (1) WO2008024325A2 (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9235560B2 (en) 2005-06-09 2016-01-12 International Business Machines Corporation General purpose annotation service for portal-based applications
US20080141141A1 (en) * 2006-12-07 2008-06-12 Moore Dennis B Widget runtime engine for enterprise widgets
US7885913B2 (en) * 2007-03-28 2011-02-08 Yahoo! Inc. Distributed collaborative knowledge generation system wherein students perform queries using a dynamic knowledge database and retrieved subsets of data are shared with multiple users on the web
US8589811B2 (en) * 2007-07-20 2013-11-19 International Business Machines Corporation Techniques for organizing information accessed through a web browser
US8205166B2 (en) * 2007-07-20 2012-06-19 International Business Machines Corporation Methods for organizing information accessed through a web browser
WO2009029955A1 (en) * 2007-08-31 2009-03-05 Jacked, Inc. Tuning/customization
US8191002B2 (en) * 2007-10-15 2012-05-29 International Business Machines Corporation Summarizing portlet usage in a portal page
US7904818B2 (en) * 2007-10-15 2011-03-08 International Business Machines Corporation Summarizing portlet usage captured responsive to trigger events in a portal page
US7895284B2 (en) * 2007-11-29 2011-02-22 Yahoo! Inc. Social news ranking using gossip distance
US8676887B2 (en) 2007-11-30 2014-03-18 Yahoo! Inc. Social news forwarding to generate interest clusters
US8260882B2 (en) * 2007-12-14 2012-09-04 Yahoo! Inc. Sharing of multimedia and relevance measure based on hop distance in a social network
US20100017385A1 (en) 2008-07-16 2010-01-21 International Business Machines Creating and managing reference elements of deployable web archive files
US20100145602A1 (en) * 2008-12-04 2010-06-10 Morris Robert P Methods, Systems, And Computer Program Products For Associating Resources Of A First Geospace With A Second Geospace
CN101777048B (zh) * 2009-01-14 2013-04-03 国际商业机器公司 解决web应用复合中UI样式冲突的方法和装置
US9159075B2 (en) 2009-04-24 2015-10-13 Reza Jalili System and method for distribution and redistribution of electronic content
US8495048B2 (en) 2009-08-26 2013-07-23 International Business Machines Applying user-generated deployment events to a grouping of deployable portlets
US9424368B2 (en) 2009-09-18 2016-08-23 International Business Machines Corporation Storing and retrieving tags
US20110106835A1 (en) * 2009-10-29 2011-05-05 International Business Machines Corporation User-Defined Profile Tags, Rules, and Recommendations for Portal
US20110125581A1 (en) * 2009-11-23 2011-05-26 Reza Jalili System and method for improving e-commerce with on-demand advertising
WO2011072993A1 (en) * 2009-12-17 2011-06-23 International Business Machines Corporation Managed channel for asynchronous requests
US8429546B2 (en) 2010-06-11 2013-04-23 Microsoft Corporation Creating task sessions
US8863001B2 (en) 2010-06-11 2014-10-14 Microsoft Corporation Web application home button
US8793650B2 (en) 2010-06-11 2014-07-29 Microsoft Corporation Dynamic web application notifications including task bar overlays
US8434135B2 (en) 2010-06-11 2013-04-30 Microsoft Corporation Creating and launching a web application with credentials
US8595551B2 (en) 2010-06-11 2013-11-26 Microsoft Corporation Web application transitioning and transient web applications
US9164671B2 (en) * 2010-06-11 2015-10-20 Microsoft Technology Licensing, Llc Web application navigation domains
US8671384B2 (en) 2010-06-11 2014-03-11 Microsoft Corporation Web application pinning including task bar pinning
CA2706743A1 (en) * 2010-06-30 2010-09-08 Ibm Canada Limited - Ibm Canada Limitee Dom based page uniqueness indentification
CN102387025B (zh) * 2010-09-03 2014-03-12 腾讯科技(深圳)有限公司 一种采集业务数据包日志信息的方法及业务逻辑处理系统
US20120290573A1 (en) * 2011-05-12 2012-11-15 Alexander Kachkovsky Information capturing methods and components
CN102811234B (zh) * 2011-06-01 2015-09-09 腾讯科技(深圳)有限公司 保存应用的方法及装置
CN104978325B (zh) * 2014-04-03 2019-06-25 腾讯科技(深圳)有限公司 一种网页处理方法、装置及用户终端
CN105630952A (zh) * 2015-12-23 2016-06-01 北京奇虎科技有限公司 在网页中显示批注的系统及方法
CN105630956A (zh) * 2015-12-23 2016-06-01 北京奇虎科技有限公司 推送在网页中显示批注的系统及方法
CN107180061A (zh) * 2016-03-11 2017-09-19 阿里巴巴集团控股有限公司 一种书签的管理方法和装置
US11677822B2 (en) * 2017-10-03 2023-06-13 Servicenow, Inc. Portal management

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020099738A1 (en) 2000-11-22 2002-07-25 Grant Hugh Alexander Automated web access for back-end enterprise systems
US20020194267A1 (en) * 2000-06-23 2002-12-19 Daniel Flesner Portal server that provides modification of user interfaces for access to computer networks
US20030167315A1 (en) * 2002-02-01 2003-09-04 Softwerc Technologies, Inc. Fast creation of custom internet portals using thin clients

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038668A (en) * 1997-09-08 2000-03-14 Science Applications International Corporation System, method, and medium for retrieving, organizing, and utilizing networked data
US6289382B1 (en) * 1999-08-31 2001-09-11 Andersen Consulting, Llp System, method and article of manufacture for a globally addressable interface in a communication services patterns environment
US20050086687A1 (en) 1999-12-16 2005-04-21 Microsoft Corporation Methods and systems for managing viewing of multiple live electronic presentations
US20020049788A1 (en) * 2000-01-14 2002-04-25 Lipkin Daniel S. Method and apparatus for a web content platform
KR20010086860A (ko) 2000-03-03 2001-09-15 최식, 김일수 데이터 검색 및 분석 시스템과 방법
US20020099734A1 (en) * 2000-11-29 2002-07-25 Philips Electronics North America Corp. Scalable parser for extensible mark-up language
US20030041159A1 (en) 2001-08-17 2003-02-27 David Tinsley Systems and method for presenting customizable multimedia presentations
WO2004107094A2 (en) 2002-01-25 2004-12-09 Seurat Company Data integration system and method for presenting 360° customer views
US8200775B2 (en) * 2005-02-01 2012-06-12 Newsilike Media Group, Inc Enhanced syndication
US20060047714A1 (en) 2004-08-30 2006-03-02 Mendocino Software, Inc. Systems and methods for rapid presentation of historical views of stored data
US8717301B2 (en) * 2005-08-01 2014-05-06 Sony Corporation Information processing apparatus and method, and program
CN1674513A (zh) * 2005-04-30 2005-09-28 北京紫光绿信科技有限公司 一种web网页信息推送技术及应用系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194267A1 (en) * 2000-06-23 2002-12-19 Daniel Flesner Portal server that provides modification of user interfaces for access to computer networks
US20020099738A1 (en) 2000-11-22 2002-07-25 Grant Hugh Alexander Automated web access for back-end enterprise systems
US20030167315A1 (en) * 2002-02-01 2003-09-04 Softwerc Technologies, Inc. Fast creation of custom internet portals using thin clients

Also Published As

Publication number Publication date
JP5148612B2 (ja) 2013-02-20
KR20120093421A (ko) 2012-08-22
WO2008024325A2 (en) 2008-02-28
US20080052369A1 (en) 2008-02-28
WO2008024325A3 (en) 2009-04-09
KR20090055584A (ko) 2009-06-02
CN101578592A (zh) 2009-11-11
HK1138395A1 (zh) 2010-08-20
EP2054812A4 (en) 2011-08-10
JP2010501933A (ja) 2010-01-21
KR20110063697A (ko) 2011-06-13
EP2054812A2 (en) 2009-05-06
CN101578592B (zh) 2016-04-27
US8572202B2 (en) 2013-10-29
KR101409673B1 (ko) 2014-06-18

Similar Documents

Publication Publication Date Title
KR101120301B1 (ko) 지속 저장 포탈
US8745162B2 (en) Method and system for presenting information with multiple views
US8219900B2 (en) Programmatically hiding and displaying Wiki page layout sections
US8560956B2 (en) Processing model of an application wiki
US11556697B2 (en) Intelligent text annotation
US7954052B2 (en) Method for processing a web page for display in a wiki environment
US8196039B2 (en) Relevant term extraction and classification for Wiki content
JP4824110B2 (ja) ページに関するページ・レイアウトを継承するためのコンピュータで実行される方法、コンピュータ・プログラム、およびデータ処理システム
US20080010609A1 (en) Method for extending the capabilities of a Wiki environment
US20080010387A1 (en) Method for defining a Wiki page layout using a Wiki page
US20080010338A1 (en) Method and apparatus for client and server interaction
US20080065769A1 (en) Method and apparatus for argument detection for event firing
US20080010345A1 (en) Method and apparatus for data hub objects
KR20040002691A (ko) 전자 문서에서 실행을 의미 레이블과 연계시키기 위한방법 및 시스템
US20120180073A1 (en) Mobile Device Application Framework
US20080010386A1 (en) Method and apparatus for client wiring model
US20080010388A1 (en) Method and apparatus for server wiring model
US10902028B2 (en) Managing a classification system and associated selection mechanism
US11645472B2 (en) Conversion of result processing to annotated text for non-rich text exchange
Butler et al. Designing Whisper: a semiautonomous system for database encoding

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150120

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 9