首页> 中国专利> 针对发现和发布网络上存在信息的用户界面的系统和方法

针对发现和发布网络上存在信息的用户界面的系统和方法

摘要

一种提供用于针对发表和发现网络上用户的存在的用户界面的系统和方法。提供一种外围且不引人注目地显示网络上附近用户的存在信息的侧栏小块。该侧栏小块也用于通知本地用户,他们的信息也正被发布在网络上。侧栏小块提供了用于选择改变、启用、或者禁用存在发现服务的选项。

著录项

  • 公开/公告号CN101137951A

    专利类型发明专利

  • 公开/公告日2008-03-05

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN200480001357.6

  • 申请日2004-07-29

  • 分类号G06F3/00(20060101);G06F3/01(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人沈昭坤

  • 地址 美国华盛顿州

  • 入库时间 2023-12-17 19:49:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-20

    专利权的转移 IPC(主分类):G06F3/00 变更前: 变更后: 登记生效日:20150429 申请日:20040729

    专利申请权、专利权的转移

  • 2009-11-04

    授权

    授权

  • 2008-04-30

    实质审查的生效

    实质审查的生效

  • 2008-03-05

    公开

    公开

说明书

背景技术

存在概念已经渐增地接近网络应用和实时通信的显著地位。存在经常指检测 用户是否在线和可用的能力。利用存在信息的应用的一个例子是即时消息通信(IM) 程序。IM程序为用户提供了一种发送即时消息到因特网或网络上的其他的IM用 户的方法。IM是一种通信服务类型,它使得用户能和另一个人创建一种私人聊天 室,以通过因特网实时通信。IM类似于电话会议,但是使用基于文本的、非基于 语音的通信。通常,无论何时用户私有列表上的人在线,该即时消息通信系统警告 用户。然后该用户可发起一个与该特定个人的聊天会话。

然而,IM和其它相似应用的存在已经受限于直接与已由用户建立的联系人相 关联的存在信息。在用户列出联系人之外的其他的用户存在无法获得。其它应用程 序已经允许发现什么设备而不是用户在网络上。提供的存在信息由笨重或强迫人的 用户界面所显示。例如,要求IM应用程序被打开、运行并考虑到用户,以显示存 在信息。

发明内容

本发明一般涉及提供一种用于针对发布和发现网络上用户的存在信息的用户 界面的系统和方法。该用户界面提供一种外围且不引人注目的网络上本地用户的发 布通知,同时提供网络上附近用户的存在。本发明利用了本地用户桌面上提供的包 括各种小块(tile)的侧栏(sidebar)。各种小块提供由用户选择的不同功能。对 于本发明,存在信息被提供为侧栏的小块之一。因此,存在信息被外围地提供给运 行在本地用户计算设备上的其它应用程序。当用户启用了侧栏小块,存在信息被提 供和更新,因此它能持续被用户察看。然而,信息被提供,使得当用户工作在他们 的计算设备上时,更新对于本地用户不是引人注目的。例如,侧栏小块可能只包含 了附近用户的数量。当人们进入或者离开网络,该数字被更新。因此,本地用户也 许会注意到提供的存在信息的改变,而不是存在信息被强行推给本地用户。

此外,侧栏小块提供了用于改变存在发现服务各方面的选择。本地用户可从 侧栏小块启用或禁用存在发现服务,或甚至选择禁用侧栏小块本身。

根据本发明的一方面,提供了一种计算机实现的方法,用于针对发现和发布 网络上的存在信息的用户界面。该方法确定本地用户是否在网络上存在,以及附近 的用户是否在网络上存在。例示用户界面的一部分,用于网络上本地用户的存在和 附近用户的存在的外围和不引人注目的通知。当确定本地用户存在于网络上时,本 地用户的存在和附近用户的存在然后显示在用户界面的一部分中。

附图说明

图1示出了可依照本发明的示例性实施例使用的示例性计算装置;

图2示出了实际上用于本发明的移动设备的替换操作环境;

图3示出了桌面中的示例性侧栏;

图4示出了用于发现和发布网络中的附近存在信息的系统的功能性框图;

图5示出了用于发现和发布网络上的附近存在信息的另一系统的功能性框图;

图6示出了对应于用于存储存在信息的文件系统的示例性文件结构;

图7示出了与网络上附近用户的存在的发布和发现相关联的示例性侧栏小块;

图8示出了用于实现发布和发现网络上存在信息的用户界面的示例性状态表; 以及

图9示出了根据本发明与附近用户的存在通知有关的示例性身份验证。

具体实施方式

后文将参考附图更完整地描述本发明,附图成为本发明的一部分,并作为说 明示出了用于实施本发明的具体示例性实施例。然而,本发明可以用许多不同的形 式来实施,并且不应限于此处所陈述的实施例;相反,提供了这些实施例,使得本 发明可以彻底和完整,并且可以完全向本领域的技术人员传达本发明的范围。本发 明可以被实施为方法或设备等等。因此,本发明可采用完全硬件实施例、完全软件 实施例或组合软件和硬件方面的实施例。因此,以下描述不应当为限制的意义。

说明性操作环境

参考图1,用于实现本发明的一个示例性系统包括诸如计算装置100的计算装 置。计算装置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示出了实质上用于本发明的移动设备的替换操作环境。在本发明的一个 实施例中,移动设备200被集成为计算装置,如集成的个人数字助理(PDA)和无 线电话。

在本实施例中,移动设备200具有处理器260、存储器262、显示器228和键 区232。存储器262一般包括易失存储器(如RAM)和非易失存储器(如ROM、 闪存等)。移动设备200包括操作系统264,它驻留在存储器262中并在处理器260 上执行。键区232可以是按钮数字拨号盘(如在典型的电话上的)、多键键盘(如 常规的键盘),或者考虑到触摸屏或输入针,可能不包括在移动设备中。显示屏 228可以是液晶显示屏或通常在移动计算装置中使用的任一其它类型的显示屏。显 示屏228可以是触敏的,并且然后可以担当输入设备的角色。

一个或多个应用程序266被加载到存储器262中并在操作系统264上运行。 应用程序的示例包括电话拨号器程序、电子邮件程序、时间安排程序、PIM(个人 信息管理)程序、文字处理程序、电子表格程序、因特网浏览器程序等等。在一个 实施例中,应用程序266包括“我附近的人”应用程序280。移动设备200也包括 存储器262内的非易失存储268。非易失存储268可用于储存持久信息,即使移动 设备200掉电它也不会丢失。应用程序266可以使用并储存存储268中的信息,如 由电子邮件应用程序使用的电子邮件或其它消息、由PIM使用的联系人信息、由 时间安排程序使用的约会信息、由文字处理应用程序使用的文档等等。同步应用程 序也驻留在移动设备上,并被编程以与驻留在主计算机上的对应的同步应用程序进 行交互,以保持储存在存储268中的信息与储存在主计算机上的对应信息同步。

移动设备200具有电源270,它可以被实现为一个或多个电池。电源270还可 包括外部功率源,如对电池进行补充或重新充电的AC适配器或加电基座托架。

也示出移动设备200具有两种类型的外部通知机制:LED240和音频接口274。 这些设备可以直接耦合至电源270,使得当被激活时,即使处理器和其它组件可能 被关闭以保存电池功率,它们也能保持由通知机制指定的一段持续时间。LED240 可以被编程为无限地保持,直到用户采取行动来指示设备的加电状态。音频接口 274用来向用户提供并从其接收可听见的信号。例如,音频接口274可以耦合至用 于提供可听见输出的扬声器以及用于接收可听见输入的麦克风,如以方便电话会 议。

移动设备200也包括无线电272,它执行发送并接收射频通信的功能。无线电 272通过通信载波或服务提供商方便了移动设备200和广域网340(图3)之间的 无线连接。来往于无线电272的传输在操作系统264的控制下执行。换言之,由无 线电272接收的通信可以通过操作系统传播到应用程序266,反之亦然。

无线电272允许移动设备200如通过网络与其它计算装置进行通信。无线电 272是通信介质的一个示例。通信介质通常可以由诸如载波或其它传输机制等已调 制数据信号中的计算机可读指令、数据结构、程序模块或其它数据实施,并包括任 一信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设 置或改变其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质, 如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。 本发明使用的术语计算机可读介质包括存储介质和通信介质。

说明性存在发现和发布系统

本发明一般提供了用于针对发现用户附近的人们存在信息,以及向附近那些 人们发布用户存在的用户界面的系统。如此处所使用的,术语“附近”是指在网络 内连接或物理上临近于用户而连接的人。例如,其设备在同一个局域网中被连接的 人们被认为在彼此附近。其设备被连接到同一网络的人们也被认为是“附近”。此 外,存在于链接本地(link-local)网络上的用户也被认为是“附近”。或者,物理 位置的指定也可包括在存在信息中,使得同一个房间中的人们是被考虑为在“附近” 的那些人。在本申请中的“附近”的使用不局限于单一层次的临近性,或者要求在 用户和那些被指定为“附近”的人们之间的紧接的相近性。“附近”可被指定用于 用户之间基于物理上的或人们或其相关联的设备(例如,计算设备、移动设备等等) 的网络位置的任何关系。

图3示出了依照本发明的桌面中的示例性侧栏。在桌面300中的侧栏310包 含在计算会话过程中提供向用户多种多样信息的小块。例如,侧栏310中的小块可 包括介质信息、电子邮件通知、日程通知以及其它信息。每个小块可包括将小块彼 此区分的图标和其它内容。依照本发明还包括的是PNM(我附近的人)侧栏小块 330,它外围且不引人注目地向用户提供存在信息。

示例性PNM侧栏小块330包括一由用户发布的存在的指示器332、其它用户 的存在通知334、以及察看更多详细存在信息的选择336。在本例子中,指示器332 提供了由用户选择的、发布到网络上的其它用户的别名。通知334提供了当前被认 为是该用户附近的用户的动态更新数字(例如,23个用户在附近(23 people nearby))。选择336提供了到关于网络上其它用户的存在的更详细信息的链接。 例如,当用户选择选择336时,窗口340被打开,以向用户提供详细信息。

窗口340向用户提供了网络上附近用户的更详细信息。在一个实施例中,窗 口340中的信息包括存在信息,以及由与计算设备相关联的联系人应用程序提供的 联系人信息。例如,窗口340中的详细信息可包括离线联系人和在线联系人的区别。 网络上存在的用户和联系人的其它细节也可通过窗口340提供。在一个实施例中, 窗口340是“飞出(flyout)”,或者是侧栏小块的组件。在另一实施例中,窗口 340由联系人应用程序产生,并且PNM信息被提供给联系人应用程序,用于包括 在联系人UI内。

图4依照本发明示出了用于发现和发布网络上附近存在信息的系统的功能性 框图。系统400包含了PNM(我附近的人)侧栏小块410(见图3)、漫游器420、 SSDP(简单服务发现协议)层430、文件系统440以及网络层450。漫游器420包 括PNM组件422。

PNM侧栏小块410是向被认为是用户附近的人们的用户提供外围且不引人注 目通知的用户界面。PNM侧栏410在下文中相对于图7和8的讨论更详细地描述。

SSDP层430提供了用于发现和发布网络上存在信息的协议。SSDP层430被 认为是用于网络上设备连接的UPnP(通用即插即用)的子集协议。UPnP建立于 现有的协议和技术上。例如,UPnP使用TCP/IP、UDP/IP以及HTTP协议作为基 础。除了这些基本协议之外,若干其它协议建立于这些之上,以实现UPnP联网的 各个步骤和阶段,例如SSDP。依照SSDP层430发送和接收的PNM消息的形式 在下文中相对于图5来更详细地描述。

文件系统440提供了一种可扩展存储位置,用于关于用户附近的人们的存在 信息。在一个实施例中,文件系统440是由华盛顿州雷蒙德市的微软公司创建的 WinFS文件系统。文件系统440被安排以允许PNM(我附近的人)信息通过一个 以上UI(用户界面)来呈现,并且将PNM信息链接到其它数据库供其使用。例如, 文件系统440可包括一联系人文件夹,其中储存了用户联系人信息。PNM信息可 用于向用户指示,列出的哪个联系人被认为是用户附近的。PNM信息和其它数据 之间的其它关系也可形成,以提供在多个应用程序之间的PNM信息的分布和使用。

网络层450包括驱动程序以及对网络的访问,用于PNM信息的通信。网络可 以是因特网或者是专用网络。用户的存在通过网络层450发布,而其他人的存在信 息通过网络层450来接收。根据本发明,网络层450的结构可以是允许发现和发布 存在信息的任何结构。

漫游器420中的PNM组件422提供PNM侧栏小块410、SSDP层430以及文 件系统440之间的协调和通信。PNM组件422通过SSDP层接收指示对网络中的 存在信息的更新的事件。PNM组件422也接收由用户选择的关于用户存在的发布 的改变、以及PNM侧栏小块410对存在信息的显示的改变。PNM组件422响应 于来自PNM侧栏小块410和SSDP层430的改变,提供了对文件系统440中的存 在信息的改变。

图5依照本发明示出了用于发现和发布网络上的附近存在信息的系统的另一 功能框图。系统550类似于图4中的系统400,它更详细地示出了关于PNM(我 附近的人)功能的操作。系统500包括PNM侧栏小块502、PNM发布功能504、 PNM发现功能506、PNM持久保存功能508、SSDP层510、网络层512、联系人 用户界面514、文件系统514以及PNM文件夹518。

PNM侧栏小块502类似于图4中示出的PNM侧栏小块410,用于使得用户能 够对于PNM功能作改变,以及察看由PNM系统提供的存在信息。在所示的例子 中,PNM侧栏小块502直接向文件系统516查询附近人们的数量以及由PNM侧 栏小块502呈现的其它信息。在另一实施例中,PNM侧栏小块502与用于联系人 应用程序的用户界面(例如,联系人UI514)通信。联系人用户界面在PNM侧栏 小块502和文件系统516之间协调,以使用联系人UI514呈现PNM信息。

PNM发布功能504发布了关于网络中本地用户的数据。SSDP层510发布了 数据,作为指示本地用户在线的有效数据包(alive packet),并且数据包括例如用 户的显示名称等信息。有效数据包指示了本地用户在网络中存在并且是可用的。有 效数据包中发布的额外信息包括解析到本地用户的机器地址的共享地址。在另一个 实施例中,有效数据包可包括身份验证数据,例如公钥和/或私钥,以允许用户验 证网络中存在的用户的身份。附近人们的身份识别的过程在下文相对于图9的讨论 更详细地讨论。

响应于本地用户选择禁用PNM服务,“再见(bye-bye)”消息也由SSDP 层510发布。再见消息指提供给网络上本地用户的存在不连续的网络的通知。

此外,也发布与SSDP协议相关的其它信息,例如最大生命周期属性。最大 生命周期属性包括在SSDP消息的高速缓存控制头中,它涉及本地用户PNM服务 有效的秒数。在一种情况下,万一PNM服务突然中止而没有发布再见消息,则提 供最大生命周期属性。最大生命周期属性的到期通知其他用户,网络上特定用户的 存在已经超时,并且该用户不再存在。只要本地用户维持PNM服务启用,更新最 长生命周期属性的有效数据包持续地在网络上发布,使得网络上本地用户存在的指 示器被维护。

服务ID也在SSDP的有效数据包的缓存控制头和再见消息中发布。服务ID 唯一地标识了网络上存在的每个用户。

在一个可选择的实施例中,PNM发布功能504仅发布用消息或者数据包格式 提供给网络上附近用户的数据的一部分。余下的数据替代地使用由本地用户响应于 附近用户的请求建立的专用端口来提供给附近的用户。使用这些通信方法与向附近 的用户提供数据相结合减小了数据包的大小并且增加了其网络吞吐量速度,以更快 地更新存在通知。

多种多样的事件也可要求重新发布有效数据包。例如,该用户可选择改变他 们的显示名字。有效数据包用改变的显示名字但相同的服务ID重新发布。因此, 网络上的用户知道改变不是网络上新的PNM存在,而是有着新的显示名字的相同 的存在。

PNM发现功能506查询涉及网络上附近其它用户的存在信息以显示给本地用 户。SSDP层510从网络上接收有效的和再见消息,并且维护当前附近用户的数据 库。响应于网络上的事件(例如有效数据包的接收),SSDP层510将对应于该事 件的消息转发到PNM发现功能506。在一种实施例中,SSDP层510也跟踪接收 到的每个有效数据包的最大生命周期属性,并且当属性到期时发送通知给PNM发 现功能506。PNM发现功能506将由于网络上事件而引起的改变转发到PNM持久 保存功能508。

PNM持久保存功能508提供指令用于改变储存在文件系统516和PNM文件 夹518中的数据。在一种实施例中,PNM文件夹518包括本地用户附近的用户的 列表。PNM文件夹518可与文件系统516中的其它文件夹链接。在PNM文件夹 518和文件系统516中的其它文件夹之间的示例性文件夹关系在图6中描述。

贯穿本说明书和权利要求书的讨论涉及“发布存在信息”和“发布联系人”。 这些短语和它们的变异涉及提供网络上关于网络上用户的可检索信息。发布的信息 可包括涉及上述有效数据包、再见消息、身份信息、通用联系人信息(例如电话号 码、地址等等)以及任何其它与连接到网络上的实体或设备有关的信息。

根据本发明,图6示出了对应于文件系统、用于储存存在信息的示例性的文 件结构。文件系统600包括PNM文件夹610,个人对象612和个人联系人文件夹 620。

当SSDP层将有效数据包转发到漫游者(参阅图4)的PNM组件时,例示了 个人对象612。例如共享地址和显示名称等来自有效数据包的数据被填入个人对象 612中。在一种实施例中,有效消息中的数据验证在填入个人对象612之前完成, 以确保所提供的数据的真实性。验证防止了由于本地用户的联系人中错误地址和错 误实体的存储而发生的非授权的浏览者行为。

在一种实施例中,个人对象612与PNM文件夹610相关联,作为一个联系人 条目。因此本地用户可打开PNM文件夹610以查看对应于附近其它用户的联系人 条目。此外,一过程然后对PNM文件夹610中的条目的数量进行计数,以提供本 地用户附近的人数的显示。

在另一个实施例中,可在个人联系人文件夹620中的联系人条目和PNM文件 夹610中的联系人条目之间生成关系。当接收的有效消息已经有相关联的身份验证 时生成关系。例如,可结合有效消息使用公钥加密有效以验证有效消息源的身份。 对PNM系统使用公钥加密参考如下图9更详细地描述。当发送有效消息的用户的 身份被验证为个人联系人文件夹620中的现有条目时,生成到该条目而不是新的个 人对象的链接。因此,PNM文件夹610中的条目包括与个人联系人文件夹620相 关联的丰富内容(例如地址,电话号码,图片等等),而不是只有显示名称和共享 地址的简单的个人对象。此外,关系与个人联系人文件夹620中的条目互换,使得 当打开个人联系人文件夹620中的条目时,存在信息被显示(例如显示名称、在线 状态、共享地址等等)。

在又一个实施例中,在个人对象612和个人联系人文件夹620之间创建关系。 有了这种关系中,PNM联系人条目在个人联系人文件夹620中被反映,但保留了 根据PNM GUID(PNM全局唯一标识符)被标识为PNM联系人。在一种实施例 中,根据标识与服务ID(见图5)相组合的所有PNM GUID的条目的PNM标志 符,标识PNM GUID。因此,PNM GUID将联系人条目标识为PNM联系人,并且 把每个PNM联系人彼此区分。一过程然后可对已经有相关联的PNM GUID的个 人联系人620中的联系人条目的数量进行计数,以显示附近人数。此外,唯一地标 识PNM条目允许个人联系人文件夹620在本地用户选择禁用PNM服务时能够移 除PNM条目。因此,由于当人们在网络上移动或离开以及本地用户启用和禁用 PNM服务时,个人联系人文件夹620可被更新,文件系统600与网络上附近用户 的存在同步。

储存PNM联系人作为本地用户通用(即,个人)联系人列表的一部分使得其 它应用程序充分利用附近人们的存在信息。例如,可使用通用联系人用户界面来普 遍地查看本地用户的联系人列表。通过用PNM联系人填入个人联系人文件夹620, PNM联系人在通用联系人用户界面中被反映。其它访问个人联系人文件夹620的 应用程序(例如,联系人选取器对话框)也能充分利用存在信息并且显示网络附近 的人们。

图7示出了根据本发明与发布和发现网络上附近用户的存在相关联的示例性 的侧栏小块。显式了三种小块场景,它们基于用户选择和网络状态提供用不同的侧 栏小块。在每种场景中,提供侧栏小块的一种可能的简化视图(例如712)和一种 可能的扩展视图(例如714)。在另一个实施例中,每种扩展试图(例如714)可 飞出或分离生成的窗口而不是在侧栏小块本身中。

场景710示出了用于当PNM(我附近的人)服务仍然由用户启用时的示例性 的用户界面。简化的PNM侧栏小块712提供了启用该服务的选择。扩展的PNM 侧栏小块714提供了更多的关于本地用户想要发布的显示名称的选项以及配置 PNM服务的其它选项。

场景720示出了用于当PNM(我附近的人)服务仍然由用户启用时的示例性 的用户界面。简化的PNM侧栏小块722提供了附近人们的数量的指示,并且也提 供了查看更多关于附近人们的详细信息的选择。扩展的PNM侧栏小块724提供了 更多的关于本地用户想要发布的显示名称的选项和用于配置PNM服务和查看更多 详细存在信息的其它选项。

场景720示出了用于当网络不可用时的示例性的用户界面。简化的PNM侧栏 小块732提供了查看网络不可用性的细节的示例性的用户界面。扩展的PNM侧栏 小块734提供了用于配置PNM服务的选项,同时提供了网络故障检修的选项。

根据本发明,图8示出了示例性的状态表,以实现用于发布和发现网络上的 存在信息的用户界面。基于PNM服务的状态,有限状态机800包括10种关于PNM (我附近的人)用户界面的呈现的状态。

最初,移动装置的监视应用程序处于状态801,指示PNM服务或者PNM侧 栏小块都不被启用,并且该侧栏小块不可见。当PNM侧栏小块被启用时,状态机 800移到状态802。

在状态802,PNM侧栏小块在等待模式,等待来自本地用户的进一步输入。 本地用户的输入可禁用PNM侧栏小块。如果本地用户禁用PNM侧栏小块,状态 机800移回到状态801。在一种实施例中,当PNM侧栏小块第一次被启用(即, 从状态801到达状态802),状态机800移到状态803。

在状态803,自动向本地用户提供飞出或者其它外部窗口,因此,本地用户可 选择涉及PNM服务(例如显示名称)的最初选项。如果用户选择取消而不选择更 多的选项,状态机800回复到状态802。然而,如果用户选定选择选项用于PNM 服务,状态机800前进到状态804。

在另一个可选择的实施例中,不包括状态803并且不提供该选项。本地用户 然后可选择启用PNM服务,并且该状态直接从状态802移到状态804。

状态804包括在位于状态区域820中的状态(804,805,806,807)中。状 态区域802表示PNM服务何时被启用或已经被启用。在状态804,PNM服务正被 启用。如果启用过程成功,状态机800移到状态805,其中PNM服务被启用,并 且附近的人们被显示给用户。然而,如果在启用过程中没有找到网络,则状态机 800移到状态806。

在状态806,进入等待周期,其中,PNM系统等待网络返回。当网络故障出 现而PNM服务被启用时,也可从状态805到达状态806。当网络再次可用,状态 机800移到状态805,其中,PNM被启用,并且显示附近的用户。

当在状态804PNM服务正在被启用时,到漫游者的连接可能尚未建立。如先 前描述,该漫游者包括用于实现PNM服务的代码。如果在指定的计数(例如12 秒)后,不能到达该漫游者,则状态机800从状态804移动到804。在状态807, 启用过程等待5秒钟,然后回到状态804以重新试图连接到漫游者。

在某些情况下,可能在启用过程中发生错误,该错误足够关键以阻止PNM服 务正常操作。当关键错误出现,该状态从状态804移动到状态808。在状态808, 将关键错误通知给本地用户,并且该PNM服务不能继续。本地用户然后可选择禁 用PNM侧栏小块,并且状态机800移回到状态801。

在状态区域820中的任何状态,用户可选择取消当前操作。取消当前操作中 断PNM服务的启用或禁用。当PNM服务被禁用,状态机800移回到状态802, 其中,PNM侧栏小块处于等待模式,等待来自本地用户进一步的输入。

此外,在状态区域820中的任何状态,用户可选择关闭PNM侧栏小块或者侧 栏本身。如果用户作出禁用PNM侧栏小块或者侧栏的选择,则状态机800移到状 态810。在状态810,受影响的系统和文件夹(例如联系人文件夹)被清理,并且 PNM侧栏小块被禁用,状态机800移回到状态801。在一种实施例中,当系统被 清理,PNM联系人的实例和其它PNM数据从文件系统中被移除。SSDP层(查看 图4)也被指令中断发布本地用户的存在,以及发现网络上其他附近用户的存在信 息。

根据本发明,图9示出了示例性的与附近用户的存在通知有关的身份验证。 对于身份验证,用户1有一组与存在通知(即有效数据包)相关联的元素910。公 钥(Pul)911和私钥(Prl)912与用户1相关联。数据(D)在存在通知中发送,包 括显示名称913、共享地址914、时间戳915和散列(Pul+salt)916。数据(D) 由私钥(Prl)911签署,因此数据(D)有一个相关联的签名S1(D)917。

显示名称913和共享地址914可任选地包含在存在通知中,使得本地用户能 够向不知道本地用户的附近用户发布名称,并且通知附近用户,本地用户已经共享 信息。包括时间戳915,以提供签名S1(D)有效的时间间隔。也可任选地包括散 列(Pul+salt)916。散列(Pul+salt)916是公钥(Pul)911连同大量被称为“salt” 的随机数据的散列的版本。当salt包含在散列中时,salt也在数据(D)中发布。 散列公钥(Pul)911确保当公钥在用户之间传输时第三方不能监视公钥。查看散 列公钥的第三方只看到与公钥不一致的随机数据。将salt添加到公钥的其它部分使 得公钥进一步模糊并且协助阻止跟踪公钥。散列公钥(Pul)911也缩小了发布数 据(D)的用户的身份。没有散列公钥,尝试每个联系人的公钥以确定谁签署了数 据(D)是必要的。有了发布的散列公钥,联系人可首先向联系人查询具有散列到 满足散列(Pul+salt)916的公钥的联系人。因此发布散列(Pul+salt)916使得结 果被缩小,增加了验证过程的速度。在另一个实施例中,公钥(Pul)910没有被 散列或者替代地不用salt来散列(例如随机重组公钥位)。

当用户1生成私钥(Prl)912,公钥(Pul)911也被生成,并与私钥(Prl) 912相关联。用户1然后能向用户2发送公钥(Pul)911。有了散布的公钥,用户 1能够用私钥(Prl)912签署一组数据(例如D),该数据包括签名S1(D)917。 因此,如果数据被加密,只有具有与用户1相关联的公钥(Pul)911的用户能查 看用私钥(Prl)912签署的数据。不管使用的加密如何,签名S1(D)仍然证明 数据(D)没有被篡改,并且数据起源于用户1,从而证明用户1的身份。例如, 有了公钥(Pul)911,用户2能生成一个相等的公钥散列(例如散列(Pul+salt) 921),以与公钥的原始散列(例如散列(Pul+salt)916)比较。当散列匹配(并 且数据被加密)时,用户2知道显示名称913、共享地址914和时间戳915的确来 源于用户1而不是恶意的用户。

签名S1(D)917阻止恶意用户通过改变共享地址企图重新发布由用户1在另 一个网络上发布的数据。企图改变共享地址914打破了签名S1(D)917,因此接 收恶意重播的用户被通知该数据不被验证。此外,由于恶意用户没有私钥(Prl) 912,他们被阻止重新签署数据。

此外,时间戳915的包括导致签名S1(D)在指定的时间段内有效。当该时 间段到期,身份验证也到期。一旦某一特定时间段已经过去,时间戳915阻止恶意 用户重播没有变化的数据。一旦时间段已经到期,其他接收数据的用户简单地忽略 该数据,因为时间戳915已经到期。

在本发明的一个实施例中,即使使用公钥架构(PKI),对应于网络上附近用 户1的存在的传输的数据也不被加密。相反,公钥和私钥的使用局限于作为数据源 的用户身份的验证。发送的数据用纯文本书写,因此是可查看的,但是公钥加密验 证对其发布数据的用户的身份。

如参考上述图6先前叙述的,一旦发布数据的用户的身份被验证为现有的联 系人,更丰富的数据集可被提供给用户,以改善PNM信息对该用户的显示。

上述的说明书、例子和数据提供了本发明的组成部分的制作和使用的完整描 述。由于在不脱离本发明的精神和范围的情况下,能做出本发明的许多实施例,本 发明驻留在所附的权利要求书中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号