KR20010075245A - 하이퍼텍스트 문서 및 등가물 사이에서 네비게이트하기위한 멀티 타겟 링크 - Google Patents

하이퍼텍스트 문서 및 등가물 사이에서 네비게이트하기위한 멀티 타겟 링크 Download PDF

Info

Publication number
KR20010075245A
KR20010075245A KR1020017003594A KR20017003594A KR20010075245A KR 20010075245 A KR20010075245 A KR 20010075245A KR 1020017003594 A KR1020017003594 A KR 1020017003594A KR 20017003594 A KR20017003594 A KR 20017003594A KR 20010075245 A KR20010075245 A KR 20010075245A
Authority
KR
South Korea
Prior art keywords
link
storage locations
storage location
target
hypertext
Prior art date
Application number
KR1020017003594A
Other languages
English (en)
Other versions
KR100562240B1 (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 KR20010075245A publication Critical patent/KR20010075245A/ko
Application granted granted Critical
Publication of KR100562240B1 publication Critical patent/KR100562240B1/ko

Links

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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9558Details of hyperlinks; Management of linked annotations
    • 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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9562Bookmark management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)

Abstract

장치, 프로그램 제품, 방법은 멀티 타겟 링크를 이용하여 링크와 관련된 하나 이상의 복수의 기억 위치에 기억된 데이터를 선택적으로 엑세스한다. 그러므로, 유저(33)가 특정 멀티 타겟 링크를 활성화할 때, 요청이 통상의 하이퍼텍스트 링크 및 북마크로 발생하는 동일 기억 위치로 전송되기 보다는 링크의 이용을 최적화하기 위해 상이한 상황에서 상이한 기억 위치로 전송될 수 있다. 멀티 타겟 링크는 하이퍼텍스트 문서에 내장된 하이퍼텍스트 링크 정의로 정의된 하이퍼텍스트 링크 로서 또는 유저용 커스텀 북마크 리스트로서 사용하기 위한 북마크로서 구현될 수 있다. 게다가, 하이퍼텍스트 문서, 파일 등을 포함하는 각종 유형의 데이터는 멀티 타겟 링크에 대한 하나 이상의 기억 위치에서 엑세스 가능하다.

Description

하이퍼텍스트 문서 및 등가물 사이에서 네비게이트하기 위한 멀티 타겟 링크 {MULTI-TARGET LINKS FOR NAVIGATING BETWEEN HYPERTEXT DOCUMENTS AND THE LIKE}
컴퓨터를 통해 엑세스 될 수 있는 각종 정보량은 놀랄 정도로 계속해서 증가하고 있다. 특히, 인터넷은 컴퓨터 유저로 하여금 세계 도처에 위치한 다른 컴퓨터로부터 광범위한 각종 정보에 엑세스 가능하게 하였다.
인터넷을 통해 엑세스 가능한 많은 정보는 하이퍼텍스트 마크업 언어(HTML)로서 알려진 언어로 포맷된 문서이며, 월드 와이드 웹으로서 알려진 인터넷의 세그먼트를 통해 엑세스되는 하이퍼텍스트 문서로 구성되어 있다. 통상, 하이퍼텍스트 문서는 유저가 상이한 문서로 점프하거나 동일 문서내의 상이한 위치로 점프하도록 선택 가능한 하나 이상의 내장된 "하이퍼텍스트 링크"를 포함한다. 통상, 하이퍼텍스트 문서 각각은 문서가 링크의 선택 시 그 문서가 검색될 수 있도록 그 문서의 저장 위치를 규정하는 "타겟" 또는 특정 문서의 하이퍼텍스트 링크로 저장되는 기억 위치(변함없는 자원 표시자(URL)라고 알려진)에 의해서 식별된다.
텍스트, 그래픽, 비디오, 사운드, 애니메이션과 같은 광범위한 각종의 다른 정보는 하이퍼텍스트 문서로 통합될 수가 있으며, 게다가 이러한 문서들은 코히어런트 형태로 복수의 관련 문서를 함께 수집하는 단일 엔티티에 의해 통상 유지되는 "사이트(site)"로 구성될 수 있다. 게다가, 월드 와이드 웹의 무한한 대중성으로 인해, 많은 사설 컴퓨터 네트워크는 이제 많은 기존의 컴퓨터 운영 체제 및 컴퓨터 소프트웨어 응용 프로그램이 한 것과 같이 하이퍼텍스트 문서를 지원한다.
흔히 브라우저라고 지칭되는 컴퓨터 프로그램은 통상 하이퍼텍스트 문서들 사이에서 그리고 하이퍼텍스트 문서들을 통해 네비게이트하기 위해 사용된다. 브라우저에서, 최종 사용자는 상이한 문서 및/또는 동일 문서내의 상이한 위치로 네비게이트하기 위한 문서내의 하이라이트 텍스트, 이미지, 또는 다른 유저 인터페이스 구성 요소(예, 버튼)와 같은 링크에 지정하고 클릭하기 위한 마우스 또는 다른 지정 도구를 사용할 수 있다.
많은 브라우저들은 또한 유저가 차후에 다시 방문하려는 즐겨찾는 사이트 또는 문서의 리스트를 유지할 수 있는 북마크(또한, 때론 에일리어스(alias), 단축키, 즐겨찾기로 지칭됨)의 사용을 지원한다. 나중에 단지 북마크된 문서를 검색하려면, 사용자는 리스트에서 원하는 문서에 대응하는 북마크의 위치를 정한 다음 문서의 검색을 개시하기 위해 북마크를 선택한다.
통상의 하이퍼텍스트 링크 및 북마크는 둘다 단일 타겟의 링크로서 특징지워진다. 특히, 통상의 하이퍼텍스트 링크 또는 북마크는 단일 타겟과 관련되어 어느 때고 하이퍼텍스트 링크 또는 북마크는 활성화될 수가 있으며, 그 관련 타겟에 저장된 문서가 검색된다.
그러나, 종종 유저가 검색하길 원하는 특정 정보 유형과 관련한 수개의 타겟이 있을 수 있다. 예컨대, 많은 웹 사이트가 "미러"되는 것이 일반적이며, 웹 사이트에서 동일하게 복사된 다수의 복사 문서들은 복수의 유저로 하여금 어느 소정 시간에 이러한 문서에 엑세스 가능하도록 상이한 기억 위치에 엑세스된 복수의 컴퓨터(또한, "서버"라고도 알려진)상에 저장된다. 또 다른 예로서, 예컨대 영어를 말하는 유저가 문서의 영어 언어 버전을 검색하고, 스페인어를 말하는 유저가 스페인 언어 버전을 검색할 수 있도록 수개의 언어로 문서의 복수 복사를 제공하는 것이 바람직할 수 있다.
단일 타겟에 제한된 종래의 하이퍼텍스트 링크 및 북마크로 복수의 하이퍼텍스트 링크 또는 북마크는 종종 정보의 소정 주제 또는 유형에 대한 복수의 타겟을 지원하기 위해 사용 가능해야 한다. 복수의 하이퍼텍스트 링크가 소정 하이퍼텍스트 문서에서 표시되면, 문서는 상대적으로 클러터될 수 있어, 가시적으로 덜 매혹적이다. 마찬가지로, 복수의 북마킹 타겟은 북마크 리스트의 클러터링을 이끌 수가 있어, 종종 유저로 하여금 리스트에서 특정 북마크를 찾기 어렵게 만든다.
그러나, 보다 중요한 것은 복수의 타겟에 엑세스를 하기 위해서는 유저는 어느 정도의 노력과 결정으로 다중 단일 타겟 링크를 사용해서 수개의 대안의 타겟 중에서 가장 적절한 타겟을 선택한다는 사실이다. 유저가 복수의 링크 사이에서 선택해야만 한다는 사실은 브라우징을 방해하여 종종 저하된 브라우징의 결과를 가져온다. 게다가, 복수의 링크 사이에서 유저가 수동으로 선택함으로써 사람에 의한에러의 가능성을 도입하게 되는 데, 이는 유저가 초기에 잘못된 링크를 선택할 수가 있고 원래 문서, 그 다음에 이용 가능한 다른 선택으로 다시 네비게이트해야 만 하기 때문이다.
또한, 대부분의 경우에, 유저는 어느 것이 취할 가장 적절한 링크인지에 대해 합리적으로 추측할 수 있게 하는 충분한 정보를 갖지 않을 수가 있다. 예컨대, 대부분의 유저는 가능한 한 신속히 문서들을 검색하길 원한다. 그러므로, 미러된 웹 사이트로 유저는 종종 유저에게 지역적으로 가장 근접한 사이트를 선택하게 되는데, 이는 유저와 서버간의 인터넷상의 "트래픽"량이 서버가 유저와 보다 가까울 수록 감소하기 때문인 것으로 여겨진다. 그러나, 문서가 검색될 수 있는 속도는 또한 서버의 작업 부하, 시간, 유저 및 서버간의 인터넷 부분에서 실제의 트래픽량 등과 같은 다른 요인들에 따라 현저하게 변할 수가 있다. 이러한 요인들을 사전에 알지 못하면 유저는 단순히 종종 지역적 근접성에 기초해서 혹은 랜덤하게 타겟을 고르게 된다. 대체로 유저는 유저의 요구를 다룰 최적의 서버를 선택하지 않을 것이며, 보조의 최적 서버에 연결된 귀중한 시간을 낭비할 수가 있다.
단일 타겟 링크가 갖는 또 다른 어려움은 예컨대, 문서들이 다른 기억 위치로 이동되거나 또는 문서들이 완전히 제거되면 종종 특정 기억 위치에 저장된 문서들이 검색 불가능하게 된다는 것이다. 그 결과, 검색 불가능한 문서에 지정되고 있는 어느 단일 타겟 링크는 쓸모없게 되어 사용 불가능하게 된다. 유저는 종종 먼저 그의 타겟에 엑세스를 시도하지 않고, 다음에 타겟으로의 엑세스가 실패하면 다른 타겟에 엑세스함으로써 정보의 위치를 정하는 시도없이 쓸모없는 링크를 인식할 수없다. 이러한 "대기 및 참조(wait and see)" 접근 방법은 종종 유저에게 큰 좌절을 야기할 수 있으며 유저 시간의 현저한 양을 낭비할 수가 있다.
단일 타겟 링크의 유저 선택에 응답하여 상이한 문서들로 하여금 상이한 환경에서 검색 가능하게 한다. 예를 들면, 어떤 종래의 웹 서버는 특정 유저가 사용하고 있는 브라우저의 브랜드를 검출한 다음, 그 브라우저에 대해 최적화된 문서의 특정 버전을 다시 송신한다. 흔히, 이것은 서버가 통상 서버에 의해서 요청될 수 있는 "쿠키"의 형태로 유저로부터 정보를 입수하는 것을 필요로 한다. 그러나, 서버측에서의 문서 선택은 서버의 작업 부하 능력을 감소하는 각 유저 요구를 처리하는 데 추가적인 처리를 필요로 한다는 단점이 있다. 게다가, 유저는 쿠키의 전송을 불가능하게 할 수 있으며 서버로 하여금 유저에 관한 특정 정보를 습득하는 것을 막을 수가 있어, 서버가 특정 요청에 응답하여 상이한 문서들로부터 선택하는 것을 금지하게 할 수 있다.
따라서, 종래의 하이퍼텍스트 링크 및 북마크를 단일 타겟으로 제한하면 유저 생산성에 역영향을 미칠 수가 있고 유저의 좌절을 이끌 수가 있다.
본 발명은 일반적으로 컴퓨터 및 컴퓨터 소프트웨어에 관한 것으로서, 특히 브라우저 컴퓨터 프로그램에 의한 하이퍼텍스트 문서와 등가물 사이에서의 네비게이션 및 디스플레이에 관한 것이다.
도 1은 본 발명에 따른 네트워크된 컴퓨터 시스템의 블록도이다.
도 2는 도 1의 네트워크된 컴퓨터 시스템으로부터의 컴퓨터의 예증의 하드웨어 및 소프트웨어 환경의 블록도이다.
도 3은 도 2의 구조의 북마크 데이터 구조의 블록도이다.
도 4는 도 2의 브라우저에 대한 메인 루틴의 프로그램 흐름을 도시하는 흐름도이다.
도 5는 도 4의 루틴을 링크하기 위한 네비게이트의 프로그램 흐름도를 도시하는 흐름도이다.
도 6은 도 5의 프로세스 강건 링크 루틴의 프로그램 흐름을 도시하는 흐름도이다.
도 7은 본 발명에 따른 핑 쓰레드(ping thread)의 프로그램 흐름을 도시하는흐름도이다.
도 8은 도 5의 프로세스 고속 링크 루틴의 프로그램 흐름을 도시하는 흐름도이다.
도 9는 도 5의 프로세스 크기 링크 루틴의 프로그램 흐름을 도시하는 흐름도이다.
도 10은 도 5의 프로세스 프레쉬 링크 루틴의 프로그램 흐름을 도시하는 흐름도이다.
도 11은 도 5의 프로세스 연대순 링크 루틴의 프로그램 흐름을 도시하는 흐름도이다.
도 12는 도 5의 프로세스 신규 링크 루틴의 프로그램 흐름을 도시하는 흐름도이다.
도 13은 도 5의 프로세스 인기 링크 루틴의 프로그램 흐름을 도시하는 흐름도이다.
도 14는 도 5의 프로세스 로컬 설정 링크 루틴의 프로그램 흐름을 도시하는 흐름도이다.
도 15는 도 5의 프로세스 문맥 링크 루틴의 프로그램 흐름을 도시하는 흐름도이다.
도 16은 도 3의 북마크 데이터 구조에 대한 문맥 기준 데이터의 블록도이다.
도 17은 "도 15의 문맥 기준이 일치하는가?" 루틴의 프로그램 흐름을 도시하는 흐름도이다.
도 18은 도 5의 프로세스 허가 링크 루틴의 프로그램 흐름을 도시하는 흐름도이다.
도 19는 도 5의 프로세스 주기 링크 루틴의 프로그램 흐름을 도시하는 흐름도이다.
도 20은 도 5의 프로세스 멀티비지트(multivisit) 링크 루틴의 프로그램 흐름을 도시하는 흐름도이다.
도 21은 도 5의 프로세스 멀티론치(multilaunch) 링크 루틴의 프로그램 흐름을 도시하는 흐름도이다.
도 22는 도 4의 디스플레이 페이지 루틴의 프로그램 흐름을 도시하는 흐름도이다.
도 23은 도 2의 브라우저의 동작을 설명하는 예증의 컴퓨터 디스플레이의 블록도이다.
본 발명은 멀티 타겟 링크와 관련된 하나 이상의 복수의 기억 위치에 놓여진 엑세스 데이터를 선택적으로 엑세스하도록 멀티 타겟 링크를 이용하는 장치, 프로그램 제품, 방법을 제공함으로써 종래 기술과 관련된 문제점들을 해소할 수 있다. 그러므로, 유저가 특정의 멀티 타겟 링크를 활성화할 때, 종래의 하이퍼텍스트 링크 및 북마크로 발생하는 것과 동일한 단일 기억 위치로 전송되는 요구 이외에 링크의 이용을 최적화하기 위한 상이한 환경에서 상이한 기억 위치로 요구가 전달될 수 있다.
멀티 타겟 링크는 하이퍼텍스트 문서에 내장된 하이퍼텍스트 링크 정의로 정의된 하이퍼텍스트 링크 또는 유저에 대한 커스텀 북마크 리스트에서 사용하기 위한 북마크로서 구현될 수가 있다. 또한, 하이퍼텍스트 문서, 파일 등을 포함하는 각종 유형의 데이터는 멀티 타겟 링크에 대한 하나 이상의 기억 위치로부터 엑세스될 수 있다.
하나 이상의 기억 위치를 하이퍼텍스트 링크 또는 북마크와 관련지움으로써, 광범위한 각종의 특별 특징들이 지원될 수 있다.
예를 들면, 어떤 구현에 있어서, 선택된 기억 위치가 소정 선택 기준에 의거해서 멀티 타겟 링크에 대한 복수의 기억 위치로부터 선택 가능하다. 일례로서, 상이한 기억 위치에 저장된 각종 유형의 문서들은 특정 유형의 문서를 선택하도록 사용 가능하므로, 유저는 이미지 가능 버전 이외에 문서의 텍스트 전용 버전을 관측을 원한다는 것을 규정할 수 있다. 또 다른 일례로서, 상이한 기억 위치에 대한 상대 엑세스 시간은 가장 빠른 혹은 보다 응답적인 위치의 검색을 최적화하기 위해 기억 위치를 선택하기 위해 사용될 수 있다. 또 다른 일례로서, 상이한 기억 위치에서 문서의 상대 연령이 사용되어 가장 최근의 최신식 문서를 가진 기억 위치를 선택한다.
또 다른 일례로서, 연대순 기준(chronological criteria)이 사용되어 상이한 시각에서 상이한 기억 위치로부터 문서들을 검색할 수 있다. 이것에 의해 유저는예컨대 주식 시장이 개장되는 동안 현재의 시장 조건을 검색하나, 일단 주식 시장이 폐장된 다음에 일일 개요 문서를 검색하는 것을 가능하게 한다. 또 다른 일례로서, 이전에 관측된 상이한 문서의 상태가 사용되어 이전에 사용된 문서들을 통해 새로운 문서들의 검색에 알맞는 기억 위치를 선택할 수 있다. 또한, 복수의 상이한 문서가 사용되어 다른 문서들을 통해 보다 인기있는 문서에 알맞은 기억 위치를 선택할 수 있다. 상이한 문서들이 예컨대 제 3 자에 의한 허가 여부는 다른 문서들을 통해 특정 기억 위치를 선택할 수 있다.
또 다른 예로서, 로컬 유저 설정은 유저의 디폴트 언어 또는 문자 세트, 유저의 숙련 레벨 등에 기초해서 기억 위치를 선택하도록 특정 기억 위치의 선택에 맞추는 것에 의존하고 있다. 또한, 유저가 멀티 타겟 링크를 활성화하는 시각에서 현재의 문맥(내용)이 사용되어 다른 문서들이 과거에 엑세스된 것에 기초해서 상이한 문서들을 엑세스 가능하도록 기억 위치를 선택할 수 있다.
멀티 타겟 링크가 또한 사용되어 유저가 복수 문서를 관측하도록 저작자(author)로 하여금 원하는 순서를 규정 가능하게 하는 링크와 결합된 상이한 기억 위치에서 순차적으로 문서들을 검색할 수 있다. 멀티 타겟 링크가 또한 사용되어 즉시 복수 기억 위치로부터 데이터를 검색 가능함에 따라, 복수 기억 위치로부터 데이터를 검색하기 위해 복수 링크를 활성화하는 유저의 노력이 줄어든다.
그러므로, 본 발명의 일 형태에 따르면, 멀티 타겟 링크와 관련된 복수의 기억 위치를 식별하는 멀티 타겟 링크로 지향된 유저 입력을 검색하고 복수의 기억 위치들 중 선택된 하나에 저장된 데이터에 엑세스함으로써 데이터가 컴퓨터로부터엑세스될 수 있다. 본 발명의 또 다른 형태에 따르면, 하이퍼텍스트 문서는 하이퍼텍스트 문서를 저작하여 관련된 복수의 기억 위치를 식별하는 멀티 타겟 하이퍼텍스트 링크 정의를 하이퍼텍스트 문서내에 내장함으로써 생성될 수 있다. 또한, 본 발명의 또 다른 형태에 따르면, 관련된 복수의 기억 위치를 식별하는 적어도 하나의 멀티타겟 하이퍼텍스트 링크 정의를 내장한 하이퍼텍스트 문서를 포함하는 프로그램 제품과 하이퍼텍스트 문서를 내장한 신호 내장 매체가 제공될 수 있다.
이후, 본 발명의 보다 상세한 설명을 위해 첨부된 도면을 참조하여 본 발명을 설명하기로 한다.
하드웨어 및 소프트웨어 환경
도면에서, 동일 참조 부호는 동일 구성 요소를 나타내며, 도 1은 본 발명에 따른 컴퓨터 시스템(10)을 도시한다. 컴퓨터 시스템(10)은 네트워크(18)를 통해 서버(16)(예, PC를 근간으로 하는 서버, 미니컴퓨터, 중급 컴퓨터, 메인 프레임 컴퓨터 등)에 연결된 하나 이상의 클라이언트 컴퓨터(12,14,20)(예, 데스크톱 또는 PC를 근간으로 하는 컴퓨터, 워크 스테이션 등)를 포함하는 네트워크 연결된 컴퓨터 시스템으로서 도시되고 있다. 네트워크(18)는 근거리, 광역, 무선, 공용망(예, 인터넷)을 포함하는(이들에 만 제한되지는 않음) 네트워크 연결된 상호 접속 유형을 실용적으로 나타낼 수 있다. 게다가, 임의 수의 컴퓨터 및 다른 디바이스들이 네트워크(18), 예컨대 복수의 서버를 통해 네트워크 연결될 수 있다.
컴퓨터(12,14)와 유사한 클라이언트 컴퓨터(20)는 중앙 처리 장치(CPU)(21)와, 컴퓨터 디스플레이(22)와 같은 복수의 주변 구성 요소와, 기억 장치(23)와, 프린터(24)와, 각종 입력 장치(예, 마우스(26) 및 키보드(27))를 포함할 수 있다. 서버 컴퓨터(16)는 공지 기술에서 잘 알려진 바와 같이 대처리 성능과 기억 용량을 갖는 서버 컴퓨터와 유사하게 구성될 수 있다.
도 2는 본 발명에 따른 장치(30)의 예증의 하드웨어 및 소프트웨어 환경을 또 다른 방식으로 도시하고 있다. 본 발명의 목적을 위해, 장치(30)는 클라이언트 컴퓨터(예, 도 1의 컴퓨터(12,14,20)와 유사한 컴퓨터), 서버 컴퓨터(예, 도 1의 서버(16)와 유사한 서버 컴퓨터), 포터블 컴퓨터, 내장된 제어기 등을 포함하는 임의 유형의 컴퓨터, 컴퓨터 시스템 또는 다른 프로그램 가능한 전자 디바이스를 실용적으로 나타낼 수 있다. 장치(30)는 도 1에 도시한 바와 같이 네트워크에서 결합될 수 있거나, 혹은 대안적으로 독립형 디바이스일 수 있다. 이후, 비록 "장치"란 용어가 본 발명에 따른 다른 적절한 프로그램 가능한 전자 디바이스들을 포함할 수 있는 것으로 이해될 수 있을 지라도 장치(30)는 "컴퓨터"를 지칭하는 것이다.
컴퓨터(30)는 통상 메모리(32)에 연결된 적어도 하나의 프로세서(31)를 포함한다. 프로세서(31)는 하나 이상의 프로세서(예, 마이크로프로세서)를 나타낼 수 있으며, 메모리(32)는 컴퓨터(30)의 주기억 장치를 포함하는 랜덤 엑세스메모리(RAM) 디바이스와, 어느 보충 레벨의 메모리, 예컨대 캐시 메모리, 비휘발성 또는 백업 메모리(예, 프로그램 가능 또는 플래시 메모리), 판독 전용 메모리 등을 나타낸다. 또한, 메모리(32)는 컴퓨터(30) 어딘가에 물리적으로 위치하는 메모리 기억장치, 예컨대 프로세서(31)의 캐시 메모리, 네트워크(38)를 통해 컴퓨터(30)에 연결된 다른 컴퓨터 또는 대용량 기억 장치(36) 상에 저장된 가상 메모리로서 사용된 기억 장치를 포함하는 것으로 고려될 수 있다.
컴퓨터(30)는 또한 통상적으로 외부적으로 정보를 전달하는 복수의 입력 및 출력을 수신한다. 유저 또는 오퍼레이터와의 인터페이스를 위해, 컴퓨터(30)는 통상 하나 이상의 유저 입력 디바이스(33)(예, 키보드, 마우스, 트랙볼, 조이스틱, 터치패드, 마이크로폰 등)와 디스플레이(34)(예, CRT 모니터, LCD 디스플레이 패널, 스피커 등)를 포함한다. 컴퓨터(30)의 어떤 구현예, 예컨대 어떤 서버 구현에 있어서, 직접적인 유저 입력 및 출력이 컴퓨터에 의해서 지원될 수 없음을 이해하여야 한다.
부가적인 기억을 위해, 컴퓨터(30)는 또한 하나 이상의 대용량의 기억 장치(36), 예컨대 플로피 또는 다른 제거 가능한 디스크 드라이브, 하드 디스크 드라이브, 직접 엑세스 기억 장치(DASD), 광학 드라이브(예, CD 드라이브, DVD 드라이버 등), 테이브 드라이브 등을 포함할 수 있다. 게다가, 컴퓨터(30)는 네트워크에 연결된 다른 컴퓨터와 정보 교신이 가능하도록 하나 이상의 네트워크(38)(예, LAN, WAN, 무선 네트워크, 인터넷 등) 구비한다. 컴퓨터(30)는 본 발명이 속하는 기술 분야에서 공지된 바와 같이 통상 프로세서(31)와 각각의 구성 요소(32, 33,34, 36, 38) 사이의 적절한 아날로그 및/또는 디지탈 인터페이스를 포함하는 것으로 이해해야 한다.
컴퓨터(30)는 운영 체제(40)의 제어하에 동작하며, 각종 컴퓨터 소프트웨어 응용 프로그램, 구성 요소, 프로그램, 오브젝트, 모듈, 데이터 구조 등(예, 브라우저(41) 및 북마크 데이터 구조(42))에 의존한다. 게다가, 각종 응용 프로그램, 구성 요소, 프로그램, 오브젝트, 모듈 등은 또한 분배 또는 클라이언트 서버 계산 환경에서와 같은 하나 이상의 프로세서에서 실행할 수 있으므로, 컴퓨터 프로그램의 기능들을 구현하는데 필요한 처리는 네트워크를 통해 다중 컴퓨터에 할당될 수 있다.
일반적으로, 본 발명의 실시예들을 구현하기 위해 실행된 루틴은 운영 체제 또는 특정 응용 프로그램의 부분으로서 구현되는지에 따라서 구성 요소, 프로그램, 오브젝트, 모듈 또는 명령의 순서를 "컴퓨터 프로그램" 또는 단순히 "프로그램"이라고 명명할 것이다. 컴퓨터 프로그램은 통상 컴퓨터의 각종 메모리 및 기억 장치에 상이한 시각에 상주하며, 컴퓨터의 하나 이상의 프로세서에 의해서 판독 및 실행될 때, 컴퓨터로 하여금 본 발명의 각종 형태를 구현하는 단계들 또는 요소들을 실행하는 데 필요한 단계들을 실행하게 하는 하나 이상의 명령을 포함한다. 게다가, 완전하게 기능하는 컴퓨터와 컴퓨터 시스템에서 본 발명이 기술되며 당업자는 본 발명의 각종 실시예들이 각종 형태의 프로그램 제품으로서 분배될 수 있고 본 발명은 실제적으로 분배를 행하기 위해 사용되는 특정 유형의 신호 저장 매체와 관계없이 동일하게 적용할 수 있음을 이해할 수 있을 것이다. 신호 저장 매체의 예들은 휘발성 및 비휘발성 메모리 디바이스와, 플로피 및 다른 제거 가능한 디스크, 하드 디스크 드라이버, 광학 디스크(예, CD-ROM, DVD 등), 디지탈 및 아날로그 통신 링크와 같은 전송 형 매체를 포함할 수 있으며, 이들에 만 제한되지는 않는다.
또한, 여기서 기술되고 있는 각종 프로그램들은 본 발명의 특정 실시예에서 구현되는 응용 프로그램에 기초해서 분류 가능하다. 그러나, 잇따르는 어느 특정 프로그램 용어 체계는 단지 편의를 위해 사용되며 본 발명은 이러한 용어 체계에 의해서 식별되고 함축된 어느 특정 응용 프로그램에서 사용하는 것으로 제한되어서는 안된다.
당업자라면 도 1 및 도 2에 도시된 예증의 환경이 본 발명을 제한하는 것으로 고려되지 않음을 이해할 것이다. 당업자라면 다른 대안의 하드웨어 및/또는 소프트웨어 환경이 본 발명의 범위를 일탈하지 않고 사용 가능함을 인지할 것이다.
멀티 타겟 링크로 네비게이션
여기서 기술된 실시예들은 멀티 타겟 링크를 이용하여 유저로부터 수신된 입력에 따라서 하나 이상의 복수의 이용 가능한 "타겟"에 네비게이트한다. 각 타겟은 통상 그의 기억 위치, 예컨대 변함없는 자원 표시자(URL), 파일명, 경로, 및/또는 컴퓨터 시스템의 문서를 어드레싱하는 다른 방식에 의해서 식별된다. 특정 기억 위치에 기억된 문서는 텍스트, 그래픽, 비디오, 오디오, 실행 가능한 다른 유형의 컴퓨터 데이터를 포함하는 컴퓨터 데이터, 예컨대 하이퍼텍스트 및 다른 문서, 컴퓨터 파일, 전자 메시지 등을 포함하는 것으로 고려될 수 있다.
예증의 실시예에서, 멀티 타겟 링크는 HTML 프로코콜을 이용하여 포맷된 URL에 기억된 문서들의 적어도 일부로 타겟을 나타내는 복수의 URL을 식별한다. 그러나, 다른 데이터 포맷 및 기억 위치는 대안의 데이터 포맷 및 기억 위치에서 사용 가능하며 본 발명은 여기서 기술되는 특정 실시예에 만 제한되는 것은 아니다.
또한, 예증의 실시예에서 멀티 타겟 링크는 내장 하이퍼텍스트 링크 및 북마크의 변형으로서 구현될 수 있다. 내장 하이퍼텍스트 링크로서 구현될 때, 멀티 타겟 링크는 특정 하이퍼텍스트 문서에 내장된 하이퍼텍스트 링크 정의에 의해, 예를 들어 저자가 문서의 초안을 작성할 때 문서의 저자에 의해서 정의된다. 한편, 북마크(에일리어스, 단축키 또는 즐겨찾기로서 알려진)로서 구현될 때, 멀티 타겟 링크는 통상 특정 유저에 대한 고객 북마크 리스트 데이터 구조에서 유지된다. 그러나, 다른 실시예에서 다른 멀티 타겟 링크 구현은 소정 유저 입력에 응답하는 복수의 네비게이션 타겟을 정의하기 위해 사용될 수 있다. 이와 같이 "링크"란 용어는 본 발명에 따른 멀티 타겟 링크의 어느 가능한 구현을 일반적으로 구현하기 위해 사용될 수 있다.
내장된 하이퍼텍스트 링크 구현과 관련하여, 멀티 타겟 링크는 예컨대 멀티 타겟 링크에 특정한 새로운 태그 포맷을 정의함으로써 구현 가능하다. 한편, 적절한 인프라구조가 단일 타겟 하이퍼텍스트 링크를 지원하기 위한 프로토콜내에서 존재한다고 하면, 멀티 타겟 링크는 부가 타겟을 지원하기 위한 기존의 HTML 프로토콜을 확장함으로써 단순히 구현 가능하다고 여겨진다. 예컨대, 멀티 타겟 링크를 정의하는 하나의 적절한 HTML 확장은 아래의 표 I에서 보여지는 바와 같이 "앵커"HTML 엘리먼트의 확장이다.
[표 I]
멀티 타겟 하이퍼텍스트 링크 정의 포맷
〈A
HTYPE = "[Link_Type]"
HREF = "[URL 1]"
HREF = "[URL 2
*
*
*
HREF = "[URL N]"
[링크에 대한 디스플레이 텍스트 또는 그래픽 이미지]
〈/A〉
이러한 구현에 있어서, 새로운 필드 유형 "HTYPE"는 저자로 하여금 멀티 타겟 링크의 특정 유형을 정의 가능 하도록 정의된다. 예컨대, "강건", "패스트", "프레시" 등을 포함하는 다수의 링크 유형들이 정의될 수 있다. 또한, 별개의 HTYPE 필드가 어떤 구현, 예컨대 오직 하나의 유형이 지원되거나 혹은 브라우저 구성 설정과 같은 외부의 소스를 통해 또는 문서의 다른 정보를 통해 그 유형이 확인될 수있다면, 필요로 하지 않을 수 있다. 또한, 어떤 구현에 있어서, 외부의 소스(예, 브라우저 구성 설정)로부터 또는 문서의 다른 정보로 하여금 HTYPE 필드에서 제공된 링크 유형을 무시하게 하는 것이 바람직할 수 있다.
또한, 하나 이상의 타겟을 정의하기 위해 HTML 확장은 단순히 어느 소정의 태그에서 종래의 "HREF" 필드의 복수의 예의 이용을 허용한다. 또한, 타겟 들중 하나(예, 아래에 상세히 기술된 링크 유형에 특정한 연대순 조건, 문맥 조건, 문서 변환, 문서 언어, 문서 문자 세트, 또는 다른 데이터)를 선택하기 위해 사용하는 타겟에 대한 정보를 공급하기 위해 순서화 정보를 공급하는 각 타겟에 대한 부가 정보를 제공하도록 이 필드를 확장하기 위한 어떤 구현에서 바람직할 수 있다. 순서화 정보를 공급하기 위한 대안으로서, 타겟의 순서는 또한 태그에서 타겟의 순서화로 함축될 수 있다.
여기서 기술된 각종 멀티 타겟 링크 구현을 지원하기 적합한 다른 HTML 확장은 당업자에게는 자명한 것이다.
멀티 타겟 링크의 북마크 구현에 대해서, 도 3은 북마크 레코드(44)의 링크된 리스트를 포함하는 북마크 데이터 구조(42)를 보다 상세히 도시하고 있으며, 각각의 북마크 레코드는 일련의 필드(46,48,50,52)를 갖고 있다. 각 북마크 레코드(44)의 필드(46)는 유저가 북마크 리스트를 관측하고 있을 때 통상 유저에게 디스플레이되는 북마크에 대한 타이틀을 정의한다. 필드(48)는 북마크에 대한 복수 타겟을 정의하는 URL 레코드(54)의 링크 연결된 리스트에 포인터를 저장한다. 선택 필드(50)는 필요하다면 멀티 타겟 링크에 대한 링크 유형을 정의하며 필드(52)는다음 북마크 레코드(44)에 대한 포인터를 데이터 구조에 저장한다. 데이터 구조에 있는 최종 북마크 레코드의 필드(52)는 통상 널(NULL) 포인터를 저장한다.
각 URL 레코드(54)는 특정 북마크에 대한 타겟의 리스트를 관측 중일 때 유저에게 디스플레이 하기 위한 타겟의 타이틀을 정의하는 선택적 타이틀 필드(56)를 포함하고 있다. 필드(58)는 타겟에 대한 URL을 공급하고, 다음 필드(60)는 다음 URL 레코드(54)에 대한 포인터를 링크 연결된 리스트에 저장하는데, 리스트는 널 포인터를 저장하는 리스트에 있는 최종 레코드의 다름 필드로 링크 연결된다.
여기서 기술된 어느 각종 링크 유형을 구현하는데 필요한 부가 정보는 어떤 북마크에 통상적으로 저장된 다른 정보로서 데이터 구조(42)에 저장될 수 있음을 이해하여야 한다. 또한, 데이터 구조(42)는 소정의 북마크 레코드에 대한 오직 하나의 URL 레코드(54)를 구비하고, 링크 타입 필드에 널 또는 싱글 링크 타입을 저장함으로써 간단히 종래의 싱글 타겟 링크를 지원할 수 있다. 또한, 여기서 기술된 임의의 북마크 및 멀티 타겟 링크 정보를 구성하기 위한 다른 데이터 구조가 사용 가능하다. 또한, 데이터 구조(42)와 유사한 데이터 구조를 사용하여 새로운 문서가 브라우저에서 검색되는 임의 시각에 갱신되는 다이내믹 데이터 구조로 소정의 하이퍼텍스트 문서에 대한 내장된 하이퍼텍스트 링크 정의를 저장하기 위해 사용될 수 있음을 이해하여야 한다.
본 발명에 따른 브라우저로 구현될 수 있는 상이한 링크 유형을 도시하기 위해 도 4에는 브라우저(41)에 대한 메인 루틴(70)이 도시되고 있다. 루틴(70)은 사건 구동 구현을 도시하고 있는데, 브라우저(41)는 블록(72)에서 사건들을 대기한다음, 블록(72,74,76,78,80,82,84)에서 각종 사건들을 검출하고 다룬다. 블록(72-82)에서 검출된 사건들은 본 발명에 따른 멀티 타겟 링크의 구현을 상세화한다. 그러나, 본 발명을 이해하는데 중요하지 않은 부가적인 다수 사건은 블록(84)으로 나타낸 바와 같이 브라우저(41)에 의해서 검출되어 다루어질 수 있다. 다른 프로그래밍 구현, 예컨대 객체 지향 또는 절차 모델은 또한 대안으로서 사용 가능함을 이해하여야 한다.
루틴(74)에 의해서 다루어진 한 관련 사건은 블록(74)에서 검출되고 링크 루틴(86)으로의 네비게이트에 의해 다루어진 추종 링크 사건(follow link event)이다. 추종 링크 사건은 통상 마우스 포인터가 하이퍼텍스트 링크의 디스플레이 표시 위에 놓여지는 동안에 마우스 버튼을 누르는 유저에 의해서 브라우저로 디스플레이된 하이퍼텍스트 링크 정의의 디스플레이 표시에 대한 유저 지향 입력에 응답하여 발생된다.
루틴(70)에 의해서 다루어진 또 다른 관련 사건은 블록(76)에서 검출되고, 또한 링크 루틴(86)으로의 네비게이트에 의해서 다루어진 활성 북마크 사건이다. 활성 북마크 사건은 통상 현재 디스플레이된 북마크 리스트로부터 북마크를 선택하는 유저에 따라서 생성된다. 도시된 실시예의 설명을 용이하게 하기 위해 링크 루틴(86)으로의 네비게이트는 하이퍼텍스트 링크 및 북마크에 대해 일반적인 것으로서 기술된다. 그러나, 별개의 루틴이 다른 구현에서 사용 가능함을 이해하여야 한다.
루틴(70)에 의해서 다루어지는 부가적인 사건은 블록(78)에서 검출되고 디스플레이 페이지 루틴(88)에 의해서 다루어지는 디스플레이 페이지 사건이다. 이 사건은 브라우저에 의해서 검색된 하이퍼텍스트 문서의 디스플레이 표현을 디스플레이하기 위해 사용되고 이후 도 22를 참조하여 보다 상세히 설명하기로 한다
루틴(70)에 의해서 다루어진 또 다른 사건은 블록(80)에서 검출되어 블록(90)에 의해서 다루어지는 디스플레이 북마크 리스트 사건이며, 북마크의 리스트는 통상의 방식으로 유저에게 디스플레이된다. 그러나, 하이퍼텍스트 링크 또는 북마크의 디스플레이 표시 위에 마우스 포인터를 위치 지정하는 유저에 응답하여 블록(82)에서 검출되어 블록(92)에 의해서 다루어지는 링크/북마크 사건에 또 다른 사건이 집중된다. 블록(92)은 예컨대 하이퍼텍스트 링크 또는 북마크와 관련된 링크에 대해 URL의 리스트 및 타입을 표시하는 포인터와 인접한 팝업 윈도우를 디스플레이 하도록 구성될 수 있다.
도 5에는 링크 루틴(86)으로의 네비게이트가 보다 상세히 도시되고 있다. 루틴(86)은 기본적으로 유저에 의해서 활성화된 링크의 특정 유형에 기초해서 복수의 서브루틴 중 하나를 호출하여 동작한다. 전술한 바와 같이, 특정 링크의 링크 유형은 수개의 소스, 예컨대, 유저의 로컬 브라우저 설정 또는 링크에 대한 북마크/하이퍼텍스트 링크 정의로부터 결정될 수 있다. 이와 같이, 루틴(86)은 브라우저 무시 설정(browser override setting)이 가능한지를 우선 결정함으로써 블록(100)에서 시작하며, 그에 따라 가능하다면, 브라우저 디폴트 링크 유형은 제어 루틴을 블록(102)으로 전달함으로써 링크에서 정의된 어느 링크 유형과는 무관하게 자동적으로 선택된다. 무시 설정이 가능하지 않으면, 링크 유형이 링크 자체에서 규정되는지를 결정하기 위해 제어 루틴이 블록(104)으로 전달된다. 그렇지 않으면, 제어 루틴은 브라우저 디폴트를 선택하기 위해 블록(102)으로 전달된다. 그러나, 링크 유형이 규정되면, 그 링크 유형은 제어 루틴을 블록(106)에 전달함으로서 선택된다.
일단 링크 유형이 선택된 다음에, 두 블록(102,106)에 일련의 결정 블록(108-132)으로의 제어 루틴이 전달되며, 일련의 결정 블록 각각은 특정 링크 유형을 검출하여 제어 루틴을 전용의 핸들링 루틴으로 전달한다. 이러한 링크 유형이 검출되지 않으면, 본 발명이 속하는 기술 분야에서 잘 알려진 방식으로 링크에 대한 최초(멀티 타겟 링크라면) 혹은 오직 하나의(단일 타겟 링크라면) URL을 검색하여 디스플레이하도록 디폴트 블록(134)이 실행된다.
블록(108)은 제어를 프로세스 강건 링크 루틴(136)으로 전달하는 "강건" 링크 유형을 검출하며, 블록(110)은 프로세스 패스트 링크 루틴(138)으로 제어 루틴을 전달하는 "패스트" 링크 유형을 검출한다. 블록(112)은 제어 루틴을 프로세스 크기 링크 루틴(140)으로 전달하는 "크기" 링크 유형을 검출한다. 블록(114)은 제어 루틴을 프로세스 프레시 링크 루틴(140)으로 전달하는 "프레시" 유형을 검출한다. 블록(116)은 제어 루틴을 프로세스 연대순 링크 루틴(144)으로 전달하는 "연대순" 링크 유형을 검출한다. 블록(116)은 제어 루틴을 프로세스 신규 링크 루틴(146)으로 전달하는 "신규" 링크 유형을 검출한다. 블록(120)은 제어 루틴을 프로세스 대중적 링크 루틴(148)으로 전달하는 "대중적" 링크 유형을 검출한다. 블록(122)은 제어 루틴을 프로세스 로컬 설정 링크 루틴(150)으로 전달하는 "로컬 설정" 링크 유형을 검출한다. 블록(124)은 제어 루틴을 프로세스 문맥 링크루틴(152)으로 전달하는 "문맥" 링크 유형을 검출한다. 블록(126)은 제어 루틴을 프로세스 허가 링크 루틴(154)으로 전달하는 "허가" 링크 유형을 검출한다. 블록(128)은 제어 루틴을 프로세스 주기 링크 루틴(156)으로 전달하는 "주기" 링크 유형을 검출한다. 블록(130)은 제어 루틴을 프로세스 멀티비지트 링크 루틴(158)으로 전달하는 "멀티비지트" 링크 유형을 검출한다. 블록(132)은 제어 루틴을 프로세스 멀티론치 링크 루틴(160)으로 전달하는 "멀티론치" 링크 유형을 검출한다.
모든 가능한 링크 유형이 소정의 구현으로 지원될 수 없음에 주목해야 한다. 또한, 다른 유형의 멀티 타겟 링크가 또한 다른 구현에서 사용될 수가 있다.
일반적으로, 링크가 어떻게 해석되는 지를 제어할 수 있는 두개의 주요 환경이 있다. 첫째로 멀티 타겟 링크내에 저장되는 정보를 이용하여 링크가 어떻게 해석되는 지를 제어할 수 있다. 또한, 브라우저에 대한 로컬 설정을 이용해서 링크가 어떻게 해석되는 지를 제어할 수 있다. 또한, 각종 방법론이 결합되어 동시에 이용될 수 있음에 주목하라. 예컨대, 이미 방문한 URL을 우선 제거하기 위해 새로운 링크 방법론을 이용한 다음에 강건한 링크 방법론을 이용하여 관측할 나머지 링크들 중 제1의 링크를 선택하는 것이 좋다. 당업자에게는 다른 변형들이 명확한 것이다.
다음에는 각각 열거된 링크 유형에 대해서 설명한다.
강건 링크
도 6에는 프로세스 강건 링크 루틴(136)이 보다 상세히 도시되고 있다. 강건 링크 유형은 가능하면 엑세스되는 주 타겟으로 그리고 주 타겟으로의 엑세스 시도가 성공하지 못하면 엑세스되는 대안의 타겟으로 링크의 다중 타겟이 계층적으로 정렬되는 링크의 유형을 정의한다. 이와 같이, 타겟에 의해서 식별된 URL의 서버가 핑(ping)될 수 없거나 문서가 검색 불가능 하다면 브라우저는 리스트의 다음 링크로 이동한다. 흔히, 이러한 링크의 유형은 예컨대 소정의 문서가 검색될 수 있는 대안의 타겟을 제공함으로써 브라우저로부터 "발견되지 않는 URL" 메시지의 발생을 최소화하기 위해 사용될 수 있다.
루틴(136)은 링크에서 다음의 URL을 얻음으로써 블록(170)에서 시작한다. 루틴을 통한 제1 반복에 의해, 링크에서 규정된 제1 URL이 선택된다. 다음에, 블록(170)은 URL이 브라우저에 의해서 핑되는지 여부를 결정한다. 이 실시예에서, 별개의 "핑" 쓰레드는 현재 디스플레이되고 있는 하이퍼텍스트 문서에서 정의되는 각종 링크에 대해 규정된 각각의 타겟을 테스트하기 위해 배경에서 브라우저에 의해서 실행된다. "핑" 동작은 특정 기억 위치에 대해 테스트 요구를 서버로 송신하고 그로부터의 응답을 다시 수신하는 공지의 네트워킹 동작이다. 또한, 다른 실시예에서는 별개의 "핑" 쓰레드를 이용하는 것이 바람직하지 않을 수 있으며, 그에 따라 루틴(136)은 순서적으로 각 타겟을 테스트하기 위해 필요하다.
URL이 "핑"되었다고 가정하면, 제어 루틴이 블록(174)으로 전달되어 "핑"이 성공적이었는지, 즉 그 타겟에서 식별된 URL에 대해 서버에 의한 응답이 복귀되었는 지를 결정한다. 브라우저가 응답을 수신 불가능함을 표시하는 "핑"이 성공적이지 않으면, 제어 루틴은 블록(176)으로 전달되어 보다 많은 URL이 링크에 존재하는 지를 질의한다. 그렇다면, 제어 루틴은 블록(170)으로 복귀하여 링크에서 다음 URL을 처리한다.
블록(174)으로 돌아가서, "핑"이 성공적이면, 제어 루틴은 블록(178)으로 전달되어 URL에 저장된 문서를 검색한다. 또한, 블록(172)에서 주지된 바와 같이, URL이 핑되지 않았으면, 제어 루틴은 바로 블록(178)으로 전달될 수 있어 URL에서 문서의 검색을 시도한다. 또한, 블록(176)에서 도시한 바와 같이, 성공적으로 핑된 URL이 위치하고 있지 않고, 처리될 부가적인 URL이 남아 있지 않다면, 블록(176)은 제어 루틴을 블록(178)으로 전달하여 링크에서 최종 문서의 검색을 시도한다.
다음에 블록(178)은 제어 루틴을 블록(180)으로 전달하여 문서가 성공적으로 검색되었는 지를 결정한다. 문서가 성공적으로 검색되었다면, 제어 루틴은 디스플레이 페이지 루틴(88)으로 전달되어 문서를 유저에게 전달하여 디스플레이함으로써 루틴(136)은 완료된다. 그러나, 문서가 성공적으로 검색되지 않았다면, 제어 루틴은 블록(182)으로 전달되어 링크에서 처리될 부가적인 URL이 남아 있는지를 결정한다. 그렇다면, 제어 루틴은 블록(170)으로 복귀되어 부가적인 URL을 처리한다. 그러나, 링크에 부가적인 URL이 존재하지 않으면, 블록(184)에서 에러가 복귀되고, 루틴(136)은 완료한다. 링크에서 규정되는 URL이 검색될 수 없다는 에러를 유저에게 지시한다.
URL이 루틴(136)에 의해서 계층적으로 테스트될 수 있도록 각 URL이 등급 지정과 관련됨에 주목해야 한다. 대안에 있어서, 링크용 데이터 구조로 URL을 배열함으로써 단순히 링크에 대한 URL의 계층을 정의하는 것이 좋을 수 있다.
도 7은 유저에게 현재 디스플레이된 소정 하이퍼텍스트 문서로 규정된 각종타겟을 테스트하기 위해 사용된 "핑" 쓰레드(190)를 도시한다. 루틴(190)은 이 쓰레드가 시작되는 문서가 브라우저에 의해서 여전히 디스플레이되는 지를 결정함으로써 블록(192)에서 시작한다. 문서가 디스플레이되고 있으면, 제어 루틴은 블록(194)으로 전달되어 문서에서 모든 멀티 타겟 링크 URL을 결정한다. 또한, 이 블록내에서 URL들 중 어느 것이 핑되었음을 나타내는 지를 표시하는 어느 지시자 또는 플래그를 리세트하는 것이 바람직할 수 있다. 다음에, 블록(196)에서 각 URL(또는 단순히 그 URL, 예컨대 도메인 명에 대해서 서버를 식별하는 각 URL의 부분)은 순차적으로 브라우저에 의해서 핑된다. 또한, 각 URL이 핑된 후, 플래그 또는 다른 지시자는 URL이 핑되었음을 표시하도록 설정된다.
다음에, 블록(198)에서, URL에 대해 서버로부터의 응답을 수신하는 시간을 완료하기 위해 각 핑에 대한 시간이 기록된다. 다음에, 블록(199)에서, "핑" 쓰레드(190)는 소정 시간 동안 슬리프 상태를 입력한다. 다음에 제어 루틴은 문서가 유저에게 여전히 디스플레이되고 있으면 각 타겟을 재분석하기 위해 블록(192)으로 복귀한다. 일단 새로운 문서가 표시된 다음에, 블록(192)은 "핑" 쓰레드(190)를 종결한다.
각 "핑"을 완료하기 위한 시간의 기록은 고속 링크의 어떤 구현에 의해서 이용되며, 이러한 유형이 지원되지 않으면 생략 가능하다.
고속 링크
도 8은 보다 상세히 프로세스 고속 링크 루틴(138)을 도시한다. 고속 링크유형은 주 문서가 이용 가능하지 않으면 단지 대안의 문서를 수신하기 보다는 고속의 링크 유형이 복수의 타겟중 어느 것이 유저에게 최적의 성능을 제공하는 지를 결정하기 위해 시도한다는 점을 제외하곤 강건한 링크 유형과 여러 면에서 유사하다. 복수의 타겟 중 어느 것이 최상의 성능을 제공하는 지의 결정은 수개의 방식으로 행해질 수 있다. 예컨대, 루틴(138)으로 도시된 바와 같이, 최상의 성능은 복수의 타겟 각각과 관련된 응답 시간을 비교함으로써 정해질 수 있다.
특히, 루틴(138)은 링크에서 URL의 리스트를 구축함으로써 블록(200)에서 시작한다. 다음에, 블록(202)은 "핑" 시간이 예컨대 전술한 바와 같이 배경 "핑" 쓰레드에 의해서 링크에서 각 URL에 대해서 계산되었는 지를 결정한다. 계산되지 않았다면, 제어 루틴은 블록(204)으로 전달되어 그를 위해 기록된 "핑" 시간을 갖지 않는 각 URL을 "핑"하도록 블록(204)으로 전달되고 각 "핑"을 완료하기 위한 시간을 기록한다. 다음에 제어 루틴은 블록(206)으로 전달되어 가장 빠른 "핑" 시간을 갖는 URL에 저장된 문서를 검색한다. 또한, 블록(202)으로 복귀하여 "핑" 시간이 각 URL에 대해서 완료되었다면 제어 루틴은 블록(206)으로 직접 전달된다.
다음에 블록(206)은 제어 루틴을 블록(208)에 전달하여 문서가 성공적으로 검색되었는 지를 결정한다. 문서가 성공적으로 검색되었다면, 제어 루틴은 디스플레이 페이지 루틴(88)으로 전달됨으로써 루틴(138)을 완료한다. 그러나, 문서가 성공적으로 수신되지 않았으면, 제어 루틴은 블록(210)으로 전달되어 리스트에서 실패한 URL을 제거한 다음, 블록으로 전달되어 리스트에서 추가 URL이 남아 있는 지를 결정한다. 리스트에 추가 URL이 남아 있다면, 제어 루틴은 블록(206)으로 복귀되어 다음의 가장 빠른 URL을 검색한다. 그러나, 리스트에 추가 URL이 남아 있지 않으면, 제어 루틴은 블록(214)으로 전달되어 문서가 성공적으로 검색되지 않았다는 에러를 신호 전송한다. 다음에 루틴(138)은 완료된다.
유저에 대해 최고의 성능을 갖는 타겟이 또한 본 발명에 따른 다른 방법으로 결정될 수 있다. 예컨대, 응답 시간을 이용하기 보다는 샘플 전달율이 예컨대 각 타겟에 저장된 데이터 부분을 검색함으로써 계산될 수 있다. 이러한 계산은 비교적 큰 용량의 다운로드, 예컨대 인터넷으로부터 대용량의 응용 프로그램을 다운로드할 때 응답 시간을 계산하는 것 보다 우수할 수 있음에 주목해야 한다. 이러한 링크의 사용은 예를 들면 응용 프로그램을 다운로드 하기 위한 가장 빠른 미러 사이트가 선택될 수 있도록 링크와 관련된 복수의 미러 사이트로 유저가 소정의 응용 프로그램을 다운로드 하도록 선택 가능한 하나의 링크를 문서 저자가 제공 가능하게 한다.
크기 링크
도 9에는 프로세스 크기 링크 루틴(140)이 보다 상세히 도시되고 있다. 크기 링크 유형은 문서를 다운로드 하기 위한 응답 시간이 그 문서의 크기에 따라서 가변한다면 고속 링크 유형의 변형이 있도록 어떤 면에서 고려될 수 있다. 그러나, 다른 설정에 있어서 유저가 복수의 대안 중에서 가장 큰 문서를 요구하는 것이 바람직할 수 있다. 그러므로, 루틴(140)에 의해 유저는 예컨대 링크가 선택되는 시각에 규정된 전용 입력을 통해(예, 팝업 메뉴 또는 대화 상자를 통해) 또는 로컬 브라우저 설정에 의해 복수의 문서 중에서 가장 작거나 가장 큰 문서를 요구할 수 있다.
루틴(140)은 링크에서 URL의 리스트를 구축함으로써 블록(220)에서 시작한다. 다음에, 블록(222)은 그 URL에 대해 서버로부터 정보를 요청함으로써 혹은 본 발명이 속하는 기술 분야에서 공지된 다른 방식으로 각 URL에 저장된 문서의 크기를 결정한다. 다음에 블록(224)은 소형 설정 또는 대형 설정이 유저에 의해서 요청되었는 지를 결정한다. 소형 설정이 요청되면, 제어 루틴은 블록(226)으로 전달되어 가장 작은 URL에서 문서를 검색한다. 한편, 대형 설정이 요청되면, 블록(228)은 가장 큰 URL에서 문서의 검색을 실행한다. 설정에 관계없이, 다음에 제어 루틴은 블록(230)으로 전달되어 문서가 성공적으로 검색되었는 지를 결정한다. 문서가 성공적으로 검색되었다면, 디스플레이 페이지 루틴(88)이 호출되며, 그에 따라 루틴(140)이 완료된다. 문서가 성공적으로 검색되지 않았다면, 제어 루틴은 블록(232)으로 전달되어 리스트에서 URL을 제거한다. 다음에, 블록(234)은 추가 URL이 처리될 리스트에 남아 있는지 여부를 결정한다. 추가 URL이 리스트에 남아 있다면, 제어 루틴은 블록(224)으로 복귀한다. 그러나, 추가 URL이 리스트에 남아 있지 않다면, 블록(236)으로 에러 신호가 전송되고 루틴(140)은 완료된다.
최적 성능의 결정 이외에 다른 용도가 동일 링크 유형에 대해서 고려될 수 있다. 예컨대, 문서의 크기는 자동화된 이미지/텍스트-버전 선택을 행하기 위해 또는 문서의 자바 또는 스크립트 버전 대 그의 넌자바 또는 넌스크립트 버전 사이에서 자동 선택하기 위해 이용 가능하다. 다른 용도 또한 당업자에게는 자명한 것이다.
프레시 링크
도 10에는 프로세스 프레시 링크 루틴(142)이 보다 상세히 도시되고 있다. 이러한 유형의 링크는 링크의 각종 타겟의 상대 수명을 보고 가장 최근의 문서를 유저에게 리턴한다. 대안에 있어서 가장 오래된 문서가 리턴될 수 있다.
루틴(142)은 블록(240)에서 링크의 유저 리스트를 구축함으로써 시작한다. 다음에, 다음에 블록(242)에서 각 URL이 갱신된 일자가 결정된다. 이것은 예컨대, 각 URL에 대한 타임 스탬프를 검색하거나 타임 스탬프를 결정하기 위해 문서의 텍스트를 분석함으로써 수행될 수 있다.
다음에, 블록(244)은 가장 최근의 URL에 있는 문서를 검색한 다음, 블록(246)은 문서 검색이 성공적이었는 지를 결정한다. 문서 검색이 성공적이었다면, 디스플레이 페이지 루틴(88)이 호출되고 루틴(142)은 완료된다. 그러나, 문서 검색이 성공적이지 않으면, 제어 루틴은 블록(248)으로 전달되어 리스트에서 URL을 제거한 다음 블록(250)은 추가 URL이 리스트에 남아 있는 지를 결정한다. 추가 URL이 리스트에 남아 있으면, 제어 루틴은 블록(244)으로 전달되어 다음의 가장 최근의 URL을 검색한다. 그러나, 모든 URL이 리스트에서 제거되면, 제어 루틴은 블록(252)으로 전달되어 에러 신호를 전송함으로써 루틴(142)을 완료한다.
각 URL이 갱신된 일자가 루틴(142)에서 수행되기 보다는 "핑" 쓰레드로서 배경에서 수행될 수 있음에 주목해야 한다.
연대순 링크
도 11은 프로세스 연대순 링크 루틴(144)을 보다 상세히 도시하고 있다. 연대순 링크는 특정 문서가 링크의 선택에 따라서 검색을 위해 선택되어야 하는 시간을 정의하는 연대순 기준에 대하여 타겟들 중 적어도 하나와 관련이 있다. 하나 이상의 타겟에 대한 연대순 기준과 비교되는 시간은 특정 문서가 갱신될 때에 기초한다. 또한, 시간 및 일자의 제한이 다른 것과 무관하게 제공될 수 있다.
연대순 링크를 구현하기 위해 통상 하나 이상의 타겟이 연대순 기준과 관련이 있을 수 있다. 북마크 구현에 대해서, 이러한 유형의 링크는 타겟을 선택하기 전에 일치되어야 만 하는 연대순 기준를 규정하는 각 URL 레코드에서 부가 필드를 필요로 할 수 있다. 하이퍼텍스트 링크 구현의 경우, 이러한 정보는 예컨대 부가 필드로서 태그내에 내장될 수 있다. 멀티 타겟 링크에 대해 각 링크는 연대순 기준과 관련이 있을 수가 있거나 대안에 있어서 하나 이상의 타겟이 그와 관련된 연대순 기준을 갖지 않을 수 있으며, 그에 따라 하나 이상의 이러한 타겟은 디폴트 타겟으로서 기능할 것이다.
루틴(144)은 그에 대한 최초의 URL로 시작하는 링크에서 다음 URL을 검색함으로써 블록(260)에서 시작한다. 다음에, 블록(262)에서, 연대순 기준이 URL과 관련이 있는 지가 결정된다. 연대순 기준이 URL과 관련이 있다면, 제어 루틴은 블록(264)으로 전달되어 현재의 시간과 일차가 URL의 기준과 일합하는 지를 결정한다. 대안의 실시예에서 문서의 갱신 시간이 연대순 기준과 비교되면, 블록(264)은URL에 대한 갱신 정보를 검색한 다음, 이어서 갱신 정보를 소정 기준과 비교함으로써 대체된다.
블록(264)의 조건이 부합되지 않으면, 제어 루틴은 블록(266)으로 전달되어 처리를 위해 링크에 추가 URL이 존재하는 지를 결정한다. 링크에 추가 URL이 존재하면, 제어 루틴은 블록(260)으로 전달되어 이러한 추가 URL을 처리한다.
블록(264)으로 돌아가서, 현재 시각 및/또는 일자가 기준과 일치하면, 제어 루틴은 블록(268)으로 전달되어 그 URL에 기억된 문서를 검색한다. 또한 블록(262)으로 다시 리턴되어, 연대순 기준이 URL과 관련이 없다면, 제어 루틴은 블록(268)으로 바로 전달된다. 게다가, 블록(264)에서 조건이 일치하면, 링크에서 처리될 더 이상의 추가 URL이 남아 있지 않으며, 블록(266)은 제어 루틴을 블록(268)으로 넘겨서 링크의 최종 URL에 저장된 문서를 디폴트로서 검색한다.
URL에 저장된 문서의 검색 시, 제어 루틴은 블록(270)으로 전달되어 문서 검색이 성공적인지 여부를 결정한다. 문서 검색이 성공적이면, 디스플레이 페이지 루틴(88)이 호출되어 루틴(144)을 완료한다. 그러나, 문서가 검색되지 않으면, 제어 루틴은 블록(272)으로 전달되어 링크에 보다 많은 URL이 존재하는 지를 결정한다. 그렇다면, 블록(260)으로 전달되어 추가 링크를 처리한다. 그러나, 그렇지 않다면 블록(274)은 유저에게 에러 신호를 전송하고 루틴(144)을 종결한다.
이러한 유형의 링크에 대한 다른 가능한 용도 중에서, 특히 유익한 하나의 용도는 상이한 문서들이 상이한 시각에 수신되도록 규정될 것이다. 예컨대, 주식 시장의 멀티 타겟 링크는 시장 재생 또는 요약 문서와 관련된 제2 타겟과 함께 현재의 시장 상태 문서에 대한 제1 타겟을 갖는다. 주식 시장이 개장되는 시간 동안에, 연대순 기준은 링크의 선택이 현재의 시장 상태의 검색이 됨을 강요하며, 시장이 폐장되면, 대신에 시장 재생 문서가 검색될 것이다.
신규 링크
도 12에는 프로세스 신규 링크 루틴(146)이 보다 상세히 도시되고 있다. 신규 링크는 통상 현재 또는 이전 브라우징 세션 동안에 사전 관측된 다른 링크를 통해 방문되지 않는 링크들을 선호하도록 사용된다. 어떤 링크가 사전에 관측되는 지를 결정하기 위한 다수의 방법이 사용 가능하다. 예를 들면, 브라우저에 대한 로컬 이력의 캐시는 특정 타겟이 캐시에 저장되는 지를 결정하기 위해 검색될 수 있다. 대안의 경우, 한 문서는 이와 관련된 URL이 북마크 리스트에 저장되면 사전에 관측된다고 여겨진다. 문서가 사전에 사용되는 지를 결정하기 위한 다른 방법들이 대안으로서 사용 가능하다.
루틴(146)은 제1 루틴을 시작하는 링크에서 다음 URL을 얻음으로써 블록(280)에서 시작한다. 다음에, 블록(282)은 URL이 예컨대 브라우저에 대한 이력 캐시를 검색함으로써 사전에 방문하였는 지를 결정한다. URL이 사전에 방문되었다면, 제어 루틴은 블록(284)으로 전달되어 추가 URL이 처리를 위해 링크에 남아 있는 지를 결정한다. 추가 URL이 링크에 남아 있다면, 제어 루틴은 다시 블록(280)으로 전달된다. URL이 방문되었거나, 또는 추가 URL이 링크에 남아 있지 않으면, 제어 루틴은 블록(282,284)에서 블록(286)으로 전달되어 현재의 URL에 저장된 문서를검색한다. 다음에 블록(288)은 문서 검색이 성공적인 지를 결정한다. 문서 검색이 성공적이면, 디스플레이 페이지 루틴(88)이 호출되고 루틴(146)은 완료된다. 그러나, 문서 검색이 성공적이지 않으면, 블록(290)은 추가 URL이 처리를 위해 링크에 남아 있는 지를 결정한다. 추가 URL이 링크에 남아 있다면, 제어 루틴은 블록(280)으로 복귀된다. 추가 URL이 링크에 남아 있지 않으면, 제어 루틴은 블록(290)으로 전달되어 에러 신호가 전송되므로써 루틴(146)을 종결한다.
일반 링크
도 13에는 프로세스 일반 링크 루틴(148)이 보다 상세히 도시되고 있다. 일반 링크는 통상 소정 링크를 위한 각종 타겟에 대해서 '히트(heat)"의 상대적인 수를 조사함으로써 결정된다. "히트"의 수는 웹 사이트에 엑세스하는 복수 유저에 의해서 문서가 검색되는 복수의 회수이다. 통상, 이는 카운터로 각 문서를 스캐닝함으로써 수행 가능하다. 대안의 예에서, 특정 요청에 응답하여 어느 문서에 대한 정보를 트래킹하여 리턴하도록 서버를 구성할 수 있다.
루틴(148)은 링크에서 URL의 리스트를 구축함으로써 시작한다. 다음에, 블록(302)은 전술한 어느 방법으로 각 URL에 대한 "히트" 수를 결정한다. 다음에, 블록(304)은 가장 많은 "히트"를 갖는 URL에서 문서를 검색한다. 다음에, 블록(306)은 문서 검색이 성공적인지를 결정한다. 문서 검색이 성공적이면, 디스플레이 페이지 루틴(88)이 호출되고, 루틴(148)은 완료된다. 그러나, 문서 검색이 성공적이지 않으면, 제어 루틴은 블록(308)으로 전달되어 리스트로부터 URL이 제거된다음, 블록(310)은 보다 많은 URL이 리스트에 존재하는 지를 결정한다. 많은 URL이 리스트에 존재하면, 제어 루틴은 블록(304)으로 전달되어 추가 URL을 처리한다. 리스트에 많은 URL이 존재하지 않으면, 블록(312)에서 유저에게 에러 신호가 전송되고, 루틴(148)은 종결된다.
로컬 설정 링크
도 14에는 프로세스 로컬 설정 링크 루틴(150)이 보다 상세히 도시되고 있다. 로컬 설정 링크는 유저에 의한 구성 가능 여부에 따라 브라우저에 대한 특정 설정이 복수의 타겟 중 어느 것을 검색하는 지를 결정하기 위해 사용된다. 루틴(150)은 링크에서 모든 URL을 검색한 다음, 특정 로컬 설정에 부합하도록 블록(322)에서 링크의 제1 URL을 선택함으로써 함으로써 블록(320)에서 시작한다. 블록(322)은 또한 로컬 설정과 비교할 목적으로 각 URL에 있는 문서들이 검색될 것을 요한다.
다음에, 블록(324)에서 부합이 이루어지는지 결정된다. 부합이 이루어지지 않으면, 링크의 제1 URL은 블록(326)에서 디폴트에 의해 선택된다. 부합이 이루어지거나 블록(326)의 완료 시, 문서가 블록(322)에서 아직 검색되지 않았다면 블록(328)은 URL에 저장된 문서의 검색을 실행한다. 다음에, 블록(330)은 문서 검색이 성공적인지 여부를 결정한다. 문서 검색이 성공적이면, 디스플레이 페이지 루틴(88)이 호출되어 루틴(150)을 완료한다. 그러나, 검색이 성공적이지 않으면, 제어 루틴은 블록(332)으로 전달되어 에러 신호를 전송하고 루틴을 종결한다.
임의의 로컬 설정 수와 결합이 본 발명에 따른 복수의 타겟중에서 선택하기 위해 이용된다. 예컨대, 로컬 설정은 문서의 언어를 표시하는 디폴트 언어일 수 있다. 문서에 대한 언어 식별자 또는 문서의 각종 키워드 중 어느 하나가 복수의 타겟 중 어느 것이 원하는 언어와 부합하는 지를 결정하기 위해 검색될 수 있다. 이것에 의해 단일 하이퍼텍스트 링크를 이용하여 그를 위한 설정에 기초해서 상이한 유저에 대해 상이한 언어 문서를 검색 가능하게 한다.
유사한 방법으로, 로컬 설정은 문자 세트 예컨대 코드 문자 세트 식별자(CCSID)를 포함할 수 있다. 문서의 양호한 언어를 결정하는 대안의 방법 이외에, CCSID는 브라우저에 의한 변환이 행해질 필요가 없도록 브라우저와 동일한 코드 페이지의 URL을 선택하도록 이용될 수 있다.
또한, 로컬 설정은 하이퍼텍스트 문서의 원하는 디폴트 버전에 기초할 수 있다. 예를 들면, 각종 버전 유형, 예컨대 텍스만의 버전, 그래픽 버전, 자바 가능 버전, 넌자바 버전, 스크립된 버전, 넌스크립된 버전 등이 사용 가능하다. 이러한 설정은 유저에 의해 구성될 수가 있거나 특정 브라우저의 본래의 능력을 나타낼 수 있다. 이와 같이, 특정 브라우저가 특정 테크놀러지를 지원할 수 없으면, 대체 문서가 그 대신에 검색될 수 있다. 상이한 문서를 선택하기 위해 이용 가능한 다른 로컬 설정 중에서, 유저 숙련 레벨 또는 다른 관심이 상이한 문서들 중에서 선택하도록 이용 가능하다. 예를 들면, 유저는 "초보" 및 "숙련" 유저 설정 중에서 선택가능함으로써, 상이한 유저의 숙련 레벨에 맞추어진 문서들은 상이한 유저에 대해서 검색 가능하다.
광범위한 각종의 대안의 로컬 설정이 대안의 실시예에서 사용 가능함을 알 수 있을 것이다. 또한, 복수 유저의 설정은 또한 각종 타겟 중에서 선택하도록 동시에 사용 가능함에 주목해야 한다.
문맥 링크
도 15는 프로세스 문맥 링크 루틴(152)을 보다 상세히 도시한 도면이다. 맞추어진 링크라고도 지칭되는 문맥 링크는 복수의 타겟 중 어느 것이 유저의 이전 네비게이션 이력에 기초해서 활성화되는 지를 결정하기 위해 하이퍼텍스트 링크 정의 또는 북마크 데이터 구조와 관련된 문맥 정보를 이용할 수 있다. 예증의 실시예에서, 예컨대 현재 관측되는 하이퍼텍스트 문서에 대하여 복수의 하이퍼텍스트 링크의 이전 관측된 상태는 복수의 타겟 중 어느 것이 멀티 타겟 링크의 유저 선택에 따라서 활성화하는 지를 결정하기 위해 각 타겟과 관련된 문맥 기준에 대하여 비교된다. 대안의 실시예에서, 현재 관측된 문서에서 특정 링크의 타겟을 반드시 필요로 하지 않는 다른 문서의 사전 관측된 상태가 사용 가능하다. 이러한 링크의 이점은 문서 설계자가 어떠한 링크를 선택하더라도 다른 개념을 이해하기 위해 필요로 하는 특정 정보를 유저가 탐색할 수 있게 한다.
루틴(152)은 링크에서 다음 URL을 얻음으로써 블록(340)에서 시작하는데, 이 최초의 URL과 함께 시작한다. 다음에, 블록(342)은 문맥 기준이 URL과 관련이 있는 지를 결정한다. 문맥 기준이 URL과 관련이 있으면, "문맥 기준이 부합하는가?" 루틴(344)이 실행되어 URL과 관련된 문맥 기준이 부합하는 지를 결정한다. 루틴(344)이 아니오로 리턴하면, 제어 루틴은 블록(346)으로 전달되어 링크에서 처리될 보다 많은 URL이 남아 있는 지를 결정한다. 처리될 보다 많은 URL이 링크에 남아 있다면, 블록(340)으로 다시 리턴되어 이 블록에서 URL을 처리한다.
루틴(344)이 예 값을 리턴하면, 제어 루틴은 블록(348)으로 전달되어 현재의 URL에서 문서를 검색한다. 또한, 블록(342)으로 돌아가서, 문맥 기준이 소정의 URL과 관련이 없다면, 제어 루틴은 바로 블록(348)으로 전달된다. 또한, 문맥 기준이 일치하지 않으면, 링크에서 더 이상의 부가 URL이 남아 있지 않으며, 블록(346)에서 블록(348)으로 제어 루틴이 전달되어 디폴트로서 최종 URL을 검색한다. 현재의 URL에 저장된 문서의 검색 시, 제어 루틴은 블록(350)으로 전달되어 문서 검색이 성공적인지를 결정한다. 문서 검색이 성공적이면, 디스플레이 페이지 루틴(88)이 호출되어 루틴(152)은 완료된다. 그러나, 검색이 성공적이지 않으면, 제어 루틴은 블록(352)으로 전달되어 링크에 부가 URL이 남아 있는 지를 결정한다. 링크에 부가 URL이 남아 있다면, 제어 루틴은 블록으로 복귀된다. 링크에 URL이 남아 있지 않다면 블록(354)에서 유저에게 에러 신호를 전송하고 루틴(152)을 종결한다.
각종 문맥 기준은 멀티 타겟 링크에 대한 상이한 타겟과 관련이 있을 수 있다. 일례로서 링크에 대한 하나 이상의 타겟은 관련 타겟의 검색과 관련하여 유저가 전 또는 후에 방문하여야 하는 하나 이상의 문맥 URL과 관련이 있을 수가 있다. 유저가 문맥 URL을 방문하기 전에 특정 타겟을 검색하여야 만 한다면, 타겟은 문맥 URL이 사전 방문했다면 선택되지 않아야 한다. 대조적으로, 문맥 URL이 방문된 후타겟이 방문되지 않았다면, 문맥 URL을 방문하기 전에 타겟을 검색하기 위한 시도는 허용되지 않아야 한다.
소정의 멀티 타겟 링크에 대한 문맥 기준은 도 16에 도시한 방식으로 북마크 구조에 저장될 수 있다. 동 도에 도시한 바와 같이, 북마크 레코드(44)는 도 3에 도시한 URL 레코드(54)에 대한 대체 URL 레코드(360)를 지정하는 URL 필드(48)를 가질 수 있다. 각 URL 레코드(360)에 대해, 타이틀 필드(362), URL 필드(364), 다음 필드(368)는 URL 레코드(54)의 필드(56,58,60)(도 3)와 동일한 기능을 할 수 있다. 그러나, 각 URL 레코드(360)는 문맥 URL 레코드(370)의 링크 연결된 리스트에 대한 포인터를 저장하는 부가의 문맥 필드(366)를 포함한다.
각 문맥 URL 레코드(370)는 문맥 URL의 기억 위치를 정의하는 URL 필드(372)를 포함한다. 또한, 방문 전/방문 후 필드(374)는 문맥 기준에 부합하도록 유저가 문맥 URL 전 또는 후의 타겟을 방문하여야 하는 지를 결정하기 위해 사용된다. 필드(376)는 북마크 데이터 구조에 다음 문맥 URL 레코드(370)에 대한 포인터를 저장한다. 최종 레코드는 필드(376)에 저장된 널 포인터를 포함한다.
멀티 타겟 링크의 하이퍼텍스트 링크 정의 구현으로 문맥 기준을 저장하는 것은 임의 수의 방법으로 구현될 수 있다. 예를 들면, HTML 인코딩에 적합한 방식으로 또는 표 I과 관련하여 전술한 앵커 태그내에 관련 플래그와 URL을 열거하는 "문맥" 필드를 포함하는 것이 바람직하다.
도 15의 루틴(344)은 도 17에 보다 상세히 도시되고 있다. 이 루틴은 현재의 타겟 URL에 대한 다음 문맥을 얻음으로써 제1의 문맥 URL로 시작하는 블록(380)에서 시작한다. 일단, 다음 문맥 URL이 검색된 다음, 제어 루틴은 블록(382)으로 전달되어 플래그 다음의 방문이 설정되는 지를 결정한다. 방문이 설정되었으면, 제어 루틴은 블록(384)으로 전달되어 예컨대 문맥 URL과 부합하는 문서에 대한 로컬 이력 캐시를 검색함으로써 문맥 URL이 사전에 방문되었는 지를 결정한다. 문맥 URL이 방문되었다면, 이와 관련한 문맥 기준은 일치하며, 제어 루틴은 블록(386)으로 전달되어 보다 많은 문맥 URL이 분석되는 타겟 URL에 대해 존재하는 지를 결정한다. 문맥이 존재하면, 제어 루틴은 다시 블록(380)으로 전달되어 부가 문맥 URL을 분석한다. 모든 문맥 URL이 처리되면, 제어 루틴은 블록(386)에서 블록(388)으로 전달되어 타겟에 대한 문맥 기준이 부합함을 표시하는 "예" 값을 리턴한다.
다시 블록(384)으로 돌아가서, 문맥 URL이 아직 방문되지 않았다면, 타겟 URL에 대한 문맥 기준은 부합하지 않는다. 그러므로, 블록(384)에 블록(390)으로 제어 루틴이 전달되어 "아니오" 값으로 리턴해서 루틴을 종결한다.
다시 블록(382)으로 돌아가서, 플래그 다음의 방문이 설정되지 않았다면, 제어 루틴은 블록(392)으로 전달되어 문맥 URL이 이미 방문하였는지를 결정한다. 문맥 URL이 방문하였다면, 문맥 기준은 부합하지 않으며, 제어 루틴은 블록(394)으로 전달되어 부가 문맥 URL이 분석될 필요가 있는 지를 결정한다. 부가 문맥 URL이 분석될 필요가 있다면, 제어 루틴은 블록(394)으로 전달되어 부가 URL을 처리한다. 그러나, 부가 문맥 URL이 분석될 필요가 없다면, 문맥 기준은 만족되며 제어 루틴은 블록(388)으로 전달되어 루틴을 종결하고 "예" 값을 복구한다.
다른 문맥 기준이 대안의 실시예에서, 예컨대 각종 부울 논리문과 다른 보다 복잡한 질의들에서 사용 가능하다.
허가된 링크
도 18에는 프로세스 허가 링크 루틴(154)이 보다 상세히 도시되고 있다. 허가된 링크란 복수의 타겟이 링크에서 다른 타겟에 비해 선호되거나 선호되지 않도록 명시적으로 허가되거나 허가되지 않는 복수의 타겟 URL을 갖는 링크를 가리킨다. 유저의 이전 네비게이션 이력은 특정 타겟이 허가되거나 혹은 허가되지 않는 지를 결정하는데 있어 사용될 수 있다. 예를 들면, 유저가 특정의 도움 사이트 혹은 비도움 사이트에 위치하고 있을 때, 유저는 이러한 정보를 허가 또는 비허가 사이트의 리스트에 부가할 수 있다. 대안의 실시예에서, 제3자의 허가 기관을 이용하여 소정의 타겟 URL을 허가하거나 허가하지 않을 수 있다. 제3자는 유저일 수 있거나, 특정 영역에서 경험이 있는 어떤 분류의 특정 관심 그룹일 수 있다.
허가 또는 허가되지 않은 URL은 완전히 규정될 수 있거나, 대안의 실시예에서 부분적으로 예컨대 와일드 카드를 이용하여 규정될 수 있다. 예를 들면, 컴퓨터 정보에 있어서, IBM 웹 사이트상의 어떤 것이 소정의 유저에게 유용한 정보임이 알려질 수 있다. 그러므로, 허가 기준은 와일드 카드 "www.ibm.*"로 표현될 수가 있어, 어느 IBM 도메인의 임의 타겟이 선호된다. 이와는 달리, 도메인 명은 소정 리스트의 문서를 허가하거나 허가하지 않는데 사용될 수 있다. 예를 들면, 도메인 명이 호스트 포르노 사진 자료로 공지된 것이라면, 그 도메인으로 지향된 타겟은 유저로 하여금 이러한 포르노 사진 자료를 검색하지 못하도록 명시적으로 허가되지 않을 수 있다.
허가 정보는 예컨대 유용한 링크를 위치 정하는데 있어 유저로 하여금 그의 이전 경험을 공유하게 하여 다른 유저들을 지원하는데 사용될 수 있다. 또한, 특정 관심 그룹은 어떤 링크들을 유저들에게 권장할 수 있다. 예를 들면, 유저는 각종 유형의 암에 대해 치료 권고를 정의하는 수 개의 링크에 지정하는 멀티 타겟 링크를 활성화하길 원할 수 있다. 유저는 신뢰할 수 있는 정보를 원하며, 단지 Mayo 클리닉과 같은 그룹에 의해서 허가된 링크를 찾길 원할 수 있다. 허가 정보의 광범위한 각종의 다른 용도가 예견된다.
예증의 실시예에서, 허가 정보는 관련 URL(또는 어느 와일드 카드 URL 프래그먼트)이 명시적으로 허가되거나 혹은 허가되지 않는 지를 각 엔트리에 대해 지시하는 허가된 리스트로서 유지된다. 이러한 정보를 처리하기 위해, 루틴(154)은 활성화될 링크에서 URL의 리스트를 구축함으로써 블록(400)에서 시작한다. 다음에, 블록(402)는 허가된 리스트에서 허가되지 않거나 또는 금지된 URL과 부합하는 리스트에서 모든 URL을 제거한다. 다음에, 블록(404)은 리스트가 비어 있는 지를 결정한다. 리스트가 비어 있다면, 문서는 검색되지 않으며, 제어 루틴은 블록(406)으로 전달되어 에러 신호를 유저에게 전송하고 루틴을 종결한다.
그러나, 리스트가 비어 있지 않으면, 제어 루틴은 블록(408)으로 전달되어 어느 허가된 URL과 부합할 수 있는 리스트에서 모든 URL을 우선화한다. 다음에 제어 루틴은 블록(410)으로 전달되어 "전용 허가" 설정이 유저에 대해서 가능한 지를 결정한다. 일례로서, 단지 허가된 사이트만을 관측하는 것이 바람직할 수 있거나 대안의 실시예에서 다른 사이트에 대해서 이러한 사이트를 우선화하는 것이 바람직할 수 있다.
허가된 사이트만이 관측된다면, 제어 루틴은 블록(410)에서 블록(412)으로 전달되어 리스트의 제1 URL이 허가된 URL과 부합하는 지를 결정한다. 제1 URL이 허가된 URL과 부합하지 않으면, 제어 루틴은 블록(414)으로 전달되어 리스트로부터 URL이 제거된 다음, 제어 루틴은 블록(416)으로 전달되어 추가 URL이 리스트에 남아 있는 지를 결정한다. 추가 URL이 리스트에 남아 있다면, 제어 루틴은 블록(410)으로 전달되어 추가 URL을 처리한다. 추가 URL이 리스트에 남아 있지 않으면, 제어 루틴은 블록(418)으로 전달되어 유저에게 에러 신호를 전송하고 루틴을 종결한다.
리스트의 제1 URL이 허가된 URL과 부합하면, 대신에 제어 루틴이 블록(412)에서 블록(420)으로 전달되어 리스트에서 제1 URL의 문서를 검색한다. 또한, 다시 블록(410)으로 되돌아 가서, 허가 전용 옵션이 설정되지 않으면, 제어 루틴은 직접 블록(420)으로 전달된다. 다음에, 블록(422)은 문서 검색의 성공 여부를 결정한다. 문서 검색이 성공적이면, 디스플레이 페이지 루틴(88)이 호출되고 루틴(154)은 완료된다. 문서 검색이 성공적이지 않으면, 제어 루틴은 블록(414)으로 전달되어 이러한 URL이 존재한다면 리스트에서 URL을 제거하고 추가 URL을 처리한다. 다음에 루틴(154)은 종료된다.
주기적 링크
도 19에는 프로세스 주기적 링크 루틴(156)이 보다 상세히 도시되고 있다. 주기적 링크는 단순히 링크가 취해지는 매 시각 링크에서 다음 타겟 URL을 이용하는 링크이다. 게다가, 타겟에서 최종 타겟 URL이 선택된 후 제1 타겟 URL로 랩어라운드하는 것이 바람직할 수 있다. 특히, 이러한 링크 유형은 문서 저작자로 하여금 소정의 순서로 일련의 타겟들을 구성하게 하는 것을 가능하게 하며 유저로 하여금 저작자의 원에 따라 순서적으로 각 타겟을 보게하는데 유용하다.
루틴(156)은 링크가 이전에 취해졌는 지를 결정함으로써 블록(430)에서 시작한다. 이는 예컨대 링크와 관련된 최종 취해진 변수를 분석함으로서 수행될 수 있다. 링크가 전에 취해지지 않았다면 제어 루틴은 블록(432)으로 전달되어 제1 URL로 시작하는 링크에서 다음 URL을 얻는다. 다음에 제어 루틴은 블록(434)으로 전달되어 링크에 대해서 최종 취한 URL을 저장한다. 다음에, 블록(436)은 URL에서 문서를 검색하고 블록(438)은 문서 검색이 성공적인지를 결정한다. 문서 검색이 성공적이면, 디스플레이 페이지 루틴(88)이 호출되고 루틴(156)은 종료된다. 문서 검색이 성공적이지 않으면, 블록(440)에서 유저에게 에러 신호가 전송되고 루틴(156)은 종결된다.
블록(430)으로 돌아가서, 제1 URL이 링크에 대해서 선택된 후, 블록(430)은 링크가 전에 취해졌는 지를 결정하고, 제어 루틴은 블록(442)으로 전달되어 링크에 대해 최종 취해진 변수를 검색한다. 다음에, 블록(444)은 URL이 링크에서 취한 최종의 것으로서 저장된 URL과 일치할 때까지 링크에서 다음 URL을 통해 루프 투 사이클을 시작한다. 특히, 블록(444)에서 블록(446)으로 제어 루틴이 전달되어 블록(444)에서 검색된 URL이 최종 취한 것과 일치하는 지를 결정한다. 그것이 일치하지 않는 한, 제어 루틴은 블록(448)으로 전달되어 처리될 링크에 추가 URL이 남아 있는 지를 결정한다. 추가 URL이 남아 있다면 제어 루틴은 블록(444)으로 복귀한다.
일단 URL이 취해진 최종의 것과 일치하면, 제어 루틴은 블록(450)으로 전달되어 링크에 보다 많은 URL이 존재하는 지를 결정한다. 링크에 보다 많은 URL이 존재하면, 제어 루틴은 블록(45)으로 전달되어 링크에서 다음 URL을 얻은 다음에, 블록(434)에 의해 링크에 대해서 취해진 최종의 것으로서 URL을 저장한다. 다시 블록(450)으로 돌아가서, 링크에 보다 많은 URL이 존재하면, 링크에 대한 최종 URL이 사전에 취해져서 제어 루틴은 블록(454)으로 전달되어 링크에서 제1 URL이 얻어지며, 그에 따라 링크에 대한 타겟 URL의 리스트의 시작으로 랩어라운드한다. 또한 블록(448)으로 돌아가서, 링크에 보다 많은 URL이 존재하지 않는 지가 검출되고 제어 루틴은 블록(454)으로 전달된다.
멀티 비지트 링크
도 20에는 프로세스 멀티 비지트 링크 루틴(158)이 보다 상세히 도시되고 있다. 멀티 비지트 링크는 타겟 링크의 순서가 순서적으로 선택된다는 점에서 주기적 링크와 여러 면에서 유사하다. 그러나, 멀티 타겟 링크가 다음 링크를 선택하도록 정의되는 문서로 유저를 리턴하는 것이 필요한 게 아니라 멀티 비지트 링크는 복수 타겟으로 하여금 순서적으로 바로 관측가능하게 한다. 링크에 대한 다음 URL이 예턴대 브라우저에 대한 "BACK" 버튼을 눌러서 원래의 문서로 리턴시킴으로써 선택될 수가 있다. "BACK" 버튼에 대한 대안으로서 또는 "BACK" 버튼 이외에 별개의"NEXT" 버튼이 복수의 타겟간 유저의 수순을 허용하도록 표시될 수 있다. 복수의 타겟들 사이에서 순서를 정하는 다른 방법이 대안으로서 사용될 수 있다.
루틴(158)은 첫번째 시작하는 링크에서 다음 URL을 얻음으로써, 블록(460)에서 시작한다. 다음에, 블록(462)에서 URL에 저장된 문서가 검색된다. 다음에, 블록(464)은 문서 검색이 성공적인지를 결정한다. 문서 검색이 성공적이면, 블라우저에 대한 "NEXT" 버튼 디스플레이 옵션(이후, 상세히 설명됨)을 활성화하는 것을 포함하는 디스플레이 페이지 루틴(88)이 호출된다. 루틴(88)은 "NEXT" 버튼의 누름 시 또는 대안의 실시예에서 브라우저의 "BACK" 버튼의 누름 시 루틴(158)을 복귀하도록 구성된다. 루틴(88)으로부터의 리턴 시 또는 문서 검색이 블록(464)에서 성공적이지 않다고 결정되면, 다음에 제어 루틴은 블록(466)으로 전달되어 추가 URL이 링크에 존재하는 지를 결정한다. 추가 URL이 링크에 존재하면, 제어 루틴은 블록(460)으로 전달되어 링크에 대해 다음 URL을 얻는다. 그러나, 추가 URL이 존재하지 않으면, 제어 루틴은 블록(468)으로 전달되어 페이지가 성공적으로 디스플레이되는지, 즉 디스플레이 페이지 루틴(88)이 루틴(158)으로부터 호출되는 지를 결정한다. 디스플레이 페이지 루틴(88)이 루틴(158)으로부터 호출되면, 루틴(158)은 종결된다. 페이지가 디스플레이되지 않으면, 블록(470)이 호출되어 루틴을 종결하기 전에 에러 신호를 전송한다. 유저로 하여금 링크의 최종 타겟이 관측된 후 제1 타겟으로 랩어라운드하게 하는 것이 바람직함에 주목하라.
멀티 론치 링크
도 21 에는 프로세스 멀티 론치 링크 루틴(160)이 보다 상세히 도시된다. 멀티 론치 링크로 브라우저는 링크의 각 타겟 URL에 대해 별개의 윈도우를 가져오도록 구성된다. 이것에 의해 유저는 신속하고 효율적인 방식으로 즉시 다중 경로 추종 가능하다.
루틴(160)은 제1 URL로 시작하여 링크에서 최종 URL을 얻음으로써 블록(472)에서 시작한다. 다음에, 블록(474)은 그 URL에 대한 새로운 브라우저 윈도우를 시작한다. 다음에 블록(476)은 링크에 추가 URL이 존재하는 지를 결정한다. 링크에 추가 URL이 존재하면, 블록(472)으로 제어 루틴을 복귀하여 추가 URL을 처리한다. 일단, 링크에 대한 모든 URL이 처리된 다음, 루틴(160)을 종결한다.
대안으로서, 링크에 대한 제1 URL은 현재의 윈도우에서 열릴 수 있으며, 추가 문서들은 새로운 윈도우에서 검색된다. 게다가, 타일링과 캐스케이딩을 포함하는 각종 포맷의 옵션이 사용되어 유저에게 리턴된 정보를 포맷한다.
멀티 타겟 링크의 디스플레이
도 22에는 디스플레이 페이지 루틴(88)이 보다 상세히 도시되고 있다. 루틴(88)은 루틴에 공급된 소정의 하이퍼텍스트 문서를 컴퓨터 디스플레이 상에 랜더링하여 디스플레이 하도록 원리적으로 동작한다. 루틴(88)은 하이퍼텍스트 문서에서 각 HTML 오브젝트를 랜더링하여 컴퓨터 디스플레이상에 정보를 디스플레이하는 파일(WHILE) 루프를 시작함으로써 블록(480)에서 시작한다. 이러한 오브젝트 각각에 대해, 제어 루틴은 블록(482)으로 전달되어 문서로부터 다음 오브젝트를 얻는다. 다음에, 블록(484)은 그 오브젝트가 멀티 타겟 하이퍼텍스트 링크인지를 결정한다. 오브젝트가 멀티 타겟 하이퍼텍스트 링크이면, 제어 루틴은 블록(486)으로 전달되어 HTML을 근간으로 하는 랜더링 엔진을 이용하여 통상의 방식으로 오브젝트를 랜더링한다. 다음에는 제어 루틴이 블록(480)으로 복귀되어 추가 오브젝트를 처리한다.
그러나, 오브젝트가 멀티 타겟 하이퍼텍스트 링크이면, 제어 루틴은 블록(488)으로 전달되어 "토탈" 및 "방문 토탈"이라고 표기된 한 쌍의 변수를 리세트한다. "토탈" 변수는 멀티 타겟 링크에 대한 타겟의 총 수를 나타낸다. "방문 토탈" 변수는 유저가 이전에 관측한 타겟의 수를 나타낸다.
일단, 이러한 변수들이 리세트되면, 제어 루틴은 블록(490)으로 전달되어 제1 URL로 시작하여 링크에 대한 각 URL을 처리하는 루프를 시작한다. 다음에, 블록(492)은 "토탈" 변수를 증가하고 블록(494)은 현재 URL이 방문되었는 지를 결정한다. 현재 URL이 방문된 URL이라면, 제어 루틴은 블록(496)으로 전달되어 "방문 토탈" 변수를 증가한 다음, 블록(498)으로 전달되어 링크에서 처리될 추가 URL이 남아 있는 지를 결정한다. 블록(494)로 돌아가서 URL이 방문되지 않았다면, 블록(496)은 바이패스되고 제어 기능이 바로 블록(498)으로 전달된다.
링크에 추가 URL이 존재하면, 제어 루티은 블록(498)에서 다시 블록(490)으로 복귀된다. 모든 URL이 처리되었다면, 제어 루틴은 블록(500)으로 전달되어 "방문 토탈" 및 "토탈" 변수의 비로 표시된 방문 퍼센트를 계산한다. 방문 퍼센트 변수에 기초해서, 블록(502)은 퍼센트 방문 변수에 따라서 공유된 하이퍼텍스트 링크의 디스플레이 표현에서 언더라인 부분으로 링크를 랜더링한다. 다음에 제어 루틴은 블록(480)으로 전달되어 부가 오브젝트를 처리한다.
일단 하이퍼텍스트 문서의 모든 오브젝트가 처리된 다음에, 블록(480)에서 블록(504)으로 제어 루틴이 전달되어 "NEXT" 버튼 작동 플래그가 설정(통상 도 20과 관련하여 상기한 멀티 비지트 링크의 활성화 결과로서)되었는 지를 결정한다. 버튼이 작동되었으면, 제어 루틴은 블록(506)으로 전달되어 "NEXT" 버튼을 디스플레이한다. 다음에, 블록(508)은 전술한 배경 "핑" 기능을 수행하도록 현재의 하이퍼텍스트 문서에 대해 "핑" 쓰레드를 시작한다. 또한, "NEXT" 버튼이 작동되지 않았다면, 블록(504)에서 블록(508)으로 제어 루틴을 바로 전달한다. 블록(508)의 완료 시, 루틴(88)은 종료된다.
도 23은 본 발명의 수 개의 특징적인 형태를 도시하는 전형의 컴퓨터 디스플레이(600)를 도시한다. 디스플레이(600)내에는 브라우저(41)용 윈도우(602)와 하이퍼텍스트 문서(604)의 디스플레이 표현이 표시되고 있다. 또한, 복수의 북마크(608,610,612,614)를 포함하는 북마크 리스트(606)가 도시되고 있다.
포인터(618)는 북마크(612)의 디스플레이 표현 위에 배치되는 것으로 도시되고 있다. 도 4와 관련하여 기술한 바와 같이, 브라우저에 의해서 다루어질 수 있는 하나의 사건은 특정 북마크 상에 놓여진 포커스이며, 이 유형에 대한 응답과 북마크에 대한 URL의 리스트는 팝업 윈도우로 표시된다. 일례로서, 북마크(612)에 대한 샘플 데이터는 아래의 표 Ⅱ에 도시되고 있다.
[표 II]
예증의 멀티 타겟 북마크
타이틀 주식 시장
링크 유형 연대순
타겟 URL 타이틀 URL 기준
(1) 시장 갱신 www.somemarket.com/current.html (시간〉=9:00) 및(시간〈16:00)
(2) 시장 개요 www.somemarket.com/summary.html (시간〉=16:00) 및(시간〈9:00)
북마크 위에 놓여지는 포인터(618)에 응답하여 621로 도시되는 링크 유형과 622와 624로 도시되는 각 타겟을 표시하는 팝업 윈도우(620)가 디스플레이된다. 626 및 628로 표시되는 링크와 관련된 기준을 디스플레이하는 것이 바람직하다. 정보의 대체 배열이 대안으로서 팝업 윈도우(620)에서 디스플레이될 수 있다. 게다가, 예컨대 유저로 하여금 원하는 URL 위에 포인터를 위치하게 하여 마우스 버튼을 누름으로서 팝업 메뉴에서 디스플레이된 어느 URL에 직접 엑세스하게 하는 것이 바람직하다.
또한, 도 23에는 아래의 표 III에 도시한 데이터를 이용한 멀티 링크 하이퍼텍스트 링크의 디스플레이 표현이 도시되고 있다.
[표 III]
〈A
HTYPE = "MULTIVISIT"
HREF = "www.hypo.ibm.com/lesson1.html"
HERF = "www.hypo.ibm.com/lesson2.html"
HERF = "www.hypo.ibm.com/lesson3.html"
HERF = "www.hypo.ibm.com/lesson4.html"
소프트웨어 지침서를 참조하려면 여기를 클릭
〈/A〉
도 22와 관련하여 전술한 바와 같이, 632로 표시된 하이퍼텍스트 링크를 식별하기 위해 특징적으로 사용되는 언더라인은 공통 축을 따라서 서로 인접하는 제1 및 제2 영역으로 분할된다. 이러한 영역의 상대 길이는 634와 636으로 도시되는, 데이터가 사전 엑세스된 멀티 타겟 링크에 대한 타겟의 퍼센트를 나타내도록 크기 정해진다. 여기서, 유저가 멀티 비지트 링크의 4 개의 타겟 중 3개를 방문하였음을 고려할 수 있다. 그러므로, 영역(634)은 바의 3/4를 표시하며, 영역(636)은 바의 1/4를 표시한다.
방문 타겟의 상대 퍼센트를 표시하는 대안의 방법은 대안으로 사용될 수 있음에 주목하라. 예컨대, 수직바가 아이콘의 임의의 수 및/또는 수치 지시자로서 표시 가능하다. 게다가, 이러한 퍼센트 정보는 파이 그래프형 아이콘으로 표시될 수가 있으며, 포인터가 하이퍼텍스트 링크 정의의 디스플레이 표현 위에 놓여질 때 디스플레이되는 URL의 리스트와 링크 유형과 관련해서 팝업 메뉴로 디스플레이 가능하다. 다른 유저 인터페이스 메카니즘이 대안으로서 사용 가능하다.
도 23에서 "NEXT" 버튼(638)이 가상선으로 도시되고 있다. 통상 문서(604)의 디스플레이와 관련하여 설명되고 있지 않지만, 이 버튼은 표 III의 하이퍼텍스트 링크 정의에 대하여 임의의 타겟을 관측하는 유저에 응답하여 표시될 것이다. 다른 유저 인터페이스 제어가 또한 대안으로서 사용 가능하다.
각종 부가적인 특징들이 어떤 구현으로 지원될 수 있다. 예컨대, 유저는 멀티 타겟 링크을 수동으로 작성하기 위해 북마크를 가산하거나 편집 가능하다. 게다가, 유저로 하여금 멀티 타겟 링크의 하이퍼텍스트 링크 정의 구현 또는 어느 특정 북마크에 대한 타겟의 리스트를 포함하는 전용 윈도우를 열게함으로써, 유저로 하여금 이러한 타겟에 직접 엑세스 할 수 있게 하는 것이 바람직하다. 다른 유저 인터페이스 메카니즘 중에서, 유저로 하여금 특정 링크 아래의 바에서 직접 클릭하는 것에 응답하여 리스트를 열게하는 것이 바람직하다.
본 발명의 사상 및 범위를 일탈하지 않는 각종 부가적인 변형이 예증의 실시예에서 행해질 수가 있다. 그러므로, 본 발명은 첨부된 청구범위에 있다.

Claims (75)

  1. 컴퓨터로 데이터에 엑세스하기 위한 방법으로서,
    (a) 멀티 타겟 링크에 지시된 유저 입력을 수신하는 단계-상기 멀티 타겟 링크는 그와 관련된 복수의 기억 위치를 식별한다-와,
    (b) 상기 복수의 기억 위치 중 선택된 하나의 위치에 기억된 데이터에 엑세스하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 멀티 타겟 링크는 멀티 타겟 하이퍼텍스트 링크 정의에 의해 제1 하이퍼텍스트 문서에서 정의되며, 상기 하이퍼텍스트 문서의 디스플레이 표현을 표시하는 단계를 더 포함하는 방법.
  3. 제2항에 있어서, 상기 선택된 기억 위치에 기억된 데이터는 제2 하이퍼텍스트 문서를 포함하며, 상기 제1 및 제2 하이퍼텍스트 문서는 하이퍼텍스트 마크업 언어(HTML)로 정의되며, 상기 멀티 타겟 하이퍼텍스트 링크 정의는 HTML 태그로 구분되는 방법.
  4. 제1항에 있어서, 상기 멀티 타겟 링크는 북마크 리스트의 복수의 북마크 중 하나에서 정의되는 방법.
  5. 제1항에 있어서, 상기 복수의 기억 위치는 변함없는 자원 표시자(URL)에 의해서 식별되는 방법.
  6. 제1항에 있어서, 상기 선택된 기억 위치에 기억된 데이터에 엑세스하는 것은 상기 선택된 기억 위치에 기억된 하이퍼텍스트 문서를 검색하는 것을 포함하는 방법.
  7. 제1항에 있어서, 상기 선택된 기억 위치에 기억된 데이터에 엑세스하는 것은 상기 복수의 기억 위치 중 제1 기억 위치에 있는 데이터에 엑세스하는 것을 포함하며, 그후 상기 제1 기억 위치에 있는 데이터에 엑세스하기 위한 시도가 성공적이지 못하면 상기 복수의 기억 위치 중 제2 기억 위치에 있는 데이터에 엑세스하는 것을 포함하는 방법.
  8. 제7항에 있어서, 상기 멀티 타겟 링크에 지시된 유저 입력을 수신하기 전에 상기 제1 기억 위치에 기억된 데이터에 엑세스 가능한 지를 결정하는 단계를 더 포함하는 방법.
  9. 제1항에 있어서, 소정의 선택 기준에 따라 상기 복수의 기억 위치로부터 선택된 기억 위치를 선택하는 단계를 더 포함하는 방법.
  10. 제9항에 있어서, 상기 멀티 타겟 링크는 멀티 타겟 하이퍼텍스트 링크 정의에 의해 하이퍼텍스트 문서로 정의되며, 상기 소정의 선택 기준은 상기 멀티 타겟 하이퍼텍스트 링크 정의에 내장된 데이터에 적어도 부분적으로 의거하는 것인 방법.
  11. 제9항에 있어서, 상기 소정의 선택 기준은 상기 복수의 기억 위치에 각각 기억된 파일들의 상대적인 엑세스 회수에 적어도 부분적으로 의거하는 것인 방법.
  12. 제11항에 있어서, 상기 복수의 기억 위치 중 어느 것이 가장 짧은 엑세스 시간을 갖는 지의 판단은 각 기억 위치에서 핑(ping)함으로서 그에 대한 응답 시간을 결정하는 단계를 더 포함하며, 상기 선택된 기억 위치를 선택하는 단계는 가장 빠른 응답 시간을 갖는 기억 위치를 선택된 기억 위치로서 선택하는 것을 포함하는 방법.
  13. 제11항에 있어서, 상기 복수의 기억 위치 중 어느 것이 가장 짧은 엑세스 시간을 갖는 지의 판단은 각 기억 위치로부터 데이터를 검색함으로써 그에 대한 전송 속도를 결정하는 단계를 더 포함하며, 상기 선택된 기억 위치를 선택하는 단계는 가장 빠른 전송 속도를 갖는 기억 위치를 선택된 기억 위치로서 선택하는 것을 포함하는 방법.
  14. 제9항에 있어서, 상기 소정의 선택 기준은 상기 복수의 기억 위치에 각각 저장된 파일들의 상대적인 크기에 적어도 부분적으로 의거하는 것인 방법.
  15. 제9항에 있어서, 상기 소정의 선택 기준은 상기 복수의 기억 위치에 각각 저장된 파일들의 상대적인 수명에 적어도 부분적으로 의거하는 것인 방법.
  16. 제15항에 있어서, 각 기억 위치에 기억된 파일에 대한 최종 갱신 시간을 판단함으로써 상기 복수의 기억 위치 중 어느 것이 가장 최근에 갱신된 것인 지를 판단하는 단계를 더 포함하며, 상기 선택된 기억 위치를 선택하는 단계는 가장 최근에 최종 갱신 시간을 갖는 파일과 관련된 기억 위치를 선택된 기억 위치로서 선택하는 것을 포함하는 방법.
  17. 제9항에 있어서, 상기 소정의 선택 기준은 소정의 연대순 기준에 적어도 부분적으로 의거하는 것인 방법.
  18. 제17항에 있어서, 각 기억 위치는 소정의 연대순 조건을 가지며, 선택된 기억 위치를 선택하는 단계는 현재의 시스템 시간과 현재의 시스템 일자 중 적어도 하나가 상기 소정의 연대순 조건과 일치하는 기억 위치를 선택된 기억 위치로서 선택하는 것을 포함하는 방법.
  19. 제9항에 있어서, 상기 소정의 선택 기준은 상기 복수의 기억 위치 각각의 사전 관측된 상태에 적어도 부분적으로 의거하는 것인 방법.
  20. 제19항에 있어서, 로컬 캐시에 엑세스함으로써 상기 복수의 기억 위치 각각의 이전 관측 상태를 결정하는 단계를 더 포함하는 방법.
  21. 제19항에 있어서, 로컬 북마크 리스트에 엑세스함으로써 상기 복수의 기억 위치 각각의 이전 관측 상태를 결정하는 단계를 더 포함하는 방법.
  22. 제9항에 있어서, 상기 소정의 선택 기준은 상기 복수의 기억 위치 각각의 상대적인 일반성(popularity)에 적어도 부분적으로 의거하는 것인 방법.
  23. 제22항에 있어서, 상기 복수의 기억 위치 각각에 대한 적중 지시자(hit indicator)를 검색함으로써 복수의 기억 위치 각각의 상대적인 일반성을 결정하는 단계를 더 포함하며, 상기 선택된 기억 위치를 선택하는 단계는 가장 높은 적중 지시자를 갖는 기억 위치를 선택된 기억 위치로서 선택하는 것인 방법.
  24. 제9항에 있어서, 상기 소정의 선택 기준은 로컬 유저 설정에 적어도 부분적으로 의거하는 것인 방법.
  25. 제24항에 있어서, 상기 로컬 유저 설정은 소정의 언어를 지시하는 언어 설정을 포함하며, 상기 선택된 기억 위치를 선택하는 단계는 상기 소정의 언어로 유저에게 정보를 디스플레이하는 파일이 저장된 기억 위치를 선택된 기억 위치로서 선택하는 것을 포함하는 방법.
  26. 제24항에 있어서, 상기 로컬 유저 설정은 소정의 문자 세트를 지시하는 문자 세트 설정을 포함하며, 상기 선택된 문자 세트를 선택하는 단계는 소정의 문자 세트로 유저에게 정보를 디스플레이하는 파일이 저장된 기억 위치를 선택된 기억 위치로서 선택하는 것인 방법.
  27. 제24항에 있어서, 상기 로컬 유저 설정은 엑세스된 데이터를 관측하기 위해 사용되는 브라우저 프로그램의 성능과 상기 브라우저 프로그램에 의해서 표시되길 원하는 버전 유형 중 적어도 하나를 포함하는 것인 방법.
  28. 제24항에 있어서, 상기 로컬 유저 설정은 유저의 숙련 레벨을 포함하는 것인 방법.
  29. 제9항에 있어서, 상기 소정의 선택 기준은 상기 복수의 기억 위치 중 적어도 하나에 기억된 하이퍼텍스트 문서의 버전 유형에 적어도 부분적으로 의거하는 것인 방법.
  30. 제29항에 있어서, 상기 버전 유형은 텍스트 전용 버전 유형, 그래픽 버전 유형, 자바 버전 유형, 넌자바 버전 유형, 스크립트 버전 유형, 넌스크립트 버전 유형, 이들의 결합으로 이루어진 그룹에서 선택되는 것인 방법.
  31. 제9항에 있어서, 상기 소정의 선택 기준은 상기 멀티 타겟 링크에 지시된 유저 입력의 수신 시 현재 문맥을 나타내는 소정의 문맥 기준에 적어도 부분적으로 의거하는 것인 방법.
  32. 제31항에 있어서, 상기 소정의 문맥 기준은 복수의 관련 하이퍼텍스트 링크 각각의 사전 관측된 상태에 적어도 부분적으로 의거하는 것인 방법.
  33. 제32항에 있어서, 상기 복수의 관련 하이퍼텍스트 링크는 현재 관측된 하이퍼텍스트 문서로 정의되는 것인 방법.
  34. 제9항에 있어서, 상기 소정의 문맥 기준은 상기 복수의 기억 위치 각각에 대한 허가 상태에 적어도 부분적으로 의거하는 것인 방법.
  35. 제34항에 있어서, 허가된 기억 위치의 리스트에 엑세스함으로써 상기 복수의 기억 위치 각각에 대한 허가 상태를 판단하는 단계를 더 포함하며, 상기 선택된기억 위치를 선택하는 단계는 상기 허가된 기억 위치의 리스트에서 또한 발견되는 복수의 기억 위치 중 한 기억 위치를 선택된 기억 위치로서 선택하는 것인 방법.
  36. 제35항에 있어서, 상기 허가된 기억 위치의 리스트는 제3자에 의해서 유지되는 것인 방법.
  37. 제35항에 있어서, 상기 허가된 기억 위치의 리스트는 적어도 하나의 와일드 카드 엔트리를 포함하며, 상기 선택된 기억 위치를 선택하는 단계는 상기 소정의 기억 위치를 상기 와일드 카드와 비교하여 소정의 기억 위치가 상기 허가된 기억 위치의 리스트에서 발견되는 지를 판단하는 단계를 더 포함하는 방법.
  38. 제34항에 있어서, 상기 복수의 기억 위치 각각에 대한 허가 상태를 허가된 기억 위치의 리스트에 엑세스함으로써 판단하는 단계를 더 포함하며, 상기 선택된 기억 위치를 선택하는 단계는 허가된 기억 위치의 리스트에서 또한 발견되는 복수의 기억 위치에서 임의의 기억 위치의 선택을 금지하는 것을 포함하는 방법.
  39. 제9항에 있어서, 상기 복수의 기억 위치는 소정의 순서로 구성되며, 상기 선택된 기억 위치를 선택하는 단계는 소정 순서로 다음 기억 위치를 선택된 기억 위치로서 선택하는 것을 포함하는 방법.
  40. 제39항에 있어서, 상기 선택된 기억 위치로서 선택하는 단계는 다음 기억 위치가 소정의 순서로 존재하지 않으면 소정 순서로 제1 기억 위치를 선택된 기억 위치로서 선택하는 것을 포함하는 방법.
  41. 제9항에 있어서, 상기 복수의 기억 위치는 소정의 순서로 구성되며, 유저 입력에 응답하여 소정 순서로 각 기억 위치에 있는 데이터에 순차적으로 엑세스하는 단계를 더 포함하는 방법.
  42. 제41항에 있어서, 상기 멀티 타겟 링크는 제1 하이퍼텍스트 문서로 정의되며, 각 기억 위치에 기억된 데이터에 순차적으로 엑세스하는 단계는 상기 제1 하이퍼텍스트 문서로 리턴되는 유저 입력에 응답하여 수행되는 것인 방법.
  43. 제1항에 있어서, 상기 복수의 기억 위치의 각 부가적인 기억 위치에 저장된 데이터에 엑세스하는 단계를 더 포함하는 방법.
  44. 제1항에 있어서, (a) 상기 멀티 타겟 링크의 디스플레이 표현을 표시하는 단계와,
    (b) 데이터가 엑세스되는 복수의 기억 위치의 퍼센트를 디스플레이 표현으로 지시하는 단계를 더 포함하는 방법.
  45. 제44항에 있어서, 상기 데이터가 엑세스되는 복수의 기억 위치의 퍼센트를 지시하는 단계는 공통 축을 따라 서로 인접하는 가시적으로 구별되는 제1 및 제2 영역을 갖는 바를 데이터가 엑세스되는 복수의 기억 위치의 퍼센트와 데이터가 엑세스되지 않는 복수의 기억 위치의 퍼센트를 각각 나타내도록 크기 정해진 제1 및 제2 영역의 상대적인 길이로 표시하는 것을 포함하는 방법.
  46. 제45항에 있어서, 상기 바에 지시된 유저 입력에 응답하여 상기 복수의 기억 위치의 리스트를 디스플레이하는 단계를 더 포함하는 방법.
  47. 제1항에 있어서, 상기 복수의 기억 위치의 적어도 일부분의 디스플레이 표현을 직접 엑세스 리스트로 디스플레이 하는 단계를 더 포함하며, 상기 선택된 기억 위치의 데이터에 엑세스 하는 것은 상기 선택된 기억 위치의 디스플레이 표현에 지시된 유저 입력에 응답하여 수행되는 방법.
  48. 하이퍼텍스트 문서에 엑세스하기 위한 방법으로서,
    (a) 제1 하이퍼텍스트 문서의 적어도 일부분의 디스플레이 표현을 컴퓨터 디스플레이 상에 디스플레이 하기 위한 단계와,
    (b) 상기 제1 하이퍼텍스트 문서로 정의된 멀티 타겟 하이퍼텍스트 링크의 디스플레이 표현을 컴퓨터 디스플레이 상에 디스플레이하는 단계-상기 멀티 타겟 하이퍼텍스트 링크는 그와 관련된 복수의 변함없는 자원 표시자(URL)를 식별한다.-와,
    (c) 상기 멀티 타겟 하이퍼텍스트 링크의 디스플레이 표현에 지시된 유저 입력에 응답해서,
    (1) 소정의 선택 기준에 의거해서 복수의 URL중 적어도 하나를 선택하는 단계와,
    (2) 상기 선택된 URL로 네비게이션하는 단계를 포함하는 방법.
  49. 하이퍼텍스트 문서에 엑세스하는 방법으로서,
    (a) 북마크 리스트의 복수의 북마크 중 적어도 일부분의 디스플레이 표현을 디스플레이하는 단계-상기 복수의 북마크는 그와 관련된 변함없는 자원 표시자(URL)를 식별한다.-와,
    (b) 상기 멀티 타겟 북마크의 디스플레이 표현에 지시된 유저 입력에 응답하여,
    (1) 소정의 선택 기준에 의거해서 복수의 URL 중 적어도 하나를 선택하는 단계와,
    (2) 상기 선택된 URL로 네비게이션하는 단계를 포함하는 방법.
  50. (a) 메모리와,
    (b) 상기 메모리에 상주하며, 관련된 복수의 기억 위치를 식별하는 멀티 타겟 링크와,
    (c) 상기 메모리에 상주하며 상기 멀티 타겟 링크에 지시된 유저 입력에 응답하여 상기 복수의 기억 위치 중 선택된 기억 위치에 저장된 데이터에 엑세스하도록 구성되는 프로그램을 포함하는 장치.
  51. 제50항에 있어서, 상기 멀티 타겟 링크는 멀티 타겟 하이퍼텍스트 링크 정의에 의해 하이퍼텍스트 문서로 정의되는 것인 장치.
  52. 제50항에 있어서, 상기 멀티 타겟 링크는 북마크 리스트의 복수의 북마크 중 하나에서 정의되는 것인 장치.
  53. 제50항에 있어서, 상기 프로그램은 상기 선택된 기억 위치에 기억된 하이퍼텍스트 문서를 수신함으로써 선택된 기억 위치에 기억된 데이터에 엑세스하도록 구성되는 것인 장치.
  54. 제50항에 있어서, 상기 프로그램은 상기 복수의 기억 위치 중 제1 기억 위치에 기억된 데이터에 엑세스를 시도한 후 상기 제1 기억 위치에 기억된 데이터에 엑세스 시도가 성공적이지 못하면 복수의 기억 위치의 제2 기억 위치에 기억된 데이터로의 엑세스를 시도함으로써 상기 복수의 기억 위치의 제1 기억 위치에 저장된 데이터에 엑세스하도록 구성되는 장치.
  55. 제50항에 있어서, 상기 프로그램은 소정의 선택 기준에 따라 상기 복수의 기억 위치로부터 선택된 기억 위치를 선택하도록 구성되는 장치.
  56. 제55항에 있어서, 상기 소정의 선택 기준은 상기 복수의 기억 위치에 각각 기억된 파일들의 상대적인 엑세스 회수에 적어도 부분적으로 의거하는 것인 장치.
  57. 제55항에 있어서, 상기 소정의 선택 기준은 상기 복수의 기억 위치에 각각 기억된 파일들의 상대적인 크기에 적어도 부분적으로 의거하는 것인 장치.
  58. 제55항에 있어서, 상기 소정의 선택 기준은 상기 복수의 기억 위치에 각각 기억된 파일들의 상대적인 수명에 적어도 부분적으로 의거하는 것인 장치.
  59. 제55항에 있어서, 상기 소정의 선택 기준은 소정의 연대순 기준에 적어도 부분적으로 의거하는 것인 장치.
  60. 제55항에 있어서, 상기 소정의 선택 기준은 상기 복수의 기억 위치 각각의 사전 관측된 상태에 적어도 부분적으로 의거하는 것인 장치.
  61. 제55항에 있어서, 상기 소정의 선택 기준은 상기 복수의 기억 위치 각각의 상대적인 일반성(popularity)에 적어도 부분적으로 의거하는 것인 장치.
  62. 제55항에 있어서, 상기 소정의 선택 기준은 로컬 유저 설정에 적어도 부분적으로 의거하는 것인 장치.
  63. 제63항에 있어서, 상기 로컬 유저 설정은 소정의 언어를 지시하는 언어 설정, 소정의 문자 세트를 지시하는 문자 세트 설정, 엑세스된 데이터를 관측하기 위해 사용되는 브라우저 프로그램의 성능, 상기 브라우저 프로그램에 의해서 디스플레이되길 원하는 버전 유형, 유저의 숙련 레벨 중 적어도 하나를 포함하는 장치.
  64. 제55항에 있어서, 상기 소정의 선택 기준은 상기 복수의 기억 위치 중 적어도 하나에 기억된 하이퍼텍스트 문서의 버전 유형에 적어도 부분적으로 의거하는 것인 장치.
  65. 제55항에 있어서, 상기 소정의 선택 기준은 상기 멀티 타겟 링크에 지시된 유저 입력의 수신 시 현재 문맥을 나타내는 소정의 문맥 기준에 적어도 부분적으로 의거하는 것인 장치.
  66. 제55항에 있어서, 상기 소정의 문맥 기준은 상기 복수의 기억 위치의 각각에 대해 허가된 상태에 적어도 부분적으로 의거하는 것인 장치.
  67. 제55항에 있어서, 상기 복수의 기억 위치는 소정의 순서로 구성되며, 상기 프로그램은 상기 소정의 순서로 다음 기억 위치를 선택함으로써 선택된 기억 위치를 선택하도록 구성되는 장치.
  68. 제55항에 있어서, 상기 복수의 기억 위치는 소정의 순서로 구성되며, 상기 프로그램은 유저 입력에 응답하여 상기 소정의 순서로 각 기억 위치에 기억된 데이터에 순차적으로 엑세스하도록 더 구성되는 장치.
  69. 제50항에 있어서, 상기 프로그램은 상기 복수의 기억 위치의 각각의 추가 기억 위치에 기억된 데이터에 엑세스하도록 더 구성되는 장치.
  70. 제50항에 있어서, 상기 프로그램은 상기 멀티 타겟 링크의 디스플레이 표현을 디스플레이하고, 데이터가 엑세스되는 복수의 기억 위치의 퍼센트를 디스플레이 표현에서 지시하도록 더 구성되는 장치.
  71. 제50항에 있어서, 상기 프로그램은 상기 복수의 기억 위치의 적어도 일부분의 디스플레이 표현을 직접 엑세스 리스트에서 디스플레이하여 선택된 기억 위치의 디스플레이 표현에 지시된 유저 입력에 응답하여 선택된 기억 위치에 있는 데이터에 엑세스하도록 더 구성되는 장치.
  72. (a) 관련된 복수의 기억 위치를 식별하는 멀티 타겟 링크에 지시된 유저 입력을 수신하고, 유저 입력에 응답하여 복수의 기억 위치 중 선택된 기억 위치에 저장된 데이터에 엑세스하도록 구성된 프로그램과,
    (b) 상기 프로그램을 보유한 신호 보유 매체를 포함하는 프로그램 제품.
  73. 제72항에 있어서, 상기 신호 보유 매체는 기록 가능한 매체와 전송형 매체 중 적어도 하나를 포함하는 프로그램 제품.
  74. 하이퍼텍스트 문서를 생성하기 위한 방법으로서,
    (a) 하이퍼텍스트 문서를 저작하는 단계와,
    (b) 상기 하이퍼텍스트 문서내에 멀티 타겟 하이퍼텍스트 링크 정의를 내장하는 단계-상기 멀티 타겟 하이퍼텍스트 정의는 그와 관련된 복수의 기억 위치를 식별한다.-
    를 포함하는 방법.
  75. (a) 하이퍼텍스트-상기 하이퍼텍스트 문서는 그안에 적어도 하나의 멀티 타겟 하이퍼텍스트 링크 정의를 내장하고 있으며, 상기 멀티 타겟 하이퍼텍스트 정의는 그와 관련된 복수의 기억 위치를 식별한다.-와,
    (b) 상기 하이퍼텍스트 문서를 보유한 신호 보유 매체
    를 포함하는 프로그램 제품.
KR1020017003594A 1998-10-19 1999-02-18 하이퍼텍스트 문서 및 등가물 사이에서 네비게이트하기위한 멀티 타겟 링크 KR100562240B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/174,952 US6751777B2 (en) 1998-10-19 1998-10-19 Multi-target links for navigating between hypertext documents and the like
US09/174,952 1998-10-19

Publications (2)

Publication Number Publication Date
KR20010075245A true KR20010075245A (ko) 2001-08-09
KR100562240B1 KR100562240B1 (ko) 2006-03-22

Family

ID=22638200

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017003594A KR100562240B1 (ko) 1998-10-19 1999-02-18 하이퍼텍스트 문서 및 등가물 사이에서 네비게이트하기위한 멀티 타겟 링크

Country Status (11)

Country Link
US (1) US6751777B2 (ko)
EP (1) EP1131742A4 (ko)
JP (1) JP2002528792A (ko)
KR (1) KR100562240B1 (ko)
CN (1) CN1191538C (ko)
CA (1) CA2333372C (ko)
CZ (1) CZ20011380A3 (ko)
HU (1) HUP0103782A3 (ko)
IL (1) IL139246A (ko)
PL (1) PL347247A1 (ko)
WO (1) WO2000023913A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100866790B1 (ko) * 2002-06-29 2008-11-04 삼성전자주식회사 인터렉티브 모드에서의 포커싱 방법 및 그 장치
KR100905334B1 (ko) * 2007-01-30 2009-07-02 장부중 개인화된 통합 정보검색 방법

Families Citing this family (182)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047483B1 (en) * 1998-09-01 2006-05-16 Lucent Technologies Inc. Computer implemented method and apparatus for providing a logical point of access to one or more files
US6145000A (en) 1998-10-06 2000-11-07 Ameritech Corporation System and method for creating and navigating a linear hypermedia resource program
US6751606B1 (en) * 1998-12-23 2004-06-15 Microsoft Corporation System for enhancing a query interface
US6381618B1 (en) * 1999-06-17 2002-04-30 International Business Machines Corporation Method and apparatus for autosynchronizing distributed versions of documents
US20020059223A1 (en) * 1999-11-30 2002-05-16 Nash Paul R. Locator based assisted information browsing
US6832245B1 (en) 1999-12-01 2004-12-14 At&T Corp. System and method for analyzing communications of user messages to rank users and contacts based on message content
US6996612B1 (en) 1999-12-30 2006-02-07 Vignette Corporation Method of providing information related to activity of a user and a data processing system program product
JP3769437B2 (ja) * 2000-01-26 2006-04-26 日本電気株式会社 特定地域の情報の携帯端末への配信システム、配信方法および配信用プログラムを記録した記録媒体
US7624172B1 (en) 2000-03-17 2009-11-24 Aol Llc State change alerts mechanism
US9246975B2 (en) 2000-03-17 2016-01-26 Facebook, Inc. State change alerts mechanism
US7979802B1 (en) 2000-05-04 2011-07-12 Aol Inc. Providing supplemental contact information corresponding to a referenced individual
US9356894B2 (en) 2000-05-04 2016-05-31 Facebook, Inc. Enabled and disabled menu choices based on presence state
US8132110B1 (en) 2000-05-04 2012-03-06 Aol Inc. Intelligently enabled menu choices based on online presence state in address book
US9100221B2 (en) 2000-05-04 2015-08-04 Facebook, Inc. Systems for messaging senders and recipients of an electronic message
US7117435B1 (en) 2000-06-21 2006-10-03 Microsoft Corporation Spreadsheet fields in text
US7191394B1 (en) 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
US7155667B1 (en) 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US6948135B1 (en) 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US7624356B1 (en) 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US8001190B2 (en) 2001-06-25 2011-08-16 Aol Inc. Email integrated instant messaging
AU2002227511A1 (en) * 2000-07-31 2002-02-13 Sony Corporation Information image use system using information image
JP4038642B2 (ja) * 2000-12-26 2008-01-30 ソニー株式会社 受信機
US7426687B1 (en) * 2001-01-04 2008-09-16 Omniture, Inc. Automatic linking of documents
US20020116525A1 (en) * 2001-02-16 2002-08-22 Peters Marcia L. Method for automatically directing browser to bookmark a URL other than a URL requested for bookmarking
GB0104052D0 (en) * 2001-02-19 2001-04-04 Calaba Ltd Da`a mining method and system
US7158971B1 (en) 2001-03-07 2007-01-02 Thomas Layne Bascom Method for searching document objects on a network
US7386792B1 (en) 2001-03-07 2008-06-10 Thomas Layne Bascom System and method for collecting, storing, managing and providing categorized information related to a document object
US20030018667A1 (en) * 2001-07-18 2003-01-23 Eastman Kodak Company Website using images as a navigational tool for user-created photopages on the internet
JP2003131927A (ja) * 2001-08-15 2003-05-09 Square Co Ltd 表示制御方法、情報処理装置、プログラム及び記録媒体
JP5205684B2 (ja) * 2001-08-29 2013-06-05 日本電気株式会社 ブックマーク管理システム及びブックマーク管理方法
US7089305B2 (en) * 2001-09-25 2006-08-08 International Business Machines Corporation Conditional promotion of bookmarks
US7774711B2 (en) 2001-09-28 2010-08-10 Aol Inc. Automatic categorization of entries in a contact list
US7539933B2 (en) * 2001-11-15 2009-05-26 International Business Machines Corporation Apparatus and method of highlighting links in a web page
US7536404B2 (en) * 2001-12-13 2009-05-19 Siemens Product Lifecycle Management Software, Inc. Electronic files preparation for storage in a server
US7660876B2 (en) * 2001-12-13 2010-02-09 Siemens Product Lifecycle Management Software Inc. Electronic file management
US7124358B2 (en) * 2002-01-02 2006-10-17 International Business Machines Corporation Method for dynamically generating reference identifiers in structured information
KR100490748B1 (ko) * 2002-04-11 2005-05-24 한국전자통신연구원 유,알,엘 포함관계에 기반한 유사도 재계산을 통한효과적인 홈페이지 검색 방법
US7171481B2 (en) * 2002-04-23 2007-01-30 Intel Corporation Validating a data link before its access
US7490148B1 (en) 2002-05-30 2009-02-10 At&T Intellectual Property I, L.P. Completion performance analysis for internet services
US8266270B1 (en) 2002-07-16 2012-09-11 At&T Intellectual Property I, L.P. Delivery performance analysis for internet services
GB0217795D0 (en) * 2002-07-31 2002-09-11 Hewlett Packard Co Establishment of network connections
EP1387300A3 (en) * 2002-07-31 2006-05-24 Hewlett-Packard Development Company, L.P. Establishment of network connections
FI20021628A (fi) * 2002-09-11 2004-03-12 Nokia Corp Menetelmä informaation prosessointiin ja informaatiota prosessoiva asiakas
US7640306B2 (en) 2002-11-18 2009-12-29 Aol Llc Reconfiguring an electronic message to effect an enhanced notification
US7590696B1 (en) 2002-11-18 2009-09-15 Aol Llc Enhanced buddy list using mobile device identifiers
US7899862B2 (en) 2002-11-18 2011-03-01 Aol Inc. Dynamic identification of other users to an online user
US8701014B1 (en) 2002-11-18 2014-04-15 Facebook, Inc. Account linking
US8122137B2 (en) 2002-11-18 2012-02-21 Aol Inc. Dynamic location of a subordinate user
US8005919B2 (en) 2002-11-18 2011-08-23 Aol Inc. Host-based intelligent results related to a character stream
WO2004046867A2 (en) 2002-11-18 2004-06-03 America Online, Inc. People lists
US8965964B1 (en) 2002-11-18 2015-02-24 Facebook, Inc. Managing forwarded electronic messages
US7428580B2 (en) 2003-11-26 2008-09-23 Aol Llc Electronic message forwarding
US7945674B2 (en) 2003-04-02 2011-05-17 Aol Inc. Degrees of separation for handling communications
US7263614B2 (en) 2002-12-31 2007-08-28 Aol Llc Implicit access for communications pathway
US7793233B1 (en) 2003-03-12 2010-09-07 Microsoft Corporation System and method for customizing note flags
US7275216B2 (en) * 2003-03-24 2007-09-25 Microsoft Corporation System and method for designing electronic forms and hierarchical schemas
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US8117265B2 (en) 2003-03-26 2012-02-14 Aol Inc. Identifying and using identities deemed to be known to a user
US7774799B1 (en) 2003-03-26 2010-08-10 Microsoft Corporation System and method for linking page content with a media file and displaying the links
US7454763B2 (en) 2003-03-26 2008-11-18 Microsoft Corporation System and method for linking page content with a video media file and displaying the links
US7296017B2 (en) 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US7913159B2 (en) 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
JP3982454B2 (ja) * 2003-05-27 2007-09-26 ソニー株式会社 携帯型電子機器、ウェブページ処理方法およびプログラム
US7451392B1 (en) 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
US7565425B2 (en) * 2003-07-02 2009-07-21 Amazon Technologies, Inc. Server architecture and methods for persistently storing and serving event data
US7653693B2 (en) 2003-09-05 2010-01-26 Aol Llc Method and system for capturing instant messages
US20050027822A1 (en) * 2003-07-30 2005-02-03 Plaza Manuel Eslick Method and system for providing secondary internet access features by intercepting primary browser window locators
EP1503299A1 (en) * 2003-07-31 2005-02-02 Alcatel A method, a hypermedia communication system, a hypermedia server, a hypermedia client, and computer software products for accessing, distributing, and presenting hypermedia documents
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US7363294B2 (en) * 2003-12-19 2008-04-22 Fuji Xerox Co., Ltd. Indexing for contextual revisitation and digest generation
US7299222B1 (en) * 2003-12-30 2007-11-20 Aol Llc Enhanced search results
US8819072B1 (en) 2004-02-02 2014-08-26 Microsoft Corporation Promoting data from structured data files
US20050192920A1 (en) * 2004-02-17 2005-09-01 Hodge Philip C. Real time data management apparatus, system and mehtod
US8898239B2 (en) 2004-03-05 2014-11-25 Aol Inc. Passively populating a participant list with known contacts
US7228494B2 (en) * 2004-03-15 2007-06-05 Sap Ag Methods and systems for providing navigation within an application
US20050234979A1 (en) * 2004-04-16 2005-10-20 Alcatel Map navigation with breadcrumb buttons
US7496837B1 (en) 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US7281018B1 (en) 2004-05-26 2007-10-09 Microsoft Corporation Form template data source change
US7774620B1 (en) 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
JP2006025127A (ja) * 2004-07-07 2006-01-26 Canon Inc 画像処理装置及びその制御方法
JP4682549B2 (ja) * 2004-07-09 2011-05-11 富士ゼロックス株式会社 分類案内装置
US7783979B1 (en) * 2004-09-14 2010-08-24 A9.Com, Inc. Methods and apparatus for generation and execution of configurable bookmarks
US7712049B2 (en) * 2004-09-30 2010-05-04 Microsoft Corporation Two-dimensional radial user interface for computer software applications
US7692636B2 (en) 2004-09-30 2010-04-06 Microsoft Corporation Systems and methods for handwriting to a screen
US7788589B2 (en) 2004-09-30 2010-08-31 Microsoft Corporation Method and system for improved electronic task flagging and management
US8487879B2 (en) 2004-10-29 2013-07-16 Microsoft Corporation Systems and methods for interacting with a computer through handwriting to a screen
US7712022B2 (en) 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
US7721190B2 (en) 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
US7904801B2 (en) 2004-12-15 2011-03-08 Microsoft Corporation Recursive sections in electronic forms
US7937651B2 (en) 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
US20060161503A1 (en) * 2005-01-18 2006-07-20 Andrei Popescu Budget browsing method, system, apparatus, and software product
US7725834B2 (en) 2005-03-04 2010-05-25 Microsoft Corporation Designer-created aspect for an electronic form template
US9424563B2 (en) * 2005-03-11 2016-08-23 Microsoft Technology Licensing, Llc Accessing medial context information using contextual links
US9836729B2 (en) * 2005-03-11 2017-12-05 Microsoft Technology Licensing, Llc Media software navigation with conditional links
US8010515B2 (en) 2005-04-15 2011-08-30 Microsoft Corporation Query to an electronic form
US8200975B2 (en) 2005-06-29 2012-06-12 Microsoft Corporation Digital signatures for network forms
US9275371B2 (en) * 2005-07-21 2016-03-01 International Business Machines Corporation Keeping track of a detached e-mail attachment
US8671083B2 (en) * 2005-09-28 2014-03-11 International Business Machines Corporation Adaptive, context-based file selection
US20070094267A1 (en) * 2005-10-20 2007-04-26 Glogood Inc. Method and system for website navigation
US20070112738A1 (en) * 2005-11-14 2007-05-17 Aol Llc Displaying User Relevance Feedback for Search Results
US20070112758A1 (en) * 2005-11-14 2007-05-17 Aol Llc Displaying User Feedback for Search Results From People Related to a User
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
US20070143708A1 (en) * 2005-12-19 2007-06-21 Sap Ag Overloaded hyperlink
US7747557B2 (en) 2006-01-05 2010-06-29 Microsoft Corporation Application of metadata to documents and document objects via an operating system user interface
US7797638B2 (en) 2006-01-05 2010-09-14 Microsoft Corporation Application of metadata to documents and document objects via a software application user interface
US7779343B2 (en) 2006-01-30 2010-08-17 Microsoft Corporation Opening network-enabled electronic documents
US7529795B2 (en) 2006-03-20 2009-05-05 Stragent, Llc Message board aggregator
GB0610119D0 (en) * 2006-05-20 2006-06-28 Ibm Internet browser and method of bookmarking in same
US8000318B2 (en) 2006-06-30 2011-08-16 Embarq Holdings Company, Llc System and method for call routing based on transmission performance of a packet network
US8488447B2 (en) 2006-06-30 2013-07-16 Centurylink Intellectual Property Llc System and method for adjusting code speed in a transmission path during call set-up due to reduced transmission performance
US9094257B2 (en) 2006-06-30 2015-07-28 Centurylink Intellectual Property Llc System and method for selecting a content delivery network
US8194643B2 (en) 2006-10-19 2012-06-05 Embarq Holdings Company, Llc System and method for monitoring the connection of an end-user to a remote network
US8289965B2 (en) 2006-10-19 2012-10-16 Embarq Holdings Company, Llc System and method for establishing a communications session with an end-user based on the state of a network connection
US7948909B2 (en) 2006-06-30 2011-05-24 Embarq Holdings Company, Llc System and method for resetting counters counting network performance information at network communications devices on a packet network
US8717911B2 (en) 2006-06-30 2014-05-06 Centurylink Intellectual Property Llc System and method for collecting network performance information
US8477614B2 (en) 2006-06-30 2013-07-02 Centurylink Intellectual Property Llc System and method for routing calls if potential call paths are impaired or congested
US8228791B2 (en) 2006-08-22 2012-07-24 Embarq Holdings Company, Llc System and method for routing communications between packet networks based on intercarrier agreements
US8307065B2 (en) 2006-08-22 2012-11-06 Centurylink Intellectual Property Llc System and method for remotely controlling network operators
US8549405B2 (en) 2006-08-22 2013-10-01 Centurylink Intellectual Property Llc System and method for displaying a graphical representation of a network to identify nodes and node segments on the network that are not operating normally
US7808918B2 (en) 2006-08-22 2010-10-05 Embarq Holdings Company, Llc System and method for dynamically shaping network traffic
US8144586B2 (en) 2006-08-22 2012-03-27 Embarq Holdings Company, Llc System and method for controlling network bandwidth with a connection admission control engine
US8098579B2 (en) 2006-08-22 2012-01-17 Embarq Holdings Company, LP System and method for adjusting the window size of a TCP packet through remote network elements
US8576722B2 (en) 2006-08-22 2013-11-05 Centurylink Intellectual Property Llc System and method for modifying connectivity fault management packets
US8531954B2 (en) 2006-08-22 2013-09-10 Centurylink Intellectual Property Llc System and method for handling reservation requests with a connection admission control engine
US9479341B2 (en) 2006-08-22 2016-10-25 Centurylink Intellectual Property Llc System and method for initiating diagnostics on a packet network node
US8199653B2 (en) 2006-08-22 2012-06-12 Embarq Holdings Company, Llc System and method for communicating network performance information over a packet network
US8223654B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc Application-specific integrated circuit for monitoring and optimizing interlayer network performance
US8189468B2 (en) 2006-10-25 2012-05-29 Embarq Holdings, Company, LLC System and method for regulating messages between networks
US7843831B2 (en) 2006-08-22 2010-11-30 Embarq Holdings Company Llc System and method for routing data on a packet network
US8274905B2 (en) 2006-08-22 2012-09-25 Embarq Holdings Company, Llc System and method for displaying a graph representative of network performance over a time period
US8125897B2 (en) 2006-08-22 2012-02-28 Embarq Holdings Company Lp System and method for monitoring and optimizing network performance with user datagram protocol network performance information packets
US8040811B2 (en) 2006-08-22 2011-10-18 Embarq Holdings Company, Llc System and method for collecting and managing network performance information
US8224255B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc System and method for managing radio frequency windows
US8130793B2 (en) 2006-08-22 2012-03-06 Embarq Holdings Company, Llc System and method for enabling reciprocal billing for different types of communications over a packet network
US8537695B2 (en) 2006-08-22 2013-09-17 Centurylink Intellectual Property Llc System and method for establishing a call being received by a trunk on a packet network
US8619600B2 (en) 2006-08-22 2013-12-31 Centurylink Intellectual Property Llc System and method for establishing calls over a call path having best path metrics
US8144587B2 (en) 2006-08-22 2012-03-27 Embarq Holdings Company, Llc System and method for load balancing network resources using a connection admission control engine
US8064391B2 (en) 2006-08-22 2011-11-22 Embarq Holdings Company, Llc System and method for monitoring and optimizing network performance to a wireless device
US8743703B2 (en) 2006-08-22 2014-06-03 Centurylink Intellectual Property Llc System and method for tracking application resource usage
US8194555B2 (en) 2006-08-22 2012-06-05 Embarq Holdings Company, Llc System and method for using distributed network performance information tables to manage network communications
US8107366B2 (en) * 2006-08-22 2012-01-31 Embarq Holdings Company, LP System and method for using centralized network performance tables to manage network communications
US8238253B2 (en) 2006-08-22 2012-08-07 Embarq Holdings Company, Llc System and method for monitoring interlayer devices and optimizing network performance
US8750158B2 (en) 2006-08-22 2014-06-10 Centurylink Intellectual Property Llc System and method for differentiated billing
US8407765B2 (en) 2006-08-22 2013-03-26 Centurylink Intellectual Property Llc System and method for restricting access to network performance information tables
WO2008024387A2 (en) 2006-08-22 2008-02-28 Embarq Holdings Company Llc System and method for synchronizing counters on an asynchronous packet communications network
US8223655B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc System and method for provisioning resources of a packet network based on collected network performance information
US8015294B2 (en) 2006-08-22 2011-09-06 Embarq Holdings Company, LP Pin-hole firewall for communicating data packets on a packet network
US7684332B2 (en) 2006-08-22 2010-03-23 Embarq Holdings Company, Llc System and method for adjusting the window size of a TCP packet through network elements
US7940735B2 (en) 2006-08-22 2011-05-10 Embarq Holdings Company, Llc System and method for selecting an access point
US7761785B2 (en) * 2006-11-13 2010-07-20 Microsoft Corporation Providing resilient links
US7707518B2 (en) 2006-11-13 2010-04-27 Microsoft Corporation Linking information
US10296561B2 (en) * 2006-11-16 2019-05-21 James Andrews Apparatus, method and graphical user interface for providing a sound link for combining, publishing and accessing websites and audio files on the internet
JP4915219B2 (ja) * 2006-11-24 2012-04-11 富士通株式会社 ハイパーテキスト変換プログラム、方法及び装置
US8621092B2 (en) * 2006-12-19 2013-12-31 International Business Machines Corporation Remote portlet consumer with enhanced resource URL processing
US8930349B2 (en) * 2007-01-26 2015-01-06 Internationl Business Machines Corporation Selectively modifying search engine results
US20170032259A1 (en) 2007-04-17 2017-02-02 Sirius-Beta Corporation System and method for modeling complex layered systems
WO2008131106A1 (en) * 2007-04-17 2008-10-30 Earl Industries Llc Digital system for organizing diverse information
US8111692B2 (en) 2007-05-31 2012-02-07 Embarq Holdings Company Llc System and method for modifying network traffic
JP5326303B2 (ja) * 2008-03-10 2013-10-30 富士通株式会社 統合装置、統合プログラム、統合方法
US8068425B2 (en) 2008-04-09 2011-11-29 Embarq Holdings Company, Llc System and method for using network performance information to determine improved measures of path states
JP4982522B2 (ja) * 2009-04-24 2012-07-25 株式会社エヌ・ティ・ティ・ドコモ 中継サーバ、コンテンツ配信システム及びコンテンツ配信方法
EP2372570B1 (en) * 2010-03-30 2019-06-19 Telefonaktiebolaget LM Ericsson (publ) Secure and flexible access to electronic documents in databases
US20110258524A1 (en) * 2010-04-14 2011-10-20 Sony Ericsson Mobile Communications Ab Grouping quick hyperlink
IN2013CN00326A (ko) * 2010-07-22 2015-07-03 Hewlett Packard Development Co
US9003272B2 (en) * 2010-09-16 2015-04-07 International Business Machines Corporation Method and system of a user associating a first webpage link and second webpage link and viewing of the contents of the webpage links by the selection of the first webpage link
US8909732B2 (en) * 2010-09-28 2014-12-09 Qualcomm Incorporated System and method of establishing transmission control protocol connections
US10270831B2 (en) 2011-04-04 2019-04-23 Soundlink, Inc. Automated system for combining and publishing network-based audio programming
CN103186656A (zh) * 2012-06-05 2013-07-03 刘莎 一种超文本多点链接方法和装置
US20190042644A1 (en) * 2012-12-21 2019-02-07 Lisa Quintana Method and system for adding ebook associations, text and segments within two or more distinct ebooks of digitally stored literature
US9286644B2 (en) * 2013-01-12 2016-03-15 Pro Softnet Corporation Method for sharing multiple data items using a single URL
US11354486B2 (en) * 2013-05-13 2022-06-07 International Business Machines Corporation Presenting a link label for multiple hyperlinks
US9245262B1 (en) * 2013-08-15 2016-01-26 Jpmorgan Chase Bank, N.A. Systems and methods for bookmark payment processing
US9152346B2 (en) * 2013-10-17 2015-10-06 International Business Machines Corporation Storage and retrieval of high importance pages in an active memory sharing environment
US9319410B1 (en) * 2014-01-07 2016-04-19 Fundology, Inc. Electronic shared-document repository
US9348670B2 (en) 2014-03-10 2016-05-24 International Business Machines Corporation Providing a recovery placeholder within an application
US9442908B2 (en) * 2014-06-16 2016-09-13 Workiva Inc. Method and computing device for facilitating review of a document
US11789597B2 (en) * 2021-01-25 2023-10-17 Microsoft Technology Licensing, Llc Systems and methods for storing references to original uniform resource identifiers

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5050071A (en) 1988-11-04 1991-09-17 Harris Edward S Text retrieval method for texts created by external application programs
JPH0415839A (ja) * 1990-05-10 1992-01-21 Toshiba Corp 分散データベース管理装置
US5297249A (en) 1990-10-31 1994-03-22 International Business Machines Corporation Hypermedia link marker abstract and search services
US5204947A (en) 1990-10-31 1993-04-20 International Business Machines Corporation Application independent (open) hypermedia enablement services
US5838906A (en) 1994-10-17 1998-11-17 The Regents Of The University Of California Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document
US5790793A (en) 1995-04-04 1998-08-04 Higley; Thomas Method and system to create, transmit, receive and process information, including an address to further information
US5721908A (en) 1995-06-07 1998-02-24 International Business Machines Corporation Computer network for WWW server data access over internet
US5870770A (en) * 1995-06-07 1999-02-09 Wolfe; Mark A. Document research system and method for displaying citing documents
JP3593750B2 (ja) * 1995-07-21 2004-11-24 富士ゼロックス株式会社 情報検索装置
US5572643A (en) 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
US5822539A (en) * 1995-12-08 1998-10-13 Sun Microsystems, Inc. System for adding requested document cross references to a document by annotation proxy configured to merge and a directory generator and annotation server
US5774123A (en) 1995-12-15 1998-06-30 Ncr Corporation Apparatus and method for enhancing navigation of an on-line multiple-resource information service
US5751961A (en) * 1996-01-31 1998-05-12 Bell Communications Research, Inc. Integrated internet system for translating logical addresses of internet documents to physical addresses using integrated service control point
US5802299A (en) 1996-02-13 1998-09-01 Microtouch Systems, Inc. Interactive system for authoring hypertext document collections
US5761683A (en) 1996-02-13 1998-06-02 Microtouch Systems, Inc. Techniques for changing the behavior of a link in a hypertext document
US5778181A (en) 1996-03-08 1998-07-07 Actv, Inc. Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
US5873107A (en) * 1996-03-29 1999-02-16 Apple Computer, Inc. System for automatically retrieving information relevant to text being authored
US5963964A (en) * 1996-04-05 1999-10-05 Sun Microsystems, Inc. Method, apparatus and program product for updating visual bookmarks
US5778372A (en) 1996-04-18 1998-07-07 Microsoft Corporation Remote retrieval and display management of electronic document with incorporated images
US6098081A (en) * 1996-05-06 2000-08-01 Microsoft Corporation Hypermedia navigation using soft hyperlinks
US5724595A (en) 1996-06-19 1998-03-03 Sun Microsystems, Inc. Simple method for creating hypertext links
US5813007A (en) 1996-06-20 1998-09-22 Sun Microsystems, Inc. Automatic updates of bookmarks in a client computer
US5742768A (en) 1996-07-16 1998-04-21 Silicon Graphics, Inc. System and method for providing and displaying a web page having an embedded menu
US5809247A (en) 1996-07-22 1998-09-15 Intel Corporation Method and apparatus for guided touring of internet/intranet websites
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US6189019B1 (en) * 1996-08-14 2001-02-13 Microsoft Corporation Computer system and computer-implemented process for presenting document connectivity
US5918237A (en) * 1996-09-30 1999-06-29 At&T Corp. System and method for providing multimedia bookmarks for hypertext markup language files
JP3152283B2 (ja) * 1996-10-08 2001-04-03 日本電信電話株式会社 Htmlファイルブラウザのリンク先制御方法およびシステム
US5787470A (en) 1996-10-18 1998-07-28 At&T Corp Inter-cache protocol for improved WEB performance
US6460058B2 (en) * 1996-12-06 2002-10-01 Microsoft Corporation Object-oriented framework for hyperlink navigation
JPH10240732A (ja) * 1997-02-25 1998-09-11 Toshiba Corp Www用htmlファイル作成方法及び装置
US6345303B1 (en) * 1997-03-25 2002-02-05 Intel Corporation Network proxy capable of dynamically selecting a destination device for servicing a client request
US6112239A (en) * 1997-06-18 2000-08-29 Intervu, Inc System and method for server-side optimization of data delivery on a distributed computer network
US5905991A (en) * 1997-08-21 1999-05-18 Reynolds; Mark L System and method providing navigation between documents by creating associations based on bridges between combinations of document elements and software
US5987482A (en) * 1997-09-08 1999-11-16 International Business Machines Corporation Computer system and method of displaying hypertext documents with internal hypertext link definitions
US6356922B1 (en) * 1997-09-15 2002-03-12 Fuji Xerox Co., Ltd. Method and system for suggesting related documents
US6230196B1 (en) * 1997-11-12 2001-05-08 International Business Machines Corporation Generation of smart HTML anchors in dynamic web page creation
US6208995B1 (en) * 1997-11-24 2001-03-27 International Business Machines Corporation Web browser download of bookmark set
US6092074A (en) * 1998-02-10 2000-07-18 Connect Innovations, Inc. Dynamic insertion and updating of hypertext links for internet servers
US6122647A (en) * 1998-05-19 2000-09-19 Perspecta, Inc. Dynamic generation of contextual links in hypertext documents
US6115752A (en) * 1998-05-21 2000-09-05 Sun Microsystems, Inc. System and method for server selection for mirrored sites
US6385641B1 (en) * 1998-06-05 2002-05-07 The Regents Of The University Of California Adaptive prefetching for computer network and web browsing with a graphic user interface
US6278449B1 (en) * 1998-09-03 2001-08-21 Sony Corporation Apparatus and method for designating information to be retrieved over a computer network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100866790B1 (ko) * 2002-06-29 2008-11-04 삼성전자주식회사 인터렉티브 모드에서의 포커싱 방법 및 그 장치
KR100905334B1 (ko) * 2007-01-30 2009-07-02 장부중 개인화된 통합 정보검색 방법

Also Published As

Publication number Publication date
CZ20011380A3 (cs) 2001-09-12
WO2000023913A1 (en) 2000-04-27
HUP0103782A2 (hu) 2002-02-28
JP2002528792A (ja) 2002-09-03
IL139246A0 (en) 2001-11-25
EP1131742A4 (en) 2004-01-07
CA2333372A1 (en) 2000-04-27
CA2333372C (en) 2006-10-10
CN1323423A (zh) 2001-11-21
EP1131742A1 (en) 2001-09-12
IL139246A (en) 2005-11-20
KR100562240B1 (ko) 2006-03-22
US6751777B2 (en) 2004-06-15
HUP0103782A3 (en) 2005-01-28
CN1191538C (zh) 2005-03-02
US20030188263A1 (en) 2003-10-02
PL347247A1 (en) 2002-03-25

Similar Documents

Publication Publication Date Title
KR100562240B1 (ko) 하이퍼텍스트 문서 및 등가물 사이에서 네비게이트하기위한 멀티 타겟 링크
US6865713B1 (en) Apparatus, program product and method of annotating a hypertext document with comments
US6314439B1 (en) Computer system, program product and method of creating aliases and accessing storage locations in a computer system with same
US6832350B1 (en) Organizing and categorizing hypertext document bookmarks by mutual affinity based on predetermined affinity criteria
US7506257B1 (en) System and method for providing help contents for components of a computer system
KR101303488B1 (ko) 인라인 문맥 질의들을 사용하는 검색 시스템들 및 방법들
US6557015B1 (en) Determining whether a second hypertext document is included in a list of active document trails
CA2736493C (en) Displaying menu for accessing hierarchial content data including caching multiple menu states
US7565606B2 (en) Automated spell analysis
US8452793B2 (en) Query refinement based on user selections
US6665842B2 (en) Adaptive font sizes for network browsing
KR101556905B1 (ko) 구조화된 데이터를 이용하는 웹페이지 링크들의 관리
US8001215B2 (en) Unlimited history store for navigational web applications
JP5047959B2 (ja) ユーザインタラクションについての離れに基づく相対的検索結果
US7614004B2 (en) Intelligent forward resource navigation
JP5148603B2 (ja) 検索早期警告
US6782430B1 (en) Invalid link recovery
US7028032B1 (en) Method of updating network information addresses
US7454706B1 (en) Multiple-page shell user interface
CA2337781A1 (en) Automated generation of aliases based on embedded alias information
WO2002046953A9 (en) Method and apparatus for providing web site preview information
US20030074416A1 (en) Method of establishing a navigation mark for a web page
US6052716A (en) Apparatus and method in hierarchy of internet web pages for fast return to a network page
JP2001508561A (ja) ウェブリポジトリの変更の問い合わせとナビゲーション
JP7501066B2 (ja) 情報処理装置およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee