KR100991027B1 - 파일 시스템 셸 - Google Patents

파일 시스템 셸 Download PDF

Info

Publication number
KR100991027B1
KR100991027B1 KR1020047010366A KR20047010366A KR100991027B1 KR 100991027 B1 KR100991027 B1 KR 100991027B1 KR 1020047010366 A KR1020047010366 A KR 1020047010366A KR 20047010366 A KR20047010366 A KR 20047010366A KR 100991027 B1 KR100991027 B1 KR 100991027B1
Authority
KR
South Korea
Prior art keywords
items
user
display
providing
interactivity
Prior art date
Application number
KR1020047010366A
Other languages
English (en)
Other versions
KR20060061734A (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 KR20060061734A publication Critical patent/KR20060061734A/ko
Application granted granted Critical
Publication of KR100991027B1 publication Critical patent/KR100991027B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/168Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • 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/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually

Abstract

파일 시스템 셸이 제공된다. 셸의 일 형태는 디스크 상의 실제 물리적인 기초 파일 시스템 구조 대신에 그들의 메타데이터에 기초하여 여러 뷰에서 사용자에게 정규적인 파일 및 폴더를 보이는 가상 폴더를 제공한다. 사용자는 또한 조작(예를 들어, 클릭킹 및 드래깅, 복사하기, 붙이기, 등)으로 가상 폴더에서 작업할 수 있다. 항목의 세트를 줄이기 위한 필터가 제공된다. 항목의 세트의 이용가능한 뷰를 형성하기 위해 클릭될 수 있는 퀵 링크가 제공된다. 항목에 관련된 기능 및 툴과 함께, 함께 관련될 수 있는 이용가능한 유형의 항목의 대형 그룹으로 이루어지는 라이브러리가 제공된다. 복수의 세그먼트로 이루어지는 가상 어드레스 바가 제공되며, 각 세그먼트는 컨텐츠를 선택하기 위한 필터에 대응한다. 사용자가 항목을 그 항목과 관련되는 메타데이터에 기초하여 용이하게 식별할 수 있는 셸 브라우저가 제공된다. 복수의 항목 유형을 나타내는 복수의 항목을 표시하도록 구성되는 셸 브라우저의 오브젝트 프리뷰어가 제공된다.
메타데이터, 셸 브라우저, 가상 폴더, 필터, 가상 어드레스 바, 라이브러리, 퀵 링크

Description

파일 시스템 셸{FILE SYSTEM SHELL}
본 발명은 파일 시스템에 관한 것으로, 특히, 파일 시스템 셸에 관한 것이다.
현재의 컴퓨터 파일 시스템은 원치 않는 많은 한계점을 갖고 있다. 그 중 하나는 사용자들에게 보여지는 구조를 사용자들이 대체로 제어할 수 없다는 것이다. 다시 말해, 폴더가 체계화되어 있을 때, 사용자가 구조를 선택해야 하고, 이 때 그 구조는 변경하기가 어렵다. 특정 예로, "음악" 폴더에 대해 사용자가 아티스트/앨범 포맷으로 음악 파일을 체계화하려고 선택하면, 여기에서는 각 아티스트에 대한 모든 앨범 폴더가 그 특정 아티스트의 폴더에 그룹화되고, 그 특정 앨범의 모든 노래가 그 앨범의 폴더에 그룹화된다. 이 아티스트/앨범 포맷은 한 유형의 음악을 재생하는 것(예를 들어, 다른 2명의 아티스트의 2개의 재즈 노래를 재생하는 것)이나, 여러 아티스트의 앨범 선택을 재생하는 것에는 도움이 되지 않는다.
다른 문제로, 사용자는 체계화하기가 어려운 다수의 파일을 가질 수 있다. 어떤 사용자는 파일에 대해 경직된 관념에 의한 배치를 행하여, 이들에 엄격한 계층을 형성하기도 한다. 이런 파일의 관리는 유용 문서의 개수가 많아짐에 따라 상당히 복잡하고 어려워지게 되어, 서치와 검색을 또한 어렵게 만든다. 이 문제는 공유 문서 등과 같이 다른 위치로부터의 추가 파일이 이용될 때 더욱 배가된다.
사용자는 또한 다른 장치, 그 외 PC 또는 온라인 상에서와 같이, 여러 위치에 있는 파일을 다루어야 한다. 예를 들어, 사용자는 (음악 프로그램에 억세스할 수 있는 바와 같이) 컴퓨터로 음악을 듣는 것을 선택할 수 있거나 온라인 접속하여 웹 사이트로부터 음악을 들을 수 있지만, 이들 두 소스 간에는 엄격한 구분이 있다. 다른 위치로부터 나오는 음악은 다르게 체계화되므로, 동일한 방식으로 또는 동일한 위치에서 유지되지 않는다. 다른 예로, 회사의 네트워크 상에 저장된 파일은 사용자가 현재 기기 상에 갖고 있는 파일과는 본래부터 개별적일 수 있다.
사용자는 또한 어떤 파일 데이터가 저장되어 있는지 뿐만 아니라, 어디에 저장되어 있는지도 추적해야 한다. 예를 들어, 음악 파일에 대해, 사용자는 여러 시스템 상에 사본을 유지하도록 되어서 어느 음악 파일이 어디에 위치되어 있는지를 추적하도록 된다. 이것은 이들이 로컬로 저장되어 있을 때에도 파일의 위치를 알아내는 것을 어렵게 만들 수 있다.
또한 사용자가 가진 파일을 찾아 이 파일로 되돌아가는 것이 어려울 때가 있다. 사용자는 특정 파일을 어디에 어떻게 저장했는지 생각해내기가 어렵다는 것을 알게 될 수도 있다. 폴더의 세트와 심지어 유사한 파일의 그룹인 경우, 사용자는 그들이 찾고 있는 것을 신속히 찾기가 어렵다는 것을 알게 된다. 찾기 어려운 위치에 저장된 파일에 대해서는, 위치를 알아내는 것이 더더욱 복잡하다. 또한, 사용자가 일단 폴더에 많은 파일을 갖게 되면, 특히 컨텐츠가 유사한 경우, 폴더를 신속히 파싱(parsing)하기가 더욱 어려워진다.
또한 어떤 때는 사용자가 네트워크 상에서 파일을 찾거나 이 파일로 되돌아가는 것이 어렵다. 때로는 파일을 공유하고 발행하는 것이 어려우며, 이를 이용가능하게 한 누군가로부터 이 파일을 가져오는 것은 더더욱 어려울 수 있다. 사용자는 통상 그들이 네트워크 상에서 파일을 찾기 위해 필요로 하는 여러 사이트와 이름을 기억하거나 매핑해야 한다.
네임 스페이스는 변화할 수 있는데, 이는 어느 것이 "정확한" 것인지에 대해 사용자에게 혼란을 초래할 수 있다. 이것은 상이한 명명(naming) 약정, 제한 등이 있는 네트워크에서는 특히 그렇다. 예를 들어, 특정 운영 체제는 이들이 보일 수 있게 하기 위해서 띄어쓰기 없는 짧은 이름을 필요로 할 수 있다.
프로그램은 또한 그들 자신의 디렉토리나 그 외 네임 스페이스에 파일을 저장하는데, 이는 사용자가 그 파일로 되돌아가는 경로를 아는 것을 어렵게 만들 수 있다. 프로그램은 이들이 문서를 저장하는 디폴트 디렉토리와 위치를 갖는다. 사용자는 때로는 하드 디스크 전체를 검색하여 파일이 어디에 저장되어 있는지에 대해 추측해야 한다.
관련 항목은 또한 때때로 개별 위치에 저장되어 있다. 사용자가 갖는 관련 파일은 하드 디스크 등의 다른 부분에 저장될 수 있다. 이 문제는 다수의 컨텐츠 유형(예를 들어, 그림, 음악, 비디오)을 갖는 디지털 미디어 서비스의 개발에 따라 더욱 일반적이 되고 있다.
파일 시스템의 다른 문제는 어드레스 바(address bar)에 관련된 것이다. 사용자가 컴퓨터의 파일 시스템을 네비게이션함에 따라, 어드레스 바로 언급되는 종 래의 그래픽 인터페이스 제어는 사용자에게 그들이 파일 시스템 계층에서 어디에 있는지를 보여준다. 종래의 어드레스 바는 폴더, 서브폴더, 및 파일의 파일 시스템 계층 구조에 있어서 현재 위치를 보여준다. 종래의 어드레스 바에서 표시되는 사용자 위치의 변경은 통상 두 방법 중 하나로 실행되게 된다. 첫번째 방법은 어드레스 바의 어드레스를 수동으로 편집하는 것이다. 어드레스 바의 어드레스를 수동으로 편집하는 것은 사용자가 파일 시스템 계층에서 임의의 개수의 위치에 재배치할 수 있게 하지만, 사용자가 컴퓨터 상의 파일 시스템의 체계화에 관련한 특정 정보, 즉 특정 파일 시스템 위치를 갖는 것이 요구된다. 두번째 방법은 조작시 새로운 어드레스나 위치를 반영하도록, 어드레스 바를 갱신하는 외부 네비게이션 툴을 이용하는 것이다. 어드레스 바에서 어드레스의 수동 편집을 우회하면서, 외부 네비게이션 툴을 조작하는 것은 사용자가 파일 시스템의 체계화에 관련한 특정 정보를 가지고 계층 구조 전체를 고찰하는 것을 요구한다. 그러나, 종래의 어드레스 바는 어드레스 바의 어드레스와 파일 시스템 계층의 특정 위치 간의 일대일 관계로 인해, 폴더나 드라이브 등의 복수의 파일 시스템 사이에 저장된 파일이나 데이터를 참조할 수가 없다.
종래 기술에서는 사용자가 복수의 파일 시스템 위치들 중에서 저장된 파일을 표시하는 어드레스를 사용자가 특정하도록 하는 어드레스 바가 없다. 더욱 종래 기술에서는 어드레스를 수동으로 편집하지 않고, 또는 기초 파일 시스템의 체계화에 관련한 특정 지식을 필요로 하지 않고 사용자가 어드레스 바의 어드레스를 용이하게 수정할 수 있도록 하는 어드레스 바가 없다. 또한 종래 기술에서는 사용자에 게 파일의 대체 선택을 제시하고 사용자가 파일의 이러한 선택으로 네비게이션하도록 선택할 수 있는 어드레스 바가 없다. 이러한 어드레스 바는 또한 사용자의 선호도에 따른 이전의 경험에 따라서 사용자가 어드레스 바와 상호작용 할 수 있게 하는 어드레스 바 인터페이스를 사용자에게 선택적으로 제공할 수 있다.
파일 시스템의 다른 문제는 컴퓨터 상에 저장된 항목의 식별에 관련된다. 퍼스널 컴퓨터(PC)와 같은 컴퓨팅 환경에 저장된 항목을 용이하게 식별할 필요는 하루 일상에서 컴퓨터를 이용하는 개인들이 더욱 많아질수록 그리고 저장된 정보의 유형이 그림, 음악, 문서 등의 사이에서 다양해짐에 따라 급격히 증가하고 있다. 문서와 미디어는 통상 계층적인 방식으로 컴퓨터 상에 저장되고 폴더 내에 저장된 정보나 미디어의 파일로 체계화된다. 파일 시스템 브라우저는 사용자가 파일 시스템을 네비게이션하여 파일 및 폴더의 위치를 알아내어 열 수 있게 한다. 예를 들어, 마이크로소프트사의 WINDOWS(등록상표) EXPLORERTM는 사용자가 파일 시스템을 브라우징하게 하는 운영 체제 유틸리티이다.
많은 사용자들은 종래의 파일 시스템 브라우저에서 현재 유용한 정보에 기초하여 파일을 정확하게 식별하기가 어렵다는 것을 알게 된다. 물론, 파일의 컨텐츠는 응용 프로그램으로 이를 열어 증명될 수 있지만, 이 파일의 브라우징 방법은 매우 효과적이지 못하다. 파일 시스템 브라우저 내의 파일에 대한 메타데이터를 보는 능력은 사용자가 특정 파일을 열 필요 없이 식별하는 것을 도와줄 수 있다. 예를 들어, 마이크로소프트사의 WINDOWS(등록상표)9X 운영 체제에서, 사용자는 특정 오브젝트에 대한 특성 시트(property sheet)를 억세스하여 오브젝트 메타데이터를 볼 수가 있다. 특성 시트는 특성 페이지의 탭 형성된 인덱스 카드형(tabbed, index-card-like) 선택의 형태로 오브젝트의 속성이나 설정의 목록을 사용자에게 제시하고, 이들 각각은 파라미터를 사용자 맞춤하기 위한 표준 대화 스타일 제어를 특징으로 한다. 그러나, 항목의 위치를 찾기 위해 특성 시트를 이용하는 것은 느리고 좀 귀찮은 일이 될 수 있으며, 어떤 사용자는 특성 시트에 관련 메타데이터를 위치 선정하는 것이 어렵다는 것을 알게 된다. 유사하게, 항목을 위치 선정하는 데에 인포팁(infotip)을 이용하는 것은 사용자가 인포팁에 표시된 제한된 메타데이터를 보기 위해서 각 파일 위에 마우스를 갖다 대어야 하기 때문에 느리고 귀찮은 일이 아닐 수 없다.
종래의 파일 시스템 브라우저는 사용자가 나중에 파일의 위치를 찾아내는 능력을 상당히 증진시킬 수 있는, 사용자에 의한 파일 및 폴더에 관한 메타데이터의 입력 및 편집을 허용하지 않는다. 오늘날, 사용자가 메타데이터를 입력 및 편집하는 능력은 특수 목적의 소프트웨어 프로그램으로 제한되었다. 예를 들어, 전자 음악 파일에 대한 미디어 플레이어는 사용자에게 음악 앨범과 아티스트와 관련된 메타데이터를 편집하는 능력을 부여한다. 이런 프로그램의 다른 예는 전자 그림 파일에 대한 응용 프로그램을 포함한다. 그러나, 미디어 플레이어와 그 외 이런 프로그램의 이용은 다수의 파일 유형을 지원하는 범용의 파일 시스템 브라우저와는 반대로, 프로그램에 의해 지원되는 특정 유형의 파일로 제한된다.
마이크로소프트사의 WINDOWS(등록상표) XP 운영 체제는 내 그림 폴더에 이용하기 위해 이미지 브라우저를 포함한다. 내 그림 폴더는 사용자가 그림을 단지 문서 아이콘이 아니라 사진으로 볼 수 있게 하는 특수 특성이 부여되어 있다. 내 그림의 이미지 브라우징 특성은 섬네일(thumbnail) 크기와 대형 버전의 사진을 보이고, 비스듬한 사진을 회전시키고, 슬라이드쇼를 형성하는 능력을 포함한다. 사용자는 그 크기, 찍은 날짜와 시간, 및 찍은 카메라의 이름과 같은 사진의 상세 사항을 볼 수 있다. 내 그림의 폴더의 미리보기 제어 영역은 사용자가 선택한 이미지의 확대 미리보기 이미지, 일련의 그림들을 통해 반복하는 데 있어서 사용자를 돕는 반복자 버튼(iterator button), 시계 방향이나 반시계 방향으로 그림을 회전시키는 제어를 포함한다. WINDOWS(등록상표) XP의 이미지 브라우징 특성은 그림을 보고 조작하는 응용 프로그램을 가져올 필요가 없어 기술 상태를 개선하긴 했지만, 사용자는 여전히 그림에 관련된 메타데이터를 입력 및 편집할 수는 없다.
따라서, 사용자가 항목을 그 항목과 관련된 메타데이터에 기초하여 용이하게 위치 선정할 수 있도록 하는 셸이나 파일 시스템 브라우저 내에서의 사용자 경험의 개선 필요성이 대두되고 있다. 또한 응용 프로그램을 가져 올 필요 없이 셸 브라우저 내의 여러 유형의 항목과 관련된 메타데이터를 사용자가 입력 및 편집할 수 있도록 하는 시스템 및 방법의 필요성이 대두되고 있다. 또한 사용자에게 개선된 파일 컨텐츠 인식 특성을 제공하여 사용자가 그 파일의 위치를 용이하게 찾아낼 수 있도록 하는 파일 시스템 또는 셸 브라우저가 필요하다. 또한 복수의 유용한 프리뷰어(previewer) 중에서 특정 파일 유형에 대한 프리뷰어를 선택하도록 하는 셸 브라우저의 개선된 그래픽 사용자 인터페이스도 요구되고 있다. 또한 소프트웨어 개발자가 부가의 정보 및 기능을 파일 유형에 기초하여 사용자에게 제공할 수 있게 하는 확장성 셸 브라우저의 필요성이 대두되고 있다. 또한 다른 집합의 항목에서도 유사한 UI 경험을 제공하는 것이 요구되고 있다.
본 발명의 일 태양에 따르면, 가상 폴더를 이용하는 시스템 및 방법이 제공된다. 가상 폴더는 디스크 상의 실제 물리적 기초 파일 시스템 구조 대신에 메타데이터에 기초하여 여러 뷰(view)에서 사용자에게 정규 파일과 폴더(또한 디렉토리로 알려짐)를 보여준다. 따라서, 이 시스템은 데이터베이스에 저장된 특성을 취하여 이를 폴더와 유사한 컨테이너(container)로서 나타낼 수 있다. 사용자는 폴더로 작업하는 것에 이미 친숙하기 때문에, 유사한 방식으로 가상 폴더를 제시함으로써, 새로운 시스템에 더욱 신속하게 적응할 수 있다.
본 발명의 다른 태양에 따르면, 디스플레이 및 항목 저장용 메모리를 갖는 컴퓨터 시스템에서 이용되는 방법에 따라 가상 폴더가 제공된다. 본 발명에 따르면, 메타데이터 특성이 선택된다. 다음에 시스템은 선택된 메타데이터 특성을 갖는 항목을 검색하고, 그 메타데이터 특성을 갖는 항목의 집합을 나타내는 가상 폴더 디스플레이 오브젝트가 제공된다.
본 발명의 다른 태양에 따르면, 시스템은 사용자로부터 질의(query)를 취득하는 폴더 프로세서 및 항목에 대한 정보를 저장하기 위한 관련 데이터베이스를 포함한다. 폴더 프로세서는 먼저 사용자로부터 질의를 취득하고 이 질의를 관련 데이터베이스에 보낸다. 관련 데이터베이스는 결과를 다시 폴더 프로세서에 제공하 고, 관련 데이터베이스로부터의 결과에 기초하여, 폴더 프로세서는 사용자에게 이 결과를 가상 폴더에 제공한다. 일 실시예에서, 폴더 프로세서에 다시 제공된 결과는 데이터베이스 행(row) 및 열(column)을 포함한다. 데이터베이스 행 및 열은 폴더 프로세서에 의해 열거자(enumerator) 구조로 변환되고, 이어서 열거자 구조는 디스플레이에 결과적인 가상 폴더가 위치하게 하는 데 이용된다.
본 발명의 다른 태양에 따르면, 사용자는 직접적인 조작에 의해 가상 폴더를 작업할 수 있다. 다시 말해, 가상 폴더를 조작하기 위해 제공된 메커니즘은 종래의 물리적 폴더를 조작하기 위해 현재 이용되는 것(예를 들어, 클릭 및 드래그, 복사하기, 붙이기 등)과 유사하다.
본 발명의 다른 태양에 따르면, 가상 폴더의 직접적 조작을 실행하는 방법은 디스플레이 및 항목 저장용 메모리를 갖는 컴퓨터 시스템에서 제공된다. 이 방법에 따르면, 항목의 그룹이 가상 폴더로 표시된다. 가상 폴더의 직접적인 조작에 대해 실행될 수 있는 규정된 동작들이 제공되고, 여기에서 규정된 동작이 실행될 때, 가상 폴더는 이 규정된 동작에 의해 지시되는 바와 같이 조작되게 된다. 규정된 동작의 일례로는 가상 폴더를 클릭하여 드래그하는 것이 있다. 일 실시예에서, 제1 가상 폴더를 제2 가상 폴더로 클릭하여 드래그하는 동작은 항목을 제1 가상 폴더로부터 제2 가상 폴더로 복사하는 기능을 실행한다. 항목을 가상 폴더에 복사하는 것은 항목과 관련되는 선택된 메타데이터 특성을 부가하거나 아니면 변경하는 것과도 관련된다.
본 발명의 다른 태양에 따르면, 가상 폴더를 조작하기 위해 필터가 제공된 다. 이 필터는 본래 항목의 세트(set)를 줄이는 툴(tool)이다. 일 실시예에서 필터는 개별의 항목의 특성에 기초하여 동적으로 형성된다. 예를 들어, 항목의 세트에 대해, 필터 메커니즘은 특성을 리뷰할 수 있고, 항목이 일반적으로 "저자(author)"를 특성으로 갖게 되면, 필터는 저자의 목록을 제공할 수 있다. 다음에 특정 저자를 클릭하면, 그 저자를 갖지 않는 항목은 사라지게 된다. 이로 인해 사용자는 컨텐츠를 줄일 수 있다.
본 발명의 다른 태양에 따르면, 디스플레이 및 메타데이터 특성을 갖는 항목을 저장하기 위한 메모리를 갖는 컴퓨터 시스템에서 항목의 필터링 방법이 제공된다. 하나 이상의 항목을 표시하는 디스플레이 오브젝트가 각각 디스플레이 상에 제공된다. 디스플레이 오브젝트에 의해 표시되는 항목의 메타데이터 특성이 평가된다. 복수의 항목에 의해 공유되는 메타데이터 특성에 대응하는 필터 용어(filter term)가 디스플레이에 제공되고, 여기에서 이 필터 용어의 선택은 디스플레이 상에 표시되는 항목이 특정 메타데이터 특성을 공유하는 이들 항목으로 축소되게 한다.
본 발명의 다른 태양에 따르면, 복수의 항목이 디스플레이 상에 표시되고, 필터 용어가 항목의 메타데이터 특성에 기초하여 동적으로 형성된다. 이 필터 용어가 선택되면, 디스플레이 상에 표시되는 항목을 필터 용어에 대응하는 메타데이터 특성을 갖는 것으로 축소시킨다.
본 발명의 다른 태양에 따르면, 복수의 항목이 디스플레이 상에 표시되고, 사용자가 필터 용어를 입력할 수 있는 필터 영역이 제공된다. 필터 용어가 사용자 에 의해 입력되며, 디스플레이 상에 표시된 항목은 필터 용어를 포함하는 것으로 축소되게 된다. 사용자가 필터 용어를 타이핑함에 따라, 각 새로운 문자가 필터 용어에 추가될 때마다 추가의 항목이 필터링될 수 있다.
본 발명의 다른 태양에 따르면, 필터링 처리 중에 뒤로 가기 위해 이용되는 백(back) 버튼이 제공된다. 예를 들어, 사용자가 필터 용어를 입력한 후에, 이 사용자는 필터 용어가 적용되기 전에 디스플레이 상에 표시되던 항목의 세트로 돌아가길 원할 수 있다. 백 버튼은 사용자가 필터 네비게이션에서 원하는 지점까지 다시 돌아갈 수 있도록 한다.
본 발명의 다른 태양에 따르면, 퀵 링크(quick link)가 제공된다. 일 실시예에서, 퀵 링크는 항목의 세트의 유용한 뷰를 형성하도록 클릭될 수 있는(예를 들어, 디스플레이의 좌측에 위치된) 미리 정해진 링크의 세트이다. 이들은 프로그램에 의해 미리 정해지거나 사용자에 의해 설정될 수 있다. 예를 들어, "모든 저자"를 클릭하면 저자별로 스택된 뷰를 가져올 수 있다. "모든 문서"는 모든 저장 영역에 걸친 모든 문서의 플랫 뷰를 가져올 수 있다. 사용자는 또한 자신만의 퀵 링크를 형성할 수 있다. 예를 들어, 사용자가 2003년 1월에 수정된 모든 문서로 필터링한 다음에, 이를 퀵 링크로 저장할 수 있다.
본 발명의 다른 태양에 따르면, 퀵 링크를 제공하는 방법은 디스플레이 및 항목 저장용 메모리를 갖는 컴퓨터 시스템에서 실현된다. 본 발명에 따르면, 사용자는 원하는 항목의 집합의 뷰를 먼저 네비게이션한다. 원하는 항목의 집합에 대응하는 퀵 링크를 저장하여 이름을 제공한다. 퀵 링크의 이름이 디스플레이 상에 제시되어 이 퀵 링크를 클릭하는 것으로 사용자는 원하는 항목의 집합의 뷰로 돌아갈 수 있다.
본 발명의 다른 태양에 따르면, 라이브러리가 제공된다. 라이브러리는 함께 관련될 수 있는 대형 그룹의 이용 가능한 유형의 파일로 이루어진다. 예를 들어, 사진이 하나의 라이브러리, 음악이 다른 라이브러리, 문서가 또 다른 라이브러리일 수 있다. 라이브러리는 특정 유형의 항목에 관련되는 툴 및 동작을 제공한다. 예를 들어, 사진 라이브러리에는 슬라이드 쇼를 형성하거나 그림을 공유하는 것과 같이 사진을 조작하는 것과 관련되는 툴 및 필터가 있다.
본 발명의 다른 태양에 따르면, 라이브러리를 형성하는 방법은 디스플레이 및 항목 저장용 메모리를 구비한 컴퓨터 시스템에서 제공된다. 이 방법은 하나 이상의 특정 메타데이터 특성을 갖는 항목을 포함하도록 라이브러리를 형성하는 것으로 시작한다. 다음에, 하나 이상의 특정 메타데이터 특성을 갖는 항목은 자동으로 이 라이브러리로 그룹화된다. 라이브러리의 항목을 조작하기 위한 툴이 또한 제공된다.
본 발명의 다른 태양에 따르면, 넓은 유효범위의 파일이나 항목이 이용될 수 있다. 다시 말해, 시스템은 사용자에게 모든 항목이 한 위치로부터 나온 것으로 보이도록 다수의 물리적 위치(예를 들어, 여러 하드 드라이브, 여러 컴퓨터, 여러 네트워크 위치 등)로부터의 파일/항목을 표시할 수 있다. 예를 들어, 사용자에게는 하나의 스크린 상에서 모든 음악 파일이 제시될 수 있으므로, 파일이 여러 하드 드라이브, 여러 컴퓨터, 또는 여러 네트워크 위치 상에 물리적으로 저장되어 있다고 해도, 하나의 뷰로부터 파일 모두를 조작할 수가 있는 것이다.
본 발명의 다른 태양에 따르면, 디스플레이를 갖는 컴퓨터 시스템에서 항목을 표시하는 방법에 유효범위(scope)를 이용한다. 이 방법은 항목이 얻어진 물리적 메모리 위치의 유효범위를 정의하는 것에 관련되고, 이 유효범위는 현재의 컴퓨터 메모리 및 적어도 하나의 다른 물리적 위치로 이루어진다. 질의가 일단 수신되면, 이 질의에 응답하여 유효범위에서 정의되어진 물리적 위치로부터 항목이 나오고, 다음에 질의로부터 나온 이 항목이 디스플레이 상의 뷰에 제시된다. 일 실시예에서, 적어도 하나의 다른 물리적 위치는 다른 컴퓨터, 네트워크 상의 위치 또는 외부 저장 장치일 수 있다. 일 실시예에서, 디스플레이 상의 뷰는 항목이 물리적으로 저장되는 물리적 위치를 나타내는 물리적 폴더 뷰로 전환될 수 있다.
본 발명의 다른 태양에 따르면, 비-파일(non-file) 항목이 가상 폴더에 표시될 수 있다. 다시 말해, 메모리에 저장된 파일이 물리적 저장부에 위치된다. 가상 폴더는 물리적 저장부에 현재 표시되지 않은 항목을 포함하도록 만들어질 수 있다. 비-파일 항목의 예는 이메일, 및 연락처이다.
본 발명의 다른 태양에 따르면, 비-파일 항목을 제시하는 방법은 디스플레이 및 항목 저장용 메모리를 갖는 컴퓨터 시스템에서 실현된다. 이 방법은 비-파일 항목과 파일 항목 둘 모두를 질의에 의해 검색할 수 있는 데이터베이스를 제공하는 단계를 포함한다. 일단 질의가 수신되면, 질의와 일치하는 비-파일 항목과 파일 항목 둘 모두가 나오게 되고, 다음에 이 질의와 일치하는 항목이 디스플레이 상에 제시된다. 일 실시예에서, 파일 항목에 대한 선택된 정보를 포함하고, 엔트리 내 에 특정 비-파일 항목을 보유하는 관련 데이터베이스가 제공된다.
본 발명의 다른 태양에 따르면, 컴퓨터 파일 시스템 상에 저장된 컨텐츠를 선택하기 위한 가상 어드레스 바가 제공된다. 가상 어드레스 바는 복수의 세그먼트로 이루어진다. 각 세그먼트는 컴퓨터 파일 시스템 상에 저장된 컨텐츠를 선택하기 위한 필터에 대응한다. 집합적으로, 가상 어드레스 바의 각 세그먼트의 대응 필터는 컴퓨터 파일 시스템 상에 저장된 컨텐츠를 선택하기 위한 가상 어드레스를 나타낸다.
각 세그먼트는 사용자 상호 작용에 응답하여 가상 어드레스 바의 가상 어드레스를 수정할 수 있는 상호 작용성 세그먼트이다. 가상 어드레스 바에서 세그먼트를 선택하게 되면 선택된 세그먼트에 후속하는 세그먼트는 가상 어드레스 바로부터 제거되게 된다. 가상 어드레스 바에서 세그먼트를 대체 선택하게 되면 선택 가능한 피어 필터(peer filter)의 목록이 사용자에게 표시되게 된다. 피어 필터는 대체 선택된 세그먼트의 대응 필터에 대해 피어가 된다. 피어 필터들 중 하나의 선택은 대체 선택된 세그먼트가 그 대응 필터를 선택된 피어 필터로 교체하게 한다. 부가하여, 대체 선택된 필터 세그먼트에 후속하는 세그먼트들은 가상 어드레스 바로부터 제거된다.
세그먼트는 외부 사용자의 동작에 따라 가상 어드레스 바에 추가될 수 있다. 세그먼트는 가상 어드레스 바에서 세그먼트의 말단에 추가된다. 어드레스 세그먼트와 충돌하는 세그먼트는 모두 제거된다. 가상 어드레스 바의 현재의 세그먼트는 이 현재의 세그먼트가 추가된 세그먼트와 상호 배타적일 때 추가된 세그먼트와 충 돌하게 된다. 가상 어드레스 바의 현재의 세그먼트는 또한 현재의 세그먼트가 추가된 세그먼트보다 유효범위가 더 넓거나 좁을 때 추가된 세그먼트와 충돌하게 된다.
본 발명의 다른 태양에 따르면, 창(window) 및 편집 제어를 포함하는 셸 브라우저가 제공된다. 창은 항목의 그룹을 표시하고 또한 하나 이상의 표시된 항목과 관련되는 메타데이터 값을 표시한다. 편집 제어는 창에 표시되는 메타데이터 값의 적어도 일부에 대한 사용자의 수정을 가능하게 한다.
본 발명의 다른 태양에 따르면, 그래픽 사용자 인터페이스는 컴퓨터 판독 가능 매체 상에서 구현되며, 컴퓨터 상에서 실행 가능하다. 그래픽 사용자 인터페이스는 셸 브라우저에 항목의 세트를 표시하는 제1 스크린 영역 및 하나 이상의 표시된 항목과 관련되는 메타데이터를 표시하는 제2 스크린 영역을 포함한다. 그래픽 사용자 인터페이스는 또한 셸 브라우저 내에 표시된 메타데이터를 수정하기 위한 수단을 사용자에게 제시한다.
본 발명의 다른 태양에 따르면, 사용자가 셸 브라우저 내의 메타데이터를 수정할 수 있게 하는 컴퓨터 실현 방법이 제공된다. 이 방법 중 하나는 복수의 항목을 표시하고, 적어도 하나의 표시된 항목의 선택을 표시하는 제1 입력을 사용자로부터 수신하고, 선택된 항목과 관련된 메타데이터를 표시하고, 사용자의 표시된 메타데이터의 수정을 위해 편집 제어를 제공하는 단계를 포함한다. 다른 방법은 환영 창(welcome pane) 및 환영 창과 관련되는 메타데이터를 표시하고 사용자의 표시된 메타데이터의 수정을 위한 편집 제어를 제공하는 단계를 포함한다.
본 발명의 다른 태양에 따르면, 하나 이상의 항목과 관련되는 메타데이터를 포함하는 데이터 구조가 셸 브라우저에 표시된다. 하나 이상의 컴퓨터 판독 가능 매체 상에 저장된 데이터 구조는 하나 이상의 표시 항목과 관련되는 사용자 수정 가능한 메타데이터를 포함하는 필드를 포함하고, 데이터 구조에 포함된 사용자 수정 가능한 메타데이터가 또한 셸 브라우저에 표시되게 된다.
본 발명의 다른 태양에 따르면, 디폴트 프리뷰어 및 확장성 메커니즘을 포함하는 셸 브라우저가 제공된다. 디폴트 프리뷰어는 다수의 항목 유형에 대해 표준 레벨의 기능을 제공한다. 확장성 메커니즘은 하나 이상의 항목 유형에 대해 디폴트 프리뷰어로 제공되는 표준 레벨 이상의 기능을 가능하게 한다.
본 발명의 다른 태양에 따르면, 제1 프리뷰어 및 제2 프리뷰어를 포함하는 셸 브라우저가 제공된다. 제1 프리뷰어는 다수의 항목 유형에 대해 표준 레벨의 기능을 제공하고, 제2 프리뷰어는 다수의 항목 유형 중 하나 이상에 대해 대체 또는 확장 레벨의 기능을 제공한다. 셸 브라우저는 하나 이상의 항목 유형에 대해 제1 프리뷰어 또는 제2 프리뷰어를 선택적으로 전개하도록 구성된다.
본 발명의 다른 태양에 따르면, 다수의 항목 유형을 지원하는 셸 브라우저의 그래픽 사용자 인터페이스가 제공된다. 그래픽 사용자 인터페이스는 셸 브라우저에서 항목의 세트를 표시하기 위한 제1 스크린 영역 및 복수의 이용가능한 프리뷰어 중에서 표시된 항목에 대한 프리뷰어를 선택하기 위한 수단을 포함한다.
본 발명의 다른 태양에 따르면, 다수의 항목 유형을 지원하는 셸 브라우저에서 프리뷰어를 선택하기 위한 컴퓨터 구현 방법이 제공된다. 이 방법은 특정 항목 유형에 대해 셸 브라우저에 복수의 프리뷰어를 제공하고 이 특정 항목 유형에 대해 프리뷰어 중 하나를 선택하는 단계를 포함한다. 이 방법은 다음에 선택된 프리뷰어를 특정 항목 유형과 관련시킨다.
본 발명의 다른 태양에 따르면, 복수의 항목 유형을 지원하는 셸 브라우저에서 제3자의 프리뷰어의 이용을 가능하게 하는 컴퓨터 실현 방법이 제공된다. 이 방법은 다수의 항목 유형에 대해 디폴트 프리뷰어를 갖는 셸 브라우저를 제공하는 단계와 제3자가 다수의 항목 유형 중 적어도 하나에 대해 대체 프리뷰어를 개발하도록 하는 확장성 메커니즘을 제공하는 단계를 포함한다.
본 발명의 다른 태양에 따르면, 셸 브라우저에서 복수의 프리뷰어를 나타내는 정보를 포함하는 데이터 구조가 제공된다. 하나 이상의 컴퓨터 판독 가능 매체 상에 저장된 데이터 구조는 다수의 항목 유형을 지원하는 디폴트 프리뷰어를 나타내는 정보를 포함하는 제1 필드를 포함한다. 제2 필드는 제1 항목 유형에 대한 대체 프리뷰어를 나타내는 정보를 포함하고, 제3 필드는 제1 항목 유형의 항목이 셸 브라우저에 표시될 때 디폴트 프리뷰어 또는 대체 프리뷰어를 불러내야 할지를 나타내는 정보를 포함한다.
본 발명의 다른 태양에 따르면, 여러 유형의 항목은 유사한 세트의 기본 UI 특성이 제공되는 라이브러리로 그룹화된다. 다시 말해, 유사한 세트의 기본 UI 특성은 문서 라이브러리, 사진 라이브러리, 및 음악 라이브러리 등과 같은, 여러 유형의 라이브러리에 제공된다. 이 세트의 기본 UI 특성은 필터링, 새 카테고리의 형성, 항목의 메타데이터의 편집, 피봇의 변경 등과 같은 특성을 포함할 수 있다. 라이브러리에 대한 유사한 기본 UI 특성의 세트는 사용자가 이미 친숙한 속성과 특성을 이용하여 여러 유형의 항목을 처리 및 체계화할 수 있도록 한다.
상기한 태양 및 본 발명의 부수되는 많은 장점들은 첨부한 도면과 관련하여 다음의 상세한 설명을 참조함으로써 더욱 잘 이해될 것이다.
도 1은 본 발명을 실현하는 데에 적합한 범용의 컴퓨터 시스템의 블럭도.
도 2는 본 발명에 따른 가상 폴더 시스템의 블럭도.
도 3은 사용자가 질의를 제공하고 선택된 파일과 폴더가 다시 돌아오는 루틴을 설명하는 플로우차트.
도 4는 가상 폴더가 구성되어 디폴트 질의나 사용자로부터의 질의에 따라서 스크린 상에 표시되는 루틴을 설명하는 플로우차트.
도 5는 하드 드라이브 상의 물리적 폴더 구성에 따른 폴더 구조의 트리도(tree diagram).
도 6은 가상 폴더 구조의 트리도.
도 7은 클라이언트 스택이 계약 및 연도별로 더욱 필터링되어 있는 도 6의 가상 폴더 구조의 트리도.
도 8은 클라이언트 스택의 계약이 연도별로 더욱 필터링되어 있는 도 7의 가상 폴더 구조의 트리도.
도 9는 계약 스택이 클라이언트와 연도별로 더욱 필터링되고, 이 클라이언트가 연도로 더욱 필터링되어 있는 도 6의 가상 폴더 구조의 트리도.
도 10은 문서 라이브러리의 스택을 나타내는 스크린 디스플레이를 설명하는 도면.
도 11은 도 10의 ABC Corp. 스택의 문서를 나타내는 스크린 디스플레이를 설명하는 도면.
도 12는 도 11의 문서에 대해 스택 기능이 선택된 스크린 디스플레이를 설명하는 도면.
도 13은 도 12의 스택 기능에 대해 "저자별 스택" 파라미터가 선택된 스크린 디스플레이를 설명하는 도면.
도 14는 도 13의 파일이 저자별로 스택된 스크린 디스플레이를 설명하는 도면.
도 15는 스택 기능이 선택되고 "카테고리별 스택" 옵션이 도 14의 파일을 다시 스택하기 위해 더욱 선택된 스크린 디스플레이를 설명하는 도면.
도 16은 도 14의 파일이 카테고리별로 다시 스택된 스크린 디스플레이를 설명하는 도면.
도 17은 물리적 폴더를 나타내는 퀵 링크가 선택된 스크린 디스플레이를 설명하는 도면.
도 18은 도 17의 가상 폴더 스택의 파일을 포함하는 물리적 폴더를 나타내는 스크린 디스플레이를 설명하는 도면.
도 19는 사용자가 가상 폴더를 직접 조작할 수 있는 루틴을 설명하는 플로우차트.
도 20은 새로운 "웨스트 코스트(West Coast)" 스택이 도 10의 스택에 추가되는 스크린 디스플레이를 설명하는 도면.
도 21은 파일을 "ABC Corp." 스택으로부터 도 20의 "웨스트 코스트" 스택으로 복사하기 위해 직접적 조작을 이용한 스크린 디스플레이를 설명하는 도면.
도 22는 새로운 필터 용어를 동적으로 형성하는 시스템의 루틴을 설명하는 플로우차트.
도 23은 필터 용어의 선택에 기초하여 항목을 필터링하는 시스템의 루틴을 설명하는 플로우차트.
도 24는 도 10의 스택이 용어 "AB"로 필터링된 스크린 디스플레이를 설명하는 도면.
도 25는 도 10의 스택이 용어 "ABC"로 필터링된 스크린 디스플레이를 설명하는 도면.
도 26은 필터 용어 "연도 2002"가 도 10의 스택에 대해 선택된 스크린 디스플레이를 설명하는 도면.
도 27은 도 10의 스택이 "연도 2002"로 필터링되고 추가로 필터 용어 "월(month)"의 선택을 나타내는 스크린 디스플레이를 설명하는 도면.
도 28은 필터링을 위해 달을 선택하기 위한 목록이 제시된 스크린 디스플레이를 설명하는 도면.
도 29는 도 10의 스택이 1월로 더욱 필터링되고, 추가로 "일(day)"의 필터 용어를 나타내고 있는 스크린 디스플레이를 설명하는 도면.
도 30은 새로운 퀵 링크를 형성하기 위한 루틴을 설명하는 플로우차트.
도 31은 도 29의 필터링에 기초하여 "1월 작업"으로 불리는 새로운 퀵 링크를 형성하기 위한 스크린 디스플레이를 설명하는 도면.
도 32는 "모든 저자"의 퀵 링크가 선택된 스크린 디스플레이를 설명하는 도면.
도 33은 도 32의 모든 저자의 목록이 제시되어 있는 스크린 디스플레이를 설명하는 도면.
도 34는 "저자 1"이 도 33의 목록으로부터 선택되고, 저자 1의 모든 문서가 나타나 있는 스크린 디스플레이를 설명하는 도면.
도 35는 새로운 라이브러리를 형성하기 위한 루틴을 설명하는 플로우차트.
도 36은 여러 유용한 라이브러리의 집합이 나타나 있는 스크린 디스플레이를 설명하는 도면.
도 37은 가상 폴더 집합의 범위를 정의하기 위한 루틴을 설명하는 플로우차트.
도 38은 가상 폴더 집합의 범위를 형성할 수 있는 여러 소스를 설명하는 블럭도.
도 39는 가상 폴더 집합에 비-파일 항목을 포함시키기 위한 루틴을 설명하는 플로우차트.
도 40은 가상 폴더에 포함된 여러 비-파일 항목을 나타내는 스크린 디스플레이를 설명하는 도면.
도 41은 본 발명을 실현하는 데에 적합한 예시의 네트워크 컴퓨터 환경의 도면.
도 42는 종래에 알려져 있는 바와 같이, 컴퓨터 파일 시스템에서 파일을 표시하는 것과 관련된 종래의 어드레스 바를 갖는 예시의 파일 뷰어를 설명하는 도면.
도 43은 본 발명에 따라 형성된 가상 어드레스 바의 가상 어드레스에 따라서 컴퓨터 파일 시스템에 파일을 표시하기 위한 예시의 파일 뷰어를 설명하는 도면.
도 44A는 파일 시스템에서 네비게이션하도록 가상 어드레스 바에서 가상 어드레스의 세그먼트를 선택하는 것을 설명하는 도 5의 예시의 파일 뷰어의 도면.
도 44B는 가상 어드레스 바에서 가상 어드레스의 세그먼트를 선택하는 결과를 설명하는 도 45A의 예시의 파일 뷰어의 도면.
도 45A 내지 도 45D는 가상 어드레스 바에서 가상 어드레스의 세그먼트와 관련되는 피어 필터를 선택하는 것을 설명하는 도면.
도 46A 내지 도 46D는 가상 어드레스 바의 가상 어드레스에 부가의 필터를 추가하는 것을 설명하는 도면.
도 47A 및 도 47B는 가상 어드레스가 가상 어드레스 바의 디스플레이 용량을 초과하는 경우 가상 어드레스를 표시하는 예시의 가상 어드레스 바를 설명하는 도면.
도 48A는 파일 시스템에 가상 및 실제 위치 둘 다를 참조하는 필터를 갖는 가상 어드레스를 갖는 예시의 가상 어드레스 바를 설명하는 도면.
도 48B는 종래의 어드레스 바를 표시하도록 구성된, 도 48A의 예시의 가상 어드레스 바를 설명하는 도면.
도 49는 가상 어드레스 바에서 대체 필터를 선택하기 위한 대체 필터 선택 루틴을 설명하는 플로우차트.
도 50은 가상 어드레스 바에서 가상 어드레스에 필터를 추가하기 위한 예시의 추가 필터 루틴을 설명하는 플로우차트.
도 51A는 본 발명의 실시예에 따라서 편집 제어를 갖는 셸 브라우저의 예시의 그래픽 사용자 인터페이스의 블럭도.
도 51B는 본 발명의 실시예에 따라서 하나 이상의 편집 제어를 갖는 셸 브라우저의 예시의 그래픽 사용자 인터페이스의 블럭도.
도 52는 셸 브라우저의 환영 창의 개략도.
도 53은 셸 브라우저의 선택 창의 개략도.
도 54는 본 발명의 실시예에 따라서 사용자가 셸 브라우저에서 메타데이터를 수정할 수 있도록 하는 컨텍스트 메뉴를 포함하는 도 53의 선택 창의 개략도.
도 55는 본 발명의 실시예에 따라서 사용자가 셸 브라우저 내의 환영 창에 표시되는 메타데이터를 수정할 수 있도록 하기 위한 방법을 설명하는 플로우차트.
도 56은 본 발명의 실시예에 따라서 사용자가 셸 브라우저 내의 선택 창에 표시되는 메타데이터를 수정할 수 있도록 하기 위한 방법을 설명하는 플로우차트.
도 57은 셸 브라우저에 표시된 항목에 관련되는 사용자 수정 가능한 메타데이터를 포함하는 데이터 구조의 블럭도.
도 58은 기타 비-그림(non-pictorial) 파일 및 폴더를 보는 데에 이용되는, 셸 브라우저 환경 내의 폴더에 저장되는 그림을 브라우징하기 위한 종래의 그래픽 사용자 인터페이스의 개략도.
도 59는 셸 브라우저에 대한 예시의 그래픽 사용자 인터페이스의 블럭도.
도 60은 셸 브라우저의 환영 창의 개략도.
도 61은 셸 브라우저의 선택 창의 개략도.
도 62는 본 발명의 실시예에 따라서 확장된 제어를 갖는 셸 브라우저의 선택 창의 개략도.
도 63은 도 61과 유사하지만 본 발명의 실시예에 따라서 사용자가 셸 브라우저에서 프리뷰어를 선택할 수 있도록 하는 컨텍스트 메뉴를 포함하는 선택 창의 개략도.
도 64A는 본 발명의 실시예에 따라서 사용자가 셸 브라우저에서 프리뷰어를 선택할 수 있도록 하는 방법을 설명하는 플로우차트.
도 64B는 본 발명의 실시예에 따라서 시스템이 셸 브라우저에서 프리뷰어를 선택하도록 하기 위한 방법을 설명하는 플로우차트.
도 65는 본 발명의 실시예에 따라서 셸 브라우저에서 제3자의 프리뷰어의 이용을 가능하게 하는 방법을 설명하는 플로우차트.
도 66은 셸 브라우저에서 다수의 프리뷰어를 나타내는 정보를 포함하는 데이터 구조의 블럭도.
본 발명은 다수의 원하는 특성과 결합되는 파일 시스템 셸에 관한 것이다. 본래, 셸은 사용자에게 컴퓨터 상에 저장되어 있는 파일 및 그 외 항목을 보고 조작하는 능력을 제공한다. 먼저 도 1 내지 도 66에 나타낸 특성에 대해 요약하여 설명한 다음에 상세하게 설명한다.
요약하면, 도 1 내지 도 9는 일반적으로 가상 폴더의 전체 시스템에 관한 것이다. 가상 폴더는 종래의 사용자 인터페이스로 하여금 디스크 상의 실제 물리적 기초 파일 시스템 구조 대신에 메타데이터에 기초하여 여러 뷰에서 사용자에게 정규 파일 및 폴더(또한 디렉토리로 알려짐)를 보이게 하는 방법을 제공한다. 도 10 내지 도 18은 일반적으로 스택에 관한 것으로, 이것은 데이터베이스에 저장된 특성을 취하여 이를 폴더와 같은 컨테이너로서 나타내는 가상 폴더의 능력에 관련되는 것이다. 도 19 내지 도 21은 일반적으로 가상 폴더의 직접적인 조작에 관한 것으로, 이는 현재 표준 폴더를 조작(예를 들어, 복사하기, 붙이기, 클릭 및 드래깅 등)하는 데에 이용되는 메커니즘과 유사한 가상 폴더의 조작 메커니즘을 제공하는 것에 관련된다. 도 22 내지 도 29는 일반적으로 필터에 관한 것으로, 이는 파일/항목의 세트를 줄이기 위한 툴의 세트를 제공한다. 도 30 내지 도 34는 일반적으로 퀵 링크에 관한 것으로, 이는 파일/항목의 세트의 유용한 뷰를 형성하도록 클릭될 수 있는 미리 지정된 링크의 세트이다. 도 35 및 도 36은 일반적으로 라이브러리에 관한 것으로, 이는 이용 가능한 유형의 파일 그룹이 함께 관련될 수 있고, 특정 유형의 항목에 관한 툴과 동작이 제공될 수 있다는 개념에 관련되는 것이다. 도 37 및 도 38은 다수의 물리적 위치(예를 들어, 여러 하드 드라이브, 여러 컴퓨터, 네트워크 위치의 컴퓨터 등)로부터 파일/항목을 얻을 수 있어 사용자에게 모든 파일/항목이 한 위치에서 제공되고 있는 것처럼 편리하게 제시될 수 있다는 개념에 관한 것이다. 도 39 및 도 40은 일반적으로 비-파일 항목에 관한 것으로, 이는 파일과 함께 데이터베이스에 포함되며, 이메일 및 연락처와 같은 항목을 포함할 수 있다. 도 41 내지 도 50은 일반적으로 복수의 세그먼트로 이루어지는 가상 어드레스 바에 관한 것으로, 각 세그먼트는 컨텐츠를 선택하기 위한 필터에 대응한다. 도 51 내지 도 57은 일반적으로 셸 브라우저에 관한 것으로, 이것으로 사용자는 항목을 그 항목에 관련한 메타데이터에 기초하여 용이하게 식별할 수 있다. 도 58 내지 도 66은 일반적으로 다수의 항목 유형을 나타내는 복수의 항목을 표시하도록 구성된 셸 브라우저에서 오브젝트 프리뷰어의 기능을 확장하는 것에 관련된 것이다. 다음의 설명은 본 발명의 이들 각 태양에 대해 상세하게 설명한다.
상기한 바와 같이, 도 1 내지 도 9는 일반적으로 가상 폴더를 실현하기 위한 시스템에 관한 것이다. 가상 폴더는 현재 파일 시스템에 이용되는 동일하거나 유사한 사용자 인터페이스를 이용한다. 가상 폴더는 디스크 상의 실제 물리적 기초 파일 시스템 구조 대신에 그들의 메타데이터에 기초하여 여러 뷰에서 사용자에게 정규 파일과 폴더(또한 디렉토리로 알려짐)를 보여준다. 현재 파일 시스템을 관리하는 데에 이용되는 것과 유사한 제어를 이용하여 사용자가 이들의 파일 및 폴더를 조작할 수 있도록 하는 위치 독립적 뷰가 형성되어 있다. 일반적으로, 이것은 사용자가 관리 및 체계화를 시스템의 개별적 부분으로 행하는 것이 아니라, 파일 자체에 내재한 특성에 기초하여 파일을 체계화 및 재배열할 수 있다는 것을 의미한다. 가상 폴더는 동일한 컴퓨터 내의 다수의 디스크 드라이브로부터, 다수의 컴퓨터 사이, 또는 여러 네트워크 위치와 같은, 여러 물리적 위치로부터의 파일이나 항목을 나타내므로, 파일이나 항목의 하나의 뷰가 여러 물리적 위치에 놓이는 파일이나 항목을 나타낼 수 있다. 일 실시예에서, 여러 항목이나 파일은 포함되기 위해 IP 네트워크를 거쳐 접속되는 것이 요구된다.
가상 폴더 모델링은 종래의 비-파일 엔티티(non-file entity)에 또한 이용될 수 있다. 이의 어플리케이션은 종래에 비-파일 엔티티를 나타내기 위해 파일과 폴더(즉, 오브젝트 및 컨테이너)에 유사한 사용자 인터페이스의 세트를 갖는 것이다. 이런 비-파일 엔티티의 일례는 이메일이고, 다른 것은 연락처 데이터베이스로부터의 연락처 정보일 수 있다. 이런 식으로, 가상 폴더는 나타내고 있는 데이터가 파일이나 비-파일 데이터인지에 상관없이 작용하는 위치 독립적 메타데이터 기반 뷰 시스템을 제공한다. 일반적으로 이들 태양은 여러 데이터 유형의 풍부한 통합에 영향을 줄뿐만 아니라 2개의 통상의 사용자 인터페이스 기술(드래그 및 드롭, 더블 클릭 등)을 이용하여, 사용자가 그들의 파일과 데이터를 조작하게 한다는 점에서 더욱 유연성이 있다.
도 1 및 다음의 설명은 가상 폴더, 및 여기에 기재된 본 발명의 다른 어느 태양이나 실현할 수 있는 적당한 컴퓨팅 환경의 간단한 일반 설명을 제공하고자 하는 것이다. 반드시 필요한 것은 아니지만, 본 발명은 퍼스널 컴퓨터에 의해 실행되고 있는 프로그램 모듈과 같은 컴퓨터 실행 가능 명령의 일반 컨텍스트에 기재될 것이다. 일반적으로, 프로그램 모듈은 특정 작업을 실행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 문자, 컴포넌트, 데이터 구조 등을 포함한다. 당업자라면 이해되는 바와 같이, 본 발명은 핸드-헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그래머블 소비자 전자 제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하여, 다른 컴퓨터 시스템 구성으로 실행될 수 있다. 본 발명은 통신망을 통해 링크되는 원격 처리 장치에 의해 작업이 실행되는 분산 컴퓨팅 환경에서도 또한 실행될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘 다에 위치될 수 있다.
도 1과 관련하여, 본 발명을 실현하기 위한 예시의 시스템은 처리 유닛(21), 시스템 메모리(22), 및 시스템 메모리(22)를 포함한 여러 시스템 구성 요소를 처리 유닛(21)에 연결하는 시스템 버스(23)를 포함하는 종래의 퍼스널 컴퓨터(20)의 형태인 범용의 컴퓨팅 장치를 포함한다. 시스템 버스(23)는 각종 버스 아키텍쳐를 이용하여 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 및 로컬 버스를 포함하는 몇몇 유형의 버스 구조 중 어느 것이나 가능하다. 시스템 메모리는 리드 온리 메모리(ROM; 24) 및 랜덤 억세스 메모리(RAM; 25)를 포함한다. 기동시와 같이, 퍼스널 컴퓨터(20) 내의 소자 간에 정보를 전달하는 것을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS; 26)이 ROM(24)에 저장된다. 퍼스널 컴퓨터(20)는 CD-ROM 또는 그 외 광 매체와 같이, 하드 디스크(39)로부터 판독하거나 여기에 기록하기 위한 하드 디스크 드라이브(27), 착탈 가능 자기 디스크(29)로부터 판독하거나 여기에 기록하기 위한 자기 디스크 드라이브(28), 및 착탈 가능한 광 디스크(31)로부터 판독하거나 여기에 기록하기 위한 광 디스크 드라이브(30)를 더 포함한다. 하드 디스크 드라이브(27), 자기 디스크 드라이브(28), 및 광 디스크 드라이브(30)는 하드 디스크 드라이브 인터페이스(32), 자기 디스크 드라이브 인터페이스(33), 및 광 드라이브 인터페이스(34)에 의해 각각 시스템 버스(23)에 접속된다. 드라이브 및 그 관련 컴퓨터 판독 가능 매체는 퍼스널 컴퓨터(20)에 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈, 및 그 외 데이터의 비휘발성 저장소를 제공한다. 여기에 기재한 예시의 환경이 하드 디스크(39), 착탈 가능 자기 디스크(29), 및 착탈 가능 광 디스크(31)를 이용하지만, 당업자라면 자기 카세트, 플래시 메모리 카드, 디지털 비디오 디스크, 베르누이 카트리지, 랜덤 억세스 메모리(RAM), 리드 온리 메모리(ROM) 등과 같이 컴퓨터에 의해 억세스 가능한 데이터를 저장할 수 있는 다른 유형의 컴퓨터 판독 가능 매체가 또한 예시의 운영 환경에서도 이용될 수 있다는 것이 이해될 것이다.
운영 체제(35), 하나 이상의 응용 프로그램(36), 그 외 프로그램 모듈(37) 및 프로그램 데이터(38)를 포함한 다수의 프로그램 모듈이 하드 디스크(39), 자기 디스크(29), 광 디스크(31), ROM(24), 또는 RAM(25) 상에 저장될 수 있다. 사용자는 키보드(40) 및 포인팅 장치(42)와 같은 입력 장치를 통해 퍼스널 컴퓨터(20)에 명령 및 정보를 기입할 수 있다. 다른 입력 장치(도시 생략)는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함한다. 이들 및 그 외 입력 장치는 시스템 버스(23)에 결합된 직렬 포트 인터페이스(46)를 통해 처리 유닛(21)에 접속되지만, 또한 병렬 포트, 게임 포트 또는 범용 직렬 버스(USB)와 같은 다른 인터페이스에 의해서도 접속될 수 있다. 모니터(47)의 형태인 디스플레이는 비디오 카드나 어댑터(48) 등의 인터페이스를 거쳐 시스템 버스(23)에 접속된다. 하나 이상의 스피커(57)는 오디오 어댑터(56)와 같은 인터페이스를 통해 시스템 버스(23)에 접속될 수 있다. 디스플레이 및 스피커에 부가하여, 퍼스널 컴퓨터는 통상 그 외 프린터 같은 주변 출력 장치(도시 생략)를 포함한다.
퍼스널 컴퓨터(20)는 원격 컴퓨터(49)와 같은 하나 이상의 퍼스널 컴퓨터의 논리 접속을 이용하는 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(49)는 다른 주변 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 그 외 공통 네트워크 노드일 수 있으며, 통상 퍼스널 컴퓨터(20)에 관련하여 상술한 요소들 다수나 모두를 포함한다. 도 1에 도시한 논리 접속은 근거리 통신망(LAN; 51) 및 광역 통신망(WAN; 52)을 포함한다. 이 네트워크 환경은 회사 기업체 전역의 컴퓨터 네트워크, 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에 이용될 때, 퍼스널 컴퓨터(20)는 네트워크 인터페이스 또는 어댑터(53)를 통해 근거리 통신망(51)에 접속된다. WAN 네트워킹 환경에서 이용될 때에는, 퍼스널 컴퓨터(20)는 통상 모뎀(54)이나 그 외 인터넷과 같은 광역 통신망(52)을 통한 통신을 성립하기 위한 수단을 포함한다. 내부 또는 외부에 있을 수 있는 모뎀(54)은 직렬 포트 인터페이스(46)를 통해 시스템 버스(23)에 접속된다. 네트워크 환경에서, 퍼스널 컴퓨터(20)와 관련하여 도시된 프로그램 모듈 또는 그 일부는 원격 메모리 저장 장치에 저장될 수 있다. 나타낸 네트워크 접속은 예시적이며, 그 외 컴퓨터 간의 통신 링크를 성립하는 수단을 이용할 수 있다는 것이 이해될 것이다.
도 1에서 설명된 유형의 시스템 상에서 실현되는 바와 같이, 본 발명은 사용자가 파일 조작과 폴더 네비게이션(브라우징)에 대한 기본 작업을 실행하는 것과 새로운 특징에서 영향을 받을 수 있는 높은 레벨의 저장 용량을 제공하는 것을 용이하게 하는 가상 폴더를 이용한다. 가상 폴더는 디스크 상의 실제 물리적 기초 파일 시스템 구조 대신에 그들의 메타데이터에 기초하여 여러 뷰에서 사용자에게 파일과 항목을 보여준다.
도 2는 본 발명에 따른 가상 폴더 시스템(200)의 블럭도이다. 이하 더욱 상세히 설명되는 바와 같이, 가상 폴더는 사용자로 하여금 데이터가 보여지는 방식을 제어하는 "피봇(pivot)"을 변경할 수 있게 한다. 일례로, 사용자는 그들의 음악을 앨범으로 그룹화될 수 있는 모든 노래의 플랫 목록으로 볼 수 있다. 다르게는, 사용자는 장르나 아티스트나 연도 등만을 보이도록 뷰를 전환할 수 있다. 사용자가 뷰를 작업에 적합한 오브젝트만을 바로 보도록 맞출 수가 있는 것이다. 이것은 폴더에 더 이상의 네비게이션(아래로 및 뒤로)의 필요를 없애는 개선된 브라우징 경험을 가능하게 한다. 동일한 경험 및 능력이 파일로 저장되지 않은 다른 데이터 유형을 모델링하는 데에 적용된다. 예를 들어, 연락처는 이런 방식으로 사용자에게 보이므로, 이들에게 플랫 어드레스 북에 의해 제공되는 것보다 이들의 조작에 더욱 풍부한 인프라구조뿐만 아니라, 친숙한 인터페이스 능력을 부여할 수 있다.
도 2에 나타낸 바와 같이, 가상 폴더 시스템(200)은 폴더 프로세서(210), 관련 데이터베이스(230), 가상 폴더 설명 데이터베이스(232), 기타 셸 폴더 구성 요소(234), 폴더 핸들러 구성 요소(236), 및 셸 브라우저 및 뷰 구성 요소(240)를 포 함한다. 폴더 프로세서(210)는 네이티브 핸들링 코드 구성 요소(native handling code component, 212), 핸들러 팩토리 구성 요소(handler factory component, 214), 특성 기록부 구성 요소(property writer component, 216), 로우셋 파서 구성 요소(rowset parser component, 218), 질의 빌더 구성 요소(query builder component, 220), 열거자 구성 요소(enumerator component, 222) 및 특성 팩토리 구성 요소(property factory component, 224)를 포함한다.
관련 데이터베이스(230)는 시스템에 모든 데이터에 대한 특성을 저장한다. 이 데이터베이스는 또한 연락처(즉, 비-파일 항목)와 같은 항목을 전적으로 저장한다. 일반적으로, 이 데이터베이스는 포함하고 있는 파일과 항목의 유형에 대한 메타데이터를 저장한다. 관련 데이터베이스(230)는 질의 빌더(220)로부터 SQL 질의를 수신한다. 관련 데이터베이스(230)는 또한 SQL 로우셋을 항목 열 당 하나의 행으로 로우셋 파서 구성 요소(218)에 보내는데, 여기서 열은 항목 특성이다.
가상 폴더 설명 데이터베이스(232)는 가상 폴더 설명을 포함한다. 가상 폴더 설명 데이터베이스(232)는 폴더에서 표시하는 유형의 목록, 초기 필터 및(유효범위)로부터의 결과를 나타내는 물리적 위치를 포함하는 데이터를 질의 빌더 구성 요소(220)에 보낸다.
기타 셸 폴더 구성 요소(234)와 관련하여, 폴더 프로세서(210)는 핸들러나 특성을 위한 모든 파일을 포함한 많은 유형의 항목으로부터 현재의 셸 폴더로 넘긴다. 기타 셸 폴더 구성 요소(234)는 특성을 다른 폴더로부터 특성 팩토리(224)로 보낸다. 기타 셸 폴더 구성 요소는 또한 핸들러를 핸들러 팩토리(214)에 보낸다.
폴더 핸들러 구성 요소(236)는 연락처와 같이 데이터베이스에만 존재하는 항목에 코드 동작을 제공한다. 이것이 비-파일 항목이 파일과 유사하게 동작하게 하는 것이다. 폴더 핸들러 구성 요소(236)는 핸들러 팩토리(214)에 핸들러를 보낸다.
네이티브 핸들링 코드 구성 요소(212)에 대해, 폴더 프로세서(210)는 항목의 특성에 기초하여 특정 핸들러를 직접 구현한다. 네이티브 핸들링 코드 구성 요소(212)는 핸들러를 핸들러 팩토리(214)에 보낸다. 모든 네임 스페이스와 같이, 네이티브 핸들링 코드 구성 요소(212) 및 폴더 핸들러 구성 요소(236)에 대해, 가상 폴더는 이들 항목에 대해 핸들러의 세트(컨텍스트 메뉴, 아이콘, 섬네일, 인포팁..)를 제공해야 한다. 이들(인포팁, 데이터 오브젝트, 드래그-드롭 핸들러, 배경 컨텍스트 메뉴,..)의 대부분에 대해, 가상 폴더는 이것이 보유한 모든 유형에 대해 통상 (네이티브) 핸들러를 제공한다. 그러나, 이 유형의 저자가 제공해야 하는 다른 것들이 있다(항목 자체에 대한 컨텍스트 메뉴, 기록 가능한 특성 저장부...). 디폴트 핸들러는 또한 무시될 수 있다. 가상 폴더는 이를 파일로 재이용하고 비-파일 항목도 동일하게 행하도록 한다.
핸들러 팩토리(214)는 ID 목록을 취하여 컨텍스트 메뉴, 아이콘 등을 제공하는 코드 동작을 생성한다. 일반적으로, 폴더 프로세서(210)는 네이티브 핸들링 코드 구성 요소(212), 기타 셸 폴더 구성 요소(234), 및 폴더 핸들러 구성 요소(236)와 관련하여 상술한 바와 같이, 네이티브 핸들러, 외부 핸들러를 이용할 수 있거나, 핸들러를 얻도록 다른 셸 폴더로 넘길 수 있다. 핸들러 팩토리 구성 요소(214)는 뷰에 의해 요청되는 바와 같이, 셸 브라우저 및 뷰 구성 요소(240)에 핸들러를 보낸다. 핸들러 팩토리 구성 요소(214)는 특성 핸들러를 특성 기록부(216)에 보낸다.
특성 기록부(216)는 잘라내기, 복사하기, 및 붙이기 등의 사용자의 의도를 파일이나 항목에 대한 특성 권한으로 변환한다. 셸 브라우저 및 뷰 구성 요소(240)는 직접적 조작(잘라내기/복사하기/붙이기) 또는 메타데이터의 편집을 포함한 데이터를 특성 기록부(216)에 보낸다. 일반적으로, 가상 폴더는 항목의 특성에 기초하는 체계화를 제시하기 때문에, 이동 및 복사(드래그-드롭) 등의 동작이 이들 특성에 대한 편집이 된다. 예를 들어, 저자별로 스택된 뷰에서, 문서를 저자 1에서 저자 2로 이동하는 것은 저자를 변경하는 것을 의미한다. 특성 기록부 구성 요소(216)는 이 기능을 실현한다.
로우셋 파서(218)는 데이터베이스 로우셋을 취하여 모든 항목 특성을 셸 ID 목록 구조에 저장한다. 로우셋은 가상 폴더를 구분적으로 정의하여 데이터베이스로 발생시킬 수 있는 SQL 스트링을 만든다. 로우셋 파서 구성 요소(218)는 열거자 구성 요소(222)에 ID 목록을 보낸다. 상술한 바와 같이, 로우셋 파서 구성 요소(218)는 또한 항목 당 하나의 행으로 SQL 로우셋을 포함한 데이터를 관련 데이터베이스(230)로부터 수신하는데, 여기서 열은 항목 특성이다.
질의 빌더 구성 요소(220)는 SQL 질의를 만든다. 질의 빌더 구성 요소(220)는 네비게이션으로부터의 새로운 필터를 포함한 데이터를 열거자 구성 요소(222)로부터 수신한다. 질의 빌더 구성 요소(220)는 또한 폴더에 표시하는 유형의 목록, 초기 필터, 및 (유효범위)로부터의 결과를 나타내는 물리적 위치를 포함한 데이터를 가상 폴더 설명 데이터베이스(232)로부터 수신한다. 질의 빌더 구성 요소(220)는 관련 데이터베이스(230)에 SQL 질의를 보낸다.
일반적으로, 질의 빌더 구성 요소(220)는 한 세트의 행(다시 말해 테이블)을 포함한다. 이것은 질의의 실행이 만들어낸 것이다. 로우셋 파서 구성 요소(218)는 각 행을 취하고 열 이름을 이용하는 것이 행을 ID 목록으로 변형시키는 것이 된다. ID 목록은 네임 스페이스의 항목을 참조하는 데에 이용되는 공지의 셸 구조이다. 이를 행하게 되면 가상 폴더가 셸의 나머지에 대해 다른 네임 스페이스와 단지 동일하게 되게 한다. 또한 이 데이터를 캐시하게 되면 비용이 많이 들 수 있는 데이터베이스 억세스를 최소한으로 유지하게 해 준다.
열거자 구성 요소(222)는 가상 폴더의 네비게이션에 응답하여 동작한다. 상술한 바와 같이, 열거자 구성 요소(222)는 로우셋 파서 구성 요소(218)로부터 ID 목록을 수신하고, 네비게이션으로부터의 새로운 필터를 질의 빌더 구성 요소(220)에 보낸다. 열거자 구성 요소(222)는 또한 네비게이션 후에 뷰에 삽입되도록 보내지는 ID 목록을 포함한 데이터를 셸 브라우저 및 뷰 구성 요소(240)에 보낸다.
특성 팩토리 구성 요소(224)는 ID 목록 및 특성 식별자를 취하여 이들 특성의 값을 보낸다. 특성 팩토리 구성 요소(224)는 특성 핸들러를 포함하여 핸들러 팩토리 구성 요소(214)로부터 데이터를 수신한다. 상술한 바와 같이, 특성 팩토리 구성 요소(224)는 또한 다른 폴더로부터의 특성을 포함한 데이터를 기타 셸 폴더 구성 요소(234)로부터 수신한다. 특성 팩토리 구성 요소(224)는 또한 뷰에 의해 요청되는 바와 같이, 항목 특성을 포함한 데이터를 셸 브라우저 및 뷰 구성 요소(240)에 보낸다.
셸 브라우저 및 뷰 구성 요소(240)는 창에 폴더의 컨텐츠를 표시하고, 클릭킹, 드래깅, 및 네비게이팅과 같이, 사용자의 표시된 파일이나 항목과의 모든 상호 작용을 처리한다. 이렇게, 셸 브라우저 및 뷰 구성 요소(240)는 사용자 동작을 수신한다. 셸 브라우저 및 뷰 구성 요소(240)는 또한 폴더, 이 경우 폴더 프로세서(210)로부터 요구하는 코드 동작에 관한 데이터를 얻는다.
상술한 바와 같이, 가상 폴더는 정규의 파일과 폴더(또한 디렉토리로 알려짐)를 디스크 상의 실제 물리적 기초 파일 시스템 구조 대신에 그들의 메타데이터에 기초하여 여러 뷰에서 사용자에게 보인다. 따라서, 시스템은 데이터베이스에 저장된 특성을 취하여 이를 폴더와 같은 컨테이너로서 나타낼 수 있다. 사용자가 폴더로 작업하는 것에 이미 친숙하기 때문에, 유사한 방식으로 가상 폴더를 제시하여, 사용자는 새로운 시스템에 더욱 신속하게 적응할 수가 있게 된다.
도 3은 사용자가 질의를 제공하여 다시 선택된 항목이 돌아오는 루틴(300)을 설명하는 플로우차트이다. 블럭(302)에서 폴더 프로세서는 사용자로부터 질의를 얻는다. 블럭(304)에서, 폴더 프로세서는 관련 데이터베이스에 질의를 전달한다. 블럭(306)에서, 관련 데이터베이스는 폴더 프로세서에 다시 결과를 제공한다. 블럭(308)에서, 폴더 프로세서는 가상 폴더와 항목의 형태로 사용자에게 결과를 제공한다.
도 4는 가상 폴더가 디폴트 질의나 사용자로부터의 질의에 따라서 스크린 상 에 구성 및 표시되는 루틴(320)을 설명하는 플로우차트이다. 블럭(322)에서, 사용자가 먼저 가상 폴더를 열면, 디폴트 질의가 이용된다. 이 디폴트 질의는 레지스트리로부터 취해진다. 예를 들어, 음악 라이브러리의 디폴트 질의는 앨범으로 그룹화된 모든 노래를 나타내는 것일 수 있다. 블럭(324)에서, 폴더 프로세서는 이 질의에 대한 질의 오브젝트를 구성한 다음에, 이 질의를 관련 데이터베이스에 전달한다. 블럭(326)에서, 관련 데이터베이스는 질의의 결과를 생성하여, 이를 데이터베이스 행과 열로서 폴더 프로세서에 다시 전달한다.
블럭(328)에서, 폴더 프로세서는 이들 결과를 취하여 이를 행 및 열의 데이터로부터 열거자 구조로 변환하고, 이것이 사용자가 상호 작용하도록 폴더 뷰로 이용되게 최종 가상 폴더 및 항목으로 스크린에 놓이게 된다. 판단 블럭(330)에서, 사용자는 (다른 질의나 "피봇"을 발생시켜) 뷰를 변경할지의 여부를 결정한다. 예를 들어, 사용자는 "모든 아티스트 보기" 피봇을 발생시킬 수 있다. 사용자가 뷰를 변경하길 원하면, 루틴은 블럭(324)으로 돌아가, 여기에서 폴더 프로세서가 이 새로운 질의를 관련 데이터베이스에 전달하고, 새로운 행과 열의 결과를 다시 수신하여, 새로운 열거자 구조를 구성한다. 이 프로세스는 다음에 열거자를 이용하여 "아티스트" 오브젝트를 스크린으로 끌어오기 위해, 폴더 뷰가 소거 및 갱신되는 식으로, 상술된 바와 같이 계속된다.
일례에서, 사용자가 네비게이션할 수 있는 컨테이너를 나타내는 앨범 오브젝트가 제공된다. 예를 들어, "비틀즈" 앨범을 더블클릭하면 뷰를 네비게이션하게 되어 비틀즈의 모든 노래를 볼 수 있다. 폴더 프로세서는 관련 데이터베이스에 "모든 비틀즈의 노래 보기" 질의를 발생시키고, 이 데이터베이스는 이들 노래에 대한 행과 열 데이터를 보내준다. 폴더 프로세서는 이들 모든 노래의 열거자를 형성하고, 이는 다음에 스크린에 나오게 된다.
사용자는 가상 폴더를 브라우즈하면서 어느 지점에서나 뷰를 선택할 수 있다. 상기 예로부터, 단지 비틀즈 노래를 나타내도록 줄인 후에, 사용자는 노래를 단지 앨범으로 나타내도록 뷰를 변경할 수 있다. 항목의 뷰를 다른 표시로 변경하는 프로세스를 "스태킹(stacking)"으로 부른다. 이것은 항목이 그 표시에 기초하여 "스택"으로 배열되어 있기 때문이다. 이 경우, 노래는 여러 앨범 각각에 대한 스택으로 재배열된다. 사용자는 다음에 이들 스택 중 하나를 네비게이션하는데, 이때 특정 앨범의 노래만을 볼 수 있다. 다시, 사용자는 특성(예를 들어, 등급)에 기초한 스택으로 이들 나머지 노래의 뷰를 재배열할 수 있다. 등급 특성이 선택되면, 그 비틀즈 앨범의 노래는 1개, 2개 또는 3개의 별 등급으로 스택에 나타나게 된다.
각 질의의 결과는 어느 물리적 위치가 범위에 포함되는지에 따라 좌우된다. 예를 들어, 범위는 사용자의 "내 문서" 폴더의 폴더만을 포함하도록 하여 만들어질 수 있다. 다르게, 범위는 컴퓨터 상의 모든 폴더, 또는 다수의 네트워크 접속 컴퓨터 상의 모든 폴더도 포함할 수 있다. 사용자는 유효범위 특성 시트를 통해 범위를 보고 변경할 수 있다. 일례로, 유효범위 특성 시트는 가상 폴더 상에서 우측 클릭하고 "특성"을 선택함으로써 노출될 수 있다. 사용자는 새로운 폴더를 유효범위에 추가하거나, 이전에 추가된 폴더를 제거할 수 있다.
가상 폴더가 특정 유틸리티를 제공하게 되는 그룹의 사용자는 지식 작업자이다. 가상 폴더에 의하면 지식 작업자는 파일 유형, 프로젝트, 케이스 번호, 저자별로 보이는 문서들 사이에서 용이하게 전환할 수가 있다. 지식 작업자는 각각 문서를 체계화하는 데에 다른 방법을 이용하는 경향이 있기 때문에, 이들 다른 선호도를 수용하기 위해 가상 폴더를 이용할 수 있다.
도 5는 하드 드라이브 상의 물리적 폴더 구성에 따른 폴더 구조의 트리도이다. 이 물리적 폴더 구성은 폴더의 종래의 실현에 기초한 것으로, 이는 NTFS 또는 그 외 기존의 파일 시스템에 기초한 것이다. 이 폴더는 물리적 폴더로 언급되는데, 왜냐하면 이들의 구조가 디스크 상의 실제 물리적 기초 파일 시스템 구조에 기초하기 때문이다. 이하 더 상세히 설명되는 바와 같이, 이것은 사용자가 물리적 폴더를 조작하기 위해 현재 이용되는 것과 유사한 방식으로 파일 및 폴더를 조작할 수 있게 하는 위치 독립적 뷰를 형성하는 가상 폴더와 대비된다.
도 5에 나타낸 바와 같이, 폴더(400)는 "내 문서" 폴더이다. 제1 레벨에서, 폴더(400)는 클라이언트 1, 2, 및 3에 각각 대응하는 폴더(410, 420, 및 430)를 포함한다. 제2 레벨에서, 각 폴더(410, 420, 430)는 각각 폴더(411, 421, 및 431)를 포함하고, 이들 각각은 선택된 클라이언트에 대한 계약에 대응한다. 제3 레벨에서, 폴더(411, 421, 및 431) 각각은 각각 폴더(412, 422, 및 432)를 포함하고, 이들은 각각 연도 2001에 대응한다. 제3 레벨에서, 각 폴더(411, 421, 및 431)는 또한 각각 폴더(413, 423, 및 433)를 포함하고, 이들 각각은 연도 2002에 대응한다.
도 5에 나타낸 바와 같은 물리적 폴더 파일 구조를 네비게이션하길 원하는 사용자에게는 다수의 장애가 있다는 것이 이해될 것이다. 예를 들어, 사용자는 사용자가 만든 모든 계약을 작업하길 원하는 경우, 사용자는 먼저 클라이언트 1에 대한 계약으로 작업하기 위해 폴더(411)로 네비게이션해야 하고, 다음에 클라이언트 2에 대한 계약에 도달하기 위해 폴더(421)로 다시 네비게이션해야 하고, 다시 클라이언트 3에 대한 계약을 위하여 폴더(431)로 다시 네비게이션해야 한다. 이 구성은 사용자가 모든 계약을 억세스하는 것을 어렵게 만들고, 일반적으로 모든 계약을 동시에 보고 조작할 수가 없다. 유사하게, 사용자가 연도 2001에서 생성된 모든 계약을 보길 원하면, 사용자는 폴더(412, 422, 및 432) 각각을 네비게이션하고 다시 네비게이션해야 한다. 이하 더욱 상세히 설명되는 바와 같이, 본 발명의 가상 폴더는 개선된 파일 시스템 구조를 제공한다.
도 6은 가상 폴더 구조의 트리도이다. 이하 더욱 상세히 설명되는 바와 같이, 가상 폴더는 사용자가 편리한 방법으로 그들의 파일 및 폴더를 조작하도록 하는 위치 독립적 뷰를 형성한다. 도 6에서 나타낸 바와 같이, 가상 폴더는 스택으로 나타낸다. 가상 폴더(500)는 "모든 항목" 폴더이다. 제1 레벨에서, 가상 폴더(500)는 클라이언트, 계약, 및 연도에 각각 대응하는 가상 폴더(510, 520, 및 530)를 포함한다. 이하 더욱 상세히 설명되는 바와 같이, 이 구조는 원하는 파라미터에 따라 사용자가 파라미터를 억세스할 수 있게 한다.
도 7은 도 6의 가상 폴더 구조의 트리도로, 제2 레벨에서 가상 폴더(510)는 가상 폴더(511 및 512)를 더 포함하고, 이는 각각 계약과 연도에 대응한다. 다시 말해, 가상 폴더(510)의 클라이언트 스택은 계약과 연도로 더욱 필터링된다. 어느 파일과 항목이 각 가상 폴더에 포함되는지를 결정하는 프로세스를 이하 더 상세히 설명한다.
도 8은 도 7의 가상 폴더 구조의 트리도로서, 여기에서는 제3 레벨에서, 가상 폴더(511)가 연도에 대응하는 가상 폴더(513)를 포함한다. 다시 말해, 가상 폴더(511)의 계약 스택은 연도로 더욱 필터링된다. 가상 폴더(510, 511 및 513)의 가상 폴더 구조는 클라이언트, 계약 및 연도에 따라 구성되는 반면, 가상 폴더는 도 9를 참조하여 이하 더욱 상세히 설명된 바와 같이, 다른 구조의 시퀀스의 발생도 가능하게 된다는 것이 이해될 것이다.
도 9는 도 6의 가상 폴더 구조의 트리도로서, 여기에서는 제2 레벨에서, 가상 폴더(520)가 클라이언트와 연도에 대응하는 가상 폴더(521 및 522)로 더욱 필터링된다. 제3 레벨에서, 가상 폴더(521)는 연도에 대응하는 가상 폴더(523)로 더욱 필터링된다. 도 8 및 도 9의 체계화 구조들을 대비해 보면 가상 폴더 시스템의 유연성이 설명된다. 다시 말해, 가상 폴더 시스템에서는, 사용자는 도 5에 나타낸 것과 같은 물리적 파일 구조의 위치 비독립적 뷰에 좌우되는 것과 대조되는 바와 같이, 원하는 파라미터에 따라 가상 폴더를 네비게이션할 수가 있다.
도 10은 문서 라이브러리의 스택을 나타내는 스크린 디스플레이(600)를 설명하는 도면이다. 상기 언급한 바와 같이, 스택은 가상 폴더의 유형을 표시하는 데에 이용될 수 있다. 이하 더욱 상세히 설명되는 바와 같이, 스크린 디스플레이(600)는 퀵 링크 요소(610-613), 필터 요소(620-626), 동작 요소(630-633), 정보 및 제어 요소(640-645), 및 가상 폴더 스택(651-655)을 포함한다.
퀵 링크 요소는 "모든 카테고리" 퀵 링크(610), "모든 저자" 퀵 링크(611), "1월 작업" 퀵 링크(612) 및 부가의 퀵 링크를 표시하기 위한 선택부(613)를 포함한다. 이하 더욱 상세히 설명되는 바와 같이, 퀵 링크는 원하는 가상 폴더의 네비게이션을 실행하도록 사용자에 의해 선택될 수 있다. 퀵 링크는 시스템에 의해 제공되며, 몇 퀵 링크는 사용자에 의해 형성 및 저장될 수 있다.
필터 요소는 "항목별 필터(filter by)" 표시자(620), 입력 공란(621), "날짜별(by date)" 표시자(622), "연도" 선택부(623), "저자 고르기" 선택부(624), "카테고리 고르기" 선택부(625), 및 "부가의 필터" 선택부(626)를 포함한다. "항목별 필터" 표시자(620)는 사용자에게 아래 항목이 가상 폴더나 항목을 필터링하는 데에 이용된다는 사실을 알려준다. 입력 공란(621)은 사용자가 원하는 새로운 필터 용어를 타이핑할 수 있는 영역을 제공한다. "날짜별" 표시자(622)는 "연도" 선택부(623)로부터 날짜를 선택하여, 가상 폴더나 항목이 그 선택된 연도까지 필터링될 수 있다는 사실을 사용자에게 알려준다. "저자 고르기" 선택부(624)는 사용자가 특정 저자에 따라 필터링할 수 있게 한다. "카테고리 고르기" 선택부(625)는 사용자가 선택된 카테고리에 따라 필터링하게 한다. "부가의 필터" 선택부(626)는 사용자가 디스플레이 상에 부가의 필터가 나오게 한다.
동작 선택부는 "새 카테고리 형성" 선택부(630), "동작" 선택부(631 및 632), 및 "부가의 동작" 선택부(633)를 포함한다. 이하 더욱 상세히 설명되는 바와 같이, 제시되는 동작은 일반적으로 바람직한 기능에 대한 것이며, 특히는 현재 표시되고 있는 가상 폴더의 유형에 대해 유용한 동작에 관한 것이다. 예를 들어, "새 카테고리 형성" 선택부(630)는 사용자에 의해 선택되어 새로운 스택으로 표시되게 되는 새로운 카테고리를 형성하게 한다.
상기한 바와 같이, 동작 선택부(631 및 632)는 특히 표시되고 있는 폴더와 항목의 유형에 관한 것이다. 예를 들어, 이 디스플레이는 문서 라이브러리에 대한 것이고, 이의 "동작" 선택부(631 및 632)는 첨부물을 편집하거나 형성하는 것과 같이, 문서에 대해 구체적으로 맞춤된 동작에 관한 것이다. 이 라이브러리가 사진 라이브러리이면, "동작" 선택부(631 및 632)는 사진 앨범의 형성 또는 다른 사용자와의 사진 공유 등, 사진에 관한 특수 동작에 대한 것일 수 있다.
정보 및 제어 요소는 정보 라인(640 및 641), 제어 라인(642), 백스페이스 제어(643), 및 정보 라인(644 및 645)을 포함한다. 정보 라인(640 및 641)은 가상 폴더나 항목의 현재 네비게이션에 대한 정보를 제공한다. 이 예에서, 정보 라인(640)은 현재 네비게이션이 문서 라이브러리에 대한 것인 반면, 정보 라인(641)은 문서 라이브러리가 저장 영역 내에 있는 것을 나타내는, 더욱 완전한 네비게이션을 나타내는 것이다. 제어 라인(642)은 다수의 표준 제어를 제공하며, 백스페이스 버튼(643)은 네비게이션 중에 사용자가 뒤로 갈 수 있게 한다. 정보 라인(644)은 본 네비게이션의 컨텐츠에 대한 여러 정보를 제공한다. 본 예에서, 정보 라인(644)은 문서 라이브러리의 스택에 100MB를 차지하는 41개의 항목이 있다는 것을 나타내고 있다. 정보 라인(645)은 선택된 파일에 대한 부가의 정보와 같은 부가의 정보를 제공하는 데에 유용하다.
문서 라이브러리의 스택은 "ABC Corp." 스택(651), "백업 스택"(652), "비지 니스 플랜" 스택(653), "XYZ Corp." 스택(654) 및 "마케팅 리포트" 스택(655)을 포함한다. 각 스택 위의 숫자는 각 스택에 얼마나 많은 항목이 있는지를 나타낸다. 예를 들어, "ABC Corp." 스택(651)은 8개의 항목을 포함하는 것을 나타낸다. 스택의 항목의 총 개수는 정보 라인(644)에 나타낸 항목의 개수에 더해지는데, 본 예에서는 41개이다. 사용자가 원하는 항목을 선택하도록 이용할 수 있는 선택 박스 SB가 제공된다. "ABC Corp." 스택(651)의 선택은 도 11과 관련하여 후술하는 바와 같이, 그 스택의 항목의 뷰를 만든다.
도 11은 도 10의 "ABC Corp." 스택(651)의 항목을 나타내는 스크린 디스플레이를 설명하는 도면이다. 정보 라인(640 및 641)은 본 네비게이션이 "ABC Corp." 스택을 나타내고 있는 것을 나타낸다. "ABC Corp." 스택(651)은 문서 1 내지 8에 각각 대응하는 8개의 문서(751-758)를 포함하는 것으로 나타나 있다. 정보 라인(644)은 이에 따라 20MB의 메모리를 차지하는 8개의 항목이 있다는 것을 나타낸다. 도 11의 문서는 추가로 ABC Corp. 스택 내에서 스택으로 배열될 수 있다. 다시 말해, ABC Corp. 스택(651)에 의해 표시되는 가상 폴더 내에는, 부가의 가상 폴더가 도 12 내 도 16에 관련하여 후술되는 바와 같이, 문서를 보유하도록 체계화될 수 있다.
도 12는 도 11의 문서에 대해 스태킹 기능이 선택된 스크린 디스플레이를 설명하는 도면이다. 도 12에 나타낸 바와 같이, 사용자는 기능 박스(760)를 끌어 올 수 있다. 기능 박스(760)는 "뷰" 선택부(761), "항목별 아이콘 배열" 선택부(762), "스택" 선택부(763), "리프레시" 선택부(764), "폴더 포함 열기" 선 택부(765), "자르기" 선택부(766), "복사하기" 선택부(767), "취소" 선택부(768), "새문서" 선택부(769) 및 "특성" 선택부(770)를 포함한다. 선택 박스 SB는 "스택" 선택부(763) 둘레에 나타나 있다.
도 13은 도 12의 스택 기능에 대해 "저자별 스택" 파라미터가 선택된 스크린 디스플레이를 설명하는 도면이다. 도 13에서 나타낸 바와 같이, 여러 스택 옵션을 제시하는 박스(780)가 표시된다. 스택 옵션은 "스택 해제" 옵션(781), "카테고리별 스택" 옵션(782), "저자별 스택" 옵션(783), 및 "사용자별 스택" 옵션(784)을 포함한다. 선택 박스 SB는 "저자별 스택" 옵션(783) 둘레에 나타나 있다.
도 14는 도 13의 파일이 저자별로 스택되어 있는 스크린 디스플레이를 설명하는 도면이다. 도 14에 나타낸 바와 같이, 스택(791 및 792)은 저자 밥(Bob)과 리사(Lisa)에 각각 대응한다. 각 스택 위의 수로 나타낸 바와 같이, 밥 스택(791)은 두 항목을 포함하는 반면, 리사 스택(792)은 5개의 항목을 포함한다. 항목(758)(문서 8에 대응)은 저자를 갖지 않으므로, "저자" 스택에 포함되지 않는다. 스택(791 및 792)은 "ABC Corp." 스택(651) 내에서와 같이 다수의 레벨로 체계화될 수 있다. 따라서, 가상 폴더는 문서 라이브러리 내에 있는 "ABC Corp." 스택(651) 내에 있는 "리사" 스택(792)과 같이 다수의 레벨로 형성될 수 있다.
도 15는 "카테고리별 스택" 옵션이 도 14의 파일을 다시 스택하기 위해 추가로 선택된 스크린 디스플레이를 설명하는 도면이다. 도 15에 나타낸 바와 같이, 선택 박스 SB는 "카테고리별 스택" 옵션(782) 둘레에 있다. 항목 중에는 이미 스택(791 및 792)에 스택되어 있는 것이 있기 때문에, "카테고리별 스택" 옵션(782) 의 선택은 도 16과 관련하여 이하 더욱 상세히 기재되는 바와 같이, 항목을 다시 스택한다.
도 16은 도 14의 파일이 카테고리별로 다시 스택된 스크린 디스플레이를 설명하는 도면이다. 도 16에서 나타내는 바와 같이, 스택(793 및 794)은 각각 "XYZ Corp." 및 "마케팅 리포트" 카테고리에 대응한다. 문서 1 및 2에 대응하는 항목(751 및 752)은 어느 부가의 카테고리에도 지정되지 않으므로, 다른 카테고리 스택 중 어디에도 들어가지 않는다.
도 17은 물리적 폴더의 퀵 링크가 선택된 스크린 디스플레이를 설명하는 도면이다. 선택 박스 SB는 "모든 폴더" 퀵 링크(616) 둘레에 있는 것으로 나타난다. 도 18과 관련하여 이하 더욱 상세히 설명하는 바와 같이, "모든 폴더" 퀵 링크(616)는 물리적 폴더의 뷰로 전환하기 위해 제공된다.
도 18은 물리적 폴더를 나타내는 스크린 디스플레이를 설명하는 도면이다. 나타낸 물리적 폴더는 도 17의 가상 폴더 스택의 파일을 포함한다. 다시 말해, 도 17의 스택(651-655) 내에 포함된 항목은 또한 시스템의 특정 물리적 폴더에 포함된다. 이들은 도 18에서 현재의 컴퓨터 상에 위치된 "내 문서" 폴더(851), 현재의 컴퓨터 상에 위치된 "데스크톱" 폴더(852), 하드 드라이브 C에 위치된 "Foo" 폴더(853), 서버에 위치된 "내 파일" 폴더(854), 외부 드라이브에 위치된 "외부 드라이브" 폴더(855), 다른 컴퓨터 상에 위치된 "내 문서" 폴더(856), 및 다른 컴퓨터 상에 위치된 "데스크톱" 폴더(857)로서 나타나 있다.
도 18에 나타낸 바와 같이, 사용자는 도 17의 가상 파일 표시를 도 18의 물 리적 파일 표시로 전환할 수 있다. 이것은 사용자가 현재 작업에 바람직한 것에 따라서, 가상 파일 표시와 물리적 파일 표시 간에서 토글할 수 있게 한다. 물리적 폴더(851-857)의 여러 위치는 또한 이하 더욱 상세히 설명되는 바와 같이, 가상 파일 시스템의 유효범위가 비교적 넓은 것을 설명해 준다.
도 19는 사용자가 직접적으로 가상 폴더를 조작할 수 있는 루틴(880)을 설명하는 플로우차트이다. 이하 더욱 상세히 설명되는 바와 같이, 가상 폴더를 조작하기 위해 제공되는 메커니즘은 정규 폴더를 조작하는 데에 현재 이용되는 것(예를 들어, 클릭 및 드래그, 복사하기, 붙이기 등)과 유사하다. 도 19에 나타낸 바와 같이, 블럭(882)에서, 시스템은 디스플레이 오브젝트로서 표시되는 가상 폴더의 직접적 조작을 위해 사용자가 실행할 수 있는 동작을 정의하고 있다. 블럭(884)에서, 사용자는 정의된 동작을 실행한다. 상술한 바와 같이, 이것의 일례로는 사용자가 가상 폴더를 다른 가상 폴더에 클릭 및 드래그하여 그 컨텐츠를 복사하는 것이 있다. 블럭(886)에서, 가상 폴더 및/또는 컨텐츠는 사용자에 의해 실행되는 동작으로 지시되는 바와 같이 조작되게 된다.
도 20은 새로운 웨스트 코스트 스택(656)이 도 10의 스택에 추가된 스크린 디스플레이를 설명하는 도면이다. 웨스트 코스트 스택(656)은 사용자가 "웨스트 코스트"라는 새 카테고리를 만드는 것으로 형성되게 된다. 그 초기 형성시, 새로운 웨스트 코스트 스택(656)은 빈 상태로 0개의 항목을 갖는다. 도 20의 실시예에서, 두 개의 항목이 웨스트 코스트 스택(656)에 추가된다. 항목을 스택에 추가하는 한 방법은 특정 항목을 선택하면 되고, 도 20의 실시예에서 행한 바와 같이 카테고리 "웨스트 코스트"를 두 항목에 추가하는 등과 같이, 항목의 카테고리 메타데이터에 부가의 카테고리를 추가하면 된다. 이 프로세스는 카테고리 데이터가 특별한 특성의 유형인 항목의 메타데이터 특성인 것을 설명한다. 다시 말해, 이 유형의 특성은 절대적 의미를 갖지 않고, 사용자에 의해 임의 값이 지정될 수 있다. 예를 들어, 카테고리 "특성"은 임의의 값을 갖는 반면 "저자" 특성은 사람의 이름이어야 한다. 도 21과 관련하여 이하 상세히 설명되는 바와 같이, 항목은 또한 다른 스택으로부터 웨스트 코스트 스택(656)에 복사되도록 클릭 및 드래그될 수 있다(이 경우 항목의 카테고리는 "웨스트 코스트"를 포함하도록 자동 갱신된다). 이와 관련하여, 도 20은 선택 박스 SB가 그 컨텐츠가 복사되는 것에 대비하여 ABC Corp. 스택(651) 둘레에 있는 것을 나타내고 있다.
도 21은 직접적인 조작이 파일을 ABC Corp. 스택(651)으로부터 웨스트 코스트 스택(656)으로 복사하는 데에 이용되고 있는 스크린 디스플레이를 설명하는 도면이다. 다시 말해, 도 20에서 나타낸 바와 같이, 사용자는 ABC Corp. 스택(651)을 선택한 다음에, 도 21에 나타낸 바와 같이 사용자가 이 스택을 클릭 및 드래그 하여 웨스트 코스트 스택(656)에 복사되게 한다. 따라서, 도 20에 두 항목을 갖는 웨스트 코스트 스택(656)은 ABC Corp. 스택(651)으로부터의 부가의 8개의 항목을 포함하여, 총 10개의 항목을 포함하는 것으로 나타난다. ABC Corp. 스택(651)으로부터의 항목이 웨스트 코스트 스택(656)에 복사될 때, 이것은 원래의 ABC Corp. 카테고리에 부가하여 "웨스트 코스트" 카테고리를 또한 포함하도록 8개의 항목의 카테고리 설명을 변형하여 이루어진다. 이것은 실행될 수 있는 직접적 조작의 한 유 형이다.
직접적 조작의 다른 예는 항목을 우측 클릭하여 삭제를 선택하는 것이다. 일 실시예에서, 삭제 기능이 사용자에 의해 선택되면, 사용자에게는 항목이 모두 함께 삭제되는지, 또는 현 가상 폴더로부터만 제거되는지의 여부가 질의된다. 항목이 상기한 바와 같이 단지 현 가상 폴더 카테고리 스택에서만 제거되는 경우에는, 이것은 항목의 메타데이터로부터 원하는 카테고리를 제거하여 성취될 수 있다. 다시 말해, ABC Corp. 스택(651)에서 웨스트 코스트 스택(656)으로 복사된 항목들 중 하나를 ABC Corp. 스택(651)에서 제거하고자 하면, 이것은 특정 파일이 "웨스트 코스트" 카테고리를 더 이상 포함하지 않도록 카테고리 데이터를 변형하여 성취될 수 있는 것이다.
도 22는 새로운 필터 용어를 동적으로 형성하는 시스템의 루틴(900)을 설명하는 플로우차트이다. 필터 용어는 가상 폴더를 조작하는 데에 이용된다. 필터 용어는 항목의 세트를 줄이는 툴의 세트로서 이용된다. 일 실시예에서, 필터는 메타데이터 카테고리 및 이들의 값(클릭 가능한 링크나 드롭-다운 메뉴로서 사용자 인터페이스에서 사용자에게 제시됨)으로 이루어진다. 사용자는 필터 용어를 클릭하여 디스플레이 상의 현재 항목의 결과 세트를 필터링할 수 있다.
도 22는 필터를 동적으로 형성하는 방법을 설명한다. 도 22에 나타낸 바와 같이, 블럭(902)에서, 현재의 디스플레이 상에서 집합된 항목의 (메타데이터로부터의) 특성이 리뷰된다. 블럭(904)에서, 제안된 필터 용어는 통상의 항목의 특성에 기초하여 동적으로 형성된다. 블럭(906)에서, 제안된 필터 용어는 항목을 필터링하기 위한 가능한 선택을 위해 사용자에게 제시된다. 이 프로세스의 예로서, 시스템은 항목의 세트의 특성을 리뷰하고, 항목이 특성으로 "저자"를 가지면, 필터는 저자의 목록을 항목별 필터에 제공할 수 있다. 다음에, 특정 저자를 클릭하면, 그 저자를 갖는 않는 항목은 디스플레이 상의 세트에서 제거된다. 이 필터링 프로세스는 디스플레이 상의 항목의 세트를 줄이는 메커니즘으로 이용된다.
도 23은 필터 용어의 선택에 기초하여 항목을 필터링하는 시스템의 루틴(920)을 설명하는 플로우차트이다. 블럭(922)에서, 사용자는 새로운 필터 용어를 입력하거나 아니면 시스템에 의해 제시된 필터 용어 중 하나를 선택한다. 상기한 바와 같이, 필터 용어는 시스템에 의해 동적으로 형성될 수 있거나 미리 설정될 수 있다. 블럭(924)에서, 디스플레이 상의 집합에서의 항목은 그 선택된 특성이 필터 용어와 일치하는지의 여부와 관련하여 평가되게 된다. 예를 들어, 필터 용어가 "밥"이 저술한 항목에 대한 것이면, 항목은 저자 특성이 "밥"을 포함하는지의 여부에 따라 평가되게 된다. 블럭(926)에서, 선택된 특성이 일치하지 않는 항목은 디스플레이 상의 집합에서 제거되게 된다.
도 24 내지 도 29는 일반적으로 필터링 프로세스가 스크린 디스플레이 상에서 나타나는 방법을 설명한다. 도 24 내지 도 29를 참조하여 후술하는 바와 같이, 일 실시예에서, 필터링은 일반적으로 다음의 프로세스에 따라 동작할 수 있다. 사용자가 필터 값을 클릭한 후에, 필터 범위 외의 항목은 스크린에서 사라진다. 이 사라짐은 일반적으로 항목이 제거되고 있고 어떤 새로운 항목도 추가되고 있지 않는 것을 명백하게 하기 위한 것이다. 백 버튼(643)은 사용자에 의해 선택되어 필터 동작을 취소하게 할 수 있다. 일 실시예에서, 순차적인 필터 동작을 포함하는 네비게이션 스택이 형성되고, 이것은 백 버튼(643)이 선택될 때 필터 동작 각각을 취소하는 데에 이용된다. 필터 값이 선택될 때마다, 정보 영역(640 및 641)은 현재 필터 값을 나타내도록 갱신된다. 일 실시예에서, 필터 값이 선택된 후에, 도 30에 관련하여 이하 더욱 상세히 설명되는 바와 같이, 사용자에게는 새로운 퀵 링크를 현재 필터 네비게이션으로 저장하기 위한 옵션이 제공된다. 필터 값이 선택됨에 따라, 필터 제어는 뷰에 남아 있는 항목에 적당하도록 갱신될 수 있다.
도 24는 도 10의 스택이 용어 "AB"로 필터링된 스크린 디스플레이를 설명하는 도면이다. 나타낸 바와 같이, 필터 영역(621)에, 용어 "AB"가 사용자에 의해 타이핑된다. 정보 라인(640 및 641)은 디스플레이의 항목이 현재 용어 "AB"에 의해 필터링된 것임을 나타낸다. 나타낸 바와 같이, ABC Corp. 스택(651)은 여전히 8개의 항목을 포함하는 반면, 백업 스택(652)은 현재 세 개의 항목을 포함하고, XYZ Corp. 스택(654)이 또한 세 개의 항목을 포함한다. 따라서 정보 라인(644)은 총 35MB의 메모리를 차지하는 총 14개의 항목이 있다는 것을 나타낸다.
도 25는 도 10의 스택이 용어 "ABC"로 필터링된 스크린 디스플레이를 설명하는 도면이다. 도 24의 필터 용어 "AB"에 관련하여, 사용자는 총 필터 용어 "ABC"을 만들도록 추가 문자 "C"를 간단히 타이핑하면 된다. 도 25에 나타낸 바와 같이, 정보 라인(640 및 641)은 디스플레이 상의 항목이 용어 "ABC"를 포함하는 것임을 나타낸다. ABC Corp. 스택(651)은 여전히 8개의 항목을 포함하는 것을 나타내는 반면, 백업 스택(652)은 현재 두 개의 항목만을 포함한다. XYZ Corp. 스택(654)은 그 컨텐츠 중 어느 것도 "ABC" 필터와 일치하지 않기 때문에 사라졌다. 정보 라인(644)은 현재 디스플레이 상의 스택에 총 25MB의 메모리를 차지하는 총 10개의 항목이 있다는 것을 나타낸다. 이와 같이 도 24 및 도 25는 사용자가 새로운 필터 용어를 기재하는 방법과, 이들 필터 용어가 디스플레이 상에 나타난 항목을 필터링하는 데에 이용되는 방법의 예를 제공한다.
백 버튼(643)은 사용자가 필터링 프로세스 중에 뒤로 가는 데에 이용될 수 있다. 도 10에 관련하여 상술한 바와 같이, 백 버튼(643)은 사용자가 네비게이션 중에 뒤로 갈 수 있게 한다. 도 24 및 도 25의 예에 관련하여, 도 25의 용어 "ABC"로 필터링한 후에, 사용자는 필터링 프로세스의 일 단계를 뒤로 가기 위해 백 버튼(643)을 선택할 수 있는데, 이로써 도 24의 상태로 돌아가게 된다. 다르게는, 다른 실시예에서, 백 버튼(643)은 전체 필터 용어를 소거할 수 있으며, 따라서 그 필터링이 발생하기 전의 상태로 돌아갈 수도 있다. 이 경우에는, 도 25에서 백 버튼(643)을 누르게 되면, 사용자는 도 10의 상태로 돌아간다.
일 실시예에서, 백 버튼에 부가하여, 사용자가 필터링 네비게이션시 뒤로 가거나 아니면 이를 수정하기 위한 부가의 수단이 제공된다. 이 부가의 수단은 사용자가 정보 라인(641)을 직접적으로 억세스하여 수정하고, 이에 따라 필터 네비게이션을 변경하도록 하는 것을 말한다. 다시 말해, 정보 라인(641)을 직접 억세스 및 수정하여, 사용자가 적용된 필터 중 하나 이상을 제거하거나, 적용된 필터 중 어느 것의 값이라도 수정할 수가 있다. 이러한 특징은 통상적으로 양도되고 본 명세서에서 참조되어 포함된, 2003년 4월 17일자 출원의 미국 특허 출원 제10/420,040호에 더욱 상세히 기재되어 있다.
도 24 및 도 25에서 나타낸 것과 같이 필터 용어에 사용자가 타이핑하는 것과 관련하여 타이머를 또한 이용할 수 있다. 타이머는 사용자에 의한 타이핑시 일시 정지(pause)를 모니터링하는 데에 이용된다. 선택된 타이핑 없음 간격 이후에, 필터가 적용된다. 예를 들어, 도 24의 상태에서, 사용자가 "A"와 "B" 사이에 상당한 시간 지연 없이, 필터 용어 "AB"를 타이핑한다. 용어 "AB"를 타이핑한 후에, 사용자는 일시 정지하여서 도 24에 나타낸 상태를 발생시키는데, 여기서 필터 용어 "AB"가 적용된다. 조금 후에, 사용자는 문자 "C"를 추가하여 필터 용어 "ABC"를 완성한 다음에, 다시 일시 정지하는데, 이 시점에서 필터 용어 "ABC"가 도 25에 나타낸 바와 같이 적용된다.
일 실시예에서, 사용자가 필터 영역(621)에 필터 용어를 타이핑한 다음에, 다른 필터나 네비게이션을 선택한 후에, 네비게이션 상태가 갱신되게 되고, 필터 영역(621)의 필터 용어는 다시 빈 상태가 된다. 부가하여, 도 26 내지 도 29를 참조하여 더 상세히 설명되는 바와 같이, 다른 필터 제어는 특정 필터 용어의 선택에 기초하여 갱신될 수 있다.
도 26은 필터 용어 "연도 2002"가 선택된 스크린 디스플레이를 설명하는 도면이다. 상기한 바와 같이, 날짜별 표시자(622) 아래의 연도 선택부(623)는 연도 2000, 2001, 또는 2002를 포함한다. 선택 박스 SB는 연도 2002 둘레에 있는 것으로 나타나, 사용자가 이를 원하는 필터 용어별로 선택하고 있는 것을 나타내고 있다.
도 27은 필터 용어 "2002"가 적용된 스크린 디스플레이를 설명하는 도면이다. 또한 다른 "월(month) 고르기" 선택부(623A)가 나타나 있다. 도 27에 나타낸 바와 같이, 필터 용어 "2002"를 적용한 후에, 스택의 항목의 수는 감소되게 된다. 특히, ABC Corp. 스택(651)은 현재 6개의 항목을 포함하고, 백업 스택(652)은 8개의 항목을 포함하고, 비지니스 플랜 스택(653)은 3개의 항목을 포함하고, XYZ Corp. 스택(654)은 현재 5개의 항목을 포함하고 있다. 정보 라인(644)은 총 50MB의 메모리를 차지하는 총 22개의 항목을 나타낸다. 정보 라인(640 및 641)은 디스플레이 상에 나타난 항목이 필터 용어 "2002"를 포함하도록 필터링된 것임을 나타낸다.
도 28은 필터링을 위해 월을 선택하기 위한 목록이 제시된 스크린 디스플레이를 설명하는 도면이다. 월의 목록을 포함하는 박스(950)가 제공된다. 이 박스(950)는 사용자가 "월 고르기" 선택부(623A)를 선택하게 되면 디스플레이 상에 제공된다. 선택 박스 SB가 1월 둘레에 나타나 있다.
도 29는 도 28의 스택이 1월로 추가로 필터링되고, 추가로 "일(day)"의 필터 용어를 보이고 있는 스크린 디스플레이를 설명하는 도면이다. 도 29에 나타낸 바와 같이, 정보 라인(640 및 641)은 디스플레이 상의 항목이 용어 "1월"로 필터링된 것임을 나타내고 있다. 백업 스택(652)은 두 항목을 포함하는 것으로 나타나 있고, 비지니스 플랜 스택(653)은 또한 두 항목을 포함하는 것으로 나타나 있다. 정보 라인(644)은 디스플레이 상에 총 10MB의 메모리를 차지하는 총 4개의 항목이 있다는 것을 나타낸다. "일 고르기" 선택부(623B)는 사용자가 결과를 특정 날짜로 더욱 필터링하길 원하는 경우 제공된다.
도 24 내지 도 29에 관련하여 기재한 바와 같이, 필터 용어는 시스템에 의해 제시되거나 사용자에 의해 타이핑될 수 있다. 일단 필터 용어가 선택되면, 제시되는 나머지 필터 용어는 갱신될 수 있다(예를 들어, 연도 "2002"가 도 26에서 선택된 후에, 도 27에서 연도를 선택하는 옵션은 더 이상 제시되지 않고 대신에 "월 고르기" 옵션이 제공된다). 상기한 바와 같이, 백 버튼(643)은 필터링 프로세스를 통해 사용자가 뒤로 가려고 할 때 선택된다. 예를 들어, "1월"이 도 29에서 선택된 후에, 사용자가 백 버튼(643)을 선택하면 도 27에서 나타낸 바와 같이, 필터링 프로세스를 연도 "2002"로 후진시킨다. 필터 메뉴는 "항목별 스택" 기능을 포함하는데, 이는 도 15 및 도 16에 관련하여 상술한 항목별 스택 기능과 유사하게 작용한다. 예를 들어, "파일 유형" 필터는 "엑셀", "파워포인트", "워드", 및 "파일 유형별 스택"의 선택권을 가질 수 있다. "항목별 스택" 기능을 선택하게 되면 뷰를 변형하여 여러 파일 유형에 대한 스택을 나타내게 된다.
일반적으로, 필터는 파일이나 항목의 여러 특성에 적용하도록 구성될 수 있다. 일 실시예에서, 필터는, 알파벳 인덱스; 개별값; 날짜; 및 수치 범위 등의 여러 유형에 따라 분류될 수 있다. 알파벳 인덱스의 특성 예는 파일 이름, 저자, 아티스트, 접촉하기 편한 이름, 소유자, 문서 저자, 문서 제목, 문서 주제 및 설명을 포함할 수 있다. 개별값의 특성 예는 위치, 파일 유형(어플리케이션 이름), 장르, 트랙, 데케이드(음악용); 등급(음악용), 비트 레이트(bit rate), 보안, 문서 카테고리, 문서 페이지 카운트, 문서 코멘츠, 카메라 모델, 치수, 제품 이름, 제품 버전, 이미지 X, 이미지 Y, 및 문서 형성 시간을 포함한다. 날짜의 특성 예는 마지막 접속, 마지막 수정, 형성, (사진) 찍은 날짜를 포함한다. 수치 범위의 특성 예는 파일 크기일 수 있다.
도 24 내지 도 29와 관련하여 상술된 필터는 사용자가 항목의 목록을 줄여 관심있는 특정 항목을 찾을 수 있도록 한다는 것이 이해될 것이다. 특정 예로서, 상술한 프로세스에 따르면, 사용자는 현재 문서의 목록을 줄여 특정 사람에 의해서만 저술되어 최근 주말에 편집된 마이크로소프트 워드 파일만을 나타내게 할 수 있다. 이 기능은 사용자가 많은 목록에서 특정 항목을 찾을 수 있게 하므로, 사용자가 목록의 각 항목을 수동으로 스캔할 필요를 없애 준다.
도 30은 새로운 퀵 링크를 형성하기 위한 루틴(940)을 설명하는 플로우차트이다. 이하 더욱 상세히 설명되는 바와 같이, 퀵 링크는 사용자가 선택한 항목의 세트의 뷰를 형성하도록 클릭할 수 있는 미리 정해진 링크이다. 일 실시예에서 퀵 링크는 피봇의 형태로 생각될 수 있다. 퀵 링크는 가상 폴더를 검색하는 기구를 제공한다. 퀵 링크를 클릭하면 사용자가 원하는 폴더를 취할 수 있게 된다(유사하게 "즐겨찾기(favorites)"를 클릭하면 사용자가 웹사이트를 취할 수가 있다). 퀵 링크는 시스템에 의해 미리 정해지거나, 사용자에 의해 설정될 수 있다. 예를 들어, "모든 저자"를 클릭하면 저자에 의해 스택된 뷰를 가져올 수 있다. "모든 문서"를 클릭하면 모든 저장 영역에 대한 모든 문서의 플랫 뷰를 가져올 수 있다. 사용자는 자신만의 퀵 링크를 형성할 수 있다.
도 30에서 나타낸 바와 같이, 블럭(942)에서, 사용자는 새로운 퀵 링크가 현 재 필터 용어 또는 네비게이션으로 형성된 것을 나타내도록 디스플레이 상에서 선택을 행한다. 블럭(944)에서, 사용자는 새로운 퀵 링크에 새 이름을 제공한다. 블럭(946)에서, 새로운 퀵 링크가 저장되고 새로운 퀵 링크 이름이 디스플레이 상의 퀵 링크 섹션에 제공되게 된다.
도 31은 도 29의 필터링에 기초한 "1월 작업"으로 불리는 새로운 퀵 링크를 형성하기 위한 스크린 디스플레이를 설명하는 도면이다. 상술한 바와 같이, 도 29에서, 스택은 1월로 필터링되어 있다. 도 31에서, 사용자는 도 29의 필터링이 새로운 퀵 링크로 저장되게 지시하고 이 새로운 퀵 링크를 "1월 작업"으로 이름지었다. 따라서, 새로운 1월 작업 퀵 링크(612)가 디스플레이의 퀵 링크 섹션에 나타난다. 새로운 퀵 링크를 형성하는 것과 관련하여, 사용자에게는 일반적으로 "이 집합을 퀵 링크로 저장" 등과 같은 옵션이 제공된다.
도 32는 "모든 저자"의 퀵 링크가 선택된 스크린 디스플레이를 설명하는 도면이다. 도 32에 나타낸 바와 같이, 선택 박스 SB는 모든 저자 선택부(611) 둘레에 나타난다. 퀵 링크에 의해 억세스할 수 있는 다른 집합의 예는 "모든 저자", "최근 문서", "내가 공유한 모든 문서", "내가 저술한 모든 문서", "내가 저술하지 않은 모든 문서", "데스크톱" 및 "모든 유형"을 포함한다.
도 33은 도 32의 항목의 모든 저자의 목록이 제시된 스크린 디스플레이를 설명하는 도면이다. 도 33에서 나타낸 바와 같이, 항목, 저자, 수정 날짜, 유형, 사이즈, 및 항목의 위치를 나타내는 열을 나타내는 정보 라인(950)이 제공된다. 저자(951-954)의 목록이 각각 저자 1 내지 4에 대응하여 나타난다.
도 34는 "저자 1"이 도 33의 목록으로부터 선택된 스크린 디스플레이를 설명하는 도면이다. 저자 1의 문서는 문서 1 및 2에 각각 대응하는 문서(951A 및 951B)를 포함한다. 문서(951A)는 저자 1에 의해 저술되며, 2001년 7월 11일에 수정되며, 마이크로소프트 엑셀 파일이며, 282Kb의 메모리를 차지하며, 위치 //서버1/폴더2로부터 얻어지는 것을 나타낸다. 문서(951B)는 저자 1에 의해 저술되며, 2002년 12월 22일에 수정되며, 마이크로소프트 워드 파일이며, 206Kb의 메모리를 차지하며, 위치 내문서/폴더1에 물리적으로 저장되어 있는 것을 나타낸다. 문서(951A 및 951B)는 이하 더욱 상세히 설명되는 바와 같이, 여러 물리적 위치로부터의 항목을 포함할 수 있다.
도 35는 새로운 라이브러리를 형성하기 위한 루틴(960)을 설명하는 플로우차트이다. 라이브러리의 일례는 도 10과 관련하여 상술한 문서 라이브러리이다. 일반적으로 라이브러리는 함께 관련될 수 있는 대그룹의 이용 가능한 파일의 유형으로 이루어진다. 예를 들어, 사진은 하나의 라이브러리일 수 있으며, 음악은 다른 것, 문서는 또 다른 것일 수 있다. 라이브러리는 특정 유형의 항목에 관련되는 툴과 동작을 제공할 수 있다. 예를 들어, 사진 라이브러리에는, 슬라이드쇼의 형성이나 사진의 공유 등과 같이 사진 조작과 관련되는 툴과 필터가 있을 수 있다. 도 35에 나타낸 바와 같이, 블럭(962)에서, 선택된 특성을 갖는 항목을 포함하는 새로운 라이브러리가 형성된다. 블럭(964)에서, 선택된 항목은 라이브러리로 그룹화된다. 블럭(966)에서, 선택된 항목의 특성이나 그 외 원하는 기능에 관련된 툴 및/또는 동작이 제공된다.
도 36은 유용한 라이브러리의 집합이 나타나 있는 스크린 디스플레이를 설명하는 도면이다. 도 36에 나타낸 바와 같이, 라이브러리는 문서 라이브러리(971), 사진 및 비디오 라이브러리(972), 음악 라이브러리(973), 메시지 라이브러리(974), 연락처 라이브러리(975), 및 TV 및 영화 라이브러리(976), 게다가 모든 항목 라이브러리(977)를 포함한다. 모든 항목 라이브러리(977)는 그 외 조합된 라이브러리 전부에서의 항목의 총수인 275개의 항목을 포함하는 것으로 나타낸다. 정보 라인(644)은 총 700MB의 메모리를 차지하는 총 275개의 항목을 나타낸다. 문서 라이브러리(971)는 도 10과 관련하여 상술한 라이브러리임에 유의해야 한다.
도 37은 가상 폴더 집합의 범위를 정의하는 루틴(990)을 설명하는 플로우차트이다. 이하 더욱 상세히 설명하는 바와 같이, 가상 폴더 시스템은 다수의 물리적 위치(예를 들어, 여러 하드 드라이브, 여러 컴퓨터, 여러 네트워크 위치 등)로부터의 항목을 나타낼 수 있으므로 사용자에게는 모든 항목이 용이하게 억세스 가능하게 된다. 예를 들어, 사용자는 단일의 디스플레이 상에 복수의 물리적 위치로부터의 음악 파일이 제시되어, 한번에 모든 파일을 조작할 수 있다.
도 37에 나타낸 바와 같이, 블럭(992)에서, 항목이 나온 물리적 위치에 대한 유효범위가 정의된다. 블럭(994)에서, 질의에 응답하여, 이 유효범위에서 정의되어진 물리적 위치로부터 항목을 끌어온다. 블럭(996)에서, 질의로 끌어온 모든 항목이 단일의 디스플레이 상에 제시된다.
도 38은 가상 폴더 집합의 유효범위를 형성하는 여러 소스를 나타내는 블럭도이다. 도 38에 나타낸 바와 같이, 시스템(1000)은 현재의 컴퓨터(1010), 부가의 컴퓨터(1020), 외부 및 착탈 가능 저장 장치(1030), 및 네트워크 상의 위치(1040)를 포함한다. 전체 유효범위(1001)는 사용자의 항목이 집합을 형성하도록 나오는 모든 물리적 위치를 포함하는 것으로 기재되어 있다. 범위는 사용자에 의해 설정 및 수정될 수 있다. 주지된 바와 같이, 현재의 컴퓨터 상의 내문서 폴더와 서버로부터 나오는 여러 문서를 나타내는 도 34, 및 다수의 위치에 물리적으로 저장된 물리적 폴더를 나타내는 도 18 등과 같이, 다른 도면들은 항목이 여러 물리적 위치로부터 나오는 것을 설명하고 있다.
도 39는 가상 폴더 집합에 비-파일 항목을 포함하는 루틴(1080)을 설명하는 플로우차트이다. 비-파일 항목은 통상 물리적 파일 저장소에 위치된 파일 항목과 대조된다. 비-파일 항목의 예는 이메일, 또는 연락처와 같은 것이다. 도 39에 나타낸 바와 같이, 블럭(1082)에서, 데이터베이스는 질의로 검색될 수 있는 파일 항목과 함께 비-파일 항목을 포함하도록 이용된다. 블럭(1084)에서, 질의에 응답하여, 이 질의와 일치하는 비-파일 항목과 파일 항목을 끌어온다. 블럭(1086)에서, 질의와 일치되는 비-파일 항목과 파일 항목이 디스플레이 상에 나타난다.
도 40은 여러 비-파일 항목을 나타내는 스크린 디스플레이를 설명하는 도면이다. 도 40에 나타낸 바와 같이, 항목은 "존(John)"을 포함하는 것으로 필터링된다. 연락처 항목(1101), 이메일 항목(1102) 및 문서 항목(1103 및 1104)을 포함하는 항목이 나타난다. 연락처 항목(1101) 및 이메일 항목(1102)은 비-파일 항목이다. 본 시스템은 이 비-파일 항목이 정규의 파일 항목에 포함되게 하여, 이들을 사용자가 원하는 바대로 체계화 및 조작할 수가 있다. 도 2와 관련하여 상술한 바 와 같이, 이 비-파일 항목은 관련 데이터베이스(230) 내에 전적으로 포함되며, 이것은 파일의 특성에 대한 정보를 포함한다.
도 41 내지 도 50은 도 10의 정보 라인(641)에 대응하며 본 발명에 따라 형성되는 가상 어드레스 바에 관한 도면이다. 이하 더욱 상세히 설명되는 바와 같이, 가상 어드레스 바는 복수의 세그먼트를 포함하고, 각 세그먼트는 컨텐츠를 선택하는 필터에 대응한다. 각 세그먼트의 대응 필터는 집합적으로 컨텐츠를 선택하기 위한 가상 어드레스를 나타낸다.
도 41은 가상 어드레스 바를 동작하는 데에 적합한 예시의 네트워크 컴퓨팅 환경(1200), 또는 여기에 기재된 본 발명의 어느 다른 태양의 블럭도이다. 예시의 네트워크 컴퓨팅 환경(1200)은 사용자와 상호 작용하기 위해, 도 1에 관련하여 기재한 퍼스널 컴퓨터와 같은 컴퓨팅 장치(1202)를 포함하고, 여기에서 사용자는 컴퓨팅 장치에 대해 로컬 또는 원격적으로 저장된 파일을 볼 수 있다. 다음의 설명은 퍼스널 컴퓨터 관련하여 본 발명을 기재했지만, 컴퓨팅 장치(1202)는 이에만 제한하는 것은 아니지만 미니 및 메인프레임 컴퓨터, PDA, 태블릿 컴퓨터, 및 그 외 사용자와 상호작용 가능하며 컴퓨팅 장치와 그 외에 저장된 컨텐츠를 표시할 수 있는 장치를 포함하는 많은 유형의 물리적 장치를 포함한다는 것이 이해될 것이다.
예시의 네트워크 컴퓨팅 환경(1200)은 컴퓨팅 장치(1202)에 억세스 가능한 파일을 저장하며, 도 41에 나타낸 바와 같이 인터넷(1206)과 같은 통신망을 통해 컴퓨팅 장치에 접속되는 서버(1204)와 같은 하나 이상의 원격 서버를 포함한다. 부가하여, 컴퓨팅 장치(1202)는 또한 원격 데이터베이스(1208)와 같이, 파일이나 그 외 컨텐츠를 저장하는 그 외 정보원에 접속될 수 있다. 당업자라면 하드 디스크 드라이브(도 1) 등의 로컬 저장 장치뿐만 아니라, 원격 서버(1024) 및 원격 데이터베이스(1208) 둘 다에 저장된 파일 및 정보는 컴퓨팅 장치 상의 통합 파일 시스템의 일부로서의 컴퓨팅 장치(1202)에 억세스 가능하며, 여기에 표시 가능하다는 것이 이해될 것이다. 부가하여, 원격 서버(1204) 및 원격 데이터베이스(1208)의 특정 구성을 도 41에서 제시하고 있지만, 당업자라면, 이 특정 구성은 오직 설명을 위한 것으로 본 발명에 제한하여 구성되는 것이 아니라는 것이 쉽게 이해될 것이다.
도 42는 종래 기술에서 알 수 있는 바와 같이, 컴퓨터 파일 시스템에서 파일을 표시하는 것과 관련된 종래의 어드레스 바(1302)를 갖는 예시의 파일 뷰어(1300)를 설명한다. 설명의 목적으로, 파일 뷰어는 사용자에게 파일이나 그 외 컨텐츠를 표시하기 위한, 디스플레이 장치(도 1)와 같은 디스플레이 장치 상의 뷰 또는 창이다. 파일 뷰어는 특수하게 실행 가능한 프로그램에 대응하여 사용자에게 파일을 표시하기 위한 창일 수 있다. 다르게, 파일 뷰어는 컴퓨터 시스템에 대해 로컬 또는 원격으로 접속된 저장 장치로부터 데이터를 저장하거나 검색해야 하는 실행 가능한 프로그램 상에서의 개방형 또는 폐쇄형 대화 상자 내의 뷰일 수 있다. 파일 뷰어의 상기 예는 설명을 위한 것으로, 본 발명으로 제한하여 구성되는 것이 아님에 주의해야 한다.
종래의 어드레스 바(1302)의 어드레스는 파일 시스템의 특정 위치에 대응한다. 이전에 기술한 바와 같이, 종래의 어드레스 바(1302)에 표시된 어드레스를 편 집하기 위해서, 사용자는 파일 시스템의 특정 지식에 따라 어드레스를 수정해야 한다. 다르게, 사용자는 대체 위치를 네비게이션하기 위해 트리 뷰(1304)에서 엔트리를 선택할 수 있다. 당업자라면 그 외 예시의 파일 뷰(1300)에 나타나 있지 않은 어드레스 바(1302)의 외부 제어를 또한 이용할 수 있다는 것이 이해될 것이다. 종래의 어드레스 바(1302)에 표시된 어드레스는 파일 시스템의 특정 위치에 대응하지만, 파일 시스템의 다수의 폴더 사이에 분산된 관련 파일은 종래의 어드레스 파일(1302)과 관련하여 표시될 수 없다.
도 43은 컴퓨터 파일 시스템에서 파일을 표시하는 것과 관련된 가상 어드레스 바(1402)를 갖는 예시의 파일 뷰어(1400)를 설명한다. 가상 어드레스 바(1402)는 도 10의 정보 라인(641)에 대응한다. 가상 어드레스(1404)를 갖는 가상 어드레스 바(1402)는 도 42의 종래의 파일 뷰어(1300)의 종래의 어드레스(1304)에 의해 표시되는 것과 유사한 정보를 표시하도록 구성된다. 또한 가상 경로로 참조되는 가상 어드레스는 선택 표준에 따라 컴퓨터 파일 시스템에 저장된 파일을 참조한다.
도 42의 어드레스(1304)와 같은 종래의 어드레스와 유사하게, 가상 어드레스의 선택 표준은 파일 시스템 계층의 특정 위치에 저장된 파일을 참조한다. 그러나, 종래의 어드레스와 대비하여, 가상 어드레스의 선택 표준은 이들의 특정 파일 시스템 위치와 상관없는 파일을 참조할 수 있다. 따라서, 가상 어드레스는 컴퓨터 파일 시스템의 다수의 위치에 저장된 파일을 참조한다. 도 43에 나타낸 바와 같이, 가상 어드레스 바(1402)의 가상 어드레스(1404)에 따른 파일 뷰어(1400)는 도 42의 파일 뷰어(1300)에서는 보이지 않는 파일(1406 및 1408) 등의 부가의 파일을 표시할 수 있다. 부가하여, 가상 어드레스 바(1402)는 또한 컴퓨터 파일 시스템의 파일 이외의 컨텐츠를 표시하는 데에 이용될 수 있다. 예를 들어, 가상 어드레스 바(1402)는 시스템 장치, 시스템 서비스 또는 인터넷 위치를 포함하는 컨텐츠를 참조하는 데에 이용될 수 있다.
도 44A는 컴퓨터 파일 시스템에서 네비게이션하기 위해 가상 어드레스 바(1402)에서 가상 어드레스(1404)의 세그먼트를 조작하는 것을 설명한다. 가상 어드레스 바(1402)와 같은 각 가상 어드레스 바는 세그먼트(1502, 1504, 1506 및 1508) 등의 하나 이상의 상호 작용 세그먼트로 이루어진다. 가상 어드레스 바의 각 세그먼트는 컴퓨터 파일 시스템에 억세스 가능한 모든 유용 컨텐츠나 파일에 대해, 미리 정해진 필터 또는 선택 표준에 대응한다. 가상 어드레스 바(1402)의 모든 세그먼트의 필터는 집합적으로 가상 어드레스 바의 가상 어드레스를 나타낸다.
세그먼트(1502) 등의 가상 어드레스 바의 제1 세그먼트는 루트 세그먼트 또는 루트 필터로 언급된다. 루트 세그먼트는 가상 어드레스 바(1402)에 의한 선택에 유용한 가장 폭넓은 카테고리의 컨텐츠를 나타낸다. 예를 들어, 세그먼트(1502) "파일"은 컴퓨터 파일 시스템에 억세스 할 수 있는 모든 파일을 참조하는 필터를 나타낸다. 다르게는, 루트 세그먼트는 컴퓨터 시스템 상의 사용자에게 유용한 모든 시스템 서비스를 참조하는 필터, 또는 컴퓨터 시스템에 설치된 모든 하드웨어 장치를 참조하는 필터를 나타낸다. 당업자라면 여러 다른 대체의 루트 필터가 본 발명에 의해 이용될 수 있는 것이 이해될 것이다. 따라서, 상술한 예는 설명을 위한 것으로, 본 발명을 제한하고자 하는 것이 아니다. 부가하여, 루 트 세그먼트(1502)의 "파일"과 같은 각 세그먼트에 대해 표시된 라벨은 설명적인 것으로, 본 발명을 제한하는 것이 아니다. 일 실시예에 따르면, 세그먼트에 표시된 라벨은 사용자가 구성 가능하다.
세그먼트(1504, 1506 및 1508) 등의 가상 어드레스 바(1402)의 각 부가의 세그먼트는 파일 뷰어(1400)에서 파일이나 컨텐츠를 선택하고 표시할 때 적용되는 부가의 필터를 표시한다. 예를 들어, 루트 세그먼트(1502) "파일"은 컴퓨터 시스템에서 유용한 모든 파일을 참조한다. 세그먼트(1504) "문서 라이브러리"는 워드 프로세서, 스프레드시트, 또는 그 외 문서 생성 어플리케이션과 같이, 사용자에 의해 문서로 생성되는 파일을 선택하는 것으로, 루트 세그먼트(1502)에 의해 선택된 파일을 필터링한다. 세그먼트(1506) "워드 문서"는 마이크로소프트사의 워드 어플리케이션과 같이 워드 프로세서를 이용하여 형성되는 문서에 따라서 세그먼트(1504)에 의해 선택된 파일을 필터링한다. 마지막으로, 세그먼트(1508) "저자 A"는 "저자 A"로 저술되었는지에 따라서 세그먼트(1506)에 의해 선택된 워드 처리 문서를 필터링한다. 따라서, 가상 어드레스 바(1402)에서 표시된 가상 어드레스에 따라 선택된 컨텐츠는 가상 어드레스 바의 모든 세그먼트에 대응하는 필터를 만족해야 한다.
가상 어드레스 바(1402)의 세그먼트는 일반적으로 가장 포괄적인 필터로부터 덜 포괄적인 필터로 순서화되어 있다. 예를 들어, 상술한 바와 같이, 세그먼트(1502) "파일"은 가장 폭넓으며 가장 포괄적이다. 세그먼트(1506) "워드 문서" 및 세그먼트(1508) "저자 A"는 덜 포괄적이다. 가상 어드레스 바(1402)는 좌측에서 우측으로의 세그먼트 순서를 보이고 있으며, 설명을 위해서, 세그먼트(1504, 1506, 1508)가 루트 세그먼트(1502)에 후속되고 있다. 그러나, 본 발명의 범주에서 벗어나지 않고, 상측에서 하측의 구성과 같은 다른 배치도 가능함이 이해될 것이다. 따라서, 좌측에서 우측으로의 배향은 설명적인 것으로, 본 발명을 제한하고자 하는 것이 아니다.
상술한 바와 같이, 세그먼트(1502, 1504, 1506 및 1508) 등의 가상 어드레스 바(1042)의 세그먼트는 폴더, 드라이브 및 디렉토리 등의 컴퓨터 파일 시스템의 특정 위치에 반드시 대응할 필요는 없다. 따라서, 세그먼트(1504) "문서 라이브러리"는 다수의 서버, 드라이브 또는 폴더/디렉토리 상에 분산된 파일이나 컨텐츠를 참조할 수 있다. 그러나, 가상 어드레스 바(1402)의 특정 세그먼트는 컴퓨터 파일 시스템 계층을 갖는 특정 위치를 참조할 수 있다. 특정 파일 시스템 위치를 참조하는 가상 어드레스 세그먼트에 대해서 도 48A 및 도 48B를 참조하여 이하 더욱 설명한다.
종래의 어드레스 바와 대조적으로, 가상 어드레스 바(1402)의 각 세그먼트는 동작 가능한 상호 작용성 사용자 인터페이스 요소를 나타낸다. 예를 들어, 가상 어드레스 바(1402)의 세그먼트는 사용자 선택에 응답하여, 커서가 특정 주기 동안 이 세그먼트 위에 위치되어 있는지가 모니터링되어, 드래깅 사용자 상호 작용에 의해 가상 어드레스 바로부터 제거될 수 있다. 따라서, 도 44A에 나타낸 바와 같이, 사용자는 세그먼트(1504) "문서 라이브러리"와 같은 가상 어드레스 바(1402)의 세그먼트 위에 커서(1510)를 위치시켜, 그 세그먼트를 선택 또는 클릭하여, 도 44B와 관련하여 기재된 바와 같이, 그 레벨까지 네비게이션하게, 즉 그 세그먼트에서 가상 어드레스를 잘라내게 한다.
도 44B는 가상 어드레스 바(1402)의 세그먼트(1504)를 선택한 결과를 나타낸다. 가상 어드레스 바(1402)의 세그먼트(1504)를 클릭함으로써, 사용자는 가상 어드레스의 그 레벨까지 네비게이션하려 함을 지시하고 있다. 사실상, 사용자는 선택된 세그먼트에 후속되는 필터를 잘라내고 있는 것이다. 예를 들어, 세그먼트(1504) "문서 라이브러리"를 클릭하면(도 44A), 최종 가상 어드레스(1404)는 세그먼트(1506) "워드 문서" 및 (1508) "저자 A"를 더 이상 포함하지 않게 된다(도 44A). 부가하여, 사용자가 덜 제한적인 필터의 세트를 네비게이션하기 때문에, 가상 어드레스 바(1402)의 최종 가상 어드레스(1404)는 더욱 포괄적이 된다. 이것은 도 44A의 파일 뷰어(1400)에서 보이지 않는, 도 44B의 파일 뷰어(1400)에 문서(1512), 문서(1514), 및 문서(1516)를 포함하는 문서의 부가, 및 공간의 제한으로 인해 파일 뷰어(1400)(도 44B)에서는 표시될 수 없는 부가의 파일을 볼 수 있다는 것을 지시하는 스크롤 버튼(1518)의 존재로 알 수 있다.
덜 제한적인 세그먼트를 네비게이션하도록 가상 어드레스 바에서 세그먼트를 선택하는 것에 부가하여, 사용자는 가상 어드레스에서 현재 세그먼트의 피어 필터(peer filter)를 네비게이션하거나, 선택하길 원할 수 있다. 피어 필터는 가상 어드레스 바의 임의의 세그먼트로 선택되어 이에 적용되는 대체 필터이다. 예를 들어, 도 44A에 관련하여, 세그먼트(1506) "워드 문서"의 피어 필터는 "엑셀 문서", "저널스" 등의 필터를 포함할 수 있다. 특정 파일 시스템 위치, 하드웨어 장 치 또는 컴퓨터 서비스를 포함하는 다른 유형의 필터가 또한 가상 어드레스 바의 임의의 세그먼트에 적용될 수 있다. 피어 필터는 임의의 세그먼트의 현재 필터에 논리적으로 관련될 수도 있고 관련되지 않을 수도 있다. 가상 어드레스 바의 각 세그먼트는 피어 필터를 가질 수 있다. 가상 어드레스 바에서 세그먼트의 피어 필터를 선택하는 것은 측면으로 네비게이션하는 것을 말하는 것이다. 가상 어드레스 바에서 세그먼트의 피어 필터를 선택하는 것을 도 45A 내지 도 45D에 관련하여, 또한 도 49와 관련하여 후술한다.
도 45A 내지 도 45D는 가상 어드레스 바(1600)에서 가상 어드레스의 세그먼트와 관련된 피어 필터를 선택하는 것을 설명하는 도면이다. 도 45A에 나타낸 바와 같이, 가상 어드레스 바(1600)는 다수의 세그먼트인, 세그먼트(1602-1608)를 포함하는 가상 어드레스를 갖는다. 가상 어드레스 바(1600)에서 임의의 상호 작용성 세그먼트에 대해 피어 필터를 선택하기 위해서, 사용자는 이 상호 작용성 세그먼트에 대해 대체 선택, 또는 대체 조작을 행해야 한다. 대체 선택을 위한 한 방법은 임의의 세그먼트를 우측 클릭하는 것이다. 우측 클릭은 잘 알려져 있으며, 마우스의 이차 버튼이나 다른 입력 장치를 이용하는 것을 말하며, 여기에서 이차 버튼은 통상 마우스의 오른쪽에 있는 것이다. 다르게, 상호 작용성 세그먼트는 커서가 그 위에 위치되어 있을 때를 모니터링할 수 있기 때문에, 때로는 호버링(hovering)으로 불리는, 상호 작용성 세그먼트 위에 커서를 위치시켜 미리 정해진 시간 동안 커서를 남겨두는 것으로 대체 선택을 행할 수 있다. 그러나, 본 설명은 피어 필터가 표시되게 하는 다른 대안을 설명하는 것으로, 이들은 단지 설명을 위한 것으로, 본 발명을 제한하고자 하는 것이 아니다. 당업자라면 대체 선택을 형성하기 위한 여러 다른 방법들이 있다는 것이 인식될 것이다.
도 45A를 참조하여 세그먼트를 대체하여 선택하는 것을 설명하기 위해, 사용자는 미리 정해진 시간 동안 세그먼트(1604) "문서 라이브러리" 위에 커서(1610)를 먼저 위치시키고, 즉 세그먼트 위에 호버링시켜, 이 세그먼트를 선택하게 한다. 도 45B는 가상 어드레스 바(1600)에서 세그먼트(1604) "문서 라이브러리"를 대체 선택한 결과를 나타낸다. 도 45B에서 나타낸 바와 같이, 세그먼트(1604) "문서 라이브러리"를 대체하여 선택한 후에, 피어 필터 뷰(1612)가 선택된 세그먼트에 대응하는 피어 필터를 포함하여 표시되게 된다. 피어 필터 뷰(1612)에 제시되는 피어 필터는 오직 설명을 위한 것으로, 본 발명을 제한하고자 하는 것이 아님을 이해해야 한다.
도 45C에 나타낸 바와 같이, 대체 피어 필터를 선택하기 위해서, 사용자는 피어 필터(1614)와 같이 피어 필터 뷰(1612)에 제시된 필터 중 하나 위에 커서(1610)를 위치시켜, 피어 필터를 선택한다. 도 45D에 나타낸 바와 같이, 대체 피어 필터(1614)를 선택한 후에, 이전에 선택된 세그먼트(1604)(도 45A)는 선택된 대체 피어 필터(1614)를 나타내는 새로운 세그먼트(1616)로 교체된다. 부가하여, 도 45A의 가상 어드레스 바(1600)에서 대체하여 선택된 세그먼트(1604)에 이어지는 세그먼트, 특히 세그먼트(1606) "저널" 및 (1608) "2002년도의 모든 문서"가 도 45D의 가상 어드레스 바(1600)에서는 제거된다. 도시하지는 않았지만, 세그먼트(1604) "문서 라이브러리", 세그먼트(1606) "저널", 세그먼트(1608) "2002년도의 모든 문서"에 따라 이전에 선택된 파일이나 컨텐츠는 대응하는 파일 뷰어에 더 이상 표시되지 않게 되고, 오직 세그먼트(1602) "파일" 및 세그먼트(1616) "그림 라이브러리"에 따라 선택된 파일이나 컨텐츠만이 표시되게 된다.
기존의 세그먼트의 말단에서 여러 사용자 상호 작용을 통해 가상 어드레스 바의 가상 어드레스에 세그먼트가 추가될 수 있다. 가상 어드레스 바의 가상 어드레스에 필터를 추가하기 위해서, 사용자는 창에서 발견된 특정 필터와 관련되는 동작 가능한 제어 또는 가상 어드레스 바를 갖는 파일 뷰어를 조작할 수 있다. 예를 들어, 도 43의 파일 뷰어(1400)를 참조하여, 사용자는 동작 가능한 제어(1412) "2003"를 클릭하여 대응하는 필터를 가상 어드레스 바(1402)의 가상 어드레스(1404)에 추가할 수 있다. 다르게는(도시 생략), 사용자는 필터의 이름을 타이핑하여 가상 어드레스의 말단에서 공지의 필터에 수동으로 기입할 수 있다. 필터를 가상 어드레스에 추가하는 여러 다른 방법들이 있는데, 이들 모두는 본 발명의 범주 내에 들어가는 것으로 한다. 따라서, 상기 예들은 설명을 위한 것으로, 본 발명을 제한하고자 하는 것이 아님을 이해해야 한다.
필터가 가상 어드레스 바의 가상 어드레스에 추가될 때, 새로 추가된 필터는 가상 어드레스의 일부로 현재 존재하는 어느 필터와도 충돌하지 않는 것을 확실히 하기 위한 프로세스가 행해진다. 새로 추가된 필터가 현재의 필터와 충돌하면, 현재의 필터는 제거된다. 새로 추가된 필터가 현재의 필터의 폭과 다른 경우, 즉 현재의 필터보다 다소 넓은 경우, 새로 추가된 필터는 가상 어드레스의 현재의 필터와 충돌하게 된다. 부가하여, 새로 추가된 필터가 현재의 필터와 상호 배타적인 경우 새로 추가된 필터는 현재의 필터와 충돌하게 된다. 그러나, 새로 추가된 필터가 현재의 필터와 등가인 경우는 효과가 없기 때문에 추가되지 않는다. 상기한 충돌의 설명은 단지 설명을 위한 것으로, 본 발명을 제한하는 것이 아님을 이해해야 한다. 당업자라면 본 발명의 영역 내에 들어가는 것이 가능한 그 외 필터 간의 충돌이 있을 수 있다는 것이 이해될 것이다.
도 46A 내지 도 46D는 가상 어드레스 바(1700)의 가상 어드레스(1702)에 필터를 추가하여 현재의 필터와의 충돌을 제거하는 것을 설명하는 도면이다. 도 46A는 가상 어드레스 바(1700)에 표시된 예시의 가상 어드레스(1702)를 설명한다. 도 46B에 나타낸 바와 같이, 세그먼트(1706) "2002"에 의해 나타낸 새로운 필터가 가상 어드레스(1702)에 추가된다. 상술된 바와 같이, 새로운 필터는 도 46B의 가상 어드레스 바(1700)의 세그먼트의 말단에 세그먼트(1706) "2002"를 위치시킨 것으로 나타낸 바와 같이, 가상 어드레스의 말단에 추가되게 된다. 그 후, 세그먼트(1706) "2002"를 추가하기 위해 행해진 프로세스는 추가된 필터가 가상 어드레스(1702)의 현재 필터와 충돌하지 않는다고 결정한다. 따라서, 현재의 필터는 가상 어드레스(1702)로부터 제거되지 않는다.
도 46C에서 나타낸 바와 같이, 세그먼트(1708) "저자 A"로 나타낸 다른 필터가 가상 어드레스(1702)에 추가된다. 이 새로운 필터를 추가하기 위해 행해진 프로세스는 새로운 필터 "저자 A"가 세그먼트(1704) "저자 A-F"로 나타낸 필터와 충돌한다고 결정하게 되는데 이는 새로운 필터 "저자 A"가 현재의 필터보다 더 좁기 때문이다. 따라서, 세그먼트(1704) "저자 A-F"는 가상 어드레스 바(1700)로부터 제거되고, 세그먼트(1708) "저자 A"가 가상 어드레스 바의 세그먼트의 말단에 추가되게 된다.
도 46D는 도 46C의 가상 어드레스 바(1700)에 세그먼트(1710) "2003"을 추가한 결과를 설명한다. 가상 어드레스(1702)의 필터는 누적이 아니라 한정적이다. 각 필터는 더욱 선택된 컨텐츠를 한정한다. 따라서, 상호 배타적인 필터는 가상 어드레스(1702)가 어느 파일이나 컨텐츠도 선택하지 못하게 하고, 이에 따라 충돌이 형성되게 된다. 도 46D에 나타낸 바와 같이, 세그먼트(1706) "2002"(도 46C)는 새로 추가된 세그먼트(1710) "2003"와 상호 배타적인 것으로 인한 충돌 때문에 가상 어드레스 바(1700)로부터 제거되게 된다.
가상 어드레스 바(1800)(도 47A) 등의 가상 어드레스 바가 가상 어드레스 바의 사이즈 제한으로 인해 가상 어드레스를 완전히 표시할 수 없을 때, 가상 어드레스의 일부만이 가상 어드레스 바의 크기에 따라 표시되게 된다. 그러나, 가상 어드레스의 비표시 부분은 여전히 사용자에 의해 억세스될 수 있다. 특히, 가상 어드레스는 가상 어드레스 바 내의 가상 경로를 스크롤하기 위해 동작 가능한 가시 지시자(visual indicator)를 표시한다. 도 47A 및 도 47B는 가상 어드레스가 가상 어드레스 바의 표시 용량을 초과하는 경우 가상 어드레스를 표시하는 예시의 가상 어드레스 바(1800)를 설명한다. 도 47A 및 도 47B에 나타낸 바와 같이, 스크롤 아이콘(1802 및 1804)은 가상 어드레스 바(1800)가 가상 어드레스의 이전의 비표시 부분을 표시하기 위해 스크롤할 수 있는 방향을 나타낸다. 그러나, 이 도면이 스크롤 아이콘의 이용을 설명하고 있지만, 이는 단지 설명을 위한 것으로, 본 발명을 제한하고자 하는 것이 아니다. 당업자라면 가상 어드레스 바의 가상 어드레스를 스크롤할 수 있는 다른 여러 방법들이 있다는 것을 인식할 수 있으며, 이들 모두는 본 발명의 범주 내에 속하는 것으로 고려된다.
도 48A는 파일 시스템에서 가상 및 실제 위치 둘 모두를 참조하는 세그먼트를 갖는 가상 어드레스 바(1900)를 설명하는 블럭도이다. 상술한 바와 같이, 가상 어드레스 바(1900)의 가상 어드레스는 컴퓨터 파일 시스템 계층 내의 특정 위치를 참조하는 세그먼트를 포함하며, 또한 컴퓨터 파일 시스템 내의 가상, 또는 논리적 위치를 참조하는 세그먼트를 포함한다. 가상 세그먼트로 참조되는 파일이나 컨텐츠는 많은 물리적 위치 사이에 분산될 수 있다. 가상 어드레스 바(1900)는 물리적 위치를 참조하는 세그먼트와 가상 위치를 참조하는 세그먼트를 포함한다. 예를 들어, 가상 어드레스 바(1900)는 특정 드라이브 "C"에서, 컴퓨터 파일 시스템의 특정 영역에 포함된 파일이나 컨텐츠를 참조하는 세그먼트(1902) "로컬 디스크(C:)"를 포함한다. 다르게는, 세그먼트(1904) "케이스 파일" 자체는 케이스 파일과 관련되는 컴퓨터 파일 시스템 계층의 다수의 폴더에 저장된 파일이나 컨텐츠를 말한다. 그러나, 세그먼트(1902) "로컬 디스크(C:)"와 조합하여, 세그먼트(1904) "케이스 파일"은 로컬 드라이브 "C"에서 발견되는 케이스 파일만을 참조한다. 부가하여, 세그먼트(1906) "'팩스' 포함"은 로컬 디스크(C:)의 파일을 더욱 필터링하여 이들이 워드 "팩스"를 포함하는지에 따른 케이스 파일과 관련되게 된다.
도 48B에 나타낸 바와 같이, 가상 어드레스 바(1900)는 종래의 어드레스 바로서 기능하도록 구성될 수 있다. 예를 들어, 도 48A를 참조하여, 커서(1908)를 가상 어드레스 바(1900)의 빈 공간에 두고 거기를 클릭하게 되면, 가상 어드레스 바(1900)는 가상 어드레스를 나타내는 세그먼트를 표시하는 것에서, 도 48B에 나타낸 바와 같이, 종래의 어드레스(1910)를 표시하는 종래의 어드레스 바로서 기능하는 것으로 전환되게 된다. 도 48B의 가상 어드레스 바(1900)의 종래의 어드레스(1910)는 도 48A의 가상 어드레스 바(1900)에 표시된 가상 어드레스와 근사하다. 그러나, 컴퓨터 파일 시스템의 물리적 위치에 대응하지 않는 도 48A의 가상 어드레스 바(1900)의 필터는 표시될 수 없어 종래의 어드레스(1910)에서 제거되게 된다. 특히, 세그먼트(1904) "케이스 파일" 및 세그먼트(1906) "'팩스'포함"은 종래의 어드레스(1910)의 일부가 아니다(도 48B).
종래의 어드레스 바로 작용하는 가상 어드레스 바(1900)를 재구성하기 위해서, 가상 어드레스 바로서 통상 기능하도록, 사용자는 바의 빈 영역을 클릭하는 것 이외의 방법으로 지시해야 한다. 종래의 어드레스 바로서 기능하도록 구성할 때, 가상 어드레스 바는 어드레스 편집의 목적을 위해 사용자가 빈 영역을 클릭하게 해야 한다. 종래의 어드레스 바의 빈 영역을 클릭하게 되면 편집의 목적을 위해 어드레스/경로의 말단에 편집용 커서가 위치되게 된다. 따라서, 상술한 바와 같이, 가상 어드레스를 통상의 방법으로 다시 기능하게 재구성하기 위해서, 사용자는 Esc 또는 Tab 키 등의 미리 정해진 키나 키 시퀀스를 누르거나, 창 또는 뷰의 다른 영역을 클릭하여 창 또는 뷰의 다른 영역 상에 포커스를 위치시켜야 한다. 당업자라면 다른 사용자의 동작으로 가상 어드레스 바(1900)를 상술한 바와 같은 통상의 모드에서 다시 기능하도록 재구성하게 할 수 있으며, 이들 모두는 본 발명의 범주 내 에 들어가는 것이 가능하다는 것이 이해될 것이다.
도 49는 가상 어드레스 바의 식별된 세그먼트에 대한 피어 필터를 선택하는 피어 필터 선택 루틴(2000)을 설명하는 플로우차트이다. 블럭(2002)에서 시작하여, 루틴(2000)은 피어 필터 선택 활성화를 검출한다. 피어 선택 프로세스를 활성화하는 것은 도 45A 내지 도 45D와 관련하여 상기에 기재되었다. 블럭(2004)에서, 피어 필터 선택이 요청된 세그먼트가 식별된다. 블럭(2006)에서, 식별된 세그먼트의 피어 필터는 미리 정해진 피어 필터의 목록으로부터 결정된다. 블럭(2008)에서, 피어 필터가 사용자에게 표시된다. 블럭(2010)에서, 표시된 피어 필터 중에서 사용자의 피어 필터 선택이 취득된다. 블럭(2012)에서, 가상 어드레스는 가상 어드레스 바로부터 식별된 세그먼트, 및 이 식별된 세그먼트에 이어지는 부가의 세그먼트를 제거하여 잘라내어진다. 블럭(2014)에서, 선택된 피어 필터를 표시하는 세그먼트가 가상 어드레스 바의 나머지 세그먼트에 첨부된다. 그 후, 루틴(2000)은 종료된다.
도 50은 필터를 가상 어드레스 바의 가상 어드레스에 부가하기 위한 예시의 첨가 필터 루틴(2100)을 설명하는 플로우차트이다. 블럭(2102)에서 시작하여, 예시의 루틴(2100)은 가상 어드레스에 부가되는 필터를 취득한다. 예를 들어, 도 43에 관련하여 상술한 바와 같이, 필터는 가상 어드레스 바에 대해 외부적인 사용자의 동작에 따라 가상 어드레스에 첨가되고, 다르게는 미리 지정된 필터의 이름으로 타이핑하여 가상 어드레스에 직접 부가될 수 있다.
블럭(2104)에서, 새로운 필터가 이미 가상 어드레스에 있는 현재의 필터와 충돌하는지에 대한 판단이 행해진다. 도 46A 내지 도 46D와 관련하여 이미 설명한 바와 같이, 새로운 필터는 현재의 필터의 영역을 상당히 좁히거나 넓히는 것으로 현재의 필터와 충돌할 수 있다. 다르게, 새로운 필터가 현재의 필터에 대해 상호 배타적이기 때문에 새로운 필터는 현재의 필터와 충돌할 수 있다. 판단 블럭(2104)에서, 새로운 필터가 현재의 필터와 충돌하면, 블럭(2106)에서 현재의 필터는 가상 어드레스에서 제거되게 된다. 다르게는, 블럭(2104)에서, 새로운 필터가 현재의 필터와 충돌하지 않으면, 또는 블럭(2106)에서 현재의 충돌 필터를 제거한 후에, 블럭(2108)에서 새로운 필터가 가상 어드레스의 말단에 추가되게 된다. 그 후, 예시의 루틴(2100)은 종료한다.
도 51 내지 도 57은 셸 브라우저 내의 개선된 사용자의 경험을 제공하는 본 발명의 다른 태양에 따른 시스템 및 방법에 관한 도면이다. 특히, 사용자가 항목을 그 항목과 관련되는 메타데이터에 기초하여 더욱 용이하게 식별할 수 있는 시스템 및 방법을 제공한다.
도 51A로 돌아가면, 창(2200)은 셸 브라우저의 그래픽 사용자 인터페이스에 대한 스크린 크기의 디스플레이 영역을 나타낸다. 창(2200)은 미리보기 창 영역(2202) 및 뷰 영역(2204)을 포함한다. 미리보기 창(2202)은 미리보기 제어(2206), 사용자 인터페이스(UI) 또는 편집 제어(2208), 및 작업 제어(2210)를 포함한다. 통상, 미리보기 제어(2206)는 미리보기되고 있는 항목(예를 들어, 선택된 파일)의 이미지나 다른 가시 디스플레이를 사용자에게 제공하게 된다. 미리보기 제어(2206)는 또한 사용자가 마우스 버튼을 클릭하여 포커스를 한 항목에서 다음 항목으로 시프트시키는 반복자 버튼 등의 제어를 사용자에게 제시할 수 있다. 하나 이상의 항목에 대응하는 메타데이터 및/또는 항목 컨테이너에 대응하는 메타데이터가 창(2200) 내의 각종 위치에 표시될 수 있다. 예를 들어, 편집 제어 및 메타데이터가 편집 제어 영역(2208) 내에 함께 위치되어 있어 편집 제어 영역이 미리보기된 항목의 주요 특성의 디스플레이를 포함할 뿐만 아니라 메타데이터에 편집을 행하는 옵션을 사용자에게 제시할 수 있게 된다. 작업 제어(2210)는 네임 스페이스 및/또는 선택에 관련된 작업을 포함한다.
본 발명의 목적을 위해, 용어 "메타데이터" 및 "사용자 수정 가능한 메타데이터"는 셸 항목 이름을 배제한다. 용어 "셀 항목 이름"은 셸 브라우저 내의 항목을 분류하여 표시할 목적으로 이용되는 특성을 말한다. 상술한 바와 같이, 본 발명의 일 태양은 사용자가 셸 브라우저 내의 메타데이터를 편집하는 능력이다.
당업자라면 본 발명에서 창(2200) 내의 선택적 특성의 존재가 가능하다는 것이 이해될 것이다. 예를 들어, 미리보기 제어(2206) 및 작업 제어(2210)는 본 발명의 목적에 반드시 필수적인 특성은 아니다. 더구나, 반복자 버튼이나 보임/숨김 버튼을 포함하여 사용자가 미리보기 창을 열고/닫을 수 있게 하는 툴바 등과 같이, 도 51A에 나타나 있지 않은 다른 비필수의 특성이 또한 본 발명의 영역 내에 있다. 그럼에도, 이들 및 그 외 선택적 특성은 셸 브라우저에서 특정 항목의 위치를 용이하게 알아내도록 사용자를 도울 수 있다.
뷰 영역(2204)은 시스템 파일이나 폴더와 같은 하나 이상의 항목(2212)의 리스트뷰(listview)를 제공한다. 용어 "리스트뷰"는 컨테이너 내의 항목의 열거나 목록을 말한다. 용어 "항목" 및 "셀 항목"은 여기에서 상호 교환적으로 파일, 폴더 및 그 외 이런 컨테이너, 및 그 외 리스트뷰에서 표시될 수 있는 비-파일 오브젝트를 말하는 것으로 이용되고 있다. 비-파일 오브젝트의 예는, 이에 한정되는 것은 아니지만, 연락처, 즐겨찾기, 이메일 메시지를 포함한다. 용어 "셸 브라우저" 및 "파일 시스템 브라우저"는 사용자가 파일 및 그 외 비-파일 항목을 포함하여 여러 네임 스페이스를 네비게이션하도록 하는 브라우저를 말한다.
당업자라면 본 발명이 창(2200)의 많은 가능한 디자인 및 레이아웃이 가능하다는 것이 이해될 것이다. 예를 들어, 미리보기 창(2202)은 도 51A에서 뷰 영역(2204) 위에 나타나 있다. 그러나, 미리보기 창(2202) 및 뷰 영역(2204)을 서로 측면에 위치시키는 등의 다른 레이아웃도 분명히 본 발명의 범주 내에 있는 것이다. 편집 제어(2208)의 위치는 또한 표시된 메타데이터의 위치와 독립적이고 또 그 외 다른 제어의 위치와도 독립적이다. 또한 상세 사항, 슬라이드쇼, 필름 스트립(filmstrip), 섬네일, 타일, 아이콘 등과 같이 리스트뷰 영역(2204)에 도시되는 항목에 대해 많은 가능한 뷰 유형이 있다.
도 51B는 뷰 영역(2204)을 항목(2212)이 상세 사항 모드로 표시되는 뷰 영역(2214)으로 교체한 것을 제외하고는 도 51A와 유사하다. 상세 사항 모드에서 표시되는 셸 항목에 통상적인 바와 같이, 항목(2212)은 뷰 영역(2214)의 좌측에서 열에 배열되고, 하나 이상의 열 헤딩(column heading, 2216)은 동일한 행에 위치된 대응하는 항목에 관한 메타데이터(2218)를 포함하는 열의 세트의 상부 행을 형성한다. 중요하게, 본 발명은 창(2200) 내 어디에서나 하나 이상의 편집 제어(2208)의 예증을 통해 사용자가 메타데이터 값을 다른 값으로 명백하게 변경하는 능력을 가능하게 한다. 예를 들어, 편집 제어를 미리보기 창(2202) 및/또는 뷰 영역(2214) 내에 제공할 수 있다. 예를 들어, 초기에 사용자에게 보이지 않는 편집 제어가 뷰 영역(2214) 내에 제공될 수 있다. 이런 제어는 예를 들어 사용자가 메타데이터(2218) 위에 호버링한 다음에 이를 클릭하여 편집 모드에 들어갈 때 예증될 수 있다.
다음에 도 52를 참조하여, 셸 브라우저에서 환영 창(2300)에 대한 설명이 제공된다. 환영 창은 선택 창과 대조적으로 네임 스페이스나 컨테이너를 표시하기 때문에 "널(null) 선택"으로 언급된다. 사용자가 여전히 선택을 행하지 않으면, 미리보기 창(2302)은 메타데이터(2304) 및 폴더나 셸 라이브러리에 관한 주요 작업을 표시한다. 원한다면, 작업은 주요 작업(2306) 및 그 외 관련 작업(2308)으로 분리될 수 있다. 환영 창(2300)은 또한 다수의 파일이나 그 외 항목(2312)을 볼 수 있는 뷰 영역(2310)을 포함한다. 환영 창 메타데이터(2304)는 컨테이너(예를 들어, 내 그림)의 특성 등의 정보를 포함하고, 이 경우 메타데이터 표시는 정적일 수 있다. 다르게는, 환영 창 메타데이터(2304)는 컨테이너 내의 각 항목으로부터의 메타데이터의 샘플링 등의 정보를 포함하고, 이 경우, 메타데이터 표시는 자주 변할 수 있다. 예를 들어, 메타데이터 표시는 매 30초마다 한 항목에서 다음 항목으로 순환함으로써 한번에 한 항목의 특성으로 제한될 수 있다.
도 53은 셸 브라우저에서의 선택 창(2400)의 개략도이다. 환영 창과 대조하여, 선택 창은 사용자에 의한 선택을 나타낸다. 사용자가 컨테이너 또는 폴더를 선택하면, 선택 창은 그 컨테이너 또는 폴더의 환영 창과 동일할 필요는 없다. 도 53에서, 선택 창(2400)은 미리보기 제어(2404), 메타데이터 디스플레이(2406) 및 작업 디스플레이(2408)를 포함하는 미리보기 창(2402)을 포함한다. 환영 창(2300)(도 52)과 유사하게, 선택 창(2400)은 또한 다수의 파일이나 그 외 항목(2412)을 볼 수 있는 뷰 영역(2410)을 포함한다. 그러나, 도 53에서, 사용자는 파일 중 하나를 선택한다. 따라서, 미리보기 제어(2404)는 선택 파일의 미리보기 이미지를 표시하고, 메타데이터 디스플레이(2406)는 선택된 파일의 특성을 나타내고, 작업 디스플레이(2408)는 선택된 파일에 대해 동작하기 위한 관련 작업의 메뉴를 제공한다.
도 54는 본 발명의 실시예에 따른 셸 브라우저의 메타데이터를 사용자가 수정할 수 있도록 하기 위해 컨텍스트 메뉴(2500)를 포함하는 것을 제외하고는 도 53의 선택 창과 동일한 개략도이다. 도 54의 컨텍스트 메뉴(2500)는 선택된 메타데이터를 변경하기 위한 몇 옵션을 사용자에게 제시한다. 메뉴(2500)에 나타낸 일반 텍스트는 물론 표시된 메타데이터를 편집하기 위해 사용자에게 제시될 수 있는 옵션 유형의 일례일 뿐이다. 컨텍스트 메뉴는 사용자의 경험을 개선하기 위해 환영 창을 포함하여 어느 창에나 제공될 수 있다. 당업자라면, 임의의 개수의 각종 컨텍스트 메뉴가 본 발명에 의해 지원될 수 있다는 것이 이해될 것이다. 본 발명을 위해, 셸 브라우저 내의 표시된 메타데이터의 사용자 수정을 가능하게 하기 위한 일 수단으로 편집 가능한 메타데이터 컨텍스트 메뉴(2500) 등의 컨텍스트 메뉴를 제공하는 것이 있다. 사용자는 예를 들어, 미리보기 창에서 대응하는 텍스트나 오브젝트를 클릭하는 것으로, 컨텍스트 메뉴를 불러낼 수 있다.
당업자라면 본 발명이 셸 브라우저 내에서 표시된 메타데이터의 사용자의 수정을 가능하게 하는 컨텍스트 메뉴 이외의 수단이 가능하다는 것이 이해될 것이다. 이의 다른 수단으로는 사용자가 편집 모드에 들어가기 위해 메타데이터를 클릭하는 것이 있다. 반대로, 사용자는 미리보기 창의 관련 텍스트나 오브젝트 위에 호버링하여 편집 모드에 들어갈 수 있다. 여러 다른 수단이 본 발명의 영역 내에서 이용될 수 있다.
도 55는 본 발명의 일 실시예에 따라서 사용자가 셸 브라우저 내의 환영 창에 표시된 메타데이터를 수정할 수 있게 하는 방법(2600)을 설명하는 플로우차트이다. 이 방법(2600)은 2602에서 환영 창 및 환영 창과 관련된 메타데이터를 표시하는 단계를 포함한다. 다음에, 2604에서, 이 방법은 사용자의 표시된 메타데이터의 수정을 위한 제어를 제공한다. 사용자가 2606에서 표시된 메타데이터를 수정하는 제어를 조작하면, 다음에 2608에서 수정된 메타데이터를 환영 창과 관련시켜서 환영 창이 표시된 다음에 수정된 메타데이터가 표시되게 한다.
도 56은 사용자가 본 발명의 일 실시예에 따라서 셸 브라우저 내의 선택 창에 표시된 메타데이터를 수정할 수 있게 하는 방법(2700)을 설명하는 플로우차트이다. 이 방법(2700)은 2702에서, 먼저 환영 창의 항목이나 선택된 컨테이너의 항목과 같은 다수의 항목을 표시한다. 사용자가 2704에서 항목 중 하나 이상을 선택하면, 이 방법은 2706에서 선택된 항목과 관련된 메타데이터를 표시한다. 2708에서, 이 방법은 사용자의 표시된 메타데이터의 수정에 대한 제어를 제공한다. 사용자가 2710에서 표시된 메타데이터를 수정하는 제어를 조작하면, 이 방법은 2712에서 수정된 메타데이터를 선택된 항목과 관련시켜서 선택된 항목이 표시된 다음에 수정된 메타데이터가 표시되게 한다.
2704에서 사용자가 다수의 항목을 선택하는 경우, 표시된 메타데이터는 선택된 항목의 상호 교차 특성, 특성의 조합 또는 선택된 항목과 관련되는 새로운 특성을 포함할 수 있다. 다르게는, 표시된 메타데이터는 선택된 항목 각각으로부터의 메타데이터의 순환 샘플을 포함할 수 있다(예를 들어, 매 30초마다 하나의 선택된 항목의 메타데이터에서 다음 선택된 항목의 메타데이터까지 순환). 모든 항목의 선택으로 결과되는 메타데이터의 표시는 널 선택으로 결과되는 메타데이터의 표시와 동일한 것이 가능하다.
도 57은 셸 브라우저에 표시된 항목과 관련된 사용자 수정 가능한 메타데이터를 포함하는 데이터 구조(2800)의 블럭도이다. 데이터 구조(2800)는 항목의 이름을 나타내는 타이틀 필드(2802)를 포함한다. 비-파일 항목인 경우, 타이틀 필드(2802)는 어느 특성이 리스트뷰에서 그 항목을 알파벳화하는 데에 사용되든지간에 그 특성의 이름을 포함할 수 있다. 데이터 구조(2800)는 표시된 항목과 관련되는 하나 이상의 특성을 포함하는 사용자 편집 가능한 특성 필드(2804)를 포함하며, 여기에서 사용자 편집 가능한 특성은 표시된 항목을 갖는 셸 브라우저에 표시되게 된다. 데이터 구조(2800)는 표시된 항목과 관련되며 셸 브라우저에서 표시할 만한 리드 온리 특성을 포함하는 리드-온리 특성 필드(2806)를 선택적으로 포함할 수 있다. 셸 브라우저에서 메타데이터 표시에 사이즈의 제한이 있는 경우, 필드(2804 및 2806)의 특성의 개수는 제한될 수 있다. 따라서, 데이터 구조(2800)는 선택적으로 모든 특성 필드(2808)를 포함할 수 있으며, 이는 표시된 항목과 관련되는 특성 또는 메타데이터 모두를 포함하는 위치(예를 들어, 특성 페이지)에의 링크나 포인터를 포함한다. 물론, 모든 특성 필드(2808)는 필드(2804 및 2806)가 표시된 항목과 관련되는 모든 특성을 포함하는 경우에 반드시 필요한 것은 아니다. 데이터 구조(2800)는 파일 시스템이나 셸에서와 같이 하나 이상의 컴퓨터 판독 가능 매체 상에 저장되어, 셸 브라우저 내에 풍부한 저장 뷰를 제공하므로, 개선된 사용자 경험을 제공할 수 있다.
본 발명은 종래의 셸 브라우저에서는 불가능하였던 다수의 시나리오가 가능하다. 제1 예로서, 학생이 미리보기 창을 이용하여 프로젝트를 관리할 수 있다. 그가 작업중인 프로젝트의 일부로 새 문서를 취득하면, 이들 문서를 그의 문서 라이브러리에서 선택하여 문서 저자의 이름과 프로젝트의 이름을 편집 제어를 이용하여 키워드 필드에 입력할 수 있다. 이제 새로운 문서가 그 학생의 즐겨찾기 뷰에 나타나게 된다: "키워드별로 그룹화되고 저자별로 목록화된 문서". 본 발명에 의해 가능한 새로운 시나리오의 제2 예는 곧 공개될 광고 캠페인의 자료를 찾는 고용인과 관련된 것이다. 그가 셸 브라우저를 이용하여 그의 고용주의 사진 자료 컬렉션을 브라우즈하면서, 그는 두개의 사진을 선택하고, 미리보기 창으로부터 새로운 키워드 "서머 2003 캠페인"을 추가한다. 다수의 선택을 위해 메타데이터를 갱신한 후에, 고용인은 키워드별로 피봇하여 함께 그룹화된 "서머 2003 캠페인" 파일 모두를 볼 수가 있다. 본 발명을 이용하는 많은 다른 시나리오가 당업자라면 명백하게 된다.
도 58 내지 도 66은 복수의 항목 유형을 표시하는 복수의 항목을 표시하도록 구성된 셸 브라우저에서 오브젝트 프리뷰어의 기능을 확장하는 시스템 및 방법에 관한 도면이다. 이하 더 상세히 설명하는 바와 같이, 디폴트 프리뷰어 및 확장성 메커니즘을 포함하는 셸 브라우저가 제공된다. 디폴트 프리뷰어는 다수의 항목 유형에 대해 표준 레벨의 기능을 제공한다. 확장성 메커니즘은 하나 이상의 항목 유형에 대한 디폴트 프리뷰어에 의해 제공되는 표준 레벨 이상의 기능이 가능하다.
도 58은 기타 비-그림 파일 및 폴더를 보는 데에 이용되는 셸 브라우저 환경 내의 폴더에 저장된 그림을 브라우즈하기 위한 그래픽 사용자 인터페이스의 개략도이다. 상술한 바와 같이, PC와 같은 컴퓨팅 환경에 저장된 항목을 용이하게 식별할 필요성이 급격히 커지고 있다. 디지털 그림과 관련하여, 사용자는 종래에는 PC의 특정 파일을 보기 위해서 제3자 소프트웨어 프로그램을 가져와야 한다. 도 58은 사용자가 그래픽 운영 환경 내에서 임의의 파일과 관련된 이미지를 더욱 용이하게 보고 식별할 수 있게 하는 종래의 필름 스트립 뷰를 설명한다. 이 필름 스트립 뷰의 목적은 사용자가 폴더 내의 하나 이상의 그림 파일의 큰 이미지를 미리보기할 수 있게 하는 빠른 반복적인 프로세스를 제공함으로써 그림의 폴더를 브라우징할 때 다른 소프트웨어 프로그램의 필요성을 없애기 위한 것이다.
도 58은 일련의 폴더 그림이 다른 비-그림 파일 및 폴더를 보기 위해 이용되는 환경(즉, 셸 브라우저) 내에서 단일 행의 섬네일로 제시되고 있는, 폴더에 저장된 그림을 브라우징하기 위한 시스템에 관한 것이다. 이것은 사용자가 선택한 섬네일의 확장된 미리보기 이미지를 표시하기 때문에, 사용자가 섬네일 전체를 선택적으로 커서할 수 있게 한다. 도 58은 사용자의 스크린 상의 창의 표시도이다. 나타낸 바와 같이, 창(3200)은 헤더 영역, 작업 옵션 영역(3206), 미리보기 제어 영역(3202), 캡션 또는 코멘트 영역 및 필름 스트립 영역(3204)을 포함하는 몇 개의 영역으로 나누어진다. 작업 옵션 영역(3206)은 다른 시스템 선택뿐만 아니라, 파일 및 폴더의 관리에 관한 다양한 동작을 실행하기 위해 사용자에 의해 선택될 수 있는 작업의 목록을 포함한다. 이들 동작 중 몇몇은 필름 스트립 영역(3204) 및 미리보기 제어 영역(3202)의 그림에 특정적인 것이다. 미리보기 제어 영역(3202)은 사용자 선택 그림의 확장된 미리보기 이미지가 표시되는 공간이다. 이 공간은 또한 일련의 그림을 통해 반복하는 데 있어서 사용자를 도와주는 네비게이션 아이콘을 포함하고 있다. 미리보기 제어 영역 바로 아래에는 각종 텍스트 정보를 표시하는 데에 이용될 수 있는 캡션이나 코멘트 영역이 있다. 필름 스트립 영역(3204)은 임의의 폴더 내에 포함되는 한 행의 그림 파일 섬네일 이미지 P1, P2, P3, P4를 표시하는 공간을 제공한다. 부가하여, 필름 스트립 영역(3204)은 또한 사용자가 그림 파일의 폴더를 스크롤할 수 있도록 커서를 포함한다. 필름스트립 영역(3204)은 섬네일 이미지를 뒤섞인 방향으로 포함하여 표시할 수 있다. 예를 들어, 도 58에서 나타낸 바와 같이, P1, P2 및 P4는 풍경화인 반면 P3은 초상화이다.
사용자는 섬네일 이미지 중 하나를 선택할 수 있으며, 이로 인해 사용자 섬네일 선택 이미지의 더 큰 미리보기 이미지가 미리보기 제어 영역 내에 표시되게 된다. 부가하여, 섬네일 이미지의 사용자 선택은 또한 사용자가 선택된 이미지와 관련하여 작업 옵션 영역(3206)에 목록화된 작업 중 어느 하나를 선택하여 실행할 수 있게 한다. 제1 제어 버튼은 한 방향으로 반복하여, 임의의 폴더 내의 섬네일 이미지 각각의 확장 이미지를 신속하게 연속적으로 미리보기할 수 있게 한다. 다시 말해, 사용자는 그림을 미리보기하기 위해서 각 모든 연속적 섬네일 이미지를 특정적으로 "클릭"할 필요가 없게 된다. 대신에 사용자는 폴더 전체를 반복하여 이동하기 위해서 제1 제어 버튼을 클릭하기만 하면 된다. 제2 제어 버튼은 반대 방향인 것만을 제외하고는 유사한 반복 기능을 실행한다.
도 59로 돌아가면, 창(3300)은 범용의 셸 브라우저의 그래픽 사용자 인터페이스에 대한 스크린 크기의 디스플레이 영역을 나타낸다. 창(3300)은 미리보기 창 영역(3302) 및 뷰 영역(3304)을 포함한다. 미리보기 창(3302)은 미리보기 제어(3306), 편집 또는 메타데이터 제어(3308) 및 작업 제어(3310)를 포함한다. 통상, 미리보기 제어(3306)는 미리보기되고 있는 항목(예를 들어, 선택된 파일)의 이미지 또는 그 외 가시적 표시를 사용자에게 제공한다. 미리보기 제어(3306)는 사용자가 마우스 버튼을 클릭하여 포커스를 한 항목에서 다음 항목으로 시프트시키도록 하는 반복자 버튼 등의 제어를 사용자에게 제시할 수 있다. 편집 제어(3308)는 미리보기된 항목의 주요 특성의 표시를 포함할 뿐만 아니라, 메타데이터에 편집을 행하기 위한 제어를 사용자에게 제시하기도 한다. 작업 제어(3310)는 네임 스페이스 및/또는 선택에 관련한 작업을 포함한다.
당업자라면 본 발명이 창(3300) 내에 선택적인 특성의 존재를 이룬다는 것이 이해될 것이다. 예를 들어, 메타데이터 제어(3208) 및 작업 제어(3210)는 본 발명의 목적에 반드시 필수적인 특성은 아니다. 더구나, 반복자 버튼이나 보임/숨김 버튼을 포함하여 사용자가 미리보기 창을 열고/닫을 수 있도록 하는 툴바 등과 같이, 도 59에 도시하지 않은 다른 비필수의 특성들도 또한 본 발명의 범주 내에 들어간다. 도시하지는 않았지만, 이들 및 그 외 선택적 특성들은 사용자가 셸 브라우저에서 특정 항목의 위치를 용이하게 알아내는 것을 도울 수 있다.
뷰 영역(3304)은 시스템 파일이나 폴더 등과 같이 하나 이상의 항목(3312)의 리스트뷰를 제공한다. 이 용어 "리스트뷰"는 컨테이너 내의 항목의 열거 또는 목록을 말하는 것이다. 용어 "항목" 및 "셸 항목"은 여기에서 파일, 폴더 및 그 외 이런 컨테이너 및 그 외 리스트뷰에서 나타낼 수 있는 비-파일 오브젝트를 상호 교환적으로 말하는 데에 이용되고 있다. 유사하게, "셸 항목"은 셸 라이브러리의 항목을 말한다. 비-파일 오브젝트의 예는 연락처, 즐겨찾기, 및 이메일 메시지를 포함할 수 있지만, 이들로 제한되지 않는다. 용어 "셸 브라우저" 및 "파일 시스템 브라우저"는 여기에서 파일 및 그 외 비-파일 항목을 포함하여 사용자가 여러 네임 스페이스를 네비게이션할 수 있게 하는 브라우저를 상호 교환적으로 말하는 데에 이용된다.
당업자라면 본 발명이 창(3300)에 대해 많은 디자인 및 레이아웃이 가능하다는 것이 이해될 것이다. 예를 들어, 미리보기 창(3302)은 도 59에서 뷰 영역(3304) 위에 나타나 있다. 그러나, 미리보기 창(3302) 및 뷰 영역(3304)을 측면으로 배치하는 것과 같은, 다른 레이아웃도 본 발명의 범주 내에 있는 것이 분명 하다. 또한 상세 사항, 슬라이드쇼, 필름 스트립, 섬네일, 타일, 아이콘과 같이, 뷰 영역(3304)에 도시된 항목에 대해 또한 가능한 많은 뷰가 있다.
다음에 도 60을 참조하여, 셸 브라우저에 환영 창(3400)에 대해 설명한다. 환영 창은 선택 창과 반대로 네임 스페이스 또는 컨테이너를 나타내기 때문에 "널 선택" 창으로 언급되기도 한다. 사용자가 아직 선택을 행하지 않았다면, 미리보기 창(3402)은 메타데이터(3404) 및 폴더나 셸 라이브러리에 관한 주요 작업을 표시하다. 원한다면, 작업은 일차 작업(3406) 및 그 외 관련 작업(3408)으로 나누어질 수 있다. 환영 창(3400)은 또한 다수의 파일이나 그 외 항목(3412)을 볼 수 있는 뷰 영역(3410)을 포함한다. 환영 창 메타데이터(3404)는 컨테이너(예를 들어, 내 그림)의 특성 등의 정보를 포함하고, 이 경우 메타데이터 표시는 정적이다. 다르게는, 환영 창 메타데이터(3404)는 컨테이너 내의 각 항목으로부터의 메타데이터의 샘플링 등의 정보를 포함할 수 있으며, 이 경우 메타데이터 표시는 자주 변한다. 예를 들어, 메타데이터 표시는 매 30초마다 한 항목에서 다른 항목으로 순환하여 한번에 한 항목의 특성으로 제한될 수 있다.
도 61은 셸 브라우저의 선택 창(3500)을 설명한다. 환영 창과 반대로, 선택 창은 사용자에 의한 선택을 나타낸다. 사용자가 컨테이너 또는 폴더를 선택하면, 선택된 창은 그 컨테이너 또는 폴더에 대한 환영 창과 동일할 필요가 없다. 도 61에서, 선택된 창(3500)은 미리보기 제어(3504), 메타데이터 디스플레이(3506) 및 작업 디스플레이(3508)를 포함하는 미리보기 창(3502)을 포함한다. 환영 창(3400)(도 60)과 동일하게, 선택 창(3500)은 또한 다수의 파일이나 그 외 항목(3512)을 볼 수 있는 뷰 영역(3510)을 포함한다. 그러나, 도 61에서, 사용자는 파일 중 하나를 선택한다. 따라서, 미리보기 제어(3504)는 선택된 파일의 미리보기 이미지를 표시하고, 메타데이터 디스플레이(3506)는 선택된 파일의 특성을 나타내고, 작업 디스플레이(3508)는 선택된 파일에서 동작하기 위한 관련 작업의 메뉴를 제공한다.
도 62는 본 발명의 실시예에 따라서 확장된 제어를 갖는 것을 제외하고 도 61의 선택 창(3500)과 유사한 선택 창의 개략도이다. 선택 창(3600)은 확장된 제어(3614)를 갖는 미리보기 제어(3604), 메타데이터 디스플레이(3606), 및 작업 디스플레이(3608)를 포함하는 미리보기 창(3602)을 포함한다. 선택 창(3600)은 또한 다수의 파일이나 그 외 항목(3612)을 볼 수 있는 뷰 영역(3610)을 포함한다. 사용자는 파일(3612) 중 하나를 선택하므로, 미리보기 제어(3604)는 선택된 파일의 미리보기 이미지를 표시하고, 메타데이터 디스플레이(3606)는 선택된 파일의 특성을 나타내고, 작업 디스플레이(3608)는 선택된 파일에서 동작하기 위한 관련 작업의 메뉴를 제공한다.
확장 제어(3614)는 통상 셸 브라우저로부터 이용 가능한 수준 이상의 기능을 보여준다. 예를 들어, 도 58 및 도 61에서 나타낸 것과 같은, 디폴트 미리보기 창이나 미리보기 제어는 선택된 항목의 미리보기 이미지를 간단히 표시할 수 있다. 항목이 워드 처리 문서나 슬라이드 프리젠테이션인 경우, 디폴트 미리보기 이미지는 문서나 슬라이드 데크의 첫번째 페이지가 될 수 있다. 그러나, 미리보기 이미지의 기능을 더욱 상호 동작적으로 만들기 위해 확장하게 되면, 사용자는 확장 제어(3614)를 매우 용이하게 조작하여 문서나 슬라이드 프리젠테이션을 통해 페이지 를 넘길 수 있다. 이 증진된 기능으로 사용자가 미리보기된 항목을 열지 않고도 더욱 포괄적으로 브라우즈할 수가 있고, 이는 특히 제1 페이지만을 기초하여 용이하게 식별될 수 없는 파일에 대해 유용하기 때문에 사용자의 경험을 증진시키게 된다.
확장된 제어(3614)는 셸 브라우저에서 대체 프리뷰어의 일부로 사용자에게 유용하게 만들어질 수 있다. 용어 "프리뷰어"는 미리보기 제어 또는 미리보기 제어를 포함하는 미리보기 창을 말할 수 있다. 본 발명은 다수의 항목 유형에 대해 표준 레벨의 기능을 제공하는 디폴트 프리뷰어 및 특정 항목 유형에 대해 여러 레벨의 기능을 제공하는 하나 이상의 대체 프리뷰어를 사용자에게 제공하여 사용자의 경험을 증진시키는 셸 브라우저를 이루고 있다. 독자적인 소프트웨어 판매자 (ISV) 및 그 외 제3자 개발자에게 대체 프리뷰어의 개발을 개방하게 되면 쉽게 인식 가능한 방법으로 파일의 관련 형태를 나타내는 것으로 파일 브라우징 경험의 가치를 올려준다. 본 발명은 이들로 제한되지는 않는, 이미지 파일, 비디오 파일, 연락처, 게임, 스캐너, 비디오 카메라, 문서 파일, 스프레드시트 파일, 슬라이드 프리젠테이션 파일, 도면 파일 및 테블릿 링크 파일을 포함하는 여러 파일 유형 및 비-파일 항목 유형에 대한 프리뷰어를 고려한다.
본 발명은 종래의 셸 브라우저에서는 불가능하였던 다수의 시나리오를 가능하게 하며, 이들 중 일부는 상술하였다. 제3자는 파일 유형 내측을 볼 수 있는 코드를 제공함으로써 파일 유형을 설명 및 증명할 수 있게 되며, 사용자가 이해하게 될 의미있는 이미지를 제공할 수 있게 된다. 예를 들어, 애플사는 QuickTimeTM 미리보기 제어를 구현하였으며, 이는 사용자가 셸 브라우저에서 QuickTimeTM 파일을 선택할 때 표시되게 된다. 이 미리보기 제어는 QuickTimeTM 무비의 처음 5초를 나타내는 기능 및/또는 사용자가 QuickTimeTM 플레이어를 시작하기 위한 버튼과 제어를 제공하는 등의 기능을 포함하여, 운영 체제의 셸에서 디폴트 프리뷰어 이상의 기능의 대체 또는 확장 레벨을 제공할 수 있다. 음악 파일의 대체 프리뷰어는 유사한 확장 기능을 제공할 수 있다. 당업자라면 이해할 수 있는 바와 같이, 대체 프리뷰어의 확장 기능의 가능성은 비제한적이다.
도 63은 사용자가 본 발명의 실시예에 따라서 셸 브라우저의 메타데이터를 수정하도록 하는 컨텍스트 메뉴(3714)를 포함하는 것을 제외하고는 도 61과 유사한 선택 창을 갖는 개략도이다. 선택 창(3700)은 미리보기 제어(3704), 메타데이터 디스플레이(3706) 및 작업 제어(3708)를 포함하는 미리보기 창(3702)을 포함한다. 선택 창(3700)은 또한 다수의 파일이나 그 외 항목(3712)을 볼 수 있는 뷰 영역(3710)을 포함한다. 당업자라면 본 발명의 목적을 위해 메타데이터 제어(3706) 및 작업 제어(3708)는 반드시 필수적인 특성이 아니라는 것이 이해될 것이다. 본 발명은 사용자가 셸 브라우저에서 특정 항목의 위치를 용이하게 알아내는 것을 도와주거나 아니면 사용자의 경험을 개선할 수 있는 이들 및/또는 그 외 선택적 특성의 존재를 제공한다.
도 63의 컨텍스트 메뉴(3714)는 선택된 항목에 대해 디폴트 프리뷰어 또는 대체 프리뷰어를 선택하는 선택 범위를 포함한 몇 개의 옵션을 사용자에게 제시한다. 메뉴(3714)에 나타낸 일반 텍스트는 물론 프리뷰어를 선택하기 위해 사용자에게 제시될 수 있는 옵션의 유형의 일례일 뿐이다. 컨텍스트 메뉴는 환영 창을 포함하여 어느 창에나 제공될 수 있어 사용자의 경험을 증진시킨다. 당업자라면, 다수의 각종 컨텍스트 메뉴가 본 발명에 의해 지원될 수 있다는 것이 이해될 것이다. 본 발명의 목적을 위해, 셸 브라우저 내에서 프리뷰어의 사용자 선택을 가능하게 하는 일 수단은 컨텍스트 메뉴(3714)와 같은 컨텍스트 메뉴를 제공하는 것이다. 사용자는 예를 들어, 미리보기 창에서 대응하는 텍스트나 오브젝트를 클릭하여, 컨텍스트 메뉴를 불러들일 수 있다.
당업자라면 본 발명이 셸 브라우저 내의 복수의 이용가능한 미리보기 중에서 표시된 항목의 프리뷰어를 선택하기 위해 컨텍스트 메뉴 이외의 수단을 제공한다는 것이 이해될 것이다. 이런 다른 수단으로는 사용자가 선택 모드에 들어가기 위해 미리보기 제어를 클릭하는 것이 있다. 유사하게, 사용자는 미리보기 창 내를 우측 클릭하여 프리뷰어를 선택할 수 있다. 반대로, 사용자는 미리보기 창에서 관련 텍스트 위에 또는 관련 오브젝트 위에 호버링하여 선택 모드에 들어갈 수 있다. 여러 대체 수단이 본 발명의 범주 내에서 가능하다.
도 64A는 사용자가 본 발명의 일 실시예에 따라서 복수의 항목 유형을 지원하는 셸 브라우저의 프리뷰어를 선택하도록 하는 방법(3800)을 설명하는 플로우차트이다. 방법(3800)은 3802에서 셸 브라우저에 복수의 프리뷰어를 제공한다. 복수의 프리뷰어는 다수의 항목 유형에 대해 디폴트 프리뷰어 및 특정 항목 유형에 대해 하나 이상의 대체 프리뷰어를 포함할 수 있다. 이들 대체 프리뷰어는 제3자에 의해 개발되어 설치된 어플리케이션을 포함할 수 있다. 3804에서, 방법(3800)은 특정 항목 유형에 대한 둘 이상의 프리뷰어 선택을 사용자에게 제시한다. 프리뷰어를 선택하는 프롬프트가 셸 브라우저에 의해(예를 들어, 새로운 항목 유형을 표시할 때) 및/또는 사용자에 의해(예를 들어, 컨텍스트 메뉴를 표시하도록 오브젝트를 클릭하여) 초기화된다. 3806에서 특정 항목 유형에 대한 프리뷰어 중 하나의 선택을 나타내는 입력을 사용자로부터 수신하면, 방법(3800)은 다음에 3808에서 선택된 프리뷰어를 특정 항목 유형과 관련시킨다. 선택된 프리뷰어는 사용자가 다른 것을 선택할 때까지 사용중으로 유지된다. 그러나, 선택된 프리뷰어가 설치된 어플리케이션이면, 이 어플리케이션을 삭제하여 선택된 프리뷰어의 이용을 중단시킨다.
도 64B는 본 발명의 실시예에 따라 다수의 항목 유형을 지원하는 셸 브라우저에서 프리뷰어를 자동으로 선택하는 방법(3810)을 설명하는 도면이다. 이 방법(3810)은 3812에서 셸에 복수의 프리뷰어를 제공한다. 복수의 프리뷰어는 다수의 항목 유형에 대한 디폴트 프리뷰어 및 특정 항목 유형의 하나 이상의 대체 프리뷰어를 포함할 수 있다. 이들 대체 프리뷰어는 제3자에 의해 개발된 설치 어플리케이션을 포함할 수 있다.
3814에서, 시스템은 특정 항목 유형에 대한 둘 이상의 이용 가능한 프리뷰어로부터 디폴트 프리뷰어를 (사용자와 달리) 자동으로 명백하게 선택한다. 시스템은 새로운 항목 유형의 디스플레이 또는 대체 프리뷰어의 존재 등의 이벤트에 응답하여 프리뷰어를 선택할 수 있다. 시스템은 논리적 규칙에 기초하여 디폴트 프리뷰어를 선택하도록 구성된다. 예외적인 경우에, 시스템은 3816에서 규칙을 무효화하고 적용 가능 규칙으로 선택되지 않은 프리뷰어를 선택하는 것을 결정할 수 있다. 예를 들어, 규칙이 현재의 디폴트 프리뷰어보다 새로운 유용한 프리뷰어를 선택하는 것이면, 설치된 어플리케이션은 일반적으로 디폴트 프리뷰어를 설치된 어플리케이션으로부터 현재 이용가능한 프리뷰어로 변경하는 권한을 가질 수 있다. 그러나, 셸 브라우저는 예를 들어 새로 설치된 어플리케이션에 의해 제안된 변경을 무효화할 권리를 보유할 수 있다. 예를 들어, 새로 설치된 어플리케이션이 해당 항목 유형의 적합한 소유자로서 인증될 수 없을 때 무효화는 적절한 것이 된다.
어느 경우에나, 방법(3810)은 3818에서 선택된 프리뷰어를 특정 항목 유형과 관련시킬 수 있다. 그러나, 선택된 프리뷰어가 설치된 어플리케이션이면, 이 어플리케이션을 삭제하는 것으로 선택된 프리뷰어의 이용을 중단시키게 된다.
다음에 도 65를 참조하여, 본 발명의 일 실시예에 따른 다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어의 이용을 가능하게 하는 방법(3900)의 플로우차트를 설명한다. 방법(3900)은 3902에서 다수의 항목 유형에 대해 디폴트 프리뷰어를 갖는 셸 브라우저를 제공하는 것을 포함한다. 이 방법(3900)은 3904에서 다수의 항목 중 적어도 하나에 대해 대체 프리뷰어의 제3자 개발을 위한 확장성 메커니즘을 제공하는 것을 더 포함한다. 대체 프리뷰어는 3906에서 셸 브라우저에 등록될 수 있다. 설치된 어플리케이션의 경우, 설치 때에 등록이 발생할 수 있다. 예를 들어, 어플리케이션이 OEM으로 설치되는 경우, 대체 프리뷰어는 사용자가 컴퓨터를 취득하기 전에 등록되어야 한다. 다르게는, 사용자가 이 어플리케이션을 로컬 또는 원격적으로 설치할 수 있다.
3904에서 상기 언급한 확장성 메커니즘에 대한 많은 가능한 접근법들이 있다. 이 접근법 중 하나는 응용 프로그램 인터페이스(API)의 세트를 노출하여 독립적 소프트웨어 판매자(ISV) 및 그 외 제3자 개발자가 대체 프리뷰어를 개발할 수 있도록 하는 것이다. API 접근법에서는, ISV가 그들의 미리보기 제어를 ISV에 의해 소유한 항목 유형과 관련시키도록 하는 등록 메커니즘이 존재하게 된다. 그 유형의 항목이나 파일이 셸 브라우저에서 선택되면, ISV의 미리보기 제어는 이 등록 메커니즘 및 확장성 API를 거쳐 인스턴스화된다. API는 미리보기 제어에 데이터, 즉 뷰에서 선택된 항목을 나타내는 데이터 및 뷰에서 항목의 부모 컨테이너(parent container)를 나타내는 데이터를 제공한다. 미리보기 제어는 이 데이터로 동작하며 셸 브라우저에 제시된 API를 통해 사용자 인터페이스를 제공한다. 사용자는 셸 브라우저에 의해 사용자 입력 이벤트로 동작할 수 있는 미리보기 제어에 전달되는 키스트로크 및 마우스 이벤트를 갖는 입력을 제공할 수 있다.
당업자라면 본 발명의 확장성 메커니즘의 컨텍스트에서 많은 접근법들이 가능하다는 것이 이해될 것이다. API 접근법에 부가하여, 유사한 기능들이 사용자 구성, HTML의 포인터, 또는 플래시의 호스팅을 거쳐 성취될 수 있다. 더구나, 확장성 모델은 선택된 항목 유형을 소유하는 하나의 어플리케이션만이 오직 하나의 대체 프리뷰어를 제공하는 것을 필요로 한다. 다시 말해, 이용가능한 프리뷰어의 개수는 다수의 등록된 확장 프리뷰어가 서로 경쟁 중에 있을 때의 사용자의 열악한 경험을 없애도록 하기 위해 디폴트 프리뷰어와 하나의 대체 프리뷰어로 제한할 수 있다. 그러나, 다른 모델로는 선택된 항목 유형을 처리할 수 있는 어느 어플리케이션이나 하나의 부가의 프리뷰어를 제공하도록 하는 것이 있다. 대체 모델은 실행중인 코드가 어느 항목 유형에나 하나의 부가의 프리뷰어를 제공하도록 하는 것이다. 또한 특정 상황 하에서는 디폴트 프리뷰어를 교환하거나 제거하는 것이 바람직할 수 있다. 많은 다른 모델이 본 발명에 의해 가능하게 제공될 수 있다.
도 66은 하나 이상의 컴퓨터 판독 가능한 매체 상에 저장되며 셸 브라우저에서 복수의 프리뷰어를 나타내는 정보를 포함하는 데이터 구조(4000)의 블럭도이다. 데이터 구조(4000)는 다수의 항목 유형을 지원하는 디폴트 프리뷰어를 나타내는 정보를 포함하는 디폴트 프리뷰어 필드(4002)를 포함한다. 대체 프리뷰어 필드(4004)는 제1 항목 유형의 대체 프리뷰어를 나타내는 정보를 포함한다. 다른 대체 프리뷰어 필드(4006)는 제1 항목 유형에 대해 제2 대체 프리뷰어를 나타내는 정보를 포함하거나, 제2 항목 유형에 대한 대체 프리뷰어를 나타내는 정보를 포함할 수 있다. 당업자라면 몇몇 경우에 하나의 대체 프리뷰어 필드가 있을 수 있으며, 다른 경우에는 둘 이상의 대체 프리뷰어 필드가 있을 수 있다는 것이 이해될 것이다. 선택된 프리뷰어 필드(4008)는 특정 항목 유형의 항목들이 셸 브라우저에서 표시될 때 디폴트 프리뷰어나 대체 프리뷰어를 불러야 할지의 여부를 나타내는 정보를 포함한다. 필드(4006)가 제2 항목 유형에 대해 대체 프리뷰어를 나타내는 정보를 포함하는 경우, 선택된 프리뷰어 필드(4010)는 제2 항목 유형의 하나 이상 의 항목이 셸 브라우저에서 표시될 때 디폴트 프리뷰어 또는 대체 프리뷰어를 불러야 할지의 여부를 나타내는 정보를 포함할 수 있다. 필드(4002, 4004, 및/또는 4006)에 포함된 정보는 사용자가 그 유형의 오브젝트를 선택할 때 실행하도록 구성되는 프리뷰어 코드로 이루어진다.
본 발명의 바람직한 실시예가 설명 및 기술되었지만, 본 발명의 기술적 사상 및 범주에서 벗어나지 않고 여러 변경들이 행해질 수 있다는 것이 이해될 것이다. 예를 들어, 여기에서 나타낸 여러 UI 특성의 위치는 예시적이며 변경될 수 있으며, 여러 UI 특성의 다른 위치가 본 발명의 기술적 사상 및 범주 내에도 여전히 속한다는 것이 이해될 것이다. 더구나, 여기 기재된 본 발명의 다른 태양들은 본 발명의 기술적 사상 및 범주에서 벗어나지 않고 또한 여러 조합으로 형성될 수 있다.

Claims (124)

  1. 항목들을 저장하기 위한 메모리 및 디스플레이를 갖는 컴퓨터 시스템에서, 상기 항목들의 모음들(collections)을 제시하기 위한 방법으로서,
    하나 이상의 특정 메타데이터 특성을 갖는 항목들을 포함하도록 라이브러리를 형성하는 단계;
    상기 하나 이상의 특정 메타데이터 특성을 갖는 항목들을 상기 라이브러리에 복수의 그룹으로 자동으로 그룹화하는 단계;
    상기 라이브러리의 항목들을 조작하기 위한 하나 이상의 툴을 제공하는 단계 - 항목들의 상기 그룹들은 상기 특정 메타데이터 특성들 중 각각의 특성들과 연관된 상이한 가상 폴더 내에 각각 포함되고, 상기 하나 이상의 툴은 다른 메타데이터 특성을 상기 가상 폴더와 연관시키는 것에 반응하여 상기 가상 폴더들 중의 하나의 폴더로 부가적인 항목들을 복사하도록 구성된 툴을 포함함 - ; 및
    컴퓨터 파일 시스템에 저장된 항목들로의 가상 경로를 제공하기 위한 가상 어드레스 바(virtual address bar)를 제공하는 단계
    를 포함하고,
    상기 가상 어드레스 바를 제공하는 단계는,
    제1 상호 작용성 세그먼트를 포함하도록 동작하는 가상 어드레스 바를 표시하는 단계 - 상기 제1 상호 작용성 세그먼트는 항목들을 선택하기 위한 대응 필터에 따라 상기 컴퓨터 파일 시스템 상의 항목들을 참조함 - ; 및
    상기 가상 어드레스 바에 하나 이상의 부가적인 상호 작용성 세그먼트 를 추가하는 단계 - 각각의 부가적인 상호 작용성 세그먼트는 선행하는 상기 상호 작용성 세그먼트들에 의해 참조되는 항목들을 더 제한하고, 상기 제1 상호 작용성 세그먼트 및 상기 하나 이상의 부가적인 상호 작용성 세그먼트는 가상 경로를 포함함 -
    를 포함하는, 방법.
  2. 제1항에 있어서,
    사용자가 셸 브라우저(shell browser) 내의 메타데이터를 수정하도록 하는 단계를 더 포함하고,
    상기 사용자가 셸 브라우저 내의 메타데이터를 수정하도록 하는 단계는,
    복수의 항목을 표시하는 단계;
    적어도 하나의 표시된 항목의 선택을 나타내는 제1 입력을 상기 사용자로부터 수신하는 단계;
    상기 적어도 하나의 선택된 항목과 연관되는 메타데이터를 표시하는 단계; 및
    상기 표시된 메타데이터에 대한 사용자의 수정을 위한 제어를 제공하는 단계
    를 포함하는, 방법.
  3. 제1항에 있어서,
    셸 브라우저를 제공하는 단계를 더 포함하고,
    상기 셸 브라우저는
    항목들의 그룹을 표시하고, 상기 표시된 항목들 중 하나 이상의 항목과 연관되는 메타데이터 값들을 더 표시하는 창(window); 및
    상기 창에 표시되는 상기 메타데이터 값들 중 적어도 일부의 값에 대한 사용자의 수정을 허용하는 편집 제어
    를 포함하는, 방법.
  4. 제1항에 있어서,
    다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들(previewers)의 이용을 가능하게 하는 단계를 더 포함하고,
    상기 다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들의 이용을 가능하게 하는 단계는,
    상기 다수의 항목 유형을 위한 디폴트 프리뷰어를 갖는 셸 브라우저를 제공하는 단계; 및
    상기 다수의 항목 유형 중 적어도 하나의 항목 유형을 위한 대체 프리뷰어를 제3자가 개발하는 것을 가능하게 하는 확장성 메커니즘을 제공하는 단계
    를 포함하는, 방법.
  5. 제1항에 있어서,
    다수의 항목 유형을 나타내는 복수의 항목을 표시하도록 구성된 셸 브라우저를 제공하는 단계를 더 포함하고,
    상기 셸 브라우저는
    다수의 항목 유형을 위한 표준 레벨의 기능을 제공하는 디폴트 프리뷰어; 및
    상기 다수의 항목 유형 중 하나 이상의 항목 유형을 위한 상기 디폴트 프리뷰어에 의해 제공된 상기 표준 레벨 이상의 기능을 가능하게 하는 확장성 메커니즘
    을 포함하는, 방법.
  6. 삭제
  7. 제1항에 있어서,
    표시를 위해 컴퓨터 시스템에 억세스 가능한 항목들을 선택하기 위한 가상 어드레스 바 사용자 인터페이스 제어를 제공하는 단계를 더 포함하고,
    상기 가상 어드레스 바는 복수의 상호 작용성 세그먼트 - 각각의 상호 작용성 세그먼트는 표시를 위해 항목을 선택하기 위한 필터에 대응함 - 를 포함하는, 방법.
  8. 제1항에 있어서,
    항목들을 필터링하는 단계를 더 포함하고,
    상기 항목들을 필터링하는 단계는,
    하나 이상의 항목을 각각 나타내는 복수의 디스플레이 오브젝트를 상기 디스플레이 상에 제공하는 단계;
    필터 용어에 기초하여 상기 디스플레이 오브젝트들이 나타내는 상기 항목들을 필터링하는 단계; 및
    상기 항목들의 상기 필터링 단계 후에 남은 상기 항목들을 나타내기 위해 상기 디스플레이 상에 제공된 상기 디스플레이 오브젝트들을 수정하는 단계
    를 포함하는, 방법.
  9. 제1항에 있어서,
    항목들을 표시하는 단계를 더 포함하고,
    상기 항목들을 표시하는 단계는,
    항목들을 가져올 물리적 메모리 위치들의 범위를 정의하는 단계 - 상기 범위는 현재의 컴퓨터 메모리 및 적어도 하나의 다른 물리적 위치를 포함함 - ;
    질의를 수신하고, 상기 질의에 반응하여 상기 범위로 정의된 상기 물리적 위치들로부터 항목들을 가져오는 단계; 및
    상기 디스플레이 상의 뷰에 상기 질의로부터 가져온 상기 항목들을 제시하는 단계
    를 포함하는, 방법.
  10. 제1항에 있어서,
    상기 항목들을 사용자에게 나타내는 단계를 더 포함하고,
    상기 항목들을 사용자에게 나타내는 단계는,
    비-파일 항목들(non-file items) 및 파일 항목들 양자가 질의에 의해 검색되도록 하는 데이터베이스를 제공하는 단계;
    질의를 수신하고, 상기 질의에 반응하여 상기 질의와 일치하는 비-파일 항목들 및 파일 항목들 양자를 가져오는 단계; 및
    상기 질의와 일치하는 상기 비-파일 항목들 및 파일 항목들 양자를 상기 디스플레이 상에 제시하는 단계
    를 포함하는, 방법.
  11. 사용자에게 메모리에 저장된 항목들을 노출시키기 위한 시스템으로서,
    사용자로부터 질의들을 획득하는 폴더 프로세서;
    항목들에 대한 정보를 저장하기 위한 관련 데이터베이스(relational database) - 상기 폴더 프로세서는 레지스트리에 식별된 디폴트 질의인 질의를 사용자로부터 획득하여 상기 질의를 상기 관련 데이터베이스에 전달하고, 상기 관련 데이터베이스는 결과들을 상기 폴더 프로세서에 다시 제공하며, 상기 폴더 프로세서는 상기 관련 데이터베이스로부터의 상기 결과들에 기초해 상기 결과들을 가상 폴더들로서 상기 사용자에게 제공함 - ; 및
    컴퓨터 파일 시스템에 저장된 항목들로의 가상 경로를 제공하기 위한 가상 어드레스 바로서,
    제1 상호 작용성 세그먼트를 포함하도록 동작가능한 가상 어드레스 바 - 상기 제1 상호 작용성 세그먼트는 항목들을 선택하기 위한 대응 필터에 따라 상기 컴퓨터 파일 시스템 상의 항목들을 참조함 - ; 및
    상기 가상 어드레스 바의 하나 이상의 부가적인 상호 작용성 세그먼트 - 각각의 부가적인 상호 작용성 세그먼트는 선행하는 상기 상호 작용성 세그먼트들에 의해 참조되는 항목들을 더 제한함 -
    를 포함하고,
    상기 제1 상호 작용성 세그먼트 및 상기 하나 이상의 부가적인 상호 작용성 세그먼트는 가상 경로를 포함하는, 가상 어드레스 바
    를 포함하는 시스템.
  12. 제11항에 있어서,
    사용자가 셸 브라우저 내의 메타데이터를 수정하도록 하는 셸 브라우저 수단을 더 포함하고,
    상기 셸 브라우저 수단은,
    복수의 항목을 표시하는 수단;
    적어도 하나의 표시된 항목의 선택을 나타내는 제1 입력을 상기 사용자로부터 수신하는 수단;
    상기 적어도 하나의 선택된 항목과 연관되는 메타데이터를 표시하는 수단; 및
    상기 표시된 메타데이터에 대한 사용자의 수정을 위한 제어를 제공하는 수단
    을 포함하는, 시스템.
  13. 제11항에 있어서,
    셸 브라우저를 더 포함하고,
    상기 셸 브라우저는
    항목들의 그룹을 표시하고, 상기 표시된 항목들 중 하나 이상의 항목과 연관되는 메타데이터 값들을 더 표시하는 창; 및
    상기 창에 표시되는 상기 메타데이터 값들 중 적어도 일부의 값에 대한 사용자의 수정을 가능하게 하는 편집 제어
    를 포함하는, 시스템.
  14. 제11항에 있어서,
    다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들의 이용을 가능하게 하는 프리뷰어를 더 포함하고,
    상기 프리뷰어는
    상기 다수의 항목 유형을 위한 디폴트 프리뷰어를 갖는 셸 브라우저; 및
    상기 다수의 항목 유형 중 적어도 하나의 항목 유형을 위한 대체 프리뷰어를 제3자가 개발하는 것을 가능하게 하는 확장성 메커니즘
    을 포함하는, 시스템.
  15. 제11항에 있어서,
    다수의 항목 유형을 나타내는 복수의 항목을 표시하도록 구성된 셸 브라우저를 더 포함하고,
    상기 셸 브라우저는
    다수의 항목 유형을 위한 표준 레벨의 기능을 제공하는 디폴트 프리뷰어; 및
    상기 다수의 항목 유형 중 하나 이상의 항목 유형을 위한 상기 디폴트 프리뷰어에 의해 제공된 상기 표준 레벨 이상의 기능을 가능하게 하는 확장성 메커니즘
    을 포함하는, 시스템.
  16. 삭제
  17. 제11항에 있어서,
    표시를 위해 컴퓨터 시스템에 억세스 가능한 항목들을 선택하기 위한 가상 어드레스 바 사용자 인터페이스 제어를 더 포함하고,
    상기 가상 어드레스 바는 복수의 상호 작용성 세그먼트 - 각각의 상호 작용성 세그먼트는 표시를 위해 항목을 선택하기 위한 필터에 대응함 - 를 포함하는, 시스템.
  18. 제11항에 있어서,
    항목들을 필터링하는 수단을 더 포함하고,
    상기 항목들을 필터링하는 수단은
    하나 이상의 항목을 각각 나타내는 복수의 디스플레이 오브젝트를 디스플레이 상에 제공하는 수단;
    필터 용어에 기초하여 상기 디스플레이 오브젝트들이 나타내는 상기 항목들을 필터링하는 수단; 및
    상기 항목들의 상기 필터링 후에 남은 상기 항목들을 나타내기 위해 상기 디스플레이 상에 제공된 상기 디스플레이 오브젝트들을 수정하는 수단
    을 포함하는, 시스템.
  19. 제11항에 있어서
    상기 항목들의 모음들을 제시하기 위한 수단을 더 포함하고,
    상기 항목들의 모음들을 제시하기 위한 수단은
    하나 이상의 특정 메타데이터 특성을 갖는 항목들을 포함하도록 라이브러리를 형성하는 수단;
    상기 하나 이상의 특정 메타데이터 특성을 갖는 항목들을 상기 라이브러리에 자동으로 그룹화하는 수단; 및
    상기 라이브러리의 항목들을 조작하기 위한 하나 이상의 툴을 제공하는 수단
    를 포함하는, 시스템.
  20. 제11항에 있어서,
    항목들을 표시하기 위한 수단을 더 포함하고,
    상기 항목들을 표시하기 위한 수단은
    항목들을 가져올 물리적 메모리 위치들의 범위를 정의하는 수단 - 상기 범위는 현재의 컴퓨터 메모리 및 적어도 하나의 다른 물리적 위치를 포함함 - ;
    질의를 수신하고, 상기 질의에 반응하여 상기 범위로 정의된 상기 물리적 위치들로부터 항목들을 가져오는 수단; 및
    디스플레이 상의 뷰에 상기 질의로부터 가져온 상기 항목들을 제시하는 수단
    를 포함하는, 시스템.
  21. 연관된 메타데이터 특성들을 갖는 항목들을 저장하기 위한 메모리 및 디스플레이를 갖는 컴퓨터 시스템에서, 상기 항목들을 사용자에게 노출시키는 방법으로서,
    사용자가 제1 가상 폴더를 여는 것에 반응하여, 상기 사용자에 대응하는 디폴트 정보에 기초해 제1 메타데이터 특성을 선택하는 단계;
    상기 선택된 제1 메타데이터 특성을 갖는 항목들을 검색하는 단계;
    상기 제1 메타데이터 특성을 갖는 항목들의 모음을 나타내는 제1 가상 폴더 디스플레이 오브젝트를 제공하는 단계; 및
    컴퓨터 파일 시스템에 저장된 항목들로의 가상 경로를 제공하기 위한 가상 어드레스 바를 제공하는 단계
    를 포함하고,
    상기 가상 어드레스 바를 제공하는 단계는,
    제1 상호 작용성 세그먼트를 포함하도록 동작가능한 가상 어드레스 바를 표시하는 단계 - 상기 제1 상호 작용성 세그먼트는 항목들을 선택하기 위한 대응 필터에 따라 상기 컴퓨터 파일 시스템 상의 항목들을 참조함 - ; 및
    상기 가상 어드레스 바에 하나 이상의 부가적인 상호 작용성 세그먼트를 추가하는 단계 - 각각의 부가적인 상호 작용성 세그먼트는 선행하는 상기 상호 작용성 세그먼트들에 의해 참조되는 항목들을 더 제한하고, 상기 제1 상호 작용성 세그먼트 및 상기 하나 이상의 부가적인 상호 작용성 세그먼트는 가상 경로를 포함함 -
    를 포함하는, 방법.
  22. 제21항에 있어서,
    사용자가 셸 브라우저 내의 메타데이터를 수정하도록 하는 단계를 더 포함하고,
    상기 사용자가 셸 브라우저 내의 메타데이터를 수정하도록 하는 단계는,
    복수의 항목을 표시하는 단계;
    적어도 하나의 표시된 항목의 선택을 나타내는 제1 입력을 상기 사용자로부터 수신하는 단계;
    상기 적어도 하나의 선택된 항목과 연관되는 메타데이터를 표시하는 단계; 및
    상기 표시된 메타데이터에 대한 사용자의 수정을 위한 제어를 제공하는 단계
    를 포함하는, 방법.
  23. 제21항에 있어서,
    셸 브라우저를 제공하는 단계를 더 포함하고,
    상기 셸 브라우저는
    항목들의 그룹을 표시하고, 상기 표시된 항목들 중 하나 이상의 항목과 연관되는 메타데이터 값들을 더 표시하는 창; 및
    상기 창에 표시되는 상기 메타데이터 값들 중 적어도 일부의 값에 대한 사용자의 수정을 허용하는 편집 제어
    를 포함하는, 방법.
  24. 제21항에 있어서,
    다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들의 이용을 가능하게 하는 단계를 더 포함하고,
    상기 다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들의 이용을 가능하게 하는 단계는,
    상기 다수의 항목 유형을 위한 디폴트 프리뷰어를 갖는 셸 브라우저를 제공하는 단계; 및
    상기 다수의 항목 유형 중 적어도 하나의 항목 유형을 위한 대체 프리뷰어를 제3자가 개발하는 것을 가능하게 하는 확장성 메커니즘을 제공하는 단계
    를 포함하는, 방법.
  25. 제21항에 있어서,
    다수의 항목 유형을 나타내는 복수의 항목을 표시하도록 구성된 셸 브라우저를 제공하는 단계를 더 포함하고,
    상기 셸 브라우저는
    다수의 항목 유형을 위한 표준 레벨의 기능을 제공하는 디폴트 프리뷰어; 및
    상기 다수의 항목 유형 중 하나 이상의 항목 유형을 위한 상기 디폴트 프리뷰어에 의해 제공된 상기 표준 레벨 이상의 기능을 가능하게 하는 확장성 메커니즘
    을 포함하는, 방법.
  26. 삭제
  27. 제21항에 있어서,
    표시를 위해 컴퓨터 시스템에 억세스 가능한 항목들을 선택하기 위한 가상 어드레스 바 사용자 인터페이스 제어를 제공하는 단계를 더 포함하고,
    상기 가상 어드레스 바는 복수의 상호 작용성 세그먼트 - 각각의 상호 작용성 세그먼트는 표시를 위해 항목들을 선택하기 위한 필터에 대응함 - 를 포함하는, 방법.
  28. 제21항에 있어서,
    항목을 필터링하는 단계를 더 포함하고,
    상기 항목을 필터링하는 단계는,
    하나 이상의 항목을 각각 나타내는 복수의 디스플레이 오브젝트를 상기 디스플레이 상에 제공하는 단계;
    필터 용어에 기초하여 상기 디스플레이 오브젝트들이 나타내는 상기 항목들을 필터링하는 단계; 및
    상기 항목들의 상기 필터링 단계 후에 남은 상기 항목들을 나타내기 위해 상기 디스플레이 상에 제공된 상기 디스플레이 오브젝트들을 수정하는 단계
    를 포함하는, 방법.
  29. 제21항에 있어서,
    상기 항목들의 모음들을 제시하는 단계를 더 포함하고,
    상기 항목들의 모음들을 제시하는 단계는,
    하나 이상의 특정 메타데이터 특성을 갖는 항목들을 포함하도록 라이브러리를 형성하는 단계;
    상기 하나 이상의 특정 메타데이터 특성을 갖는 항목들을 상기 라이브러리에 자동으로 그룹화하는 단계; 및
    상기 라이브러리의 항목들을 조작하기 위한 하나 이상의 툴을 제공하는 단계
    를 포함하는, 방법.
  30. 제21항에 있어서,
    항목들을 표시하는 단계를 더 포함하고,
    상기 항목들을 표시하는 단계는,
    항목들을 가져올 물리적 메모리 위치들의 범위를 정의하는 단계 - 상기 범위는 현재의 컴퓨터 메모리 및 적어도 하나의 다른 물리적 위치를 포함함 - ;
    질의를 수신하고, 상기 질의에 반응하여 상기 범위로 정의된 상기 물리적 위치들로부터 항목들을 가져오는 단계; 및
    상기 디스플레이 상의 뷰에 상기 질의로부터 가져온 상기 항목들을 제시하는 단계
    를 포함하는, 방법.
  31. 항목들을 저장하기 위한 메모리 및 디스플레이를 갖는 컴퓨터 시스템에서, 상기 항목들을 조작하기 위한 방법으로서,
    항목들의 그룹들을 가상 폴더들로서 나타내는 단계;
    가상 폴더의 직접적 조작을 위해 실행될 수 있는 제1 정의 동작(first defined action)을 적어도 제공하는 단계 - 상기 제1 정의 동작이 실행될 때, 상기 가상 폴더는 상기 실행된 동작에 의해 지시되는 바와 같이 조작되고, 상기 제1 정의 동작은 상기 가상 폴더에 메타데이터 특성을 추가하는 것이며, 상기 제1 정의 동작의 실행에 반응하여 상기 메타데이터 특성을 갖는 부가적인 항목들이 상기 가상 폴더로 복사됨 - ; 및
    컴퓨터 파일 시스템에 저장된 항목들로의 가상 경로를 제공하기 위한 가상 어드레스 바를 제공하는 단계
    를 포함하고,
    상기 가상 어드레스 바를 제공하는 단계는,
    제1 상호 작용성 세그먼트를 포함하도록 동작가능한 가상 어드레스 바를 표시하는 단계 - 상기 제1 상호 작용성 세그먼트는 항목들을 선택하기 위한 대응 필터에 따라 상기 컴퓨터 파일 시스템 상의 항목들을 참조함 - ; 및
    상기 가상 어드레스 바에 하나 이상의 부가적인 상호 작용성 세그먼트를 추가하는 단계 - 각각의 부가적인 상호 작용성 세그먼트는 선행하는 상기 상호 작용성 세그먼트들에 의해 참조되는 항목들을 더 제한하고, 상기 제1 상호 작용성 세그먼트 및 상기 하나 이상의 부가적인 상호 작용성 세그먼트는 가상 경로를 포함함 -
    를 포함하는, 방법.
  32. 제31항에 있어서,
    사용자가 셸 브라우저 내의 메타데이터를 수정하도록 하는 단계를 더 포함하고,
    상기 사용자가 셸 브라우저 내의 메타데이터를 수정하도록 하는 단계는,
    복수의 항목을 표시하는 단계;
    적어도 하나의 표시된 항목의 선택을 나타내는 제1 입력을 상기 사용자로부터 수신하는 단계;
    상기 적어도 하나의 선택된 항목과 연관되는 메타데이터를 표시하는 단계; 및
    상기 표시된 메타데이터에 대한 사용자의 수정을 위한 제어를 제공하는 단계
    를 포함하는, 방법.
  33. 제31항에 있어서,
    셸 브라우저를 제공하는 단계를 더 포함하고,
    상기 셸 브라우저는
    항목들의 그룹을 표시하고, 상기 표시된 항목들 중 하나 이상의 항목과 연관되는 메타데이터 값들을 더 표시하는 창; 및
    상기 창에 표시되는 상기 메타데이터 값들 중 적어도 일부의 값에 대한 사용자의 수정을 허용하는 편집 제어
    를 포함하는, 방법.
  34. 제31항에 있어서,
    다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들의 이용을 가능하게 하는 단계를 더 포함하고,
    상기 다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들의 이용을 가능하게 하는 단계는,
    상기 다수의 항목 유형을 위한 디폴트 프리뷰어를 갖는 셸 브라우저를 제공하는 단계; 및
    상기 다수의 항목 유형 중 적어도 하나의 항목 유형을 위한 대체 프리뷰어를 제3자가 개발하는 것을 가능하게 하는 확장성 메커니즘을 제공하는 단계
    를 포함하는, 방법.
  35. 제31항에 있어서,
    다수의 항목 유형을 나타내는 복수의 항목을 표시하도록 구성된 셸 브라우저를 제공하는 단계를 더 포함하고,
    상기 셸 브라우저는
    다수의 항목 유형을 위한 표준 레벨의 기능을 제공하는 디폴트 프리뷰어; 및
    상기 다수의 항목 유형 중 하나 이상의 항목 유형을 위한 상기 디폴트 프리뷰어에 의해 제공된 상기 표준 레벨 이상의 기능을 가능하게 하는 확장성 메커니즘
    을 포함하는, 방법.
  36. 삭제
  37. 제31항에 있어서,
    표시를 위해 컴퓨터 시스템에 억세스 가능한 항목들을 선택하기 위한 가상 어드레스 바 사용자 인터페이스 제어를 제공하는 단계를 더 포함하고,
    상기 가상 어드레스 바는 복수의 상호 작용성 세그먼트 - 각각의 상호 작용성 세그먼트는 표시를 위해 항목을 선택하기 위한 필터에 대응함 - 를 포함하는, 방법.
  38. 제31항에 있어서,
    항목들을 필터링하는 단계를 더 포함하고,
    상기 항목들을 필터링하는 단계는,
    하나 이상의 항목을 각각 나타내는 복수의 디스플레이 오브젝트를 상기 디스플레이 상에 제공하는 단계;
    필터 용어에 기초하여 상기 디스플레이 오브젝트들이 나타내는 상기 항목들을 필터링하는 단계; 및
    상기 항목들의 상기 필터링 단계 후에 남은 상기 항목들을 나타내기 위해 상기 디스플레이 상에 제공된 상기 디스플레이 오브젝트들을 수정하는 단계
    를 포함하는, 방법.
  39. 제31항에 있어서,
    상기 항목들의 모음들을 제시하는 단계를 더 포함하고,
    상기 항목들의 모음들을 제시하는 단계는,
    하나 이상의 특정 메타데이터 특성을 갖는 항목들을 포함하도록 라이브러리를 형성하는 단계;
    상기 하나 이상의 특정 메타데이터 특성을 갖는 항목들을 상기 라이브러리에 자동으로 그룹화하는 단계; 및
    상기 라이브러리의 항목들을 조작하기 위한 하나 이상의 툴을 제공하는 단계
    를 포함하는, 방법.
  40. 제31항에 있어서,
    항목들을 표시하는 단계를 더 포함하고,
    상기 항목들을 표시하는 단계는,
    항목들을 가져올 물리적 메모리 위치들의 범위를 정의하는 단계 - 상기 범위는 현재의 컴퓨터 메모리 및 적어도 하나의 다른 물리적 위치를 포함함 - ;
    질의를 수신하고, 상기 질의에 반응하여 상기 범위로 정의된 상기 물리적 위치들로부터 항목들을 가져오는 단계; 및
    상기 디스플레이 상의 뷰에 상기 질의로부터 가져온 상기 항목들을 제시하는 단계
    를 포함하는, 방법.
  41. 메타데이터 특성들을 갖는 항목들을 저장하기 위한 메모리 및 디스플레이를 갖는 컴퓨터 시스템에서, 항목들을 필터링하는 방법으로서,
    각각 하나 이상의 항목을 나타내는 복수의 디스플레이 오브젝트를 상기 디스플레이 상에 제공하는 단계;
    필터 용어(filter term)에 기초하여 상기 디스플레이 오브젝트들에 의해 나타낸 상기 항목들을 필터링하는 단계;
    상기 항목들의 필터링 단계 후에 남은 상기 항목들을 나타내도록 상기 디스플레이 상에 제공된 상기 디스플레이 오브젝트들을 수정하는 단계 - 상기 항목들과 연관된 복수의 메타데이터의 시순환 샘플(time-rotating sample)을 표시하는 단계를 포함함 - ; 및
    컴퓨터 파일 시스템에 저장된 항목들로의 가상 경로를 제공하기 위한 가상 어드레스 바를 제공하는 단계
    를 포함하고,
    상기 가상 어드레스 바를 제공하는 단계는,
    제1 상호 작용성 세그먼트를 포함하도록 동작가능한 가상 어드레스 바를 표시하는 단계 - 상기 제1 상호 작용성 세그먼트는 항목들을 선택하기 위한 대응 필터에 따라 상기 컴퓨터 파일 시스템 상의 항목들을 참조함 - ; 및
    상기 가상 어드레스 바에 하나 이상의 부가적인 상호 작용성 세그먼트를 추가하는 단계 - 각각의 부가적인 상호 작용성 세그먼트는 선행하는 상기 상호 작용성 세그먼트들에 의해 참조되는 항목들을 더 제한하고, 상기 제1 상호 작용성 세그먼트 및 상기 하나 이상의 부가적인 상호 작용성 세그먼트는 가상 경로를 포함함 -
    를 포함하는, 방법.
  42. 제41항에 있어서,
    사용자가 셸 브라우저 내의 메타데이터를 수정하도록 하는 단계를 더 포함하고,
    상기 사용자가 셸 브라우저 내의 메타데이터를 수정하도록 하는 단계는,
    복수의 항목을 표시하는 단계;
    적어도 하나의 표시된 항목의 선택을 나타내는 제1 입력을 상기 사용자로부터 수신하는 단계;
    상기 적어도 하나의 선택된 항목과 연관되는 메타데이터를 표시하는 단계; 및
    상기 표시된 메타데이터에 대한 사용자의 수정을 위한 제어를 제공하는 단계
    를 포함하는, 방법.
  43. 제41항에 있어서,
    셸 브라우저를 제공하는 단계를 더 포함하고,
    상기 셸 브라우저는
    항목들의 그룹을 표시하고, 상기 표시된 항목들 중 하나 이상의 항목과 연관되는 메타데이터 값들을 더 표시하는 창; 및
    상기 창에 표시되는 상기 메타데이터 값들 중 적어도 일부의 값에 대한 사용자의 수정을 허용하는 편집 제어
    를 포함하는, 방법.
  44. 제41항에 있어서,
    다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들의 이용을 가능하게 하는 단계를 더 포함하고,
    상기 다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들의 이용을 가능하게 하는 단계는,
    상기 다수의 항목 유형을 위한 디폴트 프리뷰어를 갖는 셸 브라우저를 제공하는 단계; 및
    상기 다수의 항목 유형 중 적어도 하나의 항목 유형을 위한 대체 프리뷰어를 제3자가 개발하는 것을 가능하게 하는 확장성 메커니즘을 제공하는 단계
    를 포함하는, 방법.
  45. 제41항에 있어서,
    다수의 항목 유형을 나타내는 복수의 항목을 표시하도록 구성된 셸 브라우저를 제공하는 단계를 더 포함하고,
    상기 셸 브라우저는
    다수의 항목 유형을 위한 표준 레벨의 기능을 제공하는 디폴트 프리뷰어; 및
    상기 다수의 항목 유형 중 하나 이상의 항목 유형을 위한 상기 디폴트 프리뷰어에 의해 제공된 상기 표준 레벨 이상의 기능을 가능하게 하는 확장성 메커니즘
    을 포함하는, 방법.
  46. 삭제
  47. 제41항에 있어서,
    표시를 위해 컴퓨터 시스템에 억세스 가능한 항목들을 선택하기 위한 가상 어드레스 바 사용자 인터페이스 제어를 제공하는 단계를 더 포함하고,
    상기 가상 어드레스 바는 복수의 상호 작용성 세그먼트 - 각각의 상호 작용성 세그먼트는 표시를 위해 항목을 선택하기 위한 필터에 대응함 - 를 포함하는, 방법.
  48. 제41항에 있어서,
    항목들을 필터링하는 단계를 더 포함하고,
    상기 항목들을 필터링하는 단계는,
    하나 이상의 항목을 각각 나타내는 복수의 디스플레이 오브젝트를 상기 디스플레이 상에 제공하는 단계;
    필터 용어에 기초하여 상기 디스플레이 오브젝트들이 나타내는 상기 항목들을 필터링하는 단계; 및
    상기 항목들의 상기 필터링 단계 후에 남은 상기 항목들을 나타내기 위해 상기 디스플레이 상에 제공된 상기 디스플레이 오브젝트들을 수정하는 단계
    를 포함하는, 방법.
  49. 제41항에 있어서,
    상기 항목들의 모음들을 제시하는 단계를 더 포함하고,
    상기 항목들의 모음들을 제시하는 단계는,
    하나 이상의 특정 메타데이터 특성을 갖는 항목들을 포함하도록 라이브러리를 형성하는 단계;
    상기 하나 이상의 특정 메타데이터 특성을 갖는 항목들을 상기 라이브러리에 자동으로 그룹화하는 단계; 및
    상기 라이브러리의 항목들을 조작하기 위한 하나 이상의 툴을 제공하는 단계
    를 포함하는, 방법.
  50. 제41항에 있어서,
    항목들을 표시하는 단계를 더 포함하고,
    상기 항목들을 표시하는 단계는,
    항목들을 가져올 물리적 메모리 위치들의 범위를 정의하는 단계 - 상기 범위는 현재의 컴퓨터 메모리 및 적어도 하나의 다른 물리적 위치를 포함함 - ;
    질의를 수신하고, 상기 질의에 반응하여 상기 범위로 정의된 상기 물리적 위치들로부터 항목들을 가져오는 단계; 및
    상기 디스플레이 상의 뷰에 상기 질의로부터 가져온 상기 항목들을 제시하는 단계
    를 포함하는, 방법.
  51. 항목들을 저장하기 위한 메모리 및 디스플레이를 갖는 컴퓨터 시스템에서, 상기 항목들을 보는 방법으로서,
    검색 용어를 정의하는 사용자 입력을 수신하는 단계;
    상기 검색 용어에 기초해 상기 저장된 항목들을 검색하는 단계;
    상기 검색으로부터 찾은 상기 항목들의 표현들을 표시하는 단계;
    상기 검색으로부터 찾은 상기 항목들의 모음으로의 링크를 저장하는 단계;
    상기 링크를 클릭함으로써 사용자가 원하는 항목들의 모음의 뷰(view)로 돌아갈 수 있도록, 상기 디스플레이 상에 상기 링크를 제시하는 단계; 및
    컴퓨터 파일 시스템에 저장된 항목들로의 가상 경로를 제공하기 위한 가상 어드레스 바를 제공하는 단계
    를 포함하고,
    상기 가상 어드레스 바를 제공하는 단계는,
    제1 상호 작용성 세그먼트를 포함하도록 동작가능한 가상 어드레스 바를 표시하는 단계 - 상기 제1 상호 작용성 세그먼트는 항목들을 선택하기 위한 대응 필터에 따라 상기 컴퓨터 파일 시스템 상의 항목들을 참조함 - ; 및
    상기 가상 어드레스 바에 하나 이상의 부가적인 상호 작용성 세그먼트를 추가하는 단계 - 각각의 부가적인 상호 작용성 세그먼트는 선행하는 상기 상호 작용성 세그먼트들에 의해 참조되는 항목들을 더 제한하고, 상기 제1 상호 작용성 세그먼트 및 상기 하나 이상의 부가적인 상호 작용성 세그먼트는 가상 경로를 포함함 -
    를 포함하는, 방법.
  52. 제51항에 있어서,
    사용자가 셸 브라우저 내의 메타데이터를 수정하도록 하는 단계를 더 포함하고,
    상기 사용자가 셸 브라우저 내의 메타데이터를 수정하도록 하는 단계는,
    복수의 항목을 표시하는 단계;
    적어도 하나의 표시된 항목의 선택을 나타내는 제1 입력을 상기 사용자로부터 수신하는 단계;
    상기 적어도 하나의 선택된 항목과 연관되는 메타데이터를 표시하는 단계; 및
    상기 표시된 메타데이터에 대한 사용자의 수정을 위한 제어를 제공하는 단계
    를 포함하는, 방법.
  53. 제51항에 있어서,
    셸 브라우저를 제공하는 단계를 더 포함하고,
    상기 셸 브라우저는
    항목들의 그룹을 표시하고, 상기 표시된 항목들 중 하나 이상의 항목과 연관되는 메타데이터 값들을 더 표시하는 창; 및
    상기 창에 표시되는 상기 메타데이터 값들 중 적어도 일부의 값에 대한 사용자의 수정을 허용하는 편집 제어
    를 포함하는, 방법.
  54. 제51항에 있어서,
    다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들의 이용을 가능하게 하는 단계를 더 포함하고,
    상기 다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들의 이용을 가능하게 하는 단계는,
    상기 다수의 항목 유형을 위한 디폴트 프리뷰어를 갖는 셸 브라우저를 제공하는 단계; 및
    상기 다수의 항목 유형 중 적어도 하나의 항목 유형을 위한 대체 프리뷰어를 제3자가 개발하는 것을 가능하게 하는 확장성 메커니즘을 제공하는 단계
    를 포함하는, 방법.
  55. 제51항에 있어서,
    다수의 항목 유형을 나타내는 복수의 항목을 표시하도록 구성된 셸 브라우저를 제공하는 단계를 더 포함하고,
    상기 셸 브라우저는
    다수의 항목 유형을 위한 표준 레벨의 기능을 제공하는 디폴트 프리뷰어; 및
    상기 다수의 항목 유형 중 하나 이상의 항목 유형을 위한 상기 디폴트 프리뷰어에 의해 제공된 상기 표준 레벨 이상의 기능을 가능하게 하는 확장성 메커니즘
    을 포함하는, 방법.
  56. 삭제
  57. 제51항에 있어서,
    표시를 위해 컴퓨터 시스템에 억세스 가능한 항목들을 선택하기 위한 가상 어드레스 바 사용자 인터페이스 제어를 제공하는 단계를 더 포함하고,
    상기 가상 어드레스 바는 복수의 상호 작용성 세그먼트 - 각각의 상호 작용성 세그먼트는 표시를 위해 항목을 선택하기 위한 필터에 대응함 - 를 포함하는, 방법.
  58. 제51항에 있어서,
    항목들을 필터링하는 단계를 더 포함하고,
    상기 항목들을 필터링하는 단계는,
    하나 이상의 항목을 각각 나타내는 복수의 디스플레이 오브젝트를 상기 디스플레이 상에 제공하는 단계;
    필터 용어에 기초하여 상기 디스플레이 오브젝트들이 나타내는 상기 항목들을 필터링하는 단계; 및
    상기 항목들의 상기 필터링 단계 후에 남은 상기 항목들을 나타내기 위해 상기 디스플레이 상에 제공된 상기 디스플레이 오브젝트들을 수정하는 단계
    를 포함하는, 방법.
  59. 제51항에 있어서,
    상기 항목들의 모음들을 제시하는 단계를 더 포함하고,
    상기 항목들의 모음들을 제시하는 단계는,
    하나 이상의 특정 메타데이터 특성을 갖는 항목들을 포함하도록 라이브러리를 형성하는 단계;
    상기 하나 이상의 특정 메타데이터 특성을 갖는 항목들을 상기 라이브러리에 자동으로 그룹화하는 단계; 및
    상기 라이브러리의 항목들을 조작하기 위한 하나 이상의 툴을 제공하는 단계
    를 포함하는, 방법.
  60. 제51항에 있어서,
    항목들을 표시하는 단계를 더 포함하고,
    상기 항목들을 표시하는 단계는,
    항목들을 가져올 물리적 메모리 위치들의 범위를 정의하는 단계 - 상기 범위는 현재의 컴퓨터 메모리 및 적어도 하나의 다른 물리적 위치를 포함함 - ;
    질의를 수신하고, 상기 질의에 반응하여 상기 범위로 정의된 상기 물리적 위치들로부터 항목들을 가져오는 단계; 및
    상기 디스플레이 상의 뷰에 상기 질의로부터 가져온 상기 항목들을 제시하는 단계
    를 포함하는, 방법.
  61. 항목들을 저장하기 위한 메모리 및 디스플레이를 갖는 컴퓨터 시스템에서, 상기 항목들을 사용자에게 나타내기 위한 방법으로서,
    비-파일 항목들 및 파일 항목들 양자가 질의에 의해 검색되도록 하는 데이터베이스를 제공하는 단계;
    레지스트리에 식별된 디폴트 질의인 질의를 수신하고, 상기 질의에 반응하여 상기 질의와 일치하는 비-파일 항목들 및 파일 항목들 양자를 가져오는 단계;
    상기 질의와 일치하는 상기 비-파일 항목들 및 파일 항목들 양자를 상기 디스플레이 상에 제시하는 단계; 및
    컴퓨터 파일 시스템에 저장된 항목들로의 가상 경로를 제공하기 위한 가상 어드레스 바를 제공하는 단계
    를 포함하고,
    상기 가상 어드레스 바를 제공하는 단계는,
    제1 상호 작용성 세그먼트를 포함하도록 동작가능한 가상 어드레스 바를 표시하는 단계 - 상기 제1 상호 작용성 세그먼트는 항목들을 선택하기 위한 대응 필터에 따라 상기 컴퓨터 파일 시스템 상의 항목들을 참조함 - ; 및
    상기 가상 어드레스 바에 하나 이상의 부가적인 상호 작용성 세그먼트를 추가하는 단계 - 각각의 부가적인 상호 작용성 세그먼트는 선행하는 상기 상호 작용성 세그먼트들에 의해 참조되는 항목들을 더 제한하고, 상기 제1 상호 작용성 세그먼트 및 상기 하나 이상의 부가적인 상호 작용성 세그먼트는 가상 경로를 포함함 -
    를 포함하는, 방법.
  62. 제61항에 있어서,
    사용자가 셸 브라우저 내의 메타데이터를 수정하도록 하는 단계를 더 포함하고,
    상기 사용자가 셸 브라우저 내의 메타데이터를 수정하도록 하는 단계는,
    복수의 항목을 표시하는 단계;
    적어도 하나의 표시된 항목의 선택을 나타내는 제1 입력을 상기 사용자로부터 수신하는 단계;
    상기 적어도 하나의 선택된 항목과 연관되는 메타데이터를 표시하는 단계; 및
    상기 표시된 메타데이터에 대한 사용자의 수정을 위한 제어를 제공하는 단계
    를 포함하는, 방법.
  63. 제61항에 있어서,
    셸 브라우저를 제공하는 단계를 더 포함하고,
    상기 셸 브라우저는
    항목들의 그룹을 표시하고, 상기 표시된 항목들 중 하나 이상의 항목과 연관되는 메타데이터 값들을 더 표시하는 창; 및
    상기 창에 표시되는 상기 메타데이터 값들 중 적어도 일부의 값에 대한 사용자의 수정을 허용하는 편집 제어
    를 포함하는, 방법.
  64. 제61항에 있어서,
    다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들의 이용을 가능하게 하는 단계를 더 포함하고,
    상기 다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들의 이용을 가능하게 하는 단계는,
    상기 다수의 항목 유형을 위한 디폴트 프리뷰어를 갖는 셸 브라우저를 제공하는 단계; 및
    상기 다수의 항목 유형 중 적어도 하나의 항목 유형을 위한 대체 프리뷰어를 제3자가 개발하는 것을 가능하게 하는 확장성 메커니즘을 제공하는 단계
    를 포함하는, 방법.
  65. 제61항에 있어서,
    다수의 항목 유형을 나타내는 복수의 항목을 표시하도록 구성된 셸 브라우저를 제공하는 단계를 더 포함하고,
    상기 셸 브라우저는
    다수의 항목 유형을 위한 표준 레벨의 기능을 제공하는 디폴트 프리뷰어; 및
    상기 다수의 항목 유형 중 하나 이상의 항목 유형을 위한 상기 디폴트 프리뷰어에 의해 제공된 상기 표준 레벨 이상의 기능을 가능하게 하는 확장성 메커니즘
    을 포함하는, 방법.
  66. 삭제
  67. 제61항에 있어서,
    표시를 위해 컴퓨터 시스템에 억세스 가능한 항목들을 선택하기 위한 가상 어드레스 바 사용자 인터페이스 제어를 제공하는 단계를 더 포함하고,
    상기 가상 어드레스 바는 복수의 상호 작용성 세그먼트 - 각각의 상호 작용성 세그먼트는 표시를 위해 항목을 선택하기 위한 필터에 대응함 - 를 포함하는, 방법.
  68. 제61항에 있어서,
    항목들을 필터링하는 단계를 더 포함하고,
    상기 항목들을 필터링하는 단계는,
    하나 이상의 항목을 각각 나타내는 복수의 디스플레이 오브젝트를 상기 디스플레이 상에 제공하는 단계;
    필터 용어에 기초하여 상기 디스플레이 오브젝트들이 나타내는 상기 항목들을 필터링하는 단계; 및
    상기 항목들의 상기 필터링 단계 후에 남은 상기 항목들을 나타내기 위해 상기 디스플레이 상에 제공된 상기 디스플레이 오브젝트들을 수정하는 단계
    를 포함하는, 방법.
  69. 제61항에 있어서,
    상기 항목들의 모음들을 제시하는 단계를 더 포함하고,
    상기 항목들의 집합들을 제시하는 단계는,
    하나 이상의 특정 메타데이터 특성을 갖는 항목들을 포함하도록 라이브러리를 형성하는 단계;
    상기 하나 이상의 특정 메타데이터 특성을 갖는 항목들을 상기 라이브러리에 자동으로 그룹화하는 단계; 및
    상기 라이브러리의 항목들을 조작하기 위한 하나 이상의 툴을 제공하는 단계
    를 포함하는, 방법.
  70. 제61항에 있어서,
    항목들을 표시하는 단계를 더 포함하고,
    상기 항목들을 표시하는 단계는,
    항목들을 가져올 물리적 메모리 위치들의 범위를 정의하는 단계 - 상기 범위는 현재의 컴퓨터 메모리 및 적어도 하나의 다른 물리적 위치를 포함함 - ;
    질의를 수신하고, 상기 질의에 반응하여 상기 범위로 정의된 상기 물리적 위치들로부터 항목들을 가져오는 단계; 및
    상기 디스플레이 상의 뷰에 상기 질의로부터 가져온 상기 항목들을 제시하는 단계
    를 포함하는, 방법.
  71. 가상 어드레스 바를 이용하여 컴퓨터 파일 시스템에 저장된 항목들로의 가상 경로를 제공하기 위한 방법으로서,
    제1 상호 작용성 세그먼트를 포함하도록 동작가능한 가상 어드레스 바를 표시하는 단계 - 상기 제1 상호 작용성 세그먼트는 항목들을 선택하기 위한 대응 필터에 따라 상기 컴퓨터 파일 시스템 상의 항목들을 참조함 - ;
    상기 가상 어드레스 바에 하나 이상의 부가적인 상호 작용성 세그먼트를 추가하는 단계 - 각각의 부가적인 상호 작용성 세그먼트는 선행하는 상기 상호 작용성 세그먼트들에 의해 참조되는 항목들을 더 제한함 - ;
    상기 가상 어드레스 바에서 분리된, 복수의 사용자-선택가능 퀵 링크(user-selectable quick link)를 표시하는 단계 - 각각의 퀵 링크는 상기 항목들의 상이한 하위집합과 연관됨 - ; 및
    상기 퀵 링크들 중 하나의 퀵 링크를 선택하는 사용자에 반응하여, 상기 선택된 퀵 링크와 연관된 항목들의 하위집합을 표시하는 단계
    를 포함하고,
    상기 제1 상호 작용성 세그먼트 및 상기 하나 이상의 부가적인 상호 작용성 세그먼트는 가상 경로를 포함하는, 방법.
  72. 제71항에 있어서,
    필터가 디스플레이 상에 제공되고, 상기 필터는 상기 필터에 의해 특정된 메타데이터 특성에 기초하여 항목들을 필터링하도록 사용자에 의해 선택될 수 있는, 방법.
  73. 삭제
  74. 제71항에 있어서,
    라이브러리가 제공되고, 상기 라이브러리는 항목들의 모음 및 상기 라이브러리의 상기 항목들을 조작하기 위한 일군의 툴을 포함하는, 방법.
  75. 제71항에 있어서,
    가상 폴더의 상기 항목들은 상이한 물리적 위치들의 메모리들에 물리적으로 저장될 수 있는, 방법.
  76. 제75항에 있어서,
    상기 상이한 물리적 위치들은 현재의 컴퓨터와 적어도 하나의 상이한 컴퓨터, 네트워크 상의 위치 및 외부 저장 장치를 포함하는, 방법.
  77. 제71항에 있어서,
    상기 항목들은 파일 항목들 및 비-파일 항목들 양자를 포함하는, 방법.
  78. 제77항에 있어서,
    상기 비-파일 항목들은 연락처들 또는 이메일들 중 적어도 하나를 포함하는, 방법.
  79. 제71항에 있어서,
    사용자가 셸 브라우저 내의 메타데이터를 수정하도록 하는 단계를 더 포함하고,
    상기 사용자가 셸 브라우저 내의 메타데이터를 수정하도록 하는 단계는,
    복수의 항목을 표시하는 단계;
    적어도 하나의 표시된 항목의 선택을 나타내는 제1 입력을 상기 사용자로부터 수신하는 단계;
    상기 적어도 하나의 선택된 항목과 연관되는 메타데이터를 표시하는 단계; 및
    상기 표시된 메타데이터에 대한 사용자의 수정을 위한 제어를 제공하는 단계
    를 포함하는, 방법.
  80. 제71항에 있어서,
    다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들의 이용을 가능하게 하는 단계를 더 포함하고,
    상기 다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들의 이용을 가능하게 하는 단계는,
    상기 다수의 항목 유형을 위한 디폴트 프리뷰어를 갖는 셸 브라우저를 제공하는 단계; 및
    상기 다수의 항목 유형 중 적어도 하나의 항목 유형을 위한 대체 프리뷰어를 제3자가 개발하는 것을 가능하게 하는 확장성 메커니즘을 제공하는 단계
    를 포함하는, 방법.
  81. 사용자가 셸 브라우저 내의 메타데이터를 수정하도록 하기 위한 컴퓨터 구현 방법으로서,
    복수의 항목을 표시하는 단계;
    적어도 하나의 표시된 항목의 선택을 나타내는 제1 입력을 상기 사용자로부터 수신하는 단계;
    상기 적어도 하나의 선택된 항목과 연관되는 메타데이터를 표시하는 단계;
    사용자의 호버링 입력에 반응하여, 상기 표시된 메타데이터에 대한 사용자의 수정을 위한 제어를 표시하는 단계; 및
    컴퓨터 파일 시스템에 저장된 항목들로의 가상 경로를 제공하기 위한 가상 어드레스 바를 제공하는 단계
    를 포함하고,
    상기 가상 어드레스 바를 제공하는 단계는,
    제1 상호 작용성 세그먼트를 포함하도록 동작가능한 가상 어드레스 바를 표시하는 단계 - 상기 제1 상호 작용성 세그먼트는 항목들을 선택하기 위한 대응 필터에 따라 상기 컴퓨터 파일 시스템 상의 항목들을 참조함 - ; 및
    상기 가상 어드레스 바에 하나 이상의 부가적인 상호 작용성 세그먼트를 추가하는 단계 - 각각의 부가적인 상호 작용성 세그먼트는 선행하는 상기 상호 작용성 세그먼트들에 의해 참조되는 항목들을 더 제한하고, 상기 제1 상호 작용성 세그먼트 및 상기 하나 이상의 부가적인 상호 작용성 세그먼트는 가상 경로를 포함함 -
    를 포함하는, 방법.
  82. 제81항에 있어서,
    필터가 디스플레이 상에 제공되고, 상기 필터는 상기 필터에 의해 특정된 메타데이터 특성에 기초하여 항목들을 필터링하도록 사용자에 의해 선택될 수 있는, 방법.
  83. 제81항에 있어서,
    퀵 링크가 디스플레이 상에 제공되고, 상기 퀵 링크는 항목들의 특정 모음을 보기 위해 사용자에 의해 선택될 수 있는, 방법.
  84. 제81항에 있어서,
    라이브러리가 제공되고, 상기 라이브러리는 항목들의 모음 및 상기 라이브러리의 상기 항목들을 조작하기 위한 일군의 툴을 포함하는, 방법.
  85. 제81항에 있어서,
    가상 폴더의 상기 항목들은 상이한 물리적 위치들의 메모리들에 물리적으로 저장될 수 있는, 방법.
  86. 제85항에 있어서,
    상기 상이한 물리적 위치들은 현재의 컴퓨터와 적어도 하나의 상이한 컴퓨터, 네트워크 상의 위치 및 외부 저장 장치를 포함하는, 방법.
  87. 제81항에 있어서,
    상기 항목들은 파일 항목들 및 비-파일 항목들 양자를 포함하는, 방법.
  88. 제87항에 있어서,
    상기 비-파일 항목들은 연락처들 또는 이메일들 중 적어도 하나를 포함하는, 방법.
  89. 삭제
  90. 제81항에 있어서,
    표시를 위해 컴퓨터 시스템에 억세스 가능한 항목을 선택하기 위한 가상 어드레스 바 사용자 인터페이스 제어를 제공하는 단계를 더 포함하고,
    상기 가상 어드레스 바는 복수의 상호 작용성 세그먼트를 포함하고, 각각의 상호 작용성 세그먼트는 표시를 위해 항목들을 선택하기 위한 필터에 대응하는, 방법.
  91. 다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들의 이용을 가능하게 하는 컴퓨터 구현 방법으로서,
    상기 다수의 항목 유형을 위한 디폴트 프리뷰어를 갖는 셸 브라우저를 운영 체제에 제공하는 단계;
    상기 다수의 항목 유형 중 적어도 하나의 항목 유형을 위해 상기 셸 브라우저에서 동작하는 대체 프리뷰어를 제3자가 개발하는 것을 가능하게 하는 확장성 메커니즘을 제공하는 단계; 및
    컴퓨터 파일 시스템에 저장된 항목들로의 가상 경로를 제공하기 위한 가상 어드레스 바를 제공하는 단계
    를 포함하고,
    상기 가상 어드레스 바를 제공하는 단계는,
    제1 상호 작용성 세그먼트를 포함하도록 동작하는 가상 어드레스 바를 표시하는 단계 - 상기 제1 상호 작용성 세그먼트는 항목들을 선택하기 위한 대응 필터에 따라 상기 컴퓨터 파일 시스템 상의 항목들을 참조함 - ; 및
    상기 가상 어드레스 바에 하나 이상의 부가적인 상호 작용성 세그먼트를 추가하는 단계 - 각각의 부가적인 상호 작용성 세그먼트는 선행하는 상기 상호 작용성 세그먼트들에 의해 참조되는 항목들을 더 제한하고, 상기 제1 상호 작용성 세그먼트 및 상기 하나 이상의 부가적인 상호 작용성 세그먼트는 가상 경로를 포함함 -
    를 포함하는, 방법.
  92. 제91항에 있어서,
    필터가 디스플레이 상에 제공되고, 상기 필터는 상기 필터에 의해 특정된 메타데이터 특성에 기초하여 항목들을 필터링하도록 사용자에 의해 선택될 수 있는, 방법.
  93. 제91항에 있어서,
    퀵 링크가 디스플레이 상에 제공되고, 상기 퀵 링크는 항목들의 특정 모음을 보기 위해 사용자에 의해 선택될 수 있는, 방법.
  94. 제91항에 있어서,
    라이브러리가 제공되고, 상기 라이브러리는 항목들의 모음 및 상기 라이브러리의 상기 항목들을 조작하기 위한 일군의 툴을 포함하는, 방법.
  95. 제91항에 있어서,
    가상 폴더의 상기 항목들은 상이한 물리적 위치들의 메모리들에 물리적으로 저장될 수 있는, 방법.
  96. 제95항에 있어서,
    상기 상이한 물리적 위치들은 현재의 컴퓨터와 적어도 하나의 상이한 컴퓨터, 네트워크 상의 위치 및 외부 저장 장치를 포함하는, 방법.
  97. 제91항에 있어서,
    상기 항목들은 파일 항목들 및 비-파일 항목들 양자를 포함하는, 방법.
  98. 제97항에 있어서,
    상기 비-파일 항목들은 연락처들 또는 이메일들 중 적어도 하나를 포함하는, 방법.
  99. 삭제
  100. 제91항에 있어서,
    표시를 위해 컴퓨터 시스템에 억세스 가능한 항목을 선택하기 위한 가상 어드레스 바 사용자 인터페이스 제어를 제공하는 단계를 더 포함하고,
    상기 가상 어드레스 바는 복수의 상호 작용성 세그먼트를 포함하고, 각각의 상호 작용성 세그먼트는 표시를 위해 항목들을 선택하기 위한 필터에 대응하는, 방법.
  101. 복수의 상이한 유형으로 되어 있는 항목들을 저장하기 위한 메모리 및 디스플레이를 갖는 컴퓨터 시스템에서, 상기 항목들의 라이브러리들을 제시하기 위한 방법으로서,
    유사한 유형들의 항목들을 포함하기 위한 라이브러리들을 제공하는 단계;
    상기 라이브러리들 각각을 위한 유사한 일군의 UI 특징을 제공하는 단계 - 상기 일군의 UI 특징은 사용자 호버링 입력에 반응하여 표시되는 상기 항목들 중 하나의 항목의 메타데이터를 수정하기 위한 제어를 포함하고, 상기 일군의 UI 특징은 상기 항목들 중 적어도 일부의 항목과 연관된 복수의 메타데이터의 시순환 샘플을 표시하는 제어를 더 포함함 - ; 및
    컴퓨터 파일 시스템에 저장된 항목들로의 가상 경로를 제공하기 위한 가상 어드레스 바를 제공하는 단계
    를 포함하고,
    상기 가상 어드레스 바를 제공하는 단계는,
    제1 상호 작용성 세그먼트를 포함하도록 동작하는 가상 어드레스 바를 표시하는 단계 - 상기 제1 상호 작용성 세그먼트는 항목들을 선택하기 위한 대응 필터에 따라 상기 컴퓨터 파일 시스템 상의 항목들을 참조함 - ; 및
    상기 가상 어드레스 바에 하나 이상의 부가적인 상호 작용성 세그먼트를 추가하는 단계 - 각각의 부가적인 상호 작용성 세그먼트는 선행하는 상기 상호 작용성 세그먼트들에 의해 참조되는 항목들을 더 제한하고, 상기 제1 상호 작용성 세그먼트 및 상기 하나 이상의 부가적인 상호 작용성 세그먼트는 가상 경로를 포함함 -
    를 포함하는, 방법.
  102. 제101항에 있어서,
    상기 상이한 유형들은 문서, 이미지 및 음악 중 적어도 둘을 포함하는, 방법.
  103. 삭제
  104. 제101항에 있어서,
    상기 유사한 일군의 UI 특징은 새로운 카테고리들을 생성하기 위한 특징을 포함하는, 방법.
  105. 삭제
  106. 제101항에 있어서,
    상기 유사한 일군의 UI 특징은 상기 항목들이 표시되는 방식을 변경하기 위한 특징을 포함하는, 방법.
  107. 제101항에 있어서,
    상기 라이브러리들은 유사한 유형들의 항목들을 포함하는 것 외에도 상이한 유형들의 항목들을 또한 포함할 수 있는, 방법.
  108. 삭제
  109. 제101항에 있어서,
    셸 브라우저를 제공하는 단계를 더 포함하고,
    상기 셸 브라우저는
    항목들의 그룹을 표시하고, 상기 표시된 항목들 중 하나 이상의 항목과 연관되는 메타데이터 값들을 더 표시하는 창; 및
    상기 창에 표시되는 상기 메타데이터 값들 중 적어도 일부의 값에 대한 사용자의 수정을 허용하는 편집 제어
    를 포함하는, 방법.
  110. 제101항에 있어서,
    다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들의 이용을 가능하게 하는 단계를 더 포함하고,
    상기 다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어들의 이용을 가능하게 하는 단계는,
    상기 다수의 항목 유형을 위한 디폴트 프리뷰어를 갖는 셸 브라우저를 제공하는 단계; 및
    상기 다수의 항목 유형 중 적어도 하나의 항목 유형을 위한 대체 프리뷰어를 제3자가 개발하는 것을 가능하게 하는 확장성 메커니즘을 제공하는 단계
    를 포함하는, 방법.
  111. 제101항에 있어서,
    다수의 항목 유형을 나타내는 복수의 항목을 표시하도록 구성된 셸 브라우저를 제공하는 단계를 더 포함하고,
    상기 셸 브라우저는
    다수의 항목 유형을 위한 표준 레벨의 기능을 제공하는 디폴트 프리뷰어; 및
    상기 다수의 항목 유형 중 하나 이상의 항목 유형을 위한 상기 디폴트 프리뷰어에 의해 제공된 상기 표준 레벨 이상의 기능을 가능하게 하는 확장성 메커니즘
    을 포함하는, 방법.
  112. 삭제
  113. 제101항에 있어서,
    표시를 위해 컴퓨터 시스템에 억세스 가능한 항목을 선택하기 위한 가상 어드레스 바 사용자 인터페이스 제어를 제공하는 단계를 더 포함하고,
    상기 가상 어드레스 바는 복수의 상호 작용성 세그먼트를 포함하고, 각 상호 작용성 세그먼트는 표시를 위해 항목들을 선택하기 위한 필터에 대응하는, 방법.
  114. 제101항에 있어서,
    항목들을 필터링하는 단계를 더 포함하고,
    상기 항목들을 필터링하는 단계는,
    하나 이상의 항목을 각각 나타내는 복수의 디스플레이 오브젝트를 상기 디스플레이 상에 제공하는 단계;
    필터 용어에 기초하여 상기 디스플레이 오브젝트들이 나타내는 상기 항목들을 필터링하는 단계; 및
    상기 항목들의 상기 필터링 단계 후에 남은 상기 항목들을 나타내기 위해 상기 디스플레이 상에 제공된 상기 디스플레이 오브젝트들을 수정하는 단계
    를 포함하는, 방법.
  115. 제101항에 있어서,
    항목들을 표시하는 단계를 더 포함하고,
    상기 항목들을 표시하는 단계는,
    항목들을 가져올 물리적 메모리 위치들의 범위를 정의하는 단계 - 상기 범위는 현재의 컴퓨터 메모리 및 적어도 하나의 다른 물리적 위치를 포함함 - ;
    질의를 수신하고, 상기 질의에 반응하여 상기 범위로 정의된 상기 물리적 위치들로부터 항목들을 가져오는 단계; 및
    상기 디스플레이 상의 뷰에 상기 질의로부터 가져온 상기 항목들을 제시하는 단계
    를 포함하는, 방법.
  116. 제101항에 있어서,
    상기 항목들을 사용자에게 나타내는 단계를 더 포함하고,
    상기 항목들을 사용자에게 나타내기 위한 단계는
    비-파일 항목들 및 파일 항목들 양자가 질의에 의해 검색되도록 하는 데이터베이스를 제공하는 단계;
    질의를 수신하고, 상기 질의에 반응하여 상기 질의와 일치하는 비-파일 항목들 및 파일 항목들 양자를 가져오는 단계; 및
    상기 질의와 일치하는 상기 비-파일 항목들 및 파일 항목들 양자를 상기 디스플레이 상에 제시하는 단계
    를 포함하는, 방법.
  117. 삭제
  118. 삭제
  119. 삭제
  120. 삭제
  121. 삭제
  122. 삭제
  123. 삭제
  124. 삭제
KR1020047010366A 2003-05-16 2003-05-16 파일 시스템 셸 KR100991027B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2003/015610 WO2004107151A1 (en) 2003-05-16 2003-05-16 File system shell

Publications (2)

Publication Number Publication Date
KR20060061734A KR20060061734A (ko) 2006-06-08
KR100991027B1 true KR100991027B1 (ko) 2010-10-29

Family

ID=33449009

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047010366A KR100991027B1 (ko) 2003-05-16 2003-05-16 파일 시스템 셸

Country Status (12)

Country Link
EP (1) EP1629367A4 (ko)
JP (1) JP4378292B2 (ko)
KR (1) KR100991027B1 (ko)
CN (1) CN1613047B (ko)
AU (1) AU2003233558B8 (ko)
BR (1) BR0306693A (ko)
CA (1) CA2469163C (ko)
IL (2) IL162163A0 (ko)
MX (1) MXPA04006410A (ko)
NO (1) NO20042743L (ko)
RU (1) RU2009130955A (ko)
WO (1) WO2004107151A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421438B2 (en) 2004-04-29 2008-09-02 Microsoft Corporation Metadata editing control
US7712034B2 (en) 2003-03-24 2010-05-04 Microsoft Corporation System and method for shell browser
US7627552B2 (en) 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7240292B2 (en) 2003-04-17 2007-07-03 Microsoft Corporation Virtual address bar user interface control
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7827561B2 (en) 2003-03-26 2010-11-02 Microsoft Corporation System and method for public consumption of communication events between arbitrary processes
US8024335B2 (en) 2004-05-03 2011-09-20 Microsoft Corporation System and method for dynamically generating a selectable search extension
US8707209B2 (en) 2004-04-29 2014-04-22 Microsoft Corporation Save preview representation of files being created
US20060195467A1 (en) * 2005-02-25 2006-08-31 Microsoft Corporation Creation and composition of sets of items
US7596760B2 (en) 2005-04-07 2009-09-29 Microsoft Corporation System and method for selecting a tab within a tabbed browser
US8522154B2 (en) * 2005-04-22 2013-08-27 Microsoft Corporation Scenario specialization of file browser
KR100763180B1 (ko) * 2005-06-09 2007-10-04 삼성전자주식회사 메타 데이터를 이용한 브라우징 방법 및 장치
US7665028B2 (en) 2005-07-13 2010-02-16 Microsoft Corporation Rich drag drop user interface
KR100713534B1 (ko) * 2005-09-08 2007-04-30 삼성전자주식회사 이동 통신 단말의 사용자 데이터 검색 방법
CN100407204C (zh) * 2005-11-17 2008-07-30 腾讯科技(深圳)有限公司 一种标注计算机资源的方法及其系统
US7797638B2 (en) * 2006-01-05 2010-09-14 Microsoft Corporation Application of metadata to documents and document objects via a software application user interface
JP4674726B2 (ja) * 2006-09-21 2011-04-20 株式会社ソニー・コンピュータエンタテインメント ファイルの管理方法および情報処理装置
CN101685507A (zh) * 2008-09-25 2010-03-31 袁小伟 用户体验研究项目中处理项目数据和研究数据的方法
WO2011108030A1 (en) 2010-03-05 2011-09-09 Hitachi, Ltd. Computer system and recording medium using a virtual file system in a hierarchical storage management
CN102436450A (zh) * 2010-09-29 2012-05-02 腾讯科技(深圳)有限公司 定位文件夹的方法和装置
US20120297344A1 (en) * 2011-05-22 2012-11-22 Microsoft Corporation Search and browse hybrid
KR101851241B1 (ko) 2011-12-06 2018-04-24 삼성전자 주식회사 휴대 단말기의 컨텐츠 통합 관리 방법 및 장치
JP6043899B2 (ja) * 2012-04-26 2016-12-14 野田 正嗣 情報管理装置並びに情報検索方法
CN103902609A (zh) * 2012-12-28 2014-07-02 腾讯科技(深圳)有限公司 一种文件展示的方法及装置
KR102063915B1 (ko) * 2013-03-14 2020-01-08 삼성전자주식회사 사용자 기기 및 그 동작 방법
US10824291B2 (en) 2014-07-31 2020-11-03 Samsung Electronics Co., Ltd. Device and method of displaying windows by using work group
US10452850B2 (en) 2014-08-18 2019-10-22 International Business Machines Corporation Protected shell for risk validation
CN109271091A (zh) * 2018-10-15 2019-01-25 郑机 一种文件管理系统及方法
JP7430126B2 (ja) * 2020-09-01 2024-02-09 シャープ株式会社 情報処理装置、印刷システム、制御方法及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504852A (en) * 1991-09-09 1996-04-02 Apple Computer, Inc. Method for creating a collection of aliases representing computer system files
JPH08506911A (ja) * 1992-11-23 1996-07-23 パラゴン、コンセプツ、インコーポレーテッド ファイル・アクセスを行うためにユーザーがカテゴリを選択するコンピュータ・ファイリング・システム
US5831606A (en) * 1994-12-13 1998-11-03 Microsoft Corporation Shell extensions for an operating system
US5987454A (en) * 1997-06-09 1999-11-16 Hobbs; Allen Method and apparatus for selectively augmenting retrieved text, numbers, maps, charts, still pictures and/or graphics, moving pictures and/or graphics and audio information from a network resource
US6466238B1 (en) * 1998-06-30 2002-10-15 Microsoft Corporation Computer operating system that defines default document folder for application programs
IL133550A0 (en) * 1998-12-17 2001-04-30 Picom Software Systems Ltd Intranet-based cataloguing and publishing system and method
US6519603B1 (en) * 1999-10-28 2003-02-11 International Business Machine Corporation Method and system for organizing an annotation structure and for querying data and annotations
US6745206B2 (en) * 2000-06-05 2004-06-01 International Business Machines Corporation File system with access and retrieval of XML documents
US6839721B2 (en) * 2001-01-12 2005-01-04 Hewlett-Packard Development Company, L.P. Integration of a database into file management software for protecting, tracking, and retrieving data
US7240292B2 (en) * 2003-04-17 2007-07-03 Microsoft Corporation Virtual address bar user interface control

Also Published As

Publication number Publication date
AU2003233558A1 (en) 2005-01-21
WO2004107151A1 (en) 2004-12-09
AU2003233558B8 (en) 2010-01-21
IL162163A (en) 2010-04-29
CN1613047A (zh) 2005-05-04
BR0306693A (pt) 2005-02-09
JP4378292B2 (ja) 2009-12-02
MXPA04006410A (es) 2005-02-14
IL162163A0 (en) 2005-11-20
EP1629367A1 (en) 2006-03-01
RU2009130955A (ru) 2011-02-20
CN1613047B (zh) 2011-05-04
KR20060061734A (ko) 2006-06-08
AU2003233558B2 (en) 2009-12-10
CA2469163C (en) 2012-04-24
EP1629367A4 (en) 2008-04-23
NO20042743L (no) 2004-08-17
JP2006526182A (ja) 2006-11-16
CA2469163A1 (en) 2004-11-16

Similar Documents

Publication Publication Date Title
KR100991027B1 (ko) 파일 시스템 셸
US7409644B2 (en) File system shell
KR100984400B1 (ko) 공통 요소에 기초하여 아이템들을 필터링하고 편성하기위한 시스템 및 방법
KR100996763B1 (ko) 가상 폴더들을 사용하는 시스템 및 방법
KR101203274B1 (ko) 파일 시스템 쉘
KR100977360B1 (ko) 다른 유형의, 다른 물리적 위치의 항목들을디스플레이하기 위한 파일 시스템
US8397246B2 (en) Browsing or searching user interfaces and other aspects
KR101083533B1 (ko) 쉘 브라우저 내에서의 메타데이터의 사용자 변경을 위한시스템 및 방법
KR101120755B1 (ko) 정적 및 동적 리스트의 사용을 포함하는 가상 폴더 및 항목 공유 시스템 및 방법
US8607166B2 (en) Browsing or searching user interfaces and other aspects
US20150186399A1 (en) Browsing or searching user interfaces and other aspects
US8762887B2 (en) Browsing or searching user interfaces and other aspects
US20110055759A1 (en) Browsing or Searching User Interfaces and Other Aspects
US20050246643A1 (en) System and method for shell browser
US20080307363A1 (en) Browsing or Searching User Interfaces and Other Aspects
US20050289108A1 (en) Methods and systems for managing data
NZ533296A (en) File system shell
WO2004072864A1 (en) Dynamically configurable file display system
HRP20040440A2 (en) File system shell
ZA200404250B (en) File system shell

Legal Events

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

Payment date: 20130927

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151002

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160929

Year of fee payment: 7