CN1444816A - 用于网络寻址的系统 - Google Patents

用于网络寻址的系统 Download PDF

Info

Publication number
CN1444816A
CN1444816A CN01813317A CN01813317A CN1444816A CN 1444816 A CN1444816 A CN 1444816A CN 01813317 A CN01813317 A CN 01813317A CN 01813317 A CN01813317 A CN 01813317A CN 1444816 A CN1444816 A CN 1444816A
Authority
CN
China
Prior art keywords
content
address
equipment
port
data
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
CN01813317A
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 CN1444816A publication Critical patent/CN1444816A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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
    • 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
    • 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/30Managing network names, e.g. use of aliases or nicknames
    • 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/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/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/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/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/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/30Types of network names
    • H04L2101/33Types of network names containing protocol addresses or telephone numbers
    • 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/659Internet protocol version 6 [IPv6] addresses
    • 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
    • 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/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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Preparation Of Compounds By Using Micro-Organisms (AREA)

Abstract

一种涉及将内容对象分配给客户计算机的系统。一种系统包括服务器、第一内容高速缓存器、第二内容高速缓存器和首选表。第一服务器在第一地址,而第二服务器在第二地址。服务器包括要被拷贝到第一和第二内容高速缓存器中的内容对象。发自客户计算机的优先权表至少包括第一和第二地址之一。一种多地址系统提供了要与对象的第一位置相结合的元数据。可以将一个端口标识符加到地址中,使得可以查到所需端口。这种端口标识符使得在查询时可以寻找到预定端口。

Description

用于网络寻址的系统
本申请享有2000年6月1日所申请的美国临时申请号60/209,007和2000年9月18日所申请的美国专利申请号09/664,179的优先权。
技术领域
本发明一般涉及用于提供因特网上所用的地址的系统。本发明尤其涉及用于构成地址信息以便提供所关心对象的多个源的方法。
背景技术
对诸如web页、所下载的文档和所流动的电影文件等对象进行寻址的传统方式采用了静态格式或在其中地址格式只指示对象的单个位置的协议。因此,查找对象的位置取决于对象仍在静态格式所指定的地址上。然而,通常,尤其在因特网的情况下,对象只在特定地址驻留一段时间。这段时间过后,该对象可能从该特定地址消除。因此,试图在该地址处查找对象的人常常接收到一则指示该地址不再可访问或者该对象不能使用的差错消息。
此外,这种地址指示对象的单个位置。然而,对象的信息或内容可以驻留在多个地方,尤其在因特网上,对象(例如电影文件)可以驻留在多个服务器中。因此,由于用于对对象进行寻址的静态格式只允许对位于这些多个位置之一处的对象进行寻址,因此,当对象从所寻址的地方消除时,用户不再能利用所给地址来访问该对象。
发明内容
在本发明的一种实施方式中,将利用含有协议标识符的地址以及端口标识符。该地址和端口标识符一起用来形成单个地址串。
在本发明的另一种实施方式中,提供了一种数据结构。这种数据结构提供了协议标识符字段、IP标识符字段、服务器标识符字段、服务器端口字段和文件标识字段。
在本发明的还有一种实施方式中,请求者提供一种作为地址的一部分的端口标识符,将该地址发送到一个中间设备,中间设备将端口标识符发送到数据提供商设备,然后数据提供商设备利用端口标识符对请求者寻址。
附图说明
图1是内容分配系统的一种实施方式的框图;
图2是内容分配系统的活动目录部分的一种实施方式的框图;
图3A是内容分配系统的源服务器部分的一种实施方式的框图;
图3B是内容分配系统的外部源服务器部分的一种实施方式的框图;
图4A是内容分配系统的内容交换机部分的一种实施方式的框图;
图4B是内容分配系统的内容交换机部分的另一种实施方式的框图;
图4C是含有多个内容交换机服务器的内容交换机站点的一种实施方式的框图;
图5是内容分配系统的客户计算机部分的一种实施方式的框图;
图6是内容分配系统的一种实施方式的框图;
图7A是用于为用户分配内容的过程的一种实施方式的流程图的第一部分;
图7B是图7A的流程图的第二部分;
图8是说明实现本发明的一种实施方式的方法的流程图。
图9是说明实现本发明的另一种实施方式的方法的流程图。
图10是说明一种实现本发明的实施方式的格式的方法的流程图。
图11是说明实现本发明的一种实施方式的方法的流程图。
图12a和12b是说明实现本发明的一种实施方式的方法的流程图。
图13是说明将第一地址与第二地址相结合以形成第三地址的图解。
图14示出了一种在请求者与提供商之间利用相同数据通路来请求数据和提供数据的系统。
图15示出了本发明的提供一些端口标识符的一种实施方式,这些端口标识符使得在请求和发送数据时可以使用交替的数据通路。
图16示出了本发明的提供一种包括元数据的数据结构的一种实施方式。
图17示出了图16中所示的数据结构的一个例子。
图18示出了实现本发明的一种实施方式的方法。
图19a和19b示出实现本发明的一种实施方式的方法。
具体实施方式
本发明提供了一种用于实现寻址方案的系统,该方案提供了一种对网络上的对象进行寻址的动态方法。在一种实施方式中,本方法提供了第一地址,该地址与关于对象的元数据相结合以便形成也能对同一对象进行寻址的第三地址。本发明适合于在多种设置中实现。一种这样的设置是在因特网上的视频内容的传送。因此,为了为一种设置提供本发明的实现方式,首先将描述一种能使用本发明的各种实施方式的系统。然后,详述该寻址系统。
参照图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,图中示出了实现本发明的一种实施方式的一种方法。在方法800中,在810中为对象提供第一地址。除了提供第一地址之外,在812中还提供了描述该对象的特性的元数据。元数据用来表示除对象的第一地址外的信息,该信息描述了利用第一地址所寻址的对象的特性。因此,元数据可以表示利用第一地址所寻址的对象的另一备选位置或地址。此外,这种另一备选地址可以是原地址或发出对象的源。此外,元数据还可以表示描述关于所寻址的对象的其他特性的信息。此外,这种元数据未必局限于单种特性,而可以包括多种不同的特性。在814中,将元数据的至少一部分附加到原地址的至少一部分中。因此,在816中,可以利用标识对象的元数据。此外,在820中,如上所述,该元数据可以指示对象的源。
在图9中,示出了本发明的另一种实施方式。在方法900中,在904中接收对象的地址。在908中,重新构成地址,以便形成可以标识对象的新地址。在重新构成地址时,利用原地址的至少一部分并且还利用关于对象的元数据来形成重新构成的地址。元数据可以指示对象的源。此外,元数据还可以指示对象的信息内容的另一备选源。此外,元数据还可以包括关于对象的另一备选信息。
在图8和9中,可以以各种方式来实现新地址的格式化。图10说明了如何构成这种新地址的一个例子。在图10中,方法1000说明了这种格式。在1004中,提供协议标识符作为新地址的一部分。在上述实施方式中,协议可以采取实时流式传送协议(RTSP)的形式(一种用于以分组形式通过IP流出实时多媒体的标准)。普通技术人员还可以理解其他备选协议,比如超文本传送协议(HTTP)(用于传送通过因特网传送超文本文档的传送协议)。此外,还可以实现其他备选协议,可以是现有的协议或是将来出现的协议。在1008中,还可以提供域名作为新地址的一部分。例如,这种域名可以是目前作为因特网上目前所实现的一般顶级域名(TLD)的那些域名之一。此外,在1012中,还可以为对象提供目录名作为新地址的一部分。目录名可以是服务于上述域名的服务器中的目录。此外,在1016中,还可以提供对象的文件名作为新地址的一部分。最后,元数据信息可以与地址的前述单元一起结合成单个地址。因此,通过将地址的各种单元排成预定的格式,当地址被实现成标准的统一资源定位器(URL)地址时,就可以不考虑元数据;而当新地址被实现成一个动态地址时要利用元数据。
在图11中,方法1100说明了本发明的又一种实施方式。在图11中,在1104中,提供表示对象曾经所在的第一地址。因此,对象可以仍在该第一地址,或者,对象可以不再驻留在该地址。在因特网中经常出现这样的情况,因为,在漫长的一段时间后,当大多数用户不再对该对象感兴趣时,将从服务器中消除该对象。因此,用户常常接收到指示查不到对象或者查不到所寻址的对象的差错消息。在1108中,提供表示对象的副本的至少一个片段所在的第二地址。因此,该第二地址可以指示发起该内容的源。此外,该第二地址还可以指示对象或对象信息的片段所存储在的另一备选位置。在1112中,将来自第一地址的信息与来自第二地址的信息相结合来形成第三地址。将第三地址格式化,使得它不仅可以指示对象曾经所在的第一地址而且可以指示对象的副本的至少一个片段所在的第二地址。第三地址可以用来尝试从第一地址中检索对象。此外,第三地址还可以用来尝试从第二地址中检索对象信息。因此,若有了已从该第一地址消除了对象的事实,则当尝试从第一地址中检索对象时会失败。然后,利用第三地址进行第二尝试,以便转到第二地址所指示的位置来尝试查找对象。可能出现这样的情况,对象信息分布在一个以上位置,在这种情况下,对象或仅对象信息的一个片段可以从第二地址中检索。
在图12A和12B中,方法1200示出了一种说明本发明的另一种实施方式的流程图。在方法1200中,在1204中,接收表示对象的传说位置的第一地址。接收表示对象的副本位置的第二地址,该对象由此发出。通过查阅对象的副本或拷贝,想使对象和副本含有相同的信息。有可能对象实际上是副本的拷贝。因此,副本可以是对象的源。此外,普通技术人员可以理解,对象可以是一个单元的信息或是一组媒体数据,比如电影。
在1212中,将来自第一地址的信息与来自第二地址的信息相结合以便形成第三地址。在1216中,形成第三地址,使得第三地址既可标识第一地址又可标识第二地址。在1220中,可以按统一资源定位器(URL)格式将第三地址的一部分格式化。当第三地址被格式化后,在1224中,可以接收来自请求设备(比如通过因特网请求电影的用户)的对象请求。在1228中,利用第三地址,可以尝试访问第一地址处的对象。于是,用户可以将第三地址发送到一个服务器,该服务器知道第三地址的格式是一种标识了所需对象的一个以上可能地址的格式。于是,服务器进行第一尝试,以便从嵌入在第三地址中的第一地址中检索对象。如果这一尝试失败,那么,在1232中,服务器利用嵌入在第三地址中的第二地址可以动态地尝试访问第二地址处的对象的副本。因此,第三地址中所嵌套的第二地址作为所需对象的后备源。此外,如果整个对象没有存储在第二地址中,那么,第二地址可以用来提供对象的片段或者提供通向对象信息的另一备选源的链接。一旦定位到对象,例如在第二地址处,在1236中,就可以获得第二地址处的对象的副本信息。然后,在1240中,通过服务器将信息返回给请求该对象的用户。此外,在1244中,对象的副本被传送给原地址(即第一地址),并在将来被拷贝到这一位置,以便更有效地传送。
图13是说明将第一地址与第二地址相结合以形成动态第三地址的一个例子。在图13中,第一地址表示为RTSP://server1.aerocast.com/foo.mov。这是静态寻址方案中的标准URL格式。同样,第二地址表示为1308中所示的这种格式RTSP://server2.aerocast.com/foo.mov。第一和第二地址都是静态的,因为,它只能为用户标识出文件“foo.mov”的单个位置。在这种格式中,没有提供另一备选位置也没有提供描述foo.mov文件的特性的元数据。然而,第三地址指示了一种动态格式,在该格式中指示了两个位置。于是,如1312块所示,第一和第二地址被结合成第三地址RTSP://server1.server2.aerocast.com/foo.mov。因此,接收多地址系统中的这种地址的服务器可以知道server 1是在域aerocast.com中可被访问的第一服务器,以便尝试访问文件foo.mov。然而,如果这种尝试失败,那么,foo.mov文件的另一备选源将在aeroeast.com域的server 2中。因此,foo.mov文件的另一备选位置由元数据“server 2”来提供。
图1至图7a和7b中所示的系统可以利用这种多地址系统。例如,在图2中,示为动态DNS 204的块可用来提供动态功能,用于对系统的其他单元所需的各种媒体标题进行寻址。如图6中所示,动态域名系统(DNS)可以得到电影源,并将该电影源与被认为是电影的当前地址的一个地址相结合,然后将这两个地址合成为单个的第三地址。因此,当用户需要某部电影时,进行第一尝试,以便从嵌入在动态第三地址中的第一地址中得到该电影。如果尝试失败,那么,第三地址将指示应当按所嵌入的第二地址所表示的那样访问电影的原始源。因此,动态DNS可以作为兼有文件的当前位置(或被认为是当前位置的一个地址)和文件的原始源的一个数据库。
再者,这种多地址系统只需忽略嵌入了第二地址的字段就可以用于标准的静态寻址系统。因此,通过按标准的URL格式将地址格式化,并使第二地址处在会被URL格式所忽略的位置,那么,本质上可以使第二地址对URL寻址系统透明。
     端口寻址
作为地址中可含的元数据的另一个例子,也可以在地址串中包括端口标识符。端口可以标识处理基于给定协议的消息的应用程序。例如,当采用超文本传送协议(HTTP)时,它与“端口80”相关联。因此,默认情况下,当请求设备发送以“http://”开头的地址时,接收设备将该地址信息传送到与其端口80相关的应用(即处理HTTP的应用)中。同样,当接收设备响应请求设备时,它根据http协议将其响应格式化。图14示出了这种系统的一个例子。
在图14中,请求者1410向中间设备1450发送一个地址。然后,这种中间设备(比如高速缓存服务器或路由器)确定它需要向另一个能提供必要数据的设备(例如提供商1490)请求所需信息。本例中,请求者1410在对中间设备1450进行寻址时采用了HTTP协议,而中间设备1450在对提供商1490进行寻址时采用了RTSP协议。根据来自中间设备1450的对必要数据的请求,提供商1490以其被寻址时的相同协议来响应。因此,在本例中,提供商1490根据RTSP协议来响应。因此,中间设备识别地址中的RTSP标题,并将它发送到应用程序所指定的端口3080中。然后,中间设备以HTTP协议将这一信息发送到请求者1410,因为该协议是请求者1410当初在对中间设备1450进行寻址时所用的协议。因此,只要使用相同的设备链,这种系统在发送数据时能够保持正确的协议。然而,在将所请求的数据返回到请求者时,如果使用了不同的数据通路,那么就会出现问题。也就是说,如果提供商1490试图通过网络直接响应请求者1410,那么,提供商1490会根据默认以RTSP格式将响应格式化。因此,这种响应将被引向请求者的端口3080。然而,请求者1410希望在与HTTP协议相关的端口80上接收数据。因此,当尝试直接连接时,所请求的数据不可能很好地与请求设备进行通信。
在图15中,图中示出了本发明的一种实施方式,它允许使用不同的数据通路。在图15中,请求者1510对中间设备1550进行寻址。作为地址串的一部分,请求者采用了第一协议(在图15中用“协议ID#1”表示)。此外,请求者使端口标识符(用“端口ID#1”表示)包含在图15中的地址串中。例如,请求者可以采用HTTP作为协议标识符和用端口80作为端口标识符。然后,中间设备对请求进行处理并向提供商设备1590发送一个地址。在发送这一地址时,中间设备将格式变成图15中的地址串中的第二协议(用协议ID#2表示)。然而,中间设备使端口标识符#1成为地址串的一部分。因此,例如,中间设备1550在地址串中可以采用RTSP作为第二协议和用端口80作为元数据。因此,提供商知道用于将其响应直接寻址到请求者1510的协议。这用从提供商1590到请求者1510的连线来表示。本例中,这种地址可以采用HTTP,这是因为,HTTP是被发送到提供商设备1590的与端口80相关的协议。因此,图15说明了一种能够作为地址串的一部分发送端口信息的系统。同样,它说明了一种从返回数据通路中撇开中间设备的方法。
图16示出了本发明的提供一种元数据地址的数据结构的一种实施方式。在图16中,示出了地址串1600。该地址串包括协议标识符字段1610、网络设备标识符字段1620、元数据字段1630和文件名字段1640。在图17中,示出了用于TCP/IP格式的地址的一个例子。图17中所示的地址表示一种采用HTTP作为协议的地址。网络设备标识符用网际协议(IP)地址“204.162.80.181”表示。本例中的元数据字段用“PCN_000.80”表示。“PCN_000”可以代表标题信息和备用服务器标识符。“80”是一例端口标识符。“FOO.DAT”是从IP地址“204.162.80.181”中请求的文件名的一个例子。因此,图17中所示的例子表示一种提供了由服务器ID和端口ID构成的元数据的地址。如上所述,可以只选择包括服务器ID作为元数据的一部分。同样,可以只含端口ID作为元数据的一部分。
图18示出了实现本发明的一种实施方式的方法1800。在图18的块1810中,提供一种含有协议标识符的地址。在块1820中,还提供一个端口标识符。在块1830中,使端口标识符和该地址串成为同一地址串的一部分。
在图19a和19b中,在流程图1900中示出本发明的另一种实施方式。在块1910中,提供一个服务器。在块1914中,提供一个协议标识符,比如HTTP、RTSP、FTP、SMTP或Telnet。协议标识符可以被认为是标识与对象一起使用的协议的地址的一部分,比如,HTTP、RTSP、NNTP、FTP、SHOUT、RTP、ACTP和SHTP。尽管这些都是一些现有协议的例子,然而,将来还有可能开发出其他协议。在块1918中所示,还提供网络设备标识符,以标识诸如所寻址的服务器的设备。网络地址标识符是一个标识所寻址的网络中的设备的地址。这种地址可以呈数字形式或文字形式。例如,基于网际协议(IP),比如IP版本4(IPv4),该地址可以采取4个用句点分隔的数字的形式,比如“128.46.73.208”。此外,通过使用查阅表,可以将这种地址变换成文字形式,使输入地址的人便于记忆,比如“www.aerocast.com”。这种寻址系统仅仅只是选择的问题。然而,为了便于描述本发明的这种实施方式,将采用IPv4系统。不过,应当理解,这一实施方式并不局限于该特定版本。作为另一个例子,这种网络设备标识符可以是网际协议地址,比如“204.162.80.181”,或者是因特网的域名系统中的一个等同名称,比如“AEROCAST.COM”。
在块1922中,提供服务器标识符。这种服务器标识符可用来标识提供数据的后备源或原请求设备的身分的服务器。块1926中,提供端口标识符。如上所述,这种端口标识符可以标识应将数据发送到设备的那个端口。端口标识符的例子是来自“众所周知的”端口标识符表中的那些标识符,比如,用于HTTP的“80”,用于Telnet的“23”,用于SMTP(电子邮件)的“25”,和用于FTP的“21”。在块1930中,提供文件标识符。
在块1934中,将协议标识符、网络设备标识符、服务器标识符、端口标识符和文件标识符结合在一起。此外,如块1938中所示,可将这些字段组成一个地址,使得端口标识符与其他元数据(服务器标识符)排列在一起。
在块1942中,将该地址从服务器发送到中间设备。在块1946中,在中间设备处接收请求。在块1950中,将该请求从中间设备发送到数据内容提供商。这些传输中的任一个都可以涉及与其他中间设备的多个链接。在块1954中,在内容提供商处接收对数据的请求,在此可以得到数据,如块1958中所示。最后,在块1962中,可利用端口标识符将数据或其他消息发送到根据端口标识符字段的服务器的端口。
尽管本发明的各种实施方式被描述成一些实现本发明的方法或装置,然而,应当理解,本发明还可以通过与计算机相结合的代码(比如驻留在计算机中的或计算机可访问的代码)来实现。例如,可以用软件和数据库来实现上述许多方法。因此,除了用硬件来实现本发明的实施方式之外,还应注意,可以通过使用一种含有计算机可用媒体(其中包含有计算机可读程序码)的产品来实现这些实施方式,这种产品使得可以实现以上描述中所揭示的功能。因此,还要求在计算机程序码的方式中也要考虑上述实施方式受本专利的保护。
还应注意,本发明的实施方式可以被实现成载波中所含的计算机信号以及通过传输媒体所传播的电信号。因此,上述各种信息可以按某种结构(比如数据结构)被格式化,并作为电信号通过传输媒体被传送。
还应注意,这里所述的许多结构和动作可以分别描述成实现功能的装置或实现功能的步骤。因此,应当理解,这种语言可以涵盖说明书中所述的所有这些结构或动作及其同等物(包括作为参考的内容)。
应当明白,从说明书中可以理解本发明的实施方式的装置和方法以及许多附加优点,并且,显然在不背离本发明的思想和范围的前提下或在牺牲其所有具体优点的情况下,可以对其各部分的形式、结构和安排作出各种改变,这里的上述形式仅仅只是其举例的实施方式。

Claims (26)

1.一种提供地址的方法,所述方法包括:
提供一个与网络连接的请求设备;
提供一个地址,所述地址包括协议标识符;
提供一个端口标识符,所述端口标识符可操作地标识所述请求设备上的端口;
使所述端口标识符成为所述地址的一部分;
将所述地址从所述请求设备发送到所述网络上;
在中间设备处接收所述地址;和
对数据提供商设备进行寻址,同时使所述端口标识符成为地址串的一部分。
2.如权利要求1所述的方法,还包括:
将消息从所述数据提供商发送到所述端口标识符所标识的所述请求设备的端口。
3.一种提供地址的方法,包括:
提供一个协议标识符;
提供一个IP标识符;
提供一个请求设备标识符;和
提供一个请求设备端口标识符;
4.如权利要求3所述的方法,还包括:
将所述协议标识符与所述IP标识符、所述请求设备标识符和所述请求设备端口标识符相结合。
5.如权利要求3所述的方法,还包括:
提供一个文件标识符。
6.如权利要求5所述的方法,还包括:
将所述协议标识符与所述IP标识符、所述请求设备标识符、所述请求设备端口标识符和所述文件标识符相结合。
7.如权利要求6所述的方法,还包括:
组织所述地址结构,使得所述端口标识符与所述请求设备标识符相邻。
8.一种用于网络上的设备的数据结构,所述数据结构包括:
一个协议标识符字段;
一个用于对中间设备进行寻址的网际协议标识符字段;
一个请求设备标识符字段;和
一个请求设备端口标识符字段。
9.如权利要求8所述的数据结构,其中,所述网际协议标识符字段位于所述协议标识符字段与所述请求设备标识符字段之间。
10.如权利要求8所述的数据结构,其中,所述请求设备标识符字段位于所述协议标识符字段与所述网际协议标识符字段之间。
11.如权利要求8所述的数据结构,其中,所述请求设备端口标识符字段与所述请求设备标识符字段相邻。
12.如权利要求8所述的数据结构,还包括:一个文件标识符字段,用于标识存储在数据提供商设备上的文件。
13.一种计算机数据信号,包括:
一个协议标识符段;
一个用于对中间设备进行寻址的网际协议标识符段;
一个请求设备标识符段;和
一个请求设备端口标识符段。
14.如权利要求13所述的计算机数据信号,还包括:
一个文件标识符段,用于标识存储在数据提供商设备上的文件。
15.如权利要求13所述的计算机数据信号,其中,所述请求设备端口标识符段用来指定从中发出对数据的请求的请求设备上的端口。
16.一种用于网络中的设备,所述设备包括:
一台计算机,用来提供对所述网络上的设备进行寻址的地址;
所述计算机用来提供协议标识符字段的代码;
所述计算机用来提供对中间设备进行寻址时所用的网际协议标识符字段的代码;
所述计算机用来提供请求设备标识符字段的代码;和
所述计算机用来提供请求设备端口标识符字段的代码。
17.如权利要求16所述的设备,还包括:
所述计算机用来提供文件标识符字段的代码。
18.如权利要求17所述的设备,还包括:
所述计算机用来将所述协议标识符字段、所述网际协议标识符字段、所述请求设备标识符字段、所述请求设备端口标识符字段和所述文件标识符字段构成单个地址的代码。
19.一种请求网络上的数据的方法,所述方法包括:
提供一个请求设备;
利用第一协议将对数据的一个请求发送到中间设备,所述第一协议与第一端口相关联;
在所述中间设备处接收对数据的所述请求;
在所述中间设备处解释对数据的所述请求;
利用第二协议将对数据的第二请求从所述中间设备发送到内容提供商,所述第二协议与第二端口相关联;
在所述内容提供商处接收来自所述中间设备的对数据的所述第二请求;
得到所述数据;
将消息从所述内容提供商绕过所述中间设备发送到所述请求设备的所述第一端口。
20.如权利要求19所述的方法,其中,所述第一协议是HTTP。
21.如权利要求19所述的方法,其中,所述消息包括所述请求设备所请求的所述数据。
22.如权利要求19所述的方法,其中,所述第一端口不同于所述第二端口。
23.如权利要求19所述的方法,其中,所述将所述消息从所述内容提供商发送到所述请求设备的所述第一端口包括:根据一个与用来将对数据的请求从所述中间设备发送到所述内容提供商的所述第二协议不同的协议来发送所述消息。
24.如权利要求19所述的方法,其中,所述内容提供商从第二内容提供商中获得所述数据。
25.如权利要求19所述的方法,其中,所述将对数据的所述请求发送到所述中间设备包括:
在对所述中间设备进行寻址时,使所述第一端口成为地址串的一部分。
26.如权利要求19所述的方法,其中,所述将对数据的请求从所述中间设备发送到所述内容提供商包括:
在对所述内容提供商进行寻址时,使所述第一端口成为地址串的一部分。
CN01813317A 2000-06-01 2001-06-01 用于网络寻址的系统 Pending CN1444816A (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
US09/664,179 US6836806B1 (en) 2000-06-01 2000-09-18 System for network addressing
US09/664,179 2000-09-18

Publications (1)

Publication Number Publication Date
CN1444816A true CN1444816A (zh) 2003-09-24

Family

ID=26903732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN01813317A Pending CN1444816A (zh) 2000-06-01 2001-06-01 用于网络寻址的系统

Country Status (9)

Country Link
US (1) US6836806B1 (zh)
EP (1) EP1287663A2 (zh)
JP (1) JP2004511116A (zh)
KR (1) KR20030051429A (zh)
CN (1) CN1444816A (zh)
AR (1) AR028660A1 (zh)
AU (1) AU2001268168A1 (zh)
CA (1) CA2410861C (zh)
WO (1) WO2001093527A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101836461A (zh) * 2007-08-27 2010-09-15 松下电工株式会社 网络系统
CN101529398B (zh) * 2006-06-14 2011-05-11 松下电工株式会社 网络系统
US8532097B2 (en) 2006-03-02 2013-09-10 Nokia Siemens Networks Gmbh & Co. Kg Method for generating an address field, method and device for transmitting electronic message and data packet
CN104980486A (zh) * 2014-04-07 2015-10-14 帕洛阿尔托研究中心公司 使用等同匹配网络名称的集合同步
CN112783837A (zh) * 2021-01-12 2021-05-11 北京首汽智行科技有限公司 一种api文档查找方法

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8903950B2 (en) 2000-05-05 2014-12-02 Citrix Systems, Inc. Personalized content delivery using peer-to-peer precaching
US20020143946A1 (en) * 2001-03-28 2002-10-03 Daniel Crosson Software based internet protocol address selection method and system
US7000029B2 (en) * 2001-09-12 2006-02-14 Tropic Networks Inc. Method and system for automatic address allocation in a network and network protocol therefor
US7340521B1 (en) * 2002-04-02 2008-03-04 Blue Coat Systems, Inc. Method for routing a request over a network to a content source that can most advantageous serve the request
US8370420B1 (en) * 2002-07-11 2013-02-05 Citrix Systems, Inc. Web-integrated display of locally stored content objects
US7620699B1 (en) * 2002-07-26 2009-11-17 Paltalk Holdings, Inc. Method and system for managing high-bandwidth data sharing
US7853983B2 (en) * 2002-07-29 2010-12-14 Bea Systems, Inc. Communicating data from a data producer to a data receiver
US20040059735A1 (en) * 2002-09-10 2004-03-25 Gold Russell Eliot Systems and methods for enabling failover in a distributed-object computing environment
US7991827B1 (en) 2002-11-13 2011-08-02 Mcafee, Inc. Network analysis system and method utilizing collected metadata
CN101447835A (zh) * 2003-07-08 2009-06-03 中国科学技术大学 量子网络寻址方法
WO2005089241A2 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providing object triggers
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
KR20050121610A (ko) * 2004-06-22 2005-12-27 전자부품연구원 홈 네트워크 프로토콜에서 읽고 쓸 수 있는 어드레싱을위한 방법
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
KR100643285B1 (ko) * 2004-11-02 2006-11-10 삼성전자주식회사 멀티캐스트를 이용한 데이터 송수신 시스템 및 방법
US8271980B2 (en) 2004-11-08 2012-09-18 Adaptive Computing Enterprises, Inc. System and method of providing system jobs within a compute environment
US8631130B2 (en) 2005-03-16 2014-01-14 Adaptive Computing Enterprises, Inc. Reserving resources in an on-demand compute environment from a local compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
US7853703B1 (en) * 2005-03-24 2010-12-14 Google, Inc. Methods and apparatuses for identification of device presence
CA2603577A1 (en) 2005-04-07 2006-10-12 Cluster Resources, Inc. On-demand access to compute resources
US20070011100A1 (en) * 2005-06-21 2007-01-11 Phil Libin Preventing identity theft
US20090125958A1 (en) * 2005-11-23 2009-05-14 Pak Siripunkaw Method of upgrading a platform in a subscriber gateway device
US7657550B2 (en) 2005-11-28 2010-02-02 Commvault Systems, Inc. User interfaces and methods for managing data in a metabase
US8930496B2 (en) * 2005-12-19 2015-01-06 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US20200257596A1 (en) 2005-12-19 2020-08-13 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
KR100801004B1 (ko) * 2006-08-25 2008-02-05 삼성전자주식회사 임베디드 aⅴ 컨텐츠의 프로토콜 매칭 장치 및 방법
US9729829B2 (en) 2006-12-05 2017-08-08 Crackle, Inc. Video sharing platform providing for posting content to other websites
US8677091B2 (en) 2006-12-18 2014-03-18 Commvault Systems, Inc. Writing data and storage system specific metadata to network attached storage device
US8701010B2 (en) 2007-03-12 2014-04-15 Citrix Systems, Inc. Systems and methods of using the refresh button to determine freshness policy
US8037126B2 (en) 2007-03-12 2011-10-11 Citrix Systems, Inc. Systems and methods of dynamically checking freshness of cached objects based on link status
US7809818B2 (en) 2007-03-12 2010-10-05 Citrix Systems, Inc. Systems and method of using HTTP head command for prefetching
US7584294B2 (en) 2007-03-12 2009-09-01 Citrix Systems, Inc. Systems and methods for prefetching objects for caching using QOS
US8103783B2 (en) 2007-03-12 2012-01-24 Citrix Systems, Inc. Systems and methods of providing security and reliability to proxy caches
US8504775B2 (en) 2007-03-12 2013-08-06 Citrix Systems, Inc Systems and methods of prefreshening cached objects based on user's current web page
US7783757B2 (en) 2007-03-12 2010-08-24 Citrix Systems, Inc. Systems and methods of revalidating cached objects in parallel with request for object
US8074028B2 (en) 2007-03-12 2011-12-06 Citrix Systems, Inc. Systems and methods of providing a multi-tier cache
US7720936B2 (en) 2007-03-12 2010-05-18 Citrix Systems, Inc. Systems and methods of freshening and prefreshening a DNS cache
US8628522B2 (en) 2007-05-21 2014-01-14 Estech, Inc. (Endoscopic Technologies, Inc.) Cardiac ablation systems and methods
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8108911B2 (en) 2007-11-01 2012-01-31 Comcast Cable Holdings, Llc Method and system for directing user between captive and open domains
US7509433B1 (en) * 2008-05-19 2009-03-24 International Business Machines Corporation Selecting quick-to-download content through an alternative hypertext protocol
US9965479B2 (en) * 2008-09-18 2018-05-08 Adobe Systems Incorporated Systems and methods for relinking data items
US20100099441A1 (en) * 2008-10-17 2010-04-22 Sanjay Agarwal Mobile Device Advertising
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US8892523B2 (en) 2012-06-08 2014-11-18 Commvault Systems, Inc. Auto summarization of content
US9225806B2 (en) * 2012-06-15 2015-12-29 Citrix Systems, Inc. Systems and methods for generating IPID across a cluster network
US10235726B2 (en) * 2013-09-24 2019-03-19 GeoFrenzy, Inc. Systems and methods for secure encryption of real estate titles and permissions
US10237232B2 (en) * 2014-07-29 2019-03-19 GeoFrenzy, Inc. Geocoding with geofences
US10805761B2 (en) * 2014-07-29 2020-10-13 GeoFrenzy, Inc. Global registration system for aerial vehicles
US20220044533A1 (en) * 2014-07-29 2022-02-10 GeoFrenzy, Inc. Systems and methods for geofence security
US10582266B2 (en) * 2015-10-07 2020-03-03 Vasona Networks Inc. Rating video-download quality
US10178195B2 (en) * 2015-12-04 2019-01-08 Cloudflare, Inc. Origin server protection notification
US10724443B2 (en) * 2016-05-24 2020-07-28 General Electric Company Turbine engine and method of operating
US10540516B2 (en) 2016-10-13 2020-01-21 Commvault Systems, Inc. Data protection within an unsecured storage environment
US20190251204A1 (en) 2018-02-14 2019-08-15 Commvault Systems, Inc. Targeted search of backup data using calendar event data
US10642886B2 (en) 2018-02-14 2020-05-05 Commvault Systems, Inc. Targeted search of backup data using facial recognition

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE207679T1 (de) * 1992-04-20 2001-11-15 3Com Corp Vorrichtung zur netzmittelerweiterung auf entfernte netzwerke
US5371852A (en) * 1992-10-14 1994-12-06 International Business Machines Corporation Method and apparatus for making a cluster of computers appear as a single host on a network
US6185619B1 (en) 1996-12-09 2001-02-06 Genuity Inc. Method and apparatus for balancing the process load on network servers according to network and serve based policies
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
ATE279065T1 (de) 1995-06-07 2004-10-15 Divine Technology Ventures Zugangskontrolle und überwachungssystem für internetserver
US6097882A (en) * 1995-06-30 2000-08-01 Digital Equipment Corporation Method and apparatus of improving network performance and network availability in a client-server network by transparently replicating a network service
US6029175A (en) 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
US5995099A (en) 1996-06-10 1999-11-30 Horstmann; Jens U. Method for creating and maintaining page links
US5761436A (en) 1996-07-01 1998-06-02 Sun Microsystems, Inc. Method and apparatus for combining truncated hyperlinks to form a hyperlink aggregate
US5870557A (en) 1996-07-15 1999-02-09 At&T Corp Method for determining and reporting a level of network activity on a communications network using a routing analyzer and advisor
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US5991306A (en) 1996-08-26 1999-11-23 Microsoft Corporation Pull based, intelligent caching system and method for delivering data over a network
SE9603753L (sv) 1996-10-14 1998-04-06 Mirror Image Internet Ab Förfarande och anordning för informationsöverföring på Internet
CA2269069C (en) 1996-10-18 2001-07-24 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
US5787470A (en) 1996-10-18 1998-07-28 At&T Corp Inter-cache protocol for improved WEB performance
US6101180A (en) 1996-11-12 2000-08-08 Starguide Digital Networks, Inc. High bandwidth broadcast system having localized multicast access to broadcast content
US6023698A (en) 1996-12-05 2000-02-08 International Business Machines Corporation System and method for transparently registering and updating information over the internet
US6098096A (en) 1996-12-09 2000-08-01 Sun Microsystems, Inc. Method and apparatus for dynamic cache preloading across a network
US6052718A (en) 1997-01-07 2000-04-18 Sightpath, Inc Replica routing
SE9700622D0 (sv) 1997-02-21 1997-02-21 Ericsson Telefon Ab L M Anordning och metod vid datanät
US6345303B1 (en) 1997-03-25 2002-02-05 Intel Corporation Network proxy capable of dynamically selecting a destination device for servicing a client request
US6055570A (en) 1997-04-03 2000-04-25 Sun Microsystems, Inc. Subscribed update monitors
CA2202572C (en) * 1997-04-14 2004-02-10 Ka Lun Eddie Law A scaleable web server and method of efficiently managing multiple servers
US6038599A (en) 1997-04-23 2000-03-14 Mpath Interactive, Inc. Latency server and matchmaker
US5944780A (en) 1997-05-05 1999-08-31 At&T Corp Network with shared caching
US6167438A (en) 1997-05-22 2000-12-26 Trustees Of Boston University Method and system for distributed caching, prefetching and replication
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
WO1999003047A1 (en) 1997-07-11 1999-01-21 Earle Machardy Content hosting environment system and cache mechanism
SE510048C3 (sv) 1997-07-24 1999-05-03 Mirror Image Internet Ab Internet caching system
US6473406B1 (en) * 1997-07-31 2002-10-29 Cisco Technology, Inc. Method and apparatus for transparently proxying a connection
US6006264A (en) 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US6157950A (en) 1997-12-05 2000-12-05 Encanto Networks, Inc. Methods and apparatus for interfacing a computer or small network to a wide area network such as the internet
CN1282481A (zh) 1997-12-17 2001-01-31 英国电讯有限公司 移动数据路由选择
US6321242B1 (en) 1998-02-06 2001-11-20 Sun Microsystems, Inc. Re-linking technology for a moving web site
US6185598B1 (en) 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6029200A (en) 1998-03-09 2000-02-22 Microsoft Corporation Automatic protocol rollover in streaming multimedia data delivery system
US6311216B1 (en) 1998-05-29 2001-10-30 Microsoft Corporation Method, computer program product, and system for client-side deterministic routing and URL lookup into a distributed cache of URLS
US6108703A (en) 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
CA2342186A1 (en) 1998-08-31 2000-03-09 Adero, Inc. Method and apparatus for load management on a computer network
SE514376C2 (sv) 1998-09-24 2001-02-19 Mirror Image Internet Inc Ett internet-cachningssystem samt ett förfarande och anordning i ett sådant system
US6236999B1 (en) 1998-11-05 2001-05-22 Bea Systems, Inc. Duplicated naming service in a distributed processing system
US6286006B1 (en) 1999-05-07 2001-09-04 Alta Vista Company Method and apparatus for finding mirrored hosts by analyzing urls
WO2000073922A2 (en) 1999-06-01 2000-12-07 Cacheflow, Inc. Content delivery system
US6542964B1 (en) 1999-06-02 2003-04-01 Blue Coat Systems Cost-based optimization for content distribution using dynamic protocol selection and query resolution for cache server
US6275470B1 (en) 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
US7386614B2 (en) 2000-05-19 2008-06-10 Treetop Ventures Llc Method allowing persistent links to web-pages

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8532097B2 (en) 2006-03-02 2013-09-10 Nokia Siemens Networks Gmbh & Co. Kg Method for generating an address field, method and device for transmitting electronic message and data packet
US8953593B2 (en) 2006-03-02 2015-02-10 Nokia Solutions And Networks Gmbh & Co. Kg Method for generating an address field, method and device for transmitting electronic message and data packet
CN101529398B (zh) * 2006-06-14 2011-05-11 松下电工株式会社 网络系统
CN101836461A (zh) * 2007-08-27 2010-09-15 松下电工株式会社 网络系统
CN101836461B (zh) * 2007-08-27 2013-07-03 松下电器产业株式会社 网络系统
CN104980486A (zh) * 2014-04-07 2015-10-14 帕洛阿尔托研究中心公司 使用等同匹配网络名称的集合同步
CN104980486B (zh) * 2014-04-07 2020-08-25 思科技术公司 用于提供使用等同匹配网络名称的集合同步的方法和装置
CN112783837A (zh) * 2021-01-12 2021-05-11 北京首汽智行科技有限公司 一种api文档查找方法
CN112783837B (zh) * 2021-01-12 2024-01-30 北京首汽智行科技有限公司 一种api文档查找方法

Also Published As

Publication number Publication date
WO2001093527A3 (en) 2002-06-13
KR20030051429A (ko) 2003-06-25
AR028660A1 (es) 2003-05-21
AU2001268168A1 (en) 2001-12-11
EP1287663A2 (en) 2003-03-05
CA2410861C (en) 2014-02-25
US6836806B1 (en) 2004-12-28
JP2004511116A (ja) 2004-04-08
WO2001093527A2 (en) 2001-12-06
CA2410861A1 (en) 2001-12-06
WO2001093527A9 (en) 2002-12-12

Similar Documents

Publication Publication Date Title
CN1444816A (zh) 用于网络寻址的系统
CN1444813A (zh) 选择性路由选择
CN1454426A (zh) 基于qos的内容分配网络
CN1444745A (zh) 内容交换机装置
US8458290B2 (en) Multicast mapped look-up on content delivery networks
CA2413943C (en) Viewer object proxy
US6904460B1 (en) Reverse content harvester
CN1451129A (zh) 自行公布的网络目录
AU2011203246B2 (en) Content processing between locations workflow in content delivery networks
CN1529860A (zh) 内容跟踪
CN1451220A (zh) 在内容交换机中预装内容对象
US20150207888A1 (en) Multicast mapped look-up on content delivery networks
CN1457585A (zh) 客户端整体健康状况检查
CN1443328A (zh) 内容对象的活动目录
CN1444747B (zh) 内容管理器
CN1444818A (zh) 客户端地址路由选择分析
CN1446426A (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