专利名称:经安全保护和过滤的个人信息发布的制作方法
经安全保护和过滤的个人信息发布 背景
在多群人之间安全共享个人信息是软件开发者长期面临的问题。该挑战 是,允许个人发布信息以便只有特定的个人可访问该信息的特定部分。在某种 程度上,客户机一服务器软件具有对该挑战的有限的解决方案。 一个示例是与
微软的EXCHANGE SERVER软件相结合的微软的OUTLOOK个人信息管理 器(PIM)客户端软件。该结合可使数百万的人能在工作组中(最常见的是在 公司或工作地环境中)共享它们的信息。
然而,用户的需求不限于工作组或公司环境。经常,用户希望与他们的工 作地或组织以外的更广大的读者共享个人信息的集合。示例包括共享任务列 表、事件的日历、或一组联系人(即,地址簿)。如果用户希望与他或她的组 织之外的读者共享日历(例如,即将到来的足球练习),则用户必须依赖除经 典的客户机一服务器软件之外的技术,诸如因特网等技术以允许其他用户访 问。
产生了部分解决该问题的一些解决方案。例如,存在能上传(发布)和下 载(订阅)来自与诸如因特网等网络相连的服务器的日历的日历程序。这些程 序可使用诸如基于Web的分布式创作和版本控制(WebDAV)等因特网发布 标准来控制日历的发布。然而,这样的程序可能不提供对其他人通过因特网可 获得的信息进行安全保护和过滤的能力。
现有的日历解决方案在没有合乎需要的限制的情况下发布日历。通常必须 发布整个日历,并且采用简单的口令保护方案来频繁地保护日历。尽管有些安 全,但是对日历采用简单的口令使得逐个选择谁可以或不可以查看日历变得困 难。例如,如果通过向三个用户中的每一个用户共享口令以向这三个用户提供 对发布的日历的访问,并且三个用户中的一个随后撤销了其访问,则日历的发 布者必须改变口令并且向其余的两个用户警示该改变。另外,口令可被传送给 其他人,以允许他们访问信息。具有单一的口令还使得跟踪谁正访问日历并且哪个人可能将密码泄露给其他人变得困难。单一口令还可能通过不安全的电子 邮件被发送并且容易被其他人窥探。
此外,当发布事件或任务项目时,整个集合被发布。这对于发布者和集合 的用户两者来说是累赘的。即使数月或数星期的信息可能是相关的,但是整个 集合在每次有变化时都必须被发布。作为一个示例,对于跨越多年的特别大的 日历来说,这会不必要地增加上传和下载日历的时间。另外,大日历会占据太 多服务器上的存储和/或盘空间。此外,发布者可能希望限制所发布的日历事件 的时间段使得不确定的未来事件保持不被发布。
本领域需要一种能向服务器发布日历以致能对所发布的信息进行过滤、能 基于逐个用户限制授予的访问并且能控制用户能查看的数据粒度的能力。例 如,用户可能希望仅向一个人提供空闲/忙碌的信息,而允许其他人看见每个约 会的文本。
概述
一个或多个实施例提供通过服务器安全地共享个人信息集合(例如,日历、 任务列表或地址簿)的方法。发布者能指定可访问日历(或其它集合)的人, 并且还可限制被邀请的用户在日历上能查看的时间段。
另外的实施例提供一种在服务器上接收和共享个人信息集合(例如,曰历 或任务列表)的方法。服务器接收个人信息集合以及对被授权查f"该集合的读 者的指示。然后,服务器要求请求查看该集合的用户在允许访问之前被认证。
附图简述
本发明的以上简要概述以及下面的详细描述在结合附图阅读时会得到更 好的理解。附图作为所请求保护的发明的示例而不是限制被包括在其中。在附 图中,用相同的标号标记相同或类似的元素。
图1示出在其中实现一个或多个实施例的示例性操作环境。 图2是示出根据本发明的一个或多个实施例的在服务器上发布个人信息集 合以供安全访问的过程的系统图示。
图3是示出根据本发明的一个或多个实施例的注册共享个人信息集合的服务的过程的流程图。
图4示出根据本发明的一个或多个实施例的用于配置日历的共享的对话框
401。
图5A-5C示出根据本发明的一个或多个实施例的个人信息集合的选择性 发布和不发布。
图6是显示根据本发明的一个或多个实施例的用于确定是否要重新发布个 人信息集合的方法的流程图。
详细描述
PIM软件120中所包含的信息可以使用在其中信息被发布或撤回查看的时 间"滚动窗"来发布,以确保信息的订阅者不查看不相关或不确定的信息。此 外,信息可在诸如因特网等网络上基于逐个用户地受安全保护以便确保未被授 权的查看者不能访问该信息。
图1示出在其中实现一个或多个实施例的示例性操作环境。该操作环境可 包括独立工作或与其它计算设备118 —起工作的计算设备100。计算设备100 可包括耦合至处理单元102的存储器存储104。硬件、软件、和/或其它固件的 任何合适组合可用于实现存储器104、处理单元102以及其它组件。作为示例, 如图所示,存储器104、处理单元102和/或其它组件可在计算设备100内实现, 或结合其它计算设备118来实现。所示出的系统、设备以及处理器仅用作示例。
一般而言,程序模块可包括执行特定任务或实现特定抽象数据类型的例 程、程序、组件、数据结构和其它类型的结构。此外,可采用包括手持设备、 多处理器系统、基于微处理器或可编程的消费类电子产品、微型计算机、大型 计算机、机顶盒等其它计算机系统配置来实践各实施例。各实施例还可在分布 式计算环境中实践,在该环境中,由通过通信网络链接的其它计算设备118执 行任务。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两 者上。 ' _
例如,各实施例可被实现为计算机进程或方法(例如,在硬件中或软件中)、 计算系统、或被实现为诸如计算机程序产品或计算机可读介质等制品。计算机 程序产品可以是计算机系统可读的、并且用用于在计算设备100上执行一进程的指令的计算机程序来编码的计算机存储介质。计算机程序产品还可包括在计 算系统可读的载波上的、并且随后存储于计算设备ioo的计算机可读介质上的 传播信号。
参考图l,所示的实施例可包括诸如计算设备ioo等计算设备。在一基本 配置中,计算设备100可包括至少一个处理单元102以及存储器104。取决于 计算机设备的配置,存储器104可以是易失性的(例如,随机存取存储器 (RAM))、非易失性的(例如,只读存储器(ROM)、闪存,等等)、或 其某一组合。存储器104可用作操作系统105、 一个或多个应用程序106的存 储位置,并可包括程序数据107以及其它程序。在华盛顿州雷德蒙市的微软公 司的WINDOWS操作系统家族中可找到操作系统105的示例。在一个实施例 中,应用程序106可包括诸如微软OUTLOOK等个人信息管理器(PIM)软件 120。
尽管基本计算设备配置被包含在虚线框108内,但计算设备100可包括另 外的特征和功能。例如,计算设备100可包括其它数据存储组件,包括可移动 存储109 (例如,软盘、存储卡、光盘(CD) ROM、数字视频盘(DVD)、 外置硬盘驱动器、通用串行总线(USB)密钥、等等)以及不可移动存储110 (例如,磁硬盘驱动器)两者。
计算机存储介质可包括按任何方法或技术实现的、用于存储信息的介质,
其中该信息包括计算机可读指令、数据结构、程序模块、或其它数据。存储器 104、可移动存储109和不可以动存储110均是计算机存储介质的示例。这种 介质的其它示例可包括RAM、 ROM、电可擦除可编程ROM (EEPROM)、 闪存、CD-ROM、 DVD、磁带盒、磁带、磁盘,等等。任何这样的计算机存储 介质可由作为计算设备100的一部分或外置于计算设备100并通过通信链路 (例如,蓝牙、USB、并行、串行、红外等)连接的组件所访问。计算设备100 还可包括输入设备112,例如键盘、鼠标、笔、话筒、触摸垫、触摸显示器等。 输出设备114可包括显示器、扬声器、打印机等。可采用其它形式的存储、输 入以及输出设备。
计算设备100可包括允许该计算设备诸如通过网络(例如,局域网(LAN)、 因特网等)与其它计算设备118通信的一个或多个通信连接116。以已调制数据信号中的计算机可读指令、数据结构、程序模块、或其它数据为形式的通信
介质可通过通信连接116与设备100和被设备100共享。己调制数据信号表示
将其一个或多个特性以在该信号中编码信息的方式来设置或改变的信号,并可
包括已调制载波或其它传输机制。通信连接116可由允许与其它设备118通过 有线(例如,以太网、USB、令牌环、调制解调器等)或无线(例如,WiFi、 WiMax、蜂窝式、声学、红外、射频(RF)等)通信管道通信的硬件和/或软 件组成。
图2是示出根据本发明的一个或多个实施例的在服务器203上发布个人信 息集合(即,日历)210以供安全访问的过程的系统图示。计算机201是图1 所述的计算设备100的示例。计算机201运行某一类型的个人信息管理器软件 120,包括日历210。当发布用户202选择发布日历210时,该日历的一种可发 布形式通过网络204被发送至服务器203。服务器203可包括位于局域网上的 服务器,或者通过因特网联系的远程服务器。服务器203可将日历210作为发 布的日历211存储在存储205中(例如,与服务器203相关联的硬盘驱动器)。
曰历210可按诸如因特网工程任务组的iCalendar标准等标准格式来发送。 计算机201上的软件可使用用于发布的相同标准格式来存储信息,或者按被转 换成用于发布的标准的不同标准或专用格式来存储信息。除了发送日历事件信 息之外,计算机201上的软件还可发送描述谁能或不能访问发布的日历211的 访问和控制信息。这样的信息可按标准格式(例如,访问和控制(ACL))或 专用格式来发送。发送的访问信息可包括被允许访问发布的日历211的那些个 人的电子邮件地址和/或用户姓名的集合。
用户206a、 206b和206c中的每个用户希望访问发布的日历211。每个用 户尝试通过与网络相连的计算机来访问该日历。由于发布者202选择对特定个 人限制访问,所以每个用户在能访问信息前将不得不建立他或她的身份。在建 立每个用户的身份时,服务器203和/或客户机206可利用可在服务器203上本 地地工作或通过诸如因特网等网络204远程地工作的认证服务207。诸如微软 的通行证网络(PASSPORT NETWORK)等认证服务207可为每个用户206 进行认证并建立身份。
当用户206尝试访问服务器203上的日历211时,他或她被要求进行他或她的身份认证,并且随后向他或她提供建立身份并允许访问该信息的证书。替 换方式的认证方案不需要远程认证服务207的服务。在服务器上包括用于每个
用户的简单登录以及口令设置可实现同样的目的。此处,用户206a和206b己 经被成功认证,并随后访问了日历211。用户206c还没有被认证并且不能访问 该信息。或者,用户206c可被认证(建立了他的身份)但没有被授权访问日 历211。如果发布者202决定排除用户206b,则她仅需要为那个特定的用户修 改访问限制而不用为所有用户改变单个口令并将新口令通知给其余的用户。
服务器203可被设置为一个为计算机201上运行的PIM软件120唯一地提 供受安全保护的共享服务的服务器。或者,服务器203可以是一个被编程为共 享信息并提供对该信息的受安全保护的访问的通用web服务器。在使用服务器 203的服务时,信息的发布者202会首先需要注册、付服务费和/或为升级服务 等级付费。
图3是示出根据本发明的一个或多个实施例的注册共享个人信息的服务的 过程的流程图。在流程图中描绘的步骤可以被记录、跳过、与其它步骤组合或 者以其它方式被修改,而总体过程将保持不变。此处,在步骤301处,发布者 202向PIM软件'120指示她希望选择性地共享日历。这可以通过点击界面上的 "发布"按钮、选择一菜单项或者以其它方式提供指示希望共享诸如日历或任 务列表等个人信息集合的输入来实现。
对于计算机201, 一旦触发了共享,则在步骤302处检查网络连接。在判 决303处,如果没有允许发布的网络连接,则在步骤304处,显示适当的错误 消息。如果存在网络连接,则在步骤305处,检査PIM软件120以查看它是否 被配置为用于发布(例如,带有服务器信息等)。如果该软件被这样配置,则 在步骤306处,可任选地显示一个认证对话框,以供让发布者验证他或她的身 份。在步骤307处, 一旦被认证,则该步骤继续前进,否则发布者不得不重新 认证或取消操作。如果PIM软件120没有被配置成采用发布服务,则在步骤 308处向发布者提供一个注册和/或为使用发布服务付费的机会。在步骤309处, 新用户接收它们的登入信息并控制进度。
一旦被认证,在判决310处,检查发布者的注册以査看她是否已经签约了 所要求的特定共享服务(例如,日历共享,如果它总体上独立于发布服务被分开提供)。如果没有,则在步骤311处,用户可为共享注册,并且在步骤312
处,显示一共享对话框,在该对话框中,用户可配置用于共享所选择的特定集 合的选项。
图4示出根据本发明的一个或多个实施例的用于配置日历的共享的对话框 401。类似的对话框可被用于其它类型的个人信息集合,包括任务列表、地址 簿、笔记集合等等。应该注意到,该对话框仅是示例。其它对话框可采用不同 的输入类型来征求相同的信息,并且该对话框可以是更大表单或输入区域的一 部分。
对话框401向发布者202提供为名为足球练习402的日历配置发布选项的 能力。日历的发布版本将不包括所有事件,取而代之的是将包括受限的时间范 围内的事件,即随当前日期变化的那个时间范围。输入403允许选择将在发布 的日历上显示的当前日期之前以及之后的时间段。在任务列表的情况下,集合 项(任务对比事件)的发布可采用该项的到期日期来同样地过滤。此处,落入 当前日期之前2周内以及当前日期之后3周内的范围中的事件将被发布。
输入404允许发布者202选择关于每个事件的多少信息将被包括在发布的 日历上。最少的情况下,提供可获得性信息(例如, 一特定时间段内是否有事 件),而另一极端则提供关于事件的所有详细信息。作为示例,"全部详细信 息"可包括关于一事件的所有信息,包括输入的任何描述。"部分详细信息" 可仅包括日期、时间、标题以及位置,而没有任何另外的信息。发布者202还 可进行过滤以便仅显示那些在先前确定的工作时间内发生的事件。可以采用输 入405来控制日历许可以便仅许可某些用户或允许所有用户。并且可采用输入 406来选择自动或手动上传。输入409可以允许发布标有"隐私"的事件的详 细信息以供其他人访问。输入410可允许PIM软件设置服务器203的上传限制, 以便防止带宽和/或存储器的过度使用。 一旦配置了适当的选项,用户可通过点 击"发布"按钮407立刻发布日历或者通过点击"取消"按钮408不发布而退 出。
一旦设置了日历发布的选项,并且发布者已选择限制个人用户的访问,则 可向发布者202展示邀请用户访问他的日历的对话框(未显示)。这样的对话 框还可允许将每个被邀请的用户限制到对日历的一个访问级别。某些用户能够访问事件的所有详细内容,而其他人只能够访问在特定时间是否发生一事件 (例如,空闲/忙碌信息)。可向发布者提供模板电子邮件,她可以在该模板电 子邮件中插入来自她的地址簿的联系人信息,或者仅仅插入那些要被授权査看 日历的人的电子邮件地址。可向这些个人发送带有到日历的链接的电子邮件D 当点击该链接时,这些被邀请的用户会需要首先经服务器203或者认证服务
207认证。在最初设置了邀请之后,发布者202可修改日历的访问设置,邀请 个人用户,并撤销其他人的访问。
图5A-5C示出每次作出发布请求(例如,发送/接收循环)时发生的选择 性的发布和不发布。此处,发布者202选择日历(即例如,任务列表)将仅在 某一"滚动窗"日期范围内(当前日期之前的2周内以及之后的3周内)发布, 并且用户选择了自动更新。这样,该日历将仅当需要时并且仅当触发发布(例 如,当过了某一时间段后、在手动发布时等)时被重新发布。
图5A示出具有被计划在各日期进行的事件A-G的日历501a。采用一个框 来高亮显示当前日(即"B"日)。该日历的无阴影部分表示"滚动窗",即 当前日期之前的两周和当前日期之后的三周。当发布这个日历时,只有事件 A-E将被从计算机201发布到服务器203上,因为这些是落入窗口内的仅有事 件。
图5B示出日历501b,除了现在当前日历提前了一周之外,该日历与之前 一样。尽管自动发布更倾向于更频繁地更新日历,但是,出于此示例的目的, 该日历已有一个星期没有被发布。滚动窗(即,无阴影的区域)适当提前了, 并且现在计算机201确定该日历是否需要重新发布。由于事件A落在窗口之外, 而事件F落入该窗口内,因此该日历将被重新发布,这次仅发布列出的事件 B-F。
图5C示出当前日期又被提前一周的日历501c。滚动窗再次提前,并且计 算机201必须再次确定是否重新发布日历。尽管在窗口中存在一周的移动,但 是在该窗口内出现的事件没有变化。事件B-F应仍在日历上列出。假定没有对 曰历的内容作出其它变化,则该日历这次将不被重新发布。由于事件是相同的, 因此日历也是相同的,并且重新发布会是对资源和时间的浪费,对于可能被其 它多个发布者共享的服务器203来说尤甚。图6是显示根据本发明的一个或多个实施例的用于确定是否重新发布个人 信息集合(例如,任务列表或日历)的方法的流程图。在最初步骤601处,触
发发送/接收循环。这可以是基于配置设置(例如,经过某一段时间,或者某百 分比的信息被改变)来自动触发或者由用户手动触发。作为发送/接收循环的一
部分,检査发布的信息集合以确定它们是否需要重新发布。在判决602处,首
先检查的是该发布者自最新近的发布以来是否改变过个人信息集合。在判决
603处,其次检查的是自上一次发布以来是否已过了一个日历日。
如果这些检查中的任何一个检查都为真,则在步骤604处,将创建集合的 可发布版本。可发布版本遵照特定标准(例如,符合iCalendar规范的日历) 并且还可遵循由用户放入的任何过滤(例如,滚动时间窗或只针对营业时间内 的事件)。在步骤605处,刚生成的可发布版本与前一次发布的可发布版本作 比较。该比较可涉及逐个事件的分析和/或可涉及散列值(例如,CRC或MD5) 的比较以确定两个文件是否相同。在判决606处,如果两个可发布的版本是相 同的(例如,在滚动窗内没有改变、添加或移除事件,由此那些文件是完全相 同的),则在步骤607处,不向服务器203上传该集合的可发布版本。如果可 发布版本是不同的(例如,在滚动窗内的事件变化了),则在步骤608处,将 上传新生成的个人信息集合的可发布版本。此时,订阅日历的用户可接收变化 的通知或者自动接收更新的信息。
尽管体现本发明的方法和系统作为示例显示,但是将理解的是,本发明不
限于这些实施例。所述的方法和系统仅仅是本发明的示例,其限定在随后的权 利要求中陈述。本领域的技术人员可作出修改,特别能针对上述教示作出修改。
权利要求
1.一种用于为了读者的利益发布个人信息集合的计算机实现的方法,该方法包括接收发布所述个人信息集合的请求,其中所述个人信息集合包括多个集合项;确定自前一次发布以来是否对所述个人信息集合做出任何改变;响应于存在改变,将所述个人信息集合的可发布版本与所述前一次发布的可发布版本作比较;以及响应于所述两个可发布版本是不同的将所述可发布版本放置到可被所述读者访问的服务器上;以及向所述服务器提供对被授权查看所述可发布版本的读者的指示。
2. 如权利要求1所述的计算机实现的方法,其特征在于,所述个人信息集 合包括具有多个任务的任务列表。
3. 如权利要求1所述的计算机实现的方法,其特征在于,所述个人信息集 合包括具有多个事件的日历。
4. 如权利要求3所述的计算机实现的方法,其特征在于,所述日历的可发 布版本包括采用iCalendar标准来格式化的文件。
5. 如权利要求1所述的计算机实现的方法,其特征在于,所述方法还包括 确定自所述前一次发布以来是否过了一预设时间段;响应于已过了所述预设时间段,将所述个人信息集合的可发布版本与所述 前一次发布的可发布版本作比较;以及 响应于所述两个可发布版本是不同的将所述可发布版本放置到可被所述读者访问的服务器上;以及 向所述服务器提供对被授权査看所述可发布版本的读者的指示。
6. 如权利要求5所述的计算机实现的方法,其特征在于,所述方法还包括: 确定所述多个集合项的一子集中的个数是否小于所述个人信息集合中的所述多个集合项的个数;以及从所述多个集合项的所述子集中创建所述个人信息集合的可发布版本。
7. 如权利要求6所述的计算机实现的方法,其特征在于,所述方法还包括:基于相对于当前日期而变化的日期范围确定所述多个集合项目的所述子集。
8. 如权利要求1所述的计算机实现的方法,其特征在于,所述方法还包括接收对将被允许访问所述可发布版本的用户的选择。
9. 如权利要求8所述的计算机实现的方法,其特征在于,所述方法还包括接收每个用户的访问级别的指示,其中每个访问级别包括关于集合项的不 同详细信息量。
10. 如权利要求8所述的计算机实现的方法,其特征在于,所述方法还包括向每一个所选用户发送提供了到所述可发布版本的链接的电子邮件邀请。
11. 如权利要求1所述的计算机实现的方法,其特征在于,将所述个人信 息集合的可发布版本与所述前一次发布的可发布版本作比较包括比较与所述 版本中的每一个版本相关联的散列值。
12. —种用于向远程用户提供发布的个人信息集合的计算机实现的方法, 所述方法包括接收来自远程发布者的所述个人信息集合的可发布版本; 接收对被授权査看所述可发布版本的读者的指示;接收来自远程用户的访问所述可发布版本的请求; 认证所述远程用户的身份;确定所述远程用户是否是被授权查看所述可发布版本的读者的成员;以及响应于所述远程读者是所述被授权的读者的成员,允许所述远程用户访问 所述可发布版本。
13. 如权利要求12所述的计算机实现的方法,其特征在于,认证所述远程 用户的身份包括接收由远程认证服务器建立的认证的确认。
14. 如权利要求12所述的计算机实现的方法,其特征在于,对被授权査看 所述可发布版本的读者的所述指示包括多个电子邮件地址。
15. 如权利要求12所述的计算机实现的方法,其特征在于,所述个人信息 集合包括具有多个事件的日历。
16. 如权利要求15所述的计算机实现的方法,其特征在于,所述日历的可 发布版本包括采用iCalendar标准来格式化的文件。
17. 如权利要求12所述的计算机实现的方法,其特征在于,所述个人信息 集合包括具有多个任务的任务列表。
18. —种用于安全地发布日历的系统,所述系统包括 处理器;以及存储器,所述存储器存储由所述处理器执行的指令,所述指令包括以下步骤接收发布所述日历的请求;接收相关日期的范围,采用所述日期范围对发布的日历中的事件进行 过滤,所述日期范围与当前的日期相关;接收多个被授权的电子邮件地址;基于与所述当前日历有关的日期范围对所述发布的日历中的事件进行过滤;向远程服务器上传所述发布的日历;以及向所述远程服务器提供所述多个被授权的电子邮件地址的列表。
19. 如权利要求17所述的系统,其特征在于,所述指令还包括 接收重新发布所述日历的请求; 确定发布者是否对所述日历做出改变; 确定自前一次发布所述日历以来是否过了一天;响应于或者做出过改变或者过了一天,将将要发布的日历与前一次发布的 日历作比较,以及响应于所述将要发布的日历和所述前一次发布的日历是不同的,将所述将 要发布的日历上传到所述远程服务器上。
20. 如权利要求18所述的系统,其特征在于,将将要发布的日历与前一 次发布的日历作比较包括比较与每个日历相关联的散列值。
21. 如权利要求17所述的系统,其特征在于,所述指令还包括 接收对所述日历中的事件进行过滤以便仅显示在一组预定营业时间内发生的事件的请求;以及过滤所述发布的日历以便仅包括那些在所述一组营业时间内发生的事件。
全文摘要
提供经选择性地共享并过滤的个人信息集合。个人信息集合包括日历、任务列表、地址簿以及可由个人信息管理器(PIM)软件提供的其它信息的集合。在服务器上发布的个人信息集合对于谁可访问该集合基于逐个用户设限。此外,可基于日期的滚动窗自动过滤集合,从而减少文件的大小并且维护了在滚动窗之外的项目的隐私。
文档编号G06F17/00GK101322118SQ200680045306
公开日2008年12月10日 申请日期2006年11月30日 优先权日2005年12月1日
发明者C·斯蒂尔顿, D·N·哈塔科尔, E·F·翁, R·阿布多, T·L·米歇尔 申请人:微软公司