JP4968975B2 - Content distribution method in distributed computer network - Google Patents

Content distribution method in distributed computer network Download PDF

Info

Publication number
JP4968975B2
JP4968975B2 JP50484999A JP50484999A JP4968975B2 JP 4968975 B2 JP4968975 B2 JP 4968975B2 JP 50484999 A JP50484999 A JP 50484999A JP 50484999 A JP50484999 A JP 50484999A JP 4968975 B2 JP4968975 B2 JP 4968975B2
Authority
JP
Japan
Prior art keywords
site
distribution
user
network
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP50484999A
Other languages
Japanese (ja)
Other versions
JP2002506543A (en
Inventor
ケネス・ダブリュ・コルビー
ブライアン・ケナー
ロバート・エヌ・マドライ
Original Assignee
インタヴュ・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US08/878,385 priority Critical
Priority to US08/878,385 priority patent/US6112239A/en
Application filed by インタヴュ・インコーポレーテッド filed Critical インタヴュ・インコーポレーテッド
Priority to PCT/US1998/012784 priority patent/WO1998058315A1/en
Publication of JP2002506543A publication Critical patent/JP2002506543A/en
Application granted granted Critical
Publication of JP4968975B2 publication Critical patent/JP4968975B2/en
Anticipated expiration legal-status Critical
Application status is Expired - Lifetime legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/1002Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers, e.g. load balancing
    • H04L67/1004Server selection in load balancing
    • H04L67/1008Server selection in load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/1002Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers, e.g. load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/1002Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers, e.g. load balancing
    • H04L67/1004Server selection in load balancing
    • H04L67/101Server selection in load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/1002Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers, e.g. load balancing
    • H04L67/1004Server selection in load balancing
    • H04L67/1021Server selection in load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/1002Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers, e.g. load balancing
    • H04L67/1038Load balancing arrangements to avoid a single path through a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/1002Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers, e.g. load balancing
    • H04L67/1004Server selection in load balancing
    • H04L67/1014Server selection in load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/1002Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers, e.g. load balancing
    • H04L67/1004Server selection in load balancing
    • H04L67/1023Server selection in load balancing based on other criteria, e.g. hash applied to IP address, specific algorithms or cost
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/10Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
    • H04L67/1002Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers, e.g. load balancing
    • H04L67/1029Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers, e.g. load balancing using data related to the state of servers by a load balancer

Description

The present invention relates to a system and method for distributed data storage and retrieval, and more particularly, by which a user obtains network performance information for a multipurpose network that is dynamic and distributed. The present invention relates to a system and method. Here, this information will be used to identify and select the optimal distribution site or server for receiving computer data, specifically multimedia content. Such distribution sites and servers are selected to increase network capacity, distribute server load, and reduce transmission delays between servers and users.
Background of the Invention
The Internet is an open network of computers that are spread and connected throughout the world. A message can be sent from any computer on the Internet to any other computer by specifying the destination address and passing the message from computer to computer through a series of “hops”. it can. Each computer, router, or “node” on the Internet has a unique Internet address. When an intermediate computer or router receives a passing message, the computer checks the intended destination of the message and forwards the message one after another accordingly.
The Internet is developing at a rapid rate, both in terms of scale and sophistication. In the past, the majority of users on the Internet were academic, research or institutional users. The Internet was then used primarily to send and receive e-mail and network news and to allow the transfer of computer files. However, since the introduction of the World Wide Web (also known as “Web” or “WWW”) a few years ago, the Internet has generally been of interest, ie, the representation of images, articles, etc. Began to increase the amount of other types of data.
Web protocols and languages establish a graphical means of navigating the expanses of the Internet. In many cases, “web pages”, primarily consisting of text and graphic materials, are stored in a number of computers known as “web servers” in the Internet. A software program known as a “browser” is used to access and view web pages via the Internet by specifying the location of the desired web page (ie, the internet address) be able to. When a web page is accessed, that information is transmitted from the remote computer (server or distribution site) to the user via the Internet, wherever it is located in the world.
Recently, the web has begun to host highly sophisticated types of multimedia content and computer software, such as audio and video data. Compared to first generation web content, text and still images, audio clips, video clips and software programs have very high storage and bandwidth requirements.
Currently, it is difficult, if not impossible, to provide high-speed sustained transmission of large audio / video files over the Internet's multi-node links. Since data is often transferred from a distance, many factors can cause some or even some delay or loss of transmission. Whether the user experiences a minor delay in receiving a small graphic or text file is generally not critical. However, it is recognized that real-time data such as video has very specific and strict timing requirements for data transfer and display.
Unfortunately, the current design of a data network similar to the traditional Internet is based on the principle that delays and large data transmission rate variations are acceptable for normal data (eg text and still images) . As a result, due to the high price that allows access to text and graphic information from locations around the world, such transmission flaws are considered acceptable, and the basic capacity of the Internet reduces the data transmission costs. Somewhat “oversubscribed” to reduce. In other words, the timeliness of network data transmission have been compromised considerably to make the total cost of being a long distance communication connection relatively meaningless.
In order to successfully transfer audio-video data over a message-oriented network such as the Internet, network resources need to be deposited in a form that facilitates the timeliness of transmission for any user over several people. . A system that uses deposited network resources typically uses existing pricing methods for shared networks such as the Internet because it cannot participate in sharing network resources in data packets on a data packet basis. I can't do it. Video data must be transmitted excluding lower priority data. Therefore, especially when the connection is “long distance” or when the connection is continued for an extended time, the transmission cost is significant.
Another consequence of the time-to-cost tradeoff described above is an apparently indiscriminate network structural design. Variations in latency and throughput have traditionally been favored by low cost, so the configuration of the Internet infrastructure has also been determined by cost considerations. For this reason, the efficiency of network interconnections was rarely considered. Rapid development of real-time data is changing this demand.
It has been recognized that poor data transfer performance of time sensitive data over the Internet is typically caused by four factors: Packet loss, excessive server utilization, relatively low network infrastructure capacity, and inherent delays in network hardware. In particular, packet loss is caused by insufficient infrastructure and lack of robustness in routing. The inherent delay is believed to be caused by, among other things, the lack of flow control between adjacent nodes in a multi-node path on the Internet.
Unlike smaller text and graphic files, relatively large video files may require several minutes (or more) of “streaming”, ie, a continuous data flow. As a result, normal network performance problems are exacerbated. The network bandwidth, ie the data carrying capacity of a certain network is limited. This increases packet loss and delay. Long distribution time consumes a large amount of server capacity for a long period of time and reduces resources available to other users. Thus, as the network infrastructure becomes increasingly congested, packet loss and delay continue to increase, transmission times increase, and server load further increases.
This pattern illustrates a “downward spiral” of network performance that can be influenced by attempts to transmit large data files such as video clips. As long as the network traffic remains within the limits imposed by the network bandwidth, the network performance remains acceptable. However, whenever the peak network load exceeds capacity, the aforementioned continuous decline begins, extending the period of poor network performance.
As described above, the browser program may specify a desired web page location (ie, an internet address) or, more generally, “hot linking” to a web page (“hotlinking”). Can be used to access and view web pages via the Internet. Common browsers are Lynx, NCSA Mosaic, Netscape Navigator, and Microsoft Internet Explorer. The desired web page is a global resource location indicator (“URL” (uniform resource locator)) that uses the syntax “http: //internet.address/directory/filename.html” to indicate the exact location of the file. Specified by.
Web pages are usually written in a language known as “HTML” (HyperText Markup Language) in terms of layout and content. Any particular computer linked to the Internet can store and store one or more web pages, ie computer files written in HTML format, for access by the user.
Hot linking from one HTML web page to another HTML web page is accomplished as follows. A user first accesses a web page having a known address, often on a computer located in the user's ISP (Internet Service Provider). An ISP is an organization that provides Internet connectivity to users. In addition to textual and visual data specified in HTML format, the web page is often a “link”, the Internet of other web pages on other computers throughout the Internet. It may contain embedded information (in the form of a URL) that points to an address. The user can then access other web pages by selecting a link (often by pointing and clicking with the mouse), which in turn contains more data and / or additional links. Can be included.
Various extensions to HTML, such as Netscape's EMBED tag, allow other data to be referenced within a web page. Some browsers cannot process data other than text and images. On the other hand, there are browsers that can process data in various ways. For example, NCSA's Mosaic allows data to be downloaded to a user's computer, and subsequently calls an external program for viewing or manipulating the data, for unknown types of data. Handle references. With the recent release of Netscape Navigator and Microsoft Internet Explorer, the concept has gone one step further. That is, when data is received from a remote web page, a browser extension, or “plug-in”, can be automatically invoked to process the data. Other means such as the network program “applets” (“applets”) written in the Java language (or similar language) can be used to extend the functionality of the browser environment or network.
Digital multimedia data can have very high storage and bandwidth requirements. In particular, video files can be as large as about 10 megabytes to 10 gigabytes. In order for a user's terminal to play a video file at a speed approaching the recorded speed, the file must be delivered at a fast, unchanging speed. If it is too slow, the image will be played back more slowly than the original recorded one. If the speed is not uniform, the video will appear jerky like an old movie.
The network design tradeoff described above typically has an adverse effect on the transmission of audio and video data over the Internet. Users using browsers to “surf” the web may not be aware of minor delays and transmission rate fluctuations while searching for text and still images, Such defects become obvious and become prominent when real-time audio and video information is accessed.
In an attempt to solve these problems, Internet content providers may distribute popular content in the Internet on a variety of servers or distribution sites known as “mirror sites”. is there. Each mirror site contains information that is essentially identical to the information of the original site. For example, if a popular website is located in New York, the mirror sites may be located in Los Angeles, London and Tokyo. Thus, if a European user has difficulty accessing the original New York site, the user can hot link to the geographically closest mirror site, London.
However, mirror sites have some disadvantages. For example, mirror sites may be widely distributed geographically, but may not be efficiently distributed on the network in terms of actual usage, network traffic, and the like. Thus, both New York and Los Angeles mirror sites are connected to the same network of domestic Internet service providers, and the difficulty in accessing one of those sites may affect the other. It may mean that.
Furthermore, the mirror site may not be optimally arranged to reduce the load on each server. Although “educated guess” may be made as to where the mirror site should be located, the actual usage pattern may be different. Furthermore, there is no guarantee of performance improvement. The bandwidth of the mirror site may be lower than the bandwidth of the original site, or it may be overloaded for other reasons.
In addition, mirror sites are often hosted on a voluntary basis. If a service provider determines that a website is very popular and the subject matter may be of interest to the subscriber, the service provider agrees to host a mirror site of the original website there is a possibility. Such adjustments are attractive to mirror site hosts because people can be drawn to the mirror site and potentially hot-link to other content hosted there. On the other hand, such voluntary partnerships are typically unreliable and can be broken at any time.
Mirror sites are inherently secondary to data that may or may not be available and may improve user convenience, but do not address network bandwidth or efficiency. Provide source. Mirror sites do not take into account the performance characteristics of the network and can be used to efficiently transmit video data while still utilizing existing low cost pricing methods such as those over the Internet Does not identify any bandwidth.
There is currently no guidance on choosing the best location for a distribution site, nor is there any known way to guarantee optimal performance that will allow users to determine which mirror site to connect to . In fact, the use of conventional mirror sites is voluntary. Typically, a user tries to access the original site (or a known mirror site), and only if another person finds poor performance after one or more attempts. You will switch to the mirror site. This approach is an inefficient utilization of network resources. Clearly, mirror sites are not the best solution for overloaded website problems. Among other things, the main reason is that network performance is not taken into account.
Network analysis, particularly the performance of specific routes and links on the Internet, is well known and developed. For example, a “ping” program allows a computer connected to the Internet to determine whether a remote host is accessible. However, this ping program uses a low priority network protocol known as the ICMP protocol and therefore does not provide meaningful performance analysis information. The “traceroute” program tracks the transmission of messages from the computer to the remote host, tracks the delay along each link, and determines the path taken by the message. This traceroute application can be used to map the flow of data. However, it lacks the ability to provide meaningful performance analysis information. Traceroute only provides route information for messages propagating in a certain direction and only for a certain moment in time.
Furthermore, only the connectivity characteristics of the path following the single computer running the test and the path following it are typically determined. While it is possible to extend the scope of testing, the Internet is so large that it is logically not feasible.
Traditional network analysis technologies such as “ping” and “traceroute” programs provide a network connectivity perspective, but understanding what performance can be expected from providers and mirror sites via the Internet Almost no offer. Thus, only a “guess” can be made as to where the distribution site or mirror site should be located or which mirror site should be used to optimize performance.
Accordingly, there is a need for a method for determining overall network performance. A method that allows a content provider to dynamically place a data distribution or mirror site at the optimal network location and allows the user to select the optimal mirror site to receive the data. There is yet another need for the system to apply.
Summary of invention
The present invention is directed to a system and method for optimized distribution of web content to sites located in the Internet. Here, the intelligent mirroring method, called “Smart Mirroring”, determines the needs and distribution of mirror sites, and also optimizes the user's demand for certain web content. Used to point to the site.
Many “Smart” distribution sites or mirror sites are used to distribute popular web content across various parts of the Internet. A comprehensive method of network analysis based on tests performed by a large number of users interactively determines the preferred locations for the site and the optimal site to be used by each individual user Used to do.
Thus, overall network congestion is reduced because each individual user is routed to a smart mirror or distribution site that provides improved performance. In most cases, an improved server is placed electronically close to the user to reduce the number of network connections over which data must travel and thereby reduce packet loss and delay. The
In addition, network analysis results allow message traffic to be routed away from those overloaded delivery sites and network areas and towards under-utilized servers and networks. To. This provides an improvement in throughput as understood by each user and thereby increases the attractiveness of the content provided by content providers using the system. Content providers can reach a greater number of users via the Internet without suffering a noticeable degradation in performance.
The system according to the invention starts with the original website and at least one additional delivery (or mirror) site. Each user who wishes to use the system will be provided with software, including a configuration utility and a client program, in the preferred embodiment. The configuration utility is first used to determine which distribution site will provide improved performance for that particular user.
In one embodiment of the invention, the configuration utility first downloads a “delivery site file” from the service provider. This distribution site file contains a list of available distribution sites and a list of network tests to be performed. The type of test and the frequency of tests performed may be specified in the distribution site file to depend on the number of users testing the network and the approximate spill or distribution system capacity on the network.
The configuration utility will run a subset of the tests specified in the distribution site file. The test results indicate which distribution sites produce improved performance for the user, as well as information on the performance of various generalized networks from the perspective of the user performing the test. The network test results and selected distribution site identification information will be sent back to the distribution service provider for incorporation into the service provider's database (via email in one possible configuration).
The distribution site chosen by the configuration utility is then used by the user for searching all content managed by the distribution system service provider. As a result, when the user browses the web content and finds a particular item, such as a video clip, managed by the service provider's delivery system, the client software is automatically designated the “smart” Search for it from the “mirror” distribution site. Site preferences and default sites can be updated on demand, at a specified time, or in response to changes in network load and traffic.
In addition, the configuration utility of the present invention performs a variety of network tests and provides the service provider with the results of the tests so that valuable data regarding system and network performance can be obtained. . Such data is overloaded, which “smart mirror” distribution sites are performing effectively, which “smart mirror” distribution sites are not performing effectively, and which smart mirror distribution sites are overloading And information about which parts of the Internet may benefit from the addition of more distribution sites or capacity. Such data can also be used for advanced network analysis such as end-to-end performance measurements, throughput characterization, route stability and inactivity metrics. Enable execution.
In an embodiment of the invention, a mirror service provider is provided by an end user to operate a lookup table that correlates Internet IP addresses to “electronically close” distribution sites. Use network performance data. When a user browses a web page and requests a file such as an ad headline or video clip managed by the service provider's distribution system, the service provider maps the user's IP address to its lookup table In addition, it is possible to determine which distribution site is “electronically close” to the user. The service provider can then provide the user's configuration utility or client program with a single distribution site address or a list of distribution site addresses to these servers. In the latter case, the user terminal operates as a router that performs final distribution site selection.
In general, an improved delivery site for a particular user can be predicted in advance by analyzing aggregate network performance data collected from network tests previously performed by a group of users. it can. Thus, delivery site selection can occur on-the-fly each time a user requests a file managed by the mirror service provider's delivery system. From the user's point of view, the selection of the distribution site is automatically such that there appears to be no delay between selecting the file from the web page and owning the file distributed to the user's device. And transparently. The lookup list maintained by the service provider is constantly updated to reflect changes in network performance, allowing the service provider to efficiently load network traffic.
In this way, from an engineering point of view, the mirror service provider can continue to ensure that improved performance is provided. From a marketing perspective, content providers can be told where to place smart mirrors or distribution sites for improved performance and which ISPs will deliver improved distribution.
[Brief description of the drawings]
FIG. 1 is a block diagram of an exemplary network topology of a system according to the present invention that includes a wide variety of users and a wide variety of content providers.
FIG. 2 is a flowchart illustrating the operation of the configuration utility used in the system according to the present invention.
FIG. 3 is a flowchart for explaining the operation of the client program used in the system according to the present invention.
FIG. 4 is a flow chart showing how site selection is performed in an embodiment of the present invention.
Detailed Description of the Invention
The invention is described below with reference to exemplary embodiments that have been described in detail. It will be apparent that the invention may be implemented in a variety of different forms, some of which may be quite different from the forms of the disclosed embodiments. Accordingly, the specific structural and functional details disclosed herein are merely representative and do not limit the scope of the invention.
Referring initially to FIG. 1, the Internet 10 is depicted as a “cloud”. The Internet 10 is intended to represent a general wide area communication network. The Internet is known as an interconnected network of many computers. Although Internet connected computers that are “geographically” close to each other may be “electronically” close to each other on the Internet, this is not the usual case. However, one computer connected to the Internet can communicate with any other computer connected to the Internet. In other words, messages will almost certainly travel between computers that are directly connected to each other on a path that includes a sequence of links or “hops”.
A first user terminal 12 is also depicted in FIG. The first user terminal 12 is connected to an Internet service provider (ISP) 14 which is typically a computer, a router, or a terminal server connected to the Internet 10. The ISP 14 can host additional user terminals such as the second user terminal 16. Other ISPs such as the second ISP 18 are also connected to the Internet 10. The third user terminal 20 is shown connected to the second ISP 18. Note that although only three user terminals are shown, the number of concurrent users of the present invention is unlimited, subject to the practical details described below.
Content providers are also connected to the Internet 10, as is known in the art. The first content provider 22 may provide certain types of content, such as sports scores and highlights. The second content provider 24 may provide other types of content, such as business news.
Conventionally, if a user (such as a user using the first user terminal 12) desires to access content provided by the first content provider 22, the terminal 12 directly connects the first content provider 22. You will be inquired. The request message is propagated from the terminal 12 to the content provider 22 via the Internet 10. The content provider 22 sends the desired data back to the terminal 12 via the Internet 10.
In FIG. 1, several distribution or “mirror” sites are shown connected to the Internet 10. The first distribution site 26 may be arranged with a small number of “hops” from the first user terminal 12. The second distribution site 28 may be arranged farther away from the first user terminal 12, but may be located near the third user terminal 20. The third distribution site 30 may be as close to the third user terminal 20 as the second distribution site 28 is close to the third user terminal 20. As noted above, users and providers or distribution sites that are “geographically” close to each other may not be “electronically” close to each other on the Internet. By reducing the “electronic” distance between the user and the provider or distribution site, the number of network connections and routers over which data must travel can be reduced. it can.
As described above, the smart mirroring system plays a role in improving network performance by reducing the occurrence rate of the network problem. In some cases, the network testing procedure of the present invention shows that longer paths may provide better throughput than shorter paths, but packet loss and delay issues are In general, this is mitigated by reducing the number of network connections over which data must travel. In a network cable, there is almost no packet loss and no delay is inherently caused. Therefore, it is typically caused by overloaded network storage and routing devices. Because the smart mirror site of the present invention is located electronically close to each user, packet loss and delay are reduced. The problem of excessive server utilization is reduced because a wide variety of distribution sites typically share the load that would have been handled by a single server. The relatively low capacity of the network infrastructure is less likely to be a problem because the data retrieved from parallel distribution sites at different locations does not usually need to travel over the same network link.
For purposes of describing the present invention, a distribution site is assumed to be a “node” on a network that can also store data such as software code or other files for distribution. The term may also include sites that can support data distribution, including mirror sites, content providers and servers for video streams or website broadcasts.
In the system, a mirror service provider (MSP) 32 is connected to the Internet 10. The MSP 32 that executes the management function by distributing the distribution sites 26, 28, and 30 and assigning requests from the user terminals 12, 16, and 20 to the original site and distribution site transmits data on the Internet 10. And a database that can be received.
This management function is facilitated by the use of a configuration utility 34 and a client program 36 that are executed in a storage medium (ie, random access memory) on the user terminal 12. Although the configuration utility 34 and client program 36 are shown in FIG. 1 as part of only the first user terminal 12, any user terminal subscribed to this system, such as terminals 16 and 20, may be Note that you should recognize that you will use such software. Users wishing to join this system can download software, including the configuration utility 34 and client program 36, either directly from the MSP 32 or through a conventional retail channel or (one of a computer browser or operating system). Can be obtained through other routes (such as Note that the functions performed by the configuration utility 34 in this described embodiment of the invention can be integrated into common Internet application software such as a browser or other network application. . A stand-alone program is not necessary.
In the preferred embodiment, the configuration utility 34 must be executed by the user, either by command or automatically, before the user terminal 12 gains access to the system. The operation of the configuration utility 34 is shown in detail in FIG.
When first executed on the user terminal 12, the configuration utility 34 retrieves the distribution site file from the MSP 32 (FIG. 1) (step 40). If the user already has a distribution site file (eg, it was received using the configuration utility 34) and the distribution site file is sufficiently new, the distribution site file is stored in the local hard disk of the user terminal 12. You can search from. This distribution site file contains a list of all available distribution sites (such as distribution sites 26, 28 and 30) and a list of network tests performed on user terminal 12. In the context of the present invention, there can be as few as two distribution sites, or as many as thousands of distribution sites if the number of users justifies it. In principle, the number of sites is unlimited, and each available distribution site is represented in the distribution site file.
The distribution site file is created by a database from within the MSP computer system. Database applications use information about the user to dynamically determine the best test to run. As a result, the distribution site file need not include an entry for every existing distribution site. That is, the list can be tailored to include only those sites that are deemed appropriate or feasible.
Initially, the scale of execution time variation in a test configuration for a user of a distribution system is low. That is, the first group of users all perform essentially the same test. However, as delivery services develop, the intensity of testing for each user is reduced to make up for the increased scale of testing across the network. Both the test scope and the number of distribution sites tested can be narrowed to further reduce the aggregate load of network testing.
In one embodiment, the distribution site file generally has the following format:
1. File revision number and message. The file has this field to determine if a new version of the configuration utility 34 is available. If the revision number of the distribution site file is higher than the version number for the configuration utility, the configuration is not allowed. Instead, the user will be prompted to obtain a newer version of the configuration utility 34. Verification of file revisions as described herein ensures that the most up-to-date delivery site selection algorithm is applied to the test data generated by the configuration utility 34.
2. A list of available Smart Mirror distribution sites. The following information is provided for each available distribution site:
a. hostname. According to the well-known Internet format “www.server.com”.
b. IP address. A numeric internet address in a known format. This address is currently a 32-bit number in the form of wxyz, where w, x, y and z are each in the range 0 to 255.
c. Alternative name. An informal name such as “First Mirror Site”.
d. A list of tests to be run. The following information is provided for each test:
i. Test ID. Each test has a unique identifier that is known to the configuration utility 34.
ii. Weighting factor. Each test will be weighted by the specified percentage.
iii. frequency. Each test does not necessarily have to be executed every time. This field specifies the probability of determining how often a particular test is run.
iv. Additional information (optional). Additional information may be required for certain tests.
e. Site priority level. Each site can be given a weighting or priority level between 1 and 100, for example. As described below, aggregate data in the MSP database is used to perform network usage analysis that is not possible with single user instantaneous end-to-end testing alone. The weighting factors specified here are used to capture the test results received from the service provider database. Once a predetermined maximum usage level is reached, this weighting factor is also used to limit the allocation of new users to distribution sites.
f. Test site flag. When this flag is enabled, the test is performed, but the site will not be assigned as a distribution site, even if it yields the best performance.
g. A group of content providers. Each site belongs to one or more content provider groups so that only certain content can be mirrored. If the user is not interested in the type of data hosted by a particular distribution site, it need not be tested.
The configuration utility 34 can then view, for example, the user's name, email address, password, modem speed, and information related to access control (eg, what level of various attributes the user can see). The user is queried for various items of information required in the configuration process (step 42). The access control mechanism will be described in more detail below. In one embodiment of the present invention, the information received from the user is encrypted and stored in a configuration file on the user terminal 12.
The configuration utility 34 then determines whether the user terminal 12 is connected to the Internet (step 42). If not, it initiates a connection (step 44) or prompts the user to do so.
A series of network tests are then performed (step 46). One or more tests can be performed for each available site listed in the distribution site file. Not every site in the file needs to be tested.
The following test types are currently considered to provide valid data.
1. Ping. Whether the remote server is reachable, and if so, how long it will take a low priority message to travel round trip from the user terminal 12 to the remote server Provide information. Ping is a simple test that is effective in determining whether a site can be used for additional evaluation. The excess time returned by the ping application can be used to eliminate delivery systems that are "slow" for effective information delivery. This test is used by the terminal to reduce the number of distribution sites being tested.
2. Traceroute. Information about which route the message takes from the user terminal 12 to the remote server is provided, including which system is used along the way and how much time is required for each hop. Traceroute is used by the configuration program 34 to document the path of information transmission. Several traces with different results may indicate that the stability of a route from a particular user to a special server is unacceptable. Previously aggregated data for a particular route from the service provider's system database may also influence the decision to select a particular distribution site for a particular user. Route stability is a major consideration.
3. Reverse Traceroute. Provides information about which route the message takes from the remote server to the user terminal, including which system is used along the way and how long each hop takes. Inverse Traceroute is used by the configuration program to document the route of information reception. Several traces with different results may indicate that the stability of a route from a particular server to a special user is unacceptable. Previously aggregated data for a particular route from the service provider's system database may also affect the decision to select a particular distribution site for a particular user. Again, route stability is a major consideration.
4). Dynamic Traceroute. Similar to traceroute or reverse traceroute, but between any specified pair of computers on the Internet. Dynamic Traceroute is used by configuration programs to document information transmission paths. Several traces with different results may indicate that the stability of the route between the two network locations is unacceptable. Previously aggregated data for a particular route from the service provider's system database may also affect the decision to select a particular distribution site for a particular user. As mentioned above, route stability is a major consideration.
5. Name Server Resolution Delay. If the numeric internet address is not specified, a name server lookup is performed to determine which numeric address corresponds to the desired host name. This process can take a significant amount of time.
6). Throughput. The sample file is downloaded from a remote server or partially downloaded to determine the actual throughput in bytes per second.
7). Throughput variation. The sample file is downloaded from a remote server or partially downloaded to determine if the throughput is relatively unchanged or floating.
8). Error rate. The sample file is downloaded from a remote server or partially downloaded to determine if the transmission is subject to transmission errors. This information is obtained by counting the number of error message packets returned to the user, thereby learning the error rate from the user to the server and tracking the number of bytes received as a fraction of the number of bytes transferred. Investigate and thereby learn error rates from server to user.
9. Packet fragmentation (PacketFragmentation). The sample file is downloaded from a remote server or partially downloaded to determine if the transmission is exposed to receiving a fragmented or broken packet.
10. Capacity query. If the remote server is operating in this manner, the configuration utility 34 queries the server to determine its transmission capacity and its average load. This information is collected via a simple network management protocol (“Simple Network Management Protocol”) supported by almost all Internet servers.
11. Macroscopic network analysis. The data stored by the MSP database provides a global view of network operation. With this information, users of the smart mirror system can see a historical display of available distribution site performance. The accumulated data is used in the distribution system database in order to analyze the network performance for the purpose of emphasizing the use in the high capacity area of the network while stopping the emphasis on the use in the area where the performance has already deteriorated. Is operated by.
Information regarding how each of the tests is performed is well known in the art of network analysis. For example, Bob Quinn and Dave Shute Windows socket network programming (Windows Sockets Network Programming) (Addison-Wesley, 1996). In one embodiment of the present invention, the tests include a “ping” test to verify whether the server is reachable, a series of small (eg, 20K) downloads, a series of large (eg, 200K) downloads, And by performing a “traceroute” test and a “reverse route” test to document the delivery path.
The traceroute information is used by the MSP 32 to correlate test data with information in its database. In that way, particularly bad network links and servers can be identified. Such information is provided in the distribution site file described above. If a particular link or server is known to be unreliable, based on information obtained from other users, individual users can move away from it even if a single test gives good results. Can be routed.
Short downloads are used to determine server capacity. The name server resolution delay can be determined by such a test, as well as the time required to initiate data transmission. Later results are strongly related to server load, capacity and performance.
Long downloads allow the configuration utility 34 to determine how packet loss, network congestion, and server utilization impact file delivery. Based on the results of tests from a single user, it is not ideal to determine which of the above factors is causing performance degradation. However, such a result in the grand total as stored in the database maintained by the MSP 32 indicates the root cause.
Note that some of the test results may be used with other test results. For example, the load on the distribution site determined through the capacity query is divided by the result of the throughput test to derive the average expected download time given the server load characteristics.
After all specified tests have been run, the results are collected and processed (step 48). It is possible to think that certain tests have not been successfully performed. In such a case, the result should show a reasonable worst case value (eg, zero throughput or very large delay).
It is important to note that not every possible test is run each time the configuration utility 34 is run. When a large number of users are using the system, the testing procedure alone will cause a significant drain on server and network capacity, increasing the aforementioned continuous decline in network performance.
As described above, the test frequency number is stored in the distribution site file for the purpose of dynamically controlling the number of users executing the test. The tests performed by the configuration utility 34 are performed to achieve statistical confidence in determining which distribution site is best suited for distributing data to a particular user. Statistical confidence can be either by testing a small sample of users well enough and using that data to influence delivery site choices, or some available to many users It is obtained by having each site “lightly” tested and using that data in the aggregate.
Thus, when the system is first used, a relatively small number of users are “enrolled” into the system. The distribution site file maintained by the MSP 32 reflects those conditions and requires each user to test the network relatively hard (through the configuration utility 34). As the number of users increases, the distribution site file is modified to mitigate the tests performed by each user. Until a very large number of users use the system, the configuration utility 34 is largely responsible for delivery site reachability (by “ping” -type testing as described above). And rely on the test data stored in the database provided by other users and maintained by the MSP 32. However, even when many users are testing the system, a small number of users (eg, 1/5000) may be selected to perform a comprehensive set of tests.
Preferably, the test should not contribute more than about 5% of the total server load. One way to reach this goal is to lightly test a large number of servers, resulting in a group of distribution sites with adequate performance. Then, this group of distribution sites can be used in rotation for searching for data. Information about the actual download time of multimedia clips for each of the distribution sites in the group is accumulated as described below, after which additional information about distribution site performance may not require additional immediate testing. Can be supplied to the MSP 32 transparently.
Thus, based on the collected test results and the information provided in the distribution site file by the MSP 32, the configuration utility 34 determines whether the distribution site or group of distribution sites is the best for the user terminal 12. Determine (step 50). This decision can be made numerically by weighting the extensive tests performed and comparing the scores for each site.
In the preferred embodiment, for use in a low-traffic environment where the number of distribution sites and users is relatively small, the configuration utility 34 is primarily for each available distribution site. Rely on ping and throughput tests. An initial ping test is performed to determine if the distribution site is reachable. Short and long downloads are performed in a throughput test to determine the maximum and minimum throughput from the distribution site and to determine if the throughput variation is small enough to handle the transmission of video data. Therefore, all these tests are given high weight. Other tests such as traceroute can be performed and the results can be reported to MSP32 without playing a role in the selection of the delivery site (for example, such other tests include: Zero or nearly zero weight). As the system grows in size, as additional distribution sites and users are registered, the site selection method can be changed by changing the content of the distribution site file to reflect the changing network conditions it can.
In one embodiment of the invention, ownership is such that the user's location and the location (both geographical and electronic) of each site being tested can be displayed on a monitor connected to the user terminal 12. A graphical interface is provided to allow visual display of relative distances between sites. In one embodiment, the display is a “radar screen” that is displayed as a “blips” superimposed on a map of the geographic region to which the user terminal 12 and distribution site are associated. "(" Radar screen "). In order to encourage users to use the application and provide data for the entire network, the user interface allows the user to enter an “ad-hoc” test site for additional performance testing. It can be so. In this case, the configuration utility will test either the default web page file (eg, “index.html”) or a special file requested by the user. The analysis results from the site selected by the user are adjusted so that a reasonable comparison can be made with the results from other sites.
It should be noted that a wide variety of distribution sites can be maintained by the present invention to accommodate multiple groups of content providers. Each content provider may be mirrored only at certain sites. Accordingly, a primary delivery file is selected by the configuration utility 34 for each content provider having a unique set of delivery sites. To accomplish this, the test can be performed once, and then in one embodiment, numerical weights can be applied to each appropriate set of distribution sites. Multiple smart mirror sites are selected, one for each group of content providers. A group of content providers is specified in the distribution site file. Each possible distribution site is identified as belonging to one or more content provider groups. When content provider groups are used, there may be only two groups. The maximum number is inherently unlimited.
It should be noted that prioritized ratings for distribution sites can also be created and maintained. When this is done, if the primary smart mirror site fails to respond, the system is allowed to retreat to the next highest ranked smart mirror site.
After the smart mirror site is selected, certain data will be sent to the MSP 32 via email or other Internet electronic protocol (step 52). All raw test data and results, including the information received by querying the user, the identification information of the selected smart mirror site, and the time and date that each test was run (in some embodiments, encrypted) Compiled into a text file. When received by the MSP 32, the data is stored in a database for use in managing and analyzing the system.
Finally, the configuration utility 34 is prioritized according to the identity of the smart mirror site selected for each set of distribution sites or the (encrypted) configuration file. Is stored (step 54). The configuration utility may also store information regarding the relative performance of each distribution site tested. The client program 36 uses an encrypted configuration file to download data files (video clips or other content) from the appropriate smart mirror site.
It should be noted that in system operation, the MSP 32 performs certain functions. The MSP 32 maintains a list of distribution sites, and adds and deletes sites as necessary. The MSP 32 also maintains a database of network performance that stores information received by email or other means from the user running the configuration utility 34. Since a large amount of data is received from a large number of users, the database can provide valuable information about the performance and other characteristics of the Internet and parts thereof. In order to manage such information, various data processing techniques are known.
The location of the distribution site used in the present invention is ultimately determined by a number of factors, including marketing considerations and cost / benefit analysis. However, the data stored in the MSP database can confirm the utility of placing a distribution site at a given location on the Internet or other networks. In one embodiment, the server is on each major backbone (the portion of the Internet maintained by a single company) and regional bell operating companies ("RBOCs" (Regional Bell Operating Companies)). Placed on other Internet lines serving multiple users, such as the main line operated by. In certain networks that serve a large number of users or have heavy video delivery traffic, the server will be the primary point of attachment for the network (to ensure that each user has access to a high-speed server ( “POPs” (Points of Presence).
Once the configuration utility 34 is executed, the user uses the system to enable and facilitate the reception of data files, specifically video clips, audio clips, software programs and other content. be able to.
As time passes and the usage pattern of the user's Internet area changes, the user may become unsatisfied with the performance of the smart mirror site corresponding to his user terminal 12. When that happens, the user is free to re-run the configuration utility 34. By that time, the additional distribution site may be operating as a service, or a site that existed elsewhere may perform better than the previously assigned site. In addition, if the player program 36 determines that the selected smart mirror site is not performing sufficiently (eg, it failed 3 of 10 attempts), the player program 36 will prompt the user to configure A prompt can be issued to rerun the utility 34. In other embodiments of the present invention, the test and mirror assignment is performed on each request for a file on the smart mirror service, or on each separate request, third request, tenth request or 100th request. It is automatically executed in some intermittent time as in the case of.
In one embodiment of the invention, the smart mirror system is used to locate a distribution site from which a video clip or audio clip ("clip") referenced on a web page is downloaded. Is done. In this embodiment, the client program is called a “player program” or can be considered a “player program”. In addition to performing the functions of the client program 36, the player program also enables video data retrieval and playback. Typically, the browser program 38 is executed on the user terminal 12 to display web content. Browser programs that are typically used include NCSA Mosaic, Netscape Navigator, and Microsoft Internet Explorer. Browser program 38 allows users to hot link between various websites on the Internet.
The EMBED tag is used in an HTML document to indicate which web page contains content managed by the system. When the browser program 38 receives a web page that includes an EMBED tag, the file referenced by that tag begins to be downloaded and its file type is analyzed. If the file is of a type that is being processed by a player program such as MPEG, the browser program 38 starts the player program 36. The tag content is then passed to the player program 36 by the browser program 38.
Player program 36 (FIG. 1) provides a smart mirroring service that is facilitated by MSP 32. The operation of the player program 36 is shown in detail in FIG.
The player program first analyzes the EMBED tag to determine if there is a “SM” (smart mirror) parameter (step 60). The presence of such a parameter indicates that the embedded clip is enabled for smart mirroring. The data associated with the “SM” parameter specifies the particular content provider from which the desired clip originates, as well as the group of mirror servers used by that particular content provider.
If the player program 36 determines that the EMBED tag refers to a video clip or other content being processed by the system (step 62), the transfer of the embedded clip from the content provider 22 is stopped. . The player program 36 then extracts access control or rating information from the EMBED statement, if present (step 64). This rating information is compared against a reference level stored in a configuration file stored in the user terminal 12 (step 66). If rating information does not exist for the clip, the configuration file is queried to determine whether an unrated clip may be played (step 68), as defined below. Based on the information, the player program 36 will either allow or refuse to display the desired clip.
If playback is allowed, the player program 36 will attempt to find a referenced clip on the local computer belonging to the user terminal 12 (step 70). If it is there, it is not re-downloaded and can be played directly on the computer (from disk or RAM) (step 72). However, the creation time and date of the clip on the local computer is first verified against the time and date of the clip available on the network to determine if the stored clip is the most recent version. (Step 74). If it is not the most recent version, the stored clip is discarded (step 76) and the download proceeds as follows.
If the clip does not exist on the local computer, the player creates a new URL in the following format (step 78). That is, from the IP address of the selected smart mirror site stored in the configuration file, the path name to the mirror file (eg, “/ pub / mirror /”), and the “SM” parameter in the EMBED statement The name of the acquired content provider and the file name acquired from the EMBED statement are added to “http: //”. The constructed URL is used to retrieve the selected clip from the appropriate smart mirror site selected by the configuration utility 34 (step 80). If more than one set of distribution sites exist at different content providers, the “SM” parameter is also used by the player program 36 and which smart mirror site in the configuration file is used with the constructed URL. Is determined (step 82). In one embodiment of the invention, site selection is performed at least in part by a redirection server. This embodiment will be described in detail later with reference to FIG.
If the clip corresponding to the constructed URL is not found or accessible on the smart mirror site, the download is then made by the next highest order smart mirror site in the configuration file, or by a redirect server. Proceed from the selected next highest distribution site (see FIG. 4) (step 84). If all distribution sites fail, the download proceeds from the original content provider's site as specified directly by the EMBED statement.
If playback is prohibited, the player prevents the clip from being transferred (step 88) and displays a bitmap that advises the user that download is not allowed (step 90).
If the player program 36 determines that the EMBED tag refers to a video clip or other content that has not been processed by the system, then the player has the access control level set in the configuration file set to the user. Is checked to see if these clips or other files deemed “unrated” are allowed to be played (step 92). If so, the clip is transferred from its original content provider 22 by conventional means (step 94) and the player program 36 displays the downloaded file (step 96). If not, the player prevents the clip from being transferred (step 98) and displays a message to the user advising that the download is not permitted (step 100).
At the time of download, a data file representing a desired clip is stored in a designated data area on the local computer belonging to the user terminal 12, usually on a hard disk (step 102). In one embodiment, this data area can be managed by the player program 36 on the basis of least-recently-used. That is, if there is no place for a new clip in the data area, the least recently used (or undisplayed) clip or clips can be discarded to create a place (step 104).
In one embodiment of the present invention, the client program 36 can send a message to the MSP 32 to reflect whether the download was successful (step 106). This message includes the Internet address of the user terminal 12, the identification information of the selected server set, the Internet address of the site being used to accomplish the download, the Internet addresses of all failed sites, the downloaded file's Name, and. Includes time to download the file. This information can also be used by the MSP 32 to track file downloads and to determine if there is a problem with any smart mirror site in real time.
Instead, the client program 36 can maintain a local database with low file transfer performance. Then each download will be timed. Specifically, information can be gathered regarding the time it takes for the server to begin sending the requested file, the stability of the data transfer rate, and the transfer error rate. At some interval (eg, every week or once per 100 downloads), a message containing accumulated file transfer performance information (either automatically or upon request) is sent to the MSP 32, similar to the user and server information described above. Sent (step 106) to update the MSP database. This additional information increases the MSP “knowledge” of network performance without incurring any additional test overhead.
This data captures delivery site performance for the purpose of assessing the quality of services purchased from delivery site providers and documenting quality of service to content providers to support system costs. It is especially valuable to do. However, it will be appreciated that much of the same information can be obtained through a new user running the configuration utility 34.
In one embodiment of the present invention, the information derived from the MSP32 database is used without actually running a configuration utility to test the network between that user and a list of potential distribution sites. It can be used to predict distribution site improvements for a given user. More specifically, aggregate network performance data contained in the MSP32 database is analyzed in terms of performance differences between a given Internet IP address and the number of different distribution sites. Based on this analysis, a correlation between the user's IP address and a distribution site that provides better data distribution performance can be derived. This correlated data is used to create a lookup table that can be utilized by the MSP 32 in the process of distribution site selection.
In practice, a redirect server is included in the MSP network. In one embodiment, the redirect server functionality is implemented in and performed by the MSP32 server. In alternative embodiments, multiple redirect servers may be utilized at various locations throughout the network.
In operation, the redirect server will obtain the user's IP address when the user requests a file managed by the MSP distribution system. As described above, a request to the redirect server is made through an EMBED statement. An EMBED statement can identify a single redirect server (eg, MSP32) and explicitly reference a special server IP address, or multiple redirects that can attempt to access in sequence or random order Scripts or executable program code (e.g., in JavaScript or Java programming language) specifying the server can be included. Then, since the HTTP (HyperText Transport Protocol) request typically includes information about the requester's address, the user's IP address is determined by the server via conventional means. The redirect server then maps the user's IP address to the optimal distribution site located in the lookup table and forwards the distribution site address to the user. The user's client program 36 or redirect server then redirects the file request so that the file is delivered from the optimal delivery site.
An important factor in designing a look-up table comes from numerous addresses on the Internet. Every computer connected to the Internet is assigned an address. In the conventional Internet addressing system, an address is composed of a 4-byte value by convention, and each byte is expressed by converting each byte into a decimal number (0-255) and separating the bytes with a period. For example, the address of the “www.intervu.net” server is 192.215.147.185. When this address scheme is used, there are over 4 billion usable addresses on the Internet. Given the current state of the art, a look-up table containing 4 billion addresses is too large to be used in the embodiment described here, so a method for compressing the table is available. Quested.
It has been found that the selection of the optimal delivery site can often be correlated to the first byte of the user's IP address. This correlation indicates that after running the configuration utility 34, a statistically significant number of users having the same first byte address may receive another distribution from the same distribution site or a small group of distribution sites. It ’s like choosing a site. It will be appreciated that these distribution sites provide improved performance for most users with the same first byte address as compared to uncorrelated distribution sites. Correlation, in one embodiment of the present invention, provides improved performance for users with a list of IP addresses in the first byte numbered 0-255 and corresponding IP addresses for each address. It is important enough to form a compressed look-up table that includes a list of distribution sites to provide. In this way, one or more distribution sites are mapped to each entry in the address list.
It should be noted that in certain situations, some of the first byte IP addresses in the lookup table may not be mapped to the corresponding server. This can result, for example, that most users do not have an IP address corresponding to a particular entry in the table, and a sufficient number of them will yield statistically significant or reliable results. This is the case when the configuration utility 34 is not executed. In this case, one or more default servers may be specified in the database for use when no special server is identified in the lookup table.
In the preferred embodiment, the lookup list is stored on a single redirect server, eg, MSP32. However, the lookup list and associated programming can also be stored at the web page server, the content provider 22 server, or a combination of the foregoing.
The redirect server is accessed to select a delivery site as described below and as illustrated in FIG. 4 (step 82, FIG. 3). The user requests the file referenced on the web page via the user terminal browser by clicking on the link with the EMBED statement for that file. If the file request is for a file managed by the distribution system of the MSP, the file request is redirected to a redirect server (eg, MSP32 using conventional HTML file request semantics, or server “GET”). (Step 120).
The redirect server examines the incoming request and determines the user's network address (IP address) using the “REMOTE_HOST” variable supplied by the web server (step 122). It should be noted that the embodiment of the invention described in FIG. 4 can be achieved without a special purpose client program (such as client program 36) installed on user terminal 12. There is. Site selection if the client program 36 is not installed at all (step 124) and the user does not wish to install the client program (step 126) when queried by a script or downloaded program Is executed entirely by the redirect server.
The redirect server then analyzes the user's IP address and looks up a list of potential distribution sites in the lookup table to determine which distribution site or sites are correlated with the user's IP address. Judgment is made (step 128). The redirect server then selects a delivery site address if one or more addresses match an entry in the user's lookup table (step 130). If a single delivery site address is found, an HTTP redirect response is used to deliver the file from the selected delivery site (step 132). According to the HTTP specification, a file requested from a server can be redirected to another location by that server without any user or client program intervention. This completes site selection (step 134). To complete the transaction, the client program requests a copy of the file from the selected distribution site, and the distribution site server retrieves the file and distributes it to the user.
If the user wishes to install the client program 36 (step 126), the program will be downloaded and installed by conventional means (step 136). If the client program 36 has already been installed (step 124), or if the installation has just been completed, the file request proceeds differently, utilizing both server side and client side processing, You can search for files in an efficient way.
First, the redirect server analyzes the user's IP address and looks up a list of potential distribution sites in the lookup table, and one or more distribution sites are associated with the user's IP address. (Step 138). The redirect server storing the lookup table creates a small file containing the distribution site sub-list (step 140) and sends it to the user terminal 12 (step 142), and the final distribution. It may be possible to rely on the client program 36 (step 144) to make a site selection. There are several reasons why this occurs.
First, as described above, the analysis of aggregate network performance data is improved for certain users where many distribution sites have the same first byte address range (as opposed to a single distribution site). May provide improved performance. For example, this occurs when many users, all of whom have the same first byte address or range of addresses within a single first byte address, select a different distribution site after running the configuration utility. In this case, the client program 36 obtains the sublist that has been downloaded by the redirect server, and it has been previously selected by the execution of the configuration utility (see FIG. 3, step 54). Can be compared with a saved list of If a match is found, the client program redirects the file request to the matching delivery site (step 146). One or more of these distribution sites provide improved performance on any distribution site previously selected by the configuration utility, especially if the configuration utility has not been run recently. As a result, the client will also have the option of ignoring the selection made by the client program and making the best guess from the distribution sites included in the lookup list. .
Second, if the number of distribution sites and IP addresses managed by MSP increases to the point where the lookup table becomes too large to be practical, that is, the redirect server looks up instead of the previous file request A situation can also arise if you are late in responding to a new file request to get busy searching the table. If this is the case, the task of looking up the lookup table is divided between the redirect server and the client program 36. In this way, the user terminal 12 is required to perform some of the processing and to also serve as a router by selecting the final delivery site.
To accomplish this, the redirect server subdivides the lookup table into smaller sublists containing a given range of addresses. In this way, when the redirect server receives a request for a file, the server maps the user's IP address to a sublist containing the corresponding address range (step 138) and then creates a small file containing the sublist. (Step 140) and download to the user (step 142). The client program 36 then acts as a router, mapping the user's IP address to the appropriate correlated distribution site address on the sublist, or as described above with the distribution site on the sublist. Distribution sites in the sub-list lookup table by looking for matches with distribution sites on the prioritized list of sites saved by the configuration utility 34 after previously performing network performance tests. A delivery site is selected from the list (step 144). Once the client program selects a distribution site, the client program redirects the file request to the selected distribution site (step 146). By splitting the work between the redirect server and the user terminal 12, the file request can be processed more quickly, so that the time between when the user requests the file and when the file is received by the user terminal 12. Reduce the delay.
Although the MSP32 redirect lookup table is frequently updated as network performance changes, the sub-list being passed to the user is expected to be satisfactory for at least several days. Thus, the client program 36 can reuse the list for several days before obtaining a new sublist. This functionality can be implemented, for example, by a script embedded in a web page that hosts the file request statement. The script can query the client program 36 for the maturity date encoded in the sublist stored in the user terminal 12. The maturity date and sublist type can be returned to the redirect server, and the server will forward the new sublist if necessary.
A particular user may request a file managed by the MSP distribution system, and the system has no knowledge of that user (ie, between the user's IP address and the distribution site in the lookup table). It is possible that no match is found. In this case, the redirect server selects a distribution site for the user from the default list stored in the redirect server (steps 130 and 144). When a user downloads the requested file from this distribution site, the user is prompted by an embedded script or program to obtain a configuration utility file from the MSP 32 to improve content distribution. Alternatively, a server that is an approximation for improved content distribution (eg, a first byte IP address that is similar but not identical) will be temporarily assigned. As the user obtains and executes the configuration utility, the user terminal 12 begins to provide various network test results to the MSP 32, as described above, and this information is ultimately stored in the network performance data. Part of the MSP database. In this way, upon the next file request from the new user, the redirect server will map the user's IP address to a more appropriate server based on the analysis of the additional network performance data.
By changing the lookup table, the redirect server can also perform load distribution and management for file requests. Redirect if the MSP32 (or the individual controlling the MSP32) pre-determines that a section of the network will be down for a period of time, or if certain distribution sites must be shut down for a period of time The lookup table can be modified so that the server directs the user's attention to alternative delivery sites. Thus, on two back-to-back requests for the same file, the user may be directed to two different distribution sites.
It should be understood that the file containing the lookup table sub-list can serve as a distribution site file used by the configuration utility 34 to perform network tests. The sub-list represents distribution sites that have already been screened for performance improvements due to aggregate network performance data derived from groups of other users who have previously performed network tests. This distribution site sub-list is further truncated or prioritized by running the configuration utility 34 on the list and executing a sequence of network tests retained from past distribution site files. Can be attached. Once the sublists are prioritized, the configuration utility 34 saves the list according to the configuration file (encrypted) as described above.
In the following exemplary description, the smart mirror system utilizes a look-up table to locate the improved distribution site from which the video clip referenced in the web page ad headline is downloaded. . When dealing with relatively unpopular content such as advertisements, it is important to deliver the content of the advertisement to the intended customers as quickly as possible so that potential customers do not lose interest. The same is true for the content of advertising headlines on web pages. In other words, it is desirable to be able to deliver videos to customers as quickly as possible without having to download a significant amount of software in advance. Thus, as an alternative to utilizing the present invention as an expensive service, service providers can spread advertising headlines on web pages via the Internet. Each heading references a video clip, and all of those clips will be stored at the content provider's server established for that purpose.
In this example, the client program 36 is referred to as a “player program” and it has the additional functionality of retrieving and playing back video data as described above. A browser 38 (such as Netscape Navigator or Microsoft Internet Explorer) is used to display web content on the user terminal 12 and to communicate between the user terminal 12 and other computers on the Internet 10. The
When the client selects an advertising headline displayed on the web page, the browser examines the EMBED tag encoded in the heading. The browser begins downloading the file referenced by the EMBED tag and the file type is analyzed. If the file is of a type being processed by a player program such as MPEG, the browser starts the player program by passing a tag to the player program. The player program looks up the EMBED tag for the file name of the video clip and tries to find the clip on the local computer belonging to the user terminal. If the clip is there, it is not re-downloaded and can be played directly on the computer (from disk or RAM). If the video clip is not on the local computer, the player program analyzes the EMBED tag to determine if there is an “SM” (smart mirror) parameter. The presence of such a parameter indicates that the embedded clip is enabled for smart mirroring. The SM parameter further specifies the address of the redirect server and the specific content provider that is the source of the desired clip as described above, as well as the group of mirror servers used by the specific content provider.
When the player program recognizes the parameter specifying the redirect server, the player program calls the browser and requests the referenced ad header file from the redirect server by conventional HTML file request technology. The redirect server examines incoming requests and determines the client's IP address. The redirect server maps the client's IP address to a lookup table and searches for a distribution site address or sublist. The distribution site address (or a sublist of distribution sites and IP addresses) is returned to the player program by the redirect server. When the sublist is returned, as described above, the player program selects only one distribution site from the listed sites. Once a single distribution site is determined, the player program will add the “http: //” to the IP address of the selected distribution site and the path name to mirror the file (eg, “/ pub / mirror / ") and the name of the content provider acquired from the" SM "parameter in the EMBED statement and the file name acquired from the EMBED statement are created in a new URL. The constructed URL is used to retrieve the selected clip from the delivery file selected from the lookup table.
If the SM parameter in the EMBED tag does not specify a redirect server, or if the redirect server is not available and does not return a response, the player program is stored in the configuration utility file. An arbitrary IP address is selected from the prioritized list of mirror sites, and this address in the URL is replaced. If the player program does not detect the presence of a prioritized list of smart mirror sites (eg, if the user never downloaded the configuration utility 34), then the player program is EMBED The video will be requested using the address of the original content provider's server, as specified directly by the statement.
In applications where the goal is not explicitly set for the distribution of advertising content, providing the download information to the MSP facilitates the use of the present invention as an expensive subscription based service. Successful downloads are tracked in the database so that each user can have an associated “account” to track the billing amount. The user may be charged for using the smart mirror system by file, megabyte, monthly, or other known means. In one embodiment, the EMBED tag associated with the file includes billing issue information, ie, the “price” of the file. If the download performance tracking of the present invention reveals that the download is too difficult or slow, discounts or credits can be issued.
To ensure that the files stored on the smart mirror distribution site are used only by authorized users of the present invention (for example those users with paid accounts), The file may optionally take an encrypted form, and the download step described above may include a decryption step. Such encryption and decryption can be accomplished by well-known means.
As described above, a clip managed by the present invention may have content rating information associated with it. This is accomplished by providing a “PG” parameter in the EMBED statement corresponding to the clip. In one embodiment, four features are specified. That is, nudity, sexuality, profanity and violence. Therefore, the PG parameter can be specified by a 4-digit argument. Each feature is specified on a 1 to 3 scale. 1 corresponds to no filter function (ie, all content is acceptable), 2 corresponds to some filter function (eg, basically equal to the level allowed for broadcast television), 3 is the most extensive Corresponding to a simple filter function (for example, for children). The level of rating included in the EMBED statement for a file is compared with the rating filter level included in the configuration file stored in the user terminal 12 in the authorization process and is authorized. Only files are transferred.
In view of the above, embodiments of the present invention are utilized in many different applications that allow the acquisition and analysis of performance data for a network between a given user and a content provider or distribution site. It is understood that it is good. Thus, although the described embodiment shows a system operating using an Internet-type addressing scheme within the context of the Internet, such a system is incorporated in the corporate intranet. It will be appreciated that it will be useful in other network environments including but not limited to.
Further, although the exemplary embodiments are described primarily for use in video distribution systems, the system according to the present invention may be used in various other types of computer data (eg, application programs, database files, And other business information, virtual reality files, multimedia such as Macromedia Shockwave files, as well as large text files such as books) can be used similarly. It is necessary to Such other types of data can be managed by the present invention in different content provider groups as described in detail above. Another type of program (rather than player program 36) will typically be called at user terminal 12 to display or use other types of data.
Also, certain functionality described as being executed on the user terminal 12 (particularly, certain functions executed by the configuration utility 34 or the client / player program 36) can be stored as a stand-alone program in the browser. Java downloaded as a “plug-in” or “helper application” (“helper application”) for execution within a program, or from a distribution site for execution within a browser environment Note also that it can be implemented as an applet. For user terminals capable of running the Microsoft Windows operating system, an environment known as Microsoft ActiveX is also useful.
While certain exemplary configurations and operations have been described, the invention is not so limited and the scope should be determined according to the claims set forth below.

Claims (4)

  1. In a distributed computer network under the control of the service provider A method for distributing content on behalf of subscriber content provider,
    An end user client machine requests content from a subscribed content provider connected to the service provider via the Internet, the service provider includes a redirect server, and a given end user client machine has an IP address of a distributed computer network. And
    The content distribution method includes:
    Installing at least one distribution site having content of one or more subscribed content providers at a predetermined network location, at least one of which is Internet Pop (PoP) ;
    A table indexed by a byte value corresponding to a first byte of an IP address , wherein for each of the byte values, the byte value is defined as the first byte of the IP address based on data of a given network performance test a table containing the IP address of a subset of preferred delivery site to the end user client machine with the steps of redirect server generates,
    When an end-user client machine of a given IP address requests content service provider that manages, bytes in response thereto, the redirect server, corresponding to the first byte of the IP address of the end-user client machine content distribution method which comprises a step of associating the IP address of a subset of the distribution site the request by using the value as an index of the table.
  2. The content distribution method according to claim 1, further comprising the step of causing the redirect server to integrate and maintain network performance test data in the service provider.
  3. Redirect server, the content delivery method according to claim 2, further comprising a step of modifying the table in accordance with the data network performance tests.
  4. 4. The content distribution method according to claim 3, wherein the table is modified so as to change IP addresses respectively identifying the distribution sites of the subset.
JP50484999A 1997-06-18 1998-06-16 Content distribution method in distributed computer network Expired - Lifetime JP4968975B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US08/878,385 1997-06-18
US08/878,385 US6112239A (en) 1997-06-18 1997-06-18 System and method for server-side optimization of data delivery on a distributed computer network
PCT/US1998/012784 WO1998058315A1 (en) 1997-06-18 1998-06-16 System and method for server-side optimization of data delivery on a distributed computer network

Publications (2)

Publication Number Publication Date
JP2002506543A JP2002506543A (en) 2002-02-26
JP4968975B2 true JP4968975B2 (en) 2012-07-04

Family

ID=25371929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50484999A Expired - Lifetime JP4968975B2 (en) 1997-06-18 1998-06-16 Content distribution method in distributed computer network

Country Status (8)

Country Link
US (4) US6112239A (en)
EP (1) EP0990205B1 (en)
JP (1) JP4968975B2 (en)
CN (1) CN1109298C (en)
AU (1) AU8153998A (en)
CA (1) CA2294149A1 (en)
DE (1) DE69835674T2 (en)
WO (1) WO1998058315A1 (en)

Families Citing this family (455)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US6963859B2 (en) 1994-11-23 2005-11-08 Contentguard Holdings, Inc. Content rendering repository
JPH08263438A (en) 1994-11-23 1996-10-11 Xerox Corp Distribution and use control system for digital work, and method for controlling access to digital work
US6006252A (en) * 1996-10-08 1999-12-21 Wolfe; Mark A. System and method for communicating information relating to a network resource
US6233684B1 (en) * 1997-02-28 2001-05-15 Contenaguard Holdings, Inc. System for controlling the distribution and use of rendered digital works through watermaking
US7447738B1 (en) * 1997-03-14 2008-11-04 International Business Machines Corporation Component download selection mechanism for web browsers
US6112239A (en) * 1997-06-18 2000-08-29 Intervu, Inc System and method for server-side optimization of data delivery on a distributed computer network
US7058720B1 (en) * 1997-06-30 2006-06-06 Microsoft Corporation Geographical client distribution methods, systems and computer program products
US6223209B1 (en) * 1997-09-30 2001-04-24 Ncr Corporation Distributed world wide web servers
US6418478B1 (en) * 1997-10-30 2002-07-09 Commvault Systems, Inc. Pipelined high speed data transfer mechanism
US7581077B2 (en) 1997-10-30 2009-08-25 Commvault Systems, Inc. Method and system for transferring data in a storage operation
US7257604B1 (en) 1997-11-17 2007-08-14 Wolfe Mark A System and method for communicating information relating to a network resource
US6385596B1 (en) * 1998-02-06 2002-05-07 Liquid Audio, Inc. Secure online music distribution system
US6185598B1 (en) 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US8296396B2 (en) 1998-02-10 2012-10-23 Level 3 Communications, Llc Delivering resources to clients in a distributed computing environment with rendezvous based on load balancing and network conditions
US7047300B1 (en) * 1998-02-10 2006-05-16 Sprint Communications Company L.P. Survivable and scalable data system and method for computer networks
US6779118B1 (en) 1998-05-04 2004-08-17 Auriq Systems, Inc. User specific automatic data redirection system
US6976093B2 (en) * 1998-05-29 2005-12-13 Yahoo! Inc. Web server content replication
US7143193B1 (en) 1998-05-29 2006-11-28 Yahoo! Inc. Content collection
US7581006B1 (en) * 1998-05-29 2009-08-25 Yahoo! Inc. Web service
US6782409B1 (en) * 1998-05-29 2004-08-24 Sony Corporation Experience/sympathy information providing system
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US6665702B1 (en) 1998-07-15 2003-12-16 Radware Ltd. Load balancing
US6249801B1 (en) * 1998-07-15 2001-06-19 Radware Ltd. Load balancing
JP3786328B2 (en) * 1998-07-27 2006-06-14 株式会社日立製作所 Server and a communication control method
US7047483B1 (en) * 1998-09-01 2006-05-16 Lucent Technologies Inc. Computer implemented method and apparatus for providing a logical point of access to one or more files
WO2000016210A1 (en) * 1998-09-17 2000-03-23 Nexchange Corporation Affiliate commerce system and method
US8010627B1 (en) 1998-09-25 2011-08-30 Sprint Communications Company L.P. Virtual content publishing system
US7664864B2 (en) * 1998-11-13 2010-02-16 Verisign, Inc. Meta content distribution network
US6751777B2 (en) * 1998-10-19 2004-06-15 International Business Machines Corporation Multi-target links for navigating between hypertext documents and the like
JP3935276B2 (en) * 1998-10-21 2007-06-20 キヤノン株式会社 Network device management method, apparatus, storage medium, and transmission apparatus
US6691165B1 (en) * 1998-11-10 2004-02-10 Rainfinity, Inc. Distributed server cluster for controlling network traffic
US8099758B2 (en) 1999-05-12 2012-01-17 Microsoft Corporation Policy based composite file system and method
US7017188B1 (en) 1998-11-16 2006-03-21 Softricity, Inc. Method and apparatus for secure content delivery over broadband access networks
US7225264B2 (en) 1998-11-16 2007-05-29 Softricity, Inc. Systems and methods for delivering content over a computer network
US6763370B1 (en) 1998-11-16 2004-07-13 Softricity, Inc. Method and apparatus for content protection in a secure content delivery system
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US7194554B1 (en) 1998-12-08 2007-03-20 Nomadix, Inc. Systems and methods for providing dynamic network authorization authentication and accounting
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
DE19900636B8 (en) 1999-01-11 2005-04-07 Thomas Binzinger Data access and management system and method for data access and data management for a computer system and the use thereof
US6611872B1 (en) * 1999-01-11 2003-08-26 Fastforward Networks, Inc. Performing multicast communication in computer networks by using overlay routing
US7099848B1 (en) 1999-02-16 2006-08-29 Listen.Com, Inc. Audio delivery and rendering method and apparatus
US6901604B1 (en) * 1999-02-19 2005-05-31 Chaincast, Inc. Method and system for ensuring continuous data flow between re-transmitters within a chaincast communication system
US7185097B1 (en) * 1999-02-25 2007-02-27 Nortel Networks Limited Encoding addresses in a communication system
GB9906628D0 (en) * 1999-03-23 1999-05-19 Koninkl Philips Electronics Nv Data network load management
JP3808660B2 (en) * 1999-03-31 2006-08-16 株式会社東芝 Communication system and terminal devices
US6721794B2 (en) 1999-04-01 2004-04-13 Diva Systems Corp. Method of data management for efficiently storing and retrieving data to respond to user access requests
US6233607B1 (en) * 1999-04-01 2001-05-15 Diva Systems Corp. Modular storage server architecture with dynamic data management
US6578078B1 (en) * 1999-04-02 2003-06-10 Microsoft Corporation Method for preserving referential integrity within web sites
GB2348718A (en) * 1999-04-07 2000-10-11 Ibm Data processing system having a centralised trace facility with dynamic tracing
US7730169B1 (en) 1999-04-12 2010-06-01 Softricity, Inc. Business method and system for serving third party software applications
US6801949B1 (en) 1999-04-12 2004-10-05 Rainfinity, Inc. Distributed server cluster with graphical user interface
US7370071B2 (en) * 2000-03-17 2008-05-06 Microsoft Corporation Method for serving third party software applications from servers to client computers
US6757698B2 (en) * 1999-04-14 2004-06-29 Iomega Corporation Method and apparatus for automatically synchronizing data from a host computer to two or more backup data storage locations
US6571288B1 (en) * 1999-04-26 2003-05-27 Hewlett-Packard Company Apparatus and method that empirically measures capacity of multiple servers and forwards relative weights to load balancer
US6735633B1 (en) 1999-06-01 2004-05-11 Fast Forward Networks System for bandwidth allocation in a computer network
US6850987B1 (en) * 1999-06-01 2005-02-01 Fastforward Networks, Inc. System for multipoint infrastructure transport in a computer network
US6275470B1 (en) 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
US7035880B1 (en) 1999-07-14 2006-04-25 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US7389311B1 (en) * 1999-07-15 2008-06-17 Commvault Systems, Inc. Modular backup and retrieval system
US7395282B1 (en) * 1999-07-15 2008-07-01 Commvault Systems, Inc. Hierarchical backup and retrieval system
US6415323B1 (en) 1999-09-03 2002-07-02 Fastforward Networks Proximity-based redirection system for robust and scalable service-node location in an internetwork
US6857106B1 (en) 1999-09-15 2005-02-15 Listen.Com, Inc. Graphical user interface with moveable, mergeable elements
US6721789B1 (en) * 1999-10-06 2004-04-13 Sun Microsystems, Inc. Scheduling storage accesses for rate-guaranteed and non-rate-guaranteed requests
US8190708B1 (en) 1999-10-22 2012-05-29 Nomadix, Inc. Gateway device having an XML interface and associated method
US8543901B1 (en) 1999-11-01 2013-09-24 Level 3 Communications, Llc Verification of content stored in a network
US7127500B1 (en) * 1999-11-10 2006-10-24 Oclc Online Computer Library Center, Inc. Retrieval of digital objects by redirection of controlled vocabulary searches
US7523181B2 (en) 1999-11-22 2009-04-21 Akamai Technologies, Inc. Method for determining metrics of a content delivery and global traffic management network
US7346676B1 (en) * 2000-07-19 2008-03-18 Akamai Technologies, Inc. Load balancing service
US7912978B2 (en) * 2000-07-19 2011-03-22 Akamai Technologies, Inc. Method for determining metrics of a content delivery and global traffic management network
US8060581B2 (en) * 2000-07-19 2011-11-15 Akamai Technologies, Inc. Dynamic image delivery system
US6754699B2 (en) * 2000-07-19 2004-06-22 Speedera Networks, Inc. Content delivery and global traffic management network system
US7363361B2 (en) * 2000-08-18 2008-04-22 Akamai Technologies, Inc. Secure content delivery system
US7653706B2 (en) * 2000-07-19 2010-01-26 Akamai Technologies, Inc. Dynamic image delivery system
US8341297B2 (en) 2000-07-19 2012-12-25 Akamai Technologies, Inc. Latencies and weightings in a domain name service (DNS) system
US7725602B2 (en) * 2000-07-19 2010-05-25 Akamai Technologies, Inc. Domain name resolution using a distributed DNS network
US6405252B1 (en) * 1999-11-22 2002-06-11 Speedera Networks, Inc. Integrated point of presence server network
US7925713B1 (en) * 1999-11-22 2011-04-12 Akamai Technologies, Inc. Method for operating an integrated point of presence server network
US9538386B2 (en) 1999-11-24 2017-01-03 Robert C. Yen Wireless internet access with enhanced bandwidth capabilities
US8516146B1 (en) 1999-11-24 2013-08-20 Robert C. Yen Method and system for reduction of delay and bandwidth requirements in internet data transfer
US7222161B2 (en) * 1999-11-24 2007-05-22 Yen Robert C Method and system for facilitating usage of local content at client machine
US6904455B1 (en) 1999-11-24 2005-06-07 Robert C. Yen Method and system for providing local content for use in partially satisfying internet data requests from remote servers
WO2001041023A1 (en) * 1999-12-03 2001-06-07 Matsushita Electric Industrial Company, Limited A content distribution system and a reference server
AU2577401A (en) 1999-12-08 2001-06-18 Tuneto.Com, Inc. Scheduled retrieval, storage and access of media data
US6442708B1 (en) * 1999-12-14 2002-08-27 Honeywell International Inc. Fault localization and health indication for a controller area network
US6754706B1 (en) 1999-12-16 2004-06-22 Speedera Networks, Inc. Scalable domain name system with persistence and load balancing
US6785704B1 (en) 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US20030108018A1 (en) * 1999-12-31 2003-06-12 Serge Dujardin Server module and a distributed server-based internet access scheme and method of operating the same
EP1113646A1 (en) * 1999-12-31 2001-07-04 Advanced Communication Research A server module and a distributed server based internet access scheme and method of operating the same
US6606643B1 (en) * 2000-01-04 2003-08-12 International Business Machines Corporation Method of automatically selecting a mirror server for web-based client-host interaction
US6763380B1 (en) * 2000-01-07 2004-07-13 Netiq Corporation Methods, systems and computer program products for tracking network device performance
US7281034B1 (en) 2000-01-24 2007-10-09 Friskit, Inc. System and method for media playback over a network using links that contain control signals and commands
US6519648B1 (en) * 2000-01-24 2003-02-11 Friskit, Inc. Streaming media search and continuous playback of multiple media resources located on a network
US6389467B1 (en) 2000-01-24 2002-05-14 Friskit, Inc. Streaming media search and continuous playback system of media resources located by multiple network addresses
US7228305B1 (en) * 2000-01-24 2007-06-05 Friskit, Inc. Rating system for streaming media playback system
CN1115839C (en) * 2000-01-28 2003-07-23 国际商业机器公司 Method and device for balancing load of image server
US7003641B2 (en) 2000-01-31 2006-02-21 Commvault Systems, Inc. Logical view with granular access to exchange data managed by a modular data and storage management system
US6658436B2 (en) 2000-01-31 2003-12-02 Commvault Systems, Inc. Logical view and access to data managed by a modular data and storage management system
US7155481B2 (en) 2000-01-31 2006-12-26 Commvault Systems, Inc. Email attachment management in a computer system
KR100831768B1 (en) * 2000-02-04 2008-05-27 리슨.컴 .인크. System for distributed media network and meta data server
US8418195B1 (en) * 2000-02-04 2013-04-09 Sprint Communications Company L.P. Advertising insertion for a video-on-demand system
CN100348009C (en) * 2000-02-04 2007-11-07 里逊.Com股份有限公司 System for disributed media network and meta data server
US7792745B2 (en) * 2000-02-25 2010-09-07 Ipass Inc. Method and system to facilitate financial settlement of service access transactions between multiple parties
US20010034693A1 (en) * 2000-02-25 2001-10-25 Jay Farhat Method and system to broker a service access transaction
US20020116444A1 (en) * 2000-02-29 2002-08-22 Imran Chaudhri Method and system for providing intelligent network content delivery
US6799214B1 (en) * 2000-03-03 2004-09-28 Nec Corporation System and method for efficient content delivery using redirection pages received from the content provider original site and the mirror sites
US20030088878A1 (en) * 2000-03-25 2003-05-08 Karl Rogers System and method for integration of high quality video multi-casting service with an interactive communication and information environment using internet protocols
US6687846B1 (en) 2000-03-30 2004-02-03 Intel Corporation System and method for error handling and recovery
US7058706B1 (en) 2000-03-31 2006-06-06 Akamai Technologies, Inc. Method and apparatus for determining latency between multiple servers and a client
US20050021862A1 (en) * 2000-03-31 2005-01-27 Dickens Coal Llc Automatic selection of content-delivery provider using link mapping database
US7240100B1 (en) * 2000-04-14 2007-07-03 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism with metadata framework support
US6996616B1 (en) * 2000-04-17 2006-02-07 Akamai Technologies, Inc. HTML delivery from edge-of-network servers in a content delivery network (CDN)
US7010537B2 (en) * 2000-04-27 2006-03-07 Friskit, Inc. Method and system for visual network searching
US6928481B1 (en) * 2000-05-05 2005-08-09 International Business Machines Corporation Method, apparatus and program to optimize the network distribution of digital information based on hierarchical grouping of server topology and code distribution
US7299291B1 (en) 2000-05-18 2007-11-20 Akamai Technologies, Inc. Client-side method for identifying an optimum server
US7120629B1 (en) 2000-05-24 2006-10-10 Reachforce, Inc. Prospects harvester system for providing contact data about customers of product or service offered by business enterprise extracting text documents selected from newsgroups, discussion forums, mailing lists, querying such data to provide customers who confirm to business profile data
US7082427B1 (en) * 2000-05-24 2006-07-25 Reachforce, Inc. Text indexing system to index, query the archive database document by keyword data representing the content of the documents and by contact data associated with the participant who generated the document
US7240112B2 (en) * 2000-05-26 2007-07-03 Ipass Inc. Service quality monitoring process
US6510463B1 (en) * 2000-05-26 2003-01-21 Ipass, Inc. Service quality monitoring process
US7096263B2 (en) * 2000-05-26 2006-08-22 Akamai Technologies, Inc. Method for predicting file download time from mirrored data centers in a global computer network
US6985945B2 (en) * 2000-12-07 2006-01-10 Ipass, Inc. Service quality monitoring process
US7519695B2 (en) * 2000-05-26 2009-04-14 Ipass Inc. Service quality monitoring process
US7103664B1 (en) * 2000-05-31 2006-09-05 International Business Machines Corporation Method, system and program products for ordering lists of service addresses to provide load balancing of a clustered environment
US20010051980A1 (en) * 2000-06-01 2001-12-13 Raciborski Nathan F. Preloading content objects on content exchanges
US6658000B1 (en) 2000-06-01 2003-12-02 Aerocast.Com, Inc. Selective routing
US20010049732A1 (en) * 2000-06-01 2001-12-06 Raciborski Nathan F. Content exchange apparatus
US6904460B1 (en) 2000-06-01 2005-06-07 Aerocast.Com, Inc. Reverse content harvester
US7213062B1 (en) 2000-06-01 2007-05-01 General Instrument Corporation Self-publishing network directory
US6836806B1 (en) 2000-06-01 2004-12-28 Aerocast, Inc. System for network addressing
AR028661A1 (en) * 2000-06-01 2003-05-21 Aerocast Com Inc Method for selecting a node address client side
US6879998B1 (en) * 2000-06-01 2005-04-12 Aerocast.Com, Inc. Viewer object proxy
US7020709B1 (en) * 2000-06-30 2006-03-28 Intel Corporation System and method for fault tolerant stream splitting
US7318107B1 (en) 2000-06-30 2008-01-08 Intel Corporation System and method for automatic stream fail-over
US7111163B1 (en) 2000-07-10 2006-09-19 Alterwan, Inc. Wide area network using internet with quality of service
US8346956B2 (en) 2004-10-29 2013-01-01 Akamai Technologies, Inc. Dynamic image delivery system
FI112148B (en) * 2000-07-24 2003-10-31 Stonesoft Oyj The communication control method
EP1176760A1 (en) * 2000-07-27 2002-01-30 Telefonaktiebolaget Lm Ericsson Method of establishing access from a terminal to a server
US20030188160A1 (en) * 2001-08-02 2003-10-02 Singam Sunder Method and system to securely update files via a network
US7191239B2 (en) * 2000-08-02 2007-03-13 Ipass Inc. Method and system to customize and update a network connection application for distribution to multiple end-users
US7761606B2 (en) * 2001-08-02 2010-07-20 Ipass Inc. Method and system to secure a connection application for distribution to multiple end-users
US7801158B2 (en) * 2000-10-16 2010-09-21 Verizon Communications Inc. Congestion and thru-put visibility and isolation
US7913095B2 (en) 2000-08-28 2011-03-22 Contentguard Holdings, Inc. Method and apparatus for providing a specific user interface in a system for managing content
US7743259B2 (en) * 2000-08-28 2010-06-22 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
CA2420925C (en) * 2000-08-31 2010-11-30 Goldpocket Interactive, Inc. Systems and method for interacting with users over a communications network
US7657629B1 (en) * 2000-09-26 2010-02-02 Foundry Networks, Inc. Global server load balancing
US7454500B1 (en) 2000-09-26 2008-11-18 Foundry Networks, Inc. Global server load balancing
US9130954B2 (en) * 2000-09-26 2015-09-08 Brocade Communications Systems, Inc. Distributed health check for global server load balancing
WO2002028021A2 (en) 2000-09-27 2002-04-04 Yen Robert C Wireless internet access with enhanced bandwidth capabilities
JP2002108350A (en) * 2000-09-28 2002-04-10 Internatl Business Mach Corp <Ibm> Method and system for music distribution
US7043531B1 (en) 2000-10-04 2006-05-09 Inetprofit, Inc. Web-based customer lead generator system with pre-emptive profiling
US7330850B1 (en) 2000-10-04 2008-02-12 Reachforce, Inc. Text mining system for web-based business intelligence applied to web site server logs
US7401125B1 (en) * 2000-10-10 2008-07-15 Ricoh Corporation System, computer program product and method for managing documents
US6714970B1 (en) * 2000-10-26 2004-03-30 International Business Machines Corporation Protecting open world wide web sites from known malicious users by diverting requests from malicious users to alias addresses for the protected sites
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US7111057B1 (en) * 2000-10-31 2006-09-19 Akamai Technologies, Inc. Method and system for purging content from a content delivery network
US7343324B2 (en) 2000-11-03 2008-03-11 Contentguard Holdings Inc. Method, system, and computer readable medium for automatically publishing content
US7353277B1 (en) * 2000-11-14 2008-04-01 Hewlett-Packard Development Company, L.P. Dynamic load balancing of video requests
US20020065922A1 (en) * 2000-11-30 2002-05-30 Vijnan Shastri Method and apparatus for selection and redirection of an existing client-server connection to an alternate data server hosted on a data packet network (DPN) based on performance comparisons
US7158534B2 (en) * 2000-11-30 2007-01-02 Imajet Communications, Inc. Unified distributed architecture for a multi-point video conference and interactive broadcast systems
US6928474B2 (en) * 2000-12-14 2005-08-09 Honeywell International, Inc. Using a probability associative matrix algorithm to modify web pages
US7502857B2 (en) * 2000-12-15 2009-03-10 International Business Machines Corporation Method and system for optimally allocating a network service
US6795941B2 (en) 2000-12-21 2004-09-21 Honeywell International Inc. Method for diagnosing a network
US6912294B2 (en) * 2000-12-29 2005-06-28 Contentguard Holdings, Inc. Multi-stage watermarking process and system
US6993508B1 (en) * 2000-12-29 2006-01-31 Novell, Inc. Method and mechanism for vending digital content
US6651141B2 (en) 2000-12-29 2003-11-18 Intel Corporation System and method for populating cache servers with popular media contents
US20020094868A1 (en) * 2001-01-16 2002-07-18 Alma Tuck Methods for interactive internet advertising, apparatuses and systems including same
US20040039704A1 (en) * 2001-01-17 2004-02-26 Contentguard Holdings, Inc. System and method for supplying and managing usage rights of users and suppliers of items
US8069116B2 (en) 2001-01-17 2011-11-29 Contentguard Holdings, Inc. System and method for supplying and managing usage rights associated with an item repository
US7028009B2 (en) * 2001-01-17 2006-04-11 Contentguardiholdings, Inc. Method and apparatus for distributing enforceable property rights
US20070198739A1 (en) 2001-01-19 2007-08-23 Streamworks Technologies, Inc. System and method for routing media
US7054949B2 (en) 2001-01-19 2006-05-30 World Streaming Network, Inc. System and method for streaming media
US20040025186A1 (en) * 2001-01-19 2004-02-05 Jennings Charles A. System and method for managing media
US7191244B2 (en) * 2001-01-19 2007-03-13 Streamworks Technologies, Inc. System and method for routing media
US20020123330A1 (en) * 2001-02-06 2002-09-05 Yen Robert C. Wireless internet access with enhanced bandwidth capabilities
WO2002071242A1 (en) * 2001-03-01 2002-09-12 Akamai Technologies, Inc. Optimal route selection in a content delivery network
US20020133597A1 (en) * 2001-03-14 2002-09-19 Nikhil Jhingan Global storage system
US7715934B2 (en) 2003-09-19 2010-05-11 Macrovision Corporation Identification of input files using reference files associated with nodes of a sparse binary tree
JP4254071B2 (en) * 2001-03-22 2009-04-15 コニカミノルタビジネステクノロジーズ株式会社 Printer, server, monitoring device, printing system, and monitoring program
US6766407B1 (en) * 2001-03-27 2004-07-20 Microsoft Corporation Intelligent streaming framework
WO2002079905A2 (en) * 2001-04-02 2002-10-10 Akamai Technologies, Inc. Scalable, high performance and highly available distributed storage system for internet content
US7149797B1 (en) * 2001-04-02 2006-12-12 Akamai Technologies, Inc. Content delivery network service provider (CDNSP)-managed content delivery network (CDN) for network service provider (NSP)
US20030065919A1 (en) * 2001-04-18 2003-04-03 Albert Roy David Method and system for identifying a replay attack by an access device to a computer system
US7469341B2 (en) * 2001-04-18 2008-12-23 Ipass Inc. Method and system for associating a plurality of transaction data records generated in a service access system
US7921290B2 (en) * 2001-04-18 2011-04-05 Ipass Inc. Method and system for securely authenticating network access credentials for users
JP2002328855A (en) * 2001-05-02 2002-11-15 Sony Corp Device and method for processing information, recording medium and program
US6959333B2 (en) * 2001-05-08 2005-10-25 Lucent Technologies Inc. Technique for content delivery over the internet
US8275709B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US8001053B2 (en) 2001-05-31 2011-08-16 Contentguard Holdings, Inc. System and method for rights offering and granting using shared state variables
US7774279B2 (en) 2001-05-31 2010-08-10 Contentguard Holdings, Inc. Rights offering and granting
US6895503B2 (en) 2001-05-31 2005-05-17 Contentguard Holdings, Inc. Method and apparatus for hierarchical assignment of rights to documents and documents having such rights
US6754642B2 (en) * 2001-05-31 2004-06-22 Contentguard Holdings, Inc. Method and apparatus for dynamically assigning usage rights to digital works
US8099364B2 (en) 2001-05-31 2012-01-17 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US6876984B2 (en) 2001-05-31 2005-04-05 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US7725401B2 (en) 2001-05-31 2010-05-25 Contentguard Holdings, Inc. Method and apparatus for establishing usage rights for digital content to be created in the future
US7152046B2 (en) * 2001-05-31 2006-12-19 Contentguard Holdings, Inc. Method and apparatus for tracking status of resource in a system for managing use of the resources
US8275716B2 (en) 2001-05-31 2012-09-25 Contentguard Holdings, Inc. Method and system for subscription digital rights management
US20080021836A1 (en) 2001-05-31 2008-01-24 Contentguard Holding, Inc. Method and system for subscription digital rights management
US7007089B2 (en) * 2001-06-06 2006-02-28 Akarnai Technologies, Inc. Content delivery network map generation using passive measurement data
US7774280B2 (en) 2001-06-07 2010-08-10 Contentguard Holdings, Inc. System and method for managing transfer of rights using shared state variables
BR0210930A (en) 2001-06-07 2005-05-03 Contentguard Holdings Inc Method and apparatus for supporting multiple zones of trust in a digital rights management system
US8935316B2 (en) 2005-01-14 2015-01-13 Citrix Systems, Inc. Methods and systems for in-session playback on a local machine of remotely-stored and real time presentation layer protocol data
US8296441B2 (en) 2005-01-14 2012-10-23 Citrix Systems, Inc. Methods and systems for joining a real-time session of presentation layer protocol data
US7454485B2 (en) * 2001-06-29 2008-11-18 Intel Corporation Providing uninterrupted media streaming using multiple network sites
US20030009657A1 (en) * 2001-06-29 2003-01-09 Ibm Corporation Method and system for booting of a target device in a network management system
WO2003009539A1 (en) * 2001-07-10 2003-01-30 Fujitsu Limited Mobile machine communication system and communication method
US7379977B2 (en) * 2001-07-24 2008-05-27 Steve Walrath System and method for display of multiple electronic pages
DE60101798T2 (en) * 2001-08-31 2004-06-17 Stonesoft Corp. Data transmission method and network node for Leitwegeauswahl means of circulation time and packet transmission rate
US20030051015A1 (en) * 2001-09-10 2003-03-13 Brown Brian J. System and method for distributing software
US20030055971A1 (en) * 2001-09-19 2003-03-20 Menon Rama R. Providing load balancing in delivering rich media
US6850866B2 (en) * 2001-09-24 2005-02-01 Electronic Data Systems Corporation Managing performance metrics describing a relationship between a provider and a client
US20030061006A1 (en) * 2001-09-24 2003-03-27 Richards Kevin T. Evaluating performance data describing a relationship between a provider and a client
US6687560B2 (en) 2001-09-24 2004-02-03 Electronic Data Systems Corporation Processing performance data describing a relationship between a provider and a client
WO2003042832A1 (en) * 2001-11-13 2003-05-22 Electronic Data Systems Corporation Managing performance metrics describing a relationship between a provider and a client
US20030065553A1 (en) * 2001-09-24 2003-04-03 Electronic Data Systems Corporation Reporting performance data describing a relationship between a provider and a client
WO2003029980A1 (en) * 2001-09-24 2003-04-10 Electronic Data Systems Corporation Evaluating performance data describing a relationship between a provider and a client
US6915234B2 (en) 2001-09-24 2005-07-05 Electronic Data Systems Corporation Monitoring submission of performance data describing a relationship between a provider and a client
US7860964B2 (en) 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
US7822871B2 (en) 2001-09-28 2010-10-26 Level 3 Communications, Llc Configurable adaptive global traffic control and management
US7373644B2 (en) 2001-10-02 2008-05-13 Level 3 Communications, Llc Automated server replication
US20030074670A1 (en) * 2001-10-12 2003-04-17 Penk Mark D. Propagation of dynamic network information
US20030079027A1 (en) * 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
US20030084104A1 (en) * 2001-10-31 2003-05-01 Krimo Salem System and method for remote storage and retrieval of data
US20030093515A1 (en) * 2001-11-14 2003-05-15 Kauffman Marc W. Quality of service control of streamed content delivery
US6978270B1 (en) 2001-11-16 2005-12-20 Ncr Corporation System and method for capturing and storing operational data concerning an internet service provider's (ISP) operational environment and customer web browsing habits
US7840488B2 (en) * 2001-11-20 2010-11-23 Contentguard Holdings, Inc. System and method for granting access to an item or permission to use an item based on configurable conditions
US7974923B2 (en) * 2001-11-20 2011-07-05 Contentguard Holdings, Inc. Extensible rights expression processing system
JP4714414B2 (en) * 2001-11-20 2011-06-29 コンテントガード ホールディングズ インコーポレイテッドContentGuard Holdings, Inc. Extensible rights expression processing system
US20030099364A1 (en) * 2001-11-28 2003-05-29 Thompson Mark R. Playback manipulation of HTTP streamed content objects
JP2003196232A (en) 2001-12-27 2003-07-11 Fuji Xerox Co Ltd Information collecting device and information collecting method
JP2003223378A (en) * 2002-01-29 2003-08-08 Fujitsu Ltd Contents delivery network service method and system
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
US20030229593A1 (en) * 2002-03-14 2003-12-11 Michael Raley Rights expression profile system and method
AU2003225804A1 (en) * 2002-03-14 2003-09-29 Contentguard Holdings, Inc. System and method for expressing usage rights using modulated signals
US7805371B2 (en) * 2002-03-14 2010-09-28 Contentguard Holdings, Inc. Rights expression profile system and method
US7194433B1 (en) * 2002-04-05 2007-03-20 Ricoh Company, Ltd. System, computer program product and method for managing documents
US9137324B2 (en) * 2002-04-10 2015-09-15 International Business Machines Corporation Capacity on-demand in distributed computing environments
JP4000895B2 (en) * 2002-04-23 2007-10-31 日本電気株式会社 Bit rate control method and apparatus for real-time communication
CA2484493A1 (en) * 2002-04-29 2003-11-13 Contentguard Holdings, Inc. System and method for specifying and processing legality expressions
US20040059777A1 (en) * 2002-05-31 2004-03-25 Palazzo Craig M. System and method for distributed component object model load balancing
US7836295B2 (en) 2002-07-29 2010-11-16 International Business Machines Corporation Method and apparatus for improving the resilience of content distribution networks to distributed denial of service attacks
US20040024900A1 (en) * 2002-07-30 2004-02-05 International Business Machines Corporation Method and system for enhancing streaming operation in a distributed communication system
GB0217795D0 (en) * 2002-07-31 2002-09-11 Hewlett Packard Co Establishment of network connections
EP1387301A3 (en) * 2002-07-31 2006-05-24 Hewlett-Packard Development Company, L.P. Establishment of network connections
US7086061B1 (en) * 2002-08-01 2006-08-01 Foundry Networks, Inc. Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics
US7676576B1 (en) 2002-08-01 2010-03-09 Foundry Networks, Inc. Method and system to clear counters used for statistical tracking for global server load balancing
US7574508B1 (en) 2002-08-07 2009-08-11 Foundry Networks, Inc. Canonical name (CNAME) handling for global server load balancing
US7961884B2 (en) * 2002-08-13 2011-06-14 Ipass Inc. Method and system for changing security information in a computer network
US7305464B2 (en) * 2002-09-03 2007-12-04 End Ii End Communications, Inc. Systems and methods for broadband network optimization
US20080089347A1 (en) * 2003-08-29 2008-04-17 End Ii End Communications Inc. Systems and methods for broadband network optimization
WO2004025483A1 (en) 2002-09-16 2004-03-25 Commvault Systems, Inc. System and method for optimizing storage operations
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US7656799B2 (en) 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US7542471B2 (en) 2002-10-30 2009-06-02 Citrix Systems, Inc. Method of determining path maximum transmission unit
US7630305B2 (en) 2003-07-29 2009-12-08 Orbital Data Corporation TCP selective acknowledgements for communicating delivered and missed data packets
US8437284B2 (en) 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US7616638B2 (en) 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US8233392B2 (en) 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US7698453B2 (en) * 2003-07-29 2010-04-13 Oribital Data Corporation Early generation of acknowledgements for flow control
US8432800B2 (en) 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
US8238241B2 (en) 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
CN1317662C (en) * 2002-10-31 2007-05-23 中兴通讯股份有限公司 Distribution type file access method
AT361611T (en) * 2003-02-03 2007-05-15 Alcatel Lucent Building diversity connections via different access nodes
US20040260710A1 (en) * 2003-02-28 2004-12-23 Marston Justin P. Messaging system
US7490348B1 (en) 2003-03-17 2009-02-10 Harris Technology, Llc Wireless network having multiple communication allowances
JP4271483B2 (en) 2003-04-24 2009-06-03 ソニー株式会社 Content processing apparatus and content processing method
US8200828B2 (en) 2005-01-14 2012-06-12 Citrix Systems, Inc. Systems and methods for single stack shadowing
US20050010961A1 (en) * 2003-06-02 2005-01-13 Hagen David A. System for providing live and pre-recorded audio-video content to a plurality of portals over the Internet
US20050055371A1 (en) * 2003-06-05 2005-03-10 Singam Sunder Method and system to manage a network connection application
US8606885B2 (en) * 2003-06-05 2013-12-10 Ipass Inc. Method and system of providing access point data associated with a network access point
US20040254999A1 (en) * 2003-06-13 2004-12-16 Bellsouth Intellectual Property Corporation System for providing content to multiple users
JP4278445B2 (en) * 2003-06-18 2009-06-17 株式会社日立製作所 Network system and switch
US7454569B2 (en) * 2003-06-25 2008-11-18 Commvault Systems, Inc. Hierarchical system and method for performing storage operations in a computer network
US7475108B2 (en) * 2003-06-26 2009-01-06 International Business Machines Corporation Slow-dynamic load balancing method
US7685642B2 (en) * 2003-06-26 2010-03-23 Contentguard Holdings, Inc. System and method for controlling rights expressions by stakeholders of an item
US20060190549A1 (en) * 2004-07-23 2006-08-24 Kouichi Teramae Multi-media information device network system
US9525566B2 (en) * 2003-07-31 2016-12-20 Cloudsoft Corporation Limited Self-managed mediated information flow
GB0319251D0 (en) 2003-08-15 2003-09-17 British Telecomm System and method for selecting data providers
US7512679B2 (en) * 2003-08-29 2009-03-31 International Business Machines Corporation Apparatus and method to select a captain from a plurality of control nodes
US9584360B2 (en) * 2003-09-29 2017-02-28 Foundry Networks, Llc Global server load balancing support for private VIP addresses
US20050097185A1 (en) * 2003-10-07 2005-05-05 Simon Gibson Localization link system
US7356566B2 (en) 2003-10-09 2008-04-08 International Business Machines Corporation Selective mirrored site accesses from a communication
US20050089014A1 (en) * 2003-10-27 2005-04-28 Macrovision Corporation System and methods for communicating over the internet with geographically distributed devices of a decentralized network using transparent asymetric return paths
US20050144242A1 (en) * 2003-10-31 2005-06-30 Justin Marston Caching in an electronic messaging system
US20050097593A1 (en) * 2003-11-05 2005-05-05 Michael Raley System, method and device for selected content distribution
US7539707B2 (en) 2003-11-13 2009-05-26 Commvault Systems, Inc. System and method for performing an image level snapshot and for restoring partial volume data
WO2005050381A2 (en) 2003-11-13 2005-06-02 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
CA2544063C (en) 2003-11-13 2013-09-10 Commvault Systems, Inc. System and method for combining data streams in pilelined storage operations in a storage network
US20050198168A1 (en) * 2003-12-04 2005-09-08 Justin Marston Messaging protocol discovery
US7895625B1 (en) * 2003-12-24 2011-02-22 Time Warner, Inc. System and method for recommending programming to television viewing communities
WO2005081735A2 (en) * 2004-02-18 2005-09-09 Ipass Inc. Method and system for managing transactions in a remote network access system
US7877810B2 (en) * 2004-03-02 2011-01-25 Rovi Solutions Corporation System, method and client user interface for a copy protection service
US7539862B2 (en) 2004-04-08 2009-05-26 Ipass Inc. Method and system for verifying and updating the configuration of an access device during authentication
US20060064478A1 (en) * 2004-05-03 2006-03-23 Level 3 Communications, Inc. Geo-locating load balancing
US8089972B2 (en) 2004-05-03 2012-01-03 Level 3 Communications, Llc Registration redirect server
US7584301B1 (en) * 2004-05-06 2009-09-01 Foundry Networks, Inc. Host-level policies for global server load balancing
US7496651B1 (en) * 2004-05-06 2009-02-24 Foundry Networks, Inc. Configurable geographic prefixes for global server load balancing
US20060031352A1 (en) * 2004-05-12 2006-02-09 Justin Marston Tamper-proof electronic messaging
EP1751937A1 (en) * 2004-05-12 2007-02-14 Bluespace Group Ltd Enforcing compliance policies in a messaging system
ES2318300T3 (en) 2004-08-12 2009-05-01 Telecom Italia S.P.A. System, procedure and device for updating a set of data through a communications network.
US7423977B1 (en) 2004-08-23 2008-09-09 Foundry Networks Inc. Smoothing algorithm for round trip time (RTT) measurements
US20060069700A1 (en) * 2004-09-22 2006-03-30 Justin Marston Generating relational structure for non-relational messages
US7711835B2 (en) * 2004-09-30 2010-05-04 Citrix Systems, Inc. Method and apparatus for reducing disclosure of proprietary data in a networked environment
US8613048B2 (en) 2004-09-30 2013-12-17 Citrix Systems, Inc. Method and apparatus for providing authorized remote access to application sessions
US7748032B2 (en) 2004-09-30 2010-06-29 Citrix Systems, Inc. Method and apparatus for associating tickets in a ticket hierarchy
WO2006047732A2 (en) * 2004-10-27 2006-05-04 Eg Technology, Inc. Network architecture for real time delivery of video over lossy networks from remote locations
US20060107326A1 (en) * 2004-11-12 2006-05-18 Demartini Thomas Method, system, and device for verifying authorized issuance of a rights expression
US8660961B2 (en) * 2004-11-18 2014-02-25 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
US20060106726A1 (en) * 2004-11-18 2006-05-18 Contentguard Holdings, Inc. Method, system, and device for license-centric content consumption
US20060112015A1 (en) * 2004-11-24 2006-05-25 Contentguard Holdings, Inc. Method, system, and device for handling creation of derivative works and for adapting rights to derivative works
US8768350B2 (en) 2004-12-09 2014-07-01 Level 3 Communications, Llc Systems and methods for locating endpoints in a communication network
US9843557B2 (en) 2004-12-09 2017-12-12 Level 3 Communications, Llc Systems and methods for dynamically registering endpoints in a network
US7734019B1 (en) * 2004-12-09 2010-06-08 Level 3 Communications, Llc Systems and methods for third party emergency call termination
US7831728B2 (en) 2005-01-14 2010-11-09 Citrix Systems, Inc. Methods and systems for real-time seeking during real-time playback of a presentation layer protocol data stream
US8145777B2 (en) 2005-01-14 2012-03-27 Citrix Systems, Inc. Method and system for real-time seeking during playback of remote presentation protocols
US8230096B2 (en) 2005-01-14 2012-07-24 Citrix Systems, Inc. Methods and systems for generating playback instructions for playback of a recorded computer session
US20060159432A1 (en) 2005-01-14 2006-07-20 Citrix Systems, Inc. System and methods for automatic time-warped playback in rendering a recorded computer session
US8340130B2 (en) 2005-01-14 2012-12-25 Citrix Systems, Inc. Methods and systems for generating playback instructions for rendering of a recorded computer session
US8024568B2 (en) 2005-01-28 2011-09-20 Citrix Systems, Inc. Method and system for verification of an endpoint security scan
US7711794B2 (en) * 2005-02-01 2010-05-04 International Business Machines Corporation Adjusting timing between automatic, non-user-initiated pollings of server to download data therefrom
US8918515B1 (en) * 2005-02-10 2014-12-23 Symantec Corporation Interstitial redirection management
US7436936B2 (en) * 2005-02-22 2008-10-14 Level 3 Communications, Llc VoIP call through tester
US7519074B2 (en) * 2005-02-22 2009-04-14 Level 3 Communications, Llc Voice call coordinator
US20060282386A1 (en) * 2005-03-14 2006-12-14 Szeto Christopher T Method and system for premium access
US20080307339A1 (en) 2006-03-20 2008-12-11 Kidzui, Inc. Child-oriented computing system
US20060248573A1 (en) * 2005-04-28 2006-11-02 Content Guard Holdings, Inc. System and method for developing and using trusted policy based on a social model
GB0508946D0 (en) * 2005-04-30 2005-06-08 Ibm Method and apparatus for streaming data
US7647424B2 (en) * 2005-06-15 2010-01-12 Hostway Corporation Multi-level redirection system
US9450908B2 (en) * 2005-06-23 2016-09-20 Go Daddy Operating Company, LLC Routing DNS system and method for shared domain name
US20050289242A1 (en) * 2005-06-24 2005-12-29 The Go Daddy Group, Inc. Resolving access to content associated with shared domain name using routing website
US8706816B2 (en) * 2005-06-24 2014-04-22 Go Daddy Operating Company, LLC System and method for email delivery for shared domain name
JP2007041720A (en) 2005-08-01 2007-02-15 Fujitsu Ltd Job step execution program and job step execution method
US8601475B2 (en) 2005-08-02 2013-12-03 Aol Inc. Download and upload of email messages using control commands in a client/server web application
US7809943B2 (en) * 2005-09-27 2010-10-05 Rovi Solutions Corporation Method and system for establishing trust in a peer-to-peer network
WO2007041170A2 (en) * 2005-09-29 2007-04-12 Contentguard Holdings, Inc. System for digital rights management using advanced copy with issue rights and managed copy tokens
US8191008B2 (en) 2005-10-03 2012-05-29 Citrix Systems, Inc. Simulating multi-monitor functionality in a single monitor environment
US7720767B2 (en) * 2005-10-24 2010-05-18 Contentguard Holdings, Inc. Method and system to support dynamic rights and resources sharing
KR100772385B1 (en) 2005-12-07 2007-11-01 삼성전자주식회사 Method and apparatus for transmitting and receiving content on distributed storage system
US7962709B2 (en) 2005-12-19 2011-06-14 Commvault Systems, Inc. Network redirector systems and methods for performing data replication
US7636743B2 (en) 2005-12-19 2009-12-22 Commvault Systems, Inc. Pathname translation in a data replication system
US8661216B2 (en) 2005-12-19 2014-02-25 Commvault Systems, Inc. Systems and methods for migrating components in a hierarchical storage network
CA2632935C (en) 2005-12-19 2014-02-04 Commvault Systems, Inc. Systems and methods for performing data replication
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US7617262B2 (en) 2005-12-19 2009-11-10 Commvault Systems, Inc. Systems and methods for monitoring application data in a data replication system
US8086722B2 (en) * 2005-12-21 2011-12-27 Rovi Solutions Corporation Techniques for measuring peer-to-peer (P2P) networks
US20070150600A1 (en) * 2005-12-22 2007-06-28 International Business Machines Corporation Method and apparatus for collecting data for characterizing HTTP session workloads
US8447837B2 (en) * 2005-12-30 2013-05-21 Akamai Technologies, Inc. Site acceleration with content prefetching enabled through customer-specific configurations
CN1997005B (en) 2006-01-06 2010-11-10 鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司 System and method for management and control of the network communication data
WO2007082308A2 (en) * 2006-01-13 2007-07-19 Bluespace Software Corp. Determining relevance of electronic content
CN100458721C (en) 2006-02-17 2009-02-04 深圳奇峰创智科技有限公司 Method for automatic backup using computer network
WO2007118052A2 (en) * 2006-04-03 2007-10-18 Ebiz.Mobility Ltd Method for universal electronic payment processing
US8321523B1 (en) * 2006-04-24 2012-11-27 Centrify Corporation Method and apparatus for dynamically and incrementally modifying NIS maps
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US7610383B2 (en) * 2006-08-11 2009-10-27 Hewlett-Packard Development Company, L.P. Data-object-related-request routing in a dynamic, distributed data-storage system
CN100571304C (en) 2006-08-30 2009-12-16 华为技术有限公司 Method and system for realizing data service cutting
US20080077524A1 (en) * 2006-09-25 2008-03-27 Greene Jeffrey Marc Global communication and transaction system and method
US8159457B2 (en) * 2006-09-27 2012-04-17 Yahoo! Inc. Zero-click activation of an application
US8533846B2 (en) 2006-11-08 2013-09-10 Citrix Systems, Inc. Method and system for dynamically associating access rights with a resource
JP4973145B2 (en) * 2006-11-20 2012-07-11 船井電機株式会社 Management server and content transfer system
CN102740130B (en) * 2006-12-20 2016-08-03 乐威指南公司 Guide provides a system and method for remote access applications of interactive media
US8719809B2 (en) 2006-12-22 2014-05-06 Commvault Systems, Inc. Point in time rollback and un-installation of software
US8312323B2 (en) 2006-12-22 2012-11-13 Commvault Systems, Inc. Systems and methods for remote monitoring in a computer network and reporting a failed migration operation without accessing the data being moved
US8854652B2 (en) * 2007-01-26 2014-10-07 Samsung Electronics Co., Ltd. Host device and printing control method thereof
US20080208961A1 (en) * 2007-02-23 2008-08-28 Hostway Corporation Parallel retrieval system
US8290808B2 (en) 2007-03-09 2012-10-16 Commvault Systems, Inc. System and method for automating customer-validated statement of work for a data storage environment
US7796510B2 (en) 2007-03-12 2010-09-14 Citrix Systems, Inc. Systems and methods for providing virtual fair queueing of network traffic
US7760642B2 (en) 2007-03-12 2010-07-20 Citrix Systems, Inc. Systems and methods for providing quality of service precedence in TCP congestion control
US20090037963A1 (en) * 2007-08-02 2009-02-05 Youbiquity, Llc System for electronic retail sales of multi-media assets
US8046509B2 (en) 2007-07-06 2011-10-25 Prostor Systems, Inc. Commonality factoring for removable media
US8615008B2 (en) 2007-07-11 2013-12-24 Foundry Networks Llc Duplicating network traffic through transparent VLAN flooding
WO2009045298A1 (en) * 2007-10-03 2009-04-09 Virtela Communications, Inc. Pandemic remote access design
US8248928B1 (en) 2007-10-09 2012-08-21 Foundry Networks, Llc Monitoring server load balancing
US20090106387A1 (en) * 2007-10-18 2009-04-23 Dorai Ashok Shanmugavel Anbalagan Cidr based caching at application layer
US8200810B2 (en) * 2007-12-13 2012-06-12 Highwinds Holdings, Inc. Content delivery network
US8489731B2 (en) 2007-12-13 2013-07-16 Highwinds Holdings, Inc. Content delivery network with customized tracking of delivery data
EP2315122A3 (en) 2008-01-27 2011-05-04 Citrix Systems, Inc. Methods and systems for remoting three dimensional graphics
US8868741B2 (en) * 2008-03-03 2014-10-21 Leapfrog Enterprises, Inc. Method and apparatus for custodial monitoring, filtering, and approving of content
US8521879B1 (en) 2008-03-11 2013-08-27 United Services Automobile Assocation (USAA) Systems and methods for a load balanced interior gateway protocol intranet
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
EP2274684A4 (en) 2008-04-04 2012-12-05 Level 3 Communications Llc Handling long-tail content in a content delivery network (cdn)
US8074049B2 (en) 2008-08-26 2011-12-06 Nine Technology, Llc Online backup system with global two staged deduplication without using an indexing database
CN102203758A (en) * 2008-09-19 2011-09-28 杰出网络公司 Content delivery network stream server vignette distribution
CN102204349B (en) * 2008-09-29 2014-12-24 株式会社东芝 Pre-evaluation of multiple network access points
US8316106B2 (en) 2008-12-05 2012-11-20 At&T Intellectual Property Ii, Lp System and method for assigning requests in a content distribution network
US9495382B2 (en) 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US20120072604A1 (en) * 2009-05-29 2012-03-22 France Telecom technique for delivering content to a user
EP2446590B1 (en) * 2009-06-22 2015-11-25 Citrix Systems, Inc. Systems and methods for platform rate limiting
KR101135087B1 (en) * 2009-08-12 2012-04-16 삼성에스디에스 주식회사 System and method for providing contents
CA2774480A1 (en) * 2009-09-15 2011-03-24 Comcast Cable Communications, Llc Control plane architecture for multicast cache-fill
EP2510453B1 (en) * 2009-12-07 2016-10-12 Coach Wei Website performance optimization and internet traffic processing
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US9369437B2 (en) 2010-04-01 2016-06-14 Cloudflare, Inc. Internet-based proxy service to modify internet responses
US9049247B2 (en) 2010-04-01 2015-06-02 Cloudfare, Inc. Internet-based proxy service for responding to server offline errors
AU2010202034B1 (en) 2010-04-07 2010-12-23 Limelight Networks, Inc. Partial object distribution in content delivery network
WO2011150391A1 (en) 2010-05-28 2011-12-01 Commvault Systems, Inc. Systems and methods for performing data replication
EP2583211A4 (en) * 2010-06-15 2016-06-22 Oracle Int Corp Virtual computing infrastructure
KR101753195B1 (en) * 2010-07-27 2017-07-19 아주대학교산학협력단 Apparatus and method to control session connection in a communication system
US8639748B2 (en) 2010-09-01 2014-01-28 Edgecast Networks, Inc. Optimized content distribution based on metrics derived from the end user
US8549148B2 (en) 2010-10-15 2013-10-01 Brocade Communications Systems, Inc. Domain name system security extensions (DNSSEC) for global server load balancing
AU2010276462B1 (en) 2010-12-27 2012-01-12 Limelight Networks, Inc. Partial object caching
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
US8949349B2 (en) 2011-03-28 2015-02-03 Blackberry Limited Communications system including trusted server to verify a redirection request and associated methods
EP2506618B1 (en) * 2011-03-28 2019-08-28 BlackBerry Limited Communications system including trusted server to verify a redirection request and associated methods
US8584211B1 (en) 2011-05-18 2013-11-12 Bluespace Software Corporation Server-based architecture for securely providing multi-domain applications
US8285808B1 (en) 2011-05-20 2012-10-09 Cloudflare, Inc. Loading of web resources
US9201895B2 (en) 2011-06-03 2015-12-01 Apple Inc. Management of downloads from a network-based digital data repository based on network performance
EP2560344B8 (en) * 2011-08-18 2018-06-27 Apple Inc. Management of downloads from a network-based digital data repository based on network performance
US8510807B1 (en) 2011-08-16 2013-08-13 Edgecast Networks, Inc. Real-time granular statistical reporting for distributed platforms
US10027586B2 (en) * 2013-03-15 2018-07-17 Star2Star Communications, LLC Network address family translation method and system
US8615159B2 (en) 2011-09-20 2013-12-24 Citrix Systems, Inc. Methods and systems for cataloging text in a recorded session
US8745177B1 (en) 2011-11-01 2014-06-03 Edgecast Networks, Inc. End-to-end monitoring and optimization of a content delivery network using anycast routing
US8738766B1 (en) 2011-11-01 2014-05-27 Edgecast Networks, Inc. End-to-end monitoring and optimization of a content delivery network using anycast routing
KR20130051811A (en) * 2011-11-10 2013-05-21 삼성전자주식회사 Apparatus and method for selecting access point
US10326708B2 (en) 2012-02-10 2019-06-18 Oracle International Corporation Cloud computing services framework
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
CN103384214A (en) * 2012-05-04 2013-11-06 深圳富泰宏精密工业有限公司 Network detection system and method
US20130346624A1 (en) * 2012-06-20 2013-12-26 Steven Chervets Dynamic media throttling based on data quotas
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US20140201140A1 (en) 2013-01-11 2014-07-17 Commvault Systems, Inc. Data synchronization management
US10225135B2 (en) * 2013-01-30 2019-03-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Provision of management information and requests among management servers within a computing network
US10263951B2 (en) * 2017-01-09 2019-04-16 Star2Star Communications, LLC Network address family translation method and system
CN104079614B (en) * 2013-03-29 2017-09-12 国际商业机器公司 The method and system obtained in order for distributed post ordering system message
CA2920122A1 (en) 2013-08-08 2015-02-12 Ricoh Company, Limited Program, communication quality estimation method, information processing apparatus, communication quality estimation system, and storage medium
US9565138B2 (en) 2013-12-20 2017-02-07 Brocade Communications Systems, Inc. Rule-based network traffic interception and distribution scheme
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9648542B2 (en) 2014-01-28 2017-05-09 Brocade Communications Systems, Inc. Session-based packet routing for facilitating analytics
US9633128B2 (en) 2014-03-13 2017-04-25 Go Daddy Operating Company, LLC Lightweight web page generation
US9501211B2 (en) 2014-04-17 2016-11-22 GoDaddy Operating Company, LLC User input processing for allocation of hosting server resources
US9660933B2 (en) 2014-04-17 2017-05-23 Go Daddy Operating Company, LLC Allocating and accessing hosting server resources via continuous resource availability updates
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US10164933B2 (en) 2014-12-19 2018-12-25 Go Daddy Operating Company, LLC System and method for domain name system restore points
US9904481B2 (en) 2015-01-23 2018-02-27 Commvault Systems, Inc. Scalable auxiliary copy processing in a storage management system using media agent resources
US9898213B2 (en) 2015-01-23 2018-02-20 Commvault Systems, Inc. Scalable auxiliary copy processing using media agent resources
US10009406B2 (en) * 2015-02-09 2018-06-26 Verizon Patent And Licensing Inc. Incentivized sharing for toll-free data
US9866478B2 (en) 2015-03-23 2018-01-09 Extreme Networks, Inc. Techniques for user-defined tagging of traffic in a network visibility system
US10129088B2 (en) 2015-06-17 2018-11-13 Extreme Networks, Inc. Configuration of rules in a network visibility system
US10057126B2 (en) 2015-06-17 2018-08-21 Extreme Networks, Inc. Configuration of a network visibility system
US10454796B2 (en) * 2015-10-08 2019-10-22 Fluke Corporation Cloud based system and method for managing messages regarding cable test device operation
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
CN105577830A (en) * 2016-02-02 2016-05-11 明博教育科技股份有限公司 Optimal selection method and system for downloading list based on statistics
US10091075B2 (en) 2016-02-12 2018-10-02 Extreme Networks, Inc. Traffic deduplication in a visibility network
US10200745B2 (en) 2017-03-06 2019-02-05 Cisco Technology, Inc. System and method for cloud digital video recorders

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1337132C (en) * 1988-07-15 1995-09-26 Robert Filepp Reception system for an interactive computer network and method of operation
EP0384339B1 (en) * 1989-02-24 1997-04-02 Digital Equipment Corporation Broker for computer network server selection
US5341477A (en) * 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5511177A (en) * 1991-11-21 1996-04-23 Hitachi, Ltd. File data multiplexing method and data processing system
JPH0766829A (en) * 1993-06-30 1995-03-10 Kawasaki Steel Corp Electronic mail multiplexing system and communication control method in the system
JPH0844638A (en) * 1994-08-01 1996-02-16 Nippon Telegr & Teleph Corp <Ntt> System and method for providing multimedia service
JP3452410B2 (en) * 1994-12-06 2003-09-29 日本電信電話株式会社 Virtual space data transfer method
US5920701A (en) * 1995-01-19 1999-07-06 Starburst Communications Corporation Scheduling data transmission
US6181867B1 (en) 1995-06-07 2001-01-30 Intervu, Inc. Video storage and retrieval system
US5734865A (en) * 1995-06-07 1998-03-31 Bull Hn Information Systems Inc. Virtual local area network well-known port routing mechanism for mult--emulators in an open system environment
US6003030A (en) * 1995-06-07 1999-12-14 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
US5764899A (en) * 1995-11-13 1998-06-09 Motorola, Inc. Method and apparatus for communicating an optimized reply
US6473609B1 (en) * 1995-12-11 2002-10-29 Openwave Systems Inc. Method and architecture for interactive two-way communication devices to interact with a network
US5751961A (en) * 1996-01-31 1998-05-12 Bell Communications Research, Inc. Integrated internet system for translating logical addresses of internet documents to physical addresses using integrated service control point
US5894554A (en) 1996-04-23 1999-04-13 Infospinner, Inc. System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests
US5901214A (en) * 1996-06-10 1999-05-04 Murex Securities, Ltd. One number intelligent call processing system
US6134583A (en) 1996-07-01 2000-10-17 Sun Microsystems, Inc. Method, system, apparatus and article of manufacture for providing identity-based caching services to a plurality of computer systems (#16)
US5793970A (en) * 1996-07-11 1998-08-11 Microsoft Corporation Method and computer program product for converting message identification codes using a conversion map accesible via a data link
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6185619B1 (en) 1996-12-09 2001-02-06 Genuity Inc. Method and apparatus for balancing the process load on network servers according to network and serve based policies
US6272523B1 (en) * 1996-12-20 2001-08-07 International Business Machines Corporation Distributed networking using logical processes
US6424992B2 (en) * 1996-12-23 2002-07-23 International Business Machines Corporation Affinity-based router and routing method
US5889470A (en) * 1996-12-24 1999-03-30 Paradyne Corporation Digital subscriber line access device management information base
US6052718A (en) 1997-01-07 2000-04-18 Sightpath, Inc Replica routing
US6421726B1 (en) * 1997-03-14 2002-07-16 Akamai Technologies, Inc. System and method for selection and retrieval of diverse types of video data on a computer network
US6161137A (en) * 1997-03-31 2000-12-12 Mshow.Com, Inc. Method and system for providing a presentation on a network
US5898850A (en) * 1997-03-31 1999-04-27 International Business Machines Corporation Method and system for executing a non-native mode-sensitive instruction within a computer system
US5893091A (en) * 1997-04-11 1999-04-06 Immediata Corporation Multicasting with key words
US6256675B1 (en) 1997-05-06 2001-07-03 At&T Corp. System and method for allocating requests for objects and managing replicas of objects on a network
US6119143A (en) * 1997-05-22 2000-09-12 International Business Machines Corporation Computer system and method for load balancing with selective control
US6173399B1 (en) * 1997-06-12 2001-01-09 Vpnet Technologies, Inc. Apparatus for implementing virtual private networks
US5983227A (en) * 1997-06-12 1999-11-09 Yahoo, Inc. Dynamic page generator
US6112239A (en) * 1997-06-18 2000-08-29 Intervu, Inc System and method for server-side optimization of data delivery on a distributed computer network
US6230196B1 (en) 1997-11-12 2001-05-08 International Business Machines Corporation Generation of smart HTML anchors in dynamic web page creation
US6178160B1 (en) 1997-12-23 2001-01-23 Cisco Technology, Inc. Load balancing of client connections across a network using server based algorithms
US6185598B1 (en) 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US6175917B1 (en) * 1998-04-23 2001-01-16 Vpnet Technologies, Inc. Method and apparatus for swapping a computer operating system
US6144996A (en) 1998-05-13 2000-11-07 Compaq Computer Corporation Method and apparatus for providing a guaranteed minimum level of performance for content delivery over a network
US6115752A (en) 1998-05-21 2000-09-05 Sun Microsystems, Inc. System and method for server selection for mirrored sites
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US6799248B2 (en) * 2000-09-11 2004-09-28 Emc Corporation Cache management system for a network data node having a cache memory manager for selectively using different cache management methods
US7039627B1 (en) * 2000-12-22 2006-05-02 Nortel Networks Limited Method and apparatus for performing a radix search by selecting one of a valid table and a transition table

Also Published As

Publication number Publication date
EP0990205B1 (en) 2006-08-23
WO1998058315A9 (en) 1999-04-08
CN1109298C (en) 2003-05-21
EP0990205A1 (en) 2000-04-05
US20080201488A1 (en) 2008-08-21
DE69835674D1 (en) 2006-10-05
US6799221B1 (en) 2004-09-28
DE69835674T2 (en) 2006-12-28
CA2294149A1 (en) 1998-12-23
JP2002506543A (en) 2002-02-26
US7366793B2 (en) 2008-04-29
US20050063401A1 (en) 2005-03-24
CN1264476A (en) 2000-08-23
AU8153998A (en) 1999-01-04
WO1998058315A1 (en) 1998-12-23
US6112239A (en) 2000-08-29

Similar Documents

Publication Publication Date Title
Padmanabhan et al. Using predictive prefetching to improve world wide web latency
US6308216B1 (en) Service request routing using quality-of-service data and network resource information
US8510448B2 (en) Service provider registration by a content broker
US9794188B2 (en) Optimizing resource configurations
CA2320261C (en) Subscriber-based server network
US8433787B2 (en) System and method for directing clients to optimal servers in computer networks
ES2617199T3 (en) Content Management
US7200665B2 (en) Allowing requests of a session to be serviced by different servers in a multi-server data service system
US7743132B2 (en) Secure content delivery system
US7539757B2 (en) Performance computer network method
US7761900B2 (en) Distribution of content and advertisement
US8631129B2 (en) Service provider optimization of content management
DE60305672T2 (en) Geo-intelligent transport detector
US6449765B1 (en) Varying web page link based on user and web page status
US6892226B1 (en) System for delivery of dynamic content to a client device
US9160703B2 (en) Request routing management based on network components
US7447798B2 (en) Methods and systems for providing dynamic domain name system for inbound route control
US9888089B2 (en) Client side cache management
US8024484B2 (en) Caching signatures
US7260598B1 (en) Methods and apparatus for processing client requests in a content distribution network using client lists
US9800539B2 (en) Request routing management based on network components
JP3472540B2 (en) Server selection device, server selection method, and a recording medium recording the server selection program
US6993590B1 (en) Method of creating data streams for user-specific usage data gathering systems
Bartolini et al. A walk through content delivery networks
US8856279B2 (en) Method and system for object prediction

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080430

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080616

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090407

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090707

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100616

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100621

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100824

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101004

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100924

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101101

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101022

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110315

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110715

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111020

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120402

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120403

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term