KR20060061734A - File system shell - Google Patents
File system shell Download PDFInfo
- Publication number
- KR20060061734A KR20060061734A KR1020047010366A KR20047010366A KR20060061734A KR 20060061734 A KR20060061734 A KR 20060061734A KR 1020047010366 A KR1020047010366 A KR 1020047010366A KR 20047010366 A KR20047010366 A KR 20047010366A KR 20060061734 A KR20060061734 A KR 20060061734A
- Authority
- KR
- South Korea
- Prior art keywords
- item
- items
- display
- interactivity
- user
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/168—Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
Abstract
Description
본 발명은 파일 시스템에 관한 것으로, 특히, 파일 시스템 셸에 관한 것이다.The present invention relates to a file system, and more particularly to a file system shell.
현재의 컴퓨터 파일 시스템은 원치 않는 많은 한계점을 갖고 있다. 그 중 하나는 사용자들에게 보여지는 구조를 사용자들이 대체로 제어할 수 없다는 것이다. 다시 말해, 폴더가 체계화되어 있을 때, 사용자가 구조를 선택해야 하고, 이 때 그 구조는 변경하기가 어렵다. 특정 예로, "음악" 폴더에 대해 사용자가 아티스트/앨범 포맷으로 음악 파일을 체계화하려고 선택하면, 여기에서는 각 아티스트에 대한 모든 앨범 폴더가 그 특정 아티스트의 폴더에 그룹화되고, 그 특정 앨범의 모든 노래가 그 앨범의 폴더에 그룹화된다. 이 아티스트/앨범 포맷은 한 유형의 음악을 재생하는 것(예를 들어, 다른 2명의 아티스트의 2개의 재즈 노래를 재생하는 것)이나, 여러 아티스트의 앨범 선택을 재생하는 것에는 도움이 되지 않는다.Current computer file systems have many unwanted limitations. One of them is that users do not have much control over the structure they see. In other words, when folders are organized, the user must select a structure, which is difficult to change. As a specific example, for a "Music" folder, if the user chooses to organize music files in artist / album format, here all album folders for each artist are grouped in that particular artist's folder, and all songs in that particular album Are grouped in folders of that album. This artist / album format is not helpful for playing one type of music (for example, playing two jazz songs of two different artists), or playing an album selection of several artists.
다른 문제로, 사용자는 체계화하기가 어려운 다수의 파일을 가질 수 있다. 어떤 사용자는 파일에 대해 경직된 관념에 의한 배치를 행하여, 이들에 엄격한 계층을 형성하기도 한다. 이런 파일의 관리는 유용 문서의 개수가 많아짐에 따라 상당히 복잡하고 어려워지게 되어, 서치와 검색을 또한 어렵게 만든다. 이 문제는 공유 문서 등과 같이 다른 위치로부터의 추가 파일이 이용될 때 더욱 배가된다.Another problem is that a user may have many files that are difficult to organize. Some users make rigid layouts of files, forming strict hierarchies to them. Managing these files becomes quite complicated and difficult as the number of useful documents increases, making search and search also difficult. This problem is further magnified when additional files from other locations, such as shared documents, are used.
사용자는 또한 다른 장치, 그 외 PC 또는 온라인 상에서와 같이, 여러 위치에 있는 파일을 다루어야 한다. 예를 들어, 사용자는 (음악 프로그램에 억세스할 수 있는 바와 같이) 컴퓨터로 음악을 듣는 것을 선택할 수 있거나 온라인 접속하여 웹 사이트로부터 음악을 들을 수 있지만, 이들 두 소스 간에는 엄격한 구분이 있다. 다른 위치로부터 나오는 음악은 다르게 체계화되므로, 동일한 방식으로 또는 동일한 위치에서 유지되지 않는다. 다른 예로, 회사의 네트워크 상에 저장된 파일은 사용자가 현재 기기 상에 갖고 있는 파일과는 본래부터 개별적일 수 있다.The user also has to deal with files in multiple locations, such as on other devices, other PCs, or online. For example, a user may choose to listen to music on a computer (as can access a music program) or listen to music from a web site online, but there is a strict distinction between these two sources. Music coming from different locations is organized differently and therefore does not stay in the same way or in the same location. As another example, a file stored on the company's network may be inherently separate from the file the user currently has on the device.
사용자는 또한 어떤 파일 데이터가 저장되어 있는지 뿐만 아니라, 어디에 저장되어 있는지도 추적해야 한다. 예를 들어, 음악 파일에 대해, 사용자는 여러 시스템 상에 사본을 유지하도록 되어서 어느 음악 파일이 어디에 위치되어 있는지를 추적하도록 된다. 이것은 이들이 로컬로 저장되어 있을 때에도 파일의 위치를 알아내는 것을 어렵게 만들 수 있다.The user must also keep track of which file data is stored, as well as where it is stored. For example, for a music file, a user may be kept on a number of systems to keep track of which music file is located where. This can make it difficult to locate files even when they are stored locally.
또한 사용자가 가진 파일을 찾아 이 파일로 되돌아가는 것이 어려울 때가 있다. 사용자는 특정 파일을 어디에 어떻게 저장했는지 생각해내기가 어렵다는 것을 알게 될 수도 있다. 폴더의 세트와 심지어 유사한 파일의 그룹인 경우, 사용자는 그들이 찾고 있는 것을 신속히 찾기가 어렵다는 것을 알게 된다. 찾기 어려운 위치에 저장된 파일에 대해서는, 위치를 알아내는 것이 더더욱 복잡하다. 또한, 사용자가 일단 폴더에 많은 파일을 갖게 되면, 특히 컨텐츠가 유사한 경우, 폴더를 신속히 파싱 (parce)하기가 더욱 어려워진다.It can also be difficult to find a file you have and return to it. The user may find it difficult to figure out where and how a particular file is stored. In the case of a set of folders and even a group of similar files, the user finds it difficult to quickly find what they are looking for. For files stored in hard-to-find locations, finding the location is more complicated. In addition, once a user has many files in a folder, it becomes more difficult to parse the folder quickly, especially if the content is similar.
또한 어떤 때는 사용자가 네트워크 상에서 파일을 찾거나 이 파일로 되돌아가는 것이 어렵다. 때로는 파일을 공유하고 발행하는 것이 어려우며, 이를 유용하게 한 누군가로부터 이 파일을 가져오는 것은 더더욱 어려울 수 있다. 사용자는 통상 그들이 네트워크 상에서 파일을 찾기 위해 필요로 하는 여러 사이트와 이름을 기억하거나 매핑해야 한다.Also, sometimes it is difficult for a user to find or return to a file on the network. Sometimes it's hard to share and publish a file, and it can be even harder to get it from someone who made it useful. Users typically need to remember or map the names and the various sites they need to find files on the network.
네임 스페이스는 변화할 수 있는데, 이는 어느 것이 "정확한" 것인지에 대해 사용자에게 혼란을 초래할 수 있다. 이것은 상이한 명명(naming) 약정, 제한 등이 있는 네트워크에서는 특히 그렇다. 예를 들어, 특정 운영 체제는 이들이 보일 수 있게 하기 위해서 띄어쓰기 없는 짧은 이름을 필요로 할 수 있다.Namespaces can change, which can confuse users about which is "correct". This is especially true for networks with different naming conventions, restrictions, etc. For example, certain operating systems may need short names without spaces to make them visible.
프로그램은 또한 그들 자신의 디렉토리나 그 외 네임 스페이스에 파일을 저장하는데, 이는 사용자가 그 파일로 되돌아가는 경로를 아는 것을 어렵게 만들 수 있다. 프로그램은 이들이 문서를 저장하는 디폴트 디렉토리와 위치를 갖는다. 사용자는 때로는 하드 디스크 전체를 검색하여 파일이 어디에 저장되어 있는지에 대해 추측해야 한다.Programs also store files in their own directories or other namespaces, which can make it difficult for users to know the path back to the file. The program has a default directory and location where they store documents. Users sometimes need to scan the entire hard disk to guess where the file is stored.
관련 항목은 또한 때때로 개별 위치에 저장되어 있다. 사용자가 갖는 관련 파일은 하드 디스크 등의 다른 부분에 저장될 수 있다. 이 문제는 다수의 컨텐츠 유형 (예를 들어, 그림, 음악, 비디오)을 갖는 디지털 미디어 서비스의 개발에 따라 더욱 일반적이 되고 있다.Related items are also sometimes stored in separate locations. The relevant file that the user has may be stored in another part such as a hard disk. This problem is becoming more common with the development of digital media services with multiple content types (eg pictures, music, video).
파일 시스템의 다른 문제는 어드레스 바(address bar)에 관련된 것이다. 사용자가 컴퓨터의 파일 시스템을 네비게이션함에 따라, 어드레스 바로 언급되는 종 래의 그래픽 인터페이스 제어는 사용자에게 그들이 파일 시스템 계층에서 어디에 있는지를 보여준다. 종래의 어드레스 바는 폴더, 서브폴더, 및 파일의 파일 시스템 계층 구조에 있어서 현재 위치를 보여준다. 종래의 어드레스 바에서 표시되는 사용자 위치의 변경은 통상 두 방법 중 하나로 실행되게 된다. 첫번째 방법은 어드레스 바의 어드레스를 수동으로 편집하는 것이다. 어드레스 바의 어드레스를 수동으로 편집하는 것은 사용자가 파일 시스템 계층에서 임의의 개수의 위치에 재배치할 수 있게 하지만, 사용자가 컴퓨터 상의 파일 시스템의 체계화에 관련한 특정 정보, 즉 특정 파일 시스템 위치를 갖는 것이 요구된다. 두번째 방법은 조작시 새로운 어드레스나 위치를 반영하도록, 어드레스 바를 갱신하는 외부 네비게이션 툴을 이용하는 것이다. 어드레스 바에서 어드레스의 수동 편집을 우회하면서, 외부 네비게이션 툴을 조작하는 것은 사용자가 파일 시스템의 체계화에 관련한 특정 정보를 가지고 계층 구조 전체를 고찰하는 것을 요구한다. 그러나, 종래의 어드레스 바는 어드레스 바의 어드레스와 파일 시스템 계층의 특정 위치 간의 일대일 관계로 인해, 폴더나 드라이브 등의 복수의 파일 시스템 사이에 저장된 파일이나 데이터를 참조할 수가 없다.Another problem with file systems involves address bars. As the user navigates the computer's file system, conventional graphical interface controls, referred to as address bars, show the user where they are in the file system hierarchy. Conventional address bars show the current location in the file system hierarchy of folders, subfolders, and files. The change of the user position displayed in the conventional address bar is usually executed in one of two ways. The first method is to manually edit the address in the address bar. Manually editing the address in the address bar allows the user to relocate it to any number of locations in the file system hierarchy, but requires that the user have specific information regarding the organization of the file system on the computer, i. do. The second method is to use an external navigation tool that updates the address bar to reflect the new address or location during operation. Bypassing manual editing of addresses in the address bar, manipulating external navigation tools requires the user to look through the hierarchy with specific information relating to the organization of the file system. However, the conventional address bar cannot refer to files or data stored between a plurality of file systems such as folders or drives due to a one-to-one relationship between addresses in the address bar and specific positions in the file system hierarchy.
종래 기술에서는 사용자가 복수의 파일 시스템 위치들 중에서 저장된 파일을 표시하는 어드레스를 사용자가 특정하도록 하는 어드레스 바가 없다. 더욱 종래 기술에서는 어드레스를 수동으로 편집하지 않고, 또는 기초 파일 시스템의 체계화에 관련한 특정 지식을 필요로 하지 않고 사용자가 어드레스 바의 어드레스를 용이하게 수정할 수 있도록 하는 어드레스 바가 없다. 또한 종래 기술에서는 사용자에 게 파일의 대체 선택을 제시하고 사용자가 파일의 이러한 선택으로 네비게이션하도록 선택할 수 있는 어드레스 바가 없다. 이러한 어드레스 바는 또한 사용자의 선호도에 따른 이전의 경험에 따라서 사용자가 어드레스 바와 상호작용 할 수 있게 하는 어드레스 바 인터페이스를 사용자에게 선택적으로 제공할 수 있다.In the prior art, there is no address bar that allows a user to specify an address representing a stored file among a plurality of file system locations. More conventionally, there is no address bar that allows a user to easily modify the address of the address bar without manually editing the address or requiring specific knowledge regarding the organization of the underlying file system. There is also no address bar in the prior art to present the user with an alternative choice of file and to allow the user to choose to navigate to this choice of file. Such an address bar may also optionally provide the user with an address bar interface that allows the user to interact with the address bar according to previous experience in accordance with the user's preferences.
파일 시스템의 다른 문제는 컴퓨터 상에 저장된 항목의 식별에 관련된다. 퍼스널 컴퓨터 (PC)와 같은 컴퓨팅 환경에 저장된 항목을 용이하게 식별할 필요는 하루 일상에서 컴퓨터를 이용하는 개인들이 더욱 많아질수록 그리고 저장된 정보의 유형이 그림, 음악, 문서 등의 사이에서 다양함에 따라 급격히 증가하고 있다. 문서와 미디어는 통상 계층적인 방식으로 컴퓨터 상에 저장되고 폴더 내에 저장된 정보나 미디어의 파일로 체계화된다. 파일 시스템 브라우저는 사용자가 파일 시스템을 네비게이션하여 파일 및 폴더의 위치를 알아내어 열 수 있게 한다. 예를 들어, 마이크로소프트사의 WINDOWS(등록상표) EXPLORERTM는 사용자가 파일 시스템을 브라우징하게 하는 운영 체제 유틸리티이다.Another problem with file systems involves the identification of items stored on a computer. The need to easily identify items stored in a computing environment, such as a personal computer (PC), is rapidly increasing as more and more individuals use computers in their daily lives and as the types of information stored vary between pictures, music, documents, and so on. It is increasing. Documents and media are typically organized into files of information or media stored on computers and stored in folders in a hierarchical manner. File system browsers allow users to navigate the file system to locate and open files and folders. For example, Microsoft's WINDOWS® EXPLORER ™ is an operating system utility that allows users to browse the file system.
많은 사용자들은 종래의 파일 시스템 브라우저에서 현재 유용한 정보에 기초하여 파일을 정확하게 식별하기가 어렵다는 것을 알게 된다. 물론, 파일의 컨텐츠는 응용 프로그램으로 이를 열어 증명될 수 있지만, 이 파일의 브라우징 방법은 매우 효과적이지 못하다. 파일 시스템 브라우저 내의 파일에 대한 메타데이터를 보는 능력은 사용자가 특정 파일을 열 필요 없이 식별하는 것을 도와줄 수 있다. 예를 들어, 마이크로소프트사의 WINDOWS(등록상표)9X 운영 체제에서, 사용자는 특정 오브젝트에 대한 특성 시트(property sheet)를 억세스하여 오브젝트 메타데이터를 볼 수가 있다. 특성 시트는 특성 페이지의 탭 형성된 인덱스 카드형 (tabbed, index-card-like) 선택의 형태로 오브젝트의 속성이나 설정의 목록을 사용자에게 제시하고, 이들 각각은 파라미터를 사용자 맞춤하기 위한 표준 대화 스타일 제어를 특징으로 한다. 그러나, 항목의 위치를 찾기 위해 특성 시트를 이용하는 것은 느리고 좀 귀찮은 일이 될 수 있으며, 어떤 사용자는 특성 시트에 관련 메타데이터를 위치 선정하는 것이 어렵다는 것을 알게 된다. 유사하게, 항목을 위치 선정하는 데에 인포팁(infortip)을 이용하는 것은 사용자가 인포팁에 표시된 제한된 메타데이터를 보기 위해서 각 파일 위에 마우스를 갖다 대어야 하기 때문에 느리고 귀찮은 일이 아닐 수 없다.Many users find it difficult to correctly identify a file based on information currently available in conventional file system browsers. Of course, the contents of a file can be proved by opening it up with an application, but the browsing method of this file is not very effective. The ability to view metadata about files in a file system browser can help the user identify without having to open a particular file. For example, on Microsoft's WINDOWS® 9X operating system, users can view object metadata by accessing a property sheet for a particular object. The property sheet presents the user with a list of object attributes or settings in the form of tabbed, index-card-like selections on the property page, each of which controls standard dialog styles to customize parameters. It is characterized by. However, using a property sheet to locate an item can be slow and cumbersome, and some users find it difficult to locate relevant metadata in the property sheet. Similarly, using infortips to position items is slow and cumbersome because the user has to hover over each file to view the limited metadata displayed in the infotip.
종래의 파일 시스템 브라우저는 사용자가 나중에 파일의 위치를 찾아내는 능력을 상당히 증진시킬 수 있는, 사용자에 의한 파일 및 폴더에 관한 메타데이터의 입력 및 편집을 허용하지 않는다. 오늘날, 사용자가 메타데이터를 입력 및 편집하는 능력은 특수 목적의 소프트웨어 프로그램으로 제한되었다. 예를 들어, 전자 음악 파일에 대한 미디어 플레이어는 사용자에게 음악 앨범과 아티스트와 관련된 메타데이터를 편집하는 능력을 부여한다. 이런 프로그램의 다른 예는 전자 그림 파일에 대한 응용 프로그램을 포함한다. 그러나, 미디어 플레이어와 그 외 이런 프로그램의 이용은 다수의 파일 유형을 지원하는 범용의 파일 시스템 브라우저와는 반대로, 프로그램에 의해 지원되는 특정 유형의 파일로 제한된다.Conventional file system browsers do not allow the entry and editing of metadata about files and folders by the user, which can significantly enhance the ability of the user to later locate the file. Today, the ability for users to enter and edit metadata has been limited to special purpose software programs. For example, a media player for electronic music files gives users the ability to edit metadata associated with music albums and artists. Another example of such a program includes an application for an electronic picture file. However, the use of media players and other such programs is limited to certain types of files supported by the program, as opposed to general-purpose file system browsers that support multiple file types.
마이크로소프트사의 WINDOWS(등록상표) XP 운영 체제는 내 그림 폴더에 이용 하기 위해 이미지 브라우저를 포함한다. 내 그림 폴더는 사용자가 그림을 단지 문서 아이콘이 아니라 사진으로 볼 수 있게 하는 특수 특성이 부여되어 있다. 내 그림의 이미지 브라우징 특성은 섬네일 (thumbnail) 크기와 대형 버전의 사진을 보이고, 비스듬한 사진을 회전시키고, 슬라이드쇼를 형성하는 능력을 포함한다. 사용자는 그 크기, 찍은 날짜와 시간, 및 찍은 카메라의 이름과 같은 사진의 상세 사항을 볼 수 있다. 내 그림의 폴더의 미리보기 제어 영역은 사용자가 선택한 이미지의 확대 미리보기 이미지, 일련의 그림들을 통해 반복하는 데 있어서 사용자를 돕는 반복자 버튼(iterator button), 시계 방향이나 반시계 방향으로 그림을 회전시키는 제어를 포함한다. WINDOWS(등록상표) XP의 이미지 브라우징 특성은 그림을 보고 조작하는 응용 프로그램을 가져올 필요가 없어 기술 상태를 개선하긴 했지만, 사용자는 여전히 그림에 관련된 메타데이터를 입력 및 편집할 수는 없다.Microsoft's WINDOWS XP operating system includes an image browser for use in the My Pictures folder. The My Pictures folder has special properties that allow users to view pictures as pictures rather than just document icons. The image browsing feature of My Pictures includes the ability to show thumbnail size and large versions of photos, rotate oblique photos, and create slideshows. The user can view details of the photo such as its size, the date and time taken, and the name of the camera taken. The preview control area of the My Pictures folder contains an enlarged preview image of the user's selected image, an iterator button that helps the user in iterating through a series of pictures, and rotates the picture clockwise or counterclockwise. Control. Although the image browsing feature of WINDOWS XP improves the state of the art by not having to import applications that view and manipulate pictures, users still cannot enter and edit metadata related to pictures.
따라서, 사용자가 항목을 그 항목과 관련된 메타데이터에 기초하여 용이하게 위치 선정할 수 있도록 하는 셸이나 파일 시스템 브라우저 내에서의 사용자 경험의 개선 필요성이 대두되고 있다. 또한 응용 프로그램을 가져 올 필요 없이 셸 브라우저 내의 여러 유형의 항목과 관련된 메타데이터를 사용자가 입력 및 편집할 수 있도록 하는 시스템 및 방법의 필요성이 대두되고 있다. 또한 사용자에게 개선된 파일 컨텐츠 인식 특성을 제공하여 사용자가 그 파일의 위치를 용이하게 찾아낼 수 있도록 하는 파일 시스템 또는 셸 브라우저가 필요하다. 또한 복수의 유용한 프리뷰어(previewer) 중에서 특정 파일 유형에 대한 프리뷰어를 선택하도록 하는 셸 브라우저의 개선된 그래픽 사용자 인터페이스도 요구되고 있다. 또한 소프트웨어 개발자가 부가의 정보 및 기능을 파일 유형에 기초하여 사용자에게 제공할 수 있게 하는 확장성 셸 브라우저의 필요성이 대두되고 있다. 또한 다른 집합의 항목에서도 유사한 UI 경험을 제공하는 것이 요구되고 있다.Accordingly, there is a need to improve the user experience in a shell or file system browser that allows a user to easily locate an item based on metadata associated with the item. There is also a need for a system and method that allows users to enter and edit metadata related to various types of items within a shell browser without having to import an application. There is also a need for a file system or shell browser that provides the user with improved file content recognition characteristics so that the user can easily locate the file. There is also a need for an improved graphical user interface of the shell browser that allows the user to select a previewer for a particular file type from a number of useful previewers. There is also a need for an extensible shell browser that allows software developers to provide additional information and functionality to users based on file type. It is also required to provide similar UI experiences in other sets of items.
본 발명의 일 태양에 따르면, 가상 폴더를 이용하는 시스템 및 방법이 제공된다. 가상 폴더는 디스크 상의 실제 물리적 기초 파일 시스템 구조 대신에 메타데이터에 기초하여 여러 뷰(view)에서 사용자에게 정규 파일과 폴더 (또한 디렉토리로 알려짐)를 보여준다. 따라서, 이 시스템은 데이터베이스에 저장된 특성을 취하여 이를 폴더와 유사한 컨테이너(container)로서 나타낼 수 있다. 사용자는 폴더로 작업하는 것에 이미 친숙하기 때문에, 유사한 방식으로 가상 폴더를 제시함으로써, 새로운 시스템에 더욱 신속하게 적응할 수 있다.In accordance with one aspect of the present invention, a system and method using a virtual folder is provided. Virtual folders show users regular files and folders (also known as directories) in different views based on metadata instead of the actual physical underlying file system structure on disk. Thus, the system can take a characteristic stored in a database and represent it as a container similar to a folder. Since users are already familiar with working with folders, they can adapt to new systems more quickly by presenting virtual folders in a similar manner.
본 발명의 다른 태양에 따르면, 디스플레이 및 항목 저장용 메모리를 갖는 컴퓨터 시스템에서 이용되는 방법에 따라 가상 폴더가 제공된다. 본 발명에 따르면, 메타데이터 특성이 선택된다. 다음에 시스템은 선택된 메타데이터 특성을 갖는 항목을 검색하고, 그 메타데이터 특성을 갖는 항목의 집합을 나타내는 가상 폴더 디스플레이 오브젝트가 제공된다.According to another aspect of the present invention, a virtual folder is provided according to a method used in a computer system having a display and memory for storing items. According to the present invention, metadata properties are selected. The system then retrieves an item with the selected metadata property and is provided with a virtual folder display object that represents the set of items with that metadata property.
본 발명의 다른 태양에 따르면, 시스템은 사용자로부터 질의(query)를 취득하는 폴더 프로세서 및 항목에 대한 정보를 저장하기 위한 관련 데이터베이스를 포함한다. 폴더 프로세서는 먼저 사용자로부터 질의를 취득하고 이 질의를 관련 데이터베이스에 보낸다. 관련 데이터베이스는 결과를 다시 폴더 프로세서에 제공하 고, 관련 데이터베이스로부터의 결과에 기초하여, 폴더 프로세서는 사용자에게 이 결과를 가상 폴더에 제공한다. 일 실시예에서, 폴더 프로세서에 다시 제공된 결과는 데이터베이스 행(row) 및 열(column)을 포함한다. 데이터베이스 행 및 열은 폴더 프로세서에 의해 열거자(enumerator) 구조로 변환되고, 이어서 열거자 구조는 디스플레이에 결과적인 가상 폴더가 위치하게 하는 데 이용된다.According to another aspect of the invention, a system includes a folder processor for obtaining a query from a user and an associated database for storing information about an item. The folder processor first gets a query from the user and sends it to the relevant database. The related database provides the results back to the folder processor, and based on the results from the related database, the folder processor provides the user with the results in the virtual folder. In one embodiment, the results provided back to the folder processor include database rows and columns. The database rows and columns are converted into an enumerator structure by the folder processor, which is then used to locate the resulting virtual folder in the display.
본 발명의 다른 태양에 따르면, 사용자는 직접적인 조작에 의해 가상 폴더를 작업할 수 있다. 다시 말해, 가상 폴더를 조작하기 위해 제공된 메커니즘은 종래의 물리적 폴더를 조작하기 위해 현재 이용되는 것 (예를 들어, 클릭 및 드래그, 복사하기, 붙이기 등)과 유사하다.According to another aspect of the present invention, a user can work with a virtual folder by direct manipulation. In other words, the mechanisms provided for manipulating virtual folders are similar to those currently used for manipulating conventional physical folders (eg, clicking and dragging, copying, pasting, etc.).
본 발명의 다른 태양에 따르면, 가상 폴더의 직접적 조작을 실행하는 방법은 디스플레이 및 항목 저장용 메모리를 갖는 컴퓨터 시스템에서 제공된다. 이 방법에 따르면, 항목의 그룹이 가상 폴더로 표시된다. 가상 폴더의 직접적인 조작에 대해 실행될 수 있는 규정된 동작들이 제공되고, 여기에서 규정된 동작이 실행될 때, 가상 폴더는 이 규정된 동작에 의해 지시되는 바와 같이 조작되게 된다. 규정된 동작의 일 예로는 가상 폴더를 클릭하여 드래그하는 것이 있다. 일 실시예에서, 제1 가상 폴더를 제2 가상 폴더로 클릭하여 드래그하는 동작은 항목을 제1 가상 폴더로부터 제2 가상 폴더로 복사하는 기능을 실행한다. 항목을 가상 폴더에 복사하는 것은 항목과 관련되는 선택된 메타데이터 특성을 부가하거나 아니면 변경하는 것과도 관련된다.According to another aspect of the invention, a method for performing direct manipulation of a virtual folder is provided in a computer system having a display and a memory for storing items. According to this method, a group of items is displayed as a virtual folder. Provided are defined operations that can be performed for direct manipulation of the virtual folder, and when the prescribed operation is executed, the virtual folder is operated as indicated by this defined operation. One example of the prescribed operation is to click and drag a virtual folder. In one embodiment, clicking and dragging the first virtual folder to the second virtual folder performs a function of copying an item from the first virtual folder to the second virtual folder. Copying an item to a virtual folder also involves adding or changing selected metadata properties associated with the item.
본 발명의 다른 태양에 따르면, 가상 폴더를 조작하기 위해 필터가 제공된 다. 이 필터는 본래 항목의 세트(set)를 줄이는 툴(tool)이다. 일 실시예에서 필터는 개별의 항목의 특성에 기초하여 동적으로 형성된다. 예를 들어, 항목의 세트에 대해, 필터 메커니즘은 특성을 리뷰할 수 있고, 항목이 일반적으로 "저자(author)"를 특성으로 갖게 되면, 필터는 저자의 목록을 제공할 수 있다. 다음에 특정 저자를 클릭하면, 그 저자를 갖지 않는 항목은 사라지게 된다. 이로 인해 사용자는 컨텐츠를 줄일 수 있다.According to another aspect of the invention, a filter is provided for manipulating a virtual folder. This filter is essentially a tool to reduce the set of items. In one embodiment, the filter is dynamically formed based on the characteristics of the individual items. For example, for a set of items, the filter mechanism can review the property, and if the item has an "author" as a property in general, the filter can provide a list of authors. The next time you click on a particular author, items that don't have the author disappear. This allows the user to reduce the content.
본 발명의 다른 태양에 따르면, 디스플레이 및 메타데이터 특성을 갖는 항목을 저장하기 위한 메모리를 갖는 컴퓨터 시스템에서 항목의 필터링 방법이 제공된다. 하나 이상의 항목을 표시하는 디스플레이 오브젝트가 각각 디스플레이 상에 제공된다. 디스플레이 오브젝트에 의해 표시되는 항목의 메타데이터 특성이 평가된다. 복수의 항목에 의해 공유되는 메타데이터 특성에 대응하는 필터 용어(filter term)가 디스플레이에 제공되고, 여기에서 이 필터 용어의 선택은 디스플레이 상에 표시되는 항목이 특정 메타데이터 특성을 공유하는 이들 항목으로 축소되게 한다. According to another aspect of the present invention, a method of filtering items in a computer system having a memory for storing items having display and metadata characteristics is provided. Display objects representing one or more items are provided on the display, respectively. The metadata property of the item represented by the display object is evaluated. Filter terms corresponding to metadata properties shared by a plurality of items are provided on the display, where the selection of the filter terms is such that those items displayed on the display share specific metadata properties. Let it shrink
본 발명의 다른 태양에 따르면, 복수의 항목이 디스플레이 상에 표시되고, 필터 용어가 항목의 메타데이터 특성에 기초하여 동적으로 형성된다. 이 필터 용어가 선택되면, 디스플레이 상에 표시되는 항목을 필터 용어에 대응하는 메타데이터 특성을 갖는 것으로 축소시킨다.According to another aspect of the invention, a plurality of items are displayed on the display, and filter terms are dynamically formed based on the metadata properties of the items. When this filter term is selected, the items displayed on the display are reduced to those with metadata properties corresponding to the filter term.
본 발명의 다른 태양에 따르면, 복수의 항목이 디스플레이 상에 표시되고, 사용자가 필터 용어를 입력할 수 있는 필터 영역이 제공된다. 필터 용어가 사용자 에 의해 입력되며, 디스플레이 상에 표시된 항목은 필터 용어를 포함하는 것으로 축소되게 된다. 사용자가 필터 용어를 타이핑함에 따라, 각 새로운 문자가 필터 용어에 추가될 때마다 추가의 항목이 필터링될 수 있다.According to another aspect of the present invention, a plurality of items are displayed on a display and a filter area is provided in which a user can enter filter terms. The filter term is entered by the user, and the items displayed on the display are reduced to include the filter term. As the user types filter terms, additional items may be filtered as each new character is added to the filter term.
본 발명의 다른 태양에 따르면, 필터링 처리 중에 뒤로 가기 위해 이용되는 백(back) 버튼이 제공된다. 예를 들어, 사용자가 필터 용어를 입력한 후에, 이 사용자는 필터 용어가 적용되기 전에 디스플레이 상에 표시되던 항목의 세트로 돌아가길 원할 수 있다. 백 버튼은 사용자가 필터 네비게이션에서 원하는 지점까지 다시 돌아갈 수 있도록 한다.According to another aspect of the present invention, a back button is provided which is used for going back during the filtering process. For example, after a user enters a filter term, the user may want to return to the set of items that were displayed on the display before the filter term was applied. The back button allows the user to go back to the desired point in the filter navigation.
본 발명의 다른 태양에 따르면, 퀵 링크(quick link)가 제공된다. 일 실시예에서, 퀵 링크는 항목의 세트의 유용한 뷰를 형성하도록 클릭될 수 있는 (예를 들어, 디스플레이의 좌측에 위치된) 미리 정해진 링크의 세트이다. 이들은 프로그램에 의해 미리 정해지거나 사용자에 의해 설정될 수 있다. 예를 들어, "모든 저자"를 클릭하면 저자별로 스택된 뷰를 가져올 수 있다. "모든 문서"는 모든 저장 영역에 걸친 모든 문서의 플랫 뷰를 가져올 수 있다. 사용자는 또한 자신만의 퀵 링크를 형성할 수 있다. 예를 들어, 사용자가 2003년 1월에 수정된 모든 문서로 필터링한 다음에, 이를 퀵 링크로 저장할 수 있다.According to another aspect of the present invention, a quick link is provided. In one embodiment, a quick link is a set of predetermined links that can be clicked (eg, located on the left side of the display) to form a useful view of the set of items. These can be predetermined by the program or set by the user. For example, clicking "All Authors" can bring up a stacked view by author. "All documents" can get a flat view of all documents across all storage areas. Users can also create their own quick links. For example, you can filter by all documents that were modified in January 2003, and then save them as quick links.
본 발명의 다른 태양에 따르면, 퀵 링크를 제공하는 방법은 디스플레이 및 항목 저장용 메모리를 갖는 컴퓨터 시스템에서 실현된다. 본 발명에 따르면, 사용자는 원하는 항목의 집합의 뷰를 먼저 네비게이션한다. 원하는 항목의 집합에 대응하는 퀵 링크를 저장하여 이름을 제공한다. 퀵 링크의 이름이 디스플레이 상에 제시되어 이 퀵 링크를 클릭하는 것으로 사용자는 원하는 항목의 집합의 뷰로 돌아갈 수 있다.According to another aspect of the invention, a method for providing a quick link is realized in a computer system having a display and a memory for storing items. According to the invention, the user first navigates to a view of the desired set of items. Provide a name by saving a quick link that corresponds to the desired set of items. The name of the quick link is presented on the display and clicking on the quick link allows the user to return to the view of the desired set of items.
본 발명의 다른 태양에 따르면, 라이브러리가 제공된다. 라이브러리는 함께 관련될 수 있는 대형 그룹의 이용 가능한 유형의 파일로 이루어진다. 예를 들어, 사진이 하나의 라이브러리, 음악이 다른 라이브러리, 문서가 또 다른 라이브러리일 수 있다. 라이브러리는 특정 유형의 항목에 관련되는 툴 및 동작을 제공한다. 예를 들어, 사진 라이브러리에는 슬라이드 쇼를 형성하거나 그림을 공유하는 것과 같이 사진을 조작하는 것과 관련되는 툴 및 필터가 있다. According to another aspect of the invention, a library is provided. The library consists of a large group of available types of files that can be associated together. For example, a photo may be one library, a music another library, and a document another library. Libraries provide tools and actions that relate to specific types of items. For example, a photo library contains tools and filters that relate to manipulating photos, such as forming slide shows or sharing pictures.
본 발명의 다른 태양에 따르면, 라이브러리를 형성하는 방법은 디스플레이 및 항목 저장용 메모리를 구비한 컴퓨터 시스템에서 제공된다. 이 방법은 하나 이상의 특정 메타데이터 특성을 갖는 항목을 포함하도록 라이브러리를 형성하는 것으로 시작한다. 다음에, 하나 이상의 특정 메타데이터 특성을 갖는 항목은 자동으로 이 라이브러리로 그룹화된다. 라이브러리의 항목을 조작하기 위한 툴이 또한 제공된다.According to another aspect of the invention, a method of forming a library is provided in a computer system having a display and a memory for storing items. This method begins with forming a library to contain items with one or more specific metadata properties. Next, items with one or more specific metadata properties are automatically grouped into this library. Tools for manipulating the items of the library are also provided.
본 발명의 다른 태양에 따르면, 넓은 유효범위의 파일이나 항목이 이용될 수 있다. 다시 말해, 시스템은 사용자에게 모든 항목이 한 위치로부터 나온 것으로 보이도록 다수의 물리적 위치 (예를 들어, 여러 하드 드라이브, 여러 컴퓨터, 여러 네트워크 위치 등)로부터의 파일/항목을 표시할 수 있다. 예를 들어, 사용자에게는 하나의 스크린 상에서 모든 음악 파일이 제시될 수 있으므로, 파일이 여러 하드 드라이브, 여러 컴퓨터, 또는 여러 네트워크 위치 상에 물리적으로 저장되어 있다 고 해도, 하나의 뷰로부터 파일 모두를 조작할 수가 있는 것이다.According to another aspect of the present invention, a wide range of files or items may be used. In other words, the system can display files / items from multiple physical locations (eg, multiple hard drives, multiple computers, multiple network locations, etc.) such that all items appear to originate from one location. For example, a user can be presented with all music files on one screen, so even if the files are physically stored on multiple hard drives, on multiple computers, or on multiple network locations, manipulate all of the files from one view. You can do it.
본 발명의 다른 태양에 따르면, 디스플레이를 갖는 컴퓨터 시스템에서 항목을 표시하는 방법에 유효범위(scope)를 이용한다. 이 방법은 항목이 얻어진 물리적 메모리 위치의 유효범위를 정의하는 것에 관련되고, 이 유효범위는 현재의 컴퓨터 메모리 및 적어도 하나의 다른 물리적 위치로 이루어진다. 질의가 일단 수신되면, 이 질의에 응답하여 유효범위에서 정의되어진 물리적 위치로부터 항목이 나오고, 다음에 질의로부터 나온 이 항목이 디스플레이 상의 뷰에 제시된다. 일 실시예에서, 적어도 하나의 다른 물리적 위치는 다른 컴퓨터, 네트워크 상의 위치 또는 외부 저장 장치일 수 있다. 일 실시예에서, 디스플레이 상의 뷰는 항목이 물리적으로 저장되는 물리적 위치를 나타내는 물리적 폴더 뷰로 전환될 수 있다.According to another aspect of the invention, a scope is used in a method of displaying an item in a computer system having a display. The method involves defining an effective range of a physical memory location from which an item is obtained, which consists of the current computer memory and at least one other physical location. Once a query is received, in response to the query, an item comes out of the physical location defined in the scope, which is then presented to the view on the display from the query. In one embodiment, at least one other physical location may be another computer, a location on a network, or an external storage device. In one embodiment, the view on the display may be converted to a physical folder view representing the physical location where the item is physically stored.
본 발명의 다른 태양에 따르면, 비-파일(non-file) 항목이 가상 폴더에 표시될 수 있다. 다시 말해, 메모리에 저장된 파일이 물리적 저장부에 위치된다. 가상 폴더는 물리적 저장부에 현재 표시되지 않은 항목을 포함하도록 만들어질 수 있다. 비-파일 항목의 예는 이메일, 및 연락처이다.According to another aspect of the present invention, non-file items may be displayed in the virtual folder. In other words, files stored in memory are located in physical storage. The virtual folder may be created to contain items that are not currently displayed in the physical storage. Examples of non-file items are email, and contacts.
본 발명의 다른 태양에 따르면, 비-파일 항목을 제시하는 방법은 디스플레이 및 항목 저장용 메모리를 갖는 컴퓨터 시스템에서 실현된다. 이 방법은 비-파일 항목과 파일 항목 둘 모두를 질의에 의해 검색할 수 있는 데이터베이스를 제공하는 단계를 포함한다. 일단 질의가 수신되면, 질의와 일치하는 비-파일 항목과 파일 항목 둘 모두가 나오게 되고, 다음에 이 질의와 일치하는 항목이 디스플레이 상에 제시된다. 일 실시예에서, 파일 항목에 대한 선택된 정보를 포함하고, 엔트리 내 에 특정 비-파일 항목을 보유하는 관련 데이터베이스가 제공된다.According to another aspect of the invention, a method for presenting a non-file item is realized in a computer system having a display and a memory for storing the item. The method includes providing a database from which both non-file items and file items can be retrieved by query. Once a query is received, both the non-file item and the file item that match the query are shown, and then the item that matches the query is presented on the display. In one embodiment, an associated database is provided that includes selected information about a file item and holds a particular non-file item in the entry.
본 발명의 다른 태양에 따르면, 컴퓨터 파일 시스템 상에 저장된 컨텐츠를 선택하기 위한 가상 어드레스 바가 제공된다. 가상 어드레스 바는 복수의 세그먼트로 이루어진다. 각 세그먼트는 컴퓨터 파일 시스템 상에 저장된 컨텐츠를 선택하기 위한 필터에 대응한다. 집합적으로, 가상 어드레스 바의 각 세그먼트의 대응 필터는 컴퓨터 파일 시스템 상에 저장된 컨텐츠를 선택하기 위한 가상 어드레스를 나타낸다.According to another aspect of the present invention, there is provided a virtual address bar for selecting content stored on a computer file system. The virtual address bar consists of a plurality of segments. Each segment corresponds to a filter for selecting content stored on a computer file system. Collectively, the corresponding filter of each segment of the virtual address bar represents a virtual address for selecting content stored on a computer file system.
각 세그먼트는 사용자 상호 작용에 응답하여 가상 어드레스 바의 가상 어드레스를 수정할 수 있는 상호 작용성 세그먼트이다. 가상 어드레스 바에서 세그먼트를 선택하게 되면 선택된 세그먼트에 후속하는 세그먼트는 가상 어드레스 바로부터 제거되게 된다. 가상 어드레스 바에서 세그먼트를 대체 선택하게 되면 선택 가능한 피어 필터(peer filter)의 목록이 사용자에게 표시되게 된다. 피어 필터는 대체 선택된 세그먼트의 대응 필터에 대해 피어가 된다. 피어 필터들 중 하나의 선택은 대체 선택된 세그먼트가 그 대응 필터를 선택된 피어 필터로 교체하게 한다. 부가하여, 대체 선택된 필터 세그먼트에 후속하는 세그먼트들은 가상 어드레스 바로부터 제거된다.Each segment is an interactive segment that can modify the virtual address of the virtual address bar in response to user interaction. Selecting a segment in the virtual address bar causes the segment following the selected segment to be removed from the virtual address bar. Alternately selecting a segment in the virtual address bar will display a list of selectable peer filters to the user. The peer filter becomes a peer for the corresponding filter of the alternately selected segment. The selection of one of the peer filters causes the alternate selected segment to replace its corresponding filter with the selected peer filter. In addition, the segments following the alternatively selected filter segment are removed from the virtual address bar.
세그먼트는 외부 사용자의 동작에 따라 가상 어드레스 바에 추가될 수 있다. 세그먼트는 가상 어드레스 바에서 세그먼트의 말단에 추가된다. 어드레스 세그먼트와 충돌하는 세그먼트는 모두 제거된다. 가상 어드레스 바의 현재의 세그먼트는 이 현재의 세그먼트가 추가된 세그먼트와 상호 배타적일 때 추가된 세그먼트와 충 돌하게 된다. 가상 어드레스 바의 현재의 세그먼트는 또한 현재의 세그먼트가 추가된 세그먼트보다 유효범위가 더 넓거나 좁을 때 추가된 세그먼트와 충돌하게 된다.The segment may be added to the virtual address bar according to the operation of the external user. The segment is added at the end of the segment in the virtual address bar. All segments that collide with the address segment are removed. The current segment of the virtual address bar will collide with the added segment when this current segment is mutually exclusive with the added segment. The current segment of the virtual address bar also collides with the added segment when the scope is wider or narrower than the segment to which the current segment is added.
본 발명의 다른 태양에 따르면, 창(window) 및 편집 제어를 포함하는 셸 브라우저가 제공된다. 창은 항목의 그룹을 표시하고 또한 하나 이상의 표시된 항목과 관련되는 메타데이터 값을 표시한다. 편집 제어는 창에 표시되는 메타데이터 값의 적어도 일부에 대한 사용자의 수정을 가능하게 한다.According to another aspect of the present invention, a shell browser is provided that includes a window and edit control. The window displays a group of items and also displays metadata values associated with one or more displayed items. Edit control allows the user to modify at least some of the metadata values displayed in the window.
본 발명의 다른 태양에 따르면, 그래픽 사용자 인터페이스는 컴퓨터 판독 가능 매체 상에서 구현되며, 컴퓨터 상에서 실행 가능하다. 그래픽 사용자 인터페이스는 셸 브라우저에 항목의 세트를 표시하는 제1 스크린 영역 및 하나 이상의 표시된 항목과 관련되는 메타데이터를 표시하는 제2 스크린 영역을 포함한다. 그래픽 사용자 인터페이스는 또한 셸 브라우저 내에 표시된 메타데이터를 수정하기 위한 수단을 사용자에게 제시한다.According to another aspect of the invention, a graphical user interface is implemented on a computer readable medium and executable on a computer. The graphical user interface includes a first screen area for displaying a set of items in a shell browser and a second screen area for displaying metadata associated with one or more displayed items. The graphical user interface also presents the user with a means for modifying the metadata displayed in the shell browser.
본 발명의 다른 태양에 따르면, 사용자가 셸 브라우저 내의 메타데이터를 수정할 수 있게 하는 컴퓨터 실현 방법이 제공된다. 이 방법 중 하나는 복수의 항목을 표시하고, 적어도 하나의 표시된 항목의 선택을 표시하는 제1 입력을 사용자로부터 수신하고, 선택된 항목과 관련된 메타데이터를 표시하고, 사용자의 표시된 메타데이터의 수정을 위해 편집 제어를 제공하는 단계를 포함한다. 다른 방법은 환영 창(welcome pane) 및 환영 창과 관련되는 메타데이터를 표시하고 사용자의 표시된 메타데이터의 수정을 위한 편집 제어를 제공하는 단계를 포함한다.According to another aspect of the present invention, a computer-implemented method is provided that enables a user to modify metadata in a shell browser. One of these methods is for displaying a plurality of items, receiving a first input from a user indicating a selection of at least one displayed item, displaying metadata associated with the selected item, and modifying the displayed metadata of the user Providing edit control. Another method includes displaying a welcome pane and metadata associated with the welcome pane and providing edit control for modifying the user's displayed metadata.
본 발명의 다른 태양에 따르면, 하나 이상의 항목과 관련되는 메타데이터를 포함하는 데이터 구조가 셸 브라우저에 표시된다. 하나 이상의 컴퓨터 판독 가능 매체 상에 저장된 데이터 구조는 하나 이상의 표시 항목과 관련되는 사용자 수정 가능한 메타데이터를 포함하는 필드를 포함하고, 데이터 구조에 포함된 사용자 수정 가능한 메타데이터가 또한 셸 브라우저에 표시되게 된다.According to another aspect of the invention, a data structure is displayed in a shell browser that includes metadata associated with one or more items. The data structure stored on the one or more computer readable media includes fields that include user modifiable metadata associated with one or more display items, such that the user modifiable metadata contained in the data structure is also displayed in the shell browser. .
본 발명의 다른 태양에 따르면, 디폴트 프리뷰어 및 확장성 메커니즘을 포함하는 셸 브라우저가 제공된다. 디폴트 프리뷰어는 다수의 항목 유형에 대해 표준 레벨의 기능을 제공한다. 확장성 메커니즘은 하나 이상의 항목 유형에 대해 디폴트 프리뷰어로 제공되는 표준 레벨 이상의 기능을 가능하게 한다. According to another aspect of the present invention, a shell browser is provided that includes a default previewer and extensibility mechanism. The default previewer provides standard level of functionality for many item types. Extensibility mechanisms enable more than the standard level of functionality provided by the default previewer for one or more item types.
본 발명의 다른 태양에 따르면, 제1 프리뷰어 및 제2 프리뷰어를 포함하는 셸 브라우저가 제공된다. 제1 프리뷰어는 다수의 항목 유형에 대해 표준 레벨의 기능을 제공하고, 제2 프리뷰어는 다수의 항목 유형 중 하나 이상에 대해 대체 또는 확장 레벨의 기능을 제공한다. 셸 브라우저는 하나 이상의 항목 유형에 대해 제1 프리뷰어 또는 제2 프리뷰어를 선택적으로 전개하도록 구성된다. According to another aspect of the present invention, a shell browser is provided that includes a first previewer and a second previewer. The first previewer provides standard level of functionality for multiple item types, and the second previewer provides alternative or extended level functionality for one or more of the multiple item types. The shell browser is configured to selectively deploy the first previewer or the second previewer for one or more item types.
본 발명의 다른 태양에 따르면, 다수의 항목 유형을 지원하는 셸 브라우저의 그래픽 사용자 인터페이스가 제공된다. 그래픽 사용자 인터페이스는 셸 브라우저에서 항목의 세트를 표시하기 위한 제1 스크린 영역 및 복수의 유용 프리뷰어 중에서 표시된 항목에 대한 프리뷰어를 선택하기 위한 수단을 포함한다. According to another aspect of the present invention, there is provided a graphical user interface of a shell browser that supports multiple item types. The graphical user interface includes a first screen area for displaying a set of items in a shell browser and means for selecting a previewer for the displayed item from among the plurality of useful previewers.
본 발명의 다른 태양에 따르면, 다수의 항목 유형을 지원하는 셸 브라우저에서 프리뷰어를 선택하기 위한 컴퓨터 구현 방법이 제공된다. 이 방법은 특정 항목 유형에 대해 셸 브라우저에 복수의 프리뷰어를 제공하고 이 특정 항목 유형에 대해 프리뷰어 중 하나를 선택하는 단계를 포함한다. 이 방법은 다음에 선택된 프리뷰어를 특정 항목 유형과 관련시킨다. According to another aspect of the present invention, a computer-implemented method for selecting a previewer in a shell browser that supports multiple item types is provided. The method includes providing a plurality of previewers to the shell browser for a particular item type and selecting one of the previewers for that particular item type. This method then associates the selected previewer with a particular item type.
본 발명의 다른 태양에 따르면, 복수의 항목 유형을 지원하는 셸 브라우저에서 제3자의 프리뷰어의 이용을 가능하게 하는 컴퓨터 실현 방법이 제공된다. 이 방법은 다수의 항목 유형에 대해 디폴트 프리뷰어를 갖는 셸 브라우저를 제공하는 단계와 제3자가 다수의 항목 유형 중 적어도 하나에 대해 대체 프리뷰어를 개발하도록 하는 확장성 메커니즘을 제공하는 단계를 포함한다.According to another aspect of the present invention, a computer-implemented method is provided that enables the use of a third party previewer in a shell browser that supports multiple item types. The method includes providing a shell browser with a default previewer for multiple item types and providing an extensibility mechanism that allows a third party to develop an alternate previewer for at least one of the multiple item types. .
본 발명의 다른 태양에 따르면, 셸 브라우저에서 복수의 프리뷰어를 나타내는 정보를 포함하는 데이터 구조가 제공된다. 하나 이상의 컴퓨터 판독 가능 매체 상에 저장된 데이터 구조는 다수의 항목 유형을 지원하는 디폴트 프리뷰어를 나타내는 정보를 포함하는 제1 필드를 포함한다. 제2 필드는 제1 항목 유형에 대한 대체 프리뷰어를 나타내는 정보를 포함하고, 제3 필드는 제1 항목 유형의 항목이 셸 브라우저에 표시될 때 디폴트 프리뷰어 또는 대체 프리뷰어를 불러내야 할지를 나타내는 정보를 포함한다. According to another aspect of the present invention, a data structure is provided that includes information indicative of a plurality of previewers in a shell browser. The data structure stored on the one or more computer readable media includes a first field that includes information indicating a default previewer that supports multiple item types. The second field contains information indicating the alternate previewer for the first item type, and the third field indicates whether to invoke the default previewer or alternate previewer when an item of the first item type is displayed in the shell browser. It includes.
본 발명의 다른 태양에 따르면, 여러 유형의 항목은 유사한 세트의 기본 UI 특성이 제공되는 라이브러리로 그룹화된다. 다시 말해, 유사한 세트의 기본 UI 특성은 문서 라이브러리, 사진 라이브러리, 및 음악 라이브러리 등과 같은, 여러 유형의 라이브러리에 제공된다. 이 세트의 기본 UI 특성은 필터링, 새 카테고리의 형성, 항목의 메타데이터의 편집, 피봇의 변경 등과 같은 특성을 포함할 수 있다. 라이브러리에 대한 유사한 기본 UI 특성의 세트는 사용자가 이미 친숙한 속성과 특성을 이용하여 여러 유형의 항목을 처리 및 체계화할 수 있도록 한다. According to another aspect of the invention, the various types of items are grouped into libraries in which a similar set of basic UI properties is provided. In other words, a similar set of basic UI properties are provided for several types of libraries, such as document libraries, photo libraries, music libraries, and the like. The basic UI properties of this set may include properties such as filtering, forming new categories, editing the item's metadata, changing the pivot, and so on. A similar set of basic UI properties for the library allows users to process and organize different types of items using properties and properties that are already familiar.
상기한 태양 및 본 발명의 부수되는 많은 장점들은 첨부한 도면과 관련하여 다음의 상세한 설명을 참조함으로써 더욱 잘 이해될 것이다.The foregoing aspects and many of the attendant advantages of the present invention will be better understood by reference to the following detailed description in conjunction with the accompanying drawings.
도 1은 본 발명을 실현하는 데에 적합한 범용의 컴퓨터 시스템의 블럭도.1 is a block diagram of a general purpose computer system suitable for implementing the present invention.
도 2는 본 발명에 따른 가상 폴더 시스템의 블럭도.2 is a block diagram of a virtual folder system in accordance with the present invention.
도 3은 사용자가 질의를 제공하고 선택된 파일과 폴더가 다시 돌아오는 루틴을 설명하는 플로우차트.3 is a flowchart describing a routine in which a user provides a query and the selected files and folders are returned back.
도 4는 가상 폴더가 구성되어 디폴트 질의나 사용자로부터의 질의에 따라서 스크린 상에 표시되는 루틴을 설명하는 플로우차트.4 is a flowchart illustrating a routine in which virtual folders are configured and displayed on the screen in accordance with a default query or a query from a user.
도 5는 하드 드라이브 상의 물리적 폴더 구성에 따른 폴더 구조의 트리도(tree diagram).5 is a tree diagram of the folder structure according to the physical folder organization on the hard drive.
도 6은 가상 폴더 구조의 트리도.6 is a tree diagram of the virtual folder structure.
도 7은 클라이언트 스택이 계약 및 연도별로 더욱 필터링되어 있는 도 6의 가상 폴더 구조의 트리도.7 is a tree diagram of the virtual folder structure of FIG. 6 with the client stack further filtered by contract and year.
도 8은 클라이언트 스택의 계약이 연도별로 더욱 필터링어 있는 도 7의 가상 폴더 구조의 트리도.8 is a tree diagram of the virtual folder structure of FIG. 7 in which the contracts of the client stack are further filtered by year.
도 9는 계약 스택이 클라이언트와 연도별로 더욱 필터링되고, 이 클라이언트가 연도로 더욱 필터링되어 있는 도 6의 가상 폴더 구조의 트리도.9 is a tree diagram of the virtual folder structure of FIG. 6 in which the contract stack is further filtered by client and year, which client is further filtered by year.
도 10은 문서 라이브러리의 스택을 나타내는 스크린 디스플레이를 설명하는 도면.10 illustrates a screen display showing a stack of document libraries.
도 11은 도 10의 ABC Corp. 스택의 문서를 나타내는 스크린 디스플레이를 설명하는 도면.11 is the ABC Corp. of FIG. A diagram illustrating a screen display representing a document in a stack.
도 12는 도 11의 문서에 대해 스택 기능이 선택된 스크린 디스플레이를 설명하는 도면.FIG. 12 illustrates a screen display in which a stack function is selected for the document of FIG. 11; FIG.
도 13은 도 12의 스택 기능에 대해 "저자별 스택" 파라미터가 선택된 스크린 디스플레이를 설명하는 도면.FIG. 13 illustrates a screen display in which the “author stack” parameter is selected for the stack function of FIG. 12. FIG.
도 14는 도 13의 파일이 저자별로 스택된 스크린 디스플레이를 설명하는 도면.FIG. 14 illustrates a screen display in which files of FIG. 13 are stacked for each author. FIG.
도 15는 스택 기능이 선택되고 "카테고리별 스택" 옵션이 도 14의 파일을 다시 스택하기 위해 더욱 선택된 스크린 디스플레이를 설명하는 도면.FIG. 15 illustrates a screen display with the stack function selected and the “Stack by Category” option further selected to re-stack the file of FIG. 14.
도 16은 도 14의 파일이 카테고리별로 다시 스택된 스크린 디스플레이를 설명하는 도면.FIG. 16 illustrates a screen display in which the file of FIG. 14 is stacked again by category. FIG.
도 17은 물리적 폴더를 나타내는 퀵 링크가 선택된 스크린 디스플레이를 설명하는 도면.17 illustrates a screen display in which a quick link representing a physical folder is selected.
도 18은 도 17의 가상 폴더 스택의 파일을 포함하는 물리적 폴더를 나타내는 스크린 디스플레이를 설명하는 도면.FIG. 18 illustrates a screen display showing a physical folder containing files of the virtual folder stack of FIG. 17. FIG.
도 19는 사용자가 가상 폴더를 직접 조작할 수 있는 루틴을 설명하는 플로우차트.Fig. 19 is a flowchart for explaining a routine in which a user can directly manipulate a virtual folder.
도 20은 새로운 "웨스트 코스트(West Coast)" 스택이 도 10의 스택에 추가되는 스크린 디스플레이를 설명하는 도면.FIG. 20 illustrates a screen display in which a new “West Coast” stack is added to the stack of FIG. 10.
도 21은 파일을 "ABC Corp." 스택으로부터 도 20의 "웨스트 코스트" 스택으로 복사하기 위해 직접적 조작을 이용한 스크린 디스플레이를 설명하는 도면.21 shows the file "ABC Corp." Illustrating a screen display using direct manipulation to copy from the stack to the " West Coast " stack of FIG.
도 22는 새로운 필터 용어를 동적으로 형성하는 시스템의 루틴을 설명하는 플로우차트.FIG. 22 is a flowchart describing the routine of a system for dynamically forming new filter terms. FIG.
도 23은 필터 용어의 선택에 기초하여 항목을 필터링하는 시스템의 루틴을 설명하는 플로우차트.FIG. 23 is a flowchart describing a routine of a system for filtering items based on selection of filter terminology. FIG.
도 24는 도 10의 스택이 용어 "AB"로 필터링된 스크린 디스플레이를 설명하는 도면.FIG. 24 illustrates a screen display in which the stack of FIG. 10 is filtered with the term “AB”.
도 25는 도 10의 스택이 용어 "ABC"로 필터링된 스크린 디스플레이를 설명하는 도면.FIG. 25 illustrates a screen display in which the stack of FIG. 10 is filtered with the term “ABC”.
도 26은 필터 용어 "연도 2002"가 도 10의 스택에 대해 선택된 스크린 디스플레이를 설명하는 도면.FIG. 26 illustrates a screen display in which the filter term “
도 27은 도 10의 스택이 "연도 2002"로 필터링되고 추가로 필터 용어 "월(month)"의 선택을 나타내는 스크린 디스플레이를 설명하는 도면.FIG. 27 illustrates a screen display in which the stack of FIG. 10 is filtered to “
도 28은 필터링을 위해 달을 선택하기 위한 목록이 제시된 스크린 디스플레이를 설명하는 도면.FIG. 28 illustrates a screen display with a list for selecting months for filtering.
도 29는 도 10의 스택이 1월로 더욱 필터링되고, 추가로 "일(day)"의 필터 용어를 나타내고 있는 스크린 디스플레이를 설명하는 도면.FIG. 29 illustrates a screen display in which the stack of FIG. 10 is further filtered to January and further shows a filter term of “day”. FIG.
도 30은 새로운 퀵 링크를 형성하기 위한 루틴을 설명하는 플로우차트.30 is a flowchart for explaining a routine for forming a new quick link.
도 31은 도 29의 필터링에 기초하여 "1월 작업"으로 불리는 새로운 퀵 링크를 형성하기 위한 스크린 디스플레이를 설명하는 도면.FIG. 31 illustrates a screen display for forming a new quick link called "January job" based on the filtering of FIG. 29; FIG.
도 32는 "모든 저자"의 퀵 링크가 선택된 스크린 디스플레이를 설명하는 도면.32 illustrates a screen display in which a quick link of "All Authors" is selected.
도 33은 도 32의 모든 저자의 목록이 제시되어 있는 스크린 디스플레이를 설명하는 도면.FIG. 33 illustrates a screen display with a list of all authors of FIG. 32.
도 34는 "저자 1"이 도 33의 목록으로부터 선택되고, 저자 1의 모든 문서가 나타나 있는 스크린 디스플레이를 설명하는 도면.FIG. 34 illustrates a screen display in which "
도 35는 새로운 라이브러리를 형성하기 위한 루틴을 설명하는 플로우차트.35 is a flowchart for explaining a routine for forming a new library.
도 36은 여러 유용한 라이브러리의 집합이 나타나 있는 스크린 디스플레이를 설명하는 도면.36 illustrates a screen display showing a collection of several useful libraries.
도 37은 가상 폴더 집합의 범위를 정의하기 위한 루틴을 설명하는 플로우차트.Fig. 37 is a flowchart for explaining a routine for defining a range of a virtual folder set.
도 38은 가상 폴더 집합의 범위를 형성할 수 있는 여러 소스를 설명하는 블럭도.FIG. 38 is a block diagram illustrating various sources that may form a range of virtual folder sets. FIG.
도 39는 가상 폴더 집합에 비-파일 항목을 포함시키기 위한 루틴을 설명하는 플로우차트.39 is a flowchart describing a routine for including non-file items in a set of virtual folders.
도 40은 가상 폴더에 포함된 여러 비-파일 항목을 나타내는 스크린 디스플레이를 설명하는 도면.40 illustrates a screen display showing various non-file items included in a virtual folder.
도 41은 본 발명을 실현하는 데에 적합한 예시의 네트워크 컴퓨터 환경의 도면.41 is an illustration of an example network computer environment suitable for implementing the present invention.
도 42는 종래에 알려져 있는 바와 같이, 컴퓨터 파일 시스템에서 파일을 표시하는 것과 관련된 종래의 어드레스 바를 갖는 예시의 파일 뷰어를 설명하는 도면.FIG. 42 illustrates an example file viewer having a conventional address bar associated with displaying a file in a computer file system, as is known in the art.
도 43은 본 발명에 따라 형성된 가상 어드레스 바의 가상 어드레스에 따라서 컴퓨터 파일 시스템에 파일을 표시하기 위한 예시의 파일 뷰어를 설명하는 도면.Fig. 43 illustrates an example file viewer for displaying a file in a computer file system according to a virtual address of a virtual address bar formed according to the present invention.
도 44A는 파일 시스템에서 네비게이션하도록 가상 어드레스 바에서 가상 어드레스의 세그먼트를 선택하는 것을 설명하는 도 5의 예시의 파일 뷰어의 도면.FIG. 44A is an illustration of the example file viewer of FIG. 5 illustrating selecting a segment of a virtual address in a virtual address bar to navigate in a file system.
도 44B는 가상 어드레스 바에서 가상 어드레스의 세그먼트를 선택하는 결과를 설명하는 도 45A의 예시의 파일 뷰어의 도면.FIG. 44B is a diagram of the example file viewer of FIG. 45A illustrating the result of selecting a segment of a virtual address in the virtual address bar.
도 45A 내지 도 45D는 가상 어드레스 바에서 가상 어드레스의 세그먼트와 관련되는 피어 필터를 선택하는 것을 설명하는 도면.45A-45D illustrate selecting a peer filter associated with a segment of a virtual address in a virtual address bar.
도 46A 내지 도 46D는 가상 어드레스 바의 가상 어드레스에 부가의 필터를 추가하는 것을 설명하는 도면.46A-46D illustrate the addition of an additional filter to the virtual address of the virtual address bar.
도 47A 및 도 47B는 가상 어드레스가 가상 어드레스 바의 디스플레이 용량을 초과하는 경우 가상 어드레스를 표시하는 예시의 가상 어드레스 바를 설명하는 도면.47A and 47B illustrate an example virtual address bar indicating a virtual address when the virtual address exceeds the display capacity of the virtual address bar.
도 48A는 파일 시스템에 가상 및 실제 위치 둘 다를 참조하는 필터를 갖는 가상 어드레스를 갖는 예시의 가상 어드레스 바를 설명하는 도면.FIG. 48A illustrates an example virtual address bar with a virtual address having a filter that references both virtual and physical locations in the file system. FIG.
도 48B는 종래의 어드레스 바를 표시하도록 구성된, 도 48A의 예시의 가상 어드레스 바를 설명하는 도면.FIG. 48B illustrates an exemplary virtual address bar of FIG. 48A configured to display a conventional address bar. FIG.
도 49는 가상 어드레스 바에서 대체 필터를 선택하기 위한 대체 필터 선택 루틴을 설명하는 플로우차트.Fig. 49 is a flowchart for explaining an alternative filter selection routine for selecting an alternative filter in the virtual address bar.
도 50은 가상 어드레스 바에서 가상 어드레스에 필터를 추가하기 위한 예시의 추가 필터 루틴을 설명하는 플로우차트.50 is a flowchart illustrating an example addition filter routine for adding a filter to a virtual address in a virtual address bar.
도 51A는 본 발명의 실시예에 따라서 편집 제어를 갖는 셸 브라우저의 예시의 그래픽 사용자 인터페이스의 블럭도.51A is a block diagram of an example graphical user interface of a shell browser with edit control in accordance with an embodiment of the present invention.
도 51B는 본 발명의 실시예에 따라서 하나 이상의 편집 제어를 갖는 셸 브라우저의 예시의 그래픽 사용자 인터페이스의 블럭도.51B is a block diagram of an example graphical user interface of a shell browser with one or more edit controls in accordance with an embodiment of the present invention.
도 52는 셸 브라우저의 환영 창의 개략도.52 is a schematic representation of a welcome window of a shell browser.
도 53은 셸 브라우저의 선택 창의 개략도.53 is a schematic diagram of a selection window of a shell browser;
도 54는 본 발명의 실시예에 따라서 사용자가 셸 브라우저에서 메타데이터를 수정할 수 있도록 하는 컨텍스트 메뉴를 포함하는 도 53의 선택 창의 개략도.FIG. 54 is a schematic diagram of the selection window of FIG. 53 including a context menu allowing a user to modify metadata in a shell browser in accordance with an embodiment of the present invention.
도 55는 본 발명의 실시예에 따라서 사용자가 셸 브라우저 내의 환영 창에 표시되는 메타데이터를 수정할 수 있도록 하기 위한 방법을 설명하는 플로우차트.FIG. 55 is a flowchart illustrating a method for enabling a user to modify metadata displayed in a welcome window in a shell browser, in accordance with an embodiment of the present invention. FIG.
도 56은 본 발명의 실시예에 따라서 사용자가 셸 브라우저 내의 선택 창에 표시되는 메타데이터를 수정할 수 있도록 하기 위한 방법을 설명하는 플로우차트.FIG. 56 is a flowchart describing a method for enabling a user to modify metadata displayed in a selection window in a shell browser according to an embodiment of the present invention. FIG.
도 57은 셸 브라우저에 표시된 항목에 관련되는 사용자 수정 가능한 메타데이터를 포함하는 데이터 구조의 블럭도.FIG. 57 is a block diagram of a data structure including user modifiable metadata associated with an item displayed in a shell browser. FIG.
도 58은 기타 비-그림(non-pictorial) 파일 및 폴더를 보는 데에 이용되는, 셸 브라우저 환경 내의 폴더에 저장되는 그림을 브라우징하기 위한 종래의 그래픽 사용자 인터페이스의 개략도.58 is a schematic diagram of a conventional graphical user interface for browsing a picture stored in a folder within a shell browser environment used to view other non-pictorial files and folders.
도 59는 셸 브라우저에 대한 예시의 그래픽 사용자 인터페이스의 블럭도.59 is a block diagram of an example graphical user interface for a shell browser.
도 60은 셸 브라우저의 환영 창의 개략도.60 is a schematic representation of a welcome window in a shell browser.
도 61은 셸 브라우저의 선택 창의 개략도.61 is a schematic diagram of a selection window of a shell browser;
도 62는 본 발명의 실시예에 따라서 확장된 제어를 갖는 셸 브라우저의 선택 창의 개략도.62 is a schematic diagram of a selection window of a shell browser with extended control in accordance with an embodiment of the present invention.
도 63은 도 61과 유사하지만 본 발명의 실시예에 따라서 사용자가 셸 브라우저에서 프리뷰어를 선택할 수 있도록 하는 컨텍스트 메뉴를 포함하는 선택 창의 개략도.FIG. 63 is a schematic diagram of a selection window similar to FIG. 61 but including a context menu allowing a user to select a previewer in a shell browser in accordance with an embodiment of the present invention.
도 64A는 본 발명의 실시예에 따라서 사용자가 셸 브라우저에서 프리뷰어를 선택할 수 있도록 하는 방법을 설명하는 플로우차트.64A is a flowchart illustrating a method for enabling a user to select a previewer in a shell browser in accordance with an embodiment of the present invention.
도 64B는 본 발명의 실시예에 따라서 시스템이 셸 브라우저에서 프리뷰어를 선택하도록 하기 위한 방법을 설명하는 플로우차트.64B is a flowchart illustrating a method for causing a system to select a previewer in a shell browser in accordance with an embodiment of the present invention.
도 65는 본 발명의 실시예에 따라서 셸 브라우저에서 제3자의 프리뷰어의 이용을 가능하게 하는 방법을 설명하는 플로우차트.65 is a flowchart illustrating a method for enabling the use of a third party previewer in a shell browser in accordance with an embodiment of the present invention.
도 66은 셸 브라우저에서 다수의 프리뷰어를 나타내는 정보를 포함하는 데이터 구조의 블럭도.FIG. 66 is a block diagram of a data structure including information representing a number of previewers in a shell browser. FIG.
본 발명은 다수의 원하는 특성과 결합되는 파일 시스템 셸에 관한 것이다. 본래, 셸은 사용자에게 컴퓨터 상에 저장되어 있는 파일 및 그 외 항목을 보고 조작하는 능력을 제공한다. 먼저 도 1 내지 도 66에 나타낸 특성에 대해 요약하여 설명한 다음에 상세하게 설명한다. The present invention relates to a file system shell that is combined with a number of desired features. In essence, a shell gives a user the ability to view and manipulate files and other items stored on a computer. First, the characteristics shown in FIGS. 1 to 66 will be summarized and described in detail.
요약하면, 도 1 내지 도 9는 일반적으로 가상 폴더의 전체 시스템에 관한 것이다. 가상 폴더는 종래의 사용자 인터페이스로 하여금 디스크 상의 실제 물리적 기초 파일 시스템 구조 대신에 메타데이터에 기초하여 여러 뷰에서 사용자에게 정규 파일 및 폴더 (또한 디렉토리로 알려짐)를 보이게 하는 방법을 제공한다. 도 10 내지 도 18은 일반적으로 스택에 관한 것으로, 이것은 데이터베이스에 저장된 특성을 취하여 이를 폴더와 같은 컨테이너로서 나타내는 가상 폴더의 능력에 관련되는 것이다. 도 19 내지 도 21은 일반적으로 가상 폴더의 직접적인 조작에 관한 것으로, 이는 현재 표준 폴더를 조작 (예를 들어, 복사하기, 붙이기, 클릭 및 드래깅 등)하는 데에 이용되는 메커니즘과 유사한 가상 폴더의 조작 메커니즘을 제공하는 것에 관련된다. 도 22 내지 도 29는 일반적으로 필터에 관한 것으로, 이는 파일/항목의 세트를 줄이기 위한 툴의 세트를 제공한다. 도 30 내지 도 34는 일반적으로 퀵 링크에 관한 것으로, 이는 파일/항목의 세트의 유용한 뷰를 형성하도록 클릭될 수 있는 미리 지정된 링크의 세트이다. 도 35 및 도 36은 일반적으로 라이브러리에 관한 것으로, 이는 이용 가능한 유형의 파일 그룹이 함께 관련될 수 있고, 특정 유형의 항목에 관한 툴과 동작이 제공될 수 있다는 개념에 관련되는 것이다. 도 37 및 도 38은 다수의 물리적 위치 (예를 들어, 여러 하드 드라이브, 여러 컴퓨 터, 네트워크 위치의 컴퓨터 등)로부터 파일/항목을 얻을 수 있어 사용자에게 모든 파일/항목이 한 위치에서 제공되고 있는 것처럼 편리하게 제시될 수 있다는 개념에 관한 것이다. 도 39 및 도 40은 일반적으로 비-파일 항목에 관한 것으로, 이는 파일과 함께 데이터베이스에 포함되며, 이메일 및 연락처와 같은 항목을 포함할 수 있다. 도 41 내지 도 50은 일반적으로 복수의 세그먼트로 이루어지는 가상 어드레스 바에 관한 것으로, 각 세그먼트는 컨텐츠를 선택하기 위한 필터에 대응한다. 도 51 내지 도 57은 일반적으로 셸 브라우저에 관한 것으로, 이것으로 사용자는 항목을 그 항목에 관련한 메타데이터에 기초하여 용이하게 식별할 수 있다. 도 58 내지 도 66은 일반적으로 다수의 항목 유형을 나타내는 복수의 항목을 표시하도록 구성된 셸 브라우저에서 오브젝트 프리뷰어의 기능을 확장하는 것에 관련된 것이다. 다음의 설명은 본 발명의 이들 각 태양에 대해 상세하게 설명한다.In summary, FIGS. 1-9 generally relate to an entire system of virtual folders. Virtual folders provide a way for a conventional user interface to present regular files and folders (also known as directories) to users in various views based on metadata instead of the actual physical underlying file system structure on disk. 10-18 relate generally to a stack, which relates to the ability of a virtual folder to take a characteristic stored in a database and present it as a container, such as a folder. 19 to 21 generally relate to direct manipulation of a virtual folder, which manipulates a virtual folder similar to the mechanism currently used to manipulate (eg, copy, paste, click and drag, etc.) a standard folder. It relates to providing a mechanism. 22-29 generally relate to filters, which provide a set of tools for reducing the set of files / items. 30-34 generally relate to quick links, which are a set of predefined links that can be clicked to form a useful view of a set of files / items. 35 and 36 generally relate to a library, which relates to the concept that groups of available types of files may be associated together and that tools and operations relating to particular types of items may be provided. 37 and 38 can obtain files / items from multiple physical locations (eg, multiple hard drives, multiple computers, computers in network locations, etc.) so that all files / items are being presented to the user in one location. It is about the concept that it can be presented conveniently. 39 and 40 generally relate to non-file items, which are included in the database along with the file and may include items such as email and contacts. 41 to 50 generally relate to a virtual address bar consisting of a plurality of segments, each segment corresponding to a filter for selecting content. 51-57 generally relate to a shell browser, which allows a user to easily identify an item based on metadata associated with the item. 58-66 generally relate to extending the functionality of the object previewer in a shell browser configured to display a plurality of items representing multiple item types. The following description details each of these aspects of the invention.
상기한 바와 같이, 도 1 내지 도 9는 일반적으로 가상 폴더를 실현하기 위한 시스템에 관한 것이다. 가상 폴더는 현재 파일 시스템에 이용되는 동일하거나 유사한 사용자 인터페이스를 이용한다. 가상 폴더는 디스크 상의 실제 물리적 기초 파일 시스템 구조 대신에 그들의 메타데이터에 기초하여 여러 뷰에서 사용자에게 정규 파일과 폴더 (또한 디렉토리로 알려짐)를 보여준다. 현재 파일 시스템을 관리하는 데에 이용되는 것과 유사한 제어를 이용하여 사용자가 이들의 파일 및 폴더를 조작할 수 있도록 하는 위치 독립적 뷰가 형성되어 있다. 일반적으로, 이것은 사용자가 관리 및 체계화를 시스템의 개별적 부분으로 행하는 것이 아니라, 파일 자체에 내재한 특성에 기초하여 파일을 체계화 및 재배열할 수 있다는 것을 의미한 다. 가상 폴더는 동일한 컴퓨터 내의 다수의 디스크 드라이브로부터, 다수의 컴퓨터 사이, 또는 여러 네트워크 위치와 같은, 여러 물리적 위치로부터의 파일이나 항목을 나타내므로, 파일이나 항목의 하나의 뷰가 여러 물리적 위치에 놓이는 파일이나 항목을 나타낼 수 있다. 일 실시예에서, 여러 항목이나 파일은 포함되기 위해 IP 네트워크를 거쳐 접속되는 것이 요구된다.As mentioned above, FIGS. 1-9 generally relate to a system for realizing a virtual folder. The virtual folder uses the same or similar user interface used for the current file system. Virtual folders show users regular files and folders (also known as directories) in various views based on their metadata instead of the actual physical underlying file system structure on disk. Location-independent views have been created that allow users to manipulate their files and folders using controls similar to those currently used to manage file systems. In general, this means that users can organize and rearrange files based on their inherent characteristics, rather than managing and organizing them as individual parts of the system. A virtual folder represents a file or item from multiple disk drives within the same computer, between multiple computers, or from multiple physical locations, such as multiple network locations, so that a view of a file or item resides in multiple physical locations. Or may indicate an item. In one embodiment, several items or files are required to be connected via an IP network to be included.
가상 폴더 모델링은 종래의 비-파일 엔티티(non-file entity)에 또한 이용될 수 있다. 이의 어플리케이션은 종래에 비-파일 엔티티를 나타내기 위해 파일과 폴더 (즉, 오브젝트 및 컨테이너)에 유사한 사용자 인터페이스의 세트를 갖는 것이다. 이런 비-파일 엔티티의 일 예는 이메일이고, 다른 것은 연락처 데이터베이스로부터의 연락처 정보일 수 있다. 이런 식으로, 가상 폴더는 나타내고 있는 데이터가 파일이나 비-파일 데이터인지에 상관없이 작용하는 위치 독립적 메타데이터 기반 뷰 시스템을 제공한다. 일반적으로 이들 태양은 여러 데이터 유형의 풍부한 통합에 영향을 줄뿐만 아니라 2개의 통상의 사용자 인터페이스 기술 (드래그 및 드롭, 더블 클릭 등)을 이용하여, 사용자가 그들의 파일과 데이터를 조작하게 한다는 점에서 더욱 유연성이 있다.Virtual folder modeling can also be used for conventional non-file entities. Its application is conventionally to have a set of user interfaces similar to files and folders (ie, objects and containers) to represent non-file entities. One example of such a non-file entity is email, and the other may be contact information from a contact database. In this way, virtual folders provide a location-independent metadata-based view system that works regardless of whether the data being represented is file or non-file data. In general, these aspects not only affect the rich integration of multiple data types, but also allow users to manipulate their files and data using two common user interface technologies (drag and drop, double click, etc.). There is flexibility.
도 1 및 다음의 설명은 가상 폴더, 및 여기에 기재된 본 발명의 다른 어느 태양이나 실현할 수 있는 적당한 컴퓨팅 환경의 간단한 일반 설명을 제공하고자 하는 것이다. 반드시 필요한 것은 아니지만, 본 발명은 퍼스널 컴퓨터에 의해 실행되고 있는 프로그램 모듈과 같은 컴퓨터 실행 가능 명령의 일반 컨텍스트에 기재될 것이다. 일반적으로, 프로그램 모듈은 특정 작업을 실행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 문자, 컴포넌트, 데이터 구조 등을 포함한다. 당업자라면 이해되는 바와 같이, 본 발명은 핸드-헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그래머블 소비자 전자 제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하여, 다른 컴퓨터 시스템 구성으로 실행될 수 있다. 본 발명은 통신망을 통해 링크되는 원격 처리 장치에 의해 작업이 실행되는 분산 컴퓨팅 환경에서도 또한 실행될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘 다에 위치될 수 있다. 1 and the following description are intended to provide a brief general description of a virtual folder and a suitable computing environment in which any other aspect of the invention described herein may be realized. Although not required, the invention will be described in the general context of computer-executable instructions, such as program modules, being executed by a personal computer. Generally, program modules include routines, programs, characters, components, data structures, etc. that perform particular tasks or implement particular abstract data types. As will be appreciated by those skilled in the art, the present invention can be implemented in other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. . The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
도 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) 등과 같이 컴퓨터에 의해 억세스 가능한 데이터를 저장할 수 있는 다른 유형의 컴퓨터 판독 가능 매체가 또한 예시의 운영 환경에서도 이용될 수 있다는 것이 이해될 것이다.With reference to FIG. 1, an exemplary system for realizing the present invention is a system for connecting various system components, including processing
운영 체제(35), 하나 이상의 응용 프로그램(36), 그 외 프로그램 모듈(37) 및 프로그램 데이터(38)를 포함한 다수의 프로그램 모듈이 하드 디스크(39), 자기 디스크(29), 광 디스크(31), ROM(24), 또는 RAM(25) 상에 저장될 수 있다. 사용자는 키보드(40) 및 포인팅 장치(42)와 같은 입력 장치를 통해 퍼스널 컴퓨터(20)에 명령 및 정보를 기입할 수 있다. 다른 입력 장치 (도시 생략)는 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함한다. 이들 및 그 외 입력 장치는 시스템 버스(23)에 결합된 직렬 포트 인터페이스(46)를 통해 처리 유닛(21)에 접속되지만, 또한 병렬 포트, 게임 포트 또는 범용 직렬 버스 (USB)와 같은 다른 인터페이스에 의해서도 접속될 수 있다. 모니터(47)의 형태인 디스플레이는 비디오 카 드나 어댑터(48) 등의 인터페이스를 거쳐 시스템 버스(23)에 접속된다. 하나 이상의 스피커(57)는 오디오 어댑터(56)와 같은 인터페이스를 통해 시스템 버스(23)에 접속될 수 있다. 디스플레이 및 스피커에 부가하여, 퍼스널 컴퓨터는 통상 그 외 프린터 같은 주변 출력 장치 (도시 생략)를 포함한다.Many program modules, including
퍼스널 컴퓨터(20)는 원격 컴퓨터(49)와 같은 하나 이상의 퍼스널 컴퓨터의 논리 접속을 이용하는 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(49)는 다른 주변 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 그 외 공통 네트워크 노드일 수 있으며, 통상 퍼스널 컴퓨터(20)에 관련하여 상술한 요소들 다수나 모두를 포함한다. 도 1에 도시한 논리 접속은 근거리 통신망 (LAN; 51) 및 광역 통신망 (WAN; 52)을 포함한다. 이 네트워크 환경은 회사 기업체 전역의 컴퓨터 네트워크, 인트라넷, 및 인터넷에서 일반적인 것이다.The
LAN 네트워킹 환경에 이용될 때, 퍼스널 컴퓨터(20)는 네트워크 인터페이스 또는 어댑터(53)를 통해 근거리 통신망(51)에 접속된다. WAN 네트워킹 환경에서 이용될 때에는, 퍼스널 컴퓨터(20)는 통상 모뎀(54)이나 그 외 인터넷과 같은 광역 통신망(52)을 통한 통신을 성립하기 위한 수단을 포함한다. 내부 또는 외부에 있을 수 있는 모뎀(54)은 직렬 포트 인터페이스(46)를 통해 시스템 버스(23)에 접속된다. 네트워크 환경에서, 퍼스널 컴퓨터(20)와 관련하여 도시된 프로그램 모듈 또는 그 일부는 원격 메모리 저장 장치에 저장될 수 있다. 나타낸 네트워크 접속은 예시적이며, 그 외 컴퓨터 간의 통신 링크를 성립하는 수단을 이용할 수 있다는 것이 이해될 것이다.
When used in a LAN networking environment, the
도 1에서 설명된 유형의 시스템 상에서 실현되는 바와 같이, 본 발명은 사용자가 파일 조작과 폴더 네비게이션(브라우징)에 대한 기본 작업을 실행하는 것과 새로운 특징에서 영향을 받을 수 있는 높은 레벨의 저장 용량을 제공하는 것을 용이하게 하는 가상 폴더를 이용한다. 가상 폴더는 디스크 상의 실제 물리적 기초 파일 시스템 구조 대신에 그들의 메타데이터에 기초하여 여러 뷰에서 사용자에게 파일과 항목을 보여준다.As realized on a system of the type described in FIG. 1, the present invention provides a high level of storage capacity that allows users to perform basic tasks for file manipulation and folder navigation (browsing) and be affected by new features. Use a virtual folder that makes it easy to do Virtual folders present files and items to users in various views based on their metadata instead of the actual physical underlying file system structure on disk.
도 2는 본 발명에 따른 가상 폴더 시스템(200)의 블럭도이다. 이하 더욱 상세히 설명되는 바와 같이, 가상 폴더는 사용자로 하여금 데이터가 보여지는 방식을 제어하는 "피봇(pivot)"을 변경할 수 있게 한다. 일 예로, 사용자는 그들의 음악을 앨범으로 그룹화될 수 있는 모든 노래의 플랫 목록으로 볼 수 있다. 다르게는, 사용자는 장르나 아티스트나 연도 등만을 보이도록 뷰를 전환할 수 있다. 사용자가 뷰를 작업에 적합한 오브젝트만을 바로 보도록 맞출 수가 있는 것이다. 이것은 폴더에 더 이상의 네비게이션 (아래로 및 뒤로)의 필요를 없애는 개선된 브라우징 경험을 가능하게 한다. 동일한 경험 및 능력이 파일로 저장되지 않은 다른 데이터 유형을 모델링하는 데에 적용된다. 예를 들어, 연락처는 이런 방식으로 사용자에게 보이므로, 이들에게 플랫 어드레스 북에 의해 제공되는 것보다 이들의 조작에 더욱 풍부한 인프라구조뿐만 아니라, 친숙한 인터페이스 능력을 부여할 수 있다.2 is a block diagram of a
도 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)를 포함한다.As shown in FIG. 2,
관련 데이터베이스(230)는 시스템에 모든 데이터에 대한 특성을 저장한다. 이 데이터베이스는 또한 연락처 (즉, 비-파일 항목)와 같은 항목을 전적으로 저장한다. 일반적으로, 이 데이터베이스는 포함하고 있는 파일과 항목의 유형에 대한 메타데이터를 저장한다. 관련 데이터베이스(230)는 질의 빌더(220)로부터 SQL 질의를 수신한다. 관련 데이터베이스(230)는 또한 SQL 로우셋을 항목 열 당 하나의 행으로 로우셋 파서 구성 요소(218)에 보내는데, 여기서 열은 항목 특성이다.
가상 폴더 설명 데이터베이스(232)는 가상 폴더 설명을 포함한다. 가상 폴더 설명 데이터베이스(232)는 폴더에서 표시하는 유형의 목록, 초기 필터 및 (유효범위)로부터의 결과를 나타내는 물리적 위치를 포함하는 데이터를 질의 빌더 구성 요소(220)에 보낸다.Virtual
기타 셸 폴더 구성 요소(234)와 관련하여, 폴더 프로세서(210)는 핸들러나 특성을 위한 모든 파일을 포함한 많은 유형의 항목으로부터 현재의 셸 폴더로 넘긴다. 기타 셸 폴더 구성 요소(234)는 특성을 다른 폴더로부터 특성 팩토리(224)로 보낸다. 기타 셸 폴더 구성 요소는 또한 핸들러를 핸들러 팩토리(214)에 보낸다.
With respect to the other
폴더 핸들러 구성 요소(236)는 연락처와 같이 데이터베이스에만 존재하는 항목에 코드 동작을 제공한다. 이것이 비-파일 항목이 파일과 유사하게 동작하게 하는 것이다. 폴더 핸들러 구성 요소(236)는 핸들러 팩토리(214)에 핸들러를 보낸다.
네이티브 핸들링 코드 구성 요소(212)에 대해, 폴더 프로세서(210)는 항목의 특성에 기초하여 특정 핸들러를 직접 구현한다. 네이티브 핸들링 코드 구성 요소(212)는 핸들러를 핸들러 팩토리(214)에 보낸다. 모든 네임 스페이스와 같이, 네이티브 핸들링 코드 구성 요소(212) 및 폴더 핸들러 구성 요소(236)에 대해, 가상 폴더는 이들 항목에 대해 핸들러의 세트 (컨텍스트 메뉴, 아이콘, 섬네일, 인포팁..)를 제공해야 한다. 이들 (인포팁, 데이터 오브젝트, 드래그-드롭 핸들러, 배경 컨텍스트 메뉴,..)의 대부분에 대해, 가상 폴더는 이것이 보유한 모든 유형에 대해 통상 (네이티브) 핸들러를 제공한다. 그러나, 이 유형의 저자가 제공해야 하는 다른 것들이 있다 (항목 자체에 대한 컨텍스트 메뉴, 기록 가능한 특성 저장부...). 디폴트 핸들러는 또한 무시될 수 있다. 가상 폴더는 이를 파일로 재이용하고 비-파일 항목도 동일하게 행하도록 한다.For the native
핸들러 팩토리(214)는 ID 목록을 취하여 컨텍스트 메뉴, 아이콘 등을 제공하는 코드 동작을 생성한다. 일반적으로, 폴더 프로세서(210)는 네이티브 핸들링 코드 구성 요소(212), 기타 셸 폴더 구성 요소(234), 및 폴더 핸들러 구성 요소(236)와 관련하여 상술한 바와 같이, 네이티브 핸들러, 외부 핸들러를 이용할 수 있거나, 핸들러를 얻도록 다른 셸 폴더로 넘길 수 있다. 핸들러 팩토리 구성 요소(214)는 뷰에 의해 요청되는 바와 같이, 셸 브라우저 및 뷰 구성 요소(240)에 핸들러를 보낸다. 핸들러 팩토리 구성 요소(214)는 특성 핸들러를 특성 기록부(216)에 보낸다.
특성 기록부(216)는 잘라내기, 복사하기, 및 붙이기 등의 사용자의 의도를 파일이나 항목에 대한 특성 권한으로 변환하다. 셸 브라우저 및 뷰 구성 요소(240)는 직접적 조작 (잘라내기/복사하기/붙이기) 또는 메타데이터의 편집을 포함한 데이터를 특성 기록부(216)에 보낸다. 일반적으로, 가상 폴더는 항목의 특성에 기초하는 체계화를 제시하기 때문에, 이동 및 복사 (드래그-드롭) 등의 동작이 이들 특성에 대한 편집이 된다. 예를 들어, 저자별로 스택된 뷰에서, 문서를 저자 1에서 저자 2로 이동하는 것은 저자를 변경하는 것을 의미한다. 특성 기록부 구성 요소(216)는 이 기능을 실현한다.The
로우셋 파서(218)는 데이터베이스 로우셋을 취하여 모든 항목 특성을 셸 ID 목록 구조에 저장하다. 로우셋은 가상 폴더를 구분적으로 정의하여 데이터베이스로 발생시킬 수 있는 SQL 스트링을 만든다. 로우셋 파서 구성 요소(218)는 열거자 구성 요소(222)에 ID 목록을 보낸다. 상술한 바와 같이, 로우셋 파서 구성 요소(218)는 또한 항목 당 하나의 행으로 SQL 로우셋을 포함한 데이터를 관련 데이터베이스(230)로부터 수신하는데, 여기서 열은 항목 특성이다.The
질의 빌더 구성 요소(220)는 SQL 질의를 만든다. 질의 빌더 구성 요소(220)는 네비게이션으로부터의 새로운 필터를 포함한 데이터를 열거자 구성 요소(222)로부터 수신한다. 질의 빌더 구성 요소(220)는 또한 폴더에 표시하는 유형의 목록, 초기 필터, 및 (유효범위)로부터의 결과를 나타내는 물리적 위치를 포함한 데이터를 가상 폴더 설명 데이터베이스(232)로부터 수신한다. 질의 빌더 구성 요소(220)는 관련 데이터베이스(230)에 SQL 질의를 보낸다.
일반적으로, 질의 빌더 구성 요소(220)는 한 세트의 행 (다시 말해 테이블)을 포함한다. 이것은 질의의 실행이 만들어낸 것이다. 로우셋 파서 구성 요소(218)는 각 행을 취하고 열 이름을 이용하는 것이 행을 ID 목록으로 변형시키는 것이 된다. ID 목록은 네임 스페이스의 항목을 참조하는 데에 이용되는 공지의 셸 구조이다. 이를 행하게 되면 가상 폴더가 셸의 나머지에 대해 다른 네임 스페이스와 단지 동일하게 되게 한다. 또한 이 데이터를 캐시하게 되면 비용이 많이 들 수 있는 데이터베이스 억세스를 최소한으로 유지하게 해 준다.In general,
열거자 구성 요소(222)는 가상 폴더의 네비게이션에 응답하여 동작한다. 상술한 바와 같이, 열거자 구성 요소(222)는 로우셋 파서 구성 요소(218)로부터 ID 목록을 수신하고, 네비게이션으로부터의 새로운 필터를 질의 빌더 구성 요소(220)에 보낸다. 열거자 구성 요소(222)는 또한 네비게이션 후에 뷰에 삽입되도록 보내지는 ID 목록을 포함한 데이터를 셸 브라우저 및 뷰 구성 요소(240)에 보낸다.
특성 팩토리 구성 요소(224)는 ID 목록 및 특성 식별자를 취하여 이들 특성의 값을 보낸다. 특성 팩토리 구성 요소(224)는 특성 핸들러를 포함하여 핸들러 팩토리 구성 요소(214)로부터 데이터를 수신한다. 상술한 바와 같이, 특성 팩토리 구성 요소(224)는 또한 다른 폴더로부터의 특성을 포함한 데이터를 기타 셸 폴더 구성 요소(234)로부터 수신한다. 특성 팩토리 구성 요소(224)는 또한 뷰에 의해 요청되는 바와 같이, 항목 특성을 포함한 데이터를 셸 브라우저 및 뷰 구성 요소(240)에 보낸다.
셸 브라우저 및 뷰 구성 요소(240)는 창에 폴더의 컨텐츠를 표시하고, 클릭킹, 드래깅, 및 네비게이팅과 같이, 사용자의 표시된 파일이나 항목과의 모든 상호 작용을 처리한다. 이렇게, 셸 브라우저 및 뷰 구성 요소(240)는 사용자 동작을 수신한다. 셸 브라우저 및 뷰 구성 요소(240)는 또한 폴더, 이 경우 폴더 프로세서(210)로부터 요구하는 코드 동작에 관한 데이터를 얻는다.Shell browser and
상술한 바와 같이, 가상 폴더는 정규의 파일과 폴더 (또한 디렉토리로 알려짐)를 디스크 상의 실제 물리적 기초 파일 시스템 구조 대신에 그들의 메타데이터에 기초하여 여러 뷰에서 사용자에게 보인다. 따라서, 시스템은 데이터베이스에 저장된 특성을 취하여 이를 폴더와 같은 컨테이너로서 나타낼 수 있다. 사용자가 폴더로 작업하는 것에 이미 친숙하기 때문에, 유사한 방식으로 가상 폴더를 제시하여, 사용자는 새로운 시스템에 더욱 신속하게 적응할 수가 있게 된다.As mentioned above, virtual folders present regular files and folders (also known as directories) to users in various views based on their metadata instead of the actual physical underlying file system structure on disk. Thus, the system can take a property stored in a database and represent it as a container, such as a folder. Since the user is already familiar with working with folders, presenting virtual folders in a similar manner allows the user to adapt more quickly to the new system.
도 3은 사용자가 질의를 제공하여 다시 선택된 항목이 돌아오는 루틴(300)을 설명하는 플로우차트이다. 블럭(302)에서 폴더 프로세서는 사용자로부터 질의를 얻는다. 블럭(304)에서, 폴더 프로세서는 관련 데이터베이스에 질의를 전달한다. 블럭(306)에서, 관련 데이터베이스는 폴더 프로세서에 다시 결과를 제공한다. 블럭(308)에서, 폴더 프로세서는 가상 폴더와 항목의 형태로 사용자에게 결과를 제공한다.3 is a flowchart illustrating a routine 300 in which a user provides a query and returns a selected item again. In
도 4는 가상 폴더가 디폴트 질의나 사용자로부터의 질의에 따라서 스크린 상 에 구성 및 표시되는 루틴(320)을 설명하는 플로우차트이다. 블럭(322)에서, 사용자가 먼저 가상 폴더를 열면, 디폴트 질의가 이용된다. 이 디폴트 질의는 레지스트리로부터 취해진다. 예를 들어, 음악 라이브러리의 디폴트 질의는 앨범으로 그룹화된 모든 노래를 나타내는 것일 수 있다. 블럭(324)에서, 폴더 프로세서는 이 질의에 대한 질의 오브젝트를 구성한 다음에, 이 질의를 관련 데이터베이스에 전달한다. 블럭(326)에서, 관련 데이터베이스는 질의의 결과를 생성하여, 이를 데이터베이스 행과 열로서 폴더 프로세서에 다시 전달한다.4 is a flowchart illustrating a routine 320 in which virtual folders are organized and displayed on a screen in accordance with a default query or a query from a user. In
블럭(328)에서, 폴더 프로세서는 이들 결과를 취하여 이를 행 및 열의 데이터로부터 열거자 구조로 변환하고, 이것이 사용자가 상호 작용하도록 폴더 뷰로 이용되게 최종 가상 폴더 및 항목으로 스크린에 놓이게 된다. 판단 블럭(330)에서, 사용자는 (다른 질의나 "피봇"을 발생시켜) 뷰를 변경할지의 여부를 결정한다. 예를 들어, 사용자는 "모든 아티스트 보기" 피봇을 발생시킬 수 있다. 사용자가 뷰를 변경하길 원하면, 루틴은 블럭(324)으로 돌아가, 여기에서 폴더 프로세서가 이 새로운 질의를 관련 데이터베이스에 전달하고, 새로운 행과 열의 결과를 다시 수신하여, 새로운 열거자 구조를 구성한다. 이 프로세스는 다음에 열거자를 이용하여 "아티스트" 오브젝트를 스크린으로 끌어오기 위해, 폴더 뷰가 소거 및 갱신되는 식으로, 상술된 바와 같이 계속된다.At
일 예에서, 사용자가 네비게이션할 수 있는 컨테이너를 나타내는 앨범 오브젝트가 제공된다. 예를 들어, "비틀즈" 앨범을 더블클릭하면 뷰를 네비게이션하게 되어 비틀즈의 모든 노래를 볼 수 있다. 폴더 프로세서는 관련 데이터베이스에 " 모든 비틀즈의 노래 보기" 질의를 발생시키고, 이 데이터베이스는 이들 노래에 대한 행과 열 데이터를 보내준다. 폴더 프로세서는 이들 모든 노래의 열거자를 형성하고, 이는 다음에 스크린에 나오게 된다.In one example, an album object is provided that represents a container that a user can navigate to. For example, double-clicking the "Beatles" album will navigate the view so you can see all the songs of the Beatles. The folder processor issues a "Show All Beatles Songs" query to the relevant database, which sends the row and column data for these songs. The folder processor forms an enumerator for all of these songs, which then appear on the screen.
사용자는 가상 폴더를 브라우즈하면서 어느 지점에서나 뷰를 선택할 수 있다. 상기 예로부터, 단지 비틀지 노래를 나타내도록 줄인 후에, 사용자는 노래를 단지 앨범으로 나타내도록 뷰를 변경할 수 있다. 항목의 뷰를 다른 표시로 변경하는 프로세스를 "스태킹(stacking)"으로 부른다. 이것은 항목이 그 표시에 기초하여 "스택"으로 배열되어 있기 때문이다. 이 경우, 노래는 여러 앨범 각각에 대한 스택으로 재배열된다. 사용자는 다음에 이들 스택 중 하나를 네비게이션하는데, 이때 특정 앨범의 노래만을 볼 수 있다. 다시, 사용자는 특성 (예를 들어, 등급)에 기초한 스택으로 이들 나머지 노래의 뷰를 재배열할 수 있다. 등급 특성이 선택되면, 그 비틀즈 앨범의 노래는 1개, 2개 또는 3개의 별 등급으로 스택에 나타나게 된다.The user can browse the virtual folder and select the view at any point. From the above example, after shortening to just show the song, the user can change the view to just show the song as an album. The process of changing the view of an item to another display is called "stacking". This is because the items are arranged in a "stack" based on the display. In this case, the songs are rearranged in a stack for each of the multiple albums. The user then navigates to one of these stacks, where he can only see songs from a particular album. Again, the user can rearrange the views of these remaining songs in a stack based on characteristics (eg, rating). When a rating feature is selected, songs from the Beatles album appear on the stack as one, two or three star ratings.
각 질의의 결과는 어느 물리적 위치가 범위에 포함되는지에 따라 좌우된다. 예를 들어, 범위는 사용자의 "내 문서" 폴더의 폴더만을 포함하도록 하여 만들어질 수 있다. 다르게, 범위는 컴퓨터 상의 모든 폴더, 또는 다수의 네트워크 접속 컴퓨터 상의 모든 폴더도 포함할 수 있다. 사용자는 유효범위 특성 시트를 통해 범위를 보고 변경할 수 있다. 일 예로, 유효범위 특성 시트는 가상 폴더 상에서 우측 클릭하고 "특성"을 선택함으로써 노출될 수 있다. 사용자는 새로운 폴더를 유효범위에 추가하거나, 이전에 추가된 폴더를 제거할 수 있다. The result of each query depends on which physical location is included in the range. For example, a range can be created that includes only folders in the user's "My Documents" folder. Alternatively, the range may include all folders on a computer, or all folders on a plurality of network connected computers. The user can view and change the range through the Effective Range property sheet. As an example, the scope property sheet may be exposed by right-clicking on the virtual folder and selecting "Properties". The user can add new folders to the scope or remove previously added folders.
가상 폴더가 특정 유틸리티를 제공하게 되는 그룹의 사용자는 지식 작업자이다. 가상 폴더에 의하면 지식 작업자는 파일 유형, 프로젝트, 케이스 번호, 저자별로 보이는 문서들 사이에서 용이하게 전환할 수가 있다. 지식 작업자는 각각 문서를 체계화하는 데에 다른 방법을 이용하는 경향이 있기 때문에, 이들 다른 선호도를 수용하기 위해 가상 폴더를 이용할 수 있다. The users in the group whose virtual folders provide a particular utility are knowledge workers. Virtual folders allow knowledge workers to easily switch between documents viewed by file type, project, case number, and author. Since knowledge workers tend to use different methods to organize their documents, each can use virtual folders to accommodate these different preferences.
도 5는 하드 드라이브 상의 물리적 폴더 구성에 따른 폴더 구조의 트리도이다. 이 물리적 폴더 구성은 폴더의 종래의 실현에 기초한 것으로, 이는 NTFS 또는 그 외 기존의 파일 시스템에 기초한 것이다. 이 폴더는 물리적 폴더로 언급되는데, 왜냐하면 이들의 구조가 디스크 상의 실제 물리적 기초 파일 시스템 구조에 기초하기 때문이다. 이하 더 상세히 설명되는 바와 같이, 이것은 사용자가 물리적 폴더를 조작하기 위해 현재 이용되는 것과 유사한 방식으로 파일 및 폴더를 조작할 수 있게 하는 위치 독립적 뷰를 형성하는 가상 폴더와 대비된다.5 is a tree diagram of the folder structure according to the physical folder structure on the hard drive. This physical folder organization is based on the conventional realization of folders, which is based on NTFS or other existing file systems. These folders are referred to as physical folders because their structure is based on the actual physical underlying file system structure on disk. As described in more detail below, this is in contrast to a virtual folder that forms a location independent view that allows a user to manipulate files and folders in a manner similar to those currently used to manipulate physical folders.
도 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에 대응한다.As shown in FIG. 5, the
도 5에 나타낸 바와 같은 물리적 폴더 파일 구조를 네비게이션하길 원하는 사용자에게는 다수의 장애가 있다는 것이 이해될 것이다. 예를 들어, 사용자는 사용자가 만든 모든 계약을 작업하길 원하는 경우, 사용자는 먼저 클라이언트 1에 대한 계약으로 작업하기 위해 폴더(411)로 네비게이션해야 하고, 다음에 클라이언트 2에 대한 계약에 도달하기 위해 폴더(421)로 다시 네비게이션해야 하고, 다시 클라이언트 3에 대한 계약을 위하여 폴더(431)로 다시 네비게이션해야 한다. 이 구성은 사용자가 모든 계약을 억세스하는 것을 어렵게 만들고, 일반적으로 모든 계약을 동시에 보고 조작할 수가 없다. 유사하게, 사용자가 연도 2001에서 생성된 모든 계약을 보길 원하면, 사용자는 폴더(412, 422, 및 432) 각각을 네비게이션하고 다시 네비게이션해야 한다. 이하 더욱 상세히 설명되는 바와 같이, 본 발명의 가상 폴더는 개선된 파일 시스템 구조를 제공한다.It will be appreciated that there are a number of obstacles for users who wish to navigate the physical folder file structure as shown in FIG. For example, if a user wants to work with all contracts created by the user, the user must first navigate to
도 6은 가상 폴더 구조의 트리도이다. 이하 더욱 상세히 설명되는 바와 같이, 가상 폴더는 사용자가 편리한 방법으로 그들의 파일 및 폴더를 조작하도록 하는 위치 독립적 뷰를 형성한다. 도 6에서 나타낸 바와 같이, 가상 폴더는 스택으로 나타낸다. 가상 폴더(500)는 "모든 항목" 폴더이다. 제1 레벨에서, 가상 폴더(500)는 클라이언트, 계약, 및 연도에 각각 대응하는 가상 폴더(510, 520, 및 530)를 포함한다. 이하 더욱 상세히 설명되는 바와 같이, 이 구조는 원하는 파라미터에 따라 사용자가 파라미터를 억세스할 수 있게 한다.6 is a tree diagram of the virtual folder structure. As described in more detail below, virtual folders form a location independent view that allows a user to manipulate their files and folders in a convenient way. As shown in FIG. 6, virtual folders are represented in a stack. The
도 7은 도 6의 가상 폴더 구조의 트리도로, 제2 레벨에서 가상 폴더(510)는 가상 폴더(511 및 512)를 더 포함하고, 이는 각각 계약과 연도에 대응한다. 다시 말해, 가상 폴더(510)의 클라이언트 스택은 계약과 연도로 더욱 필터링된다. 어느 파일과 항목이 각 가상 폴더에 포함되는지를 결정하는 프로세스를 이하 더 상세히 설명한다.FIG. 7 is a tree diagram of the virtual folder structure of FIG. 6, wherein at a second level the
도 8은 도 7의 가상 폴더 구조의 트리도로서, 여기에서는 제3 레벨에서, 가상 폴더(511)가 연도에 대응하는 가상 폴더(513)를 포함한다. 다시 말해, 가상 폴더(511)의 계약 스택은 연도로 더욱 필터링된다. 가상 폴더(510, 511 및 513)의 가상 폴더 구조는 클라이언트, 계약 및 연도에 따라 구성되는 반면, 가상 폴더는 도 9를 참조하여 이하 더욱 상세히 설명된 바와 같이, 다른 구조의 시퀀스의 발생도 가능하게 된다는 것이 이해될 것이다.FIG. 8 is a tree diagram of the virtual folder structure of FIG. 7, where, at a third level, the
도 9는 도 6의 가상 폴더 구조의 트리도로서, 여기에서는 제2 레벨에서, 가상 폴더(520)가 클라이언트와 연도에 대응하는 가상 폴더(521 및 522)로 더욱 필터링된다. 제3 레벨에서, 가상 폴더(521)는 연도에 대응하는 가상 폴더(523)로 더욱 필터링된다. 도 8 및 도 9의 체계화 구조들을 대비해 보면 가상 폴더 시스템의 유연성이 설명된다. 다시 말해, 가상 폴더 시스템에서는, 사용자는 도 5에 나타낸 것과 같은 물리적 파일 구조의 위치 비독립적 뷰에 좌우되는 것과 대조되는 바와 같이, 원하는 파라미터에 따라 가상 폴더를 네비게이션할 수가 있다.FIG. 9 is a tree diagram of the virtual folder structure of FIG. 6, where at a second level, the
도 10은 문서 라이브러리의 스택을 나타내는 스크린 디스플레이(600)를 설명하는 도면이다. 상기 언급한 바와 같이, 스택은 가상 폴더의 유형을 표시하는 데에 이용될 수 있다. 이하 더욱 상세히 설명되는 바와 같이, 스크린 디스플레이(600)는 퀵 링크 요소(610-613), 필터 요소(620-626), 동작 요소(630-633), 정보 및 제어 요소(640-645), 및 가상 폴더 스택(651-655)을 포함한다.
10 is a diagram illustrating a
퀵 링크 요소는 "모든 카테고리" 퀵 링크(610), "모든 저자" 퀵 링크(611), "1월 작업" 퀵 링크(612) 및 부가의 퀵 링크를 표시하기 위한 선택부(613)를 포함한다. 이하 더욱 상세히 설명되는 바와 같이, 퀵 링크는 원하는 가상 폴더의 네비게이션을 실행하도록 사용자에 의해 선택될 수 있다. 퀵 링크는 시스템에 의해 제공되며, 몇 퀵 링크는 사용자에 의해 형성 및 저장될 수 있다.The quick link elements include a "All Categories"
필터 요소는 "항목별 필터 (filter by)" 표시자(620), 입력 공란(621), "날짜별 (by date)" 표시자(622), "연도" 선택부(623), "저자 고르기" 선택부(624), "카테고리 고르기" 선택부(625), 및 "부가의 필터" 선택부(626)를 포함한다. "항목별 필터" 표시자(620)는 사용자에게 아래 항목이 가상 폴더나 항목을 필터링하는 데에 이용된다는 사실을 알려준다. 입력 공란(621)은 사용자가 원하는 새로운 필터 용어를 타이핑할 수 있는 영역을 제공한다. "날짜별" 표시자(622)는 "연도" 선택부(623)로부터 날짜를 선택하여, 가상 폴더나 항목이 그 선택된 연도까지 필터링될 수 있다는 사실을 사용자에게 알려준다. "저자 고르기" 선택부(624)는 사용자가 특정 저자에 따라 필터링할 수 있게 한다. "카테고리 고르기" 선택부(625)는 사용자가 선택된 카테고리에 따라 필터링하게 한다. "부가의 필터" 선택부(626)는 사용자가 디스플레이 상에 부가의 필터가 나오게 한다.The filter elements are "filter by"
동작 선택부는 "새 카테고리 형성" 선택부(630), "동작" 선택부(631 및 632), 및 "부가의 동작" 선택부(633)를 포함한다. 이하 더욱 상세히 설명되는 바와 같이, 제시되는 동작은 일반적으로 바람직한 기능에 대한 것이며, 특히는 현재 표시되고 있는 가상 폴더의 유형에 대해 유용한 동작에 관한 것이다. 예를 들어, "새 카테고리 형성" 선택부(630)는 사용자에 의해 선택되어 새로운 스택으로 표시되게 되는 새로운 카테고리를 형성하게 한다.The operation selector includes a "new category formation"
상기한 바와 같이, 동작 선택부(631 및 632)는 특히 표시되고 있는 폴더와 항목의 유형에 관한 것이다. 예를 들어, 이 디스플레이는 문서 라이브러리에 대한 것이고, 이의 "동작" 선택부(631 및 632)는 첨부물을 편집하거나 형성하는 것과 같이, 문서에 대해 구체적으로 맞춤된 동작에 관한 것이다. 이 라이브러리가 사진 라이브러리이면, "동작" 선택부(631 및 632)는 사진 앨범의 형성 또는 다른 사용자와의 사진 공유 등, 사진에 관한 특수 동작에 대한 것일 수 있다.As mentioned above, the
정보 및 제어 요소는 정보 라인(640 및 641), 제어 라인(642), 백스페이스 제어(643), 및 정보 라인(644 및 645)을 포함한다. 정보 라인(640 및 641)은 가상 폴더나 항목의 현재 네비게이션에 대한 정보를 제공한다. 이 예에서, 정보 라인(640)은 현재 네비게이션이 문서 라이브러리에 대한 것인 반면, 정보 라인(641)은 문서 라이브러리가 저장 영역 내에 있는 것을 나타내는, 더욱 완전한 네비게이션을 나타내는 것이다. 제어 라인(642)은 다수의 표준 제어를 제공하며, 백스페이스 버튼(643)은 네비게이션 중에 사용자가 뒤로 갈 수 있게 한다. 정보 라인(644)은 본 네비게이션의 컨텐츠에 대한 여러 정보를 제공한다. 본 예에서, 정보 라인(644)은 문서 라이브러리의 스택에 100MB를 차지하는 41개의 항목이 있다는 것을 나타내고 있다. 정보 라인(645)은 선택된 파일에 대한 부가의 정보와 같은 부가의 정보를 제공하는 데에 유용하다.Information and control elements include
문서 라이브러리의 스택은 "ABC Corp." 스택(651), "백업 스택"(652), "비지 니스 플랜" 스택(653), "XYZ Corp." 스택(654) 및 "마케팅 리포트" 스택(655)을 포함한다. 각 스택 위의 숫자는 각 스택에 얼마나 많은 항목이 있는지를 나타낸다. 예를 들어, "ABC Corp." 스택(651)은 8개의 항목을 포함하는 것을 나타낸다. 스택의 항목의 총 개수는 정보 라인(644)에 나타낸 항목의 개수에 더해지는데, 본 예에서는 41개이다. 사용자가 원하는 항목을 선택하도록 이용할 수 있는 선택 박스 SB가 제공된다. "ABC Corp." 스택(651)의 선택은 도 11과 관련하여 후술하는 바와 같이, 그 스택의 항목의 뷰를 만든다.The stack of document libraries is "ABC Corp."
도 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에 관련하여 후술되는 바와 같이, 문서를 보유하도록 체계화될 수 있다.FIG. 11 is the “ABC Corp.” of FIG. 10. It is a figure explaining the screen display which shows the item of the
도 12는 도 11의 문서에 대해 스태킹 기능이 선택된 스크린 디스플레이를 설명하는 도면이다. 도 12에 나타낸 바와 같이, 사용자는 기능 박스(760)를 끌어 올 수 있다. 기능 박스(760)는 "뷰" 선택부(761), "항목별 아이콘 배열" 선택부(762), "스택" 선택부(763), "리프레시" 선택부(764), "폴더 포함 열기" 선 택부(765), "자르기" 선택부(766), "복사하기" 선택부(767), "취소" 선택부(768), "새문서" 선택부(769) 및 "특성" 선택부(770)를 포함한다. 선택 박스 SB는 "스택" 선택부(763) 둘레에 나타나 있다.12 is a diagram illustrating a screen display in which a stacking function is selected for the document of FIG. 11. As shown in FIG. 12, the user may pull the
도 13은 도 12의 스택 기능에 대해 "저자별 스택" 파라미터가 선택된 스크린 디스플레이를 설명하는 도면이다. 도 13에서 나타낸 바와 같이, 여러 스택 옵션을 제시하는 박스(780)가 표시된다. 스택 옵션은 "스택 해제" 옵션(781), "카테고리별 스택" 옵션(782), "저자별 스택" 옵션(783), 및 "사용자별 스택" 옵션(784)을 포함한다. 선택 박스 SB는 "저자별 스택" 옵션(783) 둘레에 나타나 있다.FIG. 13 is a diagram illustrating a screen display in which the “author stack by each parameter” parameter is selected for the stack function of FIG. 12. As shown in FIG. 13, a
도 14는 도 13의 파일이 저자별로 스택되어 있는 스크린 디스플레이를 설명하는 도면이다. 도 14에 나타낸 바와 같이, 스택(791 및 792)은 저자 밥(Bob)과 리사(Lisa)에 각각 대응한다. 각 스택 위의 수로 나타낸 바와 같이, 밥 스택(791)은 두 항목을 포함하는 반면, 리사 스택(792)은 5개의 항목을 포함한다. 항목(758)(문서 8에 대응)은 저자를 갖지 않으므로, "저자" 스택에 포함되지 않는다. 스택(791 및 792)은 "ABC Corp." 스택(651) 내에서와 같이 다수의 레벨로 체계화될 수 있다. 따라서, 가상 폴더는 문서 라이브러리 내에 있는 "ABC Corp." 스택(651) 내에 있는 "리사" 스택(792)과 같이 다수의 레벨로 형성될 수 있다.FIG. 14 is a diagram illustrating a screen display in which files of FIG. 13 are stacked for each author. As shown in Fig. 14,
도 15는 "카테고리별 스택" 옵션이 도 14의 파일을 다시 스택하기 위해 추가로 선택된 스크린 디스플레이를 설명하는 도면이다. 도 15에 나타낸 바와 같이, 선택 박스 SB는 "카테고리별 스택" 옵션(782) 둘레에 있다. 항목 중에는 이미 스택(791 및 792)에 스택되어 있는 것이 있기 때문에, "카테고리별 스택" 옵션(782) 의 선택은 도 16과 관련하여 이하 더욱 상세히 기재되는 바와 같이, 항목을 다시 스택한다.FIG. 15 is a diagram illustrating a screen display in which the "Stack by Category" option is further selected to re-stack the file of FIG. As shown in FIG. 15, the select box SB is around a "Stack by Category"
도 16은 도 14의 파일이 카테고리별로 다시 스택된 스크린 디스플레이를 설명하는 도면이다. 도 16에서 나타내는 바와 같이, 스택(793 및 794)은 각각 "XYZ Corp." 및 "마케팅 리포트" 카테고리에 대응한다. 문서 1 및 2에 대응하는 항목(751 및 752)은 어느 부가의 카테고리에도 지정되지 않으므로, 다른 카테고리 스택 중 어디에도 들어가지 않는다.FIG. 16 is a diagram illustrating a screen display in which the file of FIG. 14 is stacked again by category. As shown in FIG. 16, the
도 17은 물리적 폴더의 퀵 링크가 선택된 스크린 디스플레이를 설명하는 도면이다. 선택 박스 SB는 "모든 폴더" 퀵 링크(616) 둘레에 있는 것으로 나타난다. 도 18과 관련하여 이하 더욱 상세히 설명하는 바와 같이, "모든 폴더" 퀵 링크(616)는 물리적 폴더의 뷰로 전환하기 위해 제공된다.17 is a diagram illustrating a screen display in which a quick link of a physical folder is selected. The selection box SB appears to be around the "All Folders"
도 18은 물리적 폴더를 나타내는 스크린 디스플레이를 설명하는 도면이다. 나타낸 물리적 폴더는 도 17의 가상 폴더 스택의 파일을 포함한다. 다시 말해, 도 17의 스택(651-655) 내에 포함된 항목은 또한 시스템의 특정 물리적 폴더에 포함된다. 이들은 도 18에서 현재의 컴퓨터 상에 위치된 "내 문서" 폴더(851), 현재의 컴퓨터 상에 위치된 "데스크톱" 폴더(852), 하드 드라이브 C에 위치된 "Foo" 폴더(853), 서버에 위치된 "내 파일" 폴더(854), 외부 드라이브에 위치된 "외부 드라이브" 폴더(855), 다른 컴퓨터 상에 위치된 "내 문서" 폴더(856), 및 다른 컴퓨터 상에 위치된 "데스크톱" 폴더(857)로서 나타나 있다.18 is a diagram for explaining a screen display showing a physical folder. The physical folder shown contains files in the virtual folder stack of FIG. In other words, items contained within stacks 651-655 of FIG. 17 are also included in specific physical folders of the system. These are the "My Documents"
도 18에 나타낸 바와 같이, 사용자는 도 17의 가상 파일 표시를 도 18의 물 리적 파일 표시로 전환할 수 있다. 이것은 사용자가 현재 작업에 바람직한 것에 따라서, 가상 파일 표시와 물리적 파일 표시 간에서 토글할 수 있게 한다. 물리적 폴더(851-857)의 여러 위치는 또한 이하 더욱 상세히 설명되는 바와 같이, 가상 파일 시스템의 유효범위가 비교적 넓은 것을 설명해 준다.As shown in FIG. 18, the user can switch the virtual file display of FIG. 17 to the physical file display of FIG. 18. This allows the user to toggle between virtual file display and physical file display, as desired for the current task. The various locations of the physical folders 851-857 also illustrate the relatively large scope of the virtual file system, as described in more detail below.
도 19는 사용자가 직접적으로 가상 폴더를 조작할 수 있는 루틴(880)을 설명하는 플로우차트이다. 이하 더욱 상세히 설명되는 바와 같이, 가상 폴더를 조작하기 위해 제공되는 메커니즘은 정규 폴더를 조작하는 데에 현재 이용되는 것 (예를 들어, 클릭 및 드래그, 복사하기, 붙이기 등)과 유사하다. 도 19에 나타낸 바와 같이, 블럭(882)에서, 시스템은 디스플레이 오브젝트로서 표시되는 가상 폴더의 직접적 조작을 위해 사용자가 실행할 수 있는 동작을 정의하고 있다. 블럭(884)에서, 사용자는 정의된 동작을 실행한다. 상술한 바와 같이, 이것의 일 예로는 사용자가 가상 폴더를 다른 가상 폴더에 클릭 및 드래그하여 그 컨텐츠를 복사하는 것이 있다. 블럭(886)에서, 가상 폴더 및/또는 컨텐츠는 사용자에 의해 실행되는 동작으로 지시되는 바와 같이 조작되게 된다.19 is a flowchart illustrating a routine 880 in which a user can directly manipulate a virtual folder. As described in more detail below, the mechanism provided for manipulating virtual folders is similar to those currently used to manipulate regular folders (eg, click and drag, copy, paste, etc.). As shown in FIG. 19, at
도 20은 새로운 웨스트 코스트 스택(656)이 도 10의 스택에 추가된 스크린 디스플레이를 설명하는 도면이다. 웨스트 코스트 스택(656)은 사용자가 "웨스트 코스트"라는 새 카테고리를 만드는 것으로 형성되게 된다. 그 초기 형성시, 새로운 웨스트 코스트 스택(656)은 빈 상태로 0개의 항목을 갖는다. 도 20의 실시예에서, 두 개의 항목이 웨스트 코스트 스택(656)에 추가된다. 항목을 스택에 추가하는 한 방법은 특정 항목을 선택하면 되고, 도 20의 실시예에서 행한 바와 같이 카 테고리 "웨스트 코스트"를 두 항목에 추가하는 등과 같이, 항목의 카테고리 메타데이터에 부가의 카테고리를 추가하면 된다. 이 프로세스는 카테고리 데이터가 특별한 특성의 유형인 항목의 메타데이터 특성인 것을 설명한다. 다시 말해, 이 유형의 특성은 절대적 의미를 갖지 않고, 사용자에 의해 임의 값이 지정될 수 있다. 예를 들어, 카테고리 "특성"은 임의의 값을 갖는 반면 "저자" 특성은 사람의 이름이어야 한다. 도 21과 관련하여 이하 상세히 설명되는 바와 같이, 항목은 또한 다른 스택으로부터 웨스트 코스트 스택(656)에 복사되도록 클릭 및 드래그될 수 있다 (이 경우 항목의 카테고리는 "웨스트 코스트"를 포함하도록 자동 갱신된다). 이와 관련하여, 도 20은 선택 박스 SB가 그 컨텐츠가 복사되는 것에 대비하여 ABC Corp. 스택(651) 둘레에 있는 것을 나타내고 있다.FIG. 20 illustrates a screen display in which a new
도 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개의 항목의 카테고리 설명을 변형하여 이루어진다. 이것은 실행될 수 있는 직접적 조작의 한 유 형이다.21 shows direct manipulation of this file by ABC Corp .; A diagram illustrating the screen display used to copy from
직접적 조작의 다른 예는 항목을 우측 클릭하여 삭제를 선택하는 것이다. 일 실시예에서, 삭제 기능이 사용자에 의해 선택되면, 사용자에게는 항목이 모두 함께 삭제되는지, 또는 현 가상 폴더로부터만 제거되는지의 여부가 질의된다. 항목이 상기한 바와 같이 단지 현 가상 폴더 카테고리 스택에서만 제거되는 경우에는, 이것은 항목의 메타데이터로부터 원하는 카테고리를 제거하여 성취될 수 있다. 다시 말해, ABC Corp. 스택(651)에서 웨스트 코스트 스택(656)으로 복사된 항목들 중 하나를 ABC Corp. 스택(651)에서 제거하고자 하면, 이것은 특정 파일이 "웨스트 코스트" 카테고리를 더 이상 포함하지 않도록 카테고리 데이터를 변형하여 성취될 수 있는 것이다.Another example of a direct operation is to right click on an item and select delete. In one embodiment, if the delete function is selected by the user, the user is queried whether the items are all deleted together or only removed from the current virtual folder. If the item is only removed from the current virtual folder category stack as described above, this can be accomplished by removing the desired category from the item's metadata. In other words, ABC Corp. One of the items copied from the
도 22는 새로운 필터 용어를 동적으로 형성하는 시스템의 루틴(900)을 설명하는 플로우차트이다. 필터 용어는 가상 폴더를 조작하는 데에 이용된다. 필터 용어는 항목의 세트를 줄이는 툴의 세트로서 이용된다. 일 실시예에서, 필터는 메타데이터 카테고리 및 이들의 값 (클릭 가능한 링크나 드롭-다운 메뉴로서 사용자 인터페이스에서 사용자에게 제시됨)으로 이루어진다. 사용자는 필터 용어를 클릭하여 디스플레이 상의 현재 항목의 결과 세트를 필터링할 수 있다.FIG. 22 is a flowchart describing a routine 900 of a system for dynamically forming new filter terms. Filter terms are used to manipulate virtual folders. The filter term is used as a set of tools to reduce the set of items. In one embodiment, the filter consists of metadata categories and their values (presented to the user in the user interface as a clickable link or drop-down menu). The user can click on a filter term to filter the result set of the current item on the display.
도 22는 필터를 동적으로 형성하는 방법을 설명한다. 도 22에 나타낸 바와 같이, 블럭(902)에서, 현재의 디스플레이 상에서 집합된 항목의 (메타데이터로부터의)특성이 리뷰된다. 블럭(904)에서, 제안된 필터 용어는 통상의 항목의 특성에 기초하여 동적으로 형성된다. 블럭(906)에서, 제안된 필터 용어는 항목을 필터링 하기 위한 가능한 선택을 위해 사용자에게 제시된다. 이 프로세스의 예로서, 시스템은 항목의 세트의 특성을 리뷰하고, 항목이 특성으로 "저자"를 가지면, 필터는 저자의 목록을 항목별 필터에 제공할 수 있다. 다음에, 특정 저자를 클릭하면, 그 저자를 갖는 않는 항목은 디스플레이 상의 세트에서 제거된다. 이 필터링 프로세스는 디스플레이 상의 항목의 세트를 줄이는 메커니즘으로 이용된다.22 illustrates a method of dynamically forming a filter. As shown in FIG. 22, at
도 23은 필터 용어의 선택에 기초하여 항목을 필터링하는 시스템의 루틴(920)을 설명하는 플로우차트이다. 블럭(922)에서, 사용자는 새로운 필터 용어를 입력하거나 아니면 시스템에 의해 제시된 필터 용어 중 하나를 선택한다. 상기한 바와 같이, 필터 용어는 시스템에 의해 동적으로 형성될 수 있거나 미리 설정될 수 있다. 블럭(924)에서, 디스플레이 상의 집합에서의 항목은 그 선택된 특성이 필터 용어와 일치하는지의 여부와 관련하여 평가되게 된다. 예를 들어, 필터 용어가 "밥"이 저술한 항목에 대한 것이면, 항목은 저자 특성이 "밥"을 포함하는지의 여부에 따라 평가되게 된다. 블럭(926)에서, 선택된 특성이 일치하지 않는 항목은 디스플레이 상의 집합에서 제거되게 된다.23 is a flowchart illustrating a routine 920 of a system for filtering items based on selection of filter terminology. At
도 24 내지 도 29는 일반적으로 필터링 프로세스가 스크린 디스플레이 상에서 나타나는 방법을 설명한다. 도 24 내지 도 29를 참조하여 후술하는 바와 같이, 일 실시예에서, 필터링은 일반적으로 다음의 프로세스에 따라 동작할 수 있다. 사용자가 필터 값을 클릭한 후에, 필터 범위 외의 항목은 스크린에서 사라진다. 이 사라짐은 일반적으로 항목이 제거되고 있고 어떤 새로운 항목도 추가되고 있지 않는 것을 명백하게 하기 위한 것이다. 백버튼(643)은 사용자에 의해 선택되어 필터 동작을 취소하게 할 수 있다. 일 실시예에서, 순차적인 필터 동작을 포함하는 네비게이션 스택이 형성되고, 이것은 백버튼(643)이 선택될 때 필터 동작 각각을 취소하는 데에 이용된다. 필터 값이 선택될 때마다, 정보 영역(640 및 641)은 현재 필터 값을 나타내도록 갱신된다. 일 실시예에서, 필터 값이 선택된 후에, 도 30에 관련하여 이하 더욱 상세히 설명되는 바와 같이, 사용자에게는 새로운 퀵 링크를 현재 필터 네비게이션으로 저장하기 위한 옵션이 제공된다. 필터 값이 선택됨에 따라, 필터 제어는 뷰에 남아 있는 항목에 적당하도록 갱신될 수 있다.24-29 generally describe how the filtering process appears on the screen display. As described below with reference to FIGS. 24-29, in one embodiment, filtering may generally operate according to the following process. After the user clicks on a filter value, items outside the filter range disappear from the screen. This disappearance is generally intended to make it clear that the item is being removed and that no new item is being added. The
도 24는 도 10의 스택이 용어 "AB"로 필터링된 스크린 디스플레이를 설명하는 도면이다. 나타낸 바와 같이, 필터 영역(621)에, 용어 "AB"가 사용자에 의해 타이핑된다. 정보 라인(640 및 641)은 디스플레이의 항목이 현재 용어 "AB"에 의해 필터링된 것임을 나타낸다. 나타낸 바와 같이, ABC Corp. 스택(651)은 여전히 8개의 항목을 포함하는 반면, 백업 스택(652)은 현재 세 개의 항목을 포함하고, XYZ Corp. 스택(654)이 또한 세 개의 항목을 포함한다. 따라서 정보 라인(644)은 총 35MB의 메모리를 차지하는 총 14개의 항목이 있다는 것을 나타낸다.FIG. 24 illustrates a screen display in which the stack of FIG. 10 is filtered under the term “AB”. As shown, in the
도 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는 사용자가 새로운 필터 용어를 기재하는 방법과, 이들 필터 용어가 디스플레이 상에 나타난 항목을 필터링하는 데에 이용되는 방법의 예를 제공한다.FIG. 25 illustrates a screen display in which the stack of FIG. 10 is filtered under the term “ABC”. Regarding the filter term "AB" in FIG. 24, the user simply types the additional letter "C" to make the total filter term "ABC". As shown in FIG. 25,
백버튼(643)은 사용자가 필터링 프로세스 중에 뒤로 가는 데에 이용될 수 있다. 도 10에 관련하여 상술한 바와 같이, 백버튼(643)은 사용자가 네비게이션 중에 뒤로 갈 수 있게 한다. 도 24 및 도 25의 예에 관련하여, 도 25의 용어 "ABC"로 필터링한 후에, 사용자는 필터링 프로세스의 일 단계를 뒤로 가기 위해 백버튼(643)을 선택할 수 있는데, 이로써 도 24의 상태로 돌아가게 된다. 다르게는, 다른 실시예에서, 백 버튼(643)은 전체 필터 용어를 소거할 수 있으며, 따라서 그 필터링이 발생하기 전의 상태로 돌아갈 수도 있다. 이 경우에는, 도 25에서 백버튼(643)을 누르게 되면, 사용자는 도 10의 상태로 돌아간다.
일 실시예에서, 백버튼에 부가하여, 사용자가 필터링 네비게이션시 뒤로 가거나 아니면 이를 수정하기 위한 부가의 수단이 제공된다. 이 부가의 수단은 사용자가 정보 라인(641)을 직접적으로 억세스하여 수정하고, 이에 따라 필터 네비게이션을 변경하도록 하는 것을 말한다. 다시 말해, 정보 라인(641)을 직접 억세스 및 수정하여, 사용자가 적용된 필터 중 하나 이상을 제거하거나, 적용된 필터 중 어느 것의 값이라도 수정할 수가 있다. 이러한 특징은 통상적으로 양도되고 본 명세서에서 참조되어 포함된, 2003년 4월 17일자 출원의 미국 특허 출원 제10/420,040호 에 더욱 상세히 기재되어 있다.In one embodiment, in addition to the back button, additional means are provided for the user to go back or modify the filtering navigation. This additional means refers to allowing the user to directly access and modify the
도 24 및 도 25에서 나타낸 것과 같이 필터 용어에 사용자가 타이핑하는 것과 관련하여 타이머를 또한 이용할 수 있다. 타이머는 사용자에 의한 타이핑시 일시 정지(pause)를 모니터링하는 데에 이용된다. 선택된 타이핑 없음 간격 이후에, 필터가 적용된다. 예를 들어, 도 24의 상태에서, 사용자가 "A"와 "B" 사이에 상당한 시간 지연 없이, 필터 용어 "AB"를 타이핑한다. 용어 "AB"를 타이핑한 후에, 사용자는 일시 정지하여서 도 24에 나타낸 상태를 발생시키는데, 여기서 필터 용어 "AB"가 적용된다. 조금 후에, 사용자는 문자 "C"를 추가하여 필터 용어 "ABC"를 완성한 다음에, 다시 일시 정지하는데, 이 시점에서 필터 용어 "ABC"가 도 25에 나타낸 바와 같이 적용된다.A timer may also be used in connection with the user's typing in the filter term, as shown in FIGS. 24 and 25. The timer is used to monitor pauses in typing by the user. After the selected no typing interval, the filter is applied. For example, in the state of FIG. 24, the user types the filter term “AB” without a significant time delay between “A” and “B”. After typing the term "AB", the user pauses to generate the state shown in Figure 24, where the filter term "AB" is applied. Shortly after, the user adds the letter "C" to complete the filter term "ABC" and then pauses again, at which point the filter term "ABC" is applied as shown in FIG.
일 실시예에서, 사용자가 필터 영역(621)에 필터 용어를 타이핑한 다음에, 다른 필터나 네비게이션을 선택한 후에, 네비게이션 상태가 갱신되게 되고, 필터 영역(621)의 필터 용어는 다시 빈 상태가 된다. 부가하여, 도 26 내지 도 29를 참조하여 더 상세히 설명되는 바와 같이, 다른 필터 제어는 특정 필터 용어의 선택에 기초하여 갱신될 수 있다.In one embodiment, after the user types a filter term in the
도 26은 필터 용어 "연도 2002"가 선택된 스크린 디스플레이를 설명하는 도면이다. 상기한 바와 같이, 날짜별 표시자(622) 아래의 연도 선택부(623)는 연도 2000, 2001, 또는 2002를 포함한다. 선택 박스 SB는 연도 2002 둘레에 있는 것으로 나타나, 사용자가 이를 원하는 필터 용어별로 선택하고 있는 것을 나타내고 있다.
26 is a diagram illustrating a screen display in which the filter term "
도 27은 필터 용어 "2002"가 적용된 스크린 디스플레이를 설명하는 도면이다. 또한 다른 "월(month) 고르기" 선택부(623A)가 나타나 있다. 도 27에 나타낸 바와 같이, 필터 용어 "2002"를 적용한 후에, 스택의 항목의 수는 감소되게 된다. 특히, ABC Corp. 스택(651)은 현재 6개의 항목을 포함하고, 백업 스택(652)은 8개의 항목을 포함하고, 비지니스 플랜 스택(653)은 3개의 항목을 포함하고, XYZ Corp. 스택(654)은 현재 5개의 항목을 포함하고 있다. 정보 라인(644)은 총 50MB의 메모리를 차지하는 총 22개의 항목을 나타낸다. 정보 라인(640 및 641)은 디스플레이 상에 나타난 항목이 필터 용어 "2002"를 포함하도록 필터링된 것임을 나타낸다.27 is a diagram illustrating a screen display to which the filter term "2002" is applied. Also shown is another " month selection "
도 28은 필터링을 위해 월을 선택하기 위한 목록이 제시된 스크린 디스플레이를 설명하는 도면이다. 월의 목록을 포함하는 박스(950)가 제공된다. 이 박스(950)는 사용자가 "월 고르기" 선택부(623A)를 선택하게 되면 디스플레이 상에 제공된다. 선택 박스 SB가 1월 둘레에 나타나 있다. FIG. 28 is a diagram illustrating a screen display presented with a list for selecting months for filtering. A
도 29는 도 28의 스택이 1월로 추가로 필터링되고, 추가로 "일(day)"의 필터 용어를 보이고 있는 스크린 디스플레이를 설명하는 도면이다. 도 29에 나타낸 바와 같이, 정보 라인(640 및 641)은 디스플레이 상의 항목이 용어 "1월"로 필터링된 것임을 나타내고 있다. 백업 스택(652)은 두 항목을 포함하는 것으로 나타나 있고, 비지니스 플랜 스택(653)은 또한 두 항목을 포함하는 것으로 나타나 있다. 정보 라인(644)은 디스플레이 상에 총 10MB의 메모리를 차지하는 총 4개의 항목이 있다는 것을 나타낸다. "일 고르기" 선택부(623B)는 사용자가 결과를 특정 날짜로 더욱 필터링하길 원하는 경우 제공된다. FIG. 29 is a diagram illustrating a screen display in which the stack of FIG. 28 is further filtered to January and further shows a filter term of "day". As shown in FIG. 29,
도 24 내지 도 29에 관련하여 기재한 바와 같이, 필터 용어는 시스템에 의해 제시되거나 사용자에 의해 타이핑될 수 있다. 일단 필터 용어가 선택되면, 제시되는 나머지 필터 용어는 갱신될 수 있다 (예를 들어, 연도 "2002"가 도 26에서 선택된 후에, 도 27에서 연도를 선택하는 옵션은 더 이상 제시되지 않고 대신에 "월 고르기" 옵션이 제공된다). 상기한 바와 같이, 백버튼(643)은 필터링 프로세스를 통해 사용자가 뒤로 가려고 할 때 선택된다. 예를 들어, "1월"이 도 29에서 선택된 후에, 사용자가 백버튼(643)을 선택하면 도 27에서 나타낸 바와 같이, 필터링 프로세스를 연도 "2002"로 후진시킨다. 필터 메뉴는 "항목별 스택" 기능을 포함하는데, 이는 도 15 및 도 16에 관련하여 상술한 항목별 스택 기능과 유사하게 작용한다. 예를 들어, "파일 유형" 필터는 "엑셀", "파워포인트", "워드", 및 "파일 유형별 스택"의 선택권을 가질 수 있다. "항목별 스택" 기능을 선택하게 되면 뷰를 변형하여 여러 파일 유형에 대한 스택을 나타내게 된다.As described with reference to FIGS. 24-29, filter terms may be presented by the system or typed by a user. Once the filter term is selected, the remaining filter term presented can be updated (eg, after year “2002” is selected in FIG. 26, the option to select a year in FIG. 27 is no longer presented and instead “ Choose a month "option). As mentioned above, the
일반적으로, 필터는 파일이나 항목의 여러 특성에 적용하도록 구성될 수 있다. 일 실시예에서, 필터는, 알파벳 인덱스; 개별값; 날짜; 및 수치 범위 등의 여러 유형에 따라 분류될 수 있다. 알파벳 인덱스의 특성 예는 파일 이름, 저자, 아티스트, 접촉하기 편한 이름, 소유자, 문서 저자, 문서 제목, 문서 주제 및 설명을 포함할 수 있다. 개별값의 특성 예는 위치, 파일 유형 (어플리케이션 이름), 장르, 트랙, 데케이드 (음악용); 등급 (음악용), 비트 레이트(bit rate), 보안, 문서 카테고리, 문서 페이지 카운트, 문서 코멘츠, 카메라 모델, 치수, 제품 이름, 제품 버전, 이미지 X, 이미지 Y, 및 문서 형성 시간을 포함한다. 날짜의 특성 예는 마지막 접속, 마지막 수정, 형성, (사진) 찍은 날짜를 포함한다. 수치 범위의 특성 예는 파일 크기일 수 있다. In general, filters can be configured to apply to various properties of a file or item. In one embodiment, the filter comprises an alphabetic index; Individual value; date; And numerical ranges, and the like. Examples of characteristics of the alphabetic index may include file name, author, artist, easy-to-contact name, owner, document author, document title, document subject, and description. Examples of characteristics of individual values include location, file type (application name), genre, track, decade (for music); Includes rating (for music), bit rate, security, document category, document page count, document comments, camera model, dimensions, product name, product version, image X, image Y, and document formation time . Examples of characteristics of the date include the last contact, last modified, formed, and date taken (photographed). An example of a characteristic of a numerical range may be file size.
도 24 내지 도 29와 관련하여 상술된 필터는 사용자가 항목의 목록을 줄여 관심있는 특정 항목을 찾을 수 있도록 한다는 것이 이해될 것이다. 특정 예로서, 상술한 프로세스에 따르면, 사용자는 현재 문서의 목록을 줄여 특정 사람에 의해서만 저술되어 최근 주말에 편집된 마이크로소프트 워드 파일만을 나타내게 할 수 있다. 이 기능은 사용자가 많은 목록에서 특정 항목을 찾을 수 있게 하므로, 사용자가 목록의 각 항목을 수동으로 스캔할 필요를 없애 준다.It will be appreciated that the filters described above with respect to FIGS. 24-29 allow the user to find a particular item of interest by narrowing the list of items. As a specific example, according to the process described above, a user can narrow the list of current documents to display only Microsoft Word files that were written by a specific person and edited last weekend. This feature allows users to find specific items in many lists, eliminating the need for users to manually scan each item in the list.
도 30은 새로운 퀵 링크를 형성하기 위한 루틴(940)을 설명하는 플로우차트이다. 이하 더욱 상세히 설명되는 바와 같이, 퀵 링크는 사용자가 선택한 항목의 세트의 뷰를 형성하도록 클릭할 수 있는 미리 정해진 링크이다. 일 실시예에서 퀵 링크는 피봇의 형태로 생각될 수 있다. 퀵 링크는 가상 폴더를 검색하는 기구를 제공한다. 퀵 링크를 클릭하면 사용자가 원하는 폴더를 취할 수 있게 된다 (유사하게 "즐겨찾기(favorites)"를 클릭하면 사용자가 웹사이트를 취할 수가 있다). 퀵 링크는 시스템에 의해 미리 정해지거나, 사용자에 의해 설정될 수 있다. 예를 들어, "모든 저자"를 클릭하면 저자에 의해 스택된 뷰를 가져올 수 있다. "모든 문서"를 클릭하면 모든 저장 영역에 대한 모든 문서의 플랫 뷰를 가져올 수 있다. 사용자는 자신만의 퀵 링크를 형성할 수 있다.30 is a flowchart describing a routine 940 for forming a new quick link. As described in more detail below, a quick link is a predetermined link that a user can click to form a view of a set of selected items. In one embodiment the quick link may be thought of in the form of a pivot. Quick links provide a mechanism for searching virtual folders. Clicking on a quick link will allow the user to take the desired folder (similarly, clicking on "favorites" will allow the user to take a website). The quick link may be predetermined by the system or set by the user. For example, clicking on "all authors" will bring up the views stacked by the author. Click "All Documents" to get a flat view of all documents for all storage areas. The user can form his own quick link.
도 30에서 나타낸 바와 같이, 블럭(942)에서, 사용자는 새로운 퀵 링크가 현 재 필터 용어 또는 네비게이션으로 형성된 것을 나타내도록 디스플레이 상에서 선택을 행한다. 블럭(944)에서, 사용자는 새로운 퀵 링크에 새 이름을 제공한다. 블럭(946)에서, 새로운 퀵 링크가 저장되고 새로운 퀵 링크 이름이 디스플레이 상의 퀵 링크 섹션에 제공되게 된다.As shown in FIG. 30, at
도 31은 도 29의 필터링에 기초한 "1월 작업"으로 불리는 새로운 퀵 링크를 형성하기 위한 스크린 디스플레이를 설명하는 도면이다. 상술한 바와 같이, 도 29에서, 스택은 1월로 필터링되어 있다. 도 31에서, 사용자는 도 29의 필터링이 새로운 퀵 링크로 저장되게 지시하고 이 새로운 퀵 링크를 "1월 작업"으로 이름지었다. 따라서, 새로운 1월 작업 퀵 링크(612)가 디스플레이의 퀵 링크 섹션에 나타난다. 새로운 퀵 링크를 형성하는 것과 관련하여, 사용자에게는 일반적으로 "이 집합을 퀵 링크로 저장" 등과 같은 옵션이 제공된다.FIG. 31 is a diagram illustrating a screen display for forming a new quick link called "January operation" based on the filtering of FIG. As mentioned above, in FIG. 29, the stack is filtered by January. In FIG. 31, the user instructed the filtering of FIG. 29 to be saved as a new quick link and named this new quick link "January task". Thus, a new January job
도 32는 "모든 저자"의 퀵 링크가 선택된 스크린 디스플레이를 설명하는 도면이다. 도 32에 나타낸 바와 같이, 선택 박스 SB는 모든 저자 선택부(611) 둘레에 나타난다. 퀵 링크에 의해 억세스할 수 있는 다른 집합의 예는 "모든 저자", "최근 문서", "내가 공유한 모든 문서", "내가 저술한 모든 문서", "내가 저술하지 않은 모든 문서", "데스크톱" 및 "모든 유형"을 포함한다. 32 is a diagram illustrating a screen display in which a quick link of "all authors" is selected. As shown in FIG. 32, the selection box SB appears around all
도 33은 도 32의 항목의 모든 저자의 목록이 제시된 스크린 디스플레이를 설명하는 도면이다. 도 33에서 나타낸 바와 같이, 항목, 저자, 수정 날짜, 유형, 사이즈, 및 항목의 위치를 나타내는 열을 나타내는 정보 라인(950)이 제공된다. 저자(951-954)의 목록이 각각 저자 1 내지 4에 대응하여 나타난다.
33 is a diagram illustrating a screen display on which a list of all authors of the item of FIG. 32 is presented. As shown in FIG. 33, an
도 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)는 이하 더욱 상세히 설명되는 바와 같이, 여러 물리적 위치로부터의 항목을 포함할 수 있다.FIG. 34 is a diagram for explaining a screen display in which "
도 35는 새로운 라이브러리를 형성하기 위한 루틴(960)을 설명하는 플로우차트이다. 라이브러리의 일 예는 도 10과 관련하여 상술한 문서 라이브러리이다. 일반적으로 라이브러리는 함께 관련될 수 있는 대그룹의 이용 가능한 파일의 유형으로 이루어진다. 예를 들어, 사진은 하나의 라이브러리일 수 있으며, 음악은 다른 것, 문서는 또 다른 것일 수 있다. 라이브러리는 특정 유형의 항목에 관련되는 툴과 동작을 제공할 수 있다. 예를 들어, 사진 라이브러리에는, 슬라이드쇼의 형성이나 사진의 공유 등과 같이 사진 조작과 관련되는 툴과 필터가 있을 수 있다. 도 35에 나타낸 바와 같이, 블럭(962)에서, 선택된 특성을 갖는 항목을 포함하는 새로운 라이브러리가 형성된다. 블럭(964)에서, 선택된 항목은 라이브러리로 그룹화된다. 블럭(966)에서, 선택된 항목의 특성이나 그 외 원하는 기능에 관련된 툴 및/또는 동작이 제공된다.
35 is a flowchart describing a routine 960 for forming a new library. One example of a library is the document library described above with respect to FIG. In general, libraries consist of a large group of available files that can be associated together. For example, a picture may be one library, music may be another, and documents may be another. Libraries can provide tools and actions related to specific types of items. For example, the photo library may include tools and filters related to photo manipulation, such as forming a slideshow or sharing a photo. As shown in FIG. 35, at
도 36은 유용한 라이브러리의 집합이 나타나 있는 스크린 디스플레이를 설명하는 도면이다. 도 36에 나타낸 바와 같이, 라이브러리는 문서 라이브러리(971), 사진 및 비디오 라이브러리(972), 음악 라이브러리(973), 메시지 라이브러리(974), 연락처 라이브러리(975), 및 TV 및 영화 라이브러리(976), 게다가 모든 항목 라이브러리(977)를 포함한다. 모든 항목 라이브러리(977)는 그 외 조합된 라이브러리 전부에서의 항목의 총수인 275개의 항목을 포함하는 것으로 나타낸다. 정보 라인(644)은 총 700MB의 메모리를 차지하는 총 275개의 항목을 나타낸다. 문서 라이브러리(971)는 도 10과 관련하여 상술한 라이브러리임에 유의해야 한다.36 illustrates a screen display showing a collection of useful libraries. As shown in FIG. 36, the library includes a document library 971, a photo and
도 37은 가상 폴더 집합의 범위를 정의하는 루틴(990)을 설명하는 플로우차트이다. 이하 더욱 상세히 설명하는 바와 같이, 가상 폴더 시스템은 다수의 물리적 위치 (예를 들어, 여러 하드 드라이브, 여러 컴퓨터, 여러 네트워크 위치 등)로부터의 항목을 나타낼 수 있으므로 사용자에게는 모든 항목이 용이하게 억세스 가능하게 된다. 예를 들어, 사용자는 단일의 디스플레이 상에 복수의 물리적 위치로부터의 음악 파일이 제시되어, 한번에 모든 파일을 조작할 수 있다.37 is a flowchart describing a routine 990 for defining a range of a virtual folder set. As will be described in more detail below, the virtual folder system can represent items from multiple physical locations (e.g., multiple hard drives, multiple computers, multiple network locations, etc.) so that all items are easily accessible to the user. do. For example, a user can present music files from multiple physical locations on a single display, and manipulate all the files at once.
도 37에 나타낸 바와 같이, 블럭(992)에서, 항목이 나온 물리적 위치에 대한 유효범위가 정의된다. 블럭(994)에서, 질의에 응답하여, 이 유효범위에서 정의되어진 물리적 위치로부터 항목을 끌어온다. 블럭(996)에서, 질의로 끌어온 모든 항목이 단일의 디스플레이 상에 제시된다.As shown in FIG. 37, at
도 38은 가상 폴더 집합의 유효범위를 형성하는 여러 소스를 나타내는 블럭도이다. 도 38에 나타낸 바와 같이, 시스템(1000)은 현재의 컴퓨터(1010), 부가의 컴퓨터(1020), 외부 및 착탈 가능 저장 장치(1030), 및 네트워크 상의 위치(1040)를 포함한다. 전체 유효범위(1001)는 사용자의 항목이 집합을 형성하도록 나오는 모든 물리적 위치를 포함하는 것으로 기재되어 있다. 범위는 사용자에 의해 설정 및 수정될 수 있다. 주지된 바와 같이, 현재의 컴퓨터 상의 내문서 폴더와 서버로부터 나오는 여러 문서를 나타내는 도 34, 및 다수의 위치에 물리적으로 저장된 물리적 폴더를 나타내는 도 18 등과 같이, 다른 도면들은 항목이 여러 물리적 위치로부터 나오는 것을 설명하고 있다.38 is a block diagram illustrating various sources forming an effective range of a virtual folder set. As shown in FIG. 38,
도 39는 가상 폴더 집합에 비-파일 항목을 포함하는 루틴(1080)을 설명하는 플로우차트이다. 비-파일 항목은 통상 물리적 파일 저장소에 위치된 파일 항목과 대조된다. 비-파일 항목의 예는 이메일, 또는 연락처와 같은 것이다. 도 39에 나타낸 바와 같이, 블럭(1082)에서, 데이터베이스는 질의로 검색될 수 있는 파일 항목과 함께 비-파일 항목을 포함하도록 이용된다. 블럭(1084)에서, 질의에 응답하여, 이 질의와 일치하는 비-파일 항목과 파일 항목을 끌어온다. 블럭(1086)에서, 질의와 일치되는 비-파일 항목과 파일 항목이 디스플레이 상에 나타난다.39 is a flowchart describing a routine 1080 that includes non-file items in a set of virtual folders. Non-file entries are typically contrasted with file entries located in a physical file repository. Examples of non-file items are such as email, or contacts. As shown in FIG. 39, at
도 40은 여러 비-파일 항목을 나타내는 스크린 디스플레이를 설명하는 도면이다. 도 40에 나타낸 바와 같이, 항목은 "존(John)"을 포함하는 것으로 필터링된다. 연락처 항목(1101), 이메일 항목(1102) 및 문서 항목(1103 및 1104)을 포함하는 항목이 나타난다. 연락처 항목(1101) 및 이메일 항목(1102)은 비-파일 항목이다. 본 시스템은 이 비-파일 항목이 정규의 파일 항목에 포함되게 하여, 이들을 사용자가 원하는 바대로 체계화 및 조작할 수가 있다. 도 2와 관련하여 상술한 바 와 같이, 이 비-파일 항목은 관련 데이터베이스(230) 내에 전적으로 포함되며, 이것은 파일의 특성에 대한 정보를 포함한다.40 is a diagram illustrating a screen display showing various non-file items. As shown in FIG. 40, items are filtered to include "John". An item that includes a
도 41 내지 도 50은 도 10의 정보 라인(641)에 대응하며 본 발명에 따라 형성되는 가상 어드레스 바에 관한 도면이다. 이하 더욱 상세히 설명되는 바와 같이, 가상 어드레스 바는 복수의 세그먼트를 포함하고, 각 세그먼트는 컨텐츠를 선택하는 필터에 대응한다. 각 세그먼트의 대응 필터는 집합적으로 컨텐츠를 선택하기 위한 가상 어드레스를 나타낸다.41 through 50 illustrate a virtual address bar corresponding to the
도 41은 가상 어드레스 바를 동작하는 데에 적합한 예시의 네트워크 컴퓨팅 환경(1200), 또는 여기에 기재된 본 발명의 어느 다른 태양의 블럭도이다. 예시의 네트워크 컴퓨팅 환경(1200)은 사용자와 상호 작용하기 위해, 도 1에 관련하여 기재한 퍼스널 컴퓨터와 같은 컴퓨팅 장치(1202)를 포함하고, 여기에서 사용자는 컴퓨팅 장치에 대해 로컬 또는 원격적으로 저장된 파일을 볼 수 있다. 다음의 설명은 퍼스널 컴퓨터 관련하여 본 발명을 기재했지만, 컴퓨팅 장치(1202)는 이에만 제한하는 것은 아니지만 미니 및 메인프레임 컴퓨터, PDA, 태블릿 컴퓨터, 및 그 외 사용자와 상호작용 가능하며 컴퓨팅 장치와 그 외에 저장된 컨텐츠를 표시할 수 있는 장치를 포함하는 많은 유형의 물리적 장치를 포함한다는 것이 이해될 것이다.41 is a block diagram of an example
예시의 네트워크 컴퓨팅 환경(1200)은 컴퓨팅 장치(1202)에 억세스 가능한 파일을 저장하며, 도 41에 나타낸 바와 같이 인터넷(1206)과 같은 통신망을 통해 컴퓨팅 장치에 접속되는 서버(1204)와 같은 하나 이상의 원격 서버를 포함한다. 부가하여, 컴퓨팅 장치(1202)는 또한 원격 데이터베이스(1208)와 같이, 파일이나 그 외 컨텐츠를 저장하는 그 외 정보원에 접속될 수 있다. 당업자라면 하드 디스크 드라이브 (도 1) 등의 로컬 저장 장치뿐만 아니라, 원격 서버(1024) 및 원격 데이터베이스(1208) 둘 다에 저장된 파일 및 정보는 컴퓨팅 장치 상의 통합 파일 시스템의 일부로서의 컴퓨팅 장치(1202)에 억세스 가능하며, 여기에 표시 가능하다는 것이 이해될 것이다. 부가하여, 원격 서버(1204) 및 원격 데이터베이스(1208)의 특정 구성을 도 41에서 제시하고 있지만, 당업자라면, 이 특정 구성은 오직 설명을 위한 것으로 본 발명에 제한하여 구성되는 것이 아니라는 것이 쉽게 이해될 것이다.Exemplary
도 42는 종래 기술에서 알 수 있는 바와 같이, 컴퓨터 파일 시스템에서 파일을 표시하는 것과 관련된 종래의 어드레스 바(1302)를 갖는 예시의 파일 뷰어(1300)를 설명한다. 설명의 목적으로, 파일 뷰어는 사용자에게 파일이나 그 외 컨텐츠를 표시하기 위한, 디스플레이 장치 (도 1)와 같은 디스플레이 장치 상의 뷰 또는 창이다. 파일 뷰어는 특수하게 실행 가능한 프로그램에 대응하여 사용자에게 파일을 표시하기 위한 창일 수 있다. 다르게, 파일 뷰어는 컴퓨터 시스템에 대해 로컬 또는 원격으로 접속된 저장 장치로부터 데이터를 저장하거나 검색해야 하는 실행 가능한 프로그램 상에서의 개방형 또는 폐쇄형 대화 상자 내의 뷰일 수 있다. 파일 뷰어의 상기 예는 설명을 위한 것으로, 본 발명으로 제한하여 구성되는 것이 아님에 주의해야 한다.42 illustrates an
종래의 어드레스 바(1302)의 어드레스는 파일 시스템의 특정 위치에 대응한다. 이전에 기술한 바와 같이, 종래의 어드레스 바(1302)에 표시된 어드레스를 편 집하기 위해서, 사용자는 파일 시스템의 특정 지식에 따라 어드레스를 수정해야 한다. 다르게, 사용자는 대체 위치를 네비게이션하기 위해 트리 뷰(1304)에서 엔트리를 선택할 수 있다. 당업자라면 그 외 예시의 파일 뷰(1300)에 나타나 있지 않은 어드레스 바(1302)의 외부 제어를 또한 이용할 수 있다는 것이 이해될 것이다. 종래의 어드레스 바(1302)에 표시된 어드레스는 파일 시스템의 특정 위치에 대응하지만, 파일 시스템의 다수의 폴더 사이에 분산된 관련 파일은 종래의 어드레스 파일(1302)과 관련하여 표시될 수 없다.The address of the
도 43은 컴퓨터 파일 시스템에서 파일을 표시하는 것과 관련된 가상 어드레스 바(1402)를 갖는 예시의 파일 뷰어(1400)를 설명한다. 가상 어드레스 바(1402)는 도 10의 정보 라인(641)에 대응한다. 가상 어드레스(1404)를 갖는 가상 어드레스 바(1402)는 도 42의 종래의 파일 뷰어(1300)의 종래의 어드레스(1304)에 의해 표시되는 것과 유사한 정보를 표시하도록 구성된다. 또한 가상 경로로 참조되는 가상 어드레스는 선택 표준에 따라 컴퓨터 파일 시스템에 저장된 파일을 참조한다.43 illustrates an
도 42의 어드레스(1304)와 같은 종래의 어드레스와 유사하게, 가상 어드레스의 선택 표준은 파일 시스템 계층의 특정 위치에 저장된 파일을 참조한다. 그러나, 종래의 어드레스와 대비하여, 가상 어드레스의 선택 표준은 이들의 특정 파일 시스템 위치와 상관없는 파일을 참조할 수 있다. 따라서, 가상 어드레스는 컴퓨터 파일 시스템의 다수의 위치에 저장된 파일을 참조하다. 도 43에 나타낸 바와 같이, 가상 어드레스 바(1402)의 가상 어드레스(1404)에 따른 파일 뷰어(1400)는 도 42의 파일 뷰어(1300)에서는 보이지 않는 파일(1406 및 1408) 등의 부가의 파일을 표시할 수 있다. 부가하여, 가상 어드레스 바(1402)는 또한 컴퓨터 파일 시스템의 파일 이외의 컨텐츠를 표시하는 데에 이용될 수 있다. 예를 들어, 가상 어드레스 바(1402)는 시스템 장치, 시스템 서비스 또는 인터넷 위치를 포함하는 컨텐츠를 참조하는 데에 이용될 수 있다.Similar to conventional addresses, such as
도 44A는 컴퓨터 파일 시스템에서 네비게이션하기 위해 가상 어드레스 바(1402)에서 가상 어드레스(1404)의 세그먼트를 조작하는 것을 설명한다. 가상 어드레스 바(1402)와 같은 각 가상 어드레스 바는 세그먼트(1502, 1504, 1506 및 1508) 등의 하나 이상의 상호 작용 세그먼트로 이루어진다. 가상 어드레스 바의 각 세그먼트는 컴퓨터 파일 시스템에 억세스 가능한 모든 유용 컨텐츠나 파일에 대해, 미리 정해진 필터 또는 선택 표준에 대응한다. 가상 어드레스 바(1402)의 모든 세그먼트의 필터는 집합적으로 가상 어드레스 바의 가상 어드레스를 나타낸다.44A illustrates manipulating a segment of
세그먼트(1502) 등의 가상 어드레스 바의 제1 세그먼트는 루트 세그먼트 또는 루트 필터로 언급된다. 루트 세그먼트는 가상 어드레스 바(1402)에 의한 선택에 유용한 가장 폭넓은 카테고리의 컨텐츠를 나타낸다. 예를 들어, 세그먼트(1502) "파일"은 컴퓨터 파일 시스템에 억세스 할 수 있는 모든 파일을 참조하는 필터를 나타낸다. 다르게는, 루트 세그먼트는 컴퓨터 시스템 상의 사용자에게 유용한 모든 시스템 서비스를 참조하는 필터, 또는 컴퓨터 시스템에 설치된 모든 하드웨어 장치를 참조하는 필터를 나타낸다. 당업자라면 여러 다른 대체의 루트 필터가 본 발명에 의해 이용될 수 있는 것이 이해될 것이다. 따라서, 상술한 예는 설명을 위한 것으로, 본 발명을 제한하고자 하는 것이 아니다. 부가하여, 루 트 세그먼트(1502)의 "파일"과 같은 각 세그먼트에 대해 표시된 라벨은 설명적인 것으로, 본 발명을 제한하는 것이 아니다. 일 실시예에 따르면, 세그먼트에 표시된 라벨은 사용자가 구성 가능하다.The first segment of the virtual address bar, such as
세그먼트(1504, 1506 및 1508) 등의 가상 어드레스 바(1402)의 각 부가의 세그먼트는 파일 뷰어(1400)에서 파일이나 컨텐츠를 선택하고 표시할 때 적용되는 부가의 필터를 표시한다. 예를 들어, 루트 세그먼트(1502) "파일"은 컴퓨터 시스템에서 유용한 모든 파일을 참조한다. 세그먼트(1504) "문서 라이브러리"는 워드 프로세서, 스프레드시트, 또는 그 외 문서 생성 어플리케이션과 같이, 사용자에 의해 문서로 생성되는 파일을 선택하는 것으로, 루트 세그먼트(1502)에 의해 선택된 파일을 필터링한다. 세그먼트(1506) "워드 문서"는 마이크로소프트사의 워드 어플리케이션과 같이 워드 프로세서를 이용하여 형성되는 문서에 따라서 세그먼트(1504)에 의해 선택된 파일을 필터링한다. 마지막으로, 세그먼트(1508) "저자 A"는 "저자 A"로 저술되었는지에 따라서 세그먼트(1506)에 의해 선택된 워드 처리 문서를 필터링한다. 따라서, 가상 어드레스 바(1402)에서 표시된 가상 어드레스에 따라 선택된 컨텐츠는 가상 어드레스 바의 모든 세그먼트에 대응하는 필터를 만족해야 한다. Each additional segment of the
가상 어드레스 바(1402)의 세그먼트는 일반적으로 가장 포괄적인 필터로부터 덜 포괄적인 필터로 순서화되어 있다. 예를 들어, 상술한 바와 같이, 세그먼트(1502) "파일"은 가장 폭넓으며 가장 포괄적이다. 세그먼트(1506) "워드 문서" 및 세그먼트(1508) "저자 A"는 덜 포괄적이다. 가상 어드레스 바(1402)는 좌에서 우측으로의 세그먼트 순서를 보이고 있으며, 설명을 위해서, 세그먼트(1504, 1506, 1508)가 루트 세그먼트(1502)에 후속되고 있다. 그러나, 본 발명의 범주에서 벗어나지 않고, 상측에서 하측의 구성과 같은 다른 배치도 가능하는 것이 이해될 것이다. 따라서, 좌측에서 우측으로의 배향은 설명적인 것으로, 본 발명을 제한하고자 하는 것이 아니다.The segments of the
상술한 바와 같이, 세그먼트(1502, 1504, 1506 및 1508) 등의 가상 어드레스 바(1042)의 세그먼트는 폴더, 드라이브 및 디렉토리 등의 컴퓨터 파일 시스템의 특정 위치에 반드시 대응할 필요는 없다. 따라서, 세그먼트(1504) "문서 라이브러리"는 다수의 서버, 드라이브 또는 폴더/디렉토리 상에 분산된 파일이나 컨텐츠를 참조할 수 있다. 그러나, 가상 어드레스 바(1402)의 특정 세그먼트는 컴퓨터 파일 시스템 계층을 갖는 특정 위치를 참조할 수 있다. 특정 파일 시스템 위치를 참조하는 가상 어드레스 세그먼트에 대해서 도 48A 및 도 48B를 참조하여 이하 더욱 설명한다.As discussed above, segments of virtual address bars 1042, such as
종래의 어드레스 바와 대조적으로, 가상 어드레스 바(1402)의 각 세그먼트는 동작 가능한 상호 작용성 사용자 인터페이스 요소를 나타낸다. 예를 들어, 가상 어드레스 바(1402)의 세그먼트는 사용자 선택에 응답하여, 커서가 특정 주기 동안 이 세그먼트 위에 위치되어 있는지가 모니터링되어, 드래깅 사용자 상호 작용에 의해 가상 어드레스 바로부터 제거될 수 있다. 따라서, 도 44A에 나타낸 바와 같이, 사용자는 세그먼트(1504) "문서 라이브러리"와 같은 가상 어드레스 바(1402)의 세그먼트 위에 커서(1510)를 위치시켜, 그 세그먼트를 선택 또는 클릭하여, 도 44B와 관련하여 기재된 바와 같이, 그 레벨까지 네비게이션하게, 즉 그 세그먼트에서 가상 어드레스를 잘라내게 한다.In contrast to conventional address bars, each segment of
도 44B는 가상 어드레스 바(1402)의 세그먼트(1504)를 선택한 결과를 나타낸다. 가상 어드레스 바(1402)의 세그먼트(1504)를 클릭하는 것으로, 사용자는 가상 어드레스의 그 레벨까지 네비게이션하려는 것을 지시하고 있는 것이 된다. 사실상, 사용자는 선택된 세그먼트에 후속되는 필터를 잘라내고 있는 것이다. 예를 들어, 세그먼트(1504) "문서 라이브러리"를 클릭하면 (도 44A), 최종 가상 어드레스(1404)는 세그먼트(1506) "워드 문서" 및 (1508) "저자 A"를 더 이상 포함하지 않게 된다 (도 44A). 부가하여, 사용자가 덜 제한적인 필터의 세트를 네비게이션하기 때문에, 가상 어드레스 바(1402)의 최종 가상 어드레스(1404)는 더욱 포괄적이 된다. 이것은 도 44A의 파일 뷰어(1400)에서 보이지 않는, 도 44B의 파일 뷰어(1400)에 문서(1512), 문서(1514), 및 문서(1516)를 포함하는 문서의 부가, 및 공간의 제한으로 인해 파일 뷰어(1400) (도 44B)에서는 표시될 수 없는 부가의 파일을 볼 수 있다는 것을 지시하는 스크롤 버튼(1518)의 존재로 알 수 있다. 44B shows the result of selecting a
덜 제한적인 세그먼트를 네비게이션하도록 가상 어드레스 바에서 세그먼트를 선택하는 것에 부가하여, 사용자는 가상 어드레스에서 현재 세그먼트의 피어 필터(peer filter)를 네비게이션하거나, 선택하길 원할 수 있다. 피어 필터는 가상 어드레스 바의 임의의 세그먼트로 선택되어 이에 적용되는 대체 필터이다. 예를 들어, 도 44A에 관련하여, 세그먼트(1506) "워드 문서"의 피어 필터는 "엑셀 문서", "저널스" 등의 필터를 포함할 수 있다. 특정 파일 시스템 위치, 하드웨어 장 치 또는 컴퓨터 서비스를 포함하는 다른 유형의 필터가 또한 가상 어드레스 바의 임의의 세그먼트에 적용될 수 있다. 피어 필터는 임의의 세그먼트의 현재 필터에 논리적으로 관련될 수도 있고 관련되지 않을 수도 있다. 가상 어드레스 바의 각 세그먼트는 피어 필터를 가질 수 있다. 가상 어드레스 바에서 세그먼트의 피어 필터를 선택하는 것은 측면으로 네비게이션하는 것을 말하는 것이다. 가상 어드레스 바에서 세그먼트의 피어 필터를 선택하는 것을 도 45A 내지 도 45D에 관련하여, 또한 도 49와 관련하여 후술한다.In addition to selecting a segment in the virtual address bar to navigate the less restrictive segment, the user may wish to navigate to or select a peer filter of the current segment at the virtual address. Peer filters are alternate filters that are selected and applied to any segment of the virtual address bar. For example, with respect to FIG. 44A, the peer filter of
도 45A 내지 도 45D는 가상 어드레스 바(1600)에서 가상 어드레스의 세그먼트와 관련된 피어 필터를 선택하는 것을 설명하는 도면이다. 도 45A에 나타낸 바와 같이, 가상 어드레스 바(1600)는 다수의 세그먼트인, 세그먼트(1602-1608)를 포함하는 가상 어드레스를 갖는다. 가상 어드레스 바(1600)에서 임의의 상호 작용성 세그먼트에 대해 피어 필터를 선택하기 위해서, 사용자는 이 상호 작용성 세그먼트에 대해 대체 선택, 또는 대체 조작을 행해야 한다. 대체 선택을 위한 한 방법은 임의의 세그먼트를 우측 클릭하는 것이다. 우측 클릭은 잘 알려져 있으며, 마우스의 이차 버튼이나 다른 입력 장치를 이용하는 것을 말하며, 여기에서 이차 버튼은 통상 마우스의 오른쪽에 있는 것이다. 다르게, 상호 작용성 세그먼트는 커서가 그 위에 위치되어 있을 때를 모니터링할 수 있기 때문에, 때로는 호버링 (hovering)으로 불리는, 상호 작용성 세그먼트 위에 커서를 위치시켜 미리 정해진 시간 동안 커서를 남겨두는 것으로 대체 선택을 행할 수 있다. 그러나, 본 설명은 피어 필터가 표시되게 하는 다른 대안을 설명하는 것으로, 이들은 단지 설명을 위한 것으로, 본 발명을 제한하고자 하는 것이 아니다. 당업자라면 대체 선택을 형성하기 위한 여러 다른 방법들이 있다는 것이 인식될 것이다.45A-45D illustrate selecting a peer filter associated with a segment of a virtual address in the
도 45A를 참조하여 세그먼트를 대체하여 선택하는 것을 설명하기 위해, 사용자는 미리 정해진 시간 동안 세그먼트(1604) "문서 라이브러리" 위에 커서(1610)를 먼저 위치시키고, 즉 세그먼트 위에 호버링시켜, 이 세그먼트를 선택하게 한다. 도 45B는 가상 어드레스 바(1600)에서 세그먼트(1604) "문서 라이브러리"를 대체 선택한 결과를 나타낸다. 도 45B에서 나타낸 바와 같이, 세그먼트(1604) "문서 라이브러리"를 대체하여 선택한 후에, 피어 필터 뷰(1612)가 선택된 세그먼트에 대응하는 피어 필터를 포함하여 표시되게 된다. 피어 필터 뷰(1612)에 제시되는 피어 필터는 오직 설명을 위한 것으로, 본 발명을 제한하고자 하는 것이 아님을 이해해야 한다.To illustrate alternatively selecting a segment with reference to FIG. 45A, the user first positions the
도 45C에 나타낸 바와 같이, 대체 피어 필터를 선택하기 위해서, 사용자는 피어 필터(1614)와 같이 피어 필터 뷰(1612)에 제시된 필터 중 하나 위에 커서(1610)를 위치시켜, 피어 필터를 선택한다. 도 45D에 나타낸 바와 같이, 대체 피어 필터(1614)를 선택한 후에, 이전에 선택된 세그먼트(1604) (도 45A)는 선택된 대체 피어 필터(1614)를 나타내는 새로운 세그먼트(1616)로 교체된다. 부가하여, 도 45A의 가상 어드레스 바(1600)에서 대체하여 선택된 세그먼트(1604)에 이어지는 세그먼트, 특히 세그먼트(1606) "저널" 및 (1608) "2002년도의 모든 문서"가 도 45D의 가상 어드레스 바(1600)에서는 제거된다. 도시하지는 않았지만, 세그먼트(1604) "문서 라이브러리", 세그먼트(1606) "저널", 세그먼트(1608) "2002 년도의 모든 문서"에 따라 이전에 선택된 파일이나 컨텐츠는 대응하는 파일 뷰어에 더 이상 표시되지 않게 되고, 오직 세그먼트(1602) "파일" 및 세그먼트(1616) "그림 라이브러리"에 따라 선택된 파일이나 컨텐츠만이 표시되게 된다. As shown in FIG. 45C, to select an alternate peer filter, the user selects a peer filter by placing the
기존의 세그먼트의 말단에서 여러 사용자 상호 작용을 통해 가상 어드레스 바의 가상 어드레스에 세그먼트가 추가될 수 있다. 가상 어드레스 바의 가상 어드레스에 필터를 추가하기 위해서, 사용자는 창에서 발견된 특정 필터와 관련되는 동작 가능한 제어 또는 가상 어드레스 바를 갖는 파일 뷰어를 조작할 수 있다. 예를 들어, 도 43의 파일 뷰어(1400)를 참조하여, 사용자는 동작 가능한 제어(1412) "2003"를 클릭하여 대응하는 필터를 가상 어드레스 바(1402)의 가상 어드레스(1404)에 추가할 수 있다. 다르게는 (도시 생략), 사용자는 필터의 이름을 타이핑하여 가상 어드레스의 말단에서 공지의 필터에 수동으로 기입할 수 있다. 필터를 가상 어드레스에 추가하는 여러 다른 방법들이 있는데, 이들 모두는 본 발명의 범주 내에 들어가는 것으로 한다. 따라서, 상기 예들은 설명을 위한 것으로, 본 발명을 제한하고자 하는 것이 아님을 이해해야 한다.Segments can be added to virtual addresses in the virtual address bar through multiple user interactions at the end of existing segments. To add a filter to the virtual address of the virtual address bar, the user can manipulate a file viewer with an operable control or virtual address bar associated with the particular filter found in the window. For example, referring to file
필터가 가상 어드레스 바의 가상 어드레스에 추가될 때, 새로 추가된 필터는 가상 어드레스의 일부로 현재 존재하는 어느 필터와도 충돌하지 않는 것을 확실히 하기 위한 프로세스가 행해진다. 새로 추가된 필터가 현재의 필터와 충돌하면, 현재의 필터는 제거된다. 새로 추가된 필터가 현재의 필터의 폭과 다른 경우, 즉 현재의 필터보다 다소 넓은 경우, 새로 추가된 필터는 가상 어드레스의 현재의 필터와 충돌하게 된다. 부가하여, 새로 추가된 필터가 현재의 필터와 상호 배타적인 경우 새로 추가된 필터는 현재의 필터와 충돌하게 된다. 그러나, 새로 추가된 필터가 현재의 필터와 등가인 경우는 효과가 없기 때문에 추가되지 않는다. 상기한 충돌의 설명은 단지 설명을 위한 것으로, 본 발명을 제한하고 하는 것이 아님을 이해해야 한다. 당업자라면 본 발명의 영역 내에 들어가는 것이 가능한 그 외 필터 간의 충돌이 있을 수 있다는 것이 이해될 것이다.When a filter is added to a virtual address in the virtual address bar, a process is performed to ensure that the newly added filter does not conflict with any filter currently present as part of the virtual address. If a newly added filter conflicts with the current filter, the current filter is removed. If the newly added filter is different from the width of the current filter, that is, slightly wider than the current filter, the newly added filter will collide with the current filter of the virtual address. In addition, if the newly added filter is mutually exclusive with the current filter, the newly added filter will collide with the current filter. However, if the newly added filter is equivalent to the current filter, it is not added because it is ineffective. It is to be understood that the foregoing description of the conflict is merely illustrative and is not intended to limit the invention. Those skilled in the art will appreciate that there may be conflicts between other filters that are possible to fall within the scope of the present invention.
도 46A 내지 도 46D는 가상 어드레스 바(1700)의 가상 어드레스(1702)에 필터를 추가하여 현재의 필터와의 충돌을 제거하는 것을 설명하는 도면이다. 도 46A는 가상 어드레스 바(1700)에 표시된 예시의 가상 어드레스(1702)를 설명한다. 도 46B에 나타낸 바와 같이, 세그먼트(1706) "2002"에 의해 나타낸 새로운 필터가 가상 어드레스(1702)에 추가된다. 상술된 바와 같이, 새로운 필터는 도 46B의 가상 어드레스 바(1700)의 세그먼트의 말단에 세그먼트(1706) "2002"를 위치시킨 것으로 나타낸 바와 같이, 가상 어드레스의 말단에 추가되게 된다. 그 후, 세그먼트(1706) "2002"를 추가하기 위해 행해진 프로세스는 추가된 필터가 가상 어드레스(1702)의 현재 필터와 충돌하지 않는다고 결정한다. 따라서, 현재의 필터는 가상 어드레스(1702)로부터 제거되지 않는다.46A to 46D illustrate the removal of a collision with the current filter by adding a filter to the
도 46C에서 나타낸 바와 같이, 세그먼트(1708) "저자 A"로 나타낸 다른 필터가 가상 어드레스(1702)에 추가된다. 이 새로운 필터를 추가하기 위해 행해진 프로세스는 새로운 필터 "저자 A"가 세그먼트(1704) "저자 A-F"로 나타낸 필터와 충돌한다고 결정하게 되는데 이는 새로운 필터 "저자 A"가 현재의 필터보다 더 좁기 때문이다. 따라서, 세그먼트(1704) "저자 A-F"는 가상 어드레스 바(1700)로부터 제거되고, 세그먼트(1708) "저자 A"가 가상 어드레스 바의 세그먼트의 말단에 추가되게 된다. As shown in FIG. 46C, another filter, represented by
도 46D는 도 46C의 가상 어드레스 바(1700)에 세그먼트(1710) "2003"을 추가한 결과를 설명한다. 가상 어드레스(1702)의 필터는 누적이 아니라 한정적이다. 각 필터는 더욱 선택된 컨텐츠를 한정한다. 따라서, 상호 배타적인 필터는 가상 어드레스(1702)가 어느 파일이나 컨텐츠도 선택하지 못하게 하고, 이에 따라 충돌이 형성되게 된다. 도 46D에 나타낸 바와 같이, 세그먼트(1706) "2002" (도 46C)는 새로 추가된 세그먼트(1710) "2003"와 상호 배타적인 것으로 인한 충돌 때문에 가상 어드레스 바(1700)로부터 제거되게 된다. FIG. 46D illustrates the result of adding
가상 어드레스 바(1800) (도 47A) 등의 가상 어드레스 바가 가상 어드레스 바의 사이즈 제한으로 인해 가상 어드레스를 완전히 표시할 수 없을 때, 가상 어드레스의 일부만이 가상 어드레스 바의 크기에 따라 표시되게 된다. 그러나, 가상 어드레스의 비표시 부분은 여전히 사용자에 의해 억세스될 수 있다. 특히, 가상 어드레스는 가상 어드레스 바 내의 가상 경로를 스크롤하기 위해 동작 가능한 가시 지시자(visual indicator)를 표시한다. 도 47A 및 도 47B는 가상 어드레스가 가상 어드레스 바의 표시 용량을 초과하는 경우 가상 어드레스를 표시하는 예시의 가상 어드레스 바(1800)를 설명한다. 도 47A 및 도 47B에 나타낸 바와 같이, 스크롤 아이콘(1802 및 1804)은 가상 어드레스 바(1800)가 가상 어드레스의 이전의 비표시 부분을 표시하기 위해 스크롤할 수 있는 방향을 나타낸다. 그러나, 이 도면이 스크롤 아이콘의 이용을 설명하고 있지만, 이는 단지 설명을 위한 것으로, 본 발명을 제한하고자 하는 것이 아니다. 당업자라면 가상 어드레스 바의 가상 어드레스를 스크롤할 수 있는 다른 여러 방법들이 있다는 것을 인식할 수 있으며, 이들 모두는 본 발명의 범주 내에 속하는 것으로 고려된다.When a virtual address bar such as the virtual address bar 1800 (FIG. 47A) cannot fully display the virtual address due to the size limitation of the virtual address bar, only a part of the virtual address is displayed according to the size of the virtual address bar. However, the non-display portion of the virtual address can still be accessed by the user. In particular, the virtual address displays a visual indicator operable to scroll the virtual path in the virtual address bar. 47A and 47B illustrate an example
도 48A는 파일 시스템에서 가상 및 실제 위치 둘 모두를 참조하는 세그먼트를 갖는 가상 어드레스 바(1900)를 설명하는 블럭도이다. 상술한 바와 같이, 가상 어드레스 바(1900)의 가상 어드레스는 컴퓨터 파일 시스템 계층 내의 특정 위치를 참조하는 세그먼트를 포함하며, 또한 컴퓨터 파일 시스템 내의 가상, 또는 논리적 위치를 참조하는 세그먼트를 포함한다. 가상 세그먼트로 참조되는 파일이나 컨텐츠는 많은 물리적 위치 사이에 분산될 수 있다. 가상 어드레스 바(1900)는 물리적 위치를 참조하는 세그먼트와 가상 위치를 참조하는 세그먼트를 포함한다. 예를 들어, 가상 어드레스 바(1900)는 특정 드라이브 "C"에서, 컴퓨터 파일 시스템의 특정 영역에 포함된 파일이나 컨텐츠를 참조하는 세그먼트(1902) "로컬 디스크(C:)"를 포함한다. 다르게는, 세그먼트(1904) "케이스 파일" 자체는 케이스 파일과 관련되는 컴퓨터 파일 시스템 계층의 다수의 폴더에 저장된 파일이나 컨텐츠를 말한다. 그러나, 세그먼트(1902) "로컬 디스크(:C)"와 조합하여, 세그먼트(1904) "케이스 파일"은 로컬 드라이브 "C"에서 발견되는 케이스 파일만을 참조한다. 부가하여, 세그먼트(1906) "'팩스' 포함"은 로컬 디스크 :C의 파일을 더욱 필터링하여 이들이 워드 "팩스"를 포함하는지에 따른 케이스 파일과 관련되게 된다.48A is a block diagram illustrating a
도 48B에 나타낸 바와 같이, 가상 어드레스 바(1900)는 종래의 어드레스 바로서 기능하도록 구성될 수 있다. 예를 들어, 도 48A를 참조하여, 커서(1908)를 가상 어드레스 바(1900)의 빈 공간에 두고 거기를 클릭하게 되면, 가상 어드레스 바(1900)는 가상 어드레스를 나타내는 세그먼트를 표시하는 것에서, 도 48B에 나타낸 바와 같이, 종래의 어드레스(1910)를 표시하는 종래의 어드레스 바로서 기능하는 것으로 전환되게 된다. 도 48B의 가상 어드레스 바(1900)의 종래의 어드레스(1910)는 도 48A의 가상 어드레스 바(1900)에 표시된 가상 어드레스와 근사하다. 그러나, 컴퓨터 파일 시스템의 물리적 위치에 대응하지 않는 도 48A의 가상 어드레스 바(1900)의 필터는 표시될 수 없어 종래의 어드레스(1910)에서 제거되게 된다. 특히, 세그먼트(1904) "케이스 파일" 및 세그먼트(1906) "'팩스'포함"은 종래의 어드레스(1910)의 일부가 아니다 (도 48B).As shown in FIG. 48B, the
종래의 어드레스 바로 작용하는 가상 어드레스 바(1900)를 재구성하기 위해서, 가상 어드레스 바로서 통상 기능하도록, 사용자는 바의 빈 영역을 클릭하는 것 이외의 방법으로 지시해야 한다. 종래의 어드레스 바로서 기능하도록 구성할 때, 가상 어드레스 바는 어드레스 편집의 목적을 위해 사용자가 빈 영역을 클릭하게 해야 한다. 종래의 어드레스 바의 빈 영역을 클릭하게 되면 편집의 목적을 위해 어드레스/경로의 말단에 편집용 커서가 위치되게 된다. 따라서, 상술한 바와 같이, 가상 어드레스를 통상의 방법으로 다시 기능하게 재구성하기 위해서, 사용자는 Esc 또는 Tab 키 등의 미리 정해진 키나 키 시퀀스를 누르거나, 창 또는 뷰의 다른 영역을 클릭하여 창 또는 뷰의 다른 영역 상에 포커스를 위치시켜야 한다. 당업자라면 다른 사용자의 동작으로 가상 어드레스 바(1900)를 상술한 바와 같은 통상의 모드에서 다시 기능하도록 재구성하게 할 수 있으며, 이들 모두는 본 발명의 범주 내 에 들어가는 것이 가능하다는 것이 이해될 것이다. In order to reconstruct the
도 49는 가상 어드레스 바의 식별된 세그먼트에 대한 피어 필터를 선택하는 피어 필터 선택 루틴(2000)을 설명하는 플로우차트이다. 블럭(2002)에서 시작하여, 루틴(2000)은 피어 필터 선택 활성화를 검출한다. 피어 선택 프로세스를 활성화하는 것은 도 45A 내지 도 45D와 관련하여 상기에 기재되었다. 블럭(2004)에서, 피어 필터 선택이 요청된 세그먼트가 식별된다. 블럭(2006)에서, 식별된 세그먼트의 피어 필터는 미리 정해진 피어 필터의 목록으로부터 결정된다. 블럭(2008)에서, 피어 필터가 사용자에게 표시된다. 블럭(2010)에서, 표시된 피어 필터 중에서 사용자의 피어 필터 선택이 취득된다. 블럭(2012)에서, 가상 어드레스는 가상 어드레스 바로부터 식별된 세그먼트, 및 이 식별된 세그먼트에 이어지는 부가의 세그먼트를 제거하여 잘라내어진다. 블럭(2014)에서, 선택된 피어 필터를 표시하는 세그먼트가 가상 어드레스 바의 나머지 세그먼트에 첨부된다. 그 후, 루틴(2000)은 종료된다. 49 is a flowchart illustrating a peer
도 50은 필터를 가상 어드레스 바의 가상 어드레스에 부가하기 위한 예시의 첨가 필터 루틴(2100)을 설명하는 플로우차트이다. 블럭(2102)에서 시작하여, 예시의 루틴(2100)은 가상 어드레스에 부가되는 필터를 취득한다. 예를 들어, 도 43에 관련하여 상술한 바와 같이, 필터는 가상 어드레스 바에 대해 외부적인 사용자의 동작에 따라 가상 어드레스에 첨가되고, 다르게는 미리 지정된 필터의 이름으로 타이핑하여 가상 어드레스에 직접 부가될 수 있다.50 is a flowchart illustrating an example
블럭(2104)에서, 새로운 필터가 이미 가상 어드레스에 있는 현재의 필터와 충돌하는지에 대한 판단이 행해진다. 도 46A 내지 도 46D와 관련하여 이미 설명한 바와 같이, 새로운 필터는 현재의 필터의 영역을 상당히 좁히거나 넓히는 것으로 현재의 필터와 충돌할 수 있다. 다르게, 새로운 필터가 현재의 필터에 대해 상호 배타적이기 때문에 새로운 필터는 현재의 필터와 충돌할 수 있다. 판단 블럭(2104)에서, 새로운 필터가 현재의 필터와 충돌하면, 블럭(2106)에서 현재의 필터는 가상 어드레스에서 제거되게 된다. 다르게는, 블럭(2104)에서, 새로운 필터가 현재의 필터와 충돌하지 않으면, 또는 블럭(2106)에서 현재의 충돌 필터를 제거한 후에, 블럭(2108)에서 새로운 필터가 가상 어드레스의 말단에 추가되게 된다. 그 후, 예시의 루틴(2100)은 종료한다.At
도 51 내지 도 57은 셸 브라우저 내의 개선된 사용자의 경험을 제공하는 본 발명의 다른 태양에 따른 시스템 및 방법에 관한 도면이다. 특히, 사용자가 항목을 그 항목과 관련되는 메타데이터에 기초하여 더욱 용이하게 식별할 수 있는 시스템 및 방법을 제공한다.51-57 are diagrams of systems and methods according to another aspect of the present invention for providing an improved user experience in a shell browser. In particular, it provides a system and method that allows a user to more easily identify an item based on metadata associated with the item.
도 51A로 돌아가면, 창(2200)은 셸 브라우저의 그래픽 사용자 인터페이스에 대한 스크린 크기의 디스플레이 영역을 나타낸다. 창(2200)은 미리보기 창 영역(2202) 및 뷰 영역(2204)을 포함한다. 미리보기 창(2202)은 미리보기 제어(2206), 사용자 인터페이스 (UI) 또는 편집 제어(2208), 및 작업 제어(2210)를 포함한다. 통상, 미리보기 제어(2206)는 미리보기되고 있는 항목 (예를 들어, 선택된 파일)의 이미지나 다른 가시 디스플레이를 사용자에게 제공하게 된다. 미리보기 제어(2206)는 또한 사용자가 마우스 버튼을 클릭하여 포커스를 한 항목에서 다음 항목으로 시프트시키는 반복자 버튼 등의 제어를 사용자에게 제시할 수 있다. 하나 이상의 항목에 대응하는 메타데이터 및/또는 항목 컨테이너에 대응하는 메타데이터가 창(2200) 내의 각종 위치에 표시될 수 있다. 예를 들어, 편집 제어 및 메타데이터가 편집 제어 영역(2208) 내에 함께 위치되어 있어 편집 제어 영역이 미리보기된 항목의 주요 특성의 디스플레이를 포함할 뿐만 아니라 메타데이터에 편집을 행하는 옵션을 사용자에게 제시할 수 있게 된다. 작업 제어(2210)는 네임 스페이스 및/또는 선택에 관련된 작업을 포함한다.Returning to FIG. 51A,
본 발명의 목적을 위해, 용어 "메타데이터" 및 "사용자 수정 가능한 메타데이터"는 셸 항목 이름을 배제한다. 용어 "셀 항목 이름"은 셸 브라우저 내의 항목을 분류하여 표시할 목적으로 이용되는 특성을 말한다. 상술한 바와 같이, 본 발명의 일 태양은 사용자가 셸 브라우저 내의 메타데이터를 편집하는 능력이다.For the purposes of the present invention, the terms "metadata" and "user modifiable metadata" exclude shell item names. The term "cell item name" refers to a property used for the purpose of classifying and displaying items in a shell browser. As noted above, one aspect of the present invention is the ability of a user to edit metadata in a shell browser.
당업자라면 본 발명에서 창(2200) 내의 선택적 특성의 존재가 가능하다는 것이 이해될 것이다. 예를 들어, 미리보기 제어(2206) 및 작업 제어(2210)는 본 발명의 목적에 반드시 필수적인 특성은 아니다. 더구나, 반복자 버튼이나 보임/숨김 버튼을 포함하여 사용자가 미리보기 창을 열고/닫을 수 있게 하는 툴바 등과 같이, 도 51A에 나타나 있지 않은 다른 비필수의 특성이 또한 본 발명의 영역 내에 있다. 그럼에도, 이들 및 그 외 선택적 특성은 셸 브라우저에서 특정 항목의 위치를 용이하게 알아내도록 사용자를 도울 수 있다.Those skilled in the art will appreciate that the presence of optional features in
뷰 영역(2204)은 시스템 파일이나 폴더와 같은 하나 이상의 항목(2212)의 리스트뷰(listview)를 제공한다. 용어 "리스트뷰"는 컨테이너 내의 항목의 열거나 목록을 말한다. 용어 "항목" 및 "셀 항목"은 여기에서 상호 교환적으로 파일, 폴더 및 그 외 이런 컨테이너, 및 그 외 리스트뷰에서 표시될 수 있는 비-파일 오브젝트를 말하는 것으로 이용되고 있다. 비-파일 오브젝트의 예는 이에만 제한하는 것은 아니지만, 연락처, 즐겨찾기, 이메일 메시지를 포함한다. 용어 "셸 브라우저" 및 "파일 시스템 브라우저"는 사용자가 파일 및 그 외 비-파일 항목을 포함하여 여러 네임 스페이스를 네비게이션하도록 하는 브라우저를 말한다.
당업자라면 본 발명이 창(2200)의 많은 가능한 디자인 및 레이아웃이 가능하다는 것이 이해될 것이다. 예를 들어, 미리보기 창(2202)은 도 51A에서 뷰 영역(2204) 위에 나타나 있다. 그러나, 미리보기 창(2202) 및 뷰 영역(2204)을 서로 측면에 위치시키는 등의 다른 레이아웃도 분명히 본 발명의 범주 내에 있는 것이다. 편집 제어(2208)의 위치는 또한 표시된 메타데이터의 위치와 독립적이고 또 그 외 다른 제어의 위치와도 독립적이다. 또한 상세 사항, 슬라이드쇼, 필름 스트립 (filmstrip), 섬네일, 타일, 아이콘 등과 같이 리스트뷰 영역(2204)에 도시되는 항목에 대해 많은 가능한 뷰 유형이 있다.Those skilled in the art will appreciate that the present invention allows for many possible designs and layouts of the
도 51B는 뷰 영역(2204)을 항목(2212)이 상세 사항 모드로 표시되는 뷰 영역(2214)으로 교체한 것을 제외하고는 도 51A와 유사하다. 상세 사항 모드에서 표시되는 셸 항목에 통상적인 바와 같이, 항목(2212)은 뷰 영역(2214)의 좌측에서 열에 배열되고, 하나 이상의 열 헤딩(column heading, 2216)은 동일한 행에 위치된 대응하는 항목에 관한 메타데이터(2218)를 포함하는 열의 세트의 상부 행을 형성한다. 중요하게, 본 발명은 창(2200) 내 어디에서나 하나 이상의 편집 제어(2208)의 예증을 통해 사용자가 메타데이터 값을 다른 값으로 명백하게 변경하는 능력을 가능하게 한다. 예를 들어, 편집 제어를 미리보기 창(2202) 및/또는 뷰 영역(2214) 내에 제공할 수 있다. 예를 들어, 초기에 사용자에게 보이지 않는 편집 제어가 뷰 영역(2214) 내에 제공될 수 있다. 이런 제어는 예를 들어 사용자가 메타데이터(2218) 위에 호버링한 다음에 이를 클릭하여 편집 모드에 들어갈 때 예증될 수 있다.FIG. 51B is similar to FIG. 51A except that
다음에 도 52를 참조하여, 셸 브라우저에서 환영 창(2300)에 대한 설명이 제공된다. 환영 창은 선택 창과 대조적으로 네임 스페이스나 컨테이너를 표시하기 때문에 "널(null) 선택"으로 언급된다. 사용자가 여전히 선택을 행하지 않으면, 미리보기 창(2302)은 메타데이터(2304) 및 폴더나 셸 라이브러리에 관한 주요 작업을 표시한다. 원한다면, 작업은 주요 작업(2306) 및 그 외 관련 작업(2308)으로 분리될 수 있다. 환영 창(2300)은 또한 다수의 파일이나 그 외 항목(2312)을 볼 수 있는 뷰 영역(2310)을 포함한다. 환영 창 메타데이터(2304)는 컨테이너 (예를 들어, 내 그림)의 특성 등의 정보를 포함하고, 이 경우 메타데이터 표시는 정적일 수 있다. 다르게는, 환영 창 메타데이터(2304)는 컨테이너 내의 각 항목으로부터의 메타데이터의 샘플링 등의 정보를 포함하고, 이 경우, 메타데이터 표시는 자주 변할 수 있다. 예를 들어, 메타데이터 표시는 매 30초마다 한 항목에서 다음 항목으로 순환함으로써 한번에 한 항목의 특성으로 제한될 수 있다.Referring next to FIG. 52, a description of the
도 53은 셸 브라우저에서의 선택 창(2400)의 개략도이다. 환영 창과 대조하여, 선택 창은 사용자에 의한 선택을 나타낸다. 사용자가 컨테이너 또는 폴더를 선택하면, 선택 창은 그 컨테이너 또는 폴더의 환영 창과 동일할 필요는 없다. 도 53에서, 선택 창(2400)은 미리보기 제어(2404), 메타데이터 디스플레이(2406) 및 작업 디스플레이(2408)를 포함하는 미리보기 창(2402)을 포함한다. 환영 창(2300) (도 52)과 유사하게, 선택 창(2400)은 또한 다수의 파일이나 그 외 항목(2412)을 볼 수 있는 뷰 영역(2410)을 포함한다. 그러나, 도 53에서, 사용자는 파일 중 하나를 선택한다. 따라서, 미리보기 제어(2404)는 선택 파일의 미리보기 이미지를 표시하고, 메타데이터 디스플레이(2406)는 선택된 파일의 특성을 나타내고, 작업 디스플레이(2408)는 선택된 파일에 대해 동작하기 위한 관련 작업의 메뉴를 제공한다.53 is a schematic diagram of a
도 54는 본 발명의 실시예에 따른 셸 브라우저의 메타데이터를 사용자가 수정할 수 있도록 하기 위해 컨텍스트 메뉴(2500)를 포함하는 것을 제외하고는 도 53의 선택 창과 동일한 개략도이다. 도 54의 컨텍스트 메뉴(2500)는 선택된 메타데이터를 변경하기 위한 몇 옵션을 사용자에게 제시한다. 메뉴(2500)에 나타낸 일반 텍스트는 물론 표시된 메타데이터를 편집하기 위해 사용자에게 제시될 수 있는 옵션 유형의 일 예일 뿐이다. 컨텍스트 메뉴는 사용자의 경험을 개선하기 위해 환영 창을 포함하여 어느 창에나 제공될 수 있다. 당업자라면, 임의의 개수의 각종 컨텍스트 메뉴가 본 발명에 의해 지원될 수 있다는 것이 이해될 것이다. 본 발명을 위해, 셸 브라우저 내의 표시된 메타데이터의 사용자 수정을 가능하게 하기 위한 일 수단으로 편집 가능한 메타데이터 컨텍스트 메뉴(2500) 등의 컨텍스트 메뉴를 제공하는 것이 있다. 사용자는 예를 들어, 미리보기 창에서 대응하는 텍스트나 오 브젝트를 클릭하는 것으로, 컨텍스트 메뉴를 불러낼 수 있다.FIG. 54 is a schematic diagram similar to the selection window of FIG. 53 except for including a
당업자라면 본 발명이 셸 브라우저 내에서 표시된 메타데이터의 사용자의 수정을 가능하게 하는 컨텍스트 메뉴 이외의 수단이 가능하다는 것이 이해될 것이다. 이의 다른 수단으로는 사용자가 편집 모드에 들어가기 위해 메타데이터를 클릭하는 것이 있다. 반대로, 사용자는 미리보기 창의 관련 텍스트나 오브젝트 위에 호버링하여 편집 모드에 들어갈 수 있다. 여러 다른 수단이 본 발명의 영역 내에서 이용될 수 있다.Those skilled in the art will appreciate that the present invention is capable of means other than a context menu that enables the user to modify the displayed metadata within the shell browser. Another means of this is for the user to click on the metadata to enter edit mode. Conversely, the user can hover over the relevant text or object in the preview window to enter edit mode. Various other means can be used within the scope of the present invention.
도 55는 본 발명의 일 실시예에 따라서 사용자가 셸 브라우저 내의 환영 창에 표시된 메타데이터를 수정할 수 있게 하는 방법(2600)을 설명하는 플로우차트이다. 이 방법(2600)은 2602에서 환영 창 및 환영 창과 관련된 메타데이터를 표시하는 단계를 포함한다. 다음에, 2604에서, 이 방법은 사용자의 표시된 메타데이터의 수정을 위한 제어를 제공한다. 사용자가 2606에서 표시된 메타데이터를 수정하는 제어를 조작하면, 다음에 2608에서 수정된 메타데이터를 환영 창과 관련시켜서 환영 창이 표시된 다음에 수정된 메타데이터가 표시되게 한다.55 is a flowchart illustrating a
도 56은 사용자가 본 발명의 일 실시예에 따라서 셸 브라우저 내의 선택 창에 표시된 메타데이터를 수정할 수 있게 하는 방법(2700)을 설명하는 플로우차트이다. 이 방법(2700)은 2702에서, 먼저 환영 창의 항목이나 선택된 컨테이너의 항목과 같은 다수의 항목을 표시한다. 사용자가 2704에서 항목 중 하나 이상을 선택하면, 이 방법은 2706에서 선택된 항목과 관련된 메타데이터를 표시한다. 2708에서, 이 방법은 사용자의 표시된 메타데이터의 수정에 대한 제어를 제공한다. 사용자가 2710에서 표시된 메타데이터를 수정하는 제어를 조작하면, 이 방법은 2712에서 수정된 메타데이터를 선택된 항목과 관련시켜서 선택된 항목이 표시된 다음에 수정된 메타데이터가 표시되게 한다.56 is a flowchart illustrating a
2704에서 사용자가 다수의 항목을 선택하는 경우, 표시된 메타데이터는 선택된 항목의 상호 교차 특성, 특성의 조합 또는 선택된 항목과 관련되는 새로운 특성을 포함할 수 있다. 다르게는, 표시된 메타데이터는 선택된 항목 각각으로부터의 메타데이터의 순환 샘플을 포함할 수 있다 (예를 들어, 매 30초마다 하나의 선택된 항목의 메타데이터에서 다음 선택된 항목의 메타데이터까지 순환). 모든 항목의 선택으로 결과되는 메타데이터의 표시는 널 선택으로 결과되는 메타데이터의 표시와 동일한 것이 가능하다.If the user selects a plurality of items at 2704, the displayed metadata may include cross-interesting properties of the selected items, combinations of properties or new properties associated with the selected item. Alternatively, the displayed metadata may include a recursive sample of metadata from each of the selected items (eg, recursing from metadata of one selected item to metadata of the next selected item every 30 seconds). The display of metadata resulting from the selection of all items can be the same as the display of metadata resulting from the null selection.
도 57은 셸 브라우저에 표시된 항목과 관련된 사용자 수정 가능한 메타데이터를 포함하는 데이터 구조(2800)의 블럭도이다. 데이터 구조(2800)는 항목의 이름을 나타내는 타이틀 필드(2802)를 포함한다. 비-파일 항목인 경우, 타이틀 필드(2802)는 어느 특성이 리스트뷰에서 그 항목을 알파벳화하는 데에 사용되든지간에 그 특성의 이름을 포함할 수 있다. 데이터 구조(2800)는 표시된 항목과 관련되는 하나 이상의 특성을 포함하는 사용자 편집 가능한 특성 필드(2804)를 포함하며, 여기에서 사용자 편집 가능한 특성은 표시된 항목을 갖는 셸 브라우저에 표시되게 된다. 데이터 구조(2800)는 표시된 항목과 관련되며 셸 브라우저에서 표시할 만한 리드 온리 특성을 포함하는 리드-온리 특성 필드(2806)를 선택적으로 포함할 수 있다. 셸 브라우저에서 메타데이터 표시에 사이즈의 제한이 있는 경우, 필드(2804 및 2806)의 특성의 개수는 제한될 수 있다. 따라서, 데이터 구조(2800)는 선택적으로 모든 특성 필드(2808)를 포함할 수 있으며, 이는 표시된 항목과 관련되는 특성 또는 메타데이터 모두를 포함하는 위치 (예를 들어, 특성 페이지)에의 링크나 포인터를 포함한다. 물론, 모든 특성 필드(2808)는 필드(2804 및 2806)가 표시된 항목과 관련되는 모든 특성을 포함하는 경우에 반드시 필요한 것은 아니다. 데이터 구조(2800)는 파일 시스템이나 셸에서와 같이 하나 이상의 컴퓨터 판독 가능 매체 상에 저장되어, 셸 브라우저 내에 풍부한 저장 뷰를 제공하므로, 개선된 사용자 경험을 제공할 수 있다.57 is a block diagram of a
본 발명은 종래의 셸 브라우저에서는 불가능하였던 다수의 시나리오가 가능하다. 제1 예로서, 학생이 미리보기 창을 이용하여 프로젝트를 관리할 수 있다. 그가 작업중인 프로젝트의 일부로 새 문서를 취득하면, 이들 문서를 그의 문서 라이브러리에서 선택하여 문서 저자의 이름과 프로젝트의 이름을 편집 제어를 이용하여 키워드 필드에 입력할 수 있다. 이제 새로운 문서가 그 학생의 즐겨찾기 뷰에 나타나게 된다: "키워드별로 그룹화되고 저자별로 목록화된 문서". 본 발명에 의해 가능한 새로운 시나리오의 제2 예는 곧 공개될 광고 캠페인의 자료를 찾는 고용인과 관련된 것이다. 그가 셸 브라우저를 이용하여 그의 고용주의 사진 자료 컬렉션을 브라우즈하면서, 그는 두개의 사진을 선택하고, 미리보기 창으로부터 새로운 키워드 "서머 2003 캠페인"을 추가한다. 다수의 선택을 위해 메타데이터를 갱신한 후에, 고용인은 키워드별로 피봇하여 함께 그룹화된 "서머 2003 캠페인" 파일 모두를 볼 수가 있다. 본 발명을 이용하는 많은 다른 시나리오가 당업자라면 명백하게 된다.The present invention is capable of many scenarios that were not possible with conventional shell browsers. As a first example, a student may manage a project using the preview pane. When he acquires new documents as part of the project he is working on, he can select these documents from his document library and enter the name of the document author and the name of the project in the keyword field using the edit controls. The new document now appears in the student's Favorites view: "Documents grouped by keyword and listed by author." A second example of a new scenario possible by the present invention relates to an employee looking for material for an upcoming advertising campaign. As he browses his employer's photo collection using the Shell browser, he selects two photos and adds a new keyword "
도 58 내지 도 66은 복수의 항목 유형을 표시하는 복수의 항목을 표시하도록 구성된 셸 브라우저에서 오브젝트 프리뷰어의 기능을 확장하는 시스템 및 방법에 관한 도면이다. 이하 더 상세히 설명하는 바와 같이, 디폴트 프리뷰어 및 확장성 메커니즘을 포함하는 셸 브라우저가 제공된다. 디폴트 프리뷰어는 다수의 항목 유형에 대해 표준 레벨의 기능을 제공한다. 확장성 메커니즘은 하나 이상의 항목 유형에 대한 디폴트 프리뷰어에 의해 제공되는 표준 레벨 이상의 기능이 가능하다.58-66 are diagrams of a system and method for extending the functionality of an object previewer in a shell browser configured to display a plurality of items representing a plurality of item types. As described in more detail below, a shell browser is provided that includes a default previewer and an extensibility mechanism. The default previewer provides standard level of functionality for many item types. The extensibility mechanism enables functionality beyond the standard level provided by the default previewer for one or more item types.
도 58은 기타 비-그림 파일 및 폴더를 보는 데에 이용되는 셸 브라우저 환경 내의 폴더에 저장된 그림을 브라우즈하기 위한 그래픽 사용자 인터페이스의 개략도이다. 상술한 바와 같이, PC와 같은 컴퓨팅 환경에 저장된 항목을 용이하게 식별할 필요성이 급격히 커지고 있다. 디지털 그림과 관련하여, 사용자는 종래에는 PC의 특정 파일을 보기 위해서 제3자 소프트웨어 프로그램을 가져와야 한다. 도 58은 사용자가 그래픽 운영 환경 내에서 임의의 파일과 관련된 이미지를 더욱 용이하게 보고 식별할 수 있게 하는 종래의 필름 스트립 뷰를 설명한다. 이 필름 스트립 뷰의 목적은 사용자가 폴더 내의 하나 이상의 그림 파일의 큰 이미지를 미리보기할 수 있게 하는 빠른 반복적인 프로세스를 제공함으로써 그림의 폴더를 브라우징할 때 다른 소프트웨어 프로그램의 필요성을 없애기 위한 것이다.58 is a schematic diagram of a graphical user interface for browsing pictures stored in folders in a shell browser environment used to view other non-picture files and folders. As described above, the need to easily identify items stored in a computing environment such as a PC is rapidly increasing. With regard to digital pictures, the user has conventionally had to import a third party software program to view a particular file on the PC. 58 illustrates a conventional film strip view that allows a user to more easily view and identify images associated with any file within the graphical operating environment. The purpose of this film strip view is to eliminate the need for other software programs when browsing a folder of pictures by providing a fast iterative process that allows the user to preview a large image of one or more picture files in the folder.
도 58은 일련의 폴더 그림이 다른 비-그림 파일 및 폴더를 보기 위해 이용되는 환경 (즉, 셸 브라우저) 내에서 단일 행의 섬네일로 제시되고 있는, 폴더에 저장된 그림을 브라우징하기 위한 시스템에 관한 것이다. 이것은 사용자가 선택한 섬네일의 확장된 미리보기 이미지를 표시하기 때문에, 사용자가 섬네일 전체를 선택적으로 커서할 수 있게 한다. 도 58은 사용자의 스크린 상의 창의 표시도이다. 나타낸 바와 같이, 창(3200)은 헤더 영역, 작업 옵션 영역(3206), 미리보기 제어 영역(3202), 캡션 또는 코멘트 영역 및 필름 스트립 영역(3204)을 포함하는 몇 개의 영역으로 나누어진다. 작업 옵션 영역(3206)은 다른 시스템 선택뿐만 아니라, 파일 및 폴더의 관리에 관한 다양한 동작을 실행하기 위해 사용자에 의해 선택될 수 있는 작업의 목록을 포함한다. 이들 동작 중 몇몇은 필름 스트립 영역(3204) 및 미리보기 제어 영역(3202)의 그림에 특정적인 것이다. 미리보기 제어 영역(3202)은 사용자 선택 그림의 확장된 미리보기 이미지가 표시되는 공간이다. 이 공간은 또한 일련의 그림을 통해 반복하는 데 있어서 사용자를 도와주는 네비게이션 아이콘을 포함하고 있다. 미리보기 제어 영역 바로 아래에는 각종 텍스트 정보를 표시하는 데에 이용될 수 있는 캡션이나 코멘트 영역이 있다. 필름 스트립 영역(3204)은 임의의 폴더 내에 포함되는 한 행의 그림 파일 섬네일 이미지 P1, P2, P3, P4를 표시하는 공간을 제공한다. 부가하여, 필름 스트립 영역(3204)은 또한 사용자가 그림 파일의 폴더를 스크롤할 수 있도록 커서를 포함한다. 필름스트립 영역(3204)은 섬네일 이미지를 뒤섞인 방향으로 포함하여 표시할 수 있다. 예를 들어, 도 58에서 나타낸 바와 같이, P1, P2 및 P4는 풍경화인 반면 P3은 초상화이다.58 is directed to a system for browsing pictures stored in a folder, in which a series of folder pictures are presented as single row thumbnails within an environment (ie, a shell browser) used to view other non-picture files and folders. . This displays an expanded preview of the thumbnail selected by the user, allowing the user to selectively cursor over the entire thumbnail. 58 is a display diagram of a window on a user's screen. As shown, the
사용자는 섬네일 이미지 중 하나를 선택할 수 있으며, 이로 인해 사용자 섬네일 선택 이미지의 더 큰 미리보기 이미지가 미리보기 제어 영역 내에 표시되게 된다. 부가하여, 섬네일 이미지의 사용자 선택은 또한 사용자가 선택된 이미지와 관련하여 작업 옵션 영역(3206)에 목록화된 작업 중 어느 하나를 선택하여 실행할 수 있게 한다. 제1 제어 버튼은 한 방향으로 반복하여, 임의의 폴더 내의 섬네일 이미지 각각의 확장 이미지를 신속하게 연속적으로 미리보기할 수 있게 한다. 다시 말해, 사용자는 그림을 미리보기하기 위해서 각 모든 연속적 섬네일 이미지를 특정적으로 "클릭"할 필요가 없게 된다. 대신에 사용자는 폴더 전체를 반복하여 이동하기 위해서 제1 제어 버튼을 클릭하기만 하면 된다. 제2 제어 버튼은 반대 방향인 것만을 제외하고는 유사한 반복 기능을 실행한다. The user can select one of the thumbnail images, which causes a larger preview image of the user thumbnail selection image to be displayed within the preview control area. In addition, the user selection of the thumbnail image also allows the user to select and execute any of the jobs listed in the
도 59로 돌아가면, 창(3300)은 범용의 셸 브라우저의 그래픽 사용자 인터페이스에 대한 스크린 크기의 디스플레이 영역을 나타낸다. 창(3300)은 미리보기 창 영역(3302) 및 뷰 영역(3304)을 포함한다. 미리보기 창(3302)은 미리보기 제어(3306), 편집 또는 메타데이터 제어(3308) 및 작업 제어(3310)를 포함한다. 통상, 미리보기 제어(3306)는 미리보기되고 있는 항목 (예를 들어, 선택된 파일)의 이미지 또는 그 외 가시적 표시를 사용자에게 제공한다. 미리보기 제어(3306)는 사용자가 마우스 버튼을 클릭하여 포커스를 한 항목에서 다음 항목으로 시프트시키도록 하는 반복자 버튼 등의 제어를 사용자에게 제시할 수 있다. 편집 제어(3308)는 미리보기된 항목의 주요 특성의 표시를 포함할 뿐만 아니라, 메타데이터에 편집을 행하기 위한 제어를 사용자에게 제시하기도 한다. 작업 제어(3310)는 네임 스페이스 및/또는 선택에 관련한 작업을 포함한다.Returning to FIG. 59,
당업자라면 본 발명이 창(3300) 내에 선택적인 특성의 존재를 이룬다는 것이 이해될 것이다. 예를 들어, 메타데이터 제어(3208) 및 작업 제어(3210)는 본 발명의 목적에 반드시 필수적인 특성은 아니다. 더구나, 반복자 버튼이나 보임/숨김 버튼을 포함하여 사용자가 미리보기 창을 열고/닫을 수 있도록 하는 툴바 등과 같이, 도 59에 도시하지 않은 다른 비필수의 특성들도 또한 본 발명의 범주 내에 들어간다. 도시하지는 않았지만, 이들 및 그 외 선택적 특성들은 사용자가 셸 브라우저에서 특정 항목의 위치를 용이하게 알아내는 것을 도울 수 있다.Those skilled in the art will appreciate that the present invention achieves the presence of optional features within
뷰 영역(3304)은 시스템 파일이나 폴더 등과 같이 하나 이상의 항목(3312)의 리스트뷰를 제공한다. 이 용어 "리스트뷰"는 컨테이너 내의 항목의 열거 또는 목록을 말하는 것이다. 용어 "항목" 및 "셸 항목"은 여기에서 파일, 폴더 및 그 외 이런 컨테이너 및 그 외 리스트뷰에서 나타낼 수 있는 비-파일 오브젝트를 상호 교환적으로 말하는 데에 이용되고 있다. 유사하게, "셸 항목"은 셸 라이브러리의 항목을 말한다. 비-파일 오브젝트의 예는 연락처, 즐겨찾기, 및 이메일 메시지를 포함할 수 있지만, 이들로 제한되지 않는다. 용어 "셸 브라우저" 및 "파일 시스템 브라우저"는 여기에서 파일 및 그 외 비-파일 항목을 포함하여 사용자가 여러 네임 스페이스를 네비게이션할 수 있게 하는 브라우저를 상호 교환적으로 말하는 데에 이용된다.
당업자라면 본 발명이 창(3300)에 대해 많은 디자인 및 레이아웃이 가능하다는 것이 이해될 것이다. 예를 들어, 미리보기 창(3302)은 도 59에서 뷰 영역(3304) 위에 나타나 있다. 그러나, 미리보기 창(3302) 및 뷰 영역(3304)을 측면으로 배치하는 것과 같은, 다른 레이아웃도 본 발명의 범주 내에 있는 것이 분명 하다. 또한 상세 사항, 슬라이드쇼, 필름 스트립, 섬네일, 타일, 아이콘과 같이, 뷰 영역(3304)에 도시된 항목에 대해 또한 가능한 많은 뷰가 있다. Those skilled in the art will appreciate that the present invention is capable of many designs and layouts for
다음에 도 60을 참조하여, 셸 브라우저에 환영 창(3400)에 대해 설명한다. 환영 창은 선택 창과 반대로 네임 스페이스 또는 컨테이너를 나타내기 때문에 "널 선택" 창으로 언급되기도 한다. 사용자가 아직 선택을 행하지 않았다면, 미리보기 창(3402)은 메타데이터(3404) 및 폴더나 셸 라이브러리에 관한 주요 작업을 표시하다. 원한다면, 작업은 일차 작업(3406) 및 그 외 관련 작업(3408)으로 나누어질 수 있다. 환영 창(3400)은 또한 다수의 파일이나 그 외 항목(3412)을 볼 수 있는 뷰 영역(3410)을 포함한다. 환영 창 메타데이터(3404)는 컨테이너 (예를 들어, 내 그림)의 특성 등의 정보를 포함하고, 이 경우 메타데이터 표시는 정적이다. 다르게는, 환영 창 메타데이터(3404)는 컨테이너 내의 각 항목으로부터의 메타데이터의 샘플링 등의 정보를 포함할 수 있으며, 이 경우 메타데이터 표시는 자주 변한다. 예를 들어, 메타데이터 표시는 매 30초마다 한 항목에서 다른 항목으로 순환하여 한번에 한 항목의 특성으로 제한될 수 있다.Next, the
도 61은 셸 브라우저의 선택 창(3500)을 설명한다. 환영 창과 반대로, 선택 창은 사용자에 의한 선택을 나타낸다. 사용자가 컨테이너 또는 폴더를 선택하면, 선택된 창은 그 컨테이너 또는 폴더에 대한 환영 창과 동일할 필요가 없다. 도 61에서, 선택된 창(3500)은 미리보기 제어(3504), 메타데이터 디스플레이(3506) 및 작업 디스플레이(3508)를 포함하는 미리보기 창(3502)을 포함한다. 환영 창(3400) (도 60)과 동일하게, 선택 창(3500)은 또한 다수의 파일이나 그 외 항목(3512)을 볼 수 있는 뷰 영역(3510)을 포함한다. 그러나, 도 61에서, 사용자는 파일 중 하나를 선택한다. 따라서, 미리보기 제어(3504)는 선택된 파일의 미리보기 이미지를 표시하고, 메타데이터 디스플레이(3506)는 선택된 파일의 특성을 나타내고, 작업 디스플레이(3508)는 선택된 파일에서 동작하기 위한 관련 작업의 메뉴를 제공한다.61 illustrates a
도 62는 본 발명의 실시예에 따라서 확장된 제어를 갖는 것을 제외하고 도 61의 선택 창(3500)과 유사한 선택 창의 개략도이다. 선택 창(3600)은 확장된 제어(3614)를 갖는 미리보기 제어(3604), 메타데이터 디스플레이(3606), 및 작업 디스플레이(3608)를 포함하는 미리보기 창(3602)을 포함한다. 선택 창(3600)은 또한 다수의 파일이나 그 외 항목(3612)을 볼 수 있는 뷰 영역(3610)을 포함한다. 사용자는 파일(3612) 중 하나를 선택하므로, 미리보기 제어(3604)는 선택된 파일의 미리보기 이미지를 표시하고, 메타데이터 디스플레이(3606)는 선택된 파일의 특성을 나타내고, 작업 디스플레이(3608)는 선택된 파일에서 동작하기 위한 관련 작업의 메뉴를 제공한다.62 is a schematic diagram of a selection window similar to the
확장 제어(3614)는 통상 셸 브라우저로부터 이용 가능한 수준 이상의 기능을 보여준다. 예를 들어, 도 58 및 도 61에서 나타낸 것과 같은, 디폴트 미리보기 창이나 미리보기 제어는 선택된 항목의 미리보기 이미지를 간단히 표시할 수 있다. 항목이 워드 처리 문서나 슬라이드 프리젠테이션인 경우, 디폴트 미리보기 이미지는 문서나 슬라이드 데크의 첫번째 페이지가 될 수 있다. 그러나, 미리보기 이미지의 기능을 더욱 상호 동작적으로 만들기 위해 확장하게 되면, 사용자는 확장 제어(3614)를 매우 용이하게 조작하여 문서나 슬라이드 프리젠테이션을 통해 페이지 를 넘길 수 있다. 이 증진된 기능으로 사용자가 미리보기된 항목을 열지 않고도 더욱 포괄적으로 브라우즈할 수가 있고, 이는 특히 제1 페이지만을 기초하여 용이하게 식별될 수 없는 파일에 대해 유용하기 때문에 사용자의 경험을 증진시키게 된다.
확장된 제어(3614)는 셸 브라우저에서 대체 프리뷰어의 일부로 사용자에게 유용하게 만들어질 수 있다. 용어 "프리뷰어"는 미리보기 제어 또는 미리보기 제어를 포함하는 미리보기 창을 말할 수 있다. 본 발명은 다수의 항목 유형에 대해 표준 레벨의 기능을 제공하는 디폴트 프리뷰어 및 특정 항목 유형에 대해 여러 레벨의 기능을 제공하는 하나 이상의 대체 프리뷰어를 사용자에게 제공하여 사용자의 경험을 증진시키는 셸 브라우저를 이루고 있다. 독자적인 소프트웨어 판매자 (ISV) 및 그 외 제3자 개발자에게 대체 프리뷰어의 개발을 개방하게 되면 쉽게 인식 가능한 방법으로 파일의 관련 형태를 나타내는 것으로 파일 브라우징 경험의 가치를 올려준다. 본 발명은 이들로 제한되지는 않는, 이미지 파일, 비디오 파일, 연락처, 게임, 스캐너, 비디오 카메라, 문서 파일, 스프레드시트 파일, 슬라이드 프리젠테이션 파일, 도면 파일 및 테블릿 링크 파일을 포함하는 여러 파일 유형 및 비-파일 항목 유형에 대한 프리뷰어를 고려한다.
본 발명은 종래의 셸 브라우저에서는 불가능하였던 다수의 시나리오를 가능하게 하며, 이들 중 일부는 상술하였다. 제3자는 파일 유형 내측을 볼 수 있는 코드를 제공함으로써 파일 유형을 설명 및 증명할 수 있게 되며, 사용자가 이해하게 될 의미있는 이미지를 제공할 수 있게 된다. 예를 들어, 애플사는 QuickTimeTM 미리보기 제어를 구현하였으며, 이는 사용자가 셸 브라우저에서 QuickTimeTM 파일을 선택할 때 표시되게 된다. 이 미리보기 제어는 QuickTimeTM 무비의 처음 5초를 나타내는 기능 및/또는 사용자가 QuickTimeTM 플레이어를 시작하기 위한 버튼과 제어를 제공하는 등의 기능을 포함하여, 운영 체제의 셸에서 디폴트 프리뷰어 이상의 기능의 대체 또는 확장 레벨을 제공할 수 있다. 음악 파일의 대체 프리뷰어는 유사한 확장 기능을 제공할 수 있다. 당업자라면 이해할 수 있는 바와 같이, 대체 프리뷰어의 확장 기능의 가능성은 비제한적이다.The present invention enables a number of scenarios that were not possible with conventional shell browsers, some of which have been described above. The third party will be able to describe and prove the file type by providing code that can look inside the file type and provide a meaningful image that the user will understand. For example, Apple has implemented the QuickTime TM preview control, which is displayed when the user selects a QuickTime TM file in a shell browser. This preview control is more than the default previewer in the operating system's shell, including the ability to represent the first 5 seconds of a QuickTime TM movie and / or provide buttons and controls for the user to start the QuickTime TM player. It can provide an alternative or extension level of. Alternative previewers of music files may provide similar extensions. As will be appreciated by those skilled in the art, the possibilities of extension of the alternative previewer are non-limiting.
도 63은 사용자가 본 발명의 실시예에 따라서 셸 브라우저의 메타데이터를 수정하도록 하는 컨텍스트 메뉴(3714)를 포함하는 것을 제외하고는 도 61과 유사한 선택 창을 갖는 개략도이다. 선택 창(3700)은 미리보기 제어(3704), 메타데이터 디스플레이(3706) 및 작업 제어(3708)를 포함하는 미리보기 창(3702)을 포함한다. 선택 창(3700)은 또한 다수의 파일이나 그 외 항목(3712)을 볼 수 있는 뷰 영역(3710)을 포함한다. 당업자라면 본 발명의 목적을 위해 메타데이터 제어(3706) 및 작업 제어(3708)는 반드시 필수적인 특성이 아니라는 것이 이해될 것이다. 본 발명은 사용자가 셸 브라우저에서 특정 항목의 위치를 용이하게 알아내는 것을 도와주거나 아니면 사용자의 경험을 개선할 수 있는 이들 및/또는 그 외 선택적 특성의 존재를 제공한다.
FIG. 63 is a schematic diagram with a selection window similar to FIG. 61 except that it includes a
도 63의 컨텍스트 메뉴(3714)는 선택된 항목에 대해 디폴트 프리뷰어 또는 대체 프리뷰어를 선택하는 선택 범위를 포함한 몇 개의 옵션을 사용자에게 제시한다. 메뉴(3714)에 나타낸 일반 텍스트는 물론 프리뷰어를 선택하기 위해 사용자에게 제시될 수 있는 옵션의 유형의 일 예일 뿐이다. 컨텍스트 메뉴는 환영 창을 포함하여 어느 창에나 제공될 수 있어 사용자의 경험을 증진시킨다. 당업자라면, 다수의 각종 컨텍스트 메뉴가 본 발명에 의해 지원될 수 있다는 것이 이해될 것이다. 본 발명의 목적을 위해, 셸 브라우저 내에서 프리뷰어의 사용자 선택을 가능하게 하는 일 수단은 컨텍스트 메뉴(3714)와 같은 컨텍스트 메뉴를 제공하는 것이다. 사용자는 예를 들어, 미리보기 창에서 대응하는 텍스트나 오브젝트를 클릭하여, 컨텍스트 메뉴를 불러들일 수 있다.The
당업자라면 본 발명이 셸 브라우저 내의 복수의 이용가능한 미리보기 중에서 표시된 항목의 프리뷰어를 선택하기 위해 컨텍스트 메뉴 이외의 수단을 제공한다는 것이 이해될 것이다. 이런 다른 수단으로는 사용자가 선택 모드에 들어가기 위해 미리보기 제어를 클릭하는 것이 있다. 유사하게, 사용자는 미리보기 창 내를 우측 클릭하여 프리뷰어를 선택할 수 있다. 반대로, 사용자는 미리보기 창에서 관련 텍스트 위에 또는 관련 오브젝트 위에 호버링하여 선택 모드에 들어갈 수 있다. 여러 대체 수단이 본 발명의 범주 내에서 가능하다.Those skilled in the art will appreciate that the present invention provides a means other than a context menu to select a previewer of the displayed item among a plurality of available previews in the shell browser. Another such means is that the user clicks on the preview control to enter the selection mode. Similarly, the user can right-click in the preview window to select the previewer. Conversely, the user can enter the selection mode by hovering over the relevant text or over the related object in the preview window. Many alternative means are possible within the scope of the invention.
도 64A는 사용자가 본 발명의 일 실시예에 따라서 복수의 항목 유형을 지원하는 셸 브라우저의 프리뷰어를 선택하도록 하는 방법(3800)을 설명하는 플로우차트이다. 방법(3800)은 3802에서 셸 브라우저에 복수의 프리뷰어를 제공한다. 복 수의 프리뷰어는 다수의 항목 유형에 대해 디폴트 프리뷰어 및 특정 항목 유형에 대해 하나 이상의 대체 프리뷰어를 포함할 수 있다. 이들 대체 프리뷰어는 제3자에 의해 개발되어 설치된 어플리케이션을 포함할 수 있다. 3804에서, 방법(3800)은 특정 항목 유형에 대한 둘 이상의 프리뷰어 선택을 사용자에게 제시한다. 프리뷰어를 선택하는 프롬프트가 셸 브라우저에 의해 (예를 들어, 새로운 항목 유형을 표시할 때) 및/또는 사용자에 의해 (예를 들어, 컨텍스트 메뉴를 표시하도록 오브젝트를 클릭하여) 초기화된다. 3806에서 특정 항목 유형에 대한 프리뷰어 중 하나의 선택을 나타내는 입력을 사용자로부터 수신하면, 방법(3800)은 다음에 3808에서 선택된 프리뷰어를 특정 항목 유형과 관련시킨다. 선택된 프리뷰어는 사용자가 다른 것을 선택할 때까지 사용중으로 유지된다. 그러나, 선택된 프리뷰어가 설치된 어플리케이션이면, 이 어플리케이션을 삭제하여 선택된 프리뷰어의 이용을 중단시킨다.64A is a flowchart illustrating a
도 64B는 본 발명의 실시예에 따라 다수의 항목 유형을 지원하는 셸 브라우저에서 프리뷰어를 자동으로 선택하는 방법(3810)을 설명하는 도면이다. 이 방법(3810)은 3812에서 셸에 복수의 프리뷰어를 제공한다. 복수의 프리뷰어는 다수의 항목 유형에 대한 디폴트 프리뷰어 및 특정 항목 유형의 하나 이상의 대체 프리뷰어를 포함할 수 있다. 이들 대체 프리뷰어는 제3자에 의해 개발된 설치 어플리케이션을 포함할 수 있다.64B illustrates a
3814에서, 시스템 (사용자와 대비하여)은 특정 항목 유형에 대한 둘 이상의 이용 가능한 프리뷰어로부터 디폴트 프리뷰어를 자동으로 명백하게 선택한다. 시 스템은 새로운 항목 유형의 디스플레이 또는 대체 프리뷰어의 존재 등의 이벤트에 응답하여 프리뷰어를 선택할 수 있다. 시스템은 논리적 규칙에 기초하여 디폴트 프리뷰어를 선택하도록 구성된다. 예외적인 경우에, 시스템은 3816에서 규칙을 무효화하고 적용 가능 규칙으로 선택되지 않은 프리뷰어를 선택하는 것을 결정할 수 있다. 예를 들어, 규칙이 현재의 디폴트 프리뷰어보다 새로운 유용한 프리뷰어를 선택하는 것이면, 설치된 어플리케이션은 일반적으로 디폴트 프리뷰어를 설치된 어플리케이션으로부터 현재 이용가능한 프리뷰어로 변경하는 권한을 가질 수 있다. 그러나, 셸 브라우저는 예를 들어 새로 설치된 어플리케이션에 의해 제안된 변경을 무효화할 권리를 보유할 수 있다. 예를 들어, 새로 설치된 어플리케이션이 해당 항목 유형의 적합한 소유자로서 인증될 수 없을 때 무효화는 적절한 것이 된다.At 3814, the system (as opposed to the user) automatically explicitly selects a default previewer from two or more available previewers for the particular item type. The system can select the previewer in response to events such as the display of a new item type or the presence of an alternate previewer. The system is configured to select a default previewer based on logical rules. In exceptional cases, the system may decide to invalidate the rule at 3816 and select a previewer that is not selected as an applicable rule. For example, if the rule is to select a useful previewer that is newer than the current default previewer, the installed application may generally have the authority to change the default previewer from the installed application to the currently available previewer. However, the shell browser may, for example, reserve the right to override changes proposed by newly installed applications. For example, invalidation is appropriate when a newly installed application cannot be authenticated as the proper owner of the item type.
어느 경우에나, 방법(3810)은 3818에서 선택된 프리뷰어를 특정 항목 유형과 관련시킬 수 있다. 그러나, 선택된 프리뷰어가 설치된 어플리케이션이면, 이 어플리케이션을 삭제하는 것으로 선택된 프리뷰어의 이용을 중단시키게 된다.In either case, the
다음에 도 65를 참조하여, 본 발명의 일 실시예에 따른 다수의 항목 유형을 지원하는 셸 브라우저에서 제3자 프리뷰어의 이용을 가능하게 하는 방법(3900)의 플로우차트를 설명한다. 방법(3900)은 3902에서 다수의 항목 유형에 대해 디폴트 프리뷰어를 갖는 셸 브라우저를 제공하는 것을 포함한다. 이 방법(3900)은 3904에서 다수의 항목 중 적어도 하나에 대해 대체 프리뷰어의 제3자 개발을 위한 확장성 메커니즘을 제공하는 것을 더 포함한다. 대체 프리뷰어는 3906에서 셸 브라우저에 등록될 수 있다. 설치된 어플리케이션의 경우, 설치 때에 등록이 발생할 수 있다. 예를 들어, 어플리케이션이 OEM으로 설치되는 경우, 대체 프리뷰어는 사용자가 컴퓨터를 취득하기 전에 등록되어야 한다. 다르게는, 사용자가 이 어플리케이션을 로컬 또는 원격적으로 설치할 수 있다.Next, referring to FIG. 65, a flowchart of a
3904에서 상기 언급한 확장성 메커니즘에 대한 많은 가능한 접근법들이 있다. 이 접근법 중 하나는 응용 프로그램 인터페이스 (API)의 세트를 노출하여 독립적 소프트웨어 판매자 (ISV) 및 그 외 제3자 개발자가 대체 프리뷰어를 개발할 수 있도록 하는 것이다. API 접근법에서는, ISV가 그들의 미리보기 제어를 ISV에 의해 소유한 항목 유형과 관련시키도록 하는 등록 메커니즘이 존재하게 된다. 그 유형의 항목이나 파일이 셸 브라우저에서 선택되면, ISV의 미리보기 제어는 이 등록 메커니즘 및 확장성 API를 거쳐 예증된다. API는 미리보기 제어에 데이터, 즉 뷰에서 선택된 항목을 나타내는 데이터 및 뷰에서 항목의 부모 컨테이너(parent container)를 나타내는 데이터를 제공한다. 미리보기 제어는 이 데이터로 동작하며 셸 브라우저에 제시된 API를 통해 사용자 인터페이스를 제공한다. 사용자는 셸 브라우저에 의해 사용자 입력 이벤트로 동작할 수 있는 미리보기 제어에 전달되는 키스트로크 및 마우스 이벤트를 갖는 입력을 제공할 수 있다. There are many possible approaches to the extensibility mechanism mentioned above at 3904. One of these approaches is to expose a set of application program interfaces (APIs) so that independent software vendors (ISVs) and other third party developers can develop alternative previewers. In the API approach, there is a registration mechanism that allows ISVs to associate their preview controls with item types owned by the ISV. When an item or file of that type is selected in the shell browser, the preview control of the ISV is exemplified through this registration mechanism and extensibility APIs. The API provides the preview control with data, namely data representing the selected item in the view and data representing the parent container of the item in the view. The preview control works with this data and provides a user interface through an API presented to the shell browser. The user can provide input with keystrokes and mouse events that are delivered by the shell browser to preview controls that can act as user input events.
당업자라면 본 발명의 확장성 메커니즘의 컨텍스트에서 많은 접근법들이 가능하다는 것이 이해될 것이다. API 접근법에 부가하여, 유사한 기능들이 사용자 구성, HTML의 포인터, 또는 플래시의 호스팅을 거쳐 성취될 수 있다. 더구나, 확장성 모델은 선택된 항목 유형을 소유하는 하나의 어플리케이션만이 오직 하나의 대체 프리뷰어를 제공하는 것을 필요로 한다. 다시 말해, 이용가능한 프리뷰어의 개수는 다수의 등록된 확장 프리뷰어가 서로 경쟁 중에 있을 때의 사용자의 열악한 경험을 없애도록 하기 위해 디폴트 프리뷰어와 하나의 대체 프리뷰어로 제한할 수 있다. 그러나, 다른 모델로는 선택된 항목 유형을 처리할 수 있는 어느 어플리케이션이나 하나의 부가의 프리뷰어를 제공하도록 하는 것이 있다. 대체 모델은 실행중인 코드가 어느 항목 유형에나 하나의 부가의 프리뷰어를 제공하도록 하는 것이다. 또한 특정 상황하에서는 디폴트 프리뷰어를 교환하거나 제거하는 것이 바람직할 수 있다. 많은 다른 모델이 본 발명에 의해 가능하게 제공될 수 있다.Those skilled in the art will appreciate that many approaches are possible in the context of the extensibility mechanism of the present invention. In addition to the API approach, similar functions can be achieved via user configuration, pointers in HTML, or hosting in Flash. Moreover, the extensibility model requires that only one application owning the selected item type provide only one alternative previewer. In other words, the number of available previewers may be limited to the default previewer and one alternate previewer to eliminate the user's poor experience when multiple registered extension previewers are in competition with each other. However, another model is to provide one additional previewer for any application that can handle the selected item type. The alternative model is to have the running code provide an additional previewer for any item type. It may also be desirable to replace or remove the default previewer under certain circumstances. Many other models may possibly be provided by the present invention.
도 66은 하나 이상의 컴퓨터 판독 가능한 매체 상에 저장되며 셸 브라우저에서 복수의 프리뷰어를 나타내는 정보를 포함하는 데이터 구조(4000)의 블럭도이다. 데이터 구조(4000)는 다수의 항목 유형을 지원하는 디폴트 프리뷰어를 나타내는 정보를 포함하는 디폴트 프리뷰어 필드(4002)를 포함한다. 대체 프리뷰어 필드(4004)는 제1 항목 유형의 대체 프리뷰어를 나타내는 정보를 포함한다. 다른 대체 프리뷰어 필드(4006)는 제1 항목 유형에 대해 제2 대체 프리뷰어를 나타내는 정보를 포함하거나, 제2 항목 유형에 대한 대체 프리뷰어를 나타내는 정보를 포함할 수 있다. 당업자라면 몇몇 경우에 하나의 대체 프리뷰어 필드가 있을 수 있으며, 다른 경우에는 둘 이상의 대체 프리뷰어 필드가 있을 수 있다는 것이 이해될 것이다. 선택된 프리뷰어 필드(4008)는 특정 항목 유형의 항목들이 셸 브라우저에서 표시될 때 디폴트 프리뷰어나 대체 프리뷰어를 불러야 할지의 여부를 나타내는 정보를 포함한다. 필드(4006)가 제2 항목 유형에 대해 대체 프리뷰어를 나타내는 정보를 포함하는 경우, 선택된 프리뷰어 필드(4010)는 제2 항목 유형의 하나 이상 의 항목이 셸 브라우저에서 표시될 때 디폴트 프리뷰어 또는 대체 프리뷰어를 불러야 할지의 여부를 나타내는 정보를 포함할 수 있다. 필드(4002, 4004, 및/또는 4006)에 포함된 정보는 사용자가 그 유형의 오브젝트를 선택할 때 실행하도록 구성되는 프리뷰어 코드로 이루어진다. 66 is a block diagram of a
본 발명의 바람직한 실시예가 설명 및 기술되었지만, 본 발명의 정신 및 범주에서 벗어나지 않고 여러 변경들이 행해질 수 있다는 것이 이해될 것이다. 예를 들어, 여기에서 나타낸 여러 UI 특성의 위치는 예시적이며 변경될 수 있으며, 여러 UI 특성의 다른 위치가 본 발명의 정신 및 범주 내에도 여전히 속한다는 것이 이해될 것이다. 더구나, 여기 기재된 본 발명의 다른 태양들은 본 발명의 정신 및 범주에서 벗어나지 않고 또한 여러 조합으로 형성될 수 있다.While the preferred embodiments of the invention have been described and described, it will be understood that various changes may be made without departing from the spirit and scope of the invention. For example, it will be appreciated that the locations of the various UI features shown herein are exemplary and changeable, and that other locations of the various UI features still fall within the spirit and scope of the present invention. Moreover, other aspects of the invention described herein may be formed in various combinations without departing from the spirit and scope of the invention.
Claims (124)
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 true KR20060061734A (en) | 2006-06-08 |
KR100991027B1 KR100991027B1 (en) | 2010-10-29 |
Family
ID=33449009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020047010366A KR100991027B1 (en) | 2003-05-16 | 2003-05-16 | File system shell |
Country Status (12)
Country | Link |
---|---|
EP (1) | EP1629367A4 (en) |
JP (1) | JP4378292B2 (en) |
KR (1) | KR100991027B1 (en) |
CN (1) | CN1613047B (en) |
AU (1) | AU2003233558B8 (en) |
BR (1) | BR0306693A (en) |
CA (1) | CA2469163C (en) |
IL (2) | IL162163A0 (en) |
MX (1) | MXPA04006410A (en) |
NO (1) | NO20042743L (en) |
RU (1) | RU2009130955A (en) |
WO (1) | WO2004107151A1 (en) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US7712034B2 (en) | 2003-03-24 | 2010-05-04 | Microsoft Corporation | System and method for shell browser |
US7421438B2 (en) | 2004-04-29 | 2008-09-02 | Microsoft Corporation | Metadata editing 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 (en) * | 2005-06-09 | 2007-10-04 | 삼성전자주식회사 | Browsing method using meta-data and apparatus using the same |
US7665028B2 (en) | 2005-07-13 | 2010-02-16 | Microsoft Corporation | Rich drag drop user interface |
KR100713534B1 (en) * | 2005-09-08 | 2007-04-30 | 삼성전자주식회사 | Method for searching a user data in mobile communication terminal |
CN100407204C (en) * | 2005-11-17 | 2008-07-30 | 腾讯科技(深圳)有限公司 | Method for labeling computer resource and system therefor |
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 (en) * | 2006-09-21 | 2011-04-20 | 株式会社ソニー・コンピュータエンタテインメント | File management method and information processing apparatus |
CN101685507A (en) * | 2008-09-25 | 2010-03-31 | 袁小伟 | Method for processing project data and research data in user experience research project |
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 (en) * | 2010-09-29 | 2012-05-02 | 腾讯科技(深圳)有限公司 | Method and device for positioning folder |
US20120297344A1 (en) * | 2011-05-22 | 2012-11-22 | Microsoft Corporation | Search and browse hybrid |
KR101851241B1 (en) | 2011-12-06 | 2018-04-24 | 삼성전자 주식회사 | Method and apparatus for contents management-integrated in portable terminal |
JP6043899B2 (en) * | 2012-04-26 | 2016-12-14 | 野田 正嗣 | Information management apparatus and information retrieval method |
CN103902609A (en) * | 2012-12-28 | 2014-07-02 | 腾讯科技(深圳)有限公司 | File displaying method and device |
KR102063915B1 (en) | 2013-03-14 | 2020-01-08 | 삼성전자주식회사 | User device and operating method thereof |
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 (en) * | 2018-10-15 | 2019-01-25 | 郑机 | A kind of file management system and method |
JP7430126B2 (en) * | 2020-09-01 | 2024-02-09 | シャープ株式会社 | Information processing device, printing system, control method and program |
Family Cites Families (10)
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 |
WO1994012944A1 (en) * | 1992-11-23 | 1994-06-09 | Paragon Concepts, Inc. | Computer filing system with user selected categories to provide file access |
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 |
CA2292311A1 (en) * | 1998-12-17 | 2000-06-17 | Raul Anchel | 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 |
-
2003
- 2003-05-16 AU AU2003233558A patent/AU2003233558B8/en not_active Expired
- 2003-05-16 JP JP2004569434A patent/JP4378292B2/en not_active Expired - Fee Related
- 2003-05-16 MX MXPA04006410A patent/MXPA04006410A/en active IP Right Grant
- 2003-05-16 WO PCT/US2003/015610 patent/WO2004107151A1/en active Application Filing
- 2003-05-16 CA CA2469163A patent/CA2469163C/en not_active Expired - Lifetime
- 2003-05-16 EP EP03728994A patent/EP1629367A4/en not_active Ceased
- 2003-05-16 IL IL16216303A patent/IL162163A0/en unknown
- 2003-05-16 BR BR0306693-2A patent/BR0306693A/en not_active Application Discontinuation
- 2003-05-16 KR KR1020047010366A patent/KR100991027B1/en active IP Right Grant
- 2003-05-16 CN CN038018713A patent/CN1613047B/en not_active Expired - Lifetime
-
2004
- 2004-05-24 IL IL162163A patent/IL162163A/en active IP Right Grant
- 2004-06-29 NO NO20042743A patent/NO20042743L/en unknown
-
2009
- 2009-08-13 RU RU2009130955/08A patent/RU2009130955A/en unknown
Also Published As
Publication number | Publication date |
---|---|
AU2003233558B2 (en) | 2009-12-10 |
RU2009130955A (en) | 2011-02-20 |
AU2003233558B8 (en) | 2010-01-21 |
NO20042743L (en) | 2004-08-17 |
BR0306693A (en) | 2005-02-09 |
MXPA04006410A (en) | 2005-02-14 |
IL162163A (en) | 2010-04-29 |
WO2004107151A1 (en) | 2004-12-09 |
CN1613047A (en) | 2005-05-04 |
AU2003233558A1 (en) | 2005-01-21 |
EP1629367A1 (en) | 2006-03-01 |
CA2469163C (en) | 2012-04-24 |
KR100991027B1 (en) | 2010-10-29 |
CA2469163A1 (en) | 2004-11-16 |
JP4378292B2 (en) | 2009-12-02 |
EP1629367A4 (en) | 2008-04-23 |
CN1613047B (en) | 2011-05-04 |
JP2006526182A (en) | 2006-11-16 |
IL162163A0 (en) | 2005-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100991027B1 (en) | File system shell | |
KR100984400B1 (en) | System and method for filtering and organizing items based on common elements | |
US7409644B2 (en) | File system shell | |
KR100996763B1 (en) | System amd method utilizing virtual folders | |
KR100977360B1 (en) | File system for displaying items of different types and from different physical locations | |
KR101203274B1 (en) | File system shell | |
KR101120755B1 (en) | System and method for virtual folder and item sharing including utilization of static and dynamic lists | |
KR101083533B1 (en) | System and method for user modification of metadata in a shell browser | |
US7712034B2 (en) | System and method for shell browser | |
US20110055759A1 (en) | Browsing or Searching User Interfaces and Other Aspects | |
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 |