《在客户计算设备之间建立在线通信会话.pdf》由会员分享,可在线阅读,更多相关《在客户计算设备之间建立在线通信会话.pdf(78页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102859962 A (43)申请公布日 2013.01.02 CN 102859962 A *CN102859962A* (21)申请号 201080066508.1 (22)申请日 2010.09.23 61/321,866 2010.04.07 US 61/321,865 2010.04.07 US 61/351,814 2010.06.04 US 61/378,924 2010.08.31 US 61/378,926 2010.08.31 US 61/382,479 2010.09.13 US 12/886,485 2010.09.20 US H04L 29。
2、/06(2006.01) (71)申请人 苹果公司 地址 美国加利福尼亚 (72)发明人 J桑塔玛丽亚 J伍德 BS唐 J阿布安 P盖茨 J韦纳 AH维尔洛斯 (74)专利代理机构 中国国际贸易促进委员会专 利商标事务所 11038 代理人 李镇江 (54) 发明名称 在客户计算设备之间建立在线通信会话 (57) 摘要 本发明涉及一种用于在客户计算设备之间帮 助建立在线通信会话的方法和装置。在线通信会 话邀请请求消息从发起客户计算设备被接收到, 消息包括发起计算设备的连接数据和用于预期接 收者的在线通信会话端点标识符。与标识符相关 的一组一个或多个推送标记被确定, 其中每个推 送标记识别一个客。
3、户计算设备。包括发起客户计 算设备的连接数据的在线通信会话邀请消息被传 输给与该组推送标记相对应的一组预期接收者客 户计算设备。邀请已接受消息从包括该计算设备 的连接数据的该组预期接收者客户计算设备的至 少其中一个被接收到。邀请已接受消息被传输给 包括每个接受计算设备的连接数据的发起计算设 备, 以允许发起计算设备和每个接受计算设备建 立直接对等在线通信会话。 (30)优先权数据 (85)PCT申请进入国家阶段日 2012.10.30 (86)PCT申请的申请数据 PCT/US2010/050066 2010.09.23 (87)PCT申请的公布数据 WO2011/126505 EN 2011。
4、.10.13 (51)Int.Cl. 权利要求书 3 页 说明书 35 页 附图 39 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 3 页 说明书 35 页 附图 39 页 1/3 页 2 1. 一种用于在客户计算设备之间帮助建立在线通信会话的方法, 包含 : 从发起客户计算设备接收用于在线通信会话的邀请请求消息, 所述消息包括所述发起 计算设备的连接数据和用于预期接收者的在线通信会话端点标识符 ; 确定与所述在线通信会话端点标识符相关的一组一个或多个推送标记, 其中所述组的 推送标记组的每个都识别一个客户计算设备 ; 将包括所述发起客户计算设备的所述连接数据的。
5、在线通信会话邀请消息传输给与所 述组一个或多个推送标记相对应的一组一个或多个预期接收者客户计算设备 ; 从所述组的预期接收者客户计算设备的至少其中一个接收包括该接受计算设备的连 接数据的邀请已接受消息 ; 和 将包括每个接受计算设备的所述连接数据的邀请已接受消息传输给所述发起计算设 备, 以允许所述发起计算设备和每个接受计算设备建立直接对等在线通信会话。 2. 权利要求 1 所述的方法, 其中所述在线通信会话端点标识符选自包含以下项目的 组 : 电话号码、 电子邮件地址、 用户名、 和其任何组合。 3. 权利要求 1 所述的方法, 其中每个推送标记都允许推送通知服务定位推送通知消息 并将其传输。
6、给相应的预期接收者客户计算设备。 4. 权利要求 1 所述的方法, 其中用于所述在线通信会话的所述邀请消息是盲邀请, 使 得所述发起客户计算设备的用户不知道所述预期接收者是否在线。 5. 权利要求 1 所述的方法, 其中所述发起客户计算设备和所述接受的预期接收者客户 计算设备的所述连接数据包括公共因特网协议 IP 地址、 网络地址翻译 NAT 设备的 NAT 类 型、 和所述发起客户计算设备和所述接受的预期接收者客户计算设备各自的公共端口号。 6. 权利要求 1 所述的方法, 进一步包含 : 确定所述直接对等在线通信会话不能建立, 并执行下列操作 : 识别与中继服务相关的网络信息, 所述网络信。
7、息可被所述发起客户计算设备和所述接 受的预期接收者客户计算设备用于通过所述中继服务建立连接, 和 将所述网络信息或其一部分传输给所述发起客户计算设备和所述接受的预期接收者 客户计算设备, 以允许它们通过所述中继服务建立在线通信会话。 7. 权利要求 6 所述的方法, 其中确定所述直接对等在线通信会话不能建立包括从所述 对等连接尝试不成功的所述客户计算设备的至少其中一个接收指示。 8. 权利要求 6 所述的方法, 其中与所述中继服务相关的所述网络信息包括要被所述发 起客户计算设备使用的第一中继主机地址和要被所述接受的预期接收者客户计算设备使 用的第二中继主机地址。 9. 一种提供指令的非瞬时的机。
8、器可读储存介质, 当所述指令被处理器执行时, 将使所 述处理器执行用于在客户计算设备之间帮助建立在线通信会话的操作, 所述操作包含 : 从发起客户计算设备接收用于在线通信会话的邀请请求消息, 所述消息包括所述发起 计算设备的连接数据和用于预期接收者的在线通信会话端点标识符 ; 确定与所述在线通信会话端点标识符相关的一组一个或多个推送标记, 其中所述组的 推送标记的每个都识别一个客户计算设备 ; 将包括所述发起客户计算设备的所述连接数据的在线通信会话邀请消息传输给与所 述组一个或多个推送标记相对应的一组一个或多个预期接收者客户计算设备 ; 权 利 要 求 书 CN 102859962 A 2 2。
9、/3 页 3 从所述组的预期接收者客户计算设备的至少其中一个接收包括该接受计算设备的连 接数据的邀请已接受消息 ; 和 将包括每个接受计算设备的所述连接数据的邀请已接受消息传输给所述发起计算设 备, 以允许所述发起计算设备和每个接受计算设备建立直接对等在线通信会话。 10. 权利要求 9 所述的非瞬时的机器可读储存介质, 其中所述在线通信会话端点标识 符选自包含以下项目的组 : 电话号码、 电子邮件地址、 用户名、 和其任何组合。 11. 权利要求 9 所述的非瞬时的机器可读储存介质, 其中每个推送标记都允许推送通 知服务定位推送通知消息并将其传输给所述相对应的预期接收者客户计算设备。 12.。
10、 权利要求 9 所述的非瞬时的机器可读储存介质, 其中用于所述在线通信会话的所 述邀请消息是盲邀请, 所述盲邀请使得所述发起客户计算设备的用户不知道所述预期接收 者是否在线。 13. 权利要求 9 所述的非瞬时的机器可读储存介质, 其中所述发起客户计算设备和所 述接受的预期接收者客户计算设备的所述连接数据包括公共因特网协议 IP 地址、 网络地 址翻译 NAT 设备的 NAT 类型、 和所述发起客户计算设备和所述接受的预期接收者客户计算 设备各自的公共端口号。 14. 权利要求 9 所述的非瞬时的机器可读储存介质, 进一步包含 : 确定所述直接对等在线通信会话不能建立, 并执行下列操作 : 识。
11、别与中继服务相关的网络信息, 所述网络信息可被所述发起客户计算设备和所述接 受的预期接收者客户计算设备用于通过所述中继服务建立连接, 和 将所述网络信息或其一部分传输给所述发起客户计算设备和所述接受的预期接收者 客户计算设备, 以允许它们通过所述中继服务建立在线通信会话。 15. 权利要求 14 所述的非瞬时的机器可读储存介质, 其中确定所述直接对等在线通信 会话不能建立包括从所述对等连接尝试不成功的所述客户计算设备的至少其中一个接收 指示。 16. 权利要求 14 所述的非瞬时的机器可读储存介质, 其中与所述中继服务相关的所述 网络信息包括要被所述发起客户计算设备使用的第一中继主机地址和要被。
12、所述接受的预 期接收者客户计算设备使用的第二中继主机地址。 17. 一种用于在客户计算设备之间帮助建立在线通信会话的装置, 包含 : 存储器, 用于存储程序代码 ; 处理器, 其与所述存储器耦接以处理所述程序代码而执行下面的操作 : 从发起客户计算设备接收用于在线通信会话的邀请请求消息, 所述消息包括所述发起 计算设备的连接数据和用于预期接收者的在线通信会话端点标识符 ; 确定与所述在线通信会话端点标识符相关的一组一个或多个推送标记, 其中所述组的 推送标记的每个都识别一个客户计算设备 ; 将包括所述发起客户计算设备的所述连接数据的在线通信会话邀请消息传输给与所 述组一个或多个推送标记相对应的。
13、一组一个或多个预期接收者客户计算设备 ; 从所述组的预期接收者客户计算设备的至少其中一个接收包括该接受计算设备的连 接数据的邀请已接受消息 ; 和 将包括每个接受计算设备的所述连接数据的邀请已接受消息传输给所述发起计算设 权 利 要 求 书 CN 102859962 A 3 3/3 页 4 备, 以允许所述发起计算设备和每个接受计算设备建立直接对等在线通信会话。 18. 权利要求 17 所述的装置, 其中所述在线通信会话端点标识符选自包含以下项目的 组 : 电话号码、 电子邮件地址、 用户名、 和其任何组合。 19. 权利要求 17 所述的装置, 其中每个推送标记都允许推送通知服务定位推送通知。
14、消 息并将其传输给相对应的预期接收者客户计算设备。 20. 权利要求 17 所述的装置, 其中用于所述在线通信会话的所述邀请消息是盲邀请, 使得所述发起客户计算设备的用户不知道所述预期接收者是否在线。 21. 权利要求 17 所述的装置, 其中所述发起客户计算设备和所述接受的预期接收者客 户计算设备的所述连接数据包括公共因特网协议 IP 地址、 网络地址翻译 NAT 设备的 NAT 类 型、 所述发起客户计算设备和所述接受的预期接收者客户计算设备各自的公共端口号。 22. 权利要求 17 所述的装置, 进一步包含其他程序代码, 当执行所述其他程序代码时, 使所述处理器执行下列操作 : 确定所述。
15、直接对等在线通信会话不能建立并执行下列操作 : 识别与中继服务相关的网络信息, 所述网络信息可被所述发起客户计算设备和所述接 受的预期接收者客户计算设备用于通过所述中继服务建立连接, 和 将所述网络信息或其一部分传输给所述发起客户计算设备和所述接受的预期接收者 客户计算设备, 以允许它们通过所述中继服务建立在线通信会话。 23. 权利要求 22 所述的装置, 其中确定所述直接对等在线通信会话不能建立包括从所 述对等连接尝试不成功的所述客户计算设备的至少其中一个接收指示。 24. 权利要求 22 所述的装置, 其中与所述中继服务相关的所述网络信息包括要被所述 发起客户计算设备使用的第一中继主机地。
16、址和要被所述接受的预期接收者客户计算设备 使用的第二中继主机地址。 权 利 要 求 书 CN 102859962 A 4 1/35 页 5 在客户计算设备之间建立在线通信会话 0001 对相关申请的交叉引用 0002 本申请要求 2010 年 9 月 20 日提交的美国专利申请 No.12/886,485 的优先权, 并且还要求 2010 年 9 月 13 日提交的美国临时申请 No.61/382,479、 2010 年 8 月 31 日提 交的美国临时申请 No.61/378,924 和 61/378,926、 2010 年 6 月 4 日提交的美国临时申请 No.61/351,814、 和。
17、 2010 年 4 月 7 日提交的美国临时申请 No.61/321,865 和 61/321,866 的 权益, 由此这些申请的每个都通过引用被并入。 0003 本申请可以包括与 2010 年 4 月 7 日提交的、 标题为 “Apparatusand Method For Inviting Users to Online Sessions(用于邀请用户至在线会话的装置和方法) ” 的共同 未决、 共同指定 (co-assigned) 的美国临时申请 No.61/321,832 有关的主题, 该申请通过引 用被并入本文。 0004 在苹果的 iPhone 4 的样机显然在 2010 年 3 。
18、月 25 日从苹果工程师处被偷窃之时, 要公开并在本申请中要求权利的本发明的时机尚未成熟并且没有苹果公司的对公众公开 的授权。本申请所基于的美国优先权申请在明显的偷窃之前尚未提交。 技术领域 0005 本发明的实施例涉及计算机联网的领域 ; 并且尤其用于为在客户计算设备之间建 立在线通信会话。 背景技术 0006 用于提供在线通信会话 (例如即时消息、 视频会议等) 的许多实施方式都需要计算 设备的用户安装软件和 / 或注册服务。因此作为用户建立与另一个用户的在线通信会话的 先决条件, 两个用户都必须进行注册和 / 或安装相同的软件。许多实施方式还维持存在者 (presence)(例如朋友列表。
19、) , 其使用户能够确定其他用户的状态 (例如在线、 离线、 离开等) 。 0007 诸如因特网的大型公共网络, 频繁具有至更小的私人网络的连接, 诸如由公司、 因 特网服务提供商、 或者甚至是个人家庭维持的私人网络。 由于它们非常特别 (nature) , 因此 公共网络必须对网络地址, 即公共地址的分配意见一致。 出于多种原因, 私人网络的维护者 经常为私人网络选择使用私人网络地址, 这些地址不是对分配意见一致的一部分。 因此, 为 了来自私人网络的网络流量能够穿过公共网络, 就需要某些形式的私人 / 公共网络地址翻 译 ( “NAT” ) 。 0008 执行 NAT 操作的设备改变被发送。
20、到私人网络之外的数据包以遵守公共网络的寻 址方案。 尤其是, 网络地址翻译器用它自己的公共地址和被分配的端口数 (port number) 来 替换最初的私人地址和包的端口数。网络地址翻译器还改变接收到的数据包, 以便私人网 络上的计算机用预期接收者 (intended recipient) 的正确的私人地址和端口数来替换目 的地公共地址和端口数。 正如在本文中使用的那样, 如果在上下文中适用, 则术语地址应该 被解释为包括地址和端口数两者, 正如本领域普通技术人员会理解的那样。 0009 NAT 在现代网络计算中已经变得越来越常见。NAT 的一个优点在于它使公共网络 说 明 书 CN 102。
21、859962 A 5 2/35 页 6 地址空间的消耗变慢。例如, 在因特网上使用的 TCP/IP 寻址, 包含四个字符串, 每个字符串 三个数字, 因此提供有限的地址空间。 此外, 这个地址空间的某些部分被保留用于特殊的使 用或用户, 进一步消耗了可用地址的实际数量。 然而, 如果使用NAT, 则私人网络或子网络可 以使用任意数量的地址, 但仍旧只给外部世界呈现一个标准化的公共地址。这使可用地址 的数量实际上无限制, 因为每个私人网络理论上都能够使用准确来说是同一个私人地址。 0010 NAT 提供的一个优点是增加的安全性, 这源自公共网络上的那些计算机不能确定 私人网络上计算机的实际的 (。
22、即私人的) 网络地址的事实。这是因为通过网络地址翻译器在 公共网络上只提供公共地址。此外, 这个公共地址可以相应于私人网络上任何数量的计算 机。 0011 不同 NAT 类型采用不同的安全性级别。例如, 采用 “完全锥形 NAT” , 一旦一个内部 地址 (iAddr:iPort) 被映射到一个外部地址 (eAddr:ePort) , 则任何外部主机都可以通过 将包发送给 eAddr:ePort 而将包发送给 iAddr:iPort。利用 “受限锥形 NAT” , 地址为 hAddr 的外部主机只有在 iAddr:iPort 已经事先将包发送给 hAddr 之后, 才可以通过将包发送给 eAd。
23、dr:ePort 而将包发送给 iAddr:iPort。外部主机的端口是不相关的。利用 “端口受限 锥形 NAT” , 地址 / 端口为 hAddr:hPort 的外部主机只有在 iAddr:iPort 事先将包发送给 hAddr:hPort 的条件下, 才能够通过将包发送给 eAddr:ePort 而将包发送给 iAddr:iPort。 最后, 利用对称NAT, 从同一个iAddr:iPort到具体目的地IP地址和端口的每个请求都被映 射到唯一的eAddr:ePort。 如果同一个内部主机将包发送给不同目的地, 则使用不同的外部 地址和端口映射。只有从内部主机接收包的外部主机才能够将包发送回。
24、内部主机。 0012 对等 ( “P2P” ) 计算指的是由计算节点组成的分布式网络结构, 这些计算节点使一 部分它们的资源直接提供给其他网络参与者。与传统的客户 - 服务器模型相比, P2P 网络 中的同位体 (peer) 彼此之间建立直接通信信道并且既用作客户又用作服务器, 在传统的客 户 - 服务器模型中服务器供应资源而客户消耗资源。 0013 上述的 NAT 操作造成 P2P 连接的许多问题。例如, 如果同位体之中的一个或两 个位于一个或多个上述的 NAT 类型后面, 则在两个同位体之间建立直接连接变得愈加 困难。这个问题由于下列事实被加重 : 诸如 Apple iPodApple A。
25、pple和各种其他设备 (例如 RIM设备、 Palm设备等)的 客户设备在具有不同 NAT 实施方式的网络之间频繁移动。例如, 能够在 Wi-Fi 网络 (例如 802.11b,g,n 网络) ; 3G 网络 (例如通用移动通信系统 ( “UMTS” ) 网络、 高速上行链路分组接 入 ( “HSUPA” ) 网络等) ; 和蓝牙网络 (被称为个人局域网 ( “PAN” ) ) 上通信。未来的客户设备 将能够在诸如 WiMAX、 先进的国际移动电信 ( “IMT” ) 、 和先进的长期演进 ( “LTE” ) (仅列出几 个) 的其他通信信道上通信。 0014 免提 (hands-free)。
26、 单元 (例如头戴式耳机、 汽车工具箱) 通常用于与用于免提服务 的计算设备同位 (peer) 。 例如, 对于包括蜂窝电话功能的计算设备而言, 包括与用作免提单 元和计算设备之间的听觉中继的免提单元同位的能力是常见的。 发明内容 0015 描述一种用于在客户计算设备之间帮助建立在线通信会话的方法和装置。 在线通 信会话邀请请求消息从发起客户计算设备被接收到, 消息包括发起计算设备的连接数据和 说 明 书 CN 102859962 A 6 3/35 页 7 用于预期接收者的在线通信会话端点标识符。 与标识符相关的一组一个或多个推送标记被 确定, 其中每个推送标记识别一个客户计算设备。包括发起客。
27、户计算设备的连接数据的在 线通信会话邀请消息被传输给与该组推送标记相对应的一组预期接收者客户计算设备。 邀 请已接受消息从包括该计算设备的连接数据的该组预期接收者客户计算设备的至少其中 一个被接收到。 邀请已接受消息被传输给包括每个接受计算设备的连接数据的发起计算设 备, 以允许发起计算设备和每个接受计算设备建立直接对等在线通信会话。 附图说明 0016 通过参考下面的描述和用于示出本发明实施例的附图可以更好地理解本发明。 在 附图中 : 0017 图 1 示出根据一个实施例, 为在线通信会话注册客户设备的数据流图 ; 0018 图 2 详细示出根据一个实施例的图 1 的客户设备的框图 ; 0。
28、019 图 3 详细示出根据一个实施例的图 1 的注册服务器的框图 ; 0020 图 4 示出根据一个实施例, 用于为在线通信会话注册客户设备的示例性操作的流 程图 ; 0021 图 5 示出根据一个实施例的示例性注册数据存储器 ; 0022 图 6 示一个实施例的常规网络拓扑 ; 0023 图 7 示出根据一个实施例, 在客户设备之间建立在线通信会话的数据流图 ; 0024 图 8 示出根据一个实施例的示例性中继服务的框图 ; 0025 图 9 示出根据一个实施例的应用程序接口 (API) 结构的一个实施例 ; 0026 图 10 示出根据一个实施例的示例性注册数据存储器 ; 0027 图 。
29、11 示出根据一个实施例的示例性 NAT 兼容性表 ; 0028 图 12 示出依据一些实施例的示例性客户设备和用于在电路交换 (切换, switch) 式呼叫和视频呼叫之间转接的图形用户界面 ; 0029 图 13 示出根据一个实施例, 显示视频预览的图 12 的客户设备 ; 0030 图 14 示出根据一个实施例的示例性客户设备和用于接收或回绝视频呼叫邀请的 图形用户界面 ; 0031 图 15 和 16 示出根据一个实施例, 转接到视频呼叫之后的客户设备 ; 0032 图 17 和 18 示出根据一个实施例, 用于在仅音频的电路交换式电话呼叫与视频呼 叫之间转接的示例性操作的流程图 ; 。
30、0033 图 19 示出根据一个实施例, 在已经接收到视频呼叫拒绝消息的客户设备上执行 的示例性操作的流程图 ; 0034 图 20 示出根据一个实施例, 在用于从视频呼叫转接到电路交换式呼叫的客户设 备上执行的示例性操作的流程图 ; 0035 图 21 示出根据一个实施例, 用于使用电子邮件地址作为在线通信会话端点标识 符, 为在线通信会话注册客户设备的常规网络拓扑 ; 0036 图 22A-B 示出根据一个实施例, 用于将电子邮件地址注册为在线通信会话端点标 识符的示例性操作的流程图 ; 0037 图 23 示出根据一个实施例, 用户为了将电子邮件地址注册为在线通信会话端点 说 明 书 C。
31、N 102859962 A 7 4/35 页 8 标识符而提供初始化信息的示例性操作的流程图 ; 0038 图 24 示出根据一个实施例, 用于验证电子邮件地址的示例性操作 ; 0039 图 25 示出根据一个实施例, 当电子邮件地址已经得到验证时在注册服务上执行 的示例性操作的流程图 ; 0040 图 26 示出根据一个实施例, 当用户具有与同一个在线通信会话端点标识符相关 的多个客户设备时, 用于管理邀请的示例性操作的数据流图 ; 0041 图 27 示出根据一个实施例, 当直接 P2P 连接可行时执行的示例性操作的数据流 图 ; 0042 图28示出根据一个实施例, 当直接P2P连接不可。
32、行时执行的示例性操作的数据流 图 ; 0043 图 29 示出根据一个实施例, 当在线通信会话结束时执行的示例性操作的数据流 图 ; 0044 图 30 示出根据一个实施例, 执行将在线通信会话从一个客户设备转移到另一个 客户设备的示例性操作的流程图 ; 0045 图 31 示出根据一个实施例, 用于发起和建立与多个用户的在线通信会话的示例 性操作的流程图 ; 0046 图 32 示出依据一个实施例, 与免提单元接口的客户计算设备的框图 ; 0047 图 33 示出依据一个实施例, 客户计算设备接收对视频呼叫的邀请、 使免提设备鸣 响、 接收来自免提设备的回答指示、 建立视频呼叫、 并且将音频。
33、路由 (route) 至免提设备 ; 0048 图 34 示出依据一个实施例, 客户计算设备通过免提设备为已建立的视频呼叫发 起视频呼叫和路由音频 ; 0049 图 35 示出依据一个实施例, 客户计算设备响应于接收到来自免提设备的呼叫请 求而发起视频呼叫 ; 0050 图 36 示出依据一个实施例, 客户计算设备将已建立的视频呼叫的音频路由至免 提设备 ; 0051 图 37 示出依据一个实施例, 客户计算设备响应于接收到来自免提设备的结束呼 叫请求而终止视频呼叫 ; 0052 图 38 示出可以在一些实施例中使用的示例性计算机系统的框图 ; 和 0053 图 39 示出可以在一些实施例中使。
34、用的示例性数据处理系统的框图。 具体实施方式 0054 在下面的描述中, 阐明了许多特定细节。然而, 要理解地是, 可以不用这些具体细 节而实践本发明的实施例。在其他实例中, 为了不妨碍对本描述的理解, 众所周知的电路、 结构和技术未被详细示出。本领域普通技术人员利用描述所包括的内容, 将能够实施适当 的功能而不用过分实验。 0055 在说明书中对 “一个实施例” 、“实施例” 、“示例实施例” 等的引用指出所描述的实 施例可以包括特殊的特征、 结构或特性, 但是每个实施例都可以不必包括该特殊的特征、 结 构或特性。 此外, 这种短语不必指同一个实施例。 此外, 当结合一个实施例描述特殊的特征。
35、、 结构或特性时, 要主张它是在本领域技术人员的知识范围内, 以便达到使这种特征、 结构或 说 明 书 CN 102859962 A 8 5/35 页 9 特性与其他实施例相结合的目的, 无论是否明确地描述过。 0056 在下面的描述和权利要求中, 可以使用术语 “耦接” 和 “连接” 以及它们的派生词。 应该理解的是, 这些术语不旨在作为对于彼此的同义词。 “耦接” 用于指出相互之间可以或 可以不直接物理或电接触、 相互之间合作或交互的两个或更多个元件。 “连接” 用于指出在 相互耦接的两个或更多个元件之间建立通信。 0057 为在线通信会话自动注册 0058 描述一种用于为在线通信会话 (。
36、例如 P2P 视频会议、 P2P 即时消息等) 自动注册客 户计算设备 ( “客户设备” ) (例如工作站、 膝上型电脑、 掌上型电脑、 移动电话、 智能电话、 多 媒体电话、 平板电脑、 便携式媒体播放器、 GPS 单元、 游戏系统等) 的方法和装置。在一个实 施例中, 在计算设备的事件 (例如计算设备接通电源) 之后, 客户设备自动开始用于在线通 信会话的注册过程。自动注册过程包括将带有识别标记 (例如 SMS 消息的推送标记) 和客户 设备标识符的 SMS(短消息服务) 消息传输给 SMS 转接设备 (例如 SMS 网关或 SMS 聚合器) 。 识别标记为在线通信会话消息 (例如邀请请求。
37、和接受邀请消息) 唯一识别一个客户设备, 并 且在一个实施例中, 识别标记是推送标记, 推送标记能够含有允许推送通知服务定位客户 设备的信息。 推送通知服务实施例中的识别标记还被用作一种建立信任的途径, 即, 特殊通 知是合法的。在其他实施例中, 给客户设备注册唯一标记或将客户设备映射到唯一标记可 以用于使识别标记与客户设备相关, 并且用于提供一种使客户设备的身份与唯一的已识别 标记相关的可信方法。 设备标识符唯一识别客户设备并且通常是基于一个或多个硬件标识 符 (例如设备的序列号, SIM(订户身份模块) 卡的 ICC-ID(集成电路卡 ID) 等) 。 0059 SMS 转接设备确定客户设。
38、备的电话号码 (例如通过检查 SMS 消息的报头) 并且将带 有识别标记、 设备标识符和电话号码的 IP(因特网协议) 消息传输给注册服务器。注册服 务器基于识别标记、 设备标识符和电话号码产生签名, 并且将这些传输给 SMS 转接设备以 便传送给客户设备。SMS 转接设备将包括签名和电话号码的 SMS 消息传输给客户设备。客 户设备接着将带有签名、 设备标识符、 识别标记和电话号码的 IP 消息传输给注册服务器。 0060 注册服务器验证来自客户设备的消息并且将识别标记与电话号码之间的关联存 储于在线通信会话注册数据存储器中。 识别标记和电话号码的相关对合在一起唯一识别在 线通信会话网络中的。
39、设备。在客户设备已经注册过后, 客户设备的用户可以发起和 / 或接 收对在线通信会话 (例如视频聊天 / 会议会话、 即时消息会话等) 的邀请。在一个实施例中, 客户设备的电话号码被用作在线通信会话的在线通信会话端点标识符。通过示例, 客户设 备的用户可以邀请另一个客户设备 (另一些客户设备) 的其他用户 (多个其他用户) 使用他 们的电话号码 (多个电话号码) 参与到在线通信会话中。在一些实施例中, 客户设备原本不 知道它自己的电话号码。 0061 图 1 示出根据一个实施例, 为在线通信会话注册客户设备的数据流图。图 1 包括 客户设备 110、 SMS 网络 120、 注册服务器 140。
40、 和 IP 消息数据存储器 150。客户设备 110 (例 如工作站、 膝上型电脑、 掌上型电脑、 计算电话、 智能电话、 多媒体电话、 平板电脑、 便携式媒 体播放器、 GPS 单元、 游戏系统等) 包括识别标记 115(在一个实施例中识别标记 115 可以是 推送标记) 。识别标记 115 唯一识别客户设备 110 以便接收邀请请求和邀请接受 (或回绝) 消息, 在本文后面将更详细地描述此事。设备标识符 117 唯一识别客户设备并且通常是基 于一个或多个硬件标识符 (例如设备的序列号、 SIM(订户身份模块) 卡的 ICC-ID(集成电 说 明 书 CN 102859962 A 9 6/3。
41、5 页 10 路卡 ID) 等) 。客户设备 110 包括传输和接收 SMS 消息的能力以及连接和发送 / 接收 IP 消 息的能力。 0062 注册过在线通信会话后, 客户设备 110 可以发起和 / 或接受对在线通信会话的邀 请。 在在线通信会话中通过在线通信会话端点标识符来识别客户设备110。 虽然在一个实施 例中在线通信会话端点标识符是客户设备 110 的电话号码, 但是在其他实施例中在线通信 会话端点标识符是不同的标识符 (例如用户名 (例如 Apple ID) 、 电子邮件地址、 邮寄地址、 MAC 地址、 或其他标识符) 。 0063 SMS 网络 120 包括载体 SMSC (。
42、短消息服务中心) 125 和 SMS 转接设备 130 (例如 SMS 网关或 SMS 聚合器) 。载体 SMSC 125 是专用的计算载体并且接收和传送 SMS 消息。例如, 载 体 SMSC 125 传送从客户设备 110 发送到 SMS 转接设备 130 的 SMS 消息, 还传送从 SMS 转接 设备 130 发送到客户设备 110 的 SMS 消息。SMS 转接设备 130 使移动网络与 IP 网络分开。 0064 注册服务器 140 为在线通信会话注册诸如客户设备 110 的客户设备。为在线通信 会话注册客户设备包括使设备的识别标记与设备的电话号码 (或者其他在线通信会话端点 标识。
43、符) 相关。识别标记与在线通信会话端点标识符之间的关联被存储于在线通信会话注 册数据存储器 150 中。 0065 在客户设备 110 处事件发生 (例如客户设备接通电源、 在线通信会话应用 (例如 P2P 视频会议应用、 P2P 即时消息应用等) 启动等) 后, 客户设备 110 开始用于在线通信会话 的注册过程。在一个实施例中注册过程自动开始 (无用户交互) , 而在其他实施例中注册过 程在用户选择为在线通信会话注册客户设备之后开始。 0066 在客户设备 110 的电话号码被用作在线通信会话端点标识符, 并因此在注册数据 存储器150中与客户设备110的识别标记115相关的实施例中, 客。
44、户设备110的电话号码必 须被确定。由于客户设备 110 原本不知道它自己的电话号码, 因此在一些实施例中, 客户设 备110的电话号码通过客户设备110传输SMS消息来确定。 例如, 在操作1处, 客户设备110 将带有其识别标记 115 和设备标识符 117 的 SMS 消息通过载体 SMSC 125 传输给 SMS 转接 设备 130。在一些实施例中, SMS 消息用电话号码寻址, 这个电话号码可以是标准长度号码 或者短代码 (一种通常显著短于完整电话号码的电话号码类型) , 这个电话号码为在线通信 会话注册而专门建立。 SMS被寻址的电话号码被存储在客户设备中 (例如在载体束 (car。
45、rier bundle) 中) 。 0067 载体 SMSC 125 接收 SMS 消息并将它传送给 SMS 转接设备 130。在操作 2 处, SMS 转接设备 130 确定客户设备的电话号码。例如, SMS 转接设备 130 检查 SMS 消息的报头以 确定客户设备 110 的电话号码。在确定电话号码后, SMS 转接设备 130 将带有客户设备 110 的电话号码、 识别标记 115 和设备标识符 117 的 IP 消息传输给注册服务器 140。有时将这 称为注册请求消息。 0068 注册服务器 140 接收来自 SMS 转接设备的包括客户设备 110 的电话号码、 识别标 记 115 。
46、和设备标识符 117 的 IP 消息, 并产生签名。签名可以是基于客户设备 110 的电话号 码、 识别标记 115 和 / 或设备标识符 117, 并用于验证目的 (本文后面将更详细介绍此事) 。 在一些实施例中, 当产生签名以说明多个客户设备具有相同电话号码之处的情形时还使用 随机数。在操作 5 处, 注册服务器 140 将签名、 电话号码、 设备标识符和标记传输回到 SMS 转接设备 130(例如在 IP 消息中) 。有时将这称为注册响应消息。 说 明 书 CN 102859962 A 10 7/35 页 11 0069 SMS转接设备130从注册服务器140接收签名、 电话号码、 设备。
47、标识符和标记, 并且 产生用于客户设备 110 的带有签名和电话号码的 SMS 消息。在操作 6 处, SMS 转接设备 130 将带有签名和电话号码的 SMS 消息 (通过载体 SMSC 125) 传输给客户设备 110。 0070 客户设备 110 接收和处理包括存储它的电话号码的 SMS 消息。在操作 7 处, 客户 设备 110 将带有它的识别标记 115、 设备标识符 117、 它的电话号码和由注册服务器产生的 签名的 IP 消息传输给注册服务器 140。有时将这称为注册验证请求消息。 0071 注册服务器 140 使用签名来验证通过客户设备 110 发送的数据。例如, 注册服务 器。
48、 140 对通过客户设备 110 发送的签名与在操作 4 期间产生的签名进行比较。如果它们匹 配, 则数据得到验证。假定数据是有效的, 则注册服务器 140 将识别标记 115 与客户设备 110 的电话号码之间的关联存储于在线通信会话注册数据存储器 150 中。 0072 在可选实施例中, 设备的用户被提示输入客户设备 110 的电话号码, 而非通过传 输的 SMS 消息确定客户设备 110 的电话号码。在这些实施例中, 客户设备 110 将其电话号 码 (正如通过用户输入的那样) 及它的识别标记 115 直接传输给注册服务器 140, 注册服务 器 140 可以在在线通信会话注册数据存储器。
49、 150 中使它们相关。 0073 图5示出根据一个实施例的示例性注册数据存储器150。 如图5所示, 每个在线通 信会话标识符记录510都包括识别标记域520和电话号码域525。 在一些情形下, 一个电话 号码与多个识别标记相关是可能的。例如, 不同的客户设备可以具有相同的电话号码。在 这些情况下, 这些不同的客户设备会具有不同的识别标记。 因此, 当为与多个识别标记相关 的电话号码发送在线通信会话邀请时, 与识别标记相关的每个设备都将被传输邀请。 0074 图 2 详细示出根据一个实施例的客户设备 110 的框图。将参考图 4 的示例性实施 例描述图 2, 图 4 示出用于为在线通信会话注册客户设备的示例性操作的流程图。然而, 应 该理解的是, 图4的操作能够通过不同于参考图2讨论的那些实施例的实施例执行, 并且参 考图 2 讨论的实施例能够执行不同于参考图 4 讨论的那些操作的操作。 0075 如图 2 所示, 客户设备 110 包括客户在线通信会话注册模块 ( 。