Selective routing
20 claims: 4 independent, 16 dependent
- 1サーバへの複数のデータパス間におけるコンテンツオブジェクトのクライアント側ルーティングの方法であって、前記方法は、 前記サーバに第1のデータパスを提供するこ と、 第1のパーティーに第1のデータパスを関連付けるこ と、 前記サーバに第2のデータパスを提供するこ と、 第2のパーティーに第2のデータパスを関連付けるこ と、 前記第1のデータパスおよび第2のデータパスの通信品質を評価すること、 評価された前記第1のデータパスおよび第2のデータパスの通信品質に基づいて、 第1のデータパスおよび第2のデータパスの 少なくとも一方 からコンテンツオブジェクトを受信するかをクライアントコンピュータによって自動的に判定するこ とを含み、 前記評価および前記判定のステップは、少なくとも2回繰り返され、 前記評価で前記第1のデータパスおよび第2のデータパスの通信品質のいずれか一方が不良の通信品質を有すると判定された場合に、不良の通信品質を有すると判定されたデータパスを評価することを含む以降のステップは省略され、且つ前記データパスの推定的な除外と置き換えられる、方 法。
- 2前記サーバは、第2のサーバから発信しているコンテンツオブジェクトを格納する、請求項1記載のサーバへの複数のデータパス間におけるコンテンツオブジェクトのクライアント側ルーティングの方法。
- 3要求されたコンテンツオブジェクトのために前記サーバをチェックすることと、 前記サーバのチェックに基づいて第2のサーバから前記コンテンツオブジェクトを検索することとをさらに含む、請求項2記載のサーバへの複数のデータパス間におけるコンテンツオブジェクトのクライアント側ルーティングの方法。
- 4前記サーバに第1のデータパスおよび第2のデータパスを提供することは、 前記サーバに複数の一意的な識別子を関連付けること、 前記複数の一意的な識別子のうちの1つを有するパケットをマークすることによって、第1のデータパスおよび第2のデータパスを論理的に分離することとを含む、請求項1記載のサーバへの複数のデータパス間におけるコンテンツオブジェクトのクライアント側ルーティングの方法。
- 5前記一意的な識別子は、ポート、インターネットプロトコルアドレス、サーバ識別子、サイト識別子、およびプロバイダ識別子のうちの1つである請求項3記載のサーバへの複数のデータパス間におけるコンテンツオブジェクトのクライアント側ルーティングの方法。
- 6前記クライアントコンピュータによる判定に応答して前記サーバに関連する第3のパーティーに課金する第1のパーティーおよび第2のパーティーのうちの一方をさらに含む、請求項1記載のサーバへの複数のデータパス間におけるコンテンツオブジェクトのクライアント側ルーティングの方法。
- 7第1のパーティーは、第1のデータパスの少なくとも一部にバンド幅を提供し、 第2のパーティーは、第2のデータパスの少なくとも一部にバンド幅を提供する、請求項1記載のサーバへの複数のデータパス間におけるコンテンツオブジェクトのクライアント側ルーティングの方法。
- 8前記サーバは、複数のコンピュータシステムからなる請求項1記載のサーバへの複数のデータパス間におけるコンテンツオブジェクトのクライアント側ルーティングの方法。
- 9複数のチャンネルとサーバとの間においてコンテンツオブジェクトの一部をルーティングする方法であって、前記方法は、 前記サーバに第1のチャンネルおよび第2のチャンネルを提供するこ と、 第1のパーティーに第1のチャンネルを関連付けるこ と、 第2のパーティーに第2のチャンネルを関連付けるこ と、 第1のチャンネルおよび第2のチャンネルの通信品質を評価すること、 評価された前記第1のチャンネルおよび第2のチャンネルの通信品質に基づいて、 前記コンテンツオブジェクトの一部を第1および第2の 少なくとも一方 のチャンネル上で搬送するかを自動的に判定し、その判定は、前記サーバから離れて実行されるこ とを含み、 前記評価および前記判定のステップは、少なくとも2回繰り返され、 前記評価で前記第1のチャンネルおよび第2のチャンネルの通信品質のいずれか一方が不良の通信品質を有すると判定された場合に、不良の通信品質を有すると判定されたチャンネルを評価することを含む以降のステップは省略され、且つ前記チャンネルの推定的な除外と置き換えられる、 方法。
- 10前記サーバは、第2のサーバから発信されるコンテンツオブジェクトを格納する、請求項9記載の複数のチャンネルとサーバとの間においてコンテンツオブジェクトの一部をルーティングする方法。
- 11要求されたコンテンツオブジェクトのために前記サーバをチェックすることと、 前記サーバのチェックに基づいて、第2のサーバから前記コンテンツオブジェクトを検索することとをさらに含む、請求項10記載の複数のチャンネルとサーバとの間においてコンテンツオブジェクトの一部をルーティングする方法。
- 12前記サーバに第1のチャンネルおよび第2のチャンネルを提供することは、 前記サーバに複数の一意的な識別子を関連付けることと、 前記複数の一意的な識別子のうちの1つを有するパケットをマークすることによって、第1のチャンネルおよび第2のチャンネルを論理的に分離することとを含む、請求項9記載の複数のチャンネルとサーバとの間においてコンテンツオブジェクトの一部をルーティングする方法。
- 13前記複数の一意的な識別子は、ポート、インターネットプロトコルアドレス、サーバ識別子、サイト識別子、およびプロバイダ識別子のうちの1つである、請求項12記載の複数のチャンネルとサーバとの間においてコンテンツオブジェクトの一部をルーティングする方法。
- 14第1および第2のチャンネルのいずれかを自動的に決定することに応答して、前記サーバに関連する第3のパーティーに課金する第1のパーティーおよび第2のパーティーのうちの一方を備える、請求項9記載の複数のチャンネルとサーバとの間においてコンテンツオブジェクトの一部をルーティングする方法。
- 15第1のパーティーは、第1のデータパスの少なくとも一部にバンド幅を提供し、 第2のパーティーは、第2のデータパスの少なくとも一部にバンド幅を提供する、請求項9記載の複数のチャンネルとサーバとの間においてコンテンツオブジェクトの一部をルーティングする方法。
- 16前記サーバは、複数のコンピュータシステムからなる請求項9記載の複数のチャンネルとサーバとの間においてコンテンツオブジェクトの一部をルーティングする方法。
- 17複数のデータチャネルと第1のサーバと間においてコンテンツオブジェクトの一部をルーティングするシステムであって、前記システムは、 第1のプロバイダに関連付けられる、第1のサーバ用の第1のデータチャネルと、 第2のプロバイダに関連付けられる、第2のデータチャネル用の第1のサーバと、 前記複数のコンテンツオブジェクトを有する第2のサーバと、第1のサーバは、 複数のコンテンツオブジェクトの1つの少なくとも一部を格納すること、 前記第1のデータチャネルおよび第2のデータチャネルの通信品質を評価し、評価された前記第1のデータチャネルおよび第2のデータチャネルの通信品質に基づいて、 前記コンテンツオブジェクトの前記部分を第1のデータチャネルおよび第2のデータチャネルの 少なくとも一方 で搬送するかを自動的に判定するルーターと、前記判定は第1のサーバから離れて実行されること を備え 、 前記評価および前記判定のステップは、少なくとも2回繰り返され、 前記評価で前記第1のデータチャネルおよび第2のデータチャネルの通信品質のいずれか一方が不良の通信品質を有すると判定された場合に、不良の通信品質を有すると判定されたデータチャネルを評価することを含む以降のステップは省略され、且つ前記データチャネルの推定的な除外と置き換えられる、シ ステム。
- 18第1のサーバのための複数の一意的な識別子をさらに備え、第1のデータチャネルおよび第2のデータチャネルは、前記複数の一意的な識別子のうちの1つを有するパケットをマークすることによって、論理的に分離される、請求項17記載の複数のデータチャネルと第1のサーバと間においてコンテンツオブジェクトの一部をルーティングするシステム。
- 19前記複数の一意的な識別子は、ポート、インターネットプロトコルアドレス、サーバ識別子、サイト識別子、およびプロバイダ識別子のうちの1つである、請求項18記載の複数のデータチャネルと第1のサーバと間においてコンテンツオブジェクトの一部をルーティングするシステム。
- 20前記サーバは、複数のコンピュータシステムからなる、請求項18記載の複数のデータチャネルと第1のサーバと間においてコンテンツオブジェクトの一部をルーティングするシステム。
Independent claims20
1 paragraph, as filed
[0001] This application claims the benefits of US Application No. 60 / 209,007 for provisional filing on June 1, 2000. [0002] (Background of invention) The present invention relates to content distribution in general. More specifically, it relates to routing the delivery of content from the Internet. There is a desire to transfer high-quality, large-capacity content objects at the minimum constant speed and provide appropriate QoS. Live video broadcasts are a good example of large content objects that are transferred at a minimum constant rate. However, the Internet is a poor network for these types of broadcast communications. This is due to the loss of data quality in each part of some potential hops, the limited bandwidth for most of the transmissions, and the fact that the Internet was not designed to stream data at constant data rates for long periods of time. .. [0003] As mentioned above, transferring large objects at a constant data rate without loss of information is problematic. To address these important issues, download the streaming media completely to your local hard drive for later playback. Playback from a local hard drive avoids the drawbacks associated with delivering stream content from the Internet. However, there is a desire to play a content stream received from the Internet when it is downloaded. [0004] (Summary of invention) The present invention relates to routing content distribution from a network. In one embodiment, a method of client-side routing of content objects across multiple data paths to a server is disclosed. Associate the first data path with the server with the first party. Associate the second data path with the server with the second party. The client computer is used to automatically determine whether to receive content objects from the first or second data path. [0005] Other features and effects of the invention will be recognized by the description of the following parts of the specification, including drawings and claims. Further features and effects of the present invention, as well as the structures and operations of the various embodiments of the present invention, are described in more detail below in connection with the accompanying drawings. [0006] (Embodiment of the Invention) The present invention is to improve communication quality (hereinafter referred to as QOS) when a content object is downloaded from a network such as the Internet. In one embodiment, the client computer determines the priority list of content exchanges. A priority list is provided to the origin server when requesting content. The origin server routes client computers to download content from content exchanges and content servers that are believed to provide sufficient quality of service. [0007] In drawings, similar elements and / or functions may have the same reference numerals. Further, different elements of the same type are identified by a dash following the reference code or a second code that identifies similar elements. If only the first reference code is used in the specification, the description applies to one of all similar elements having the same first reference code, regardless of the second reference code. It is possible. [0008] See Figure 1. A block diagram of an embodiment of the content distribution system 100 is shown. In this embodiment, the content distribution system 100 includes an active directory 104, one or more origin servers 108, one or more client computers 112, one or more content exchange units 116, and one or more external origin servers. It has 118, Internet 120, and a crawling directory 124. The particular client computer 112 interacts with Active Directory 104 to select a content object to download. The object can be played during download in the case of streaming media, or it can be stored for later time. [0009] The content object may be any kind of information that can be downloaded from the network, such as audio, video, data, and so on. The content object request is forwarded from the client computer 112 to the appropriate origin server 108 along with the priority information. Origin server 108 determines where to download the object. Any content exchange 116, or the origin server 108 itself, can provide objects to provide satisfactory QoS. [0010] Active Directory 104 can be an interface for selecting content objects on client computer 112. Software for both the origin server 108 and any client computer 112 may be downloaded from Active Directory 104 to enable the content distribution system 100. Either the directory interface page or the search interface page may be used to determine the desired content object. The interface remains active to avoid breaking the link with the content object on the origin server 108. [0011] If content exchange 116 requests a content object from origin server 108, Active Directory 104 can provide a path back to the appropriate origin server 108. [0012] In other embodiments, it may have multiple Active Directory. Users of the system may be split among several Active Directory to deliver loading. In addition, if one Active Directory is offline, the other Active Directory may be used for redundancy so that the other Active Directory can absorb the loading. [0013] In some embodiments, the origin server 108 provides the source of the content object, directs the user to the preferred source of the content object, and provides directory information to Active Directory 104. The content object is introduced into system 100 by origin server 108. The deployment involves the selection of content objects by the origin server administrator to make Active Directory 104 available. The administrator is a person or system that manages the origin server 108. Content objects include previously stored information or the streaming provision of information. Origin server 108 provides a catalog of selection information that is updated with content changes on origin server 108 according to a predetermined cycle. [0014] Origin server 108 determines the preferred source to instruct client computer 112 to download the content object. The priority list of the client computer 112, the loading of the content exchange, and the location of the copy of the content object are all things to consider on the origin server 108 when redirecting the client computer to the preferred source of information. .. The source is either the origin server 108 itself or one of the content exchange units 116. [0015] The user finds the desired content object and then directs the client computer 112 to download the object. The client computer 112 uses the viewer object proxy software downloaded from the active directory 104 to determine 116 content exchanges that can be delivered with the appropriate QOS. The process of determining the content exchange 116 having the appropriate quality of service includes, for example, receiving test information from the content exchange that is likely to produce the best results when preparing a priority list. If a customized method is desired, the user can change the priority list of the content exchange unit 116. The origin server 108 uses the priority information to provide the appropriate quality of service when determining the source of the content object. [0016] The external origin server 118 is an additional source of content objects available to the client computer 112. In one embodiment, the external origin server 118 is connected to the content exchange unit 116. [0017] The content exchange unit 116 is a cache of content objects. These numerous content exchange units 116 are installed at different locations on the Internet 120 to cache content objects. The information is based on many considerations, such as the degree of information demand for the user, the service to the origin server 108 that requires the content immediately available to the user, and the service to the user that requests improved QOS. Is cached. The grouping of content exchange units 116 may be chunks or individual to provide client computer 112 requests for content objects. [0018] If the user requesting the requested content object or a part thereof cannot be found from the content exchange unit 116, the content exchange unit 116 requests another content exchange unit for the content object. The object. If none of the other content exchanges 116 have content objects, the origin server 108 is queried in Active Directory 104. Origin server 108 is the source of the content object and the content object is downloaded from it. While the content exchange 116 is collecting content objects, the client computer 112 is receiving the first downloadable part. The content object can be stored part by part in some content exchange 116, and the requesting content exchange 116 searches for those parts and re-creates the entire content object as requested by the client computer 112. To construct. [0019] In some embodiments, to search for the requested content object, or part of the requested content object, when the requesting user cannot find it in the content exchange 116. , The content exchange 116 can issue a request to the external origin server 118. [0020] The crawling directory 124 is used to supplement the catalog information reported by the origin server 108. When searching for content objects for the user, Active Directory 104 can display content objects available from origin server 108 and other content objects found by crawling directory 124. Crawling directory 124 catalogs content objects and other information encountered by traversing the web. For example, a keyword search in the catalog can be performed to reach content objects that are not available to the user, even from any origin server on System 100. One of the content exchanges 116 is selected by Active Directory 104 to cache the content object when the client computer 112 downloads it. In this embodiment, only one crawling directory 124 is used, but in other embodiments, a large number of crawling directories can be used to provide further search results. [0021] [0021] Internet 120 consists of multiple servers linked together by routers. The data is divided into packets that hopping from one router to the next and travel through the Internet 120 until the final destination is reached. Each packet may take a different route within the Internet and may arrive at its final destination at different times. Moreover, when the bandwidth of any router is saturated, some packets may be lost while traveling through the Internet 120. As the number of hops between the source of a content object and its final destination increases, so does the possibility of excessive delay and packet loss. [0022] As the content object traverses a path in the Internet 120 from the source to the final destination, the minimum bandwidth between any two routers in the path determines the maximum bandwidth for that path. Generally, the bandwidth from the Internet 120 to the client computer has the minimum bandwidth allocation. In other cases, the other hops between the routers have the minimum bandwidth. Caching content objects to the content exchange 116 with minimal hops between the content exchange 116 and the client computer 112 increases the likelihood of getting sufficient QoS. [0023] Downloading content objects at a suitable data rate that does not exceed the data rate from the client computer to the Internet 120 is a good quality of service. The best quality of service a user can expect depends on their connection speed to the network, the processing power of their computers, and other factors. The lowest quality of service is subjectively determined by the user based on the quality requested by the user under certain constraints. For example, a user with a 400Kbps network connection and a high-speed computer has a choice of streams at 28Kbps, 56Kbps, 128Kbps for audio clips, from which the user may choose a stream at 128Kbps. As long as the data rate provided by the client computer is in the range of 128-400Kbps, you can get the appropriate QoS for that stream. [0024] The above embodiment mainly uses the Internet 120 for connections between different blocks, but in other embodiments, personal links other than the Internet 120 may be used. In addition, content objects outside System 100 will benefit from System 100 if extent caching, encryption, and compression are provided. [0025] See Figure 2. A block diagram showing an embodiment of the Active Directory section 104 of the content distribution system 100 is shown. The active directory 104 includes a dynamic domain name server (DNS) 204, a server manager 208, a directory page 212, a search page 216, a download page 220, a subscriber database 224, a server database 228, and a content exchange database 232. And a routing database 234. The content distribution system 100 interacts with Active Directory 104 to provide the user with directory information and assists the user in downloading the content object. [0026] Both the user of the client computer 112 and the administrator of the origin server 108 are subscribers to the content distribution system 100. The software is downloaded from the download page to the user and / or the administrator. Depending on the embodiment, software for the client computer 112 is optional and improves QoS. The software on the origin server 108 allows Active Directory 104 to update the content available on System 100 and direct the client computer 112 to the preferred source for receiving that content. [0027] Client computer 112 finds the desired content object associated with the domain of Active Directory 104. Depending on the priority, the user may use directory page 212 or search page 216 to find the content object. Search page 216 may be a traditional Boolean search engine that accesses a catalog of content objects provided by all origin servers 108, as well as the information collected from the crawling directory 124. In other embodiments, if the content search from the origin server 108 is unsuccessful, only the information from the crawling directory 124 may be displayed, or the information from the crawling directory 124 may be excluded altogether. .. A catalog of content objects for all origin servers 108 is maintained in server database 228. [0028] Directory page 212 organizes the available content objects in the hierarchy of categories organized by the target. For example, the first page may display a number of subjects of general interest, and the user selects a sport. The next page, which is one layer below the hierarchy, displays a large number of sports and the user selects football. Further down one level, the user may select the San Diego Chargers to see the next page of related Content Object links. [0029] The administrator classifies the content on the origin server 108 and displays it properly on directory page 212. At the base of a site, directory, or file, the administrator has HTML associated with that content object. You can select the content object category as an SSI tag. Obtain this classification and store it in Active Directory to make content objects visible in different categories. In addition, the arbitrator may list and place content objects in the category of directory page 212. For example, the arbitrator may mark and / or review a content object to make it more prominent. [0030] The server manager 208 maintains and manages information about all client computers 112, all origin servers 108, all external origin servers 118, all content exchanges 116, and all content objects on the origin server 108. Information about the client computer 112 and the origin server 108 is maintained in the subscriber database 224. For each user associated with the client computer 112, the full name, login name, password, unique name, token credits available, and other information are maintained in the subscriber database 224. This database 224 also contains the last time the origin server 108 was identified, the internet protocol (IP) address of the origin server 108, the port on which the content manager server runs, the on / off line status of the origin server 108, the banner ad URL, the origin. It holds 108 servers, a description of the origin server 108, the credit or substitute currency or other billing model required to use the origin server 108, and the number of possible connections and viewers at one time. [0031] Information about the content objects of all origin servers 108 is maintained in the server database 228. For each content object, the origin server name, content object file name, and path are stored together with the category information, summary, and keywords. While navigating the directory, search pages 212,216, it queries server database 228 to provide content selection to the user. To keep the server database 228 up-to-date, Server Manager 208 periodically interacts with Origin Server 108 to get the latest changes to the Content Object Catalog to see if Origin Server 108 has gone offline. judge. Whenever the origin server 108 goes offline, it deletes the entry in the server database 228 that corresponds to that origin server 108 and updates the status information in the subscriber database 224. [0032] In some embodiments, the entry to the server database 228 persists even after the origin server 108 goes offline. The status is updated to reflect that the content associated with the origin server is unavailable, but the information remains stored in the server database 228. When the status is updated online, the information is shown again to the user searching for the content object. In some circumstances, Origin Server 108 may indicate in Active Directory 104 that it will be offline for a period of time. If that period is estimated to be short, Active Directory can keep the information in the server database 228 without displaying it to the user. [0033] The list of the content exchange unit 116 that can be used in the system 100 is maintained and managed by the server manager 208 in the content exchange database 232. In certain embodiments, the content exchange database 232 may include a list of IP addresses of all content exchange units 116 available within the content distribution system 100. Further, the content exchange database 232 may include a large number of content exchange fields associated with each content exchange unit 116. For example, in the fields associated with each Content Exchange 116 of the Content Exchange Database 232, the Content Exchange ID, Content Exchange Site, Content Exchange Provider, Content Exchange Name, Content Exchange Position, Content Exchange Status, Icon, and any other desired , Or the necessary information may be included. [0034] Together, the content exchange ID and content exchange site identify a unique content exchange 116 at a particular content exchange site. The content exchange provider is the sign of the party responsible for the content exchange, eg, the XYZ company. The content name is a domain name, and the content exchange position is the geographical coordinates of the content exchange unit 116. In an exemplary embodiment, the content exchange database 232 is a content exchange ID, a content exchange site, a content exchange IP address, a content exchange provider, a content exchange name, a content exchange location, and each content exchange unit 116 in the content exchange database 232. Includes icons. [0035] In general, the content exchange database 232 includes, but is not limited to, improved QOS standards or subscription service standards, which can be classified or divided by region based on various methods. In addition, the content exchange database 232 may contain an alternate Active Directory 104, a list of origin servers 108, or any other valid or required information. [0036] The content exchange unit 116 of the system 100 periodically provides the status to the server manager 208. If the content exchange 116 becomes available or unavailable, their operational status is reported to server manager 208 and recorded in the content exchange database 232. In certain embodiments, the content exchange database 232 can include additional status information, including loading, capacity, utilization, and health of the content exchange unit 116. [0037] The routing database 234 has a list of external origin servers 118. In certain embodiments, the routing database 234 has identification, status, and configuration information about the external origin server 118. The identification information may include the IP address and domain name of the external origin server 118. Status information can include the utilization, loading, or other status of the external origin server. The configuration information may include a list of alternative external origin servers 118. In one embodiment, the routing database 234 has an IP address and domain name for each external origin server 118. In one embodiment, identifying the external origin server 118 within the routing database 234 is a mechanism for associating the external origin server 118 with the content distribution system 100. [0038] For each external origin server 118 in the routing database, there is a list of usernames authorized to use content exchange 116 to access information on the external origin server 118. The username is unique to the user on client computer 112. A list of external origin servers 118 that the client computer can route through content exchange is provided to the client computer 112. The client computer 112 uses the information from the routing database to redirect the user request to the external origin server 118 to the content exchange 116. After the content exchange unit 116 accommodates the content object from the external origin server 118, the bandwidth is lowered from the external origin server 118 to the content exchange unit 116. For this advanced service, users may also pay the owner of the content exchange and / or the administrator of the origin server. [0039] Dynamic DNS 204 provides the origin server name for each IP address of origin server 108. The origin server name uniquely identifies the origin server 108 on the Internet 120. This information is maintained in the subscriber database 224. The content exchange unit 116 does not know the IP address of the origin server 108 that provided the content object to the content exchange unit 116, but does know the origin server name. When the content exchange unit 116 wants to store a content object that is not available from other content exchange units 116 or a part thereof in its cache, the IP address or domain name of the origin server 108 that is the source of the content object is entered. A query is made to the dynamic DNS 204 to determine. When a domain name is searched from dynamic DNS204, the IP address corresponding to the domain name is searched from DNS. [0040] Next, refer to FIG. 3A. A block diagram showing an embodiment of the origin server unit 108 of the content distribution system 100 is shown. The origin server 108 is managed by the administrator and provides the content distribution system 100 with one of the sources of content objects. Quality of service is provided by the origin server 108, which guides the client computer to the content exchange unit 116, which can efficiently deliver the desired content object. Origin server 108 includes content source 304, content server 308, content manager 312, local content catalog 316, content location database 320, content exchange information 324, and health check 330. [0041] The content is provided by the content source 304 to the origin server 108. Content Source 304 may be a live web associative memory, video or audio feed, data object, data stream, videotape or audiotape, optical or magnetic disk, or any other content distribution mechanism. The content object is delivered to content server 308 by content source 304 for possible delivery within system 100. [0042] Date and time information is maintained in each content exchange unit 116 for the content object and the part of the content object to be maintained. The date and time information identifies a content object having the same origin server name, path name, and file name. In other embodiments, any unique code such as checksum, cyclic redundancy check (CRC), or hash is used to uniquely identify the content object. [0043] All content objects of origin server 308 are stored in content server 308. The administrator can select content objects and groups of content objects for posting on system 100 while leaving other content objects unavailable on system 100 on content server 308. Some content objects are discontinuous files, while others are, for example, streams of content generated by live web associative memory. The software that runs Content Server 308 may be integrated with the software in Content Manager 312. [0044] The content manager 312 posts the desired content object on the system 100 and guides the user to a suitable content exchange 116 to download the content object associated with the content manager 312. At the administrator's direction, Content Manager 312 selects content objects and groups of content objects by filename, directory, and drive volume for posting in Active Directory 104. Some content objects on Content Server 308 may be excluded from listing to make them unavailable on System 100. [0045] Content objects selected for posting on the system are maintained in the local content catalog 316. Entries in the Local Content Catalog 316 are maintained by Content Manager 312 to be up to date if the objects corresponding to those entries are unavailable or updated. For each entry, the content object file name and path are stored along with category information, summary, and keywords. Upon connection to system 100, the local content catalog 316 is sent by content manager 312 to active directory 104 for entry into server database 228. Periodically send changes to the local content catalog 316 to the server database 228 to keep the directory information as up-to-date as possible. Updates may occur at regular intervals, such as every two minutes, and / or whenever the local content catalog changes. [0046] Content Manager 312 also knows the storage location of all parts of the content object associated with that Content Manager 312. As soon as it connects to System 100, Content Manager 312 communicates with each Content Exchange 116 for status. The content exchange unit 116 periodically reports to the corresponding content manager 312 about the content object and the part of the content object. Utilizing this information, the content manager 312 can guide the client computer 112 to the content exchange unit 116. The content exchange unit 116 has some or all of the desired content objects in a downloadable state. [0047] The storage location information of the content objects reported by all the content exchange units 108 is maintained and managed in the content location database 320 by the content manager. By querying the content location database 320, the content manager 312 can determine the content object or the content exchange unit 116 that has a portion of the content object. While the client computer 112 is routed to the content source, the presence of content objects within a particular content exchange 112 can affect routing decisions. [0048] The content exchange information storage device 324 has information about all active content exchange units 116. As soon as the origin server 108 is powered up, the content exchange database 232 in Active Directory 104 is downloaded to the content exchange information storage device 324. After the power-up, all the content exchange units 116 listed in the content exchange information storage device 324 are queried for the status information held as the content exchange information 324. Status information includes the number of concurrent links used, the total number of concurrent links allowed, bandwidth utilization, and the number of cache churn rates. The cache churn rate is the amount of time unused data remains in the cache and represents the loading of the cache. For example, due to the content exchange 116, which is busy relative to the cache's storage, the data is usually quickly cleared from the cache. However, in some embodiments, it may have annoying content objects that remain fixed to the content exchange 116 for a period of time, regardless of use. [0049] Content Manager 312 intelligently redirects the client computer 112 requesting the content object to the preferred source for that object. The priority information transmitted by the client computer 112 is used to determine the source of the content object requested by the client computer 112. This information is used with the current storage location of the content object and the loading of the available content exchange to direct the client computer 112 to the preferred content exchange 116 for downloading the content object. [0050] In some embodiments, the content manager 312 can manage access to content objects. When client computer 112 attempts to download a content object associated with Content Manager 312, a login dialog can be displayed if the administrator has set security on the content object. The user may enter the user name and / or password in the login dialog to change the destination of the client computer 112 to the source of the content object. This username and / or password is required in addition to anything required for Active Directory 104. Before redirecting the client computer 112 to the source, the username and / or password and login information are checked against a list of acceptable login information pre-stored in the origin server 108. Access to the entire origin server 108 or to the capacity, directories, or content objects of the origin server 108 can be managed in this way. [0051] In some embodiments, the origin server 108 or Active Directory 104 is allowed to pre-install content objects on the content exchange 116. Content object requests are monitored to determine the degree of request. Request information, billing information, and / or other considerations are used to determine which content objects should be pre-installed on the content exchange 116. Either the origin server 108 or the active directory 104 can request the content object from the content exchange 116 to preload the content object. It may also require periodic loading of the content object onto the content exchange to prevent it from being unloaded because it is inactive. [0052] The health check 330 is either a hardware or software application that provides the operating characteristics of the corresponding origin server 108. In one embodiment, Health Check 330 provides a single indication of the status of Origin Server 108. The single indication is a normalized value between 0 and 1, indicating a combination of origin server characteristics. For example, it may include CPU load, CPU temperature, number of concurrent connections, and / or number of requests being driven by the origin server. In an alternative embodiment, the health check 330 may monitor the characteristics of the content exchange 116 while running on another content exchange 116 or origin server 108. [0053] Next, refer to FIG. 3B. A block diagram showing an embodiment of the external origin server unit 118 of the content distribution system 100 is shown. The external origin server 118 differs from the origin server 108 in that it does not have the content manager software installed on it. The external origin server 118 has a content server 308 and a content source 304. [0054] The administrator of the external origin server 118 determines one or more client computers 112 that are allowed to receive content objects through the content exchange unit 116. The routing database 234 is updated by the administrator so that individual client computers 112 can access content objects through the content exchange 116. The web page on Active Directory acts as an interface for entering information for client computer 112 into the routing database 234. In another embodiment, the interface between the external origin server 118 and the routing database 234 is automated. [0055] Updates to routing database 234 are downloaded and stored locally by client computer 112. The next attempt to access the external origin server 118 is addressed to content exchange 116 to service the request. Such addressing allows the external origin server 118 to address the client computer 112 to the content exchange 116 without the assistance of the content manager software. [0056] The external origin server 118 may have one or more content exchange units 116 assigned to transport content objects to the external origin server 118. The routing database 234 may redirect the subscribed client computers to one or more of these content exchange units 116. If the client computer is allowed to use more than one of these content exchanges 116, the client-side routing analysis will use two or more content exchanges to rank the relative quality of service between the content exchanges. Run on. [0057] Content objects on the external origin server 118 can be preloaded into the content exchange assigned to provide those content objects. To reduce the invocation time when requesting a content object for the first time, Active Directory 104 can cycle through the external origin server 118 to determine which content objects are available from that server 118. The available content objects may be added to the crawling directory 124. Once the available content objects are known, Active Directory 104 requests each content object for the associated content exchange in order to cause the loading of each content object onto the associated content exchange. In this way, the content object is preloaded into the associated content exchange. [0058] [0058] See Figure 4A. A block diagram showing an embodiment of the content exchange unit 116 of the content distribution system 100 is shown. The content exchange unit 116 stores the content object requested by the client computer 112 under the control of the content manager 312. The content exchange unit 116 includes a tracking system 402 and a content node 406. The tracking system has a content tracker 404, a health check 428, a status information 420, a local content catalog 416, an origin server database 424, while a content node 406 has a content controller 408, a content storage 412. [0059] The health check 428 is either a hardware or software application that provides the operating characteristics of the associated content exchange unit 116. In one embodiment, the health check 428 provides a single indication of the status of content exchange 116. A single indication is normalized between 0 and 1 indicating a combination of content exchange characteristics, including, for example, CPU load, CPU temperature, number of simultaneous connections, number of requests being promoted by the content exchange. It may be a value. In an alternative embodiment, the health check 428 can monitor the characteristics of the content exchange unit 116 while executing at the other content exchange unit 116, the origin server 108, and the storage location. [0060] The content storage unit 412 maintains a content object that can be downloaded from the content exchange unit 116 to the client computer 112. The name of the origin server 108 that provides the content object together with the path information and the file name is stored in the content storage unit 412 together with the content object. The client computer 112 connects to the content storage unit 412 via the Internet 120 and downloads the content object file and the data stream. When a new content object is added to the content storage 412, the old content object is deleted. The lifespan of a content object is related to the last time the content object is accessed. As a result of some content objects on the storage 412 never getting old, the content objects stay in the storage 412 for a predetermined amount of time. The origin server 108 can adjust the content exchange unit 112 to store the content object for a predetermined time. [0061] If the client computer 112 requests a content object from the content storage 412, the content object may not be loaded into the content storage 412 at that time. The content storage unit 412 notifies the content controller 408 of a request for a content object that has not been executed. The content controller 408 searches for the missing content object or its part from the other content exchange unit 116 or the content server 308 that generated the content object. The missing content object is loaded into the content storage 412 by the content controller 408 so that the client computer 112 can download this information. [0062] If the content object is missing from the content storage unit 412, the content controller 408 first checks the other content exchange unit 116 to determine if the object is available. If the content exchange unit 116 does not have the desired content object, the content object queries the content server 308 that generated the information. Since the content storage unit 412 does not have an IP address for the source content server 308, the dynamic DNS 204 is queried for that information. Given the origin server name, the dynamic DNS 204 provides an IP address so that the content controller 408 can request content objects from the appropriate content server 308. [0063] The content tracker 404 reports to the system 100 the current item in the content storage 412 and the status information of the content exchange 116. The local content catalog 416 stores the origin server name, path, and file name for each content object or part of the content object in the content storage unit 412. The local content catalog 416 is updated by adding new items to the content storage 412 and deleting old items. When the content manager 312 connects to the system 100, it queries all content trackers 404s to determine what part of the content object is stored in the content storage 412. The first query provides a baseline that is updated by the content tracker 404 when the content storage 412 is modified. The changes are sent directly to each content manager 312 having the content stored in the content storage unit 412. Dynamic DNS 204 is used during this process to determine the IP address that corresponds to the origin server name of each content object. [0064] The content tracker 404 also provides the content manager 312 with status information for the content exchange unit 116. Status information is sent periodically as broadcast or multicast, eg, every 5 minutes, and / or to the respective content manager 312 when changes occur. Status information includes the number of concurrent links to the content exchange currently in use, the total number of concurrent links allowed, bandwidth utilization, and cash churn rate. In another embodiment, this status information is sent to a central storage location that content manager 312 can query when determining where to send content objects on client computer 112 to download content objects. [0065] This content tracker 404 maintains the origin server database 424 to track the active origin server 108 of system 100. After connecting to the system, all origin servers 108 let the content tracker 404 identify itself. The content tracker 404 stores the origin server name and IP address in the origin server database 424. Queries to dynamic DNS provide the IP address of a particular origin server name. If the origin server 108 informs the content tracker 404 that a non-operational situation is imminent, or if the content tracker 404 is unable to communicate with a particular origin server, the entry to that origin server is the origin server database 424. Will be removed from. Further, the content corresponding to the origin server 108 may be cleared from the content storage unit 412, and the local content catalog 416 may be updated. In some embodiments, when storage space is needed, the content object or parts of the content object are not wiped out, but simply tagged for deletion. [0066] In some embodiments, the system 100 can instruct the content controller 408 to obtain and retain a predetermined content object in the content storage 412. Content objects that are expected to be requested can be pre-installed in preparation for the request. The degree of request for content objects can be determined by monitoring click-throughs on those content objects from search pages or directory pages 212, 216. For example, a content object about a celebrity may be immediately loaded into the content storage 412 before the celebrity biography program is broadcast on network television. As an alternative, the user can reserve a service to load content objects into several content exchanges 116. For example, instead of a television broadcast, a scheduled network program can be loaded to match a television broadcast that users can watch over the Internet 120. The reserved user can use the content without delay. [0067] See Figure 4B. A block diagram showing another embodiment of the content exchange unit 116 of the content distribution system 100 is shown. In this embodiment, it has a plurality of content nodes 406 connected to a single tracking server 402. Content bus 428 allows content nodes 406 to check each other's content storage 412s for missing content objects. The content bus 428 can also be combined with other content nodes in other storage locations. The content bus 428 may or may not travel partly on the internet 120. [0068] Then refer to Figure 4C. A block diagram showing an embodiment of a content exchange site 432 having a plurality of content exchange servers 116 is shown. The content exchange site 432 has a plurality of content exchange servers 116, which appear to the system as a single content exchange unit 116. The load of the content exchange site 432 is distributed among the plurality of content exchange servers 116. A switch 436, such as a layer 4 switch, delivers a content object request to the content exchange unit 116 and aggregates the responses spooled to the Internet 120. [0069] Next, refer to FIG. A block diagram showing an embodiment of the client computer portion 112 of the content distribution system 100 is shown. The client computer 112 communicates with the internet 120 to deliver content to the user. The client computer 112 has a viewer object proxy 504, a content processing program 508, priority information 512, a network interface 516, and a host server routing 520. [0070] The content processing program 508 is typically software that translates or processes content objects downloaded from the Internet 120. Examples of content processing program 508 include web browsers, file transfer protocol (FTP) software, gopher software, news (NNTP), mail programs, streaming media players, non-streaming media players, and other software. Internet communication from the content processing program 508, which is normally sent directly to the Internet, is redirected to the viewer object proxy 504. [0071] The viewer object proxy 504 acts as an intermediary between the Internet 120 and the content processing program 508. After installing the Viewer Object Proxy 504, the Viewer Object Proxy determines its general storage location relative to a known location on the Internet 120. Content exchange 116, which is a reasonable candidate to provide sufficient quality of service, is tested to determine the required number of hops and latency between each content exchange 116 and the viewer object proxy 504. The weighting of the QOS coefficient, for example, the number of hops and the bandwidth achieved, is stored as priority information 512 and transferred as metadata to the content manager 312 in the HTTP header. [0072] In other embodiments, it can also be passed as metadata for any type of data channel without going through HTTP headers. For example, metadata can travel through dedicated ports, IP addresses, URLs, headers, and other logical channels. [0073] Priority information 512 is the result of a network analysis performed from the perspective of the client computer 112. When a content object is requested, the priority information 512 is communicated to the content object manager 312, which in turn selects the appropriate content exchange 116 for the client computer 112. Periodically, eg, hourly, the priority information 512 is updated using automated testing or manually by the user. The next test will efficiently determine which content exchange should be prioritized, taking into account the previous results. For example, in the first analysis, 100 content exchange parts are checked, but in the next analysis, only 50 may be analyzed except for the content exchange part having poor performance. [0074] The priority information 512 includes a list of content exchange units 116 and their associated QOS values resulting from the results of client-side network analysis. In some embodiments, there are multiple routes to the external origin server 118. Multiple routes are separated by port, IP address, server identification (ID) and / or other mechanism. Client-side network analysis can be used to determine the QoS value corresponding to each route to the external origin server 118, or any content object source with multiple routes. [0075] After the user of client computer 112 selects the content object, the origin server name is provided to the viewer object proxy 504. The origin server name is used by the viewer object proxy 504 to query the dynamic DNS 204 for the IP address of the origin server 108. Once the IP address is known, the content processing program 508 is reassigned to the content manager 312 to obtain the desired content object. The priority information 512 is transferred to the content manager 312, enabling routing to the appropriate content exchange unit 116. In this embodiment, the priority information 512 has 10 priority content exchange units, which the user can adjust. [0076] In some embodiments, the viewer object proxy 504 may be HTTP-specific, but may be protocol-independent for routing information. Therefore, the routing information is transferred according to HTTP, but the actual routing information does not depend on the protocol. However, those skilled in the art will recognize that the Viewer Object Proxy 504 can also work with other network protocols as needed. For example, the viewer object proxy 504 can be configured to function according to FTP, NNTP, RTP, RTSP, SMTP, SHOUT, and the like. [0077] Client computer 112 includes a database of host server routing 520. This host server routing 520 contains information about the external origin server 118 accessible to the client computer 112. In one embodiment, the host server routing 520 is part of the routing database 234 contained in Active Directory 104. [0078] The client computer 112 has a network interface 516 that connects the viewer object proxy 504 to the Internet 120. Common examples of network interface 516 include analog modems, DSL modems, ISDNs, cable modems, satellite modems, cellular modems and the like. [0079] In this embodiment, the client computer corresponds to a home user. In other embodiments, the client computer can provide a digital movie to a theater or a content object to a company network user, a hotel guest, or an apartment complex. [0080] [0080] See Figure 6. A block diagram showing an embodiment of the content distribution system 600 is shown. This figure shows the data flow between data blocks without showing the transfer over the Internet 120. However, the Internet 120 is used in some embodiments. Also, this figure somewhat simplifies some of the blocks in Figures 2-5, and the external origin server 118 and crawling directory 124 are not included to simplify Figure 6. [0081] The network interface 516 connects the client computer 112 to the Internet 120. The client computer 112 connects to directory pages, search pages 212, 216 and allows the user to select content objects to download. Once the content object is selected, dynamic DNS 204 is used to redirect the client computer 112 from Active Directory 104 to the appropriate origin server 108. The priority information 512 is transferred to the content manager 312 to assist in selecting the source of the content object. According to the selection of the content manager 312, the content object is downloaded from one of the content exchange units 116 or from the content server 308. [0082] Active Directory 104 interacts with other modules in System 600. Client computer 112 accesses directory pages, search pages 212, and 216 to select content objects. Content Tracker 404 and Content Manager 312 provide status and catalog information to Server Manager 208, respectively. Account information is provided to server manager 208 by the administrator of origin server 108 and the user of client computer 112 to maintain the subscriber database 224. The address change from the origin server name to the IP address of the origin server 108 is provided by the dynamic DNS 204 to the viewer object proxy 504, the content tracker 404, and the content controller 408. [0083] The origin server 108 communicates with the server manager 208, the client computer 112, the content tracker 404, the content storage 412, and the content controller 408. In order to maintain and manage the server database 228 with the content information at that time, the content manager 312 provides the server manager 208 with the local content catalog 316. Priority information 512 is provided from the client computer 112 to the content manager 312 to facilitate the selection of the source of the content object. The content tracker 404 interacts with the content manager 312 to determine what content objects are stored in the content exchange unit 116. The content object is read from the content server 308 by either the content storage unit 412 or the client computer 112. [0084] Content exchange 116 also interacts with other modules in system 600. Status information is provided to Active Directory 104 and / or Content Manager 312. Both the content controller 408 and the content tracker 404 use dynamic DNS to find the IP address of the origin server 108 that has the content object. If the content storage unit 412 requires an object, the selected content exchange unit may communicate with other content exchange units. If another content exchange unit does not have the content object, the content controller 408 requests the distribution of the object from the content server 308 to the selected content storage unit 412. [0085] Next, refer to FIGS. 7A to 7B. A flowchart showing an embodiment of a process of delivering content to a user is shown. Prior to the process described therein, the user and the administrator download and install the software of the client computer 112 and the origin server 108, respectively. The administrator selects content on the content server for posting on system 600. In order to determine the priority information 512, the viewer object proxy 504 automatically queries the adjacent content exchange unit 116 so that an appropriate QOS can be obtained. [0086] The process shown here begins at step 704, which directs the content processing program 508, where the user browses the web, to the directory page, search pages 212,216 of Active Directory 104. In this embodiment, the user uses a Boolean query to query the search engine on search page 216 to find the content object in step 708. At step 712, the search engine may search the server database 228 for hits and also search the crawling directory 124. As an alternative, the user can navigate directory page 212 to find the desired content object. [0087] In step 716, search or directory pages 212,216 provide links to content objects that the user may select. Each link has an origin server name 108, port, path, and name for the content object. Given the available choices, the user may select one of the links corresponding to the desired content object in step 720. The viewer object proxy 504 queries the dynamic DNS 204 to determine the IP address of the origin server name from the link. Once the IP address is known, the content processing program changes the destination to the IP address searched from the dynamic DNS 204 and the path and file name from the link. [0088] Once the client computer 112 is connected to the content manager 312, the priority information 512 is transferred to the content manager 312 in step 724. The content manager 312 analyzes the content location database 320, the priority information 512, and the status information to determine in step 728,732 the source of the content object to which the client computer 112 should be addressed. [0089] At step 736, a determination is made as to whether the source is the content exchange 116 or the content server 308. Content server 308 may be selected if content manager 312 determines that it can provide appropriate or superior quality of service. In some embodiments, only the content server 308 is considered as the source if there is no content exchange 116 capable of providing the appropriate QoS. If content server 308 is selected, origin server 108 provides content objects to client computer 112 in step 740. [0090] If the content manager 312 selects the content exchange unit 116 to accept the request for the content object, the content processing program 508 is redirected to the selected content storage unit 412, and the process continues to step 744 in FIG. 7B. At step 744, the content processing program 508 requests the content object in the link from the content storage unit 412. If all the content objects are in the content storage 412, at step 748,752 the objects are downloaded from the content storage 412 to the client computer. [0091] As an alternative, if any part of the content object is lost, a copy of the entire content object is assembled in the content storage 412. The assembly of the entire content object is transparent to the user. In steps 756 and 760, the content controller 408 queries the other content exchange unit 116 to determine which has the missing portion of the content object. The content object is rebuilt in the content storage 412 from start to finish so that the client computer 112 can start downloading as soon as possible. [0092] In step 764, the missing parts are searched from each content exchange unit 116 until all of the content objects are collected in the content storage unit 412 by an iterative method. If no other content exchange unit 116 has a missing part of the content object, step 768 queries the origin server 108 for the missing part. Queries dynamic DNS204 to determine the IP address of the content object's origin server name. At step 772, the dynamic DNS 204 directs the content controller 408 to the origin server 108 that has the content object. At step 776, the missing part is downloaded from the content server 308 of its origin server 108. The process loops back to step 748 and searches for other missing parts. [0093] This process of searching for parts is repeated in an iterative manner until all the missing parts are copied to the content storage unit 412. In this embodiment, the missing parts are continuously searched, but in other embodiments, the storage positions of the missing parts are determined, and they are searched in any order or even in the found order in parallel. It is possible. [0094] See Figure 8. A block diagram of an embodiment of the viewer object proxy 504 is shown. The viewer object proxy 504 has a path evaluation device 850, a weighting function 852, a display function or routine 854, a look-ahead logic function 856, a standard web access function 858, a decompression function 860, a decoding function 862, an e-commerce function 866, and a security function 864. It has a main function 868 function that interfaces various other functions of the viewer object proxy 504. The above list of possible features included in the Viewer Object Proxy 504 is merely exemplary and those skilled in the art will recognize other features related to the Viewer Object Proxy 504. [0095] Since the viewer object proxy 504 is a proxy that has all the content objects requested by the viewer flowing through it, the look-ahead logical function 856 can be executed. In one embodiment, the look-ahead logic function 856 anticipates the next browse or move of the user and captures the memory-related browse information on the client computer 112 before the user makes the actual request. Pre-acquired information is retained until the user actually requests the information. If the look-ahead logic feature 856 incorrectly anticipates the user's next browse, the pre-acquired data is discarded. For example, the look-ahead logical function 856 performs pre-acquisition of commonly accessed pages below the hierarchy of directory page 212 (as described with reference to FIG. 2). The look-ahead logic function 856 can reduce the access waiting time by the pre-acquired information. [0096] In some embodiments, decompression function 860 and decoding function 862 are provided. These features 860,862 provide the ability to decompress and decrypt information received from any of the origin server 108, content exchange 116, external origin server 118, or any other server on the Internet 120. [0097] Based on the availability of decompression function 860 and decryption function 862 for any user request, the viewer object proxy 504 will use the compression and encryption modes used during content object transfer on the Internet 120. It is possible to negotiate with the server of. Thus, whenever a user is surfing the Internet 120, the Viewer Object Proxy 504 talks to any server with which it communicates about what compression and encryption is supported. This does not require the server to have any special software, but can improve QoS if the communicating server supports the same compression, encryption, and security features supported by the Viewer Object Proxy 504. .. It should be recognized that a number of communication mechanisms can be used for decompression and decryption. For example, you can use FTP, NNTP, RTP, RTSP, SMTP. [0098] In one embodiment, decryption and decompression negotiations are accomplished via HTTP. More specifically, negotiations are accomplished via extended HTTP headers. Further, in some embodiments, the user can disable one or both of the decompression function 860 and the decoding function 862. If the user disables the respective functions 860 and 862, the viewer object proxy 504 does not negotiate to use the prohibited function. [0099] In some embodiments, the viewer object proxy 504 has security function 864. Security feature 864 works properly to allow or deny access. More specifically, security feature 864 provides control so that content objects can be deciphered only when authorized by a trusted system. For example, a trusted system accepts data and / or only if a particular dongle-type hardware device is connected to the client computer 112 and security feature 864 reports its connection conditions through the viewer object proxy 504. , May provide the authority to decrypt. [0100] In some embodiments, the viewer object proxy 504 has an e-commerce function 866. The e-commerce function 866 can be tightly integrated with the e-commerce engine provided on the Internet 120. A mechanism for purchasing content objects is provided to the user via the electronic commerce function 866. For example, the token credits stored in the subscriber database 224 can be refunded to the origin server 108 to download the content object. [0101] Further, the viewer object proxy 504 may have a standard web access function 858 that provides access to an internet domain outside the content delivery system 100. In one embodiment, when the viewer object proxy 504 receives a user request from the content processing program 508 of the content object supplied by a domain outside the content delivery system 100, the standard web access function 858 provides that the content object is a client. Determine if it was previously stored on computer 112. If the requested content object was previously saved, the saved content object is returned by the standard web access feature 858 to meet the user request. If the requested content object has not been previously saved, the user request is forwarded by the standard web access feature 858 and searches for the content object as if the content processor 508 directly accessed the Internet 120. .. [0102] The path evaluation device 850, the weighting function 852, and the display function or routine 854 will be described in relation to the flowchart of the viewer object proxy background application 900 included in FIG. The background application 900 utilizes the functions of various viewer object proxies 504 to determine a suitable content exchange 116 capable of providing sufficient quality of service to the client computer 112. The suitable content exchange unit 116 is stored in the memory as priority information 512, and then communicated with the content object manager 312. [0103] See Figure 9. When setup 982 runs at startup 980, display routine 854 is started. Setup 982 includes requesting and initializing the graphics memory of the client computer 112, initializing the proxy, and initiating the display routine 854. In addition, setup 982 may include any process that initializes the graphics display or proxy. [0104] Following setup 982, requesting and receiving information 984 is executed. During the request and reception of information 984, the content exchange database 232 is downloaded from Active Directory 104 to the client computer 112. As mentioned above, the content exchange database 232 includes, but is not limited to, improved QOS standards or subscription service standards, which can be classified or divided by region based on various methods. Thus, in some embodiments, requesting and receiving information 984 results in a search for a content exchange database 232 having only a content exchange unit 116 that is geographically adjacent to the client computer 112. For example, the retrieved content exchange database 232 may include only content exchange unit 116 in North America. In another embodiment, requesting and receiving information 984 is said to search the content exchange database 232 having only content exchange 116 that is believed to support a particular subscription service or belong to a particular provider. The result is. In the alternative, the content exchange database 232 is limited to content exchange units that belong to a particular Internet service provider, support a particular protocol, or provide content objects in a particular language. In yet another embodiment, requesting and receiving information 984 results in a search of the content exchange database 232, which includes all of the available content exchange units 116. [0105] In some embodiments, requesting and receiving information 984 further comprises requesting and receiving some portion of the routing database 234 that contains the routing information of the external origin server 118. The received portion of the routing database 234 is stored in the memory of the client computer 112 as the accepted server routing 520. [0106] Among other uses, information communicated through requesting and receiving 984 of information can be used to generate a display to the user. For example, in some embodiments, the position coordinates and icon information provided as part of the content exchange database 232 can be used as part of the graphic representation provided to the user via the display function or routine 854. The graphic representation may display to the user what is available on the content distribution system 100 and other available locations on the Internet 120. Further, the graphic representation can display a plurality of paths from the client computer 112 to the plurality of content exchange units 116. In a particular embodiment, the physical locations of the content exchange unit 116 and the origin server 108 are superimposed and displayed on a world map displayed to the user. [0107] In addition to using the content exchange database 232 with display function 854, information from the content exchange database 232 can be used to perform pass QOS evaluation 986. More specifically, the QOS of the path between the client computer 112 and the node specified by each content exchange unit 116 or the content exchange database 232 can be determined and stored in the memory of the client computer 112. [0108] It should be recognized that receiving a list of content exchanges 116 through requesting and receiving information 984 is an example of how to determine the available content exchanges 116. In an alternative embodiment, a list of available content object sources such as content exchange 116, external origin server 118, and origin server 108 is available, or a list compiled by viewer object proxy 504 is used. It depends. This list is based on knowledge of the Viewer Object Proxy 504 obtained internally or externally to the Content Delivery System 100 during the previous transfer of Content Objects. [0109] In one embodiment, the path QOS rating 986 is performed for all paths associated with the content exchange unit 116 listed in the content exchange database 232. Start by analyzing the path associated with the first content exchange unit 116 listed in the content exchange database 232. Next, in step 988, it is determined whether or not another content exchange unit 116 is provided from the content exchange database 232. If another content exchange unit 116 is provided, evaluate the path to that content exchange 116. Path QOS rating 986 is true for all content exchange units 116 listed in the content exchange database 232 until the row, and this process is continued. Path QOS evaluation can be performed on any content object source or transfer node, and is not necessarily limited to the evaluation of content exchange unit 116 and origin server 108. The transfer node can be a content exchange 116, or may be another server capable of storing and transferring content objects. Path When used in connection with QoS evaluation, the word path includes routing. [0110] In other embodiments, only a subset of the content exchange unit 116 listed in the content exchange database 232 is evaluated. A more efficient path QOS rating of 986 can be obtained by evaluating only a subset of the content exchange section 116 of the content exchange database 232. This efficiency improvement can be achieved if the particular content exchange 116 is likely to not provide sufficient quality of service and therefore is found to be not worth evaluating. So, for example, if the client computer 112 is in North America and it is determined that the content exchange is unlikely to provide sufficient QoS outside of North America, the path QOS rating 986 is only performed by the content exchange unit 116 in North America. [0111] Alternatively, a site-based path QOS rating of 986 can be performed if it is found that different types of content exchange units 116 are likely to provide similar services. More specifically, one content exchange unit 116 corresponding to each content exchange site 432 displayed in the content exchange database 232 is evaluated. This makes it possible to determine which content exchange site 432 is likely to provide sufficient QoS. After that, each of the content exchange units 116 related to the content exchange site 432, which is determined to be highly likely to provide sufficient QoS, is analyzed individually. Therefore, the content exchange unit 116 associated with the content exchange site 432, which is unlikely to provide QoS, is not evaluated. [0112] In another embodiment, path QOS evaluation 986 is performed only on content exchange 116 that supports a particular protocol. Alternatively, as an alternative, path QOS rating 986 may be performed on Content Exchange 116 only at Content Exchange Site 432 where at least one Content Exchange 116 at Site 432 supports a particular protocol. [0113] Further, in some embodiments, the path QoS rating 986 is performed only once at a particular content exchange unit 116. Therefore, if a particular content exchange 116 has more than one IP address, port, or name, Path QoS Rating 986 will only be performed for one IP address, port, or name. This eliminates duplicate evaluations during the path QOS rating 986. However, if different QoS is found to be possible, it is recognized that Path QOS Rating 986 can be performed on multiple IP addresses, ports, or names of the same content exchange 116. [0114] The choice of which subset of the content exchange 116 of the content exchange database 232 should be evaluated depends on the criteria output by the client computer 112, the experience of the client computer, the active directory 104, the content exchange unit 116, the origin server 108, and so on. And / or based on the user. [0115] In one embodiment, Path QOS Rating 986 provides trace routes, bandwidth testing via file transfer, server health checks, server load / resource checks, pings, path differences, and Border Gateway Protocol (BGP) routing that delivers information. Achieved using a combination of network analysis protocols, including but not limited to information and port response times. [0116] Traceroute includes any analysis that reports the route taken by a packet between a particular content exchange 116 and client computer 112. Traceroute typically reports the traversed hops, the IP address of the traversed hops, and the time required to traverse between the client computer 112 and the content exchange 116. [0117] Bandwidth testing via file transfer also includes any analysis when bulk communication is performed between the content exchange 116 and the client computer 112. During a bulk transfer, a variety of motion indices are derived that include, but are not limited to, the time required to perform the bulk transfer. Typically, the data transferred between the content exchange 116 and the client computer 112 is very random. The random nature of this data also mitigates the effects of any compression that occurs between the client computer 112 and the content exchange 116. [0118] Ping includes any analysis where information is sent by the client computer 112 to a particular content exchange 116 and the client computer 112 waits for a response from the content exchange 116. Ping is typically performed via UDP or any other lossy protocol (ie, a protocol that does not guarantee a response). Ping is effective for confirming whether or not the content exchange unit is in an operating state. As an alternative, the time required to receive the response can be used as a QOS instruction. [0119] Server health checks and server load / resource checks can include any analysis that determines various heuristics for health, loading, and the available resources of content exchange 116, origin server 108, or other forwarding nodes. Is. Generally, the content exchange 116 is queried to determine various operating characteristics. This includes average and peak CPU loads, CPU temperature, number of pages transferred between the hard drive and RAM to resolve cache corruption, and content exchange 116 generating read and write operations on the hard drive. Speed, number of requests the content exchange 116 is providing services at that time, average number of users accessing the content exchange, number of simultaneous connections, input / output speed to / from the content exchange 116 , The average size of the content object requested by the content exchange 116 from the content object, the size of the local memory including the RAM and hard drive memory associated with the content exchange 116, the average content object size contained in the local memory, the content object is the local memory Includes, but is not limited to, average time to stay, the speed of instances where the content object cannot be found in local memory, and any other error indication, and / or status information. [0120] The above heuristics can be determined using health checks 330,428 associated with a particular content exchange 116 or origin server 108. In one embodiment, the health checks 330 and 428 are software applications that run on content exchange 116 and origin server 108, respectively. When queried by the viewer object proxy 504, the health check 330,428 provides the CPU load, CPU temperature, number of simultaneous connections, and the number of requests currently being served by the content exchange 116 and origin server 108. In some embodiments, the viewer object proxy 504 queries the content object exchange 116 over HTTP to search for server health check heuristics. However, those skilled in the art will recognize many mechanisms, including but not limited to FTP, NNTP, RTP, RTSP, SHOUT, and SMTP, that access server health heuristics or connect to nodes through designated ports. .. [0121] In other embodiments, a status request to health checks 330,428 for viewer object proxy 504 results in a single status index being returned. A single status index is between 0 and 1, where 1 indicates a low characteristic and 0 indicates a good characteristic. The quality of the characteristics is determined based on the capabilities and functions of the content exchange unit 116 and other transfer nodes that act as the content object cache. Thus, in this embodiment, an index of 0.9 indicates that the content exchange unit 116 cannot locally maintain the content object over a long period of time. As an alternative, an index of 0.2 indicates the ability to maintain content objects over a long period of time. [0122] Many machine characteristics can be monitored and combined to determine a single status index. In one embodiment, a single status index is a characteristic of the average CPU load, the size of the local memory corresponding to the content exchange 116, the size of the average content object contained in the local memory, and the average time the content object stays in the local memory. Have a combination of. The combination of these individual characteristics functions to obtain an ability evaluation of the content exchange unit that acts as a content object cache. To combine the properties into a single exponent, each property is first normalized to a percentage of a given usage level. This normalization is performed so that 100% shows the highest characteristic value and 0% shows the worst characteristic value. The normalized values are then integrated into the overall status index by a predetermined percentage, and the integrated values are aggregated to generate a single exponent of 0 to 1. It is recognized that many alternative pairs of properties can be used to form a single exponent. For example, in one embodiment, it is possible to combine the average CPU load, the CPU temperature, the average number of users connected to the source, and the speed of input / output to and from the content exchange that forms a single index. [0123] 90% of maximum CPU load, 20% normalized content object size, 30% normalized local memory size, 80% normalized local memory average content object size, and Here is an example of forming a single exponent when the average time a content object stays in local memory normalized to 50% is known. These normalized values can be aggregated so that each property plays an equal role in a single exponent. Therefore, 20% is added to each normalized value and then aggregated to generate a single exponent. This gives a single index in this example of 54%, or 0.54. The examples and embodiments are merely exemplary, and many alternative methods of combining multiple properties into a single exponent are possible. [0124] BGP routing information includes any information reported as a result of border group protocol analysis. In general, this information relates to the path topology and includes, but is not limited to, the path attributes of the autonomous system (AS) and the next hop of the AS. [0125] The path difference includes any analysis that determines the difference in bandwidth or latency between alternative paths connecting the content exchange 116 and the client computer 112. [0126] Port response time includes any analysis that provides instructions for port response. In general, the test provides information about the response time of the port of content exchange 116. For example, port time can include any analysis that determines the time required to forward a zero length message. Generally, zero length transfer results are reported as the number of exchanged messages per second. The number of exchanges per second is used to estimate the latency of the content exchange unit 116. [0127] Any of the above methodologies may be combined to provide a quality of service or transmission quality indicator for the path connecting the content exchange 116 and the client computer 112. As an alternative, any of the above methodologies can be combined with other network analysis methodologies to provide a QOS rating of 986. For example, in one embodiment, pings, traceroutes, and health checks are used in combination to provide a QOS assessment. [0128] In other embodiments, all of the above methodologies are combined to determine QoS. To determine the QoS, execute each methodology and return the QoS factors for each methodology. The QOS coefficients for each methodology are then normalized and aggregated to form a single QOS coefficient for each analysis path. QOS coefficient normalization is performed with equal weighting of each methodology. [0129] For example, in one embodiment, the following normalization and aggregation operations are performed. That is, (1) the trace route reports 9 hops, (2) the bandwidth test via file transfer reports 300 ms, (3) the server health check reports one healthy, (4) Server load / resource check reports an average of 65% CPU load, (5) BGP routing information reports 4 hops, and (6) port response time reports 45ms. In addition, each return value is compared with a predetermined maximum value. That is, (1) 30 hops of traceroute, (2) 500 ms for bandwidth testing via file transfer, (3) server health check 1, (4) 100% server load / resource check, (5) 6 hops of BGP routing information, (6) 100 ms of port response time. [0130] Divide each return value by each given maximum value to perform normalization and aggregation. This results in a trace route of 0.33, a bandwidth test via file transfer of 0.6, a server health check of 1, a server load / resource check of 0.65, a BGP routing information of 0.75, and a port response time of 0.45. .. Next, all the normalized values are aggregated to give an overall QOS coefficient of 3.78. This QOS coefficient is then used to compare various content exchanges 116. [0131] In other embodiments, the values reported by each approach are weighted differently before the aggregation operation. The weighting factor may be provided by the user to influence the reported quality of service factor. This embodiment will be described using the values in the above example, where the normalized values reported by the various methodologies are (1) traceroute 0.33, (2) bandwidth test via file transfer 0.6, (3) Server health check 1, (4) Server load / resource check 0.65, (5) BGP routing information 0.75, (6) Port response time 0.45. Following this example, the following weighting factors are used. That is, trace route is 1, bandwidth via file transfer is 3, server health check is 1, server load / resource check is 4, BGP routing information is 1, and port response time is 3. Add weight factors to each normalized value, (1) traceroute 0.33, (2) bandwidth test via file transfer 1.8, (3) server health check 1, (4) server load / resource check The result is 2.6, (5) BGP routing information 0.75, (6) port response time 1.35. The weighted normalized values are then aggregated to give an overall QOS coefficient of 7.83. Again, this QOS factor is used to compare different content exchanges 116. [0132] In addition to providing the weighting factor, the user can manually select a predetermined order of content exchange 116, or provide only a single acceptable content exchange 116, either of which is a path. Effectively disable the automatic analysis of QOS rating 986. Therefore, the user can manually weight the path QOS rating 986 to achieve the QOS coefficient reported in the content exchange 116 by allowing the content exchange unit 116 to generate the QOS coefficient fully automatically, or automatically. Any desired result can be achieved by ignoring the analysis and providing a list 116 of the desired content. [0133] In some embodiments, a multi-step path QOS rating 986 can be performed using a subset of the methods described above to perform a precise QOS analysis with a limited number of content exchanges 116 after a coarse QOS analysis. Is. This multi-step analysis improves the efficiency of path QOS rating 986 by avoiding precise QOS analysis of content exchanges that are unlikely to provide sufficient QoS. Therefore, in a typical embodiment, the ping and traceroute are applied to perform coarse QOS analysis on all content exchanges 116 included in the content exchange database 232. A predetermined number, preferably less than 25 content exchanges 116, which provide sufficient quality of service according to coarse quality of service, are then evaluated using server health checks as a precise quality of service analysis. As a result of precise QoS analysis, the content exchange unit 116 that provides sufficient QoS is determined. Any combination of methods can be applied to perform either precise or coarse QOS analysis. In alternatives, it is recognized that either precise or coarse QOS analysis can itself consist of multi-step analysis. [0134] Path QOS Rating 986 is performed on possible paths, the QOS coefficients of each evaluation path are stored in the memory of the client computer 112, and then the content exchange unit 116 associated with the evaluation path is prioritized 990. The content exchange unit 116 is prioritized based on the QOS coefficient determined by the path QOS rating 986. A predetermined number of content exchange units are selected, ranked, and stored as priority information 512 based on the QOS coefficient. In one embodiment, the priority information 512 includes 10 priority content exchange units 116. [0135] As disclosed above, in another embodiment, path QoS evaluation can be performed on any content object source, not necessarily the content exchange unit 116 and the origin server 108. In this case, the priority information 512 can include not only the content exchange unit 116 but also the content object source and the origin server 108. [0136] The priority information 512 includes a list of content exchange units 116 determined to provide sufficient quality of service by network analysis performed from the perspective of the client computer 112. QOS can be improved by analyzing the QOS from the perspective of the client computer 112. [0137] In some embodiments, priority information 512 is used to form a subset of content exchange 116 analyzed by Path QOS Rating 986. For example, a content exchange 116 associated with the same provider as a content exchange 116 that exists on the same site or is included in the priority information 512 may be tested. Thus, only the content exchange unit 116, which is most likely to provide sufficient QoS, is re-evaluated in the next path QOS rating 986. An alternative is to analyze the content exchange 116 contained in the priority information 512 with a path QOS rating of 986, along with other content exchange units 116 that have been added to the content exchange database 232 since the priority information 512 was last created. Can be done. In these ways, the experience of Viewer Object Proxy 504 can be used to achieve a more efficient path QOS rating of 986. It is recognized that the above embodiments are for illustration purposes only and that there are numerous algorithms for selecting content exchange 116 to improve the efficiency of Path QoS Rating 986. For example, if the previous behavior of Path QOS Rating 986 reports poor enough results for a particular content exchange 116, it is not reanalyzed, but rather presumptively excluded. In some embodiments, this presumptive exclusion can be manually disabled by the user. [0138] The results of Path QoS Rating 986 can be displayed to the user. In some embodiments, the result is to encourage the user to continue running the Viewer Object Proxy 504 application on the desktop of the client computer 112, and the user manually content when modifying the weighting feature 852. Displayed to facilitate control of the selection of switch 116. In one embodiment, the display function 854, in addition to the others, illustrates the hop between the client computer 112 and the selected content exchange 116, along with statistics describing the operating characteristics. I will provide a. [0139] In addition to updating the priority information 512 at startup 980, the priority information 512 can be updated based on either the user request 994 or the time interval 996. In one embodiment, the priority information 512 is updated at a time interval of 996 and set to 3600 seconds. [0140] In addition to the background application described with respect to FIG. 9, the viewer object proxy 504 serves e-commerce requests and also serves content object user requests from the content distribution system 100, external origin server 118, and Internet 120. It is possible to provide foreground operations, including but not limited to those provided. More specifically, as described above in connection with the e-commerce function 866, the viewer object proxy 504 can process e-commerce requests. [0141] Accessing the content object from the content distribution system 100, the external origin server 118, and the Internet 120 will be described with reference to the flowchart showing the embodiment of the viewer object proxy request service 1000 included in FIG. See Figure 10. Viewer object proxy 504 receives user request 1010 for the content object. In one embodiment, the content distribution system 100 is accessed through the content processing program 508. More specifically, the content processing program 508 issues a content object request in response to a user command. The content object request is forwarded to the viewer object proxy 504 as user request 1010. [0142] Upon receiving the user request 1010, the viewer object proxy 504 determines whether the received user request 1010 can be fulfilled by the access 1020 to the content distribution system. In one embodiment, this determination is performed by comparing the source location of user request 1010 with a known list of source locations associated with the content delivery system 100. If the source location of user request 1010 matches the location associated with content delivery system 100, the request is fulfilled by access to the content delivery system 1020. Therefore, the content distribution system service 1030 is executed to fulfill the user request 1010. [0143] In some embodiments, the viewer object proxy 504 communicates with the origin server 108 for priority information 512 to execute the content delivery system service 1030. Using the priority information 512, the origin server 108 selects a content exchange unit 116 or an origin server 108 that can provide sufficient QoS for user request 1010. The origin server 108 then communicates the address of the selected content exchange 116 or the origin server 108 with the viewer object proxy 504. In one embodiment, the origin server 108 dynamically writes HTML to communicate the addresses of the content exchange 116 and the origin server 108 selected by the viewer object proxy 504. The viewer object proxy 504 then negotiates compression, encryption, and security compatible with the selected content exchange 116 and the origin server 108. In an alternative embodiment, the viewer object proxy 504 itself can select the content exchange unit 116 and use the priority information 512 to provide the requested content object. [0144] The viewer object proxy 504 requests the content object from the selected content exchange unit 116 or the origin server 108 and fulfills the user request 1010. Upon receipt of the requested content object, the viewer object proxy 504 provides decompression, decryption, and security according to the negotiated format. In this way, by transmitting the specific information of the client computer 112 to the origin server 108, the origin server 108 can select the content exchange unit 116 that can provide sufficient QOS. By providing analysis and content exchange selection from the perspective of the client computer 112, more accurate QoS analysis can be achieved and, as a result, better QoS can be obtained. [0145] If the content delivery system access 1020 cannot fulfill the user request 1010, the viewer object proxy 504 then determines whether the user request 1010 can be fulfilled by the external origin server access 1040. In one embodiment, this determination is performed by comparing the domain name shown in user request 1010 with the domain name of the external origin server 118 provided by the hosted server routing 520. If the domain name shown in user request 1010 matches the domain name of the external origin server 118, user request 1010 can be fulfilled from the matched external origin server 118 by executing the external origin server service 1050. Thus, the external origin server service 1050 is executed to fulfill user request 1010. In other embodiments, the user request 1010 may include a directory name, a machine name, an IP address, and other identifiers that are compared to the identifier corresponding to the external origin server included in the accepted server routing 520. [0146] In one embodiment, the viewer object proxy 504 accesses content exchange 116, which is known to provide content objects supplied by the matched external origin server 118, to perform external origin server service 1050. In this way, the viewer object proxy 504 changes the destination of the user request 1010 from the matched external origin server 118 to the content exchange unit 116. This destination change is transparent to both the matched external origin server 118 and the content processing program 508. In some embodiments, the viewer object proxy 504 negotiates with the selected content exchange 116 for compatible compression, encryption, and security. In response, Content Exchange 116 fulfills user request 1010 in accordance with negotiated compression, encryption, and security. If the content exchange unit 116 does not have the requested content object, the content exchange unit 116 requests the desired content object from the matched external origin server 118. In any case, the requested content object is communicated by the content exchange unit 116 to the client computer 112. Upon receipt of the requested content object, decompression, decryption, and security are provided by the viewer object proxy 504 according to the negotiated format. In this way, the content object provider that maintains and manages the external origin server 118 by providing the service of the user request 1010 from the content exchange unit 116 does not bear the burden of delivering the content object. [0147] In an alternative embodiment, the viewer object proxy 504 can communicate the priority information 512 with the origin server 108 to execute the external origin server service 1050. Using the priority information 512, the origin server 108 selects a content exchange 116 or origin server 108 that can provide sufficient quality of service for user request 1010. The origin server 108 communicates the address with the selected content exchange unit 116 and the origin server 108 with the viewer object proxy 504. [0148] The viewer object proxy 504 then fulfills user request 1010 by requesting a content object from the selected content exchange 116 or origin server 108. [0149] The selected content exchange 116 or origin server 108 fulfills user request 1010 by requesting the desired content object from the matched external origin server 118 and then communicating the requested content object with the viewer object proxy 504. .. In this way, better QOS can be achieved by providing services according to the client computer 112. Furthermore, by providing the service from the content exchange unit 116 to the user request 1010, the content object provider that maintains and manages the external origin server 118 does not have to bear the burden of delivering the content object. [0150] If user request 1010 cannot be fulfilled by external origin server access 1040 or content distribution system access 1020, user request 1010 is sent to the Internet 120. In one embodiment, the 1060 user request 1010 that has passed through the Internet 120 is processed as described for the standard web access function 858. [0151] See Figure 11. An embodiment of a method of tracking content between the origin server 108 and the content exchange unit 116 will be shown. This example primarily shows the interaction between a single origin server and a single content exchange, but each origin server communicates with many content exchanges, and each content exchange communicates with many origin servers. Naturally. In the interaction between all origin servers 108 and all content exchanges 116, the system 600 will be able to track parts of the content object. [0152] This process is started from the content exchange unit and the origin server in an offline or unavailable state. In step 1104, the content exchange unit 116 becomes available after the start of operation. When first available, content exchange 116 is empty and waits for content requests from client computer 112. When the client computer 112 fulfills the request, the content storage unit 412 fills itself with a content object or a part of the content object. [0153] At step 1108, the origin server 108 of this embodiment is operational and available. Origin server 108 publishes its local content catalog in Active Directory 104, causing all content trackers 404s in system 600 to identify themselves. The content exchange database 232 of the running content exchange unit 116 can query the content manager 312 to determine the address of the content tracker 404. [0154] Each content exchange unit 116 maintains and manages the origin server database 424 of the origin server 108 that communicates with the content exchange unit 116. Before the origin server 108 goes offline, the origin server 108 attempts to communicate with all content exchanges 116 to notify them of this change in status. The offline origin server 108 is deleted from the origin server database 424. Whenever the origin server 108 fails to respond to the content exchange 116 that sends the status, it is presumed to be offline and deleted from the origin server database 424. [0155] Whenever Content Exchange 116 is scheduled to go offline, it will try to notify System 600. The content exchange information 324 and the content location database 320 of each origin server 108 are notified to the content object or the origin server 108 having a part of the content object so as to be kept up-to-date. In addition, Active Directory 104 is notified so that the content exchange database 232 accurately reflects the content exchange unit 116 available to system 600. [0156] Each content tracker 404 communicated in step 1108 responds to content manager 312 with status information 420 and any content objects related to that content manager 312 in step 1112. Since the content manager 312 is about to go online, it is unlikely that any content object originating from the content server 308 associated with the content manager 312 will be present on the content storage 412. The status information 420 from each content exchange unit 116 that responds is stored in the content manager 312 as the content exchange information 324. In various embodiments, status information 420 may be reported with or without content catalog information 416. When routing the client computer 112 to the source of the content object, the content exchange information 324 is used to determine the loading into the content exchange in question. Each content tracker 400 periodically updates all active content managers 312 with status information so that the content exchange information 324 is up to date. In another embodiment, the content tracker 404 may provide updated status information 420 in the event of a sudden, non-regular, significant change in status. [0157] At step 1116, the content manager 312 sends the client computer 112 to the content exchange 116 to fulfill the content object's request. Before redirecting the client computer 112, the content manager 312 determines that a particular content exchange is the preferred source for that content object. If the entire content object is not in the preferred content exchange 116, the content controller 408 searches for the missing part of the content object in step 1120. Once the beginning of the content object is available from the content exchange unit 116, the client computer 112 begins downloading the content object. [0158] At predetermined intervals or when changes occur, the content tracker 404 reports to all content managers 312 the content objects and / or parts of the content objects stored in the content storage unit 412. The local content catalog 416 stores a list of content objects and / or parts of the content objects held in the content storage unit 412. In step 1124, the content object that may be added in step 1120 is communicated with the origin server 108 that originally provided the content object. Each origin server 108 having information on the content storage 412 receives a report from the content tracker 404. [0159] Then, at some point, step 1128 sends additional information from the local content catalog 416 from the content tracker 404 to the content manager 312. This report starts when the timer expires in step 1132, but in other embodiments it may report this information in the event of a change. Based on the reports from all content exchange units 116, the content manager 312 stores the storage location information in the content location database 320. Future inquiries about the content location database 320 by the content manager will allow the content manager 312 to know which content exchange 116 currently has the content object that the client computer 112 wants to address. [0160] When a report of status information 420 and / or content catalog information 416 is created in a particular content manager 312, the content tracker 404 determines whether the content manager 312 accepts the information. If the content manager accepts that information, the process loops back to step 1116 requesting another content object. [0161] If Content Manager 312 is, for example, offline, the information reported by Content Tracker 404 will not be accepted. The content tracker 404 may make some unsuccessful communication attempts before the content manager 312 concludes that it is unavailable. Detect the unresponsive content manager 312 in step 1136. Any content object associated with the unavailable Content Manager 312 is determined by querying the Local Content Catalog 416. Relevant content objects are either wiped out of the content storage 412 to leave the location of the new content object, or when storage space is needed, they are tagged for deletion. The content tracker queries the dynamic DNS 204 during the above process of translating the origin server name into an IP address. [0162] Next, refer to FIG. A flowchart showing an embodiment of a process of communicating information from the content manager to the server manager is shown. The flowchart shown shows the interaction between Active Directory 104 and a single origin server 108. However, it is understood that Active Directory 104 interacts with a number of origin servers in a similar manner to develop an electronic roster that catalogs the origin server numbers in server database 228. The user queries the server database 228 with the search page and directory page norms. [0163] Processing begins at step 1204, where content manager 312 provides status information to server manager 208. The server manager 208 receives the status information and stores it in the subscriber database 224 in step 1208. Subscriber database 224 holds information for all origin servers 108 currently active in system 600. [0164] Server manager 208 can manage how often each origin server 108 reports and responds to information from the local content catalog 316. The frequency with which each origin server reports to the local content catalog 316 is controlled by server manager 208, which provides the content manager 312 with a report response time interval in step 1210. Loading or utilization of Active Directory 104 is analyzed to determine the total bandwidth available for updating information in server database 228. Based on that loading decision, a report response time interval is selected and sent to Content Manager 312. In some embodiments, the report response time interval is typically set to 2 minutes, but can be longer if Active Directory is overloaded. [0165] Each origin server 108 maintains a local content catalog 316 for all content objects selected by the administrator for posting on system 600. The first time Content Manager 312 communicates with Server Manager 208 to report Local Content Catalog 316, all entries from Catalog 316 are sent. On the next communication, only changes to the local content catalog 316 will be reported to preserve bandwidth. In another embodiment, all local content catalogs are reported in their respective communications. At step 1216, the server manager 208 receives the changes to the local content catalog 316 or the local content catalog and stores that information in the server database 228. The origin server 108 communicates with the server manager 208 to signal that the origin server 108 is still available, even if the local content catalog 316 has not changed during the report response time interval. [0166] The server manager 208 detects whether the origin server 108 stops communicating because it is presumed to be offline or otherwise unavailable. At step 1220, Server Manager 208 sets the timeout value for Origin Server 108. In this example, the timeout value is set to 3 times the report response time interval, but other multiples can also be used. The counter is set to a timeout value and determines when the counter reaches the timeout value. [0167] When the counter reaches the timeout value in step 1224, Active Directory 104 deletes all references to origin server 108 in step 1236, or tags the references to delete them if space is needed. Origin server 108 is presumed unavailable if communication does not begin before the counter reaches the timeout value. The entry corresponding to the local content catalog 316 of the origin server 108 is deleted from the server database 228, and the entry of the origin server 108 is deleted from the subscriber database 224. By removing the entry from the database 224,228, no user interfaced with the directory, search pages 212,216, will be presented with a link to the content object associated with that origin server 108. On the other hand, after the counter reaches the timeout value, the entry corresponding to the local content catalog 316 may be tagged for deletion. If space is required for other content objects, the content objects tagged for deletion will be overwritten. [0168] If there is communication by origin server 108 as determined in step 1228, Active Directory 104 knows that origin server 108 is behaving properly. Communication results in resetting the counter that stores the timeout value. Processing loops back to step 1210, where server database 228 is updated, and a new report response time interval is determined. This process is looped and repeated until the origin server 108 can no longer report before the counter storing the timeout value expires. [0169] See FIG. A flowchart showing an embodiment of a process in which the content manager 312 posts information to the server manager 208 is shown. The origin server administrator downloads the software from download page 220 in Active Directory 104. The software is installed on Origin Server 108. At this point, the content object is available on content server 308 in static or stream form. The process starts from step 1304, which starts the operation from the content object prepared by the origin server and the state in which the software is installed. [0170] At step 1308, the administrator performs a manual selection process to select the content object. During this process, only a subset of the content objects on content server 308 may be made available to system 600. The selected content object is entered in the local content catalog 316. [0171] In steps 1308, 1312, content manager 312 sends information about origin server 108 to server manager 208 for entry into subscriber database 224 as soon as it first communicates with active directory 104. If this is the first contact with Active Directory 104 in Content Manager 312, the administrator may provide some information sent. Information added by the administrator is stored and provided in the next communication with the subscriber database 224. [0172] At step 1316, content manager 312 communicates with server manager 208 to post information in the local content catalog 316. At step 1320, server manager 208 obtains the local content catalog 316 and creates an entry in server database 228 for each content object. The content of its server database 228 is used when systematically organizing the directory pages and search pages 212,216 presented for the user to search for content. [0173] Server manager 208 controls how often all origin servers 108 report their local content catalog 316. If Server Manager 208 is overloaded, the report response period given to Content Manager 312 is increased. When a change in the local content catalog 316 is detected, server manager 208 can also request content manager 312 to report and respond. In this embodiment, the report response period, or interval time, is 2 minutes and is provided to the content manager 312 in step 1324. [0174] In step 1328, content manager 312 waits for the interval time to expire before reporting and responding to server manager 208. Once the timer expires, the content object on the content server 308 is scanned to determine if the local content catalog 316 should be modified. At step 1332, once modified, the processing loop returns to step 1316, where the local content catalog 316 is listed again in the server database 228. At step 1316, the entire local content catalog for the first communication is provided, and only changes are provided for the next communication to reduce the amount of information and the information is updated. [0175] Next, refer to FIG. A block diagram of an embodiment of the content exchange unit 116 showing a plurality of providers connected via different ports 1408 is shown. Three data paths 1404 are logically separated on Internet Protocol port 1408 for content exchange 116. Ports are used to demultiplex logical datapaths 1408, even if port 1408 can physically share a common path. Having multiple ports 1408 allows you to manage the traffic associated with those ports 1408. [0176] For example, the content exchange unit 116 may be used to provide content objects from the external origin server 118. The administrator of the external origin server may want to split the traffic into three bandwidth providers. Port A 1408A can be associated with Provider A, Port B 1408B can be associated with Provider B, and Port C 1408C can be associated with Provider C. The content exchange can monitor the activity of those ports and report that information to the provider so that they can properly bill the external origin server 118 to carry that bandwidth. [0177] Requests from client computer 112 can be split between ports 1408 according to the configuration determined by the external origin server 118 so that bandwidth can be allocated between providers. In one embodiment, each client computer 112 circulates through three ports 1408 according to a weighting function. In other embodiments, each client computer is assigned and used a different port 1408. In yet another embodiment, the QOS determination for each port 1408 affects the choice of port 1408 used by the client computer 112. Using these technologies, the client computer 112 in System 600 can influence the total bandwidth purchased from each provider. [0178] See Figure 15. A block diagram of another embodiment of the Content Exchange 116 showing multiple providers connected via different addresses 1508 is shown. In this embodiment, the three IP addresses 1508 are used to logically separate the three data paths 1504 from each other. While logical data paths are primarily intended to separate bandwidths by provider, logical data paths can separate security levels, subsets of content objects, or anything else. [0179] Next, refer to FIG. Shown is a hierarchical representation of an embodiment of grouping providers 1604 and content exchange 116. In this embodiment, there are two bandwidth providers 1604. Each provider 1604 has its own dedicated site 1608-1,1608-3 and a shared site 1608-2. Site 1608 is a physical location that accommodates one or more servers 1612 and corresponds to a single content exchange 116 that can accommodate multiple servers 1612. [0180] Each server 1612-3 at shared site 1608-2 has separate IP addresses 1616-3, 1616-4 for each provider 1604 sharing that site 1608-2. These two IP addresses 1616-3,1616-4 allow the given shared site 1602-2 to logically separate traffic. Even though all traffic sometimes shares the same physical path, logical delimiters allow content object requests and the bandwidth servicing those requests to be attributed to individual providers 1604. In certain embodiments, the traffic associated with each provider can be physically separated by filtering on IP address 1616. In this way, the bandwidth may be allocated to provider 1604. [0181] Next, refer to FIG. Shows a hierarchical representation of other embodiments of grouping providers and content exchanges. In this embodiment, port 1716 is used to identify the logical data path to server 1612. Port 1 1716-3 is associated with provider 1 1604-1 and port 2 1716-4 is associated with provider 2 1604-2 on site 1608-2, which serves multiple providers 1604. In certain embodiments, each provider may have a range of ports associated with them rather than a single generic port on all servers. [0182] Considering the above description, many advantages of the present invention are immediately apparent. Servers shared by many parties can be logically separated and measured with meters. This allows the client computer to manage the use of the logical data path under the influence of the party associated with the logical data path. [0183] Also, many modifications and modifications of the present invention can be made. For example, other identifiers can be used to logically separate data paths on and above ports or IP addresses. Furthermore, the mechanism for logically separating the data on the common route can be modified so that the Internet protocol can be modified. [0184] Although the present invention describes the particular embodiment, the examples merely illustrate and limit the invention, and the scope of the invention is claimed in the attachment. It is determined only by the range of. [Simple explanation of drawings] FIG. 1 is a block diagram showing an embodiment of a content distribution system. FIG. 2 is a block diagram showing an embodiment of an active directory portion of a content distribution system. FIG. 3A is a block diagram showing an embodiment of an origin server unit of a content distribution system. FIG. 3B is a block diagram of an embodiment of an external origin server unit of a content distribution system. FIG. 4A is a block diagram showing an embodiment of a content exchange unit of a content distribution system. FIG. 4B is a block diagram showing another embodiment of the content exchange unit of the content distribution system. FIG. 4C is a block diagram showing an embodiment of a content exchange site having a plurality of content exchange servers. FIG. 5 is a block diagram showing an embodiment of a client computer unit of a content distribution system. FIG. 6 is a block diagram showing an embodiment of a content distribution system. FIG. 7A is the first part of a flowchart showing an embodiment of a process for delivering content to a user. FIG. 7B is the second part of the flowchart of FIG. 7A. FIG. 8 is a block diagram showing an embodiment of a viewer object proxy. FIG. 9 is a flowchart showing a background application of a viewer object proxy. FIG. 10 is a flowchart showing a viewer object proxy request service. FIG. 11 is a flowchart showing an embodiment of a method of tracking content between an origin server and a content exchange unit. FIG. 12 is a flowchart showing an embodiment of a process for communicating information from a content manager to a server manager. FIG. 13 is a flowchart showing an embodiment of a process in which a content manager posts information on a server manager. FIG. 14 is a block diagram showing an embodiment of a content exchange unit showing a plurality of providers connected via different ports. FIG. 15 is a block diagram showing another embodiment of a content exchange unit showing a plurality of providers connected via different addresses. FIG. 16 is a hierarchical representation showing an embodiment of grouping between a provider and a content exchange. FIG. 17 is a hierarchical representation showing other embodiments of grouping between providers and content exchanges.
21 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| JP1141285A | Cites | Japan |
| JP10307783A | Cites | Japan |
| JP1168839A | Cites | Japan |
| 信学技報 IN98-130 | Non-patent | – |
| 情報処理学会論文誌,Vol.40 No.11,p4127-4142 | Non-patent | – |
164 members in 12 offices
Members164
| Document | Office | Kind | |
|---|---|---|---|
| CA2410804A1 | Canada | A1 | |
| CA2410847A1 | Canada | A1 | |
| CA2410850A1 | Canada | A1 | |
| CA2410853A1 | Canada | A1 | |
| CA2410860A1 | Canada | A1 | |
| CA2410861A1 | Canada | A1 | |
| CA2410863A1 | Canada | A1 | |
| CA2410866A1 | Canada | A1 | |
| CA2410957A1 | Canada | A1 | |
| CA2410959A1 | Canada | A1 | |
| CA2413886A1 | Canada | A1 | |
| CA2413943A1 | Canada | A1 | |
| CA2413952A1 | Canada | A1 | |
| CA2413956A1 | Canada | A1 | |
| CA2413960A1 | Canada | A1 | |
| US2001049732A1 | United States of America | A1 | |
| WO0193005A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0193037A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0193080A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0193082A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0193108A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0193109A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0193110A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0193527A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0193532A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0193533A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0193534A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0193535A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0193536A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0193537A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0193538A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU6531001A | Australia | A | |
| AU6535201A | Australia | A | |
| AU6665201A | Australia | A | |
| AU6665501A | Australia | A | |
| AU6813701A | Australia | A | |
| AU6814001A | Australia | A | |
| AU6815101A | Australia | A | |
| AU6816001A | Australia | A | |
| AU6816801A | Australia | A | |
| AU7128201A | Australia | A | |
| AU7128301A | Australia | A | |
| AU7293101A | Australia | A | |
| AU7512601A | Australia | A | |
| AU7512801A | Australia | A | |
| AU7516101A | Australia | A | |
| US2001051980A1 | United States of America | A1 | |
| WO0193109A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO0193109B1 | World Intellectual Property Organization (WIPO) | B1 | |
| WO0193110A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO0193532A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO0193533A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO0193527A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO0193536A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO0193037A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO0193538A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO0193537A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO0193535A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO0193108A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO0193082A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO0193534A3 | World Intellectual Property Organization (WIPO) | A3 | |
| TW504621B | Taiwan Province of China | B | |
| WO0193080A3 | World Intellectual Property Organization (WIPO) | A3 | |
| TW510106B | Taiwan Province of China | B | |
| WO0193527A9 | World Intellectual Property Organization (WIPO) | A9 | |
| EP1287450A2 | European Patent Office (EPO) | A2 | |
| EP1287451A2 | European Patent Office (EPO) | A2 | |
| EP1287452A2 | European Patent Office (EPO) | A2 | |
| EP1287453A2 | European Patent Office (EPO) | A2 | |
| EP1287454A1 | European Patent Office (EPO) | A1 | |
| EP1287455A2 | European Patent Office (EPO) | A2 | |
| EP1287650A2 | European Patent Office (EPO) | A2 | |
| EP1287657A2 | European Patent Office (EPO) | A2 | |
| EP1287659A2 | European Patent Office (EPO) | A2 | |
| EP1287661A2 | European Patent Office (EPO) | A2 | |
| EP1287662A2 | European Patent Office (EPO) | A2 | |
| EP1287663A2 | European Patent Office (EPO) | A2 | |
| EP1287664A2 | European Patent Office (EPO) | A2 | |
| KR20030019410A | Republic of Korea | A | |
| KR20030022804A | Republic of Korea | A | |
| KR20030022805A | Republic of Korea | A | |
| KR20030022806A | Republic of Korea | A | |
| KR20030022807A | Republic of Korea | A | |
| KR20030022808A | Republic of Korea | A | |
| KR20030022809A | Republic of Korea | A | |
| KR20030022810A | Republic of Korea | A | |
| WO0193532B1 | World Intellectual Property Organization (WIPO) | B1 | |
| EP1297677A2 | European Patent Office (EPO) | A2 | |
| KR20030026932A | Republic of Korea | A | |
| AR028125A1 | Argentina | A1 | |
| AR028126A1 | Argentina | A1 | |
| AR028658A1 | Argentina | A1 | |
| AR028659A1 | Argentina | A1 | |
| AR028660A1 | Argentina | A1 | |
| AR028661A1 | Argentina | A1 | |
| AR028662A1 | Argentina | A1 | |
| AR029109A1 | Argentina | A1 | |
| AR029110A1 | Argentina | A1 | |
| KR20030051429A | Republic of Korea | A | |
| KR20030051430A | Republic of Korea | A |
34 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of completion of termEXPY | EXPY | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Written notification of registration of transferJAPANESE INTERMEDIATE CODE: R350R350 | R350 | |
| Request for change of ownership or part of ownershipJAPANESE INTERMEDIATE CODE: R313113S111 | S111 | |
| Written request for registration of change of domicileJAPANESE INTERMEDIATE CODE: R313531S531 | S531 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| Written notification of registration of transferJAPANESE INTERMEDIATE CODE: R350R350 | R350 | |
| Request for change of ownership or part of ownershipJAPANESE INTERMEDIATE CODE: R313113S111 | S111 | |
| Written request for registration of reclamation of domicileJAPANESE INTERMEDIATE CODE: R313631S631 | S631 | |
| Written request for registration of reclamation of domicileJAPANESE INTERMEDIATE CODE: R313631S631 | S631 | |
| Written request for registration of reclamation of nameJAPANESE INTERMEDIATE CODE: R313633S633 | S633 | |
| Written request for registration of reclamation of nameJAPANESE INTERMEDIATE CODE: R313633S633 | S633 | |
| Transfer withdrawnWithdrawnJAPANESE INTERMEDIATE CODE: R371R371 | R371 | |
| Request for change of ownership or part of ownershipJAPANESE INTERMEDIATE CODE: R313113S111 | S111 | |
| Written request for registration of reclamation of domicileJAPANESE INTERMEDIATE CODE: R313631S631 | S631 | |
| Written request for registration of reclamation of domicileJAPANESE INTERMEDIATE CODE: R313631S631 | S631 | |
| Written request for registration of reclamation of nameJAPANESE INTERMEDIATE CODE: R313633S633 | S633 | |
| Written request for registration of reclamation of nameJAPANESE INTERMEDIATE CODE: R313633S633 | S633 | |
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Report on retrievalJAPANESE INTERMEDIATE CODE: A971007A977 | A977 | |
| Written request for application examinationJAPANESE INTERMEDIATE CODE: A621A621 | A621 |
Numbers
- Publication
- 4732667
- Application
- 588199
Titles2
- Japanese
- 選択的ルーティング
- English
- Selective routing
Classification
- CPC, 27
- H04L45/30
- H04L12/28
- G06F2216/09
- H04L47/125
- H04L63/0281
- H04L63/0428
- H04L63/08
- H04L65/80
- H04L67/1008
- H04L67/1029
- H04L67/101
- H04L67/14
- H04L67/1038
- H04L69/24
- H04L69/329
- G06F16/9574
- G06F16/951
- H04L67/10015
- H04L61/50
- H04L61/4511
- H04L65/611
- H04L67/1001
- H04L67/563
- H04L67/5681
- H04L67/59
- H04L67/63
- G06F16/953
- IPC, 7
- H04L12 56
- G06F13 00
- G06F15 00
- G06F17 30
- H04L29 06
- H04L29 08
- H04L29 12
