用于增强数字内容的系统和方法 【技术领域】
本发明总的涉及数字内容传送和计算机化聊天系统和方法。背景技术 计算机化聊天服务 ( 在此称为 “聊天服务” ) 通过计算装置在多个用户之间提供实 时或者基本上实时的通信。聊天服务通常为例如可能的代理商、 经纪人、 购买者和 / 或销售 者的各方提供了相对匿名、 非胁迫的方式进行通信。在此所使用的 “聊天” 应用通常指具体 地嵌入在计算装置 - 可读介质 ( 例如存储器 ) 上的计算装置可执行代码, 其通过计算装置 在多个用户之间提供实时或者基本上实时的通信 ( 即聊天服务 )。 一旦已经开始聊天, 通常 聊天用户就可以通过将文本输入他们的计算装置中 ( 例如通过在键盘上键入 ) 来将文本传 输到另一个正在通信的聊天用户。 所输入的文本通常会出现在另一个聊天用户的计算装置 显示器上。
虽然本发明不限于电子商务渠道, 但是相信, 可以使用聊天服务来提高通过电子 商务渠道 ( 例如网站 ) 的销售。事实上, 一些方面已经显示 : 如果通过产品网页来提供聊天 服务, 则网站上的销售可以增长 500%。因此相信, 聊天服务可以填补在线销售的必要的空 白, 允许购买者基本上匿名地与例如可能的代理商、 经纪人或销售者通信, 而不会担心销售 压力。
此外, 用于具有较为有限的计算和 / 或金融资源的非专业人士和 / 或销售者的电 子商务渠道正在扩张。例如, 诸如通过 www.ebay.com 以及 www.craigslist.com 在商业上 可获得的那些分类广告的在线分类广告总体上在销售者和可能的购买者之间能够得到更 多的认同和使用。其他正在扩张的电子商务市场例如可包括汽车和房地产市场、 以及例如 提供保险服务的服务提供商市场。
由于电子商务渠道的性质 ( 例如 24/7/365 可用性 ), 提供与电子商务渠道一起使 用的传统聊天服务通常需要一个或多个销售人员通过与个人计算机交互来连续地监控聊 天请求。具有相对有限的计算和 / 或金融资源的非专业人士和 / 或销售者通常不能够 / 不 愿意提供这样的覆盖范围。此外, 传统的聊天服务通常需要将聊天应用代码 ( 例如与聊天 应用对应的 JAVA 代码 ) 插入网页中。在由第三方操作的、 不允许插入聊天应用代码的列表 网页的情况下, 传统的聊天应用可能不适于使用。 因此, 传统的聊天服务可能相对地不适于 某些使用。
发明内容
在本发明的某些实施例中, 提供一种计算机程序产品, 其被具体地实现在计算机 可读介质中并且包括用于增强包括多个广告的电子文档的计算机可执行代码, 该计算机程 序产品计算机可执行代码包括 : 用于响应于用户与所述电子文档的交互来接收与关联于给 定广告的标识符相对应的请求的代码 ; 以及用于不管电子文档是否允许聊天应用代码嵌入 其中、 都响应于所述接收启动对应于所述广告的无客户端聊天应用的代码。在本发明的某些实施例中, 提供一种计算机程序产品, 其被具体地实现在计算机 可读介质中并且包括用于增强电子文档的计算机可执行代码, 该电子文档包括至少一个链 接并且响应于通过网络接收到的、 对应于该电子文档的请求而通过网络被提供。
计算机程序产品计算机可执行代码可包括用于通过网络接收对应于电子文档中 所包括的至少一个链接的激活的聊天请求的代码。
计算机程序产品计算机可执行代码可包括用于响应于所接收到的聊天请求自动 识别标识符的代码。
计算机程序产品计算机可执行代码可包括用于自动识别与所识别的标识符相关 联的至少一个偏好的代码。
计算机程序产品计算机可执行代码可包括用于以第一模式自动发送包括移动聊 天链接 ( 其指示接收到的聊天请求 ) 的 SMS 消息的代码, 其中第一模式对应于指示 SMS 消 息传输偏好的至少一个识别出的偏好。
计算机程序产品计算机可执行代码可包括用于以第二模式自动发送包括个人计 算机聊天链接 ( 其指示接收到的聊天请求 ) 的 e-mail 消息的代码, 其中第二模式对应于指 示 e-mail 消息传输偏好的至少一个识别出的偏好。 计算机程序产品计算机可执行代码可包括用于以第三模式自动发送 SMS 消息和 e-mail 消息的代码, 其中 SMS 消息包括移动聊天链接, e-mail 消息包括个人计算机聊天链 接, 移动聊天链接和个人计算机聊天链接的每一个指示所接收到的聊天请求, 其中第三模 式对应于指示 SMS 和 e-mail 消息传输偏好的至少一个识别出的偏好。
计算机程序产品计算机可执行代码可包括用于响应于通过网络接收对应于移动 模式链接的激活的请求、 而选择性地自动使与所接收的聊天请求对应的聊天应用的移动模 式被实例化的代码。
计算机程序产品计算机可执行代码可包括用于响应于通过网络接收对应于个人 计算机模式链接的激活的请求、 而选择性地自动使与所接收的聊天请求对应的聊天应用的 个人计算机式被实例化的代码。
聊天应用的移动模式的实例化可以适用于移动装置, 并且与适用于个人计算机 的、 聊天应用的个人计算机模式的实例化相比, 其计算资源密集度低。
电子文档可包括多个内容部分, 并且链接可对应于至少一个内容部分。
计算机程序产品还包括用于响应于对于电子文档的对应的请求或电子文档的提 供来识别与所述电子文档的至少一个内容部分相关联的标识符的代码。
所述计算机程序产品还可以包括用于与电子文档同时地提供识别出的标识符的 代码, 其中, 所提供的标识符形成至少一个链接的至少一部分。
可以与电子文档一起显示实例化的聊天应用, 使得所述聊天应用可视地与所提供 的电子文档的至少一个内容部分对应。
计算机程序产品可以进一步包括用于响应于接收到与移动聊天模式或个人计算 机模式链接的激活对应的请求来使得所提供的电子文档被加框 (frame) 的代码。
可以在第一窗口中显示电子文档, 并且, 可以在第二窗口中将聊天应用实例化。 可 以在实例化所述聊天应用的同一窗口中显示电子文档。
计算机程序产品还可包括用于与所述电子文档无关地选择性地更新该实例化的
聊天应用的代码。
所述聊天请求可以包括统一资源定位符, 该统一资源定位符具有附加于它的标识 符。
本发明的某些实施例可以不要求向网站内插入或并入代码或小应用程序以提供 聊天功能。有益的是, 例如, 可以仅需要插入链接。这可以很好地适用于其中不可以插入传 统聊天代码或小应用程序的网站。
在本发明的某些实施例中, 可以提供计算机程序产品, 其计算机程序产品被具体 地实现在计算机可读介质中, 并且包括用于增强电子文档的计算机可执行代码, 电子文档 包括至少一个广告部分和至少一个其他广告或内容部分。 响应于经由网络从用户的计算装 置接收并且对应于电子文档的请求, 当基本上与电子文档同时地经由所述网络提供所述至 少一个广告部分时, 该至少一个广告部分可以被自动地选择以动态地包含到至少一个电子 文档中。
计算机程序产品计算机可执行代码可以包括用于响应于对于电子文档的对应的 请求或所述电子文档的提供来识别与电子文档的所述至少一个广告部分相关联的标识符 的代码。
计算机程序产品计算机可执行代码可以包括用于与电子文档同时地并且与广告 部分分离地提供识别出的标识符的代码, 其中, 当显示所提供的电子文档时, 所提供的标识 符形成被包含到电子文档的链接的至少一部分。
计算机程序产品计算机可执行代码可以包括用于响应于和依赖于经由所述网络 接收到对应于包含所述电子文档的链接的第二请求使得聊天服务被实例化的代码。
经由所述用户的计算装置来显示实例化的聊天应用, 而不由用户的计算装置执行 客户端聊天应用。
可以与电子文档一起显示所述实例化的聊天应用, 使得所述聊天应用仅叠加在基 本上所提供的电子文档的所述至少一个广告部分。
所述计算机程序产品计算机可执行代码可以包括用于响应于接收第二请求来使 得所提供的电子文档被加框的代码。
可以在第一窗口中显示电子文档, 并且, 可以在第二窗口中将聊天应用实例化。
可以在其中实例化聊天应用的同一窗口中显示电子文档。
计算机程序产品计算机可执行代码可以包括用于与电子文档无关地选择性地更 新聊天应用的代码。
计算机程序产品计算机可执行代码可以包括用于与电子文档的至少一个其他内 容部分无关地更新与电子文档的至少一个内容部分相关联的标识符。
第二请求可以包括统一资源定位符, 该统一资源定位符具有附加于它的标识符。 所述标识符包括 GUID。
链接和第二请求可以包括向统一资源定位符附加的相同的字母、 数字或字母数字 串。
可以与电子文档分离地显示所述实例化的聊天应用。
计算机程序产品计算机可执行代码可以包括用于响应于并且依赖于经由网络接 收到对应于包含所提供的电子文档的链接的第二请求来发送第二链接的代码。计算机程序产品计算机可执行代码可以包括用于响应于并且依赖于经由网络接 收到对应于包含所提供的电子文档的链接的第二请求来发送多个第二链接的代码。
第二链接的每一个可以对应于具有相关联的处理能力的不同类型的计算装置。
依赖于第二请求实例化的聊天服务的类型可以对应于被激活的那个第二链接。 附图说明 考虑下面结合所附附图对本发明优选实施例的详细描述, 有助于理解本发明, 在 附图中, 相同的标记指的是相同的部件, 其中 :
图 1A 例示了根据本发明实施例的过程的框图表示 ;
图 1B 例示了根据本发明实施例的过程的框图表示 ;
图 2 例示了根据本发明实施例的链接格式 ;
图 3A 例示了根据本发明实施例的过程的框图表示 ;
图 3B 例示了根据本发明实施例的过程的框图表示 ;
图 4A 例示了根据本发明实施例的电子文档 ;
图 4B 例示了根据本发明实施例的叠加链接和内容 ;
图 4C 例示了根据本发明实施例的电子文档 ; 图 4D 例示了根据本发明实施例的叠加链接和内容 ; 图 5 例示了根据本发明实施例的过程的框图表示 ; 图 6A 例示了根据本发明实施例的过程的框图表示 ; 图 6B 例示了根据本发明实施例的过程的框图表示 ; 图 6C 例示了根据本发明实施例的过程的框图表示 ; 图 7 例示了根据本发明实施例的过程的框图表示 ; 图 8A 例示了根据本发明实施例的电子文档和聊天实例化 ; 图 8B 例示了根据本发明实施例的电子文档和聊天实例化 ; 图 8C 例示了根据本发明实施例的叠加链接和内容与聊天实例化 ; 图 8D 例示了根据本发明实施例的电子文档和聊天实例化 ; 图 9 例示了根据本发明实施例的过程的框图表示 ; 图 10A 例示了根据本发明实施例的过程的框图表示 ; 图 10B 例示了根据本发明实施例的过程的框图表示 ; 图 11 例示了根据本发明实施例的系统的框图表示 ; 图 12 例示了根据本发明实施例的包含聊天链接的电子文档 ; 图 13 例示了根据本发明实施例的可以用于监控以实现聊天请求的电子文档 ; 图 14 例示了根据本发明实施例的包含聊天链接和聊天应用的电子文档 ; 图 15 例示了根据本发明实施例的包含聊天链接和聊天应用的电子文档 ; 图 16 例示了根据本发明实施例的可以用于监控以实现聊天请求的电子文档 ; 图 17 至图 21G 例示了本发明的非限制性实施例 ; 图 22 例示了根据本发明实施例的过程的框图视图。具体实施方式应该理解本发明的附图和说明已经被简化, 以例示用于理解本发明的相关的元 件, 同时为了清楚, 省略了通常的计算、 网络和聊天应用、 系统和方法中已有的许多其它元 件。 由于这些元件是本领域公知的, 并且其并不能帮助更好地理解本发明, 因此此处不对这 种元件进行描述。
现在参见图 1A, 其示出了根据本发明实施例的过程 10 的框图表示。过程 10 通常 包括在方框 12 注册用户或客户以及在方框 14 使一个或多个聊天服务链接与所注册的客户 相关联。这种客户或用户在此被称为 “链接注册者” 或 “注册者” , 本发明不限于这种说明。 在方框 12 处的处理可以采用用户注册处理的形式, 该用户注册处理通常由例如与因特网 网站相关的计算装置的用户使用。在方框 14 处的处理可包括例如将与注册者相关的信息 项存储在一个或多个数据库中。
通过非限制性说明, 此处使用的 “计算装置” 是指包括处理器的通用的计算装置, 处理器通常包括中央处理单元 (CPU), 例如微处理器。CPU 通常包括算术逻辑单元 (ALU) 和 控制单元, 其中该算术逻辑单元执行算术和逻辑运算, 该控制单元从计算机可读介质 ( 例 如存储器 ) 提取指令 ( 例如代码 ) 并且解码和执行这些指令, 必要时调用 ALU。这里所使 用的 “存储器” 通常指能够例如以芯片或驱动器的形式存储数据的一个或多个装置或介质。 例如, 存储器可以采用一个或多个随机存取存储器 (RAM)、 只读存储器 (ROM)、 可编程只读 存储器 (PROM)、 可擦除可编程只读存储器 (EEPROM) 芯片或电子可擦除可编程只读存储器 (EEPROM) 芯片的形式, 本发明不限于此。存储器可以位于包括处理器的集成单元的内部或 外部。存储器可以采用基于磁或光学技术的存储介质的形式。存储器可以位于计算装置 的内部或外部。存储器可以存储计算机程序, 例如处理器可操作的代码或指令序列。在本 发明的某些实施例中, 所提供的一个或多个元素可以采用例如以存储在存储器中的计算机 装置可执行程序或应用的形式、 使用一个或多个计算装置执行的代码的形式。有具有不同 的处理和存储能力的各种类型的计算装置, 例如个人计算机 ( 如市场上可以买到的 Dell 和 Apple 公司的计算机 )、 个人数字助理和智能电话 ( 如市场上可以买到的 Apple 公司和 Research in Motion 公司的智能电话 ), 本发明不限于此。
此处所使用的 “网站” 通常是指通过计算机网络可获得的一个或多个电子文档 ( 例如网页 ) 的集合, 该计算机网络例如计算机的全球互联和通常被称为因特网的计算机 网络。通过非限制性实例, 可以以万维网上的给定地址 ( 即 “www.URL.TLD” ) 访问网站, 该 网站包括主页, 主页一般是访问者进入网站首先看到的网页。网站还包含另外的网页。网 页可以是固定的和 / 或响应于网站访问者网页请求而动态生成的。仅通过进一步的非限制 性实施例, 万维网是支持 HTML( 超文本标记语言 ) 的因特网服务器的系统, 从而使网站访问 者仅通过在对其他网页的引用上进行点击就能够从一个网页跳转到另一个网页, 对其他网 页的引用例如是热点和热链接 ( 这里被称为 “链接” )。例如微软的 Internet Explorer 以 及谷歌的 Chrome 的网络浏览应用是用于访问万维网上网站的可用应用。可以使用其他的 计算机网络类型和 / 或协议和 / 或标记语言和 / 或应用。网页一般由服务器提供。
这里所使用的 “服务器” 通常可通信地与网络耦接并管理网络资源。服务器可以 指分立的计算装置, 或者可以指管理资源的应用而非整个计算装置。这里所使用的 “网络” 通常指由彼此可通信地连接的两个或多个计算装置构成的群。这里所使用的 “因特网” 通 常指计算装置的全球互联以及如此通称的计算装置网络。参见图 1B, 示出了根据本发明实施例的过程 20 的框图表示。 根据本发明的某些实 施例, 过程 20 适用于在方框 12 对注册者进行注册。过程 20 可以与数据库结合使用, 例如 参考图 1A 描述的数据库。
过程 20 通常包括在方框 21 存储注册者的联系信息。在方框 21 存储的信息可包 括姓名、 地址、 e-mail 地址、 电话号码和 / 或业务类型, 但是本发明不限于此。
过程 20 通常包括在方框 23 存储注册者的偏好信息。在图 1B 例示的实施例中, 在 方框 23 存储的偏好信息反映了注册者关于短消息传输服务 (SMS) 消息的偏好和联系信息。 在方框 23 存储的信息可包括对注册者是否希望接收注册者的 SMS 联系信息和聊天请求的 SMS 通知的指示, 但是本发明不限于此。 这种 SMS 联系信息可以通过向输入的 SMS 联系地址 发送 SMS 消息并请求注册者返回和 / 或回复该消息来进行验证。
过程 20 通常包括在方框 25 存储注册者的偏好消息。在图 1B 例示的实施例中, 在 方框 25 存储的偏好信息反映了注册者关于 e-mail 消息传输的偏好和联系信息。 在方框 25 存储的信息可包括对用户是否希望接收注册者的 e-mail 联系信息和聊天请求的 e-mail 通 知的指示, 但是本发明不限于此。这种 e-mail 联系信息可以通过向输入的 e-mail 联系地 址发送 e-mail 消息并请求注册者返回和 / 或回复该消息来进行验证。 过程 20 通常包括在方框 27 存储注册者信息。在图 1B 例示的实施例中, 在方框 27 存储的信息反映了注册者的账单信息。存储在方框 27 中的信息可包括信用卡或其他支付 信息, 但本发明不限于此。
过程 20 通常包括在方框 29 存储注册者信息。在图 1B 例示的实施例中, 在方框 29 存储的信息可以反映例如企业、 产品或其它注册者信息。
在本发明的某些实施例中, 通过过程 20 存储的信息可以被存储在例如一个或多 个数据库中。除了这里所讨论的这些类型之外或者替代这些类型, 还可以存储其它类型的 信息。
现在参考图 2A, 其示出了根据本发明实施例的链接形式。根据本发明的某些实 施例, 所采用的链接形式可以采取统一资源定位符 (URL) 链接的形式。所采用的链接可 以包括基链接部分 (base link portion)。示例性的基链接部分可以采用 HTTP://[URL. TLD]/[IDENTIFIER] 或者 HTTP://CHAT.[URL.TLD]/[IDENTIFIER] 的形式, 但本发明不限于 此, 其中 URL.LTD 采用传统的因特网统一资源定位符和顶级域名的形式, IDENTIFIER 采用 任一适用协议支持的标识的形式, 例如字母的、 字母数字的、 符号的或数字的标识符, 其例 如与链接注册者相关。示例性的 URL.LTD 可以采用例如 LIVECHIME.COME 的形式。示例性 的 IDENTIFIER 可以采用例如 ABC123 的形式。示例性的基链接部分可以采用例如 HTTP:// LIVECHIME.COM/ABC123 或者 HTTP://CHAT.LIVECHIME.COM/ABC123 的形式。这种基链接部 分可以独立地用作链接或者可以被补充一个或多个扩展部分。
仍参考图 2A, 所采用的链接形式还可以包括一个或多个扩展部分。在图 2A 所例 示的情况下, 所采用的扩展部分可包括一个或多个附加的标识符, 例如用户或公司标识符、 合作伙伴标识符和 / 或活动标识符。所采用的其它扩展例如可反映其它信息, 例如跟踪 信息和 / 或注册者引用。在本发明的某些实示例中, 可以对基链接部分连续添加一个或多 个扩展部分。所采用的链接的形式为 http://livechime.com/ABC123/IDENTIFIER1 或者 http://livechime.com/ABC123/IDENTIFIER1/IDENTIFIER2, 本发明不限于此。
仍参考图 1A 和图 2A, 在本发明的某些实施例中, 可以在方框 14( 图 1) 将链接与注 册者相关联, 例如通过将链接或链接的部分存储在一个或多个数据库中以与相应的注册者 相关联。
在本发明的某些实施例中, 可以将与注册者相关联的链接提供给可能的聊天请求 者或者其它非限制性目的的请求者使用。例如, 链接可以包含在网页或者 e-mail 中。在本 发明的某些实施例中, 与注册者相关的链接可以包含在电子分类广告中, 例如类似于 eBay 或者 Cragslists 列表的广告。此外或者替代地, 与注册者相关的链接还可以与传送到例如 网页查看者的内容相关联。在本发明的某些实施例中, 与注册者相关的链接可以与网页的 特定部分相关联, 该特定部分例如拍卖或电子分类页上的单独的列表, 这和与整个网页相 关联的情况不同。
现在参考图 2B, 其示出了根据本发明实施例的电子文档 40。在本发明的某些实施 例中, 文档 40 可采用网页的形式。文档 40 可以是静态和 / 或动态生成的。在本发明的某 些实施例中, 文档 40 可以包括一个或多个网络框或窗口。在本发明的某些实施例中, 文档 40 可以位于一个或多个网络框或窗口中。 在所例示的实施例中, 文档 40 包括内容 41A、 41B、 41C 和链接 42A、 42B 和 42C。在本发明的某些实施例中, 链接 42A、 42B 和 42C 可以对应于图 2A 中所讨论的链接。
现在参考图 3A, 其示出了根据本发明实施例的过程 30 的框图表示。 在本发明的某 些实施例中, 在方框 31, 例如可以将链接与电子文档相关联, 该电子文档例如是网页或网页 中所包含的内容, 如图形组件、 文本组件和 / 或视频组件。 例如, 在方框 31, 例如通过使标识 符在数据库中相关联, 可以使某些内容的标识符与链接相关联 ( 例如图 2)。
在方框 32, 例如通过接收到的链接请求检测对于电子文档以及由此对于内容的请 求。请求例如采用网页请求的形式。可替换地, 请求可以对应于包含在网页中的内容项或 组件。这种网页可以例如采用网页广告的形式。这种组件可以采用包含在网页中的广告组 件的形式。
在方框 33, 例如在方框 32 接收请求的服务器可以提供所请求的文档以及由此提 供内容, 例如电子文档或者电子文档的部分, 如网页或网页的组件。在方框 34, 可以例如在 数据库中记录请求。
在方框 35, 可以确定有效链接是否与在方框 32 检测到的请求相关联 ( 例如在方 框 31 相关联 )。在本发明的某些实施例中, 在方框 35 处的处理可包括将在方框 32 接收到 的请求和在方框 31 与链接相关联的内容相比较。如果这一比较结果指示所请求的内容没 有与链接相关联, 则可以在方框 36 提供消息。在本发明的某些实施例中, 这种消息可以指 示没有有效链接与所请求的内容相关联。 如果这一比较结果指示所请求的内容与链接相关 联, 则在方框 37 可以恢复相关联的链接并向与在方框 33 提供相关联的内容的同一实体或 地址提供该链接。
在本发明的某些实施例中, 在方框 38, 可能的聊天请求者的计算装置接收到在方 框 33 提供的内容。在本发明的某些实施例中, 请求者计算装置可能已经发起了在方框 32 接收到的请求。在本发明的某些实施例中, 在方框 38, 请求者计算装置接收到在方框 37 提 供的链接。在本发明的某些实施例中, 请求者计算装置可能已经发起了在方框 32 接收到的 请求。在本发明的某些实施例中, 请求者计算装置接收到在方框 36 提供的消息。在本发明的某些实施例中, 请求者计算装置可能已经发起了在方框 32 接收到的请求。在本发明的某 些实施例中, 请求者计算装置在方框 38 接收到的内容和链接可以因此被程序在例如网络 浏览器应用中。在方框 39, 例如在网络浏览器应用中, 可以以叠加方式呈现在方框 38 接收 到的内容和链接。
现在参考图 3B, 其示出了根据本发明实施例的过程 30’ 的框图表示。在本发明的 某些实施例中, 在方框 31’ , 例如可以将链接与电子文档相关联, 电子文档例如是网页或者 包含在网页中的内容, 如图形组件、 文本组件和 / 或视频组件。 在方框 31’ , 例如通过使标识 符在数据库中相关联, 可以使某些内容的标识符与链接相关联 ( 例如图 2)。
在方框 32’ , 例如通过接收到的链接请求检测对于电子文档以及由此对于内容的 请求。请求例如采用网页请求的形式。可替换地, 请求可以对应于包含在网页中的内容项 或组件。这种网页可以例如采用网页广告的形式。这种成分可以采用包含在网页中的广告 组件的形式。
在方框 33’ , 例如在方框 32 接收请求的服务器可以提供所请求的文档以及由此提 供内容, 例如电子文档或者电子文档的部分, 如网页或网页的组件。在方框 33’ 的处理可以 包括提供所请求的内容 ( 例如图像文件 ) 和相关链接 ( 例如 URL)。在方框 38 和 39 的处理 与参考图 3A 描述的处理相似。 现在参考图 4A, 其示出了根据本发明实施例的电子文档 40。在本发明的某些实施 例中, 文档 40 可采用网页的形式。在本发明的某些实施例中, 文档 40 可以包括一个或多个 网络框或窗口。在本发明的某些实施例中, 文档 40 可以位于一个或多个网络框或窗口中。 在所例示的实施例中, 文档 40 包括内容 41。文档 40 可以是静态和 / 或动态生成的。在所 例示的实施例中, 文档 40 还包括链接 42。在所例示的实施例中, 链接 42 仅与内容 41 的元 素大体叠加 ( 例如, 空间上重叠 )。现在参见图 4B, 其示出了图 4A 中显示的内容元素 41 和 链接 42 的叠加的非限制性实施例。虽然图 4A 和图 4B 的实施例例示的链接 42 和内容元素 41 具有至少大体一致的大小和形状, 但是也可以彼此不同。 在本发明的某些实施例中, 内容 41 和链接 42 可以采用通过锚标签 ( 例如 标签 ) 包裹的嵌入式图像 ( 例如 标签 项 ) 的形式。
现在参考图 4C, 其示出了根据本发明实施例的电子文档 40。在本发明的某些实施 例中, 文档 40 可采用网页的形式。在本发明的某些实施例中, 文档 40 可以包括一个或多个 网络框架或窗口。在本发明的某些实施例中, 文档 40 可以位于一个或多个网络框架或窗口 中。在所例示的实施例中, 文档 40 包括内容 41。文档 40 可以是静态和 / 或动态生成的。 在所例示的实施例中, 文档 40 还包括链接 42。在所例示的实施例中, 链接 42 仅与内容 41 的元素的部分大体叠加 ( 例如, 空间上包含在内容 41 的元素中 )。现在参见图 4D, 其示出 了图 4C 中显示的内容元素 41 和链接 42 叠加的非限制性实施例。图 4C 和图 4D 的实施例 例示的链接 42 和内容元素 41 彼此具有不同大小和形状。此外, 也可以使用锚标签进行标 记。
在本发明的某些实施例中, 在注册者的计算装置实现的链接激活可以选择性地触 发对与注册者 ( 该注册者与激活的链接相关联 ) 的聊天初始化。例如可以通过请求者选择 链接、 在链接上滚动指针或者启动、 载入或显示包括链接的电子文档来激活该链接。
如本领域技术人员可以理解地, 电子文档的一个或多个组件 ( 例如内容 41) 可以
对应于电子文档 “不动产” 。 例如, 当请求电子文档时, 可以从给定的存储位置将例如作为内 容 41 放置在不动产中的图像抽出。此外, 可以类似地抽出与内容相关的链接, 例如 42。替 代地, 电子文档本身可以包括将这种图像文件和 / 或链接 ( 例如 URL) 抽出的代码。
现在参见图 5, 其示出了根据本发明实施例的过程 50 的框图表示。在例示的实施 例中, 过程 50 包括在方框 51 检测链接激活。在方框 51 的处理包括检测请求者对网络浏览 或其它计算装置应用内的链接的激活, 例如结合图 2A 讨论的链接。在方框 51 的处理可包 括检测请求者对浏览或其它计算装置应用内的链接的激活, 例如在方框 37 提供的链接 ( 图 3)。在方框 51 的处理可包括检测请求者对浏览或其它计算装置应用内链接的激活, 例如结 合图 4A- 图 4D 讨论的链接 42。在方框 52, 响应于在方框 51 检测到链接激活, 可以通过请 求者计算装置发送这种电子文档 ( 例如网页或其它页面 ) 或内容请求。
仍参考图 5, 在方框 53 接收到与链接对应的请求。 在方框 53 接收到的请求可以对 应于在方框 52 发送的请求。在方框 54, 确定有效注册者是否与在方框 53 接收到的请求相 关联。在方框 54 的处理可包括解析在方框 53 接收到的请求。在方框 54 的处理可包括将 在方框 53 接收到的请求的部分与对应于注册者的信息进行比较, 对应于注册者的信息例 如是使用过程 20 输入或存储的一条或多条信息 ( 图 1B)。在方框 54 的处理可包括确定被 激活的链接是处于活动或非活动状态。 活动链接可以与应该被允许成长为聊天会话的聊天 请求相关联, 而非活动链接可以与应被否认或拒绝的聊天请求相关联。可以将数据标记存 储在一个或多个数据库中以指示被激活的链接是活动的还是不活动的。在方框 56, 例如可 以将链接请求和比较结果记录到例如数据库中。 在本发明的某些实施例中, 聊天请求记录可以指示接收到的和记录的聊天请求所 源自的引用网页或网站。 这一特征可使注册者能够跟踪或审核如何执行不同的链接以及相 关的广告。例如地产经纪可能将列表放在三个不同的网站上。对应于该列表的同一聊天链 接可以用于所有这三个列表。 记录的聊天请求可以提供这样的一个地产经纪以例如通过比 较从每个网页发出了多少聊天请求来使这样的地产经纪容易地确定不同的列表相对于彼 此的执行情况。在此情况下, 例如与传统上可能的情况相比, 更容易获取跨网站广告的性 能。
通过进一步的非限制性实例, 表 -1 中例示了根据本发明实施例的可以在交互电 子文档 ( 例如网页 ) 中提供的聊天请求记录。所示的表 -1 的每一行表示特定的聊天请求 并与其相关。每一行包括指示聊天是否已被答复或未答复 (miss)/ 拒绝的指示符 ; 请求的 日期和时间、 请求的主题以及聊天请求者的指示 ( 例如姓名和邮件地址 )。表 -1 中包括的 日期指示可以从数据库中得到并且响应于聊天请求而自动存储在数据库中, 例如可以自动 地查询该数据库以产生用于注册者的表 -1。
表 -1
通过进一步的非限制性实施例, 表 -2 中例示了根据本发明实施例的可以在交互 电子文档 ( 例如网页 ) 中提供的聊天请求记录。 表 -2 例示的每一行表示与注册者相关联的 不同链接 / 链接位置。每一行包括指示是否正在根据全局或定制偏好处理与链接相关联的 聊天请求的指示符 ; 指示当接收到与链接相关联的聊天请求时是否要采取动作的指示符 ; 何种类型的聊天请求通知与链接相关联 ; 指示链接正用在哪个 ( 些 ) 电子文档 ( 例如网站 ) 上使用或者正与哪个 ( 些 ) 电子文档 ( 例如网站 ) 一起使用 ; 链接注册者已选择的指示链 接的关键词 ; 以及与已经接收到的与链接相关联的聊天请求的数量, 例如点击数。表 -2 还 包括编辑和删除项目, 其可以分别用于改变偏好或其它链接设置或者删除链接。表 -2 中包 括的日期指示符可以从数据库中得到并且响应于聊天请求而自动存储在数据库中, 例如可 以自动地查询该数据库产生用于注册者的表 -2。
表 -2
在本发明的某些实施例中, 可以在表 -2 中提供指示公共链接并与其相关的多个 行。在这种情况下, 每个公共链接关联的行可以与不同的电子文档 ( 例如网站 ) 相关联, 其 引用所指示的点击数。再一次地, 该表 -2 中包括的日期指示可以从数据库中获得并且响 应于聊天请求而自动存储在数据库中, 例如可以自动地查询该数据库以产生用于注册者的 表 -2。
通过进一步的非限制性实施例, 表 -3 中例示了根据本发明实施例的可以在交互 电子文档 ( 例如网页 ) 中提供的聊天请求记录。表 -3 例示的每一行指示与注册者相关联 的不同链接 / 链接位置。每一行包括指示给定记录的日期和时间的指示符 ; 每条记录的提 议 (offer) 类型, 即, 例如正在使用什么消息、 格式和 / 或信息来产生对于聊天的请求 ; 每个 用户姓名 ; 每个用户的 email 地址 ; 与每个用户相关的订阅类型 ; 用于该给定记录的最后登 录的日期和时间 ; 与用于给定用户的给定提议相关联的聊天请求的数量 ; 以及由上述导致 的聊天的数量。表 3 还包括编辑和删除项目, 其分别可以用于改变偏好或其他链接设置或 删除链接。表 3 还包括允许添加新的记录、 刷新记录的选项和允许深入到在每个行项目内 的某些记录中所包含的信息内的特征。例如, 在 “日期” 、 “提议” 和其他项目下方的行中有 按钮, 诸如在 “提议” 列中的按钮 (“_” , 其中, 可以插入搜索项 ; 以及, “ ” 按钮, 当其被激活 时实例化另外的信息屏幕 ), 其允许管理员和 / 或注册者回顾指定的提议 “x” 、 其内容、 格式 和 / 或期望被跟踪和 / 或审核的其他信息。注册者、 用户和 / 或管理员因此能够容易地确 定哪些 “提议” 执行地最好。表 -3 中包括的日期指示可以从数据库中得到并且响应于聊天 请求而自动存储在数据库中, 例如可以自动地查询该数据库产生用于注册者的表 -3。
表3
在本发明的某些实施例中, 可以在表 3 中提供用于指示公共链接并与其相关联的 多个行。在这种情况下, 每个公共链接关联行可以与不同的电子文档 ( 例如网站 ) 相关联, 其引用所指示的点击数。再一次地, 该表 -3 中包括的日期指示可以从数据库中获得并且响 应于聊天请求而自动存储在数据库中, 例如可以自动地查询该数据库以产生用于注册者的表 -3。 在本发明的某些实施例中, 某些列表可能过期。 例如, 在电子分类广告网站上的广 告列表可能在给定的时间之后 ( 例如是在列出后 30、 60 或 90 天 ) 自动过期。可以对于本 发明的某些实施例补充自动重新列表特征。例如, 可以提供在服务器处操作并且使具有所 包括链接的广告的自动重新列出的代码, 以提供链接提供连续性。 在这种情况下, 也可以持 续地自动增强广告跟踪。
在本发明的某些实施例中, 与在此讨论的链接相关联使用的图像可以用于对图像 通过例如网络浏览器应用被载入的次数进行计数。 例如, 可以在每次请求图像文件时, 在服 务器处执行程序。在本发明的某些实施例中, 可以结合在表 1 和 2 中例示的信息来使用这 个信息, 以指示在产生实际的聊天请求时图像和链接如何有效, 这是因为已经提供给可能 的请求者的聊天机会的次数是已知的, 并且实际接收到的聊天请求的次数也是已知。这可 以进一步帮助注册者判断例如作为聊天请求源的不同网页的相对有效性。 在本发明的某些 实施例中, 可以附加表 2 以在每行中包括这样的指示, 其指示图像已经被请求的次数, 以及 因此指示所指示的聊天链接已经被提供给可能的请求者使用的次数。 在本发明的某些实施 例中, 可以附加表 2 以包括这样的指示, 其通过以下方式来指示参考源在产生高质量的线 索时的有效程度 : 例如考虑图像已经被请求的次数, 和因此所指示的聊天链接已经被提供 给可能的请求者使用的次数, 以及实际接收到聊天请求的数量。这样的图像可以采用例如 一个或多个像素的形式。
第一版本仅将图像布置在当前位置, 并且调整任何文本以与图像的底部对齐。第 二版本允许你指定你希望将文本放置在何处。对齐选项可以是 “顶部” 或 “中部” 。通过指 定用于图像的 URL, 可以指定可执行的程序。
仍然参见图 5, 如果在方框 54 的比较指示所请求的内容与注册者不相关联或无 效, 则可以在方框 55 提供消息。在本发明的某些实施例中, 这样的消息可以指示没有有效 的注册者在随后与所请求的链接相关联或者在此时聊天是不可能的。 如果这样的比较指示 所请求的链接与注册者相关联或是有效的, 则可以在方框 57 继续处理。
在方框 57, 可以确定相关联的注册者的聊天偏好。 在本发明的某些实施例中, 在方 框 57 的处理可以包括恢复利用过程 20( 图 1B) 输入或存储的一条或多条信息。例如, 在方 框 57 的处理可以包括恢复在方框 23、 25( 图 1B) 输入的 SMS 和 / 或 e-mail 偏好信息。这 种信息可以指示相关联的注册者是否希望接收用于指示与其相关联的链接已被激活的 SMS 消息。 这种信息可以指示相关联的注册者是否希望接收用于指示与其相关联的链接已被激 活的 e-mail 消息。
在方框 58, 例如通过下述方式可以实施在方框 57 确定的偏好 : 根据在方框 57 的 确定来选择性地发送用于指示所激活的链接的 SMS 和 / 或 e-mail 消息。在方框 59, 例如, 可以将在方框 58 的偏好实施记录在例如数据库中。
现在参见图 6A, 示出根据本发明实施例的过程 60 的框图表示。在本发明的某些 实施例中, 过程 60 很好地适合于用作过程 58( 图 5) 的至少一部分。过程 60 开始于在方框 61 确定与相关联的注册者或他的指定者或代理的聊天服务是否可用。在方框 61 的处理可 以包括确定相关联的注册者或代表相关联的注册者是否已经选择了 “现在不聊天” 或 “不聊 天” 偏好。例如, 在方框 61 的处理可以包括检查一个或多个恢复的、 使用过程 20( 图 1B) 输
入的与偏好相关的信息 ( 例如, 在方框 29)。如果在方框 61 的处理指示选择不聊天偏好, 则可以在方框 62 发送无聊天可用消息。例如, 在方框 62 发送的消息可以被发送到在方框 51( 图 5) 检测到链接激活的请求者计算装置。在方框 63, 这样的请求者计算装置可以接收 在方框 62 发送的消息。在方框 64, 所接收到的消息可以例如经由显示器被提供给请求者。
可替代地, 如果在方框 61 的处理指示可以发起聊天并且已经选择了偏好 ( 例如, 已经选择了非不聊天偏好 ), 则可以以例如过程 70( 图 6B) 来继续处理。
现在参见图 6B, 其示出根据本发明实施例的过程 70 的框图表示。 在本发明的某些 实施例中, 过程 70 很好地适合于用作过程 58( 图 5) 的至少一部分。过程 70 开始于在方框 71 确定相关联的注册者的偏好是否是请求另外的信息。在方框 71 的处理可包括确定相关 联的注册者或代表相关联的注册者是否已经选择了 “请求更多的请求者信息” 的偏好。例 如, 在方框 71 的处理可包括检查一个或多个恢复的、 使用过程 20( 图 1B) 输入的与偏好相 关的信息 ( 例如, 在方框 29)。 如果在方框 71 的处理指示不应当请求更多的信息, 则处理可 以继续到过程 80( 图 6C)。如果在方框 71 的处理指示应当请求更多的信息, 则可以在方框 72 发送信息请求消息。
在方框 72 发送的消息可以被发送到在方框 51 检测链接激活的请求者的计算装 置。在方框 73, 可以由这样的计算装置接收在方框 72 发送的消息。在方框 74, 可以例如经 由显示器向请求者提供在方框 73 接收到的消息。 然后在方框 75, 请求者可以输入所请求的 信息并将其发回方框 72 的请求的发起者。在方框 76 接收这样的消息。然后, 处理例如返 回到过程 60 或方框 71。 现在参见图 6C, 其示出根据本发明实施例的过程 80 的框图表示。 在本发明的某些 实施例中, 过程 80 很好地适于用作过程 58( 图 5) 的至少一部分。过程 80 开始于确定相关 联的注册者是否希望进入所请求的与请求者的聊天。在方框 81 的处理可包括确定相关联 的注册者或代表相关联的注册者是否已经选择了 “现在不聊天” 或 “离开计算机” 的偏好。 如果在方框 81 的处理指示没有聊天应当开始, 则处理可以返回到方框 62( 图 6A)。
如果在方框 81 的处理指示聊天应当开始, 则可以在方框 83、 84 发送聊天初始化消 息。在方框 85, 可以在相关联的注册者的计算装置处接收在方框 83 发送的消息。在方框 86, 可以在请求者的计算装置处接收在方框 84 发送的消息。在方框 87, 可以告知请求者正 在准备和 / 或建立聊天。
在方框 83 发送的消息可以通知 ( 如在方框 54 确定的 ) 相关联的注册者 : 正在请 求聊天并且根据该注册者的偏好来进行聊天。例如, 注册者可能已经在方框 23( 图 1B) 输 入了他们偏好的 SMS 通知。在此情况下, 可以使用所输入的 SMS 偏好信息来将 SMS 消息与 聊天链接一起发送。类似地, 注册者可能已经在方框 25( 图 1B) 输入了他们偏好的 e-mail 通知。在此情况下, 可以使用所输入的 e-mail 偏好信息来将 e-mail 消息与聊天链接一起 发送。
在本发明的某些实施例中, 聊天链接消息可以包括链接, 例如指向网站或调用 web 服务的 URL。 在本发明的某些实施例中, 聊天链接消息可包括大体上唯一的聊天或会话指示 符, 例如全局唯一标识符 (GUID)。可以有供系统使用的、 可获得的较大数量的 GUID, 例如在 128 2 数量级上, 本发明不限于此。 在本发明的某些实施例中, 可以使用空类型 (vanity type) 的标识符。
在本发明的某些实施例中, 聊天链接消息可以包括用于指示聊天应用、 服务或管 理网站的传统类型的 URL。这样的 URL 可以被附加唯一标识符, 如上所述。在激活聊天链接 消息 URL 时, 注册者可以登录到与聊天应用相关的安全网站。这样的安全网站可以包括由 系统时时自动更新的特征、 元素和 / 或内容。在本发明的某些实施例中, 这种特征、 元素和 / 或内容可以指示注册者是否正在等待聊天会话开始。
在本发明的某些实施例中, 可以有可在方框 83 发送并且在方框 85 接收的多种类 型的聊天链接。例如, 可以有与注册者的计算装置的不同计算能力或属性对应的不同类型 的聊天服务。 例如, 可以有第一种聊天链接, 其指示并且对应于被定制用于具有相当大的显 示能力的计算装置的聊天服务, 该计算装置例如是具有相当大的显示尺寸或分辨率以及资 源的计算装置, 诸如个人计算机。可以被发送和接收的另一种类型的聊天链接可以指示并 且对应于被定制用于具有较小显示能力的计算装置的聊天服务, 例如具有相对有限的显示 资源的计算装置, 如智能电话。该能力可以例如反映显示能力和可用的显示不动产的量。
仅以非限定性的进一步的解释的方式, 在本发明的某些实施例中, 聊天链接的一 个或多个可对应于设计为非常瘦的聊天应用, 使得其它所需的计算能力 ( 例如存储器、 处 理、 显示空间和 / 或浏览器应用能力 ) 都被最小化。 仅以非限定性的进一步的解释的方式, 在本发明的某些实施例中, 一个或多个聊 天链接可以对应于仍然较瘦但是计算资源更密集的聊天应用。例如, 这种应用可以很好地 适合于用于复杂的、 网络使能的装置, 诸如 Applei-Phone 和 / 或个人计算机。这种应用可 以提供与聊天请求相关联的可视地理指示符。 这种指示可以例如通过聊天请求者的反向 IP 或 DNS 查找提供。这种应用可以具有例如广告部分。这种应用可以诸如通过主动地向数据 库查看用于指示待决的聊天请求的输入项来监控聊天请求。在某些实施例中, 这种应用可 包括下载组件, 例如代码, 其可以或不可以在例如计算装置或操作系统启动时自动启动。 这 种组件例如可以响应于对新的聊天请求的识别而自动地启动浏览器窗口。
在本发明的某些实施例中, 在方框 83 发送的消息类型可以与在方框 83 发送的链 接类型相关联。例如, 在方框 83 发送的 e-mail 通知可以包括一种或两种类型的聊天链接, 这是因为通常可以使用具有诸如显示器大小的各种计算能力和资源的各种类型的计算装 置来访问该 e-mail 通知。相反, 在方框 83 发送的 SMS 通知可以仅包括减少计算依赖类型 的聊天链接, 这是因为通常使用具有较为有限的显示大小的计算装置来访问该 SMS 通知。
这样的方式可以有利地提供与传统聊天应用相比在更大范围场景内可操作的强 壮的聊天应用提供。
以进一步的非限定性说明的方式, 本发明的某些实施例可以特别好地适合于被 / 由业余销售商注册者或具有较为有限的计算和 / 或金融资源的注册者使用。这种注册者 可能不能 / 不愿意提供传统上需要的用于监控聊天服务的监控量。例如, 不动产或电子商 务分类销售商的经纪人通常不能 / 不会连续地监控他们的办公室或家庭办公室的个人计 算机的聊天请求, 导致相对于例如雇佣员工或保留传统的呼叫中心的竞争者而失去销售机 会。这可能导致相当大的商业损失。
而且, 虽然这种注册者能够使用多个计算装置 ( 例如个人计算机和因特网使能的 蜂窝电话和 PDA) 来监控例如 e-mail 的电子通信, 但是这些装置处理能力相当不同。因此, 如果增强传统的聊天应用, 以便利用在现代的个人计算机上可获得的大量资源, 则该应用
将被证明是不适合、 运作不良或甚至与蜂窝电话或 PDA 不兼容的。另一方面, 如果传统的聊 天应用被适配到最低的能力共同特性, 则注册者不能获得利用在现代个人计算机上可获得 的大量资源的增强的体验。因此, 传统的聊天应用不能很好地适合于被 / 由业余销售商注 册者或具有较为有限的计算和 / 或金融资源的注册者使用。
相对地, 本发明的实施例提供了选择性地增强的、 在任何地方聊天类型的功能, 从 而 (1) 注册者不必连续地监控聊天请求, 并且聊天请求可以被 “推” 向注册者或自动地被 “拉” 向注册者 ; 以及 (2) 基于注册者的计算装置的能力 ( 或预期的能力 ) 来适配聊天应用 实例化。 例如, 相对较少的计算资源密集的、 移动装置类型适配的聊天应用可以被提供来用 于移动装置。并且, 增强的、 相对计算资源更密集的、 个人计算机类型的装置适配的聊天应 用可以被提供用于这种装置。
在聊天应用实例化之间的差别可以包括另外的内容的频率和类型。 PC 类型的聊天 实例可以包括动画或视频内容和诸如图形或其他信息的另外的资源信息。 这种其他信息可 以与例如聊天实例或主题相关联。通过另一个实例, 可以提供与例如请求者的 IP 地址对应 的 映射。 这种信息可以有助于注册者通过下述方式来确定是否接受所传送的聊天 请求 : 让注册者知道请求者与感兴趣的位置 ( 诸如销售项目或服务的位置 ) 的相对邻近程 度。还可以提供关于其他聊天的另外的信息, 例如该客户进行的其他聊天或关于该主题的 其他聊天。移动装置类型的聊天实例化可以省略这种另外的信息, 以有效地节省例如用于 聊天本身的有限的显示不动产。
在本发明的某些所述实施例中, 可以使用多个链接 ( 例如, 作为在图 6C 中的在方 框 83 发送消息的一部分 ) 来提供选择性增强的、 在任何地方聊天类型的功能。每个链接可 以对应于不同类型的聊天实例化。 所实例化的聊天应用的类型可以基于注册者激活哪个链 接。例如, 一个链接可以被识别为移动装置类型的链接, 而另一个被识别为 PC 装置类型的 链接。链接中的移动装置类型的链接可以对应于移动装置类型的聊天应用实例化, 并且使 得在激活移动装置类型的聊天应用实例化时被启动。类似地, 在链接中的 PC 类型的链接可 以对应于 PC 类型的聊天应用实例化, 并且使得在激活 PC 类型的聊天应用实例化时被启动。 因此, 可以在提供移动装置适配的聊天服务的同时提供增强的聊天服务。
根据注册者偏好 ( 例如, 是否使用 e-mail 或 SMS 聊天通知 ), 可以发送一个或多 个链接。例如, 如果使用 SMS 消息传输, 则仅可以发送移动装置类型的链接。如果要使用 e-mail 消息传输, 则可以提供一个或多个链接。如果注册者已经指示他不希望使用移动聊 天支持, 则可以仅提供例如 PC 类型的链接。
在本发明的某些实施例中, 可以例如基于发起对于聊天初始化消息 ( 例如, 在图 6 的方框 83 发送的消息 ) 的响应的计算装置或计算装置应用的类型, 来自动地确定启动哪个 类型的聊天应用实例。例如, 通过提供可以用于以传统方式收集关于浏览器或计算装置的 信息的电子文档, 可以以传统方式自动地确定用于接受聊天请求 ( 例如, 通过激活所提供 的链接 ) 的浏览器的类型。如果所收集的信息指示移动类型的装置, 则可以使用移动装置 类型的聊天实例化。如果所收集的信息指示 PC 类型的装置, 则可以使用 PC 装置类型的聊 天实例。
在本发明的某些实施例中, 在方框 81 的处理可以进一步包括 : 例如通过以传统方 式登录到聊天相关联的服务器, 来确定与正在被处理的聊天请求对应的注册者是否登录到聊天应用。如果该注册者已登录, 则处理可以例如在方框 83 和 84 继续。
在本发明的某些实施例中, 如果聊天在方框 83、 84 之后的给定的时间内未开始, 则可以在方框 86、 87 向聊天请求者提供更新的消息。这样的消息可以向请求者提供取消聊 天请求或继续等待的机会。如果请求者选择取消该请求或未能响应它, 则处理可以停止。 如果请求者选择继续等待, 则可以例如重启定时器, 以用于进一步的类似处理。 仍然参见图 6C, 在方框 86 和 87 的处理可以包括响应地 ( 例如响应于 JAVA 脚本类型的定时器应用 ) 周 期地请求对电子文档的异步或 AJAX 类型的更新。
仍然参见图 6C, 在方框 86 和 87 的处理可以包括响应地 ( 例如响应于 JAVA 脚本类 型的定时器应用 ) 周期地请求对电子文档的异步或 AJAX 类型的更新。
现在参见图 7, 示出根据本发明实施例的过程 90 的框图表示。 过程 90 开始于在方 框 91 注册者用户决定是否接受聊天请求。在方框 91 的处理可以包括 : 在被登录的安全的 网站上更新用于指示注册者在等待聊天的特征、 元素和 / 或内容片段, 以及允许注册者接 收或拒绝那个聊天的一个或多个链接。安全网站可以对应于在方框 83 发送的聊天链接的 类型, 使得可以根据在方框 85 接收的聊天链接的类型和哪个链接被激活来使用多个网站 配置。
如果在方框 91 的处理 ( 例如注册者与允许注册者接受或拒绝该聊天的一个或多 个链接交互 ) 指示注册用户不希望参加所请求的聊天, 则处理可以转到方框 62( 图 6A)。 如 果在方框 91 的处理指示注册者希望参加所请求的聊天, 则在方框 92、 93 开始聊天应用 94。 例如在方框 95 在数据库中记录该聊天事件。
在方框 92 开始的聊天应用 94 可以包括 : 自动地更新由注册者查看的被登录的和 安全的网站 ( 或其一部分 ) 以包括用于指示聊天交换的内容 ( 例如, 与请求者交换的文本 和 / 或其他内容 )。在方框 93 开始的聊天应用 94 可以包括 : 将请求者的计算装置引导或 重新引导到包括用于指示聊天交换 ( 例如, 与接受聊天的注册者交换的文本 ) 的内容部分 的电子文档 ( 例如, 网页 )。
仍然参见图 6C, 在方框 92 和 94 的处理可以包括响应地 ( 例如响应于 JAVA 脚本类 型的定时器应用 ) 周期地请求电子文档的异步或 AJAX 类型的更新。
现在参见图 8A, 示出根据本发明实施例的、 用于请求者的计算装置的电子文档 100 和聊天应用实例 102。聊天应用实例 102 可以对应于聊天应用 94( 图 7)。在所图示的 实施例中, 实例 102 具有与电子文档 100 分离的窗口的形式。在本发明的某些实施例中, 文 档 100 可以采取例如文档 40( 图 4A 和 4C) 的任何一个的形式。在本发明的某些实施例中, 文档 100 可以采用例如加框的文档 40( 图 4A 和 4C) 的形式。在本发明的某些实施例中, 可 以例如从诸如文档 40 或 100 的电子文档经由在另一个框或窗口中的请求者的计算装置来 提供所接收的消息, 例如在方框 36、 55、 62、 72 和 / 或 84 提供和 / 或在方框 63、 73 或 86 接 收的那些。
在本发明的某些实施例中, 实例 102 窗口可以在大小、 形状和 / 或内容上与电子文 档 100 基本上相同, 而不是仅其中提供的整体内容的对应的部分大体相同。在用户结束与 实例 102 窗口交互后, 显示可以被返回到电子文档 100。 这种配置可以有益地使得聊天看起 来比传统的聊天应用更集成到请求者, 这可以使得可能的请求者更容易接受并且使用。在 本发明的某些实施例中, 实例 102 窗口可以采用电子文档 100 窗口被加框架并且包括聊天实例的形式。
现在参见图 8B, 其示出根据本发明实施例的用于请求者的计算装置的电子文档 100 和聊天应用实例 102。聊天应用实例 102 可以对应于聊天应用 94( 图 7)。在所图示的 实施例中, 实例 102 具有与电子文档 100 分离的窗口的形式, 该窗口大体仅与文档 100 的链 接相关联的内容重叠。
现在参见图 8C, 其示出与图 8B 一致的聊天应用实例 102、 内容元素 41 和链接 42 的叠加的非限定性示例。图 8C 的实施例示出具有彼此类似的形状和尺寸的聊天应用实例 102 窗口、 链接 42 和内容元素 41, 但是也可以使用其他配置。在所示实施例中, 实例 102 是 与电子文档 100 分离的窗口的形式, 该窗口与文档 100 的链接相关联的内容重叠并且具有 与该文档 100 的链接相关联的内容基本上相同的大小和形状。这种配置可以有益地允许聊 天窗口更好地与到请求者的文档 100 相关联, 可能使得这种用户对于聊天应用更能够接受 和使用。
现在参见图 8D, 示出根据本发明的一个实施例的用于请求者的计算装置的电子文 档 100 和聊天应用实例 102。聊天应用实例 102 可以对应于聊天应用 94( 图 7)。在图 8D 的示例性实施例中, 聊天应用实例 102 在与文档 40 相同的窗口中, 形成其一部分。在本发 明的某些实施例中, 与链接相关联的内容的一部分可以在聊天实例化时被聊天应用提供所 取代。以另一个非限定性示例的方式, 在本发明的某些实施例中, 可以与活动服务器页面 框架 (ASPX) 功能相结合地使用嵌入的浮动框, 以使得聊天应用能够独立于文档 100 的至 少一个其他部分和 / 或剩余部分而被更新。在本发明的某些实施例中, 可以使用异步回发 (postback) 来使得聊天应用能够独立于文档 100 的至少一个其他部分和 / 或剩余部分而被 更新。在本发明的某些实施例中, 可以使用利用异步 JavaScript 和 XML 的 AJAX 方式来使 得聊天应用能够独立于文档 100 的至少一个其他部分和 / 或剩余部分而被更新。再一次, 实例 102 大体仅与链接 42 相关联的内容 41 重叠。
现在参见图 9, 示出根据本发明的一个实施例的过程 200 的框图表示。 在本发明的 某些实施例中, 过程 200 很好地适合于用作在方框 92、 93( 图 7) 开始的聊天应用 94 的至少 一部分。
在方框 210, 第一个注册者 / 请求者的计算装置用户使用电子文档或网站来输入 用于聊天应用的文本。在方框 220, 检测诸如按钮的用户激活的 “发送” 文本链接或对象的 激活。在方框 230, 响应于在方框 220 的检测来调用与聊天应用 94( 图 7) 对应的服务器或 web 服务。服务器或 web 服务可以调用例如一个或多个与聊天应用 94 相关的过程。响应于 在方框 230 发送的文本, 服务器或 web 服务过程可以在方框 240 接收在方框 210 输入的该 文本。服务器或 web 服务过程可以在数据库中存储在方框 240 接收的文本, 该数据库例如 是与聊天应用 94( 图 7) 对应的结构化查询语言 (SQL) 类型的数据库。也可以在例如 SQL 数据库中存储与在方框 250 存储的文本相关联的另外的信息, 例如相关联的聊天会话标识 符、 发起用户、 目的地用户和 / 或传送状态 ( 例如, 已经传送或未传送的 ) 指示符。
这样的处理可以允许无状态聊天实例, 该无状态聊天实例包括诸如聊天请求和聊 天消息的未决的通信的队列。可以使用异步请求来推或拉这样的通信, 以解决通信。
现在参见图 10A 和 10B, 其示出根据本发明实施例的过程 300 的框图表示。 在本发 明的某些实施例中, 过程 300 很好地适合于用作在方框 92、 93( 图 7) 开始的聊天应用 94 的至少一部分。
过程 300 开始于在方框 310 例如通过聊天应用 94( 图 7) 初始化定时器。当在方 框 320 已经确定定时器过期时, 可以调用 web 服务或其他过程以查看未传送的聊天信息, 诸 如在 SQL 数据库中存储的信息, 该数据库例如是参考图 9 所述的数据库。再一次, 所调用的 服务或过程可以对应于聊天应用 94( 图 7)。也再一次, 服务或过程可以调用例如一个或多 个与聊天应用 94 相关的过程。在方框 340, SQL 数据库或代表 SQL 数据库接收在方框 330 发送的请求。SQL 数据库或代表 SQL 数据库处理所接收的请求, 并且在方框 350 检索给请 求的用户的未传送的消息。在方框 360, 所检索的文本被发送到请求的用户 ( 例如, 在方框 330 发送请求的用户 )。
现在参见图 10B, ( 例如, 在方框 330 请求者或注册者发送请求 ) 在方框 370 接收 在方框 360 发送的内容。在方框 380, 所接收的文本被格式化以由电子文档 ( 例如, 网页或 窗口 ) 或网站显示, 并且在方框 390 显示该文本。处理然后返回方框 310, 使得定时器被再 一次初始化。
在本发明的某些实施例中, 消息交换可能在本质上不是对等的。 而是, 所发送的消 息可以被送往数据库, 该消息从数据库被传送到目的接受者。数据库存储的消息可以被推 向接受者的计算装置或被其拉动。这样的数据库也有益地作为例如聊天文字记录的储存 库。
处理可以以在注册者和请求者之间提供双向的聊天服务的方式来继续。
在本发明的某些实施例中, 这样的数据库可以用于另外提供这样的聊天会话以例 如使用双向 SMS 消息传输来实现。例如, 可以使用类似的代码来向这样的数据库提供聊天 消息并且从这样的数据库拉出聊天消息, 并且在适合于与上述方法使用的 HTML 兼容格式 和适合于与 SMS 消息传输使用的文本之间转换它们。这样的代码可以经由 SMS 消息传输从 SMS 装置聊天用户接收聊天消息并将它们存储在数据库中, 并且检索用于 SMS 装置聊天用 户的消息并经由 SMS 消息传输来传送它们。
现在参见图 11, 示出根据本发明的一个实施例的系统 1000 的配置。 在本发明的某 些实施例中, 系统 1000 很好地适合于执行在此所述的功能。
系统 1000 总的包括第一类计算装置 1010、 第二类计算装置 1020 和第三类计算装 置 1030。 在本发明的某些实施例中, 这些组不必是互相排斥的。 例如, 一个或多个某些计算 装置可以是类 1010、 1020 和 / 或 1030 中的不止一类的成员。总的来说, 类 1010、 1020 和 / 或 1030 的计算装置的每一个经由诸如因特网和有线和无线通信网络的至少一个网络来彼 此可通信地互连。在图 11 的图示的实施例中, 类 1010 的计算装置经由网络连接 1040 与类 1020 的计算装置和类 1030 的计算装置互连。 在本发明的某些实施例中, 以非限定性示例的 方式, 诸如连接 1040 的一个或多个计算装置互连可以采用因特网或其他数据网络连接的 形式。
在本发明的某些实施例中, 类 1010 计算装置可以通常采用终端用户计算装置的 形式, 诸如个人计算机、 终端、 个人数字助理和 / 或蜂窝电话或智能电话。在本发明的某些 实施例中, 类 1010 计算装置可以对应于客户计算装置, 诸如如上所述的那些。
在本发明的某些实施例中, 类 1020 计算装置可以通常采用例如服务器的形式。在 本发明的某些实施例中, 类 1020 计算装置可以对应于网络或系统服务器, 诸如如上所述的那些。 在本发明的某些实施例中, 类 1030 计算装置可以通常采用终端用户计算装置的 形式, 诸如个人计算机、 终端、 个人数字助理和 / 或蜂窝电话或智能电话。在本发明的某些 所述实施例中, 类 1030 计算装置可以对应于客户端计算装置, 诸如如上所述的那些。
通过进一步的非限制性实例, 在本发明的某些实施例中, 可以将特定配置的 URL 布置在线广告上。点击此链接的查看者例如将发起与该广告的作者之间的聊天会话。
本发明的实施例可以采用客户端脚本、 客户端侧脚本或客户端侧代码。一般的文 本网站可能不具有任何的客户端脚本。但是, 对于交互式网站, 通常需要计算机代码。当 网站允许例如拖动项目时, 通常需要计算机代码实现该拖动动作。这种代码被称为客户端 侧脚本或客户端侧代码。这种代码可以与网页一起下载并且由客户端计算机来运行。可以 从服务器下载该代码但是该代码不在服务器上运行 ; 该代码在客户端计算机 ( 用户的计算 机 ) 上运行。这种客户端侧脚本的语言通常是 JavaScript, 虽然也存在用于此目的的许多 其它语言。
本发明的实施例可以与跨域通信或跨域脚本有关。跨域通信是同时与两个 web 服 务器通信的一种实践形式。通常, 认为跨域通信存在安全问题而不被允许。例如, 如果用户 正在使用被称为 www.Mybank.com 的网站, 恶意的跨域脚本可能将银行证书传送给不同的 web 服务器。在该事务中涉及两个域 ( 比如说 Mybank.com 和 RussianGangster.com), 因此 被称为跨域。 在本发明的某些实施例中, 可提供一种允许安全、 合法并且工业上可接受的跨 域通信的技术。
本发明的某些实施例可以使用一个或多个 http 处理程序 (handler)。http 处理 程序是客户端浏览器所察觉到的文件, 如 HTML 文件或 JPEG 文件。其在服务器上不是 HTML 文件或 JPEG 文件, 其为当作出请求时执行的代码页。因为, 例如, 如果客户端浏览器点击配 置为 JPEG 文件的 http 处理程序, 则客户端浏览器正在期望将 JPEG 文件作为该请求的结 果。在服务器上, 该处理程序可以实时地创建 JPEG 文件, 可能是当前日期、 时间和温度的小 图像。服务器设置对 JPEG 的响应类型, 然后将数据发送到客户端浏览器。从客户端浏览器 看来, 所发生的一切是其请求并接收 JPEG 文件。这是由服务器 “处理” 的 http 请求。
本发明的某些实施例可以使用 JavaScript 注入。在简单的形式中, 客户端侧脚本 可以与网页一起下载。在随后下载代码时 ( 在页面被下载之后 ), 其被称为 JavaScript 注 入。附加的客户端脚本已经被 “注入” 到该页面中。
本发明的某些实施例可以使用框或内嵌框 (iframe)。 通过使用框或内嵌框可以在 单个网页的情况下显示多个网站。 例如, 如果用户访问新闻或娱乐网站, 其可能看到网页右 手侧的栏中正在显示由 Google 寄载的广告。这种广告通常包含在内嵌框中。来自不同域 的框和内嵌框不能彼此通信。 因此, 在此场景中, 该广告栏与页面上的其它内容完全分离并 且表现为如同其被包含在完全独立的浏览器窗口内。
本发明的某些实施例可以提供或使用两类功能 : 在客户端计算机 ( 用户的计算 机 ) 上发生的功能 ; 以及在 web 服务器上发生的功能。在某些实施例中, 客户端功能可以存 在于大范围中, 如点击已经布置在在线广告中的链接, 以及在所呈现的界面 ( 该界面作为 点击链接的结果而呈现 ) 中输入诸如文本的内容 ( 聊天 )。 在某些实施例中, 服务器功能可 以存在于大的范围 : (a) 简单的网站或者网站功能以监控聊天请求, 以及 (b) 寄载客户端脚
本并且接收和传送正在客户端计算机或计算装置之间交换的文本。
在本发明的某些实施例中, 登广告者可以在在线车辆营销 ( 例如 Craiglist) 中 布置广告。现在参见图 12, 其示出了用于 “racing green Raleigh” 自行车的广告 1100 的 视图。广告包含具有 “click here to chat about this advertisement( 点击此处以就 此广告进行聊天 )” 或者 “click here to chat with the advertiser that placed this ad.( 点击此处以与布置此广告的登广告者聊天 )” 作用的语言的链接 1110。
在本发明的某些实施例中, 登广告者可以监控显示输入的聊天消息的网站或网站 功能。现在还参考图 13, 其示出这种网站 1200 的视图。在图 13 所例示的实施例中, 网站 1200 包括内容框 1210, 其可以显示已经被交换的内容, 例如文本。在图 13 的示例性实施例 中, 网站 1200 包括内容输入框 1220, 其可以由登广告者使用以输入要交换的内容, 例如文 本, 该内容将在随后激活 “SEND( 发送 )” 按钮时被显示在框 1210 中。在本发明的某些实施 例中, 可以使用更复杂的通知系统从而登广告者不需要坐等消息的显示。
在图 12 和图 13 所例示的情况下, 消费者可以导航到广告 1100 并且点击或以其他 方式激活链接 1110。根据本发明的某些实施例, 在消费者不必然注意到的时间点可能发生 各种情况。在某些实施例中, 服务器可使用传统技术了解或确定该点击 ( 例如链接 1100 的 激活 ) 来自哪个网页 ( “引用页” )。接着, 服务器可以访问或者 “抓取” 该页面的副本。服务 器可以将客户端脚本添加到将要创建聊天窗口的该页面。 然后, 服务器可以将该页面 1100’ 发送回消费者。当载入页面时, 可出现聊天窗口 1200’ , 如图 14 所示。消费者甚至可能不会 意识到该页面被重新载入了, 因为其基本上是相同的页面并且看起来外观没有变化。
然后, 消费者可以开始打字输入到聊天窗口中 ( 例如使用 1220/1230) 以就广告的 服务或产品进行提问或讨论。 该文本之后基本上可以立即呈现给正在观看和等待这样的消 息的登广告者。图 15 和 1 例示了这种功能。然后登广告者和消费者可以开始通过此界面 互相打字输入消息, 其为在线聊天时公知的动作。
应该理解, 在图 12-16 所例示的实施例中, 聊天窗口位于下部页面中并与下部页 面在一起, 其展示出一定程度延迟, 例如少于 5 秒的延迟用于转换。因此, 聊天窗口可以向 另一用户传送下部页面的内容。例如, 在多个地点都有广告的销售者可以利用适当的工具 查看消费者正在哪个页面上聊天。因此, 如果消费者已经点击了 Craigslist 中的广告, 则 销售者由于他或她与消费者聊天而可以看到该特定的 Craigslist 页面。
本发明的某些实施例可以很好地适于与第三方网站结合使用。 在线广告通常不允 许将客户端侧脚本代码添加到广告上。如果是这种情况, 则可以容易地从在广告内实现聊 天或任何其它功能。但是通常可以允许将简单的 URL 布置在在线广告中, 其向消费者或用 户以提供更多的信息 ( 参见图 2B 和图 12)。 因此, 本发明的实施例例如通过提供可点击的、 简单的 URL, 允许用户向第三方网站添加功能, 其中该 URL 本身不包含脚本代码。
将不再讨论例如简化的从而不包括将唯一识别聊天会话的代码的本发明的另一、 非限制性的示例性实施例。 在本发明的商业实施中, 例如, 可能希望将一个用户的聊天会话 与另一个分离开。 这可以通过多个标准方法来实现, 包括例如 : cookie、 表示用户 ID 的特定 格式化的或编码的 URL、 会话变量或例如用于唯一地识别用户和会话状态的各种其它方法。
可以使用两个物理机器或计算装置、 在这些机器上的各种服务和传送系统以及附 加组件来实施本发明的某些实施例。在这种特定实施下, 使用以下不同的机器、 系统和组件。 在所讨论的示例性实施例中使用客户端计算机和服务器计算机。 驻留在这些机器 上的系统和服务如下所示。
客户端计算机系统 : 浏览软件——在某些实施例中, 客户端计算机可以采用与因 特网连接并且能够运行现有因特网浏览软件的任一计算机装置的形式。 在本发明的某些实 施例中, 仅有的所需客户端计算机软件可以是因特网浏览软件, 在此仅给出一些示例, 例如 Mozilla、 Internet Explorer、 Opera、 Google Chrome 或 Apple Safari。
脚本服务器计算机系统 : Web 服务器和数据库服务器 —— 在某些实施例中, 脚本 服务器计算机可以采用能够运行现代 web 服务器软件任一计算装置。在此示例实施中, 建 议了具有解释 .NET Active Server Pages(ASP.Net) 的本机能力的 Microsoft Windows Server 2003。所使用的 Web 服务器可以是 IIS。数据库服务器可以是任一能够使用 SQL 的 服务器。在所述实施中, 推荐了 Microsoft SQL 2000 数据库服务器。但是, 在其它实施例 中, 例如可以由不同的服务器或服务器群来处理每个单个的功能。 在这种部署下, 有用于寄 载脚本的分离的多个服务器、 用于寄载数据库的分离的多个服务器等等。 在此实例中, 可以 将这些服务结合在单个的物理机上。
在本发明的某些实施例中, 不需要将附加的组件安装在客户端计算机上。
在本发明的某些实施例中, 可以在服务器上提供驻留在脚本服务器计算机上的以 下附加的组件。
在某些实施例中, 可以提供公开的登广告者能够查看和等待用户发起聊天的网 站; 并且可以提供用于聊天窗口的客户端脚本和支持软件。 在本发明的某些实施例中, 可以 使用引用客户端脚本的单个网页来提供 “watching and waiting( 查看和等待 )” 网站 ( 聊 天中双方使用相同的脚本来创建聊天界面 )。
在本发明的某些实施例中, 可以提供下列用于客户端脚本和支持软件的组件。
urlChatPanel.js- 创建聊天窗口的客户端脚本
Handler.ashx- 广告包含具有 “click here to talk to the advertiser( 点击此 处以与登广告者聊天 )” 作用的语言的链接, 其为该链接的目标
getChat.ashx- 用于检索其它用户输入的文本的代码
setChat.ashx- 用于发送用户输入的文本的代码
在此实例实施时, 可以使用用于记录和检索聊天文本的数据库。 SQLServer 企业管 理器可以用于创建被称为 “urlChat” 的数据库。对数据库进行访问的用户可以是这些默认 用户 : BUILTIN\ 管理员、 NTAUTHORITY\NETWORK SERVICE、 YOURSERVERNAME\USR_STD-B。
可以在被称为 “ChatRecord” 的数据库中创建表格。添加到表格中的字段可以采 用以下形式 :
Session Number, nvarchar, 50
Retrieved, bit, 1, default 0
ChatText, nvarchar, 255
RecordNumber, bigint, 8, Identity : Yes, Identity See : 1, IdentityIncrement, 1
UpdatedBy, nvarchar, 50
可 以 为 SQL 表 格 提 供 特 定 许 可, 从而可以对前面提及的三个内置用户给出 SELECT、 INSERT、 UPDATE 和 DELETE 许可。
可以将 c : \Inetpub\wwwroot 用作 Windows Server 2003 因特网信息管理器中的 默认的 web 服务器网站位置。 在此文件夹下, 可以创建用于被称为 “urlChat” 的网站的文件 夹。 在前面简短描述的服务器组件可以被放置在此文件夹中 : website.htm、 getChat.ashx、 setChat.ashx、 Handler.ash 和 urlChatPanel.j s。
网站文件夹可以被配置为应用, 用于适当地促进 .ashx 文件的运作。 这可以在 IIS 中通过从 Web Site(web 站点 ) 文件夹向下找出包含某个网站的文件夹、 右击该网站的文件 夹并且点击 Create( 创建 ) 按钮来实现。这将使得 IIS 将该文件夹视为应用, 并且 IIS 通 过将文件夹图标替换为齿轮图标来表示该文件夹。
通过这种设置, 可以继续进行提供下述技术功能的实施。在图 17-21G 中示出了用 于在此示例实施中使用的组件的非限制性的、 示例性的代码列表。但是可以为任一 web 服 务器语言和环境组合提供下面所讨论的功能。
website.htm 可以是采用在表 4 中示出的 “wait and watch” 网页的形式。该实例 执行标题、 简单指令和对 urlChatPanel.js 脚本的引用的功能。在载入 urlChatPanel.js 脚本时, 创建将显示来自用户的输入文本的聊天窗口界面。
表4
urlChatPanel.js 可以是存储在服务器上的、 下载到客户端浏览器上并在其上运 行的脚本。其可以以 JavaScript 语言来实现。其可以构建用户和登广告者看到并交互的 聊天窗口界面。该代码从上到下的整个组织结构可以是 :
X Library(X 库 )
ClientObject
全局变量
实用程序函数
用于设置并取得文本的回调函数
初始化
xLibray 是被命名为 X 库的公开可用的 JavaScript 库, 其在 LGPL 许可证的条款下 分发并且在 http://www.cross-browser.com 可获得。可以使用来自 X 库的这些组件, 并且 直接将代码复制到 urlChatPanel.js 中 : x_core.js、 x_event.js 和 xEnableDrag.js。不同 的浏览器以不同的方式实现例如点击和鼠标移动的事件。X 库组件可以被用于为浏览器事 件提供单个的标准化界面。其还可以用于提供拖动能力, 该拖动能力允许用户移动聊天窗 口或调整其尺寸、 以及例如字符串的格式化的各种实用程序。
ClientObject 可以定义对象, 该对象在用户浏览器中创建图形聊天窗口, 并且控 制聊天文本的设置、 取得和显示。
全局变量部分包括被称为 “urlprefix” 的全局变量, 其范围可用于整个脚本。相 关的 URL 不能用于示例性的 urlChatPanel 脚本中。代码和功能被叠加在第三方网站上并 且可以在除系统提供者之外的上下文环境中运行脚本。因此由 urlChatPanel 使用的图像 和其它资源应该放在绝对位置之前。
由 urlChatPanel 使用的实用程序函数是 :
cancelEvent, 其用于取消例如点击的事件, 从而使点击例如不再触发其他事件。
hiTagZ, 其用于确定所调用的网页上的最高的 Z- 阶对象。当创建聊天窗口时, 可 能期望该窗口位于页面其余部分的顶部。 了解当前处于最顶部的元素的高度有助于实现这 一点。
removeScript 可以结合设置和获得文本来使用。相同的 JavaScript 文件可以被 连续地 ( 或基本上连续地 ) 反复注入。每次注入该文件时, 将首先删除当前的版本。
injectJS 可以用于注入包含当前聊天文本的 JavaScript。用于与服务器通信的 方法可以依赖于此。通信可以由创建包含当前聊天文本的 JavaScript 文件的服务器和注 入该 JavaScript 以检索该文本的客户端计算机组成。
urlChatPanel 所使用的回调函数是 setChatReturn 和 getChatReturn。在此实 例中, setChatReturn 不包含代码。调用该函数以表示文本设置 ( 即向服务器发送用户输 入 ) 已经完成。可以在此功能中布置附加的代码, 以在设置文本结束时触发一些附加的功 能。getChatReturn 是在从服务器检索聊天文本结束时调用的函数。该功能将聊天文本传 递到 ClientObject 中用于在聊天窗口中显示, 然后调用 ClientObject 的 getChat 方法以 检索由其它用户输入的下一块文本。 一旦调用 getChat, 请求就无限期地挂起直到服务器发 送回新的聊天文本。
urlChatPanel 的初始化部分在必要时创建聊天窗口, 然后显示该聊天窗口。每次 载入 urlChatPanel 时可以调用初始化部分。其可以检查以了解 ClientObject 是否已经存 在: 如果用户已经关闭了 ClientObject, 其仍然存在, 只是不可见。如果 ClientObject 不 存在, 则调用构造函数来创建它。一旦确定 ClientObject 存在, 则初始化将 ClientObject 设置为可见 ( 由于用于之前已经解除了聊天窗口, 因此 ClientObject 可能是不可见的 )。
Handler.ashx 是为登广告者的 URL 的目标的组件。 因此广告可包括例如表 5 中所 示的 URL。
表5
在广告中该链接的可视外观可以是 “Chat with me about this item” 。该文件 的 mimetype( 互联网媒体类型 ) 是 text/html, 因此客户端浏览器将该文件看作 HTML 文件。 该文件实际在服务器上可能不是 HTML 文件, 而是完成多件事情并且被称为 HTTP 处理程序 的代码页面。一旦用户已经点击了 URL, 则浏览器可以向服务器做出对于该文件 Handler. ashx 的例行请求。 当服务器执行代码页面 Handler.ashx 时, 可在服务器上连续发生这些动 作:
(1) 服务器分析该请求并且得到引用属性 ; 如果例如用户在 Craiglist 上, 其当 前的浏览器位置可能是 http://seattle.craigslist.org/see/bik/129483274.html, 当 其点击 “Chat with me about this item” 链接时, 引用页可能是完全相同的位置 http:// seattle.craigslist.org/see/bik/129483274.html。
(2) 服务器做出其自己的 http 请求, 其请求页面 http://seattle.craigslist. org/see/bik/129483274.html 并且以字符串存储暂时返回的 HTML ; 此 HTML 通常可以与用 户当前在其浏览器上看到的完全相同。
(3) 服务器将脚本 urlChatPanel.js 附加在该 HTML 上, 脚本 urlChatPanel.js 是 创建聊天窗口的代码。
(4) 服务器附加包含具有所引用的 URL 的变量的附加脚本。
(5) 服务器设置响应的 mimetype 为 text/html, 然后写出 HTML 字符串, 以将 HTML 字符串有效地返回客户端浏览器。
客户端浏览器接收 HTML 字符串并显示该字符串, 通常显示与当前正在被查看的
完全相同的网页。 在 HTML 字符串的末尾, 脚本 urlChatPanel 已经被附加在 HTML 字符串上, 从而一旦已经提供了 HTML 页面, 就执行 urlChatPanel 脚本。urlChatPanel 脚本运行其初 始化代码, 创建聊天窗口界面并且使其本身可视。 因此, 聊天窗口现在出现在用户正在浏览 的网页的顶部。
getChat.ashx 是 返 回 其 他 用 户 输 入 的 文 本 的 http 处 理 程 序。 其 由 脚 本 urlChatPanel.js 使用。 其从 ClientObject 内调用, 在初始化 urlChatPanel 脚本时创建主 对象。在 urlChatPanel 已经创建了可视的聊天窗口界面之后, 立即调用 getChat.ashx。其 通过创建 URL 完成 : var url = urlPrefix+ “getChat.ashx ? id =” +_i.randomld+ “&rurl =” +Math.round(Math.random()*1000)+“&” ; injectJS(Url) ; 然后使用实用程序函数 injectJS, 请求将该文件作为 JavaScript 注入。在载入时, urlChatPanel 已为其本身分配 了随机 id 并将其存储在变量 ClientObject.randomld 中。该 id 号类似于会话号, 并且与 每个 getChat 请求一起被传送, 以识别请求者。
url 上的其它参数是每个请求上产生的随机数。 因此, 第一参数在整个会话中是相 同的, 而每次对 getChat.ashx 进行注入时第二参数发生变化。除了在每次调用时使 URL 不 同之外, 第二参数不提供任何功能。如果 URL 在每次调用过程中保持相同, 则所使用的浏览 器可以忽略该请求。 在此表示的请求的类型 (JavaScrpit 注入 ) 是异步的, 从而使请求挂起不会影 响浏览器的性能。如果有要被检索的聊天文本, 则 getChat.ashx 会立即返回并且调用 urlChatPanel 的 getChatReturn 功能以表示其完成了。
但是, 如果没有要被检索的文本, 则请求保持挂起。 其可以以持续几分钟、 小时、 甚 至几天的状态保持挂起。因此, 仅可以对于返回的每条聊天本文做出单个请求。在低效率 的系统中, 客户端可能每几秒钟轮询服务器以查看文本是否可用于检索。 但是, 这种轮询为 web 服务器增加了负担。 在本系统中没有效率低下的负担, 由于对于被检索的每条文本仅做 出一个请求, 因此其效率为 100%。 在基于轮询的系统中, 可能做出几十个、 甚至成百个请求 来检索单个聊天文本项目。
getChat.ashx 是 http 处理程序, 其被客户端浏览器视为 JavaScript 文件, 但其实 际上是服务器上的代码页面。一旦对于文件 getChat.ashx 做出请求, getChat.ashx http 处理程序就在服务器上进行一系列的动作 :
(1) 处 理 程 序 将 响 应 类 型 设 置 为 201, 将 该 响 应 的 mime 类 型 设 置 为 text/ javascript, 并检索当前请求的会话号, 如表 6 中所示。
表6
(2) 处理程序构建 SQL 查询并请求返回聊天记录, 如表 7 中所示表7该 SQL 查询的元含义是 : “从 ChatRecord 表中获得最旧的 ( 第一 ) 单个记录 - 获 得最旧的是因为将要做出随后的请求并且想要获得依时间顺序排列的记录” , “获得具有与 不同于我的会话号的记录 -- 想要另一方的文本, 而非我方文本” , “获得之前没有被检索的 记录” 。
(3) 处理程序继续在一个循环中请求记录 ( 直到最终获得记录 )。该循环以任意 速率计时, 这里每秒 10 次。在该循环期间, 来自客户端的请求仍然处于挂起并且可在长时 间内保持挂起。在每次通过循环时, 服务器向客户端写出开始字符 ( 空格 ) 并且刷新该写 操作以使其实际被发送到客户端, 如表 8 所示。
表8
在任一个以下这些可能情况下, 循环失败 : 返回记录 (HasRows == true) 或者 客户端已经变为断开连接。通过来自空格字符的刺激可以检测到断开连接。如果客户 端被断开连接 ( 浏览器被关闭或浏览到另一个 URL), 则服务器将关闭该套接字。当尝试 将空格字符写到该关闭的套接字中时, 将产生 SocketException。SocketException 将 IsClientConnected 属性变为假。
(4) 处理程序存在循环, 一旦其接收记录, 就检查客户端是否仍然处于连接状态, 如果处于连接状态, 则该处理程序 (a) 更新数据库以显示该记录已经被检索了, 以及 (b) 将检索到的聊天文本写出到响应 (response) 中并结束该响应, 其使客户端浏览器认为挂起 的请求已经完成, 如表 9 所示。
表9
context.Response.Write(″ getChatReturn(′″ +txt+″′ ) ; ″);客户端预期的响应是 JavaScript。getChat.ashx 写出被检索的聊天文本的方式 是包含对函数 getChatReturn 的调用、 被检索的文本作为参数的单行 JavaScript。 因此, 客 户端接收如 getChatReturn ( ‘XXXXXX’ ); 或 getChatReturn( ‘how old is your bike’ ); .
在返回请求时, 对 JavaScript 进行评估并调用 urlChatPanel 中的 getChatReturn 函数, 使得聊天文本被公布到用户的界面。
ffitChat.ashx 是将聊天文本发送到服务器以被其他聊天方检索的 http 处理程 序。其由脚本 urlChatPanel.js 使用。其从 ClientObject 内调用, 该 ClientObject 是通 过初始化 urlChatPanel 脚本创建的主对象。当聊天时, 用户将文本输入到聊天窗口界面中 的输入框内。例如, 当用户按下 Enter 键并点击 Send 按钮 ( 参见例如图 13、 14) 时, 位于输 入框中的文本将被发送到服务器并且存储在数据库中。这可以通过调用 ClientObject 的 postInputBox 方法而在客户端侧完成。 在该方法中, 在与 addChatBlock 对接的聊天窗口的 上部框中检索并重新显示文本值, 例如表 10 中所示。
表 10
然后可以构建 url, 从而将新输入的文本作为该 url 上的参数进行传送。 然后可以 移除脚本的先前版本, 并且重新注入 setChat.ashx 脚本, 例如表 11 中所示出的那样。
表 11
随机的 id 参数是当创建 ClientObject 时给出的 id。 其可以用于与会话号类似的 用途并且识别聊天会话。其可以作为字段存储在数据库中。
在此时, 对 setChat.ashx 的请求已经离开了客户端浏览器并且在服务器上开始 进行处理。如上所述, setChat.ashx 处理程序从查询串获得聊天会话和聊天文本。可以根 据表 12 构建 SQL 查询。
表 12
执行查询将聊天会话和聊天文本存储在数据库中。 被检索到的字段可以默认地被 设置为假, 并且当存储记录时自动分配顺序的记录号。
处 理 程 序 然 后 根 据 表 13, 将 mime 类 型 设 置 为 text/javascript, 将对于 setChatReturn 的调用写到响应, 并且结束响应。
表 13
在结束响应时, 向客户端发出请求已经被满足并且 JavaScript 结束了的信号。被 发送的 JavaScript 的低位被解释为 : setChatReturn 被调用并且现在服务器已经完成更 新。 在所讨论的非限制性实施例中, setChatReturn 中不包含代码, 从而其为空函数。 但是, 可以执行在向服务器提交聊天文本之后期望被调用的任何代码。
图 17- 图 21G 例示了与在此讨论的非限制性实例一致的代码的非限制性实例。
通过进一步的非限制性实例并且现在参考图 22, 其示出了根据本发明的某些实施 例的过程 2000 的框图视图。过程 2000 包括 : 在方框 2010, 例如响应于如上所述的聊天请 求链接的激活 ( 参见例如图 12 的 1110), 接收与用户聊天请求对应的请求。在方框 2020, 如上所述, 可以识别或确定引用电子文档 ( 例如网站或者网站的网页 )。在方框 2030, 如上 所述, 例如通过一个或多个计算装置或服务器, 可以存储信息, 例如指示网页并且适于重现 网页的这种数据。在方框 2040, 如上所述, 以聊天应用扩充至少一部分所存储的数据, 例如 通过以实现聊天应用的代码扩充所存储的网页代码。在方框 2050, 如上所述地提供至少一 部分所扩充的数据 ( 参见例如图 14)。在方框 2060, 可以如上所述地完成更新以交换聊天 信息或数据 ( 例如文本 )( 参见例如 15 和 16)。
在本发明的某些实施例中, 一旦完成聊天, 例如通过在方框 2060 的更新, 用户的 浏览器就可以被重新导向回到被识别或确定的原始引用网页 ( 例如在方框 2020)。
对于本领域技术人员显而易见的是, 可以对本发明的设备和方法做出修改和变 化, 而不脱离本发明的精神或范围。本发明意欲覆盖本发明的修改和变化。