CN1454426A - 基于qos的内容分配网络 - Google Patents

基于qos的内容分配网络 Download PDF

Info

Publication number
CN1454426A
CN1454426A CN01813213A CN01813213A CN1454426A CN 1454426 A CN1454426 A CN 1454426A CN 01813213 A CN01813213 A CN 01813213A CN 01813213 A CN01813213 A CN 01813213A CN 1454426 A CN1454426 A CN 1454426A
Authority
CN
China
Prior art keywords
content
switch
client computer
server
source server
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
CN01813213A
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
Application filed by Aerocast com Inc filed Critical Aerocast com Inc
Publication of CN1454426A publication Critical patent/CN1454426A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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
    • 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/951Indexing; Web crawling techniques
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • 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/1066Session management
    • H04L65/1101Session protocols
    • 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/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/09Obsolescence
    • 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/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
    • 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/24Negotiation of communication capabilities
    • 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
    • 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]

Abstract

本发明涉及将内容对象分配给客户计算机。一种实施方式包括服务器、第一内容高速缓存器、第二内容高速缓存器和首选表。第一服务器在第一地址,而第二服务器在第二地址。服务器包括要被拷贝到第一和第二内容高速缓存器中的内容对象。发自客户计算机的首选表至少包括第一和第二地址之一。

Description

基于QOS的内容分配网络
技术领域
本发明一般涉及内容分配,尤其涉及改善在因特网上分配内容时的服务质量(QOS)。
背景技术
为了提供足够的QOS,要求以不变的最小速率传送高质量的大内容对象。实况视频广播是以不变的最小速率所传送的大内容对象的一个很好的例子。不幸的是,因特网对这类广播来说是一种不良网络,这是因为:多次可能的转发中的每次转发都有数据质量损耗;大多数传输都有带宽限制;和因特网不能长时间地以不变的数据率来流动数据。
如上所述,以不变的数据率来传输大对象而不损失信息是有问题的。为了解决这些所关心的问题,将流式媒体完全下载到本地硬驱动器,以便稍后重放。本地硬驱动器进行的重放可避免与来自因特网的流式内容的分配相关的缺陷。然而,要求从因特网中接收到的内容流一边下载一边播放。
发明内容
本发明涉及将内容对象分配给客户计算机。一种实施方式包括服务器、第一内容高速缓存器、第二内容高速缓存器和首选表。第一服务器在第一地址,而第二服务器在第二地址。服务器包括要被拷贝到第一和第二内容高速缓存器中的内容对象。发自客户计算机的首选表包括第一和第二地址至少之一。
参照说明书的其他部分以及附图和权利要求书,可以认识到本发明的其他特征和优点。下面,参照附图来详述本发明的进一步的特征和优点,以及本发明的各种实施方式的结构和操作。
附图说明
图1是内容分配系统的一种实施方式的框图;
图2是内容分配系统的活动目录部分的一种实施方式的框图;
图3A是内容分配系统的源服务器部分的一种实施方式的框图;
图3B是内容分配系统的外部源服务器部分的一种实施方式的框图;
图4A是内容分配系统的内容交换机部分的一种实施方式的框图;
图4B是内容分配系统的内容交换机部分的另一种实施方式的框图;
图4C是含有多个内容交换机服务器的内容交换机站点的一种实施方式的框图;
图5是内容分配系统的客户计算机部分的一种实施方式的框图;
图6是内容分配系统的一种实施方式的框图;
图7A是用于为用户分配内容的过程的一种实施方式的流程图的第一部分;
图7B是图7A的流程图的第二部分;
图8是查看者对象代理的一种实施方式的框图;
图9是查看者对象代理后台应用程序的流程图;
图10是查看者对象代理请求业务的流程图;
图11是用于跟踪源服务器与内容交换机之间的内容的方法的一种实施方式的流程图;
图12是用于将信息从内容管理器传送到服务器管理器的过程的一种实施方式的流程图;
图13是用于由内容管理器向服务器管理器公布信息的过程的流程图的一种实施方式;
图14是内容交换机的一种实施方式的框图,它示出了多个通过不同的端口连接的提供商;
图15是内容交换机的另一种实施方式的框图,它示出了多个通过不同的地址连接的提供商;
图16是提供商和内容交换机的分组的一种实施方式的分级表示;和
图17是提供商和内容交换机的分组的另一种实施方式的分级表示。
具体实施方式
本发明改善了从诸如因特网的网络中下载内容对象时的服务质量(QOS)。在一种实施方式中,客户计算机确定优选的内容交换机一览表。当请求内容时,将这一优选表提供给为客户计算机选择路由的源服务器,以便从被认为可以提供足够的QOS的内容交换机或内容服务器中下载内容。
在这些图中,类似部分和/或特征具有相同的标号。此外,同一类型的不同部分可以用标号后面跟一个破折号和一个第二标号来区分,第二标号可以区分类似部分。如果在说明书中只用第一标号,那么,该描述适用于具有相同第一标号的任一类似部分,而与第二标号无关。
参照图1,图中示出了内容分配系统100的一种实施方式的框图。在该实施方式中,内容分配系统100包括:一个活动目录104,一个或多个源服务器108,一个或多个客户计算机112,一个或多个内容交换机116,一个或多个外部源服务器118,因特网120,和一个浏览目录124。特定客户计算机112与活动目录104交互,以选择所要下载的内容对象。如果对象是流式媒体,那么它可以在下载过程中被播放,或者在稍后被存储。内容对象可以是可从网络中下载的任何类型的信息,比如,音频、视频或数据。来自客户计算机112的对内容对象的请求与首选信息一同被转发到合适的源服务器108。源服务器108决定从何处下载该对象。为了提供足够的QOS,任一内容交换机116或者甚至是源服务器108本身都能提供该对象。
活动目录104可以是面向选择内容对象的客户计算机112的界面。用于源服务器108的和可选地用于客户计算机112的软件都可以从活动目录104中下载,以便启动内容分配系统100。目录界面页或是搜索界面页可以用来确定所想要的内容对象。这些界面以活动方式保持,以免与源服务器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的优选表。当源服务器108在决定内容对象的源时,利用首选信息来提供足够的QOS。
外部源服务器118可以是可供客户计算机112使用的内容对象的附加源。在一种实施方式中,外部源服务器118与内容交换机116连接。
内容交换机116是内容对象的高速缓存器。许多这样的内容交换机116被分配到因特网120的不同地方,用以高速缓存内容对象。信息可以基于以下考虑被高速缓存,比如,基于用户对信息的需求,基于希望其内容便于用户使用的源服务器108的业务,或基于需要改善的QOS的用户的业务。内容交换机116的分组可以成群地或单独地为客户计算机112对内容对象的需求服务。
当要从内容交换机116中请求内容对象的用户没有发现所请求的内容对象或所请求的内容对象的片段时,将内容交换机116的请求转向其他内容交换机来请求该内容对象。如果其他内容交换机116也没有该内容对象,那么查询活动目录104,以得到是该内容对象的源的源服务器108,然后从那里下载该内容对象。当内容交换机116在搜集该内容对象的同时,客户计算机112接收可用的开头片段。内容对象可以被分片存储在若干个内容交换机116中,然后进行请求的内容交换机116将检索这些片段,以便按客户计算机112的要求重新汇集整个内容对象。
在某些实施方式中,当要从内容交换机116中请求内容对象的用户没有发现所请求的内容对象或所请求的内容对象的片段时,可由内容交换机116向外部源服务器118进行请求来检索所请求的内容对象。
浏览目录124用来补充源服务器108所报告的编目信息。当为用户搜索内容对象时,活动目录104可以显示来自源服务器108的可用的内容对象以及浏览目录124所揭示的其他内容对象。通过遍历该web,浏览目录124将这些内容对象以及它们所遇到的其他信息编目。例如,编目的关键字搜索可以将用户引向从系统100上任何源服务器中得不到的内容对象。当客户计算机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外部的专用链路。另外,就提供高速缓存、加密和压缩而言,系统100外部的内容对象也可以得益于系统100。
参照图2,图中示出了内容分配系统100的活动目录部分104的一种实施方式的框图。活动目录104中包含有:一个动态域名服务器(DNS)204,一个服务器管理器208,一个目录页212,一个搜索页216,一个下载页220,一个用户数据库224,一个服务器数据库228,一个内容交换机数据库232,和一个路由数据库234。内容分配系统100与活动目录104交互,以便向用户提供目录信息并帮助为用户下载内容对象。
无论客户计算机112的用户还是源服务器108的管理者对内容分配系统100来说都是用户。软件从下载页下载到用户和/或管理者。用于客户计算机112的软件在某些实施方式中是可选的,它用来提高QOS。用于源服务器108的软件使得活动目录104可以更新系统100中可用的内容,并可以将客户计算机112引向优选源,以便接收该内容。
客户计算机112加入到活动目录104的域,以寻找所想要的内容对象。根据首选,用户可以使用目录页212或搜索页216来寻找内容对象。搜索页216可以是传统的布尔搜索引擎,用于访问所有源服务器108所提供的内容对象的编目以及来自浏览目录124的信息。其他实施方式可以只在未能从源服务器108中搜索到内容后显示来自浏览目录124的信息,或者全部省略来自浏览目录124的信息。所有源服务器108的内容对象的编目被保存在服务器数据库228中。
目录页212按主题所编排的编目分级结构编排可能的内容对象。例如,第一页可以显示普通关心的一些专题,在此用户可以选择体育运动。在作为该分级结构中的下一级的下一页中,显示了一些体育运动,在此用户可以选择足球。在该分级结构中的再下一级中,用户可以选择圣迭亚哥军马队,以查看相关内容对象链接的另一页。
管理者在源服务器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的用户而言是唯一的。客户计算机通过内容交换机能为其选择路由的外部源服务器118的一览表被提供给该客户计算机112。客户计算机112利用来自路由选择数据库的信息将用户对外部源服务器118的请求重新转向内容交换机116。在内容交换机116填充了来自外部源服务器118的内容对象后,带宽从外部源服务器118卸载到内容交换机116。用户可以向该内容交换机的拥有者和/或源服务器的管理者支付这一增强型业务的费用。
动态DNS 204为源服务器108的每个IP地址提供源服务器名。源服务器名唯一地标识了因特网120上的源服务器108。这一信息被保存在用户数据库224中。内容交换机116不知道为该内容交换机116提供内容对象的源服务器108的IP地址,但知道源服务器名称。当内容交换机116想将无法从其他内容交换机116得到的内容对象或内容对象的片段填充到其高速缓存器时,查询动态DNS 204,以确定是该内容对象的源的源服务器108的IP地址或域名。如果从动态DNS 204中检索到域名,那么从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中。一些内容对象是慎重文件,而另一些内容对象却是例如实况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中的内容对象以便将它们预装到那里。这些内容对象可以定期地被请求,以保持它们装载在内容交换机中,这样,它们不会因为停滞而不装载。
健康状况检查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之间的界面。
客户计算机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、一个健康状况检查428、状态信息420、一个局部内容编目416和一个源服务器数据库424,而内容节点406包括一个内容控制器408和一个内容存储器412。
健康状况检查428可以是硬件也可以是软件应用程序,它可以提供相关内容交换机116的操作特牲。在一种实施方式中,健康状况检查428提供了内容交换机116状态的单一指示。该单一指示是0和1之间的归一化值,用于表示内容交换机特性的一种综合,包括例如CPU负载、CPU温度、同时连接数和内容交换机正发出的请求数。在另一种实施方式中,健康状况检查428可以监测内容交换机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地址,因此,向动态DNS 204查询这一信息。给定源服务器名,动态DNS 204可以提供IP地址,这样,内容控制器408就可以从适当的内容服务器308中请求该内容对象。
内容跟踪器404向系统100报告内容存储器412中的当前项目和内容交换机116的状态信息。局部内容编目416将每个内容对象或内容对象的片段的源服务器名、路径和文件名记录到内容存储器412中。随着内容存储器412中加进新项目和从其中消除原项目,局部内容编目416被更新。当内容管理器312与系统100连接时,对所有内容跟踪器404发出一个查询,以判断哪些内容对象片段被存储在这些内容存储器412中。当对内容存储器412进行变更时,初始查询提供了内容跟踪器404进行更新的一条基线。这些变更可以直接被发送给有内容存储到内容存储器412中的每个内容管理器312。在这一过程中,利用动态DNS 204来确定与各内容对象的源服务器名相应的IP地址。
内容跟踪器404还向内容管理器312提供了内容交换机116的状态信息。状态信息通过广播或多点播送方式被定期地(例如,每隔5分钟和/或每当发生变更时)发送到每个这种内容管理器312。状态信息可以包括与当前使用中的内容交换机的同时链接数、所允许的同时链接总数、带宽利用率和高速缓存器周转率。在其他实施方式中,状态信息还可以置于一个中心位置,这样,内容管理器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与查看者对象代理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利用源服务器名来查询动态DNS 204,以得到源服务器108的IP地址。一旦得知IP地址,内容处理程序508被重新引向所需内容对象的内容管理器312。内容管理器312传送首选信息,使得可以选择到适当内容交换机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连接,使得用户可以选择所要下载的内容对象。当选择了内容对象时,利用动态DNS 204将客户计算机112从活动目录104重新引向适当的源服务器108。首选信息512被传送给内容管理器312,以帮助它选择内容对象的源。根据内容管理器312所作的选择,从内容交换机116之一中或从内容服务器308中下载内容对象。
活动目录104与系统600中的其他模块进行交互。客户计算机112访问目录和搜索页212、216以选择内容对象。内容跟踪器404和内容管理器312向服务器管理器208分别提供状态和编目信息。帐目信息由源服务器108的管理者和由客户计算机112的用户提供给服务器管理器208,以保存用户数据库224。从源服务器名到源服务器108的IP地址的重新定向由动态DNS 204提供给查看者对象代理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。
下面参照图7A-B,图中示出了用于为用户分配内容的过程的一种实施方式的流程图。在所描述的过程之前,用户和管理者分别下载和安装客户计算机112和源服务器108所用的软件。管理者在内容服务器中选择要向系统600公布的内容。为了确定首选信息512,查看者对象代理504自动查询邻近内容交换机116是否具有足够QOS。
所述过程从步骤704开始,在该步骤中,用户将web浏览内容处理程序508引向活动目录104的目录或搜索页212、216。在这一实施方式中,在步骤708中,用户利用布尔查询来查询搜索页216上的搜索引擎以寻找内容对象。在步骤712中,搜索引擎可以搜索服务器数据库228以获得命中,也可以搜索浏览目录124。或者,用户可以导航目录页212以寻找所想要的内容对象。
在步骤716中,搜索或目录页212、216显示出用户可以选择的每个内容对象的链接。每个链接都包括内容对象的源服务器名108、端口、路径和名称。在步骤720中,在给出可用的选项后,用户可以选择与所想要内容对象相应的链接之一。查看者对象代理504查询动态DNS204,以确定链接中的源服务器名的IP地址。一旦得知IP地址,内容处理程序就被重新引向从动态DNS 204中检索到的IP地址以及链接中的路径和文件名。
在步骤724中,一旦客户计算机112与内容管理器312连接,首选信息512就被转发到内容管理器312。在步骤728和732中,内容管理器312对内容位置数据库320、首选信息512和状态信息进行分析,以确定要将客户计算机112重新引向的内容对象的源。
在步骤736中,判断该源是内容交换机116还是内容服务器308。如果内容管理器312判定内容服务器308可以提供足够的QOS或更高的QOS,那么可以选择它。在某些实施方式中,如果没有能提供足够的QOS的内容交换机116,那么只能将内容服务器308作为源。如果选择了内容服务器308,那么在步骤740中,源服务器108为客户计算机112提供内容对象。
如果内容管理器312选择内容交换机116来容纳内容对象请求,那么将内容处理程序508重新引向所选择的内容存储器412,然后处理过程继续进行到图7B的步骤744中。在步骤744中,内容处理程序508从内容存储器412中请求链接中的内容对象。在步骤748和752中,如果整个内容对象都在内容存储器412中,那么将对象从内容存储器412中下载到客户计算机。
或者,如果内容对象的任一片段失缺,那么在内容存储器412中汇集内容对象的整个拷贝。整个内容对象的构成对用户是透明的。在步骤756和760中,内容控制器408查询其他内容交换机116,以判断哪些内容交换机具有该内容对象的失缺片段。在内容存储器412中,将内容对象从头到尾重新汇集,这样,可以尽快得到开头部分,以便客户计算机112进行下载。
在步骤764中,以迭代方式从各内容交换机116中检索失缺片段,直到整个内容对象都在内容存储器412中。如果其他内容交换机116没有该内容对象的失缺片段,那么在步骤768中,查询源服务器108以寻找失缺片段。对动态DNS 204进行查询,确定该内容对象的源服务器名的IP地址。在步骤772中,动态DNS 204将内容控制器408引向具有该内容对象的源服务器108。在步骤776中,从该源服务器108的内容服务器308中下载该失缺片段。处理过程返回到步骤748,以检索任何其他的失缺片段。
这一搜寻片段的过程以迭代方式继续进行,直到所有失缺片段都被拷贝到内容存储器412中。尽管这一实施方式依次检索这些失缺片段,然而其他实施方式可以判断这些失缺片段的位置,并且并行地、按任何次序或按找到的次序对它们进行检索。
下面参照图8,图中示出了查看者对象代理504的一种实施方式的框图。查看者对象代理504包括以下功能:一个路径评估器850,一个加权功能852,一个显示功能或例程854,一个先行逻辑功能856,一个标准web访问功能858,一个解压缩功能860,一个解密功能862,一个电子商务功能866,一个安全功能864,和一个与查看者对象代理504中的各种其他功能连接的主体功能868。应当理解,查看者对象代理504中所含有的上述所列的可能功能只是说明性的,熟练技术人员可以认识到还可以有与查看者对象代理504有关的其他功能。
由于查看者对象代理504是一个所有的查看者请求的内容对象都通过它流动的代理,因此可以实现先行逻辑功能856。在一种实施方式中,先行逻辑功能856可以预料用户的下一个浏览或移动,并在用户实际请求之前取得相关的浏览信息存储在客户计算机112中。保持预先取得的信息,直到用户实际请求了该信息。如果先行逻辑功能856预料错了用户的下一个浏览,那么删除预先取得的数据。例如,先行逻辑功能856可以预先取得目录页212的分级结构之下的普通访问页(如参照图2所述)。通过预先取得信息,先行逻辑功能856可以缩短访问等待时间。
在某些实施方式中,提供了解压缩功能860和解密功能862。这些功能860、862使得可以对从因特网上的源服务器108、内容交换机116、外部原服务器118或其他任何服务器接收到的信息进行解压缩和解密。
对于任一用户请求,查看者对象代理504根据解压缩860和解密862功能的可用性,可以协商在利用因特网120上的服务器进行内容对象传送过程中所要采用的压缩和加密的方式。因此,用户无论什么时候在因特网120上冲浪,查看者对象代理504都可以告诉任何相关服务器它所支持的压缩和加密方式。这并不要求相关服务器要有特殊软件,不过,在相关服务器支持与查看者对象代理504所支持的相同的压缩、加密和安全功能的情况下,可以提高QOS。应当理解,可以采用许多通信机制来解压缩和解密。例如,可以采用FTP、NNTP、RTP、RTSP或SMTP。
在一种实施方式中,解密和解压缩协商利用HTTP来实现。具体地说,通过扩展的HTTP标题来实现这一协商。
此外,在某些实施方式中,对用户而言,可以禁用解压缩功能860和解密功能862之一,或者这两者都禁用。如果用户禁用各个功能860、862,那么,查看者对象代理504将不协商使用禁用功能。
在某些实施方式中,查看者对象代理504包括安全功能864。安全功能864适当时可以允许或拒绝访问。具体地说,安全功能864提供控制,以便只有受托系统授权,才能将内容对象解密。例如,只有在特定硬件锁式的硬件设备与客户计算机112连接并且安全功能864通过查看者对象代理504报告了连接条件的情况下,受托系统才可以授权接受和/或解密数据。
在某些实施方式中,查看者对象代理504包括电子商务功能866。电子商务功能866可以与因特网120上驻留的电子商务引擎紧密结合。利用电子商务功能866,可为用户提供一种购买内容对象的机制。例如,用户数据库224中所存储的代币信用可以作为使用源服务器108的信用,以便下载内容对象。
此外查看者对象代理504还包括标准web访问功能858,这一功能提供对位于内容分配系统100之外的因特网域的访问。在一种实施方式中,当查看者对象代理504接收来自内容处理程序508的对源于内容分配系统100之外的域的内容对象的用户请求时,标准web访问功能858判断该内容对象以前是否保存在客户计算机112中。如果所请求的内容对象以前已保存,那么,通过标准web访问功能858来返回所保存的内容对象,以满足用户请求。如果所请求的内容对象以前未保存,那么,通过标准web访问功能858来传递用户请求,然后检索内容对象,就好象内容处理程序508直接访问了因特网120。
下面,对照如图9所示的查看者对象代理后台应用程序900的流程图,描述路径评估器850、加权功能852和显示功能或例程854。后台应用程序900利用各种查看者对象代理504功能来确定能为客户计算机112提供足够的QOS的合乎要求的内容交换机116。合乎要求的内容交换机116作为首选信息512被存储到存储器中,随后被传送到内容对象管理器312。
参照图9,启动980时进行安装982,并运行显示例程854。安装982可以包括:请求和初始化客户计算机112中的图形存储器,初始化代理,和运行显示例程854。此外,安装982还可以包括初始化图形显示或代理的任何过程。
在安装982之后,进行信息请求和接收984。在信息请求和接收984期间,将活动目录104中的内容交换机数据库232下载到客户计算机112。如上所述,内容交换机数据库232可以按地区来划分,或按多种方法(包括改善的QOS判据或预订业务判据,但并不局限于此)来划分。因此,在某些实施方式中,信息请求和接收984使得可以检索只含有地理上与客户计算机112最近的内容交换机116的内容交换机数据库232。例如,所检索的内容交换机数据库232可以只包含位于北美的内容交换机116。在另一些实施方式中,信息请求和接收984使得可以检索只含有支持特定预订业务或归因于特定提供商的内容交换机116的内容交换机数据库232。或者,内容交换机数据库232可以局限于归因于特定因特网业务提供商或支持特定协议或者甚至以特定语言提供内容对象的内容交换机。在还有一些实施方式中,信息请求和接收984使得可以检索包括所有可能的内容交换机116的内容交换机数据库232。
在某些实施方式中,信息请求和接收984还包括请求和接收含有外部源服务器118的路由选择信息的路由选择数据库234的某部分。路由选择数据库234的所接收部分被存储在客户计算机112的存储器中,作为主服务器路由选择520。
在其他用法中,通过信息请求和接收984所提供的信息可以用来为用户产生一个显示。例如,在某些实施方式中,作为内容交换机数据库232的一部分所提供的位置座标和图标信息可以作为通过显示功能或例程854提供给用户的图形表示的一部分。该图形表示可以向用户示出可在内容分配系统100上或在因特网120上的其他地方所得到的内容。此外,图形表示还可以示出从客户计算机112到多个内容交换机116的各种路径。在一种特殊实施方式中,内容交换机116和源服务器108的实际位置重叠在显示给用户的世界地图上。
除了通过显示功能854使用内容交换机数据库232之外,来自内容交换机数据库232的信息可用来执行路径QOS评估986。具体地说,客户计算机112与内容交换机数据库232中指定的各内容交换机116或节点之间的路径的QOS可以被确定并被存储在客户计算机112的存储器中。
应当理解,通过信息请求和接收984接收内容交换机116一览表示例性说明了一种用于确定可能的内容交换机116的方法。在另一些实施方式中,可以得到可能的内容对象源一览表,比如内容交换机116、外部源服务器118和源服务器108,或利用查看者对象代理504所编辑的一览表。该表可基于对在内容分配系统100的内部或外部的早期内容对象传送期间所得到的查看者对象代理504的了解。
在一种实施方式中,对与内容交换机数据库232中所列的所有内容交换机116相关的路径进行路径QOS评估986。首先,分析与内容交换机数据库232中所列的第一个内容交换机116相关的路径。接着,在步骤988中,判断内容交换机数据库232中是否还提供有另一个内容交换机116。如果提供有另一个内容交换机116,那么,评估到该内容交换机116的路径。这一过程一直进行,直到对与内容交换机数据库232中所列的所有内容交换机116都进行了路径QOS评估986。应当理解,路径QOS评估可以针对任何内容对象源或传送节点来进行,而未必局限于评估内容交换机116和源服务器108。还应当理解,传送节点可以是内容交换机116,或是其他能存储和传送内容对象的服务器。还应当理解,正如与路径QOS评估相关的所用情况,术语路径包括了路由选择。
在其他实施方式中,只评估内容交换机数据库232中所列的内容交换机116的一个子集。只评估内容交换机数据库232中的内容交换机116的一个子集可提供更有效的路径QOS评估986。在知道某些内容交换机116不可能提供足够的QOS从而不值得评估的情况下,可以达到这种提高的效率。因此,例如,在客户计算机112位于北美并发觉北美之外的内容交换机不可能提供足够的QOS的情况下,只对位于北美的内容交换机116进行路径QOS评估986。
或者,在发觉不同类型的内容交换机116可能提供类似业务的情况下,可以进行基于站点的路径QOS评估986。具体地说,评估与内容交换机数据库232中所表示的各内容交换机站点432相关的一个内容交换机116。据此,可以判断哪些内容交换机站点432可能提供足够的QOS。随后,逐一分析与被判定可能提供足够的QOS的内容交换机站点432相关的内容交换机116。这样,就可以不评估与不可能提供QOS的内容交换机站点432相关的内容交换机116。
在另一种实施方式中,只针对支持特定协议的内容交换机116进行路径QOS评估986。或者,只针对某个内容交换机站点432处(该站点432处至少一个内容交换机116支持特定协议)的内容交换机116进行路径QOS评估986。
此外,在某些实施方式中,针对特定内容交换机116只进行一次路径QOS评估986。因此,在特定内容交换机116具有多个IP地址、端口或名称的情况下,只针对一个IP地址、端口或名称进行路径QOS评估986。这排除了路径QOS评估986期间的冗余评估。然而,应当理解,在发觉可能有不同的QOS的情况下,也可以针对同一内容交换机116的多个IP地址、端口或名称进行路径QOS评估986。
选择内容交换机数据库232中的内容交换机116的哪一子集进行评估,可以基于客户计算机112所提供的判据和基于活动目录104、内容交换机116、源服务器108和/或用户所提供的客户计算机经验。
在一种实施方式中,路径QOS评估986可综合利用以下网络分析方法来完成,这些方法包括(但并不局限于此):跟踪路由,通过文件传送的带宽测试,服务器健康状况检查,服务器负载/资源检查,乒(ping)协议,路径差别,网界网关协议(BGP)路由选择信息,和端口响应时间。
跟踪路由包括任何这样的分析:返回分组在特定内容交换机116与客户计算机112之间所采取的路由。通常,跟踪路由将返回所穿行转发的次数、所穿行转发的IP地址以及在客户计算机112与内容交换机116之间穿行所需的时间。
通过文件传送的带宽测试包括任何这样的分析:执行内容交换机116与客户计算机112之间的成批信息传送。在成批传送期间,得出性能的各种指数,包括完成成批传送所需的时间(但并不局限于此)。通常,内容交换机116与客户计算机112之间所传送的数据随机性很大。数据的这种随机性降低了对客户计算机112与内容交换机116之间出现的任何压缩的影响。
乒协议包括任何这样的分析:客户计算机112向特定内容交换机116发送信息,和客户计算机112等待来自内容交换机116的响应。通常,通过UDP或任何其他有损协议(即不保证响应的协议)来执行乒协议。乒协议可用来检验内容交换机是否可使用。此外,接收应答所需的时间可作为QOS的指示。
服务器健康状况检查和服务器负载/资源检查可以包括任何这样的分析:确定关于内容交换机116、源服务器108或其他传送节点的健康状况、负载和可用资源的各种试探法。通常,查询内容交换机116,以确定各种操作特性,包括(但并不局限于此):平均和峰值CPU负载,CPU温度,为解决高速缓存差错在硬驱动器与RAM之间所传送的页数,内容交换机116向硬驱动器发出读和写操作的速率,内容交换机116当前正在服务的请求数,访问该内容交换机的平均用户数,同时连接数,内容交换机116的输入/输出速率,从内容交换机116中所请求的平均内容对象长度,与内容交换机116相关的局部存储器(包括RAM和硬驱动器存储器)的容量,局部存储器中所含的平均内容对象长度,局部存储器中所含的内容对象数,内容对象逗留在局部存储器中的平均时间,在局部存储器中找不到内容对象的情况的出现率,和其他任何出错指示和/或状态信息。
利用与特定内容交换机116或源服务器108相关的健康状况检查330、428,可以确定上述试探法。在一种实施方式中,健康状况检查330、428分别是内容交换机116或源服务器108上的软件应用程序。当查看者对象代理504进行查询时,健康状况检查330、428可以提供:CPU负载,CPU温度,同时连接数,和内容交换机116或源服务器108当前正在服务的请求数。在某些实施方式中,查看者对象代理504通过HTTP查询内容对象交换机116,以检索服务器健康状况检查试探法。然而,应当注意,熟练技术人员可以知道许多用于访问服务器健康状况试探法的机制,包括FTP、NNTP、RTP、RTSP,SHOUT,SMTP(但并不局限于此),或通过所指定的端口与该节点的连接。
在其他实施方式中,查看者对象代理504对健康状况检查330、428的状态请求导致了所返回的单一状态标志。该单一状态标志介于0和1之间,1表示不良特性而0表示很好特性。良好和不良特性根据内容交换机116或其他传送节点作为内容对象高速缓存器的能力或可能性来确定。因此,在一种实施方式中,值为0.9的标志表示不能将内容对象本地保存在内容交换机116一段延长时间。值为0.2的标志表示能够保存内容对象一段延长时间。
为了确定该单一状态标志,可以监测和综合许多机器特性。在一种实施方式中,单一状态标志综合包括了下列特性:平均CPU负载,与内容交换机116相关的局部存储器的容量,局部存储器中所含的平均内容对象长度,内容对象逗留在局部存储器中的平均时间。这些单独特性的综合可用来评定内容交换机作为内容高速缓存器的能力。为了将这些特性综合为单一标志,首先将每个特性都归一化成预定使用级的百分比。归一化这样来实现,即100%表示可能达到的最好的特性值而0表示最差的特性值。然后,将归一化值乘以总状态标志的预定百分比,将乘积值合计以形成一个介于1和0之间的单一标志。应当理解,也可以利用特性的一些别的集合来形成单一标志。例如,一种实施方式可以综合平均CPU负载、CPU温度、与源连接的平均用户数以及内容交换机的输入/输出速率来形成该单一标志。
下面提供了一个形成单一标志的例子,其中包括:最大值的90%的CPU负载,归一化为20%的平均内容对象长度,局部存储器中所含的归一化为30%的局部存储器的容量,归一化为80%的局部存储器中所含的平均内容对象长度,和归一化为50%的内容对象逗留在局部存储器中的平均时间。这些归一值可以这样被合计,以便每个特性在单一标志中起相同的作用。于是,每个归一化值乘以20%再被合计,以形成该单一标志。因此,本例中该单一标志为54%即0.54。应当理解,本例子和实施方式仅仅只是说明性的,还可以采用其他一些方法将多个特性综合成单一标志。
BGP路由选择信息包括作为网界网关协议分析的结果所返回的任何信息。通常,这一信息与路径拓扑结构有关,它包括自治系统(AS)路径属性和AS下一次转发,但并不局限于此。
路径差别包括任何这样的分析:确定用于连接内容交换机116和客户计算机112的备选路径之间的带宽或等待时间的差别。
端口响应时间包括任何这样的分析:提供端口响应的指示。通常,该测试提供了与内容交换机116端口的响应时间有关的信息。例如,端口时间可以包括任何这样的分析:确定传送长度为零的消息所需的时间。通常,报告零长度传送的结果,作为每秒的交换机消息数。每秒的交换机数可用来推断内容交换机116的等待时间。
应当理解,任何上述方法都可以综合用来提供一个用于连接内容交换机116和客户计算机112的路径的QOS或传输质量的指示值。此外,任何上述方法都可以与其他网络分析方法相结合来提供QOS评估986。例如,在一种实施方式中,可综合利用乒协议、跟踪路由和健康状况检查来提供QOS评估。
在另一种实施方式中,所有上述方法综合用来确定QOS。为了确定QOS,每种方法都被执行,并且每种方法的QOS因子都被返回。然后,来自各种方法的QOS因子被归一化并被合计,以形成每一所分析的路径的单一QOS因子。可以对各种方法进行相同加权来归一化这些QOS因子。
例如,在一种实施方式中,出现了下列归一化和合计,其中:(1)跟踪路由返回9次转发,(2)通过文件传送的带宽测试返回300ms,(3)服务器健康状况检查返回表示健康的值1,(4)服务器负载/资源检查返回65%的平均CPU负载,(5)BGP路由选择信息返回4次转发,和(6)端口响应时间返回45ms。此外,再将每个返回值与各自的预定最大值进行比较,这些预定最大值例如是:(1)跟踪路由为30次转发,(2)通过文件传送的带宽测试为500ms,(3)服务器健康状况检查为1,(4)服务器负载/资源检查为100%,(5)BGP路由选择信息为6次转发,和(6)端口响应时间为100ms。
为了归一化和合计,每个返回值都要除以它们各自的预定最大值。因此,跟踪路由得到0.33,通过文件传送的带宽测试得到0.6,服务器健康状况检查得到1,服务器负载/资源检查得到0.65,BGP路由选择信息得到0.75,而端口响应时间得到0.45。接着,将所有这些归一化值合计后得到3.78,作为总QOS因子。然后,再利用这种QOS因子来比较不同的内容交换机116。
在其他实施方式中,从每种方法所返回的值在合计之前先进行不同的加权。加权系数可由用户来提供,以影响所返回的QOS因子。这种实施方式可利用来自前一实例的值来描述,在前一实例中,从各种方法返回的归一化值是:(1)跟踪路由为0.33,(2)通过文件传送的带宽测试为0.6,(3)服务器健康状况检查为1,(4)服务器负载/资源检查为0.65,(5)BGP路由选择信息为0.75,和(6)端口响应时间为0.45。为了继续说明,采用下列加权系数:跟踪路由为1,通过文件传送的带宽测试为3,服务器健康状况检查为1,服务器负载/资源检查为4,BGP路由选择信息为1,而端口响应时间为3。将各归一化值乘以其各自的加权系数便可以得到:(1)跟踪路由为0.33,(2)通过文件传送的带宽测试为1.8,(3)服务器健康状况检查为1,(4)服务器负载/资源检查为2.6,(5)BGP路由选择信息为0.75,和(6)端口响应时间为1.35。接着,将所有这些归一化值合计后得到7.83,作为总QOS因子。然后,再利用这种QOS因子来比较不同的内容交换机116。
除了提供加权系数之外,用户还可以人工选择内容交换机116的预置次序,或者只提供单个可接受的内容交换机116,这二者之一可以有效地取代路径QOS评估986的自动分析。因此,用户可以通过下列方法之一来得到任何所需的结果:完全自动产生内容交换机116的QOS因子,人工加权路径QOS评估986以得到针对内容交换机116所返回的QOS因子,或者取代自动分析而提供所需内容交换机116一览表。
在某些实施方式中,可以利用上述方法的一个子集进行粗略QOS分析后再对有限个内容交换机116进行精细QOS分析,来完成多层路径QOS评估986。这种多层分析由于避免了对不可能提供足够的QOS的内容交换机进行精细QOS分析,从而提高了路径QOS评估986的效率。相应地,在一例实施方式中,应用乒协议和跟踪路由对内容交换机数据库232中所含的所有内容交换机116进行粗略QOS分析。然后,利用服务器健康状况检查作为精细QOS分析,对根据粗略QOS提供了足够QOS的预定个数(最好小于25个)的内容交换机116进行评估。精细QOS分析的结果确定了那些提供足够QOS的内容交换机116。应当理解,可以应用各方法的任何综合来进行精细或粗略QOS分析。此外,还应当理解,精细或粗略QOS分析本身都可以包括多层分析。
在对可能的路径进行路径QOS评估986并将每一评估路径的QOS因子存储到客户计算机112的存储器中后,将这些与评估路径相关的内容交换机116区分优先次序990。内容交换机116根据路径QOS评估986中所确定的QOS因子来区分优先次序。根据QOS因子,预定个数的内容交换机可以被选择、排序并作为首选信息512被保存。在一种实施方式中,首选信息512包括优选的10个内容交换机116。
如上所述,在另外一些实施方式中,可以对未必只是内容交换机116和源服务器108的任何内容对象源进行路径QOS评估。在这种情况下,首选信息512可包括内容对象源、源服务器108以及内容交换机116。
首选信息512包括提供了足够QOS的内容交换机116一览表,其中该QOS是由从客户计算机112角度出发进行的网络分析所确定的。从客户计算机112角度出发分析QOS,可以改善QOS。
在某些实施方式中,首选信息512用来形成路径QOS评估986所要分析的内容交换机116的一个子集。例如,可以测试在同一站点存在的或者与同一提供商相关的内容交换机116(作为首选信息512中所含的内容交换机116)。因此,在后续路径QOS评估986中,只重新评估最有可能提供足够QOS的内容交换机116。或者,路径QOS评估986可以分析首选信息512中所含的内容交换机116以及自从上次形成首选信息512以来所加到内容交换机数据库232中的其他内容交换机116。在这些方法中,可以利用查看者对象代理504的经验来实现更有效的路径QOS评估986。应当理解,上述实施方式只是说明性的,还有许多算法可用来选择内容交换机116,以提高路径QOS评估986的效率。例如,路径QOS评估986的预先操作可以返回特定内容交换机116的很差的结果,该内容交换机决不再被分析,而是预定被拒绝。在某些实施方式中,这种预定拒绝可以由用户人工完成。
可以为用户显示992路径QOS评估986的结果。在某些实施方式中,显示结果可以诱使用户保持在客户计算机112的桌面上一直运行查看者对象代理504应用程序,并帮助用户在更改加权功能852以人工控制内容交换机116的选择。在一种实施方式中,显示功能854尤其还提供了一个区域地图,它说明了客户计算机112与所选择的内容交换机116之间的一些转发以及一些描述操作特性的统计。
除了在启动980时更新首选信息512之外,还可以根据用户请求994或根据时间间隔996来更新首选信息512。在一种实施方式中,以被设定为3600秒的时间间隔996来更新首选信息512。
除了参照图9所述的后台应用程序之外,查看者对象代理504还可以提供前台操作,包括(但并不局限于此):服务于对来自内容分配系统100、外部源服务器118和因特网120中的内容对象的用户请求,以及服务于电子商务请求。具体地说,查看者对象代理504可以处理如前面结合电子商务功能866所述的电子商务请求。
参照如图10中所示的查看者对象代理请求业务1000的一种实施方式的流程图,来描述对内容分配系统100、外部源服务器118和因特网120中的内容对象的访问。参照图10,查看者对象代理504接收到对一个内容对象的用户请求1010。在一种实施方式中,通过内容处理程序508来访问内容分配系统100。具体地说,内容处理程序508根据用户命令发出对内容对象的请求。对内容对象的请求作为用户请求1010被传送到查看者对象代理504。
一旦接收到用户请求1010,查看者对象代理504判断内容分配系统访问1020能否满足所接收到的用户请求1010。在一种实施方式中,可通过将用户请求1010的源位置与已知的与内容分配系统100相关的源位置列表进行比较来判定。如果用户请求1010的源位置符合与内容分配系统100相关的某个源位置,那么,内容分配系统访问1020可满足这一请求。相应地,执行内容分配系统业务1030来满足用户请求1010。
在某些实施方式中,查看者对象代理504可通过将首选信息512传送到源服务器108来执行内容分配系统业务1030。利用首选信息512,源服务器108选择能为用户请求1010提供足够QOS的内容交换机116或源服务器108。于是,源服务器108将所选内容交换机116或源服务器108的地址传送到查看者对象代理504。在一种实施方式中,源服务器108动态地写HTML,以便向查看者对象代理504提供所选内容交换机116或源服务器108的地址。接着,查看者对象代理504与所选内容交换机116或源服务器108协商兼容的压缩、加密和安全性。在另一种实施方式中,查看者对象代理504可以利用首选信息512亲自选择内容交换机116,以提供所请求的内容对象。
查看者对象代理504通过请求所选内容交换机116或源服务器108中的内容对象来满足用户请求1010。当所请求的内容对象被接收到时,查看者对象代理504根据所协商的格式来提供解压缩、解密和安全性。因此,通过将与具体客户计算机112相关的信息传送到源服务器108,源服务器108就可以选择能提供足够QOS的内容交换机116。通过从客户计算机112角度出发进行分析和内容交换机选择,可以实现更精细的QOS分析,从而得到更好的QOS。
如果内容分配系统访问1020无法满足用户请求1010,那么,查看者对象代理504接下来就判断外部源服务器访问1040能否满足该用户请求1010。在一种实施方式中,可通过将用户请求1010中所指示的域名与主服务器路由选择520中所提供的外部源服务器118的域名进行比较来判定。如果用户请求1010中所指示的域名符合某个外部源服务器118的域名,那么,通过执行外部源服务器业务1050可从该符合的外部源服务器118满足用户请求1010。相应地,执行外部源服务器业务1050来满足用户请求1010。在其他实施方式中,用户请求1010可以包括目录名、机器名、IP地址或者可以与主服务器路由选择520中所含的外部源服务器的相应标识符相比较的另一标识符。
在一种实施方式中,查看者对象代理504通过访问已知的内容交换机116来完成外部源服务器业务1050,以便提供源于所符合的外部源服务器118的内容对象。因此,查看者对象代理504将用户请求1010从所符合的外部源服务器118重新引向该内容交换机116。这一重新引导对所符合的外部源服务器118和内容处理程序508来说都是透明的。在某些实施方式中,查看者对象代理504与所选内容交换机116协商兼容的压缩、加密和安全性。而内容交换机116根据所协商的压缩、加密和安全性来满足用户请求1010。在内容交换机116没有所请求的内容对象的情况下,内容交换机116从所符合的外部源服务器118中请求所需的内容对象。不论哪种情况,所请求的内容对象都由内容交换机116提供给客户计算机112。当所请求的内容对象被接收到时,查看者对象代理504根据所协商的格式来提供解压缩、解密和安全性。因此,通过由内容交换机116来服务用户请求1010,维护外部源服务器118的内容对象提供商不用负担分配内容对象的任务。
在另一种实施方式中,查看者对象代理504可通过将首选信息512传送到源服务器108来执行外部源服务器业务1050。利用首选信息512,源服务器108选择能为用户请求1010提供足够QOS的内容交换机116或源服务器108。源服务器108将所选内容交换机116或源服务器108的地址传送到查看者对象代理504。
于是,查看者对象代理504通过从所选内容交换机116或源服务器108中请求内容对象来满足用户请求1010。所选内容交换机116或源服务器108从所符合的外部源服务器118中请求所需的内容对象,随后通过向查看者对象代理504提供所请求的内容对象来满足用户请求1010。因此,通过提供适用于客户计算机112的业务,可得到更好的QOS。此外,通过由内容交换机116来服务用户请求1010,维护外部源服务器118的内容对象提供商不用负担分配内容对象的任务。
如果外部源服务器访问1040或内容分配系统访问1020都不能满足用户请求1010,那么将用户请求1010传送到因特网120。在一种实施方式中,如参照标准web访问功能858所述的方式来处理通过1060传送到因特网120的用户请求1010。
参照图11,图中示出了用于跟踪源服务器108与内容交换机116之间的内容的方法的一种实施方式。尽管该图主要说明了单个源服务器与单个内容交换机之间的交互,然而,应当理解,每个源服务器可以与许多内容交换机联系,而每个内容交换机也可以与许多源服务器联系。所有源服务器108与所有内容交换机116之间的交互使得系统600可以跟踪内容对象片段。
该过程从内容交换机和源服务器处于离线或不能使用状态开始。在步骤1104中,内容交换机116在开始操作后才可供使用。当第一次可供使用时,内容交换机116是空闲的,并等待客户计算机112请求内容。当满足了客户计算机112的请求时,内容存储器412使它本身填充一些内容对象或内容对象的片段。
在步骤1108中,该实施方式的源服务器108开始操作并可供使用。源服务器108向活动目录104公布其局部内容编目,并向系统600中的所有内容跟踪器404标识其自身。操作的内容交换机116的内容交换机数据库232可供查询使用,使得,内容管理器312得知内容跟踪器404的地址。
每个内容交换机116都保存有已与它联系的源服务器108的源服务器数据库424。在源服务器108离线之前,源服务器108尝试与所有内容交换机116联系,以便向这些内容交换机116通报这一状态的变更。离线的源服务器108将从源服务器数据库424中消除。只要源服务器108未能对发送状态的内容交换机116作出响应,该源服务器108就被认为是离线的并从源服务器数据库424中消除。
每当内容交换机116准备离线,它就尝试向系统600通报。具有一些内容对象或内容对象的片段的源服务器108得到通报,这样,每个源服务器108中的内容交换机信息324和内容位置数据库320可以保持最新。此外,活动目录104也得到通报,因此,内容交换机数据库232将准确反映系统600可用的内容交换机116。
在步骤1112中,步骤1108中所联系的每个内容跟踪器404都以状态信息420和与内容管理器312相关的任何内容对象来响应内容管理器312。由于内容管理器312刚刚在线,因此,在内容存储器412中不可能有发自与内容管理器312相关的内容服务器308的任何内容对象。内容管理器312将来自作出响应的各内容交换机116的状态信息420作为内容交换机信息324来保存。在不同的实施方式中,所报告的状态信息420可以有也可以没有内容编目信息416。当选择客户计算机112到内容对象的源的路由时,该内容交换机信息324用来判断所考虑的内容交换机的负载。各内容跟踪器400定期地利用状态信息来更新所有活动内容管理器312,使得内容交换机信息324是最新的。在另一种实施方式中,内容跟踪器404可以在状态中出现很大变化时而不是定期地提供更新的状态信息420。
在步骤1116中,内容管理器312将客户计算机112引向内容交换机116以满足对内容对象的请求。在重新引导客户计算机112之前,内容管理器312确定一个特定内容交换机是该内容对象的优选源。如果并非整个内容对象都在优选的内容交换机116中,那么,在步骤1120中,内容控制器408检索失缺的内容对象片段。一旦来自内容交换机116的内容对象的开头部分可供使用,客户计算机112开始下载该内容对象。
内容跟踪器404定期地或在出现变化时向所有内容管理器312报告内容存储器412中所存储的内容对象和/或内容对象片段。局部内容编目416存储了内容存储器412中所保存的内容对象和/或内容对象片段的一览表。在步骤1124中,在步骤1120中可能补充的内容对象被回报给最初提供该内容对象的源服务器108。具有关于内容存储器412的信息的每个源服务器108都接收来自内容跟踪器404的报告。
稍后,在步骤1128中,将局部内容编目416中的更多的信息从内容跟踪器404发送到内容管理器312。在步骤1132中,定时器的期满将启动这一报告,不过,其他实施方式还可以在出现变化时报告这一信息。根据所有内容交换机116的报告,内容管理器312将位置信息存储在内容位置数据库320中。内容管理器对内容位置数据库320的将来查询,使得可以知道哪些内容交换机116当前保持有该内容管理器312想将客户计算机112重新引向的任何内容对象。
当状态信息420和/或内容编目信息416的报告被发给了特定内容管理器312时,内容跟踪器404判断该内容管理器312是否在接受该信息。如果内容管理器接受信息,那么,处理过程返回到步骤1116,在此请求另一个内容对象。
如果内容管理器312例如已离线,那么内容跟踪器404报告的信息不被接受。可能要通过若干次失败的联系尝试后,内容跟踪器404才能断定内容管理器312不能使用。在步骤1136中,探测出无响应的内容管理器312。通过对局部内容编目信息416进行查询,可确定与这些不能使用的内容管理器312相关的任何内容对象。从内容存储器412中消除这些相关内容对象以便为新内容对象留出空间,或者,这些内容对象被加上需要存储空间时的删除标记。应当注意,在上述过程中,内容跟踪器可对动态DNS 204进行查询,以便将源服务器名转换成IP地址。
下面参照图12,图中示出了用于将信息从内容管理器传送到服务器管理器的过程的一种实施方式的流程图。所示流程图说明了活动目录104与单个源服务器108之间的交互。然而,应当理解,活动目录104可以以类似的方式与多个源服务器交互,以便拓展在服务器数据库228中将这些源服务器编目的电子目录。用户利用搜索页或目录页范例来查询服务器数据库228。
该过程从步骤1204开始,在该步骤中,内容管理器312向服务器管理器208提供状态信息。在步骤1208中,服务器管理器208接收状态信息并将其存储到用户数据库224中。用户数据库224保存了关于系统600中当前活动的所有源服务器108的信息。
服务器管理器208控制每个源服务器108回报局部内容编目316的信息的频度。在步骤1210中,由向内容管理器312提供回报时间间隔的服务器管理器208来控制每个源服务器报告局部内容编目316的频率。对活动目录104的负载或利用率进行分析,以确定更新服务器数据库228中的信息时可采用的带宽量。根据该负载确定情况,选择回报时间间隔并将其传送到内容管理器312。在一种实施方式中,回报时间间隔通常被设为两分钟,但如果活动目录超载时该时间间隔可以加长。
每个源服务器108保存管理者所选择的用于向系统600公布的所有内容对象的局部内容编目316。内容管理器312第一次与服务器管理器208联系以报告局部内容编目316时,该编目316的所有项目都将被发送。在后续联系中,只可以报告局部内容编目316的变更部分,以节省带宽。在另外一些实施方式中,每次联系都可以报告整个局部内容编目。在步骤1216中,服务器管理器208接收局部内容编目316或局部内容编目的变更部分,并将该信息存储到服务器数据库228中。即使在回报时间间隔期间,局部内容编目316没有变化,源服务器108也与服务器管理器208联系,使得可以知道该源服务器108仍可供使用。
服务器管理器208检测是否有任何源服务器108可能因为该源服务器108离线或以其它方式不能使用而停止与它联系。在步骤1220中,服务器管理器208为该源服务器108设置一个超时值。在本实施方式中,该超时值可以设为回报时间间隔的三倍,不过也可以采用其他倍数。可为超时值设置一个计数器,用来确定计数器何时达到超时值。
如果在步骤1224中计数器达到了超时值,那么,在步骤1236中,活动目录104消除该源服务器108的所有引用,或者为这些引用加上需要空间时的删除标记。假定,如果计数器达到超时值之前源服务器108没有开始联系,那么该源服务器108不能使用。从服务器数据库228中消除与和该源服务器108的局部内容编目316相应的项目,并从用户数据库224中消除该源服务器108的项目。通过从数据库224、228中消除这些项目,与目录或搜索页212、216连接的任何用户都看不到与和该源服务器108相关的内容对象的链接。此外,与局部内容目录316相应的项目可以在计数器达到超时值后被加上删除标记。当其他内容对象需要空间时,加有删除标记的内容对象可以被改写。
如果如步骤1228中所确定,源服务器108进行了联系,那么活动目录104知道源服务器108运转正常。该联系导致了存储有超时值的计数器的复位。处理过程返回到步骤1210,在此,更新服务器数据库228并确定新的回报时间间隔。该过程不断循环,直到源服务器108在存储有超时值的计数器期满之前未能报告为止。
参照图13,图中示出了用于由内容管理器312向服务器管理器208公布信息的过程的流程图的一种实施方式。源服务器的管理者从活动目录104的下载页220中下载软件。该软件被安装在源服务器108中。这里,内容对象以静态形式或流动形式在内容服务器308上可用。所述过程从步骤1304开始,在该步骤中,源服务器开始操作,以准备内容对象和安装软件。
在1308中,管理者完成人工选择过程,以选择内容对象。在这一过程中,可以只将内容服务器308中的内容对象的一个子集用于系统600。所选择的内容对象被送入到局部内容编目316中。
当第一次与活动目录104联系时,在步骤1308和1312中,内容管理器312将关于源服务器108的信息传送到服务器管理器208,以便进入用户数据库224。如果这是内容管理器312第一次与活动目录104联系,那么,管理者可能提供所传送的某些信息。管理者所补充的信息被保存并被提供有与用户数据库224的后续联系。
在步骤1316中,内容管理器312与服务器管理器208联系,以公布局部内容编目316中的信息。在步骤1320中,服务器管理器208获得局部内容编目316并在服务器数据库228中为每个内容对象都形成一个项目。在表示呈现给搜索内容的用户的目录和搜索页212、216时,可以使用服务器数据库228的这些内容。
服务器管理器208控制所有源服务器108报告其局部内容编目316的频率。如果服务器管理器208超载,那么,给予内容管理器312的回报时长可以加长。服务器管理器208还可以请求内容管理器312在检测到局部内容编目316的变化时进行回报。在本实施方式中,回报时长即间隔时间为两分钟,并在步骤1324中被提供给内容管理器312。
在向服务器管理器208回报之前,内容管理器312在步骤1328中等待间隔时间期满。一旦定时器期满,便扫描内容服务器308中的内容对象,以判断是否应对局部内容编目316进行变更。一旦在步骤1332中作了变更,处理过程就返回到步骤1316,在此,再次向服务器数据库228公布局部内容编目316。在第一次联系时,在步骤1316中可提供整个局部内容编目,而在后续联系中,只可以提供变更部分来更新信息,以减小信息的长度。
下面参照图14,图中示出了内容交换机116的一种实施方式的框图,它示出了多个通过不同的端口1408连接的提供商。三条数据通路1404逻辑上由内容交换机116的网际协议端口1408隔开。这些端口1408用来多路分离这些逻辑数据通路1408,尽管它们可能在物理上共享共同的管道。利用多个端口1408,可以调节与这些端口1408相关的业务量。
例如,内容交换机116可用来提供外部源服务器118的内容对象。外部源服务器的管理者可能希望将业务量分配给三个带宽提供商。端口A 1408-A可以与提供商A相关联,端口B 1408-B可以与提供商B相关联,而端口C 1408-C可以与提供商C相关联。内容交换机可以监测任一这些端口的活动性,并向提供商报告这一信息,使得提供商可以适当地给载送了带宽的外部源服务器118开帐单。
客户计算机112的请求可以根据外部源服务器118所确定的方案被分配给端口1408,以便在提供商之间分配带宽。在一种实施方式中,各客户计算机112根据加权功能循环地通过三个端口1408。在另一种实施方式中,各客户计算机被分配使用不同的端口1408。在还有一种实施方式中,确定各端口1408的QOS将影响对客户计算机112使用的端口1408的选择。利用这些技术,系统600中的客户计算机112可以影响从各提供商购买的带宽量。
参照图15,图中示出了内容交换机116的另一种实施方式的框图,它示出了多个通过不同的地址1508连接的提供商。在本实施方式中,三个IP地址1508用来逻辑上相互区分三个数据通路1504。尽管逻辑数据通路主要被预计用来按提供商分离带宽,然而,逻辑数据通路还可以分离安全等级、内容对象的子集等等。
下面参照图16,图中示出了提供商1604和内容交换机116的分组的一种实施方式的分级表示。在本实施方式中,有两个带宽提供商1604。每个提供商1604除了各自的站点1608-1、1608-3外还有一个共享站点1608-2。站点1608是装有一个或多个服务器1612的物理位置,并且与可能含有多个服务器1612的单一内容交换机116相应。
共享站点1608-2中的各服务器1612-3具有共享该站点1608-2的各提供商1604的各自的IP地址1616-3、1616-4。这两个IP地址1616-3、1616-4使得可以逻辑分离发向给定共享站点1602-2的业务量。逻辑分离使得可以把内容对象请求和为这些请求服务的带宽归于各个提供商1604,尽管所有业务量有时可能共享同一物理管道。某些实施方式通过对IP地址1616进行过滤,可以保持与各提供商相关的业务量在物理上分离。在这种情况下,可以在提供商1604之间分配带宽。
下面参照图17,图中示出了提供商和内容交换机的分组的另一种实施方式的分级表示。在本实施方式中,端口1716用来区别到服务器1612的逻辑数据通路。在服务于多个提供商1604的站点1608-2中,端口1 1716-3与提供商1 1604-1相关联,而端口2 1716-4与提供商2 1604-2相关联。在某些实施方式中,各提供商可具有与其相关联的一系列端口而不是所有服务器上的单一通用端口。
根据以上所述,本发明的一些优点是显而易见的。客户计算机可以影响判断能提供足够质量的内容交换机的过程。此外,还可以以动态方式将客户计算机引向所选的内容交换机。本发明的这一改进提供了提高的QOS。
另外,还可以采用本发明的一些变形和修改方式。例如,某些实施方式可以随着从其他内容交换机和/或内容服务器中检索来自一个内容存储器的内容对象的其余部分,而开始对该内容对象的开头部分进行假脱机操作。此外,某些实施方式可以有差别地安排内容分配系统的各种块。在一种实施方式中,源服务器和客户计算机可以是相同的计算机。在另一种实施方式中,客户计算机和活动目录可以结合在同一计算机中。
尽管本发明参照其特定的一些实施方式进行了描述,然而,这些实施方式只是为了说明而并不是限定本发明,本发明的范围只能由附属权利要求书来确定。

Claims (20)

1.一种用于将内容分配给客户计算机的系统,包括:
一个包含内容对象的服务器;
在第一地址处的第一内容高速缓存器,其中,第一内容高速缓存器包含该内容对象的第一拷贝;
在第二地址处的第二内容高速缓存器,其中,第二内容高速缓存器包含该内容对象的第二拷贝;和
一个发自客户计算机的首选表,其中,首选表包括第一地址和第二地址至少之一。
2.如权利要求1所述的用于将内容分配给客户计算机的系统,还包括:一种将内容对象、第一拷贝和第二拷贝之一映射到客户计算机的路由选择机制。
3.如权利要求1所述的用于将内容分配给客户计算机的系统,还包括:一个将内容对象、第一拷贝和第二拷贝之一映射到客户计算机的目录。
4.如权利要求3所述的用于将内容分配给客户计算机的系统,其中,服务器定期地将内容对象的编目传送给目录。
5.如权利要求3所述的用于将内容分配给客户计算机的系统,其中,目录受首选表的影响。
6.如权利要求1所述的用于将内容分配给客户计算机的系统,其中:
内容对象包括第一片段和第二片段;
第一片段存储在第一内容高速缓存器中而不在第二内容高速缓存器中;和
第二片段存储在第二内容高速缓存器中而不在第一内容高速缓存器中。
7.一种用于将内容分配给客户计算机的系统,包括:
一个内容对象;
在第一地址处的第一内容高速缓存器,其中,第一内容高速缓存器包含该内容对象的第一拷贝;
在第二地址处的第二内容高速缓存器,其中,第二内容高速缓存器包含该内容对象的第二拷贝;和
一个将第一拷贝和第二拷贝之一映射到客户计算机的目录。
8.如权利要求7所述的用于将内容分配给客户计算机的系统,还包括:一个发自客户计算机的首选表,其中,首选表包括第一地址和第二地址至少之一。
9.如权利要求8所述的用于将内容分配给客户计算机的系统,其中,目录受首选表的影响。
10.如权利要求7所述的用于将内容分配给客户计算机的系统,还包括:一种将内容对象、第一拷贝和第二拷贝之一映射到客户计算机的路由选择机制。
11.如权利要求7所述的用于将内容分配给客户计算机的系统,还包括:一个包含该内容对象的服务器。
12.如权利要求11所述的用于将内容分配给客户计算机的系统,其中,服务器定期地将编目信息传送给目录。
13.如权利要求11所述的用于将内容分配给客户计算机的系统,其中:
内容对象包括第一片段和第二片段;
第一片段存储在第一内容高速缓存器中而不在第二内容高速缓存器中;和
第二片段存储在第二内容高速缓存器中而不在第一内容高速缓存器中。
14.一种用于将内容分配给客户计算机的系统,包括:
一个包括片段的内容对象;
在第一地址处的第一内容高速缓存器,其中,第一内容高速缓存器包含该片段的第一拷贝;
在第二地址处的第二内容高速缓存器,其中,第二内容高速缓存器包含该片段的第二拷贝;和
一种将该片段、第一拷贝和第二拷贝之一映射到客户计算机的路由选择机制。
15.如权利要求14所述的用于将内容分配给客户计算机的系统,还包括:一个发自客户计算机的首选表,其中,首选表包括第一地址和第二地址至少之一。
16.如权利要求15所述的用于将内容分配给客户计算机的系统,其中,目录受首选表的影响。
17.如权利要求14所述的用于将内容分配给客户计算机的系统,还包括:一个包含该内容对象的服务器。
18.如权利要求17所述的用于将内容分配给客户计算机的系统,其中,服务器定期地将服务器中的内容对象的编目传送给目录。
19.如权利要求16所述的用于将内容分配给客户计算机的系统,其中:
内容对象包括第一片段和第二片段;
第一片段存储在第一内容高速缓存器中而不在第二内容高速缓存器中;和
第二片段存储在第二内容高速缓存器中而不在第一内容高速缓存器中。
20.如权利要求14所述的用于将内容分配给客户计算机的系统,其中,路由选择机制包括目录。
CN01813213A 2000-06-01 2001-06-01 基于qos的内容分配网络 Pending CN1454426A (zh)

Applications Claiming Priority (4)

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

Publications (1)

Publication Number Publication Date
CN1454426A true CN1454426A (zh) 2003-11-05

Family

ID=26903736

Family Applications (1)

Application Number Title Priority Date Filing Date
CN01813213A Pending CN1454426A (zh) 2000-06-01 2001-06-01 基于qos的内容分配网络

Country Status (10)

Country Link
US (1) US20010051980A1 (zh)
EP (1) EP1287659A2 (zh)
JP (1) JP2003535396A (zh)
KR (2) KR20030026932A (zh)
CN (1) CN1454426A (zh)
AR (2) AR029110A1 (zh)
AU (1) AU2001266652A1 (zh)
CA (1) CA2410850A1 (zh)
TW (1) TW510106B (zh)
WO (1) WO2001093532A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008106890A1 (fr) * 2007-03-05 2008-09-12 Huawei Technologies Co., Ltd. Procédé, système et appareil d'utilisation d'un tampon multimédia

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7216043B2 (en) * 1997-02-12 2007-05-08 Power Measurement Ltd. Push communications architecture for intelligent electronic devices
US7305469B2 (en) 2001-12-18 2007-12-04 Ebay Inc. Prioritization of third party access to an online commerce site
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US7240361B2 (en) * 2003-01-31 2007-07-03 Qwest Communications International Inc. Systems and methods for controlled transmittance in a telecommunication system
US7921443B2 (en) 2003-01-31 2011-04-05 Qwest Communications International, Inc. Systems and methods for providing video and data services to a customer premises
US7376386B2 (en) * 2003-06-02 2008-05-20 Qwest Communications International Inc Systems and methods for distributing content objects in a telecommunication system
DE10320711A1 (de) * 2003-05-08 2004-12-16 Siemens Ag Verfahren und Anordnung zur Einrichtung und Aktualisierung einer Benutzeroberfläche zum Zugriff auf Informationsseiten in einem Datennetz
US7464385B1 (en) * 2003-05-09 2008-12-09 Vignette Corporation Method and system for performing bulk operations on transactional items
US7941453B1 (en) 2003-05-09 2011-05-10 Vignette Software Llc Method and system for deployment of content using proxy objects
CA2429761A1 (en) * 2003-05-23 2004-11-23 Ibm Canada Limited - Ibm Canada Limitee Targeted web page redirection
CN100461712C (zh) * 2003-07-24 2009-02-11 华为技术有限公司 一种网络信令测试的方法
US8112449B2 (en) 2003-08-01 2012-02-07 Qwest Communications International Inc. Systems and methods for implementing a content object access point
KR100860734B1 (ko) * 2003-09-12 2008-09-29 닛본 덴끼 가부시끼가이샤 미디어 스트림 멀티캐스트 배포 방법 및 장치
US7703082B2 (en) * 2004-12-07 2010-04-20 International Business Machines Corporation Controlling user intervention in a multi-processing computer system
KR100758281B1 (ko) * 2004-12-20 2007-09-12 한국전자통신연구원 다중 서비스 타입 관리 기능을 가지는 컨텐츠 분배 관리시스템 및 그 방법
US20090125958A1 (en) 2005-11-23 2009-05-14 Pak Siripunkaw Method of upgrading a platform in a subscriber gateway device
KR100829074B1 (ko) * 2006-04-06 2008-05-16 경희대학교 산학협력단 Promethee 알고리즘에 기초한 웹 서비스 제공자의선택 방법
US8216221B2 (en) 2007-05-21 2012-07-10 Estech, Inc. Cardiac ablation systems and methods
US8108911B2 (en) 2007-11-01 2012-01-31 Comcast Cable Holdings, Llc Method and system for directing user between captive and open domains
US8745507B2 (en) * 2007-11-30 2014-06-03 At&T Intellectual Property I, L.P. Preloader employing enhanced messages
US9313108B2 (en) * 2007-12-14 2016-04-12 Ericsson Ab Flexible and scalable method and apparatus for dynamic subscriber services configuration and management
CA2720353C (en) 2008-04-04 2016-01-19 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)
AU2010202034B1 (en) 2010-04-07 2010-12-23 Limelight Networks, Inc. Partial object distribution in content delivery network
US20110078017A1 (en) * 2009-09-29 2011-03-31 Selina Lam Systems and methods for rating an originator of an online publication
US8769614B1 (en) * 2009-12-29 2014-07-01 Akamai Technologies, Inc. Security framework for HTTP streaming architecture
CN103109511A (zh) * 2010-04-07 2013-05-15 杰出网络公司 内容分发网络中的部分对象分配
US9723073B2 (en) 2010-08-22 2017-08-01 Qwilt, Inc. System for detection of content servers and caching popular content therein
US10097863B2 (en) * 2010-08-22 2018-10-09 Qwilt, Inc. System and method for live service content handling with content storing servers caching popular content therein
US10097428B2 (en) * 2010-08-22 2018-10-09 Qwilt, Inc. System and method for caching popular content respective of a content strong server in an asymmetrical routing topology
US11032583B2 (en) 2010-08-22 2021-06-08 QWLT, Inc. Method and system for improving high availability for live content
US10127335B2 (en) 2010-08-22 2018-11-13 Qwilt, Inc System and method of performing analytics with respect to content storing servers caching popular content
US8943065B2 (en) * 2012-05-23 2015-01-27 Oracle International Corporation Catalog performance and integrity analysis
US9934482B2 (en) 2013-05-24 2018-04-03 Sap Se Content maintenance optimization
US10116752B2 (en) * 2013-09-17 2018-10-30 Karos Health Incorporated System and method for bridging divergent information networks
US9906618B2 (en) * 2013-12-06 2018-02-27 Fastly Inc. Return path selection for content delivery
US11038922B2 (en) 2013-12-06 2021-06-15 Fastly, Inc. Secure traffic optimization in an edge network
US10154110B2 (en) 2014-04-22 2018-12-11 Qwilt, Inc. System and methods thereof for delivery of popular content using a multimedia broadcast multicast service
EP3010195A1 (en) * 2014-10-14 2016-04-20 Alcatel Lucent Adapting a network for transmitting data between end devices
CN104320487B (zh) * 2014-11-11 2018-03-20 网宿科技股份有限公司 内容分发网络的http调度系统和方法
US10796022B2 (en) 2018-05-16 2020-10-06 Ebay Inc. Weighted source data secured on blockchains
CN108804351B (zh) * 2018-05-30 2021-10-29 郑州云海信息技术有限公司 一种缓存置换方法以及装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03192884A (ja) * 1989-12-21 1991-08-22 Matsushita Electric Ind Co Ltd 文字図形情報表示装置
US6003030A (en) * 1995-06-07 1999-12-14 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
US6181867B1 (en) * 1995-06-07 2001-01-30 Intervu, Inc. Video storage and retrieval system
US6029175A (en) * 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
US5991306A (en) * 1996-08-26 1999-11-23 Microsoft Corporation Pull based, intelligent caching system and method for delivering data over a network
SE507138C2 (sv) * 1996-10-14 1998-04-06 Mirror Image Internet Ab Förfarande och anordning för informationsöverföring på Internet
US6101180A (en) * 1996-11-12 2000-08-08 Starguide Digital Networks, Inc. High bandwidth broadcast system having localized multicast access to broadcast content
US6714976B1 (en) * 1997-03-20 2004-03-30 Concord Communications, Inc. Systems and methods for monitoring distributed applications using diagnostic information
US6038599A (en) * 1997-04-23 2000-03-14 Mpath Interactive, Inc. Latency server and matchmaker
KR100198476B1 (ko) * 1997-04-23 1999-06-15 윤종용 노이즈에 견고한 스펙트럼 포락선 양자화기 및 양자화 방법
US5978381A (en) * 1997-06-06 1999-11-02 Webtv Networks, Inc. Transmitting high bandwidth network content on a low bandwidth communications channel during off peak hours
US6112239A (en) * 1997-06-18 2000-08-29 Intervu, Inc System and method for server-side optimization of data delivery on a distributed computer network
US6442598B1 (en) * 1997-10-27 2002-08-27 Microsoft Corporation System and method for delivering web content over a broadcast medium
US6591288B1 (en) * 1998-05-19 2003-07-08 Nortel Networks Limited Data network accelerated access system
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
JP2000057072A (ja) * 1998-08-04 2000-02-25 Mitsubishi Electric Corp データ転送方式
US6553417B1 (en) * 1998-08-05 2003-04-22 International Business Machines Corporation Internet data access acknowledgment applet and method
US6775828B2 (en) * 1999-07-19 2004-08-10 Microsoft Corporation Delayed uploading of user registration data
US6341304B1 (en) * 1999-09-23 2002-01-22 International Business Machines Corporation Data acquisition and distribution processing system
US6622168B1 (en) * 2000-04-10 2003-09-16 Chutney Technologies, Inc. Dynamic page generation acceleration using component-level caching

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008106890A1 (fr) * 2007-03-05 2008-09-12 Huawei Technologies Co., Ltd. Procédé, système et appareil d'utilisation d'un tampon multimédia
CN101262413B (zh) * 2007-03-05 2011-01-05 华为技术有限公司 实现媒体缓存的方法、系统和装置

Also Published As

Publication number Publication date
JP2003535396A (ja) 2003-11-25
AR029109A1 (es) 2003-06-04
KR20030026932A (ko) 2003-04-03
KR20040008258A (ko) 2004-01-28
CA2410850A1 (en) 2001-12-06
WO2001093532B1 (en) 2003-03-20
WO2001093532A2 (en) 2001-12-06
TW510106B (en) 2002-11-11
AU2001266652A1 (en) 2001-12-11
AR029110A1 (es) 2003-06-04
WO2001093532A3 (en) 2002-06-06
EP1287659A2 (en) 2003-03-05
US20010051980A1 (en) 2001-12-13

Similar Documents

Publication Publication Date Title
CN1454426A (zh) 基于qos的内容分配网络
CN1444813A (zh) 选择性路由选择
CN1444817A (zh) 查看者对象代理
CN1444745A (zh) 内容交换机装置
CN1444746A (zh) 反向内容采集器
CN1451129A (zh) 自行公布的网络目录
CN1444816A (zh) 用于网络寻址的系统
CN1529860A (zh) 内容跟踪
CN1109298C (zh) 分布式计算机网络上服务器端优化数据传送的系统和方法
CN1745375A (zh) 内容管理系统及过程
JPH11503551A (ja) サーバ・コンピュータのプロセッサ全体にわたる負荷平衡化
AU2011203246B2 (en) Content processing between locations workflow in content delivery networks
CN1457585A (zh) 客户端整体健康状况检查
CN1443328A (zh) 内容对象的活动目录
CN1444747A (zh) 内容管理器
CN1451220A (zh) 在内容交换机中预装内容对象
CN1444818A (zh) 客户端地址路由选择分析
US20160173643A1 (en) Request Processing in A Content Delivery Framework
CN1446426A (zh) 客户端确定性的路由选择和透明的重新定向
US20210304259A1 (en) Methods and systems for delivery of customized content via voice recognition

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