CN1864129B - 用于向用户提交相关项的系统和方法 - Google Patents

用于向用户提交相关项的系统和方法 Download PDF

Info

Publication number
CN1864129B
CN1864129B CN2004800013932A CN200480001393A CN1864129B CN 1864129 B CN1864129 B CN 1864129B CN 2004800013932 A CN2004800013932 A CN 2004800013932A CN 200480001393 A CN200480001393 A CN 200480001393A CN 1864129 B CN1864129 B CN 1864129B
Authority
CN
China
Prior art keywords
item
data
shell
user
relation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2004800013932A
Other languages
English (en)
Other versions
CN1864129A (zh
Inventor
T·P·米基
D·G·德沃契克
D·J·谢尔登
C·J·古扎克
J·F·穆尔
K·B·卡拉塔尔
G·谢拉
L·J·彼德森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1864129A publication Critical patent/CN1864129A/zh
Application granted granted Critical
Publication of CN1864129B publication Critical patent/CN1864129B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

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

Abstract

一种用于将相关项提交给用户的系统和方法。提供了包含多个项的通用数据存储器。一部分项包含允许确定多个项中两个或多个之间的关系的相关信息。外壳将选定项提交给用户,并且被配置成利用相关信息来提交数据存储器中与选定项相关的一个或多个项。

Description

用于向用户提交相关项的系统和方法
技术领域
本发明一般涉及计算机软件领域,尤其涉及用于向用户显示存储在计算机上的各项的系统和方法。
背景技术
无论该信息的格式或位置如何都向计算机用户提供快速查找并显示一条信息的能力是多年来计算机业界奋斗多年的挑战。如今,随着在其日常工作中使用计算机的人的增加以及存储在计算机上信息类型的日趋多元化,上述问题变得更加突出了。
通常,如在微软公司的98TM中,该存储信息以存储在文件夹中的信息或介质的文件所组织的分层结构方式被保存在计算机数据库中。尽管这种数据存储方法已经被广泛使用多年,但是它有局限性,因为某些数据驻留在文件分层结构之外,且当用户搜索需要的信息时受到格式和位置的限制。因此,计算机软件供应商目前正在寻找可替换传统文件分级结构的数据存储方法。
在共同所有的待批美国专利申请(编号未指定,律师案号.MSFT-1784)“SYSTEM AND METHOD FOR REPRESENTING UNITS OF INFORMATIONMANAGABLE BY A HARDWARE/SOFTWARE INTERFACE SYSTEM BUTINDEPENDENT OF PHYSICAL REPRESENTATION”中揭示了这样的数据存储备选方案的一个示例。该待批申请于2003年8月21日提交,并揭示了将各存储统一为单个数据库的数据存储。该数据库就是存储所有数据的一个地方;仅有一种方法将数据提交给数据库,也仅有一种方法来查询数据。通过用这种现代化的数据库技术来替换古老的文件系统,数据存储会变得容易搜索、更可靠、更容易访问,且更有弹性。
一旦这个统一的数据存储准备妥当,就需要向用户提供适当的工具和能力,以与存储数据进行交互。传统的操作系统,如微软公司的
Figure S04801393219970225D000012
2000TM,包括提供用于查看有关计算机的不同信息的用户界面的外壳应用程序。该外壳通常包括文件系统浏览器,其使用户能对文件系统导航,以及查找并打开文件和文件夹。例如,微软公司的
Figure S04801393219970225D000021
资源管理器TM是包括在视窗
Figure S04801393219970225D000022
2000TM中的文件系统浏览器实用程序。
该外壳也使用户能查看诸如打印机或字体的非文件项。该导航是可能的,因为典型的外壳是用特定功能性进行编程的,以像这些项位于文件系统中一样来显示这些特别项。例如,在2000TM中,用户可打开位于开始菜单上设置选项中的“打印机”文件夹。由于打印机是硬件部分而并非文件,所以打印机的图形表达是通过使用定制码而完成的,目的是像打印机是驻留在“打印机”文件夹中的文件一样来显示打印机。然而,对开发者实现而言使用定制码和定制绘图例外的实现是复杂的,可能是不可靠的,并会减少外壳浏览器的弹性。此外,如果没有这种类型的定制码和定制绘图例外,则外壳将不能显示该类项。因此,传统的外壳在向用户显示特定的项时,能力和灵活性是受限制的。
传统外壳浏览器的另一个限制是以相关方式来显示项的能力受限。通常,可操作外壳浏览器来仅以存储各项的分层结构方式来显示它们一在存储于文件夹中的文件内组织。例如,若用户想要查看所有存储在计算机中的图片文件,则用户首先必须将所有这样的图片文件置入同一文件夹中。由于外壳确定项之间关系的能力有限,所以对用户而言查看关系驱动环境中的文件就困难了。
此外,常规外壳浏览器显示环境定制环境中的项集的能力受限,该环境定制环境将有关信息和任务与该组显示项进行配对。开发者通过提供这样的配对可向用户提供在项之间进行导航所需的适当信息和工具,同时促进与项相关联的普通任务的性能。然而,现有技术不允许开发者不使用定制码就提供这样的体验。
通过使用定制码在增强环境中呈现的文件范例是包括在微软公司的
Figure S04801393219970225D000024
XPTM操作系统中我的照片(My Pictures)文件夹。当图像文件被存储在我的照片文件夹中时,用户能以不同的尺寸来查看图像、旋转图像、以幻灯片形式查看、打印图像、或者将图像复制到CD。
Figure S04801393219970225D000025
XPTM中的外壳已经利用定制码将这些图像相关的任务结合到这个文件夹的显示中,从而当用户选择将照片存储在该特定文件夹中时,能够容易地在照片中导航,并执行与文件相关的普通任务。然而,仅有存储在我的照片文件夹中的文件被显示在这个环境中,而定制码被用来创建这个功能性。尽管我的照片文件夹是对传统项提交的改进,但是开发者不使用定制码而定义这样的内容丰富环境的能力仍然有限。
因此,需要一种经改进外壳,它能够显示通用数据存储器中的每个项,而且还需要一种经改进外壳,它被配置在关系驱动环境中提交通用数据存储器中的项。对开发者而言,还需要外壳内的经改进能力,以创建不需要定制码就能显示具有适当环境信息和相关任务的项的定制环境。
发明内容
通过向用户提供被配置以提交存储在数据存储器中的相关项的系统,本发明符合上述需要并克服现有技术中的一个或多个缺陷。在本发明一方面中,提供了用于向用户提交相关项的系统。包括包含多个项的通用数据存储器。数据存储器中至少部分的项包含相关信息。外壳使用相关信息来提交相关项。
本发明另一方面是用于向用户提交相关项的计算机可实现方法。该方法访问通用数据存储器中的数据,它包含包括允许数据存储器中项之间的关系被确定的信息的项。使用这个关系信息来确定项之间的关系,而且相关项被显示给用户。
附图说明
下面参照附图详细描述本发明,其中:
图1是适用于实现本发明的计算系统环境的框图;
图2A是示出被分成3个组件组的计算机系统的框图:硬件组件、硬件/软件接口系统组件,以及应用程序组件;
图2B示出在基于文件操作系统中的目录内分组的文件的传统的基于树分层结构;
图3是根据本发明示出存储平台的框图;
图4示出本发明各实施例中项、项文件夹和类别之间的结构关系;
图5是根据本发明一实施例,包含在项内的数据示图;
图6是根据本发明一实施例,示出用于向用户提交一个或多个项的方法的流程图;
图7是根据本发明一实施例,示出用于向用户提交一个或多个项的方法的流程图;
图8是根据本发明一实施例,示出视图模式分层结构的示意图;
图9是根据本发明一实施例,示出包括资源管理器视图模式的视图模式分层结构的示意图;
图10是根据本发明一实施例,示出用于向用户提交项的方法的流程图;以及
图11是根据本发明一个实施例,示出用于将相关项提交给用户的方法的流程图。
具体实施方式
I.绪论
本发明的主题是专门为满足法定需求而进行描述的。然而,该描述本身并不是要限制本专利的范围。相反,发明者已经预期到已声明主题也能结合其它现有或以后的技术用其它方式体现,以包括不同的步骤或类似于本文档中所述步骤的组合。此外,尽管术语“步骤”在此可用以暗示所用方法的不同元素,该术语不应被解释为暗示在此揭示的不同步骤之间或当中的任何特定次序,除非在明确说明单独步骤的次序时。
本发明提供用于将存储在计算机中的项显示给用户的经改进系统和方法。下面模式本发明的示例性操作环境。
A.示例性操作环境
本发明的许多实施例可在计算机上执行。图1和下面的讨论旨在提供其中可实现本发明的合适计算环境的简要描述。尽管并非必须,本发明各个方面能在计算机可执行指令的通用环境中描述,诸如由比如客户工作站或服务器的计算机所执行的程序模块。通常,程序模块包括执行特定任务或实现特定的抽象数据类型的例程、程序、对象、组件、数据结构等。此外,本发明可用其它计算机系统配置实践,包括手持式装置、多处理器系统、基于微处理器的或可编程的消费电器、网络PC、小型机、大型机,等等。本发明也可在分布式计算环境中实践,其中任务由经通信网络链接的远程处理装置执行。在分布式计算环境中,程序模块可位于本地或远程存储器存储器件中。
如图1所示,示例性通用计算系统包括常规个人计算机20等,它包括处理单元21、系统存储器22,以及将包括系统存储器的各个系统组件连接到处理单元21的系统总线23。系统总线23可以是若干总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线,以及使用多种总线体系结构任一种的局部总线。系统存储器包括只读存储器(ROM)24和随机存取存储器(RAM)25。包含帮助诸如在启动阶段,在个人计算机20的元件之间传递信息的基本例程的基本输入/输出系统26(BIOS被存储在ROM 24中。个人计算机20还可包括用于读自或写到硬盘的硬盘驱动器27(未示出)、用于读自或写到可移动磁盘29的磁盘驱动器28,以及用于读自或写到诸如CD ROM或其它的光学介质的可移动光盘31的光盘驱动器30。硬盘驱动器27、磁盘驱动器28和光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34与系统总线23相连。驱动器及其相关联的计算机可读媒体提供计算机可读指令、数据结构、程序模块和其它有关个人计算机20数据的非易失性存储。尽管在此说明的示例性环境使用硬盘、可移动磁盘29和可移动光盘31,但是本领域技术人员会认识到在示例性操作环境中也可使用计算机可访问的可存取数据的其它类型的计算机可读媒体,诸如盒式磁带、闪存卡、数字视频盘、伯努利卡、随机存取存储器(RAM)、只读存储器(ROM)等等。类似地,示例性环境可包括多种类型的监控装置,诸如热敏元件和安全或火灾报警系统,以及其它信息源。
许多程序模块可被存储在硬盘、磁盘29、光盘31、ROM 24或RAM 25中,包括操作系统35、一个或多个应用程序36、其它程序模块37和程序数据38。用户可将命令或信息通过诸如键盘40和定点装置42的输入装置输入到个人计算机20中。其它输入装置(未示出)可包括话筒、操纵杆、游戏垫、圆盘式卫星电视天线、扫描仪等等。这些和其它的输入装置通常通过与系统总线相连的串行端口接口46与处理单元21相连,但也可与诸如并行端口、游戏端口或通用串行端口(USB)的其它接口连接。监视器47或其它类型的显示装置也可通过诸如视频适配器48的接口与系统总线23相连。除监视器47之外,个人计算机通常包括其它的外围输出器件(未示出),诸如扬声器和打印机。图1的示例性系统也可包括主机适配器55、小型计算机系统接口(SCSI)总线56,以及与SCSI总线56相连的外部存储器件62。
个人计算机20可在使用与诸如远程计算机49的一个或多个远程计算机的逻辑连接的网络化环境中使用。远程计算机49可以是另一台个人计算机、服务器、路由器、网络PC、对等装置或其它公共网络节点,且通常包括与上述个人计算机20相关的许多或所有元件,尽管在图1中仅示出了存储器存储装置50。图1所述的逻辑连接包括局域网(LAN)51和广域网(WAN)52。这样的网络环境常见于办公室、企业范围计算机网络、内联网和因特网中。
当在LAN网络环境中使用时,个人计算机20通过网络接口或适配器53与LAN 51相连。当在WAN网络环境中使用时,个人计算机20通常包括调制解调器54或用于在诸如因特网的广域网52上建立通信的其它装置。可以内置或外置的调制解调器54通过串行端口接口46与系统总线23相连。在网络化环境中,所示与个人计算机相关的程序模块或其一部分,可被存储在远程存储器存储装置中。应当理解所示网络连接是示例性的,也可使用在计算机之间建立通信链接的其它装置。
如在图2A框图中所示,计算机系统200可被大致划分为三个组件组:硬件组件202、硬件/软件接口系统组件204,以及应用程序组件206(在此某些环境中也称作“用户组件”或“软件组件”)。
在计算机系统200的各个实施例中,并再参见图1,硬件组件202可包括中央处理单元(CPU)21、存储器(ROM 24和RAM 25)、基本输入/输出系统(BIOS)26,以及各种输入/输出(I/O)装置,诸如键盘40、鼠标42、监视器47和/或打印机(未示出)等等。硬件组件202包含用于计算机系统200的基本物理体系结构。
应用程序组件206包含不同的软件程序,包括但不限于,编译器、数据库系统、字处理器、商务程序、视频游戏等等。应用程序提供利用计算机资源来为不同用户(机器、其它计算机系统和/或终端用户)解决问题、提供解决方案并处理数据的装置。
硬件/软件接口系统组件204包括(而且在某些实施例中可仅包含)操作系统,其本身在大多数情况下包含外壳和内核。“操作系统”(OS)是用作应用程序和计算机硬件之间媒介的专用程序。硬件/软件接口系统组件204也可包括替换或附加到计算机系统中操作系统的虚拟机管理器(VMM)、公共语言运行时间(CLR)或其等效实体、Java虚拟机(JVM)或其等效实体,或者其它这样的软件组件。硬件/软件接口系统的目的是提供用户可执行应用程序的环境。任何硬件/软件接口系统的目标是使计算机系统便于使用,并有效利用计算机硬件。
硬件/软件接口系统通常在启动时被装入计算机系统,此后管理计算机系统中所有的应用程序。应用程序通过请求经应用程序接口(API)的服务而与硬件/软件接口系统交互。某些应用程序使终端用户能通过诸如公共语言或图形用户界面(GUI)的用户界面与硬件/软件接口系统交互。
通常,硬件/软件接口系统执行各种各样的应用程序服务。在多个程序可同时运行的多任务硬件/软件接口系统中,硬件/软件接口系统确定哪个应用程序应以何种顺序运行,且在依次切换到另一个应用程序之前允许每个应用程序多少时间。硬件/软件接口系统还管理多个应用程序中内部存储器的共享,并处理对诸如硬盘、打印机和拨号端口的附加硬件设备的输入和输出。硬件/软件接口系统还向每个应用程序(并且在某些情况下发送给终端用户)发送关于操作状态以及可能已经出现的任何错误的信息。硬件/软件接口系统也可卸载批作业(如打印)的管理,使初始应用程序不受该作业约束,且其可恢复其它的处理和/或操作。在可提供并行处理的计算机上,硬件/软件接口系统也可管理划分程序从而使其同时在一个以上处理器上运行。
硬件/软件接口系统外壳(在此简称为“外壳”)是对硬件/软件接口系统的交互式终端用户接口。(外壳也可被称为“公共解释程序”,或者在操作系统中被称为“操作系统外壳”)。外壳是可由应用程序和/或终端用户直接访问的硬件/软件接口系统的外层。“外壳浏览器”提供用户界面,使用户能查看硬件/软件接口并与之交互。与外壳相比,内核是直接与硬件组件交互的硬件/软件接口系统的最内层。
尽管可想象本发明许多实施例特别适合于计算机化系统,但本文档中内容并非旨在将本发明限制在这些实施例中。相反,当在此使用时,术语“计算机系统”旨在包含任何和所有能够存储并处理信息和/或能够使用该存储信息来控制装置本身行为或执行的装置,无论这些装置的特性是电子、机械、逻辑还是虚拟的。
B.传统的基于文件的存储
在如今绝大多数的计算机系统中,“文件”是可包括硬件/软件接口系统以及应用程序、数据集等等的可存储信息单元。在所有先进的硬件/软件接口系统(视窗系统、Unix、Linux、Mac OS、虚拟机系统等等)中,文件是可由硬件/软件接口系统操纵的信息的基本离散(可存储和可检索)单元(如数据、程序,等等)。所有文件组通常是以“文件夹”形式组织的。在微软的Windows、Macintosh操作系统以及其它硬件/软件接口系统中,文件夹是可作为单个信息单元检索、移动、或以其它方式操作的文件集合。这些文件夹被组织成称为“目录”的基于树形的分层结构排列(将在下面更详细说明)。在某些其它的硬件/软件接口系统中,诸如DOS、z/DOS以及大多数基于Unix的操作系统,术语“目录(directory)”和/或“文件夹”是可互换的,而早期的苹果计算机系统(如苹果IIe)使用术语“目录(catalog)”而并非“目录(directory)”;然而,当在此使用时,所有这些术语被认为是同义的并可互换的,而且还旨在包括所有用于或指向分层结构信息存储结构及其文件夹和文件组件的其它等效术语。通常,目录(又名文件夹目录)是基于树形的分层结构,其中文件被组合到文件夹中,而文件夹根据包括目录树的相关节点位置排列。例如,如图2B所示,基于DOS的文件系统的基础文件夹(或“根目录”)212可包括多个文件夹214,每个文件夹214又可进一步包括附加文件夹(如特定文件夹的“子文件夹”)216,而每个子文件夹216也可无限包括附加文件夹218。这些文件夹的每一个都可具有一个或多个文件220,尽管在硬件/软件接口系统层上文件夹中各个文件除了其在该树形分层结构中位置之外并无相同之处。将文件组织到文件夹分层结构中的这种方法间接反映了用来存储这些文件的典型存储介质(如硬盘、软盘、CD-ROM等)的物理组织并不奇怪。
除前述内容以外,每个文件夹是子文件夹和其文件的容器,即每个文件夹拥有其子文件夹和文件。例如,当文件夹被硬件/软件接口系统删除时,该文件夹的子文件夹和文件也被删除了(在每个子文件夹的情况下,还递归地包括其自身的子文件夹和文件)。同样地,每个文件通常仅由一个文件夹所有,且尽管文件可被复制而该副本位于不同的文件夹内,但文件副本本身是与原始文件无直接关联的独特的独立单元(例如,对原始文件的改变在硬件/软件接口系统层上并未被反映到副本文件中)。因此,文件和文件夹本质上是具“物理”特征的,因为文件夹视为物理容器,且文件被视为这些容器内的离散和独立的物理元素。
II.通用数据存储器
由本发明利用的存储平台扩展并加宽了上述现有文件系统类型之外的数据平台,并被设计为所有类型数据的存储器。被设计为保存所有类型数据的数据存储器可被称为通用数据存储器。适用于本发明的通用数据存储器的一个示例在共同所有、共同待批的申请“SYSTEM AND METHODS FOR REPRESENTING UNITS OFINFORMATION MANAGEABLE BY A HARDWARE/SOFTWARE INTERFACESYSTEM BUT INDEPENDENT OF PHYSICAL REPRESENTATION”中美国专利申请号(还未指定)(律师案号.MSFT-1748)归档于2003年8月21日的申请中说明,在此引入作为参考。
A.概述
参考图3,根据本发明存储平台300包含在数据库引擎314上实现的通用数据存储器302。在一实施例中,数据库引擎314包含具有对象相关扩展的相关数据库引擎。在一实施例中,相关数据库引擎314包含微软SQL服务器相关数据库引擎。
通用数据库存储器302实现支持数据的组织、搜索、共享、同步和安全的数据模型304。特定类型的数据以诸如模式340的模式来描述,且存储平台300提供用于采用并扩展那些模式的工具346,如下更加签名地说明。
在通用数据存储器302中实现的变化跟踪机制306提供跟踪数据存储器变化的能力。通用数据存储器302也提供安全能力308和提升/降级能力310。通用数据存储器302还提供一组应用编程接口312,以向利用该存储平台的其它存储平台组件和应用程序(如应用程序350A、350B和350C)展现通用数据存储器302的能力。
本发明的存储平台还包含应用编程接口(API)322,它使诸如应用程序350A、350B和350C的应用程序能够访问存储平台的所有前述能力,并访问以模式形式描述的数据。存储平台API 322可结合诸如OLE DB API 324和微软的视窗Win32API 326的其它API而被应用程序使用。
本发明的存储平台300可将多种服务328提供给应用程序,包括便于用户或系统之间数据共享的同步服务330。例如,同步服务330可允许与具有与数据存储器302相同格式的数据存储器340的互操作性,以及对具有其它格式的数据存储器342的访问。存储平台300还提供文件系统能力,它允许通用数据存储器302与诸如视窗NTFS文件系统318的现有文件系统的互操作性。
在至少某些实施例中,存储平台320还可提供具有附加能力的应用程序,它用于使能在数据上起作用,并用于使能与其它系统的交互。这些能力可体现在附加服务328的形式中,诸如信息代理服务334和通知服务332,并体现在其它实用程序336的形式中。
在至少某些实施例中,存储平台被包括在,或形成计算机系统的硬件/软件接口系统的完整部分。例如,而非限制,本发明的存储平台可被包括在,或形成操作系统、虚拟机管理器(VMM)、公共语言运行时间(CLR)或其等效实体,或者Java虚拟机(JVM)或其等效实体的完整部分。
通过其公共存储功能以及系统化的数据,本发明的存储平台使能对消费者、技术工人和企业的更有效的应用程序开发。它提供丰富的和可扩展的编程平面区域,不仅使其数据模型中内在的能力可用,而且也包含并扩展现有的文件系统和数据库存取方法。
B.数据模型
本发明存储平台300的通用数据存储器302实现一种数据模型,它支持驻留在该存储器中数据的组织、搜索、共享、同步和安全性。在本发明的数据模型中,存储信息的基本单元可被称为项。数据模型提供一种机制,用于声明项以及项扩展,并用于确立项之间的关系以及用于将项组织到文件夹和类别中。
在本发明一实施例中,数据模型依赖于两个基本机制,类型(Type)和关系(Relationship)。类型是提供管理该类型实例形式的格式的结构。格式被表述为属性(Property)的有序集。属性是给定类型的一组值或值的名称。例如,USPostalAddress类型可具有属性街道、城市、邮编、州。属性可以是必需的或可任选的。
可声明各关系,并且它们代表两类实例集之间的映射。例如,可有一种定义哪些人住在哪些地方的称为LivesAt的在人(Person)类型和地点(Location)之间声明的关系。该关系具有一名称、称为源端点和目标端点的两个端点。关系还可具有一有序的属性组。源端点和目标端点都具有名称和类型。例如,LivesAt关系具有类型为人称为居住者(Occupant)的源和类型为地点称为住处(Dwelling)的目标,并具有指示居住者住于住处的时段的属性,StartDate和EndDate。注意一个人在一段时间内可住在多个住处,而一个住处也可有多个居住者,因此放置StartDate和EndDate信息的最可能地方是在关系本身上。
各关系定义由类型(给定为端点类型)所限制的实例之间的映射。例如,当汽车(Automobile)是居住者时,LivesAt关系就不是一种关系,因为汽车不是人。
1.项
如上所述,根据本发明,通用数据存储器中存储信息的基本单元可被称为项。项是一种可存储信息单元,它不像简单的文件,而是具有跨存储平台展现给终端用户或应用程序的所有对象共同支持的一组基本属性的对象。本领域技术人员将理解,通用数据存储器的通用性是可能的,部分因为数据存储器中每个项包括指示根据对每个项恒定的数据模式而存储的那些基本属性的数据。
通用数据模式提供立建概念框架的通用基础,该概念框架用于创建并组织项和属性。通用数据模式定义某些特定类的项和属性,以及从中可进一步导出子类的那些特定基本类型的特征。该通用数据模式的使用使编程人员能概念性地从属性(及其相应类型)中辨别出项(及其相应类型)。此外,通用数据模式提出基本属性组,其中所有项可持有从通用数据模式中的基本项(及其相应项类型)中导出的所有项(及其相应项类型)。通过根据该通用数据模式存储每个项,外壳浏览器能向用户解释并呈现数据存储器中的每个项及其基本属性。适于在本发明中使用的通用数据模式示例在美国专利申请号(尚未受让)(律师案号MSFT-1748)于2003年8月21日的共有共未决申请“System and Methods for Presenting Units ofInformation Manageable by a Hardware/Software Interface System but Independent ofPhysical Representation”中描述,在此引入作为参考。
项还具有跨所有包括特征(使新属性和关系能够引入)的项类型共同支持的属性和关系。本领域技术人员将理解可将本属性和关系数据称为与项相关联的元数据。如下所述,可根据项装饰模式存储元数据。该项装饰模式可指示将项呈现给用户的适当方式。
项是用于诸如拷贝、删除、移动、打开、打印、备份、恢复、复制等通用操作的对象。项是可存储和检索的单元,而由存储平台操纵的所有可存储信息形式存在为项、项的属性、或者项之间的关系,每一个都将在此后进行更详细描述。
项旨在表示类似联系人、人、服务、地点、(所有各种类型的)文档等的真实世界的、易于理解的数据单元。
项是独立的对象;因而,如果你删除一个项,该项的所有属性也被删除。类似地,当检索一项时,所接收的是项及包含在项元数据中它的所有属性。当检索一特定项时,本发明某些实施例可使人请求一属性的子集;然而,许多这种实施例的缺省是在检索时提供具有所有其直接属性和继承属性的项。此外,通过将新属性添加到该项类型的现有属性中,还可对项的属性进行扩展。这些“扩展”此后是该项的正当属性,且该项类型的子类型可自动包括扩展属性。该扩展还被称为与文件相关联的元数据。
2.项夹和类别
各个项组被组织成称为项夹(item Folder)(不要与文件夹混肴)的特定项。然而,不像大多数文件系统,项可属于一个以上项夹,从而当在一项夹中访问并修正项时,可随后从另一项夹直接访问该修正项。实际上,尽管对项的访问可从不同项夹中进行,所实际正访问的其实是同一项。然而,项夹无需拥有所有它的成员项,或者可仅仅与其它夹一起共同拥有项,从而对一项夹的删除不会必然导致该项的删除。
基于共同的描述特征,诸如(a)项类型(或类型)、(b)特定的直接或继承属性(或多个属性)、或(c)相应于项属性的特定值(或多个值),项也可属于各个类别。例如,包括个人联系信息特定属性的项可自动属于联系人(Contact)类别,而具有联系信息属性的任何项可类似地自动属于该类别。类似地,任何地点属性具有“纽约市”值的项可自动属于NewYorkCity类别。
在概念上类别不同于项夹,因为项夹可包括不相关的项(即没有共同的描述特征),而类别中的每个项具有一共同的类型、属性、或描述该类别的值(“共性”),且正是该共性形成了它与类别中其它项间的关系的基础。此外,尽管基于项的任何特定方面,特定夹中项的成员资格并非必需,对于某些实施例所有与类别相关在类别上具有共性的项可自动地变成硬件/软件接口系统层上类别的成员。在概念上,类别还可视为其成员资格基于特定查询(诸如在数据库上下文中)结果的虚拟项夹,以及符合该查询条件(由类别共性定义)的项将包括项的成员资格。
图4示出了在本发明各个实施例中项、项夹、以及类别之间的结构关系。多个项402、404、406、408、410、412、414、416、418和420是各个项夹422、424、426、428和430的成员。某些项可属于一个以上项夹,例如项402属于项夹422和424。例如,某些项402、404、406、408、410和412也可以是一个或多个类别432、434和436的成员,而在其它时候,例如项414、416、418和420可不属于任何类别(尽管这在某些实施例中不太可能,其中任何属性的拥有可自动隐含类别中的成员资格,且因此项必须是完全无特征的以便不是这种实施例中任意类别的成员)。与文件夹的分级结构相反,类别和项夹都具有更接近于所示有向图的结构。无论如何,项、项夹以及类别都是项(虽然是不同的项类型)。
与文件、文件夹以及目录相反,本发明的项、项夹以及类别在特征上都不是本质“物理”的,因为它们不具有物理容器的概念等效体,并且因此项可在一个以上这种位置存在。项在一个以上项夹中位置存在的能力,以及项被组织成类别的能力,提供了在硬件/软件接口层上经增强和提高的在本领域现有技术之上的数据操纵和存储结构能力。
3.关系
项还可包含能确定两个或多个项之间关系的关系信息。关系是一项被指为源而另一项被指为目标的二元关系。源项和目标项根据关系而相关。关系可被分类为:包容和引用关系。包容关系控制目标项的生存期,而引用关系不提供任何生存期管理语义。
包容关系类型还被分类成持有(Holding)和嵌入(Embedding)关系。持有关系通过引用计数机制来控制目标的生存期。持有关系不包含其目标,但控制目标的生存期。当移除项的所有持有关系时,项被删除。嵌入关系使能对复合项模型化,并可被视为专有的持有关系。一个项可以是一个或多个持有关系的目标,但是一个项仅是一个嵌入关系的目标。作为嵌入关系目标的项不可以是任何其它持有或嵌入关系的目标。嵌入关系包含其目标,并控制各个目标的生存期。本领域技术人员将理解单个目标可处于最多一个嵌入关系中,同时单个目标可处于多个持有关系中。
引用关系不控制目标项的生存期。它们可以是虚悬的-目标项可以不存在。可使用引用关系来模型化对处于整个项名字空间中任何地方(即包括远程数据存储器)的项的引用。
获得项并不自动获得其关系。应用程序或外壳须显式请求项的各个关系。此外,更改关系不更改源或目标项;类似地,添加一关系不影响源/目标项。两个项之间的关系可被声明并存储在项、或外壳、或应用程序中,通过关系信息的利用可确定两个项是相关的。
引用关系不控制其引用的项的生存期。甚至,引用关系不确保目标的存在,它们也不确保目标类型如关系声明中所指定。这意味着引用关系可以是虚悬的。还有,引用关系可引用其它数据存储器中的项。引用关系可视为与网页链接相似的概念。
在至少一个实施例中,本发明的存储平台支持各关系的排序。排序通过名为“顺序”(Order)的属性完成。在顺序字段上没有唯一性的限制。不确保具有相同“顺序”属性值的关系顺序,然而可确保它们被排列在具有较低“顺序”值的关系之后,和在具有较高“顺序”字段值的关系之前。应注意,属性“顺序”不在基本关系定义之中。相反,这是存储为源和目标之间部分关系的外来属性。
如前所述,项可以是项夹的成员。根据关系,项可具有与项夹的关系。在本发明的若干实施例中,某些关系由存在于项之间的关系表示。
4.可扩展性
参照图3,存储平台被提供以如上所述的初始模式组340。然而,在至少某些实施例中,存储平台还使得包括独立软件商(ISV)在内的客户能够创建新模式344。
C.数据库引擎
如上所述,数据存储器在数据库引擎上实现。在一实施例中,数据库引擎包括实现SQL查询语言的关系数据库引擎,诸如带有对象关系扩展的微软SQL服务器引擎。然而,可以理解,可采用不同的数据库引擎。实际上,除了实现关系数据库引擎上的存储平台概念数据模型外,它还可在例如面向对象和XML数据库的其它类型数据库上实现。
III.向用户呈现项
可通过外壳浏览器向用户呈现通用数据存储器中的项。这种浏览器是本领域中众所周知的,并且如上所述,外壳浏览器提供使用户能查看硬件/软件接口并与之交互的用户界面。
A.缺省显示视图
如上所述,通用数据存储器中的每个项都根据通用数据模式进行存储。该模式包括一种用于描述称为类型关联的项的机制。每个类型关联在外壳中都具有基本表示;通过根据类型关联存储一项,外壳能够根据至少一个基本或缺省显示视图来显示项。
类型关联是与项相关联的属性;当将数据置入通用数据存储器中时,必须声明与该数据相关联的一个或多个属性,以便确定它是什么类型的项。可包括这些属性,作为与该数据相关联的元数据。外壳具有一组缺省类型关联,它表示必须对一项声明的最基本和最少属性。
图5显示项500。该项500根据通用数据模式进行存储,并包括一组项数据502和一组包括属性声明的元数据504。项数据502可以是适于包括在数据存储器中的任意组数据。例如,项数据502可与一字处理文档相关联。属性声明元数据504包括对项500的至少一个基本类型声明。例如,缺省类型关联可以是文档类型而元数据504可提出项500是文档类型项。因为外壳包括对每个缺省类型关联的缺省显示视图,外壳可根据文档类型的缺省显示视图来显示项500。文档类型的缺省显示视图可例如包括仅在文档类型项中使用的图标。通过用该图标呈现字处理项,用户可快速识别出项500是一文档。本领域技术人员将理解各种任意的缺省类型关联和缺省显示属性对本发明都是可接受的。
B.项装饰视图
除了属性声明外,与项相关联的元数据可包括指示外壳应如何装饰项呈现的数据。装饰在此情形中可被视为如何向用户呈现项的“线索”。该元数据可根据项装饰模式进行存储。该项装饰模式定义外壳可利用呈现项的项装饰视图。例如,项装饰数据可描述项最重要的经声明属性。这些“高值”属性可以是外壳中用于呈现所最需要的。
项500可任选地包括根据项装饰模式存储的项装饰数据506。为了呈现项500,项装饰数据506可指示适于呈现项500的一组视图字段。视图字段是经声明属性的投影,且共同的视图字段可包括“标题”、“作者”、“创建日期”或者“最后修改日期”。该外壳包括一组标准的视图字段,而独立软件开发商(ISV)可定义适于呈现其数据的视图字段。当开发新的项类型时,ISV可将他们定义的项属性映射为外壳的视图字段,或者他们可提供自己的视图字段。
例如,项数据502可包含歌曲数据。经声明属性组506可包括属性,诸如歌曲标题、艺术家、录制日期、专辑、歌曲长度、以及适于这种歌曲项的其它声明。项装饰数据506可在外壳中呈现项500时指示应向用户显示的视图字段“标题”、“艺术家”、以及“专辑”。
项装饰数据506可描述有关项数据502的更适当的装饰项,诸如由经声明属性呈现的文本。例如,属性声明504之一可指示比特率值以描述录制质量。该属性可被存储为整数BITRATE(比特率)。项装饰数据506可请求显示该比特率,并可将该字段装饰为“[比特率]kB/s”。在该方法中,比特率字段进行了适当地装饰,从而用户可容易理解视图字段中比特率值的含义。
本领域技术人员将理解项装饰数据506及其相应项装饰视图可指示各种各样的呈现属性。项装饰可以是由外壳支持的显示的任一方面。例如,某些共同的其它项装饰是数据格式化、缺省排序、以及缺省的图标尺寸。此外,项装饰数据506可描述公共的控件以在显示给定项时使用。例如,等级字段可使用等级控件,它将等级表示为一系列星号。项装饰数据506可描述适于项使用的任务或动词。本领域技术人员将理解,术语“任务”和“动词”描述关于项要采取的某些动作,且可相互交换地使用这些术语。例如,“编辑”或“预览”可以是与项相关联的适当任务/动词。外壳还可被配置以在用户选择之后起动支持这些任务的应用程序,以执行关于该项的动作。
本领域技术人员将理解项装饰将随着时间而改变和增长。本发明预期,当实现新的项装饰时,新项可利用这些装饰,而较旧的项将通过利用由外壳提供的较旧显示属性来继续正常显示。
图6示出了根据本发明用于向用户呈现项的方法600的流程图。在602,响应于向用户呈现一个或多个项的请求,方法600访问通用数据存储器。在604,该方法考虑为呈现而选择的一个或多个项。包含根据项装饰模式存储的元数据的项,根据606所示的项装饰视图被呈现给用户。不包含这种元数据的项根据608所示的缺省显示视图而呈现。本领域技术人员将理解,如上所述,这些模式和呈现视图可包括在呈现数据存储器中每个项时所使用的各种显示属性。
C.外壳视图
如上所述,项装饰视图足以全部呈现给定项或包括具有类似项装饰视图的同类项组。为了显示带有不同项装饰模式的项,外壳提供根据外壳装饰视图呈现项的外壳视图模式。外壳视图模式使得外壳或ISV能声明给定不同类数据组的适当视图。
为在外壳装饰视图中表示而选定的项可包括一共同特征。本领域技术人员将理解,对外壳装饰视图而言各种各样的共同特征是可接受的。例如,外壳视图模式可定义用于显示所有已知图片类型(例如,.GIF、.JPEG、.BMP、.GIFF等等)的共同和适当字段以及元数据的“图片”视图。外壳视图模式撤销给定项装饰视图的冲突显示属性,并根据外壳视图模式来呈现每个图片项。作为另一示例,外壳可提供在适当的列周围得以最优化的“文档”外壳视图,以及由诸如字处理文档、电子制表软件、或数据库的典型生产力应用程序所产生项的元数据,尽管每一个这些项的项装饰彼此可有很大不同。通过提供每一个这些文档之间的共同属性,这种视图具有值。本领域技术人员将理解,在安装稍后文档类型时,即使在初次创建视图时并未虑及新类型,外壳视图将能够根据一致的外壳视图来呈现这些新项。
除了形成使适于给定不同项组的视图字段外,外壳视图模式还可定义显示属性。例如,包括图标属性、预览窗格的尺寸、以及缺省排序顺序的视图状态可由外壳视图模式定义。视图模式还包含要应用于各个列的属性装饰,诸如数据格式化。
在外壳视图模式和项装饰模式冲突的情形中,外壳视图模式优先。在显示元素从外壳视图模式中遗漏的情形中,外壳视图将后退到项装饰视图用于适当显示。这样,在显示非原始预期的数据时外壳视图可制作出适当视图。此外,在本发明一实施例中,外壳视图可遵从项装饰视图以提供不冲突的装饰元素。例如,外壳视图可使用来自其包含项组的“高值”元数据,以构建用以显示项的适当的列和元数据的组。
本领域技术人员将理解外壳视图模式可提供各种各样的显示属性,且ISV可能想要提供这种外壳视图。显示属性可包括,且无限制:预览窗格的尺寸、要在预览窗格中显示的元数据、要使用的定制控件、以及适于已呈现项的任务和动词。
图7示出了根据本发明用于向用户呈现项的方法700的流程图。在702,响应于要向用户呈现一个或多个项的请求,方法700访问数据存储器。在704,判断为呈现而选定的每个项是否包括同一项装饰模式。如果所有项具有一共同模式,项根据该模式被呈现,如在706所示。如果被呈现项包括具有不同显示模式或没有显示模式的项,在708项组根据外壳装饰视图呈现。如上所述,这种外壳视图可适于呈现不同类项组。用来自项装饰视图的显示元素呈现一个或多个选中项的可任选步骤被包括在710。当这些显示元素不与外壳装饰视图相冲突时,这些元素可通过外壳增进项的呈现。
参看图8,呈现了示例性视图模式分级结构800的视图。分级结构的底层是项视图模式802。项视图模式802提供表示项所需的基本显示,或者,如果没有提供视图模式,则它提供缺省显示。在项视图模式802之上的模式在需要时可遵从或退回到其显示元素。
外壳视图模式804存在于项视图模式802上。如上所述,可利用外壳视图模式来显示具有不同项视图的项组。外壳视图模式定义用来根据外壳视图804显示项的任务806、预览窗格特征808、列810以及装饰812。外壳视图可退回到项视图模式802以提供不相冲突的项装饰用于外壳视图804。另外,用户视图设置814可存在于外壳视图中。这些设置表示外壳项的用户所需呈现格式。本领域技术人员将理解,可在显示模式中定义任意数量的显示属性,且可向用户呈现许多与显示设置有关的选项和控件。
D.资源管理器显示视图
外壳还可被配置以根据资源管理器显示视图来呈现项。“资源管理器”可被称为存储应用程序,并可由外壳或ISV提供。在本发明的一实施例中,可创建资源管理器以提供帮助用户管理一个大项组的整体体验。例如,资源管理器可使用户能查看、查询、导航、进入任务、或者组织数据存储器中的选定项。术语“资源管理器”不应隐含被显示项所处位置,且诸如“活动中心”、“查看器”以及“库”等的术语可与用以描述存储应用程序的“资源管理器”相互交换地使用。
图9示出了示例性资源管理器模式分级结构900。该分级结构的底层是项视图模式902。项视图模式902提供呈现项所需的基本显示,而资源管理器视图模式904可在需要时遵从或再使用显示元素。
资源管理器视图模式包括外壳视图模式906和资源管理器装饰908。资源管理器装饰908整体地装饰资源管理器,并提供显示元素诸如独特的色彩以及打印元素。这些资源管理器装饰908在资源管理器提供的各个视图中是持续不变的。本领域技术人员将理解,各种各样的显示属性适于资源管理器装饰908。例如,与资源管理器项相关联的数据查询或任务/动词适于用资源管理器显示。所显示任务将更佳地与能够执行任务的应用程序相耦合。
资源管理器视图模式可任选地包括外壳视图模式906或多个外壳视图模式。外壳视图模式906可被配置以提供资源管理器项子集的外壳视图。例如,资源管理器可被配置以向用户显示歌曲项。可包括提供一套专辑显示的第一外壳视图模式,以及提供歌曲磁道显示的第二外壳视图模式。这样,两类项都将在资源管理器中具有适当视图。如上所述,外壳视图的利用与可任选地共享共同特征的项组的呈现相关。
资源管理器还可依赖于包括在外壳中的外壳视图。如果资源管理器中选定要呈现的项不被资源管理器所包括的任意外壳视图所支持,外壳可提供在资源管理器中使用的适当外壳视图。类似地,如上所述,资源管理器也可退回到由外壳提供的项显示视图或缺省显示视图。该功能确保可由外壳显示的任意项都能在资源管理器中显示。资源管理器可被配置以遵从这些外壳提供的显示模式,或者可依赖它们来例如提供非预期数据的显示。
图10示出了根据本发明用于在资源管理器显示中呈现项的方法1000。在1002,方法1000访问数据存储器,而在1004选择要在资源管理器中显示的项。资源管理器项的选择可依赖于对项声明(也称为字段项)的考虑。如上所述,数据存储器中的项可包含属性信息。该信息在项被置入数据存储器中时被声明,并可在整个项使用期中被更新。这种声明可被视为对应于属性字段组的字段项。例如,在属性字段“作者”中的项可包含给定项的作者身份信息。
可能需要呈现共享一个或多个字段项的项。例如,可能需要包括由特定人制作的每个项的资源管理器。通过考虑作者字段的字段项,资源管理器能够从数据存储器中选择由特定人制作的这种浏览器项。本领域技术人员将理解这种数据库查询的机制是众所周知的。
在1006,确定资源管理器是否包括适于呈现资源管理器项的外壳视图。如果在资源管理器中未发现这种适当的外壳视图,方法1000利用包含于外壳中的视图,如1008所示。如果在资源管理器中包括适当的外壳视图,方法1000在1010利用该外壳视图来呈现项。在1012,执行利用来自项显示模式的装饰元素的可任选步骤。如上所述,资源管理器可使用来自项视图模式的非冲突的装饰以增强项的呈现。在1014,根据外壳和项视图向用户呈现资源管理器项。资源管理器装饰属性在1016呈现。这些属性可以是各种各样的显示属性,并包括与资源管理器项相关联的数据查询或任务。
E.资源管理器开发
可为各种各样的项类型创建资源管理器。在本发明一实施例中,用很少的编程甚至不用编程就可定义资源管理器。通过允许资源管理器以数据驱动方式创建,开发的简易性提高,同时提供跨资源管理器的一致观感。
在某些实施例中,资源管理器允许对它们可呈现的项类型(包括项扩展和文件扩展)作限制,或者资源管理器可选择允许所有类型的项。资源管理器还可选择以允许带有特定项扩展组的项类型。例如,合法项资源管理器可显示所有附加“LegalItemExtension”的项。资源管理器可选择允许某类型的项以及映射到该类型的任意文件扩展。例如,音乐项资源管理器可显示所有音乐文件扩展,诸如mp3或wma。此外,资源管理器可选择仅允许某文件扩展组的项。如果资源管理器被限制于某组类型,则其它类型的项不能被存储到或置入该资源管理器中。资源管理器可重新定义对它们所允许类型的类型关联,且资源管理器可有选择地选择不允许撤销,或可选择不允许添加新命令。此外资源管理器可决定它们是否让终端用户撤销资源管理器中的类型联合。
鉴于以上内容,本领域技术人员将理解,通过提供用于创建在项类型环境中使用的资源管理器的数据驱动开发技术,以声明方式且无需使用定制代码即可定义资源管理器。
图11显示了根据资源管理器显示模式用于呈现项的方法1100。在1102,方法1100选择所需字段项。如上所述,该所需字段项可对应于与项相关联的经声明属性。例如,“照相簿”资源管理器可具有要求包括含有图片数据的项的所需字段项。
在1104,定义资源管理器显示模式。该显示模式可包括外壳视图模式和资源管理器装饰。资源管理器装饰整体地装饰资源管理器,并提供显示元素诸如独特的色彩以及打印元素。这些资源管理器装饰在资源管理器提供的各个视图中是持续不变的。各种各样的显示属性可适于资源管理器装饰。例如,与资源管理器项相关联的数据查询或任务/动词适于用资源管理器显示。所显示任务将更佳地与能够执行任务的应用程序相耦合。资源管理器视图模式可包括外壳视图模式或多个外壳视图模式。外壳视图模式可被配置以提供资源管理器项子集的外壳视图。
在1106,方法1100访问数据存储器以选择资源管理器项。资源管理器项与所需字段项相关联。本领域技术人员将理解对数据库中这种项的选择是本领域众所周知的。本领域技术人员还将理解开发者可创建为这种交互而配置的资源管理器。本发明预期能够访问数据存储器的资源管理器开发。
在1108,资源管理器项根据资源管理器显示模式显示。资源管理器显示模式如上所述,且该显示还可包括与外壳浏览器的交互。例如外壳可提供一个或多个外壳视图。另外,可利用来自项装饰模式的项装饰元素来增强资源管理器项的呈现。
本领域技术人员可以理解,资源管理器存储应用程序可被视为外壳浏览器的应用程序和/或扩展。因此,前述内容适于本发明的两种陈述。作为应用程序,资源管理器程序可包括被配置用以与外壳浏览器交互的外壳交互模块。这种交互使该程序能与外壳传送信息,并使软件能一起工作以呈现项。外壳交互模块可便于数据存储器的访问,并可提供显示属性。应用程序与外壳之间的这种交互是本领域众所周知的。
F.相关项的呈现
本发明还可向用户显示数据存储器中的相关项。如上所述,数据存储器中的项可包括具有一个或多个已声明属性的项。项可具有已声明关系,它阐明数据存储器中共享关系的其它项。例如,包含电子邮件地址的项可声明与包含电子邮件地址所有人其它联系信息的项之间的关系。外壳可利用这个已声明关系在用户请求之后呈现其它联系信息。通过考虑项的已声明属性,外壳也可确定关系。例如,如果一组文档共享一共同属性,则它们相关;如果共同值被存储为扩展的一部分,具有扩展“LegalItemExtension”的项相关。通过本领域中众所周知的数据查询可确定这种关系。
图12示出了根据本发明用于呈现相关项的方法1200。在1202,方法1200访问数据存储器,并且在1204,确定数据存储器中项之间的关系。如上所述,这种确定利用了包括在项中的已声明属性。该确定可响应于用户输入。例如,可向用户显示具有一组已声明项特征的项。该项特征和关系信息可与该项一起显示。用户可选择特征之一,并输入要查看共享该项特征的其它项的请求。在1206,方法1200向用户呈现相关项。这种呈现可包括本领域众所周知的任意显示模式。
参阅包括附图的本说明书之后,本发明的可选实施例和实现对本领域技术人员将变得显然。相应地,本发明的范围由所附权利要求书而不是前面的说明书来定义。

Claims (12)

1.一种用于将通用数据存储器中的相关项提交给用户的计算机系统,其特征在于,所述系统包括:一通用数据存储器,包含根据通用数据模式存储的多个项,其中所述项是存储信息的单元,它是具有一组属性和对应于所述多个项至少一部分的关系信息的对象,其中所述属性是所述项的给定类型的一个值或一组值的名称,而所述关系信息使得多个项中两个或多个之间的关系能被决定;以及一外壳,用于将所述多个项提交给用户,其中所述外壳被配置成将选定的项提交给用户,并且还被配置成利用所述关系信息来提交所述数据存储器中与所述选定的项相关的一个或多个项。
2.如权利要求1所述的计算机系统,其特征在于,对应于一个或多个所述多个项的所述关系信息包括一组项特征。
3.如权利要求2所述的计算机系统,其特征在于,所述外壳被配置成将所述一组项特征中的一个或多个提交给用户。
4.如权利要求2所述的计算机系统,其特征在于,所述外壳被配置成接受一用户输入,它表示选择要查看数据存储器中具有所述项特征之一的一个或多个项。
5.如权利要求2所述的计算机系统,其特征在于,所述外壳被配置成提交数据存储器中共享所述项特征之一的一个或多个项。
6.如权利要求1所述的计算机系统,其特征在于,所述外壳被配置成提交至少部分所述关系信息。
7.如权利要求1所述的计算机系统,其特征在于,所述外壳被配置成接受一用户输入,它表示选择要查看数据存储器中与所述选定的项相关的项。
8.如权利要求7所述的计算机系统,其特征在于,对应于所述选定的项的所述关系信息包括一组与选定的项相关联的项特征,且其中所述用户输入表示选择要查看数据存储器中与所述选定的项共享该组项特征之一的一个或多个项。
9.一种用于将通用数据存储器中的相关项提交给用户的计算机可实现方法,其特征在于,所述方法包括:访问所述通用数据存储器中的数据,其中所述通用数据存储器根据通用数据模式而存储多个项,其中所述项是存储信息的单元,它是具有一组属性和允许确定所述多个项之间关系的关系信息的对象,所述属性是所述项的给定类型的一个值或一组值的名称;利用所述关系信息来确定选定的项和数据存储器中包含所述关系信息的一个或多个项之间的关系;以及将所述选定的项和一个或多个相关项显示给用户。
10.如权利要求9所述的方法,其特征在于,所述选定的项和一个或多个相关项的显示包括将所述关系信息的至少一部分显示给用户。
11.如权利要求9所述的方法,其特征在于,所述方法还包括接收一用户输入,它表示选择要查看数据存储器中与所述选定的项相关的一个或多个项。
12.如权利要求11所述的方法,其特征在于,所述选定的项和一个或多个相关项的显示响应于所述输入。
CN2004800013932A 2003-10-23 2004-07-30 用于向用户提交相关项的系统和方法 Expired - Fee Related CN1864129B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/691,888 US7730073B2 (en) 2003-10-23 2003-10-23 System and a method for presenting related items to a user
US10/691,888 2003-10-23
PCT/US2004/025306 WO2005045592A2 (en) 2003-10-23 2004-07-30 System and a method for presenting related items to a user

Publications (2)

Publication Number Publication Date
CN1864129A CN1864129A (zh) 2006-11-15
CN1864129B true CN1864129B (zh) 2011-07-06

Family

ID=34521967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800013932A Expired - Fee Related CN1864129B (zh) 2003-10-23 2004-07-30 用于向用户提交相关项的系统和方法

Country Status (17)

Country Link
US (1) US7730073B2 (zh)
EP (1) EP1597657A4 (zh)
JP (1) JP4627759B2 (zh)
KR (1) KR101076905B1 (zh)
CN (1) CN1864129B (zh)
AU (1) AU2004279189B2 (zh)
BR (1) BRPI0406209A (zh)
CA (1) CA2501501C (zh)
HK (1) HK1098848A1 (zh)
IL (1) IL167275A (zh)
MX (1) MXPA05007161A (zh)
NO (1) NO20052044L (zh)
NZ (1) NZ540306A (zh)
RU (1) RU2358312C2 (zh)
TW (1) TWI337315B (zh)
WO (1) WO2005045592A2 (zh)
ZA (1) ZA200503153B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070055928A1 (en) * 2005-09-02 2007-03-08 Microsoft Corporation User workflow lists to organize multimedia files
US7673233B2 (en) * 2005-09-08 2010-03-02 Microsoft Corporation Browser tab management
US8775974B2 (en) * 2005-12-21 2014-07-08 International Business Machines Corporation Multi-contextual delta navigation in a compare view
US8065675B2 (en) * 2007-03-21 2011-11-22 Yahoo! Inc. In-page installer
US20090064006A1 (en) * 2007-08-30 2009-03-05 Indran Naick Techniques for Performing Tasks Associated with Custom Folder Controls
US8572112B2 (en) * 2007-11-02 2013-10-29 Microsoft Corporation Syndicating search queries using web advertising
US20100235391A1 (en) * 2009-03-11 2010-09-16 Sony Corporation Accessing item information for an item selected from a displayed image
GB0906004D0 (en) * 2009-04-07 2009-05-20 Omnifone Ltd MusicStation desktop
US9898454B2 (en) 2010-12-14 2018-02-20 Microsoft Technology Licensing, Llc Using text messages to interact with spreadsheets
US9811516B2 (en) 2010-12-14 2017-11-07 Microsoft Technology Licensing, Llc Location aware spreadsheet actions
US9129234B2 (en) 2011-01-24 2015-09-08 Microsoft Technology Licensing, Llc Representation of people in a spreadsheet
TWI427495B (zh) * 2011-05-06 2014-02-21 wei lin Yang 作業平台系統、作業方法與主機裝置
US9843665B2 (en) 2011-05-27 2017-12-12 Microsoft Technology Licensing, Llc Display of immersive and desktop shells
US10417018B2 (en) * 2011-05-27 2019-09-17 Microsoft Technology Licensing, Llc Navigation of immersive and desktop shells
US8713028B2 (en) * 2011-11-17 2014-04-29 Yahoo! Inc. Related news articles
US9381425B1 (en) 2013-09-17 2016-07-05 Kabam, Inc. System and method for determining offer placement in a virtual space store interface
US9144742B1 (en) 2013-11-05 2015-09-29 Kabam, Inc. System and method for predicting payer dormancy through the use of a test bed environment
SG11201605069UA (en) * 2013-12-20 2016-07-28 Dun & Bradstreet Corp Discovering a business relationship network, and assessing a relevance of a relationship
RU2605001C2 (ru) * 2014-06-24 2016-12-20 Общество С Ограниченной Ответственностью "Яндекс" Способ обработки поискового запроса пользователя и сервер, используемый в нем
US10021187B2 (en) * 2015-06-29 2018-07-10 Microsoft Technology Licensing, Llc Presenting content using decoupled presentation resources
US11449351B2 (en) * 2018-04-06 2022-09-20 Microsoft Technology Licensing, Llc History aware interfaces
JP6914982B2 (ja) * 2019-03-22 2021-08-04 株式会社東芝 支援システム、プログラム、及び記憶媒体

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6008806A (en) * 1994-12-13 1999-12-28 Microsoft Corporation Shell extensions for an operating system
US6101513A (en) * 1996-05-31 2000-08-08 Microsoft Corporation Method and apparatus for displaying database information according to a specified print layout and page format
US6121964A (en) * 1996-12-09 2000-09-19 Microsoft Corporation Method and system for automatic persistence of controls in a windowing environment
CN1360267A (zh) * 2002-01-30 2002-07-24 北京大学 文件分类查找方法
CN1809796A (zh) * 2003-04-25 2006-07-26 苹果电脑公司 浏览、搜索和呈现媒体项的图形用户界面

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504852A (en) * 1991-09-09 1996-04-02 Apple Computer, Inc. Method for creating a collection of aliases representing computer system files
DE69232542T2 (de) * 1991-09-27 2002-11-21 Bmc Software Inc Definitionsänderungssprache für ein Datenbankrechnersystem
EP0592638B1 (en) 1992-04-30 2001-02-07 Apple Computer, Inc. Method and apparatus for organizing information in a computer system
US5345550A (en) 1992-12-23 1994-09-06 International Business Machines Corporation User-modifiable popup menus for object oriented behavior
US5805885A (en) * 1992-12-24 1998-09-08 Microsoft Corporation Method and system for aggregating objects
JP3317763B2 (ja) * 1993-11-05 2002-08-26 富士通株式会社 プログラム起動方法およびその処理装置
US5991751A (en) * 1997-06-02 1999-11-23 Smartpatents, Inc. System, method, and computer program product for patent-centric and group-oriented data processing
US6339767B1 (en) * 1997-06-02 2002-01-15 Aurigin Systems, Inc. Using hyperbolic trees to visualize data generated by patent-centric and group-oriented data processing
US5485617A (en) * 1993-12-13 1996-01-16 Microsoft Corporation Method and system for dynamically generating object connections
JPH10500512A (ja) 1994-05-16 1998-01-13 アップル コンピュータ, インコーポレイテッド グラフィカルユーザーインタフェースの形態及び動作のカスタマイズ方法及びシステム
US5613122A (en) 1994-11-14 1997-03-18 Object Technology Licensing Corp. Object-oriented operating system
US6360280B1 (en) * 1994-12-13 2002-03-19 Microsoft Corporation Method and system for accessing shell folder capabilities by an application program
US5737557A (en) * 1995-05-26 1998-04-07 Ast Research, Inc. Intelligent window user interface for computers
DE19538240A1 (de) * 1995-10-13 1998-08-06 Annette Brueckner Informationssystem und Verfahren zur Speicherung von Daten in einem Informationssystem
US5751287A (en) * 1995-11-06 1998-05-12 Documagix, Inc. System for organizing document icons with suggestions, folders, drawers, and cabinets
US5890176A (en) * 1996-04-24 1999-03-30 International Business Machines Corp. Object-oriented document version tracking method and apparatus
US5933646A (en) * 1996-05-10 1999-08-03 Apple Computer, Inc. Software manager for administration of a computer operating system
US6768999B2 (en) * 1996-06-28 2004-07-27 Mirror Worlds Technologies, Inc. Enterprise, stream-based, information management system
US5905492A (en) 1996-12-06 1999-05-18 Microsoft Corporation Dynamically updating themes for an operating system shell
US6061695A (en) * 1996-12-06 2000-05-09 Microsoft Corporation Operating system shell having a windowing graphical user interface with a desktop displayed as a hypertext multimedia document
US5937406A (en) 1997-01-31 1999-08-10 Informix Software, Inc. File system interface to a database
US6098089A (en) * 1997-04-23 2000-08-01 Sun Microsystems, Inc. Generation isolation system and method for garbage collection
US5995973A (en) * 1997-08-29 1999-11-30 International Business Machines Corporation Storing relationship tables identifying object relationships
US6151608A (en) * 1998-04-07 2000-11-21 Crystallize, Inc. Method and system for migrating data
US6167405A (en) * 1998-04-27 2000-12-26 Bull Hn Information Systems Inc. Method and apparatus for automatically populating a data warehouse system
US6188399B1 (en) * 1998-05-08 2001-02-13 Apple Computer, Inc. Multiple theme engine graphical user interface architecture
US6031532A (en) 1998-05-08 2000-02-29 Apple Computer, Inc. Method and apparatus for generating composite icons and composite masks
GB9813828D0 (en) * 1998-06-27 1998-08-26 Philips Electronics Nv Reference counting mechanism for garbage collectors
US6226630B1 (en) 1998-07-22 2001-05-01 Compaq Computer Corporation Method and apparatus for filtering incoming information using a search engine and stored queries defining user folders
US6501491B1 (en) 1998-09-21 2002-12-31 Microsoft Corporation Extensible user interface for viewing objects over a network
US6212512B1 (en) 1999-01-06 2001-04-03 Hewlett-Packard Company Integration of a database into file management software for protecting, tracking and retrieving data
US6922708B1 (en) * 1999-02-18 2005-07-26 Oracle International Corporation File system that supports transactions
US6285998B1 (en) * 1999-02-23 2001-09-04 Microsoft Corporation System and method for generating reusable database queries
US6728966B1 (en) * 1999-03-29 2004-04-27 Hughes Electronics Corporation Electronic television program guide data naming system and method
EP1212686A4 (en) * 1999-05-26 2009-04-01 Fujitsu Ltd SYSTEM FOR MANAGING NETWORK ELEMENTS
US6526399B1 (en) 1999-06-15 2003-02-25 Microsoft Corporation Method and system for grouping and displaying a database
US6978269B1 (en) * 1999-07-13 2005-12-20 International Business Machines Corporation Apparatus and method for generating and displaying a schema diagram for a database
US6526413B2 (en) 1999-09-28 2003-02-25 Microsoft Corporation Architecture for a hierarchical folder structure in hand-held computers
US7039860B1 (en) 1999-10-01 2006-05-02 Netspinner Solutions As Creating web pages category list prior to the list being served to a browser
US6868419B1 (en) * 1999-10-28 2005-03-15 Lightwaves Systems Inc. Method of transmitting data including a structured linear database
US6670970B1 (en) * 1999-12-20 2003-12-30 Apple Computer, Inc. Graduated visual and manipulative translucency for windows
US6686938B1 (en) * 2000-01-05 2004-02-03 Apple Computer, Inc. Method and system for providing an embedded application toolbar
US7043488B1 (en) * 2000-01-21 2006-05-09 International Business Machines Corporation Method and system for storing hierarchical content objects in a data repository
US6636250B1 (en) 2000-04-12 2003-10-21 Emc Corp Methods and apparatus for presenting information to a user of a computer system
AU2001268688A1 (en) * 2000-06-22 2002-01-02 Eventra, Inc. Method and system for supplier relationship management
US20020156756A1 (en) 2000-12-06 2002-10-24 Biosentients, Inc. Intelligent molecular object data structure and method for application in heterogeneous data environments with high data density and dynamic application needs
US20040030741A1 (en) * 2001-04-02 2004-02-12 Wolton Richard Ernest Method and apparatus for search, visual navigation, analysis and retrieval of information from networks with remote notification and content delivery
US7047257B2 (en) * 2001-04-03 2006-05-16 Qnx Software Systems Computer file management system
JP2002328829A (ja) * 2001-04-27 2002-11-15 Canon Software Inc データ構造およびサーバ装置および情報処理装置およびサーバ装置の制御方法および情報処理装置の制御方法およびプログラムおよびコンピュータ読み取り可能な記録媒体
US7054851B2 (en) * 2001-06-25 2006-05-30 Siemens Medical Solutions Health Services Corporation Communication data format for use in data storage and retrieval
US7099869B1 (en) * 2001-07-11 2006-08-29 Apple Computer, Inc. Method and apparatus for managing file extensions in a digital processing system
US7117225B2 (en) * 2001-08-13 2006-10-03 Jasmin Cosic Universal data management interface
US8549434B2 (en) 2001-10-18 2013-10-01 Microsoft Corporation Method for graphical representation of a content collection
US7047497B2 (en) 2001-10-30 2006-05-16 Hewlett-Packard Development Company, L.P. System and method for displaying a layout of GUI properties panel
US7203737B2 (en) * 2001-10-31 2007-04-10 Microsoft Corporation Computer system with file association and application retrieval
WO2003050674A1 (en) * 2001-12-07 2003-06-19 Dbase, Inc. Drag-and-drop dynamic distributed object model
WO2004008348A1 (en) * 2002-07-16 2004-01-22 Horn Bruce L Computer system for automatic organization, indexing and viewing of information from multiple sources
EP1535196A4 (en) * 2002-08-12 2006-08-23 Kenneth D Pool METHOD FOR CONTROLLING ACCESS TO INFORMATION OBJECTS
US7293031B1 (en) * 2002-11-21 2007-11-06 Ncr Corp. Report specification generators and interfaces
US7243336B2 (en) * 2002-12-17 2007-07-10 International Business Machines Corporation System and method of extending application types in a centrally managed desktop environment
US7711694B2 (en) 2002-12-23 2010-05-04 Sap Ag System and methods for user-customizable enterprise workflow management
US7634728B2 (en) * 2002-12-28 2009-12-15 International Business Machines Corporation System and method for providing a runtime environment for active web based document resources
US7272818B2 (en) * 2003-04-10 2007-09-18 Microsoft Corporation Creation of an object within an object hierarchy structure
US20040221228A1 (en) * 2003-04-30 2004-11-04 International Business Machines Corporation Method and apparatus for domain specialization in a document type definition
US20040230555A1 (en) * 2003-05-16 2004-11-18 John Phenix System and method for representing a relational database as a java object
US7069308B2 (en) * 2003-06-16 2006-06-27 Friendster, Inc. System, method and apparatus for connecting users in an online computer system based on their relationships within social networks
CA2438368A1 (en) * 2003-08-26 2005-02-26 Winnie W.N. Lai A method and system for creating navigational information for an electronic store from virtual and master catalog links
US20050066293A1 (en) * 2003-09-23 2005-03-24 Hunt Simon Derek Tree and table GUI
US20050193054A1 (en) * 2004-02-12 2005-09-01 Wilson Eric D. Multi-user social interaction network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6008806A (en) * 1994-12-13 1999-12-28 Microsoft Corporation Shell extensions for an operating system
US6101513A (en) * 1996-05-31 2000-08-08 Microsoft Corporation Method and apparatus for displaying database information according to a specified print layout and page format
US6121964A (en) * 1996-12-09 2000-09-19 Microsoft Corporation Method and system for automatic persistence of controls in a windowing environment
CN1360267A (zh) * 2002-01-30 2002-07-24 北京大学 文件分类查找方法
CN1809796A (zh) * 2003-04-25 2006-07-26 苹果电脑公司 浏览、搜索和呈现媒体项的图形用户界面

Also Published As

Publication number Publication date
NZ540306A (en) 2009-01-31
JP2007509434A (ja) 2007-04-12
KR20060122675A (ko) 2006-11-30
AU2004279189B2 (en) 2010-04-08
NO20052044L (no) 2005-06-29
RU2358312C2 (ru) 2009-06-10
TWI337315B (en) 2011-02-11
BRPI0406209A (pt) 2005-08-09
CN1864129A (zh) 2006-11-15
CA2501501A1 (en) 2005-04-23
AU2004279189A1 (en) 2005-06-23
IL167275A (en) 2011-03-31
RU2005119663A (ru) 2006-01-20
ZA200503153B (en) 2006-10-25
KR101076905B1 (ko) 2011-10-25
MXPA05007161A (es) 2005-08-26
NO20052044D0 (no) 2005-04-26
US7730073B2 (en) 2010-06-01
EP1597657A4 (en) 2008-05-14
HK1098848A1 (en) 2007-07-27
AU2004279189A8 (en) 2008-10-02
WO2005045592A2 (en) 2005-05-19
US20050091225A1 (en) 2005-04-28
CA2501501C (en) 2011-09-27
EP1597657A2 (en) 2005-11-23
JP4627759B2 (ja) 2011-02-09
WO2005045592A3 (en) 2006-07-27
TW200515212A (en) 2005-05-01

Similar Documents

Publication Publication Date Title
CN1864129B (zh) 用于向用户提交相关项的系统和方法
CN100399238C (zh) 用上下文表示向用户呈现项目的系统及方法
US8745089B2 (en) Migration of data from a legacy system
US7788144B2 (en) System and method for storing and presenting images and related items to a user
JP4739221B2 (ja) ユーザに関連アイテムを提示するためのシステムおよび方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1098848

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1098848

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150505

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150505

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110706

CF01 Termination of patent right due to non-payment of annual fee