许多公司生产多个版本的软件或其他产品。例如,微软提供其核心操作系统的多个版本,例如,Windows XP、Windows NT、以及Windows 2000,及其办公室生产性软件的多个版本,例如,Office XP、Office 2000、Office 2003、以及Office X。在另一个示例中,汽车制造商一般每年创建一个汽车型号的新的基本版本,且同一年中的每个型号都有多个版本。例如,通用汽车一般可以为Chevrolet(Silverado)和GMC(Sierra)生产相同的轻型卡车,但是每个都将具有略微不同的特征。此外,每个品牌的卡车可具有若干版本,这些版本基于例如,引擎排量(1500、2500、3500、混合动力)、驱动轮系(二轮或四轮驱动)、悬挂、乘客车厢(常规、扩展驾驶室、全员驾驶室)、以及特征包(WT、LT>LS、SS)。许多这些公司发布针对这些产品的丰富及深入的帮助内容,例如,产品演示、产品培训、支持提示、以及文章。通常,该内容为了可访问性通过公共网络来发布,例如,在通过因特网可访问的万维网上发布。不幸的是,尽管是技术上可访问的,但是用户要找到与其特定需求直接相关的主题经常会很困难。该问题部分地是将不同的信息和内容应用到产品的不同版本的结果。大多数用户不知道他们实际上正在使用一特定产品的哪个版本以选择最合适的信息来满足他们的需求的这一事实使该问题加剧。
此处所描述和所要求保护的技术可以被视为用于响应于关于软件产品的搜索查询来提供内容的一种方法的示例性实现。由该搜索返回的内容特定于安装在进行该搜索的用户的计算机系统上的软件产品的一个版本。通过因特网来进行一项典型的搜索,其中该软件产品的用户将对于与软件产品相关的内容的搜索请求发送到web服务器。当接收到该搜索查询时,web服务器访问对应于检测到的该产品的版本的永久描述符。永久描述符可以是存储在该用户的计算机系统上的cookie文件、存储在web服务器本身上的永久存储中的信息(例如,按照分配给用户的每一唯一标识符来索引),或两者都是。
cookie文件可由软件检测模块来创建,并由web服务器作为对搜索请求的初始响应发送到该用户的计算机。软件检测模块询问该用户的计算机系统以标识所安装的软件产品,包括那些产品的特定版本。对与该软件产品相关的一般内容的存储库的搜索使用作为搜索过滤器的永久描述符(例如,cookie文件——来定范围以响应于与该检测到的软件产品的版本相关的搜索查询来提供特定版本的内容。
在一些实现中,提供了作为计算机程序产品的制品。计算机程序产品的一个实现提供可由计算机系统读取并编码了计算机程序的计算机程序存储介质。计算机程序产品的另一个实现可用计算机系统在载波内具体化并编码了计算机程序的计算机数据信号来提供。提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在用于帮助确定所要求保护的主题的范围。所要求保护主题的其他特征、细节、功能、以及优点将从如附图中进一步示出并在所附权利要求中所定义的以下更详细描写的各实施例和实现的详细描述中变得显而易见。
具体实施方式
在此处所描述的技术的一般实现中,由一搜索查询返回的内容特定于安装在请求该搜索的计算机系统上或与其相关联的产品的版本。当接收到一搜索查询时,搜索系统,例如web服务器访问对应于检测到的该产品的版本的永久描述符。该永久描述符可以是存储在作出请求的计算机系统上的cookie文件、存储在数据库或服务器上的其他存储库中并由某唯一用户或机器标识符来索引的文件、或两者都是。产品检测模块询问该计算机系统以标识所关联或安装的产品,包括那些产品的特定版本。对与该产品相关的一般内容的存储库的搜索使用该永久描述符作为搜索过滤器来定范围以提供特定于版本的内容。
图1描述通过联网系统100的一个典型的现有技术的搜索方案,其中用户尝试访问关于具有多个版本的产品的信息和内容。在图1的示例性说明中,可以将操作系统和各种软件产品载入到用户的计算机系统102。示例性产品清单104可包括作为计算机系统102的操作系统的MS Windows XP。具体的生产性软件产品可包括MS Office 2003,其包括包含MS Word 2003、MS Excel 2003、MS Outlook 2003、以及MS Powerpoint在内的若干独立程序。另外,计算机系统102可具有其他程序,例如MS Visio 2000。
计算机系统102的用户经常对找到与特定软件程序相关的信息感兴趣。例如,该用户可能想了解怎样自动地对MS Word中的段落进行标号或怎样使用输入到MS Excel电子数据表中的数据来创建图表。产品生产商经常创建关于软件产品的这些特征的大量支持信息和内容。然而,以电子或打印形式与产品软件一起提供该产品信息由于若干原因经常是不切实际的。首先,将这些巨量信息打印在纸张上是极其昂贵的。第二,即使以用户的计算机系统上的电子形式提供,存储这些大量信息的存储器需求也是过量的。第三,如果在购买软件的时候以打印或电子形式提供,则该信息是静态的且不存在提供更改、更新、改正、或其他额外信息的简单的、不昂贵的方式。因此,产品信息经常可供用户通过因特网或其他通信网络110来访问。
在图1的示例中,计算机文件服务器或web服务器106维护与各种产品相关的信息的大型存储库108。在某些情况下,信息可以只与一个产品的特定版本相关。在其他情况下,信息可以与一个产品的多个版本相关。例如,如图1所描绘的,存储库108存储与MS Windows的三个版本、MS Office的七个版本、MS Word的七个版本、MS Excel的七个版本、MS Outlook的三个版本、MS Powerpoint的七个版本、以及MS Visio的三个版本相关的信息。
当计算机系统102的用户通过网络110向web服务器106提交寻找关于一个特定问题的信息的查询112时,web服务器106访问存储库108以获得响应信息。然而,在响应114中由web服务器106返回的信息可能不是特定地与该用户的计算机系统102的配置相关的。例如,如图1所描绘的,由计算机系统102提交的查询112可以请求与MS Word产品相关的信息。计算机系统102正在运行MS Word 2003,但是web服务器106没有关于在该计算机系统102上使用的MS Word的版本的信息。因此,由web服务器106返回的对于查询112的响应114可能包含与MS Word 97、MS Word 2000、MS Word 2002、MSWord 2003、MS Word 2002(Macintosh)、MS Word X(Macintosh)、以及MS Word2004(Macintosh)相关的信息。
某些信息在MS Word产品的不同版本间可能是相同的,但是某些信息可能是不同的,这是由于在为不同操作系统制作的一个或多个后续版本中包括了改进或新特征。除非该用户知道正在计算机系统102上运行的MS Word是哪个版本,以及正在计算机系统102上运行的可能是什么操作系统,否则该用户不会知道在对于查询112的响应114中返回的哪些信息是实际上与该用户的需求相关的。另外,取决于与该特定结果相关的特定产品版本,该结果可能只是部分地,而不是完全相关的。因此,用户被迫细查在响应114中返回的信息以确定哪些结果以及在特定结果中的哪些信息可能是与在查询112中表达的需求相关的。
图2描绘了与图1所描绘的联网系统类似的联网系统200。计算机系统202的用户同样对找到与特定软件程序相关的信息感兴趣。可以将操作系统和各种软件产品载入到用户的计算机系统202。示例性产品清单204可同样包括作为计算机系统202的操作系统的MS Windows XP。具体的生产性软件产品可包括MS Office 2003,其包括包含MS Word 2003、MS Excel 2003、MS Outlook2003、以及MS Powerpoint在内的若干独立程序。另外,计算机系统202可具有其他程序,例如MS Visio 2000。
计算机文件服务器或web服务器206同样维护关于各种产品的信息的大型存储库208。如前,信息可以只与一个产品的特定版本相关或信息可以与一个产品的多个版本相关。例如,存储库208存储与MS Windows的三个版本、MS Office的七个版本、MS Word的七个版本、MS Excel的七个版本、MSOutlook的三个版本、MS Powerpoint的七个版本、以及MS Visio的三个版本相关的信息。
如图2所示,当计算机系统202的用户通过网络210向web服务器206提交查询212来寻找关于一个特定问题的信息时,web服务器206访问存储库208以获得响应信息。然而在这种情况下,向web服务器提供来自该用户的计算机系统202的、标识驻留在该计算机系统202上的操作系统版本以及软件产品类型和版本的信息。因此,在响应214中由web服务器106返回的信息现在是特定地与该用户的计算机系统202的配置相关的。
例如,如图2所描绘的,由计算机系统202提交的查询212可以请求与MS Word产品相关的信息。如前,查询212仅仅请求与MS Word问题相关的信息。由该用户创建的查询212没有包含关于MS Word或运行在该计算机系统202上的操作系统的版本的进一步的信息。在这种情况下,该计算机系统202正在运行MS Word 2003。然而,在写在用户计算机系统202上的永久描述符,即cookie中编码、并且还可包含关于该计算机系统202的额外的状态信息的版本信息也被发送到web服务器206。
该版本信息可以作为发送该查询信息的超文本传输协议(HTTP)的一部分发送到web服务器206。这遵循HTTP协议的一般规则,即与一特定网站相关的cookie自动地被包括在由用户计算机202发送到web服务器206的对于该网站的所有HTTP请求中。
一旦在该web服务器206处接收到cookie中的版本信息,该版本信息还可被存储在web服务器206上的中央用户信息数据库中。版本信息的中央存储在该cookie在该用户计算机系统上被删除或该用户正在使用公共计算机(而不是该用户自己的计算机系统)来请求搜索的情况下可能是合乎需要的。通过在服务器侧将版本信息存储到经口令保护的用户存储中,该用户能够登录到web服务器并且授权对该版本信息的访问权。因此,如果不存在版本检测cookie,则搜索请求能够将来自于永久描述符的版本信息包含在web服务器上的用户存储中。
当用户登录web服务器时,创建包含唯一用户标识符的“会话cookie”。即使没有在版本检测cookie中发送版本信息,该用户标识符也可用于索引存储库以确定对于该用户是否存在版本信息。搜索协议将首先依赖HTTP请求中的版本cookie,但是如果版本cookie不存在而存在会话cookie,意味着该用户在会话期间已经成功地登录了,则该搜索将使用该会话cookie来索引该用户的存储并访问其中的版本信息。或者,用户或机器标识符可由计算机系统202连同查询212一并发送到web服务器206且该唯一标识信息可被web服务器206用来查找关于该用户的计算机系统202的配置的信息。
因为web服务器206现在另外地接收关于在计算机系统202上使用的MSWord的版本的信息,所以调整响应以便提供限于与MS Word 2003相关的信息的响应214,或以其他方式对响应214中的结果进行排序以将MS Word 2003的信息放在结果的首位。此处将参考其余的附图进一步描述用于实现该改进的搜索响应214的方法。
虽然图2和此处的其他附图描述了在用户计算机和此处例示为web服务器的远程计算机系统之间发生的信息查询事务,但是远程计算机可以是任何其他的计算机系统。此外,信息查询无需通过网络来处理,而可以仅仅是存储在该用户的计算机系统上的帮助文件中的一个查询。例如,假设存在称为“Professional”的Word版本,其包括在称为“Essentials”的版本中不存在的特征。安装在用户计算机上的两个版本可以是同样的程序,但是取决于购买了哪个产品,对许可证密钥的使用确定哪些特征对该用户可用。在这种情况下,与程序相关联且安装在用户计算机上的帮助文件可包括关于所有特征的信息,该信息为Professional版本的用户提供信息的超集。如果该用户只有Essential许可证,则通过使用版本信息,在这种情况下在帮助文件上的本地搜索可用于定义该搜索的范围以仅返回涉及Essential版本的结果的子集。
图3描绘了用于产生特定于产品版本的内容的联网系统300的另一种概念化。用户计算机系统302通过网络304连接到web服务器计算机系统306。web服务器306可包括各种组件,包括版本检测模块308、cookie创建模块310、搜索模块312、以及内容数据库314。版本检测模块308可以是存储在web服务器306上以便通过网络304传输到用户计算机系统302的软件程序,例如,Java小程序或ActiveX控件。当版本检测模块308的副本通过网络304发送到用户计算机系统302时,版本检测模块316的副本被存储在用户计算机系统302上。
版本检测模块308被设计成询问用户计算机系统302以确定产品的哪些版本是与用户计算机系统302相关联的。如在图2的示例中,版本检测模块316可检测用户计算机系统302的操作系统版本或安装在该用户计算机系统302上的各种软件产品的版本。在另一个示例中,计算机系统302本身可以是例如汽车等产品的一个组件。计算机系统302可以通过例如通用汽车OnStar
网络等无线网络连接到web服务器304。在此示例中,由版本检测模块316收集的版本信息可以与汽车的型号、生产年份、以及汽车的任何特定版本(例如,引擎排量、装饰套件、悬挂套件、安全套件、刹车套件等)相关。对另外的产品和版本的检测是此处所构想的。
一旦收集了版本信息,版本检测模块316就通过网络304将版本信息发送到web服务器计算机系统306。在web服务器306处的cookie创建模块310使用该版本信息来创建产品版本的永久描述符,例如,cookie文件,该描述符可由搜索模块312用来将搜索结果的范围限于与和特定用户计算机系统302相关联的产品版本相关。Web服务器306通过网络304将cookie文件发送到用户计算机系统302,在其用户计算机系统处该cookie文件作为版本cookie 318存储以便当用户计算机系统302在web服务器计算机系统306处执行将来的搜索时使用。
当用户计算机系统302稍后请求一个搜索时,搜索模块312访问来自于用户计算机系统302的版本cookie 318。搜索模块使用版本cookie 318上的版本信息来确定对网站内容314的搜索的范围以区分搜索结果的优先顺序或将其限于与用户计算机系统302上的产品版本最相关的内容信息。
图4描绘了用于在web服务器处形成版本cookie的示例性过程400。过程400由第一接收操作402来启动,其中web服务器从用户计算机系统接收对与该用户计算机系统相关联的产品版本进行自动检测的请求。该请求还可包括来自于用户计算机系统的许可的授予以收集版本信息并将其从用户计算机系统传输到web服务器。许可或授权由于隐私法律或规章制度可以是对于收集和传输来自于用户计算机系统的版本信息所必需的,因为版本信息可被归类为个人标识信息或满足需要用户授权来收集的个人或隐私信息的某些定义。
最初由web服务器生成的界面(UI)可包括必须在收集任何版本信息前完成的注册部分。此外,一旦创建了永久描述符文件,UI就可指示搜索是根据特定于该用户的计算机系统的特定版本参数来定范围的事实。UI还可为用户提供选择包括在搜索范围中的额外的版本的选项,即使没有在该用户的计算机上检测到这些版本。
第一传输操作404跟随第一接收操作402,其中当接收到对于版本检测以及任何必须的授权的请求时,由web服务器通过网络将版本检测模块发送到用户计算机系统。如上所述,一旦接收到并存储在用户计算机系统上,版本检测模块就询问该用户计算机系统以标识安装在该用户计算机系统上或与其相关联的产品及其特定版本,并且将该产品版本信息发送到web服务器。在第二接收操作406中,web服务器从用户计算机系统接收版本数据。在其中产品与安装在用户计算机系统上的软件相关的实现中,接收到的信息可包括产品版本数据、该产品版本的库存单位(SKU)号、以及产品许可证信息(例如,许可用于个人、商业、或教育)。
创建操作408跟随第二接收操作406,在其中使用版本信息来创建版本cookie以便存储在该用户计算机系统上。版本cookie包含对应于该用户计算机的唯一标识符以及关于所检测到的或所选的产品的信息串。
虽然版本cookie可以用例如JavaScript在用户计算机处创建,但是存在在web服务器处创建该cookie的若干理由。第一,可能期望将版本信息存储在web服务器处的数据库中,而不仅仅在cookie中。版本信息需要无论如何在服务器上都是可用的。第二,除了自动检测版本信息外,用户还可被允许编辑检测到的信息。例如,用户可能没有在该用户计算机上安装Visio 2003并且因此检测模块不会在版本信息中标识该程序,但是该用户可能仍然对响应于查询接收到与该程序相关的信息感兴趣。因此可由web服务器在创建版本cookie前提供用于编辑版本信息的界面以包括除了那些检测到的产品之外的另外的产品选择。
第二传输操作410然后通过网络将版本cookie发送到用户计算机系统以存储在用户计算机系统处的存储器中并且在将来搜索产品内容期间访问来正确地确定该搜索的范围。注意,用于形成版本cookie的过程400可以在步骤412处作为将在下文中进一步描述的图6的过程600的结果而启动。
在另一个实现中,版本检测模块可以在用户计算机系统上创建版本cookie而无需首先将该产品和版本信息发送到web服务器以在web服务器处创建该版本cookie。然而,可能期望遵循图4的各步骤并且在web服务器处创建版本cookie以保证该版本cookie有助于在web服务器以及用户计算机系统处存储版本信息。
除了自动版本检测之外,版本检测模块还可为用户提供手动定义将在搜索中使用的产品和版本信息的机会。当用户寻找与安装在该用户正在使用的计算机上或与其相关联的产品无关的信息时,这可能是合乎需要的。例如,该用户可能正在使用公共计算机而不是该用户的个人计算机来执行搜索。手动版本定义还可用于在用户知道他想要关于两个独立的产品版本的信息时从一开始就扩大搜索范围。这在例如用户想要比较两个产品版本的特征的情况下可能是合乎需要的。
图5描绘了用于提供在用户计算机系统510上运行的特定产品版本范围内的内容搜索结果的系统500的进一步实现。产品相关内容被公布在web服务器508上以供用户通过网站界面来访问。创作工具502可用于创建用特定产品版本标识的内容。在开发时,由创作工具502创作的内容可保存在内容存储504中,例如,在内容被公布到web服务器508之前用作正在开发的内容的中转区域的数据库。
创作工具502可向内容作者提供将内容分类或“标记”为适用于或相关于一个或多个产品版本的能力。因此,当在可能与作为搜索查询的主题的产品相关或可能不相关的大量一般内容上执行该搜索时,能够很容易地标识与该产品相关的特定于版本的内容。在一示例性实现中,创作工具502可用于用与内容的特定片段相关联的可扩展标记语言(XML)文件来编码数据类型定义。XML文件起到标签的作用以标识特定内容条目的主题,包括该内容与其相关的特定产品和版本。
在涉及计算机软件产品的一示例性实现中,特定软件产品的多个版本可分别安装在多个用户计算机上。例如,第一用户可以在其计算机上安装了MSWord 2000,而第二用户在其计算机上安装了MS Word 2003,且第三用户在其计算机上安装了针对Macintosh的MS Word X。这些MS Word的版本中的每一个都具有公共的特征和功能,然而,每个版本也具有与其他版本的区别。区别可包括,例如,相对于旧版本的改进、在旧版本中不存在的新功能、或由不同操作系统的特性指示的区别。
在此实现的上下文中,目标是提供特定于MS Word的每个版本的内容以供用户访问。该内容可采用例如用户指南或手册信息、其他帮助或怎样信息、教程、演示、以及讨论线索等形式。注意,虽然大量的信息内容适用于MS Word的每个版本,但是为MS Word的每个版本创作完全独立的内容从资源的观点来看是没有意义的。因此,创作工具502可用于为离散的内容片段加标签以标识一内容片段对于MS Word的一个或多个版本的适用性。因此,适用于MSWord 2000、MS Word 2003、以及MS Word X的每一个的内容片段可具有三个标签,而只适用于MS Word 2000的内容片段只有一个相关联的标签。
将针对一特定主题的内容进一步分解为适用于多个版本的一般内容片段和只适用于特定版本的特定内容片段从资源的观点来看还可以是有益的。与一特定软件产品版本相关的搜索然后能够将一般内容片段和适用的特定内容片段重新聚集起来以创建关于该主题的完整的、特定于版本的讨论。
一旦创建了内容并适当地为其加标签,就向web服务器508发行并发布该内容506。该内容存储在web服务器508上的网站内容数据库524中以响应于用户查询进行搜索。例如,用户的计算机系统510可以通过网络514提交发送到web服务器516的搜索请求。在接收操作516中,web服务器508从网络514接收搜索请求并且用请求操作518来进行响应以向该用户的计算机系统510请求版本cookie 512。将该版本cookie请求通过网络514发送到该用户的计算机系统510。然后将储在该用户的计算机系统510上的存储器中的版本cookie 512通过网络514发回到web服务器508。
在第二接收操作520中,在web服务器508处接收版本cookie 512并且在搜索操作522中将该版本cookie信息作为一个或多个搜索项并入搜索查询中。存储在web服务器524上的软件搜索模块询问存储在网站内容数据库524中的一般内容。在搜索返回操作526中,收集特定于版本的内容作为定义该搜索的范围的结果以便仅仅、或至少分层地标识被标记为与在版本cookie 512中标识的特定产品版本相关的内容。在传输操作528中,然后将特定于版本的搜索结果通过网络514发送到用户计算机系统510用于显示或其他输出。
当用户移过搜索结果时可以呈现面包屑(breadcrumb)以帮助该用户查看返回的信息的范围。面包屑是信息在“信息体系结构”或网站或数据结构的分层结构中在哪里或怎样定位的文本表示。面包屑一般显示主要类别的信息是怎样沿着顺序次序的连续性链接的。面包屑通常可以作为用户移过以到达当前页面的链接页面的导航路径(例如,页面的统一资源定位符)来显示。另选或另外地,对应于返回的内容的版本信息的文本标识可结合该内容来呈现给用户以向该用户强调返回的内容是特定于版本的。
除了传统上被认为是产品相关内容的用户指南教程信息以及其他帮助或怎样信息之外,易于进行版本搜索的内容还可包括产品培训和演示、与该产品相关的文章、演示、以及讨论线索。此外,特定于版本的搜索还可返回适用的市场或广告内容。例如,如果版本cookie 512指示用户计算机系统安装有MSOffice 2003,则当发行MS Office“12”时,一条合适的广告消息可以建议升级到该新的产品版本并提供到一商业界面的链接以完成购买交易。
图6描绘了用于执行在一般内容的存储库中搜索与产品特定地相关的内容的一示例性过程600,其中搜索结果的范围被定为与该产品的一个特定版本相关。在一个实现中,该搜索可以由web服务器通过例如因特网等网络接收搜索请求来执行。在接收操作602中,在web服务器处从用户系统接收搜索请求。该搜索请求与特定产品相关的内容。在发送操作604中,web服务器将对于版本cookie的请求通过网络发送到该用户系统。
当从该用户系统接收到返回传输时,web服务器执行查询操作606并确定该用户系统是否具有版本cookie。对版本cookie的存在的确认可简单地通过从该用户系统接收该版本cookie信息来确认。如果返回了一个版本cookie,则web服务器执行添加操作608并且在一般内容中搜索特定于产品的内容之前包括该版本cookie信息作为搜索项。搜索操作610使用修订的搜索查询以寻找与该用户系统最相关的产品的特定于版本的内容。返回操作612然后返回范围被正确地定为与用户系统相结合的产品的版本的搜索结果。
在另一个实现中,在用户当前没有使用具有版本cookie的计算机系统的情况下可将特定于版本的信息返回给该用户。这可由web服务器处的版本信息并行存储在版本cookie被创建并存储在该用户的计算机系统上时启用。例如,用户可能从公共计算机访问提供产品信息的网站。如果用户能够在该网站上通过某认证系统来注册,则存储在该web服务器上并与该用户相关联的版本信息可被访问以确定由用户在公共计算机上执行的搜索的范围。因此,如果用户在不是他自己的计算机系统上,则系统仍然能够基于存储在web服务器处的版本信息返回范围被正确地定为与该用户相关联的各版本的正确信息。
除了如在返回操作612中所指示的返回特定于版本的搜索结果之外,过程600还可包括用于提供用户可能感兴趣的另外的内容的一个或多个可任选操作。第一可任选操作614可向用户提供对与产品相关的、但不是特定于版本的额外的搜索结果的访问。这些搜索结果可作为例如分层地放于特定于版本的内容下的额外的搜索结果清单来提供。或者,这些搜索结果可通过呈现到另外的、非特定于版本的内容的第二显示的链接来对用户可用。
第二可任选操作616可将基于版本信息、但不是特定于作为用户的搜索的主题的产品或该产品的版本的另外的内容提供给该用户。例如,假设产品A、版本1是与用户系统相结合的并且该用户发送与产品A相关的搜索请求。还假设采用版本2形式的产品A的升级是可用的。当搜索结果的范围被定为版本1时,搜索结果可包括指示版本2可用的额外的内容,该内容提供关于版本2的信息,并且向用户提供购买版本2的机会。或者,搜索结果能够提供与作为产品A的补充的产品B相关的额外信息。
回到查询操作606,在用户系统没有版本cookie的情况下,web服务器可执行与搜索请求的主题产品相关的、但范围不是该产品的特定版本的搜索操作618。过程600然后在返回操作620中返回所有可能的相关搜索结果而不管产品版本如何。尽管在搜索中返回的内容的范围没有定为一特定产品版本,但是过程600可包括在其中向用户呈现将该搜索结果的范围定为与该用户系统相关联的产品版本的选项的呈现操作622。如果用户选择此选项,则过程600执行传送操作624来启动图4中描绘的cookie创建过程400。
图7示出了可作为包含产品的用户计算机系统或者提供与这些产品相关的内容的web服务器计算机系统使用的示例性计算机系统700。在一个实现中,计算机系统700可具体化为台式计算机、膝上型计算机、文件服务器计算机、或web服务器计算机,尽管其他实现,例如,视频游戏控制台、机顶盒、便携式游戏系统、个人数字助理、以及移动电话也可包含所描述的技术。计算机系统700通常包括至少一个处理单元702和存储器704。取决于计算机系统700的确切配置和类型,系统存储器704可以是易失性的(例如RAM)、非易失性的(例如ROM和闪存)或是两者的某种组合。计算机系统700的最基本的配置只需要包括如由虚线706指示的处理单元702和存储器704。
计算机系统700还可包括用于存储器存储或检索的额外设备。这些设备可以是可移动存储设备708或不可移动存储设备710,例如,用于在磁和光介质上的存储器存储和检索的磁盘驱动器、磁带驱动器、以及光驱。存储介质可包括易失性和非易失性介质,可移动和不可移动两者,并且可以按大量配置中的任一种来提供,例如,RAM、ROM、EEPROM、闪存、CD-ROM、DVD、或其他光存储介质、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由处理单元702访问的任何其它存储器技术或介质。可以使用用于存储例如计算机可读指令、数据结构、以及程序模块等数据的任何方法或技术来将信息存储在存储介质上。
计算机系统700还可具有允许系统700与其他设备进行通信的一个或多个通信接口712。通信接口712如附图2、3、以及5所描绘的可与网络相连接。网络可以是局域网(LAN)、广域网(WAN)、电话网、电缆网、光缆网、因特网、直接线连接、例如射频、红外线、微波、或声学等无线网络、或允许设备间的数据传输的其他网络。数据一般经由例如载波或其他传输机制等已调制数据信号通过发往或发自通信接口172。已调制数据信号是能够以在信号中编码信息的方式设置或改变其特征的电磁信号。
计算机系统700还可具有各种输入设备714和输出设备716。示例性输入设备714可包括键盘、鼠标、图形输入板、触摸屏设备、扫描仪、视觉输入设备、以及话筒或其他声音输入设备。示例性输出设备716可包括显示监视器、打印机、以及扬声器。这些输入设备714和输出设备716可以与计算机系统700集成,或者它们可通过有线或无线,例如通过蓝牙协议,连接到计算机系统700。这些集成的或外围输入和输出设备一般是公知的,且不在此处进一步讨论。在一个实现中,实现用于确定产品和版本信息、创建版本cookie、或搜索内容数据库的方法或模块的程序指令被包括在存储器704以及存储设备708和710中并且由处理单元702执行。其他功能,例如处理网络通信事务,可在计算机系统700的非易失性存储器704中由操作系统来执行。
此处所描述的技术可被实现为一个或多个系统中的逻辑操作和/或模块。逻辑操作可被实现为在一个或多个计算机系统中执行的处理器实现的步骤的序列,以及在一个或多个计算机系统中的互连机器或电路模块。同样地,各组件模块的描述可以按照由模块执行或实现的操作来提供。所得的实现是取决于实现所描述的技术的底层系统的性能需求的选择问题。从而,组成此处所述的技术的实施例的逻辑操作被不同地称作操作、步骤、对象或模块。此外,应该理解,除非以其他方式明确地要求保护或权利要求语言固有地需要一特定的次序,否则逻辑操作可以按任何次序来执行。
以上说明、示例和数据提供了对本发明的各示例性实施例的结构和使用的全面描述。尽管以上带着一定程度的特殊性或对一个或多个个别实施例的参考描述了本发明的各实施例,但是本领域的技术人员能够对所公开的实施例做出多种改变而不背离本发明的精神或范围。更具体地,应该理解,可以独立于个人计算机采用所描述的技术。因此可考虑其他实施例。其目的是以上描述中所包含以及在附图中所示出的所有一切应当被解释为仅仅是例示特定实施例而非限制。可以对细节或结构做出更改而不背离如所附权利要求书中定义的本发明的基本要素。