Abstract:
A method for providing web contents for offline usage, includes: grouping web contents, wherein web contents contained in each group have certain logical association among them; providing a client with information describing said group; and, providing, in response to said client&#39;s request for a web content group, said client with corresponding web contents based on the group, so that said client can present to a user web contents of the group offline. A corresponding web application server, client module and computer program products are further provided. A user can conveniently and flexibly download, according to group information of web contents, a group of interest among web contents for offline usage without a need for downloading and maintaining undesired web contents.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention generally relates to providing and retrieving Web contents and, in particular, to methods for providing and retrieving Web contents for offline usage as well as a relevant apparatus and system. 
       BACKGROUND OF THE INVENTION 
       [0002]    Copious web contents in websites are created for online usage by users. However, there are many cases in which users want to use these web contents offline, i.e., after user terminals are disconnected from the network, so that web contents can be still available for the users. From the users&#39; perspective, another advantage of offline usage of web contents lies in reducing network communication expense. 
         [0003]    To meet demand for offline usage of web contents by the users, many web browsers have the capability to locally cache web contents for offline access. Browsers cache web contents based on navigation history and/or the expiration date of the accessed contents. In other words, most browsers can only provide the accessed (opened) web contents for offline usage. 
         [0004]    On the other hand, some special-purpose clients (download tools) can also download web contents into client machines for offline usage. Users usually need to specify for these clients specific limiting conditions for retrieving web contents, and then clients will retrieve all web contents that meet these conditions. For example, users need to specify page entry points and page depth, so that the clients can start from the page entry points and download all pages within the page depth into the client machines for offline usages by users. 
         [0005]    Another example of the above clients is a RSS (Really Simple Syndication) client. The RSS client allows users to specify a list of Uniform Resource Locators (URL), which are defined as channels. Then, the RSS client can get the contents to which these URLs are directed for offline usage. The RSS clients of this kind can only get one or specified layer of web contents but do not support random selection of web contents to form a certain web application and make it available for offline usage. 
         [0006]    From the perspective of websites, their functions are to help users solve problems, for example, provide information on a certain subject, receive user input information on a certain subject, etc. These relevant web contents are usually associated with one another and spread in layers of different depth. According to the existing solution of providing web contents for offline usage, when users want to use these web contents offline, web contents to be used offline have to be accessed or specified on the browser or client side piece-by-piece, or all web contents in the same layer as these web contents have to be retrieved. 
         [0007]    Therefore, the existing solution of retrieving or providing web contents is not quite flexible, and it is impossible to only retrieve useful web contents for a specific application in a convenient manner for offline usage. Moreover, all web contents should be consistent on the client side. When actions such as an update are needed, all contents should be updated at the same time. This makes the management (including creation, update and deletion) of offline web contents time-consuming and strenuous. 
       SUMMARY OF THE INVENTION 
       [0008]    To solve the problems in the prior art, the present invention proposes a technique capable of specifying and providing a specific portion of web contents on a web site and making them available for offline usage, wherein the web contents are grouped according to applications, the web contents to be used offline are provided/retrieved and then managed according to their groups. 
         [0009]    According to a first aspect of the present invention, a method for providing web contents for offline usage, comprises: grouping web contents, wherein web contents contained in each group have certain logical association among them; providing a client with information describing said group; and, providing, in response to said client&#39;s request for a web content group, said client with corresponding web contents based on the group, so that said client can present to a user the web contents of the group offline. 
         [0010]    According to a second aspect of the present invention, a web application server, comprises: group managing means for grouping web contents, wherein web contents contained in each group have certain logical association among them; group information providing means for providing a client with information describing said group; web content providing means for providing, in response to said client&#39;s request for a web content group, said client with corresponding web contents based on the group, so that said client can present to a user the web contents of the group offline. 
         [0011]    According to a third aspect of the present invention, a method for retrieving web contents for offline usage, comprises: receiving from a web application server group information on grouped web contents; requesting desired web contents to said web application server based on the grouping information; and receiving web contents of said group from said web application server, so as to present to a user the web contents of the group offline. 
         [0012]    According to a fourth aspect of the present invention, a client module for retrieving web contents for offline usage, comprises: group information receiving means for receiving from a web application server group information on grouped web contents; requesting means for requesting desired web contents to said web application server based on a group; and web content receiving means for receiving web contents of said group from said web application server, so as to present to a user the web contents of the group offline. 
         [0013]    According to a fifth aspect of the present invention, a computer program product and a network system for implementing the method according to the present invention is provided. 
         [0014]    With the present invention, the user can conveniently and flexibly download, according to group information of web contents, a group(s) of interest among web contents for offline usage without a need for downloading all web contents provided by a website or specifying concrete parameters for downloading web contents. Since the grouping of web contents can be performed on the content provider side, i.e., on the server side, more efficient classification of web contents in accordance with applications thereof can be achieved, and various logical associations among web contents are reflected well. In this manner, the user can get sufficient desired web contents for offline usage without a need for downloading and maintaining undesired web contents. 
         [0015]    Other features and advantages of the present invention will become apparent from the following detailed description, when taken in conjunction with the accompanying drawings. 
     
    
     
       BRIEF DESCRIPTION ON THE DRAWINGS 
         [0016]    Reference will be made to the following accompanying drawings to set forth in detail features and advantages of embodiments of the present invention. If possible, like or similar reference numerals designate the same or similar parts throughout the figures and description thereof, in which: 
           [0017]      FIG. 1  schematically depicts a network system in which embodiments of the present invention can be applied; 
           [0018]      FIG. 2  schematically depicts an example of a website structure; 
           [0019]      FIG. 3  schematically depicts a network example implementing embodiments of the present invention; 
           [0020]      FIG. 4  schematically depicts a flowchart of providing web contents to be used offline according to an embodiment of the present invention; 
           [0021]      FIG. 5  schematically depicts a web application server according to an embodiment of the present invention; 
           [0022]      FIG. 6  schematically depicts a client for offline accessing web contents according to an embodiment of the present invention; and 
           [0023]      FIG. 7  schematically depicts a computer device in which embodiments according to the present invention can be implemented. 
       
    
    
     DETAILED DESCRIPTION 
       [0024]    The present invention will be set forth according to the accompanying drawings. 
         [0025]      FIG. 1  schematically depicts a network system in which embodiments of the present invention can be applied. 
         [0026]    A web application server  11  provides web contents to user terminals  1 - 1 ,  1 - 2 ,  1 - 3  and  1 - 4  via a network  100 . The network  100  may comprise a data transmission network such as the Internet or a Public Land Mobile Network (PLMN). The user terminals may comprise either user terminals that are connected to the network  100  via mobile/wireless technique, such as the mobile telephone  1 - 1 , the personal digital assistant  1 - 2  and the laptop computer  1 - 4 , or user terminals that are connected to the network  100  via fixed lines, such as the desktop computer  1 - 3 , etc. Users can access a web application server  11  with various user terminals that are connected to the network  100 , so as to retrieve web contents provided by the web application server  11 . As mentioned in the Background of the Invention, the users usually retrieve web contents available for offline usage via browsers or special-purpose clients. Hereinafter, the term “client” comprises any kind of browser(s) and/or special-purpose client(s) that support offline usage of web contents. 
         [0027]    Usually, content providers provide web contents via the web application server  11 , wherein the web contents include page contents and various media contents. Since web contents are logically associated with one another, the content providers typically set up links among web content data according to a certain intrinsic logic association. For example,  FIG. 2  schematically depicts an example of a website structure provided by the web application server. 
         [0028]    The example of  FIG. 2  shows a website structure of a university. In this example, web contents are provided in the form of pages. A page P 11  is the homepage of the university, on which the profile of the university is released. A plurality of lower-level pages is linked with the homepage P 11 , including a page P 21  on which school and department admission information is released and a page P 22  on which college and department tuition information is released. It is able to link via the page P 21  for college and department admission information to lower-level pages, i.e., a page P 31  on which admission information of the mathematics department is released and a page P 32  on which admission information of the physics department is released. And it is able to find, via the page P 31  for the admission information of the mathematics department and the page P 32  for the admission information of the physics department, pages P 41  and P 43  on which application forms for the respective departments are released and pages P 42  and P 44  on which tuition information for the respective departments are released. Additionally, the page P 22  on which the college and department tuition information is released includes direct links to pages P 42  and P 44  for the tuition information of the mathematics and physics departments. 
         [0029]      FIG. 3  schematically depicts a network example implementing embodiments of the present invention. 
         [0030]    As depicted in  FIG. 3 , according to an embodiment of the present invention, on the side of the web application server  11 , in addition to provision of the web contents based on the structure as depicted in  FIG. 2  for the users, the web contents are grouped in accordance with applications, so that the respective web contents in a group have a specific association with one another. Moreover, the groups of web contents are managed in a content group manager  110 . 
         [0031]    For example, the web contents depicted in  FIG. 2  can be grouped as depicted in Table 1. 
         [0000]    
       
         
               
             
               
               
               
             
           
               
                 TABLE 1 
               
             
             
               
                   
               
               
                 Example of Groups of Web Contents 
               
             
          
           
               
                 Serial Number 
                 Name 
                 Content Element 
               
               
                   
               
               
                 1 
                 Depart. of Mathematics 
                 P31, P41, P42 
               
               
                 2 
                 Depart. of Physics 
                 P32, P43, P44 
               
               
                 3 
                 Tuition 
                 P22, P42, P44 
               
               
                 4 
                 . . . 
                 . . . 
               
               
                   
               
             
          
         
       
     
         [0032]    It can be seen that the content elements in group 1 are the pages associated with information of the department of mathematics, the content elements in group 2 are the pages associated with information of the department of physics, and the content elements in group 3 are the pages associated with tuition. Likewise, other groups may also be defined. 
         [0033]    User equipment  1  may be any of the user terminals that are connected to the network  100 , including the user terminals  1 - 1 ,  1 - 2 ,  1 - 3  and  1 - 4  depicted in  FIG. 1 . When the user starts a client  10  on the user equipment  1 , depending on the specific configuration of the client  10 , the client  10  may directly send a request for retrieving a list of web content groups to the web application server  11  or send an indicator for retrieving a list of web content groups to the web application server  11  in accordance with the user&#39;s instructions. The client  10  may display the list of the web content groups to the user via its user interface, and then the user chooses to download those groups of interest for offline usage. In this manner, when the user needs the web information of the department of mathematics, he/she does not need to download the web information of the department of physics at the same time, thereby saving resources for data transmission and data storage. Moreover, according to an embodiment of the present invention, it also helps to maintain downloaded web contents on the client. For example, when there is a need to update, delete and add a web application, such as the web information of the department of physics, the operation may be performed directly on this group without involving other unassociated page contents. That is to say, all operations for web contents for offline usages are performed on the basis of content groups on the client  10 . In an example of the present invention, the user can also customize content groups with his/her concern using the client. How to customize content groups will be described in detail below. 
         [0034]      FIG. 4  schematically depicts a flowchart of providing web contents for offline usage according to an embodiment of the present invention. 
         [0035]    The processing flow starts in S 400 . 
         [0036]    In S 402 , web contents are grouped in accordance with applications on the web application server side. The relationship between respective elements of these groups may be different from the relationship exhibited during providing web content elements for users. That is to say, a group reflects a specific association between respective web content elements, which might arouse user&#39;s concern. The web application server may provide through a content group manager a group identifier for each piece of web contents to identify the group of the web contents. 
         [0037]    In S 404 , web content group information is retrieved, for example, by sending a group retrieval request to the web application server on the client side. 
         [0038]    In S 406 , web content groups with user&#39;s concern are chosen on the client side, i.e., the web contents of which group are determined to be downloaded for offline usage. The user may resort to a friendly graphical user interface to make the choice and perform some actions, such as activating some other additional options. 
         [0039]    In S 408 , the client downloads the chosen web content groups and store it locally for future offline usage. 
         [0040]    In S 410 , the client maintains the web contents based on their respective groups, for example, updating, adding and deleting any pieces of web contents. 
         [0041]    The operation flow ends in S 412 . 
         [0042]      FIG. 5  schematically depicts a web application server according to an embodiment of the present invention. Reference numeral  11  designates a network application server according to an embodiment of the present invention,  110  a content group manager,  112  storage means for storing data of web contents,  114  a request processor for processing requests from the client and providing requested web contents, and  116  a network interface for interacting with the network. 
         [0043]    As depicted in  FIG. 5 , a web application and relationship are defined for each piece of web contents on the content group manager  110 . The association between a web content and a group is defined by the relationship between a group identifier and a web content identifier. The web content identifier is an identifier capable of identifying the web content uniquely, like a Uniform Resource Locator. The content group manager  110  may define groups of web contents for example with Extensible Markup Language (XML) as: 
         [0000]    
       
         
               
             
           
               
                   
               
             
             
               
                  &lt;group id = ‘group 1’, desc=’information of department of mathematics’ alias = 
               
               
                 ‘department of mathematics’&gt; 
               
               
                   &lt; /entry url = ’admission information of department of mathematics.html’, id=P31, 
               
               
                 layer = 1&gt; 
               
               
                   &lt; /entry url=’tuition information of department of mathematics.html’, id=P42, 
               
               
                 layer=2&gt; 
               
               
                   &lt;/entry url=’application form of department of mathematics.html’, id=P41, 
               
               
                 layer=2&gt; 
               
               
                  &lt;/group&gt; 
               
               
                  &lt;group id = ‘group 2’, desc=’information of department of physics’ alias = 
               
               
                 ‘department of physics’&gt; 
               
               
                   &lt; /entry url = ’admission information of department of physics.html’, id=P32, layer = 1&gt; 
               
               
                   &lt; /entry url=’tuition information of department of physics.html’, id=P44, layer=2&gt; 
               
               
                   &lt;/entry url=’application form of department of physics.html’, id=P43, layer=2&gt; 
               
               
                  &lt;/group&gt; 
               
               
                  &lt;group id=’group 3’, desc=’tuition information of colleges and departments’, alias =‘tuition’&gt; 
               
               
                   &lt;/entry url=’tuition information of colleges and departments.html’, id=P22, 
               
               
                 layer=1&gt; 
               
               
                   &lt;/entry url=’tuition information of department of mathematics.html’, id=P42, 
               
               
                 layer=3&gt; 
               
               
                   &lt;/entry url=’tuition information of department of physics.html’, id=P44, layer = 
               
               
                 3&gt; 
               
               
                  &lt;/group&gt; 
               
               
                  ...... 
               
               
                   
               
             
          
         
       
     
         [0044]    Upon receipt of a request for retrieving content group information from the client side, the network interface  116  transfers this request to the request processor  114 . According to the received request, the request processor  114  retrieves from the content group manager  110  web content groups provided by the web content provider (e.g., a website) and sends the group information to the client that made the request through the network interface  116  via the network. 
         [0045]    Upon receipt of a request for some specific web content group(s) from the client, the network interface  116  transfers this request to the request processor  114 . Based on the group information saved on the content group manager  110 , the request processor  114  sends all the web contents in the requested web content group(s) from the network content data memory  112  to the client that made the request through the network interface  116  via the network, so that the client can provide the user with web contents of the group(s) for offline usage. 
         [0046]    Likewise, upon receipt of a request for update or addition from the client in the network interface  116 , similar operations to the above are performed and the web contents of a corresponding group are provided to the client via the network. 
         [0000]    According to another embodiment of the present invention, the web application server  11  may further receive from the client a message for customizing groups of web contents. Then, the content group manager  110  stores the user&#39;s group customization, i.e., creating customized groups for individual users. However, an extra database (not depicted) is needed in this embodiment for managing information of respective web content groups customized by the user. 
         [0047]      FIG. 6  schematically depicts a client module for offline accessing web contents according to an embodiment of the present invention. In the figure, reference numeral  10  designates a client module for offline accessing web contents,  101  a user content group manager,  103  a network interface through which users interacts with the network,  105  a user interface for interacting with the users, and 12 storage means for storing web content data. On the user content group manager  101  are further comprised: a group information requesting/receiving module  1011  for receiving group information from a web application server or sending requests for group information; a group customizing module  1012  for customizing group information; and a group maintaining module  1013  for maintaining groups. 
         [0048]    After the client module  10  is started or the client module  10  receives the user&#39;s indication for retrieving web content group information through the user interface  105 , the group information request/receiving module  1011  on the user content group manager  101  sends a request for web content group information provided by the web application server  11  to the server through the network interface  103  via the network. Upon receipt of content group information from the web application server  11 , the network interface  103  transfers the content group information to the user content group manager  101 . The group information requesting/receiving module  1011  on the manager  101  receives and stores the content group information. Then, the user content group manager  101  provides the user with the content group information in a certain manner (e.g., with a friendly user graphical interface) through user interface  105 , so that the user can chooses groups of interest. According to the user&#39;s choice from the user interface  105 , the group information requesting/receiving module  1011  on the user content group manager  101  sends a request for a corresponding web information group. Likewise, the request is transferred to the side of the web application server  11  via the network. In response to the request, the web application server  11  provides web contents of the requested group to client module  10 . The network interface  103  transfers the received web contents to the user content group manager  101  which controls to store the received web contents to the web content data storage means  12  in accordance with their groups, so that during offline operation, the web contents of the retrieved group will be presented to the user through the user interface  105  in response to the user&#39;s indication. 
         [0049]    Likewise, upon detection of a page needing to be maintained or upon receipt of the user&#39;s indication for maintenance such as updating through user interface  105 , the group maintaining module  1013  generates a corresponding request for maintaining web contents of the group, such as a request for updating a certain group and a request for adding a certain group. The group information requesting/receiving module  1011  sends the request to the web application server side through the network interface  103  via the network, so that web contents based on a corresponding group are retrieved. 
         [0000]    In particular, according to an embodiment of the present invention, the user content group manager  101  of the client module  10  further comprises the group customizing module  1012  which enables the user define web content groups. According to the example depicted in  FIG. 3 , the group customizing module  1012  can define a group “profile,” which group comprises the university profile P 11 , the college and department admission information p 21  as well as the college and department tuition information P 22 . Similar to the customization of groups by the content group manager on the web application server, the group customizing module  1012  can define a self-defined group (of course, the user needs to acquaint himself(herself) with the identifiers for the customized page) with Extensible Markup Language (XML). Next, the group information requesting/receiving module  1011  sends the group customizing request containing the self-defined group information to the web application server through the network interface  103  via the network, so as to retrieve web information based on the customized group. Thus, the user can conveniently use web contents of the group offline. 
         [0050]      FIG. 7  schematically depicts a computer device capable of implementing embodiments according to the present invention. 
         [0051]    The computer system shown in  FIG. 7  comprises a CPU (Central Processing Unit)  701 , a RAM (Random Access Memory)  702 , a ROM (Read Only Memory)  703 , a system bus  704 , a HD (Hard Disk) controller  705 , a keyboard controller  706 , a serial interface controller  707 , a parallel interface controller  708 , a display controller  709 , a hard disk  710 , a keyboard  711 , a serial external device  712 , a parallel external device  713  and a display  714 . Among these components, connected to the system bus  704  are the CPU  701 , the RAM  702 , the ROM  703 , the HD controller  705 , the keyboard controller  706 , the serial interface controller  707 , the parallel interface controller  708  and the display controller  709 . The Hard disk  710  is connected to the HD controller  705 , and the keyboard  711  to the keyboard controller  706 , the serial external device  712  to the serial interface controller  707 , the parallel external device  713  to the parallel interface controller  708 , and the display  714  to the display controller  709 . 
         [0052]    The functions of each component in  FIG. 7  are well known in the art, and the architecture shown in  FIG. 7  is conventional. Such architecture can be applied to not only personal computers but also hand held devices such as hand-held PCs, PDAs (Personal Data Assistants), mobile telephones, etc. In different applications, for example, for implementing a user terminal containing the client module according to the present invention or a server host containing the web application server according to the present invention, some components may be added to the architecture shown in  FIG. 7 , or some of the components shown in  FIG. 7  may be omitted. The whole system shown in  FIG. 7  is controlled by computer readable instructions, which are usually stored as software in the hard disk  710 , or in EPROM or other non-volatile memory. The software can also be downloaded from the network (not shown in the figure). The software, either saved in the hard disk  710  or downloaded from the network, can be loaded into the RAM  702 , and executed by the CPU  701  for implementing the functions defined by the software. 
         [0053]    As the computer system shown in  FIG. 7  is able to support the solution of providing web contents for offline usage according to the present invention, the computer system merely serves as an example of such computer systems. Those skilled in the art may understand that many other computer system designs are also able to carry out the embodiments of the present invention. 
         [0054]    The present invention may further be implemented as a computer program product used by, for example the computer system shown in  FIG. 7 , which contains codes for implementing the web application server of providing web contents for offline usage according to the present invention, and which may further contain codes for implementing the client module for retrieving web contents for offline usage according to the present invention. The codes may be stored in a memory of other computer system prior to the usage. For instance, the codes may be stored in a hard disk or a removable memory like an optical disk or a floppy disk, or may be downloaded via the Internet or other computer network. 
         [0055]    Although the embodiments of the present invention have been described with reference to the accompanying drawings, various modifications or alterations may be made by those skilled in the art within the scope as defined by the appended claims.