CN1451220A - 在内容交换机中预装内容对象 - Google Patents

在内容交换机中预装内容对象 Download PDF

Info

Publication number
CN1451220A
CN1451220A CN01813508A CN01813508A CN1451220A CN 1451220 A CN1451220 A CN 1451220A CN 01813508 A CN01813508 A CN 01813508A CN 01813508 A CN01813508 A CN 01813508A CN 1451220 A CN1451220 A CN 1451220A
Authority
CN
China
Prior art keywords
content
source server
switch
content object
memorizer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN01813508A
Other languages
English (en)
Inventor
内森·F·拉希博斯基
马克·R·汤普森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aerocast com Inc
Original Assignee
Aerocast com Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/867,868 external-priority patent/US20010051980A1/en
Application filed by Aerocast com Inc filed Critical Aerocast com Inc
Publication of CN1451220A publication Critical patent/CN1451220A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5069Address allocation for group communication, multicast communication or broadcast communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/604Address structures or formats
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/663Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)
  • Catalysts (AREA)

Abstract

根据本发明,公开了一种用于将内容对象装载到网络上的内容存储器中的方法。在一种措施中,处理过程等待一个触发事件。判断第一源服务器是否有权将内容存储到内容存储器中。将来自第一源服务器的第一内容对象装载到内容存储器中,而无需对第一内容对象的请求。判断第二源服务器是否有权将内容存储到内容存储器中。将来自第二源服务器的第二内容对象装载到内容存储器中,而无需对第二内容对象的请求。

Description

在内容交换机中预装内容对象
本申请享有2000年6月1日所申请的美国临时申请号60/209,007和2000年9月18日所申请的美国专利申请号09/665,204的优先权。
技术领域
本发明一般涉及存储信息,尤其涉及在网络上存储信息。
背景技术
在宽带工业中,正在进行努力以改善流式内容的服务质量(QOS)。目前,因特网基础结构还不能长时间地以不变的数据率提供数据流。有人已尝试的一种方案是要在请求数据的用户与提供数据的源服务器之间的某处将信息高速缓存。
对于因特网基础结构而言,有其他影响QOS的种种限制。影响QOS的目前的限制的一个例子是因特网业务提供商(ISP)对上行带宽所施加的限制。通常,因特网业务提供商将上行带宽限定为下行带宽的几分之一。
在过多订购带宽情况下,受限的上行带宽还受到峰值负载条件的约束。例如,在刚刚下班的那段时间对因特网系统的需求会增长,这主要是由于许多人检查电子邮件和浏览web页所引起的。所增加的这种需求使所有用户都有负担,从而使他们的网络连接变慢。因此,迫切需要用某些方法来减小那些峰值负载期间所需的带宽。
附图说明
下面结合附图来描述本发明:
图1是内容分配系统的一种实施方式的框图;
图2是内容分配系统的活动目录部分的一种实施方式的框图;
图3A是内容分配系统的源服务器部分的一种实施方式的框图;
图3B是内容分配系统的外部源服务器部分的一种实施方式的框图;
图4A是内容分配系统的内容交换机部分的一种实施方式的框图;
图4B是内容分配系统的内容交换机部分的另一种实施方式的框图;
图4C是含有多个内容交换机服务器的内容交换机站点的一种实施方式的框图;
图5是内容分配系统的客户计算机部分的一种实施方式的框图;
图6是内容分配系统的一种实施方式的框图;
图7是具有两种内容交换机的内容分配系统的另一种实施方式的框图;
图8是内容分配系统的又一种实施方式的框图;
图9是用于填充具有可用存储容量的可捕获内容交换机的过程的一种实施方式的流程图;
图10是用于填充可捕获内容交换机的过程的另一种实施方式的流程图;
图11是用于填充可捕获内容交换机的过程的又一种实施方式的流程图;
图12是用于将来自源服务器的内容填充到分布式存储系统中的过程的一种实施方式的流程图;和
图13是用于向客户计算提供内容交换机一览表的过程的一种实施方式的流程图。
在这些图中,类似部分和/或特征具有相同的标号。此外,同一类型的不同部分可以用标号后面跟一个破折号和一个第二标号来区分,第二标号可以区分类似部分。如果在说明书中只用第一标号,那么,该描述适用于具有相同第一标号的任一类似部分,而与第二标号无关。
具体实施方式
以下描述只提供了优选的示范性实施方式,而并不是要限制本发明的范围、适用性或配置。更确切地说,优选的示范性实施方式的以下描述将为熟练技术人员提供一种实现本发明的优选的示范性实施方式的启示性描述。应当理解,在不背离附属权利要求书中所述的本发明的思想和范围的前提下,可以在部件的功能和配置方面作出各种修改。
本发明包括一些用于为内容交换机预装内容对象的技术。通常,被预装的内容交换机与客户计算机和源服务器相关联。源服务器中的一些或全部内容对象被装载到相关的内容交换机中。一个触发事件(比如关于内容交换机的低带宽利用率)可使内容交换机装载内容对象。
参照图1,图中示出了内容分配系统100的一种实施方式的框图。在该实施方式中,内容分配系统100包括:一个活动目录104,一个或多个源服务器108,一个或多个客户计算机112,一个或多个内容交换机116,一个或多个外部源服务器118,一个或多个无关联源服务器106,因特网120,和一个浏览目录124。特定客户计算机112与活动目录104交互,以选择所要下载的内容对象。如果对象是流式媒体,那么它可以在下载过程中被播放,或者在稍后被存储。内容对象可以是可从网络中下载的任何类型的信息,比如,音频、视频或数据。来自客户计算机112的对内容对象的请求与首选信息一同被转发到合适的源服务器108。源服务器108决定从何处下载该对象。为了提供足够的QOS,任一内容交换机116或者甚至是源服务器108本身都能提供该对象。
活动目录104可以是面向选择内容对象的客户计算机112的界面。用于源服务器108的和可选地用于客户计算机112的软件都可以从活动目录104中下载,以便启动内容分配系统100。活动目录104中的目录界面页或是搜索界面页可以用来确定想要下载的内容对象。这些界面以活动方式保持,以免与源服务器108上内容对象的链接被中断。当由内容交换机116从源服务器108请求内容对象时,活动目录104可以提供一条回到发起该内容对象的适当源服务器108的路径。
其他实施方式可以具有多个活动目录。系统的用户可以在多个活动目录中划分,以便在这些活动目录之间分配负载。此外,可以冗余地使用其他活动目录,使得,如果某个活动目录离线,那么其他活动目录可以吸收该负载。
在某些实施方式中,源服务器108提供内容对象的源,将用户引向内容对象的优选源,并向活动目录104提供目录信息。源服务器108将内容对象介绍给系统100。介绍涉及源服务器管理者对要使其对活动目录104可用的内容对象的选择。管理者可以是管理源服务器108的人或系统。内容对象可以包括以前存储的信息或信息的流式馈入。根据预定的周期,源服务器108提供随着源服务器108上的内容变更而更新的所选择信息的编目。
源服务器108确定要将客户计算机112引向的优选源,以便下载内容对象。在将客户计算机重新引向信息的优选源时,客户计算机112的首选表、内容交换机的负载以及内容对象的拷贝的位置都是源服务器108所要考虑的。这个源可以是源服务器108本身,或者是内容交换机116之一。
用户将客户计算机112引向这一位置,以寻找所想要的内容对象并随后下载该对象。利用从活动目录104中下载的查看者对象代理软件,客户计算机112确定能以足够的QOS传送内容的内容交换机116。确定具有足够的QOS的内容交换机116的过程包括,例如,接收来自那些很可能产生最佳结果的内容交换机116的测试信息并根据这些测试结果准备优选表。如果想要定制的方法,那么用户可以修改内容交换机116的优选表。当源服务器108在决定所请求内容对象的源时,利用首选信息来提供足够的QOS。
无关联内容服务器106是因特网上的一些形式上与系统100不相关的服务器。在这一实施方式中,内容交换机116仍可以高速缓存来自无关联服务器106的内容对象,以便为客户计算机112提供增强型QOS。在某些实施方式中,客户计算机112的用户可向内容交换机拥有者支付这一增强型QOS的费用。
外部源服务器118可以是可供客户计算机112使用的内容对象的附加源。在一种实施方式中,外部源服务器118与内容交换机116连接。外部源服务器中的内容对象在分布式内容交换机中镜像,以增强分配,而不会使外部源服务器负担过度。可将请求外部源服务器118中的内容对象的客户计算机112透明地重新引向内容交换机116,以满足对该内容对象的请求。
内容交换机116是高速缓存内容对象的存储库。许多这样的内容交换机116被分配到因特网120的不同地方,用以高速缓存内容对象。这样,任何客户计算机112都可能有因特网120上的与其接近的高速缓存器。信息可以基于以下考虑被高速缓存,比如,基于用户对信息的需求,基于希望其内容便于用户使用的源服务器108的业务,基于需要改善的QOS的用户的业务,或基于卸载上行带宽。内容交换机116的分组可以成群地或单独地为客户计算机112对内容对象的需求服务。
如上所述,源服务器108可以将客户计算机112对内容对象的请求引导到内容交换机116,以满足这一请求。当要从内容交换机116中请求内容对象的用户没有发现所请求的内容对象或所请求的内容对象的片段时,由内容交换机116转向其他内容交换机来请求该内容对象。如果其他内容交换机116也没有该内容对象,那么查询活动目录104,以得到是该内容对象的源的源服务器108、未指定的源服务器106或外部源服务器188,然后从那里将该内容对象下载到内容交换机116。当内容交换机116在搜集该内容对象的同时,客户计算机112接收可用的内容对象的任何开头片段。内容对象可以被分片存储在若干个内容交换机116中,并且在这些情况下,请求内容交换机116将检索这些片段,以便按客户计算机112的要求重新汇集整个内容对象。
浏览目录124用来补充所有源服务器108所报告的条目信息。当为用户搜索内容对象时,活动目录104可以显示来自源服务器108的可用的内容对象以及驻留在无关联源服务器106或外部源服务器118中的浏览目录124所揭示的其他内容对象。通过遍历该web,浏览目录124将这些内容对象以及它们所遇到的其他信息编目。例如,通过活动目录104的浏览目录124的关键字搜索可以将用户引向外部源服务器118或无关联源服务器106上的、从任何源服务器108中得不到的内容对象。当客户计算机112下载内容对象时,活动目录104可以选择内容交换机116之一来高速缓存该内容对象。尽管在这一实施方式中只采用了一个浏览目录124,不过,其他实施方式可以采用多个浏览目录来提供附加搜索结果。
因特网120包括了一些通过节点链接起来的服务器。数据被划分成一些分组,这些分组通过从一个节点转发至下一个节点来穿过因特网120,直至到达目的地。每个分组都可能采取因特网上的不同路由,并在不同的时刻到达目的地。此外,某些分组在穿过因特网120的过程中可能因任一节点的带宽饱和而丢失。随着内容对象的源与目的地之间转发次数的增加,过分延迟和分组丢失的可能性也增大。
当内容对象通过因特网120穿过从源到目的地的路径时,该路径中的任何两个节点之间的最小带宽规定了该路径的最大带宽。通常,从因特网120到客户计算机的带宽(即“最后的里程”)具有最小带宽分配。然而,在另一些场合中,节点之间的其他某个转发具有最小带宽。在内容交换机116与客户计算机112之间转发次数最小的情况下,在这一内容交换机116中高速缓存内容对象可以提高提供充足或足够的QOS的可能性。
以不超过客户计算机到因特网120的数据率的所要求的数据率下载内容对象就认为是足够的QOS。用户所能期望的最大的QOS由其网络连接速度、其计算机的处理能力和其他因素来决定。最小的QOS主观上由用户根据在某些限制范围内其所期望的质量来决定。例如,具有400Kbps网络连接和快速计算机的用户可以选择28Kbps、56Kbps或128Kbps流用于音频剪切(chip),据此,用户选择128Kbps流。只要客户计算机提供的数据率在128-400Kbps范围内,那么,该流就可有足够的QOS。
尽管上述实施方式主要将因特网120作为各种块之间的连接,然而,其他实施方式可以使用因特网120外部或与因特网120并行的专用链路。专用链路可以分配足够的带宽以提高QOS,或利用其他技术来提高QOS。另外,就提供高速缓存、加密和压缩而言,外部源服务器118或无关联源服务器106上的内容对象也可以得益于系统100。
参照图2,图中示出了内容分配系统100的活动目录部分104的一种实施方式的框图。活动目录104中包含有:一个动态域名服务器(DNS)204,一个服务器管理器208,一个目录页212,一个搜索页216,一个下载页220,一个用户数据库224,一个服务器数据库228,一个内容交换机数据库232,和一个路由数据库234。内容分配系统100与活动目录104交互,以便向用户提供目录信息并帮助为用户下载内容对象。
无论客户计算机112的用户还是源服务器108的管理者对内容分配系统100来说都是用户。软件从下载页220下载到用户和/或管理者。用于客户计算机112的软件在某些实施方式中是可选的,安装后它可用来提高QOS。用于源服务器108的软件使得活动目录104可以更新系统100中可用的内容,并可以将客户计算机112引向优选源,以便接收该内容。
客户计算机112加入到活动目录104的域,以寻找所想要的内容对象。根据首选,用户可以使用目录页212或搜索页216来寻找内容对象。搜索页216可以是传统的布尔搜索引擎,用于访问所有源服务器108所提供的内容对象的编目以及来自浏览目录124的信息。其他实施方式可以只在未能从源服务器108中搜索到内容后显示来自浏览目录124的信息,或者全部省略来自浏览目录124的信息。所有源服务器108的内容对象的编目被保存在服务器数据库228中。
在这种实施方式中,目录页212按主题所编排的条目分级结构编排可能的内容对象。例如,第一页可以显示普通关心的一些专题,在此用户可以选择体育运动。在作为该分级结构中的下一级的下一页中,显示了一些体育运动,在此用户可以选择足球。在该分级结构中的再下一级中,用户可以选择圣迭亚哥军马队,以查看相关内容对象链接的另一页。每个链接都指向发起该内容对象的源服务器108。
管理者在源服务器108上将该内容编目,使得目录页212可以适当地呈现该内容。按照站点、目录或文件,管理者可以在与内容对象相关的HTML SSI标记中选择内容对象的编目。这种分类得到后被存储在活动目录中,使得可以在不同的编目中呈现内容对象。另外,缓和器(moderator)可以描述和安排目录页212的编目中的内容对象。例如,缓和器可以标记某些内容对象,以便更突出地显示和/或附加内容对象的评论和/或概要。
服务器管理器208保存关于所有客户计算机112、所有源服务器108、所有外部源服务器118、所有内容交换机116和源服务器108上的所有内容对象的信息。与客户计算机112和源服务器108有关的信息被保存在用户数据库224中。对于与客户计算机112有关的每个用户,其全名、登录名、口令、独特标识符、可用的代币信用以及其他信息都被保存在用户数据库224中。这一数据库224还保存:源服务器108上次被验证的时间,源服务器108的网际协议(IP)地址,内容管理器服务器在其上运行的端口,源服务器108的在线/离线状态,横幅广告URL,源服务器108的名称,源服务器108的描述,使用源服务器108所需的信用或代用币或别的记帐模式,和同时所允许的连接或查看者的个数。
关于所有源服务器108的内容对象的信息都被保存在服务器数据库228中。对于每个内容对象,源服务器名、内容对象文件名和路径与编目信息、简要描述和关键字一起被保存。在导航目录和搜索页212、216期间,查询服务器数据库228,以便为用户提供内容选择。为了将当前信息保存在服务器数据库228中,服务器管理器208定期地与源服务器108交互,以得到内容对象的编目的最新变更并判断源服务器108是否已离线。只要源服务器108离线,服务器数据库228中的与该源服务器108相应的项目就被消除,并且更新用户数据库224中的状态信息。
在某些实施方式中,服务器数据库228中的项目即使当源服务器108离线后仍然保留。其状态被更新,以反映出与该源服务器相关的内容是不能使用的,但其信息仍保存在服务器数据库228中。如果状态被更新为在线,那么信息再一次呈现给正在搜索内容对象的用户。在某些情况下,源服务器108可以向活动目录104表明它将离线一段时间。假定这段时间短暂,那么,活动目录可以将信息保留在服务器数据库228中,而不向用户呈现。
系统100可用的内容交换机116的一览表被服务器管理器208保存在内容交换机数据库232中。在某些实施方式中,内容交换机数据库232可以包括内容分配系统100中所有可能的内容交换机116的IP地址一览表。此外,内容交换机数据库232还可以包括与每个内容交换机116相关的一些内容交换机字段。例如,内容交换机数据库232中与每个内容交换机116相关的字段可以包括内容交换机标识符、内容交换机站点、内容交换机提供商、内容交换机名称、内容交换机位置、内容交换机状态、图标或其他任何所想要的或所必须的信息。
内容交换机标识符和内容交换机站点共同标识特定内容交换机站点处的唯一内容交换机116。内容交换机提供商是内容交换机负责方的指示符,比如XYZ公司。内容名称是域名,而内容交换机位置可以是内容交换机116的地理座标。在一例实施方式中,内容交换机数据库232包括内容交换机数据库232中的每个内容交换机116的内容交换机标识符、内容交换机站点、内容交换机IP地址、内容交换机提供商、内容交换机名称、内容交换机位置和图标。
通常,内容交换机数据库232可以按地区来划分,或按多种方法(包括改善的QOS判据或预订业务判据,但并不局限于此)来划分。此外,内容交换机数据库232还可以包括备选活动目录104、源服务器108或其他任何有用信息的列表。
系统100中的内容交换机116定期地向服务器管理器208提供状态。当内容交换机116可供使用或不能供使用时,其操作状态被报告给服务器管理器208,并被记录在内容交换机数据库232中。在某些实施方式中,内容交换机数据库232可以包括一些附加状态信息,如内容交换机116负载、容量、利用率和健康状况等。
路由选择数据库234包括外部源服务器118一览表。在某些实施方式中,路由选择数据库234包括与外部源服务器118有关的标识、状态和组织信息。标识信息可以包括外部源服务器118的IP地址和域名。状态信息可以包括关于外部源服务器的可用性、负载或其他状态。组织信息可以包括选择性的外部源服务器118一览表。在一种实施方式中,路由选择数据库234包括每个外部源服务器118的IP地址和域名。在某些实施方式中,标识路由选择数据库234中的外部源服务器118的方法是一种将外部源服务器118与内容分配系统100相联系的机制。
对于路由选择数据库中的每个外部源服务器118,都有用户名一览表,这些用户名被允许利用内容交换机116来访问关于外部源服务器118的信息。用户名对客户计算机112的用户而言是唯一的。客户计算机通过内容交换机116能为其选择路由的外部源服务器118的一览表被提供给该客户计算机112。客户计算机112利用来自路由选择数据库的信息将用户对外部源服务器118的请求重新转向内容交换机116。在内容交换机116填充了来自外部源服务器118的内容对象后,带宽从外部源服务器118卸载到内容交换机116。用户可以向该内容交换机的拥有者和/或源服务器108的管理者支付这一增强型业务的费用。
动态DNS204为源服务器108的每个IP地址提供源服务器名。源服务器名唯一地标识了因特网120上的源服务器108。这一信息被保存在用户数据库224中。内容交换机116不知道为该内容交换机116提供内容对象的源服务器108的IP地址,但知道源服务器名称。当内容交换机116想将无法从其他内容交换机116得到的内容对象或内容对象的片段填充到其高速缓存器时,查询动态DNS204,以确定是该内容对象的源的源服务器108的IP地址或域名。如果从动态DNS204中检索到域名,那么从DNS中检索与该域名相应的IP地址。
参照图3A,图中示出了内容分配系统100的源服务器部分108的一种实施方式的框图。源服务器108由管理者来管理,并为内容分配系统100提供内容对象的一个源。QOS由源服务器108来提供,从而将客户计算机引向能有效传送所需内容对象的内容交换机116。源服务器108中包含有:一个内容源304,一个内容服务器308,一个内容管理器312,一个局部内容编目316,一个内容位置数据库320,内容交换机信息324,和一个健康状况检查330。
内容是由内容源304提供给源服务器108的。内容源304可以包括实况web摄像机(live web cam)、视频或音频馈入、数据对象、数据流、录相带或录音带、光或磁盘、或者其他任意内容传送机制。内容对象由内容源304传送给内容服务器308,以便可能分配给系统100。
在各内容交换机116中,为其中所保存的那些内容对象或那些内容对象的片段保存了时间和日期信息。该时间和日期信息使得可以区分具有相同源服务器名称、路径名和文件名的内容对象。此外,其他实施方式可以备选地利用任何独特码(比如,检查和、CRC或散列码)来唯一标识内容对象。
源服务器308的所有内容对象都被存储在内容服务器308中。管理者可以选择要向系统100公布的一个内容对象或几组内容对象,而将不适用于系统100的其他内容对象留在内容服务器308中,使得它们不适用于系统100。一些内容对象是慎重文件,而另一些内容对象却是例如实况web摄像机所产生的内容流。在某些实施方式中,运行内容服务器308的软件可以与内容管理器312的软件结合在一起。
内容管理器312向系统100公布所需的内容对象,并将用户引向优先的内容交换机116,以便下载与内容管理器312相关的内容对象。在管理者的引导下,内容管理器312利用文件名、目录或驱动器卷选择一些内容对象或几组内容对象,以便向活动目录104公布。内容服务器308中的某些内容对象可以被排除在公布之外,这样,系统100就不能使用这些内容对象。
所选择的向系统公布的内容对象被保存在局部内容编目316中。内容管理器312保持局部内容编目316中的项目是最新的,因为与那些项目相应的对象可能不能使用或被更新。对于每个项目,内容对象文件名和路径与编目信息、简要描述和关键字一起被保存。一旦接入到系统100,局部内容编目316就被内容管理器312发送给活动目录104,以进入服务器数据库228。局部内容编目316的变更被定期发送给服务器数据库228,以保持目录信息尽可能最新。更新可以定期进行,比如,每隔两分钟和/或每当在局部内容编目中进行变更时。
内容管理器312还知道与内容管理器312相关的内容对象的所有片段的位置。一旦接入到系统100,内容管理器312就状态事宜与各内容交换机116联系。内容交换机116每个都定期地向发端内容管理器312报告其内容对象或内部对象片段。利用这一信息,内容管理器312就可以将客户计算机112引向可能具有下载所用的部分或全部所需内容对象的内容交换机116。
所有这些内容交换机108所报告的内容对象的位置信息被内容管理器保存在内容位置数据库320中。通过查询内容位置数据库320,内容管理器312可以确定含有内容对象或内容对象的片段的内容交换机116。在客户计算机112到内容源的路由选择过程中,该内容对象在特定内容交换机112中的出现会影响路由选择决定。
内容交换机信息存储器324保存了关于所有活动内容交换机116的信息。一旦启动源服务器108,活动目录104中的内容交换机数据库232就被下载到内容交换机信息存储器324中。在启动后,将查询内容交换机信息存储器324中所列的所有内容交换机116,以获得作为内容交换机信息324的状态信息。该状态信息包括所使用的同时链接数、所允许的同时链接总数、带宽利用率和高速缓存器周转率(churn rate)。高速缓存器周转率是指无用数据逗留在高速缓存器中的时间量,它表示高速缓存器的负载。例如,对于相对于高速缓存器中的存储量更忙的内容交换机116来说,数据通常快速地从高速缓存器中清仓(flush)。然而,某些实施方式可能具有滞留性(sticky)内容对象,这种内容对象无论使用情况如何,都仍停留在内容交换机116中一段时间。
内容管理器312智能化地将需要内容对象的客户计算机112引向该对象的优选源。客户计算机112所提供的首选信息被用来确定客户计算机112所优选的内容对象的源。这一信息与内容对象的当前位置和可能的内容交换机的负载一起用来将客户计算机112引向优选的内容交换机116,以便下载该内容对象。
在某些实施方式中,内容管理器312可以控制对内容对象的访问。当客户计算机112试图下载与内容管理器312相关的内容对象时,如果管理者已保护了该内容对象,那么可以显示一个登录对话框。用户可以在登录对话框中输入用户名和/或口令,以便将客户计算机112重新引向该内容对象的源。用户名和/或口令同样也是活动目录104所需的。在将客户计算机112重新引向该源之前,先对照源服务器108中以前所存储的可接受登录信息一览表,对用户名和/或口令或登录信息进行检查。利用这种方法,可以控制对整个源服务器108或对源服务器108上的卷、目录或对象内容的访问。
某些实施方式允许源服务器108或活动目录104将内容对象预装到内容交换机116中。对内容对象的请求可以被监测以确定需求。可用需求信息、帐单信息、大小和/或其他需考虑的事项来判断哪些内容对象预装到内容交换机116中。源服务器108或活动目录104可以请求内容交换机116中的内容对象以便将它们预装到那里。对于内容交换机116而言,可以定期地请求这些内容对象,以保持它们装载在内容交换机116中,这样,它们不会因为停滞而不装载。其他实施方式可以将这些内容对象指定为如上所述的滞留性内容对象。
健康状况检查330可以是硬件也可以是软件应用程序,它可以提供相关源服务器108的操作特牲。在一种实施方式中,健康状况检查330提供了源服务器108状态的单一指示。该单一指示是0和1之间的归一化值,用于表示源服务器特性的一种综合。例如,它可以包括CPU负载、CPU温度、同时连接数和/或源服务器正发出的请求数。在另一种实施方式中,健康状况检查330可以监测内容交换机116的特性,同时在另一内容交换机116或源服务器108上运行。
下面参照图3B,图中示出了内容分配系统100的外部源服务器部分118的一种实施方式的框图。外部源服务器118与源服务器108的不同之外在于,外部源服务器118中没有安装内容管理器软件。外部源服务器118中含有一个内容服务器308和一个内容源304。
外部源服务器118的管理者确定一个或多个被授权通过内容交换机116接收内容对象的客户计算机112。路由选择数据库234由管理者来更新,以允许单个客户计算机112可以通过内容交换机116访问内容对象。活动目录上的web页提供一个界面,以便将关于客户计算机112的信息输入到路由选择数据库234中,其他实施方式可以自动操作外部源服务器118与路由选择数据库234之间的界面,以便一旦与外部源服务器118签约用户可以被自动地加到路由选择数据库234中。
客户计算机112将路由选择数据库234的更新局部下载和存储。访问外部源服务器118的后续尝试可以重新引向内容交换机116,以便为该请求服务。这样的重新引导使得外部源服务器118可以将客户计算机112重新引向内容交换机116,而无需内容管理器软件的帮助。
外部源服务器118可以指定一个或多个内容交换机116来传送外部源服务器118的内容对象。路由选择数据库234可以将预订的客户计算机重新引向一个或多个这种内容交换机116。如果客户计算机被允许使用两个或两个以上这种内容交换机116,那么,在该两个或两个以上内容交换机上可以进行客户端路由选择分析,使得可以对它们之间的相对QOS进行等级划分。
外部源服务器118的内容对象可以被预装到被分配来提供这些内容对象的内容交换机中。为了缩短第一次请求内容对象时的等待时间,活动目录104可以浏览外部源服务器118,以确定该服务器118中可供使用的内容对象。这些可用内容对象可以加到浏览目录124中。一旦得知可用内容对象,活动目录104就从相关的内容交换机中请求各内容对象,以便使得可以将各内容对象装载到相关内容交换机中。这样,内容对象就可以预装到相关的内容交换机中。
参照图4A,图中示出了内容分配系统100的内容交换机部分116的一种实施方式的框图。内容交换机116在内容管理器312的控制下高速缓存客户计算机112所请求的内容对象。内容交换机116中含有一个跟踪系统402和一个内容节点406。跟踪系统包括一个内容跟踪器404、一个健康状况检查426、状态信息420、一个局部内容编目416和一个源服务器数据库424,而内容节点406包括一个内容控制器408和一个内容存储器412。
健康状况检查426可以是硬件也可以是软件应用程序,它可以提供相关内容交换机116的操作特牲。在一种实施方式中,健康状况检查426提供了内容交换机116状态的单一指示。该单一指示是0和1之间的归一化值,用于表示内容交换机特性的一种综合,包括例如CPU负载、CPU温度、同时连接数和内容交换机正发出的请求数。在另一种实施方式中,健康状况检查426可以监测内容交换机116的特性,同时在另一内容交换机116、源服务器108或其他位置上运行。
内容存储器412保存了可从内容交换机116中下载到客户计算机112中的内容对象。提供内容对象的源服务器108的名称以及路径信息和文件名与内容对象一起被存储在内容存储器412中。通过因特网120,客户计算机112连接到内容存储器412,并下载内容对象文件或数据流。随着新内容对象被加到内容存储器412中,原内容对象一般将被消除。内容对象的使用期限(age)与内容对象上次被访问的时间有关。存储器412中的某些内容对象没有使用期限,这样,这些内容对象将在存储器412中保留一段预定时间。源服务器108可以安排内容交换机112来将内容对象存储一段预定时间。
当客户计算机112从内容存储器412中请求一个内容对象时,内容对象可能当前没有装到内容存储器412中。内容存储器412将这一未完成的对内容对象的请求通知给内容控制器408。内容控制器408在其他内容交换机116中或从发起该内容对象的内容服务器308中查出失缺的内容对象或其片段。内容控制器408可以将失缺的内容对象装到内容存储器412中,这样,客户计算机112就能下载这一信息。
当内容存储器412中失缺内容对象时,内容控制器408首先检查其他内容交换机116,以判断该对象是否可得到。如果内容交换机116都没有所需的内容对象,那么,向发起该信息的内容服务器308查询这一内容对象。内容存储器412不包含始发内容服务器308的IP地址,因此,向动态DNS204查询这一信息。给定源服务器名,动态DNS204可以提供IP地址,这样,内容控制器408就可以从适当的内容服务器308中请求该内容对象。
内容跟踪器404向系统100报告内容存储器412中的当前项目和内容交换机116的状态信息。局部内容编目416将每个内容对象或内容对象的片段的源服务器名、路径和文件名记录到内容存储器412中。随着内容存储器412中加进新项目和从其中消除原项目,局部内容编目416被更新。当内容管理器312与系统100连接时,对所有内容跟踪器404发出一个查询,以判断哪些内容对象片段被存储在这些内容存储器412中。当对各内容存储器412进行变更时,初始查询提供了内容跟踪器404进行更新的一条基线。这些变更可以直接被发送给有内容存储到内容存储器412中的每个内容管理器312。在这一过程中,利用动态DNS204来确定与各内容对象的源服务器名相应的IP地址。
内容跟踪器404还向内容管理器312提供了内容交换机116的状态信息420。状态信息420通过广播或多点播送方式被定期地(例如,每隔5分钟和/或每当发生变更时)发送到每个这种内容管理器312。状态信息420可以包括与当前使用中的内容交换机的同时链接数、所允许的同时链接总数、带宽利用率、高速缓存器周转率和/或其他信息。在其他实施方式中,状态信息还可以置于一个中心位置,这样,内容管理器312在确定将客户计算机112引向何处以下载内容对象时,可以在该中心位置进行查询。
内容跟踪器404保存有源服务器数据库424,以便跟踪系统100中活动的源服务器108。在接入到系统后,所有源服务器108都向内容跟踪器404标识其自身。内容跟踪器404将源服务器名和IP地址记录到源服务器数据库424中。对动态DNS进行查询可以提供给定源服务器名的IP地址。如果源服务器108将其即将发生的不可用性告知内容跟踪器404,或者如果内容跟踪器404无法联系到特定的源服务器,那么将从源服务器数据库424中消除该源服务器的项目。此外,与该源服务器108相应的内容也可以从内容存储器412中消除,并且局部内容条目416被更新。在某些实施方式中,该内容对象和内容对象片段不被消除,而只是被加上需要存储空间时的删除标记。
在某些实施方式中,系统100可以指令内容控制器408获取一些预定的内容对象并将其保留在内容存储器412中。预期要用的内容对象可以被预装,以满足需求。通过对来自搜索和目录页212、216的那些内容对象的点击情况进行监视,可以确定某个内容对象的需求。例如,可以在关于著名人物的传记节目通过网络电视播送之前,赶紧将与该著名人物有关的内容对象装载到内容存储器412中。此外,用户还可以预订一种将内容对象装载到某些内容交换机116中的业务。例如,预定的网络节目可以被装载,以便与用户可通过因特网120收看的TV广播相符,以代替TV广播。这样,该内容对预订用户而言可以无延迟地得到。
参照图4B,图中示出了内容分配系统100的内容交换机部分116的另一种实施方式的框图。这一实施方式包括多个内容节点406,这些节点与单个跟踪服务器402连接。内容总线428使得内容节点406可以检查每个其他内容存储器412以寻找失缺的内容对象。内容总线428还可以与在其他位置的其他内容节点连接。内容总线428可以是也可以不是部分地通过因特网120行进。
下面参照图4C,图中示出了含有多个内容交换机服务器116的内容交换机站点432的一种实施方式的框图。即使内容交换机站点432包括多个内容交换机服务器116,对系统而言它也好象是单个内容交换机116。内容交换机站点432的负载被分配到这些组成的内容交换机服务器116当中。开关436(比如4位开关)可以将内容对象请求分配给这些内容交换机116,并将假脱机(spool)响应聚合到因特网120中。
下面参照图5,图中示出了内容分配系统100的客户计算机部分112的一种实施方式的框图。客户计算机112与因特网120通信,以便将内容传送给用户。客户计算机112中含有:一个查看者对象代理504,一个内容处理程序508,首选信息512,一个网络接口516,和主服务器路由选择520。
内容处理程序508通常是这样的软件,用于解释或处理从因特网120中下载的内容对象。内容处理程序508的例子包括web浏览器、文件传输协议(FTP)软件、考访(gopher)软件、新闻(NNTP)、邮件程序、流式媒体播放器、非流式媒体播放器以及其他软件。通常从内容处理程序508直接发向因特网的因特网通信被重新引向查看者对象代理504。
查看者对象代理504作为因特网120与内容处理程序508的中介。查看者对象代理504安装后,它可以确定它相对于因特网120上的已知点的一般位置。对作为提供足够QOS的合理候选者的内容交换机116进行测试,可以确定到达各内容交换机116所需的转发次数和各内容交换机116与查看者对象代理504之间的等待时间。QOS因子的加权(比如,转发次数和所达到的带宽)作为首选信息512被记录,并作为元数据通过HTTP标题被传送到内容管理器312。
其他实施方式可以以任何类型的数据信道而不仅仅是通过HTTP标题来传送元数据。例如,元数据可以通过专用端口、IP地址、URL、标题或其他逻辑信道进行传播。
首选信息512是从客户计算机112角度出发所进行的网络分析的结果。当请求内容对象时,首选信息512被传送到内容对象管理器312,内容对象管理器312又为客户计算机112选择一个适当的内容交换机116。可以定期地(例如每隔一小时)利用自动测试方式来更新或由用户以人工方式来更新首选信息512。后续测试考虑到以前的结果,以便有效地考虑优选的内容交换机。例如,第一次分析可以检查100个内容交换机,而后续分析可以排除性能较差的内容交换机,这样,只分析50个。
首选信息512包括内容交换机116及其根据客户端网络分析得到的相关QOS值的一览表。在某些实施方式中,可以有多条通路通向外部源服务器118。该多条通路可以用端口、IP地址、服务器标识符(ID)和/或其他机制来区分。客户端网络分析可以用来确定与通向外部源服务器118或其他任何也可具有多条通路的内容对象的源的每条通路相关的QOS值。
在客户计算机112的用户选择了内容对象后,将源服务器名提供给查看者对象代理504。查看者对象代理504利用源服务器名来查询动态DNS204,以得到源服务器108的IP地址。一旦得知IP地址,内容处理程序508被重新引向所需内容对象的内容管理器312。内容管理器312传送首选信息,使得可以选择客户计算机112到适当内容交换机116的路由。在这一实施方式中,首选信息512包括优选的10个内容交换机,不过用户可以调整优选的内容交换机数。
在某些实施方式中,对路由选择信息而言,查看者对象代理504可以与特定HTTP相关而与协议无关。因此,路由选择信息可以根据HTTP来传送,但实际路由选择信息与协议无关。不过,熟练技术人员可以明白,查看者对象代理504根据需要还可以配置成与其他网络协议一起工作。例如,查看者对象代理504还可以配置成按照FTP、NNTP、RTP、RTSP、SMTP或SHOUT等来操作。
客户计算机112包括一个主服务器路由选择520数据库。这一主服务器路由选择数据库520可以包括与客户计算机112可访问的外部源服务器118有关的信息。在一种实施方式中,主服务器路由选择数据库520是在活动目录104中所发现的路由选择数据库234中项目的一个子集。
客户计算机112包括一个网络接口516,该接口将查看者对象代理504与因特网120连接。网络接口516的普通例子包括模拟调制解调器、DSL调制解调器、ISDN、电缆调制解调器、卫星调制解调器、蜂窝调制解调器、电源线调制解调器、微波视距调制解调器、激光视距调制解调器等。
在这一实施方式中,客户计算机与家庭用户相关。在其他实施方式中,客户计算机可以为剧场放数字电影或者为公司网络用户、宾馆顾客或公寓提供内容对象。
参照图6,图中示出了内容分配系统600的一种实施方式的框图。该图描述了数据块之间的数据流,而没有显示通过因特网120或其他任何网络的传送。不过,应当理解,在其他实施方式中可使用因特网120或另一个分组交换网。此外,该图还对图2-5中的那些块稍作了一些简化,并且为了简化图6,图中没有包括外部源服务器118和浏览目录124。
网络接口516是客户计算机112到因特网120的连接。客户计算机112与目录和搜索页212、216连接,使得用户可以选择所要下载的内容对象。当选择了内容对象时,利用动态DNS204将客户计算机112从活动目录104重新引向适当的源服务器108。首选信息512被传送给内容管理器312,以帮助它选择内容对象的源。根据内容管理器312所作的选择,从内容交换机116之一中或从内容服务器308中下载内容对象。
活动目录104与系统600中的其他模块进行交互。客户计算机112访问目录和搜索页212、216以选择内容对象。内容跟踪器404和内容管理器312向服务器管理器208分别提供状态和编目信息。帐目信息由源服务器108的管理者和由客户计算机112的用户提供给服务器管理器208,以保存用户数据库224。从源服务器名到源服务器108的IP地址的重新定向由动态DNS204提供给查看者对象代理504、内容跟踪器404和内容控制器408。
源服务器108与服务器管理器208、客户计算机112、内容跟踪器404、内容存储器412和内容控制器408通信。局部内容编目316从内容管理器312提供给服务器管理器208,以便保持服务器数据库228具有当前内容信息。首选信息512从客户计算机112提供给内容管理器312,以便简化内容对象的源的选择。内容跟踪器404与内容管理器312交互,以了解内容交换机116中存储了什么内容对象。内容对象由内容存储器412或客户计算机112从内容服务器308中读取。
内容交换机116还与系统600中的其他模块交互。状态信息被提供给活动目录104和/或内容管理器312。动态DNS被内容控制器408和内容跟踪器404用来寻找含有内容对象的源服务器108的IP地址。当内容存储器412需要对象时,所选的内容交换机可以与其他内容交换机联系。如果其他内容交换机也没有该内容对象,内容控制器408从内容服务器308中请求该对象,以便传送到所选择的内容存储器412。
下面参照图7,图中示出了具有两种内容交换机702、704的内容分配系统700的另一种实施方式的框图。该实施方式包括公用内容交换机702和可捕获内容交换机704。一个或多个关联客户计算机708和一个或多个关联源服务器712与一个或多个可捕获内容交换机704集合。公用内容交换机702对任何客户计算机112或任何关联客户计算机708的内容对象源可用。公用内容交换机702中所存储的这些内容对象可以源于任何无关联源服务器106、源服务器108、外部源服务器118或关联源服务器712。
然而,可捕获内容交换机704不完全能以与公用内容交换机702相同的方式适用于系统700。可捕获内容交换机704高速缓存源于关联源服务器712的内容对象。这些被缓存的内容对象被提供给关联客户计算机708或客户计算机112。对关联客户计算机708而言,要高速缓存源于无关联源服务器106、源服务器108或外部源服务器118的内容对象,但对客户计算机112而言则不用。客户计算机112无法依赖于可捕获内容交换机704来高速缓存源于无关联源服务器106、源服务器108或外部源服务器118的内容对象。相应地,客户计算机112的首选信息512只包括公用内容交换机702而不包括可捕获内容交换机704。
该实施方式中的可捕获内容交换机704与公用内容交换机702链接,这样,当被用户请求时,失缺的内容对象或内容对象的片段可以在内容交换机702、704之间传送。当向优选的内容交换机702、704请求内容对象时,首先局部搜索内容对象或内容对象的任一片段。如果搜索失败,那么,先搜索其他内容交换机702、704,然后,采取手段向最初为系统700提供了内容对象的源服务器106、108、118、712请求该内容对象。不过,其他实施方式还可以不在可捕获内容交换机704与公用内容交换机702之间传送文件。
在各种实施方式中,可捕获内容交换机704可以位于中心局、前端、ISP位置或节点中(在节点中,因特网带宽开始行进到关联客户计算机708的“最后的里程”或最后一段旅程)。通过使高速缓存器尽可能接近目的地,可以减少可能的瓶颈以提高QOS。例如,通过DOCSIS调制解调器为关联客户计算机708提供业务的电缆多系统运营商(MSO)可以在前端中或在邻近节点中具有可捕获内容交换机704。这样,关联客户计算机708和关联源服务器712与可捕获内容交换机704连接,以通过高速缓存来提供增强型QOS。
参照图8,图中示出了内容分配系统800的又一种实施方式的框图。该实施方式说明了可捕获内容交换机704、关联客户计算机708和关联源服务器712实际上是如何通过因特网120连接的情况。这些功能模块704、708、712可以以任何方式连接。例如,可捕获内容交换机704可以通过混合光缆/电缆分配系统与关联客户计算机708连接。而关联源服务器712可以通过因特网120与可捕获内容交换机704链接。
下面参照图9,图中示出了用于填充具有可用存储容量的可捕获内容交换机704的过程900的一种实施方式的流程图。所述过程900从步骤904开始,在该步骤中,进行一种测试,检测出低于阈值的带宽利用率。这种测试的带宽测量在这一实施方式中可以是从所有关联源服务器712到可捕获内容交换机704的带宽,或者,在其他实施方式中可以是从单个关联源服务器712到可捕获内容交换机704的带宽。
在步骤908中,判断哪些源服务器是关联源服务器712。可以从活动目录104中查询这一信息,或者可以将该信息本地保存在可捕获内容交换机704中。一旦得知关联源服务器712,就可以查询每个局部内容条目316,以便在步骤912中确定关联源服务器712中可用的内容对象。
在步骤916中,分析来自所有关联源服务器712的内容对象,以确定内容对象之间的次序。在这一实施方式中,内容对象的通用性控制次序。前一天下载内容对象的次数可以作为确定通用性的算法,不过,其他实施方式可以采用其他时间段。尽管这一实施方式利用通用性来排序,然而,其他实施方式在确定次序时还可以利用内容对象的大小、内容对象的价格和/或其他因素。
关联源服务器712或可捕获内容交换机704可以各自通过确定对一个内容对象的点击或访问次数来监测通用性。客户计算机的用户的点击可以用CGI脚本程序来监测,CGI脚本程序可以将内容对象选择重新返回到关联源服务器712。一旦重新返回,就可以记录点击,并可以将客户计算机112、708重新引向作为内容对象的源的内容交换机702、704。
在步骤920中,确定内容存储器412中有多少高速缓存空间可用来存储通用内容对象。这一实施方式使用内容存储器412中的一半空间来存储通用内容,而其他实施方式还可以使用内容存储器412的容量的其他百分比。
在步骤922中,判断任何内容对象是否都已经被存储到内容存储器412中。为了判断哪些已被存储,关联源服务器712的局部内容条目316对照可捕获内容交换机704的局部内容条目416被交叉查询,以便在步骤922中确定那些内容对象还没有被存储。在步骤924中,已经被存储的那些内容对象被标以不必再装入的标记。
在步骤928中,确定将适合所分配的高速缓存空间但还没有装载的等级最高的内容对象。从表中消除那些不适宜的内容对象。从等级表中的通用性最小的内容对象开始,请求还没有被存储在内容存储器412中的内容对象,以便将它们装载到内容存储器412中。当在循环该表时,当已装载到内容存储器412中的内容对象的项目到来时,将该内容对象移至高速缓存器中的前头部分。这样,所有适宜的通用内容对象都按次序被装载到高速缓存器中。那些等级较低的内容对象先被推出高速缓存器,如果随后没有对这些内容对象的命中或请求的话。
在某些实施方式中,在一个单独的过程中获得各关联源服务器712的内容对象,该过程是与搜集其他关联源服务器712的其他过程并行运行的。测试特定关联源服务器712与可捕获内容交换机704之间的带宽,以判断带宽利用率是否降至阈值以下。一旦越过该阈值,就将内容对象装载到可捕获内容交换机中。并行地,可以获得其他关联源服务器712中的内容对象。
参照图10,图中示出了用于填充可捕获内容交换机704的过程1000的另一种实施方式的流程图。在该实施方式中,采用的是文件系统而不是高速缓存器。在期满时间之前,装载到文件系统中的内容对象一直保留。例如,内容对象可以被装载一天(期满为一整天),这样,只有在24小时之后才能改写文件。
这一实施方式与图9中的实施方式之间的显著区别开始于步骤1004,在该步骤中,确定文件系统中用于预装载的空间。文件系统空间逻辑上与用于高速缓存的空间分离。存储在文件系统中的内容对象不会冗余地被高速缓存。在步骤1002和924中,已经存储在高速缓存器中的文件的项目被标记,使得它们不被再装入。在步骤1008中,从表中消除那些不适合文件系统的内容对象。在步骤1012中,装载任何还没有装载的适宜的内容对象。文件系统中的所有这些内容对象的期满时间可被设置为一天或其他某个时长。
参照图11,图中示出了用于填充可捕获内容交换机704的过程1100的又一种实施方式的流程图。在该实施方式中,可捕获内容交换机704在适用于系统700后对它本身进行填充。例如,可捕获内容交换机704可以在上电后对它本身进行填充。这一实施方式不用判断哪些内容对象已经被存储在高速缓存器中。而是装载被判定适宜的所有内容对象。
上述图9-11中的实施方式是填充可捕获内容交换机704。其他实施方式还可以填充公用内容交换机702。活动目录104中的过程可以确定因特网上的通用内容对象,其中,很可能要从公用内容交换机702的分布式网络中请求这些对象。活动目录可以指令公用内容交换机702预装载内容,使得可以具有增强型QOS。
下面参照图12,图中示出了用于将来自源服务器106、108、118、712的内容填充到分布式存储系统中的过程1100的一种实施方式的流程图。在该实施方式中,当源服务器712适用于系统700时,源服务器712可填充该可捕获内容交换机704(如果允许接纳)。当源服务器106、108、118、712在线时,所述过程从步骤1204开始。在步骤1208中,判断是否有与源服务器106、108、118、712相关的可捕获内容交换机704。如果没有这样的可捕获内容交换机704,那么不进行预装载,并且处理过程进至步骤1212和1240,在此由优选的内容交换机702、704来满足对内容对象的请求。
在步骤1220中,进一步判断针对这种源服务器106、108、118、712可捕获内容交换机704是否允许接纳内容对象。可捕获内容交换机704可以请求针对源服务器106、108、118、712卸载其内容对象的能力的补偿。如果允许接纳,那么,在步骤916中确定这些内容对象的通用性。在步骤1228中,内容对象被装载到可捕获内容交换机704中,使得最通用的内容对象是最后因期满而离开高速缓存器的。其他实施方式可以采用一种文件系统,如上所述,为各内容对象确定了使用期限信息。
如果在步骤1220中不允许接纳,那么,通过首先将该内容对象填充到可捕获内容交换机704,可以保持上行带宽。一旦可捕获内容交换机704具有该内容对象,该内容对象就可以有效地传播到其他内容交换机702、704。在步骤1224中,客户计算机112向源服务器106、108、118、712请求该内容。在步骤1232中,判断该内容是否已经被存储到任一内容交换机702、704中。如果该内容已经被存储到一个远离源服务器106、108、118、712的内容交换机702、704中,那么,在步骤1240中,将客户计算机112引向优选的内容交换机702、704。需要时,优选的内容交换机702、704可以从已具有该内容对象的其他任何内容交换机702、704中获得该内容对象。
如果在步骤1232中判定在内容交换机702、704的分布式存储网络上不能使用该内容对象,那么,首先将客户计算机112引向与源服务器712相关的可捕获内容交换机704。这样,可捕获内容交换机704优先存储来自关联源服务器712的内容对象。
参照图13,图中示出了用于向客户计算112、712提供内容交换机702、704一览表的过程1300的一种实施方式的流程图。在该实施方式中,在向客户计算机708提供优选的内容交换机702、704一览表之前,先检查可捕获内容交换机704。过程的描述从步骤1304开始,在该步骤中,判断哪些可捕获内容交换机704与哪些关联客户计算机708相关联。这些关联性被记录在一个中心位置(比如活动目录104)中。
在步骤1308中,客户计算机112、708向活动目录104请求内容交换机702、704一览表。在步骤1312中,判断是否有任何可捕获内容交换机704。如果判定有可捕获内容交换机704,那么,处理过程进至步骤1308,在该步骤中,将那些可捕获内容交换机704列入该表中。在步骤1312中,将可能具有充足或足够的QOS的其他公用内容交换机702加到该表中。如果在步骤1312中判定没有可捕获内容交换机704,那么,跳过步骤1308,并集合优选的内容交换机702的列表,其中没有可捕获内容交换机704。
一旦集合了优选的内容交换机702、704的列表,就在步骤1316中将它发送给客户计算机112,并将它存储在首选信息数据库512中。客户计算机112分析表中的各内容交换机116,将它们排序。通常,可捕获内容交换机704可以向关联客户计算机708提供最好的QOS。
根据以上所述,本发明的一些优点是显而易见的。例如,通过将内容对象预装载到内容交换机中,可以改善QOS。通过根据触发事件进行预装载,可以以一种受控方式通过关联源服务器与可捕获内容交换机之间的上行连接来传送内容对象。一旦内容对象被卸载到可捕获内容交换机中,关联源服务器便可能有较小的内容对象请求负担。
另外,还可以采用本发明的一些变形和修改方式。例如,上述某些实施方式可以检测低带宽利用率,以触发内容交换机的预装载。此外,其他实施方式还可以在预定时刻(比如午夜)进行预装载。午夜时分的带宽利用率也许最低。
尽管以上结合特定的装置和方法描述了本发明的原理,然而,显然可以理解,这一描述只是为了举例说明而并不是限定本发明的范围。

Claims (24)

1.一种用于将内容对象装载到网络上的内容存储器中的方法,该方法包括如下步骤:
等待一个触发事件;
确定第一源服务器是否有权将内容存储到内容存储器中;
将来自第一源服务器的第一内容对象装载到内容存储器中,而无需对第一内容对象的请求;
确定第二源服务器是否有权将内容存储到内容存储器中;和
将来自第二源服务器的第二内容对象装载到内容存储器中,而无需对第二内容对象的请求。
2.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,还包括如下步骤:确定内容对象的通用性。
3.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,其中,这些装载步骤的执行取决于等待步骤。
4.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,其中,等待步骤包括至少下列步骤之一:
等待第一源服务器与内容存储器之间的上行带宽降至预定阈值以下;和
等待第二源服务器与内容存储器之间的上行带宽降至预定阈值以下。
5.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,其中,等待步骤包括如下步骤:等待到达内容存储器的上行带宽降至预定阈值以下。
6.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,其中,等待步骤包括如下步骤:等待与网络的连接。
7.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,其中,等待步骤包括如下步骤:等待从客户计算机到内容存储器的上行带宽利用率降至预定阈值以下。
8.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,其中,等待步骤包括如下步骤:等待一个瞬时事件。
9.一种用于将内容对象装载到网络上的内容存储器中的方法,该方法包括如下步骤:
等待一个触发事件;
确定内容对象的通用性;
将来自第一源服务器的第一内容对象装载到内容存储器中,而无需对第一内容对象的请求;和
将来自第二源服务器的第二内容对象装载到内容存储器中,而无需对第二内容对象的请求。
10.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,其中,这些装载步骤的执行取决于等待步骤。
11.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,还包括如下步骤:
确定第一源服务器是否有权将内容存储到内容存储器中;和
确定第二源服务器是否有权将内容存储到内容存储器中。
12.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,其中,等待步骤包括至少下列步骤之一:
等待第一源服务器与内容存储器之间的上行带宽降至预定阈值以下;和
等待第二源服务器与内容存储器之间的上行带宽降至预定阈值以下。
13.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,其中,等待步骤包括如下步骤:等待到达内容存储器的上行带宽降至预定阈值以下。
14.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,其中,等待步骤包括如下步骤:等待与网络的连接。
15.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,其中,等待步骤包括如下步骤:等待从客户计算机到内容存储器的上行带宽利用率降至预定阈值以下。
16.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,其中,等待步骤包括如下步骤:等待一个瞬时事件。
17.一种用于将内容对象装载到网络上的内容存储器中的方法,该方法包括如下步骤:
等待一个触发事件;
将来自第一源服务器的第一多个内容对象装载到内容存储器中,而无需对任一第一多个内容对象的请求;和
将来自第二源服务器的第二多个内容对象装载到内容存储器中,而无需对第二多个内容对象的请求,其中,这些装载步骤的执行取决于等待步骤。
18.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,还包括如下步骤:确定内容对象的通用性。
19.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,还包括如下步骤:
确定第一源服务器是否有权将内容存储到内容存储器中;和
确定第二源服务器是否有权将内容存储到内容存储器中。
20.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,其中,等待步骤包括至少下列步骤之一:
等待第一源服务器与内容存储器之间的上行带宽降至预定阈值以下;和
等待第二源服务器与内容存储器之间的上行带宽降至预定阈值以下。
21.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,其中,等待步骤包括如下步骤:等待到达内容存储器的上行带宽降至预定阈值以下。
22.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,其中,等待步骤包括如下步骤:等待与网络的连接。
23.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,其中,等待步骤包括如下步骤:等待从客户计算机到内容存储器的上行带宽利用率降至预定阈值以下。
24.如权利要求1所述的用于将内容对象装载到网络上的内容存储器中的方法,其中,等待步骤包括如下步骤:等待一个瞬时事件。
CN01813508A 2000-06-01 2001-06-01 在内容交换机中预装内容对象 Pending CN1451220A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US20900700P 2000-06-01 2000-06-01
US60/209,007 2000-06-01
US66520400A 2000-09-18 2000-09-18
US09/665,204 2000-09-18
US09/867,868 US20010051980A1 (en) 2000-06-01 2001-05-29 Preloading content objects on content exchanges
US09/867,868 2001-05-29

Publications (1)

Publication Number Publication Date
CN1451220A true CN1451220A (zh) 2003-10-22

Family

ID=27395309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN01813508A Pending CN1451220A (zh) 2000-06-01 2001-06-01 在内容交换机中预装内容对象

Country Status (6)

Country Link
EP (1) EP1287657A2 (zh)
JP (1) JP2004508613A (zh)
CN (1) CN1451220A (zh)
AU (1) AU2001265310A1 (zh)
CA (1) CA2410853A1 (zh)
WO (1) WO2001093533A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014166092A1 (zh) * 2013-04-11 2014-10-16 华为技术有限公司 资源配置方法、交换机及控制器

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
JP4733739B2 (ja) * 2005-04-19 2011-07-27 リバーベッド テクノロジー インコーポレーティッド 接続エンドポイント・プロキシを使用したユーザ・アフィニティに基づくコンテンツ送出
US20170344703A1 (en) 2006-12-29 2017-11-30 Kip Prod P1 Lp Multi-services application gateway and system employing the same
US11316688B2 (en) 2006-12-29 2022-04-26 Kip Prod P1 Lp Multi-services application gateway and system employing the same
US8180735B2 (en) 2006-12-29 2012-05-15 Prodea Systems, Inc. Managed file backup and restore at remote storage locations through multi-services gateway at user premises
US11783925B2 (en) 2006-12-29 2023-10-10 Kip Prod P1 Lp Multi-services application gateway and system employing the same
WO2008083384A2 (en) * 2006-12-29 2008-07-10 Prodea Systems, Inc. System and method to acquire, aggregate, manage, and distribute media
US9569587B2 (en) 2006-12-29 2017-02-14 Kip Prod Pi Lp Multi-services application gateway and system employing the same
US9602880B2 (en) 2006-12-29 2017-03-21 Kip Prod P1 Lp Display inserts, overlays, and graphical user interfaces for multimedia systems
US8930538B2 (en) 2008-04-04 2015-01-06 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991306A (en) * 1996-08-26 1999-11-23 Microsoft Corporation Pull based, intelligent caching system and method for delivering data over a network
US6167438A (en) * 1997-05-22 2000-12-26 Trustees Of Boston University Method and system for distributed caching, prefetching and replication

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014166092A1 (zh) * 2013-04-11 2014-10-16 华为技术有限公司 资源配置方法、交换机及控制器
CN104303474A (zh) * 2013-04-11 2015-01-21 华为技术有限公司 资源配置方法、交换机及控制器

Also Published As

Publication number Publication date
AU2001265310A1 (en) 2001-12-11
JP2004508613A (ja) 2004-03-18
EP1287657A2 (en) 2003-03-05
WO2001093533A3 (en) 2002-06-06
CA2410853A1 (en) 2001-12-06
WO2001093533A2 (en) 2001-12-06

Similar Documents

Publication Publication Date Title
CN1444816A (zh) 用于网络寻址的系统
CN1109298C (zh) 分布式计算机网络上服务器端优化数据传送的系统和方法
CN1444813A (zh) 选择性路由选择
US8458290B2 (en) Multicast mapped look-up on content delivery networks
CN1454426A (zh) 基于qos的内容分配网络
CN1309232C (zh) 分布式高速缓存的方法和设备
US8615577B2 (en) Policy based processing of content objects in a content delivery network using mutators
US8521813B2 (en) Content replication workflow in content delivery networks
US6553376B1 (en) Efficient content server using request redirection
US8386496B2 (en) System and method for effectively implementing a personal channel for interactive television
CN1444746A (zh) 反向内容采集器
CN1451129A (zh) 自行公布的网络目录
CN104137564A (zh) 分块内容的受控流送
CN1451220A (zh) 在内容交换机中预装内容对象
AU2011203246B2 (en) Content processing between locations workflow in content delivery networks
CN101080708A (zh) 对地区中的内容进行全球共享和交易的方法和系统
CN1852101A (zh) 一种并行下载方法和终端
CN1529860A (zh) 内容跟踪
US20020091792A1 (en) Method and apparatus for client sharing of cached content
CN1798032A (zh) 一种互联网上实现资讯订阅的方法及系统
US20150207888A1 (en) Multicast mapped look-up on content delivery networks
CN1457585A (zh) 客户端整体健康状况检查
CN1444747A (zh) 内容管理器
JP3497370B2 (ja) 送信装置および送信方法、並びに受信装置および受信方法
CN1444818A (zh) 客户端地址路由选择分析

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication