Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS20020078197 A1
Publication typeApplication
Application numberUS 09/938,866
Publication dateJun 20, 2002
Filing dateAug 24, 2001
Priority dateMay 29, 2000
Also published asCA2410747A1, CA2410747C, DE60132821D1, DE60132821T2, EP1407381A2, EP1407381B1, US7822735, US20020035563, WO2001093071A2, WO2001093071A3
Publication number09938866, 938866, US 2002/0078197 A1, US 2002/078197 A1, US 20020078197 A1, US 20020078197A1, US 2002078197 A1, US 2002078197A1, US-A1-20020078197, US-A1-2002078197, US2002/0078197A1, US2002/078197A1, US20020078197 A1, US20020078197A1, US2002078197 A1, US2002078197A1
InventorsAruna Suda, Suresh Jeyachandran, Prem Joseph
Original AssigneeSuda Aruna Rohra, Suresh Jeyachandran, Joseph Prem Anand
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
System and method for saving and managing browsed data
US 20020078197 A1
Abstract
A system for saving browsed data in a database in response to a user-request with a predetermined index assigned to the data, without any request from the user for an index. The system is configured for retrieving, in response to a selection of an index from the displayed indices by a user, the data corresponding to the selected index from the database. The system is also configured for sorting indices of the data in the database and displays the sorted indices. Accordingly, if a user wants to save a data currently being browsed, the user can make store the data in the database by merely instructing to save the data, and without specifying any index.
Images(54)
Previous page
Next page
Claims(58)
What is claimed is:
1. A data processing apparatus comprising:
means for initiating saving, said means for initiating saving being capable of saving one of either an Internet page content displayed by a browser or a URL of the page;
means for acquiring one of either the content or the URL of the currently displayed page from the browser based on an instruction by said means for initiating saving;
means for indexing, said means for indexing assigning a predetermined index to data acquired by said means for acquiring; and
means for data saving acquired data with the assigned index in a predetermined storage unit.
2. The apparatus according to claim 1, wherein said means for initiating saving includes an instruction menu, said instruction menu comprising instructions for activating saving of one of either the content or the URL of the currently displayed page.
3. The apparatus according to claim 1, wherein said means for acquiring obtains the URL of the currently displayed page and said means for indexing assigns a predetermined index to the URL or a selected part thereof.
4. The apparatus according to claim 1, wherein said means for acquiring obtains one of either a keyword or a title embedded in a page displayed in said browser, said means for indexing assigning a predetermined index to the keyword or the title.
5. The apparatus according to claim 4, further comprising means for displaying one of either the keyword or the title acquired by said means for acquiring in a menu used by said means for initiating saving.
6. The apparatus according to claim 1, wherein the index includes a time when the data is saved.
7. The apparatus according to claim 1, further comprising:
means for sorting indices of the data in the storage unit; and
means for displaying a result of the sorting by said means for sorting.
8. The apparatus according to claim 7, further comprising means for designating an index from the indices displayed on said means for displaying.
9. The apparatus according to claim 8, further comprising:
means for initiating deletion of a selected index; and
means for deleting the selected index, said deleting based on an instruction from said means for initiating deletion.
10. The apparatus according to claim 9, wherein said data to which the selected index is assigned is maintained in the predetermined storage unit.
11. The apparatus according to claim 9, wherein said data to which the selected index is assigned is removed from the predetermined storage unit.
12. The apparatus according to claim 9, wherein said means for initiating deletion selects an instruction from a menu displayed, said selection in response to a user-action.
13. The apparatus according to claim 12, wherein said user action is a click of mouse button, said apparatus being capable of recognizing said click.
14. The apparatus according to claim 8, further comprising means for displaying a URL of the data to which the designated index is assigned.
15. The apparatus according to claim 8, further comprising means for informing whether the content of the page to which the designated index is assigned has been saved.
16. The apparatus according to claim 15, wherein said means for informing is configured to further provides information regarding time of saving content.
17. The apparatus of claim 1, wherein said means for indexing assigns said index automatically.
18. The apparatus of claim 1, further comprising a means for retrieving data from said a predetermined storage unit.
19. The apparatus of claim 18, wherein indices of said retrieved data are displayed to a user in accordance with the time of creation of said data associated with said indices.
20. The apparatus of claim 18, wherein indices of said retrieved data are displayed to a user in accordance with organization name associated with data.
21. The apparatus of claim 18, wherein indices of said retrieved data are displayed to a user in accordance with keywords of said data.
22. The apparatus of claim 18, wherein indices of said retrieved data are displayed to a user in a sorted order of domain names of Internet locations where said data was initially obtained.
23. The apparatus of claim 18, wherein selecting an index to retrieve stored data causes said data to be displayed in a browser window actively being used.
24. A method for processing data in response to a user, comprising:
acquiring one of either content or URL information of the currently displayed page from the browser;
assigning a predetermined index to data acquired by said means for acquiring; and
saving acquired data with the assigned index in a predetermined storage unit, said data comprising one of either said content or said URL information.
25. The method according to claim 24, further comprising receiving an instruction for activating saving of one of either the content or the URL of the currently displayed page.
26. The method according to claim 24, wherein said acquiring comprises obtaining the URL of the currently displayed page and assigning a predetermined index comprises assigning said predetermined index to the URL or a selected part thereof.
27. The method according to claim 24, wherein said acquiring results in obtaining of one of either a keyword or a title embedded in a page displayed in said browser.
28. The method according to claim 27, further comprising displaying one of either the keyword or the title acquired.
29. The method according to claim 24, wherein the index includes a time when the data is saved.
30. The method according to claim 24, further comprising:
sorting indices of the data in the storage unit; and
displaying a result of the sorting on a display device.
31. The method according to claim 30, further comprising designating an index from the indices displayed.
32. The method according to claim 31, further comprising:
initiating deletion of a selected index; and
deleting the selected index in response to said initiating deletion.
33. The method according to claim 32, wherein said data to which the selected index is assigned is maintained in the predetermined storage unit.
34. The method according to claim 32, wherein said data to which the selected index is assigned is removed from the predetermined storage unit.
35. The method according to claim 32, wherein said initiating deletion results in selection of an instruction from a menu displayed to a user, said selection in response to a user-action.
36. The method according to claim 35, wherein said user-action is a click of mouse button.
37. The method according to claim 31, further comprising displaying a URL of the data to which the designated index is assigned.
38. The method according to claim 31, further comprising informing whether the content of the page to which the designated index is assigned has been saved.
39. The method according to claim 38, wherein said informing further provides information regarding time of saving content.
40. The method of claim 24, wherein said index is assigned automatically.
41. The method of claim 24, further comprising a means for retrieving data from said a predetermined storage unit.
42. The method of claim 41, wherein indices of said retrieved data are displayed to a user in accordance with the time of creation of said data associated with said indices.
43. The method of claim 41, wherein indices of said retrieved data are displayed to a user in accordance with organization name associated with data.
44. The method of claim 41, wherein indices of said retrieved data are displayed to a user in accordance with keywords of said data.
45. The method of claim 41, wherein indices of said retrieved data are displayed to a user in a sorted order of domain names of Internet locations where said data was initially obtained.
46. The method of claim 41, wherein selecting an index to retrieve stored data causes said data to be displayed in a browser window actively being used.
47. A system for processing data in response to a user, comprising:
a memory;
a processing unit disposed in communication with said memory unit, wherein said processing unit is configured for:
a. acquiring one of either content or URL information of the currently displayed page from the browser;
b. assigning a predetermined index to data acquired by said means for acquiring; and
c. saving acquired data with the assigned index in a predetermined storage unit, said data comprising one of either said content or said URL information.
48. The system of claim 47, wherein said processing unit is further configured for receiving an instruction for activating saving of one of either the content or the URL of the currently displayed page.
49. The system according to claim 47, wherein said processing unit is further configured for displaying one of either the keyword or the title acquired.
50. The system according to claim 47, wherein said processing unit is further configured for:
sorting indices of the data in the storage unit; and
displaying a result of the sorting on a display device.
51. The system according to claim 50, wherein said processing unit is further configured for designating an index from the indices displayed.
52. The system according to claim 51, wherein said processing unit is further configured for:
initiating deletion of a selected index; and
deleting the selected index in response to said initiating deletion.
53. The system according to claim 52, wherein said initiating deletion results in selection of an instruction from a menu displayed to a user, said selection in response to a user-action.
54. The system according to claim 52, wherein said processing unit is further configured for displaying a URL of the data to which the designated index is assigned.
55. The system according to claim 52, wherein said processing unit is further configured for informing whether the content of the page to which the designated index is assigned has been saved.
56. The system according to claim 47, wherein said index is assigned automatically.
57. The system according to claim 47, wherein said processing unit is further configured for retrieving data stored in said predetermined storage unit in response to a user-request.
58. The system according to claim 57, wherein said processing unit is further configured for displaying said retrieved data.
Description
CLAIM FOR PRIORITY

[0001] This application claims priority from Application No. 2001-107893, filed on May April 6, 2001 in JAPAN.

FIELD OF THE INVENTION

[0002] The present invention relates to a system and a method for saving and managing acquired data that is, for example, browsed by an Internet browser.

BACKGROUND OF THE INVENTION

[0003] A conventional computer can access and display data in an Internet using a software called browser. The conventional computer also can open a file application and store data in a file.

[0004] As the Internet becomes the primary communication infrastructure, browser is becoming the normal desktop, not only for professional users but even for the layman and the need for web information management while browsing becoming a ‘basic necessity’. The key issue for professional users thus, is the cultivation of ‘information power’ i.e., harnessing and effective use of the web. The rapidly growing and changing web information, the dynamically created context based information (Electronic Commerce receipts, search results, individually tailored insurance plans etc.), make the conventional management techniques like book marking, printing and filing, ineffective. Therefore, the user has to perform complex operations to save the browsed data and manage the data stored in files.

SUMMARY OF THE INVENTION

[0005] It is an object of the present invention to provide a system and method to save data by a user using a simple operation.

[0006] According to one aspect, the present invention relates to a data processing system comprising a data acquisition means for acquiring data; determination means for determining whether or not a user requests to save the acquired data; indexing means for assigning a predetermined index to the data requested to save, without inputting any index; and saving means for saving the requested data with the assigned index in a predetermined storage unit.

[0007] According to another aspect, the present invention relates to a data processing method comprising a data acquisition step of acquiring data; a determination step of determining whether or not a user requests to save the acquired data; an indexing step of assigning a predetermined index to the data requested to save, without inputting any index; and a saving step of saving the requested data with the assigned index in a predetermined storage unit.

[0008] According to still another aspect, the present invention relates to a computer-executable program for controlling a computer to perform data processing, said program comprising codes for causing the computer to perform a data acquisition step of acquiring data; a determination step of determining whether or not a user requests to save the acquired data; an indexing step of assigning a predetermined index to the data requested to save, without inputting any index; and a saving step of saving the requested data with the assigned index in a predetermined storage unit.

[0009] Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.

[0011]FIG. 1 is a block diagram illustrating the hardware configuration according to an embodiment of the present invention.

[0012]FIG. 2 shows the functional block diagram of information processing system embodying the present invention.

[0013]FIG. 3 shows the functional block diagram of information browsing system embodying the present invention.

[0014]FIG. 4 is a flowchart of the main procedural steps of this embodiment.

[0015]FIG. 5 is a flowchart of INITIALIZE procedure.

[0016]FIG. 6 is a flowchart of MAIN-PROCESSOR.

[0017]FIG. 7 is a flowchart of the procedural steps of UserAction.

[0018]FIG. 8 is a flowchart of the procedural steps of CheckExisting( ).

[0019]FIG. 9 is a flowchart of the procedural steps of ShowSession( ).

[0020]FIG. 10 is a flowchart of the procedural steps of For Each Session, Sort KPTAction by Time.

[0021]FIG. 11 is a flowchart of the procedural steps of GetPreviousYearNodes.

[0022]FIG. 12 is a flowchart of the procedural steps of GetBeforeCurrMonthNodes.

[0023]FIG. 13 is a flowchart of the procedural steps of GetbeforeCurrWeekNodes.

[0024]FIG. 14 is a flowchart of the procedural steps of GetCurrWeekNodes.

[0025]FIG. 15 is a flowchart that procedural steps of ShowLinks( ).

[0026]FIG. 16 is a flowchart of the procedural steps of Sort by keywords.

[0027]FIG. 17 is a flowchart of the procedural steps of ShowTreeView.

[0028]FIG. 18 is a flowchart of the procedural steps of ProcessLeafAction.

[0029]FIG. 19 is a flowchart of the procedural steps of ProcessNodeAction.

[0030]FIG. 20 is a flowchart of the procedural steps of Sort by Domain.

[0031]FIG. 21 is a flowchart of the procedural steps of Sort by Organization.

[0032]FIG. 22 is a flowchart for processing the retrieve conditions and to fetch the appropriate information.

[0033]FIG. 23 is a flowchart for processing the manage conditions and to perform the appropriate processing.

[0034]FIG. 24 is a flowchart of the procedural steps to see if any system task needs to be executed.

[0035]FIG. 25 is a flowchart of the procedural steps of RemoveExpired( ).

[0036]FIG. 26 is a flowchart of the procedural steps of CheckUpdate( ).

[0037]FIG. 27 is a flowchart of the procedural steps of ExecuteAction( ).

[0038]FIG. 28 is a flowchart of the procedural steps of SaveContents( ).

[0039]FIG. 29 is a flowchart of the procedural steps of WebFetch( ).

[0040]FIG. 30 is a flowchart of the procedural steps of steps of SaveFileContents( ).

[0041]FIG. 31 is a flowchart of the procedural steps of FillKPTAction.

[0042]FIG. 32 is a flowchart of the procedural steps of TERMINATE.

[0043]FIGS. 33 and 34 show examples of the knowledge structures in the knowledge base.

[0044]FIGS. 35 and 36 show examples content of the knowledge base.

[0045]FIG. 37 shows an example content of the Domain knowledge base.

[0046]FIG. 38 shows example rules for determining the organization indices for a URL.

[0047]FIG. 39 shows example rules for determining the domain indices for a URL.

[0048]FIG. 40 shows an example User Interface of this embodiment.

[0049]FIG. 41 shows an example HTML text obtained from the browser.

[0050]FIG. 42 shows example modified HTML text.

[0051]FIG. 43 shows example User Interface, when a saved page is retrieved.

[0052]FIG. 44 shows an example User Interface of Session UI.

[0053]FIG. 45 shows an example User Interface of Get All Links UI sorted by Organizations.

[0054]FIG. 46 shows an example User Interface of Get All Links UI sorted by Domains.

[0055]FIG. 47 shows an example User Interface of Get All Links UI sorted by Keywords.

[0056]FIG. 48 shows an example Retrieve or Find UI.

[0057]FIG. 49 shows an example Properties or Attributes UI of a retrieved page.

[0058]FIG. 50 shows an example Manage Data or Delete Pages UI.

[0059] FIGS. 51 to 53 shows some examples of User Settings UI.

DETAILED DESCRIPTION

[0060] A preferred embodiment of the present invention will now be described in detail with reference to the accompanying drawings.

[0061]FIG. 1 is a block diagram illustrating the hardware configuration according to an embodiment of the present invention. In this figure, A central processing unit (CPU) 101 is operative to perform operations for various processing and make a logical decision or the like and further controls each composing element connected to a bus 107.

[0062] A RAM 102 is used to temporarily store variables and intermediate data generated during the processing. A program from an external source may be loaded into the RAM 102. A ROM 103 is used to store programs, which correspond to individual flowcharts that will be described later and which are to be executed by the CPU 101, and fixed data.

[0063] A user uses a keyboard (KB) 104 for inputting data and an instruction. A mouse or other input devices may be used with the keyboard 104. Display 105 displays data and a hard disk drive (HDD) stores data of a database, a program, and the like.

[0064] The bus 107 is used to transfer an address signal indicating a composing element to be controlled by the CPU 101, a control signal used for controlling each composing element and data to be exchanged between the composing equipment.

[0065]FIG. 2 shows the functional block diagram of information processing system embodying the present invention. Browser 201 is used for information browsing of the Web. Filing system 202 is for filing and managing files. Document Management System 203 is for managing documents. Information Management System 204 is for managing information other than documents. The inventive System interacts and acts as a controlling system as explained in detail in this embodiment to Browser 201, Filing System 202, Document Management System 203 and Information Management System 204. Knowledge Base Management 206, is the management of knowledge accessed/stored from/to the Database 206.

[0066]FIG. 3 shows the functional block diagram of information browsing system embodying the present invention. The information on the Internet 301 is browsed using multiple browsers 302, 303 simultaneously and as explained in this embodiment, the System 205 handles and processes them separately.

[0067]FIG. 4 is a flowchart of the main procedural steps of this embodiment. The following description is for an example system, which connects to the Internet and allows browsing and saving of the information. In step S401, initialization processes to connect to the Internet are executed. In step S402, main function processing browsing, saving, managing stored information etc. of this embodiment is performed. In step S403, terminate or clean-up processing is executed.

[0068]FIG. 5 is a flowchart of INITIALIZE procedure of step S401. In step S501 a check is made to determine if the browser needs to be instantiated or not. If browser is not instantiated, it is instantiated in step S502. In step S503, a new session is created. In step S504, the knowledge base is updated. The main UI of this embodiment is displayed in step S505 and the process ends.

[0069]FIG. 6 is a flowchart of MAIN-PROCESSOR of step S402. In step S601, a check is made to determine if the browser was instantiated or not. If so, a new session is created in step S602 and the process proceeds to step S605, wherein the knowledge base is updated. If not, a check is made in step S603 to determine if the browser was terminated or ended. If so, the session associated with the browser is ended and proceeds to step S605. If not, a check is made in step S606 to determine if an action was performed to end the system. If so, all the current tasks are terminated in step S607 and the process returns.

[0070] If not, a check is made in step S608 to determine if the user is navigating to a new URL. If so, a check is made in step S609 to confirm with the user that the current task should be terminated. If not, the process proceeds to step S610, where the navigation is aborted and the process continues to step S601. If the current task is to be ended in step S609, step S611 is executed wherein, the previous task is terminated and then a new task is created. In step S612, the knowledge structures KPTAction and KPTDocument are created.

[0071] In step S613, the URL and the keywords are obtained from the Browser. A check is made in step S614 to determine if the URL data already exists in the knowledge base. If so, all the existing data for the current URL is procured from the knowledge base in step S615 and moves to step S616, where a check is made to determine if it is a RetrievedURL i.e., the user is trying to view the contents of an already stored page. If so, step S617 is executed to get the RetrieveUI message and control goes to S618. If URL data does not already exist in step S614, step S618 is executed to display the keywords, other acquired data from browser like the URL, page title etc . . . and other existing data if any from the knowledge base like validity period etc . . . and the process proceeds to step S601.

[0072] In step S608, if the user is not moving to a new URL, a check is made in step S619 to determine if any SystemTask ActL needs to be executed. If so, step S622 ExecuteAction(ActL) is executed and control moves to step S605 to update the knowledge base. If not, a check is made in step S620 to determine if any User Operation was performed. If not, step S605 is executed, otherwise in step S621, the HTML text is obtained from the browser and the KPTAction and KPTDocument structures created in step S612 are updated and ExecuteAction(ActL) for the UserAction is executed in step S622 and the process moves to step S605 to update the knowledge base.

[0073] For example, when the browser 201 displays an HTML page as shown in FIG. 41, the keywords embedded in the Meta Name tag i.e., Saora, Web Information Manager etc., which are not normally displayed by the browser are extracted and displayed in the keywords field, as shown in FIG. 40. As can be seen from this Figure, the User Interface of this embodiment appears within the browser. Thus this embodiment allows the user to do all his information gathering, processing and management while browsing, without ever leaving the browser. The contents can, not only be saved with a single mouse click but also assign keywords and keep track of them. The embodiment also automatically sorts and organizes the web research results, which are easily accessible in time and content-sorted order or for search by keywords etc. Most importantly, there is no need to specify filenames, folder destinations etc. so that there is no wasted time filing, sorting, organizing and printing for offline reading.

[0074] As can be seen in FIG. 40, this embodiment allows the user to save information from web pages and retrieve the stored information, without alluding to any files and folders; concepts normally associated with saving information on a computer. There is no need to specify a filename or a destination folder. This saves a lot of time spent in deciding for a filename and specifying the destination folder and after time passes, finally searching the whole hard disk(s) for the files one is looking for. There is not only no need to specify a filename, but the link or pages can be kept, in an One-Click operation i.e., by just clicking on either Save Link or Save Page. Also the same contents can be stored as many times as the user wishes, without ever specifying the filename, and still be able to retrieve them easily. This is especially useful, if the user wishes to keep track of the changes in the contents of the same web page.

[0075]FIG. 7 is a flowchart of the procedural steps of S620 UserAction. A check is first made in step S701 to set Act equal to the User operation performed by user and proceeds to step S702 to determine if Act is equal to NULL. If so, the process returns false. If it is not NULL, the process proceeds to step S703, a check is made to determine whether Act is Save. If Act is Save, in step S704, a check is made to determine if the information being saved already exists using CheckExisting( ), which is explained in detail later and if so, proceeds to step S715, otherwise return false. If not, a check is made in step S705 to determine if Act is Show Sessions. If so, ShowSession( ) as explained later is executed in step S706 and the process returns true. If not, a check is made in step S707 to determine if the Act is Show Links. If so, ShowLinks( ) as explained later is executed in step S708 and the process returns true. If not, a check is made in step S709 to determine whether Act is Retrieve. If Act is retrieve, the process proceeds to step S710 where RetrieveUI is displayed, example of which is shown in FIG. 48. If not, a check is made in step S711 to determine whether Act is Manage. If Act is manage, the process proceeds to step S712 where ManageUI is displayed, example of which is shown in FIG. 50. If not, a check is made in step S713 to determine whether Act is Show User Settings. If Act is User Settings, the process proceeds to step S714 where User SettingUI is displayed, example of which are shown in FIGS. 51 to 53. In step S715, createKS( ) is executed to create the associated knowledge structures, which are explained in detail later and the process returns true.

[0076]FIG. 8 is a flowchart of the procedural steps of S704, CheckExisting( ) of this embodiment to check if the information already exists in the knowledge base or not. In step 801, the values of Keyword, Validity Range etc . . . are either obtained from the user or from the system settings. In step S802, a check is made to determine whether the URL already exists. If URL does not exist, the process proceeds to step S803 where ModifyStatus is set to saveAsNewAction and returns true. If URL exists, a check is made in step S804 to determine if the information needs to be over-written i.e., update or modify the previous information. This is done either by asking the user, whether he or she would like to overwrite the existing information, save as new, do not save or based on the user settings as shown in FIG. 53. If so, in step S805, ModifyStatus is set to OverWriteExisting and the process returns true. If not, a check is made in step S806 to determine if the information needs to be saved as new, i.e., without modifying the existing information, save the current information as a separate entity. If so, ModifyStatus is set to saveAsNewAction and the process returns true. If not, the process returns false.

[0077]FIG. 9 is a flowchart of the procedural steps of S706, ShowSession of this embodiment. A check is made in step S901 to determine if all the information needs to be displayed. If not, the process proceeds to step S902, wherein based on either User settings and/or interaction and/or input and/or System settings, the filter or the constraint on the information to be displayed is obtained. In either case the process proceeds to step S903, wherein the relevant KPTAction and the associated KPTDocument are got from Knowledge Base. In step S904, KPTAction is sorted for each session by time as explained in detail later, in FIG. 10. In step S905, Session UI is displayed, an example of which is shown in FIG. 44 and the process returns.

[0078]FIG. 10 is a flowchart of the procedural steps of For Each Session, Sort KPTAction by Time, step S904 of this embodiment. Initially in step S1001, the CurrD is set to GetCurrentDate( ), which the current date of the system. In step S1002, the MinD is set to GetMinimumDate( ), which the minimum or earliest date for which information exists in the knowledge base. In step S1003, the NodeList is set to NULL. In step S1004, GetPreviousYearNodes(NodeList, CurrD, MinD) as detailed in FIG. 11 is executed. In step S 1005, GetBeforeCurrMonthNodes(NodeList, CurrD) as detailed in FIG. 12 is executed. In step S1006, GetBeforeCurrWeekNodes (NodeList, CurrD) as detailed in FIG. 13 is executed. In step S1007, GetCurrWeekNodes(NodeList, CurrD) as detailed in FIG. 14 is executed. In step S1008, ShowTreeView(NodeList, Type) with Type=Session is executed as detailed in FIG. 17 and the example results are shown in FIG. 44, wherein the Sessions in the NodeList are displayed in sorted order.

[0079]FIG. 11 is a flowchart of the procedural steps of GetPreviousYearNodes (NodeList, CurrD, MinD) of step S1004 of this embodiment. A check is made in step S1101 to determine if Year(CurrD)>Year (MinD) i.e., the year part of CurrD is greater than the year part of MinD. If not, the process returns. If so, Iyear is set to Year(MinD) i.e., year part of MinD in step S1102. In step S1103, a check is made to determine if Iyear<Year(CurrD) i.e., Iyear is less than the year part of CurrD. If not, the process returns. If so, a check is made in step S 1104 to determine if Iyear is equal to Year(CurrD)−1. If so, a node called ‘Last year’ is created and added to the appropriate place in NodeList in step S 105. If not, nodes for that year i.e., Iyear is created e.g., 1999 etc . . . and added to appropriate place in NodeList in step S1106. In either case, the step S 1107 is executed, wherein nodes are created only for ‘Months’ e.g., January, June etc . . . for which data exists for the specified Iyear in the knowledge base and added to appropriate places in NodeList. In step SI 108, nodes are created only for ‘Days’ e.g., 1, 3, 27 etc . . . for each of the above ‘Months’ for which data exists in the knowledge base and are added to appropriate places in NodeList. In step S1109, Iyear is incremented and the process continues to step S1103, till Iyear becomes greater than or equal to year part of CurrD, at which point the process returns.

[0080]FIG. 12 is a flowchart of the procedural steps of GetBeforeCurrMonthNodes (NodeList, CurrD) of step S1005 of this embodiment. Initially, in step S1201, Imonth is set to 1. A check is made in step S1202 to determine if Month(CurrD) i.e., month part of CurrD is equal to Imonth. If so, the process returns. If not, a check is made in step S1203 to determine if the values of Imonth and Month(CurrD)−1 are equal. If so, step S1204 is executed in which, a node called ‘Last month’ is created and added to appropriate place in NodeList. If not, step S1205 is executed in which, the node with Month name e.g., Jan or Jun etc . . . is created and added to appropriate place in NodeList. In either case, after completion, step S1206 is executed, wherein nodes are created only for ‘Days’ e.g., 1, 3, 27 etc . . . for each of the above ‘Months’ for which data exists in the knowledge base and are added to appropriate places in NodeList. In step S1207, Imonth is incremented and the process continues to step S1202, till Imonth is equal to the month part of CurrD, at which point the process returns.

[0081]FIG. 13 is a flowchart of the procedural steps of GetbeforeCurrWeekNodes (NodeList, CurrD) of step S1006 of this embodiment. Initially, in step S1301, Iweek is set to 1. A check is made in step S1302 to determine if Week(CurrD) i.e., week part of CurrD is equal to Iweek. If so the process returns. If not, a check is made in step S1303 to determine if the values of Iweek and Week(CurrD-1) are equal. If so, step S1304 is executed in which, a node called ‘Last Week’ is created and added to appropriate place in NodeList. If not, step S1305 is executed in which, the node with Iweek is created e.g., 1st week, 2nd week etc . . . and added to appropriate place to NodeList. In either case after completion, step S1306 is executed, wherein nodes are created only for ‘Days’ e.g., 1, 3, 27 etc . . . for each of the above ‘Weeks’ for which data exists in the knowledge base and are added to appropriate places in NodeList. In step S1307, Iweek is incremented and the process continues to step S1302, till Iweek is equal to the week part of CurrD, at which point the process returns.

[0082]FIG. 14 is a flowchart of the procedural steps of GetCurrWeekNodes (NodeList, CurrD) of step S1007 of this embodiment. Initially, in step S1401, Iday is set to StartofWeek(CurrD) i.e., the starting day of the current week. A check is made in step S1402 to determine if Iday is greater than the Day(CurrD) i.e., the day part of the CurrD. If so, the process returns. If not, in step S1403, a check is made to determine if Iday is equal to Day(CurrD)−1. If so, step S1404 is executed in which, a node called ‘Yesterday’ is created and added to appropriate place in NodeList and continues to step S1408. If not, step S1405 is executed in which, a check is made to determine if Iday is equal to Day(CurrD) i.e., current day. If so, step S1406 is executed in which, a node called ‘Today’ is created and added to appropriate place in NodeList and continues to step S1408. If not, nodes are created only for ‘Days’ e.g., 1, 3, 4 etc . . . for which data exists in the knowledge base and added to appropriate places in NodeList and continues to step S1408. In step S1408, child nodes are created for sessions of day(s) for which data exists in knowledge base and added to appropriate places to NodeList. Finally in step S1409, Iday is incremented by 1 and the process continues to step S1402, till Iday>Day(CurrD), at which point the process returns.

[0083]FIG. 15 is a flowchart that procedural steps of S708, ShowLinks of this embodiment. A check is made in step S1501 to determine if all the information needs to be displayed. If not, the process proceeds to step S11502, wherein based on either User settings and/or interaction and/or input and/or System settings, the filter or the constraint on the information to be displayed is obtained. In either case the process proceeds to step S1503, wherein the relevant KPTAction and the associated KPTDocument are got from Knowledge Base. In step S1504, a check is made to determine if the Sort Item is equal to Organizations. If so, the information is sorted by Organization, as explained in detail later in FIG. 21, in step S1505 and proceeds to S1509, where it is displayed, an example of which is shown in FIG. 45. If not, a check is made in step S1506 to determine if the sorting is by Domains. If so, the information is sorted by Domain, as explained in detail later in FIG. 20, in step S1507 and proceeds to step S1509, where it is displayed, an example of which is shown in FIG. 46. If not, the information is sorted by Keywords, as explained in detail later in FIG. 16, in step S1508 and proceeds to step S1509, where it is displayed, an example of which is shown in FIG. 47 and the process returns.

[0084]FIG. 16 is a flowchart of the procedural steps of Sort by keywords S1508 of this embodiment. Initially in step S1601 the NodeList is set to NULL. In step S1602, the list of all keywords L1, is retrieved from the knowledge base. In step S1603, the next keyword K1 is fetched from the list of keywords L1. A check is made in step S1604 to determine if K1 exists. If so, a check is made in step S1606 to determine if it is a required keyword. If not, the control goes back to step S1603. If so, a check is made in step S1607 to determine if the keyword K1 already exists in the NodeList. If so, the control goes back to step S1603. If not, the keyword K1 is added at the appropriate place in the NodeList in step S1608 and control goes back to step S1603 to fetch the next keyword from the list. If K1 does not exist in step S1604, implying that all the keywords in the NodeList were processed and hence in step S1605, ShowTreeView(NodeList, Type) is executed with Type=Keyword, whose details are explained in FIG. 17 and the example results are shown in FIG. 47, wherein the keywords in the NodeList are displayed in the sorted order.

[0085]FIG. 17 is a flowchart of the procedural steps of ShowTreeView S1605 of this embodiment. First in step S1701, a check is made to determine if Type is Keyword. If so, No keywords is added to the NodeList in step S1702. In step S1703, the list of nodes in the NodeList is displayed. In step S1704 the process waits for user operation or Action Act and in step S1705, a check is made to determine if the Act is End, in which case the process returns. If not, a check is made in step S1706 to determine if a Leaf was selected. If so ProcessLeafAction(Act, Node, Type) is executed in step S1707. If not, ProcessNodeAction(Act, Node, Type) is executed in step S1708 and the process returns to step S1704.

[0086]FIG. 18 is a flowchart of the procedural steps of ProcessLeafAction(Act, Node, Type) of step S1707 of this embodiment. A check is made in step S1801, if the Act is Open. If so, all the child nodes and all the actions KPTAction and associated KPTDocument are fetched in step S1802, from the knowledge base for the selected node and added to the NodeList at appropriate places in step S1803 and continues to step S1809. If not, a check is made in step S1804, if the Act is Close. If so, all the child nodes below the selected node are closed or hidden in step S1805 and continues to step S1809. If not, a check is made to determine if the Act is Delete. If so, a confirmation is sought from the user, if required, in step S1807 and if delete is not to be performed, it continues to step S1809, else all the KPTAction and associated KPTDocument for all the child nodes below the selected node is deleted from the knowledge base in step S1808 and continues to step S1809. In step S1809, the knowledge base is updated based on the type of action performed and in step S1810 the user interface is updated to reflect the updates made in the knowledge base. If in step S1806, the action is not Delete, the process returns.

[0087]FIG. 19 is a flowchart of the procedural steps of ProcessNodeAction(Act, Node, Type) of step S1708 of this embodiment. A check is made in step S1901 to determine if the Act is Display i.e., to display the contents of the stored page, if contents are stored, otherwise, the original page needs to be displayed. If so, KPTAction and associated KPTDocument are fetched from the knowledge base for the selected node and added to the NodeList at appropriate place in step S1902 and continues to step S1914. If not, a check is made in step S1903 to determine if the Act is Source i.e., to display the contents of the original page. If so, the KPTAction and associated KPTDocument are fetched from the knowledge base for the selected node in step S1904 and fetches the contents of the page from the original location or URL in step S1905 and continues to step S1914. If not, a check is made to determine if the Act is Delete in step S1906. If so, a confirmation is sought from the user, if required, in step S1907 and if delete is not to be performed, it continues to step S1914, else in step S1908, the associated KPTAction and KPTDocument are deleted from the knowledge base and continues to step S1914. If not, a check is made in step S1909 to determine if the Act is Delete from this group. If so, a confirmation is sought from the user, if required, in step S1910 and if delete is not to be performed, it continues to step S1914, else in step S1911, the associated attributes or properties of KPTAction and KPTDocument are modified in the knowledge base and continues to step S1914. If not, a check is made in step S1912 to determine if the Act is Show Property. If so, the associated properties or attributes of the KPTAction and KPTDocument for the associated node are fetched from the knowledge base in step S1913 and continues to step S1914. In step S1914, the knowledge base is updated based on the type of action performed and in step S1915 the user interface is updated to reflect the updates made in the knowledge base. If in step S1912, the action is not Show Property, the process returns.

[0088]FIG. 20 is a flowchart of the procedural steps of Sort by Domain step S1507 of this embodiment. Initially the NodeList is set to NULL in step S2001. In step S2002, all the top-level domain list L1 are fetched from the knowledge base. In step S2003, the next domain name K1 in list L1 is fetched. A check is made in step S2004 to determine if the domain name K1 exists. If so, a check is made in step S2006 to determine if the domain name K1 is unnecessary or not required domain. If so, it continues to step S2003 to fetch the next domain name from the list. If not, a check is made in step S2007 to determine if the K1 is already present in L1, if so, it continues to step S2003 otherwise the domain name K1 is added to the NodeList at the appropriate place in step S2008 and then continues to step S2003. In step S2004, if K1 does not exist, implying that all the items in the list L1 have been processed, FIG. 17 ShowTreeView(NodeList, Type), with Type=Domain is executed in step S2005 and the example results are shown in FIG. 46, wherein the Domains in the NodeList are displayed in the sorted order.

[0089]FIG. 21 is a flowchart of the procedural steps of Sort by Organization step S1505 of this embodiment. Initially the NodeList is set to NULL in step S2101. In step S2102, list of all the organizations L1 are fetched from the knowledge base. In step S2103, the next organization name K1 in list L1 is fetched. A check is made in step S2104 to determine if the organization name K1 exists. If so, a check is made in step S2106 to determine if the organization name K1 is unnecessary or not required entry. If so, it continues to step S2103 to fetch the next organization name from the list. If not, a check is made in step S2107 to determine if the K1 is already present in L1, if so, it continues to step S2103 otherwise the organization name K1 is added to the NodeList at the appropriate place in step S2108 and then continues to step S2103. In step S2104, if K1 does not exist, implying that all the items in the list L1 have been processed, FIG. 17 ShowTreeView(NodeList, Type), with Type=Orgn is executed in step S2105 and the example results are shown in FIG. 45, wherein the Organizations in the NodeList are displayed in the sorted order.

[0090]FIG. 48 is an example for User Interface of Search L1, displayed in step S710. FIG. 22 is the flowchart for processing the retrieve conditions set in FIG. 48 and to fetch the appropriate information. In step S2201, Retrieve Query ‘Q’ is set to NULL. A check is made in step S2202 to determine if keyword is NULL. If not, the input keyword is set to keyword of the Retrieve Query Q in step S2203 to retrieve the matching information and continues to step S2204.If so, a check is made in step S2204 is determine if Action Type is null. If not, the input Action Type is set to Action Type of query Q in step S2205 and continues to step S2206. If so, a check is made in step S2206 to determine if Browse Date/Validity Range is equal to NULL. If not, the input information is set to Browse Date/Validity Range of Retrieve Query Q in step S2207 and continues to step S2208. If so, a check is made in step S2208 to determine if URL Orgn is null. If not, the input characters of URL Orgn is set to Organization name of URL of the retrieve query Q in step S2209 to retrieve query Q to retrieve the matching information starting the given input and continues to step S2210. If so, a check is made in step S2210 to determine if URL Domain is null. If not, the input characters of URL Domain is set to Domain part of URL of the retrieve query Q in step S2211 to retrieve query Q to retrieve the matching information containing the given input and continues to step S2212. If so, a check is made in step S2212 to determine if the input Page tile is NULL. If so, the input characters of Page title is set to Page Title of the retrieve query Q in step S2213 to retrieve query Q to retrieve the matching information starting the given input and continues to step S2214. If so, a check is made in step S2214 to determine if retrieve query Q is NULL i.e., if any of the conditions to find was specified. If so, step S2215 is executed in which an error message is displayed to the user and continues to step S2202. If not, step S2216 is executed to retrieve all the matching KPTAction and associated KPTDocument from the knowledge base for the input retrieve query Q and the results are displayed to the user in step S2217 and the function returns.

[0091]FIG. 50 is an example for User Interface of Manage UI, displayed in step S712. FIG. 23 is the flowchart for processing the manage conditions set in FIG. 50 and to process the appropriate request. In step S2301, Manage Query ‘Q’ is set to NULL. A check is made in step S2302 to determine if Content Type is NULL. If not, the input Content Type is set to Content Type of the Manage Query Q in step S2303 to retrieve the matching information and continues to step S2304. If so, a check is made in step S2304 to determine if Browse Date is equal to NULL. If not, the input information is set to Browse Date of Manage Query Q in step S2305 and continues to step S2306. If not, a check is made in step S2306 to determine if the Delete is not based on Keywords or Organization or Domain. If so, step S2307 ShowLinks is executed, which was explained in FIG. 15 and process returns. If so, a check is made in step S2308 to determine if Manage Query Q is NULL, i.e., if any of the conditions to manage was specified. If so, step S2311 is executed in which an error message is displayed to the user and continues to step S2302. If not, step S2309 is executed to retrieve all the matching KPTAction and associated KPTDocument from the knowledge base for the input manage query Q and the results are displayed to the user in step S2310 and the function proceeds to step S2312. In step S2312, first the User Operation is obtained in Act and a check is made to determine if Act is equal to NULL. If so, the process just waits for user operation. If not, step S2313 is executed wherein a check is made to determine if the Act is Delete All. If so, all the displayed KPTAction and the associated KPTDocument are deleted from the knowledge base after confirmation from the user and proceeds back to step S2312. If not, a check is made in step S2315 to determine if the Act is equal to Delete. If so, step S2316 is executed wherein the selected KPTAction and the associated KPTDocument are deleted form the knowledge base after confirmation from the user and moves to step S2312. If not, a check is made in step S2317 to determine if Act is equal to NULL. If so, the function just returns otherwise a check is made in step S2318 to determine if Act is equal to New, in which case the input parameters are cleared and moves to step S2312.

[0092]FIG. 24 is a flowchart of the procedural steps of S619 of this embodiment, in which a check is made to see if any system task needs to be executed. In step S2401, a check is made to determine if any system action exists, which needs to be executed. If no such action exists, the process is terminated and returns. If system action exists, system task T1 is created in step S2402. A check is made in step S2403 to determine if the system action is CheckExpired. If so, RemoveExpired is executed in step S2404 to remove the information whose validity period has expired. If not, a check is made in step S2405 to determine if the system action is CheckUpdate. If so, Update is executed in step S2406 to update the version of the system. After the completion of the above steps, knowledge base is updated in step S2407 and system task T1 is terminated in step S2408 and the process returns.

[0093]FIG. 25 is a flowchart of the procedural steps of RemoveExpired S2404 of this embodiment. Referring to the figure, in step S2501, a valid or active KPTAction is fetched from the knowledge base. In step S2502, a check is made to determine if no KPTAction was found in the previous step. If so, the process terminates and returns. If not, a check is made in step S2503 to determine if the validity period of the KPTAction is defined. If not, the control goes back to step S2502 to fetch the next valid or active KPTAction from the knowledge base and the process continues. If so, a check is made in step S2504 to determine if the validity period of the KPTAction has expired. If not, the control goes back to step S2501 otherwise, a confirmation is made to the user or based on user settings without asking the user every time, to verify if the found action can be deleted, in step S2505. If so, in step S2506 the KPTAction and the associated KPTDocument is deleted from the knowledge base and in step S2507 the knowledge base is updated and the control goes back to step S2501 to fetch the next valid or active KPTAction from the knowledge base and the process continues till no more actions are found.

[0094]FIG. 26 is a flowchart of the procedural steps of CheckUpdate S2406 of this embodiment. In step S2601, the current version of the system, V1 is obtained. In step S2602 a check is made to determine if the version V2 can be obtained from the website. If not, the process terminates and returns. If so, a check is made to determine if version V2 is greater than V1. If not, the process terminates and returns. If so, a check is made in step S2604, to see if user confirmation is required, in which case after confirming from the user, the latest version is downloaded in step S2605 and the system updates itself in step S2606 and the process returns.

[0095]FIG. 27 is a flowchart of the procedural steps of S622, ExecuteAction of this embodiment. In step S2701, the next Act is got from the ActList. In step S2702, a check is made to determine if Act exists. If not, the process returns. Otherwise, in step S2703 inference is made using the knowledge base to complete the Act. A check is made in step S2704 to determine if Act is Save. If so, step S2705, SaveContents( ) as explained later in FIG. 28 is executed and goes to step S2706 wherein the knowledge base is updated and the process returns to step S2701 to fetch the next action from the ActList, till there are no more action left to be processed, at which stage the process returns.

[0096]FIG. 28 is a flowchart of the procedural steps of SaveContents in step S2705 of this embodiment. A check is made in step S2801 to determine if it is a SaveLink only operation. If so, process proceeds to step S2805. Otherwise, a check is made to determine if it is a SavePage contents operation in step S2802. If so, Page PLUS is set to true in step S2804. In either case, step S2803, WebFetch( ) is executed, which is explained in detail later in FIG. 29, in step S2803. In step S2805, a check is made to determine if ModifyStatus is saveAsNewAction or not. If so, indices of KPTAction and the associated KPTDocument is determined from Knowledge Base in step S2809 and SaveFileContents( ) is executed as explained in FIG. 30, in step S2801. The KPTAction and KPTPerson are added to Knowledge Base in step S2806 and the process returns. If ModifyStatus is not saveAsNewAction, check is made in step S2807 to determine if it is OverWriteExisiting. If not the process returns, otherwise, in step S2811 indices of KPTAction and the associated KPTDocument is determined from Knowledge Base in step S2811 and SaveFileContents( ) is executed as explained in FIG. 30, in step S2812. The KPTAction and KPTPerson are updated in the Knowledge Base in step S2808 and the process returns.

[0097]FIG. 29 is a flowchart of the procedural steps of WebFetch in step S2803 of this embodiment. In step S2901, HTML document obtained from the browser is opened. In step S2902, next tag is got. In step S2903, a check is made to determine if the end of file has been reached. If so the process returns. If not, a check is made to determine if the tag is for an embedded image, frame etc. in step S2904. If so, step S2905 is executed. If not, a check is made in step S2909 to determine if PagePLUS is true and the Tag type is of LINK. If not the process returns back to step S2902 to fetch the next tag. Otherwise, step S2905 is executed in which a check is made to see if the contents i.e., embedded images etc. already exist in our knowledge base and they are up to date in step S2905. If so, the HTML tag is edited in step S2906 to change the absolute or original path to the local path of the system where the file exists and process returns to step S2902. If not, a check is made to determine if the file to be fetched is a local file in step S2910. If so, the file contents are just copied, using a simple file copy command in step S2911, otherwise the contents are downloaded from the internet in step S2907. In either case step S2908 is executed, wherein the knowledge base is modified to update the information downloaded etc. and process returns to step S2902 to fetch the next tag in the HTML document. The process continues till end of file is reached at which instant the process returns.

[0098]FIG. 30 is a flowchart of the procedural steps of steps S2810, S2812 SaveFileContents( ) of this embodiment. A check is made in step S3001 to determine if the contents to be saved is SaveLink only. If so, the process continues to step S3006. In step S3002, a folder F1 with the name based on the KPTDocument's name, which is a Globally unique identifier (GUID) is created, which ensures that the folder to be created is unique within and across the local system. In step S3003, a file called KPTIndex is created in the folder created in previous step. The actual page contents i.e., HTML text are saved to the file created in the previous step. The fully qualified file name i.e., the folder name and the file name are stored as the physical URL location of the KPTDocument. In step S3006, FillKPTAction( ) is executed which is explained in detail in FIG. 31 and the other required indices are determined by referring to the knowledge base in step S3007 and the process returns.

[0099]FIG. 31 is a flowchart of the procedural steps of S3006, FillKPTAction( ) of this embodiment. In step S3101, the contents of ‘URL’ are set to ‘LogicalURL’ field of KPTDocument. In step S3102, the contents of ‘keyword’ are set to ‘Keyword’ field of KPTDocument. In step S3103, the time and date are set to ‘WhenDone’ field of KPTAction. In step S3104, the ‘Validity’ is set to ‘WhenToDo’ field of KPTAction and in step S3105, ‘Page title’ is set to ‘Title’ of KPTDocument and process returns.

[0100] Thus, when the user just clicks on Save Page or Save link, this embodiment does not ask the user for file name or destination folder location and the actual process of saving the information in a one-touch operation. Also the same information be it a page or link can be stored multiple times i.e., store the contents of the same link as many times as the user wishes, without ever specifying the filename, and still be able to retrieve them easily. This is especially useful, for users to keep track of the changes in the contents of the same web page.

[0101]FIG. 32 is a flowchart of the procedural steps of TERMINATE of step S403 of this embodiment. In step S3201, the UI on display are closed. In step S3202, all the current sessions are ended. In step S3203, Knowledge base is updated. A check is made in step S3204 to determine if browser needs to be ended or terminated. If so, the browser will be terminated in step S3205 and the process ends.

[0102]FIG. 33 shows an example of the knowledge structures in the knowledge base. (a), (b), (c) are the knowledge structure definitions for KPTConcept, KPTPerson and KPTDocument respectively.

[0103]FIG. 34 shows an example of the knowledge structures in the knowledge base. (a), (b) are the knowledge structure definitions for KPTAction and KPTContent respectively.

[0104]FIG. 35 shows an example content of the knowledge base. (a), (b) are the contents of the knowledge base for KPTDocument and KPTAction respectively.

[0105]FIG. 36 shows an example content of the knowledge base. (a), (b) are the contents of the knowledge base for KPTPerson and KPTContent respectively.

[0106]FIG. 37 shows an example content of the Domain knowledge base.

[0107]FIG. 38 shows example rules for determining the organization indices for a UL. As can be seen from the figure, the parameter, protocol, obvious address, page information is first removed from the URL. By referring to the Domain Knowledge base, whose example is shown in FIG. 37, the domain part of the URL is removed. The remaining URL is then processed to obtain the Organization indices as shown.

[0108]FIG. 39 shows example rules for determining the domain indices for a URL. As can be seen from the figure, the parameter, protocol, obvious address, page information is first removed from the URL. By referring to the Domain Knowledge base, whose example is shown in FIG. 37, the domain part of the URL is obtained.

[0109]FIG. 40 shows an example User Interface of this embodiment. The keywords obtained in step S612—Saora, Web Information Manager etc. are displayed in the UI as shown in step S618.

[0110] After browsing on the Internet, it often happens that one would like not only to revisit the pages one had seen earlier but also view the associated links in the same order one had previously visited during that session. This embodiment facilitates this type of tracking. When the user feels that he might need to keep track of the pages they are browsing in the current session, they can just use the Save Link, to save only the URL(s) or links. Later, by using the Show Sessions functionality as explained in FIG. 9, they will be able to view, revisit or replay the links in the order they had visited them earlier. Thus by just clicking on the links they will be able to recreate the previously browsed session.

[0111] If the Save Page option is used instead of Save Link, they will be able to track or recreate the session offline i.e., without connecting to the Internet to fetch the pages again or worry about broken links or Page not found errors.

[0112]FIG. 41 shows an example HTML text obtained from the browser. In step S621, the system obtains the HTML text like shown in this figure and in steps S2904 to S2908, downloads the embedded files, which happens to be image files with ‘.gif’ extension for the example HTML file shown.

[0113]FIG. 42 shows example modified HTML text. The original HTML text obtained from the browser, shown in FIG. 41 is modified by the system in step S2906 and the resultant HTML text is shown in this figure. As can be seen from this figure, the embedded links are modified to reflect the path where the system stores the embedded contents.

[0114]FIG. 43 shows an example User Interface of this embodiment when a page already stored is retrieved. As can be seen from the figure, being a Retrieved URL, the RetrieveUI message is obtained in step S617 and displayed in S618.

[0115] As can be seen from this figure, the saved web pages can be retrieved WYSIWYG (what you see is what you get) including embedded images, frames etc . . . which allows for offline browsing, thus eliminating the need to be connected to the Internet. This embodiment enables the user, when short of time to keep the web information and view it at leisure offline. The stored contents can be viewed offline using Show Sessions or Get All Links, allowing them to carry it on their mobile computer, thus eliminating the printouts for out-of-office or home reading.

[0116]FIG. 44 shows an example User Interface of Session UI. In step S904, for each session the KPTAction is sorted by Time and the result is as shown in this figure.

[0117]FIG. 45 shows an example User Interface of Get All Links UI. In step S1505, the links are sorted by Organization and the resultant UI displayed in step S1509 is as shown. As can be seen from the figure, if a content has subdomains i.e., sales.saora.com then it will appear in multiple places below each of the organization nodes i.e., sales, Saora etc . . .

[0118]FIG. 46 shows an example User Interface of Get All Links UI. In step S1507, the links are sorted by Domains and the resultant UI displayed in step S1509 is as shown.

[0119]FIG. 47 shows an example User Interface of Get All Links UI. In step S1508, the links are sorted by Keywords and the resultant UI displayed in step S1509 is as shown. As can be seen from the figure, if a content has multiple keywords then it will appear in multiple places below each of the keyword nodes.

[0120]FIG. 48 shows an example Retrieve or Find UI, which is displayed in step S710.

[0121]FIG. 49 shows an example Properties or Attributes UI of an entry selected in FIG. 48.

[0122]FIG. 50 shows an example Manage or Delete Pages or Links UI, which is displayed in step S712.

[0123] FIGS. 50 to 53 show some examples of User Settings UI, displayed in step S714 of this embodiment.

[0124] The present invention described above may be applied to a system constituted of a plurality of computers, or a specific computer within a system. the object of the present invention can also be achieved by supplying a storage medium storing program codes of software for implementing the function of the above embodiment to a system or an apparatus, and reading out and executing the program codes stored in the storage medium by a computer (or a CPU or MPU) of the system or apparatus. In this case, the program codes read out from the storage medium implement the function of the present invention, and the storage medium storing these program codes constitutes the invention. Also, besides the function of the above embodiment is implemented by executing the readout program codes by the computer, the present invention includes a case where an OS (Operating System) or the like running on the computer performs a part or the whole of actual processing in accordance with designations by the program codes and thereby implements the function of the above embodiment.

[0125] Furthermore, the present invention also includes a case where, after the program codes read out from the storage medium are written in a memory of a function extension board inserted into the computer or of a function extension unit connected to the computer, a CPU or the like of the function extension board or function extension unit performs a part or the whole of actual processing in accordance with designations by the program codes and thereby implements the function of the above embodiment.

[0126] Although the present invention has been described in its preferred form with a certain degree of particularity, many apparently widely different embodiments of the invention can be made without departing from the spirit and scope thereof. It is to be understood that the invention is not limited to the specific embodiments thereof except as defined in the appended claims.

Patent Citations
Cited PatentFiling datePublication dateApplicantTitle
US4633393 *Oct 21, 1983Dec 30, 1986Storage Technology Partners IiGeneric key for indexing and searching user data in a digital information storage and retrieval device
US5371844 *Mar 20, 1992Dec 6, 1994International Business Machines CorporationPalette manager in a graphical user interface computer system
US5497491 *Jan 26, 1993Mar 5, 1996International Business Machines CorporationSystem and method for importing and exporting data between an object oriented computing environment and an external computing environment
US5678041 *Aug 25, 1995Oct 14, 1997At&TSystem and method for restricting user access rights on the internet based on rating information stored in a relational database
US5734119 *Dec 19, 1996Mar 31, 1998Invision Interactive, Inc.Method for streaming transmission of compressed music
US5784058 *May 28, 1996Jul 21, 1998Sun Microsystems, Inc.User-controllable persistent browser display pages
US5796952 *Mar 21, 1997Aug 18, 1998Dot Com Development, Inc.Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US5809242 *Apr 19, 1996Sep 15, 1998Juno Online Services, L.P.Electronic mail system for displaying advertisement at local computer received from remote system while the local computer is off-line the remote system
US5828374 *Mar 14, 1997Oct 27, 1998Apple Computer, Inc.Method and apparatus for selecting characters along a scroll bar with a slider
US5835712 *May 3, 1996Nov 10, 1998Webmate Technologies, Inc.Client-server system using embedded hypertext tags for application and database development
US5848410 *Oct 8, 1997Dec 8, 1998Hewlett Packard CompanySystem and method for selective and continuous index generation
US5892908 *Sep 10, 1996Apr 6, 1999MarketscapeMethod of extracting network information
US5900005 *Jan 23, 1997May 4, 1999Techcraft Co., Ltd.System for extraction of text strings from on-screen computer window displays using the computer operating system in lieu of a clipboard
US5913214 *Aug 8, 1996Jun 15, 1999Massachusetts Inst TechnologyData extraction from world wide web pages
US5933811 *Aug 20, 1996Aug 3, 1999Paul D. AnglesSystem and method for delivering customized advertisements within interactive communication systems
US5933827 *Sep 25, 1996Aug 3, 1999International Business Machines CorporationSystem for identifying new web pages of interest to a user
US5937163 *Mar 26, 1996Aug 10, 1999Industrial Technology Research InstituteMethod and system at a host node for hierarchically organizing the links visited by a world wide web browser executing at the host node
US5948061 *Oct 29, 1996Sep 7, 1999Double Click, Inc.Method of delivery, targeting, and measuring advertising over networks
US5959621 *Dec 6, 1996Sep 28, 1999Microsoft CorporationSystem and method for displaying data items in a ticker display pane on a client computer
US5963965 *Feb 18, 1997Oct 5, 1999Semio CorporationText processing and retrieval system and method
US5974409 *Aug 23, 1995Oct 26, 1999Microsoft CorporationSystem and method for locating information in an on-line network
US5974455 *Dec 13, 1995Oct 26, 1999Digital Equipment CorporationSystem for adding new entry to web page table upon receiving web page including link to another web page not having corresponding entry in web page table
US6012053 *Jun 23, 1997Jan 4, 2000Lycos, Inc.Computer system with user-controlled relevance ranking of search results
US6067541 *Sep 17, 1997May 23, 2000Microsoft CorporationMonitoring document changes in a file system of documents with the document change information stored in a persistent log
US6067552 *Mar 30, 1998May 23, 2000Cnet, Inc.User interface system and method for browsing a hypertext database
US6070159 *Dec 5, 1997May 30, 2000Authentec, Inc.Method and apparatus for expandable biometric searching
US6073135 *Mar 10, 1998Jun 6, 2000Alta Vista CompanyConnectivity server for locating linkage information between Web pages
US6078866 *Sep 14, 1998Jun 20, 2000Searchup, Inc.Internet site searching and listing service based on monetary ranking of site listings
US6081829 *Jan 31, 1996Jun 27, 2000Silicon Graphics, Inc.General purpose web annotations without modifying browser
US6094657 *Oct 1, 1997Jul 25, 2000International Business Machines CorporationApparatus and method for dynamic meta-tagging of compound documents
US6100890 *Nov 25, 1997Aug 8, 2000International Business Machines CorporationAutomatic bookmarks
US6112193 *May 22, 1998Aug 29, 2000Pitney Bowes Inc.Reading encrypted data on a mail piece to cancel the mail piece
US6119133 *Apr 16, 1998Sep 12, 2000International Business Machines CorporationExtensible method and apparatus for retrieving files having unique record identifiers as file names during program execution
US6151624 *Feb 3, 1998Nov 21, 2000Realnames CorporationNavigating network resources based on metadata
US6182063 *Mar 31, 1997Jan 30, 2001Sun Microsystems, Inc.Method and apparatus for cascaded indexing and retrieval
US6189018 *Aug 3, 1999Feb 13, 2001Apple Computer, Inc.Method and apparatus for implementing universal resource locator menus
US6209036 *Jun 6, 1997Mar 27, 2001International Business Machines CorporationManagement of and access to information and other material via the world wide web in an LDAP environment
US6269361 *May 28, 1999Jul 31, 2001Goto.ComSystem and method for influencing a position on a search result list generated by a computer network search engine
US6292473 *Jun 8, 1998Sep 18, 2001Motient Services Inc.Mobile communications terminal for satellite communications system
US6338044 *Mar 17, 1999Jan 8, 2002Loudeye Technologies, Inc.Personal digital content system
US6345289 *Apr 28, 1999Feb 5, 2002International Business Machines CorporationIntermediate system transmitting relevant selections based on permutation function applied consumer/information signature vectors for privacy
US6351745 *Feb 26, 1997Feb 26, 2002Netzero, Inc.Communication system for distributing such message as advertisement to user of terminal equipment
US6366956 *Jan 29, 1997Apr 2, 2002Microsoft CorporationRelevance access of Internet information services
US6370527 *Dec 29, 1998Apr 9, 2002At&T Corp.Method and apparatus for searching distributed networks using a plurality of search devices
US6415319 *Feb 7, 1997Jul 2, 2002Sun Microsystems, Inc.Intelligent network browser using incremental conceptual indexer
US6457060 *Apr 30, 1998Sep 24, 2002Openwave Systems Inc.Method and apparatus for flexibly linking to remotely located content on a network server through use of aliases
US6470381 *Jul 16, 2001Oct 22, 2002Access Co., Ltd.Wireless communication device with markup language based man-machine interface
US6484149 *Oct 10, 1997Nov 19, 2002Microsoft CorporationSystems and methods for viewing product information, and methods for generating web pages
US6505196 *Aug 14, 2001Jan 7, 2003Clinical Focus, Inc.Method and apparatus for improving access to literature
US6505238 *Aug 19, 1999Jan 7, 2003International Business Machines CorporationMethod and system for implementing universal login via web browser
US6507855 *Jun 25, 1998Jan 14, 2003Cisco Technology, Inc.Method and apparatus for extracting data from files
US6516312 *Apr 4, 2000Feb 4, 2003International Business Machine CorporationSystem and method for dynamically associating keywords with domain-specific search engine queries
US6516338 *Jul 13, 1999Feb 4, 2003The Macmanus Group, Inc.Apparatus and accompanying methods for implementing network servers for use in providing interstitial web advertisements to a client computer
US6567800 *Oct 1, 1998May 20, 2003At&T Corp.System and method for searching information stored on a network
US6571295 *Jul 19, 1999May 27, 2003Microsoft CorporationWeb page annotating and processing
US6578078 *Apr 2, 1999Jun 10, 2003Microsoft CorporationMethod for preserving referential integrity within web sites
US6594682 *Oct 28, 1997Jul 15, 2003Microsoft CorporationClient-side system for scheduling delivery of web content and locally managing the web content
US6598017 *Jul 20, 1999Jul 22, 2003Canon Kabushiki KaishaMethod and apparatus for recognizing speech information based on prediction
US6651090 *Mar 10, 2000Nov 18, 2003Sony CorporationInformation processing apparatus, information processing method, and transmitting medium
US6654749 *May 12, 2000Nov 25, 2003Choice Media, Inc.Method and system for searching indexed information databases with automatic user registration via a communication network
US6697838 *May 3, 2000Feb 24, 2004Software Leader, LlcMethod and system for annotating information resources in connection with browsing, in both connected and disconnected states
US6704741 *Nov 2, 2000Mar 9, 2004The Psychological CorporationTest item creation and manipulation system and method
US6718365 *Apr 13, 2000Apr 6, 2004International Business Machines CorporationMethod, system, and program for ordering search results using an importance weighting
US6721736 *Nov 15, 2000Apr 13, 2004Hewlett-Packard Development Company, L.P.Methods, computer system, and computer program product for configuring a meta search engine
US6732142 *Jan 25, 2000May 4, 2004International Business Machines CorporationMethod and apparatus for audible presentation of web page content
US6744447 *Dec 29, 2000Jun 1, 2004International Business Machines CorporationMethod and system for compiling and using placebot agents for automatically accessing, processing, and managing the data in a place
US6769019 *Dec 10, 1997Jul 27, 2004Xavier FergusonMethod of background downloading of information from a computer network
US6778194 *Oct 9, 2001Aug 17, 2004International Business Machines CorporationMethod, apparatus and computer program product for eliminating unnecessary dialog box pop-ups
US6816880 *Mar 26, 1998Nov 9, 2004Concerto Software, Inc.Browser user inter face for client workstation
US6928615 *Jul 7, 1999Aug 9, 2005Netzero, Inc.Independent internet client object with ad display capabilities
US6961752 *Feb 15, 2001Nov 1, 2005International Business Machines CorporationVirtual history files
US6961905 *Jun 23, 2000Nov 1, 2005Microsoft CorporationMethod and system for modifying an image on a web page
US7013289 *Feb 21, 2001Mar 14, 2006Michel HornGlobal electronic commerce system
US20010007097 *Dec 27, 2000Jul 5, 2001Yong-Nam KimSystem and method for recording internet advertisement access history
US20010011270 *Oct 28, 1998Aug 2, 2001Martin W. HimmelsteinMethod and apparatus of expanding web searching capabilities
US20010018685 *Feb 20, 2001Aug 30, 2001Sony CorporationInformation processing apparatus and method and program storage medium
US20010020242 *Nov 16, 1998Sep 6, 2001Amit GuptaMethod and apparatus for processing client information
US20010032122 *Dec 7, 2000Oct 18, 2001Hankla James KirkJust-in-time advertising system
US20010037377 *Feb 21, 2001Nov 1, 2001Yumiko NakanoInformation searching apparatus and method
US20020002552 *Jun 29, 2001Jan 3, 2002Schultz Troy L.Method and apparatus for a GIS based search engine utilizing real time advertising
US20020002588 *Feb 6, 2001Jan 3, 2002Yoshio SugimotoDevice for reading electronic mails
US20020013725 *May 24, 2001Jan 31, 2002Tetsuo TakakuraMethod of and system for advertising, and computer product
US20020019837 *May 1, 2001Feb 14, 2002Balnaves James A.Method for annotating statistics onto hypertext documents
US20020023002 *Jul 25, 2001Feb 21, 2002Phillip StaehelinSystem and method for offline advertising
US20020059398 *Nov 14, 2001May 16, 2002Moriaki ShimabukuroVoice banner advertisement system and voice banner advertisement method
US20020065800 *Nov 30, 2000May 30, 2002Morlitz David M.HTTP archive file
US20020065857 *Aug 3, 2001May 30, 2002Zbigniew MichalewiczSystem and method for analysis and clustering of documents for search engine
US20020069105 *Dec 1, 2000Jun 6, 2002Do Rosario Botelho Alfredo Agnelo Judas SebastiaoData processing system for targeted content
US20020075321 *Oct 22, 2001Jun 20, 2002Nobuyoshi SakataniInformation delivery system, advertisement delivery system, information delivery program, server, information delivery server, advertisement information delivery method and saver page display method
US20020077899 *Feb 26, 2001Jun 20, 2002Hiroshi KanekoContent download system
US20020078197 *Aug 24, 2001Jun 20, 2002Suda Aruna RohraSystem and method for saving and managing browsed data
US20020147775 *Apr 5, 2002Oct 10, 2002Suda Aruna RohraSystem and method for displaying information provided by a provider
US20020163663 *Oct 27, 1998Nov 7, 2002Aruna Rohra SudaInformation processing apparatus and method for processing read image data
US20030084096 *May 16, 2002May 1, 2003Bryan StarbuckComputer system with file association and application retrieval
US20030131106 *Apr 22, 2002Jul 10, 2003Stephane KasrielWeb-page performance toolbar
US20030132958 *Jan 16, 2002Jul 17, 2003International Business Machines CorporationMethod for managing browser display
US20030160994 *Apr 13, 1999Aug 28, 2003Cary Lee BatesMethod and computer program product for implementing web based document printing
US20040059630 *Jan 11, 2001Mar 25, 2004Takamaro ToyookaMethod for offering advertisement service
US20060036609 *Aug 10, 2005Feb 16, 2006Saora Kabushiki KaishaMethod and apparatus for processing data acquired via internet
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US7096423 *May 31, 2002Aug 22, 2006Adobe Systems IncorporatedLayout-based page capture
US7120641Apr 5, 2002Oct 10, 2006Saora Kabushiki KaishaApparatus and method for extracting data
US7822735 *May 25, 2001Oct 26, 2010Saora Kabushiki KaishaSystem and method for saving browsed data
US8775928Aug 1, 2006Jul 8, 2014Adobe Systems IncorporatedLayout-based page capture
US20020078197 *Aug 24, 2001Jun 20, 2002Suda Aruna RohraSystem and method for saving and managing browsed data
US20020147775 *Apr 5, 2002Oct 10, 2002Suda Aruna RohraSystem and method for displaying information provided by a provider
US20040179035 *Mar 13, 2003Sep 16, 2004International Business Machines CorporationGroup administration of universal resource identifiers with asynchronous playback
US20040181515 *Mar 13, 2003Sep 16, 2004International Business Machines CorporationGroup administration of universal resource identifiers with members identified in search result
US20110314044 *Jun 18, 2010Dec 22, 2011Microsoft CorporationFlexible content organization and retrieval
Classifications
U.S. Classification709/224, 707/E17.107, 709/203, 715/738
International ClassificationG06F17/30
Cooperative ClassificationG06F17/30861
European ClassificationG06F17/30W
Legal Events
DateCodeEventDescription
Oct 28, 2004ASAssignment
Owner name: SAROA KABUSHIKI KAISHA, JAPAN
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SUDA, ARUNA ROHRA;JEYACHANDRAN, SURESH;JOSEPH, PREM ANAND;REEL/FRAME:015935/0756;SIGNING DATES FROM 20040915 TO 20041005
Jun 29, 2007ASAssignment