用于共享文件的束文件许可的制作方法_2

文档序号:9602483阅读:来源:国知局
00,其是存储其他文件对象(诸如文件和其他文件夹)的集合的文件对象。在图2的例子中示出了两个文件夹202和204,一个用于文档而一个用于照片。用户能够访问的文件夹组被称为用于该用户的文件系统命名空间。应当理解,这仅仅是例子,以及本发明不限于具有特定的文件夹。在本例中,照片文件夹包括照片“a”(206)和照片“b”(208),以及文档文件夹包括文件“c”(210)。
[0027]每个文件系统对象具有相关联的访问控制信息212,其也被称为许可。许可包括被许可访问文件对象的用户或其他实体的指示,以及这些许可的性质(只读、读/写等等)。这样的许可对于不同的实体可以是不同的,以及对于文件系统对象的不同部分(例如,文件的不同的文件流)也可以是不同的。这样的许可被规定、被存储和被格式化的方式在不同文件系统之间是变化的。
[0028]除了常规许可以外,每个文件对象还包括关于文件对象是否为束的一部分的指示214,其中束是被一个用户与一个或多个其他用户共享的一个或多个文件对象的集合。束限定对于共享文件对象的附加许可。例如,表示文件对象的数据结构可包括指示文件对象是否处在束中的字段,可选地包括文件对象的(一个或者多个)束的(一个或者多个)标识符。
[0029]如上所指出的,在本示例性实施方案中,束是在用户的文件系统命名空间之外被限定的文件系统对象216。例如,系统级文件夹218可以用来收集束216。关于束的数据可被存储在例如诸如关系数据库之类的数据库中,如在220示出的。数据库可以对于每个束存储其标识符222和相关信息224。这样的信息可包括但不限于:其被创建的日期、创建其的用户、名称、对于在该束中的每个文件对象的大小、被包括在束中的文件对象、和与由束中的对象继承的束相关联的许可。使用数据库存储关于束的数据以允许高效地标识包含文件对象的束和与不同实体相关联的束的方式允许文件对象与多个束相关联,以及实体与不同的束相关联。
[0030]现在参照图3-4,现在将描述用于允许共享用户文件的共享存储服务的示例性图形用户界面。应当理解,这些仅仅是例子,以及存在文件或其他对象可以在用户或其他实体之间被共享的其他方式。
[0031]这个示例性用户界面300可以是例如客户端计算机上的应用的一部分,或可以在客户端计算机上在浏览器应用中查看。在本例中,用户界面指示了三个顶级对象集合:文件302、最近的文件304 (由用户最近访问的文件列表)和共享文件306。当用户选择这三个标签之一时,在所选集合内的文件对象的指示被示于文件窗格308中。用户可以选择在文件窗格中指示的一个或多个文件,并且可以在文件夹和其他文件对象之间导航,正如在大多数文件系统中在图形用户界面上常规的。在选择一个或多个文件后,为了共享文件,用户操控“共享”菜单310,以调用允许由用户输入用于共享的参数的输入界面。
[0032]在用户共享文件406后,文件窗格可以示出由用户与其他用户共享的文件集合(例如,410)和由其他用户与该用户共享的文件集合,如图4所示。在图4中,文件窗格408示出了由用户共享的每个集合。响应于用户进一步操控集合之一的表示,可以显示集合的另外细节,诸如在该集合内包含的文件。
[0033]虽然以上的例子描述了由用户操控每个文件对象的图形表示而选择那些文件对象,但可以存在各种各样的选择要共享的对象的其他方式。
[0034]例如,用户或系统进程可以基于查询、算法、或间接用户手势来限定束。例如,规定对象特性的查询可被用来选择束中的对象。作为例子,用户可以规定:在特定日子拍摄的所有照片可被用来选择对象。
[0035]以上的例子还描述了示例性实施方案,其中用于束的数据存储在束中所包含的对象标识符,以及每个对象存储指示其作为其中的成员的(一个或者多个)束的标识符。在其他实施方案中,被存储在束中的数据可以是可用来标识在束中的对象的任何数据,诸如查询。因此,存储在束中的数据可以被评估,以导出对于束中的对象的标识符。在这样的实施方案中,当决定对于对象的许可时,可以对于具有共享对象的许可的(一个或者多个)实体的束进行评估,以确定对象是否处在已被实体共享的束中。
[0036]参照图5-8,现在将描述使用束文件许可的操作的示例性实施方案的流程图。
[0037]为了共享文件,系统接收500诸如由选择多个文件的用户要共享的文件的指示。系统然后接收502用于共享所指示的文件的命令,以及对于所选文件要与其共享的一个或多个实体的指示和用于集合的标识符(例如名称)。然后,创建504对于该集合的束。然后,把在该集合中的每个对象与所述束相关联506。
[0038]为了标识与实体相关联的束,可以使用诸如结合图6描述的进程。实体的标识符由系统接收600。关于束的数据被访问和搜索602,以便标识与该标识符相关联的束。这样的搜索可以是针对于与某个实体共享的束、被某个实体共享的束或者这两者而进行的。在这些束内的对象也被标识604。关于束和束内的对象的信息然后可以诸如通过被呈现给用户,而作为输出被提供606。
[0039]也有可能的是,对于给定的对象(不管是束还是存储对象,诸如文件对象、文件、文件流、或文件夹、或其他对象)示出哪些实体具有许可,和那些许可是什么内容。如在图7中示出的,对象的指示被接收700 ο关于束的数据被访问,并且针对所选对象与其相关联的束进行搜索702。关于对于束的许可信息然后被检索704。这个信息然后诸如通过向用户进行呈现而作为输出被提供706,以指示实体具有许可,并且那些许可是什么。
[0040]现在参照图8,将描述对共享对象进行访问。当实体试图访问对象时,系统接收800对象的指示。系统确定802与该对象相关联的许可是否许可实体访问该对象。如果是的话,则允许该访问804。否则,在806处确定对象是否处在任何的束中。如果对象没有处在束中,则访问被拒绝808。如果对象处在束中,则该束的许可被访问810。如果束的许可允许实体访问对象,如在812所确定的,则访问被允许814 ;否则访问被拒绝816。
[0041]各种各样的其他操作也可以被提供来将实体添加到束和从束中移除实体,以及将对象添加到束和从束中移除对象,以及改变与实体、对象或束相关联的许可。通过能够标识与对象、以及包含这些对象的束相关联的实体和许可,如以上描述的,附加的代码和操作可被提供来修改这些值。
[0042]现在已经描述了示例性实施方案,现将描述这样的系统的构件被设计成通过其进行操作的计算机。以下的描述打算提供可以实施这样的系统的适当计算机的概略的一般描述。计算机可以是各种各样通用或专用计算硬件配置中的任一种。可能适用的众所周知的计算机例子包括但不限于:个人计算机、服务器计算机、手持式或膝上设备(例如,媒体播放器、笔记本计算机、蜂窝电话、个人数据助理、话音记录器)、多处理器系统、基于微处理器的系统、机顶盒、游戏控制台、可编程消费电子装置、网络PC、小型计算机、大型计算机、包括以上系统或设备中的任何的分布计算环境等等。
[0043]图9图示了适当的计算机例子。这仅仅是适当计算机的一个例子,而不打算对于这样的计算机的使用范围或功能性提出任何限制。
[0044]参照图9,示例性计算机900在基本配置中包括至少一个处理单元902和存储器904。计算机可包括多个处理单元和/或附加的协同处理单元,诸如图形处理单元920。取决于计算机的确切配置和类型,存储器904可以是易失性(诸如RAM)、非易失性(诸如R0M、快闪存储器等等)或二者的某些组合。这个配置在图9中由虚线906图示出。
[0045]附加地,计算机900还可以具有附加特征/功能性。例如,计算机900还可以包括附加存储装置(可移除和
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1