Source: https://patents.google.com/patent/CN101057476A/en
Timestamp: 2019-09-24 10:12:58
Document Index: 295613639

Matched Legal Cases: ['application No. 60', 'application No. 2000', 'application No. 60', 'application No. 60', 'application No. 60', 'application No. 60', 'art 902', 'art 1100', 'art 902']

CN101057476A - Techniques for delivering personalized content with a real-time routing network - Google Patents
CN101057476A
CN101057476A CN 200580027962 CN200580027962A CN101057476A CN 101057476 A CN101057476 A CN 101057476A CN 200580027962 CN200580027962 CN 200580027962 CN 200580027962 A CN200580027962 A CN 200580027962A CN 101057476 A CN101057476 A CN 101057476A
CN 200580027962
CN101057476B (en
K·E·图米哈特
肖分析有限公司
2005-08-15 Application filed by 肖分析有限公司 filed Critical 肖分析有限公司
2005-08-15 Priority to PCT/US2005/029021 priority patent/WO2006023459A1/en
2007-10-17 Publication of CN101057476A publication Critical patent/CN101057476A/en
2014-01-08 Publication of CN101057476B publication Critical patent/CN101057476B/en
The invention provides a technique dynamically updating existing objects by personal information of a client server, and the technique comprises first information received from a source while the first information consists of a first identifier and a second identifier. The first identifier can be unique for the client server while the second identifier can be commonly used by a plurality of client servers. The first information comprises personal information which is used for updating properties of the existing objects corresponding to the second identifier, and marking the client server that is exclusive for the first identifier use, and then the second information can be passed to the client server through a network router. The second information can comprise the first identifier and the second identifier as well as the information which is used for updating the properties of the existing objects corresponding to the second identifier. The client server can receive the second information and trigger the updating of the properties of the existing objects corresponding to the second identifier.
用实时路由网络递送个人化内容的技术 Deliver personalized content with real-time routing network technology
相关申请的交叉引用本发明要求于2004年8月17日提交的题为“TECHIQUES FOR DELIVERINGPERSONALIZED CONTENT WITH A REAL-TIME ROUTING NETWORK，MODULAR EVENT-DRIVEN ARCHITECTURE，MODULAR EVENT-DRIVENPROCESSING AND VIEWER FAILOVER TESTING A SYSTEM MEMORYWHILE AN OPERATING SYSTEM IS ACTIVE”的共同待审的美国临时专利申请号60/602,539的优先权；并且是于2001年12月14日提交的题为“ASYNCHRONOUS MESSAGING USING A DYNAMIC ROUTING NETWORK”的美国专利申请号10/017,182的部分延续，该专利申请要求于2000年12月18日提交的美国临时申请号60/256,613、于2001年3月16日提交的美国临时申请号60/276,847、于2001年3月21日提交的美国临时申请号60/278,303、于2001年3月28日提交的美国临时申请号60/279,608、于2001年3月29日提交的美国临时申请号60/280,627的优先权。 Cross-Reference to Related Applications The present invention claims entitled to August 17, 2004 filed "TECHIQUES FOR DELIVERINGPERSONALIZED CONTENT WITH A REAL-TIME ROUTING NETWORK, MODULAR EVENT-DRIVEN ARCHITECTURE, MODULAR EVENT-DRIVENPROCESSING AND VIEWER FAILOVER TESTING A SYSTEM MEMORYWHILE AN OPERATING SYSTEM iS ACTIVE; ASYNCHRONOUS MESSAGING USING a DYNAMIC ROUTING NETWORK "US Patent application No." priority of co-pending US provisional Patent application No. 60 / 602,539 and is filed December 14, 2001, entitled "10 / partial continuation of 017,182, which patent application claims the benefit of US provisional application No. 2000, December 18, filed 60 / 256,613, US provisional application No. 60, 2001 March 16 submitted / 276,847, 2001 March 21 filed US provisional application No. 60 / 278,303, US provisional application No. 60 on March 28, 2001 filed / 279,608, priority of US provisional application No. 60 on March 29, 2001 filed / 280,627 of. 所有上述申请为全部目的都通过引用包括在此，如同在本文中全文陈述一样。 All of the above are applied for all purposes by reference herein, as in the full text of this article.
背景本公开的实施例一般涉及通过网络传送信息，尤其涉及通过网络传送用于远程地更新客户机设备处的内容的个人化信息。 BACKGROUND The present disclosure relates generally embodiment of the information transmission network, in particular, it relates to personal information transmitted through the network to remotely update content at a client device.
用户可以从万维网下载许多不同类型的内容。 Users can download many different types of content from the World Wide Web. 例如，用户可以用网页下载内容。 For example, users can download content on the page. 在某些情况下，用户可以订阅向网页发送用户期望的内容的服务。 In some cases, users can subscribe to the service desired by the user to send content to the web page. 内容提供者可能需要跟踪哪些用户注册了哪些内容。 Content providers may need to track which users have signed up for what. 除跟踪哪些用户注册了哪些内容之外，服务供应商还可能需要知道如何发送每一用户所注册的内容。 In addition to tracking which users than what is registered, the service provider may also need to know how to send the contents of each registered user. 这可能需要大量资源来跟踪已注册的用户、每一用户所期望的内容、以及如何将内容路由至用户。 This may require a lot of resources to track registered users, each user desired content and how content is routed to the user.
附图简要说明图1是示出包含动态内容路由网络的环境的高层框图；图2是示出为了更新网页上的活对象的属性而在服务器、信息提供者、动态内容提供者、客户机和路由网络之间进行的交互的交互图；图3是图示由路由网络执行的多对多映射的高层图；图4示出包括运动会得分的两个不同网页；图5是示出输入源和其可用于生成更新消息的工具的框图；图6是示出由激活模块的一个实施例执行的步骤的流程图；图7是示出根据一个实施例的路由网络的较低层视图的框图；图8是示出由群集中的节点执行的用于执行通过网关对从输入源接收的消息的基于对象的路由的步骤的流程图；图9示出根据一个实施例的网页的一个例子；图10示出根据一个实施例的使用路由网络110来递送个人化消息的系统；图11示出根据一个实施例的用于生成批消息的简化的流程图；图12示 BRIEF DESCRIPTION OF DRAWINGS FIG. 1 is a high level block diagram illustrating an environment containing dynamic content routing network; FIG. 2 is a diagram illustrating properties of live objects in order to update the web page providing server, an information provider, a dynamic content provider, client, and FIG interaction interactions performed between the routing network; FIG. 3 is a high-level diagram illustrating a many to many mapping performed by the routing network; FIG. 4 shows two different pages including sports scores; FIG. 5 is a diagram illustrating the input source and which may be a block diagram of an update message generation tool; FIG. 6 is a flowchart illustrating the steps performed by the activation module according to one embodiment; FIG. 7 is a diagram illustrating a view of the lower layer network routing according to an embodiment of a block diagram; FIG 8 is a flowchart illustrating the step of routing through the gateway object illustrated performed by nodes in the cluster for executing the input message received from the source; FIG. 9 shows an example of a web page according to an embodiment; FIG. 10 shows an embodiment using a routing network 110 to the delivery system embodiment of a personalized message; FIG. 11 shows a simplified flowchart of an embodiment for generating a grant message; 12 shown in FIG. 根据一个实施例的用于将批消息路由至客户机的方法的简化的流程图；以及图13示出根据一个实施例的用于在客户机处处理批消息的方法的简化的流程图。 A simplified flowchart of a method of the batch routes the message to the client according to one embodiment; and FIG. 13 shows a simplified flowchart of a method for a batch process embodiment of the message at the client's.
对本文公开的实施例的特性和优点的进一步理解可以通过参考说明书的其余部分和附图来实现。 Further understanding of the features and advantages of the disclosed embodiments herein may be realized by reference to the remaining portions of the specification and the drawings.
详细说明在一个实施例中，可以使用动态内容路由网络向远程客户机提供个人化内容。 Detailed Description In one embodiment, dynamic content routing network may be used to personalize content to the remote client. 首先描述动态内容路由网络，然后描述向客户机递送个人化内容。 First, describe the dynamic content routing network, and then describe the delivery of personalized content to the client.
动态内容路由网络图1是示出包含动态内容路由网络110(下文称为“路由网络”)的环境100的高层框图。 Dynamic Content Routing Network FIG. 1 is a high level block diagram illustrating an environment containing dynamic content routing network 110 (hereinafter referred to as "routing network") 100. 环境100还包含与客户机114通信的服务器112、信息提供者108和动态内容提供者116。 Environment 100 also comprises a client 114 and the server 112 in communication, information providers 108 and content provider 116 dynamically. 虽然典型的环境100将具有上百台服务器112和信息提供者108、成千(或甚至上百万)台客户机114和多个动态内容提供者116，但为了提高本说明的清楚性起见，图1仅仅示出这些实体中的每一种中的一个。 Although exemplary environment 100 having hundreds of servers 112 and the information provider 108, thousands (or even to millions) clients 114 and a plurality of dynamic content provider 116, in order to improve the sake of clarity of the present description, FIG. 1 shows only one of each of these entities.
服务器112、客户机114、信息提供者108、动态内容提供者116和路由网络110较佳地通过诸如包括因特网的链路之类的传统通信链路117进行通信。 Server 112, the client 114, the information provider 108, the content provider 116 and the dynamic routing network 110 preferably comprises a conventional communicate via a communication link such as link 117 such as the Internet. 通信链路117包括诸如专用或共享数据、有线电视或电话线之类的公知的有线通信媒体、和/或例如使用诸如用于全球移动通信系统(GSM)、码分多址(CDMA)、时分多址(TDMA)等协议通过蜂窝电话网络进行的通信等公知的无线通信媒体。 Communication link 117 includes, such as a dedicated or shared data, well-known cable or telephone line or the like of the wired communication medium, and / or such as for example using Global System for Mobile (GSM), Code Division Multiple Access (CDMA), time division communications multiple access (TDMA) protocol and the like of the cellular telephone network via a wireless communication medium is well known.
在一个实施例中，每一实体可以与向各实体提供对因特网上的其它计算机的访问的一个或多个因特网服务供应商(ISP)(未示出)通信。 In one embodiment, each entity may provide access to one of the other computers on the Internet or a plurality of Internet service providers (ISP) (not shown) to communicate with various entities. 另外，服务器112、客户机114、信息提供者108、动态内容提供者116和路由网络110较佳地各由诸如“66.35.209.224”等至少一个互联网协议(IP)地址来标识。 Further, the server 112, the client 114, the information provider 108, the content provider 116 and the dynamic routing network 110 is preferably identified by a respective address such as "66.35.209.224" and the like at least one Internet Protocol (IP). IP地址还可以具有一个或多个与其相关联的域名，例如“bangnetworks.com”。 IP addresses may also have one or more domain name associated therewith, for example, "bangnetworks.com". 本发明的替换实施例除了本文中描述的那些以外，或作为替代还可以使用替换的寻址方案和/或命名约定。 Alternative embodiment of the present invention other than those, or alternatively may be used as an alternative addressing scheme and / or a naming convention described herein. 例如，其中一个或多个客户机是蜂窝电话或其它便携式设备的实施例可以依靠不同的寻址方案。 For example, one or more clients are examples of a cellular telephone or other portable device may rely on different addressing schemes.
较佳地，信息提供者108向服务器112提供网页或其它数据表示。 Preferably, the information provider 108 provides a web page or other data to the server 112 represents. 网页包含一个或多个“活对象”，它(们)被指定成可实时动态更新的对象。 Web page contains one or more "live objects" that (they) are assigned to objects dynamically updated in real time. 每一活对象由对象标识符或对象ID来标识。 Each live object identified by the object ID or the object is identified. 较佳地，服务器112向多个客户机114提供页面118。 Preferably, the server 112 provides a page to a plurality of clients 118 114. 客户机114联系路由网络110并在网页上注册对象ID的更新消息。 The client network 110 and 114 contact routing update message object ID is registered on the page. 路由网络110进而较佳地维护指示哪些客户机已注册哪些对象ID的注册表。 Routing network 110 which in turn is preferably maintained indicating which client ID registered registry objects.
信息提供者108和/或动态内容提供者116向路由网络110发送更新消息。 Information providers 108 and / or dynamic content provider 116 sends an update message 110 to the routing network. 这些消息可以在信息提供者108或动态内容提供者116想要更新活对象的属性的任何时刻发送。 These messages may be provided any time in the information provider 108 or content provider 116 wants to update the dynamic properties of live objects is transmitted. 每一更新消息较佳地标识一活对象，并包含用于更新所标识的活对象的属性的数据。 Preferably, each update message identifies a live object, and contains data for updating live object identified attributes. 路由网络110访问该注册表，并确定哪些客户机已注册了所标识的对象。 Routing network 110 to access the registry, and determine which clients have registered object identified. 然后，路由网络110将该更新消息路由至合适的客户机。 Then, the updated routing network 110 routes the message to the appropriate client. 在接收到更新消息时，客户机114更新该活对象的指定属性。 Upon receiving the update message, the client 114 updates the specified property live objects.
路由网络110通过基于对象的路由提供从对象到客户机的有效的一对多映射(并且通过信息的推断，提供从信息提供者108/动态内容提供者116到客户机的多对多映射)。 Routing network 110 to provide an effective to-many mapping from the object to the client object via the route based on (and by inference the information provided from the information provider 108 / dynamic content provider 116 to a client-many mapping). 由信息提供者108/动态内容提供者116向路由网络110提供的消息并不全部基于所指定的目的地被路由至客户机114；更具体地，它们不是如在传统的IP路由方案中那样基于的客户机IP地址来路由的。 108 provided by the message / dynamic content provider 116 provides information to the routing network 110 is not based on all the designated destination are routed to client 114; more specifically, as they are not based on traditional IP routing scheme client IP address routing. 而是基于消息所引用的活对象来路由消息。 But on live objects referenced message to route messages.
由路由网络110提供的映射和基于对象的路由允许信息提供者108/动态内容提供者116实时地更新动态地变化的典型客户机处的活对象的属性，而无需信息提供者或动态内容提供者跟踪客户机或客户机所查看的网页。 Property provided by the routing network 110 maps and 108 / dynamic content routing object based on permission information providers who live objects updated in real-time and dynamically changing the typical client at 116, without the information provider or dynamic content provider tracking web client or client viewing. 客户机114进而不需要具有对象的ID的先验知识一当它们从服务器112接收页面118时它们'发现'它们应注册哪些ID。 ID priori knowledge of the client 114 need not have further object when they are a 'find' page 118 from the server 112 receives the ID which they should register.
基于对象的路由还允许信息提供者108动态地更新网页上的内容而不要求客户机114再请求内容，并且不要求信息提供者108或服务器112维持与客户机的连接。 Also allows the information 108 on the content page is updated dynamically without requiring the client 114 then requests the content, and does not require the information provider server 108 or client 112 maintain a connection with the object-based routing. 以此方式，与利用客户机和服务器112之间的传统的客户机方请求驱动的传输控制协议/互联网协议(TCP/IP)连接时有可能的情况相比，多得多的客户机能从给定的信息提供者108接收更新的内容。 As compared to the case where the connection is possible in this manner, the client and the server using a traditional client-side driver request transmission control protocol / Internet protocol (TCP / IP) between 112, from the client can give much more specific information provider 108 receives content updates.
现在转到图1中所示的各个实体，服务器112较佳地是被配置成用作web服务器并向客户机114提供页面118和其它数据表示的传统计算机系统。 Turning now to the various entities illustrated in FIG. 1, the server 112 is preferably configured as a web server to the client computer system 114 provides a conventional page 118, and other data representation. 由服务器112提供的页面118与一个或多个信息提供者108相关联。 Page provided by the server 112 or 118 and a plurality of information provider 108 is associated.
信息提供者108是提供一个或多个页面118、网页中所包含的信息和/或由服务器112提供的其它数据表示的实体。 Information provider 108 is an entity or a plurality of pages 118, information included in the page and / or other data provided by the server 112 is represented. 信息提供者108较佳地具有耦合至因特网的传统计算机系统。 Information provider 108 preferably has a conventional computer system coupled to the Internet. 在一个实施例中，服务器112由信息提供者108直接控制(例如，服务器物理地位于信息提供者处和/或专用于只提供信息提供者的网页)。 In one embodiment, the server 112 provides direct control by the information 108 (e.g., web server physically located at the information provider and / or to provide specific information to provide only those). 在本实施例中，服务器112和信息提供者108能作为同一实体来对待。 In the present embodiment, the server 112 and the information provider 108 can be treated as the same entity. 在替换实施例中，服务器112提供来自多个信息提供者的网页。 In an alternative embodiment, the server 112 provides a web page to provide information from a plurality of persons.
如本领域中公知的，页面118和服务器112上的其它内容由具有“服务://服务器/路径/网页”形式的统一资源定位符(URL)来指定。 As it is well known in the art, page 118, and other content on the server 112 having "service: // server / path / page" in the form of a Uniform Resource Locator (URL) specified. 通常，页面118通过超文本传输协议(HTTP)来获取，从而用于从具有域名“www.bangnetworks.com”的web服务器检索网页“bl.html”的示例性URL是“http://www.bangnetworks.com/news/bl.html”。 Generally, pages 118 to get through the Hypertext Transfer Protocol (HTTP), so as to retrieve web pages from a web server with a domain name "www.bangnetworks.com" of "bl.html" exemplary URL is "http: // www. bangnetworks.com/news/bl.html ".
如本文中所使用的，“网页”是可以从服务器112获得的数据块。 As used herein, a "page" data blocks may be obtained from the server 112. 在最简单的情况下，网页是以超文本标记语言(HTML)编写的文件。 In the simplest case, the page file is written in HTML (HTML). 网页还可以包含或指代一个或多个其它数据块，例如其它文件、文本、图像、小应用程序、视频和/或音频。 Web page may also contain or refer to one or more other data blocks, for example, other files, text, images, applets, video and / or audio. 另外，网页可以包含用于呈现该网页及其内容的指令，例如HTML标签和样式表。 Further, the web page may comprise instructions for presenting the web page and its content, such as HTML tags and style sheets. 指令也可以是与HTML相关并将语义内容添加至网页的可扩展标记语言(XML)，或是将某些动态内容添加至网页的动态HTML(DHTML)。 Instructions may also be added with the relevant HTML page to the semantic content and Extensible Markup Language (XML), or to add some dynamic content to a dynamic HTML page (DHTML). 另外，这些指令可以采用诸如JAVA小应用程序和JAVASCRIPT之类的一个或多个程序和/或DHTML脚本的形式。 Further, such instructions may applets and the like or a JAVASCRIPT JAVA form of a plurality of programs and / or scripts using DHTML.
如本文所使用的，“网页”一词还指由服务器112提供的其它数据表示，无论这些数据表示是否包括传统网页的特征。 As used herein, "Web" The term also refers to other data provided by the server 112 indicates, whether that data indicating whether the page includes the traditional features. 这些数据表示包括例如预期供web浏览器120使用的应用程序和数据，或驻留在客户机114或其它地方的其它应用程序，例如电子表格或文本(例如，文字处理)数据等。 These data indicate that, for example, include an application for the intended use of the web browser 120 and data, or reside in the client 114, or elsewhere in other applications, such as spreadsheet or text (e.g., word processing) data.
在一个较佳实施例中，诸如网页和网页的元素等客户机处的对象能被信息提供者108指定为“活”。 In one preferred embodiment, 108 designated as "live" objects can be information about the client and the web page elements such as other providers. 活对象的属性能由信息提供者108或代表信息提供者作用的另一实体在客户机114处动态地实时更新。 Properties of live objects 108 can be provided by the information provider or the information provider on behalf of another entity acting dynamically update the client 114 in real time. 如在本文中使用的，“对象”是客户机114处能被单独标识或访问的任何资料或数据。 As used herein, "subject" can be a client 114, or any information or data accessed individually identified. 对象的例子包括网页的元素，诸如文本字符和串、图像、画面、表、音频、视频、小应用程序、脚本、HTML、XML和形成网页的其它代码；由小应用程序、脚本和/或代码使用的变量和其它信息；嵌入在网页中的URL等。 Examples of objects include elements of a web page, such as text characters and strings, images, pictures, tables, audio, video, applets, scripts, HTML, XML, and other code form web page; by the applets, scripts, and / or code variables and other information to be used; URL or the like embedded in a web page. 应用程序和操作系统构造也是对象。 Applications and operating system configurations are objects. 例如，电子表格的单元格、文字处理文档中的文本和由操作系统或应用程序显示的标题栏和消息是对象。 For example, cells in a spreadsheet, word processing document and title bar text and messages displayed by the operating system or application objects. 较佳地，可以将多个对象组合成单个逻辑对象。 Preferably, a plurality of objects may be combined into a single logical object. 因此，对象可以在任何期望或有用的粒度级别上定义。 Accordingly, the object may be defined at any level of granularity desired or useful.
因为通过“对象”来概念化和组织网页上的内容，因此本发明本质上从HTML代码或其它惯用的表示中提取网页和网页内容以及客户机114处的其它模块和/或功能。 Since the contents of the "object" conceptualized and tissue web, the present invention thus essentially extracts web pages and other content, and the client module 114 and / or functions from the HTML code or other conventional representation. 此提取允许信息提供者108更新对象的属性而不用顾及位置、显示格式或如何在客户机114处表示数据的其它细节。 This allows the information provider 108 extracts the object properties updated without regard to the position, display format data or how to represent the client 114 in the other details.
活对象具有相关联的“属性”，这些“属性”包括与该对象有关或相对于该对象所引用的任何可修改的数据。 Associated with the live object "property", the "properties" relating to the object comprises or modified with respect to any of the data referenced by the object. 信息提供者108一般但不一定为向客户机114提供的活对象的属性提供初始设置。 Information provider 108 typically but do not necessarily provide an initial set as the attribute to a living subject the client 114 provided. 这些属性可能影响或不影响网页中的对象或其它数据表示的可视表示。 These properties may affect or not affect the web page or other data object represented by visual representation. 属性可能影响对象的内在方面，因此，属性的变化可能对包含该对象的网页没有任何直接影响。 Properties may affect internal aspect of the object, therefore, changes in the property may not have any direct impact on the page that contains the object. 例如，属性可能影响对象的特定方面是否可修改、对象如何响应用户输入或其它刺激等。 For example, attributes may affect specific aspects of the object are modifiable, how an object in response to user input or other like irritation. 另外，属性还可以对如何在客户机114处显示对象具有直接影响。 In addition, attributes may also have a direct effect on how the display object 114 in the client. 例如，属性可以影响由对象显示的文本、图像或其它数据的内容、颜色、字体、大小、格式、或其它特性。 For example, properties can be influenced by the object display text, images, or other data content, color, font, size, format, or other characteristics. 其它属性可能占据介于不影响对象的可视表示和直接影响对象的可视表示之间的范围的部分。 Other attributes may occupy not affect the object between the visual representation and a direct impact on the range between the visual representation of the object portion. 例如，显示足球比赛的得分的网页可以包括自从服务器112提供网页时起比赛的列表和比赛的当前得分。 For example, the display scores of football matches since the webpage may include web server 112 provides a listing of the game and the current game score. 比赛的列表、要显示的比赛的子集和比赛的得分能按需要或所期望的被指定为活对象(或单个活对象的属性)并被更新。 Subset list and the score of the game of the game, the game can be displayed are designated as live objects (or properties of single living object) as needed or desired and updated.
属性较佳地还可包括例示对象的实例或调用对象的功能。 Examples of attributes may also preferably include embodiments illustrated or object function call object. 例如，浏览器窗口对象的属性可以包括用于例示另一浏览器窗口的功能。 For example, the property browser window object may further include a function exemplified for the browser window. 此功能可以作为对象属性的逻辑变化来调用。 This feature can be used as a logical change object attributes to call. 第二浏览器窗口能通过原始浏览器窗口(即，对象)来引用或被指定为新的活对象。 Second browser window by the original browser window (i.e., objects) to a new reference or designated as live objects.
信息提供者108或其它实体较佳地通过更新消息来更新客户机114处的活对象。 The information provider or other entity preferably 108 to update the client 114 live objects by updating message. 一般而言，更新消息标识活对象，并在需要时标识该活对象的属性，并包含用于更新属性的数据。 In general, the update message identifying living objects, and identify the properties of the live objects when necessary, and contains data for updating attribute. 在一个实施例中，数据可以是属性的实际值或用于使对象的属性得以更新的可执行代码。 In one embodiment, data may be the actual value of the property or properties for the object is updated executable code. 例如，数据可以是属性应被设置成的简单的数值或文本值，例如“4”，和/或数据可以是JAVASCRIPT代码或对客户机处实现对于对象属性的期望改变的JAVASCRIPT功能的调用。 For example, attribute data may be set to a simple numerical value or text, for example, "4", and / or code or data may be JAVASCRIPT client implementation calls for the object properties desired altered function JAVASCRIPT .
更新消息较佳地隐式或显式标识客户机114处的处理程序，以在更新活对象的属性时使用。 Preferably, the update message implicitly or explicitly identify the client processor 114 to update properties when used in a living subject. 在一个实施例中，当消息隐式指定处理程序(例如，当消息不标识特定处理程序)时，客户机114使用默认处理程序。 In one embodiment, when the message handler is implicitly specified (e.g., when the message does not identify a specific processing program), the client 114 to use the default. 在一个实施例中，如果更新消息指定属性的实际值，则默认处理程序生成用于将属性改变成该指定值的JAVASCRIPT代码。 In one embodiment, if the update message specifying the actual value of the property, the default handler for changing attribute to generate the code JAVASCRIPT the specified value. 如果更新消息中的数据是JAVASCRIPT代码，则默认处理程序不执行该代码的任何处理。 If the message is the data update JAVASCRIPT code, the default handler code, any processing is not performed. 在任一情况下，默认处理器较佳地使用LiveConnect来执行客户机114处的Java虚拟机(JVM)122中的JAVASCRIPT代码，从而更新活对象的属性。 In either case, the default processor LiveConnect preferably used to execute the client 114 of the Java Virtual Machine (JVM) JAVASCRIPT code 122, to update the properties of live objects.
对于某些对象和/或数据类型，默认处理程序不适合。 For certain objects and / or data type, the default handler is not suitable. 在这些情况中，消息较佳地显式标识用于执行更新的处理程序。 In these cases, the message is preferably used to perform explicit identification of the program update processing. 例如，消息可以显式指定访问数据的功能或消息可以显式标识其中应执行数据的环境。 For example, the message may explicitly specify the functions or to access a data message may be explicit identification of the execution environment wherein the data. 例如，更新消息中的数据可以包括供诸如MACROMEDIA FLASH等软件“插件”执行的代码，且消息可以显式地将FLASH标识成处理程序。 For example, the update data message may include a code, such as for execution MACROMEDIA FLASH software "plug-ins", and the message may be explicitly identified as FLASH handler.
信息提供者108较佳地通过在提供给客户机114的网页或其它数据表示中包括对象的唯一标识符，即对象ID来将对象指定为“活”。 Information provider 108 preferably comprises a unique identifier by the object to the client in a web page or other data representation 114, i.e., the object ID to the object as "live." 在一个实施例中，信息提供者108用HTML表达式：ID＝“elementIdentifier”来编码对象的相应HTML“ID”特性中的对象ID，其中“elementIdentifier”是对象ID并且最好是串。 In one embodiment, the information provider 108 using HTML expression: ID = "elementIdentifier" corresponding to the coded HTML "ID" characteristic of an object ID, wherein "elementIdentifier" object ID and is preferably a string. 该串能编码信息提供者108或建立对象ID的其它实体所期望的任何信息，并且在一个实施例中是简单的文本和/或数值标识符。 The sequence coding information provider 108 can be other entities to establish a desired object ID or any information, and in one embodiment is a simple text and / or numeric identifier. 在一个实施例中，信息提供者108以诸如“Bang$”等预定义标记来开始对象ID，以将活对象与碰巧具有所定义的ID特性的其它对象区分开来。 In one embodiment, the information provider 108, such as a predefined tag "Bang $" and the like to start the object ID, to the live objects from other objects happen to have the ID characteristics defined separately. 例如，对象可以具有对象ID“Bang$elementIdentifier”。 For example, an object can have an object ID "Bang $ elementIdentifier".
在该较佳实施例中，每一信息提供者108可任选地编码其对象ID中的唯一信息提供者ID，以防止不同信息提供者的对象ID之间的命名冲突。 In the preferred embodiment, each of the information provider 108 may optionally encode its unique object ID information of the provider ID, to avoid naming conflicts between different object ID information provider. 在一个实施例中，信息提供者ID是文本和/或数值标识符。 In one embodiment, the information provider ID is text and / or numeric identifier. 信息提供者108可以将信息提供者ID和对象ID指定为分层名字空间的一部分。 The information provider 108 may provide information ID and object ID specified as part of a hierarchical namespace. 例如，在一个实施例中，对象被命名如下：“$namespace$[namespace2$...$namespaceN$]objectId”，其中“$namespace1”是信息提供者ID，而“$”用作名字分隔符并定义名字空间分层结构的另外的可任选层次。 For example, in one embodiment, the object is named as follows: "$ namespace $ [namespace2 $ ... $ namespaceN $] objectId", where "$ namespace1" is the information provider ID, rather than "$" is used as a delimiter name and may optionally define additional level namespace hierarchy. 系统100的一个实施例支持典型的目录服务功能。 Embodiment of a system 100 according to a typical directory service support functions. 例如，出现在一起的两个美元标记字符“$$”指名字空间分层结构的顶层。 For example, two characters appear together in a dollar sign '$$' refers to the top-level namespace hierarchy.
因此，活对象的对象ID较佳地由预定义标记、信息提供者ID名字空间和由信息提供者108分配的值的组合来形成。 Accordingly, the object ID live objects Preferably, a combination of information values ​​assigned namespace 108 and the user ID provided by the information formed by a predefined tag. 例如，表示具有符号“BANG”的股票的实时价格的活对象的对象ID可以是：“Bang$$informationProviderID$equities$realtime$bang”。 For example, an object that represents the object ID of real-time price of living has a sign "BANG" stocks could be: "Bang $$ informationProviderID $ equities $ realtime $ bang". 在本例中，“Bang$”是表示活对象的预定义标记，“$informationProviderID”是标识信息提供者的ID，“$equities$realtime$”定义名字空间分层结构的层次，而“bang”标识特定对象。 In the present embodiment, "Bang $" is a predefined mark live objects, "$ informationProviderID" is identification information provider ID, Hierarchy "$ equities $ realtime $" namespace hierarchy is defined, and "bang" identify a specific object.
在某些实施例和情形中，对象ID使用相对名。 In some embodiments and situations, using the object relative name ID. 例如，引用其自己的对象ID的信息提供者108在其自己的名字空间中是隐式的。 For example, the information provider reference in its own object ID 108 is implicit in their own namespace. 因此，信息提供者108不需要在它内部使用的对象ID中包括信息提供者ID。 Thus, the information provider 108 need not be included in the object ID in its internal information provider ID. 在一个实施例中，信息提供者ID不被显式编码成对象ID。 In one embodiment, the information provider ID is not explicitly coded into an object ID. 相反，信息提供者ID在网页的其它地方编码以向页面的对象ID提供范围。 Instead, information provider ID elsewhere to provide coded page ID of the page range to the subject.
在一个实施例中，对象ID标识网页或客户机114处的其它文档的文档对象模型(DOM)表示中的一个点(即，树中的节点)。 In one embodiment, a point other documents Document Object Model (DOM) object ID identifies the page in the client 114 or a representation (i.e., nodes in the tree). DOM是将文档表示为对象的分层结构的平台和语言中立接口。 DOM is a hierarchical structure of the document represents a platform for the object and language-neutral interface. DOM还提供允许程序和脚本动态地访问和更新对象的属性的接口。 DOM also provides allows programs and scripts to dynamically access and update the object properties of the interface. 对象属性可以由子孙对象继承。 Object properties can be inherited by the descendants of the object.
在本实施例中，客户机114较佳地在DOM表示中的指定点的上下文中执行更新消息。 In the present embodiment, the client 114 is preferably performed in the context of the update message designated point in the DOM representation. 更新可以指定对所标识的点处的对象的属性的改变。 Updates can specify a change to the object at the point of the identified property. 更新还可以指定对所标识的点处的对象的父或子孙的改变。 Updates can also specify changes to the object at the identified point or parent offspring. 在每一种情况中，相对于DOM表示中的指定点执行更新。 In each case, with respect to the specified point in the DOM representation update is performed. 在一个实施例中，DOM表示中的点指定如何更新定位于那些点处的活对象的属性。 In one embodiment, DOM representation of how to update the specified point at the object positioned in the living properties of those points. 因此，取决于DOM表示中所标识的活对象的位置可以不同地解释相同的更新。 Thus, depending on the live object identified in the DOM representation can be interpreted differently in the same location update.
例如，假设标识为“window.document.frame[3].ObjectID”的DOM表示中有一个对象。 For example, assume identified as "window.document.frame [3] .ObjectID" has a DOM representation of the object. 还假设该对象具有指定对象所显示的文本的位于“window.document.frame[3].ObjectID.innerText”处的“innerText”属性。 It is also assumed that the object has positioned "window.document.frame [3] .ObjectID.innerText" at "innerText" text attribute specifies a displayed object. 更新消息能通过为innerText属性指定“Ojbect ID”和新值来改变由对象显示的文本。 Update message by specifying "Ojbect ID" and the new values ​​for the property to change the text display innerText by the object.
使用对象ID来指定对象的优点在于信息提供者108或提供更新消息的其它实体能访问和改变对象的属性而不必知道对象在DOM表示中的实际位置。 The advantage of using the object ID to specify the object is to provide an information provider, or other entity 108 can access and update messages to change the properties of an object without having to know the actual position of the object in the DOM representation. 实际上，对象可以在不同DOM表示中的不同位置中，和/或在同一DOM表示的多个位置中。 In fact, the object may be in different DOM representation different locations, and / or a plurality of positions in the same DOM representation. 在这些情况的任一种中，更新消息将改变具有给定对象ID的所有对象的指定属性。 In any of these cases, the update message will change all objects having specified property ID of the given object.
取决于环境100的特定实施例，信息提供者108和/或动态内容提供者116向路由网络110提供更新消息。 Depending on the particular embodiment, environment 100, the information provider 108 and / or 116 to provide dynamic content provider network 110 to the routing update message. 动态内容提供者116较佳地是由提供诸如股票价格和/或体育比赛得分等实时信息的实体操作的传统计算机系统。 Dynamic content provider 116 is preferably provided by a conventional computer system, such as stock prices and / or the sports scores and other information, real-time operation of the entity. 在一个实施例中，信息提供者108从动态内容提供者116或另一个源接收活对象的已更新的属性(或在内部生成已更新的属性)。 In one embodiment, the information provider 108 provides the content provider 116, or other dynamic properties of the updated source live objects received (or generated internally updated attribute). 然后，信息提供者108向路由网络110发送指定对象ID和对象属性的变化的更新消息。 Then, the information provider sends an update message 108 to change the specified object ID and object attributes 110 to the routing network. 在本实施例中，环境100中可以没有动态内容提供者116。 In the present embodiment, the environment 100 may not have the content provider 116 dynamically.
在另一个实施例中，动态内容提供者116向一个或多个信息提供者108提供活对象的对象ID，而信息提供者108向客户机116分发活对象。 In another embodiment, the dynamic content provider 116 provider 108 provides the live object or object ID to a plurality of information, and the information provider 108 distributing the live object to the client 116. 然后，动态内容提供者116向路由网络110发送指定活对象的属性的变化的消息。 Then, the dynamic content provider 116 sends message specified attribute changes live objects 110 to the routing network. 例如，动态内容提供者116向信息提供者108分发与特定垒球比赛的得分相关联的对象ID。 For example, content provider 116 provides dynamic object ID 108 with a particular baseball game score distribution associated to the information. 然后，动态内容提供者116向路由网络110发送指定对象ID和对控制该特定垒球比赛的显示得分的对象的属性的更新的消息。 Then, the content provider 116 sends a dynamic update of the message object ID specified, and a display control that particular baseball game scores to the object properties routing network 110. 这两个实施例不是互斥的，因此某些更新可以由信息提供者108提供给路由网络110，而另一些由动态内容提供者116提供。 These two embodiments are not mutually exclusive, and therefore some of the update may be provided by the information 108 provided to the routing network 110, while others provided by the content provider 116 provides dynamic.
客户机114是从服务器112检索页面118和/或其它信息的设备。 The client 114 to retrieve the page from the server 112 and / or 118 of the other device information. 在一个实施例中，客户机114是人们用于访问因特网上的信息的传统个人计算机。 In one embodiment, the client 114 is a conventional personal computer for people to access information on the Internet. 在替换实施例中，客户机114是具有因特网连接的不同消费者电子设备，诸如启用因特网的电视机、蜂窝电话、个人数字助理(PDA)、web浏览装置等。 In an alternative embodiment, the client 114 is a different consumer electronic device having an Internet connection, such as the Internet-enabled television, a cellular phone, a personal digital assistant (PDA), web browsing devices. 客户机114较佳地但不一定要具有相关联的显示设备。 The client 114 preferably but not necessarily associated with a display device.
客户机114较佳地执行诸如MICROSOFT INTERNET EXPLORER等用于检索网页并将它们显示在显示设备上的web浏览器120。 The client 114 is preferably performed such as MICROSOFT INTERNET EXPLORER pages for searching the web browser and displays them on the display device 120. 在客户机从服务器112接收除传统网页以外的数据表示的实施例中，web浏览器120不一定要与常规的web浏览器共享相似性。 In an embodiment represented by a client server 112 receives data other than the traditional web from, web browser 120 does not have to share similarities with a conventional web browser. 较佳地，web浏览器120包含用于执行JAVA小应用程序和/或脚本的JVM 122。 Preferably, web browser 120 comprises a JVM 122 for performing JAVA applets and / or script. web浏览器120较佳地还包含诸如对JAVASCRIPT(或诸如VBScript等另一脚本语言)和文档对象模块(DOM)的支持等动态HTML能力，并允许JAVA和脚本语言之间的通信。 the web browser 120 preferably further comprises a support, such as dynamic HTML ability JAVASCRIPT (or another scripting language such as VBScript, etc.) and a document object module (DOM), and to allow communication between the JAVA and scripting language. 在一个实施例中，web浏览器120支持用于允许JAVA小应用程序和以所支持的脚本语言编写的脚本之间的通信的LiveConnect标准。 In one embodiment, web browser 120 allows support for applets and LiveConnect JAVA standard for communication between the scripts are supported by scripting language. web浏览器120还可以通过诸如MACROMEDIA FLASH、REALNETWORKS REALPLAYER和/或APPLE QUICKTIME等软件插件来扩展。 the web browser 120 may also be extended by such MACROMEDIA FLASH, REALNETWORKS REALPLAYER and / or software plug-APPLE QUICKTIME. 在替换实施例中，JVM 122的功能和/或web浏览器120的其它方面由客户机114中的一个或多个其它功能单元来提供。 Embodiments, other aspects of the JVM functions 122 and / or the web browser 120 to provide the client 114 by one or more other functional elements in alternative embodiments. 术语“模块”在本文中用于指用于提供属于模块的功能的软件计算机程序代码和/或任何硬件或电路。 The term "module" computer program code for the software and / or any hardware or circuitry means for providing the function module belongs herein. web浏览器120和JVM 122是客户机114中的模块的例子。 the web browser 120 and JVM 122 are examples of a client module 114.
在某些实施例中，客户机114不一定要具有显示设备、web浏览器120和/或与典型的消费者设备相关联的其它组件。 In certain embodiments, the client does not have to have a display device 114, 120, and / or with other components of a typical consumer device associated with the web browser. 例如，客户机114可以是具有web连接的某些方面的专用设备，诸如启用web的装置中或用于汽车、音频-视频设备或某些其它设备的控制器中的嵌入式HTTP客户机。 For example, client 114 may be a dedicated device connected to certain aspects of the web, such as web-enabled apparatus or for an automobile, audio - video equipment or some other controller devices embedded HTTP client.
从服务器112提供给客户机114的页面118较佳地包括用于在网页上启用活对象的指令。 Provided from the server 112 to page 118 of the client 114 preferably comprises instructions to enable live objects on a page. 这些指令使客户机114自动且透明地(即，没有用户交互)联系路由网络110并下载用于激活活对象的激活模块124。 These instructions cause the client 114 to automatically and transparently (i.e., without user interaction) and the contact routing network 110 to download live objects for activating the activation module 124. 在一个实施例中，指令包括指定激活模块124在路由网络110上的位置的URL。 In one embodiment, the instruction includes a URL specifying the location of the activation module 124 in routing network 110. 在一个替换实施例中，客户机114从服务器112或另一个源获取激活模块124。 In an alternative embodiment, the activation module 114 acquires the client 124 from the server 112 or another source.
激活模块124较佳地包括供JVM 122执行的JAVA指令。 Activation module 124 preferably includes instructions for the JVM 122 JAVA executed. 然而，模块124的替换实施例可以使用不同的语言和/或技术来编码页面118中的指令和/或激活模块124。 However, alternative embodiments of the module 124 may use different languages ​​and / or coding techniques pages 118 instructions and / or the activation module 124. 例如，指令和/或激活模块124可以或者作为本机代码或作为插件嵌入在web浏览器120或操作系统中。 For example, instructions and / or the activation module 124 can be either as native code or as a plug 120 embedded in a web browser or operating system. 在这些替换实施例中，web浏览器120不必从外部源下载激活模块124。 In such an alternative embodiment, web browser 120 without having to download the activation module 124 from an external source.
激活模块124较佳地向路由网络110注册来自由客户机114下载的页面118的对象ID，并响应于从网络接收到的更新消息更新活对象。 Preferably, the activation module 124 to the routing network 110 to register the client 114 downloads the free page object ID 118, and the response to the update message received from the network to update the live objects. 路由网络110将该注册记录在注册表125中。 The routing network 110 records registered in the registry 125. 客户机的注册较佳地只要客户机正在显示相关联的页面118就保持有效，虽然系统100的其它实施例可以使用不同的准则来确定何时终止客户机的注册。 Registered clients are preferably as long as the client is associated with the display page 118 remains active, although other embodiments of system 100 may use different criteria to determine when to terminate the registered client.
图2是示出为了更新活对象的属性而在服务器112、信息提供者108/动态内容提供者116(一般称为“输入源210”)、客户机114和路由网络110之间进行的交互的交互图。 FIG 2 is to update the properties of live objects in the server 112, the information provider 108 shown / dynamic content provider (commonly referred to as "input source 210"), carried out between the client 110 and routing network 114 interacts 116 interaction diagrams. 最初，客户机114向服务器112发送网页请求(212)。 Initially, the client 114 transmits a request to the web server 112 (212). 作为响应，服务器112向客户机114提供包含或标识一个或多个活对象的网页(214)。 In response, the server 112 provides a web page or (214) comprises identifying one or a plurality of living objects to the client 114. 在网页中编码的指令较佳地使客户机114向路由网络110透明地请求激活模块124(216)。 Instructions encoded in a web page for the client preferably 114,110 to request routing network transparently activation module 124 (216). 作为响应，路由网络110发送激活模块124(218)。 In response, the routing network 110 sends an activation module 124 (218). 客户机114执行激活模块124(220)，该模块标识客户机处的活对象的对象ID并向路由网络110注册对象ID(222)。 The client 114 performs the activation module 124 (220), the module identification of living objects at the client object registration ID and object ID 110 (222) routing network. 路由网络110更新其注册表以标识客户机114已对其进行注册的对象ID(223)。 Routing network 110 to update its registry to identify the client 114 has registered its object ID (223).
在某一点处，输入源210向路由网络110发送更新消息(224)以改变客户机114处的活对象的属性。 At some point, the input source 210 sends an update message 110 to the routing network (224) to change the properties of live objects in the client 114. 在一个实施例中，从输入源210到路由网络110的消息只包含单个对象ID和对所标识的对象的属性的更新。 In one embodiment, the routing from the input source 210 to the network 110 comprises only a single message object ID and updates the attributes of the identified objects. 在另一个实施例中，消息包含多个对象ID和相应的属性更新。 In another embodiment, the message comprises a plurality of objects and corresponding attribute ID updated. 在后一实施例中，消息可以具有将消息标识为具有多个对象ID和更新的相关联的“批ID”。 In the latter embodiment, the message may have a message identified as "Batch ID" object ID and having a plurality of associated update. 较佳地，信息提供者108能以与包括对象ID相同的方式在页面118中包括批ID。 Preferably, the information provider 108 can include the same manner with the object ID in the page 118 includes a batch ID. 同样，客户机114较佳地能以与对象ID相同的方式向路由网络110注册批ID。 Similarly, the client 114 can preferably Batch ID register 110 to the routing network with the object ID in the same manner. 事实上，批ID可以与对象ID相同，使得客户机114通过注册一个ID来注册批和非批消息两者。 In fact, the same batch with the object ID may be ID, an ID so that the client 114 to register both the batch and non-batch registration messages. 或者，可以建立用于注册批消息的单独过程。 Alternatively, you can create a separate registration process for the batch message. 客户机114较佳地如同分开递送每一消息那样来处理一批部件消息。 As the client 114 is preferably delivered as separate messages to each batch of processed message section.
路由网络110进而较佳地通过使用诸如IP地址等标准因特网通信协议将消息路由至已对指定对象ID进行注册的每一客户机114(226)。 Routing network 110 preferably further routes the message to the specified object ID is already registered in each client 114 (226) by using the IP address, such as a standard Internet communication protocol. 客户机114处的激活模块124处理该消息并更新所标识的活对象的属性(228)。 Activation module 124 of the client 114 processes the message and update the properties of live objects identified (228). 如果具有相同对象ID的活对象出现在客户机114处的多个位置中(例如，在客户机处显示的网页上的多个位置处)，则激活模块124较佳地更新具有所指定的ID的每一活对象。 If the live objects with the same object ID is present in a plurality of positions in the client 114 (e.g., at a plurality of positions on the page displayed at the client), the activation module 124 preferably updates with the specified ID each live object. 结果，路由网络110允许动态地更新客户机114处的活对象。 As a result, routing network 110 allows live objects dynamically update the client 114. 较佳地，此路由和更新的发生快到对输入源210来说足以被认为是“实时的”。 Preferably, this update occurs approaching the route and the input source 210 is enough to be considered "real time."
在图2中的虚线框230中指示的这一更新过程能重复无限次，并且对信息提供者210和客户机114是完全异步的。 This update procedure in dashed box 230 in FIG. 2 can be repeated unlimited times indicated, and the information provider 210 and the client 114 is completely asynchronous. 例如，输入源210可以在体育赛事得分变化或股票价格波动时向路由网络110发送常规更新消息，而一旦体育赛事结束或股票市场关闭则可以停止发送更新消息。 For example, the input source 210 may send a message to the regular updates routing network 110 changes during sports scores or stock price fluctuation, once the end of the sports or stock markets may be closed to stop sending the update message. 当客户机114结束包含活对象的网页的显示，或不再期想接收更新消息时，客户机较佳地关闭与路由网络110的连接(232)。 When the client 114 ends the page containing live display objects, or when no longer want to receive updates of the message, the client is connected is preferably close to the routing network 110 (232). 路由网络110进而更新注册表125以移除客户机的对象注册(234)。 Routing network 110 further updates the registry 125 to remove the registered objects of the client (234). 在另一个实施例中，客户机114向路由网络110发送用于从一个或多个对象中有选择地注册和/或取消注册客户机的消息，而仍保留连接开放以接收关于其它对象的更新消息。 Embodiment, the client 114 transmits a message selectively from one or more objects registered and / or unregistered clients to the routing network 110. In another embodiment, the connection remains open to receive updates regarding other objects messages.
图3是图示由路由网络110执行的多对多映射的高层图。 FIG. 3 is a high-level diagram illustrating a many to many mapping performed by the routing network 110. 多个输入源(标记为210A-C)向路由网络110发送更新消息。 A plurality of input sources (labeled 210A-C) sending an update message 110 to the routing network. 每一更新消息较佳地指定至少一个对象ID和对所标识的对象的属性的更新。 Preferably, each update message updating at least a specified object ID and attributes of the identified objects. 路由网络110进而从给定的输入源210有选择地将更新消息路由至已注册了给定对象ID的客户机114。 Further routing network 110 from a given input source 210 selectively routes the message to update the registered object ID given client 114. 在图3中，假设例如客户机312A和312B已注册了给定对象ID，而其它客户机尚未注册该对象ID。 In FIG. 3, assume for example that the client 312A and 312B have registered for a given object ID, rather than the other clients not registered object ID. 因此，路由网络110将更新消息路由至客户机312A和312B，而不将消息路由至客户机312C-312H。 Thus, the updated routing network 110 routes the message to the client 312A and 312B, without routing the message to the client 312C-312H.
图4示出动态内容路由网络110的能力的一个例子。 FIG 4 shows an example of the ability of the dynamic content routing network 110. 图4示出包含体育比赛得分的两个不同的网页410、412。 Figure 4 shows two different pages 410, 412 comprise sports scores. 虽然网页被不同地格式化，但每一页面包含两场职业足球比赛和两场职业垒球比赛的相同得分。 Although the page is formatted differently, but each page contains the same score two professional football games and two professional baseball game. 网页410包含以“Local SportsScores(地方体育比赛得分)”为标题的所有四场比赛，而网页412包含以“BaseballScores(垒球得分)”为标题的垒球比赛和以“Football Scores(足球得分)”为标题的足球比赛。 Page 410 contains "Local SportsScores (local sports scores)," the title of all four games, while page 412 contains "BaseballScores (softball score)" as the title of the softball tournament and to "Football Scores (football score)" for the title game of soccer.
存在各种方式来使用活对象内部地表示网页中的比赛和得分。 There are various ways to use live objects in the page showing the internal race and scoring. 在一个实施例中，定义了具有比赛中所涉及的两队和与每一队相关联的得分的属性的“比赛”对象。 In one embodiment, the definition of "race" object has two teams and scores associated with each team games involved attributes. 比赛对象被放置在网页中的选定位置处，且对象的属性使关于比赛的信息被显示在页面上。 Game objects are placed in the web page at the selected location, and information about the properties of the object of the game is displayed on the page. 在另一实施例中，定义了“队”和“得分”对象，且队对象具有定义队名的属性，而得分对象具有定义得分的属性。 In another embodiment, the definition of the "team" and "score" the object, the object having attribute definition team and team name, and the score of the object has a defined attribute scores. 在此第二实施例中，队和得分对象被放置在页面上的选定位置处，使得当呈现页面时正确的队和得分对齐。 In this second embodiment, and the team score of the object is placed at a selected location on the page, such that the correct alignment and scoring team time when the page is rendered. 在又一实施例中，定义了具有一个队的名字和与该队相关联的得分的属性的一个对象。 In yet another embodiment, it is defined with a name and team scores one object attribute associated with the team. 然后，各对对象以正确的对齐被放置在页面中以指示比赛和得分。 Then, each object is placed in proper alignment on the page to indicate the score and the game. 在另一实施例中，定义了具有指定两队的名字的属性的一个对象，且定义了具有指定两个得分的属性的一单独对象。 In another embodiment, it defines an object with the specified name two of the attributes, and defining a separate object with the specified attributes two scores. 在最后这一实施例中，两个对象被放置在页面中，以使队名与相关联的得分对齐。 In this last embodiment, the two objects are placed on the page, so that the score associated with the team name aligned. 显然，这些表示的其它变化是可能的。 Obviously, other variations of these representations are possible.
对图4的例子假设比赛中的队名由具有两个队名的属性的“名字”对象指定，而比赛中的得分由具有两个得分的属性的“得分”对象指定。 Examples of 4 assumption team name game both teams have the attributes specified by the name of "name" object, and the game score is specified by the "score" object has two scores of properties. 在网页410中，具有被设置成标识“SF 49ers”和“STL Rams”的属性的名字对象414紧挨在“本地体育比赛得分”标题之下。 In page 410, it is provided with an identification name of the object attribute "SF 49ers" and "STL Rams" 414 immediately below the "local sports scores" heading. 具有被设置成将比赛的得分标识为“42”至“7”的属性的得分对象416紧挨在名字对象414的右边。 Score of the object is provided with a score of match identified as "42" to "7" attribute 416 immediately to the right moniker 414. 在网页412中，第二名字对象418的属性用略微不同的术语：“SF”和“STL”来标识相同的比赛。 In page 412, the second attribute name of the object 418 with a slightly different terms: "SF" and "STL" to identify the same game. 然而，如在网页410中所使用的，此名字对象418与同一得分对象416对齐。 However, as used in web page 410, this moniker 418 is aligned with the same score of the object 416.
因此，在每一网页410、412中的不同位置中使用同一得分对象416。 Therefore, using the same target score of 416 in the 410, 412 different locations each page. 为了更新两个网页上的San Francisco 49ers对St.Louis Rams足球比赛的得分，输入源210只需将指定得分对象416的对象ID和对得分属性的更新的更新消息发送至路由网络。 To update the San Francisco 49ers score on two pages of St.Louis Rams football game, the specified input source 210 simply score of the object and the object ID 416 of score update messages sent to update attribute routing network. 路由网络110将更新消息路由至合适的客户机114，且客户机无论特定页面布局如何均更新合适的得分。 Update routing network 110 routes the message to the appropriate client 114, and client specific page layout regardless of how scores are updated right.
输入源210，即信息提供者108和/或动态内容提供者116能使用各种工具来生成更新消息。 Input source 210, i.e., the information provider 108 to provide and / or dynamic content 116 can use various tools to generate an updated message. 图5是示出输入源210和其可用于生成更新消息的工具的框图。 FIG 5 is a block diagram illustrating an input source 210 and which may be used to generate the tool update message. 除了本文所述的工具以外或作为本文所述的工具的替代，可以使用其它工具。 Alternatively described herein, in addition to a tool or tool as described herein, other tools.
较佳地，该工具允许输入源210访问由路由网络110提供的用于接受消息的应用程序编程接口(API)。 Preferably, the tool allows the input source 210 accesses an application programming interface (API) provided by the accept message routing network 110. 在一个实施例中，由输入源210发送的消息与由客户机114处的激活模块124使用的消息格式相同。 In one embodiment, the message sent by the input source 210 in the same message format by the activation module 114 of the client 124 used. 在一个替换实施例中，提供给路由网络110的消息采用不同的格式，且路由网络将该消息翻译成激活模块124所使用的格式。 In an alternative embodiment, to the message routing network 110 using different formats, and translate the message routing network into a format used by the activation module 124.
在一个实施例中，输入源210使用数据泵模块510来访问API。 In one embodiment, the input data source 210 using the pump module 510 to access the API. 该数据泵模块510以每隔一定时间读取包含一个或多个对象ID和所标识的对象的新值的可扩展标记语言(XML)文件，并自动生成将表示对象属性的变化的消息发送至路由网络110的API调用。 The data pump module 510 reads the new value at regular time intervals comprising one or more objects identified by the object ID and the Extensible Markup Language (XML) file, and automatically generates an object representing the attribute change message to the routing network API call 110. 在另一实施例中，数据泵模块510是事件驱动的，并响应于文件中的变化或某些其它事件来读取XML文件。 Embodiment, the data is event-driven pump module 510 in another embodiment, and in response to changes in the file or some other event to read the XML file.
在另一实施例中，输入源210用引导器控制台模块512来访问API。 In another embodiment, the input source 210 with the guide console module 512 to access the API. 较佳地，引导器控制台模块512向管理员呈现显示页面118的内容的图形界面。 Preferably, the guide console display module 512 presents a graphical interface page content 118 to the administrator. 例如，管理员可以使用引导器控制台512来编辑网页上的文本数据、图像和/或任何对象或对象的属性。 For example, an administrator can edit the text data on a web page, image, and / or properties of any object or objects using a boot console 512. 在编辑之后，管理员使用“发送更新”按钮或类似的技术来使引导器控制台模块512通过API将用于改变的对象和属性的消息发送至路由网络110。 After editing, the administrator using the message "Send Update" button or similar techniques to the guide console module 512 via the API for changing the properties of the object and transmits to the routing network 110.
在另一实施例中，信息提供者108和动态内容提供者116通过用内容管理系统模块514访问API来一起用作输入源210。 Embodiment, the information provider 108 and content provider 116 dynamically as the content management system with access to the API module 514 to the input source 210 in another embodiment. 较佳地，内容管理系统模块514驻留在信息提供者108处，并从动态内容提供者116接收对象属性更新。 Preferably, the content management system module 514 resides at the information provider 108, and 116 to provide dynamic content received from the subject attribute update. 内容管理系统模块514较佳地更新服务器112处所存储的页面118中的活对象的属性，并且还将用于改变的属性的消息发送至路由网络110。 Content management system module 514 is preferably stored at the server 112 to update the page properties of live objects 118, and the message will also be used to change the properties of the network 110 transmits to the route. 以此方式，服务器112处的页面118和客户机114处所显示的网页几乎被同时更新。 In this manner the page, page 118 of the server 112 and the client 114 is displayed at almost the same time updated. 在一个实施例中，动态内容提供者114向路由网络110而不是向信息提供者108发送更新消息。 In one embodiment, the content provider 114 to the dynamic routing network 110 to the information provided by instead of sending an update message 108. 系统100的实施例还能使用本文所述的内容管理技术的任何组合。 Embodiments of system 100 can use any combination of content management techniques described herein.
例如，上述工具能生成具有用于将得分对象所显示的文本更新成“2”的下列代码的消息：LiveObject score＝new LiveObject(“Bang$homeScoreID”)；Score.setPropery(“innerText”，“2”)。 For example, said tool having the following codes can generate a message text for score displayed object is updated to "2" are: LiveObject score = new LiveObject ( "Bang $ homeScoreID"); Score.setPropery ( "innerText", "2 ").
此代码将具有对象ID“Bang$homeScoreID”的对象的innerText属性设置成“2”。 innerText properties of the object code to an object ID "Bang $ homeScoreID" is set to "2." 该工具使用API将此消息传递到路由网络110。 The tool uses the API passes this message to routing network 110.
现在转到在客户机114处执行的动作，图6是示出由激活模块124的一个实施例执行的步骤的流程图。 Turning now to the operation performed in the client 114, FIG. 6 is a flow chart showing steps performed by one embodiment of the activation module 124 of the embodiment. 本领域的技术人员将认识到，不同的实施例可以按不同的次序执行图6的步骤。 Those skilled in the art will recognize that the various embodiments may perform the steps of FIG. 6 in a different order. 激活模块124一般执行三个功能：向路由网络110注册对象ID，处理由客户机114从网络接收到的消息以更新活对象的属性，以及控制客户机和网络之间的通信。 Usually activation module 124 performs three functions: to route objects 110 registered network ID, and process messages received by the client 114 from the network to update the properties of a living object, and controls the communication between the client and the network.
为了注册对象ID，活动模块124较佳地对从服务器112接收到的页面118进行语法分析(610)并标识活对象的对象ID。 To register the object ID, event module 124 is preferably received from the server 112 to parse the page 118 (610) and the object ID identifies live objects. 在一个替换实施例中，激活模块124只标识对象ID的一个子集，诸如只标识当前正在由web浏览器120显示的活对象的ID。 In an alternative embodiment, the activation module 124 identifies a subset of the Object ID, such as ID identifies only live objects currently being displayed by the web browser 120. 或者，除了对象本身以外，对象ID的列表可以在网页中预编码，从而允许激活模块124的简易标识。 Alternatively, in addition to the object itself, the object ID list page may be pre-coded, allowing easy identification activation module 124. 在又一实施例中，客户机114的用户选择对象ID来注册。 In yet another embodiment, the client 114 to register the user selects the object ID.
激活模块124较佳地打开客户机114和路由网络110之间的连接(612)。 The activation module 124 is preferably open connection (612) between the client 114 and the routing network 110. 激活模块124能在激活模块接收和/或语法分析了页面118之前或之后打开此连接(612)。 The activation module 124 can receive and / or a syntax analysis of the connection opening (612) before or after the activation module 118 pages. 在某些情况中，客户机114位于对客户机能作出的连接请求的类型加以限制的防火墙后面。 In some cases, the client 114 is located behind a firewall to restrict the type of connection request made by the client function. 防火墙可能例如阻止所有非HTTP话务。 Such as a firewall may block all non-HTTP traffic. 因此，激活模块124较佳地将连接请求包装在HTTP报头中以使请求穿过防火墙到达路由网络110。 Thus, the activation module 124 is preferably packaged in a connection request to the HTTP header that the routing requests through the firewall to the network 110.
激活模块124使用客户机114和路由网络110之间的通信来通过向路由网络116传送一个包含所标识的对象ID的向量(例如，列表或阵列)来注册对象ID(614)。 Activation module 124 uses the communication between the client and the routing network 110 to 114 by a vector object ID to transmit a routing network 116 containing the identity (e.g., a list or array) to register the object ID (614). 为了穿过防火墙完成这一任务，激活模块124较佳地将向量放入称为“对象数据”的串中，然后较佳地创建一条HTTP消息来将对象数据传送至路由网络110。 String through the firewall in order to accomplish this task, the activation module 124 is preferably placed in a vector called the "target data", and then preferably creates an HTTP message to transfer the object data 110 to the routing network. 示意性例子如下：POST/HTTP/1.1\r\nContent-Length：&lt;对象数据长度&gt;\r\n\r\n&lt;对象数据&gt; Illustrative examples are as follows: POST / HTTP / 1.1 \ r \ nContent-Length: & lt; object data length & gt; \ r \ n \ r \ n & lt; object data & gt;
其中&lt;对象数据&gt;是对象ID列表。 Wherein the & lt; object data & gt; object ID list. 当路由网络110接收到这种HTTP请求时，它提取对象数据并将注册表125更新成指示客户机114已注册所标识的对象。 When the routing network 110 receives this HTTP request, it extracts the object data and the registry indicates that the client 114 has registered the identified objects is updated to 125.
如果web浏览器120加载一个新的页面(616)，或终止对象在初始页面上的显示，则与初始网页相关联的激活模块124较佳地终止客户机与路由网络110的连接(618)。 If the web browser 120 to load a new page (616) or termination of objects are displayed on the initial page, the initial web page associated with the activation module 124 is preferably connected to the termination and routing client network 110 (618). 本领域的技术人员将认识到这一终止618能与图6中所示的其它步骤异步地发生。 Those skilled in the art will recognize that the termination 618 asynchronously with the other steps shown in FIG 6 occurs. 因此，步骤616和618的位置只表示步骤序列中可能发生终止的一个可能的位置。 Thus, the position of the steps 616 and 618 represents only one possible position of the termination sequence of steps may occur.
如果连接没有被终止，则激活模块124较佳地等待直至它从路由网络110接收到一条指定对象ID和对所标识的对象的属性的更新的消息(618)。 If the connection is not terminated, the activation module 124 preferably waits until it receives from the routing network specified object ID 110-1 and a message (618) to update the properties of the identified object. 在一个实施例中，此消息作为HTTP数据接收。 In one embodiment, this message is received as an HTTP data. 在接收到该消息之后，激活模块124较佳地从HTTP数据中提取对象ID和更新(620)。 After receiving the message, the activation module 124 preferably extracts the object ID and update (620) the data from the HTTP. 然后，激活模块124更新所标识的对象的属性(622)，或使对象如由消息所指定那样被更新。 Then, attributes (622) the activation module 124 updates the object identified, or that the above objects are updated as specified by the message.
较佳地重复接收消息618，提取数据620和更新对象622这一序列，直至新的页面被加载(616)或与路由网络110的连接被终止。 Preferably repeatedly received message 618, 622 and 620 extracts the data sequence of the update target, until a new page is loaded (616) connected to the routing network 110 or is terminated. 虽然未在图6中示出，但在某些环境下，诸如当对于页面118的用户动作激活一个新的活对象时，激活模块124可以向路由网络110注册新的对象ID而不必首先下载并语法分析该新页面。 Although not shown in FIG. 6, but under certain circumstances, such as when to activate a new page operation for the user to live objects 118, activation module 124 may be routed to the network without first downloading a new object ID 110 and registered parsing the new page. 在一个实施例中，如果新加载的页面包含活对象，则重复则如图6所述的下载激活模块124和更新对象的过程。 In one embodiment, if the newly loaded page containing live objects, the repeated download activation module 124, and the process described update target 6 in FIG. 在一个替换实施例中，激活模块124在客户机114处保持活动，因此，客户机不从路由网络110重新下载激活模块。 In an alternative embodiment, the activation module 124 remains active at the client 114, and therefore, the client does not re-download activation module 110 from the routing network. 相反，已存在的激活模块124对新页面执行启用活性的处理。 Instead, the existing activation module 124 to the new page performs processing activity is enabled.
图7是示出根据本发明的一个实施例的路由网络110的较低层视图的框图。 FIG 7 is a block diagram showing a lower level view of the routing network 110 according to an embodiment of the present invention. 本领域的技术人员将认识到，存在许多替代方式来实现路由网络110的功能。 Those skilled in the art will recognize that there are many alternative ways to implement the functions of the routing network 110. 图7示出代表向路由网络110提供消息的源的多个输入源(标记为710A-D)，诸如信息提供者710A和动态内容提供者710B。 Figure 7 shows a routing network on behalf of providing a message to a plurality of input sources 110. The sources (labeled 710A-D), such as dynamic information providers and content providers 710A 710B. 图7还示出代表在任何给定的时刻与路由网络110通信的许多客户机的多个客户机(标记为712A-F)。 FIG 7 also shows a plurality of clients on behalf of many clients to communicate any time with a given routing network 110 (labeled 712A-F).
路由网络110较佳地在内部划分成一个或多个群集714。 Routing network 110 is preferably internally divided into one or more clusters 714. 在图7中，路由网络110具有三个群集714A、714B、714C，虽然群集的数目能取决于网络的处理需求而变化。 In FIG. 7, routing network 110 having three clusters 714A, 714B, 714C, although the number of the cluster depends on the processing needs of the network can vary. 输入方全局负载平衡器716较佳地将消息从输入源710路由至群集714。 Input side of the global load balancer 716 preferably routes the message 710 to the cluster 714 from the input source. 类似地，客户机方全局负载平衡器718较佳地将连接请求从客户机712路由至群集714。 Similarly, the global client-side load balancer 718 is preferably a connection request routed from the client 712 to the cluster 714. 负载平衡器716、718被设计成确保负载根据预定试探分布在群集714中。 The load balancer 716, 718 are designed to ensure that the load distribution in the cluster 714 according to a predetermined heuristics. 例如，负载可以在群集714中均匀地分布，或更强大的群集可以被分配大部分负载。 For example, the load can be uniformly distributed in the cluster 714, or more powerful cluster may be allocated most of the load. 在一个实施例中，一个负载平衡器执行输入方716和客户机方718负载平衡器的功能，并使用基于传统域名系统(DNS)的负载平衡。 In one embodiment, a load function performed on the input side and the client side 716 the load balancer balancer 718, load balancing based on traditional and Domain Name System (DNS) of.
群集714A所代表的每一群集714较佳地包含输入方群集负载平衡器720A和客户机方群集负载平衡器722A。 Each cluster represents a cluster 714A 714 preferably comprises the cluster load balancer 720A on the input side and client-side cluster load balancer 722A. 群集负载平衡器720A、722A的功能与相应的全局负载平衡器716、718的功能类似之处在于输入方群集负载平衡器720A在一个或多个网关724A之间平衡和路由传入的消息，且客户机方群集负载平衡器722A在一个或多个节点726A和应用服务器728A之间平衡和路由传入的连接请求。 Similar functionality function of cluster load balancer 720A, 722A of the respective global load balancer 716 is that the input side of a cluster in the load balancer 720A or 724A plurality balance between gateways and routing incoming messages, and client-side cluster load balancer 722A balance and routing incoming connection requests between one or more application server nodes 726A and 728A.
在一个实施例中，两个客户机方群集负载平衡器720A、722A的功能由一个组件提供。 In one embodiment, two client-side cluster load balancer 720A, 722A function is provided by a component. 此单组件负载平衡器最初确定传入的请求是来自设法将消息发送至网关724A的输入源710、来自寻求到节点726A的连接的客户机712、还是来自寻求到应用服务器728A的连接的客户机。 This single load balancer component initially determined from the incoming request to try to send a message input source 710 of the gateway 724A, to seek from the connection node 726A to the client 712, or from the application server 728A seeks to connect the client . 然后，负载平衡器在群集714中的网关724A、节点726A和应用服务器728A之间路由消息/连接请求。 Then, the load balancer 724A in the gateway in the cluster 714, routing messages / connection requests between the nodes 726A and an application server 728A. 在一个实施例中，单组件负载平衡器提供第7层负载平衡(即，应用层上的负载平衡)。 In one embodiment, a single load balancer assembly layer 7 to provide load balancing (i.e., load balancing at the application layer). 较佳地，对节点726A和应用服务器728A的负载平衡由同一组件执行，因为为了安全起见，大多数客户机web浏览器只允许应用程序(例如，激活模块124)透明地连接至从中下载应用程序的位置。 Preferably, the components performed by the same nodes 726A and 728A of the application server load balancing, because for security reasons, most clients allow only web browser application (e.g., activation module 124) coupled to transparently download applications s position.
路由网络110的替换实施例可以组合全局负载平衡器716、718以及群集负载平衡器720A、722A，和/或将负载平衡器的功能合并到群集714的内部或外部的不同组件中。 Alternatively the routing network 110 embodiments can be combined global load balancer 716, 718, and cluster load balancer 720A, 722A, and / or load balancer functions into different components inside or outside the cluster 714 in. 另外，替换实施例可以省略这些负载平衡器中的一个或多个。 Further, alternative embodiments one or more of the load balancer may be omitted. 例如，使不同的群集714服务不同的顾客可以避免对全局负载平衡器716、718的需求。 For example, the various different cluster 714 service customers can avoid global load balancer 716, 718 of the demand.
群集714中的网关724A从输入源710接收消息，并将消息定向到合适的一个或多个节点726A。 Cluster 724A of the gateway 714 receives a message from the input source 710, and messages to the appropriate one or more nodes 726A. 在一个实施例中，每一网关724A保持与每一群集714中的每一节点726的持久TCP连接，并将每一消息定向到每一节点。 In one embodiment, each of the gateways 724A remains persistent TCP 726 is connected to each node in each cluster 714, and directs each message to each node. 因此，虽然网关724A位于群集714A内部并通过群集的输入方负载平衡器720A接收连接，但网关的范围遍布整个路由网络110。 Thus, although the gateway 724A is located inside the cluster 714A and 720A are connected through the cluster receives an input side of the load balancer, but the scope of the gateway 110 throughout the routing network. 这一广泛的范围允许消息从任何输入源到达任何客户机712。 This wide range allows the client 712 to reach any message from any input source.
在路由网络110的替换实施例中，每一网关724保持到同一群集714中的所有节点426的持久TCP连接和到其它群集的每一个中的至少一个网关的至少一个连接。 In an alternative embodiment of the routing network 110, each holding the gateway 724 to all nodes in the same cluster 714 and persistent TCP 426 are connected to each other cluster of the at least one gateway to at least one connection. 此实施例减小了由每一网关724保持的同时TCP连接的数目。 This embodiment reduces the number of each of the gateway 724 while maintaining the TCP connection. 在另一替换实施例中，每一群集714还包括保持与其它群集的网关724的连接的监控器(gatekeeper)(图7中未示出)。 In another alternative embodiment, each cluster 714 further comprises a holder connected with other gateways in the cluster 724 monitor (GateKeeper) (not shown in FIG. 7). 网关724向监控器发送消息，监控器然后将消息分发到其它群集714的网关。 Gateway 724 sends a message to the monitor, the monitor then distribute messages to other gateways in the cluster 714.
因为网关724不控制它从输入源710接收消息的速率，因此网关能比它能处理消息(即，将消息发送至节点)更快地接收消息。 Because gateway 724 does not control the rate at which a received message input source 710, so the gateway can process messages than it (i.e., the message sent to the node) receives the message more quickly. 因此，每一网关724较佳地保持已接收到而尚未处理的消息的队列730以避免丢失消息。 Thus, each gateway 724 is preferably held has been received but not yet processed the message queue 730 to avoid lost messages. 在一个实施例中，如果队列730变得太长，则网关724丢弃消息。 In one embodiment, if the queue 730 becomes too long, then the gateway 724 discards the message. 在另一个实施例中，网关724使用分配给某些消息或输入源的优先级来确定丢弃哪些消息。 Embodiment, the gateway 724 assigned to the priority of some messages or input source to determine which message is discarded in another embodiment.
节点726较佳地将从网关724接收到的消息发送至已注册了由消息标识的对象ID的客户机712。 Preferably from the gateway node 726 receives message 724 is sent to the object ID has already been registered by the client 712 identifies the message. 如果没有一个客户机712已注册了由消息指定的对象ID，则节点较佳地忽略该消息。 If no one client 712 has registered the object specified by the message ID, the node preferably ignores the message. 节点726较佳地保持注册表125的一个实例作为包含由连接至该节点的客户机712注册的对象ID的散列表732。 Node 726 is preferably maintained as an instance registry 125 comprises a node connected to the client object ID 712 registered in the hash table 732. 在一个实施例中，散列表732将每一对象ID与对每一个已注册了该对象ID的客户机712包含一个条目的链表相关联。 In one embodiment, the hash table for each object ID 732 is associated with the list contains an entry for each of the registered client object ID 712. 链表中的每一条目较佳地包含指向代表到相应客户机712的连接的套接字的指针。 Each entry in the preferred list contains a pointer pointing to the representative of the respective client socket connection 712. 如本领域所公知的，通常称为“文件描述符”的到套接字的指针表示节点能写入以将消息发送至相应客户机的地址。 As is well known in the art, usually called "file descriptor" indicates a pointer to the socket address of the sending node can write to the corresponding message to the client. 较佳地，节点726每当客户机712注册对于对象的兴趣时将条目添加至散列表732和/或链表，并且当客户机从节点断开或指示它不再对特定对象感兴趣时从散列表和/或链接表中删除相应的条目。 Preferably, the client node 726 whenever an entry is added to the register 712 the hash table 732 and / or linked list respect to the object of interest, and when the client is disconnected from the node or indicating that it is no longer interested in a particular object from Powder list and / or the linked table deletes the corresponding entry.
本发明的替换实施例除了散列表732和链表以外或作为散列表732和链表的替代，还使用其它数据结构，和/或可以使用数据结构中的不同数据。 Alternative embodiment of the present invention, in addition to the hash table 732 and a list or hash table 732 and a list of alternative, also possible to use other data structures, and / or may use different data structures. 例如，路由网络110的一个实施例具有每一群集714中的节点的分层结构。 For example, a routing network 110 embodiment has a layered structure 714 in each cluster node. 该分层结构中的不同节点可以处理从某一输入源210接收到的消息，或处理发送至不同客户机712的消息。 The hierarchy of different nodes 210 may process the message received from a source to the input, or to a different message processing client 712. 在此实施例中，链表可以指向分层结构中较低的节点而不是指向引向客户机712的套接字。 Embodiment, the list can point to a lower hierarchy node, instead directed towards the client socket 712 in this embodiment. 另一实施例没有节点分层结构，而是将某些节点分配给某些输入源210或客户机712。 Another embodiment of a hierarchical structure without node, but some node assigned to certain input source 210 or client 712.
每一节点714中的应用服务器728较佳地响应于客户机请求向客户机712提供激活模块124。 Each node 714 in the application server 728 is preferably provided in response to client requests activation module 124 to the client 712. 另外，应用服务器728还提供为支持环境100可能需要或期望的任何其它模块。 In addition, the application server 728 also provides a supportive environment to any other module 100 may be necessary or desirable. 在路由网络的替换实施例中，单个应用服务器728满足所有客户机请求。 In an alternative embodiment of the routing network, a single application server 728 meet all client requests. 此应用服务器728可以在某个群集714中或独立于群集。 This application server 728 may be independent of the cluster or a cluster 714. 然而，此单应用服务器实施例较不可取，因为它缺少冗余度。 However, this single application server embodiment less desirable, because it lacks redundancy.
较佳地，路由网络110使用执行Linux操作系统(OS)的传统单处理器计算机系统。 Preferably, the routing network 110 using a conventional single-processor computer system to perform the Linux operating system (OS),. 较佳地，路由网络110的每一组件由单独的专用计算机系统来实现，以使能分开优化组件。 Preferably, each component of the routing network 110 is implemented by a separate, dedicated computer systems, to enable optimization component separately. OS的输入/输出(I/O)功能较佳地通过使用诸如可以从加利福尼亚州的加州大学伯克利分校买到的NBIO等无阻塞OS包来增强。 OS input / output (I / O) functions, preferably by using a can, such as to enhance available from the University of California, Berkeley, California, and other non-blocking NBIO OS package. 基于与节点728的连接是长久的假设，OS较佳地被配置成不为监视空闲连接分配资源。 Connected to the node 728 based on the assumption that long, OS is preferably configured not to allocate resources to monitor an idle connection. 相反，较佳地将公知的/dev/poll补丁应用于OS以提供高级套接字轮询能力。 In contrast, known / dev / poll OS patch is preferably applied to the socket to provide advanced capabilities polling.
另外，OS中的TCP/IP栈较佳地被优化以快速输出消息。 Further, OS in the TCP / IP stack is preferably optimized to fast output message. 在一个实施例中，栈中的重发定时器从200ms降至50ms。 In one embodiment, the retransmission timer stack from down to 50ms 200ms. 此定时器确定栈等待关于发送的包已被接收到的确认(ack)多长时间。 This timer determines the stack waits for an acknowledgment (ACK) on the packet transmission has been received long. 由于Linux内核实现重发定时器的方式，内核将不发送待决的出站包(即使已接收到确认)，直至初始的重发定时器已期满。 Since the Linux kernel implements the retransmission timer manner, the kernel will not send pending outbound packet (even if an acknowledgment is received), until the initial retransmission timer has expired. 减小重发值最小化了此延迟效应。 Reducing the value of the retransmission delay minimizes this effect. 如果在重发定时器期满之前未接收到确认，则本发明的一个实施例增加受影响的TCP连接的重发值并重发未确认的包。 If the acknowledgment is not received before the retransmission timer expires, an embodiment of the present invention to increase the value of the retransmission affected TCP connection and resend an unacknowledged packet. 另外，TCP/IP栈较佳地使用Nagle的算法功能来将若干个小的消息串接成一个较大的消息，从而减小由路由网络110发送的包的数目。 In addition, TCP / IP stack Nagle algorithm is preferably used to function several small messages concatenated into a larger message, thereby reducing the number of packets sent by the routing network 110.
图8是示出由群集714中的节点726执行来执行从输入源接收的消息通过网关724的基于对象的路由的步骤的流程图。 8 is a diagram illustrating a received message is performed from the input source node 726 in the cluster 714 is performed by the gateway 724 based on a flowchart of the step of routing the objects. 最初，节点726从输入源710接收消息(810)。 Initially, node 726 receives message 710 from the input source (810). 节点726从该消息中提取对象ID(812)。 Node 726 extracts the object ID from the message (812). 另外，节点726可任选地变换该消息(814)以将其从输入源710所使用的格式转换成客户机712处的激活模块124所使用的格式。 Further, the node 726 may optionally converting the message (814) to convert the format from the format used by the input source 710 to the client 712 of activation module 124 used. 如上所述，在一个实施例中，输入源710所使用的消息格式与激活模块124所使用的消息格式相同。 The same message as described above, in one embodiment, activating the input source module 710 and the message format used in the 124 format used. 因此，在此实施例中，节点726不需要变化消息。 Thus, in this embodiment, node 726 in this embodiment does not need to change the message. 在其中输入源710和激活模块124使用不同消息格式的替换实施例中，节点726较佳地变换该消息。 In which the input source 710 and the activation module 124 uses a different message format alternative embodiments, the node 726 preferably transforms the message. 节点726查找对应于所提取的对象和信息提供者ID的散列表条目(816)以确定已注册了由该消息引用的对象的客户机712的链表。 Find the node 726 corresponding to the extracted object and the information provider ID hash table entry (816) to determine the registered object referenced by the message client list 712. 最后，节点726将消息发送至注册的每一客户机712(818)。 Finally, node 726 will send a message to the registration of each client 712 (818). 在一个替换实施例中，节点726与之前相反，可任选地在散列表中查找了已注册的客户机之后变换消息。 After an alternative embodiment, the opposite node 726 may optionally find the client registered in the hash table with the message prior to transformation. 此稍后阶段变换消息使节点726能根据已注册的客户机712的特定要求来变换消息。 This phase transformation later messages to the node 726 can transform the message according to the specific requirements of a registered client 712.
使用动态内容路由网络来递送个人化内容图9示出根据一个实施例的页面118的例子。 Content using dynamic routing network to deliver personalized content FIG. 9 shows an example of a page 118 of the embodiment. 在一个实施例中，页面118可以是网页。 In one embodiment, the page 118 may be a webpage. 在其它实施例中，页面118可以是由软件应用程序生成的任何页面，例如文字处理文档、电子表格、电子邮件等。 In other embodiments, the page 118 may be generated by any software application page, such as word processing documents, spreadsheets, email. 如图所示，页面118包括多个部分902，例如市场数据部分902-1、新闻标题部分902-2、新近交易部分902-3和帐户余额部分902-4。 As shown, page 118 includes a plurality of sections 902, for example, market data section 902-1, news headlines section 902-2, section 902-3 recent transactions and account balances section 902-4. 虽然示出了这些部分，但是将理解，可以在页面118中设置任何数量的部分。 Although a portion of these, it will be appreciated that any number of portions may be provided in page 118.
在一个实施例中，页面118可以由基于web的应用程序提供。 In one embodiment, the page 118 may be provided by a web-based application. 路由网络110可以用于向大量客户机114递送股票和债券的购买价。 Routing network 110 can be used to deliver the purchase price of stocks and bonds to a large number of clients 114. 每一客户机的页面118可以包括相同的部分902，但可以为每一用户个人化(例如不同)某个部分902的信息。 Page 118 for each client 902 may comprise the same parts, but can be personalized for each user (e.g., a different) an entire portion 902. 例如，市场数据部分902-1可以对所有用户相同。 For example, market data portion 902-1 may be the same for all users. 然而，可以为每一用户个人化新近交易部分902-3和帐户余额部分902-4。 However, recent transactions and account balances section 902-3 section 902-4 personalized for each user. 例如，特定用户所做的新近交易和他们的帐户余额对用户是个人的，并且可以只被发送至该特定用户。 For example, recent transactions made by a particular user and their account balances for individual users, and can only be sent to that particular user. 因此，个人化信息可以是用户专用的任何信息。 Therefore, personal information may be any user-specific information. 应理解，不同用户可以具有基本上相同的个人化信息；然而，每一用户的个人化信息将专用于每一用户。 It should be understood, different users may have substantially the same personalized information; however, each user's personal information will be dedicated to each user.
在一个实施例中，当交易对给定用户停止时，应该只更新他/她的页面118(例如，在新近交易部分902-3下)。 In one embodiment, when the transaction is stopped for a given user, you should only update his / her page 118 (for example, in recent trading under section 902-3). 因此，应该只将个人化信息发送至该用户。 Therefore, personal information should only be sent to the user.
在一个实施例中，部分102的不同内容可以由不同的输入源210递送。 In one embodiment, different content portion 102 may be delivered by different input source 210. 例如，输入源210可以为新标题部分902-2提供内容，而另一输入源210可以为市场数据部分902-1提供内容。 For example, the input source 210 may provide content for the new header part 902-2 and the other input source 210 may provide content to market data section 902-1. 另外，实时数据可以由多个输入源210提供。 In addition, real-time data 210 can be provided by a plurality of input sources. 输入源210可以位于远离路由网络110和客户机114的位置，或者在其它实施例中，可以是路由网络一部分。 Input source 210 may be located away from the routing network 110 and the client 114, or in other embodiments, may be part of a network routing.
发送至页面118的实时信息可以使用路由网络110来递送。 Page 118 to send real-time information 110 may be used to deliver routing network. 在一个实施例中，每一股票904可以被分配一个ID，并且对该ID公布的消息可以被递送至每一用户。 In one embodiment, each of the stock 904 may be assigned an ID, and may be delivered to each user ID to the message published. 然后可以更新活对象。 You can then update the live objects. 活对象可以是能被更新的任何数据。 Live objects can be any data that can be updated. 例如，活对象可以是包括在页面118的数据表示中的任何数据，诸如用于显示页面118的元素的软件代码、页面118上所显示的元素等。 For example, live data objects may be any data represented in page 118, such as a software code for displaying the page elements 118, 118 and other elements displayed on the page. 除了一般信息之外，还可以将个人化信息递送至新近交易部分902-3和帐户余额部分902-4。 In addition to general information, personal information can also be delivered to the newly transactions and account balances section 902-3 section 902-4. 另外，可以对一个部分递送一般和个人信息的组合。 Further, a combination of general and can be delivered to a portion of the personal information. 例如，可以将一般和个人信息递送至新闻标题部分902-2。 For example, general and personal information can be delivered to a news headline section 902-2.
在一个实施例中，为了向用户递送个人化消息，可以使用路由网络110的批处理能力。 In one embodiment, in order to deliver a personalized message to the user, you can use a batch capacity of routing network 110. 在此实施例中，每一用户可以被分配一个个人化ID。 In this embodiment, each user may be allocated a personal ID. 该个人化ID对该用户可以是唯一或专用的。 The personalized to the user ID may be a unique or proprietary. 如下所述，个人化ID还可以专用于一组用户而不仅仅专用于一个用户。 As described below, personal ID may also be dedicated to a specific group of users rather than to a user. 个人化ID可以放在其页面118的数据表示中的任何位置(诸如页面118的软件代码的正文标签中)。 Personal ID which can be placed anywhere in the page data represents 118 (such as the body of the label software code page 118). 然后，数据表示中的活对象可以与通用ID相关联。 Then, data representing the live objects may be associated with the universal ID. 可以在页面118中找到活对象，并且可以为该活对象显示个人化信息。 Live objects can be found in page 118, and can be personalized to display information for the live objects. 对于多个用户，通用ID可以相同。 For a plurality of users, it may be the same universal ID. 例如，基于web的交易应用程序的新近交易部分902-3可以用ID“recentTradesID(新近交易ID)”来标记。 For example, based on recent trading transactions portion web application 902-3 can ID "recentTradesID (recent transaction ID)" marked. 对每一用户的页面118，此ID可以相同，即使可以在那里为每一用户显示个人化信息。 Page 118 for each user, this ID may be the same, even if personal information can be displayed for each user there.
在一个实施例中，输入源210用下列格式：[personalizedID，(genericID#1，“个人化信息#1”)，(genericID#2，“个人化信息#2”)]来提供批消息。 In one embodiment, the input source 210 in the following format: [personalizedID, (genericID # 1, "personal information # 1"), (genericID # 2, "personalized information # 2")] to provide batches of messages. personalizedID可以是对用户个人化的ID。 personalizedID can be personalized to the user's ID. genericID#1和genericID#2可以是对许多用户通用的ID。 genericID # 1 and genericID # 2 may be common to many user's ID. 个人化信息#1和#2可以是能用于更新页面的任何信息。 Personal information # 1 and # 2 can be used for any updated information page. 在一个例子中，用于帐户余额的消息可以在上述使用下列消息：[personalizedID，(accountbalancesID，“余额信息”)，...]的批消息中发送。 In one example, messages, account balance may be used in the above using the following message: [( "credit information" accountbalancesID), ... personalizedID,] message sent in batch. 此消息可以用于用用户的个人化信息来更新用户帐户的帐户余额。 This message may be used with a user's personal information to update the account balance of the user account.
路由网络110向已注册了个人化ID的用户递送批消息。 Routing network 110 registered users personal ID of the message has been delivered batches. 当批消息到达与该用户相关联的客户机114时，它可以如同消息(genericID#1，“个人化信息#1”)和(genericID#2，“个人化信息#2”)被发送至客户机114那样来处理。 When the batch message arrives associated with the user client 114, it may be as message (genericID # 1, "personal information # 1") and (genericID # 2, "personalized information # 2") is transmitted to the client 114 as processed. 个人化ID不可以在接收到消息之后使用。 Personal ID can not be used after receiving the message.
在一个实施例中，客户机114的浏览器评估页面118的数据表示，并找出通用ID#1和通用ID#2的ID。 In one embodiment, the data evaluation client browser page representation 114 118, and identify common universal ID # 1 and the ID # ID 2. 页面118上的活对象可以用个人化信息#1和#2来更新。 118 live objects on a page can be updated with personal information # 1 and # 2. 信息提供者不需要知道或了解用户页面118的结构。 Information provider need not know or understand the structure of the user page 118. 并且，因为更新消息可以不包括任何DOM信息，因此消息本身是简单的。 Further, because the update message may not include any information DOM, the message itself is so simple. 例如，如果消息之一可以是(accountbalancesID，“余额信息”)，则客户机的浏览器可以用由更新消息指定的信息(即，更新消息的“余额信息”)来更新帐户余额部分902-4。 For example, if one message can be (accountbalancesID, "credit information"), the client's browser can be updated account balance section 902-4 with the information specified by the update message (ie, the update message "Balance Information") .
因此，可以将多个用户的个人化信息发送至可用于为多个用户更新页面118上所包括的活对象的通用ID。 Thus, a plurality of user's personal information may be transmitted to the common ID may be used to update pages live objects on a plurality of users 118 included. 个人化ID可以用于使用上述批消息技术向用户发送个人化信息。 Personal ID may be used for transmitting personalized information to the user using the message batch technique. 因为活对象可以具有相同的ID，因此输入源210能向用于活对象的同一通用ID递送多个个人化消息。 Because live objects can have the same ID, so the input source 210 is capable of delivering a plurality of messages to the same general purpose personal ID to a living subject. 这减少了可能使用的ID数。 This reduces the number of ID may be used.
图10示出根据一个实施例的使用路由网络110来递送个人化消息的系统1000。 FIG. 10 illustrates a system 110 to deliver a personalized message in accordance with an embodiment using routing network 1000. 系统1000包括多个客户机114、路由网络110和输入源210。 The system 1000 includes a plurality of clients 114, routing network 110 and input source 210.
输入源210能用路由网络110的批处理能力来发送个人化消息。 Capacity batch input source 210 can be routed to the network 110 transmits a personalized message. 如图所示，三个批消息：消息#1、消息#2和消息#3可以由输入源210发送。 As shown, three batches of messages: the message and the message # 2 # 3 # 1 may send a message 210 from the input source. 消息#1、#2和#3可以被发送至三个不同的个人化ID：个人化ID#1、个人化ID#2和个人化ID#3。 Message # 1, # 2 and # 3 may be transmitted to three different personal ID: personal ID # 1, ID # 2 personalization and personal ID # 3. 批消息包括用recentTradeID和accountbalancesID(账户余额ID)的通用ID来发送消息。 Grant message comprises sending a message with recentTradeID and accountbalancesID (account balance ID) universal ID. 然而，个人化信息可以包括在不同用户的recentTradeID和accountbalancesID的ID的每一条消息中。 However, personal information may be included in each message and different users recentTradeID accountbalancesID the ID.
这三条消息可以从输入源210发送至路由网络110。 This message may be sent from the three input source 210 to the routing network 110. 路由网络110确定哪些客户机114已注册了个人化ID。 Routing network 110 to determine which client 114 has registered the personal ID. 如图所示，客户机114-1已注册了个人化ID#1，客户机114-2已注册了个人化ID#2，而客户机114-3已注册了个人化ID#3。 As shown, client 114-1 has registered the personal ID # 1, the client 114-2 has registered personal ID # 2, and the client 114-3 has registered the personal ID # 3. 因此，消息#1可以被发送至客户机114-1，因为客户机114-1(或用户)已注册了个人化ID#1。 Therefore, the message # 1 may be sent to the client 114-1, 114-1 as a client (or user) has registered the personal ID # 1. 另外，消息#2和消息#3已被发送至客户机114-2和客户机114-3，因为114-2和客户机114-3已分别注册了对应的个人化ID#2和#3。 Further, message # 2 and # 3 message has been sent to the client 114-2 and client 114-3, 114-2 and client 114-3 as have each registered corresponding personal ID # 2 and # 3. 然后，客户机114-1、114-2和114-3能用为recentTradeID和accountbalancesID的ID提供的信息来更新它们的页面118。 Then, the client 114-1, 114-2 and 114-3 can provide information for recentTradeID and accountbalancesID of ID to update their page 118. 如图所示，客户机114-1已显示了个人化交易信息#1和个人化余额信息#1，客户机114-2已显示了个人化交易信息#2和个人化余额信息#2，而客户机114-2已显示了个人化交易信息#3和个人化余额信息#3。 As shown, the client 114-1 has shown the personal trading information # 1 and the # 1 personal balance information, the client 114-2 has shown the personal trading information # 2 and # 2 personalized balance information, and the client 114-2 has shown the personal trading information # 3 and # 3 personal balance information.
因此，这三条消息可以用通用ID recentTradeID的信息来发送。 Thus, these three messages may be sent with the ID recentTradeID general information. 然而，使用成批的消息，消息可以被发送至三个不同的客户机114。 However, the use of bulk message, the message may be sent to three different clients 114. 因此，客户机114可以接收通用ID的个人化信息。 Thus, the client 114 may receive the universal ID of the personal information.
图11示出根据一个实施例的用于生成批消息的简化的流程图1100。 FIG 11 shows a simplified embodiment of a flowchart 1100 for generating a message according to the batch. 在步骤1102中，输入源210确定用户的个人化信息。 In step 1102, the input source 210 to determine the user's personal information.
在步骤1104中，可以确定个人化信息的个人化ID和通用ID。 In step 1104, it may determine personal ID information and general personal ID. 在一个实施例中，输入源210不需要知道在何处或如何向用户发送个人化信息。 In one embodiment, the input source 210 does not need to know how to send or personalized information to a user location. 相反，输入源210可以将个人化信息与通用ID相关联，并生成可以发送至个人化ID的批消息。 Instead, the input source 210 may be general-purpose personal information associated with the ID, and generates a grant message may be sent to the personal ID.
在步骤1106中，批消息可以与个人化ID一起发送至路由网络110。 In step 1106, the batch may be sent to the message routing network 110 together with the personal ID. 批消息的格式中可以按如上所述的格式发送，或通过任何其它格式发送。 Batch format message format as described above may be transmitted, or transmitted by any other format. 因此，输入源210可以向个人化ID发送批消息。 Thus, the input source 210 may send a grant message to the personal ID. 如何或在何处将消息路由至用户可以不需要由输入源210来确定。 How or where to route the message to the user may not need to be determined by the input source 210. 相反，路由网络110可以如下所述地路由批消息。 Conversely, routing network 110 may grant message routing in the following manner.
图12示出根据一个实施例的用于将批消息路由至客户机114的方法的简化的流程图1200。 FIG 12 shows a simplified embodiment for a flowchart of a method of the batch 114 routes the message to the client 1200. 在步骤1202中，可以从输入源210接收批消息。 In step 1202, a message may be received from the input source 210 batch. 在步骤1204中，可以确定客户机114已被注册了在批消息中找到的个人化ID。 In step 1204, to determine the client 114 has been registered personal ID found in a batch of messages. 在一个实施例中，客户机114可以下载激活模块124并向路由网络110注册ID。 In one embodiment, the client 114 may download activation module 124 and routing network 110 registration ID. 以上对此过程进行了更详细的描述。 Above this process in more detail. 当从个人化ID的输入源210接收到批消息时，在步骤1206中，路由网络110可以用该个人化ID将该批消息路由至客户机114。 Upon receiving an input from a source 210 to a batch of personalized message ID, at step 1206, the routing network 110 may be a personal ID of the batch 114 routes the message to the client.
图13示出根据一个实施例的用于在客户机11处处理批消息的方法的简化的流程图1300。 FIG 13 shows a simplified flowchart of a method 1300 according to one embodiment of a process batches of messages at the client 11. 在步骤1302中，可以从路由网络110接收批消息。 In step 1302, the message may be received from the routing network 110 batches. 可以根据与个人化ID相关联的偏好将批消息定向至个人化ID并路由该消息。 It may be oriented according to personal preference associated with the ID of the batch to the personal message and routes the message ID. 例如，个人化ID可以与一IP地址相关联，并可以在对应于该IP地址的客户机114处接收消息。 For example, personal ID may be associated with an IP address, and may correspond to the client IP address 114 of the received message.
在步骤1304中，可以确定批消息中的通用ID。 In step 1304, the batch may be determined in a general message ID. 此通用ID可以是可在多个用户的页面118上找到的相同ID。 This common ID may be the same ID can be found on page 118 of the plurality of users.
在步骤1306中，可以确定通用ID的个人化信息。 In step 1306, the personal ID information may be determined in general. 例如，个人化信息可以是个人化的信息，并且可以是客户机114专用的。 For example, personal information may be personal information, and the client 114 may be specific.
在步骤1308中，可以用使用该通用ID的个人化信息来更新活对象。 In step 1308, to update the live objects can use the personal information of the universal ID. 例如，客户机114可以确定页面118上的可以与通用ID相关联的活对象。 For example, client 114 may determine that the page can be live objects associated with the common ID 118. 活对象的属性可以用个人化信息来更新。 Live object attributes can be used to update personal information.
例如，参见图9，可以在页面118的新近交易部分902-3中找到活对象。 For example, see Figure 9, live objects can be found in the pages of recent transactions in part 902-3118. recentTradeID可以被包括在页面118的数据表示中。 recentTradeID may be included in the data page 118 in FIG. 因此，客户机114显示对应于由页面118的数据表示中的recentTradeID的ID引用的位置的个人化信息。 Thus, the client 114 displays the personal information corresponding to the position represented by the data referenced in recentTradeID page 118 of the ID. 因此，路由网络110或输入源210可以不需要理解用户的页面118的结构或DOM。 Thus, routing network 110 or the input source 210 may not need to understand the user or page structure of DOM 118. 客户机114能如由recentTradeID的个人化信息所指定的那样更新新近交易部分902-3。 114 as indicated by the client can personalize the information as specified recentTradeID recent trading update section 902-3.
同一通用ID也可以用于其中某些消息可能是针对广大观众(例如，非个人)而其它消息可能是个人化的的情况，诸如在页面118的新闻标题部分902-2中。 The same universal ID can also be used for some of these messages may be for a broad audience (for example, non-personal) while other messages may be personal circumstances, such as in the 118 page headline section 902-2. 例如，输入源210可以使用诸如下列消息：&lt;NewsheadlineID&gt;，&lt;“新闻标题信息”&gt;之类的通用ID向用户发送标准标题，而使用诸如[&lt;personalizedID&gt;，(&lt;NewsheadlineID&gt;，&lt;“个人化新闻标题信息”&gt;)]之类的批消息来发送个人化消息。 For example, the input source 210 may be used such as the following message: & lt; NewsheadlineID & gt;, & lt; "headline information" & gt; universal ID or the like to send a standard header to the user, using such as [& lt; personalizedID & gt;, (& lt; NewsheadlineID & gt; , & lt; "personalized news title information" & gt;)] or the like to transmit the grant message personalized message. 第一条消息可以向任何订阅NewsheadlineID的ID的用户发送新闻标题信息，而第二条消息可以向与personalizedID相关联的用户发送个人化新闻标题信息。 The first message header information can be sent to any news subscription NewsheadlineID user ID, and the second message can be sent personalized news headlines information to the user associated with personalizedID. 因此，同一通用ID可以用于发送可被发送给所有用户的标准标题。 Thus, the same common ID may be used to send the standard header may be sent to all users. 通过向用户的个人化ID发送批消息，通用ID还可以用作个人化ID。 By sending a grant message to the user's personal ID, it can also be used as a general-purpose personal ID ID. 个人化标题可以被发送至与个人化ID相关联的用户。 The title may be personalized and sent to the user ID associated with the personalization. 信息提供者210可以在标准标题和通用ID的个人化标题之间来回切换。 Information provider 210 can be switched between the standard header and the personal ID of the general title forth.
批消息还可以用于发送半个人化的消息，即对组而非个人的消息。 Grant message may also send a message personalized half, that group rather than the individual messages. 正如个人用户可在他/她的页面118上的某处具有与个人化ID相关联的活对象一样，组的成员能具有位于其页面118上的组个人化ID的活对象。 As individual users can have the same personal ID with live objects associated with 118 somewhere on his / her page, group members can have a live object in its group personal ID on page 118. 为了向一组用户发送其页面118中的新闻标题部分902-2内的消息，信息提供者214可以使用诸如[&lt;groupPersonalizedID&gt;，(&lt;newsheadlineID&gt;，&lt;“个人化组标题信息”&gt;)]等发送至组个人化ID的批消息。 In order to send its page message within the portion 902-2 118 headlines a group of users, the information provider 214 may be used such as [& lt; groupPersonalizedID & gt;, (& lt; newsheadlineID & gt;, & lt; "personalized group title information" & gt ;)] batches of messages sent to other personal ID of the group. 组中的所有(且仅仅)成员可以接收此消息，因为他们可以与组个人化ID相关联。 All groups (and only) member can receive this message, because they can be associated with a group ID personalization. 此技术可以不要求组成员正在查看相同的页面。 This technique may not be required group members are viewing the same page. 相反，组成员可以按他们期望的任何方式来显示newsheadlineID(新闻标题ID)的信息。 Instead, group members can in any way they desired to display information newsheadlineID (news headlines ID) of.
因此，批消息可以用于发送可以与通用ID相关联的个人化信息；然而，批消息可以被发送至专用于用户的个人化ID。 Thus, batches of messages can be used to send personal information associated with the universal ID; however, the grant message may be sent to the user-specific personal ID. 因此，可以最小化由内容提供者214使用的ID的数目。 Thus, it is possible to minimize the number provided by the content provider 214 of the ID. 然而，发送个人化消息的能力仍可以用个人化ID来保持。 However, the ability to send personalized messages can still be maintained with a personal ID.
在一个实施例中，“和/或”一词可以指示可以使用由“和/或”连接的元素的任何组合。 In one embodiment, "and / or" may indicate that the term can be used "and / or" by any combination of the elements connected. 例如，在使用“和/或”的短语中的两个词或表达可以指一个或另一个或两者。 For example, two words or phrases in the use of the expression "and / or" may refer in one or the other or both. 在一个实施例中，“基本上”一词可以指所指定的大部分而非全部，或所指定的全部。 In one embodiment, the term "substantially" may refer to the specified most, but not all, or all specified. 在一个实施例中，“能够”一词可以指被配置、适用于、能等等。 In one embodiment, "could" term may refer arranged for, can like. 例如，“能够执行动作”一词可以指一元素能执行该动作、可以被配置成执行该动作、和/或可以适用于执行该动作。 For example, the term "capable of performing the action" may refer to an element capable of performing the action, it may be configured to perform the action, and / or may be adapted to perform the operation.
本公开的实施例可以用软件或硬件或两者的组合的控制逻辑的形式来实现。 The present embodiment may be in the form of control logic in software or hardware or a combination of both to achieve disclosed. 控制逻辑可以作为适用于指示信息处理设备执行在一个实施例中公开的一组步骤的多个指令存储在信息存储介质中。 As applied to the control logic may instruct the information processing apparatus to execute a plurality of instructions stored in one embodiment of a set of steps disclosed in embodiments the information storage medium. 基于本文所提供的公开和示教，本领域的普通技术人员将理解实现本公开的其它方式和/或方法。 Based on the disclosure and teachings provided herein, those of ordinary skill in the art will appreciate that the present disclosure in other ways and / or methods.
以上描述是示例性而非限制性的。 The above description is illustrative and not restrictive. 本领域的技术人员在仔细审阅了本公开之后将清楚本公开的许多变化。 Those skilled in the art after carefully reviewing this disclosure will understand that many variations of the present disclosure. 因此，不应参照以上描述，而应参照所附权利要求书以及它们的整个范围或等效技术方案来确定本公开的范围。 Thus, with reference to the above description should not, but rather reference to the appended claims along with their full scope or equivalents to determine the scope of the present disclosure.
1.一种用客户机的个人化信息来动态地更新活对象的路由网络，所述路由网络包括：节点，它能够：从源接收标识第一标识符和第二标识符的第一消息，所述第一消息包含用于更新与所述第二标识符相关联的活对象的属性的个人化信息；标识专用于所述第一标识符的客户机；以及通过网络将第二消息路由至专用于所述第一标识符的客户机，所述第二消息标识所述第一标识符和第二标识符，所述第二消息包含用于更新与所述第二标识符相关联的活对象的属性的个人化信息。 A personalized information with the client dynamically updating routing network live objects, the routing network comprising: a node capable of: receiving a first identifier identifying the first message and the second identifier from the source, the first message includes information for updating the personal attributes of the second live object identifier associated; identifying first identifier specific to the client; and by routing a second message to the network the client specific to the first identifier, the second identifier identifying the first message and the second identifier, the second message comprising live for updating the second identifier associated personal information about the attributes of the object.
2.如权利要求1所述的路由网络，其特征在于，所述客户机能够引起使用所述个人化信息对与所述第二标识符相关联的活对象的属性的更新。 2. A routing network according to claim 1, wherein the client is capable of causing the personalized information used to update the properties of live objects associated with the second identifier is.
3.如权利要求1所述的路由网络，其特征在于，所述第二标识符是对多个客户机通用的。 3. The routing network according to claim 1, wherein the second identifier is common to a plurality of clients.
4.如权利要求1所述的路由网络，其特征在于，所述节点还能够：从所述源接收标识第三标识符和第二标识符的第三消息，所述第三消息包含用于更新与所述第二标识符相关联的第二活对象的第二属性的个人化信息；标识专用于所述第三标识符的第二客户机；以及通过网络将第四消息路由至专用于所述第三标识符的第二客户机，所述第四消息标识所述第三标识符和第二标识符，所述第四消息包含用于更新与所述第二标识符相关联的第二活对象的第二属性的个人化信息。 4. A routing network according to claim 1, wherein said node further capable of: receiving a third identifier identifying a second identifier and a third message from the source, the third message comprises means for updating the second attribute of the second object is live a second identifier associated with the personalized information; dedicated to the third identifier identifying the second client; and by the fourth message is routed to a network dedicated to the second client identifier of the third, the fourth message identifying the third and second identifiers, the fourth message comprising a first and for updating the second identifier associated personal information of the second attribute two live objects.
5.如权利要求1所述的路由网络，其特征在于，所述节点能够使用所述第二标识符将所述个人化信息发送至一个或多个附加客户机，其中所述节点使用对每一附加客户机唯一的个人化标识符来路由所述个人化信息。 5. The routing network according to claim 1, wherein, said node can be sent to one or more additional clients using the second identifier to the personal information, wherein each of said nodes additional client a unique personal identifier of the routing personalized information.
6.如权利要求1所述的路由网络，其特征在于，所述第一消息包括用于更新与一个或多个附加标识符相关联的一个或多个活对象的一个或多个属性的附加信息，其中所述第二消息标识所述一个或多个附加标识符，所述第二消息包括用于更新与一个或多个附加标识符相关联的一个或多个活对象的一个或多个属性的附加信息。 6. The additional routing network according to claim 1, wherein the first message comprises means for updating the one or more identifiers of one or more additional live objects associated with one or more attributes information, wherein the second message identifying the one or more additional identifier, for updating the second message comprising one or more identifiers of one or more additional live objects associated with one or more additional information about the property.
7.如权利要求6所述的路由网络，其特征在于，所述一个或多个附加标识符与专用于所述客户机的个人化内容或对多个客户机通用的内容相关联。 7. The routing network according to claim 6, wherein said one or more additional identifiers and content specific to the individual client or for multiple clients associated with the content general.
8.如权利要求1所述的路由网络，其特征在于，所述节点能够从所述客户机接收对所述第二标识符以及所述第一标识符的注册请求，以接收与所述第二标识符相关联的信息。 8. The routing network according to claim 1, wherein said receiving node is capable of receiving the first client from the second identifier and the first identifier of said registration request, two identifiers associated information.
9.如权利要求1所述的路由网络，其特征在于，所述活对象被包括在所述客户机处的数据表示中。 9. The routing network according to claim 1, characterized in that the living object is included in the data represented at the client.
10.如权利要求9所述的路由网络，其特征在于，所述数据表示包括网页或应用程序。 10. The routing network according to claim 9, wherein said data representation comprises a web page or application.
11.如权利要求1所述的路由网络，其特征在于，所述第一和第二消息基本相似。 11. The routing network according to claim 1, wherein said first and second substantially similar message.
12.一种用客户机的个人化信息来动态地更新活对象的方法，所述方法包括：从源接收标识第一标识符和第二标识符的第一消息，所述第一消息包含用于更新与所述第二标识符相关联的活对象的属性的个人化信息；标识专用于所述第一标识符的客户机；以及通过网络将第二消息路由至专用于所述第一标识符的客户机，所述第二消息标识所述第一标识符和第二标识符，所述第二消息包含用于更新与所述第二标识符相关联的活对象的属性的个人化信息。 A personalized information with the client dynamically updating live objects, the method comprising: receiving a first identifier identifying the first message and the second identifier from the source, with the first message comprises personal attribute information to update the live objects associated with the second identifier; identifying first identifier specific to the client; and by a second message is routed to a network dedicated to the first identification the client breaks the second message identifying the first and second identifiers, said second message containing personal information for updating live object attributes associated with the second identifier of .
13.如权利要求12所述的方法，其特征在于，所述客户机能够引起使用所述个人化信息对与所述第二标识符相关联的活对象的属性的更新。 13. The method of claim 12, wherein the client is capable of causing the personalized information used to update the properties of live objects associated with the second identifier is.
14.如权利要求12所述的方法，其特征在于，所述第二标识符是对多个客户机通用的。 14. The method of claim 12, wherein the second identifier is common to a plurality of clients.
15.如权利要求12所述的方法，其特征在于，还包括：从所述源接收标识第三标识符和第二标识符的第三消息，所述第三消息包含用于更新与所述第二标识符相关联的第二活对象的第二属性的个人化信息；标识专用于所述第三标识符的第二客户机；以及通过网络将第四消息路由至专用于所述第三标识符的第二客户机，所述第四消息标识所述第三标识符和第二标识符，所述第四消息包含用于更新与所述第二标识符相关联的第二活对象的第二属性的个人化信息。 15. The method according to claim 12, characterized in that, further comprising: receiving a third identifier identifying a second identifier and a third message from the source, the third message comprises means for updating the personal information of the second attribute of the second object is live associated second identifier; identifying a third identifier specific to the second client; and by the fourth message is routed to a network dedicated to the third second client identifier, the fourth message identifying the third and second identifiers, the fourth message comprising a second update identifier associated with the second object is live personal information of the second property.
16.如权利要求12所述的方法，其特征在于，使用所述第二标识符将所述个人化信息发送至一个或多个附加客户机，其中使用对每一附加客户机唯一的个人化标识符来路由所述个人化信息。 16. The method of claim 12, wherein the second identifier using the personalized information is transmitted to one or more additional clients, wherein each unique personal additional client the personal identifier routing information.
17.如权利要求12所述的方法，其特征在于，所述第一消息包括用于更新与一个或多个附加标识符相关联的一个或多个活对象的一个或多个属性的附加信息，其中所述第二消息标识所述一个或多个附加标识符，所述第二消息包括用于更新与一个或多个附加标识符相关联的一个或多个活对象的一个或多个属性的附加信息。 17. The method of claim 12, wherein said first message comprises means for updating the one or more identifiers of one or more additional live objects or more attributes associated with the additional information wherein the second message identifying the one or more additional identifier, said second message comprising one or more additional update identifiers associated with one or a plurality of living objects or more attributes additional information.
18.如权利要求17所述的路由网络，其特征在于，所述一个或多个附加标识符与专用于所述客户机的个人化内容或对多个客户机通用的内容相关联。 18. The routing network according to claim 17, wherein said one or more additional identifiers and content specific to the individual client or for multiple clients associated with the content general.
19.如权利要求12所述的方法，其特征在于，还包括从所述客户机接收对所述第二标识符以及所述第一标识符的注册请求，以接收与所述第二标识符相关联的信息。 19. The method according to claim 12, characterized by further comprising receiving from the client to the second registration request identifier and the first identifier, the second identifier and to receive the associated information.
20.如权利要求12所述的方法，其特征在于，所述活对象被包括在所述客户机处的数据表示中。 20. The method according to claim 12, characterized in that the living object is included in the data represented at the client.
21.如权利要求20所述的方法，其特征在于，所述数据表示包括网页或应用程序。 21. The method according to claim 20, wherein said data representation comprises a web page or application.
22.如权利要求12所述的方法，其特征在于，所述第一和第二消息基本相似。 22. The method of claim 12, wherein said first and second substantially similar message.
23.一种使用路由网络来用客户机的个人化内容动态地更新活对象的方法，所述方法包括：从第一客户机接收对第一个人化标识符和通用标识符的第一注册请求；从第二客户机接收对第二个人化标识符和所述通用标识符的第二注册请求；确定多个客户机中的第一客户机的第一个人化信息；将所述第一个人化信息与所述通用标识符相关联；确定多个客户机中的第二客户机的第二个人化信息；将所述第二个人化信息与所述通用标识符相关联；生成包括所述第一个人化标识符和所述通用标识符的第一消息，所述第一消息包括与所述通用标识符相关联的所述第一个人化信息；生成包括所述第二个人化标识符和所述通用标识符的第二消息，所述第二消息包括与所述通用标识符相关联的所述第二个人化信息；使用所述第一个人化标识符将所述第一消息发送至所述 23. A method of using a routing network to the client's personal content dynamically updating live objects, the method comprising: receiving a first registration identifier, and the first universal personal identifier from the first client request; receiving a second request for a second registration identifier and the universal personal identifier from the second client; personalized information determining a first plurality of clients in a first client; the first a person information associated with the generic identifier; personalized information determining a second plurality of clients in a second client; the second personalization information associated with the generic identifier; generating the personal identifier comprises a first and a first generic identifier to the message, the first message comprising the generic identifier associated with the first personalized information; comprising generating said first two individuals of the universal identifier and the second identifier message, the second message comprising the generic identifier associated with the second personalized information; using the first personal identifier sending the first message to the 一客户机，其中所述第一客户机能够引起使用所述第一个人化信息对与所述通用标识符相关联的第一活对象的属性的更新；以及使用所述第二个人化标识符将所述第二消息发送至所述第二客户机，其中所述第二客户机能够引起使用所述第二个人化信息对与所述通用标识符相关联的第二活对象的属性的更新。 A client, wherein the first client is capable of causing the personal information using the first update to the first live object attributes associated with the generic identifier; and using the second personal identification the second character message to the second client, wherein the second client is capable of causing a second person using the attribute information associated with the second generic identifier living object update.
24.如权利要求23所述的方法，其特征在于，所述第一消息和所述第二消息通过所述路由网络来发送，其中所述路由网络能够确定与所述第一个人化标识符相关联的第一客户机并将所述第一消息路由至所述第一客户机，其中所述路由网络能够确定与所述第二个人化标识符相关联的第二客户机并将所述第二消息路由至所述第二客户机。 24. The method according to claim 23, wherein said first message and said second message is sent via the routing network, wherein the first routing network capable of determining the identity of the individual and and the first client identifier associated with a first routing message to the first client, wherein said routing network capable of determining second client and the second identifier associated personalization and the routing said second message to the second client.
25.一种能够用个人化内容来动态地更新活对象的客户机，所述客户机包括：能够从路由网络接收标识第一标识符和第二标识符的消息的逻辑，所述第一消息包含用于更新与所述第二标识符相关联的活对象的属性的个人化信息，所述第一标识符专用于所述客户机，而所述第二标识符对所述客户机及一个或多个附加客户机是通用的；能够标识用于更新与所述第二标识符相关联的活对象的属性的个人化信息的逻辑；以及能够引起使用所述个人化信息对所述活对象的属性的更新的逻辑。 25. A method capable of dynamically updating live objects personalized content with a client, said client comprising: logic capable of receiving a routing network identifier from the first identifier and the second identifier message, the first message attribute including personal information for updating live objects associated with the second identifier, the first identifier specific to the client and the second identifier to the client and a or more additional clients are generic; logic capable of identifying the personal information of the living subject attribute update the associated second identifier; and can cause the living subject using the information on the personalized the logic updates the property.
26.如权利要求25所述的客户机，其特征在于，所述消息包括用于更新与一个或多个附加客户机相关联的一个或多个活对象的一个或多个属性的附加信息。 26. The client according to claim 25, wherein the message includes additional information for updating a client associated with one or more of the one or more additional live objects or more attributes.
27.如权利要求25所述的客户机，其特征在于，还包括能够注册所述第二标识符以及所述第一标识符以接收与所述第二标识符相关联的信息的逻辑。 27. The client according to claim 25, characterized by further comprising capable of registering the first identifier and the second identifier received logical identifier and information associated with the second.
28.如权利要求25所述的客户机，其特征在于，所述第一和第二消息基本相似。 28. The client according to claim 25, wherein said first and second substantially similar message.
29.如权利要求25所述的客户机，其特征在于，所述活对象被包括在所述客户机处的数据表示中。 29. The client according to claim 25, characterized in that the living object is included in the data represented at the client.
30.如权利要求29所述的客户机，其特征在于，所述数据表示包括网页或应用程序。 30. A client according to claim 29, wherein said data representation comprises a web page or application.
CN 200580027962 2004-08-17 2005-08-15 Techniques for delivering personalized content with a real-time routing network CN101057476B (en)
CN101057476A true CN101057476A (en) 2007-10-17
CN101057476B CN101057476B (en) 2014-01-08
CN 200580027383 CN100527086C (en) 2004-08-17 2005-08-15 Modular event-driven processing
CN 200580027440 CN101189852B (en) 2004-08-17 2005-08-15 Techniques for upstream failure detection and failure recovery
2005-08-15 CN CN 200580027383 patent/CN100527086C/en active IP Right Grant
2005-08-15 CN CN 200580027440 patent/CN101189852B/en active IP Right Grant
2005-08-15 WO PCT/US2005/029162 patent/WO2006023508A1/en active Application Filing
2005-08-15 CN CN 200580027962 patent/CN101057476B/en active IP Right Grant
2005-08-15 EP EP05786463.9A patent/EP1779636B1/en active Active
2005-08-15 KR KR20077006144A patent/KR101164698B1/en active IP Right Grant
2005-08-15 JP JP2007527956A patent/JP4668271B2/en active Active
2005-08-15 US US11/205,237 patent/US9043635B2/en active Active
2007-03-16 KR KR20077006107A patent/KR101059904B1/en active IP Right Grant
2007-03-16 KR KR20077006143A patent/KR101049501B1/en active IP Right Grant
CN101189852A (en) 2008-05-28
WO2006023508A1 (en) 2006-03-02
KR101049501B1 (en) 2011-07-15
CN101189852B (en) 2012-10-03
KR101059904B1 (en) 2011-08-29
KR101164698B1 (en) 2012-07-11
EP1779636A1 (en) 2007-05-02
KR20070095273A (en) 2007-09-28
KR20070083566A (en) 2007-08-24
US20060075279A1 (en) 2006-04-06
US9043635B2 (en) 2015-05-26
JP2008510436A (en) 2008-04-03
CN101057476B (en) 2014-01-08
EP1779636B1 (en) 2015-05-27
CN100527086C (en) 2009-08-12
JP4668271B2 (en) 2011-04-13
KR20070057838A (en) 2007-06-07
CN101040261A (en) 2007-09-19