KR100977360B1 - 다른 유형의, 다른 물리적 위치의 항목들을디스플레이하기 위한 파일 시스템 - Google Patents

다른 유형의, 다른 물리적 위치의 항목들을디스플레이하기 위한 파일 시스템 Download PDF

Info

Publication number
KR100977360B1
KR100977360B1 KR1020047009814A KR20047009814A KR100977360B1 KR 100977360 B1 KR100977360 B1 KR 100977360B1 KR 1020047009814 A KR1020047009814 A KR 1020047009814A KR 20047009814 A KR20047009814 A KR 20047009814A KR 100977360 B1 KR100977360 B1 KR 100977360B1
Authority
KR
South Korea
Prior art keywords
items
file
query
physical
display
Prior art date
Application number
KR1020047009814A
Other languages
English (en)
Other versions
KR20050115819A (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 KR20050115819A publication Critical patent/KR20050115819A/ko
Application granted granted Critical
Publication of KR100977360B1 publication Critical patent/KR100977360B1/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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

다른 유형의, 다른 물리적 위치의 항목들을 디스플레이하기 위한 파일 시스템이 제공된다. 본 발명의 한 양태에 따르면, 광범위한 항목들을 이용할 수 있게 된다. 즉, 본 시스템은 사용자에게 모든 항목들이 한 위치로부터 제공되는 것으로 보이도록 다수의 물리적 위치(예컨대, 상이한 하드 드라이브들, 상이한 컴퓨터들, 상이한 네트워크 위치들 등)로부터의 항목들을 나타낼 수 있다. 파일 시스템은 가상 폴더를 사용한다. 가상 폴더는 디스크 상의 실제의 물리적 기초 파일 시스템 구조 대신에 그들의 메타데이터에 기초하여 여러 뷰에서 계통적인 파일 및 폴더를 사용자에게 보여준다. 본 발명의 다른 형태에 따르면, 비파일 항목들은 가상 폴더들에 표시될 수 있다. 즉, 메모리에 저장된 파일들은 물리적 저장소에 위치한다. 가상 폴더들은 현재 물리적 저장소에 표시되지 않은 항목들을 포함하도록 만들어질 수 있다. 비파일 항목들의 예는 이메일과 콘택이다.
Figure R1020047009814
파일 시스템, 물리적 위치, 항목, 비파일 항목, 이메일

Description

다른 유형의, 다른 물리적 위치의 항목들을 디스플레이하기 위한 파일 시스템{FILE SYSTEM FOR DISPLAYING ITEMS OF DIFFERENT TYPES AND FROM DIFFERENT PHYSICAL LOCATIONS}
본 발명은 파일 시스템에 관한 것으로서, 보다 상세하게는 다른 유형의, 다른 물리적 위치의 항목들을 디스플레이하기 위한 파일 시스템에 관한 것이다.
현재의 컴퓨터 파일 시스템은 바람직하지 않은 많은 제한을 갖고 있다. 그 중 하나는 일반적으로 사용자들이 파일 시스템이 보여지는 구조를 제어할 수 없다는 것이다. 즉, 폴더가 조직화될 때, 사용자는 구조를 선택해야 하며, 그 구조는 변경하기 어렵다. 특정 예로서, "음악" 폴더에 대해, 사용자는 아티스트/앨범 포맷으로 음악 파일들을 조직화하도록 선택할 수 있으며, 각 아티스트에 대한 앨범 폴더들 모두는 특정 아티스트 폴더로 그룹화되고, 특정 앨범 상의 노래들 모두는 앨범 폴더로 그룹화된다. 아티스트/앨범 포맷은 한 유형의 음악을 연주하는 데(예컨대 두 다른 아티스트로부터의 두 재즈 음악을 연주하는 데), 또는 다른 아티스트들로부터의 앨범들의 선택을 연주하는 데 도움이 되지 않는다.
다른 문제로서, 사용자는 조직화되기 어려운 많은 수의 파일을 가질 수 있다. 일부 사용자들은 파일들에 대해 경직된 감각의 배치를 행하여 파일들에 대한 엄격한 체계를 생성한다. 이러한 파일의 관리는 유효 문서의 수가 증가함에 따라 점점 복잡하고 어렵게 되었으며 검색 또한 어렵게 되었다. 이러한 문제는 공유 파일 등과 같이 다른 위치로부터 추가 파일이 이용될 때 더욱 커진다.
사용자는 또한 다른 장치, 다른 PC 또는 온라인과 같은 다른 위치에 있는 파일을 처리해야 한다. 예컨대, 사용자는 (음악 프로그램에 액세스할 수 있는) 컴퓨터 상에서 음악을 듣기 위해 선택하거나 온라인에 들어가 웹사이트로부터 음악을 들을 수 있으나, 이러한 두 가지 소스 사이에는 엄격한 차이가 존재한다. 다른 위치로부터 나오는 음악은 다르게 조직화되며, 동일 방식 또는 장소에 유지되지 않는다. 다른 예로서, 회사 네트워크에 저장된 파일들은 사용자가 현재 컴퓨터 상에 갖고 있는 파일들로부터 내재적으로 구분될 수 있다.
또한, 사용자는 어떤 파일 데이터가 저장되어 있는지, 어디에 저장되어 있는지를 계속해서 추적해야 한다. 예컨대, 음악 파일들에 대해, 사용자는 다양한 시스템 상에 복사본을 유지해야 하며, 어떤 음악 파일들이 어느 곳에 위치하는지를 추적해야 한다. 이는 파일들이 국부적으로 저장되어 있는 경우에도 파일을 찾기 어렵게 할 수 있다.
또한, 종종 사용자가 갖고 있는 파일을 찾아 리턴하기가 어렵다. 사용자는 특정 파일들이 어디에 어떻게 저장되어 있는지를 상기하는 것이 어렵다는 것을 발견할 수 있다. 한 세트의 폴더, 심지어 한 그룹의 유사 파일들이 주어질 때, 사용자는 종종 자신이 찾고 있는 파일을 빨리 발견하는 것이 어렵다는 것을 알게 된다. 찾기 어려운 장소에 저장된 파일을 찾는 것은 훨씬 더 복잡하다. 또한, 사용자가 폴더에 충분한 파일을 갖고 있는 경우, 특히 내용들이 유사한 경우에는 폴더를 빠르게 분석하기가 더 어렵게 된다.
또한, 종종 사용자가 네트워크 상에서 파일을 찾아 리턴하는 것은 어렵다. 파일을 공유하고 공개하는 것은 종종 행하기 어려우며, 파일을 이용할 수 있게 해주는 누군가로부터 파일을 검색하는 것은 종종 더 어려울 수 있다. 통상적으로 사용자들은 그들이 네트워크 상에서 파일을 찾는 데 필요한 각종 사이트 및 이름을 기억하거나 맵핑해야 한다.
이름 공간은 변할 수 있으며, 이는 사용자에게 무엇이 올바른 것인지에 대한 혼란을 일으키게 된다. 이것은 특히 상이한 명명 규정, 제한 등이 존재하는 네트워크 상에서 그러하다. 예컨대, 어떤 오퍼레이팅 시스템은 이름이 보여질 수 있도록 공간이 없는 짧은 이름을 요구할 수 있다.
또한, 프로그램들은 종종 파일을 그들 자신의 디렉토리 또는 다른 이름 공간에 저장하는데, 이는 사용자가 파일로의 경로를 찾기 어렵게 만들 수 있다. 프로그램들은 종종 문서를 저장하는 디폴트 디렉토리 및 장소를 갖는다. 사용자는 종종 하드 디스크를 검색하여 파일이 어디에 저장되어 있는지를 추측해야 한다.
또한, 관련 항목들이 종종 개별 장소에 저장된다. 사용자가 가진 관련 파일들은 하드 디스크 등의 다른 부분에 저장될 수 있다. 이러한 문제는 다수의 콘텐츠 유형(예컨대, 그림, 음악, 비디오)을 가진 디지털 미디어 서비스의 개발과 함께 더 일반적이 되었다.
본 발명은 전술한 단점 및 다른 단점들을 극복할 수 있는 시스템 및 방법을 제공하고자 한다. 보다 구체적으로, 본 발명은 다른 유형의, 다른 물리적 위치의 항목들을 디스플레이하기 위한 파일 시스템에 관련된다.
<발명의 요약>
다른 유형의, 다른 물리적 위치의 항목들을 디스플레이하기 위한 파일 시스템이 제공된다. 본 발명의 한 양태에 따르면, 광범위한 항목들을 이용할 수 있게 된다. 즉, 본 시스템은 사용자에게 모든 항목들이 한 위치로부터 제공되는 것으로 보이도록 다수의 물리적 위치(예컨대, 상이한 하드 드라이브들, 상이한 컴퓨터들, 상이한 네트워크 위치들 등)로부터의 항목들을 나타낼 수 있다. 예컨대, 사용자는 파일들이 상이한 하드 드라이브들, 상이한 컴퓨터들, 또는 상이한 네트워크 위치들에 물리적으로 저장될 수 있는 경우에도 단일 화면에 음악 파일 모두를 함께 표시할 수 있으며, 하나의 뷰(view)로부터 파일 모두를 조작할 수 있다.
본 발명의 다른 양태에 따르면, 디스플레이를 가진 컴퓨터 시스템에 항목들을 디스플레이하기 위한 방법에서 범위가 이용된다. 본 방법은 항목이 인출되는 물리적 메모리 위치의 범위를 정의하는 단계를 포함하는데, 이 범위는 현재의 컴퓨터 메모리 및 적어도 하나의 다른 물리적 위치를 포함한다. 쿼리를 수신하면, 쿼리에 응답하여 상기 범위에 정의된 물리적 위치로부터 항목들이 인출되며, 쿼리로부터 인출된 항목들은 디스플레이 상의 하나의 뷰에 표시된다. 한 실시예에서, 적어도 하나의 다른 물리적 위치는 다른 컴퓨터, 네트워크 상의 위치, 또는 외부 저장 장치일 수 있다. 한 실시예에서, 디스플레이 상의 뷰는 항목들이 물리적으로 저장되는 물리적 위치를 나타내는 물리적 폴더 뷰로 전환될 수 있다.
본 발명의 또 다른 양태에 따르면, 비파일 항목들(non-file items)은 가상 폴더에 표시될 수 있다. 즉, 메모리에 저장된 파일들은 물리적 저장소에 위치한다. 가상 폴더는 현재 물리적 저장소에 표시되지 않은 항목들을 포함하도록 만들어질 수 있다. 비파일 항목들의 예로는 이메일 및 콘택(contact)이 있다.
본 발명의 또 다른 양태에 따르면, 비파일 항목들을 표시하기 위한 방법이 디스플레이와 항목 저장 메모리를 갖춘 컴퓨터 시스템에서 구현된다. 본 방법은 비파일 항목 및 파일 항목 모두가 쿼리에 의해 검색될 수 있는 데이터베이스를 제공하는 단계를 포함한다. 쿼리를 수신하면, 쿼리에 매칭되는 비파일 항목 및 파일 항목이 인출된 다음, 디스플레이 상에 표시된다. 일 실시예에서, 파일 항목들에 대한 선택된 정보를 포함하고 소정의 비파일 항목들을 완전한 상태로 유지할 수 있는 관계형 데이터베이스가 제공된다.
본 발명의 또 다른 양태에 따르면, 항목들은 가상 폴더에서 사용자에게 표시된다. 가상 폴더는 디스크 상의 실제의 물리적 기초 파일 시스템 구조 대신에 메타데이타에 기초하여 여러 뷰에서 사용자에게 항목들을 보여준다. 따라서, 시스템은 데이터베이스에 저장된 특성을 취하여 폴더와 같은 콘테이너로서 나타낼 수 있다. 사용자는 이미 폴더로 작업하는 것에 친숙하기 때문에 유사한 방식으로 가상 폴더를 나타냄으로써 새로운 시스템에 보다 빠르게 적응할 수 있다.
본 발명의 또 다른 양태에 따르면, 사용자는 직접적인 조작을 통해 가상 폴더로 작업할 수 있다. 즉, 가상 폴더를 조작하기 위해 제공되는 메카니즘은 통상의 물리적 폴더를 조작하기 위해 현재 사용되는 메카니즘(예컨대, 클릭 및 드래그, 복사, 붙이기 등)과 유사하다.
본 발명의 또 다른 양태에 따르면, 가상 폴더를 조작하기 위한 필터가 제공된다. 필터는 기본적으로 항목들의 세트를 축소하기 위한 도구이다. 한 실시예에서, 필터는 개별 항목들의 특성에 기초하여 동적으로 생성된다. 예컨대, 항목 세트에 대해 필터 메카니즘은 특성을 리뷰할 수 있으며, 일반적으로 항목들이 "저작자"를 특성으로 갖는 경우, 필터는 저작자 리스트를 제공할 수 있다. 그러면 특정 저작자를 클릭함으로써 저작자를 갖지 않은 항목들이 사라지게 된다. 이는 사용자가 콘텐츠를 축소할 수 있게 한다.
본 발명의 또 다른 양태에 따르면, 고속 링크가 제공된다. 일 실시예에서, 고속 링크는 항목 세트의 유용한 뷰를 생성하기 위해 클릭될 수 있는 소정 링크 세트(예컨대 디스플레이의 좌측에 위치)이다. 이들은 프로그램에 의해 미리 정해지거나 사용자에 의해 설정될 수 있다. 예컨대, "모든 저작자"를 클릭하는 것은 저작자들에 의해 스택된 뷰를 리턴할 수 있다. "모든 문서"는 저장 영역 모두에 걸쳐 모든 문서의 플랫 뷰를 리턴할 수 있다. 사용자는 또한 그 자신의 고속 링크를 생성할 수 있다. 예컨대, 사용자는 2003년 1월에 수정한 문서 모두에 대해 필터링한 다음 그것을 고속 링크로서 저장할 수 있다.
본 발명의 또 다른 양태에 따르면, 라이브러리가 제공된다. 라이브러리는 함께 연관될 수 있는 이용가능한 파일 유형들의 대 그룹으로 이루어진다. 예컨대, 사진은 하나의 라이브러리일 수 있고, 음악은 다른 라이브러리일 수 있으며, 문서는 또 다른 라이브러리일 수 있다. 라이브러리는 특정 유형의 항목에 관련된 도구 와 활동을 제공한다. 예컨대, 사진 라이브러리에는 슬라이드 쇼를 생성하거나 그림을 공유하기 위한 것과 같이 사진을 조작하는 것과 관련된 도구 및 필터가 존재한다.
본 발명의 전술한 양태들 및 많은 이점들은 첨부된 도면들과 관련하여 이루어진 아래의 상세한 설명을 참조할 때 잘 이해될 것이다.
도 1은 본 발명을 구현하는 데 적당한 범용 컴퓨터 시스템의 블록도.
도 2는 본 발명에 따른 가상 폴더 시스템의 블록도.
도 3은 사용자가 선택된 파일 및 폴더를 인출하는 쿼리를 제공하는 루틴의 흐름도.
도 4는 디폴트 쿼리 또는 사용자의 쿼리에 따라 가상 폴더가 구축되어 화면에 표시되는 루틴의 흐름도.
도 5는 하드 드라이브 상의 물리적 폴더 배열에 따른 폴더 구조의 트리 도면.
도 6은 가상 폴더 구조의 트리 도면.
도 7은 클라이언트 스택이 계약 및 연도에 의해 더 필터링된 도 6의 가상 폴더 구조의 트리 도면.
도 8은 클라이언트 스택의 계약이 연도에 의해 더 필터링된 도 7의 가상 폴더 구조의 트리 도면.
도 9는 계약 스택이 클라이언트 및 연도에 의해 더 필터링되고, 그 클라이언 트가 연도에 의해 더 필터링된 도 6의 가상 폴더 구조의 트리 도면.
도 10은 문서 라이브러리의 스택을 나타내는 화면 디스플레이의 도면.
도 11은 도 10의 ABC Corp.stack 내의 문서를 나타내는 화면 디스플레이의 도면.
도 12는 도 11의 문서에 대해 스태킹(stacking) 기능이 선택된 화면 디스플레이의 도면.
도 13은 도 12의 스태킹 기능에 대해 "저작자별 스택" 파라미터가 선택된 화면 디스플레이의 도면.
도 14는 도 13의 파일이 저작자별로 스택된 화면 디스플레이의 도면.
도 15는 스태킹 기능이 선택되고, 도 14의 파일을 다시 스태킹하기 위해 "카테고리별 스택" 옵션이 더 선택된 화면 디스플레이의 도면.
도 16은 도 14의 파일이 카테고리별로 다시 스택된 화면 디스플레이의 도면.
도 17은 물리적 폴더를 나타내기 위한 고속 링크가 선택된 화면 디스플레이의 도면.
도 18은 도 17의 가상 폴더 스택의 파일을 포함하는 물리적 폴더가 도시된 화면 디스플레이의 도면.
도 19는 사용자가 가상 폴더를 직접 조작할 수 있는 루틴의 흐름도.
도 20은 새로운 "웨스트 코스트(west coast)" 스택이 도 10의 스택에 추가된 화면 디스플레이의 도면.
도 21은 파일을 "ABC 코포레이션" 스택에서 "웨스트 코스트"스택으로 복사하 기 위해 직접 조작을 이용하는 화면 디스플레이의 도면.
도 22는 새로운 필터 항들(filter terms)을 동적으로 생성하는 시스템의 루틴의 흐름도.
도 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는 도 33의 리스트로부터 "저작자 1"이 선택되고, 저작자 1의 모든 문서가 보여진 화면 디스플레이의 도면.
도 35는 새로운 라이브러리를 생성하기 위한 루틴을 나타낸 흐름도.
도 36은 다양한 가용 라이브러리의 컬렉션이 표시되는 화면 디스플레이의 도면.
도 37은 가상 폴더 컬렉션의 범위를 정의하기 위한 루틴을 나타낸 흐름도.
도 38은 가상 폴더 컬렉션의 범위를 형성할 수 있는 다양한 소스를 나타낸 블록도.
도 39는 가상 폴더 컬렉션 내에 비파일 항목을 포함시키기 위한 루틴을 나타낸 흐름도.
도 40은 가상 폴더 내에 포함된 다양한 비파일 항목을 나타내는 화면 디스플레이의 도면.
본 발명은 가상 폴더에 관한 것이다. 가상 폴더는 파일 시스템에서 현재 이용되고 있는 것과 동일 또는 유사한 사용자 인터페이스를 이용한다. 가상 폴더는 계통적인 파일 및 폴더(디렉토리로서도 알려져 있음)들을, 디스크 상에 있는 실제의 물리적 기초 파일 시스템 구조가 아닌 그들의 메타데이터에 기초하는 여러 뷰에서 사용자에게 보여준다. 사용자가 파일 시스템 관리용으로 현재 사용되고 있는 것과 유사한 컨트롤을 이용하여 자신의 파일 및 폴더를 조작할 수 있게 하는 위치 독립적인 뷰(location-independent view)들이 생성된다. 일반적으로, 이것은, 파 일의 관리 및 조직화가 시스템의 별개의 부분으로서 행해지는 것을 대신하여, 사용자가 파일 자체의 고유 속성에 기초하여 파일들을 조직화하고 재배열할 수 있음을 의미한다. 가상 폴더는, 파일 또는 항목의 하나의 뷰가 동일 컴퓨터 내의 다수의 디스크 드라이브, 다수의 컴퓨터들, 또는 상이한 네트워크 위치들과 같은 상이한 물리적 위치들에 있는 파일 또는 항목을 노출시킬 수 있도록, 상이한 위치들로부터로의 파일 또는 항목을 표시한다. 일 실시예에서, 상이한 항목 또는 파일들은 포함되기 위하여 IP 네트워크를 통하여 접속되기만 하면 된다.
또한, 가상 폴더 모델링은 전형적인 비파일 엔터티(non-file entity)를 위하여 사용될 수 있다. 이것의 응용은 전형적인 비파일 엔터티를 보여주기 위하여 파일 및 폴더(즉, 객체 및 콘테이너)와 유사한 사용자 인터페이스 세트를 가질 것이다. 이러한 비파일 엔터티의 일례로는 이메일이 있으며, 다른 예로는 콘택 데이터베이스로부터의 콘택 정보가 있다. 이러한 방식으로, 가상 폴더는 보여지고 있는 데이터가 파일로부터 온 것인지 비파일 엔터티로부터 온 것인지에 관계없이 적용되는, 위치 독립적인 메타데이터 기반의 뷰 시스템을 제공한다. 일반적으로, 이러한 양태들은 다양한 데이터 유형들에 대한 풍부한 통합을 가능하게 하는 것뿐만 아니라, 사용자가 통상적인 사용자 인터페이스 기술(드래그-앤-드롭, 더블 클릭 등)을 사용하여 자신의 파일 및 데이터를 조작하게 한다는 점에서, 보다 더 많은 유연성을 제공한다.
도 1 및 이하의 논의는, 본 발명이 구현될 수 있는 적합한 컴퓨팅 환경에 대한 간단하고 포괄적인 설명을 제공하기 위한 것이다. 필수적인 것은 아니지만, 본 발명은 퍼스널 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령과 관련하여 기술될 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 본 기술 분야의 숙련된 기술자라면 알 수 있는 바와 같이, 본 발명은 핸드핼드형 디바이스, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그래밍가능한 소비자 전자제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는 기타 컴퓨터 시스템 구성에서 실행될 수 있다. 본 발명은 또한 통신 네트워크를 통해 링크된 원격 프로세싱 장치에 의해 태스크를 수행하는 분산형 컴퓨팅 환경에서도 실행될 수 있다. 분산형 컴퓨팅 환경에서, 프로그램 모듈은 국부 및 원격 컴퓨터 저장 장치 내에 위치할 수 있다.
도 1을 참조하면, 본 발명을 구현하기 위한 예시적인 시스템은, 프로세싱 유닛(21), 시스템 메모리(22), 및 시스템 메모리(22)를 비롯한 다양한 시스템 컴포넌트들을 프로세싱 유닛(21)에 연결시키는 시스템 버스(23)를 포함하는 전형적인 퍼스널 컴퓨터(20) 형태의 범용 컴퓨팅 장치를 포함한다. 시스템 버스(121)는 다양한 버스 아키텍처 중의 임의의 것을 사용하는 로컬 버스, 주변 버스, 및 메모리 버스 또는 메모리 컨트롤러를 포함하는 몇가지 유형의 버스 구조 중의 임의의 것일 수 있다. 시스템 메모리는 판독 전용 메모리(ROM)(24) 및 랜덤 액세스 메모리(RAM)(25)를 포함한다. 시동 중과 같은 때에 퍼스널 컴퓨터(20) 내의 구성요소들간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(BIOS)(26)은 일반적으로 ROM(24)에 저장된다. 퍼스널 컴퓨터(20)는 하드 디스크(39)의 판독 및 기입을 위한 하드 디스크 드라이브(27), 분리가능한 자기 디스크(29)의 판독 및 기입을 위한 자기 디스크 드라이브(28), 및 CD-ROM이나 기타 광 매체와 같은 분리가능한 광 디스크(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)는 일반적으로 인터넷 등의 원거리 통신망(52)을 통해 통신을 구축하기 위한 모뎀(54) 또는 기타 수단을 포함한다. 내장 형 또는 외장형일 수 있는 모뎀(54)은 직렬 포트 인터페이스(46)를 통하여 시스템 버스(23)에 접속된다. 네트워크 환경에서, 퍼스널 컴퓨터(20)에 관하여 도시된 프로그램 모듈 또는 그 일부분은 원격 메모리 저장 장치에 저장될 수 있다. 도시된 네트워크 접속은 예시적인 것이며, 컴퓨터들 간의 통신 링크를 구축하는 그 외의 수단이 사용될 수 있음을 알 것이다.
본 발명은, 도 1에 도시된 유형의 시스템 상에서 구현될 때, 사용자가 파일 조작 및 폴더 네비게이션(브라우징)에 관한 기본 작업을 수행하고 새로운 특징으로 될 수 있는 더 높은 수준의 저장 능력을 제공하는 것을 보다 더 용이하게 하는 가상 폴더를 이용한다. 가상 폴더는 디스크 상에 있는 실제의 물리적 기초 파일 시스템 구조가 아닌 메타데이터에 기초하는 여러 뷰에서 파일 및 항목을 사용자에게 보여준다.
도 2는 본 발명에 따른 가상 폴더 시스템(200)의 블록도이다. 이하에 더 상세하게 설명되는 바와 같이, 가상 폴더는 데이터가 보여지는 방식을 제어하는 "피봇(pivot)"을 사용자가 변경할 수 있게 한다. 예를 들어, 사용자는 자신의 음악을 모든 노래의 단순 리스트로서 볼 수 있고, 이것은 앨범별로 그룹화될 수 있다. 대안으로, 사용자는 장르, 아티스트 또는 연도(year) 등만이 보이도록 뷰를 전환할 수 있다. 사용자는 진행중인 작업에 적합한 객체들만이 보이도록 뷰를 조절할 수 있다. 이에 의하여, 폴더를 통한 더 이상의 네비게이션(상향 및 하향 양자 모두)이 불필요하게 되어, 브라우징 경험이 개선된다. 파일로서 저장되지 않은 다른 데이터 유형들을 모델링하는 데에 있어서도 동일한 교시와 특성이 적용될 수 있다. 예를 들어, 콘택(contact)이 이러한 방식으로 사용자에게 노출되어, 단순 주소록에 의해 제공되는 것에 비하여 더 풍부한 조작 기반구조는 물론, 더 친숙한 인터페이스 성능을 제공한다.
도 2에 도시된 바와 같이, 가상 폴더 시스템(200)은 폴더 프로세서(210), 관계형 데이터베이스(230), 가상 폴더 기술 데이터베이스(virtual folder description database; 232), 기타 쉘 폴더 컴포넌트(234), 폴더 핸들러 컴포넌트(235), 및 쉘 브라우저 및 뷰 컴포넌트(236)를 포함한다. 폴더 프로세서(210)는 원시 핸들링 코드 컴포넌트(212), 핸들러 팩토리 컴포넌트(214), 특성 기입 컴포넌트(property writer component; 216), 로우세트 파서 컴포넌트(rowset parser component; 218), 쿼리 작성 컴포넌트(220), 열거 컴포넌트(enumerator component; 222) 및 특성 팩토리 컴포넌트(224)를 포함한다.
관계형 데이터베이스(230)는 시스템 내의 모든 파일에 관한 특성을 저장한다. 또한, 관계형 데이터베이스(230)는 콘택과 같은 소정의 항목(즉, 비파일 항목)을 완전한 상태로 저장한다. 일반적으로, 관계형 데이터베이스(230)는 파일 유형에 관한 메타데이터 및 그것이 포함하는 항목을 저장한다. 관계형 데이터베이스(230)는 쿼리 작성기(220)로부터 SQL 쿼리를 수신한다. 또한, 관계형 데이터베이스(230)는 항목 컬럼 당 하나의 로우(row)씩 SQL 로우세트를 로우세트 파서 컴포넌트(218)에 송신하며, 여기서, 컬럼은 항목 특성이다.
가상 폴더 기술 데이터베이스(232)는 가상 폴더 기술(virtual folder description)을 포함한다. 가상 폴더 기술 데이터베이스(232)는, 폴더 내에 디스 플레이하기 위한 유형의 리스트, 초기 필터 및 (범위로부터의) 결과를 보여주기 위한 물리적 위치를 포함하는 데이터를 쿼리 작성 컴포넌트(220)에 보낸다.
기타 쉘 폴더 컴포넌트(234)와 관련하여, 폴더 프로세서(210)는 핸들러 또는 속성에 대하여 모든 파일을 포함하는 다수의 유형의 항목들로부터 현존하는 쉘 폴더에 델리게이트(delegate)한다. 기타 쉘 폴더 컴포넌트(234)는 기타 폴더들로부터 특성 팩토리(224)로 특성을 보낸다. 기타 쉘 폴더 컴포넌트는 핸들러를 핸들러 팩토리(214)에 보낸다.
폴더 핸들러 컴포넌트(236)는 콘택과 같이 데이터베이스 내에만 존재하는 항목에 대한 코드 거동을 제공한다. 이것에 의해, 비파일 항목은 파일과 유사하게 거동할 수 있게 된다. 폴더 핸들러 컴포넌트(236)는 핸들러를 핸들러 팩토리(214)에 보낸다.
원시 핸들링 코드 컴포넌트(212)에 대하여, 폴더 프로세서(210)는 항목의 특성에 기초하여 소정의 핸들러를 직접 구현한다. 원시 핸들링 코드 컴포넌트(212)는 핸들러를 핸들러 팩토리(214)에 보낸다. 가상 폴더는, 모든 네임스페이스와 같이, 원시 핸들러 코드 컴포넌트(212) 및 폴더 핸들러 컴포넌트(236)에 대하여, 자신의 항목을 위한 핸들러의 세트(컨텍스트 메뉴, 아이콘, 썸네일, 인포팁...)를 제공해야만 한다. 이러한 것들(인포팁, 데이터 객체, 드래그-드롭 핸들러, 배경 컨텍스트 메뉴...) 대부분에 대하여, 가상 폴더는 자신이 보유하는 모든 유형에 대한 공통(원시) 핸들러를 제공한다. 그러나, 해당 유형의 저작자가 제공해야만 하는 것들도 있다(항목 자체 상의 컨텍스트 메뉴, 기입가능한 특성 저장,...). 또한, 디폴트 핸들러는 오버라이드(override)될 수 있다. 가상 폴더는 파일에 대하여 이것을 재사용하고, 비파일 항목이 동일한 것을 행할 수 있게 한다.
핸들러 팩토리(214)는 ID 리스트를 갖고, 컨택스트 메뉴, 아이콘 등을 제공하는 코드 거동을 생성한다. 일반적으로, 폴더 프로세서(210)는 원시 핸들러 코드 컴포넌트(212), 기타 쉘 폴더 컴포넌트(234), 및 폴더 핸들러 컴포넌트(236)와 관련하여 전술된 바와 같이 핸들러를 얻기 위하여 원시 핸들러, 외부 핸들러, 또는 다른 쉘 폴더로 델리게이트할 수 있다. 핸들러 팩토리 컴포넌트(214)는 핸들러를 뷰에 의해 요청된 뷰 내의 쉘 브라우저(240)에 송신한다. 핸들러 팩토리 컴포넌트(214)는 특성 핸들러를 특성 기입기(216)에 송신한다.
특성 기입기(216)는 자르기, 복사하기 및 붙여넣기와 같은 사용자 의도를 파일 또는 항목에 대한 특성 권한으로 전환한다. 쉘 브라우저 및 뷰 컴포넌트(240)는 직접 조작(자르기/복사하기/붙여넣기)을 포함하거나 메타데이터를 편집하는 특성 기입기(216)로 데이터를 송신한다. 일반적으로, 가상 폴더가 항목의 특성에 기초하여 조직에 존재하기 때문에, 이동 및 복사(드래그-드롭)와 같은 동작은 그 특성 상의 편집일 수 있다. 예를 들어, 저작자에 의해 스택된 뷰에서 문서를 저작자 1에서 저작자 2로 이동시키는 것은 저작자를 변경하는 것을 의미한다. 특성 기입 컴포넌트(216)는 이 기능을 구현한다.
로우세트 파서(218)는 데이터베이스 로우세트를 갖고, 모든 항목 특성을 쉘 ID 리스트 구조에 저장한다. 로우세트는 가상 폴더의 구분 정의를 갖고, 데이터베이스에 발행될 수 있는 SQL 스트링을 작성한다. 로우세트 파서 컴포넌트(218)는 ID 리스트를 열거 컴포넌트(222)에 송신한다. 또한, 전술된 바와 같이, 로우파서 컴포넌트(218)는 항목 컬럼 당 하나의 로우씩 SQL 로우세트를 포함한 데이터를 관계형 데이터베이스(230)로부터 수신하고, 여기서, 컬럼은 항목 특성이다.
쿼리 작성 컴포넌트(220)는 SQL 쿼리를 작성한다. 쿼리 작성 컴포넌트(220)는 네비게이션으로부터 새로운 필터를 포함한 열거 컴포넌트(222)로부터 데이터를 수신한다. 또한, 쿼리 작성 컴포넌트(220)는 폴더 내에 디스플레이하기 위한 유형의 리스트, 초기 필터 및 (범위로부터) 결과를 보여주기 위한 물리적 위치를 포함하는 데이터를 가상 폴더 기술 데이터베이스(232)로부터 수신한다. 쿼리 작성 컴포넌트(220)는 SQL 쿼리를 관계형 데이터베이스(230)에 송신한다.
일반적으로, 쿼리 작성 컴포넌트(220)는 로우세트(다시 말하면, 테이블)를 포함한다. 이것이 쿼리를 행하는 것이 산출해 낸 것이다. 로우세트 파서 컴포넌트(218)는 각각의 로우를 갖고, 컬럼 이름을 사용하여 로우를 ID 리스트로 변형한다. ID 리스트는 네임스페이스 내의 항목을 참조하는 데 사용되는 잘 알려진 쉘 구조이다. 이렇게 함으로써, 가상 폴더는 나머지 쉘로의 임의의 다른 네임스페이스와 동일하게 된다. 또한, 이 데이터를 캐싱(caching)하면, 비용에 있어서 최소가 될 수 있는 데이터베이스 액세스가 유지된다.
열거 컴포넌트(222)는 가상 폴더로의 네비게이션에 응답하여 동작한다. 전술한 바와 같이, 열거 컴포넌트(222)는 로우세트 파서 컴포넌트(218)로부터 ID 리스트를 수신하고, 네비게이션으로부터의 새로운 필터를 쿼리 작성 컴포넌트(220)로 송신한다. 또한 열거 컴포넌트(222)는 네비게이션 후에 뷰에 삽입되기 위하여 리 턴되는 ID 리스트를 포함한 데이터를 쉘 브라우저 및 뷰 컴포넌트(240)에 송신한다.
특성 팩토리 컴포넌트(224)는 ID 리스트 및 특성 식별자를 갖고, 이 특성에 대한 값을 리턴한다. 특성 팩토리 컴포넌트(224)는 핸들러 팩토리 컴포넌트(214)로부터 특성 핸들러를 포함하는 데이터를 수신한다. 전술된 바와 같이, 특성 팩토리 컴포넌트(224)는 다른 폴더로부터의 특성을 포함하는 데이터를 기타 쉘 폴더 컴포넌트(234)로부터 수신한다. 또한, 특성 팩토리 컴포넌트(224)는 뷰에 의해 요청된 항목 특성을 포함하는 데이터를 쉘 브라우저 및 뷰 컴포넌트(240)에 송신한다.
쉘 브라우저 및 뷰 컴포넌트(240)는 폴더의 내용을 윈도우에 디스플레이하고 클릭, 드래그 및 네비게이션과 같은 디스플레이된 파일 또는 항목과의 모든 사용자 상호작용을 핸들링한다. 따라서, 웰 브라우저 및 뷰 컴포넌트(240)는 사용자 액션을 수신한다. 쉘 브라우저 및 뷰 컴포넌트(240)는 폴더, 이 경우, 폴더 프로세서(210)로부터 필요한 코드 거동(behavior)에 대한 데이터도 수신한다.
전술한 바와 같이, 가상 폴더는 디스크 상의 실제의 물리적 기초 파일 시스템 구조 대신에 자신의 메타데이터에 기초하여 상이한 뷰에서 사용자에게 계통적인 파일 및 폴더(디렉토리라고도 알려짐)를 보여준다. 따라서, 시스템은 데이터베이스에 저장되는 특성을 가질 수 있고 그것을 폴더와 같은 콘테이너로서 표시할 수 있다. 사용자는 이미 폴더로 작업하는 것에 익숙해져 있기 때문에, 유사한 방법으로 가상 폴더를 나타냄으로써, 사용자는 새로운 시스템에 보다 빨리 적응할 수 있다.
도 3은 사용자가 선택된 항목을 인출하는 퀴리를 제공하는 루틴(300)의 예시적인 흐름도이다. 블록(302)에서, 폴더 프로세서는 사용자로부터 쿼리를 획득한다. 블록(304)에서, 폴더 프로세서는 그 쿼리를 관계형 데이터베이스에 전달한다. 블록(306)에서, 관계형 데이터베이스는 그 결과를 폴더 프로세서에 다시 제공한다. 블록(308)에서, 폴더 프로세서는 그 결과를 가상 폴더 및 항목의 형식으로 사용자에게 제공한다.
도 4는 가상 폴더가 사용자로부터의 디폴트 쿼리 또는 쿼리에 따라 화면에 구성되고 디스플레이되는 루틴(320)의 예시적인 흐름도이다. 블록(322)에서, 사용자가 최초로 가상 폴더를 열면, 디폴트 쿼리가 사용된다. 이 디폴트 쿼리는 레지스트리로부터 획득된다. 예를 들어, 음악 라이브러리에 대한 디폴트 쿼리는 앨범으로 그룹핑된 모든 노래를 도시할 수 있다. 블록(324)에서, 폴더 프로세서는 이 쿼리에 대한 쿼리 객체를 구성하고 이 쿼리를 관계형 데이터베이스에 전달한다. 블록(326)에서, 관계형 데이터베이스는 쿼리의 결과를 생성하고 이것을 데이터베이스 로우 및 컬럼으로서 폴더 프로세서에 다시 전달한다.
블록(328)에서, 폴더 프로세서는 이 결과를 획득하여 그 결과를 데이터의 로우 및 컬럼으로부터 열거 구조로 변환하며, 여기서 열거 구조는 사용자가 상호작용하도록 하는 가상 폴더 및 항목을 화면에 배치하도록 폴더 뷰에 의해 사용된다. 결정 블록(330)에서, 사용자는 뷰를 (상이한 쿼리 또는 피봇을 발행함으로써) 변경할지를 결정한다. 예를 들어, 사용자는 "모든 음악가를 표시" 피봇을 발행할 수 있다. 사용자가 뷰를 변경하기를 원한다면, 루틴은 폴더 프로세서가 이 새로운 쿼 리를 관계형 데이터베이스에 전달하고 그 결과의 새로운 로우 및 컬럼을 다시 수신하고 새로운 열거 구조를 구성하는 블록(324)으로 리턴한다. 프로세스는 "음악가" 객체를 화면에 인출하는 열거기를 사용하여 폴더 뷰를 클리어하고 업데이트함으로써 전술된 바와 같이 진행된다.
일례로, 사용자가 네비게이트할 수 있는 콘테이너를 나타내는 앨범 객체가 제공된다. 예를 들어, "비틀즈" 앨범을 더블 클릭하는 것은 비틀즈의 노래 모두를 보여주는 뷰를 네비게이트할 것이다. 폴더 프로세서는 "모든 비틀즈 노래를 표시" 쿼리를 관계형 데이터베이스에 발행하고, 여기서 관계형 데이터베이스는 이들 노래에 대한 데이터의 로우 및 컬럼을 건내준다. 폴더 프로세서는 이러한 모든 노래의 열거기를 생성하고, 이러한 모든 노래가 화면에 인출된다.
사용자는 가상 폴더를 브라우징하는 동안 임의의 위치에서의 뷰를 선택할 수도 있다. 전술한 예로부터, 비틀즈 노래만을 표시하도록 좁힌 후에, 사용자는 앨범으로서의 노래만을 표시하기 위하여 뷰를 변경할 수 있다. 항목의 뷰를 다른 표현으로 변경하는 프로세스는 "스태킹(stacking)"이라고 불리운다. 이것은 항목이 개념상 그 표현에 기초하여 "스택"으로 배치되기 때문이다. 이 경우에, 노래는 다양한 앨범 각각에 대하여 스택으로 재배열된다. 그 후 사용자는 이 스택 중 하나로 네비게이트할 수 있어 그 특정 앨범으로부터의 노래만을 볼 수 있다. 다시, 사용자는 특성(예를 들어, 등급)에 기초하여 이 남아있는 노래의 뷰를 스택으로 재배치할 수 있다. 등급 특성이 선택된다면, 비틀즈 앨범으로부터의 노래는 별 하나, 별 둘 또는 별 세개 등급에 대한 스택으로 표시될 것이다.
각각의 쿼리의 결과는 어느 물리적 위치가 범위에 포함되는 지에 의존한다. 예를 들어, 범위는 사용자의 "내 문서" 폴더 내의 폴더만 포함하도록 할 수 있다. 대안적으로, 범위는 컴퓨터 상의 모든 폴더, 또는 다수의 네트워크 접속된 컴퓨터 상의 모든 폴더까지도 포함할 수 있다. 사용자는 범위 특성 시트를 통해 범위를 보거나 변경할 수 있다. 일례로, 범위 특성 시트는 가상 폴터 상에서의 오른쪽 클릭, 또는 "특성"을 선택하는 것에 의해 노출될 수 있다. 사용자는 새로운 폴더를 그 범위에 추가할 수 있거나 이전에 추가되었던 폴더를 삭제할 수 있다.
가상 폴더가 특정 유틸리티를 제공할 사용자의 일 그룹은 지식자들이다. 가상 폴더는 지식자가 파일 유형, 프로젝트, 케이스 번호, 저작자 등에 의해 뷰 문서 사이에서 쉽게 교환할 수 있게 한다. 각각의 지식자는 문서를 조직하는 상이한 방법을 갖는 경향이 있기 때문에, 가상 폴더는 이러한 상이한 선호들을 충족시키는 데 사용될 수 있다.
도 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)을 포함한다.
퀵 링크 구성요소는 "모든 저작자" 퀵 링크(611), "1월 작업" 퀵 링크(612), 및 추가적인 퀵 링크(613)를 디스플레이하기 위한 선택 상의 "모든 카테고리" 퀵 링크(610)를 포함한다. 보다 상세히 후술된 것처럼, 퀵 링크는 가상 폴더의 원하는 네비게이션을 수행하기 위해 사용자에 의해 선택될 수 있다. 퀵 링크는 시스템에 의해 제공될 수 있으며, 몇몇의 퀵 링크는 사용자에 의해 생성되거나 저장될 수 있다.
필터 구성요소는 "필터" 표시자(620), 엔트리 블랭크(entry black; 621), "날짜" 표시자(622), "연도" 선택자(623), "저작자 선택" 선택자(624), "카테고리 선택" 선택자(625), 및 "더 많은 필터" 선택자(626)를 포함한다. "필터" 표시자(620)는 하부 항목들이 가상 폴더 또는 항목들을 필터링하기 위해 사용될 수 있음을 사용자에게 지시한다. 엔트리 블랭크(621)는 사용자가 원하는 새로운 필터 항(term)을 타이핑하여 넣을 수 있는 공간을 제공한다. "날짜" 표시자(622)는 "년" 선택자(623)로부터 날짜를 선택하므로써, 가상 폴더 또는 항목이 선택된 년에 의해 필터링될 수 있음을 사용자에게 지시한다. "저작자 선택" 선택자(624)는 사용자가 특정한 저작자에 따라 필터링하는 것을 허용한다. "카테고리 선택" 선택자(625)는 사용자가 선택된 카테고리에 따라 필터링하는 것을 허용한다. "더 많은 필터" 선택자(626)는 사용자가 디스플레이 상에서 추가적인 필터를 끌어올리는 것을 허용한다.
활동 선택자는 "새로운 카테고리 생성" 선택자(630), "활동" 선택자(631 및 632), 및 "더 많은 활동" 선택자(633)를 포함한다. 보다 상세히 후술된 것처럼, 제공된 활동은 일반적으로 바람직한 기능들이거나, 보다 특히 현재 디스플레이되는 가상 폴더의 유형에 유용한 활동을 지시할 수 있다. 예를 들어, "새로운 카테고리 생성" 선택자(630)는 새로운 스택에 의해 표현될 새로운 카테고리를 생성하기 위해 사용자에 의해 선택될 수 있다.
상술된 것처럼, 활동 선택자(631 및 632)는 특히 디스플레이되고 있는 항목 또는 폴더의 유형을 지시할 수 있다. 예를 들어, 현재의 디스플레이는 "활동" 선택자(631 및 632)가 특히 부속물을 편집 또는 생성하는 것과 같은, 문서에 대해 맞추어진 활동에 관한 것인 문서 라이브러리이다. 만약 현재의 라이브러리가 사진 라이브러리이면, "활동" 선택자(631 및 632)는 특히, 사진 앨범 만들기 또는 다른 사람들과의 사진 공유와 같은 사진에 관한 활동을 위한 것이 될 수 있다.
정보 및 제어부 구성요소는 정보 라인(640 및 641), 제어부 라인(642), 백스 페이스 제어부(643), 및 정보 라인(644 및 645)을 포함한다. 정보 라인(640 및 641)은 가상 폴더 또는 항목의 현재 네비게이션에 관한 정보를 제공한다. 본 예에서, 정보 라인(641)은 문서 라이브러리가 저장 공간에 있음을 나타내는 보다 완벽한 네비게이션을 표시하는 반면, 정보 라인(640)은 현재 네비게이션이 문서 라이브러리임을 표시한다. 제어부 라인(642)은 수많은 표준 제어부를 제공하고, 백스페이스 버튼(backspace button; 643)은 네비게이션을 통해 뒤로 갈 수 있게 한다. 정보 라인(644)은 현재의 네비게이션의 콘텐츠에 관한 숫자적인 정보를 제공한다. 본 예에서, 정보 라인(644)은 문서 라이브러리의 스택에 100MB를 차지하고 있는 41개의 항목이 있음을 표시한다. 정보 라인(645)는 선택된 파일에 대한 추가적인 정보와 같은 추가적인 정보를 제공할 수 있다.
문서 라이브러리의 스택은 "ABC 코포레이션" 스택(651), "백업" 스택(652), "비즈니스 플랜" 스택(653), "XYZ 코포레이션" 스택(654), 및 "마케팅 리포트" 스택(655)을 포함한다. 각 스택 상부의 수는 각각의 스택 내에 있는 항목들의 수를 표시한다. 예를 들어, "ABC 코포레이션" 스택(651)은 8개의 항목을 포함함을 나타낸다. 스택의 항목의 총 수의 합계는 본 예에서 41이라고 전술된 정보 라인(644)에 표시된 항목의 수가 된다. 선택 상자 SB는 원하는 항목을 선택하기 위해 사용자에의해 사용된다. "ABC 코포레이션" 스택(651)을 선택하는 것은, 도 11을 참조하면서 후술된 것처럼, 그 스택의 항목을 보는 것을 제공한다.
도 11은 도 10의 "ABC 코포레이션" 스택(651) 내의 항목들을 나타내는 화면 디스플레이의 도면이다. 정보 라인(640 및 641)은 현재의 네비게이션이 "ABC 코포 레이션" 스택을 나타냄을 표시한다. "ABC 코포레이션" 스택(651)은 문서 1~8에 각각 대응하는 8개의 문서(751~758)을 포함함을 나타낸다. 정보 라인(644)은 메모리의 20MB를 차지하는 8개의 항목들이 있음을 대응적으로 표시한다. 도 11의 문서는 ABC 코포레이션 스택 내의 스택으로 더 배열될 수 있다. 즉, 도 12~16을 참조하면서 후술된 것처럼, ABC 코포레이션 스택(651)에 의해 표시된 가상 폴더 내에서 추가적인 가상 폴더가 문서를 보유하기 위해 조직될 수 있다.
도 12는 스태킹 기능이 도 11의 문서를 위해 선택된 화면 디스플레이의 도면이다. 도 12에 나타낸 것처럼, 사용자는 기능 상자(760)을 끌어당길 수 있다. 기능 상자(760)는 "뷰" 선택(761), "아이콘 배열" 선택(762), "스택" 선택(763), "리프레쉬" 선택(764), "포함하는 폴더 열기" 선택(765), "자르기" 선택(766), "복사" 선택(767), "취소" 선택(768), "새 폴더" 선택 (769), 및 "특성" 선택(770)을 포함한다. 선택 상자 SB는 "스택" 선택(763)에 있는 것으로 도시된다.
도 13은 "저작자별 스택" 매개변수가 도 12의 스태킹 기능을 위해 선택된 화면 디스플레이의 도면이다. 도 13에 나타난 것처럼, 다양한 스태킹 옵션을 제공하는 상자(780)가 디스플레이된다. 스태킹 옵션은 "언스택(unstack)" 옵션(781), "카테고리별 스택" 옵션(782), "저작자별 스택" 옵션(783), 및 "사용자별 스택" 옵션(784)을 포함한다. 선택 상자 SB는 "저작자별 스택" 옵션(783)에 있는 것으로 도시된다.
도 14는 도 13의 파일이 저작자별로 스택된 것을 나타내는 화면 디스플레이의 도면이다. 도 14에 나타난 것처럼, 스택(791 및 792)은 저작자 밥 및 리사에 각각 대응한다. 각 스택의 상부에 있는 수로 표시된 것처럼, 밥 스택(791)은 2개의 항목을 포함하고, 리사 스택(792)는 5개의 항목을 포함한다. 항목(758)(문서 8에 대응)은 저작자를 갖고 있지 않으므로, "저작자" 스택에 포함되지 않는다. 스택(791 및 792)은 스택이 "ABC 코포레이션" 스택(651) 내에서와 같은 다수의 레벨로 조직될 수 있음을 나타낸다. 그러므로 가상 폴더는 문서 라이브러리 내의 "ABC 코포레이션" 스택(651) 내에 있는 "리사" 스택(792)과 같은 다수의 레벨로 만들어질 수 있다.
도 15는 도 14의 파일을 다시 스태킹(restacking)하기 위해 "카테고리별 스택" 옵션이 더 선택된 것을 나타내는 화면 디스플레이의 도면이다. 도 15에 나타난 것처럼, 선택 상자 SB 는 "카테고리별 스택" 옵션(782)에 있다. 몇몇의 항목이 이미 스택(791 및 792)에 스택되어 있기 때문에, "카테고리별 스택" 옵션(782)을 선택하는 것은, 도 16을 참조하면서 후술된 것처럼, 항목을 다시 스택할 것이다.
도 16은 도 14의 파일이 카테고리별로 다시 스택된 것을 나타내는 화면 디스플레이의 도면이다. 도 16에 나타난 것처럼, 스택(793 및 794)는 각각 "XYZ 코포레이션" 및 "마케팅 리포트" 카테고리에 대응한다. 문서 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)은 비어있고 항목을 하나도 갖지 않을 수 있다. 도 20의 실시예에서, 2개의 항목이 웨스트 코스트 스택(656)에 추가됐다. 스택에 항목을 추가하는 한 방법은 특정 항목을 선택하고, 도 20의 실시예에서 행해진 것처럼 2개의 항목에 "웨스트 코스트" 카테고리를 추가하는 것처럼, 항목에 대한 카테고리 메타데이터에 추가적인 카테고리를 수정 또는 추가하는 것이다. 이 프로세스는 카테고리 데이터가 임시 특성의 유형인 항목에 대한 메타데이터 특성임을 나타낸다. 즉, 이 유형의 특성은 어떤 암시적인 의미도 갖지 않으며, 사용자에 의해 임의의 값을 할당받을 수 있다. 예를 들어, "특성" 카테고리는 임의의 값을 갖을 수 있으며, 반면 "저작자" 특성은 사람의 이름이어야 한다. 도 21을 참조하며 보다 상세히 후술된 것처럼, 항목은 또한 기타 스택에서 웨스트 코스트 스택(656)으로 복사되기 위해 클릭되고 그래그될 수 있다(이 경우 항목의 카테고리는 "웨스트 코스트"을 포함하도록 자동적으로 갱신됨). 이점에 관해서, 도 20은 선택 상자 SB가 자신의 콘텐츠를 복사할 준비가 되있는 ABC 코포레이션 스택(651)에 와있음을 나타낸다.
도 21은 직접 조작이 파일을 ABC 코포레이션 스택(651)에서 웨스트 코스트 스택(656)으로 복사하기 위해 사용되는 화면 디스플레이의 도면이다. 즉, 도 20에 나타난 것처럼, 사용자는 ABC 코포레이션 스택(651)을 선택하고, 그후 도 21에 나타난 것처럼 사용자는 웨스트 코스트 스택(656)으로 복사할 스택을 클릭하고 드래그한다. 그러므로, 도 20에서 2개의 항목을 갖는 웨스트 코스트 스택(656)은 ABC 코포레이션 스택(651)로부터의 추가적인 8개의 항목을 포함하여 현재 총 10개의 항목을 포함한다. ABC 코포레이션 스택(651)으로부터의 항목들이 웨스트 코스트 스택(656)에 복사될 때, 이것은 본래의 "ABC 코포레이션" 카테고리를 포함하는 것에 추가하여 "웨스트 코스트" 카테고리도 포함하도록 8개의 항목에 대한 카테고리 기술(description)을 수정함으로써 이루어진다. 이것은 수행될 수 있는 직접 조작의 한 유형을 설명한다.
직접 조작의 다른 예는 항목을 오른쪽 클릭하고 삭제를 선택하는 것이다. 한 실시예에서, 사용자에 의해 삭제 기능이 선택되면, 사용자는 항목이 모두 함께 삭제되야 하는지, 또는 단순히 현재의 가상 폴더에서 제거되야 하는지에 대해 쿼리된다. 만약 항목이 상술된 것처럼 현재의 가상 폴더 카테고리 스택으로부터 단순히 제거된다면, 이것은 항목에 관한 메타데이터에서 원하는 카테고리를 제거하므로써 이루어질 수 있다. 즉, 만약 ABC 코포레이션 스택(651)에서 웨스트 코스트 스택(656)으로 복사된 항목들 중 하나가 웨스트 코스트 스택(656)에서 제거되면, 이것은 더이상 "웨스트 코스트" 카테고리를 포함하지 않도록 특정 파일에 관한 카테고리 데이터를 수정하므로써 이루어질 수 있다.
도 22는 새로운 파일 항을 동적으로 생성하는 시스템에 관한 루틴(900)의 흐름도이다. 파일 항은 가상 폴더를 조작하기 위해 사용된다. 필터링 텀은 항목의 세트를 줄이기 위한 도구의 세트로서 필수적으로 사용된다. 한 실시예에서, 필터는 메타데이터 카테고리 및 그들의 값(사용자 인터페이스에서 클릭 가능한 링크 또는 드롭다운 메뉴로 사용자에게 제공됨)으로 구성된다. 사용자는 디스플레이 상에서 항목의 현재 결과 세트를 필터링하기 위해 필터 항을 클릭한다.
도 22는 어떻게 필터들이 동적으로 생성될 수 있는지를 도시한다. 도 22에서 도시된 바와 같이, 블록(902)에서, 현재의 디스플레이의 컬렉션의 항목들의 (메타데이터로부터의) 특성들이 리뷰(review)된다. 블록(904)에서, 제안된 필터 항(term)들은 항목들의 공통 특성들에 기초해서 동적으로 생성된다. 블록(906)에서, 제안된 필터 항들은 항목들을 필터링하기 위한 가능한 선택을 위해 사용자에게 제공된다. 이 프로세스의 한 예로서, 시스템은 항목 세트의 특성들을 리뷰할 수 있고, 항목들이 일반적으로 특성으로서 "저작자들"을 가지면, 필터는 필터링할 수 있는 저작자 리스트를 제공할 수 있다. 그 다음, 특정 저작자를 클릭킹함으로써, 그 저작자를 갖지 않은 항목들은 디스플레이의 그 세트로부터 삭제된다. 이 필터링 프로세스는 디스플레이 상의 항목들의 세트를 좁히는 메카니즘을 사용자에게 제공한다.
도 23은 필터 항의 선택에 기초해서 항목들을 필터링하는 시스템의 루틴(920)의 흐름도이다. 블록(922)에서, 사용자는 새 필터 항을 입력하거나, 시스템에 의해 제공된 필터 항들 중의 한 개를 선택한다. 위에서 설명된 대로, 필터 항들은 시스템에 의해 동적으로 생성될 수 있거나, 혹은 그들은 미리 세트될 수 있다. 블록(924)에서, 디스플레이 상의 컬렉션으로부터의 항목들은 그들의 선택 특성들이 필터 항과 매칭되는지 여부에 대해 평가된다. 예를 들어, 필터 항이 "밥 (Bob)"에 의해 저작된 항목들이면, 그 항목들은 그들의 저작자 특성이 "밥"을 포함하는지의 여부에 따라 평가된다. 블록(926)에서, 선택 특성들이 필터 항과 매칭되지 않는 항목들은 디스플레이의 컬렉션으로부터 제거된다.
도 24는 도 10의 스택들이 항 "AB"에 의해 필터링되는 화면 디스플레이의 도면이다. 도시된 바와 같이, 필터 영역(621)에서, 항 "AB"는 사용자에 의해 타이핑된다. 정보 라인들(640 및 641)은 디스플레이의 항목들이 이제 "AB"라는 항에 의해 필터링되는 것들 임을 표시한다. 도시된 바와 같이, 백업 스택(652)은 이제 3 항목들을 포함하고 XYZ 코포레이션 스택(654)은 3 항목들을 또한 포함하는 반면, ABC 코포레이션 스택(651)은 8 항목들을 아직 포함한다. 그러므로, 정보 라인(644)은 총 35MB의 메모리를 점유하는 총 14 항목들이 있음을 표시한다.
도 25는 도 10의 스택들이 "ABC"라는 항에 의해 필터링되는 화면 디스플레이의 도면이다. 도24의 "AB"라는 필터 항에 대해서, 사용자는 추가 문자 "C"를 단순히 타이핑해서 총 필터 항이 "ABC"가 되게 한다. 도25에서 도시된 바와 같이, 정보 라인들(640, 641)은 이제 디스플레이 상의 항목들이 항 "ABC"를 포함하는 것들 임을 표시한다. 백업 스택(652)은 이제 단지 2 항목들만 포함하는 반면에, ABC 코포레이션 스택(651)은 아직 8 항목들을 포함하도록 표시된다. 정보 라인(644)은 총 25 MB 메모리를 점유하는 디스플레이 상의 스택에서 총 10 항목들이 있음을 현 재 표시한다. 그러므로, 도 24 및 25는, 어떻게 사용자가 새 필터 항들을 입력할 수 있고, 그 다음, 어떻게 그러한 필터 항들이 디스플레이에 보여지는 항목들을 필터링하기 위해 사용되는지의 예들을 제공한다.
도 26은 필터 항 "2002년"이 선택된 화면 디스플레이의 도면이다. 위에서 설명한 바대로, "날짜" 지시자(622) 밑에, 연도 선택들(623)은 연도들(2000, 2001,혹은 2002)를 포함한다. 선택 박스(SB)는, 사용자가 원하는 필터 항으로서 선택하고 있음을 표시하는 2002년에 있도록 도시된다.
도27은 필터 항 "2002"가 적용되는 화면 디스플레이의 도면이다. "월 (month) 선택"라는 선택자(623a)의 추가 선택이 또한 표시된다. 도27에 도시된 바대로, 필터 항 "2002"를 적용한 후에, 스택들의 항목들의 수는 감소된다. 더 구체적으로, ABC 회사 스택(651)은 이제 6 항목들을 포함하고, 백업 스택(652)은 이제 8 항목들을 포함하고, 비즈니스 플랜 스택(653)은 현재 3 항목들을 포함하고, XYZ 회사 스택(654)은 현재 5 항목들을 포함한다. 정보 라인(644)은 이제 총 50 MB 메모리를 점유하는 총 22 항목들을 표시한다. 정보 라인(640, 641)은 이제 디스플레이에 표시된 항목들이 필터 항 "2002"을 포함하도록 필터링되는 것들 임을 표시한다.
도 28은 리스트가 필터링하기 위한 월을 선택하기 위해 제공되는 화면 디스플레이의 도면이다. 월들의 리스트를 포함하는 박스(650)가 제공된다. 박스(950)는 사용자가 "월 선택" 선택자(623A)를 선택하기 때문에, 디스플레이 상에 제공된다. 선택 박스 SB는 1월에 있도록 도시된다.
도 29는, 도 28의 스택들은 1월달에 의해 더 필터링되고, 필터 항 "일(day)"을 더 나타내는 화면 디스플레이의 도면이다. 도 29에 도시된 대로, 정보 라인들(640, 641)은 현재 디스플레이 상의 항목들이 항 "1월"에 의해 필터링된 것들 임을 표시한다. 비즈니스 플랜 스택(653)은 2 항목들을 포함하도록 또한 표시되는 반면, 백업 스택(652)은 2 항목들을 포함하는 것으로 표시된다. 정보 라인(644)은 총 10 MB 메모리를 점유하는 디스플레이의 총 4 항목들이 있음을 표시한다. 사용자가 특정 일로 결과들을 더 필터링하기를 원한다면, "일(day) 선택" 선택자(623B)가 제공된다.
도 30은 새로운 퀵 링크 (quick link)를 생성하는 루틴(940)을 설명하는 흐름도이다. 아래에 더 상세히 기술되는 것처럼, 퀵 링크들은 항목 세트의 사용자 선택 뷰 (view)들을 생성하기 위해 사용자에 의해 클릭킹될 수 있는 미리 정의된 링크들이다. 한 실시예에서, 퀵 링크는 피봇 (pivot)의 한 유형으로 간주될 수 있다. 퀵 링크들은 가상 폴더를 검색하는 메카니즘을 제공한다. 퀵 링크를 클릭킹하는 것은 원하는 폴더로 사용자를 안내할 수 있다 ("기호(favorites)"을 클릭킹하는 것이 사용자를 웹 사이트로 안내할 수 있는 것과 동일한 방식으로). 퀵 링크들은 시스템에 의해 미리 정의될 수 있고, 혹은 사용자에 의해 세트될 수 있다. 예를 들어, "모든 저작자"를 클릭킹하는 것은 저작자들에 의해 스택된 뷰를 리턴할 수 있다. "모든 문서"를 클릭킹하는 것은 모든 저장 영역들에 대한 모든 문서의 플랫 뷰 (flat view)를 리턴할 수 있다. 사용자들은 또한 그들 자신의 퀵 링크들을 생성할 수 있다.
도30에서 도시된 바대로, 블록(942)에서, 사용자는 새로운 퀵 링크가 현재의 필터 항 혹은 네비게이션으로부터 형성되어야 함을 표시하기 위하여 디스플레이 상에서의 선택을 한다. 블록(944)에서, 사용자는 새로운 퀵 링크를 위한 새 이름을 제공한다. 블록(946)에서, 새 퀵 링크는 저장되고, 새 퀵 링크 이름은 디스플레이 상의 퀵 링크 섹션에 제공된다.
도31은 도29의 필터링을 기초해서 "1월 작업"이라고 일컬어지는 새로운 퀵 링크를 생성하기 위한 화면 디스플레이의 도면이다. 위에서 설명된 대로, 도29에서, 스택들은 1월에 의해 필터링되었다. 도31에서, 사용자는 도29의 필터링은 새로운 퀵 링크로 저장되어야 함을 표시하고, 새로운 퀵 링크 "1월 작업"으로 명명하였다. 그러므로, 새로운 1월 작업 퀵 링크(612)는 디스플레이의 퀵 링크 섹션에서 표시된다. 새로운 퀵 링크들을 생성하는 것에 대해서, 사용자에게 일반적으로 "이 컬렉션을 퀵 링크로 저장"와 같은 옵션이 제공된다.
도 32는 "모든 저작자들"의 퀵 링크가 선택되는 화면 디스플레이의 도면이다. 도32에서 도시된 대로, 선택 박스 (SB)는 모든 저작자들 선택(611)에 있는 것으로 표시된다. 퀵 링크들에 의해 액세스될 수 있는 컬렉션들의 기타 예들은 "모든 저작자", "최근 문서", "내가 공유한 모든 문서", "내가 저작한 모든 문서", "다른 사람들에 의해 저작된 문서", "데스크 탑 (desk top)", 및 "모든 유형"을 포함한다.
도 33은, 도 32의 항목들의 모든 저작자들의 리스트가 제공되는 화면 디스플레이의 도면이다. 도33에서 도시된 바와 같이, 항목의 이름, 저작자, 수정 날짜, 유형, 사이즈, 및 항목의 위치를 나타내는 컬럼들을 표시하는 정보 라인(950)이 제공된다. 저작자들(951-954)의 리스트는 저작자들 1-4에 각각 대응해서 나타난다.
도 34는, 도 33의 리스트로부터 "저작자1"이 선택되는 화면 디스플레이의 도면이다. 저작자1의 문서들은 문서들 1 및 2에 각각 대응해서 문서들 (951A, 951B)을 포함한다. 문서(951A)는, 저작자1에 의해 저작되고, 2001년 7월11일에 수정되고, 마이크로소프트 액셀 파일이고, 282 Kb 메모리를 점유하고, 및 //server1//folder2의 위치로부터 얻어지는 것으로 표시된다. 문서(951B)는, 저작자1에 의해 저작되고, 2002년 12월22일에 수정되고, 마이크로소프트 워드 파일이고, 206 Kb 메모리를 점유하고, 물리적으로 MY Documents/folder1의 위치에 저장되는 것으로 표시된다. 문서들(951A, 951B)의 위치들은 본 발명의 가상 폴더들이 아래 더 상세히 기술되는 것처럼 다른 물리적 위치들로부터의 항목들을 포함할 수 있음을 또한 설명한다.
도 35는 새로운 라이브러리를 생성하기 위한 루틴(960)의 흐름도이다. 라이브러리의 일례는 도 10를 참조하여 상술된 문서 라이브러리이다. 일반적으로, 라이브러리들은 함께 연관될 수 있는 이용가능한 파일 유형들의 대 그룹으로 이루어진다. 예를 들어, 사진들은 한 개의 라이브러리일 수 있고, 음악이 다른 라이브러리일 수 있고, 문서는 또 다른 라이브러리일 수 있다. 라이브러리들은 특정 유형들의 항목들과 관련있는 도구 및 활동들을 제공할 수 있다. 예를 들어, 사진 라이브러리에서, 슬라이드 쇼(slide show)들을 생성하거나 혹은 사진들을 공유하는 것과 같은 사진들을 조작하는 것과 관련있는 도구 및 필터들이 있을 수 있다. 도35에서 도시된 바와 같이, 블록(962)에서, 선택된 특징을 갖는 항목들을 포함하는 새로운 라이브러리가 생성된다. 블록(964)에서, 선택된 항목들은 라이브러리로 그룹핑된다. 블록(966)에서, 항목들의 선택 특징들 혹은 기타 원하는 기능들에 관련된 도구 및/또는 활동들이 제공된다.
도 36은, 가용 라이브러리의 컬렉션이 나타난 화면 디스플레이의 도면이다. 도36에 도시된 바와 같이, 라이브러리들은, 모든 항목 라이브러리(977)를 비롯해서, 문서 라이브러리(971), 사진 및 비디오 라이브러리(972), 음악 라이브러리(973), 메세지 라이브러리(974), 콘택 라이브러리(975), 및 TV 및 영화 라이브러리(976)를 포함한다. 모든 항목들 라이브러리(977)는 조합된 기타 라이브러리들로부터의 항목들의 총 수인 275 항목들을 포함하여 나타난다. 정보 라인(644)은 총 700 MB 메모리를 점유하는 총 275 항목들을 표시한다. 문서 라이브러리(971)는 도10에 대해 위에 기술된 라이브러리임이 주목되어야 한다.
도 37은 가상 폴더 컬렉션의 범위를 정의하는 루틴(990)의 흐름도이다. 아래 더 상세히 기술되는 것처럼, 가상 폴더 시스템은 사용자에게 모든 항목들을 쉽게 액세스할 수 있도록 다수의 물리적 위치들(즉, 상이한 하드 드라이브들, 상이한 컴퓨터들, 상이한 네트워크 위치들, 등)로부터 항목들을 표시할 수 있다. 예를 들어, 사용자는 한 개의 디스플레이 상에 다수의 물리적 위치들로부터의 음악 파일들이 제공될 수 있고, 한 번에 그 파일들을 조작할 수 있다.
도 37에 도시된 바와 같이, 블록(992)에서, 항목들이 인출되는 물리적 위치들에 대한 범위가 정의된다. 블록(994)에서, 쿼리(query)에 응답해서, 항목들은 항목에서 정의된 물리적 위치들로부터 인출된다. 블록(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에 대해 위에 기술된 것처럼, 그런 비파일 항목들은, 파일들의 특성들에 대한 정보를 포함하는 관계형 데이터베이스 (relational database)(230) 내에 전부 포함될 수 있다.
본 발명의 바람직한 실시예가 설명되었지만, 본 발명의 취지 및 범위로부터 벗어나지 않고 다양한 변경이 가능함이 이해될 것이다.

Claims (40)

  1. 디스플레이를 갖는 컴퓨터 시스템에서 항목들을 디스플레이하는 방법으로서,
    항목들이 인출(draw)되는 물리적 메모리 위치들의 범위를 정의하는 단계 - 상기 범위는 현재의 컴퓨터 메모리 및 적어도 하나의 다른 물리적 위치를 포함함 - ;
    상기 항목들의 특정 메타데이터 특성들에 대한 검색을 요구하는 쿼리(query)를 수신하는 단계;
    상기 쿼리에 응답하여 상기 범위에 정의된 상기 물리적 위치들로부터 항목들을 인출하는 단계; 및
    상기 디스플레이 상의 뷰(view)에 상기 쿼리에 의해 인출된 상기 항목들을 표시하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 다른 물리적 위치는 다른 컴퓨터인, 방법.
  3. 제1항에 있어서,
    상기 적어도 하나의 다른 물리적 위치는 네트워크 상의 위치인, 방법.
  4. 제1항에 있어서,
    상기 적어도 하나의 다른 물리적 위치는 외부 저장 장치인, 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 쿼리에 의해 인출된 복수의 상기 항목은 하나 이상의 가상 폴더의 형태로 상기 디스플레이 상의 상기 뷰에 표시되는, 방법.
  7. 제1항에 있어서,
    상기 디스플레이 상의 상기 뷰는 상기 항목들이 물리적으로 저장된 상기 물리적 위치들을 나타내는 물리적 폴더 뷰로 전환될 수 있는, 방법.
  8. 제1항에 있어서,
    상기 쿼리에 의해 인출된 상기 항목들은 파일 항목들 및 비파일 항목들(non-file items) 양자를 포함하는, 방법.
  9. 제8항에 있어서,
    상기 비파일 항목들은 콘택(contacts) 또는 이메일(e-mails) 중 적어도 하나를 포함하는, 방법.
  10. 디스플레이 상에 항목들을 디스플레이하는 방법을 구현하는 컴퓨터 실행가능 컴포넌트들을 갖는 컴퓨터 판독가능 매체로서, 상기 방법은
    항목들이 인출되는 물리적 메모리 위치들의 범위를 정의하는 단계 - 상기 범위는 현재의 컴퓨터 메모리 및 적어도 하나의 다른 물리적 위치를 포함함 - ;
    쿼리를 수신하는 단계;
    상기 쿼리에 응답하여 상기 범위에 정의된 상기 물리적 위치들로부터 항목들을 인출하는 단계; 및
    상기 디스플레이 상의 뷰에 상기 쿼리에 의해 인출된 상기 항목들을 표시하는 단계 - 상기 표시되는 항목들은 하나 이상의 가상 폴더의 형태로 표시됨 - 를 포함하는, 컴퓨터 판독가능 매체.
  11. 제10항에 있어서,
    상기 적어도 하나의 다른 물리적 위치는 다른 컴퓨터, 네트워크 상의 위치, 및 외부 저장 장치 중 적어도 하나를 포함하는, 컴퓨터 판독가능 매체.
  12. 제10항에 있어서,
    상기 쿼리는 상기 항목들의 특정 메타데이터 특성들에 대한 검색을 요구하는, 컴퓨터 판독가능 매체.
  13. 삭제
  14. 제10항에 있어서,
    상기 디스플레이 상의 상기 뷰는 상기 항목들이 저장되는 상기 물리적 위치들을 지시하는 물리적 폴더 뷰로 전환될 수 있는, 컴퓨터 판독가능 매체.
  15. 제10항에 있어서,
    상기 쿼리에 의해 인출된 상기 항목들은 파일 항목들 및 비파일 항목들 양자를 포함하는, 컴퓨터 판독가능 매체.
  16. 항목들을 디스플레이하는 시스템으로서,
    항목들이 인출되는 물리적 메모리 위치들의 범위를 정의하는 수단 - 상기 범위는 현재의 컴퓨터 메모리 및 적어도 하나의 다른 물리적 위치를 포함함 - ;
    쿼리에 응답하여 상기 범위 내에 정의된 상기 물리적 위치들로부터 항목들을 인출하는 수단;
    디스플레이 상의 뷰에 상기 쿼리에 의해 인출된 상기 항목들을 표시하는 수단; 및
    상기 항목들이 저장되는 상기 물리적 위치들을 지시하는 물리적 폴더 뷰로 전환하기 위한 수단
    을 포함하는 시스템.
  17. 제16항에 있어서,
    상기 항목들의 특정 메타데이터 특성들에 대한 검색을 위한 수단을 더 포함하는 시스템.
  18. 제16항에 있어서,
    상기 디스플레이 상의 상기 뷰에 복수의 상기 항목을 표시하는 가상 폴더들을 제공하는 수단을 더 포함하는 시스템.
  19. 삭제
  20. 제16항에 있어서,
    상기 쿼리에 의해 인출되는 상기 항목들에 파일 항목들 및 비파일 항목들 양자를 포함시키는 수단을 더 포함하는 시스템.
  21. 항목들을 저장하는 메모리 및 디스플레이를 갖는 컴퓨터 시스템에서, 상기 항목들을 사용자에게 표시하는 방법으로서,
    비파일 항목들 및 파일 항목들 양자가 쿼리에 의해 검색되도록 하는 데이터베이스를 제공하는 단계;
    쿼리를 수신하고, 상기 쿼리에 응답하여 상기 쿼리에 매칭되는 비파일 항목들 및 파일 항목들 양자를 인출하는 단계; 및
    상기 디스플레이 상에 상기 쿼리에 매칭되는 상기 비파일 항목들 및 파일 항목들 양자를 표시하는 단계를 포함하고,
    상기 매칭되는 항목들은 하나 이상의 가상 폴더의 형태로 상기 디스플레이 상에 표시되는, 방법.
  22. 제21항에 있어서,
    상기 비파일 항목은 콘택을 포함하는, 방법.
  23. 제21항에 있어서,
    상기 비파일 항목은 이메일을 포함하는, 방법.
  24. 제21항에 있어서,
    파일 항목들에 대한 선택된 정보를 포함하는 관계형 데이터베이스가 제공되는, 방법.
  25. 제24항에 있어서,
    상기 관계형 데이터베이스는 하나 이상의 비파일 항목을 그들의 완전한 상태(entirety)로 유지하는, 방법.
  26. 제21항에 있어서,
    상기 쿼리에 의해 검색되는 상기 항목들은 상이한 물리적 위치들에 저장되는, 방법.
  27. 제26항에 있어서,
    상기 상이한 물리적 위치들은 다른 컴퓨터, 네트워크 상의 위치 및 외부 저장 장치 중 적어도 하나, 그리고 현재의 컴퓨터를 포함하는, 방법.
  28. 삭제
  29. 제21항에 있어서,
    상기 하나 이상의 가상 폴더는 비파일 항목들 및 파일 항목들 양자를 포함하는, 방법.
  30. 항목들을 디스플레이하는 방법을 구현하는 컴퓨터 실행가능 컴포넌트들을 갖는 컴퓨터 판독가능 매체로서, 상기 방법은
    비파일 항목들 및 파일 항목들 양자가 쿼리에 의해 검색되도록 하는 데이터베이스를 제공하는 단계;
    쿼리를 수신하는 단계;
    상기 쿼리에 응답하여 상기 쿼리에 매칭되는 비파일 항목들 및 파일 항목들 양자를 인출하는 단계; 및
    디스플레이 상에 상기 쿼리에 매칭되는 상기 비파일 항목들 및 파일 항목들 양자를 표시하는 단계 - 상기 인출되는 항목들은 하나 이상의 가상 폴더의 형태로 상기 디스플레이 상의 뷰에 표시됨 - 를 포함하는, 컴퓨터 판독가능 매체.
  31. 제30항에 있어서,
    상기 비파일 항목들은 콘택 및 이메일 중 적어도 하나를 포함하는, 컴퓨터 판독가능 매체.
  32. 제30항에 있어서,
    비파일 항목들 및 파일 항목들 양자가 검색되도록 하는 상기 데이터베이스는 상기 파일 항목들에 대한 정보를 유지하는 관계형 데이터베이스인, 컴퓨터 판독가능 매체.
  33. 제32항에 있어서,
    상기 관계형 데이터베이스는 또한 복수의 비파일 항목을 그들의 완전한 상태로 유지하는, 컴퓨터 판독가능 매체.
  34. 제30항에 있어서,
    상기 쿼리에 매칭되도록 인출되는 복수의 상기 항목이 상이한 물리적 위치들에 저장되는, 컴퓨터 판독가능 매체.
  35. 삭제
  36. 항목들을 디스플레이하는 시스템에 있어서,
    비파일 항목들 및 파일 항목들 양자가 쿼리에 의해 검색되도록 하는 데이터베이스를 제공하는 수단;
    쿼리에 응답하여 비파일 항목들 및 파일 항목들 양자를 인출하는 수단;
    디스플레이 상의 뷰에 상기 쿼리에 매칭되는 상기 비파일 항목들 및 파일 항목들 양자를 하나 이상의 가상 폴더의 형태로 표시하는 수단 - 상기 하나 이상의 가상 폴더는 실제의 물리적 기초 파일 시스템(actual physical underlying files system)에서의 위치에 기초하는 대신, 상기 인출되는 비파일 항목들 및 상기 인출되는 파일 항목들의 메타데이터 특성들에 기초함 - ; 및
    상기 디스플레이 상의 뷰를, 상기 하나 이상의 가상 폴더로부터, 상기 항목들이 상기 실제의 물리적 기초 파일 시스템에 저장된 물리적 위치들을 나타내는 위치-의존적 뷰(location-dependent view)로 전환하는 수단을 포함하는 시스템.
  37. 제36항에 있어서,
    상기 데이터베이스에 파일 항목들에 대한 정보를 저장하는 수단을 더 포함하는 시스템.
  38. 제37항에 있어서,
    상기 데이터베이스는 복수의 비파일 항목을 그들의 완전한 상태로 유지하는, 시스템.
  39. 제36항에 있어서,
    복수의 상기 파일 항목을 상이한 물리적 위치들에 저장하는 수단을 더 포함하는 시스템.
  40. 제36항에 있어서,
    파일 항목들 및 비파일 항목들 양자를 포함하는 하나 이상의 가상 폴더를 제공하는 수단을 더 포함하는 시스템.
KR1020047009814A 2003-03-27 2003-05-16 다른 유형의, 다른 물리적 위치의 항목들을디스플레이하기 위한 파일 시스템 KR100977360B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/403,175 2003-03-27
US10/403,175 US7499925B2 (en) 2003-03-27 2003-03-27 File system for displaying items of different types and from different physical locations

Publications (2)

Publication Number Publication Date
KR20050115819A KR20050115819A (ko) 2005-12-08
KR100977360B1 true KR100977360B1 (ko) 2010-08-20

Family

ID=32989871

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047009814A KR100977360B1 (ko) 2003-03-27 2003-05-16 다른 유형의, 다른 물리적 위치의 항목들을디스플레이하기 위한 파일 시스템

Country Status (16)

Country Link
US (1) US7499925B2 (ko)
EP (1) EP1518196A4 (ko)
JP (2) JP2006521592A (ko)
KR (1) KR100977360B1 (ko)
CN (1) CN1656478B (ko)
AU (1) AU2003243240B2 (ko)
BR (1) BR0306638A (ko)
CA (1) CA2468584C (ko)
CO (1) CO5650188A2 (ko)
IL (2) IL162403A0 (ko)
MX (1) MXPA04006413A (ko)
NO (1) NO331573B1 (ko)
NZ (1) NZ533569A (ko)
RU (1) RU2376630C2 (ko)
WO (1) WO2004097680A1 (ko)
ZA (1) ZA200404534B (ko)

Families Citing this family (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4902904B2 (ja) * 2000-10-06 2012-03-21 ソニー株式会社 情報処理方法、並びにプログラムを格納している媒体
US7823077B2 (en) 2003-03-24 2010-10-26 Microsoft Corporation System and method for user modification of metadata in a shell browser
US7769794B2 (en) * 2003-03-24 2010-08-03 Microsoft Corporation User interface for a file system shell
US7712034B2 (en) 2003-03-24 2010-05-04 Microsoft Corporation System and method for shell browser
US7240292B2 (en) 2003-04-17 2007-07-03 Microsoft Corporation Virtual address bar user interface control
US7627552B2 (en) 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7421438B2 (en) * 2004-04-29 2008-09-02 Microsoft Corporation Metadata editing control
US7890960B2 (en) 2003-03-26 2011-02-15 Microsoft Corporation Extensible user context system for delivery of notifications
US7827561B2 (en) 2003-03-26 2010-11-02 Microsoft Corporation System and method for public consumption of communication events between arbitrary processes
US7650575B2 (en) * 2003-03-27 2010-01-19 Microsoft Corporation Rich drag drop user interface
US7925682B2 (en) 2003-03-27 2011-04-12 Microsoft Corporation System and method utilizing virtual folders
US7401104B2 (en) * 2003-08-21 2008-07-15 Microsoft Corporation Systems and methods for synchronizing computer systems through an intermediary file system share or device
US8131739B2 (en) * 2003-08-21 2012-03-06 Microsoft Corporation Systems and methods for interfacing application programs with an item-based storage platform
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US8024335B2 (en) 2004-05-03 2011-09-20 Microsoft Corporation System and method for dynamically generating a selectable search extension
US7181463B2 (en) 2003-10-24 2007-02-20 Microsoft Corporation System and method for managing data using static lists
US8548170B2 (en) 2003-12-10 2013-10-01 Mcafee, Inc. Document de-registration
US8656039B2 (en) 2003-12-10 2014-02-18 Mcafee, Inc. Rule parser
US7984175B2 (en) 2003-12-10 2011-07-19 Mcafee, Inc. Method and apparatus for data capture and analysis system
US7657846B2 (en) 2004-04-23 2010-02-02 Microsoft Corporation System and method for displaying stack icons
US7694236B2 (en) 2004-04-23 2010-04-06 Microsoft Corporation Stack icons representing multiple objects
US7992103B2 (en) 2004-04-26 2011-08-02 Microsoft Corporation Scaling icons for representing files
US8707209B2 (en) 2004-04-29 2014-04-22 Microsoft Corporation Save preview representation of files being created
US8108429B2 (en) 2004-05-07 2012-01-31 Quest Software, Inc. System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services
US7565661B2 (en) 2004-05-10 2009-07-21 Siew Yong Sim-Tang Method and system for real-time event journaling to provide enterprise data services
US7392261B2 (en) * 2004-05-20 2008-06-24 International Business Machines Corporation Method, system, and program for maintaining a namespace of filesets accessible to clients over a network
US7680834B1 (en) 2004-06-08 2010-03-16 Bakbone Software, Inc. Method and system for no downtime resychronization for real-time, continuous data protection
US8560534B2 (en) 2004-08-23 2013-10-15 Mcafee, Inc. Database for a capture system
US7949849B2 (en) 2004-08-24 2011-05-24 Mcafee, Inc. File system for a capture system
US7979404B2 (en) 2004-09-17 2011-07-12 Quest Software, Inc. Extracting data changes and storing data history to allow for instantaneous access to and reconstruction of any point-in-time data
JP4861988B2 (ja) * 2004-09-24 2012-01-25 マイクロソフト コーポレーション ファイルシステムシェルブラウザを実現するコンピュータ・プログラム
US7904913B2 (en) 2004-11-02 2011-03-08 Bakbone Software, Inc. Management interface for a system that provides automated, real-time, continuous data protection
US8677274B2 (en) * 2004-11-10 2014-03-18 Apple Inc. Highlighting items for search results
US7627574B2 (en) * 2004-12-16 2009-12-01 Oracle International Corporation Infrastructure for performing file operations by a database server
US7383503B2 (en) * 2005-02-23 2008-06-03 Microsoft Corporation Filtering a collection of items
US8490015B2 (en) 2005-04-15 2013-07-16 Microsoft Corporation Task dialog and programming interface for same
US8522154B2 (en) 2005-04-22 2013-08-27 Microsoft Corporation Scenario specialization of file browser
US8195646B2 (en) 2005-04-22 2012-06-05 Microsoft Corporation Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
US7984057B2 (en) * 2005-05-10 2011-07-19 Microsoft Corporation Query composition incorporating by reference a query definition
US7665028B2 (en) 2005-07-13 2010-02-16 Microsoft Corporation Rich drag drop user interface
US7788521B1 (en) 2005-07-20 2010-08-31 Bakbone Software, Inc. Method and system for virtual on-demand recovery for real-time, continuous data protection
US7689602B1 (en) 2005-07-20 2010-03-30 Bakbone Software, Inc. Method of creating hierarchical indices for a distributed object system
US7907608B2 (en) 2005-08-12 2011-03-15 Mcafee, Inc. High speed packet capture
JP4614130B2 (ja) * 2005-08-26 2011-01-19 富士フイルム株式会社 画像処理装置、画像処理方法及び画像処理プログラム
US7818326B2 (en) 2005-08-31 2010-10-19 Mcafee, Inc. System and method for word indexing in a capture system and querying thereof
JP4708938B2 (ja) * 2005-09-16 2011-06-22 キヤノン株式会社 情報処理装置、情報処理方法、プログラム及び記憶媒体
US7958227B2 (en) 2006-05-22 2011-06-07 Mcafee, Inc. Attributes of captured objects in a capture system
CA2662132A1 (en) * 2006-08-28 2008-03-06 Thomson Licensing Method and apparatus for multi-format data exchange
US8996542B2 (en) * 2006-12-13 2015-03-31 Adobe Systems Incorporated Navigation of hierarchical data sets
US8190661B2 (en) * 2007-01-24 2012-05-29 Microsoft Corporation Using virtual repository items for customized display
US8145673B2 (en) 2007-02-16 2012-03-27 Microsoft Corporation Easily queriable software repositories
US20080201330A1 (en) * 2007-02-16 2008-08-21 Microsoft Corporation Software repositories
JP2008210057A (ja) 2007-02-23 2008-09-11 Hitachi Ltd 記憶システム及びその管理方法
US8131723B2 (en) 2007-03-30 2012-03-06 Quest Software, Inc. Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity
US8364648B1 (en) 2007-04-09 2013-01-29 Quest Software, Inc. Recovering a database to any point-in-time in the past with guaranteed data consistency
US7831625B2 (en) * 2007-05-16 2010-11-09 Microsoft Corporation Data model for a common language
US7836053B2 (en) * 2007-12-28 2010-11-16 Group Logic, Inc. Apparatus and methods of identifying potentially similar content for data reduction
US20090259724A1 (en) * 2008-04-03 2009-10-15 Paisal S.A. Method of organizing and displaying e-mails
US8285759B2 (en) * 2008-04-22 2012-10-09 Oracle International Corporation Techniques to support disparate file systems
US8095963B2 (en) * 2008-04-30 2012-01-10 Microsoft Corporation Securing resource stores with claims-based security
US8001154B2 (en) * 2008-06-26 2011-08-16 Microsoft Corporation Library description of the user interface for federated search results
US8683361B2 (en) * 2008-06-27 2014-03-25 Microsoft Corporation Presentation of headers for groups of locations in an electronic library
US8205242B2 (en) 2008-07-10 2012-06-19 Mcafee, Inc. System and method for data mining and security policy management
US9253154B2 (en) 2008-08-12 2016-02-02 Mcafee, Inc. Configuration management for a capture/registration system
US20100107100A1 (en) 2008-10-23 2010-04-29 Schneekloth Jason S Mobile Device Style Abstraction
US8411046B2 (en) 2008-10-23 2013-04-02 Microsoft Corporation Column organization of content
US8965928B2 (en) * 2008-12-23 2015-02-24 International Business Machines Corporation Searching for computer resources based on associations between these resources and external events
US8850591B2 (en) 2009-01-13 2014-09-30 Mcafee, Inc. System and method for concept building
US8706709B2 (en) 2009-01-15 2014-04-22 Mcafee, Inc. System and method for intelligent term grouping
US9330097B2 (en) * 2009-02-17 2016-05-03 Hewlett-Packard Development Company, L.P. Projects containing media data of different types
US8473442B1 (en) 2009-02-25 2013-06-25 Mcafee, Inc. System and method for intelligent state management
US8667121B2 (en) 2009-03-25 2014-03-04 Mcafee, Inc. System and method for managing data and policies
US8447722B1 (en) 2009-03-25 2013-05-21 Mcafee, Inc. System and method for data mining and security policy management
US8175653B2 (en) 2009-03-30 2012-05-08 Microsoft Corporation Chromeless user interface
US8095571B2 (en) * 2009-06-22 2012-01-10 Microsoft Corporation Partitioning modeling platform data
EP2465024A4 (en) * 2009-08-14 2015-01-21 Telogis Inc REAL-TIME CARTOGRAPHIC RENDERING WITH DATA GROUPING, EXPANSION AND OVERLAY
US20110193857A1 (en) * 2010-02-05 2011-08-11 Vasily Filippov Methods and apparatus for rendering a collection of widgets on a mobile device display
US20110197165A1 (en) * 2010-02-05 2011-08-11 Vasily Filippov Methods and apparatus for organizing a collection of widgets on a mobile device display
JP5641797B2 (ja) * 2010-07-07 2014-12-17 キヤノン株式会社 文書管理システム、文書管理サーバ装置、および文書管理方法
US20120084732A1 (en) * 2010-10-01 2012-04-05 Vasily Filippov Methods and apparatus for organizing applications and widgets on a mobile device interface
US8806615B2 (en) 2010-11-04 2014-08-12 Mcafee, Inc. System and method for protecting specified data combinations
US9244976B1 (en) 2010-12-16 2016-01-26 The George Washington University and Board of Regents Just-in-time analytics on large file systems and hidden databases
US9244975B2 (en) * 2010-12-16 2016-01-26 The George Washington University Just-in-time analytics on large file systems
US9646013B2 (en) 2011-02-16 2017-05-09 Docbert Llc System and method for file management
US8180814B1 (en) 2011-02-16 2012-05-15 Docbert, LLC System and method for file management
US9230232B2 (en) 2011-09-20 2016-01-05 Telogis, Inc. Vehicle fleet work order management system
US20130246431A1 (en) * 2011-12-27 2013-09-19 Mcafee, Inc. System and method for providing data protection workflows in a network environment
US20130339098A1 (en) 2012-06-15 2013-12-19 Telogis, Inc. Vehicle fleet routing system
US20130339266A1 (en) 2012-06-15 2013-12-19 Telogis, Inc. Vehicle fleet routing system
CN103970437B (zh) * 2013-01-30 2018-01-26 广州三星通信技术研究有限公司 操作便携式终端的方法及装置
RU2572385C2 (ru) * 2014-01-15 2016-01-10 Закрытое акционерное общество "Научно-производственное предприятие "Информационные технологии в бизнесе" Система разграничения доступа по расширениям файлов
JP2015162200A (ja) * 2014-02-28 2015-09-07 株式会社日立ソリューションズ ファイル管理装置
US10089346B2 (en) * 2014-04-25 2018-10-02 Dropbox, Inc. Techniques for collapsing views of content items in a graphical user interface
US9891794B2 (en) 2014-04-25 2018-02-13 Dropbox, Inc. Browsing and selecting content items based on user gestures
CN106339438B (zh) * 2016-08-22 2020-04-07 深圳鼎智通讯股份有限公司 文件管理器中的内部存储显示方法
CN106484832A (zh) * 2016-09-30 2017-03-08 福州瑞芯微电子股份有限公司 呈现项目集合的方法和***
CN106934003B (zh) * 2017-03-06 2021-01-15 宇龙计算机通信科技(深圳)有限公司 一种文件处理方法及移动终端
WO2020085529A1 (ko) * 2018-10-24 2020-04-30 김종호 인터넷 서비스를 파일 시스템으로 변환할 수 있는 장치 및 방법과 컴퓨터로 읽을 수 있는 기록매체
US10809994B1 (en) * 2019-04-05 2020-10-20 Sap Se Declarative multi-artefact software installation
US11113249B2 (en) 2019-04-05 2021-09-07 Sap Se Multitenant application server using a union file system
US11232078B2 (en) 2019-04-05 2022-01-25 Sap Se Multitenancy using an overlay file system
US10956140B2 (en) 2019-04-05 2021-03-23 Sap Se Software installation through an overlay file system
US10942723B2 (en) 2019-04-05 2021-03-09 Sap Se Format for multi-artefact software packages
CN110400364B (zh) * 2019-07-06 2023-04-11 深圳市山水原创动漫文化有限公司 一种贴图路径的处理方法
US11947549B2 (en) 2020-04-10 2024-04-02 Dropbox, Inc. Generating modified view based on identified subset of content items and providing modified view to user associated with user account for display
CN112817673A (zh) * 2021-01-07 2021-05-18 北京芯愿景软件技术股份有限公司 一种信息导航***和方法
CN113191739B (zh) * 2021-05-18 2023-10-13 上海云扩信息科技有限公司 一种云扩RPA流程项目结构以及.dgs文件

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100188491B1 (ko) * 1995-06-07 1999-06-01 제프리 엘. 포만 인터넷을 통해 월드 와이드 웹 서버 데이타를 액세스하기 위한 컴퓨터 네트워크
KR100309310B1 (ko) * 1997-07-16 2001-11-15 포만 제프리 엘 무선데이터통신망및무선데이터통신망에서의송신기에의한데이터파일획득방법

Family Cites Families (192)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4881179A (en) * 1988-03-11 1989-11-14 International Business Machines Corp. Method for providing information security protocols to an electronic calendar
US5241671C1 (en) * 1989-10-26 2002-07-02 Encyclopaedia Britannica Educa Multimedia search system using a plurality of entry path means which indicate interrelatedness of information
US5513306A (en) 1990-08-09 1996-04-30 Apple Computer, Inc. Temporal event viewing and editing system
US5388196A (en) 1990-09-07 1995-02-07 Xerox Corporation Hierarchical shared books with database
JPH04362745A (ja) * 1991-06-10 1992-12-15 Agency Of Ind Science & Technol 命令トレース装置
US5333315A (en) * 1991-06-27 1994-07-26 Digital Equipment Corporation System of device independent file directories using a tag between the directories and file descriptors that migrate with the files
US5504852A (en) * 1991-09-09 1996-04-02 Apple Computer, Inc. Method for creating a collection of aliases representing computer system files
JP3303926B2 (ja) * 1991-09-27 2002-07-22 富士ゼロックス株式会社 構造化文書分類装置及び方法
US5461710A (en) 1992-03-20 1995-10-24 International Business Machines Corporation Method for providing a readily distinguishable template and means of duplication thereof in a computer system graphical user interface
EP0592638B1 (en) * 1992-04-30 2001-02-07 Apple Computer, Inc. Method and apparatus for organizing information in a computer system
DE69328522T2 (de) 1992-08-27 2001-01-11 Sun Microsystems Inc Verfahren und Vorrichtung zur Benutzung von Browsern für Sammlungen
US5559948A (en) * 1992-12-23 1996-09-24 International Business Machines Corporation Apparatus and method for manipulating an object in a computer system graphical user interface
US5598524A (en) 1993-03-03 1997-01-28 Apple Computer, Inc. Method and apparatus for improved manipulation of data between an application program and the files system on a computer-controlled display system
US5499364A (en) * 1993-10-14 1996-03-12 Digital Equipment Corporation System and method for optimizing message flows between agents in distributed computations
US6243071B1 (en) 1993-11-03 2001-06-05 Apple Computer, Inc. Tool set for navigating through an electronic book
US6339767B1 (en) 1997-06-02 2002-01-15 Aurigin Systems, Inc. Using hyperbolic trees to visualize data generated by patent-centric and group-oriented data processing
CA2181342A1 (en) 1994-01-27 1995-08-03 David T. Berquist Software notes
US6453311B1 (en) 1994-05-06 2002-09-17 Apple Computer, Inc. System and method for performing context checks
US5680563A (en) 1994-07-25 1997-10-21 Object Technology Licensing Corporation Object-oriented operating system enhancement for filtering items in a window
US5831606A (en) 1994-12-13 1998-11-03 Microsoft Corporation Shell extensions for an operating system
US5956715A (en) 1994-12-13 1999-09-21 Microsoft Corporation Method and system for controlling user access to a resource in a networked computing environment
US5696486A (en) 1995-03-29 1997-12-09 Cabletron Systems, Inc. Method and apparatus for policy-based alarm notification in a distributed network management environment
US5838317A (en) 1995-06-30 1998-11-17 Microsoft Corporation Method and apparatus for arranging displayed graphical representations on a computer interface
US6535230B1 (en) 1995-08-07 2003-03-18 Apple Computer, Inc. Graphical user interface providing consistent behavior for the dragging and dropping of content objects
US5929854A (en) * 1995-11-30 1999-07-27 Ross; Michael M. Dialog box method and system for arranging document windows
US5867163A (en) 1995-12-01 1999-02-02 Silicon Graphics, Inc. Graphical user interface for defining and invoking user-customized tool shelf execution sequence
US6014137A (en) * 1996-02-27 2000-01-11 Multimedia Adventures Electronic kiosk authoring system
JPH09244940A (ja) * 1996-03-12 1997-09-19 Hitachi Ltd 分散計算機資源の管理方法
US6021262A (en) * 1996-07-12 2000-02-01 Microsoft Corporation System and method for detection of, notification of, and automated repair of problem conditions in a messaging system
US5757925A (en) 1996-07-23 1998-05-26 Faybishenko; Yaroslav Secure platform independent cross-platform remote execution computer system and method
US5923328A (en) * 1996-08-07 1999-07-13 Microsoft Corporation Method and system for displaying a hierarchical sub-tree by selection of a user interface element in a sub-tree bar control
US6025843A (en) * 1996-09-06 2000-02-15 Peter Sklar Clustering user interface
US5790121A (en) * 1996-09-06 1998-08-04 Sklar; Peter Clustering user interface
US5878410A (en) * 1996-09-13 1999-03-02 Microsoft Corporation File system sort order indexes
US6037944A (en) 1996-11-07 2000-03-14 Natrificial Llc Method and apparatus for displaying a thought network from a thought's perspective
US6918096B2 (en) * 1996-11-07 2005-07-12 Thebrain Technologies, Corp. Method and apparatus for displaying a network of thoughts from a thought's perspective
US5987506A (en) 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US5935210A (en) * 1996-11-27 1999-08-10 Microsoft Corporation Mapping the structure of a collection of computer resources
AU5365998A (en) * 1996-11-27 1998-06-22 1 Vision Software, L.L.C. File directory and file navigation system
US6061695A (en) 1996-12-06 2000-05-09 Microsoft Corporation Operating system shell having a windowing graphical user interface with a desktop displayed as a hypertext multimedia document
US6023708A (en) * 1997-05-29 2000-02-08 Visto Corporation System and method for using a global translator to synchronize workspace elements across a network
US5835094A (en) 1996-12-31 1998-11-10 Compaq Computer Corporation Three-dimensional computer environment
US5933139A (en) * 1997-01-31 1999-08-03 Microsoft Corporation Method and apparatus for creating help functions
US5875446A (en) * 1997-02-24 1999-02-23 International Business Machines Corporation System and method for hierarchically grouping and ranking a set of objects in a query context based on one or more relationships
US6144968A (en) 1997-03-04 2000-11-07 Zellweger; Paul Method and apparatus for menu access to information objects indexed by hierarchically-coded keywords
US6317142B1 (en) 1997-04-04 2001-11-13 Avid Technology, Inc. Taxonomy of objects and a system of non-modal property inspectors
JPH10301938A (ja) 1997-04-22 1998-11-13 Canon Inc 画像処理装置およびその方法、画像処理システム、記憶媒体
US6057844A (en) 1997-04-28 2000-05-02 Adobe Systems Incorporated Drag operation gesture controller
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
US5899995A (en) * 1997-06-30 1999-05-04 Intel Corporation Method and apparatus for automatically organizing information
US6573907B1 (en) * 1997-07-03 2003-06-03 Obvious Technology Network distribution and management of interactive video and multi-media containers
US5877766A (en) 1997-08-15 1999-03-02 International Business Machines Corporation Multi-node user interface component and method thereof for use in accessing a plurality of linked records
US6237011B1 (en) * 1997-10-08 2001-05-22 Caere Corporation Computer-based document management system
US6202061B1 (en) * 1997-10-24 2001-03-13 Pictra, Inc. Methods and apparatuses for creating a collection of media
US6097389A (en) 1997-10-24 2000-08-01 Pictra, Inc. Methods and apparatuses for presenting a collection of digital media in a media container
US6359892B1 (en) * 1997-11-04 2002-03-19 Inventions, Inc. Remote access, emulation, and control of office equipment, devices and services
US6061692A (en) * 1997-11-04 2000-05-09 Microsoft Corporation System and method for administering a meta database as an integral component of an information server
US6216122B1 (en) * 1997-11-19 2001-04-10 Netscape Communications Corporation Electronic mail indexing folder having a search scope and interval
US6275829B1 (en) 1997-11-25 2001-08-14 Microsoft Corporation Representing a graphic image on a web page with a thumbnail-sized image
US6003040A (en) 1998-01-23 1999-12-14 Mital; Vijay Apparatus and method for storing, navigating among and adding links between data items in computer databases
US6401097B1 (en) 1998-01-23 2002-06-04 Mccotter Thomas M. System and method for integrated document management and related transmission and access
US6807632B1 (en) * 1999-01-21 2004-10-19 Emc Corporation Content addressable information encapsulation, representation, and transfer
US6078924A (en) * 1998-01-30 2000-06-20 Aeneid Corporation Method and apparatus for performing data collection, interpretation and analysis, in an information platform
US6128623A (en) 1998-04-15 2000-10-03 Inktomi Corporation High performance object cache
AU3951599A (en) * 1998-06-11 1999-12-30 Boardwalk Ag System, method, and computer program product for providing relational patterns between entities
US6256031B1 (en) * 1998-06-26 2001-07-03 Microsoft Corporation Integration of physical and virtual namespace
US6466238B1 (en) 1998-06-30 2002-10-15 Microsoft Corporation Computer operating system that defines default document folder for application programs
US6181342B1 (en) 1998-07-06 2001-01-30 International Business Machines Corp. Computer file directory system displaying visual summaries of visual data in desktop computer documents for quickly identifying document content
US6363377B1 (en) 1998-07-30 2002-03-26 Sarnoff Corporation Search data processor
US6466932B1 (en) * 1998-08-14 2002-10-15 Microsoft Corporation System and method for implementing group policy
US6324551B1 (en) 1998-08-31 2001-11-27 Xerox Corporation Self-contained document management based on document properties
US6240421B1 (en) 1998-09-08 2001-05-29 Edwin J. Stolarz System, software and apparatus for organizing, storing and retrieving information from a computer database
US6803926B1 (en) 1998-09-18 2004-10-12 Microsoft Corporation System and method for dynamically adjusting data values and enforcing valid combinations of the data in response to remote user input
US8332478B2 (en) * 1998-10-01 2012-12-11 Digimarc Corporation Context sensitive connected content
JP2000112797A (ja) * 1998-10-02 2000-04-21 Nippon Telegr & Teleph Corp <Ntt> ビューディレクトリ処理方法および装置とビューディレクトリ処理プログラムを記録した記録媒体
US6341280B1 (en) 1998-10-30 2002-01-22 Netscape Communications Corporation Inline tree filters
US6823344B1 (en) 1998-12-03 2004-11-23 International Business Machines Corporation File manager system providing faster and more efficient interactive user access to files in computer displays
US6571245B2 (en) * 1998-12-07 2003-05-27 Magically, Inc. Virtual desktop in a computer network
US20030097361A1 (en) * 1998-12-07 2003-05-22 Dinh Truong T Message center based desktop systems
US6480835B1 (en) 1998-12-31 2002-11-12 Intel Corporation Method and system for searching on integrated metadata
US6751604B2 (en) * 1999-01-06 2004-06-15 Hewlett-Packard Development Company, L.P. Method of displaying temporal and storage media relationships of file names protected on removable storage media
US6147601A (en) 1999-01-09 2000-11-14 Heat - Timer Corp. Electronic message delivery system utilizable in the monitoring of remote equipment and method of same
US6628309B1 (en) 1999-02-05 2003-09-30 International Business Machines Corporation Workspace drag and drop
US6411311B1 (en) 1999-02-09 2002-06-25 International Business Machines Corporation User interface for transferring items between displayed windows
US6356915B1 (en) 1999-02-22 2002-03-12 Starbase Corp. Installable file system having virtual file system drive, virtual device driver, and virtual disks
US6636238B1 (en) 1999-04-20 2003-10-21 International Business Machines Corporation System and method for linking an audio stream with accompanying text material
JP3284543B2 (ja) 1999-04-23 2002-05-20 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム格納媒体
US6573906B1 (en) * 1999-04-26 2003-06-03 International Business Machines Corporation Method and system for delivering integrated user assistance information and traditional help from the same source
US20020174329A1 (en) * 1999-04-28 2002-11-21 Bowler Richard A. Method and system for automatically transitioning files among computer systems
US6539399B1 (en) * 1999-04-29 2003-03-25 Amada Company, Limited Stand alone data management system for facilitating sheet metal part production
US6526399B1 (en) 1999-06-15 2003-02-25 Microsoft Corporation Method and system for grouping and displaying a database
US6535229B1 (en) 1999-06-29 2003-03-18 International Business Machines Corporation Graphical user interface for selection of options within mutually exclusive subsets
IL130972A0 (en) 1999-07-15 2001-01-28 Hotbar Com Israel Ltd Method for the dynamic improvement of internet browser appearance and connectivity
US6448985B1 (en) * 1999-08-05 2002-09-10 International Business Machines Corporation Directory tree user interface having scrollable subsections
US6549916B1 (en) * 1999-08-05 2003-04-15 Oracle Corporation Event notification system tied to a file system
US6505233B1 (en) 1999-08-30 2003-01-07 Zaplet, Inc. Method for communicating information among a group of participants
JP3211956B2 (ja) * 1999-08-31 2001-09-25 勲 清水 データベースシステム
US6430575B1 (en) 1999-09-10 2002-08-06 Xerox Corporation Collaborative document management system with customizable filing structures that are mutually intelligible
US6871348B1 (en) * 1999-09-15 2005-03-22 Intel Corporation Method and apparatus for integrating the user interfaces of multiple applications into one application
US6763458B1 (en) * 1999-09-27 2004-07-13 Captaris, Inc. System and method for installing and servicing an operating system in a computer or information appliance
US7444390B2 (en) * 1999-10-20 2008-10-28 Cdimensions, Inc. Method and apparatus for providing a web-based active virtual file system
US7039860B1 (en) * 1999-10-01 2006-05-02 Netspinner Solutions As Creating web pages category list prior to the list being served to a browser
US6583799B1 (en) 1999-11-24 2003-06-24 Shutterfly, Inc. Image uploading
US7917628B2 (en) * 1999-12-02 2011-03-29 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US7325012B2 (en) * 1999-12-06 2008-01-29 Interface Software, Inc. Relationship management system determining contact pathways in a contact relational database
US7613695B1 (en) * 1999-12-06 2009-11-03 Reed Elsevier Inc. Relationship management system that provides an indication of users having a relationship with a specified contact
US6754829B1 (en) 1999-12-14 2004-06-22 Intel Corporation Certificate-based authentication system for heterogeneous environments
US6408298B1 (en) * 1999-12-15 2002-06-18 Microsoft Corporation Methods and systems for copying and moving across virtual namespaces
US6606105B1 (en) 1999-12-22 2003-08-12 Adobe Systems Incorporated Layer enhancements in digital illustration system
JP2001188702A (ja) * 1999-12-28 2001-07-10 Hitachi Ltd 分散ファイルシステム及びファイル操作方法
US6847959B1 (en) 2000-01-05 2005-01-25 Apple Computer, Inc. Universal interface for retrieval of information in a computer system
EP1117220A1 (en) * 2000-01-14 2001-07-18 Sun Microsystems, Inc. Method and system for protocol conversion
EP1259901A1 (en) * 2000-01-27 2002-11-27 Synquiry Technologies, Ltd Software composition using graph types, graphs, and agents
US6735623B1 (en) * 2000-02-09 2004-05-11 Mitch Prust Method and system for accessing a remote storage area
US20020046299A1 (en) * 2000-02-09 2002-04-18 Internet2Anywhere, Ltd. Method and system for location independent and platform independent network signaling and action initiating
US7412462B2 (en) * 2000-02-18 2008-08-12 Burnside Acquisition, Llc Data repository and method for promoting network storage of data
EP1264477A4 (en) * 2000-02-23 2003-10-01 Penta Trading Ltd SYSTEMS AND METHODS FOR LAUNCHING AND ESTABLISHING PREVIEW OF ELECTRONIC FILES OF THE WEB FILE TYPE
WO2001067309A2 (en) * 2000-03-03 2001-09-13 Radiant Logic, Inc. System and method for providing access to databases via directories and other hierarchical structures and interfaces
US6549217B1 (en) * 2000-03-23 2003-04-15 Koninklijke Philips Electronics N.V. System and method for computer system management using bookmarks
JP2001282813A (ja) * 2000-03-29 2001-10-12 Toshiba Corp マルチメディアデータ検索方法、インデックス情報提供方法、マルチメディアデータ検索装置、インデックスサーバ及びマルチメディアデータ検索サーバ
US6636250B1 (en) 2000-04-12 2003-10-21 Emc Corp Methods and apparatus for presenting information to a user of a computer system
US6563514B1 (en) * 2000-04-13 2003-05-13 Extensio Software, Inc. System and method for providing contextual and dynamic information retrieval
JP4325075B2 (ja) * 2000-04-21 2009-09-02 ソニー株式会社 データオブジェクト管理装置
US6430835B1 (en) 2000-04-28 2002-08-13 Daimlerchrysler Corporation Setting fixture for door measurement
US20040133572A1 (en) * 2000-05-18 2004-07-08 I2 Technologies Us, Inc., A Delaware Corporation Parametric searching
US6745206B2 (en) * 2000-06-05 2004-06-01 International Business Machines Corporation File system with access and retrieval of XML documents
US7043472B2 (en) * 2000-06-05 2006-05-09 International Business Machines Corporation File system with access and retrieval of XML documents
US6925608B1 (en) * 2000-07-05 2005-08-02 Kendyl A. Roman Graphical user interface for building Boolean queries and viewing search results
US7219302B1 (en) * 2000-07-19 2007-05-15 Everez Systems Limited System and method for organizing, managing, and manipulating desktop objects with an activity-oriented user interface
JP2002140216A (ja) * 2000-08-22 2002-05-17 Ns Solutions Corp ファイル管理システム
JP2002082745A (ja) 2000-09-07 2002-03-22 Sony Corp 情報処理装置及び方法、並びにプログラム格納媒体
AUPR015700A0 (en) * 2000-09-15 2000-10-12 Filecat Pty Ltd Distributed file-sharing network
US6738770B2 (en) 2000-11-04 2004-05-18 Deep Sky Software, Inc. System and method for filtering and sorting data
US20020087740A1 (en) * 2000-11-06 2002-07-04 Rick Castanho System and method for service specific notification
US6684222B1 (en) * 2000-11-09 2004-01-27 Accenture Llp Method and system for translating data associated with a relational database
US6762776B2 (en) 2000-11-10 2004-07-13 Microsoft Corporation Mouse input panel windows class list
US7099946B2 (en) * 2000-11-13 2006-08-29 Canon Kabushiki Kaishsa Transferring a media browsing session from one device to a second device by transferring a session identifier and a session key to the second device
CN1152303C (zh) * 2000-12-06 2004-06-02 无敌科技(西安)有限公司 在仿真器上实现对操作路径自动记录和回放的方法
JP2002182953A (ja) * 2000-12-12 2002-06-28 Hitachi Ltd 分散ファイル管理方法
US20020089540A1 (en) * 2001-01-08 2002-07-11 Freddie Geier Media editing and creating interface
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
US7437363B2 (en) * 2001-01-25 2008-10-14 International Business Machines Corporation Use of special directories for encoding semantic information in a file system
US7043644B2 (en) * 2001-01-31 2006-05-09 Qurio Holdings, Inc. Facilitating file access from firewall-protected nodes in a peer-to-peer network
US6828988B2 (en) * 2001-02-27 2004-12-07 Microsoft Corporation Interactive tooltip
US7062490B2 (en) * 2001-03-26 2006-06-13 Microsoft Corporation Serverless distributed file system
US7689711B2 (en) * 2001-03-26 2010-03-30 Salesforce.Com, Inc. System and method for routing messages between applications
US20020156895A1 (en) * 2001-04-20 2002-10-24 Brown Michael T. System and method for sharing contact information
US7228383B2 (en) * 2001-06-01 2007-06-05 Visto Corporation System and method for progressive and hierarchical caching
EP1407386A2 (en) * 2001-06-21 2004-04-14 ISC, Inc. Database indexing method and apparatus
KR20040020933A (ko) * 2001-06-22 2004-03-09 노사 오모이구이 지식 검색, 관리, 전달 및 프리젠테이션을 위한 시스템 및방법
US7440994B2 (en) * 2001-07-06 2008-10-21 Intel Corporation Method and apparatus for peer-to-peer services to shift network traffic to allow for an efficient transfer of information between devices via prioritized list
JP2003022206A (ja) * 2001-07-06 2003-01-24 Fujitsu Ltd ファイル管理プログラムおよびファイル管理装置
KR20030006734A (ko) * 2001-07-14 2003-01-23 엠텍비젼 주식회사 통신망을 이용한 영상 데이터 관리 방법 및 시스템
US6865568B2 (en) 2001-07-16 2005-03-08 Microsoft Corporation Method, apparatus, and computer-readable medium for searching and navigating a document database
US6801919B2 (en) 2001-07-27 2004-10-05 Hewlett-Packard Development Company, L.P. Object oriented database interface encapsulation that allows for chronologically overlapping transactions in a multi-threaded environment
US7610218B2 (en) * 2001-07-31 2009-10-27 Lightsurf Technologies, Inc. Integrated shopping cart for sale of third party products and services via the internet
US7139811B2 (en) * 2001-08-01 2006-11-21 Actona Technologies Ltd. Double-proxy remote data access system
JP3807961B2 (ja) * 2001-08-01 2006-08-09 インターナショナル・ビジネス・マシーンズ・コーポレーション セッション管理方法、セッション管理システムおよびプログラム
US20030028610A1 (en) * 2001-08-03 2003-02-06 Pearson Christopher Joel Peer-to-peer file sharing system and method using user datagram protocol
US6662198B2 (en) 2001-08-30 2003-12-09 Zoteca Inc. Method and system for asynchronous transmission, backup, distribution of data and file sharing
US7203948B2 (en) * 2001-09-29 2007-04-10 Siebel Systems, Inc. Method, apparatus, and system for implementing caching of view custom options in a framework to support web-based applications
US7421427B2 (en) * 2001-10-22 2008-09-02 Attachmate Corporation Method and apparatus for allowing host application data to be accessed via standard database access techniques
US20030078918A1 (en) * 2001-10-23 2003-04-24 Souvignier Todd J. Method, apparatus and system for file sharing between computers
US20030093580A1 (en) * 2001-11-09 2003-05-15 Koninklijke Philips Electronics N.V. Method and system for information alerts
US6876996B2 (en) 2001-11-14 2005-04-05 Sun Microsystems, Inc. Method and apparatus for using a shared library mechanism to facilitate sharing of metadata
US6826443B2 (en) * 2001-11-29 2004-11-30 Agilent Technologies, Inc. Systems and methods for managing interaction with a presentation of a tree structure in a graphical user interface
US20030105745A1 (en) * 2001-12-05 2003-06-05 Davidson Jason A. Text-file based relational database
JP3778079B2 (ja) * 2001-12-20 2006-05-24 株式会社日立製作所 表示装置
US20030120928A1 (en) * 2001-12-21 2003-06-26 Miles Cato Methods for rights enabled peer-to-peer networking
US7266843B2 (en) * 2001-12-26 2007-09-04 Mcafee, Inc. Malware scanning to create clean storage locations
US7143362B2 (en) * 2001-12-28 2006-11-28 International Business Machines Corporation System and method for visualizing and navigating content in a graphical user interface
EP1472633A2 (en) * 2002-01-08 2004-11-03 Sap Ag Enhanced email management system
US7089287B2 (en) * 2002-01-16 2006-08-08 Xerox Corporation Message-based system having embedded information management capabilities
US6961734B2 (en) * 2002-01-17 2005-11-01 International Business Machines Corporation Method, system, and program for defining asset classes in a digital library
WO2003063029A1 (en) * 2002-01-18 2003-07-31 Bea Systems, Inc. System and method for using virtual directories to service url requests in application servers
US6763777B1 (en) * 2002-03-08 2004-07-20 Christian F. Rosenberg Conversion cockpit for a sailboat
US6938042B2 (en) * 2002-04-03 2005-08-30 Laplink Software Inc. Peer-to-peer file sharing
US20040030731A1 (en) * 2002-04-03 2004-02-12 Liviu Iftode System and method for accessing files in a network
US7010755B2 (en) * 2002-04-05 2006-03-07 Microsoft Corporation Virtual desktop manager
US7068291B1 (en) * 2002-04-11 2006-06-27 Bellsouth Intellectual Property Corp. Video display screen segmentation
US7389242B2 (en) * 2002-05-07 2008-06-17 Re3W Worldwide Limited Interactive processing of real estate transactions
US6816863B2 (en) * 2002-05-09 2004-11-09 International Business Machines Corporation Method, system, and computer product for providing a distribution list
US7080059B1 (en) * 2002-05-13 2006-07-18 Quasm Corporation Search and presentation engine
US20040001106A1 (en) * 2002-06-26 2004-01-01 John Deutscher System and process for creating an interactive presentation employing multi-media components
US6956942B2 (en) * 2002-09-18 2005-10-18 Sbc Properties, L.P. Multi-modal address book
US8935202B2 (en) * 2002-09-30 2015-01-13 Reed Elsevier Inc. Managing changes in a relationship management system
US20040088374A1 (en) * 2002-10-31 2004-05-06 Webb James D. Aggregation and sharing of patient data
US20040098379A1 (en) * 2002-11-19 2004-05-20 Dan Huang Multi-indexed relationship media organization system
US7289973B2 (en) * 2002-12-19 2007-10-30 Mathon Systems, Inc. Graphical user interface for system and method for managing content
US7627552B2 (en) * 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
US7769794B2 (en) * 2003-03-24 2010-08-03 Microsoft Corporation User interface for a file system shell
US20050080807A1 (en) * 2003-10-12 2005-04-14 Microsoft Corporation Extensible creation and editing of integrated collections

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100188491B1 (ko) * 1995-06-07 1999-06-01 제프리 엘. 포만 인터넷을 통해 월드 와이드 웹 서버 데이타를 액세스하기 위한 컴퓨터 네트워크
KR100309310B1 (ko) * 1997-07-16 2001-11-15 포만 제프리 엘 무선데이터통신망및무선데이터통신망에서의송신기에의한데이터파일획득방법

Also Published As

Publication number Publication date
IL162403A (en) 2010-05-17
EP1518196A4 (en) 2009-05-27
IL162403A0 (en) 2005-11-20
WO2004097680A1 (en) 2004-11-11
NO331573B1 (no) 2012-01-30
AU2003243240A1 (en) 2004-11-23
CN1656478A (zh) 2005-08-17
CA2468584C (en) 2011-08-02
MXPA04006413A (es) 2004-12-13
EP1518196A1 (en) 2005-03-30
JP2010033606A (ja) 2010-02-12
US20040193594A1 (en) 2004-09-30
RU2376630C2 (ru) 2009-12-20
CN1656478B (zh) 2010-05-05
BR0306638A (pt) 2005-02-09
JP2006521592A (ja) 2006-09-21
ZA200404534B (en) 2006-06-28
CO5650188A2 (es) 2006-06-30
JP4685186B2 (ja) 2011-05-18
CA2468584A1 (en) 2004-09-27
US7499925B2 (en) 2009-03-03
AU2003243240B2 (en) 2010-07-29
RU2004119835A (ru) 2005-11-10
KR20050115819A (ko) 2005-12-08
NZ533569A (en) 2008-01-31
NO20042749L (no) 2004-08-27

Similar Documents

Publication Publication Date Title
KR100977360B1 (ko) 다른 유형의, 다른 물리적 위치의 항목들을디스플레이하기 위한 파일 시스템
KR100996763B1 (ko) 가상 폴더들을 사용하는 시스템 및 방법
KR100984400B1 (ko) 공통 요소에 기초하여 아이템들을 필터링하고 편성하기위한 시스템 및 방법

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: 20130719

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140716

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160720

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 9