Abstract:
A method for managing fault-tolerant webpage presentation. First, platform configurations for presenting a first webpage of a web server are stored. When a request for downloading the first webpage is received from a client computer, the webpage presentation capabilities thereof is subsequently detected and compared with the platform configurations. When the capabilities satisfy the platform configurations, the first webpage is transmitted to the client computer. When any incompatibility exists between the capabilities and the platform configurations, a second webpage is generated from a data search based on the difference between the capabilities and the platform configurations, and then transmitted to the client computer.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates to computer network techniques, and particularly to methods and systems for managing fault-tolerant webpage presentation.  
         [0003]     2. Description of the Related Art  
         [0004]     As rapid and diversified development of the Internet has led to web browser incompatibility. Although different browsers conform to standards created by the World Wide Web Consortium (W3C), new techniques are continuously and respectively introduced. Web designers may choose a specification (such as the specification for Microsoft Internet Explorer) of only one web browser manufacturer when designing a web site. When a webpage of the web site is opened by a web browser of another type (such as Netscape Communicator), exceptions may occur. For example, the webpage cannot be opened, the layout of the webpage is disordered, the color is distorted, or animations disappear.  
         [0005]     There may be various causes underlying the exceptions. Without technical knowledge, general users may not have enough information to handle a situation in which a webpage fails to open.  
       BRIEF SUMMARY OF THE INVENTION  
       [0006]     An exemplary embodiment of a method for managing fault-tolerant webpage presentation is provided. Configuration of a platform for displaying a first webpage of a web server is stored in advance. When receiving a request from a client computer for downloading the first webpage, the webpage presentation capability of the client computer is detected and compared with the configuration of the platform. When the webpage presentation capability and the configuration of the platform have a difference therebetween, a search is performed based on the difference to provide a second webpage. The second webpage is then transmitted to the client computer.  
         [0007]     An exemplary embodiment of a system for managing fault-tolerant webpage presentation comprises a database, a detector, and a troubleshooter. The database stores configuration of a platform for displaying a first webpage of a web server. When receiving a request from a client computer for downloading the first webpage, the detector detects webpage presentation capability of the client computer. The troubleshooter compares the webpage presentation capability with the configuration of the platform. When the webpage presentation capability conforms to the configuration of the platform, the first webpage is transmitted to the client computer, and, when the webpage presentation capability and the configuration of the platform have a difference therebetween, a search is performed based on the difference to provide a second webpage, and the second webpage is transmitted to the client computer.  
         [0008]     A detailed description is given in the following embodiments with reference to the accompanying drawings. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0009]     The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:  
         [0010]      FIG. 1  is a schematic view of the configuration of a network;  
         [0011]      FIG. 2  is a block diagram of an exemplary embodiment of a system for managing fault-tolerant webpage presentation;  
         [0012]      FIG. 3  is a flowchart showing platform configuration; and  
         [0013]      FIG. 4  is a flowchart of an exemplary embodiment of a method for managing fault-tolerant webpage presentation. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0014]     The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.  
         [0015]     A method for managing fault-tolerant webpage presentation may be implemented in a network in  FIG. 1 . Network  200  is connected to a server  100 , computers C 0 -Cn, wherein n is a positive integer. Computers C 0 -Cn are capable of network communication, webpage download and display. The server  100  is a web server including a system  10  for managing fault-tolerant webpage presentation and webpage data  20  including First webpage  21 , Second webpage  22 , and so on, such as static webpages or dynamic webpage resources. Computer C 0  includes a Browser  30  for requesting download of Webpage data  20  (such as First webpage  21  ) form Server  100 . Network  200  may be a local area network (LAN) or the Internet. Computers C 0 -Cn may be personal computers, notebooks, terminals, mobile phones, personal digital assistants (PDAs), or other computing devices. Web browser  30  of computer C 0  requests download of first webpage  21  from server  100 . For example, first webpage  21  may be, but is not limited to a homepage of a webpage site, such as  www.yahoo.com.tw .  
         [0016]     Referring to  FIG. 2 , the system  10  may be implemented by computer programs to be executed in server  100  while modules of the system  10  may be respectively executed by different servers. Configuration module  50  is utilized to set platform configuration for the web data (such as First webpage  21 ), such as intended computer types for displaying the webpage data, resolution and color level of a display, and types, versions, plug-ins, and cookies of web browsers. The system  10  may be installed in different servers, and platform configuration of webpages stored on these servers can be set via an interface provided by configuration module  50 .  
         [0017]     Detector  60  detects webpage presentation capability of client computers requesting webpages. Troubleshooter  70  provides and transmits solutions and related resources to client computers according to data detected by detector  60  and platform configuration provided by configuration module  50 . Solution database  80  stores related information of platform configuration  51 , such as download addresses of resources indicated by platform configuration  51 . Solution Database  80  may also comprise webpage data  20 . Control module  40  coordinates cooperation of the modules of system  10 .  
         [0018]     With reference to  FIG. 3 , configuration module  50  receives platform configuration  51  for webpage data  20  from input devices (not shown) of server  100  (steps S 2 ) and stores platform configuration  51  (steps S 4 ).  
         [0019]     With reference to  FIG. 4 , when receiving a download request for first webpage  21  from computer C 0  (step S 8 ), detector  60  retrieves the address of computer C 0 , and detects webpage presentation capability thereof (step S 10 ) comprising at least device type (such as a personal computer or a PDA), display resolution, display color level, browser type, version, language, plug-ins, or cookies. The detection for webpage presentation capabilities may be implemented by negotiation therebetween via message exchange. Troubleshooter  70  compares webpage presentation capability of computer C 0  with platform configuration  51  for first webpage  21  (step S 12 ), and thus determines if webpage presentation capability of computer C 0  satisfies platform configuration  51  (step S 14 ). When the detected webpage presentation capability of computer C 0  matches platform configuration  51  for first webpage  21 , server  100  transmits first webpage  21  to computer C 0  (step S 16 ). When the webpage presentation capability of computer C 0  and the platform configuration  51  for first webpage  21  have difference therebetween, troubleshooter  70  searches database  80  based on the difference (step SI  8 ) to provide second webpage  22  (step S 20 ). Server  100  transmits second webpage  22  to computer C 0  (step S 22 ).  
         [0020]     Server  100  may store different webpage versions for different recipient devices, wherein correspondence between the devices and the webpage versions may be stored in database  80 . For example, first webpage  21  is composed in hypertext markup language (HTML), and second webpage  22  is composed in wireless markup language (WML). Platform configuration  51  comprises predetermined device types suitable for first webpage  21 . First webpage  21  is suitable for personal computers, and second webpage  22  is suitable for PDA and mobile phones. In step S 10 , device detector  65  determines the device type of computer C 0  (such as a PDA). When the device type of computer C 0  is different from the predetermined device type, troubleshooter  70  searches webpage data  20  for a suitable webpage and transmits the suitable webpage (such as second webpage  22 ) to computer C 0 . Second webpage  22  and first webpage  21  may comprise an identical portion of content.  
         [0021]     In step S 10 , resolution detector  61  detects the display resolution of computer C 0 . For example, the display resolution of computer C 0  detected by resolution detector  61  is 1024*768 pixels. Platform configuration  51  comprises a predetermined resolution, 800*600 pixels. That is, first webpage  21  is preferably shown by a display of a client computer the resolution of which is configured to 800*600 pixels. When the resolution of computer C 0  (1024*768 pixels) is different from the predetermined resolution (800*600 pixels), resolution adjuster  71  inserts the predetermined resolution for first webpage  21  from database  80  to second webpage  22 . After having been transmitted to computer C 0 , second webpage  22  comprising information of the predetermined resolution (800*600 pixels) is displayed by computer C 0 . Accordingly, the display of computer C 0  may be adjusted to the predetermined resolution (800*600 pixels) by a user.  
         [0022]     Alternatively, when the display resolution of computer C 0  is different from the predetermined resolution, resolution adjuster  71  locates resolution adjustment program  81  from database  80  and embeds resolution adjustment program  81  to second webpage  22 . After second webpage  22  has been transmitted to computer C 0 , resolution adjustment program  81  automatically adjusts the display (not shown) of computer C 0  to the predetermined resolution. Resolution adjustment program  81  may receive a user confirmation from an input device of computer C 0  to begin adjusting resolution.  
         [0023]     In step S 10 , color detector  62  detects the display color level of computer CO (such as 16 million colors). Platform configuration  51  comprises predetermined color level (such as 24 million colors). When the display color level of computer C 0  is different from the predetermined color level, color level adjuster  72  locates the predetermined color level (such as 24 million colors) for first webpage  21  from database  80  and inserts the predetermined color level to second webpage  22 . When transmitted to computer C 0 , second webpage  22  comprising information of the predetermined color level is displayed by computer C 0 . Accordingly, the display of computer C 0  may be adjusted to the predetermined color level upon user operations.  
         [0024]     Alternatively, when the color level of computer C 0  is different from the predetermined color level, color level adjuster  72  locates color level adjustment program  82  from database  80  and embeds color level adjustment program  81  to second webpage  22 . When second webpage  22  has been transmitted to computer C 0 , color level adjustment program  82  automatically adjusts the display (not shown) of computer C 0  to the predetermined color level. Color level adjustment program  82  may receive a user confirmation from an input device (not shown) of computer C 0  to begin color level adjustment.  
         [0025]     In step S 10 , plug-in detector  63  detects the plug-ins of a web browser of computer C 0 . Platform configuration  51  comprises predetermined plug-ins for first webpage  21 . When web browser  30  lacks predetermined plug-in  85  in  FIG. 2  (such as a small program which can be directly installed on a client computer), plug-in guide  73  locates installation program  83  from database  80  and inserts installation program  83  to second webpage  22 . In computer C 0 , installation program  83  automatically adds predetermined plug-in  85  to web browser  30 .  
         [0026]     If the predetermined plug-ins are not shareware, or based on other factors, plug-in guide  73  locates hyperlinks to the predetermined plug-ins from database  80  and inserts the hyperlinks in second webpage  22 .  
         [0027]     In step S 10 , web browser detector  64  detects the settings of web browser  30  of computer C 0 , comprising at least the type, version, language, or cookies of the web browser. Database  80  may comprise correspondence between webpages and languages used by web browsers. For example, the content of first webpage  21  is written in English, and the content of second webpage  22  is written in Chinese. When web browser  30  utilizes Chinese, troubleshooter  70  may search Chinese data corresponding to first webpage  21  to provide second webpage  22 , or directly locate a corresponding webpage written in Chinese.  
         [0028]     Some webpage presentation capabilities may involve system configuration of client computers (such as operating system configuration), which can be modified only through operating system interfaces. On-line director  74  provides a customized online help webpage for reference and system configuration modification by client users. Platform configuration  51  may comprise system configuration corresponding to first webpage  21 , and database  80  may store directions to the system configuration. Thus, in step S 10 , system configuration detector  66  may detect the system configuration of computer C 0 . When the system configuration of computer C 0  does not match the predetermined system configuration for first webpage  21 , On-line director  74  locates directions  86  for the predetermined system configuration from database  80  and inserts directions  86  in the second webpage  22 , as an online help webpage to be transmitted to computer C 0 .  
         [0029]     Thus, the system for managing fault-tolerant webpage presentation stores configuration of the platform for displaying webpages and detects webpage presentation capabilities comprising device type of a recipient computer, display resolution, color level, and the type, version, language, plug-ins, and cookies of the web browser. The system compares the webpage presentation capabilities and the configuration of the platform and performs a search based on the difference therebetween to provide solutions. Note that the solutions together with the demanded webpage can be transmitted to the recipient computer when required.  
         [0030]     In conclusion, a system for managing fault-tolerant webpage presentation is implemented in a system where web browsers are utilized as user interfaces. System configuration is adjusted based on respective recipient computers for better webpage browsing and ameliorating the problems (such as color distortion or confused layout). Further, the system for managing fault-tolerant webpage presentation provides an appropriate webpage browsing platform based on client operating system configuration via resolution adjustment and provides online help for users to address problems.  
         [0031]     While the invention has been described by way of example and in terms of the preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.