Abstract:
A distributed streaming internet server system with multiple layers of servers, featuring data caching, file storage, and application servers. The system provides high reliability and high quality streaming media. The system is designed to be scalable so that additional capacity can be added easily as needed. Existing capacity use is optimized through reallocating user connections as necessary for load-balancing and failure management.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates to an internet server. More specifically, the present invention discloses a multi-tier distributed internet service provider with streaming media management software, application services, and fail-over handoff management.  
         [0003]     2. Description of the Prior Art  
         [0004]     Traditionally, an internet service provider consisted of little more than a server with several modems attached to it. Referring to  FIG. 1 , a diagram of a prior-art internet service provider system  100 , user computers  130 ˜ 132  used modems (not shown) to connect via phone lines  120 ˜ 122  to modems (not shown) inside the server  110 . The server  110  connected to the rest of the internet  105  via a T-1 connection  108 . This structure provided connections from the user computers  130 ˜ 132  to the internet  105  for data such as images and text emails.  
         [0005]     However, this system  100  was prone to a number of problems and limitations. The number of connections was limited to the number of available modems in the server  110 , and the server  110  was a single point of failure for all of the connections to the user computers  130 ˜ 132 . Moreover, usage habits of users have changed with the invention of streaming audio and video media data, as well as high-bandwidth peer-to-peer software for sharing data; the traditional internet service provider system  100  has no ability to analyze data in order to reduce the overall communications load, and has limited bandwidth because of limited connectivity to the outside internet, resulting in slow service to users. Also, internet-based applications are being developed which will offload processing and programming from the user&#39;s computer to a centralized application server, and the traditional internet service provider system has no provisions for these applications.  
         [0006]     Therefore there is need for an improved internet service provider structure which can manage server failure by transferring the user&#39;s connection to another server without cutting off the user&#39;s connection, which can increase data transfer speed through improved data management, and which can provide application management and execution services.  
       SUMMARY OF THE INVENTION  
       [0007]     To achieve these and other advantages and in order to overcome the disadvantages of the conventional method in accordance with the purpose of the invention as embodied and broadly described herein, the present invention provides an internet service provider system with a multi-tier architecture to enable fail-over and load-based handoff management of user connections, and to provide application servers for executing and storing internet applications.  
         [0008]     The present invention further provides for caching of user data to reduce bandwidth usage and to service data requests faster via a high-speed server.  
         [0009]     These and other objectives of the present invention will become obvious to those of ordinary skill in the art after reading the following detailed description of preferred embodiments.  
         [0010]     It is to be understood that both the foregoing general description and the following detailed description are exemplary, and are intended to provide further explanation of the invention as claimed. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0011]     The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention. In the drawings,  
         [0012]      FIG. 1  is a block diagram showing a prior art internet service provider system;  
         [0013]      FIG. 2 ( a ) is a block diagram illustrating an embodiment of an internet service provider system of the present invention;  
         [0014]      FIG. 2 ( b ) is a block diagram illustrating an embodiment of an internet service provider system of the present invention; and  
         [0015]      FIG. 3  is a block diagram illustrating an embodiment of an internet service provider system of the present invention. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0016]     Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the description to refer to the same or like parts.  
         [0017]     Please refer to  FIG. 2   a , a block diagram illustrating an embodiment of an internet service provider system  200  of the present invention. A primary server  210  is coupled to application servers  211 ˜ 213  via high-speed network connections  241 ˜ 243  such as Ethernet or token ring, or optionally by dedicated lines. The primary server is coupled to the internet  105  by one or more dedicated lines  108 ˜ 109 . The application servers are coupled to user computers  231 ˜ 236  by high-speed network connections  221 ˜ 226  such as cable modem, frame relay, ADSL, iDSL, SDSL, and fixed wireless; and by legacy connections such as modem if necessary.  
         [0018]     The application servers  211 ˜ 213  store user applications for use by the user computers  231 ˜ 236  and provide internet connections to the user computers via connections  221 ˜ 224 . In addition to handling regular user data traffic, each application server  211 ˜ 213  sends a heartbeat signal to a monitor program on the primary server to signal that the particular application server is functioning. If a heartbeat signal is not received from a given application server in some given time period, the primary server attempts to communicate with that application server to determine whether that given application server is still functioning. If the primary server is unable to communicate with that given application server, the primary server then signals another application server to take over the connections to the user computers that were served by the given application server. Referring to  FIG. 2 ( b ) in combination with  FIG. 2 ( a ), in the event that application server  212  of internet service provider system  201  were to suffer a failure such as a hardware failure, primary server  210  can instruct application servers  211 , 213  to take over the user connections  224 ˜ 226  for user computers  234 ˜ 236 . Thus the user does not lose connectivity and can continue to work. Connections can furthermore be allocated and reassigned depending on an application server&#39;s CPU load, by client computer bandwidth usage, or by number of connections.  
         [0019]     Please refer to  FIG. 3 , a block diagram showing another embodiment of the internet service provider system  300  of the present invention.  FIG. 3  shows the internet service provider system  200  of  FIG. 2  further comprising a main streaming server  310 . This main streaming server  350  can serve other internet service providers  321 ˜ 322  which can be similar in structure to internet service provider system  200 . Main streaming server  350  provides high bandwidth capacity to internet service providers  210 , 321 , 322  via high-bandwidth connections  310 ˜ 312  for serving large amounts of data such as streaming audio and video media. Main streaming server  350  further provides caching of these large streaming data sets so that if multiple users want to download the same data, the main streaming server does not need to retrieve the same data twice from the external internet  105  over connection  308 . These servers can also cache data that the user is serving, for example via a peer-to-peer application such as Bittorrent, DC++, or other file sharing system. Additional main streaming servers can be added for redundancy and to provide additional bandwidth capacity. Through providing multiple layers of servers, streaming data can be buffered to provide a reliable stream of data for smooth audio or video playback without pauses or stalls. Each layer of servers can provide a buffer for a given stream, optimally ten to fifteen seconds of buffering time. Depth control allows for increasing or decreasing buffering time, controlling access delays by providing data on closer servers, and distributing the streaming data to route around bottlenecks, failures, and delays.  
         [0020]     Application servers can further be used as internet data centers, to store user data for collaborative work, offsite backup, or for accessibility from any location.  
         [0021]     This system thus provides a dramatic improvement over the limited prior art. Connections are more reliable and data is served to the user more quickly. Depth control allows any level of desired service to be configured for and provided, while distributing streamed data and connections improves reliability for the users.  
         [0022]     It will be apparent to those skilled in the art that various modifications and variations can be made to the present invention without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the present invention cover modifications and variations of this invention provided they fall within the scope of the invention and its equivalent.