通过“我附近的人”来捕捉联系人的制作方法

文档序号:2830103阅读:487来源:国知局
专利名称:通过“我附近的人”来捕捉联系人的制作方法
通过"我附近的人"来捕捉联系人扭旦 冃眾在许多客户机/服务器应用程序中,服务器被用作共享信息、举行基于计 算机的会议、以及存储电子邮件地址的连接点。该服务器对各种面向通信的应用程序,比如电子邮件作为主机使用。然而,在对等(peer-to-peer)网络中, 这种服务器可能不可用、不能被访问或甚至是不被期望的。尤其在自组织无线 网络中,发现或维持允许用户享受到对等网络丰富的能力所带来的好处所需要 的联系人信息即便不是不可能,也显得非常困难。概述用户在对等网络模型上可发布关于他或她自身的足够的信息从而使得他 们(她们)可以发现进而被联系。使用所发布的信息的第二用户,可联系该用 户并请求更加详细的信息。该用户然后可决定是否共享额外的个人信息。当信 息被共享的时候,这些信息就将被添加到第二用户的个人数据库中。第二用户 可选择"提拔"该用户成为可信联系人。在这样做的过程中,包括了该用户的 公钥基础结构信息的证书可被添加由该第二用户所维护的可信用户数据库中。 这就允许该用户具有更高的级别来访问该第二用户的计算机,例如访问个人文 件、文献、演示或者计算资源,并便于传输经过加密的或经过签署的通信。通 过共享联系人信息并提拔联系人成为可信联系人,一个工作组或类似的社区可 利用对等网络中可用的丰富的特征集,比如文件共享、即时消息通信、数据流 传送、工作组协作等。附图简述

图1是一计算机网络的简化的和代表性的框图;图2是可与图1中的网络相连接的计算机的框图;图3是诸如图1所示的网络的计算机网络的子网的图示;图4是示出一显示发现附近用户的窗口的计算机显示的图示;图5是示出一显示图4的窗口和一下拉式菜单选择的计算机显示的图示;图6是发布用户信息并对额外的联系人信息的请求作出响应的方法; 图7是发现附近用户并添加联系人信息的方法;以及 图8是提拔用户进入可信状态的方法。详细描述尽管下面的文本对多个不同的实施例进行了详细的描述,需要理解的是此 描述的法律范围是由位于本公开所附的权利要求中的文字所限定的。该详细描 述是仅仅被用作示例并且没有描述每一个可能的实施例,因为描述每个可能的 实施例即使不是不可能,也是不切实际的。可使用当前的技术或者是在本专利 申请日之后被开发的技术实现多种替换的实施例,但是它们仍然落在权利要求 书的范围之内。同样需要理解的是,除非一个术语在本专利中使用诸如"如此所述的,术 语''被定义为…"或者类似的句子进行明确的定义,否则并不对术语的 含义进行限制,无论是明显地还是暗示的,都不会超出其一般的或者通常的解 释,并且这种术语并不能被解释为基于本专利的任何一部分(权利要求除外) 的任何陈述而限制其范围。在本专利所附的权利要求中所引用的任何术语所指 代的范围在本专利中始终指代以单一的含义的形式出现,这仅仅是为了清楚的 缘故,以便不使读者感到迷惑,并且这并不表示该权利要求的术语是被隐含地 或以其它方式限制于该单一的含义。最后,除非权利要求中的元素以引用词语 "指的是"加上功能的方式定义,并且没有引用任何的结构,否则所有权利要 求中元素的范围不应当按照美国专利法35 U.S.C. 112条第6段的内容进行解 释。许多发明性的功能和许多发明性的原理最佳地是用软件程序、指令以及诸 如专用集成电路的集成电路(IC)来实施。能够预见到的是,本领域的一般技 术人员之一,尽管诸如可用的时间、当前的技术、以及经济考虑等因素会促使 可能的显著努力和许多设计选择,但是在此处所公开的概念和原理的引导下, 是能够毫无困难地在进行最少的实验的情况下生成这样的软件指令、程序以及 IC。因此,为了简化描述,并且将掩盖本发明的原理和概念的风险降到最小,之后可能存在的对于这些软件和ic的进一步讨论,将参考优选实施例的原理和概念被限制在最基础的内容上。图1和图2提供了与本公开相关的网络和计算平台的结构基础。 图1示出了网络10。该网络10可以是互联网、虚拟个人网络(VPN)、或者任何其他允许一个或多个计算机、通信设备、数据库等等可通信地互联的网络。网络IO可通过以太网16、路由器18和陆上线路20连接到个人计算机 12、计算机终端14、以及膝上型计算机15。该以太网16可以是更大型的互联 网协议(IP)网络的子网。其他网络化的资源,诸如投影仪13也可以通过以 太网16或者其他的数据网络被支持。另一方面,网络10可通过无线通信站 26和无线链路18无线地连接到膝上型计算机22和个人数据助理24。类似的, 服务器30可使用通信链路32连接到网络10,而主机34可使用另一个通信链 路36连接到网络10。网络IO对于支持对等网络通信是十分有用的。图2示出了计算机110的形式的计算设备。计算机110的组件可以包括、 但不限于处理单元120、系统存储器130、及把包括系统存储器在内的各种 系统组件耦合至处理单元120的系统总线121。系统总线121可以是多种类型 总线结构的任一种,包括存储器总线或存储器控制器、外围设备总线、及使用 任一多种总线结构的本地总线。通过示例但非限制,这种结构包括工业标准结 构(ISA)总线、微通道结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准 联盟(VESA)本地总线、及外围组件互连(PCI)总线(也称为附夹板(Mezzanine) 总线)。计算机110还可包括密码单元125。简要地说,密码单元125具有可用于 验证数字签名、计算散列、数字签署散列值、以及加密或解密数据的计算功能。 密码单元125还可以具有受保护存储器,用于保存密钥和其他的机密数据。此 外,密码单元125还可包括用于提供随机数的RNG (随机数生成器)。在其 他实施例中,密码单元的功能可由软件或者固件实现,还可以通过操作系统或 者在设备上运行。计算机110 —般包括各种计算机可读介质。计算机可读介质可以是能由计 算机110访问的任何可用介质并包括易失性和非易失性的介质、可移动和不可 移动介质。作为示例但非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括易失性和非易失性、可移动和不可移动介质,它 们以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信 息的任意方法或技术来实现。计算机存储介质包括、但不限于RAM、 ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字化通用光盘(DVD)或其它 光盘存储、磁带盒、磁带、磁盘存储器或其它磁性存储设备、或用于存储期望 信息并能由计算机110访问的任意其它介质。通信介质一般在诸如载波或其它 传输机制这样的已调数据信号中体现为计算机可读指令、数据结构、程序模块 或其它数据,并且包括任意信息传递介质。术语"已调数据信号"意指其一个 或多个特性以对信号内信息进行编码的方式被设置或改变的信号。作为示例但 非限制,通信介质包括诸如有线网络或直接线连接这样的有线介质、以及诸如 声音、RF、红外这样的无线介质及其它无线介质。上述的任意组合应该包含 在计算机可读介质的范围内。系统存储器130包括计算机存储介质,其形式为易失性和/或非易失性存 储器,譬如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输 出系统133(BIOS)—般存储在ROM 131内,它包含例如启动期间帮助在计算 机110内的组件间传输信息的基本例程。RAM 132—般包含数据和/或程序模 块,它们可以由处理单元120立即访问并且/或者当前正在其上操作。作为示 例但非限制,图1说明了操作系统134、应用程序135、其它程序模块136和 程序数据137。计算机110还可以包括其它可移动/不可移动、易失性/非易失性计算机存 储介质。仅仅通过示例,图1说明了对不可移动、非易失性磁性介质进行读写 的硬盘驱动器141,对可移动、非易失性磁盘152进行读写的磁盘驱动器151, 以及对譬如CD ROM或其它光学介质的可移动、非易失性光盘156进行读写 的光盘驱动器155。示例性操作环境中可用的其它可移动/不可移动、易失性/ 非易失性计算存储介质包括、但不限于磁带盒、闪存卡、数字通用盘、数字 录像带、固态RAM、固态ROM等等。硬盘驱动器141 一般通过如接口 140 这样的不可移动存储器接口与系统总线121相连,且磁盘驱动器151和光盘驱 动器155 —般用如接口 150这样的可移动存储器接口与系统总线121相连。上面讨论并在图2中说明的驱动器和它们的相关计算机存储介质为计算机110提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。在图2中,例如,硬盘驱动器141被示为存储操作系统144、应用程序145、其 它程序模块146和程序数据147。注意到这些组件或者可与操作系统134、应 用程序135、其它程序模块136和程序数据137相同,或者与它们不同。这里 为操作系统144、应用程序145、其它程序模块146和程序数据147给出不同 数字以说明至少它们是不同的副本。用户可以通过诸如键盘162和通常指的是 鼠标、跟踪球或触摸垫的光标控制设备161这样的输入设备把命令和信息输入 到计算机110中。诸如网络摄像头(webcam)的照相机163可捕捉并输入与 计算机110相关联的环境的照片,诸如提供用户的照片。webcam 163可按需 捕捉照片,例如当有用户指示时,或可在计算机110的控制下周期性地拍照片。 其它输入设备(未示出)可以包括麦克风、操纵杆、游戏手柄、圆盘式卫星天线、 扫描仪等等。这些和其它输入设备经常通过与系统总线121耦合的用户输入接 口 160与处理单元120相连,但也可以用其它接口和总线结构连接,譬如并行 端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示设备也 通过诸如图形控制器190这样的接口与系统总线121相连。除了监视器之外, 计算机还可以包括其它外围设备,如扬声器197和打印机196,它们可以通过 输出外围接口 190连接。计算机110可以工作在联网环境中,该环境使用与诸如远程计算机180 这样的一个或多个远程计算机之间的逻辑连接。远程计算机180可以是个人计 算机、服务器、路由器、网络PC、对等设备或其它公共网络节点,并且一般 包括以上相对于计算机110描述的许多或全部元件,尽管图2中仅说明了存储 器存储设备181。图2所述的逻辑连接包括局域网(LAN)171和广域网 (WAN)173,但可以还包括其它网络。这种联网环境在办公室、企业范围计算 机网络、企业内联网和互联网中是常见的。当用于LAN联网环境中时,计算机110通过网络接口或适配器170与LAN 171相连。当用于WAN联网环境中时,计算机110—般包括用于在诸如互联 网这样的WAN 173上建立通信的调制解调器172或其它装置。调制解调器172 可以是内置或外置的,它可以通过输入接口 160或其它适当机制与系统总线 121相连。在网络化环境中,相对于计算机110所述的程序模块或其部分可以存储在远程存储器存储设备中。作为示例但非限制,图2说明了驻留在存储器 设备181上的远程应用程序185。通信连接170、 172允许设备与其它设备通信。通信连接170、 172是通信 介质的示例。通信介质一般在诸如载波或其它传输机制这样的已调数据信号中 体现为计算机可读指令、数据结构、程序模块或其它数据,并且包括任意信息 传递介质。术语"己调数据信号"意指其一个或多个特性以对信号内信息进行 编码的方式被设置或改变的信号。作为示例但非限制,通信介质包括诸如有线 网络或直接线连接这样的有线介质、以及诸如声音、RF、红外这样的无线介 质及其它无线介质。计算机可读介质可包括存储介质和通信介质两者。图3描述了一示例性计算机网络,它与图1的网络10相似或耦合到图1 的网络10上。诸如以太网的数据网络302可具有一子网络304,该子网络304 通过桥接器或路由器306耦合到数据网络302上。网络设备可被耦合到子网 304上。在该示例性的例子中,打印机308和可用于网络(network-aware)的 投影仪310被示出存在于子网304中。工作站或计算机312、 314和膝上型计 算机316也被示出存在于子网304中。图4显示了示例性显示屏400,诸如计算机显示器或监视器191。联系人 管理器402具有用于显示联系人详细信息的窗格404和用于显示联系人分类的 窗格406。"我附近的人"408的图标显示为被选中,还显示了其它的示例性 图标"IM伙伴"410和电子邮件联系人412。联系人管理器402还可包括菜单 栏414,被示为具有添加人员选择414和添加分类选择416。联系人管理器402 还可具有状态栏418,被示为具有"已连接"消息420。因为"我附近的人"软件的图标408在分类窗口 406中被选中,那些已在 本地子网或另一个可见网络,例如,自组织无线网络上注册的用户可以在子窗 格422中显示。子窗格422内的用户列表可应用其他的度量,比如物理位置或 GPS坐标,从而过滤或确定"附近的"用户。在所示的实施例中,子窗格422 对每个被找到的人给出状态、名字和电子邮件地址。额外的信息也可能是可用 的,或者是上述各信息的不同组合。在一个实施例中,关于每个用户的信息可 包括自签署证书,该自签署证书包括可用于公钥基础结构(PKI)系统中的公 钥。如图4所示,对应于用户"Jack" 424的信息被选中。图5示出了图4的示例性显示屏400,其中在联系人管理器402内还包括 下拉式菜单426。在一个实施例中,下拉式菜单426可通过右键点击所选中的 用户姓名(在这个例子中,就是右键点击"Jack")而被选择。所示的菜单选 择显示描述了将联系人添加为可信联系人,向用户发送要求额外联系人数据的 请求,以及发送一电子邮件。用于发送消息,诸如IM消息的菜单选择被灰掉 (grayed out),因为IM联系人地址或屏幕名字不可用。为了请求IM联系人 信息,用户可选择请求联系人数据菜单项目,使得应用程序向Jack发送对那 个信息和/或其它信息的请求给。在图6中,讨论并描述了发布用户信息并对要求额外的联系人信息的请求 作出响应的方法。用户可存储602联系人信息,例如电子邮件地址、IM屏幕 名字、IP地址或网络端点信息。联系人信息可包含额外个人数据,例如工 作组信息、状态详细信息(忙碌、会议、午餐),或私人信息,例如家庭地址、 家庭电话号码、生日或情绪。网络端点信息可包括IP地址和端口号或主机名 和端口号。在参加诸如图3的子网304的对等网络期间或者之后,用户可选择 发布604他或她的全部联系人信息的子集从而使得它们可被网络上的其他人 发现或看见。在一个实施例中,诸如在高度可信的环境中,联系人信息的全集 可在一开始就被发布。所发布的数据可仅仅包括公钥,或具有公钥和对等名的证书。所述对等名 可被他人使用从而结合对等名解析协议(PNRP)与用户建立通信。所述证书 可以是自签署的,也就是说,用用户自己的私钥进行加密。所述证书也可通过 证书授权机构(CA)签署并携带完整的信任链,但在许多应用中,由于工作 组的本质或者用户访问特定子网的能力,对公钥或对自签署证书的信任可能是 固有的。然而,在一些环境中,例如飞机场或咖啡店的无线LAN中,在用 户中就极少存在甚至不存在任何固有的信赖。当被网络上的其他人发现以后(见下面),用户就可从另一个用户接收 606 —个请求,要求超出已经发布信息以外的联系人信息。例如,额外的信息 可包括电话号码、手机号码、电子邮件地址、家庭地址、屏幕名字或个人数据, 诸如生日。管理联系人的应用程序,例如显示在图4中的应用程序,可处理请 求并向用户显示608消息,以请求批准与请求方共享联系人信息。当用户同意共享联系人信息的时候,即跟随自块610的"是"分支。请求和联系人信息的 所有或部分都可被发送612到请求方。当用户不同意共享联系人信息的时候,即跟随自块610的"否"分支,请求将死去或可向请求方发送614否定响应。 用户可设置策略,使得采取默认的动作以响应于判定框610;例如,所述用户可选择与所有的请求用户自动共享数据或自动拒绝对额外数据的所有请求。图7是用于发现本地网络上的用户的方法。可向一图(集中的或分布式的 数据存储)进行702查询,或者通过在具有那些己经向对等网络发布了联系人 信息的用户的用户注册信息的子网上的广播或组播发现协议来进行。对于查询 的响应可被接收704且用户信息可被存储,或被如图4所示的联系人管理器 402的应用程序存储并显示。用户可检查接收到的联系人信息并请求706额外的联系人信息,例如,使 用图5的下拉式菜单426。当接收到708 —响应的时候,其内容可被检査。当 该响应包括所请求的额外联系人信息时,可取自块710的"是"分支而所接收 到的联系人信息被存储712在适当的联系人管理器中,例如联系人管理器402, 或另一地址簿或数据存储中。当所接收到的数据不包括联系人信息时,例如, 当请求706被用户拒绝时,那么可取自块710的"否"分支并且显示714出错 消息。图8是接收联系人信息并提拔联系人为可信状态的方法。如上所述,用户 在对附近用户的网络数据存储或图的查询过程中可接收802联系人信息。该用 户可选择804使得该联系人成为可信的联系人。 一用户界面,诸如根据图5 所描述的用户界面可被用于接收指令从而提拔一个联系人成为可信的联系人。 该用户界面程序可通过一系列应用编程接口 (API)调用,例如调用增加联系 人API并接着调用密码API(CAPI),然后将如上所描述的的公钥或自签署证书 添加至维护可信联系人信息的可信人员存储。接着, 一可信联系人可请求访问用户的计算机,或与他或她的计算机相关 联的资源。在接收到808请求被之后,可通过常规密码手段对对请求者身份进 行验证,例如使用来自存储在可信人员存储中的证书的公钥来解密请求或请求 的一部分。该证书还可在数据加密或数据签署的过程中使用,这是在现有技术 中已经确立的。当身份被验证的时候,可取自块810的"是"分支且准许812请求方进行访问。这种访问可包括对于文件存储、计算资源、或外设的访问。 如果身份没有被验证,那么则取自块810的"否"分支,来到块814且访问请 求被拒绝。可任选地,可向请求方发送指示请求被拒绝的通知。尽管前面的文本对本发明的数个不同的实施例做出了详细的描述,需要理 解的是本发明的范围是本专利所附的权利要求中的文字所定义的。详细的描述 是仅仅被解释为示例并且没有描述本发明的每一个可能的实施例,因为描述每 一个可能的实施例即使不是不可能,也是不切实际的。可使用当前的技术或者 是在本专利申请日之后被开发的技术来实现多种替换的实施例,但是它们仍然 落在本发明的范围之内。因此,可对此处示出和描述的技术和结构做出许多的改变和变化,而不脱 离本发明的精神和范围。因此,需要理解的是,此处所描述的方法和设备仅仅 是说明性的并且不对本发明的范围作出限制。
权利要求
1.一种获取对等网络上的用户相关联系人信息的方法,包括确定用户在对等网络上的存在性;发送请求消息给所述用户,所述请求消息包括对联系人信息的请求;从所述用户接收联系人信息,所述联系人信息包括对应于所述用户的信息;以及将联系人信息添加到本地联系人数据库中。
2. 如权利要求l所述的方法,其中所述确定用户的存在性还包括查询对 等网络用户图或者使用发现协议的至少其中之一。
3. 如权利要求2所述的方法,还包括在一显示窗口中的一窗格内显示与 用户相关联的信息。
4. 如权利要求3所述的方法,所述显示与所述用户相关联的信息还包括 显示关于所述用户的公开数据。
5. 如权利要求3所述的方法,所述与所述用户相关联的信息还包括显示 关于所述用户的状态信息。
6. 如权利要求l所述的方法,其中所述本地联系人数据库包括地址簿、 消息通信应用程序、或会议应用程序的至少其中之一。
7. 如权利要求l所述的方法,其中从用户处确定所述用户的存在性包括 接收对应于所述用户的公钥。
8. 如权利要求7所述的方法,还包括将公钥添加至包括可信联系人的数 据库。
9. 如权利要求8所述的方法,所述将公钥添加至包括可信联系人的数据 库向所述用户授予额外的访问特权。
10. —种分发对等网络上的用户的联系人信息的方法,包括 存储对应于用户的第一和第二联系人信息; 发布所述第一联系人信息;通过对等网络从请求方接收要求所述第二联系人信息的请求; 向用户显示一请求授权与所述请求方共享所述联系人信息的查询;接收对所述查询的响应;以及当对所述查询的响应是肯定的时候,发送所述第二联系信息给所述请求方。
11. 如权利要求IO所述的方法,进一步包括 生成包括公钥和用户标识信息的证书;以及 在发布所述第一联系人信息的时候提供所述证书。
12. 如权利要求ll所述的方法,其中生成所述证书还包括生成包括公钥 和用户标识信息的自签署证书。
13. 如权利要求10所述的方法,还包括使用所述证书在远程对等机验证 所述用户的身份。
14. 一适于在对等网络中运行的计算机,所述计算机包括 处理单元,用于执行指令;网络设备,耦合到所述的处理单元,用于耦合在所述计算机和所述对等网 络之间传输的数据;存储器,用于存储计算机可执行指令,耦合到所述处理单元,所述计算机 可执行指令用于执行一种方法,所述方法包括获取在所述对等网络的子网上发布联系人信息的用户的身份记录; 显示来自所述身份记录的信息;向所述用户发送请求消息,所述请求消息包括对额外联系人信息的 请求;接到对所述请求消息的响应;如果所述响应包括所述额外的联系人信息,则将所述额外的联系人 信息添加到本地联系人数据库。
15. 如权利要求14所述的计算机,还包括从所述身份记录中提取地址数 据,其中所述地址数据用于向所述用户发送所述请求消息。
16. 如权利要求14所述的计算机,其中所述身份记录包括对应于所述子 网上存在性的证书或信息的至少其中之一。
17. 如权利要求14所述的计算机,所述获取用户的身份记录还包括查询 会议图或者使用发现协议的至少其中之一。
18. 如权利要求14所述的计算机,所述显示来自身份记录的信息还包括 在显示窗口中的窗格中显示关于用户的公共数据、所述用户的联系人信息、以 及关于所述用户的状态信息的至少其中之一。
19. 如权利要求14所述的计算机,还包括把来自公钥基础结构证书中的 数据放到可信联系人数据库中。
20. 如权利要求19所述的计算机,还包括使用所述公钥基础结构证书来 验证用户身份并授予所述用户对应于所述用户身份的特权。
全文摘要
对等网络上的用户,尤其是本地子网或自组织无线网络上的用户可向网络上的图或数据存储发布第一联系人信息。该第一联系人信息可包括具有公钥和用户标识,诸如对等名的证书。其它用户可发现该第一联系人信息并使用该第一联系人信息而向该用户请求额外的信息。通过把信息添加到可信联系人数据库中,可对第一联系人信息中的数据进行“提拔”,从而向用户允许额外的特权。发布第一联系人信息的用户被给予批准或拒绝对额外信息的请求的机会。
文档编号G10L17/00GK101218626SQ200680024733
公开日2008年7月9日 申请日期2006年7月5日 优先权日2005年7月6日
发明者R·劳, S·K·辛格豪尔, T·R·曼尼恩 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1