具有社会隐私和联系人关联特征的人目录的制作方法

文档序号:11775702阅读:294来源:国知局
具有社会隐私和联系人关联特征的人目录的制作方法与工艺

本申请是申请日为2011年8月11日并且申请号为201180044449.2的中国专利申请的分案申请。

本公开总地涉及提供具有社会隐私和联系人关联特征的人目录和查找服务。



背景技术:

社交网络系统(例如社交网络网站)使它的用户能够与它进行交互,并通过该系统与彼此进行交互。社交网络系统可创建并存储常常被称为用户配置文件的与用户有关的记录。用户配置文件可包括用户的人口统计信息、通信渠道信息、个人兴趣和用户与社交网络系统内的其他用户的交互。社交网络系统还可创建并存储用户的事件的记录,例如用户计划参加的社会事件。同时,用户可通过配置与用户配置文件和事件信息相关的隐私设置来控制是否与其他人共享他的信息。

与人有关的信息的目录是已知的。此外,轻型目录访问协议是用于使用目录服务来查询并修改数据的应用协议。目录可以是具有以逻辑和分级方式组织的属性的一组对象。简单的例子是电话目录,其由按字母表顺序组织的(人或组织的)名称的列表组成,每个名称具有与其相关的地址和电话号码。



技术实现要素:

本公开总地涉及人目录和联系人查找服务。在一些实现中,人目录和联系人查找服务允许用户建立通信会话,创建联系人关联用于用户之间的未来通信,和/或配置具有社会和时空方面的隐私设置用于访问联系人信息。下面在具体实施方式中结合附图来更详细地描述本公开的这些和其它特征、方面和优点。

附图说明

图1示出社交网络系统及其目录服务的示例性系统。

图2示出使用用于未来通信的联系人关联进行人查找的示例性方法。

图3示出创建联系人关联用于目标用户和发起用户之间的未来通信的示例性方法。

图4示出通过具有时空隐私特征的目录服务来实现的示例性方法。

图5示出示例性网络环境。

图6示出示例性计算机系统。

具体实施方式

本发明现在参考如在附图中所示的其几个实施例而被详细地描述。在下面的描述中,阐述了很多具体的细节,以便提供对本公开的彻底理解。然而,对本领域技术人员来说很明显,本公开可以在没有这些具体细节的一些或全部的情况下被实践。在其它实例中,没有详细描述公知的过程步骤和/或结构,以免没有必要地模糊本公开。此外,虽然结合特定的实施例描述了本公开,应理解,这个描述并不打算将本公开限制到所描述的实施例。相反,本描述意欲涵盖可被包括在如所附权利要求限定的本公开的精神和范围内的备选方案、修改和等效形式。

社交网络系统(例如社交网络网站)使它的用户能够与它进行交互并通过该系统与彼此进行交互。一般,为了成为社交网络系统的注册用户,实体——人类非人类——向社交网络系统注册帐户。其后,注册用户可通过提供例如正确的登录id或用户名和口令经由帐户登录到社交网络系统中。如本文使用的,“用户”可以是与这种社交网络环境交互或通过这种社交网络环境通信的个人(人类用户)、实体(例如,企业、商业或第三方应用)或(例如,个人或实体的)集团。

当用户首次向社交网络系统注册帐户时,社交网络系统可创建并存储常常被称为“用户配置文件”的与用户有关的记录。用户配置文件可包括由用户提供的信息和由各种系统——包括社交网络系统——收集的与用户的活动或行动有关的信息。例如,用户可提供他的名字、联系人信息、出生日期、性别、婚姻状况、家庭状况、职业、教育背景、偏爱、兴趣和要被包括在他的用户配置文件中的其它人口统计信息。用户可识别用户认为是他的朋友的社交网络系统的其他用户。用户的朋友或第一级联系人的列表可被包括在用户的配置文件中。在社交网络系统中的联系可以在两个方向上,或可以在仅仅一个方向上。例如,如果bob和joe都是用户并与彼此联系,则bob和joe是彼此的每个联系。如果在另一方面,bob希望联系sam以查看sam张贴的内容项目,但sam不选择联系bob,则单向联系可形成,其中sam是bob的联系,但bob不是sam的联系。社交网络系统的一些实施例允许联系经由一个或多个级别的联系(例如,朋友的朋友)是间接的。联系可由用户(例如将特定的其他用户选择为朋友的用户)明确添加,或由社交网络系统基于用户(例如,作为同一教育机构的男校友的用户)的共同特征来自动创建。用户可识别或用书签标记他频繁地访问的网站或网页,且这些网站或网页可包括在用户的配置文件中。

用户可在用户注册帐户时或在稍后的时间提供关于用户的各种方面的信息(例如联系人信息和兴趣)。用户还可在任何时间更新他或她的配置文件信息。例如,当用户移动或改变电话号码时,他可更新他的联系人信息。此外,用户的兴趣可能随时间过去而改变,且用户可能不时地在他的配置文件中更新他的兴趣。用户的关于社交网络系统的活动(例如访问关于系统的特定信息的频率)也可提供可被包括在用户的配置文件中的信息。再次,这样的信息可被不时地更新,以反映用户的最近活动。仍然进一步地,其他用户或用户的所谓的朋友或联系人也可执行影响或引起用户配置文件的更新的活动。例如,联系人可添加用户作为朋友(或移除作为朋友的用户)。联系人也可将消息写到用户的配置文件页面——一般被称为涂鸦墙。

除了用户配置文件信息以外,社交网络系统可跟踪或维持关于用户的其它信息。例如,社交网络系统可托管记录用户的位置的一个或多个基于位置的服务。例如,用户可使用由用户的移动设备托管的专用客户端应用来访问社交网络系统。客户端应用可自动访问全球定位系统(gps)或移动设备所支持的其它地理位置功能,并将用户的当前位置报告给社交网络系统。此外,客户端应用可支持允许用户在不同的位置登记并将这个位置传递给其他用户的地理社交网络功能。用户也可添加、删除或更新用户相关的事件。例如,用户可更新与用户打算参加的时间和日期相关的社会事件,或在他的涂鸦墙上作出关于他参加的过去事件的评价。

另一方面,用户可能或可能不希望与其他用户或第三方应用共享他的信息,或用户可能希望只与特定的用户或第三方应用共享他的信息。用户可通过与他的用户配置文件相关的隐私设置来控制是否与其他用户或第三方应用共享他的信息。例如,用户可为与用户相关的每个用户数据选择隐私设置。隐私设置定义或识别可访问用户数据的一组实体(例如,其他用户、用户的联系、朋友的朋友、或第三方应用)。可在各种粒度级别上(例如通过指定社交网络中的特定实体(例如,其他用户)、用户的联系的预定组、联系的特定类型、用户的所有联系、用户的联系的所有第一级联系、整个社交网络或甚至整个互联网(例如,以使张贴的内容项目在互联网上变得可加索引和可搜索))来规定隐私设置。用户可为要被张贴的所有用户数据选择默认隐私设置。此外,用户可明确地阻止某些实体查看用户数据或特定类型的用户数据。此外,用户也可配置控制其通信渠道信息的一个或多个方面(例如电话号码或电子邮件地址)的可访问性的一个或多个隐私设置。例如,用户可配置允许仅仅第一级联系人访问用户的手机号码同时允许第二级联系人(例如,朋友的朋友)访问用户的电子邮件地址的隐私配置。控制用户的通信渠道信息的一个或多个方面的可访问性的隐私设置也可具有动态的基于位置的方面,其考虑在时间和位置上相对于用户的接近度。例如,用户可配置仅对在过去的3个月内参加了与该用户相同的事件的其他用户允许访问该用户的电子邮件地址的隐私设置。作为额外的例子,用户可配置仅对在该用户的当前位置的10英里半径内的其他用户允许访问该用户的手机号码的隐私配置。总而言之且作为非限制性的例子,社交网络系统可允许用户控制对遵循下列类别中的一个或多个的信息的访问:1)特定的用户、联系人或朋友,2)分离程度(例如,第一级、第二级或全部),3)过去共享的历史(同一公司、同一学校、同一家乡),4)年龄(例如,在另一用户的阈值年龄范围内的一个用户),5)政治或其它团体组织,6)兴趣,7)所参加的事件,以及8)住宅或出席的当前位置。

此外,社交网络系统可提供各种通信渠道用于使用户彼此交互。因此,社交网络系统的用户可通过经由通信渠道发送各种类型的媒体的内容项目来彼此交互。在特定的实施例中,通信渠道可包括但不限于电子邮件、即时消息、文字、语音或视频聊天以及涂鸦墙。社交网络系统还可维持外部地址信息,例如外部电子邮件地址、电话号码和物理地址(例如,“1000主大街,旧金山,ca”)。为了便于用户交互并增加与社交网络系统的进一步衔接,社交网络系统通常提供用于查找社交网络系统内的注册用户并提供联系人信息的目录服务以允许请求用户通过给出的通信渠道到达目标用户。社交网络系统可使目录服务在社交网络系统外部变得可用。

图1示出示例性社交网络系统及其目录服务。在特定的实施例中,社交网络系统可将用户配置文件数据存储在用户配置文件数据库101中。在特定的实施例中,社交网络系统可将用户事件数据存储在事件数据库102中。在特定的实施例中,社交网络系统可将用户隐私策略数据存储在隐私策略数据库103中。在特定的实施例中,数据库101、102和103可以可操作地连接到社交网络系统的前端104。在特定的实施例中,前端104可通过网络云106与客户端设备105交互。客户端设备105通常是包括用于通过计算机网络进行通信(例如,远程地)的功能的计算机或计算设备。客户端设备105可以是台式计算机、膝上型计算机、个人数字助理(pda)、汽车内或汽车外导航系统、智能电话或其它蜂窝或移动电话、或移动游戏设备、其它适当的计算设备。客户端设备105可执行一个或多个客户端应用,例如网络浏览器(例如,microsoftwindowsinternetexplorer、mozillafirefox、applesafari、googlechrome和opera等),以通过计算机网络访问并查看内容。前端104可包括web或http服务器功能以及其它功能,以允许用户访问社交网络系统。网络云106通常代表一个网络或网络的集合(例如互联网或公司内联网或两者的组合),客户端设备105可通过所述网络访问社交网络系统。

社交网络系统可维持社会图形信息,其可通常由个人的团体当中的关系定义,并可包括范围从偶然的熟人到亲密的家庭联结的关系。可使用图形结构表示社交网络。图形的每个节点相应于社交网络的成员。连接两个节点的边代表两个用户之间的关系。此外,在任两个节点之间的分离程度被定义为从一个节点到另一节点横穿图形所需的跳跃的最小数量。在两个用户之间的分离程度可被认为是在图形中的节点所代表的两个用户之间的关联性的度量。

在特定的实施例中,目录服务107可与数据库101、102和103连接。在特定的实施例中,目录服务107可基于用户配置文件数据、事件数据和在社交网络服务内的注册用户的隐私策略设置来提供人查找服务。在特定的实施例中,目录服务107可通过社交网络系统前端104提供人查找服务。在特定的实施例中,目录服务107可通过用于与移动设备110进行语音通信的交互语音响应系统109和/或通信处理器108提供人查找服务。在特定的实施例中,移动设备110可以是能够进行语音通信的设备(例如,电话或个人计算机)。

用户可访问目录服务107以搜索与一个或多个目标用户相关的通信渠道。用户可通过名和姓识别目标用户。在用户所提供的信息解析到多于一个候选目标用户的情况下,目录服务107可基于谁是发起用户更可能知道的人(例如朋友的朋友或在相同的社交网络(例如,同一大学、同一城市、或参加同一音乐会)中的用户)从搜索候选者当中进行选择。换句话说,目录服务107可评估在使用名称和其它信息作为关键字的第一搜索和评估包括用户之间的联系人的社会图形的第二搜索之间的重叠。例如,社交网络系统可基于被维持在社会图形中的用户联系信息创建用户可能知道的搜索候选者的列表。针对请求用户访问社会图形的搜索过程可通过计算用户肯定将联系建议转换成联系的概率来产生用户可能知道的候选者的列表。概率计算可基于各种因素,包括但不限于在社会图形中的分离程度、人口统计信息(例如,共同的朋友的数量、工作历史、学校历史或位置接近度)、历史行为数据(例如,候选者接受联系的请求的次数)、以前的交互数据(例如,候选者看到用户的视频的次数)、隐私设置(例如,候选者可阻止来自某个社交网络团体的联系请求)、以及以前的指令数据(例如,候选者可能以前拒绝了类似的联系请求)。在美国专利no.7,069,308、no.7188153和no.7,451161中更一般地描述了适当的社会图形搜索过程,且这些专利特此通过引用全部且为了所有的目的而被并入。

在特定的实施例中,对目录服务107的访问可结合在移动设备110上托管的移动目录服务客户端应用来操作。在一些实现中,移动目录服务客户端应用可以是对安装在移动设备110上的地址簿应用的插件程序。在特定的实施例中,可经由在移动设备100上托管的第三方软件应用(例如,网络浏览器)访问目录服务107。在特定的实施例中,发起用户可通过给目录服务107提供1)目标用户的识别信息(例如,名和姓、注册用户id、电子邮件地址或电话号码)以及2)关于目标用户请求的一种或多种类型的通信渠道信息(例如,电子邮件地址、移动电话号码或其它电话号码)来提交人查找查询。在特定的实施例中,移动目录服务客户端应用可将发起用户所提供的查询信息传递到目录服务107,且目录服务107可使用信息——包括但不限于null消息(例如,没有找到目标用户信息,或发起用户不可访问目标用户的信息)、如目标用户的隐私设置允许的目标用户的通信渠道信息、置信水平指示器(例如,如果目标用户的通信渠道信息来自第一级联系人则确认,或如果相反则不确认)、以及错误代码(例如,目录服务107是不可用的)——来对目录服务查询做出响应。在特定的实施例中,在移动目录服务客户端应用和目录服务107之间的通信可使用用户数据报协议(udp)来实现。此外,从目录服务107返回的响应可以在json(javascript对象符号)编码阵列中。在其它实施例中,在移动目录服务客户端应用和目录服务107之间的通信可在短消息服务(sms)协议中实现。在特定的实施例中,移动目录服务客户端应用可配置有白名单,其准许经由客户端应用从也在移动设备110上托管的某些第三方软件应用对目录服务107的访问。在特定的实施例中,目标用户可配置一个或多个隐私设置,其对特定的用户组(例如,仅仅朋友、仅仅朋友的朋友或仅仅特定的网络)准许对目标用户的通信渠道信息的访问,并控制什么通信渠道信息(例如,移动电话号码或电子邮件地址)可供移动目录服务客户端应用采用。在各种实现中,客户端将建立包括查询、来自客户端的标识和服务器响应的通信渠道。对查询和响应的编码将取决于设备和传输介质。示例性实施例可包括对使用简单的键值编码的无联系结果使用udp(用户数据报协议)。其它实施例可对结果使用sms,或使用http上的传统web服务技术。某些实施例可使用前述内容的组合。本文所述的服务独立于通信渠道技术。

图2示出实现根据本发明的一个可能的实现的目录服务的示例性方法。在所公开的实施例中,社交网络系统提供包括联系人关联机制的人查找服务,联系人关联机制便于发起用户和目标用户之间的未来通信。在特定的实施例中,目录服务107可从发起用户接收对目标用户的目录信息的请求(步骤201)。该请求包括目录服务107可使用来搜索并识别目标用户和/或解析发起用户的访问许可的一个或多个信息属性。该请求还可包括识别发起用户的信息以允许目录服务107为了应用与目标用户相关的一个或多个隐私配置规则的目的而识别发起用户。由发起用户提供的关于目标用户的信息可包括名称、用户配置文件信息和/或事件信息(例如,“洛杉矶的johnsmith”或“2009年7月我在伯克利分校校园参观时遇到的marywilliams”)。发起用户可从移动设备110或从客户端设备105做出请求。发起用户可以是或可以不是社交网络系统内的注册用户。该请求也可查询目录服务以找到关于与目标用户相关的一个或多个通信渠道的数据,通信渠道例如是电子邮件地址、聊天用户标识符、手机号码、物理地址等。

在特定的实施例中,目录服务107可搜索目标用户(步骤202)。在特定的实施例中,如果目录服务不能找到目标用户,则目录服务可将“没有找到用户”的消息返回给发起用户(步骤203)。如果目录服务107找到目标用户,且对目标用户的目录信息的访问被目标用户的隐私设置允许,则目录服务107可向发起用户提供目标用户的目录信息(步骤204)。目录服务107可针对发起用户的社会和其它属性——例如发起用户是否是目标用户的朋友、在目标用户和发起用户之间的分离程度、目标用户和发起用户的住宅位置、目标用户和发起用户的组或联合、目标用户和发起用户的共同兴趣等——来访问目标用户的隐私配置,以确定是否允许对目标用户的通信渠道信息的访问。例如,目标用户可配置隐私联系人设置,其允许加入同一学院的任何人访问目标用户的联系人信息的一个或多个方面,例如电子邮件地址或电话号码。具有上述属性的联系人信息隐私设置的可配置性允许对用户目录信息的半公开访问。

在特定的实施例中,如果对目标用户的通信渠道信息的访问和匿名联系不被目标用户的隐私设置允许,则目录服务107可将“访问被拒绝”的消息返回给发起用户。如果匿名联系被目标用户的隐私设置允许,则目录服务107可在目标用户和发起用户之间建立匿名联系会话(步骤205和206)。匿名联系会话可以是匿名电话呼叫、匿名电子邮件通信和匿名聊天会话的形式,所有这些可都被目录服务107调停。如上所述,目录服务107可针对发起用户的社会和其它属性访问目标用户的隐私配置,以确定是否发起匿名通信会话。例如,目标用户可配置允许分开两个分离程度的用户通过匿名通信会话联系目标用户的一个或多个设置。除了或代替分离程度以外,隐私配置设置还可包括其它属性,例如当前住宅、所参加的事件、兴趣、个人历史(例如,共同的教育机构或雇主)。

在特定的实施例中,目录服务107可确定匿名通信会话是否结束(步骤207)。在特定的实施例中,在匿名通信会话结束之后,目录服务107可给目标用户制订和提供创建联系人关联用于目标用户和发起用户之间的未来通信的选项(步骤208)。在特定的实施例中,如果目标用户接受该选项,则社交网络系统可创建联系人关联用于目标用户和发起用户之间的未来通信(步骤209)。例如,如果目录服务107调停匿名电话呼叫,则目录服务107可使用交互式语音应答(ivr)功能109来在呼叫结束之后向用户查询各种联系人关联选项。可选地,目录服务107可以将具有向用户查询各种联系人关联选项的表格的电子邮件发送给目标用户。其它通信渠道管理器功能可用于向用户查询联系人关联选项,包括sms、聊天等。

图3示出创建联系人关联用于在目标用户和发起用户之间的未来通信的示例性方法。在特定的实施例中,目录服务107可给目标用户提供向发起用户发送朋友请求、阻止来自发起用户的未来通信请求、将来自发起用户的未来通信请求列入白名单、或更新目标用户的隐私设置的选项(步骤301)。在特定的实施例中,如果目标用户选择向发起用户发送朋友请求的选项,则社交网络系统可制订朋友请求并将朋友请求从目标用户发送给发起用户(步骤302)。在特定的实施例中,如果目标用户选择阻止来自发起用户的未来通信请求的选项,则社交网络系统可例如通过将发起用户添加到黑名单来更新隐私数据库103中的目标用户的隐私设置以阻止来自发起用户的未来通信请求(步骤303)。在特定的实施例中,如果目标用户选择将来自发起用户的未来通信请求列入白名单的选项,则社交网络系统可将发起用户添加到与目标用户相关的白名单,其中白名单可准许从发起用户到目标用户的未来直接通信会话,或可准许发起用户访问目标用户的通信渠道信息(步骤304)。

在特定的实施例中,一个或多个隐私设置为目标用户的通信渠道信息、用户配置文件信息和事件信息定义访问参数。例如,目标用户可配置隐私设置以特别阻止发起用户访问某些通信渠道,或可阻止发起用户访问目标用户的事件信息,或可阻止发起用户访问目标用户的涂鸦墙但允许发起用户在某些通信渠道中的未来通信。在特定的实施例中,如果目标用户接受更新隐私设置的选项,则社交网络系统可制订隐私设置更新机制(例如,用隐私设置参数填充网页并向目标用户呈现网页),允许目标用户更新在隐私策略数据库103中的隐私设置(步骤305)。

图4示出具有时空隐私特征的目录服务的示例性方法。在一些实现中,社交网络系统可跟踪一个或多个用户的位置,并将位置历史存储在数据存储库中。例如,用户可使用地理社交网络功能来登记到各种位置。此外,在用户的移动设备上托管的移动客户端应用可将gps模块所产生的位置信息附加到从移动设备110发送到社交网络系统的消息。此外,用户可接受对具有已知的地理位置的事件的邀请。如下讨论的,可结合目录服务107来使用该位置历史以允许具有地理和时间方面的各种隐私设置。

在特定的实施例中,在移动设备110上托管的移动目录服务客户端应用可提供对目录服务107的访问。在特定的实施例中,发起用户可通过给移动目录服务提供目标用户的信息(例如,名和姓)和所请求的通信渠道信息的类型(例如,手机号码或电子邮件地址)来为目标用户请求目录查找。在特定的实施例中,移动目录服务客户端应用可自动收集发起用户的位置信息。例如,发起用户的位置可由发起用户的移动设备110的gps或移动电话位置跟踪功能确定。在特定的实施例中,移动目录服务客户端应用可与目录服务107通信,并提供目标用户的信息和发起用户的当前位置信息(步骤401)。在特定的实施例中,如果目录服务107不是可用的,移动目录服务客户端应用可将“服务不可用”的消息返回给发起用户(步骤402)。在特定的实施例中,如果目录服务107不能找到目标用户,则移动目录服务客户端应用可将“未找到用户”的消息返回给发起用户(步骤403)。在特定的实施例中,目录服务107可确定目标用户的当前位置信息。例如,目标用户的位置可由目标用户的移动设备110上的gps功能确定。在特定的实施例中,目录服务107可访问位置历史数据存储库以确定目标用户和发起用户的过去位置信息。例如,位置信息可基于由地理网络服务、事件服务维持的登记活动的数据存储库,所述事件服务允许用户配置和登记事件的出席、状态更新、日历信息等。

在特定的实施例中,目标用户可具有一个或多个隐私设置,所述一个或多个隐私设置只对可满足该一个或多个隐私设置所限定的一个或多个社会、时空、地理和/或时间条件的用户请求允许对目标用户的通信渠道信息的访问。例如,目标用户的隐私设置可只对当前在与目标用户相同的邻近区域中(例如,在1英里内)的请求用户允许对目标用户的手机号码的访问。在这样的实施例中,目录服务107可比较发起用户和目标用户的当前位置。在其它实现中,用户可配置包括一个或多个时空方面以允许对具有与目标用户的“交叉路径”的用户的联系人信息的访问的隐私设置。例如,用户可配置允许对与都在从请求测量的可配置的总滑动时间窗内的用户(在可配置的时间窗内)在同一时间在同一地理位置中(直到可配置的半径)的用户的联系人信息的访问的隐私设置。这样的隐私配置使用户能够允许对在最近过去的聚会或在其它社会事件中遇到目标用户的请求用户的联系人信息的访问。此外,隐私设置还可包括社会维度,例如指定最大分离程度,在该分离程度之外,联系人信息可以不被允许。例如,目标用户的隐私设置可只对在社交网络系统中的目标用户的朋友允许对目标用户的手机号码的访问,但对是朋友的朋友并加入同一学院(例如,斯坦福大学)或与加入学院的目标用户在相同的学年期间在学院的同一城市(例如,加利福尼亚州的palo)的在社交网络系统中的用户允许对目标用户的即时消息id的访问。在特定的实施例中,如果目录服务107确定发起用户不能满足目标用户的隐私设置所限定的社会、空间和时间条件,移动目录服务客户端应用可将“未找到用户”的消息返回给发起用户(步骤405)。在特定的实施例中,如果目标用户的隐私设置允许对目标用户的通信渠道信息的访问,则移动目录服务客户端应用可向发起用户提供目标用户的通信渠道信息(步骤406)。

图5示出示例性网络环境500。网络环境500包括将一个或多个服务器520和一个或多个客户端530耦合到彼此的网络510。网络环境500还包括链接到一个或多个服务器520的一个或多个数据存储器540。可在网络环境500中实现特定的实施例。例如,可以用一个或多个服务器540所托管的软件程序编写目录服务107和社交网络系统前端104。例如,事件数据库102可存储在一个或多个存储器540中。在特定的实施例中,网络510是内联网、外联网、虚拟专用网(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、城域网(man)、互联网的一部分、或另一网络510或两个或更多这样的网络510的组合。本公开设想任何适当的网络510。

一个或多个链路550将服务器520或客户端530耦合到网络510。在特定的实施例中,一个或多个链路550每个包括一个或多个有线、无线或光链路550。在特定的实施例中,一个或多个链路550每个包括内联网、外联网、vpn、lan、wlan、wan、man、互联网的一部分、或另一链路550或两个或更多这样的链路550的组合。本公开设想将服务器520和客户端530耦合到网络510的任何适当的链路550。

在特定的实施例中,每个服务器520可以是单一服务器或可以是跨越多个计算机或多个数据中心的分布式服务器。服务器520可具有各种类型,例如且没有限制地,web服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器或代理服务器。在特定的实施例中,每个服务器520可包括用于执行服务器520所实现或支持的适当功能的硬件、软件或嵌入式逻辑部件、或两个或更多这样的部件的组合。例如,web服务器通常能够托管包含网页或网页的特定要素的网站。更具体地,web服务器可托管html文件或其它文件类型,或可在请求时动态地创建或构造文件,并响应于来自客户端530的http或其它请求将它们传递到客户端530。邮件服务器通常能够向各种客户端530提供电子邮件服务。数据库服务器通常能够提供用于管理存储在一个或多个数据存储库中的数据的接口。

在特定的实施例中,一个或多个数据存储器540可经由一个或多个链路550通信地链接到一个或多个服务器520。在特定的实施例中,数据存储器540可用于存储各种类型的信息。在特定的实施例中,可根据特定的数据结构组织存储在数据存储器540中的信息。在特定的实施例中,每个数据存储器540可以是关系数据库。特定的实施例可提供使服务器520或客户端530能够管理(例如获取、修改、添加或删除)存储在数据存储器540中的信息的接口。

在特定的实施例中,每个客户端530可以是包括能够执行客户端530所实现或支持的适当功能的硬件、软件或嵌入式逻辑部件、或两个或更多这样的部件的组合。例如且没有限制地,客户端530可以是台式计算机系统、笔记本计算机系统、上网本计算机系统、手持电子设备或移动电话。本公开设想任何适当的客户端530。客户端530可使在客户端530处的网络用户能够访问网络530。客户端530可使其用户能够与在其它客户端530处的其他用户通信。

客户端530可具有网络浏览器530,例如microsoftinternetexporer、googlechrome或mozillafirefox,并可具有一个或多个外接附件、插件或其它扩展件,例如toolbar或yahootoolbar。在客户端530处的用户可输入统一资源定位符(url)或将网络浏览器532引导到服务器520的其它地址,且网络浏览器532可产生超文本传输协议(http)请求并将http请求传递到服务器520。服务器520可接受http请求并响应于http请求将一个或多个超文本标记语言(html)文件传递到客户端530。客户端530可基于来自服务器520的html文件呈递网页用于呈现给用户。本公开设想任何适当的网页文件。作为例子而不是作为限制,网页可根据特定的需要从html文件、可扩展超文本标记语言(xhtml)文件或可扩展标记语言(xml)文件呈递。这样的页面还可执行脚本,例如且没有限制地,用javascript、java、microsoftsilverlight、标记语言和脚本(例如ajax(异步javascript和xml))的组合等编写的脚本。在本文,在适当的场合,对网页的提及包括一个或多个相应的网页文件(其可由浏览器用于呈递网页),反之亦然。

图6示出示例性计算机系统600,其可与本发明的一些实施例一起使用。例如,可以用在一个或多个计算机系统600上托管的一个或多个软件程序编写目录服务107。例如,移动设备110可包括计算机系统600。

本公开设想任何适当数量的计算机系统600。本公开设想采取任何适当的物理形式的计算机系统600。作为例子而不是作为限制,计算机系统600可以是嵌入式计算机系统、片上系统(soc)、单板计算机系统(sbc)(例如,模块上计算机(com)或模块上系统(som))、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、主计算机、计算机系统的网格、移动电话、个人数字助理(pda)、服务器或这些中的两个或更多的组合。在适当的场合,计算机系统600可包括一个或多个计算机系统600;是单一的或分布式的;跨越多个位置;跨越多个机器;或存在于云中,云可包括一个或多个网络中的一个或多个云部件。在适当的场合,一个或多个计算机系统600可在基本没有空间或时间限制的情况下执行本文所述或所示的一个或多个方法的一个或多个步骤。作为例子而不是作为限制,一个或多个计算机系统600可实时地或以分批模式执行本文所述或所示的一个或多个方法的一个或多个步骤。在适当的场合,一个或多个计算机系统600可在不同的时间或在不同的位置执行本文所述或所示的一个或多个方法的一个或多个步骤。

在特定的实施例中,计算机系统600包括处理器602、存储器604、存储设备606、输入/输出(i/o)接口608、通信接口610和总线612。虽然本公开描述和示出了具有在特定布置中的特定数量的特定部件的特定计算机系统,本公开设想具有在任何适当布置中的任何适当数量的任何适当部件的任何适当计算机系统。

在特定的实施例中,处理器602包括用于执行指令(例如构成计算机程序的指令)的硬件。作为例子而不是作为限制,为了执行指令,处理器602可从内部寄存器、内部高速缓存、存储器604或存储设备606获取(或取出)指令,对它们解码并执行它们;并接着将一个或多个结果写到内部寄存器、内部高速缓存、存储器604或存储设备606。在特定的实施例中,处理器602可包括数据、指令或地址的一个或多个内部高速缓存。在适当的场合,本公开设想包括任何适当数量的任何适当内部高速缓存的处理器602。作为例子而不是作为限制,处理器602可包括一个或多个指令高速缓存、一个或多个数据高速缓存、以及一个或多个转换后援缓冲器(tlb)。在指令高速缓存中的指令可以是在存储器604或存储设备606中的指令的拷贝,且指令高速缓存可加快处理器602进行的那些指令的获取。数据高速缓存中的数据可以是在处理器602处执行来操作的指令的存储器604或存储设备606中的数据的拷贝;用于由在处理器602处执行的随后的指令访问或用于写到存储器604或存储设备606的在处理器602处执行的以前的指令的结果;或其它适当的数据。数据高速缓存可加快通过处理器602进行的读或写操作。tlb可加快处理器602的虚拟地址转换。在特定的实施例中,处理器602可包括数据、指令或地址的一个或多个内部寄存器。在适当的场合,本公开设想包括任何适当数量的任何适当内部寄存器的处理器602。在适当的场合,处理器602可包括一个或多个算术逻辑单元(alu);是多核处理器;或包括一个或多个处理器602。虽然本公开描述和示出了特定的处理器,本公开设想任何适当的处理器。

在特定的实施例中,存储器604包括用于存储处理器602执行的指令或处理器602操作的数据的主存储器。作为例子而不是作为限制,计算机系统600可将指令从存储设备606或另一源(例如,另一计算机系统600)加载到存储器604。处理器602可接着将指令从存储器604加载到内部寄存器或内部高速缓存。为了执行指令,处理器602可从内部寄存器或内部高速缓存获取指令并对它们解码。在指令的执行期间或之后,处理器602可将一个或多个结果(其可以是中间或最终结果)写到内部寄存器或内部高速缓存。处理器602可接着将那些结果中的一个或多个写到存储器604。在特定的实施例中,处理器602只执行在一个或多个内部寄存器或内部高速缓存中或在存储器604中(与存储设备606相对或在其它地方)的指令,并只操作在一个或多个内部寄存器或内部高速缓存中或在存储器604中(与存储设备606相对或在其它地方)的数据。一个或多个存储器总线(其每个可包括地址总线和数据总线)可将处理器602耦合到存储器604。总线612可包括一个或多个存储器总线,如下所述。在特定的实施例中,一个或多个存储器管理单元(mmu)位于处理器602和存储器604之间,并便于处理器602所请求的对存储器604的访问。在特定的实施例中,存储器604包括随机存取存储器(ram)。在适当的场合,这个ram可以是易失性存储器。在适当的场合,这个ram可以是动态ram(dram)或静态ram(sram)。此外,在适当的场合,这个ram可以是单端口或多端口ram。本公开设想任何适当的ram。在适当的场合,存储器604可包括一个或多个存储器604。虽然本公开描述并示出了特定的存储器,本公开设想任何适当的存储器。

在特定的实施例中,存储设备606包括数据或指令的大容量存储设备。作为例子而不是作为限制,存储设备606可包括hdd、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(usb)驱动器或这些部件中的两个或更多的组合。在适当的场合,存储设备606可包括可移动或不可移动(或固定)介质。在适当的场合,存储设备606可以在计算机系统600的内部或外部。在特定的实施例中,存储设备606是非易失性固态存储器。在特定的实施例中,存储设备606包括只读存储器(rom)。在适当的场合,该rom可以是掩模编程rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)、或闪存或这些部件中的两个或更多的组合。本公开设想采取任何适当的物理形式的大容量存储设备606。在适当的场合,存储设备606可包括便于在处理器602和存储设备606之间的通信的一个或多个存储控制单元。在适当的场合,存储设备606可包括一个或多个存储设备606。虽然本公开描述和示出了特定的存储设备,本公开设想任何适当的存储设备。

在特定的实施例中,i/o接口608包括提供用于在计算机系统600和一个或多个i/o设备之间通信的一个或多个接口的硬件、软件或两者。在适当的场合,计算机系统600可包括这些i/o设备中的一个或多个。这些i/o设备中的一个或多个可实现人和计算机系统600之间的通信。作为例子而不是限制,i/o设备可包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静物摄像机、指示笔、平板电脑、触摸屏、跟踪球、视频摄像机、另一适当的i/o设备或这些设备中的两个或更多的组合。i/o设备可包括一个或多个传感器。本公开设想任何适当的i/o设备和用于其的任何适当的i/o接口608。在适当的场合,i/o接口608可包括使处理器602能够驱动这些i/o设备中的一个或多个的一个或多个设备或软件驱动器。在适当的场合,i/o接口608可包括一个或多个i/o接口608。虽然本公开描述和示出了特定的i/o接口,本公开设想任何适当的i/o接口。

在特定的实施例中,通信接口610包括提供用于在计算机系统600和一个或多个其它计算机系统600或一个或多个网络之间通信(例如,基于分组的通信)的一个或多个接口的硬件、软件或两者。作为例子而不是限制,通信接口610可包括用于与以太网或其它基于有线的网络进行通信的网络接口控制器(nic)或网络适配器,或用于与无线网络(例如wi-fi网络)进行通信的无线nic(wnic)或无线适配器。本公开设想任何适当的网络和用于它的任何适当的通信接口610。作为例子而不是限制,计算机系统600可与adhoc网络、个域网(pan)、局域网(lan)、广域网(wan)、城域网(man)、互联网的一个或多个部分或这些网络中的两个或更多的组合通信。这些网络中的一个或多个的一个或多个部分可以是有线的或无线的。作为例子,计算机系统600可与无线pan(wpan)(例如,bluetoothwpan)、wi-fi网络、wi-max网络、蜂窝电话网络(例如,全球移动通信(gsm)网络)、或其它适当的无线网络或这些网络中的两个或更多的组合通信。在适当的场合,计算机系统600可包括这些网络中的任一个的任何适当的通信接口610。在适当的场合,通信接口610可包括一个或多个通信接口610。虽然本公开描述和示出了特定的通信接口,本公开设想任何适当的通信接口。

在特定的实施例中,总线612包括将计算机系统600的部件耦合到彼此的硬件、软件或两者。作为例子而不是限制,总线612可包括加速图形端口(agp)或其它图形总线、增强型工业标准架构(eisa)总线、前端总线(fsb)、hypertransport(ht)互连、工业标准架构(isa)总线、infiniband互连、少引脚型接口(lpc)总线、存储器总线、微通道架构(mca)总线、外围部件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局域(vlb)总线、或另一适当的总线或这些总线中的两个或更多的组合。在适当的场合,总线612可包括一个或多个总线612。虽然本公开描述和示出了特定的总线,本公开设想任何适当的总线或互连。

在本文中,对计算机可读存储介质的提及包括拥有结构的一个或多个非瞬时有形计算机可读存储介质。作为例子而不是作为限制,在适当的场合,计算机可读存储介质可包括基于半导体的电路或其它集成电路(ic)(例如,现场可编程门阵列(fpga)或专用ic(asic)、硬盘、hdd、混合硬盘驱动器(hhd)、光盘、光盘驱动器(odd)、磁光盘、磁光驱动器、软盘、软盘驱动器(fdd)、磁带、全息存储介质、固态驱动器(ssd)、ram驱动器、securedigital卡、securedigital驱动器、或另一适当的计算机可读存储介质或这些设备中的两个或更多的组合。在本文中,对计算机可读存储介质的提及不包括根据35u.s.c101不符合专利保护条件的资格的任何介质。在本文中,在根据35u.s.c101不符合专利保护条件的资格的范围内,对计算机可读存储介质的提及不包括信号传输的瞬时形式(例如,传播电或电磁信号本身)。

本公开设想实现任何适当的存储设备的一个或多个计算机可读存储介质。在特定的实施例中,在适当的场合,计算机可读存储介质实现处理器602的一个或多个部分(例如,一个或多个内部寄存器或高速缓存)、存储器604的一个或多个部分、存储设备606的一个或多个部分、或这些部件的组合。在特定的实施例中,计算机可读存储介质实现ram或rom。在特定的实施例中,计算机可读存储介质实现易失性或持久性存储器。在特定的实施例中,一个或多个计算机可读存储介质包括软件。在这里,在适当的场合,对软件的提及可包括一个或多个应用、字节码、一个或多个计算机程序、一个或多个可执行指令、一个或多个指令、逻辑、机器代码、一个或多个脚本、或源代码,反之亦然。在特定的实施例中,软件包括一个或多个应用编程接口(api)。本公开设想用任何适当的编程语言或编程语言的组合编写或以另外方式表达的任何适当的软件。在特定的实施例中,软件被表达为源代码或对象代码。在特定的实施例中,软件用高级编程语言(例如c、perl或其任何适当的扩展)表达。在特定的实施例中,软件用低级编程语言(例如汇编语言(或机器代码))表达。在特定的实施例中,软件用java表达。在特定的实施例中,软件用超文本标记语言(html)、可扩展标记语言(xml)或其它适当的标记语言表达。

本公开涵盖了本领域中的普通技术人员将理解的对本文的示例性实施例的所有改变、替代、变动、变更和修改。类似地,在适当的场合,所附权利要求涵盖了本领域中的普通技术人员将理解的对本文的示例性实施例的所有改变、替代、变动、变更和修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1