在异类系统中创建通信会话的制作方法
【专利说明】
【背景技术】
[0001]因特网被用来在用户之间提供多种多样的不同形式的通信。不同的通信系统可以被不同的软件提供者操作,其中不同的应用可以在用户设备处被实现以便使得用户设备的用户能够通过不同的通信系统来进行通信。不同的通信系统可以被独立地管理和操作。
[0002]例如,第一软件提供者可以通过因特网协议(“VoIP”)客户端来提供第一语音和/或视频,其可能在通过第一通信系统经由该VoIP客户端彼此进行通信的大量用户中变得非常受欢迎。类似地,第二软件提供者可以提供第二 VoIP客户端(或者允许跨因特网进行通信的某个其他应用),其也可能在大量用户中变得非常受欢迎,并且其使得能够通过第二通信系统来通信。为了得到这两个服务的好处,用户在他的用户设备处分别运行这两个VoIP客户端。此外,该用户为这两个服务中的每个服务维持单独的联系人列表。在每个通信系统中使用相应的用户标识符(ID)来识别用户。在第一通信系统中的用户的ID可以与第二通信系统中的该用户的ID不同。例如,这些ID可以是电子邮件地址或对用户而言在相应通信系统中是唯一的其他的用户名,从而允许用户在这些通信系统中的每一个中都被唯一地识别。
[0003]为了两个用户彼此跨通信系统进行通信,通信系统可能要求在这两个用户之间存在联系人关系。例如,每个用户可以在所述通信系统中的每一个内拥有他的联系人的相应的联系人列表。当用户在通信系统内是彼此的联系人时,他们被授权通过该通信系统彼此进行通信。但是,当用户在通信系统内不是彼此的联系人时,他们不被授权通过该通信系统彼此进行通信。在一个示例中,两个用户在第一通信系统内不是彼此的联系人,但是在第二通信系统内是彼此的联系人。因此,这两个用户可以通过第二通信系统彼此通信。但是,在这两个用户可以通过第一通信系统彼此通信之前,他们首先将在第一通信系统内将彼此添加作为联系人,使得这两个用户之间的通信被授权以便通过第一通信系统进行。
【发明内容】
[0004]本
【发明内容】
被提供来以简化的形式介绍概念的选择,以下将在【具体实施方式】中进一步描述这些概念。本
【发明内容】
不是旨在识别要求保护的主题的关键特征或必要特征,也不是旨在被用来限制要求保护的主题的范围。
[0005]本发明提供了一种通过第一通信系统在发起者用户和接收者用户之间创建通信事件的方法,该第一通信系统要求用户拥有联系人关系以便彼此通信,其中该发起者用户和接收者用户在第二通信系统内是彼此的联系人,但是在第一通信系统内不是彼此的联系人。在发起者用户设备处实现第一发起者客户端,该第一发起者客户端使得该发起者用户能够访问第一通信系统,并且在接收者用户设备处实现第一接收者客户端,该第一接收者客户端使得该接收者用户能够访问第一通信系统。对于发起者用户和接收者用户中的每一个,确定第一通信系统中的第一用户身份和第二通信系统中的第二用户身份之间的关联。在发起者用户设备处,在第二通信系统内的联系人细节被访问以便确定接收者用户的第二用户身份。所确定的接收者用户的第二用户身份和用于该接收者用户的所述关联被用来确定该接收者用户的第一用户身份。通过第一通信系统将用于创建通信事件的建立请求从第一发起者客户端发送到第一接收者客户端,其中使用所确定的该接收者用户的第一身份来发送该建立请求。向第一接收者客户端提供信息,该信息指示了发起者用户的第一身份与该发起者用户的第二身份相关联,以及基于该发起者用户和该接收者用户在第二通信系统内是彼此的联系人,该通信事件被授权在第一发起者客户端和第一接收者客户端之间通过第一通信系统进行。
[0006]因此,基于在第二通信系统内发起者用户和接收者用户之间的联系人关系,使得发起者用户和接收者用户能够通过第一通信系统通信的第一客户端彼此信任。这在该发起者用户和该接收者用户在第一通信系统内不是联系人的情况下被完成。
【附图说明】
[0007]为了更好地理解描述的实施例并且示出可以如何实施描述的实施例,举例来说,现在将参照下面的图,其中:
图1示出了根据一个或多个实施例的涉及基于分组的网络的布置的示意性图示;
图2是根据一个或多个实施例的运行在用户设备上的客户端应用的示意性框图;以及图3是根据一个或多个实施例的用于建立通信事件的过程的流程图。
【具体实施方式】
[0008]首先参照图1,其图示了使得两个用户能够彼此进行通信的布置。第一用户(被表示为“用户A” 102)操作用户设备104,该用户设备104被连接到诸如因特网之类的网络110。第二用户(被表示为“用户B” 112)操作用户设备114,该用户设备114被连接到该网络110。例如,用户设备104和114中的每一个可以是移动电话、平板、个人计算机(“PC”)、个人数字助理(“PDA”)、游戏设备、电视机或者能够连接到网络110的其他嵌入式设备。用户设备104和114经由诸如调制解调器之类的相应的网路接口连接到网络110,并且用户设备104和114与相应网络接口之间的连接可以经由缆线(有线的)连接或无线的连接。
[0009]在网络110中操作第一通信系统120和第二通信系统122。第一和第二通信系统120和122可以由相应的通信服务提供者彼此独立地操作和管理。
[0010]用户设备104运行第一客户端106。该客户端106被配置来与第一通信系统120交互。例如,该客户端106可以由与第一通信系统120相关联的软件提供者来提供。客户端106是执行在用户设备104中的本地处理器上的软件程序,其使得用户102能够通过第一通信系统120进行通信。该用户设备104也运行第二客户端108。该客户端108被配置来与第二通信系统122交互。例如,该客户端108可以由与第二通信系统122相关联的软件提供者来提供。该客户端108是被执行在用户设备104中的本地处理器上的软件程序,其使得用户102能够通过第二通信系统122进行通信。
[0011]类似地,用户设备114运行第一客户端116。该客户端116被配置来与第一通信系统120交互。例如,该客户端116可以由与第一通信系统120相关联的软件提供者来提供。客户端116是被执行在用户设备114中的本地处理器上的软件程序,其使得用户112能够通过第一通信系统120进行通信。该用户设备114也运行第二客户端118。该客户端118被配置来与第二通信系统122交互。例如,该客户端118可以由与第二通信系统122相关联的软件提供者来提供。该客户端118是被执行在用户设备114中的本地处理器上的软件程序,其使得用户112能够通过第二通信系统122进行通信。
[0012]注意的是,在实践中,可能存在经由相应的用户设备连接到通信系统120和122的极大量的用户,但是为了清晰起见,这些没有在图1中图示。
[0013]在第一通信系统120内,实现了可以在通信系统120内提供集中化功能的服务器124。尽管在图1中示出了第一通信系统120中的仅一个服务器并且在本文中对其进行引用,但是在通信系统120中可以有多个服务器,其中本文所描述的服务器124的功能可以由第一通信系统120中的多个服务器实现。该服务器124被连接到第一通信系统120内的数据仓库126,该数据仓库126可以存储通信系统120的用户的细节。例如,通信系统120的用户的联系人列表可以被存储在数据仓库126中。
[0014]类似地,在第二通信系统122内,实现了可以在通信系统122内提供集中化功能的服务器128。尽管在图1中示出了第二通信系统122中的仅一个服务器并且在本文中对其进行引用,但是在通信系统122中可以有多个服务器,其中本文所描述的服务器128的功能可以由第二通信系统122中的多个服务器实现。该服务器128被连接到第二通信系统122内的数据仓库130,该数据仓库130可以存储通信系统122的用户的细节。例如,通信系统122的用户的联系人列表可以被存储在数据仓库130中。
[0015]图2图示了用户设备104的详细视图,客户端106和108在用户设备104上被执行。用户设备104包括中央处理单元(“CPU”)202,与该中央处理单元202连接的是:诸如显示器206 (例如,可以被实现为触摸屏从而也充当输入设备的屏幕)和扬声器208之类的输出设备;诸如麦克风210、摄像机212以及小键盘214之类的输入设备;网络接口 216 ;以及用于在用户设备104处存储数
据的存储器218。如图2中所示,显示器206、扬声器208、麦克风210、摄像机212、小键盘214、网络接口 216以及存储器218可以被集成到用户设备104中。在可替换的用户设备中,显示器206、扬声器208、麦克风210、摄像机212、小键盘214、网络接口 216以及存储器218中的一个或多个可以不被集成到用户设备104中,并且可以通过相应的接口连接到CPU 202。这样的接口的一个示例是USB接口。
[0016]图2还图示了在CPU202上执行的操作系统(“0S”)204。在图2中所示的示例中,在OS 204的上面运行的是客户端106和客户端108。这些客户端中的每一个可以包括协议层、客户端引擎层以及客户端用户接口(“Π”)层。每一层负责特定的功能。因为每一层通常与其他两层进行通信,所以它们被视为被布置在堆栈中。操作系统204管理计算机的硬件资源,并且操控传送到客户端106和客户端108和从其传送的数据以及经由网络接口 216传送到网络110和从网络110传送的数据。客户端软件的客户端协议层与操作系统204通信,并且管理相应通信系统(120或122)上的通信连接。要求更高级别处理的过程被传递到客户端引擎层。客户端引擎层还与客户端用户接口层通信。客户端引擎层可以被布置来控制客户端用户接口层以便经由该客户端的用户接口将信息呈现给用户102以及经由该用户接口从用户102接收信息。
[0017]用户设备114具有与用户设备104对应的元件,并且以对应的方式被实现。
[0018]根据本文所描述的方法,当两个用户(102和112)在第一通信系统120内不是联系人而在第二通信系统122内是联系人时,用户102被允许通过第一通信系统120来创建与用户112的通信事件(例如,音频呼叫、视频呼叫、即时消息传送(IM)会话或文件传输)。如果用户102和112在第二通信系统122上是信任的联系人,则可以满足客户端106所要求的使得用户102和112能够通过第一通信系统120彼此通信的信任策略。
[0019]用户102可以是通信事件的“发起者用户”,这意味着他向用户112(其是该通信事件的“接收者用户”)发送建立请求。用户102可以通过第一通信系统120创建与用户112的通信事件,而不必在第一通信系统120内添加用户112作为联系人。用户102不必在第一通信系统120内添加第二用户112作为联系人是有优势的,例如,维持可管理的联系人列表尺寸以及对可以仅向联系人传播的诸如存在、心情消息等之类的信息的控制。
[0020]参照图3,现在描述创建通信事件的方法。
[0021]在步骤S302中,确定不同通信系统中的用户ID之间的关联。特别地,确定第一通信系统120中的用户A的ID (在本文中被称为“ID1A”)与第二通信系统122中的用户A的ID (在本文中被称为“ID2A”)之间的关联。因此,所确定的关联指示ID1JP ID2a涉及同一个用户,即涉及用户A 102。类似地,确定第一通信系统120中的用户B的ID (在本文中被称为“ID1B”)与第二通信系统122中的用户B的ID (在本文中被称为“ID2B”)之间的关联。因此,所确定的关联指示ID1JP ID 2B$及同一个用户,即涉及用户B 112。
[0022]可以使用任何合适的网络元件来确定所述关联,该网络元件例如是第二通信系统122的服务器128、或者第一通信系统120的服务器124、或者在用户设备104或114处实现的客户端中的任何一个。
[0023]不同通信系统中的用户ID之间的关联将不同通信系统中的用户账户联系(link)在一起。作为示例,为了用户102将他在不同通信系统120和122中的账户联系起来,他可以使用被实现在用户设备104处的web浏览器前往与通信系统中(120和122)的一个相关联的网页,然后用户102可以例如通过针对两个账户键入相应的密码,来证明他拥有的在相应通信系统120和122中的他的两个ID(S卩,ID1JP ID 2A)。如果密码是有效的,则他的两个账户被联系起来,即,在相应通信系统中的用户ID之间确定了关联,并且该关联(或“联系”)可以被存储在任一通信系统或两个通信系统的服务器的数据仓库(例如,数据仓库126和130中的一个或者两者)中。用户112可以执行对应的过程以便将他在相应的通信系统120和122中的账户联系起来。
[0024]在本文所描述的实施例中,联系(linking)(即,关联的确定)是一个人工步骤,例如,由用户来执行。在这些实施例中,如果用户尚未在相应的通信系统(120和122)中明确地将他的账户联系起来,则他在相应通信系统中的ID之间的关联未被确定。
[0025]所确定的关联被存储在数据仓库中,例如在数据仓库130中或在数据仓库126中。所确定的关联可以存储在用户设备104处的存储器218中和/或在用户设备114处的存储器中。
[0026]可以为作为第一通信系统120和第二通信系统122这两者的用户的每个用户确定关联。所确定的关联将用户(例如,用户102)在第一通信系统120中的账户与该用户在第二通信系统122中的账户联系起来。该联系允许用户102向第一通信系统120证明他是第二通信系统122中的另一个身份(ID2a)的所有者。利用该证明,仅以其他身份(ID2a)知道用户102的用户可以被授权来通过第一通信系统120与用户102通信。
[0027]用户A 102是用户B 112在第二通信系统122中的联系人,但是不是用户B 112在第一通信系统120中的联系人。但是,在这两个通信系统中提供的功能可能不是相同的,并且照此,用户102可以决定他想要通过第一通信系统120(而不是通过第二通信系统122)来与用户112创建通信事件。在步骤S304中,用户A 102确定用户B 112在第二通信系统122中的ID (ID2b)0因为用户B 112是用户A 102在第二通信系统122内的联系人,所以用户A 102可以通过访问他的用于第二通信系统122的联系人列表,来确定用户B在第二通信系统122中的ID (ID2B)。该联系人列表将示出用户A 102 (在第二通信系统122内)的所有联系人在第二通信系统122中的ID。如以上所描述的,该联系人列表可以被存储在数据仓库130中,在这种情况下,步骤S304包括用户设备104 (例如使用客户端108)例如经由服务器128从数据仓库130中检索ID2B。联系人列表可以被存储在存储器218 (或者用户设备104处的某个其他数据仓库)中,在这种情况下,步骤S304包括从存储器218中检索 Ι]2Β。
[0028]在步骤S306中,在步骤S302中被确定并被存储的关联从它们被存储的数据仓库中检索出,并用于确定用户B 112在第一通信系统120中的ID (ID1B)。如以上所描述的,在第一通信系统120中,用户A和B (102和112)在第一通信系统120内不是联系人,因此用户A 102不能从他的用于第一通信系统120的联系人列表中检索用户B 112在第一通信系统120中的ID (IDib)。但是,基于(如在步骤S304中所确定的)ID2b以及(如在步骤S302中确定的)IDib^P ID2b之间的关联,客户端106可以确定IDibo
[0029]按照这种方式,客户端106可以使用所确定的用户112在第一通信系统120中的ID (IDib)来通过第一通信系统120向用户112寄送(address)消息。因为用户A和B (102和112)在第二通信系统122内是联系人,所以客户端106拥有所要求的信任(其关联于联系人关系)以便通过第一通信系统120向客户端116发送消息。
[0030]如以上所描述的,所确定的关联可以存储在数据仓库130中、在数据仓库126中、在用户设备104处的存储器218中和/或在用户设备114处的存储器中。如果所确定的关联存储在数据仓库130或数据仓库126中,则在步骤S306中,客户端106可以从相关的数据仓库中检索所确定的关联。因此,甚至在用户112当前不在线时,客户端106也可以检索所确定的用于用户112的关联。如果所确定的用于用户112的关联存储在用户设备114处的数据仓库中,则该关联可以在从用户设备114发送给用户设备104的存在文档中提供给客户端106。在这种情况下,当两个用户(102和112)在通信系统120和122中的至少一个中都在线时,客户端106可能才能够访问所确定的用于用户112的关联
。
[0031]用户A 102可以借以确定用户B 112是他在第二通信系统122内的联系人的精确机制取决于通信系统120和/或通信系统122的实现方式。
[0032]例如,为了用户通过第一通信系统120通信,可以要求用户交换证书(例如,其由诸如在第一通信系统120中的服务器124之类的服务器所发布)以便证明他们彼此在第一通信系统120内的身份。可以让在第一通信系统120中交换的证书包括用户在第二通信系统122中的ID (即,ID2)的指示符。让证书包括102的指示符允许证书的接收者确定发起者用户在第二通信系统122中的ID2。可以对照接收者用户在第二通信系统122中的联系人列表检查这个ID2以便确定发起者用户是接收者用户在第二通信系统122中的联系人。
[0033]在另一个示例中,存在文档在第二通信系统122中的联系人之间的分发被使用。存在文档可以在两个联系人在通信系统中都在线时在联系人之间发送,并且其指示了用户的存在状态(例如,像“在线”,“忙碌”,“离开”等)。当在第一通信系统中将存在文档从用户A 102发送到用户B 112时,可以在存在文档中包括用户A 102在第二通信系统122中的ID(ID2a)0类似地,当在第一通信系统120中将存在文档从用户B 112发送到用户A 102时,可以在存在文档中包括用户B 112在第二通信系统122中的ID (ID2B)。另外,当在第二通信系统122中将存在文档从用户A 102发送到用户B 112时,可以在存在文档中包括用户A 102在第一通信系统120中的ID(ID1A)。类似地,当在第二通信系统中将存在文档从用户B 112发送到用户A 102时,可以在存在文档中包括用户B 112在第一通信系统120中的ID (ID1B)。按照这种方式,在一个通信系统内的联系人向彼此提供他们在另一个通信系统中的ID,从而允许将这些ID联系起来。
[0034]在另一个示例中,用户的ID之间的关联被集中存储在第一或第二通信系统中的服务器(例如,在服务器124或服务器128中)的数据仓库中。然后,为了确定用户B 112的ID之间的关联(S卩,IDib和ID2b之间的关联),用户设备104 (例如,使用客户端106或客户端108)可以在第一或者第二通信系统中查询相关的服务器以便确定IDib和ID2B2间的关联。
[0035]在步骤S308中,通过第一通信系统120将建立请求从客户端106发送到客户端116。使用用户112在第一通信系统120中的ID (g卩,IDib )来寄送该建立请求。该建立请求是用于通过第一通信系统120在客户端106和客户端116之间创建通信事件的请求。该建立请求可以是用于用户112参加与用户102的语音呼叫、视频呼叫、即时消息传送会话或文件传输的请求。该通信会话可以包括比用户102和112更多的用户。例如,用于创建与用户112的通信事件的请求可以是用于用户112加入诸如电话会议(音频或视频)或多方即时消息传送会话(“多人聊天”)之类的多方通信事件的邀请。根据由第一通信系统120所实现的协议,发送该建立请求。该建立请求将包括用户102在第一通信系统120中的ID(即,IDia )以便使得客户端116能够通过在第一通信系统120上将消息(例如,接受或拒绝该建立请求)发送回客户端106,来响应该建立请求。
[0036]在步骤S310中,用户设备114处的客户端116接收指示用户102在第一通信系统120中的ID (即,IDia )与用户102在第二通信系统122中的ID (即,ID2a )相关联的信息。在步骤S310中接收到的信息允许客户端116在步骤S312中确定该建立请求是由作为用户112在第二通信系统122中的联系人的用户所发送的。S卩,在步骤S310中接收的信息指示,尽管该建立请求是从与用户112在第一通信系统120中的联系人不相关的在第一通信系统120中的ID发送的,但是该建立请求来自于可以被信任的用户。该信任基于用户102和112在第二通信系统122内是彼此的联系人。
[0037]步骤S310可以包括,在建立请求中包括用户A 102在第二通信系统122中的ID(即,ID2a )。在这种情况下,用户设备114 (例如,使用客户端118)可以访问用户112在第二通信系统122内的联系人列表,以便确定ID2a是用户112在第二通信系统122内的联系人的ID。
[0038]步骤S310可以包括,检索在步骤S302中被确定和存储的关联。如以上所描述的,所确定的关联可能已经被存储在数据仓库130中或在用户设备114处的存储器中。从客户端106接收到的建立请求将根据第一通信系统120的协议来指示用户102在第一通信系统120中的ID (S卩,IDia )。因此,客户端116可以使用用于用户102的在IDia和ID2a之间的关联和所接收到的IDia来确定ID2a。因此,在步骤S312中,可以确定的是,ID2a是作为用户112在第二通信系统122中的联系人的用户的标识符。
[0039]在步骤S314中,基于用户A和B (102和112)在第二通信系统122中是彼此的联系人,客户端116授权通信事件在客户端106和116(以及在该通信事件包括多于两个用户时,参与到该通信事件的任何其他客户端)之间通过第一通信系统120来进行。
[0040]通过第一通信系统120进行的通信允许实现隐私设置。例如,用户102可以定义谁被允许通过第一通信系统120与他进行通信,和/或定义他们被允许以何种方式进行通信。这些隐私设置可以是用户定义的偏好,该偏好可以由用户102使用客户端106来设置。如以上所描述的,第一通信系统120要求在用户之间存在联系人关系以便授权他们通过第一通信系统120彼此通信。联系人关系的要求可以是用户定义的偏好,例如,用户102可以在客户端106中设置(或者用户112可以在客户端116中设置)。根据本文所描述的方法,即使用户102和112在第一通信系统120内不是彼此的联系人,用户102和112也可以通过第一通信系统120彼此通信。替代地,第一通信系统120所要求的授权基于在第二通信系统122内用户102和112之间的联系人关系。基于用户A和B (102和112)在第二通信系统122中是彼此的联系人,客户端106授权通信事件在客户端106和116(以及在该通信事件包括多于两个用户时,参与到该通信事件的任何其他客户端)之间通过第一通信系统120来进行。如以上所描述的,客户端116也以对应的方式授权通信事件通过第一通信系统120来进行。
[0041]在一些实施例中,尽管通信事件通过第一通信系统120(其中用户102和112不是彼此的联系人)发生,但是客户端106按以下方式向用户102显示关于该通信事件的信息:该方式就像该通信事件是在跟在第二通信系统122中具有身份ID2b的联系人。换句话说,在用户102看来,他是在参加与用户112在第二通信系统122中的联系人身份(ID2b )的通信事件,其中在第二通信系统122内,用户102是用户112的联系人。类似地,通信客户端116按以下方式向用户112显示关于通信事件的信息,该方式就像该通信事件是在跟在第二通信系统122中具有身份ID2a的联系人。换句话说,在用户112看来,他是在参加与用户102在第二通信系统122中的联系人身份(ID2a )的通信事件,其中在第二通信系统122内用户112是用户102的联系人。按照这种方式,用户102可以参加与用户112的通信事件就好像该通信事件是通过第二通信系统122,即使事实上该通信事件是通过第一通信系统120来实现的。
[0042]在本文所描述的方法中,用户102不必将用户112的每个身份添加到他的(多个)联系人列表中。因此,用户102不需要在他的(多个)联系人列表中具有用户112的若干条目,并且仍然能够通过第一和第二通信系统120和122两者来与用户112通信。
[0043]在用户102和112可以通过第一通信系统120彼此通信之前,不要求他们执行在第一通信系统120中将彼此添加为联系人的步骤。如果,如在之前的系统中一样,用户102必须在第一通信系统120内将用户112添加为联系人,那么他在能够通过第一通信系统120与用户112通信之前,将必须发送授权请求并且等待应答。
[0044]因此,本文描述了一种通信策略,假如匿名用户(例如,用户102)在通信系统122上与联系人相关联,则该通信策略允许来自通信系统120的该匿名用户的动
作。
[0045]现在描述一种示例场景,其中对于将实现的本文所描述的方法,用户102和112不必在第一通信系统120中拥有先前定义的ID。用户102和112在第二通信系统122内是联系人,然后他们二者都下载并安装相应的客户端106和116以便访问第一通信系统120。他们之前未使用过第一通信系统120,并且他们既没有在第一通信系统120中的ID,也没有在第一通信系统120中的预先存在的关系(即,对于第一通信系统120,他们不是彼此的联系人)。但是,因为他们在第二通信系统122内是联系人,所以他们想要用于仍然在第一通信系统内工作的特征(而不被要求首先在第一通信系统内将彼此添加为联系人)。
[0046]用户102可以使用细节(例如,电子邮件地址或某个其他标识符)来登录第一通信系统120,该细节可以被用来将用户在第一通信系统120中的账户与他在第二通信系统122中的账户联系起来。例如,用户102在第二通信系统122中的ID可以是用户102的电子邮件地址。用户102可以使用客户端106并提供诸如用于识别自身的他的电子邮件地址之类的细节,来第一次登录第一通信系统120。电子邮件地址可以被用来将第一通信系统120中的该账户与该用户在第二通信系统122中的账户联系起来。可以给予用户102—个选项,用于将他在第二通信系统122中的账户与在第一通信系统120中的现有账户联系起来。如果他不那样做,则为他自动地构建第一通信系统120中的账户,从而为用户102在第一通信系统120中构建ID (称为技术身份)。然后,用户102在第一通信系统120中的ID与用户102在第二通信系统122中的ID被联系起来,从而如以上关于步骤S302所描述的,确定了ID之间的关联。
[0047]同样的处理应用于用户112。S卩,当用户112使用客户端116第一次登录第一通信系统120 (例如,使用用户112的电子邮件地址)时,给予他一个选项,用于将他在第二通信系统122中的账户与在第一通信系统120中的现有账户联系起来。如果他不那样做,则为他自动地构建在第一通信系统120中的账户,从而为用户112在第一通信系统中构建了 ID(称为技术身份)。然后,将用户112在第一通信系统120中的ID与用户112在第二通信系统122中的ID联系起来,从而如以上关于步骤S302所描述的,确定了 ID之间的关联。
[0048]因此,按照这种方式,用户102和112在第一通信系统120中的ID就与用户102和112在第二通信系统122中的ID联系起来。
[0049]当客户端106将要发送建立请求以便在用户102和112之间通过第一通信系统120创建通信事件时,客户端106 (S卩,发送者侧)需要知道与用户112在第二通信系统122中的ID (即,ID2b )相对应的在第一通信系统120中的ID (S卩,IDib ),其中在第二通信系统122中,用户102是用户112的联系人。如以上关于步骤S306所描述的,这个ID (IDib )被提供给客户端106或者由客户端106所确定。这可以从联系人列表服务器128提供。该服务器128可以被布置来在数据仓库130中存储用于第二通信系统122中的每个ID的在第一通信系统120中的关联ID,在第二通信系统122中,各个用户已经将其账户联系起来或者下载了新的客户端。可替换地,可以在从服务器128提供给客户端118的存在文档中提供用户B 112在第一通信系统120中的ID (g卩,IDib )。
[0050]然后用户102可以通过使用第二用户112在第一通信系统120中的ID (IDib )联络第二用户112,以从客户端106创建呼叫或者其他通信事件。
[0051]在接收器侧,客户端116需要知道从用户A 102在第一通信系统120中的ID(IDU)接收到的到来的建立请求是来自用户112在第二通信系统122内的联系人的。为了实现此事,用户A 102在第二通信系统中的ID (ID2a )可以被包括在该建立请求中。可替换地,可以通过使用在从服务器128到客户端118的存在文档中提供的ID之间的关联,来解决用户A 102在第二通信系统中的ID (ID2a ),或者用户设备114可以查询服务器128 (例如,使用客户端118)来检索ID之间的关联。
[0052]一旦接收者客户端116已经确定发送者客户端106与第二通信系统122上的信任的联系人相关联,则为了应用任何隐私策略以及可选地以与信任的用户相关联的方式来显示消息的目的,客户端116将把发送者(用户102)当作信任的联系人。
[0053]在步骤S302中被确定和被存储的关联中的每一个都可以被存储一个持续时间,在这个持续时间内,相应的用户在第一和第二通信系统120和122两者中都是在线的。这允许在不同通信系统中的ID之间长期的关联,其可以被用来基于在第二通信系统122中的用户102和112之间的联系人关系,通过第一通信系统120在用户102和112之间创建多个通信事件。这允许用户102和112表现得就像他们在第一通信系统120内是联系人一样,即使在第一通信系统120内没有联系人。如以上所描述的,所确定的关联可以被存储在数据仓库130中、在数据仓库126中、在用户设备104处的存储器218中和/或在用户设备114处的存储器中。当用户在第一和第二通信系统120和122两者上都是在线时,基于他们在第二通信系统122中的联系人关系,他们被授权通过第一通信系统120彼此通信。
[0054]可替换地,在步骤S302中被确定和被存储的关联可以在通信事件的持续时间内被存储,其中响应于该通信事件的结束,不再存储该关联。按照这种方式,该关联是不同通信系统中的ID之间的短期的关联,其可以被用来通过第一通信系统120在用户102和112之间创建单个通信事件。例如,服务器128可以发布令牌(token),该令牌为了诸如单个呼叫之类的单个通信事件的目的而授权通过第一通信系统120在用户102和112之间的通信。该令牌被提供给用户设备104,然后客户端106在被发送到客户端116以便创建通信事件(在步骤S308中)的建立请求中包括令牌。该令牌也被发送给用户设备114。该令牌被从服务器128推送到用户设备114,或者该令牌可以响应于客户端116接收到在步骤S308中来自客户端106的建立请求,而由用户设备114从服务器128中检索出(S卩,从服务器128中提取)。如果在建立请求中接收的令牌与从服务器128中获得的令牌相匹配,则客户端116允许通信事件通过第一通信系统120进行。
[0055]在以上描述的实施例中,使用在设备104和114处实现的相应的客户端,来访问通信系统120和122两者。但是,在其他实施例中,通信系统120和122中的一个或多个可以包括社交网络网站。例如,第二通信系统122可以是社交网络站点,并且在以上描述的方法中,可以利用可以用于访问社交网络站点的web浏览器应用来替换客户端108和118。用户102和112在社交网络站点内可以是彼此的联系人。与以上描述的那些方法相同的方法可以被应用,以便基于在该社交网络站点内用户102和112之间的联系人关系,来允许用户102和112通过第一通信系统120彼此通信。
[0056]在以上描述的实施例中,在用户设备104处执行客户端106和108。在其他实施例中,用户设备104可以实现客户端106和108,从而允许用户102与客户端106和108交互,但是客户端实际上可以在别处被执行。例如,可以在网络110中的一个或多个服务器中执行客户端,用户设备104可以执行web浏览器,用户102可以通过该web浏览器来访问该客户端。按照这种方式,用户设备104可以实现客户端106和108 (例如,客户端的用户接口可以在web浏览器应用内被实现,该web浏览器应用在用户设备104处执行),而不用在CPU 202上执行客户端。按照类似的方式,用户设备114可以实现客户端116和118来允许用户112访问客户端116和118,而未实际在用户设备114的CPU上执行客户端116和118(例如,经由在用户设备114处执行的web浏览器)。
[0057]尽管在以上的实施例中,用户设备104实现了第一客户端106和第二客户端108两者,但是在一些实施例中,用户设备104不实现第二客户端108。例如,用户102可以使用不同的用户设备(即,不同于用户设备104)以连接至第二通信系统122。然后,用户设备104仅仅需要实现第一客户端106。第一
客户端106可以如以上所描述的一样检索所确定的在用户112的ID之间的关联,并且可以如以上所描述的一样发送建立请求以通过第一通信系统120创建通信事件,而不需要在用户设备104处实现第二客户端108。类似地,用户设备114不需要实现第二客户端118。用户102在通信系统中的ID之间的关联可以由在用户设备114处的客户端116来确定,以便授权通信事件通过通信系统120来进行,而不用在用户设备114处实现客户端118。在这些情况下,用户112可以经由不同的用户设备(S卩,不同于用户设备114)访问第二通信系统122。
[0058]一般地,本文所描述的功能中的任何一个都可以使用软件、固件、硬件(例如,固定逻辑电路)或这些实现方式的组合来实现。在本文中使用的术语“模块”、“功能”、“组件”、“逻辑”一般地表示软件、固件、硬件或它们的组合。在软件实现方式的情况下,模块、功能或逻辑表示当在处理器(例如,一个或多个CPU)上被执行时执行了指定任务的程序代码。程序代码可以存储在一个或多个计算可读的存储器设备中。本文所描述的技术的特征是与平台无关的,这意味着这些技术可以在具有多种处理器的多种商业计算平台上实现。
[0059]例如,用户设备也可以包括使得用户设备的硬件执行诸如处理器功能块等等的操作的实体(例如,软件)。例如,用户设备可以包括计算机可读介质,该计算机可读介质可以被配置来维持指令,该指令使得用户设备,更具体地,用户设备的操作系统和关联的硬件来执行操作。因此,指令运行来配置操作系统和关联的硬件以执行操作,并且按照这种方式导致操作系统和关联的硬件的转变来执行功能。指令可以由计算机可读介质通过多种不同的配置提供给用户设备。
[0060]计算机可读介质的一种这样的配置是承载信号的介质,并且因此被配置来例如经由网络向计算设备传送指令(例如,作为载波)。计算机可读介质也可以被配置为计算机可读存储介质,并且因此不是承载信号的介质。计算机可读存储介质的示例包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪速存储器、硬盘存储器以及可以使用磁、光学和其他技术来存储指令和其他数据的其他存储设备。
[0061]尽管已经用特定于结构特征和/或方法动作的语言描述了本主题,但是应该理解的是,在所附的权利要求书中定义的主题不一定限于以上描述的特定特征或动作。相反,以上描述的特定特征和动作是作为实现权利要求的示例形式而公开的。
【主权项】
1.一种通过第一通信系统在发起者用户和接收者用户之间创建通信事件的方法,第一通信系统要求用户拥有联系人关系以便彼此通信,其中所述发起者用户和所述接收者用户在第二通信系统内是彼此的联系人,但是在第一通信系统内不是彼此的联系人,以及其中在发起者用户设备处实现的第一发起者客户端使得该发起者用户能够访问第一通信系统,并且在接收者用户设备处实现的第一接收者客户端使得该接收者用户能够访问第一通信系统,以及其中为该发起者用户和该接收者用户中的每一个,确定在第一通信系统中的第一用户身份和在第二通信系统中的第二用户身份之间的关联,该方法包括: 在该发起者用户设备处,访问在第二通信系统内的联系人细节以便确定该接收者用户的第二用户身份,并且使用所确定的该接收者用户的第二用户身份和用于该接收者用户的所述关联来确定该接收者用户的第一用户身份; 通过第一通信系统从第一发起者客户端向第一接收者客户端发送用于创建该通信事件的建立请求,所述建立请求使用所确定的该接收者用户的第一身份来发送, 其中向第一接收者客户端提供信息,该信息指示该发起者用户的第一身份与该发起者用户的第二身份相关联,以及其中基于该发起者用户和该接收者用户在第二通信系统内是彼此的联系人,该通信事件被授权在第一发起者客户端和第一接收者客户端之间通过第一通信系统来进行。2.根据权利要求1所述的方法,进一步包括,存储用于该发起者用户和该接收者用户中的每一个的在第一通信系统中的第一用户身份和在第二通信系统中的第二用户身份之间的所述所确定的关联,其中所确定的关联被存储(i)在第二通信系统的服务器处的数据仓库中,或(ii)在该发起者用户设备和该接收者用户设备处的相应的数据仓库中。3.根据权利要求2所述的方法,其中所确定的关联被存储在第二通信系统的服务器处的数据仓库中,以及其中通过将所确定的用于该发起者用户的关联从该服务器发送到该接收者用户设备来将所述信息提供给第一接收者客户端,以及其中将所确定的用于该接收者用户的关联从该服务器发送到该发起者用户设备。4.根据权利要求2或3所述的方法,其中(i)所确定的关联中的每一个都被存储了一个持续时间,在该持续时间内,相应的用户在第一和第二通信系统二者中都是在线的,或(?)所确定的关联在该通信事件的持续时间内被存储,其中响应于该通信事件的结束,不再存储所述关联。5.根据任一前述权利要求所述的方法,其中通过将该发起者用户的第二用户身份包括在从第一发起者客户端发送到第一接收者客户端的该建立请求中,来将所述信息提供给第一接收者客户端。6.根据任一前述权利要求所述的方法,进一步包括: 在该发起者用户设备处,接收由第二通信系统的服务器所发布的令牌,所述令牌授权该通信事件通过第一通信系统进行;以及 将该令牌包括在从第一发起者客户端发送到第一接收者客户端的该建立请求中, 其中该令牌向第一接收者客户端指示在第二通信系统中该发起者用户是该接收者用户的联系人,以及基于此,该通信事件被授权通过第一通信系统进行。7.—种通过第一通信系统在发起者用户和接收者用户之间创建通信事件的方法,第一通信系统要求用户拥有联系人关系来彼此通信,其中所述发起者用户和所述接收者用户在第二通信系统内是彼此的联系人,但是在第一通信系统内不是彼此的联系人,以及其中在发起者用户设备处实现的第一发起者客户端使得该发起者用户能够访问第一通信系统,并且在接收者用户设备处实现的第一接收者客户端使得该接收者用户能够访问第一通信系统,以及其中为该发起者用户和该接收者用户中的每一个,确定在第一通信系统中的第一用户身份和在第二通信系统中的第二用户身份之间的关联,该方法包括: 在第一接收者客户端处通过第一通信系统从第一发起者客户端接收用于创建该通信事件的建立请求,所述建立请求使用该接收者用户的第一身份来发送; 在第一接收者客户端处接收信息,该信息指示该发起者用户的第一身份与该发起者用户的第二身份相关联;以及 基于该发起者用户和该接收者用户在第二通信系统内是彼此的联系人,授权该通信事件在第一发起者客户端和第一接收者客户端之间通过第一通信系统来进行。8.根据权利要求7所述的方法,进一步包括,存储用于该发起者用户和该接收者用户中的每一个的在第一通信系统中的第一用户身份和在第二通信系统中的第二用户身份之间的所述所确定的关联,其中所确定的关联被存储(i)在第二通信系统的服务器处的数据仓库中,或(ii)在该发起者用户设备和该接收者用户设备处的相应的数据仓库中。9.根据权利要求7或8所述的方法,其中所述接收信息包括,接收被包括在从第一发起者客户端接收的该建立请求中的该发起者用户的第二用户身份。10.一种被配置来创建通信事件的计算机程序产品,该计算机程序产品被具体实现在计算机可读存储介质中,并且其被配置为在处理器上被执行时,使得执行权利要求1至9中的任何一个的操作。
【专利摘要】用于通过第一通信系统在发起者用户和接收者用户之间创建通信事件的方法和计算机程序产品。该发起者用户和接收者用户在第二通信系统内是联系人,但是在第一通信系统内不是联系人。对于该发起者用户和接收者用户,确定在第一通信系统中的第一用户身份和在第二通信系统中的第二用户身份之间的关联。该发起者用户设备使用用于该接收者用户的关联来确定该接收者用户的第一用户身份。通过第一通信系统,将用于创建该通信事件的建立请求从第一发起者客户端发送到第一接收者客户端。基于该发起者用户和该接收者用户在第二通信系统内是联系人,该通信事件被授权来通过第一通信系统进行。
【IPC分类】G06Q10/10, H04M7/00, H04L12/58
【公开号】CN104904192
【申请号】CN201380047529
【发明人】V.M.奥伯勒, L.S.罗伯茨, T.威尔斯, J.D.罗森伯格
【申请人】微软技术许可有限责任公司
【公开日】2015年9月9日
【申请日】2013年9月6日
【公告号】EP2883345A1, US20140074944, WO2014042968A1