显示来自不同物理位置的不同类型的项目的文件系统的制作方法

文档序号:6402260阅读:185来源:国知局
专利名称:显示来自不同物理位置的不同类型的项目的文件系统的制作方法
技术领域
本发明涉及文件系统,尤其涉及用于显示来自不同物理位置的不同类型的项目的文件系统。
背景技术
当前的计算机系统具有许多不合需要的限制。一个限制是用户一般无法控制它们被显示的结构。换言之,当组织文件夹时,用户必需选择一种结构,而且这一结构之后很难改变。作为一个具体的示例,对于“music(音乐)”文件夹,用户可能选择以艺术家/歌曲集的格式来组织音乐文件,其中将每一艺术家的歌曲集文件夹组合到该特定艺术家的文件夹,所有在特定歌曲集上的歌曲都组合到该歌曲集的文件夹。艺术家/歌曲集格式无助于播放一种类型的音乐(例如,播放来自两个不同艺术家的两个爵士歌曲),也无助于播放来自不同艺术家的一组歌曲集。
另一个问题,用户可能具有大量难以组织的文件。一些用户可能以较严格的方式来放置文件,并且因此为它们创建了严格的层次结构。对这类文件的管理会随着可用文件的增加而变得越来越复杂和困难,从而令搜索和检取同样变得困难。当从其它位置使用另外的文件,如共享文件时,进一步加重了这一问题。
用户也必须处理位于不同位置的文件,如位于不同设备上、在其它PC上或在线文件。例如,用户可以选择在计算机上听音乐(如对音乐程序是可访问的),或可以上线以从web站点听音乐,然而,在这两种源之间有严格的分界。来自不同位置的音乐不同地组织,并且不以同一方式或位置保存。作为另一示例,储存在企业网络的文件可能本质上与用户在当前机器上具有的文件分离。
用户不仅必须跟踪储存了什么文件数据,也必须跟踪它储存在哪里。例如,对于音乐文件,用户被迫在不同的系统上保存副本,并且试图跟踪哪一音乐文件位于何处。这令文件变得很难定位,即使它们是本地储存的。
而且,有时候也很难找出并返回用户具有的文件。用户会发现很难回想起他们将特定文件储存在何处以及如何储存。给定一组文件夹甚至一组类似的文件,用户经常发现很难快速找出他们要查找的文件。对于要找的储存在难以寻找的地方的文件,定位变得更为复杂。此外,一旦用户在一个文件夹里面具有了足够的文件,将更难快速剖析该文件夹,尤其是当内容相似的时候。
而且,用户有时候也很难找出或返回在网络上的文件。经常很难共享并发布文件,并且更难检取这类来自令其可用的某人的文件。用户通常必须记住或映射他们需要用来在网络上查找文件的不同站点和名称。
名字空间可能改变,会导致用户混淆什么是“正确的”。这在具有不同命名约定、限制等等的网络上尤为真实。例如,特定的操作系统可能需要没有空格的短名字来使它们可见。
程序也经常将文件保存至它们自己的目录或其它名字空间,令用户很难找出返回到该文件的途径。程序经常具有它们保存文件的缺省目录和位置。用户经常必须搜遍他们的硬盘并猜测文件可能位于何处。
相关项目经常储存在各自的位置上。用户所具有的相关文件可能储存在硬盘的不同部分等等。这一问题随着具有多种内容类型(如,图片、音乐、视频)的数字媒体服务的发展变得尤为常见。
本发明针对提供一种克服上述和其它缺点的系统和方法,尤其针对用于显示来自不同物理位置的不同类型的项目的文件系统。
发明概述提供了一种用于显示来自不同物理位置的不同类型的项目的文件系统。依照本发明的一个方面,可能有较大范围的项目可用。换言之,系统能够表示来自多个物理位置(如,不同的硬盘、不同的计算机、不同的网络位置等等)的项目,使对于用户而言,所有的项目看来都来自一个位置。例如,可以在单个屏幕上向用户呈现他们所有的音乐文件,并从一个视图操作所有文件,即使这些文件可能物理地储存在不同的硬盘、不同的计算机或不同的网络位置上。
依照本发明的另一方面,在用于在具有显示器的计算机系统中显示项目的方法中使用了一种范围。该方法涉及定义从其提取项目的物理存储器位置的范围,该范围包括当前计算机存储器以及至少一个其它物理位置。一旦接收查询,作为对该查询的响应,从范围中定义的物理位置提取项目,并且然后将从查询提取的项目呈现在显示器上的视图中。在一个实施例中,至少一个其它物理位置可能是另一计算机、网络上的位置或外部存储设备。在一个实施例中,显示器上的视图可以切换至指示物理储存项目的物理位置的物理文件夹视图。
依照本发明的另一方面,可能在虚拟文件夹中表示非文件项目。换言之,储存在存储器中的文件位于物理存储中。可以令虚拟文件夹包括当前未在物理存储中表示的项目。非文件项目的示例是电子邮件和联系人。
依照本发明的另一方面,在具有显示器和用于储存项目的存储器的计算机系统中实现用于呈现非文件项目的方法。该方法包括提供一种允许通过查询搜索非文件项目和文件项目的数据库。一旦接收查询,匹配该查询的非文件项目和文件项目都被提取,然后在显示器上呈现匹配该查询的项目。在一个实施例中,提供了一种关系数据库,包括所选择的关于文件项目的信息,并可以整体上容纳特定非文件项目。
依照本发明的另一方面,该项目以虚拟文件夹方式呈现给用户。虚拟文件夹基于它们的元数据而不是盘上的实际物理底层文件系统结构,在不同的视图中向用户展现项目。因此,系统能够采用储存在数据库中的属性并且将其表示为类似于文件夹的载体。由于用户已熟悉以文件夹工作,因此通过以类似的方式呈现虚拟文件夹,用户可以更快地适应这一新系统。
依照本发明的另一方面,用户能够通过直接操作以虚拟文件夹工作。换言之,为操作虚拟文件夹所提供的机制类似于当前在操作常规物理文件夹中使用的机制(如,点击和拖曳、复制、粘贴等等)。
依照本发明的另一方面,提供了用于操作虚拟文件夹的过滤器。过滤器本质上是用于缩减一组项目的工具。在一个实施例中,基于单独的项目的属性动态地生成过滤器。例如,对于一组项目,过滤器机制可以检查属性,如果项目一般以“作者”作为属性,则过滤器能够提供作者的列表。然后通过在特定的作者上点击,不具备该作者的项目消失。这允许用户缩减内容。
依照本发明的另一方面,提供了快速链接。在一个实施例中,快速链接是一组预定义的链接(如,位于显示器的左边),能够被点击来生成该组项目的有用视图。这些可以由程序来预定义,或由用户设置。例如,点击“all authors(所有作者)”可以返回按作者堆栈的视图。“all documents(所有文件)”可返回跨所有存储区域的所有文件的平面视图。用户也可以创建他们自己的快速链接。例如,用户可以向下过滤到他们在2003年1月修改的所有文件,并随后将其保存为一个快速链接。
依照本发明的另一方面,提供了库。库包括可以关联在一起的较大一组有用类型的文件。例如,照片可以是一个库,音乐可以是另一个库,文档可以是另一个。库提供了与特定项目类型相关的工具与活动。例如,在照片库中,有与操作照片相关的工具和过滤器,如,用于创建放映幻灯片或共享图片的工具。
附图的简要描述结合附图参考以下详细描述,可以更容易地领会并更好地理解本发明的上述方面以及附带优点,附图中

图1是适合实现本发明的通用计算机系统的结构图;图2是依照本发明的虚拟文件夹系统的结构图;图3所示是用户提供查询的例程的流程图,通过该查询取回所选文件和文件夹;图4所示是一例程的流程图,通过该例程依照缺省查询或来自用户的查询构造并在屏幕上显示虚拟文件夹;图5是依照硬盘上的物理文件夹排列的文件夹结构的树形图;图6是虚拟文件夹结构的树形图;图7是图6的虚拟文件夹结构的树形图,其中,客户栈进一步按照合同和年份过滤;图8是图7的虚拟文件夹结构的树形图,其中,客户栈的合同进一步按照年份过滤;图9是图6的虚拟文件夹结构的树图,其中,合同栈进一步按照客户和年份过滤,客户仍进一步由年份过滤;图10所示是示出文档库的栈的屏幕显示的示图;图11所示是示出图10的ABC Corp.栈中的文档的屏幕显示的示图;图12所示是在其中对图11的文档选择堆栈功能的屏幕显示的示图;图13所示是在其中对图12的堆栈功能选择“stack by author(按作者堆栈)”参数的屏幕显示的示图;图14所示是在其中对图13的文件按照作者进行堆栈的屏幕显示的示图;图15所示是在其中选择堆栈功能并再选择“stack by category(按类别堆栈)”选项目以便对图14的文件进行重堆栈的屏幕显示的示图;图16所示是在其中按类别对图14的文件进行重堆栈的屏幕显示的示图;图17所示是在其中选择用于显示物理文件夹的快速链接的屏幕显示的示图18所示是在其中显示包含图17的虚拟文件夹栈的文件的物理文件夹的屏幕显示的示图;图19所示是用户直接操作虚拟文件夹的例程的流程图;图20所示是在其中将新的“West Coast”栈添加到图10的栈的屏幕显示的示图;图21所示是在其中使用直接操作来将文件从“ABC Corp.”栈复制到图20的的“West Coast”栈的屏幕显示的示图;图22所示是用于系统动态生成新过滤器条件的例程的流程图;图23所示是用于系统基于所选择的过滤器条件来过滤项目的例程的流程图;图24所示是在其中按条件“AB”过滤图10的栈的屏幕显示的示图;图25所示是在其中按条件“ABC”过滤图10的栈的屏幕显示的示图;图26所示是在其中对图10的栈选择过滤器条件“year 2002(2002年)”的屏幕显示的示图;图27所示是在其中按“year 2002”过滤图10的栈以及进一步选择的过滤器条件“month(月)”的屏幕显示的示图;图28所示是在其中呈现用于选择用于过滤的月的列表的屏幕显示的示图;图29所示是在其中按一月进一步过滤图10的栈并进一步显示过滤器条件“day(日)”的屏幕显示的示图;图30所示是用于创建新快速链接的例程的流程图;图31所示是用于基于图29的过滤创建名为“January Work(一月作品)”的新快速链接的屏幕显示的示图;图32所示是在其中选择“All Authors(所有作者)”的快速链接的屏幕显示的示图;图33所示是在其中呈现图32的所有作者的列表的屏幕显示的示图;图34所示是在其中从图33的列表中选择“Author 1(作者1)”并且显示所有作者1的文档的屏幕显示的示图;图35所示是用于创建新库的例程的流程图;图36所示是在其中显示各种可用库的集合的屏幕显示的示图;图37所示是用于定义虚拟文件夹集合的范围的例程的流程图;图38所示是可以组成虚拟文件夹集合的范围的不同源的结构图;图39所示是用于在虚拟文件夹集合中包括非文件项目的例程的流程图;以及图40所示是显示包括在虚拟文件夹中的各种非文件项目的屏幕显示的示图。
较佳实施例的详细描述本发明针对虚拟文件夹。虚拟文件夹使用当前用于文件系统的相同或类似的用户界面。虚拟文件夹基于其元数据而不是盘上的实际物理底层文件系统结构在不同的视图中向用户展现常规文件和文件夹(也称为目录)。创建了位置不相关的视图使用户能够使用当前用于管理文件系统的类似控制来操作其文件和文件夹。一般而言,这意味着用户能够基于文件其本身的固有属性来组织并重排列文件,而不是将管理和组织作为系统的一个分离的部分来完成。虚拟文件夹可以表示来自不同物理位置的文件或项目,如来自同一计算机内的多个盘驱动器、多个计算机之间或不同网络位置,使文件或项目的一个视图能够展现位于不同物理位置的文件或项目。在一个实施例中,仅需通过IP网络连接不同的项目或文件来将其包括在内。
虚拟文件夹建模也能够用于传统的非文件实体。应用之一是令一组用户界面类似于文件和文件夹(即,对象和载体)来传统地显示非文件实体。这一非文件实体的一个示例是电子邮件,另一示例是来自联系人数据库的联系人信息。在这一方式中,虚拟文件夹提供了一种位置不相关、基于元数据的视图系统,无论要显示的数据是来自文件或非文件实体都可以工作。一般而言,这些方面在让用户操作其文件和数据方面允许更大的灵活性,既能够使用常见的用户界面技术(拖放、双击等等),又调节了不同数据类型的大量集成。
图1以及以下讨论提供了适合在其中实现本发明的计算环境的简要一般描述。尽管并非必需,本发明将在计算机可执行指令的一般语境下描述,计算机可执行指令如程序模块,由个人计算机执行。一般而言,程序模块包括例程、程序、字符、组件、数据结构等等,执行特定的任务或实现特定的抽象数据类型。本领域的技术人员可以理解,本发明可以与其它计算机系统配置实践,包括手持式设备、多处理器系统、基于微处理器的或可编程消费者电子产品、网络PC、小型机、大型机等等。本发明也可以在分布式计算环境中实践,在分布式计算环境中,任务由通过通信网络连接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地或远程存储器存储设备中。
参考图1,用于实现本发明的示例性系统包括以常规个人计算机形式20的通用计算设备,包括处理单元21、系统存储器22以及将包括系统存储器22的各种系统组件耦合至处理单元21的系统总线23。系统总线23可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线结构的本地总线。系统存储器包括只读存储器(ROM)24和随机存取存储器(RAM)25。基本输入/输出系统(BIOS)26,包含如在启动时协助在计算机20内的元件之间传输信息的基本例程,可储存在ROM 24中。个人计算机20还包括用于对硬盘39进行读写的硬盘驱动器27、用于对可移动磁盘29进行读写的磁盘驱动器28以及用于对可移动光盘31如CD-ROM或其它光媒质进行读写的光盘驱动器30。硬盘驱动器27、磁盘驱动器28以及光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34连接至系统总线23。驱动器及其相关的计算机可读媒质为计算机20提供了计算机可执行指令、数据结构、程序模块和其它数据的非易失存储。尽管这里描述的示例环境采用了硬盘39、可移动磁盘29以及可移动光盘31,本领域的技术人员应当理解,也可以在示例性操作环境中使用用于储存计算机可访问的数据的其它类型的计算机可读媒质,包括盒式磁带、闪存卡、数字多功能盘、Bernoulli盒式磁盘、RAM、ROM等等。
众多程序模块可储存在硬盘39、磁盘29、光盘31、ROM 24或RAM 25中,包括操作系统35、一个或多个应用程序36、其它程序模块37以及程序数据38。用户可以通过输入设备,如键盘40和指向设备42向计算机520输入命令和信息。其它输入设备(未示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线23的串行端口接口46连接到处理单元21,但是也可以通过其它接口连接,如并行端口、游戏端口或通用串行总线(USB)。以监视器47形式的显示器也通过接口,如视频卡或适配器48连接到系统总线23。一个或多个扬声器57也可以通过接口,如音频适配器56连接到系统总线23。除显示器和扬声器之外,个人计算机通常包括其它外围输出设备(未示出),如打印机。
个人计算机20可以在使用到一个或多个远程计算机,如远程计算机49的逻辑连接的网络化环境中操作。远程计算机49可以是另一个人计算机、服务器、路由器、网络PC、对等设备或其它公用网络节点,并通常包括许多或所有上述与个人计算机20相关的元件。图1描述的逻辑连接包括局域网(LAN)51和广域网(WAN)52。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。
当在局域网网络环境中使用时,个人计算机20通过网络接口或适配器53连接至局域网51。当在广域网网络环境中使用时,计算机20通常包括调制解调器54或其它装置,用于通过广域网52,如因特网建立通信。调制解调器54可以是内置或外置的,通过串行端口接口46连接至系统总线23。在网络化环境中,描述的与个人计算机20相关的程序模块或其部分可储存在远程存储器存储设备中。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信的其它装置。
如在图1所示的类型的系统上实现的,本发明使用了虚拟文件夹,使用户可以容易地执行围绕文件操作和文件夹定位(浏览)的基本任务,并提供能够在新特征中调节的更高级别的存储能力。虚拟文件夹基于其元数据而不是盘上的实际物理底层文件系统结构在不同的视图中向用户展现文件和项目。
图2是依照本发明的虚拟文件夹系统200的结构图。如下文将要详细描述的,虚拟文件夹允许用户改变控制察看数据的方法的“数据透视表(pivot)”。作为示例,用户能够以所有歌曲的平面列表来察看他们的音乐,可以按照歌曲集来分组。可选地,用户能够切换视图来仅显示流派或艺术家或年份等等。用户能够剪裁视图来仅察看适合现有的任务的对象。这带来了改进的浏览体验,取消了贯穿文件夹(向下和向上返回)的进一步定位的需要。同一教程和能力应用到不储存为文件的其它数据类型的建模中。例如,可以以这一方法向用户展现联系人,给予用户熟悉的界面能力,以及比平面地址簿所提供的用于操作的更丰富的基础结构。
如图2所示,虚拟文件夹系统200包括文件夹处理器210、关系数据库230、虚拟文件夹描述数据库232、其它外壳文件夹组件234、文件夹处理器组件236以及外壳浏览器和视图组件240。文件夹处理器210包括本地处理代码组件212、处理器工厂组件214、属性书写器组件216、行集合剖析器组件218、查询生成器组件220、枚举器组件222以及属性工厂组件224。
关系数据库230储存关于系统中所有文件的属性。它也完整地储存一些项目,如联系人(即,非文件项目)。一般而言,它储存关于其包含的文件和项目的类型的元数据。关系数据库230从查询生成器220接收SQL查询。关系数据库230也向行集合剖析器组件218发送SQL行集合,对每一项目列发送一行,列为项目属性。
虚拟文件夹描述数据库232包括虚拟文件夹描述。虚拟文件夹描述数据库232向查询生成器组件220发送数据,包括要显示在文件夹中的类型的列表、初始过滤器以及从其显示结果的物理位置(范围)。
对于其它外壳文件夹组件234,文件夹处理器210委托来自多种项目的现存外壳文件夹,这些项目包括所有用于处理器或属性的文件。其它外壳文件夹组件234向属性工厂224发送来自其它文件夹的属性。其它外壳文件夹组件也向处理器工厂214发送处理器。
文件夹处理器组件236为仅在数据库中存在的项目,如联系人提供代码行为。这允许非文件项目与文件相似地工作。文件夹处理器组件236向处理器工厂214发送处理器。
对于本地处理代码组件212,文件夹处理器基于项目的属性直接实现特定的处理器。本地处理代码组件212向处理器工厂214发送处理器。对于本地处理代码组件212以及文件夹处理器组件236,与所有名称空间一样,虚拟文件夹必须为其项目提供一组处理器(上下文菜单、图标、缩略图、信息提示、…)。对于这些(信息提示、数据对象、拖放处理器、背景内容菜单…)的大多数,虚拟文件夹提供用于它所容纳的所有类型的公用(本地)处理器。然而,还有类型的作者必须提供的其它处理器(在项目本身上的上下文菜单、可写属性存储、…)。缺省处理器也可以被覆盖。虚拟文件夹对文件重复使用这一处理器并允许非文件项目执行同样的动作。
处理器工厂214采用ID列表并生成提供上下文菜单、图标等等的代码行为。一般而言,文件夹处理器210可以使用本地处理器、外部处理器或委托其它外壳文件夹来获得处理器,如上文关于本地处理代码组件212、其它外壳文件夹组件234以及文件夹处理器236所描述的。处理器工厂组件214向视图240中的外壳浏览器发送处理器,如视图所请求的。处理器工厂组件214向属性书写器216发送属性处理器。
属性书写器216将用户的意向,如剪切、复制和粘贴转换为对文件或项目正确的属性。外壳浏览器和视图组件240向属性书写器216发送数据,包括直接操作(剪切/复制/粘贴)或对元数据的编辑。一般而言,由于虚拟文件夹基于项目的属性呈现一组织,诸如移动和复制(拖放)的操作变为在那些属性上的编辑。例如,在按作者堆栈的视图中将一个文档从作者1移动到作者2表示改变作者。属性书写器组件216实现这一功能。
行集合剖析器218采用数据库的行集合并将所有项目属性储存在外壳ID列表结构中。行集合采用虚拟文件夹的片段定义并生成之后可以发向数据库的SQL串。行集合剖析器组件218向枚举器组件222发送ID列表。如上所述,行集合剖析器组件218也从关系数据库230接收数据,包括SQL行集合,每一项目占一行,列为项目属性。
查询生成器组件220生成SQL查询。查询生成器组件220从枚举器组件222接收数据,包括来自定位的新过滤器。查询生成器组件220也从虚拟文件夹描述数据库232接收数据,包括要显示在文件夹中的类型列表、初始过滤器以及从其显示结果的物理位置(范围)。查询生成器组件220向关系数据库230发送SQL查询。
一般而言,查询生成器组件220包括一组行(也即表)。这导致运行该查询。行集合剖析器组件218采用每一行,并使用列名称来将行转换为ID列表。ID列表是一种众所周知的外壳结构,用来引用名称空间中的项目。执行这一步骤允许虚拟文件夹正如外壳的其余的任意其它名称空间一样。而且,将这一数据高速缓存能够帮助将数据库访问保持最小化,数据库访问的成本较大。
枚举器组件222作为对向虚拟文件夹的定位的响应来操作。如上所述,枚举器组件222从行集合剖析器组件218接收ID列表,并向查询生成器组件220发送来自定位的新过滤器。枚举器222也向外壳浏览器和视图组件240发送数据,包括返回在定位之后以插入视图的ID列表。
属性工厂组件224采用ID列表和属性标识符,并返回那些属性的值。属性工厂组件224从包括属性处理器的处理器工厂组件214接收数据。如上所述,属性工厂组件224也从其它外壳文件夹组件234接收数据,包括来自其它文件夹的属性。属性工厂组件224也向外壳浏览器和视图组件240发送数据,包括项目属性,如视图所请求的。
外壳浏览器和视图组件240在视窗中显示文件夹的内容,并处理用户与所显示的文件或项目的所有交互,如点击、拖曳和定位。因此,外壳浏览器和视图组件240接收用户行动。外壳浏览器和视图组件240也获得其从文件夹(本情况下为文件夹处理器210)所需要的关于代码行为的数据。
如上所述,虚拟文件夹基于其元数据而不是盘上的实际物理底层文件系统结构在不同的视图中向用户展现常规文件和文件夹(也称为目录)。因此,系统能够采用储存在数据库中的属性并将其表示为类似文件夹的载体。由于用户已熟悉使用文件夹工作,通过以类似的方式呈现虚拟文件夹,用户可以更快地适应新的系统。
图3所示是用户提供查询的例程300的流程图,该查询取回所选的项。在块302,文件夹处理器从用户获取查询。在块304,文件夹处理器将该查询传递到关系数据库。在块306,关系数据库将结果提供回文件夹处理器。在块308,文件夹处理器以虚拟文件夹和项目的形式向用户提供结果。
图4所示是例程320的流程图,通过该例程依照缺省查询或来自用户的查询构造虚拟文件夹并在屏幕上显示的。在块322,当用户首次打开虚拟文件夹时,使用缺省查询。这一缺省查询从注册数据库中取得。例如,音乐库的缺省查询可能是显示按歌曲集分组的所有歌曲。在块324,文件夹处理器对这一查询构造查询对象,然后将这一查询传递到关系数据库。在块326,关系数据库生成查询的结果并将这些结果作为数据库行和列传递回文件夹处理器。
在块328,文件夹处理器采用这些结果,并将它们从数据的行和列转换为枚举器结构,以便由文件夹视图用经用户交互作用所得的虚拟文件夹和项目填充屏幕。在判定块330,用户判定是否要改变视图(通过发出不同的查询或“数据透视表”)。例如,用户能够发出“显示所有艺术家”的数据透视表。如果用户确实想改变视图,则例程返回至块324,其中文件夹处理器向关系数据库传递该新查询,并接收回结果的新行和列,并构造新的枚举器结构。进程然后如上所述地继续,使用枚举器清除并更新文件夹视图,来将“艺术家”对象拖曳到屏幕。
在一个示例中,提供了表示用户能够定位的载体的歌曲集对象。例如,双击“Beatles”歌曲集将定位视图来察看Beatles的所有歌曲。文件夹处理器向关系数据库发出“显示所有Beatles的歌曲”的查询,关系数据库交还这些歌曲的数据的行和列。文件夹处理器创建所有这些歌曲的枚举器,该枚举器然后被拖曳到屏幕。
用户也能够在浏览虚拟文件夹的任一点选择视图。从上述示例,在缩减到只显示Beatles的歌曲之后,用户能够改变视图来仅将歌曲显示为歌曲集。将项目的视图改变为另一表示的进程称为“堆栈”。这是由于项目在概念上基于该表示被排入“栈”。在这一情况下,对不同歌曲集的每一个,歌曲被重新排列到栈。用户然后能够定位到这些栈之一,仅察看来自该特定歌曲集的歌曲。再一次,用户能够基于属性(如等级)将这些剩余歌曲的视图重新排列到栈。如果选择了等级属性,来自Beatles歌曲集的歌曲将在栈中以一、二或三星等级显示。
每一查询的结果取决于范围内包括了哪些物理位置。例如,可以令范围仅包括用户“我的文档”文件夹中的文件夹。可选地,范围可以包括计算机上的所有文件夹,或者甚至多个网络连接的计算机上的文件夹。用户能够通过范围属性表单察看并改变范围。在一个示例中,可以通过右键点击虚拟文件夹并选择“properties(属性)”来展现范围属性表单。用户能够向范围添加新的文件夹,或移除先前添加的文件夹。
虚拟文件夹向其提供特定实用工具的一组用户为知识工作者(knowledgeworker)。虚拟文件夹允许知识工作者方便地在察看的文档时按照文件类型、项目、件号、作者等等来切换。由于每一知识工作者倾向于使用不同方法来组织文档,虚拟文件夹可以用来适应这些不同的偏好。
图5是依照硬盘上的物理文件夹排列的文件夹结构的树形图。这一物理文件夹排列基于传统的文件夹实现,可能基于NTFS或其它现有的文件系统。这类文件夹被称为物理文件夹,因为它们的结构基于盘上的实际物理底层文件系统结构。如后文所详细讨论的,这与虚拟文件夹相反,虚拟文件夹创建与位置不相关的视图,允许用户以与当前用来操作物理文件夹类似的方式操作文件和文件夹。
如图5所示,文件夹400是“我的文档”文件夹。在第一级,文件夹400包括文件夹410、420和430,分别对应于客户1、2和3。在第二级,文件夹410、420和430的每一个分别包含文件夹411、421和431,每一个都分别对应于所选择的客户的合同。在第三级,文件夹411、421和431的每一个分别包含文件夹412、422和432,每一个对应于2001年。在第三级,文件夹411、412和431的每一个也分别包含文件夹413、423和433,每一个对应于2002年。
可以理解,对于想要导航如图5所示的物理文件夹文件结构的用户来说存在许多障碍。例如,如果用户希望以用户生成的所有合同来工作,用户首先需要导航到文件夹411来达到客户1的合同,然后需要导航到文件夹421来达到客户2的合同,并且再一次需要导航到文件夹431来达到客户3的合同。这一排列令用户很难访问所有的合同,并且通常来说阻碍了所有合同的同时察看和操作。类似地,如果用户希望查看2001年生成的所有合同,用户需要分别导航并重导航到文件夹412、422和432。如后文将要详细描述的,本发明的虚拟文件夹提供了改进的文件系统结构。
图6是虚拟文件夹结构的树形图。如后文将要详细描述的,虚拟文件夹创建与位置不相关的视图,使用户能够方便地操作其文件和文件夹。如图6所示,虚拟文件夹表示为栈。虚拟文件夹500是“所有项目”文件夹。在第一级,虚拟文件夹500包含虚拟文件夹510、520和530,分别对应于客户、合同和年份。如后文将要详细描述的,这一结构允许用户依照所期望的参数来访问文件。
图7是图6的虚拟文件夹结构的树形图,其中,在第二级,虚拟文件夹510还包括虚拟文件夹511和512,分别对应于合同和年份。换言之,虚拟文件夹510的客户栈进一步按合同和年份来过滤。确定每一虚拟文件夹包含哪些文件和项目的进程在后文将详细描述。
图8是图7的虚拟文件夹结构的树形图,其中,在第三级,虚拟文件夹511包含虚拟文件夹513,对应于年份。换言之,虚拟文件夹511的合同栈进一步按年份过滤。尽管依照客户、合同和年份来构造虚拟文件夹510、511和513的虚拟文件夹结构,应当理解,虚拟文件夹允许出现其它结构顺序,如后文参考图9所详细描述的。
图9是图6的虚拟文件夹结构的树形图,其中,在第二级,虚拟文件夹520进一步过滤为虚拟文件夹521和522,对应于客户和年份。在第三级,虚拟文件夹521进一步过滤为虚拟文件夹523,对应于年份。图8和9的组织结构之间的对比帮助说明了虚拟文件夹系统的灵活性。换言之,在虚拟文件夹系统中,用户能够依照所期望的参数来导航虚拟文件夹,这与依赖于图5所示的与物理文件结构的位置相关的视图相反。
图10所示是示出文档库的栈的屏幕显示600的示图。如上所述,栈可以用来表示一类虚拟文件夹。如后文将要详细描述的,屏幕显示600包括快速链接元素610-613、过滤器元素620-626、活动元素630-633、信息和控制元素640-645以及虚拟文件夹栈651-655。
快速链接元素包括“all categories(所有类别)”的快速链接610、“all authors(所有作者)”的快速链接611、“January work(一月作品)”的快速链接612以及用于显示额外的快速链接的选择613。如后文将要详细描述的,用户能够选择快速链接来执行所期望的虚拟文件夹的导航。快速链接可以由系统提供,并且一些快速链接可由用户创建并保存。
过滤器元素包括“filter by(按……过滤)”指示器620、条目空白区621、“bydate(按日期)”指示器622、“year(年份)”指示器623、“pick an author(选择一个作者)”选择器624、“pick a category(选择一个类别)”选择器625以及“more filters(更多过滤器)”选择器626。“filter by”指示器620指示用户以下项目可以用来过滤虚拟文件夹或项目。条目空白区621提供了用户能够键入所期望的新过滤器条件的区域。“by date”指示器622指示用户通过从“year”选择器623选择日期可以按所选择的年份过滤虚拟文件夹或项目。“pick an author”选择器624允许用户依照特定的作者过滤。“pick a category”选择器625允许用户依照所选择的类别来过滤。“more filters”选择器626允许用户在显示器上弹出额外的过滤器。
活动选择器包括“create a new category(选择一个新类别)”选择器630、“activity(活动)”选择器631和632以及“more activities(更多活动)”选择器633。如后文将要详细描述的,所呈现的活动可能用于一般所期望的功能,或专门针对对当前所显示的虚拟文件夹类型有用的活动。例如,用户能够选择“create a newcategory”选择器630来创建由新栈表示的新类别。
如上所述,活动选择器631和632可以更专门地针对正在显示的文件夹或项目的类型。例如,当前的显示是文档库,对于文档库,“activity”选择器631和632可能针对专门为文档设计的活动,如编辑或创建附件。如果当前库为照片库,则“activity”选择器631和632可能是专门针对照片的行动,如组成照片相册或与其他用户共享照片。
信息和控制元素包括信息行640和641、控制行642、回退控制643以及信息行644和645。信息行640和641提供了虚拟文件夹或项目的当前导航的信息。在本示例中,信息行640指示当前导航为文档库,而信息行641指示更完整的导航,显示文档库处于存储范围之内。控制行642提供了若干标准控制,回退按钮643允许用户通过导航返回。信息行644提供了关于当前的导航的内容的数值信息。在本示例中,信息行644指示有41个项目,占用了文档库的栈中100MB。信息行645可用来提供额外的信息,如关于选择的文件的额外的信息。
文档库的栈包括“ABC Corp.”栈651、“backups(备份)”栈652、“businessplans(商业计划)”栈653、“XYZ Corp.”栈654以及“marketing reports(市场报告)”栈655。每一栈顶部的数字指示每一栈中有多少项目。例如,示出“ABCCorp.”栈651包括8个项目。栈的总项目数合计达信息行644所指示的项目数,如上所述本示例中为41。提供了选择框SB,可由用户用来选择所期望的项目。对“ABC Corp.”栈651的选择得到该栈的项目的视图,如后文关于图11所描述的。
图11所示是显示图10的“ABC Corp.”栈651中的项目的屏幕显示的示图。应当注意,信息行640和641现在指示当前导航显示了“ABC Corp.”栈。示出“ABCCorp.”栈651包括8个文档751-758,分别对应文档1-8。信息行644相应地指示有8个项目,占用20MB的存储器。图11的文档可以进一步排列为ABC Corp.栈内的栈。换言之,在由ABC Corp.栈651表示的虚拟文件夹内,可以组织另外的虚拟文件夹来容纳文档,如后文关于图12-16所描述的。
图12所示是在其中对图11的文档选择堆栈功能的屏幕显示的示图。如图12所示,用户能够弹出功能框760。功能框760包括“view(察看)”选择761、“arrangeicons by(按……排列图标)”选择762、“stacks(栈)”选择763、“refresh(刷新)”选择764、“open containing folders(打开包含的文件夹)”选择765、“cut(剪切)”选择766、“copy(复制)”选择767、“undo(撤消)”选择768、“new(新建)”选择769以及“properties(属性)”选择770。示出选择框SB围绕“stacks”选择763。
图13所示是在其中对图12的堆栈功能选择“stackby author(按作者堆栈)”参数的屏幕显示的示图。如图13所示,显示呈现各种堆栈选项的框780。堆栈选项包括“unstack(拆栈)”选项781、“stack by category(按分类堆栈)”选项782、“stack by author(按作者堆栈)”选项783以及“stack by user(按用户堆栈)”选项784。示出选择框SB围绕“stack by author”选项783。
图14所示是在其中按作者对图13的文件进行堆栈的屏幕显示的示图。如图14所示,栈791和792分别对应作者Bob和Lisa。如每一栈的顶部的数字所指示的,Bob栈791包括2个项目,而Lisa栈792包括5个项目。项目758(对应于文档8)没有作者,因此不包括在“author(作者)”栈中。栈791和792说明栈可以在多级上组织,如在“ABC Corp.”栈651之内。因此,虚拟文件夹可以在多级上形成,如“Lisa”栈792处于文档库内的“ABC Corp.”栈之内。
图15所示是在其中进一步选择“stack by category(按分类堆栈)”选项以对图14的文件重新堆栈的屏幕显示的示图。如图15所示,选择框SB围绕“stack bycategory”选项782。由于一些项目已堆积进栈791和792中,选择“stack by category”选项782将对项目进行重新堆栈,如下文参考图16所详细描述的。
图16所示是在其中按分类对图14的文件重新堆栈的屏幕显示的示图。如图16所示,栈793和794分别对应于“XYZ Corp.”和“marketing reports”类别。对应于文档1和文档2的项目751和752未被指定于任一额外的类别,因此不落入任一其他分类栈。
图17所示是在其中对物理文件夹选择快速链接的屏幕显示的示图。示出选择框SB围绕“all folders(所有文件夹)”快速链接616。如后文关于图18所详细描述的,“all folders”快速链接616提供了向物理文件夹的视图的切换。
图18所示是示出物理文件夹的屏幕显示的视图。示出的物理文件夹包含图17的虚拟文件夹栈的文件。换言之,包含在图17的栈651-655之内的项目也包含在系统的特定物理文件夹中。这些在图18中示出为位于当前计算机上的“MyDocuments(我的文档)”文件夹851、位于当前计算机上的“Desktop(桌面)”文件夹852、位于硬盘C上的“Foo”文件夹853、位于服务器上的“My Files(我的文件)”文件夹854、位于外部驱动器上的“External Drive(外部驱动器)”文件夹855、位于另一计算机上的“My Documets(我的文档)”文件夹856以及位于另一计算机上的“Desktop(桌面)”文件夹857。
如图18所示,用户能够从图17的虚拟文件表示切换到图18的物理文件表示。这允许用户在虚拟文件表示和物理文件表示之间来回切换,取决于当前任务期望哪一表示。物理文件夹851-857的不同位置也说明虚拟文件系统的范围可以是相对宽广的,如后文所详细描述的。
图19所示是用户通过其能够直接操作虚拟文件夹的例程880的流程图。如后文将要详细描述的,为操作虚拟文件夹所提供的机制类似于当前用于操作常规文件夹(如点击和拖曳、复制、粘贴等等)的机制。如图19所示,在块882,系统提供定义的活动,用户可以执行这些行动来直接操作表示为显示对象的虚拟文件夹。在块884,用户执行定义的活动。如上所述,这一活动的一个示例可能是用户点击并拖拽虚拟文件夹以将其内容复制到另一虚拟文件夹。在块886,如用户执行的活动所指示的来操作虚拟文件夹和/或内容。
图20所示是在其中将新的West Coast栈656添加到图10的栈的屏幕显示的示图。West Coast栈656通过由用户创建新的“West Coast”类别来形成。在其初始创建时,新的West Coast栈656为空,且具有0项目。在图20的实施例中,将2个项目添加到West Coast栈656。一种用于向栈添加项目的方法是选择一个特定的项目,然后对该项目的分类元数据或者修改或者添加额外的类别,如添加类别“West Coast”到2个项目,如图20的实施例所完成的。这一进程说明类别数据是项目的元数据属性,是一种特设属性类型。换言之,这一类型的属性不具有任何隐含的意义,可以由用户赋予任意值。例如,类别“property(属性)”能够具有任意值,而“author(作者)”属性应当为人名。如后文参考图21将要详细的描述,也可以点击并拖曳项目以从其他栈复制到West Coast栈656(在这一情况下,项目的类别被自动更新来包括“West Coast”)。在这点上,图20示出选择框SB围绕ABC Corp.栈651,准备复制其内容。
图21所示是在其中使用直接操作以将文件从ABC Corp.栈651复制到WestCoast栈656的屏幕显示的示图。换言之,如图20所示,用户选择ABC Corp.栈651,然后如图21所示,用户点击并拖曳该栈来复制到West Coast栈656。由此,图20中具有2个项目的West Coast栈656现在显示为包括总共10个项目,包括来自ABC Corp.栈651的另外8个项目。当来自ABC Corp.栈651的项目被复制到West Coast栈656时,这通过将8个项目的类别描述修改为除包括原始的“ABCCorp.”类别之外也包括“West Coast”类别来实现。这说明了可执行的一种类型的直接操作。
直接操作的另一示例是右键点击一个项目并选择删除。在一个实施例中,当用户选择删除功能时,向用户查询该项目是否应当被一起删除,或仅从当前虚拟文件夹移除。如果如上所述仅从当前虚拟文件夹分类栈中移除,这可以通过从项目的元数据移除期望的分类来实现。换言之,如果从ABC Corp.栈651复制到West Coast栈656的项目的其中之一然后将要从West Coast栈656中移除,这可以通过将特定文件的类别数据修改为不再包括“West Coast”分类来实现。
图22所示是用于系统动态生成新过滤器条件的例程900的流程图。过滤器条件用来操作虚拟文件夹。过滤器条件本质上用作用于缩减项目的集合的一组工具。在一个实施例中,过滤器包括元数据类别及其值(在用户界面中以可点击的链接或下拉菜单呈现给用户)。用户点击过滤器条件来过滤显示器上的项目的当前结果集合。
图22说明了如何动态地生成过滤器。如图22所示,在块902,审查当前显示上的集合中项目的属性(来自元数据)。在块904,基于项目的公共属性动态地生成建议的过滤器条件。在块906,向用户呈现建议的过滤器条件来对过滤项目目进行可能的选择。作为这一进程的一个示例,系统可能审查一组项目的属性,如果项目一般具有“Authors(作者)”属性,则过滤器可以提供可供过滤的作者的列表。然后,通过点击特定的作者,不具备该作者的项目被从显示上的组中移除。这一过滤进程向用户提供了一种用于缩减显示器上的项目的集合的机制。
图23所示是用于系统基于所选择的过滤器条件过滤项目的例程920的流程图。在块922,用户或者输入新过滤器条件,或者选择系统呈现的过滤器条件之一。如上所述,过滤器条件可以由系统动态地生成,或可以预设。在块924,评估来自显示器上的集合的项目,其所选择的属性是否匹配过滤器条件。例如,如果过滤器条件是对于作者为“Bob”的项目,则依照其作者属性是否包括“Bob”来评估该项目。在块926,其选择的属性不匹配过滤器条件的项目被从显示器的集合中移除。
图24所示是在其中按条件“AB”过滤图10的栈的屏幕显示的示图。如图所示,在过滤器区域621中,用户键入条件“AB”。信息行640和641指示显示器中的项目现在为按条件“AB”过滤的项目。如图所示,ABC Corp.栈651仍包含8个项目,而Backups栈652现在包含3个项目,XYZ Corp.栈654也包含3个项目。由此,信息行644指示总共有14个项目,占用总共35MB的存储器。
图25所示是在其中按条件“ABC”过滤图10的栈的屏幕显示的示图。对于图24的过滤器条件“AB”,用户仅需键入另外一个字母“C”来作出过滤器条件“ABC”。如图25所示,信息行640和641现在指示显示器上的项目是包含条件“ABC”的项目。仍示出ABC Corp.栈651包含8个项目,而Backups栈652现在仅包含2个项目。信息行644现在指示显示器上的栈中总共有10个项目,占用25MB的存储器。由此,图24和25提供了用户如何输入新过滤器条件以及之后如何使用这些过滤器条件来过滤显示器上示出的项目的示例。
图26所示是在其中选择系统提供的过滤器条件“year 2002(2002年)”的屏幕显示的示图。如上所述,在“by date(按日期)”指示器622下面,年份选择器623包括年份2000、2001或2002。示出选择框SB围绕年份2002,指示用户选择它作为所期望的过滤器条件。
图27所示是在其中应用过滤器条件“2002”的屏幕显示的示图。同时示出的还有对“pick a month(选择一个月)”选择器623A的选择。如图27所示,在应用过滤器条件“2002”之后,栈中的项目数被减少。更具体地而言,ABC Corp.栈651现在包含6个项目,Backups栈652现在包含8个项目,Business Plans栈653现在包含3个项目,XYZ Corp.栈654现在包含5个项目。信息行644现在指示总共有22个项目,占用50MB的存储器。信息行640和641现在指示显示器上的项目是被过滤以包含过滤器条件“2002”的项目。
图28所示是在其中呈现用于选择月份来过滤的列表屏幕显示的示图。提供了包括月份列表的框950。在显示上提供框950是由于用户选择了“pick a month”选择器623A。示出选择框SB围绕January(一月)这一月份。
图29所示是在其中图28的栈进一步按一月过滤的屏幕显示的示图,还示出了过滤器条件“day(日)”。如图29所示,信息行640和641现在指示显示上的项目是按条件“January”过滤的项目。示出Backups栈652现在包含2个项目,而Business Plans栈653也包含2个项目。信息行644指示显示器上总共有4个项目,占用总共10MB的存储器。如果用户希望进一步将结果过滤到一个特定的日,则提供了“pick by day(按日选择)”选择器623B。
图30所示是用于创建新快速链接的例程940的流程图。如后文将要详细描述的,快速链接是预定义的链接,用户能够点击该快速链接来创建用户选择的项目的集合的视图。在一个实施例中,快速链接可认为是一种数据透视表。快速链接提供了一种用于检取虚拟文件夹的机制。点击快速链接可以将用户带到所期望的文件夹(正如点击“favorites(收藏夹)”将用户带到web站点)。快速链接能够由系统预定义,或者由用户设定。例如,点击“all authors(所有作者)”将返回按作者堆栈的视图。点击“all documents(所有文档)”可返回所有存储区域的所有文档的平面视图。用户也可以创建其自己的快速链接。
如图30所示,在块942,用户在显示器上作出选择,指示应当从当前过滤器条件或导航形成新的快速链接。在块944,用户提供新快速链接的新名称。在块946,保存新快速链接并且在显示器上的快速链接部分中提供新快速链接名称。
图31所示是用于基于图29的过滤创建名为“Janauray Work(一月作品)”的新快速链接的屏幕显示的视图。如上所述,在图29,栈已由一月过滤。在图31,用户指示应当将图29的过滤保存为新快速链接,并将该新快速链接命名为“Januarywork”。由此,在显示器的快速链接部分中示出了新的“January work”快速链接612。对于形成新快速链接,一般向用户提供一选项如“save this collection as a quicklink(将该集合保存为快速链接)”。
图32所示是在其中选择“All Authors(所有作者)”快速链接的屏幕显示的视图。如图32所示,示出选择框SB围绕“All Authors”选择611。可由快速链接访问的集合的其他示例包括“all author”、“recent documents(最近文档)”、“all documents I′ve shared(我共享的所有文档)”、“all documents I′ve authored(我创作的所有文档)”、“all documents not authored by me(不是由我创作的所有文档)”、“all documents not authored by me(不是由我共享的所有文档)”、“desktop(桌面)”以及“all types(所有类型)”。
图33所示是在其中呈现图32的项目的所有作者的列表的屏幕显示的示图。如图33所示,提供了信息行950,指示显示项目的名称、作者、修改日期、类型、大小以及项目的位置的列。示出了作者列表951-954,分别对应于Author 1-4(作者1-4)。
图34所示是在其中从图33的列表选择“Author 1(作者1)”的屏幕显示的示图。作者1的文档包括文档951A和951B,分别对应文档1和2。示出文档951A由作者1创作,在2001年7月11日修改,该文档是Microsoft Execl文件,占用282Kb的存储,并从位置\\server1\folder2获得。示出文档951B由作者1创作,在2002年12月22日修改,该文档是Microsoft Word文件,占用206千字节的存储器,并且物理地储存在位置My Documents\folder1中。文档951A和951B的位置也说明本发明的虚拟文件夹可以包含来自不同物理的位置项目,如后文所详细描述的。
图35所示是用于创建新库的例程960的流程图。库的一个示例是上文参考图10描述的文档库。一般而言,库包括可以共同关联的文件的有用类型的大组。例如,照片可以是一个库,音乐可以是另一个库,文档可以是再一个库。库可以提供与特定类型的项目相关的工具和活动。例如,在照片库中,有许多与操作照片相关的工具和过滤器,如用于创建放映幻灯片或共享图片的工具和过滤器。如图35所示,在块962,创建新库,包括具有所选择的特征的项目。在块964,将所选择的项目分组为库。在块966,提供了与项目的所选择的特征或其他所期望的功能相关的工具和/或活动。
图36所示是在其中示出了可用库的集合的屏幕显示的示图。如图36所示,库包括文档库971、照片和视频库972、音乐库973、消息库974、联系人库975以及电视和电影库976,还有所有项目的库977。示出所有项目的库977包括275个项目,是来自所有其他组合的库的项目的总数。信息行644指示总共有275个项目,占用700MB的存储器。应当注意,文档库971是上文参考图10所描述的库。
图37所示是用于定义虚拟文件夹集合的范围的例程990的流程图。如后文所详细描述的,虚拟文件夹系统能够表示来自多个物理位置(如,不同的硬盘驱动器、不同的计算机、不同的网络位置等等)的项目,使得对用户而言,所有项目都是容易访问的。例如,可以在单个显示上向用户呈现来自多个物理位置的音乐文件,并且一次操作所有的文件。
如图37所示,在块992,定义了要从其提取项目的物理位置的范围。在块994,作为对查询的响应,从范围中定义的物理位置提取项目。在块996,所有由查询提取的项目在单个显示器上呈现。
图38所示是可以形成虚拟文件夹集合的范围的不同源的示图。如图38所示,系统1000可包括当前计算机1010、另外的计算机1020、外部可移动存储1030以及网络1040上的位置。描述总体范围1001包括从其提取用户的项目来创建集合的所有物理位置。范围可由用户设定和修改。如上所述,其他示图说明了项目可以来自不同的物理位置,如图34示出来自服务器和当前计算机的My Documents文件夹的不同文档,而在图8中示出的物理地储存在多个位置的物理文件夹。
图39所示是用于在虚拟文件夹集合中包括非文件项目的例程1080的流程图。非文件项目与通常位于物理文件存储中的文件项目形成对比。非文件的示例是诸如电子邮件或联系人的东西。如图39所示,在块1082,使用数据库来包括可以由查询搜索的非文件项目以及文件项目。在块1084,作为对查询的响应,提取非文件项目和文件项目来匹配该查询。在块1086,在显示器上呈现匹配查询的非文件项目和文件项目。
图40所示是显示各种非文件项目的屏幕显示的示图。如图40所示,项目被过滤为包含“John”的项目。示出的项目包括联系人项目1101、电子邮件项目1102以及文档项目1103和1104。联系人项目1101和电子邮件项目1102是非文件项目。当前系统允许与常规文件一起包括这类非文件项目,使得它们能够如所期望的由用户组织并操作。如上文参考图2所描述的,这类非文件项目可以整体地包含在关系数据库230中,关系数据库230另外还包括关于文件的属性的信息。
尽管说明并描述了本发明的较佳实施例,可以理解,可以在不脱离本发明的精神和范围的情况下在其中作出各种变化。
在其中要求了独占的所有权或特权的本发明的实施例由所附权利要求书定义。
权利要求
1.在具有显示器的计算机系统中,一种用于显示项目的方法,其特征在于,所述方法包括定义从其提取项目的物理存储器位置的范围,所述范围包括当前计算机存储器以及至少一个其它物理位置;接收查询,并且作为对所述查询的响应,从所述范围中定义的物理位置提取项目;以及在显示器上的视图中呈现根据所述查询提取的项目。
2.如权利要求1所述的方法,其特征在于,所述至少一个其它物理位置是另一计算机。
3.如权利要求1所述的方法,其特征在于,所述至少一个其它物理位置是网络上的位置。
4.如权利要求1所述的方法,其特征在于,所述至少一个其它物理位置是外部存储设备。
5.如权利要求1所述的方法,其特征在于,所述查询需要搜索项目的特定元数据属性。
6.如权利要求1所述的方法,其特征在于,根据所述查询提取的所述多个项目以一个或多个虚拟文件夹的形式在所述显示器的视图中呈现。
7.如权利要求1所述的方法,其特征在于,显示器上的所述视图可以切换到指示物理储存所述项目的物理位置的物理文件夹视图。
8.如权利要求1所述的方法,其特征在于,根据所述查询提取的项目包括文件项目和非文件项目。
9.如权利要求8所述的方法,其特征在于,所述非文件项目包括联系人或电子邮件的至少其中之一。
10.一种计算机可读媒质,它具有用于实现在显示器上显示项目的方法的计算机可执行组件,其特征在于,所述方法包括定义从其提取项目的物理存储器位置的范围,所述范围包括当前计算机存储器以及至少一个其它物理位置;接收查询,并且作为对所述查询的响应,从所述范围中定义的物理位置提取项目;以及在显示器的视图中呈现根据所述查询提取的项目。
11.如权利要求10所述的方法,其特征在于,所述至少一个其它物理位置包括不同计算机、网络上的位置以及外部存储设备的至少其中之一。
12.如权利要求10所述的方法,其特征在于,所述查询需要搜索项目的特定元数据属性。
13.如权利要求10所述的方法,其特征在于,在显示器的所述视图中呈现的多个所述项目以一个或多个虚拟文件夹的形式呈现。
14.如权利要求10所述的方法,其特征在于,在显示器上的所述视图可以切换到指示储存所述项目的所述物理位置的物理文件夹视图。
15.如权利要求10所述的方法,其特征在于,根据所述查询提取的项目包括文件项目和非文件项目。
16.一种用于显示项目的系统,其特征在于,所述系统包括用于定义从其提取项目的物理存储器位置的范围的装置,所述范围包括当前计算机存储器以及至少一个其它物理位置;用于从所述范围中定义的所述物理位置提取项目来作为对所述查询的响应的装置;以及用于在显示器的视图中呈现根据所述查询提取的项目的装置。
17.如权利要求16所述的系统,其特征在于,它还包括用于搜索项目的特定元数据属性的装置。
18.如权利要求16所述的系统,其特征在于,它还包括用于在显示器的所述视图中提供表示多个所述项目的虚拟文件夹的装置。
19.如权利要求16所述的系统,其特征在于,它还包括用于切换到指示储存所述项目的所述物理位置的物理文件夹视图的装置。
20.如权利要求16所述的系统,其特征在于,它还包括用于在根据所述查询提取的所述项目中包括非文件项目和文件项目的装置。
21.在具有显示器和用于储存项目的存储器的计算机系统中,一种用于向用户表示所述项目的方法,其特征在于,所述方法包括提供允许根据查询搜索非文件项目和文件项目的数据库;接收查询,并且作为对所述查询的响应,提取匹配所述查询的非文件项目和文件项目;以及在所述显示器上呈现匹配所述查询的所述非文件项目和文件项目。
22.如权利要求21所述的方法,其特征在于,所述非文件项目包括联系人。
23.如权利要求21所述的方法,其特征在于,所述非文件项目包括电子邮件。
24.如权利要求21所述的方法,其特征在于,提供的所述关系数据库包括所选择的关于文件项目的信息。
25.如权利要求24所述的方法,其特征在于,所述关系数据库整体上容纳一个或多个非文件项目。
26.如权利要求21所述的方法,其特征在于,根据所述查询搜索的项目储存在不同的物理位置中。
27.如权利要求26所述的方法,其特征在于,所述不同物理位置包括当前计算机以及不同计算机、网络上的位置和外部存储设备的至少其中之一。
28.如权利要求21所述的方法,其特征在于,匹配所述查询的多个所述项目以一个或多个虚拟文件夹的形式在所述显示器上呈现。
29.如权利要求28所述的方法,其特征在于,所述一个或多个虚拟文件夹包括非文件项目和文件项目。
30.一种具有用于实现显示项目的方法的计算机可执行组件的计算机可读媒质,其特征在于,所述方法包括提供允许根据查询搜索非文件项目和文件项目的数据库;接收查询,并且作为对所述查询的响应,提取匹配所述查询的非文件项目和文件项目;以及在所述显示器上呈现匹配所述查询的所述非文件项目和文件项目。
31.如权利要求30所述的方法,其特征在于,所述非文件项目包括联系人和电子邮件的至少其中之一。
32.如权利要求30所述的方法,其特征在于,所述允许搜索非文件项目和文件项目的数据库是容纳关于所述文件项目的信息的关系数据库。
33.如权利要求32所述的方法,其特征在于,所述关系数据库也整体上容纳多个非文件项目。
34.如权利要求30所述的方法,其特征在于,被提取来匹配所述查询的多个所述项目储存在不同物理位置中。
35.如权利要求30所述的方法,其特征在于,根据所述查询提取的多个所述项目以一个或多个虚拟文件夹的形式在所述显示器的所述视图中表示。
36.一种用于显示项目的系统,其特征在于,所述系统包括用于提供允许根据查询搜索非文件项目和文件项目的数据库的装置;用于提取非文件项目和文件项目作为对查询的响应的装置;以及用于在显示器的视图中呈现匹配所述查询的非文件项目和文件项目的装置。
37.如权利要求36所述的系统,其特征在于,它还包括用于在所述数据库中储存关于文件项目的信息的装置。
38.如权利要求37所述的系统,其特征在于,所述数据库整体上容纳多个非文件项目。
39.如权利要求36所述的系统,其特征在于,它还包括在不同的物理位置储存多个所述文件项目。
40.如权利要求36所述的系统,其特征在于,它还包括用于提供包含文件项目和非文件项目的一个或多个虚拟文件夹的装置。
全文摘要
一种用于显示来自不同物理位置的不同类型的项目的文件系统。依照本发明的一个方面,有大范围的项目可用。换言之,系统能够表示来自多个物理位置(如不同的硬盘驱动器、不同的计算机、不同的网络位置等等)的项目,使对用户而言,所有项目看似来自一个位置。该文件系统使用虚拟文件夹。虚拟文件夹基于其元数据而非盘上的实际物理底层文件系统结构在不同的视图中向用户展现常规文件和文件夹。依照本发明的另一方面,可以在虚拟文件夹中表示非文件项目。换言之,储存在存储器中的文件位于物理存储中。可以令虚拟文件夹包括当前未在物理存储中表示的项目。非文件项目的示例是电子邮件和联系人。
文档编号G06F17/30GK1656478SQ03801950
公开日2005年8月17日 申请日期2003年5月16日 优先权日2003年3月27日
发明者J·F·摩尔, D·G·德沃切克, S·C·查利凡德拉, N·H·巴楼, C·J·古扎克, S·A·卡斯腾, R·M·班克斯, D·J·西尔顿, P·L·麦纳 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1