具体实施方式
以下将参考附图对本发明的实施例详加描述,所述附图在本文中形成了一个部分并且以示例的方式具体示出了用于实践本发明的典型实施例。然而本发明能够以许多不同的方式被具体表达并且不认为限制在此阐明的诸实施例;相反,提供这些实施例使本专利说明透彻和完全,并且能够对本领域普通技术人员完全表达出本发明的范围。此外,本发明还可具体表达为方法或设备。因此本发明可以采取全部硬件的实施例形式、全部软件的实施例形式或者结合了软件和硬件方面的实施例形式。因此随后的详细描述不具有限制性的意义。
限制用户访问网络文档的方法和系统的示例
图3-6表示了本发明的大体概述以及关于本发明可用性的典型细节。本发明涉及用于限制用户访问网络文档内敏感内容的系统和方法。虽然在此本发明是参考电子表格进行描述,但是也可以限制其他文档,诸如字处理文档、ADOBE文档、工作簿、网页、电子邮件、记事本或者被期望有限制或有限权限的其他任何种类的文档。应该意识到根据本发明的一个实施例,电子表格文档包括由总部位于华盛顿州雷蒙德的微软公司研发的EXCEL电子表格应用程序。
作为本发明的一个通用实施例,文档管理员可以管理包括敏感信息的文档。为了让其他用户访问文档内容,可以制作并传播所述文档或部分文档的拷贝。例如在许多情况下,所述文档可经由电子邮件(“e-mail”)消息发送给其他用户。接收到该文档的用户随后执行文件分析、文件处理或将此文件添加给另一个应用程序。
另外,该文档还能够存储在能够让多用户访问该文档内容的文件共享服务器上。图3和图4代表了本发明的一个典型方面,随后将对照图5和图6进一步地阐述。系统300代表用于处理服务器上文档的系统的大体概况。系统300包括用于经由网络306访问服务器304的客户302。客户302可包括能够访问服务器304的任何种类的客户。客户302可包括计算设备,诸如以上结合图1描述的计算设备100。客户也可包括移动设备,诸如以上结合图2描述的移动设备200。客户302可以包括单个用户,一个用户组或者一个用户网络。
客户302可包括存储在客户302上的多个程序模块及数据文件。客户302可具有Web浏览器,该浏览器可用于请求、接受、描绘并且提供与电子文档的互动,诸如使用HTML格式的网页。根据本发明的一个实施例,所述Web浏览器包括由微软公司研发的INTERNET EXPLORER Web浏览器应用程序。但是也应该意识到也可以利用其他生产商研发的Web浏览器应用程序来具体表达本发明的多个方面,这些浏览器包括由总部位于加利福尼亚州,Mountain View的MOZILLAFOUNDATION研发的FIREFOX Web浏览器应用程序。
服务器304可包括能够访问内容数据库308的任何种类的服务器。在一个实施例中,服务器304是一个文件共享服务器。应该意识到根据本发明的另一个实施例,服务器304是微软公司研发的WINDOWS SHAREPOINT SERVER。在本发明的再一个实施例中,服务器304包括微软公司研发的EXCEL CALCULATIONSERVER程序。
作为电子表格文档的因特网检索实例,客户302可以经由因特网访问电子表格计算服务器。该访问可以采样文档请求的形式。该文档请求将识别做出请求的客户以及被请求文档的统一资源定位器(“URL”)。服务器304随后将执行检验。服务器304访问内容数据库308以验证所述客户对该文档具有访问权限。在一个实施例中,这些访问权限是由与所述文档相关的访问控制列表(“ACL”)所确定的。ACL可包括一组通报计算机操作系统关于许可或访问权限的数据,每个用户都具有对应于诸如目录或文件的特定系统目标的这样一组数据。如果客户302对所述文档具有无限制的权限,那么就把该文档从内容数据库308发送至服务器304。在所述网络包括因特网、内联网等等的情况下,服务器304随后能够处理该文档,使得该文档对于用户来讲是可查看的。在本发明的一个实施例中,服务器将所述文档转换成超文本标记语言(HTML)使得用户可以查看该文档。但是客户也可以通过因特网访问原始文档。以下将阐明服务器处的其他处理。
图4代表了本发明的一个典型细节,其中用户对一个电子表格具有无限制的权限。网页400包括了电子表格文档的可查看表示。特别地,网页400可包括HTML以及在由Web浏览器显示时提供电子表格可视显示的脚本。此外,该包含在网页内的脚本允许客户与显示互动并修改该电子表格。网页400可包括多个列402以及多个行404。列402与行404在诸如单元格406的各个单元格处交叉。在许多情况下,单元格406包含一个计算值或号。所述计算序号或值可以是公式的结果或者从属关系。在客户对网页400具有无限制权限的情况下,公式域408可以位于电子表格的顶部,用于显示涉及单元格406的公式。
正如本发明所预期的,存在某些文档管理员不希望客户对文档具有完全权限的情况。例如,一个文档可能包括敏感信息(例如外部数据参考)或者知识产权数据。在此情况下,文档管理员希望客户能够查看文档但是不能够查看构成文档的基本公式、表达式或方程式。在其他情况下,文档管理员希望客户不能够查看文档的编辑或之前的版本。在另外情况下,文档管理员希望客户不能够查看文档的个人信息。在这些情况中,文档管理员可能只给予客户有限的权限。这些受限制的或有限的权限可以包括读权限、执行权限、删除权限、浏览权限等等。在本发明的一个较佳实施例中,文档管理员给予客户浏览权限。
图5和图6代表了与上述图3和图4相对照的本发明的一个典型方面。图5表示了用于限制用户访问网络文档的系统和方法的一个方面,而图6表示了本发明的一个典型细节,其中用户对电子表格具有有限权限。
系统500代表了用于访问具有有限权限文档的系统的大体概览。系统500包括请求访问文档的客户502。客户502在上面结合了图3描述。客户502可能会访问网络504。网络504可包括任何种类的网络。在一个实施例中,网络包括因特网。系统500也包括服务器506。服务器与以上结合图3的描述相一致;但是在过程500的一个实施例中,服务器是微软公司研发的WINDOWS SHAREPOINT SERVER。
编号508是文档调节器。文档调节器508可包括多个实施例。在一个实施例中,文档调节器508是与服务器506相关的应用或程序。在另一个实施例中,文档调节器508是基于Web的应用。在还一个实施例中,文档调节器是电子表格计算服务器。于2003年6月27日提交的标题为“METHOD AND APPARATUS FORVIEWING AND INTERACTING WITH A SPREADSHEET FROM WITHIN ABROWSER”的专利申请No.10/607,780结合在此作为参考,用于提供一类文档调节器508的详细实施例。以下将更彻底地阐明,文档调节器508“处理”所述文档以约束知识产权数据或敏感数据。
过程500还包括内容数据库510以及配置账户512。内容数据库510包括文档存储装置、用户账户和客户权限。配置账户512具有关于服务器配置的信息。例如,配置账户512可包括表示服务器506可访问文档调节器508的数据。
为了解释系统500,将会参考电子表格文档、电子表格计算服务器、WINDOWSSHAREPOINT SERVER以及浏览权限。这些参考的内容仅用于说明性的目的。考虑到在此的专利说明,系统500可以使用各种配置。除了以上阐明的权限,也可以对文档添加各种限制。此外,系统500也可与电子表格之外的各种类型的文档配合使用。
在一个实施例中,客户502发送文档请求给服务器506。文档请求可以包含客户选择与服务器相关的文档。所述文档请求可以识别做出请求的客户以及被请求文档的统一资源定位器(“URL”)。服务器506随后通过比较该URL和内容数据库510的客户信息来执行检验以确定该用户对被请求文档是否具有无限制的权限。内容数据库510可包括存储文档以及那些文档的权限。在一个实施例中,客户权限是以ACL的形式与所述文档相关的。在客户权限表示客户502对文档具有无限制权限时的情况下,如与以上结合图3的描述的那样继续该过程。
与图3相比,存在客户502对请求文档具有受限权限的若干情况。如果用户对某一文档完全受限制(无权限),那么服务器506可发送表示客户502访问受限制的消息给客户502。在另一个实施例中,如果客户502对某一文档完全受限制,那么该客户在访问服务器506时将无法看到该文档的图标。换句话说,在客户502连接到服务器506时,客户502不知道该文档的存在。
在另一情况下,会给予客户502对于文档的有限权限。这些有限权限包括但不限于:读权限、执行权限、删除权限或者浏览权限。在一个实施例中,所述有限权限是浏览权限。当给予有限权限时,内容数据库510从服务器506接收URL和用户信息。在一个实施例中,将该信息同与请求文档相关的ACL做出比较。所述ACL可以识别所述文档以及客户对该文档的权限。还可期望文档的页眉或页脚可以识别所述文档以及客户对该文档的权限。在客户502仅具有有限权限的情况下,服务器506确定系统500的配置是否允许将受限文档发送给客户502。以下将更为详细的描述,如果系统500不能保证从所述文档中移除所有的知识产权材料或敏感材料,那么客户502将对于所述文档完全受限制。
一旦确定了有限权限,系统500的结构连同是结构账户512被一起检验的。配置账户512包括与系统500的配置相关的信息。例如配置账户512可包括关于可访问程序、模块或相关服务器的信息。配置账户512也可表示服务器506是否访问文档调节器508。如果客户502具有有限权限而服务器不可访问文档调节器508,那么服务器506可向客户502表示,所述客户对该文档没有权限。如果客户502具有有限权限并且所述服务器可访问文档调节器508而在服务器506和文档调节器508之间的通信被中断,那么服务器506可向客户502表示,所述请求已超时。如果客户502具有有限权限并且所述服务器可访问文档调节器508而在文档调节器508和内容数据库510之间的通信被中断,那么服务器506可向客户502表示,所述请求已超时。
在确定了有限权限并且所述文档调节器508与服务器506相关的情况下,所述服务器506可以代表客户502发送服务器请求给文档调节器508。如上所述,该请求可表示客户502和该文档的URL的识别。在本发明的一个实施例中,文档调节器包括如上所述结合专利申请No.10/607,780作为实例的电子表格计算服务器。在另一个实施例中,所述文档调节器是在服务器506上的应用程序。在本发明的再一个方面,所述文档调节器包括基于Web的程序。也可考虑其他类型的文档调节器,只要所述文档调节器可以处理该文档。文档调节器发送调节器请求给内容数据库用于代表客户502请求对文档无限制的访问。所述调节器请求至少包括被请求文档的URL。所述内容数据库510通过将无限制文档发送给文档调节器508来响应调节器请求。
在所述文档调节器508接收该文档之后,就可处理该文档。结合在此作为参考的于2004年7月30日提交的标题为“METHOD,SYSTEM AND APPARATUSFOR EXPOSING WORKBOOKS AS DATA SOURCES”的专利申请No.10/903,568提供了一种处理类型的详细的示例。结合在此作为参考的于2004年6月1日提交的标题为“METHOD,SYSTEM AND APPARATUS FOR EXPOSING WORKBOOKRANGES AS DATA SOURCES”的专利申请No.10/858,175提供了另一种处理类型的详细示例。。结合在此作为参考的于2004年6月1日提交的标题为“METHOD,SYSTEM AND APPARATUS FOR DISCOVERING AND CONNECTING TO DATASOURCES”的专利申请No.10/858,190提供了再一种处理类型的详细示例。
所述文档的处理还可包括文档调节器508限制对部分文档的访问。例如,如果所述文档是电子表格文档,那么文档调节器可以限制对电子表格基本公式的访问。文档调节器508可以处理所述电子表格,用于移除结合图4中示出的公式单元格408,从而限制客户对单元隐含公式的访问。作为另一个实施例,文档调节器508可以阻止客户访问个人注释、文档草稿、草稿修改、外部数据引用或者其他敏感材料。在再一个实施例中,文档调节器508可生成不包括知识产权或敏感数据的基于Web的文档表示。该基于Web的表示可以包括文档的可扩展标记语言(“XML”)表示或者HTML表示。所述基于Web的表示可以排除敏感材料的表示。
一旦文档调节器508处理了所述文档,文档调节器508就发送该受限制的文档给服务器506。在文档调节器508是服务器506上应用程序的情况下,所述文档调节器508可传送该文档给另一应用程序用于进一步的处理。在本发明的一个实施例中,服务器506可以对所述文档执行进一步的处理,诸如将文档从XML转换成HTML。服务器506随后可发送可查看的受限制的文档给客户502。
与图4相比,图6表示了本发明的一个典型细节,其中用户对电子表格具有有限制的访问权限。网页600可包括电子表格的可查看表示。特别地,网页600可包括HTML以及在由Web浏览器显示时提供电子表格可视显示的脚本。此外,该包含在网页内的脚本允许客户与显示互动并修改该电子表格。然而电子表格文档是全部或部分的实际电子表格文件而不是该文件的表示的情形是属于本发明范围内的。与图4相比,在客户对网页600具有受限制的访问权限,网页600具有开放域602的情况下,公式单元格不位于电子表格顶部并且基本的敏感信息对客户来讲是不可访问的。如上所述,可以预料到任何种类的敏感信息可以在任何种类的文档内受限制。
图7表示了本发明的一个方面的逻辑流程图。在起始框702处过程开始,并且继续到框704,在那里文档请求被发送至服务器。诸如以上结合图3所述一致的请求,该文档请求可从能够访问因特网的客户处发送。然而在本发明的其他方面,该请求在封闭网络内发送。在一个实施例中,所述请求包括文档的URL和客户做出请求的客户的标识。
过程700继续到框706,在那里确定所述客户对该文档的访问是否受限制。如前所述,该限制可通过比较文档的ACL和与请求相关的客户来确定。如果该ACL表示所述客户是无限制的,那么过程700继续到框708,如上述的详尽描述,在框708处服务器访问文档存储装置并且将整个无限制文档发送给该客户。再次,可以预料,不同于处理ACL的其他指示项也可表示权限。所述其他指示项包括首部、脚注或者与服务器相关的单独应用程序。在本发明的一个实施例中,服务器处理该文档使得该文档对于因特网上客户是可查看的。在将无限制的文档发送给客户之后,在终止框730处过程700结束。
如果访问是受限制的,那么过程700继续到框710,在那里确定该限制是否是完全限制。如果该限制是完全限制,那么如框712所表示拒绝客户对该文档的所有访问。在本发明的一个实施例中,相关文档的ACL可以表示,客户没有访问该文档的权限。如果客户对该文档没有权限,那么对该文档所有的访问都被限制并且服务器发送消息给客户以指出所有的访问都被限制。在另一个实施例中,如果客户对某个文档完全受限制,那么该客户在访问服务器时将不能查看该文档的图标。换句话说,在该客户连接到服务器时,该客户并不知道所述文档的存在。在框712之后,过程在终止框730处结束。
如果客户具有有限权限,那么过程700继续到框714,在那里服务器确定所述配置是否满足发送受限文档给客户的要求。如上的详尽描述,如果该配置不满足条件,那么将如框716所指示的发送出错消息或者超时消息给客户。
如果客户对所述文档具有有限权限并且访问是合乎需要的,那么过程700继续到框718。在框718处,服务器发送服务器请求给文档调节器。如上所述,该服务器请求将表示客户以及文档的URL。该过程随后继续到框720,在那里文档调节器接收服务器请求并且代表所述客户发送调节器请求给内容数据库。该调节器请求可以是用于无限制访问所述文档的请求。
过程700继续到框722,在那里内容数据库发送无限制的文档给文档调节器。这一无限制的文档可以是原始文档。如上的详尽描述,所述文档调节器可以处理文档用于限制至少对部分文档的访问。例如,如果所述文档是电子表格,那么该文档调节器可以限制对电子表格文档基本公式的访问。所述文档调节器可以处理电子表格文档以移除公式单元格,从而限制了用户对单元格基本公式的访问。在另一个实施例中,文档调节器可生成不包括知识产权或敏感数据的电子表格文档的基于Web的表示。该基于Web的表示可以包括电子表格文档的可扩展标记语言(“XML”)表示或者HTML表示。还可以预计文档管理员可在电子表格文档以外的任何种类的文件中指示将要被移除的敏感材料。所述其他文档可包括字处理文档、因特网文档、图形文档、记事本或者电子邮件。还可预计所述文档调节器可对该文档执行进一步的处理以方便用户对文档的使用。这些处理还结合以上图5进一步阐明。
过程700继续到框726,在那里文档调节器508发送该受限文档(或文档表示)给服务器。如上所述在本发明的一个实施例中,服务器可以对受限文档执行进一步的处理,诸如将文档从XML转换成HTML。过程700继续到框728,在那里允许客户访问受限文档。该限制可以包括限制客户权限到浏览权限。如上所述也可考虑其他种类的权限。随后该过程继续到终止框730,在那里过程700结束。
说明性的操作环境
参见图1,用于实现本发明的典型系统包括计算设备,诸如计算设备100。在基本配置中,计算设备100通常包括至少一个处理单元102和系统存储器104。根据计算设备的精确配置和类型,系统存储器104可以是易失性(诸如RAM)、非易失性(诸如ROM、闪存等等)或者两者的结合。系统存储器104通常包括操作系统105、一个或多个应用程序106,并且还可包括程序数据107。在一个实施例中,应用程序106还包括用来与网络通信的应用程序120。在图1中由虚线108内的那些组件示出了这一基本配置。
计算设备100还可具有附加的特性或功能。例如,计算设备100还可包括附加的数据存储设备(可移动和/或不可移动),诸如磁盘、光盘或磁带。这些附加设备在图1中由可移动存储装置109和不可移动存储装置110示出。计算机存储介质可以是以任何信息存储方法和技术实现的易失性和不易失性、可移动和不可移动的介质,诸如计算机可读指令、数据结构、程序模块或者其他数据。系统存储器104、可移动存储装置109以及不可移动存储装置110都是计算机存储介质的实例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字通用盘(DVD)或者其他光学存储器、磁带盒、磁带、磁盘存储器或者其他磁性存储设备或者能够用于存储期望信息并可由计算设备100访问的任何其他介质。所述任意的计算机存储介质可以是设备100的一部分。计算设备100可以具有诸如键盘、鼠标、手写笔、语音输入设备、触摸输入设备等等的输入设备112。也可以包括诸如显示器、扬声器、打印机等等的输出设备114。所有这些设备都在本领域内为人周知,因此无需在此详细讨论。
计算设备100也包括允许所述设备与其他计算设备118诸如通过网络或无线网络进行通信的通信连接116。通信连接116是一个通信媒介的实例。通信媒介通常具体表示为在诸如载波或其他传送机制的被调制数据信号内的计算机可读指令、数据结构、程序模块或者其他数据,并且还包括任何信息传输媒介。术语“被调制数据信号”指的是具有一个或更多信号内以编码信息的方式设置或变化的信号的特征。作为例子而非限制,通信媒介包括诸如有线网络或者直接线连接的有线媒介,以及诸如声学、RF、红外线或其他无线媒介的无线媒介。这里使用的术语计算机可读媒介一并包括存储媒介和通信媒介。
图2示出了可在本发明的一个典型实施例中使用的移动计算设备。参见图2用于实现本发明的一个典型系统包括移动计算设备,诸如移动计算设备200。所述移动计算设备200具有处理器260、存储器262、显示器228和键组232。存储器262通常包括易失性存储器(例如RAM)以及非易失性存储器(诸如ROM、闪存等等)。移动计算设备200包括存储在存储器262内并在处理器260上执行的操作系统264,诸如微软公司研发的Windows CE操作系统或者其他操作系统。键组232可以是按钮数字拨号盘(诸如普通的电话)、多键键盘(诸如传统的键盘)。显示器228可以是液晶显示器或者通常在移动计算设备内使用的任何其他种类的显示器。显示器228可以是触摸屏,这样就还可作为输入设备使用。
一个或更多的应用程序266被装载入存储器262并且在操作系统264上运行。应用程序的实例包括电话拨号器程序、电子邮件程序、日程表程序、PIM(个人信息管理)程序、字处理程序、电子表格程序、因特网浏览器程序等等。在一个实施例中,应用程序266还包括用来与网络通信的应用程序280。移动计算设备200还包括位于存储器262内的非易失性存储装置268。所述非易失性存储装置268可用来存储在移动计算设备200断电的情况下也不应丧失的永久信息。所述应用程序266可使用并且存储在存储装置268内的信息,诸如电子邮件或者由电子邮件应用程序使用的其他消息、由PIM使用的联系信息、由日程表程序使用的约会信息、由字处理应用程序使用的文档等等。
所述移动计算设备200具有可由一个或更多电池实现的电源270。电源270还可包括外部电源,诸如AC配适器或者为电池提供补充或者再充电的供电底座(docking cradle)。
示出的移动计算设备200具有两类外部通知机制:LED 240以及音频接口274这些设备可以直接耦合到电源270使得被激活时,即使在为节省电源关闭处理器260和其他组件的情况下,设备仍可维持由所述通知机制指出的一段时间。可以编程该LED 240使其保持不确定状态,直到用户采取行动指示设备的上电状态。使用音频接口274为用户提供声音信号或从该用户处接收声音信号。例如,音频接口274可以耦合到扬声器用于提供声音输出,或者耦合至麦克风用于接收声音输入,以利于诸如电话交谈。
移动计算设备200还包括无线电接口层272,它执行发送和接收诸如无线电通信的通信功能。无线电接口层272经由通信载波或者服务提供商为移动计算设备200和外部世界之间的无线连接提供便利。送至或者接收自无线电接口层272的发送可在操作系统264的控制下进行。换句话说,由无线电接口层272接收的通信可以通过操作系统264传播给应用程序266,反之亦然。
上述说明书、实例和数据提供了生产和使用本发明组成的完整描述。因为可以在不背离本发明精神和范围的情况下做出许多本发明的实施例,所以本发明存在于随后附上的权利要求中。