US20040162891A1 - Accessing, viewing and manipulation of archived information - Google Patents

Accessing, viewing and manipulation of archived information Download PDF

Info

Publication number
US20040162891A1
US20040162891A1 US10/781,495 US78149504A US2004162891A1 US 20040162891 A1 US20040162891 A1 US 20040162891A1 US 78149504 A US78149504 A US 78149504A US 2004162891 A1 US2004162891 A1 US 2004162891A1
Authority
US
United States
Prior art keywords
data objects
modifiable
references
computer
reference list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/781,495
Inventor
Will Volnak
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Copernican Tech Inc
Original Assignee
Copernican Tech Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Copernican Tech Inc filed Critical Copernican Tech Inc
Priority to US10/781,495 priority Critical patent/US20040162891A1/en
Publication of US20040162891A1 publication Critical patent/US20040162891A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database

Definitions

  • the present invention relates generally to computer systems and, in particular, to accessing, viewing and manipulating archived information in a computer system.
  • a database is a collection of data arranged according to a predefined structure.
  • a telephone book is a classic example of a database containing a listing of telephone service subscribers, their respective telephone numbers and, optionally, their addresses.
  • the data stored in such a database is organized in a structure 100 having three fields: a subscriber name field 110 , a subscriber telephone number field 120 and a subscriber address field 130 , as shown in FIG. 1A.
  • Records 150 are copies of structure 100 that contain information specific to individual telephone subscribers. Multiple records 150 are stored in database 140 , as shown in FIG. 1B.
  • Database management systems typically provide means for searching the database to retrieve a portion of the records stored in the database that satisfy certain search parameters. These searches are generally referred to as queries. Using the telephone book database of FIG. 1B as an example, one could search for all records in which the telephone subscriber has a certain address, or for all records in which the user has a certain name or, or for all records in which the user has a certain name and a certain address.
  • database management systems do not allow users to manipulate the results of the queries, although some database management systems allow users to sort the order in which the records returned by a query are displayed. Other systems allow users to combine multiple search parameters in a single query; however, this approach still requires a new search to be performed. Accordingly, there is a need for a computer information system that allows results of searches to be manipulated and stored for future use, without requiring a new search to be performed.
  • World Wide Web allows user to retrieve information stored on different host computers connected to a global network (e.g., the Internet).
  • the World Wide Web is described on pages 681-723 of “Computer Networks” by Andrew S. Tanenbaum (Englewood Cliffs, N.J.: Prentice-Hall, Inc. 3rd ed. 1996), which are herein incorporated by reference in their entirety.
  • the information stored on the World Wide Web for example, is organized in a plurality of web pages. Each web page contains information in different formats, including multimedia. In addition, each web page may contain “links” to a other web pages.
  • a user typically accesses the web pages through a web browser (i.e., a program executed by a computer connected to a global network that is able to retrieve and display data organized in web pages) by specifying an http address of a given web page.
  • a user can then access other web pages either by specifying their http address or by “following a link” (i.e., clicking a hypertext field on a web page currently displayed by the web browser). This process is generally referred to as “navigating” or “surfing” the World Wide Web.
  • the present invention provides a method and apparatus for accessing, viewing and manipulating data stored in a computer system. This is achieved by selecting one or more of the non-modifiable data objects stored in a computer system, creating references to the selected data objects and adding the references to a reference list. The reference list is then manipulated to allow a user to add to, remove from or search the references in the reference list.
  • the invention provides a method and apparatus for accessing, viewing and manipulating data stored in a computer system in which different operations are performed by different computers connected to a computer network. This is particularly advantageous for Internet related applications in which data objects are stored on a server computer and searched by client computers connected to the server computer over the Internet. A reference list is stored on the client computers and can be directly manipulated by the user without a need for further interaction with the server computer.
  • FIG. 1A illustrates the structure of a record of a prior art telephone book database.
  • FIG. 1B shows a prior art telephone book database having a plurality of records.
  • FIG. 2 is a flow diagram of a data manipulation operation, according to an embodiment of the invention.
  • FIG. 3 illustrates the relationships among a library, an archive and several notebooks, according to an embodiment of the invention.
  • FIG. 4A is a flow diagram of a notebook manipulation operation, according to an embodiment of the invention.
  • FIG. 4B is a flow diagram of a standalone library creation operation, according to an embodiment of the invention.
  • FIG. 4C is a flow diagram of a notebook manipulation operation, according to an embodiment of the invention.
  • FIG. 4D is a flow diagram of a notebook entry duplication operation, according to an embodiment of the invention.
  • FIG. 5A shows the menu structure of a software application program, according to an embodiment of the invention.
  • FIGS. 5 B- 5 D illustrate several views of a journal window of the software application program, according to an embodiment of the invention.
  • FIG. 6A illustrates a journal layout of a notebook window of a software application program, according to an embodiment of the present invention.
  • FIG. 6B illustrates a browser layout of a notebook window of a software application program, according to an embodiment of the present invention.
  • FIG. 7 illustrates a browser window of a software application program, according to an embodiment of the invention.
  • FIG. 8A illustrates a cockpit window of a software application program, according to an embodiment of the invention.
  • FIG. 8B illustrates a clue editing window of a software application program, according to an embodiment of the invention.
  • FIG. 8C illustrates a put window of a software application program, according to an embodiment of the invention.
  • FIG. 9A illustrates computers connected to a local area network, according to an embodiment of the invention.
  • FIG. 9B illustrates computers connected to a wide area network, according to an embodiment of the invention.
  • FIG. 9C illustrates computers connected to a global network, according to an embodiment of the invention.
  • FIG. 10A shows a window of a software application program that allows a user to access data entries stored in a standalone library.
  • FIG. 10B shows a window of a software application program that allows a user to access data entries stored in a standalone library over a global network.
  • FIG. 11 shows a window of a software application program that allows references to data entries to be accessed over a global network, according to an embodiment of the invention.
  • FIG. 12A illustrates the elements of a reference to a data object.
  • FIG. 12B illustrates specific values of the elements of a reference to a data object.
  • FIG. 12C illustrates the values of the elements of a reference to a data object in the special case of a data object that is not referenced in any notebook.
  • a method and apparatus are provided for accessing, viewing and manipulating a wide variety of data objects stored in a computer system. Unlike in a database management system, data objects stored in the computer system can be searched or selected and the results of the search/selection can be freely manipulated. In addition, since the data objects are non-modifiable, the chronology of the data objects is preserved automatically and the task of maintaining references to the data objects is greatly simplified.
  • the non-modifiable data objects are first created as modifiable data objects, edited and then converted into non-modifiable data objects.
  • the modifiable data objects can be created using any suitable technique known in the art including, but not limited to, importing data objects from an external file, generating data objects in a word processing, graphics or paint program or “copying and pasting” data objects from another application program via a “copy and paste” facility provided by an operating system. As those skilled in the art are familiar with these techniques, they are not further discussed herein.
  • stage 210 determines whether a search is being performed on a set of non-modifiable data objects stored on the computer system, in which case operation 200 proceeds to parameter search stage 220 . Otherwise the operation proceeds to stage 260 .
  • Each non-modifiable data object has content data, a unique identifier and meta information used in the search.
  • the content data can be text, image, video, audio, multimedia or any combination thereof.
  • the non-modifiable data objects are implemented in HTML.
  • the search parameters are specified by a user of the computer system, although those skilled in the art realize that the search parameters could also be supplied by an application program executed by the computer system.
  • the search parameters may include the author of the source data object, a range of creation dates of the data objects, specific text data contained in the data objects, whether the data object is already referenced in some other list of references to data objects, etc.
  • Stage 230 determines if any data objects satisfy the search parameters, in which case a reference to each of the matching data objects is created in stage 240 . Otherwise operation 200 terminates.
  • Stage 260 determines whether data objects are being selected, in which case operation 200 proceeds to stage 270 . Otherwise, operation 200 terminates.
  • stage 270 one or more references to data objects are selected by a user and operation 200 proceeds to stage 280 .
  • Stage 280 determines whether any of the reference are to be manipulated, in which case operation 200 proceeds to stage 250 . Otherwise operation 200 terminates.
  • Any references to the matching data objects are manipulated in stage 250 .
  • a list of references to the matching data objects is displayed in a window of a software application program executed by the computer system.
  • a user may then add or delete references from the list, perform a new search on the references contained in the list or sort the references in a particular order.
  • Individual data objects, as well as information about the data objects can be displayed in the same window as the list of references either by scrolling through the references or by clicking on a particular reference in the reference list, as shown in FIGS. 6A, 6B and 7 .
  • FIG. 3 A computer system according to an embodiment of the invention is illustrated in FIG. 3.
  • a library 300 includes a journal 310 , archives 320 and notebooks 330 , 340 and 350 .
  • Journal 310 has a plurality of journal entries 350 , 360 , 370 and 380 .
  • Journal entries 350 , 360 , 370 and 380 are data objects, according to an embodiment of the invention.
  • the body of a journal entry can be created by any suitable technique known in the art. For example, text journal entries can be created by a word processing program executed by the computer system, image data entries can be created by a drawing program executed by the computer system, etc. Alternatively, journal entries can be created by inputting them directly into the computer system.
  • a text entry can be created by typing into a text pane of the computer system.
  • An image data entry can be created by copying the image into a window pane of the computer system using the “cut and paste” function of an operating system such as the MACOS operating system.
  • Journal entries are typically fluid, in the sense that they can be modified at any time (e.g., by a user of the computer system). While journal entries are in a fluid state, they can only be accessed through the journal. Thus, adding entries to a journal is similar to a user having his/her own private electronic diary. Journal entries can be made available to other components of the system by storing them into archives 320 . This process is referred to herein as “freezing” a journal entry. Once a journal entry is stored in archives 320 , it becomes “frozen” and can no longer be modified. Thus, journal entries 360 , 370 , 380 and 390 are stored in archives 320 as frozen entries 365 , 375 , 385 and 395 , respectively.
  • references to frozen entries 365 , 375 , 385 and 395 can be combined in notebooks 330 , 340 and 350 . These references are referred to as notebook entries.
  • a notebook is simply a collection of references to frozen entries stored in archives 320 . Only one reference to an entry is allowed in each notebook, even though two separate notebooks can each contain references to the same entry.
  • notebook A 330 contains references to frozen entries 365 and 375
  • notebook B 340 contains references to frozen entries 365 , 385 and 395
  • notebook C 350 contains references to frozen entries 385 and 395 .
  • FIGS. 4 A- 4 C are flow diagrams of operations performed on the system of FIG. 3.
  • FIG. 4A describes data object manipulation operation 400 , according to an embodiment of the invention.
  • Journal entries 360 , 370 , 380 and 390 (FIG. 3) are first created in stage 405 and then stored in archives 320 as frozen entries 365 , 375 , 385 and 395 , in stage 408 .
  • Frozen entries 365 , 375 , 385 and 395 are then selected by a user for inclusion in a notebook (e.g., notebook A 330 ), in stage 410 .
  • a reference to the selected entries is created and added to the notebook.
  • references are added to and/or removed from the notebook by a user, in stage 420 .
  • FIG. 4B describes a standalone library creation operation 430 , according to a further embodiment of the invention.
  • Stages 435 , 437 , 440 , 445 and 447 are analogous to stages 405 , 408 , 410 , 415 and 420 of the operation of FIG. 4A.
  • stage 450 one or more notebooks are selected by the user for publication and, in stage 455 , the selected notebooks and the corresponding entries in archives 320 are “published” by replicating the notebooks and the entries and storing the resulting copies as a non-modifiable collection of data objects and associated references in the computer system.
  • the published library is referred to as a standalone library and the notebook entries contained in the standalone library cannot be modified.
  • the standalone library does not provide a journal for adding entries to the archives. New entries cannot be added to the notebooks of the standalone library and existing notebooks cannot be modified.
  • FIG. 4C describes a data object manipulation operation 460 , according to a further embodiment of the invention.
  • Stage 465 is analogous to stage 405 in FIG. 4A.
  • stage 470 the frozen entries are searched according to a set of search parameters.
  • Stage 475 determines whether any of the frozen entries satisfies the search parameters, in which case the operation proceeds to stage 480 . Otherwise, the operation proceeds to stage 485 .
  • stage 480 references to the frozen entries satisfying the search parameters are created and, combined with the entries already stored in the notebook (e.g., if a reference to the frozen entry does not already appear in the notebook, a new notebook entry is added referencing the frozen entry).
  • stage 485 notebook entries are added to or removed from the notebook by a user.
  • FIG. 4D illustrates a notebook entry duplication operation 490 , according to an embodiment of the invention.
  • stage 487 first determines whether a search is being conducted, in which case operation 490 proceeds to stage 493 . Otherwise, stage 489 determines whether a selection is being performed, in which case operation 490 proceeds to stage 491 . Otherwise operation 490 terminates.
  • the source notebook entries are searched in stage 493 .
  • Stage 495 then determines if any source notebook entries satisfy the search parameters, in which case operation 490 proceeds to stage 497 . Otherwise operation 490 terminates.
  • stage 491 one or more source notebook entries are selected to be duplicated in one or more destination notebooks.
  • stage 497 the source notebook entries either selected in stage 491 or returned by a search in stage 493 are combined with the destination notebook entries (e.g., if a reference to the same data object is not already contained in the destination notebook, a new reference to the data object is created and added to the destination notebook) and operation 490 terminates.
  • FIGS. 5 A- 5 E, 6 A- 6 B and 7 - 8 A software application program in accordance to an embodiment of the invention and executed by a general purpose computer running under the MACOS operating system is now described in reference to FIGS. 5 A- 5 E, 6 A- 6 B and 7 - 8 .
  • FIG. 5A illustrates the menu structure of the software application program.
  • menubar 505 has several pulldown menus: file menu 515 , edit menu 525 , text menu 535 , manage menu 545 and notebook menu 547 , in addition to the standard Apple menu common to most MACOS application programs.
  • Each of the menus of menubar 505 provides access to one or more commands that can be performed by the software application program.
  • file menu 515 contains commands to create, open, close and save a library, importing a file or a notebook, exporting a notebook (e.g., saving the frozen entries referenced by the notebook into a file) and printing the data objects referenced by a notebook on a printer connected to the computer system.
  • file menu 515 provides access to standard MACOS operations to close the current active window, performing page setup for a document to be printed or quitting the current application program.
  • edit menu 525 provides access to standard formatting and editing commands supported by MACOS.
  • Text menu 535 provides access to commands that determine the appearance of text characters displayed by the software application program.
  • Manage menu 545 provides access to several commands to create a new entry or a new browser window (FIG. 7), open the cockpit window (FIG. 8A) or display a clues window (FIG. 8B).
  • notebook menu 547 provides access to commands to create, open, delete or rename a notebook, as well as to sort notebook entries.
  • FIGS. 5 B- 5 D illustrate a journal window 500 of the software program displayed on a screen of a monitor of the computer system.
  • Journal window 500 includes a window header 510 and one or more entry panes 520 .
  • Window header 510 includes a command menu 530 and a sort menu 550 .
  • Command menu 530 controls commands to be performed on the entire journal, such as removing entries from the journal (“zap”) and replicating entries in one or more notebooks (“put” and “zip”). Zip and put are both used to replicate entries in one or more notebooks, however, put requires that the destination notebooks be explicitly specified by the user.
  • Zip provides a facility (“sifting”) that allows users to automatically replicate notebook entries in a predetermined set of notebooks if a number of keywords (“clues”) associated with the set of notebooks are found in the entries being zipped. For example, a user can create a clue such as “project x” to distribute all entries regarding project x to all notebooks concerning project x. During a zip operation, entries are sifted for the term “project x” and those entries containing “project x” are automatically replicated in all notebooks specified in the project x clue.
  • Sort menu 550 controls the order in which the entry panes 520 are displayed in journal window 500 . Entry panes 520 may scroll up or down to display more entry panes 520 than can physically be displayed in journal window 500 at any one time. As those skilled in the art are familiar with scrolling window techniques, they are not further discussed herein.
  • Each entry pane 520 includes a format menu 555 , a entry command menu 560 , a title text field 565 , a tag text field 570 , a source text label 575 , a creation time label 580 , a comment field pane 585 and a body pane 590 .
  • Title text field 565 , tag text field 570 , source text label 575 , creation time label 580 , and comment pane 585 are all searchable and siftable and are thus referred to as meta-information.
  • Format menu 555 controls the display format of entry pane 520 .
  • Entry command menu 560 controls commands performed on the entry displayed in entry pane 520 .
  • Title text field 565 contains a user modifiable title identifying the entry.
  • Tag text field 570 contains a user modifiable tag field used to further identify the entry.
  • Tag text field 570 is the only field that can still be modified after the entry is frozen (e.g., in a notebook entry).
  • Source text label 575 is a non-modifiable text label identifying the source of the entry.
  • creation time label 580 is a text label indicating the creation time of the entry.
  • Comments pane 585 is a free form text field that allows the user creating the entry to describe the contents of body text pane 590 .
  • body pane 590 is a free form text field that is used to store the body of the entry.
  • body pane 590 is used to store data other than text.
  • body text pane 590 stores text data, image data, video data, audio data or any combination thereof.
  • All entries displayed in an entry pane 520 of journal window 500 are initially fluid.
  • a fluid entry is an entry that can be modified by the user and is, therefore, private to the journal (the entry cannot be referenced outside the journal, e.g., by a notebook)
  • a fluid entry that is stored in archives 320 becomes a frozen entry. Once an entry is frozen it can no longer be modified by the user, even though it may still appear in journal window 500 .
  • a journal entry can be removed from journal window 500 by issuing a “zap” command. The zap command can be issued from entry command menu 560 of entry pane 520 , from command menu 530 of journal widow 500 or from command menu 805 of cockpit window 800 .
  • FIGS. 6 A- 6 B illustrate a notebook window 600 .
  • notebook window 600 (FIG. 6A) comprises a window header 610 and one or more entry panes 620 A, 620 B, etc., one for each entry of the notebook displayed in notebook window 600 .
  • Window header 610 includes a command menu 630 , a total label 635 , a layout menu 640 and a sort menu 650 .
  • Command menu 630 controls commands to be performed on the entire notebook, such as removing entries from the notebook or replicating the entry into other notebooks.
  • Layout menu 640 controls the arrangement of entry panes 620 A, 620 B, etc. in notebook window 600 .
  • Sort menu 650 controls the order in which entry panes 620 A, 620 B, etc. are displayed in notebook window 600 . Entry panes 620 A, 620 B, etc. may scroll up or down within notebook window 600 in FIG. 6A. As those skilled in the art are familiar with scrolling window techniques, they are not further discussed herein.
  • Each entry pane 620 A, 620 B, etc. includes a command menu 660 , a notebook menu 645 , a title label 665 , a tag field 670 , a format menu 635 , a source label 675 , a creation time label 680 , a freezing time label 683 , a comment pane 685 and a body pane 690 .
  • Command menu 660 controls commands performed on the entry displayed in entry panes 620 A, 620 B, etc.
  • notebook menu 645 is activated, a list of notebooks containing the notebook entry displayed in entry pane 620 A is displayed. The user can then display one of these notebooks by simply selecting the notebook name from notebook menu 645 .
  • Title label 665 identifies the entry displayed in entry pane 620 A.
  • Tag field 670 contains a user modifiable tag used to identify the entry displayed in entry pane 620 A during searches and sorts.
  • Format menu 635 controls which format entry panes 620 A, 620 B, etc. are displayed in. Note that each of entry panes 620 A, 620 B, 620 C, 620 D and 620 E appears in a different format selected via format menu 635 .
  • Source label 675 is a non-modifiable text label identifying the source of the entry displayed in entry pane 620 A.
  • creation time label 680 is a text label indicating when the entry displayed in entry pane 620 A was created as a journal entry and freezing time label 683 is a text label indicating when the entry displayed in entry pane 620 A was frozen.
  • Comments pane 685 is a text field used to describe the contents of body pane 690 .
  • body pane 690 is a free form text field used to store the body of the entry displayed in entry pane 620 A.
  • body pane 690 is used to store data other than text.
  • body pane 690 stores text data, image data, video data, audio data or any combination thereof.
  • a notebook entry list pane 695 is displayed between window header 610 and entry pane 620 A. The user can then select any entry in notebook entry pane 695 for display in entry pane 620 A by double clicking on the corresponding line of notebook entry list pane 695 .
  • Notebook entries can be exported as text files. For example when an export menu command of command menu 660 is selected, the entry shown in entry pane 620 A is stored as a text file in a location specified by the user.
  • Those skilled in the art realize that a similar scheme can be devised to allow notebook entries to be imported from text files arranged in a predefined format. For example, text files could be imported as the body of a notebook entry. Alternatively, meta information could be extracted from formatted data at a predefined location within the file.
  • FIG. 7 illustrates a browser window 700 that can be used to display notebook entries.
  • Browser window 700 is similar to notebook window 600 in browser mode, except for the addition of a notebook list pane 710 and the elimination of layout menu 640 . The user can thus access individual notebooks by double clicking on a corresponding line of notebook list pane 710 .
  • Cockpit window 800 includes a command menu 805 , a source pane 810 , a destination pane 820 and a filter pane 830 .
  • Filter pane 830 includes a time box 850 , condition boxes 860 and 870 and a notebook list pane 840 .
  • Command menu 805 controls the commands performed on the entries stored in library 300 (FIG. 3).
  • Source pane 810 can be used to select specific notebooks for the command specified by command menu 805 .
  • Destination pane 820 specifies which notebooks the selected entries should be replicated to, if required by the command selected from command menu 805 .
  • Notebooks can be added to source pane 810 and destination pane 820 by dragging selected list items from notebook list pane 840 to source pane 810 or destination pane 820 or by pushing an “add” button.
  • Notebooks can be removed from source pane 810 and destination pane 820 by selecting a corresponding line of the scrolling lists displayed in source pane 810 and destination pane 820 and pushing the corresponding “delete” button.
  • filter pane 830 allows the user to specify parameters to be used to limit the number of entries selected via source pane 810 that are to be transferred to the notebooks specified via destination pane 820 , again, if required by the command selected from command menu 805 .
  • the operation specified via command menu 805 is triggered by pushing command button 880 , whose appearance is modified to reflect the type of command selected via command menu 805 .
  • the contents of frozen entries are indexed upon freezing. This is accomplished by creating an alphabetical list of the words contained in an entry being frozen and comparing the list to a master list of words contained in the entries already frozen in the library.
  • the master list contains separate lists for each word of references to frozen entries containing that word. When a word in the list for the entry being frozen is already contained in the master list, a reference to the entry is added to the reference list for that word in the master list. Otherwise, if the word is not already included in the master list, the word is added to the master list and a new reference list for that word is created having a reference to the entry being frozen.
  • indexing entries can be used in place of the one described above.
  • the invention Is not limited to any particular indexing scheme and other indexing schemes other than the one described herein can be used In accordance to the principles of the present invention. Since once entries are frozen they can no longer be modified, there is no need to re-index the entries every time an entry is modified. As a result, the overhead associated with indexing the entries is minimized, while still allowing for fast searching of the frozen entries stored in a library.
  • FIG. 8B illustrates a clues editing window 890 that is displayed in response to a user selecting the clues command from manage menu 545 (FIG. 5A).
  • Clue editing window 890 allows the user to add, delete or edit clues. Clues allow the user to associate one or more notebooks with a specific name or acronym (the “clue”).
  • the clue is used either in the header or in the body of a journal or notebook entry and a zip command is issued, the entry is sifted and automatically added to the notebooks associated with the clue.
  • the zip command is analogous to the put command, except that destination notebooks are not explicitly defined by means of put window 895 (FIG. 8C), but are determined according to the clues contained within the entry.
  • the user can use the zip command to distribute entries to notebooks associated with certain topics specified by the clues without having to explicitly select the notebooks.
  • Chores allow a user to specify a certain operation to be performed at fixed Intervals of time by the application program without requiring further user interaction. The user, of course, can cancel a chore when It is no longer needed.
  • FIG. 8C illustrates put window 895 that is displayed when the put command is selected from command menu 805 , or when a put command is selected using the command menu of a notebook or journal entry.
  • Put window 895 allows the user to specify which notebooks the selected entries are to be distributed to.
  • a notebook list pane 897 is provided which contains a listing of all available notebooks. Notebooks can be added or deleted from selected notebook list 899 by pushing add button 892 or delete button 893 . The put command is triggered by pushing put button 896 .
  • journal entries are created on a first client computer connected to a network, selected journal entries are added to the archive on the first computer, stored in the archives of a group library stored on a server computer connected to the network, and forwarded to the archives of a second client computer also connected to the network.
  • FIGS. 9 A- 9 C illustrate these operations when the computers are connected to a local area network, a wide area network and a global area network, respectively.
  • general purpose computers 900 , 910 and 920 are connected to a local area network 930 and execute an information system program according to an embodiment of the invention, such as the one described in reference to FIG. 3.
  • Local area network 930 is any suitable local area data communications network known in the art.
  • a user of general purpose computer 900 creates journal entries, as described in reference to FIGS. 5 B- 5 D. The user then freezes the entries by storing them in the archives of general purpose computer 900 , as described in reference to FIG. 3. Copies of all entries selected for distribution by the user are then transferred over local area network 930 to general purpose computer 920 , where they are stored in the archives of the group library.
  • a user of general purpose computer 930 receives copies of the frozen entries stored in the group library of general purpose computer 920 , storing them in his/her library.
  • a general purpose computer is designated as a central repository for entries published by all users connected to the network and then distributes copies to the archives of individual computers while in others the central repository can be located on one of the individual computers.
  • Other techniques for data distribution and broadcasting known in the art may be used according to the principles of the invention. As those skilled in the art are familiar with these techniques, they are not further discussed herein.
  • FIG. 9B general purpose computers 900 , 910 and 920 are connected to a wide area network 940 and execute an information system program, according to an embodiment of the invention, such as the one described in reference to FIG. 3.
  • Wide area network 940 is any suitable wide area data communications network known in the art. Entries are created and distributed over wide area network 940 in a manner analogous to the one described with reference to general purpose computers 900 , 910 and 920 of FIG. 9A.
  • general purpose computers 900 , 910 and 920 ate connected to a global network 970 and execute an information system program, according to an embodiment of the invention, such as the one described in reference to FIG. 3.
  • Global network 970 is any suitable wide area data communications network known in the art. Entries are created and distributed over global network 970 in a manner analogous to the one described with reference to general purpose computers 900 , 910 and 920 of FIG. 9A.
  • FIG. 10A shows a window 1000 of a software application program that allows a user to access a standalone library.
  • Window 1000 has a browser header 1010 , an entry list pane 1020 , an entry pane 1030 , an author notebook list 1040 and a reader notebook list 1050 .
  • Browser header 1010 , entry list pane 1020 , entry pane 1030 perform the same functions as the corresponding elements of browser window 700 (FIG. 7).
  • Author notebook list 1040 provides access to notebooks created by the author of the standalone library prior to the publication of the standalone library.
  • Reader notebook list 1050 provides access to notebooks created by the user after the publication of the standalone library. As a result, notebooks accessed through author notebook list 1040 cannot be modified by the user, while notebooks accessed through reader notebook list 1050 can be modified by the user.
  • FIG. 10B shows window 1000 displayed within a pane of web-browser window 1060 .
  • Web-browser window 1060 is a window of a web-browser application program such as NETSCAPE NAVIGATOR, available from Netscape Communications Corp. of Mountain View, Calif., or INTERNET EXPLORER, available from Microsoft Corp. of Redmond, Wash., that allows users to access and view web-pages over the Internet.
  • Window 1000 is displayed within a pane of web-browser window 1060 by means of a plug-in extension to the web-browser application program that allows standalone libraries to be accessed and viewed over the Internet by accessing a URL of a computer on which the standalone library is residing.
  • FIG. 11 shows window 1060 of a software application program that allows a user to access libraries stored on one or more server computers connected to a client computer via the Internet, as shown in FIG. 9C.
  • Pane 1100 has a browser header 1110 , an entry list pane 1120 , an entry pane 1130 , an author notebook list 1140 and a reader notebook list 1150 that perform analogous functions to those of browser header 1010 , entry list pane 1020 , entry pane 1030 , author notebook list 1040 and reader notebook list 1050 of FIGS. 10 A- 10 B.
  • library list 1160 allows a user of the software application program to select a particular standalone library or hyper-library among a list of libraries stored on server computers connected to the client computer via the Internet.
  • a hyper-library is similar to a standalone library, except that the author can always add new entries and notebooks to the hyper-library.
  • references to data objects in separate libraries stored on server computers can be combined in a single notebook by a user of client computer connected to the server computers via the Internet. These notebooks comprise a local library that is private to the user (e.g., the USER library of FIG. 11).
  • the entries contained in a library stored on a server can be viewed by first selecting the library from library list 1160 and then clicking on a line of entry list 1120 . The contents of the corresponding entry are thus displayed in entry pane 1130 .
  • the user can also search the entries in one or more libraries by using cockpit window 800 (FIG.
  • the application program of FIG. 11 can thus function as a search engine for data objects stored on computers connected to the Internet.
  • the results of the search comprise a listing of references 1200 A to data objects that include a library ID 1210 A, a notebook ID 1220 A and an entry ID 1230 A, as shown in FIG. 12A.
  • FIG. 12B shows the values of library ID 12103 , notebook ID 12203 and entry ID 12303 of reference 12003 for the notebook entry selected in FIG. 11.
  • notebook ID 12200 has a special value, such as -0- to indicate that the frozen entry is not referenced in any notebook.
  • FIGS. 5 A- 8 C is referred to as Personal Archive Librarian (PAL)
  • the application program of FIGS. 9 A- 9 B is referred to Group Archive Librarian (GAL)
  • the application program of FIGS. 10 A- 10 B is referred to as Standalone Archive Librarian (SAL)
  • the application program of FIG. 11 is referred to as Hyper Archive Librarian (HAL).
  • PAL Personal Archive Librarian
  • GAL Group Archive Librarian
  • SAL Standalone Archive Librarian
  • HAL Hyper Archive Librarian
  • a three-person team is working on a project, but each teammember is located in a different office.
  • Each teammember has a computer equipped with PAL, GAL, SAL and HAL.
  • the computers are connected via the Internet.
  • a Central Project Library (CPL) is created on a server computer equipped with GAL.
  • the CPL has a unique library ID 1210 .
  • Each teammember is registered as a user of the CPL by providing GAL with the library ID of the teammember's PAL library.
  • a list of clues, agreed upon by the teammembers, is maintained on each teammembers' PAL together with a Project Notebook (PN).
  • PN Project Notebook
  • Each teammember periodically zips his/her journal entries. Entries containing any of the clues for the project are automatically added to the PN.
  • a chore can be set up to automatically zip new entries at fixed time intervals.
  • GAL then sends a message to the PALs of each teammember registered as a user of the CPL requesting that all new notebook entries, in the PNs be sent to GAL.
  • the entries are thus imported into the CPL.
  • GAL then exports to each teammember's PAL all new entries that were not created by that teammember.
  • the entries are then imported into each teammember's PAL journal.
  • each teammember has a copy of all notebook entries pertaining to the project that are stored in the CPL, regardless of the author.
  • the teammembers decide to make both the SL and other portions of the CPL available to the public to promote the new technology. This is accomplished by exporting the desired portions of the CPL and importing them into HAL as an hyper library (ML).
  • the ML has its own http address and can be accessed over the Internet by users equipped with HAL. A user could then search the HL, as well as other libraries (including both standalone libraries and hyper-libraries) accessible over the Internet, to create his/her own notebooks on the new technology.
  • MACOS is a registered trademark of Apple Computer, Inc. of Cupertino, Calif.
  • NETSCAPE NAVIGATOR is a registered trademark of Netscape Communications Corp. of Mountain View, Calif.
  • INTERNET EXPLORER is a registered trademark of Microsoft Corp. of Redmond, Wash.
  • Embodiments described above illustrate but do not limit the invention.
  • the invention is not limited by any number of journals or notebooks manipulated by the computer system, or by any particular hardware or software implementation.
  • the invention is not limited by the format of the journal window, the cockpit window or the notebook window shown in the drawings and described in the specification.
  • Other window formats or other user interface techniques known in the art can be used in accordance to the principles of the invention.
  • the invention is also not limited to any number of computers connected to a network, or to any particular network implementation. Any suitable technique for computers to share information over a network can be used according to the invention.
  • Other embodiments and variations are within the scope of the invention, as defined by the following claims.

Abstract

A method and apparatus are provided for accessing, viewing and manipulating data stored in a computer system. This is achieved by selecting one or more of the non-modifiable data objects stored in a computer system, creating references to the selected objects and adding the references to a reference list. The reference list is then manipulated to allow a user to add to, remove from or search the references in the reference list. In some embodiments, different operations are performed by different computers connected to a computer network such as the Internet. In such cases, data objects are stored on a server computer and searched by client computers connected to the server computer over the network. A reference list is stored on the client computers and can be directly manipulated by the user without a need for further interaction with the server computer.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of U.S. application Ser. No. 09/109,135, filed on Jul. 2, 1998, which is hereby incorporated by reference in its entirety for all purposes as if fully set forth herein.[0001]
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0002]
  • The present invention relates generally to computer systems and, in particular, to accessing, viewing and manipulating archived information in a computer system. [0003]
  • 2. Related Art [0004]
  • Systems that allow users to store and retrieve information in a computer system, such as database management systems, are well known. A database is a collection of data arranged according to a predefined structure. A telephone book is a classic example of a database containing a listing of telephone service subscribers, their respective telephone numbers and, optionally, their addresses. The data stored in such a database is organized in a [0005] structure 100 having three fields: a subscriber name field 110, a subscriber telephone number field 120 and a subscriber address field 130, as shown in FIG. 1A. Records 150 are copies of structure 100 that contain information specific to individual telephone subscribers. Multiple records 150 are stored in database 140, as shown in FIG. 1B.
  • Database management systems typically provide means for searching the database to retrieve a portion of the records stored in the database that satisfy certain search parameters. These searches are generally referred to as queries. Using the telephone book database of FIG. 1B as an example, one could search for all records in which the telephone subscriber has a certain address, or for all records in which the user has a certain name or, or for all records in which the user has a certain name and a certain address. Typically, however, database management systems do not allow users to manipulate the results of the queries, although some database management systems allow users to sort the order in which the records returned by a query are displayed. Other systems allow users to combine multiple search parameters in a single query; however, this approach still requires a new search to be performed. Accordingly, there is a need for a computer information system that allows results of searches to be manipulated and stored for future use, without requiring a new search to be performed. [0006]
  • Furthermore, current global network information systems, such as the World Wide Web, allow user to retrieve information stored on different host computers connected to a global network (e.g., the Internet). The World Wide Web is described on pages 681-723 of “Computer Networks” by Andrew S. Tanenbaum (Englewood Cliffs, N.J.: Prentice-Hall, Inc. 3rd ed. 1996), which are herein incorporated by reference in their entirety. The information stored on the World Wide Web, for example, is organized in a plurality of web pages. Each web page contains information in different formats, including multimedia. In addition, each web page may contain “links” to a other web pages. A user typically accesses the web pages through a web browser (i.e., a program executed by a computer connected to a global network that is able to retrieve and display data organized in web pages) by specifying an http address of a given web page. A user can then access other web pages either by specifying their http address or by “following a link” (i.e., clicking a hypertext field on a web page currently displayed by the web browser). This process is generally referred to as “navigating” or “surfing” the World Wide Web. [0007]
  • Users, however, cannot generally modify web pages to discard irrelevant information. In addition, currently available web browsers do not provide facilities for easily storing and manipulating a collection of links without interrupting the current search operation or performing a new search. Typically, web browsers employ a search engine to search the World Wide Web for web pages that meet the parameters of the search. Search engines then generate one or more web pages containing links to the web pages that meet the parameters of the search. The web browser, in turn, displays the web pages generated by the search. Thus, there is no easy way of manipulating the list of links contained in the web pages generated by the search engine. Accordingly, there is a need for a more flexible and faster method of organizing, searching and manipulating data than is currently available. [0008]
  • SUMMARY OF THE INVENTION
  • The present invention provides a method and apparatus for accessing, viewing and manipulating data stored in a computer system. This is achieved by selecting one or more of the non-modifiable data objects stored in a computer system, creating references to the selected data objects and adding the references to a reference list. The reference list is then manipulated to allow a user to add to, remove from or search the references in the reference list. [0009]
  • Furthermore, the invention provides a method and apparatus for accessing, viewing and manipulating data stored in a computer system in which different operations are performed by different computers connected to a computer network. This is particularly advantageous for Internet related applications in which data objects are stored on a server computer and searched by client computers connected to the server computer over the Internet. A reference list is stored on the client computers and can be directly manipulated by the user without a need for further interaction with the server computer.[0010]
  • BRIEF DESCRIPTION OF THE DRAWING
  • FIG. 1A illustrates the structure of a record of a prior art telephone book database. [0011]
  • FIG. 1B shows a prior art telephone book database having a plurality of records. [0012]
  • FIG. 2 is a flow diagram of a data manipulation operation, according to an embodiment of the invention. [0013]
  • FIG. 3 illustrates the relationships among a library, an archive and several notebooks, according to an embodiment of the invention. [0014]
  • FIG. 4A is a flow diagram of a notebook manipulation operation, according to an embodiment of the invention. [0015]
  • FIG. 4B is a flow diagram of a standalone library creation operation, according to an embodiment of the invention. [0016]
  • FIG. 4C is a flow diagram of a notebook manipulation operation, according to an embodiment of the invention. [0017]
  • FIG. 4D is a flow diagram of a notebook entry duplication operation, according to an embodiment of the invention. [0018]
  • FIG. 5A shows the menu structure of a software application program, according to an embodiment of the invention. [0019]
  • FIGS. [0020] 5B-5D illustrate several views of a journal window of the software application program, according to an embodiment of the invention.
  • FIG. 6A illustrates a journal layout of a notebook window of a software application program, according to an embodiment of the present invention. [0021]
  • FIG. 6B illustrates a browser layout of a notebook window of a software application program, according to an embodiment of the present invention. [0022]
  • FIG. 7 illustrates a browser window of a software application program, according to an embodiment of the invention. [0023]
  • FIG. 8A illustrates a cockpit window of a software application program, according to an embodiment of the invention. [0024]
  • FIG. 8B illustrates a clue editing window of a software application program, according to an embodiment of the invention. [0025]
  • FIG. 8C illustrates a put window of a software application program, according to an embodiment of the invention. [0026]
  • FIG. 9A illustrates computers connected to a local area network, according to an embodiment of the invention. [0027]
  • FIG. 9B illustrates computers connected to a wide area network, according to an embodiment of the invention. [0028]
  • FIG. 9C illustrates computers connected to a global network, according to an embodiment of the invention. [0029]
  • FIG. 10A shows a window of a software application program that allows a user to access data entries stored in a standalone library. [0030]
  • FIG. 10B shows a window of a software application program that allows a user to access data entries stored in a standalone library over a global network. [0031]
  • FIG. 11 shows a window of a software application program that allows references to data entries to be accessed over a global network, according to an embodiment of the invention. [0032]
  • FIG. 12A illustrates the elements of a reference to a data object. [0033]
  • FIG. 12B illustrates specific values of the elements of a reference to a data object. [0034]
  • FIG. 12C illustrates the values of the elements of a reference to a data object in the special case of a data object that is not referenced in any notebook.[0035]
  • DETAILED DESCRIPTION OF THE INVENTION
  • A method and apparatus are provided for accessing, viewing and manipulating a wide variety of data objects stored in a computer system. Unlike in a database management system, data objects stored in the computer system can be searched or selected and the results of the search/selection can be freely manipulated. In addition, since the data objects are non-modifiable, the chronology of the data objects is preserved automatically and the task of maintaining references to the data objects is greatly simplified. [0036]
  • An [0037] operation 200 for selecting and manipulating non-modifiable data objects is described in FIG. 2. The non-modifiable data objects are first created as modifiable data objects, edited and then converted into non-modifiable data objects. The modifiable data objects can be created using any suitable technique known in the art including, but not limited to, importing data objects from an external file, generating data objects in a word processing, graphics or paint program or “copying and pasting” data objects from another application program via a “copy and paste” facility provided by an operating system. As those skilled in the art are familiar with these techniques, they are not further discussed herein. First, stage 210 determines whether a search is being performed on a set of non-modifiable data objects stored on the computer system, in which case operation 200 proceeds to parameter search stage 220. Otherwise the operation proceeds to stage 260. Each non-modifiable data object has content data, a unique identifier and meta information used in the search. The content data can be text, image, video, audio, multimedia or any combination thereof. For example, in some embodiments, the non-modifiable data objects are implemented in HTML. In parameter search stage 220, the search parameters are specified by a user of the computer system, although those skilled in the art realize that the search parameters could also be supplied by an application program executed by the computer system. For instance, the search parameters may include the author of the source data object, a range of creation dates of the data objects, specific text data contained in the data objects, whether the data object is already referenced in some other list of references to data objects, etc. Stage 230 determines if any data objects satisfy the search parameters, in which case a reference to each of the matching data objects is created in stage 240. Otherwise operation 200 terminates. Stage 260 determines whether data objects are being selected, in which case operation 200 proceeds to stage 270. Otherwise, operation 200 terminates. In stage 270, one or more references to data objects are selected by a user and operation 200 proceeds to stage 280. Stage 280 then determines whether any of the reference are to be manipulated, in which case operation 200 proceeds to stage 250. Otherwise operation 200 terminates. Any references to the matching data objects are manipulated in stage 250. For example, a list of references to the matching data objects is displayed in a window of a software application program executed by the computer system. A user may then add or delete references from the list, perform a new search on the references contained in the list or sort the references in a particular order. Individual data objects, as well as information about the data objects, can be displayed in the same window as the list of references either by scrolling through the references or by clicking on a particular reference in the reference list, as shown in FIGS. 6A, 6B and 7.
  • A computer system according to an embodiment of the invention is illustrated in FIG. 3. In FIG. 3, a [0038] library 300 includes a journal 310, archives 320 and notebooks 330, 340 and 350. Journal 310, in turn, has a plurality of journal entries 350, 360, 370 and 380. Journal entries 350, 360, 370 and 380 are data objects, according to an embodiment of the invention. The body of a journal entry can be created by any suitable technique known in the art. For example, text journal entries can be created by a word processing program executed by the computer system, image data entries can be created by a drawing program executed by the computer system, etc. Alternatively, journal entries can be created by inputting them directly into the computer system. For example, a text entry can be created by typing into a text pane of the computer system. An image data entry can be created by copying the image into a window pane of the computer system using the “cut and paste” function of an operating system such as the MACOS operating system.
  • Journal entries are typically fluid, in the sense that they can be modified at any time (e.g., by a user of the computer system). While journal entries are in a fluid state, they can only be accessed through the journal. Thus, adding entries to a journal is similar to a user having his/her own private electronic diary. Journal entries can be made available to other components of the system by storing them into [0039] archives 320. This process is referred to herein as “freezing” a journal entry. Once a journal entry is stored in archives 320, it becomes “frozen” and can no longer be modified. Thus, journal entries 360, 370, 380 and 390 are stored in archives 320 as frozen entries 365, 375, 385 and 395, respectively.
  • Furthermore, references to [0040] frozen entries 365, 375, 385 and 395 can be combined in notebooks 330, 340 and 350. These references are referred to as notebook entries. Thus, as used herein, a notebook is simply a collection of references to frozen entries stored in archives 320. Only one reference to an entry is allowed in each notebook, even though two separate notebooks can each contain references to the same entry. In FIG. 2, for instance, notebook A 330 contains references to frozen entries 365 and 375, notebook B 340 contains references to frozen entries 365, 385 and 395, and notebook C 350 contains references to frozen entries 385 and 395.
  • FIGS. [0041] 4A-4C are flow diagrams of operations performed on the system of FIG. 3. FIG. 4A describes data object manipulation operation 400, according to an embodiment of the invention. Journal entries 360, 370, 380 and 390 (FIG. 3) are first created in stage 405 and then stored in archives 320 as frozen entries 365, 375, 385 and 395, in stage 408. Frozen entries 365, 375, 385 and 395 are then selected by a user for inclusion in a notebook (e.g., notebook A 330), in stage 410. In stage 415, a reference to the selected entries is created and added to the notebook. Finally, references are added to and/or removed from the notebook by a user, in stage 420.
  • FIG. 4B describes a standalone [0042] library creation operation 430, according to a further embodiment of the invention. Stages 435, 437, 440, 445 and 447 are analogous to stages 405, 408, 410, 415 and 420 of the operation of FIG. 4A. In stage 450, however, one or more notebooks are selected by the user for publication and, in stage 455, the selected notebooks and the corresponding entries in archives 320 are “published” by replicating the notebooks and the entries and storing the resulting copies as a non-modifiable collection of data objects and associated references in the computer system. The published library is referred to as a standalone library and the notebook entries contained in the standalone library cannot be modified. Furthermore, the standalone library does not provide a journal for adding entries to the archives. New entries cannot be added to the notebooks of the standalone library and existing notebooks cannot be modified.
  • FIG. 4C describes a data [0043] object manipulation operation 460, according to a further embodiment of the invention. Stage 465 is analogous to stage 405 in FIG. 4A. In stage 470, however, the frozen entries are searched according to a set of search parameters. Stage 475 then determines whether any of the frozen entries satisfies the search parameters, in which case the operation proceeds to stage 480. Otherwise, the operation proceeds to stage 485. In stage 480, references to the frozen entries satisfying the search parameters are created and, combined with the entries already stored in the notebook (e.g., if a reference to the frozen entry does not already appear in the notebook, a new notebook entry is added referencing the frozen entry). Finally, in stage 485, notebook entries are added to or removed from the notebook by a user.
  • FIG. 4D illustrates a notebook [0044] entry duplication operation 490, according to an embodiment of the invention. In FIG. 4D, stage 487 first determines whether a search is being conducted, in which case operation 490 proceeds to stage 493. Otherwise, stage 489 determines whether a selection is being performed, in which case operation 490 proceeds to stage 491. Otherwise operation 490 terminates. The source notebook entries are searched in stage 493. Stage 495 then determines if any source notebook entries satisfy the search parameters, in which case operation 490 proceeds to stage 497. Otherwise operation 490 terminates. In stage 491, one or more source notebook entries are selected to be duplicated in one or more destination notebooks. Finally, in stage 497, the source notebook entries either selected in stage 491 or returned by a search in stage 493 are combined with the destination notebook entries (e.g., if a reference to the same data object is not already contained in the destination notebook, a new reference to the data object is created and added to the destination notebook) and operation 490 terminates.
  • A software application program in accordance to an embodiment of the invention and executed by a general purpose computer running under the MACOS operating system is now described in reference to FIGS. [0045] 5A-5E, 6A-6B and 7-8.
  • FIG. 5A illustrates the menu structure of the software application program. In FIG. 5A, [0046] menubar 505 has several pulldown menus: file menu 515, edit menu 525, text menu 535, manage menu 545 and notebook menu 547, in addition to the standard Apple menu common to most MACOS application programs. Each of the menus of menubar 505 provides access to one or more commands that can be performed by the software application program. For instance, file menu 515 contains commands to create, open, close and save a library, importing a file or a notebook, exporting a notebook (e.g., saving the frozen entries referenced by the notebook into a file) and printing the data objects referenced by a notebook on a printer connected to the computer system. In addition, file menu 515 provides access to standard MACOS operations to close the current active window, performing page setup for a document to be printed or quitting the current application program. Similarly, edit menu 525 provides access to standard formatting and editing commands supported by MACOS. Text menu 535 provides access to commands that determine the appearance of text characters displayed by the software application program. Manage menu 545, in turn, provides access to several commands to create a new entry or a new browser window (FIG. 7), open the cockpit window (FIG. 8A) or display a clues window (FIG. 8B). Finally, notebook menu 547 provides access to commands to create, open, delete or rename a notebook, as well as to sort notebook entries.
  • FIGS. [0047] 5B-5D illustrate a journal window 500 of the software program displayed on a screen of a monitor of the computer system. Journal window 500 includes a window header 510 and one or more entry panes 520. Window header 510 includes a command menu 530 and a sort menu 550. Command menu 530 controls commands to be performed on the entire journal, such as removing entries from the journal (“zap”) and replicating entries in one or more notebooks (“put” and “zip”). Zip and put are both used to replicate entries in one or more notebooks, however, put requires that the destination notebooks be explicitly specified by the user. By contrast, Zip provides a facility (“sifting”) that allows users to automatically replicate notebook entries in a predetermined set of notebooks if a number of keywords (“clues”) associated with the set of notebooks are found in the entries being zipped. For example, a user can create a clue such as “project x” to distribute all entries regarding project x to all notebooks concerning project x. During a zip operation, entries are sifted for the term “project x” and those entries containing “project x” are automatically replicated in all notebooks specified in the project x clue. Sort menu 550, in turn, controls the order in which the entry panes 520 are displayed in journal window 500. Entry panes 520 may scroll up or down to display more entry panes 520 than can physically be displayed in journal window 500 at any one time. As those skilled in the art are familiar with scrolling window techniques, they are not further discussed herein.
  • Each [0048] entry pane 520 includes a format menu 555, a entry command menu 560, a title text field 565, a tag text field 570, a source text label 575, a creation time label 580, a comment field pane 585 and a body pane 590. Title text field 565, tag text field 570, source text label 575, creation time label 580, and comment pane 585 are all searchable and siftable and are thus referred to as meta-information. Format menu 555 controls the display format of entry pane 520. Entry command menu 560 controls commands performed on the entry displayed in entry pane 520. Title text field 565 contains a user modifiable title identifying the entry. Typically, the title is assigned by the user creating the entry. Tag text field 570 contains a user modifiable tag field used to further identify the entry. Tag text field 570 is the only field that can still be modified after the entry is frozen (e.g., in a notebook entry). Source text label 575 is a non-modifiable text label identifying the source of the entry. Likewise, creation time label 580 is a text label indicating the creation time of the entry. Comments pane 585, on the other hand, is a free form text field that allows the user creating the entry to describe the contents of body text pane 590. Finally, body pane 590 is a free form text field that is used to store the body of the entry. In some embodiments of the invention, body pane 590 is used to store data other than text. For example, in some embodiments body text pane 590 stores text data, image data, video data, audio data or any combination thereof.
  • All entries displayed in an [0049] entry pane 520 of journal window 500 are initially fluid. A fluid entry is an entry that can be modified by the user and is, therefore, private to the journal (the entry cannot be referenced outside the journal, e.g., by a notebook) A fluid entry that is stored in archives 320 becomes a frozen entry. Once an entry is frozen it can no longer be modified by the user, even though it may still appear in journal window 500. A journal entry can be removed from journal window 500 by issuing a “zap” command. The zap command can be issued from entry command menu 560 of entry pane 520, from command menu 530 of journal widow 500 or from command menu 805 of cockpit window 800.
  • FIGS. [0050] 6A-6B illustrate a notebook window 600. Notebook window 600 (FIG. 6A) comprises a window header 610 and one or more entry panes 620A, 620B, etc., one for each entry of the notebook displayed in notebook window 600. Window header 610 includes a command menu 630, a total label 635, a layout menu 640 and a sort menu 650. Command menu 630 controls commands to be performed on the entire notebook, such as removing entries from the notebook or replicating the entry into other notebooks. Layout menu 640 controls the arrangement of entry panes 620A, 620B, etc. in notebook window 600. By selecting one of the layouts specified in layout menu 640 the user can cause notebook window to appear in either journal layout (FIG. 6A) or browser layout (FIG. 6B). Sort menu 650 controls the order in which entry panes 620A, 620B, etc. are displayed in notebook window 600. Entry panes 620A, 620B, etc. may scroll up or down within notebook window 600 in FIG. 6A. As those skilled in the art are familiar with scrolling window techniques, they are not further discussed herein.
  • Each [0051] entry pane 620A, 620B, etc. includes a command menu 660, a notebook menu 645, a title label 665, a tag field 670, a format menu 635, a source label 675, a creation time label 680, a freezing time label 683, a comment pane 685 and a body pane 690. Command menu 660 controls commands performed on the entry displayed in entry panes 620A, 620B, etc. When notebook menu 645 is activated, a list of notebooks containing the notebook entry displayed in entry pane 620A is displayed. The user can then display one of these notebooks by simply selecting the notebook name from notebook menu 645. Title label 665 identifies the entry displayed in entry pane 620A. Tag field 670 contains a user modifiable tag used to identify the entry displayed in entry pane 620A during searches and sorts. Format menu 635 controls which format entry panes 620A, 620B, etc. are displayed in. Note that each of entry panes 620A, 620B, 620C, 620D and 620E appears in a different format selected via format menu 635. Source label 675 is a non-modifiable text label identifying the source of the entry displayed in entry pane 620A. Likewise, creation time label 680 is a text label indicating when the entry displayed in entry pane 620A was created as a journal entry and freezing time label 683 is a text label indicating when the entry displayed in entry pane 620A was frozen. Comments pane 685, on the other hand, is a text field used to describe the contents of body pane 690. Finally, body pane 690 is a free form text field used to store the body of the entry displayed in entry pane 620A. In some embodiments of the invention, body pane 690 is used to store data other than text. For example, in some embodiments body pane 690 stores text data, image data, video data, audio data or any combination thereof.
  • When [0052] notebook window 600 appears in browser layout (FIG. 6B), a notebook entry list pane 695 is displayed between window header 610 and entry pane 620A. The user can then select any entry in notebook entry pane 695 for display in entry pane 620A by double clicking on the corresponding line of notebook entry list pane 695.
  • Note that since notebooks, unlike journals, contain only frozen [0053] entries title label 665, comments pane 685 and body pane 690 of entry pane 620A cannot be modified by the user. By contrast, title field 565, comments pane 585 and body pane 590 of entry pane 590 of FIG. 5B can be modified since the entry displayed in entry pane 590 is fluid. On the other hand, tag field 670 can still be modified even though the underlying data object is frozen. As a result, the user can enter any text in tag field 670 to aid in future searches or sorts of the notebook entries.
  • Notebook entries can be exported as text files. For example when an export menu command of [0054] command menu 660 is selected, the entry shown in entry pane 620A is stored as a text file in a location specified by the user. Those skilled in the art realize that a similar scheme can be devised to allow notebook entries to be imported from text files arranged in a predefined format. For example, text files could be imported as the body of a notebook entry. Alternatively, meta information could be extracted from formatted data at a predefined location within the file.
  • FIG. 7 illustrates a [0055] browser window 700 that can be used to display notebook entries. Browser window 700 is similar to notebook window 600 in browser mode, except for the addition of a notebook list pane 710 and the elimination of layout menu 640. The user can thus access individual notebooks by double clicking on a corresponding line of notebook list pane 710.
  • Users of the application program can also manipulate notebooks by means of [0056] cockpit window 800, shown in FIG. 8. Cockpit window 800 includes a command menu 805, a source pane 810, a destination pane 820 and a filter pane 830. Filter pane 830, in turn, includes a time box 850, condition boxes 860 and 870 and a notebook list pane 840.
  • [0057] Command menu 805 controls the commands performed on the entries stored in library 300 (FIG. 3). Source pane 810 can be used to select specific notebooks for the command specified by command menu 805. Destination pane 820 specifies which notebooks the selected entries should be replicated to, if required by the command selected from command menu 805. Notebooks can be added to source pane 810 and destination pane 820 by dragging selected list items from notebook list pane 840 to source pane 810 or destination pane 820 or by pushing an “add” button. Notebooks can be removed from source pane 810 and destination pane 820 by selecting a corresponding line of the scrolling lists displayed in source pane 810 and destination pane 820 and pushing the corresponding “delete” button.
  • Finally, [0058] filter pane 830 allows the user to specify parameters to be used to limit the number of entries selected via source pane 810 that are to be transferred to the notebooks specified via destination pane 820, again, if required by the command selected from command menu 805. The operation specified via command menu 805 is triggered by pushing command button 880, whose appearance is modified to reflect the type of command selected via command menu 805.
  • To speed up searches, in some embodiments, the contents of frozen entries are indexed upon freezing. This is accomplished by creating an alphabetical list of the words contained in an entry being frozen and comparing the list to a master list of words contained in the entries already frozen in the library. The master list, in turn, contains separate lists for each word of references to frozen entries containing that word. When a word in the list for the entry being frozen is already contained in the master list, a reference to the entry is added to the reference list for that word in the master list. Otherwise, if the word is not already included in the master list, the word is added to the master list and a new reference list for that word is created having a reference to the entry being frozen. Those skilled in the art realize that other techniques for indexing entries can be used in place of the one described above. The invention Is not limited to any particular indexing scheme and other indexing schemes other than the one described herein can be used In accordance to the principles of the present invention. Since once entries are frozen they can no longer be modified, there is no need to re-index the entries every time an entry is modified. As a result, the overhead associated with indexing the entries is minimized, while still allowing for fast searching of the frozen entries stored in a library. [0059]
  • FIG. 8B illustrates a [0060] clues editing window 890 that is displayed in response to a user selecting the clues command from manage menu 545 (FIG. 5A). Clue editing window 890 allows the user to add, delete or edit clues. Clues allow the user to associate one or more notebooks with a specific name or acronym (the “clue”). When the clue is used either in the header or in the body of a journal or notebook entry and a zip command is issued, the entry is sifted and automatically added to the notebooks associated with the clue. The zip command is analogous to the put command, except that destination notebooks are not explicitly defined by means of put window 895 (FIG. 8C), but are determined according to the clues contained within the entry. Thus, the user can use the zip command to distribute entries to notebooks associated with certain topics specified by the clues without having to explicitly select the notebooks.
  • Furthermore, repetitive tasks like zipping and zapping all journal entries at the end of the day can be automated by using a feature of the application program known as “chores.” Chores allow a user to specify a certain operation to be performed at fixed Intervals of time by the application program without requiring further user interaction. The user, of course, can cancel a chore when It is no longer needed. [0061]
  • FIG. 8C illustrates put [0062] window 895 that is displayed when the put command is selected from command menu 805, or when a put command is selected using the command menu of a notebook or journal entry. Put window 895 allows the user to specify which notebooks the selected entries are to be distributed to. For the user's convenience, a notebook list pane 897 is provided which contains a listing of all available notebooks. Notebooks can be added or deleted from selected notebook list 899 by pushing add button 892 or delete button 893. The put command is triggered by pushing put button 896.
  • According to one embodiment of the invention, journal entries are created on a first client computer connected to a network, selected journal entries are added to the archive on the first computer, stored in the archives of a group library stored on a server computer connected to the network, and forwarded to the archives of a second client computer also connected to the network. FIGS. [0063] 9A-9C illustrate these operations when the computers are connected to a local area network, a wide area network and a global area network, respectively.
  • In FIG. 9A, [0064] general purpose computers 900, 910 and 920 are connected to a local area network 930 and execute an information system program according to an embodiment of the invention, such as the one described in reference to FIG. 3. Local area network 930 is any suitable local area data communications network known in the art. A user of general purpose computer 900 creates journal entries, as described in reference to FIGS. 5B-5D. The user then freezes the entries by storing them in the archives of general purpose computer 900, as described in reference to FIG. 3. Copies of all entries selected for distribution by the user are then transferred over local area network 930 to general purpose computer 920, where they are stored in the archives of the group library. A user of general purpose computer 930 then receives copies of the frozen entries stored in the group library of general purpose computer 920, storing them in his/her library.
  • In some embodiments, a general purpose computer is designated as a central repository for entries published by all users connected to the network and then distributes copies to the archives of individual computers while in others the central repository can be located on one of the individual computers. Other techniques for data distribution and broadcasting known in the art may be used according to the principles of the invention. As those skilled in the art are familiar with these techniques, they are not further discussed herein. [0065]
  • In FIG. 9B, [0066] general purpose computers 900, 910 and 920 are connected to a wide area network 940 and execute an information system program, according to an embodiment of the invention, such as the one described in reference to FIG. 3. Wide area network 940 is any suitable wide area data communications network known in the art. Entries are created and distributed over wide area network 940 in a manner analogous to the one described with reference to general purpose computers 900, 910 and 920 of FIG. 9A.
  • In FIG. 9C, [0067] general purpose computers 900, 910 and 920 ate connected to a global network 970 and execute an information system program, according to an embodiment of the invention, such as the one described in reference to FIG. 3. Global network 970 is any suitable wide area data communications network known in the art. Entries are created and distributed over global network 970 in a manner analogous to the one described with reference to general purpose computers 900, 910 and 920 of FIG. 9A.
  • FIG. 10A shows a [0068] window 1000 of a software application program that allows a user to access a standalone library.
  • [0069] Window 1000 has a browser header 1010, an entry list pane 1020, an entry pane 1030, an author notebook list 1040 and a reader notebook list 1050. Browser header 1010, entry list pane 1020, entry pane 1030 perform the same functions as the corresponding elements of browser window 700 (FIG. 7). Author notebook list 1040, on the other hand, provides access to notebooks created by the author of the standalone library prior to the publication of the standalone library. Reader notebook list 1050, provides access to notebooks created by the user after the publication of the standalone library. As a result, notebooks accessed through author notebook list 1040 cannot be modified by the user, while notebooks accessed through reader notebook list 1050 can be modified by the user.
  • FIG. 10B shows [0070] window 1000 displayed within a pane of web-browser window 1060. Web-browser window 1060 is a window of a web-browser application program such as NETSCAPE NAVIGATOR, available from Netscape Communications Corp. of Mountain View, Calif., or INTERNET EXPLORER, available from Microsoft Corp. of Redmond, Wash., that allows users to access and view web-pages over the Internet. Window 1000 is displayed within a pane of web-browser window 1060 by means of a plug-in extension to the web-browser application program that allows standalone libraries to be accessed and viewed over the Internet by accessing a URL of a computer on which the standalone library is residing.
  • FIG. 11 shows [0071] window 1060 of a software application program that allows a user to access libraries stored on one or more server computers connected to a client computer via the Internet, as shown in FIG. 9C.
  • Pane [0072] 1100 has a browser header 1110, an entry list pane 1120, an entry pane 1130, an author notebook list 1140 and a reader notebook list 1150 that perform analogous functions to those of browser header 1010, entry list pane 1020, entry pane 1030, author notebook list 1040 and reader notebook list 1050 of FIGS. 10A-10B. However, library list 1160 allows a user of the software application program to select a particular standalone library or hyper-library among a list of libraries stored on server computers connected to the client computer via the Internet. A hyper-library is similar to a standalone library, except that the author can always add new entries and notebooks to the hyper-library. A user of the application program of FIG. 11 can thus access any library stored on a computer connected to the Internet, regardless of whether the library is a standalone library or a hyper-library. Furthermore, references to data objects in separate libraries stored on server computers can be combined in a single notebook by a user of client computer connected to the server computers via the Internet. These notebooks comprise a local library that is private to the user (e.g., the USER library of FIG. 11). The entries contained in a library stored on a server can be viewed by first selecting the library from library list 1160 and then clicking on a line of entry list 1120. The contents of the corresponding entry are thus displayed in entry pane 1130. The user can also search the entries in one or more libraries by using cockpit window 800 (FIG. 8A), create reader's notebooks and add/remove entries from the reader's notebooks. Author's notebooks, on the other hand, cannot be modified by the user. The application program of FIG. 11 can thus function as a search engine for data objects stored on computers connected to the Internet. The results of the search comprise a listing of references 1200A to data objects that include a library ID 1210A, a notebook ID 1220A and an entry ID 1230A, as shown in FIG. 12A. FIG. 12B shows the values of library ID 12103, notebook ID 12203 and entry ID 12303 of reference 12003 for the notebook entry selected in FIG. 11. As shown in FIG. 12C, when a frozen entry in a library is not referenced in any notebook, notebook ID 12200 has a special value, such as -0- to indicate that the frozen entry is not referenced in any notebook.
  • An example is now provided of the operation of the various application programs described above. In the example, the application program of FIGS. [0073] 5A-8C is referred to as Personal Archive Librarian (PAL), the application program of FIGS. 9A-9B is referred to Group Archive Librarian (GAL), the application program of FIGS. 10A-10B is referred to as Standalone Archive Librarian (SAL) and the application program of FIG. 11 is referred to as Hyper Archive Librarian (HAL).
  • In the example, a three-person team is working on a project, but each teammember is located in a different office. Each teammember has a computer equipped with PAL, GAL, SAL and HAL. The computers are connected via the Internet. A Central Project Library (CPL) is created on a server computer equipped with GAL. The CPL has a unique library ID [0074] 1210. Each teammember is registered as a user of the CPL by providing GAL with the library ID of the teammember's PAL library. A list of clues, agreed upon by the teammembers, is maintained on each teammembers' PAL together with a Project Notebook (PN). Each teammember periodically zips his/her journal entries. Entries containing any of the clues for the project are automatically added to the PN. Alternatively, a chore can be set up to automatically zip new entries at fixed time intervals. Once a day, GAL then sends a message to the PALs of each teammember registered as a user of the CPL requesting that all new notebook entries, in the PNs be sent to GAL. The entries are thus imported into the CPL. GAL then exports to each teammember's PAL all new entries that were not created by that teammember. The entries are then imported into each teammember's PAL journal. At the end of this operation each teammember has a copy of all notebook entries pertaining to the project that are stored in the CPL, regardless of the author.
  • At some point, one of the teammembers is asked to teach a class on a new technology developed by the project. The teammember then searches the CPL for all entries related to the new technology and saves them in several notebooks dealing with different aspects of the new technology. When the teammember is satisfied that all the relevant entries have been included in the notebooks, he/she exports the notebooks and the corresponding entries into a standalone library (SL) about the new technology. During the course, each of the teammember's students has a computer equipped with SAL and a copy of the SL. The students can add new notebooks to their own SL, for example to organize the entries about a particular class. [0075]
  • Finally, once the project is completed, the teammembers decide to make both the SL and other portions of the CPL available to the public to promote the new technology. This is accomplished by exporting the desired portions of the CPL and importing them into HAL as an hyper library (ML). The ML has its own http address and can be accessed over the Internet by users equipped with HAL. A user could then search the HL, as well as other libraries (including both standalone libraries and hyper-libraries) accessible over the Internet, to create his/her own notebooks on the new technology. [0076]
  • MACOS is a registered trademark of Apple Computer, Inc. of Cupertino, Calif., NETSCAPE NAVIGATOR is a registered trademark of Netscape Communications Corp. of Mountain View, Calif. and INTERNET EXPLORER is a registered trademark of Microsoft Corp. of Redmond, Wash. [0077]
  • Embodiments described above illustrate but do not limit the invention. In particular, the invention is not limited by any number of journals or notebooks manipulated by the computer system, or by any particular hardware or software implementation. Furthermore, the invention is not limited by the format of the journal window, the cockpit window or the notebook window shown in the drawings and described in the specification. Other window formats or other user interface techniques known in the art can be used in accordance to the principles of the invention. The invention is also not limited to any number of computers connected to a network, or to any particular network implementation. Any suitable technique for computers to share information over a network can be used according to the invention. Other embodiments and variations are within the scope of the invention, as defined by the following claims. [0078]

Claims (31)

1. A method for accessing, viewing and manipulating data stored in a computer system, comprising:
selecting a plurality of non-modifiable data objects stored in a storage of the computer system;
creating references to the selected data objects;
adding the references to a first reference list; and
manipulating the first reference list;
wherein the first reference list and the data objects corresponding to the references contained in the first reference list are displayed in a single window of the computer system.
2. The method of claim 1, further comprising:
creating a plurality of modifiable data objects;
storing the plurality of modifiable data objects on the storage device of the computer system; and
converting one or more modifiable data objects into non-modifiable data objects.
3. The method of claim 1, wherein each of the references to the non-modifiable data objects further comprises a modifiable tag field.
4. The method of claim 1, wherein each of the data objects contains a searchable comment field and a searchable tag field.
5. The method of claim 1, further comprising storing the first reference list and the data objects corresponding to the references in the first reference list in a non-modifiable collection of data objects.
6. The method of claim 5, wherein the non-modifiable collection of data objects is created on a first computer and the method further comprises adding a plurality of references to data objects stored in the non-modifiable collection of data objects to a second reference list stored on a second computer.
7. The method of claim 6, wherein the references to the single data object are created by more than one search of the data objects.
8. The method of claim 1, further comprising:
searching the data objects according to one or more new search parameters;
in response to the search, creating one or more new references to data objects satisfying the search parameters and adding the new references to the references in the first reference list.
9. The method of claim 1, wherein a reference to a single data object is contained in more than one reference list.
10. The method of claim 1, wherein the references in the first reference list are organized in a user-modifiable order.
11. The method of claim 1, wherein each data object comprises a unique identifier, one or more fields of meta-information and freeform content.
12. The method of claim 11, wherein the meta information is used in searching the data objects and Is displayed on the window of the computer system together with the data object.
13. The method of claim 1, wherein the data objects and the first reference list are stored on a first computer and a second reference list is stored on a second computer, the first computer being connected to the second computer by a computer network.
14. The method of claim 13, further comprising adding references in the first reference list to the second reference list.
15. The method of claim 14, wherein the network is a local area network.
16. The method of claim 14, wherein the network is a wide area network.
17. The method of claim 14, wherein the network is a global network.
18. The method of claim 13, further comprising a third computer, wherein the data objects are created on the third computer.
19. The method of claim 1, wherein one or more data objects comprise text data.
20. The method of claim 1, wherein one or more data objects comprise image data.
21. The method of claim 1, wherein one or more data objects comprise audio data.
22. The method of claim 1, wherein one or more data objects comprise multimedia data.
23. The method of claim 1, wherein the search parameters are automatically sifted by comparing a text portion of the data objects to a list of predetermined text segments to determine whether one or more of the text segments occur within a text portion of the data objects.
24. The method of claim 23, wherein the predetermined text segments are stored and used in successive sifting operations.
25. A computer system for accessing, viewing and manipulating data objects comprising:
a plurality of modifiable data objects stored in a storage of the computer system;
a plurality of non-modifiable data objects stored in the storage of the computer system;
a computer program; and
a computer executing the program, wherein the computer program includes instructions for:
selecting one or more non-modifiable data objects stored in the computer system;
creating references to the selected data objects;
adding the references to a reference list; and
manipulating the reference list, wherein the reference list and the data objects are displayed on a single window of the computer system.
26. The computer system of claim 25, wherein the computer program further includes instructions for converting one or more modifiable data objects into non-modifiable data objects.
27. A computer-readable storage medium comprising a computer program, the computer program including instruction for:
selecting one or more non-modifiable data objects stored in a computer system;
creating references to the selected data objects satisfying the search parameters;
adding the references to a reference list; and
manipulating the reference list, wherein the reference list and the data objects are displayed on a single window of the computer system.
28. The computer-readable storage medium wherein the computer program further includes instructions for converting one or more modifiable data objects into non-modifiable data objects.
29. A computer system for accessing, viewing and manipulating data objects comprising:
a plurality of modifiable data objects stored in a storage of the computer system;
a plurality of non-modifiable data objects stored in a storage of the computer system;
a plurality of references to the non-modifiable data objects; and
one or more lists of the references.
30. The computer system of claim 29, wherein one or more of the modifiable data objects are converted Into non-modifiable data objects.
31. The computer system of claim 28, wherein a timestamp corresponding to the time of the conversion from modifiable data object into non-modifiable data object is added to the non-modifiable data object.
US10/781,495 1998-07-02 2004-02-17 Accessing, viewing and manipulation of archived information Abandoned US20040162891A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/781,495 US20040162891A1 (en) 1998-07-02 2004-02-17 Accessing, viewing and manipulation of archived information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/109,135 US6694357B1 (en) 1998-07-02 1998-07-02 Accessing, viewing and manipulation of references to non-modifiable data objects
US10/781,495 US20040162891A1 (en) 1998-07-02 2004-02-17 Accessing, viewing and manipulation of archived information

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/109,135 Continuation US6694357B1 (en) 1998-07-02 1998-07-02 Accessing, viewing and manipulation of references to non-modifiable data objects

Publications (1)

Publication Number Publication Date
US20040162891A1 true US20040162891A1 (en) 2004-08-19

Family

ID=22325979

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/109,135 Expired - Lifetime US6694357B1 (en) 1998-07-02 1998-07-02 Accessing, viewing and manipulation of references to non-modifiable data objects
US10/781,495 Abandoned US20040162891A1 (en) 1998-07-02 2004-02-17 Accessing, viewing and manipulation of archived information

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/109,135 Expired - Lifetime US6694357B1 (en) 1998-07-02 1998-07-02 Accessing, viewing and manipulation of references to non-modifiable data objects

Country Status (7)

Country Link
US (2) US6694357B1 (en)
EP (1) EP1090364A4 (en)
JP (1) JP2002520697A (en)
CN (1) CN1236394C (en)
AU (1) AU4584399A (en)
BR (1) BR9910955A (en)
WO (1) WO2000002146A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080098307A1 (en) * 2006-10-20 2008-04-24 Airbus France Device for controlling the switching of a user interface
US20140052723A1 (en) * 2012-08-20 2014-02-20 Research In Motion Limited Methods and devices for applying constraints to data object

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020128871A1 (en) * 2000-12-07 2002-09-12 Dan Adamson Method, apparatus, and system for aggregating, targeting, and synchronizing health information delivery
US6975250B2 (en) * 2002-05-28 2005-12-13 Broadcom Corporation Methods and systems for data manipulation
US7139980B1 (en) * 2002-10-09 2006-11-21 Sprint Spectrum L.P. Method and system for selecting and saving objects in web content
US20050216531A1 (en) * 2004-03-24 2005-09-29 Blandford Robert R Personal web diary
US7599951B1 (en) * 2004-03-25 2009-10-06 Emc Corporation Continuous data backup
US8412685B2 (en) * 2004-07-26 2013-04-02 Riverbed Technology, Inc. Method and system for managing data
US20060080301A1 (en) * 2004-09-24 2006-04-13 Cole Ronald N Software system to allow creation of customized database search screens
US9256676B2 (en) 2006-05-10 2016-02-09 Google Inc. Presenting search result information
US7792801B2 (en) * 2007-10-12 2010-09-07 International Business Machines Corporation Controlling and using virtual universe wish lists
US8307016B2 (en) 2008-02-25 2012-11-06 Microsoft Corporation Accessing different application data via a common data structure
AU2009221571B2 (en) * 2008-03-06 2014-03-06 Commonwealth Scientific And Industrial Research Organisation Manufacture of pipes
US20100262508A1 (en) * 2009-04-10 2010-10-14 Will Volnak Method and system for an online library marketplace
US8788952B2 (en) * 2009-09-03 2014-07-22 International Business Machines Corporation System and method for locating missing items in a virtual universe
US9251318B2 (en) 2009-09-03 2016-02-02 International Business Machines Corporation System and method for the designation of items in a virtual universe

Citations (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206951A (en) * 1987-08-21 1993-04-27 Wang Laboratories, Inc. Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types
US5408655A (en) * 1989-02-27 1995-04-18 Apple Computer, Inc. User interface system and method for traversing a database
US5428778A (en) * 1992-02-13 1995-06-27 Office Express Pty. Ltd. Selective dissemination of information
US5435004A (en) * 1994-07-21 1995-07-18 International Business Machines Corporation Computerized system and method for data backup
US5446891A (en) * 1992-02-26 1995-08-29 International Business Machines Corporation System for adjusting hypertext links with weighed user goals and activities
US5491820A (en) * 1994-11-10 1996-02-13 At&T Corporation Distributed, intermittently connected, object-oriented database and management system
US5523942A (en) * 1994-03-31 1996-06-04 New England Mutual Life Insurance Company Design grid for inputting insurance and investment product information in a computer system
US5623659A (en) * 1993-04-30 1997-04-22 International Business Machines Corporation Parent/child subset locking scheme for versioned objects
US5623652A (en) * 1994-07-25 1997-04-22 Apple Computer, Inc. Method and apparatus for searching for information in a network and for controlling the display of searchable information on display devices in the network
US5632022A (en) * 1991-11-13 1997-05-20 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Encyclopedia of software components
US5649186A (en) * 1995-08-07 1997-07-15 Silicon Graphics Incorporated System and method for a computer-based dynamic information clipping service
US5682535A (en) * 1989-09-01 1997-10-28 Amdahl Corporation Operating system and data base using table access method with dynamic binding
US5694594A (en) * 1994-11-14 1997-12-02 Chang; Daniel System for linking hypermedia data objects in accordance with associations of source and destination data objects and similarity threshold without using keywords or link-difining terms
US5708825A (en) * 1995-05-26 1998-01-13 Iconovex Corporation Automatic summary page creation and hyperlink generation
US5717923A (en) * 1994-11-03 1998-02-10 Intel Corporation Method and apparatus for dynamically customizing electronic information to individual end users
US5717925A (en) * 1993-10-08 1998-02-10 International Business Machines Corporation Information catalog system with object-dependent functionality
US5721897A (en) * 1996-04-09 1998-02-24 Rubinstein; Seymour I. Browse by prompted keyword phrases with an improved user interface
US5727175A (en) * 1989-06-30 1998-03-10 Massachusetts Institute Of Technology Object-oriented computer user interface
US5737599A (en) * 1995-09-25 1998-04-07 Rowe; Edward R. Method and apparatus for downloading multi-page electronic documents with hint information
US5761662A (en) * 1994-12-20 1998-06-02 Sun Microsystems, Inc. Personalized information retrieval using user-defined profile
US5761656A (en) * 1995-06-26 1998-06-02 Netdynamics, Inc. Interaction between databases and graphical user interfaces
US5778367A (en) * 1995-12-14 1998-07-07 Network Engineering Software, Inc. Automated on-line information service and directory, particularly for the world wide web
US5781785A (en) * 1995-09-26 1998-07-14 Adobe Systems Inc Method and apparatus for providing an optimized document file of multiple pages
US5835905A (en) * 1997-04-09 1998-11-10 Xerox Corporation System for predicting documents relevant to focus documents by spreading activation through network representations of a linked collection of documents
US5838326A (en) * 1996-09-26 1998-11-17 Xerox Corporation System for moving document objects in a 3-D workspace
US5845278A (en) * 1997-09-12 1998-12-01 Inioseek Corporation Method for automatically selecting collections to search in full text searches
US5913215A (en) * 1996-04-09 1999-06-15 Seymour I. Rubinstein Browse by prompted keyword phrases with an improved method for obtaining an initial document set
US5931907A (en) * 1996-01-23 1999-08-03 British Telecommunications Public Limited Company Software agent for comparing locally accessible keywords with meta-information and having pointers associated with distributed information
US5991728A (en) * 1997-04-30 1999-11-23 Deroyal Industries, Inc. Method and system for the tracking and profiling of supply usage in a health care environment
US6052776A (en) * 1996-10-18 2000-04-18 Hitachi, Ltd. Branch operation system where instructions are queued until preparations is ascertained to be completed and branch distance is considered as an execution condition
US6138142A (en) * 1996-12-20 2000-10-24 Intel Corporation Method for providing customized Web information based on attributes of the requester
US6226412B1 (en) * 1995-03-24 2001-05-01 Barry H. Schwab Secure digital interactive system for unique product identification and sales
US6557102B1 (en) * 1997-09-05 2003-04-29 Koninklijke Philips Electronics N.V. Digital trust center for medical image authentication

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5347579A (en) 1989-07-05 1994-09-13 Blandford Robert R Personal computer diary
US5446575A (en) * 1991-06-28 1995-08-29 Digital Equipment Corp. System for constructing and loading a table data structure based on an associated configuration data
BR9606931A (en) * 1995-01-23 1997-11-11 British Telecomm Information access system and process for monitoring the insertion of information into a data store
US5781189A (en) * 1995-05-05 1998-07-14 Apple Computer, Inc. Embedding internet browser/buttons within components of a network component system
US5784619A (en) * 1995-05-05 1998-07-21 Apple Computer, Inc. Replaceable and extensible notebook component of a network component
US5929852A (en) * 1995-05-05 1999-07-27 Apple Computer, Inc. Encapsulated network entity reference of a network component system
US5592073A (en) * 1995-05-31 1997-01-07 Sunpower, Inc. Triac control circuit
US6486895B1 (en) * 1995-09-08 2002-11-26 Xerox Corporation Display system for displaying lists of linked documents
US5893109A (en) * 1996-03-15 1999-04-06 Inso Providence Corporation Generation of chunks of a long document for an electronic book system
US5706502A (en) * 1996-03-25 1998-01-06 Sun Microsystems, Inc. Internet-enabled portfolio manager system and method
US5794233A (en) 1996-04-09 1998-08-11 Rubinstein; Seymour I. Browse by prompted keyword phrases
US5819032A (en) * 1996-05-15 1998-10-06 Microsoft Corporation Electronic magazine which is distributed electronically from a publisher to multiple subscribers
US5727950A (en) * 1996-05-22 1998-03-17 Netsage Corporation Agent based instruction system and method
US5802518A (en) * 1996-06-04 1998-09-01 Multex Systems, Inc. Information delivery system and method
US6006227A (en) 1996-06-28 1999-12-21 Yale University Document stream operating system
US5987480A (en) * 1996-07-25 1999-11-16 Donohue; Michael Method and system for delivering documents customized for a particular user over the internet using imbedded dynamic content
US5842206A (en) * 1996-08-20 1998-11-24 Iconovex Corporation Computerized method and system for qualified searching of electronically stored documents
US6544295B1 (en) * 1996-11-18 2003-04-08 Starfish Software, Inc. Methods for managing preferred internet sites in a computer system having a browser
US5907843A (en) * 1997-02-27 1999-05-25 Apple Computer, Inc. Replaceable and extensible navigator component of a network component system
US5978828A (en) * 1997-06-13 1999-11-02 Intel Corporation URL bookmark update notification of page content or location changes
US6272673B1 (en) * 1997-11-25 2001-08-07 Alphablox Corporation Mechanism for automatically establishing connections between executable components of a hypertext-based application
US6049664A (en) * 1997-11-25 2000-04-11 Alphablox Corporation Tier-neutral development mechanism for hypertext based applications
US6209128B1 (en) * 1998-06-05 2001-03-27 International Business Machines Corporation Apparatus and method for providing access to multiple object versions

Patent Citations (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206951A (en) * 1987-08-21 1993-04-27 Wang Laboratories, Inc. Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types
US5408655A (en) * 1989-02-27 1995-04-18 Apple Computer, Inc. User interface system and method for traversing a database
US5727175A (en) * 1989-06-30 1998-03-10 Massachusetts Institute Of Technology Object-oriented computer user interface
US5682535A (en) * 1989-09-01 1997-10-28 Amdahl Corporation Operating system and data base using table access method with dynamic binding
US5632022A (en) * 1991-11-13 1997-05-20 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Encyclopedia of software components
US5428778A (en) * 1992-02-13 1995-06-27 Office Express Pty. Ltd. Selective dissemination of information
US5446891A (en) * 1992-02-26 1995-08-29 International Business Machines Corporation System for adjusting hypertext links with weighed user goals and activities
US5623659A (en) * 1993-04-30 1997-04-22 International Business Machines Corporation Parent/child subset locking scheme for versioned objects
US5717925A (en) * 1993-10-08 1998-02-10 International Business Machines Corporation Information catalog system with object-dependent functionality
US5523942A (en) * 1994-03-31 1996-06-04 New England Mutual Life Insurance Company Design grid for inputting insurance and investment product information in a computer system
US5435004A (en) * 1994-07-21 1995-07-18 International Business Machines Corporation Computerized system and method for data backup
US5623652A (en) * 1994-07-25 1997-04-22 Apple Computer, Inc. Method and apparatus for searching for information in a network and for controlling the display of searchable information on display devices in the network
US5717923A (en) * 1994-11-03 1998-02-10 Intel Corporation Method and apparatus for dynamically customizing electronic information to individual end users
US5491820A (en) * 1994-11-10 1996-02-13 At&T Corporation Distributed, intermittently connected, object-oriented database and management system
US5694594A (en) * 1994-11-14 1997-12-02 Chang; Daniel System for linking hypermedia data objects in accordance with associations of source and destination data objects and similarity threshold without using keywords or link-difining terms
US5761662A (en) * 1994-12-20 1998-06-02 Sun Microsystems, Inc. Personalized information retrieval using user-defined profile
US6226412B1 (en) * 1995-03-24 2001-05-01 Barry H. Schwab Secure digital interactive system for unique product identification and sales
US5708825A (en) * 1995-05-26 1998-01-13 Iconovex Corporation Automatic summary page creation and hyperlink generation
US5761656A (en) * 1995-06-26 1998-06-02 Netdynamics, Inc. Interaction between databases and graphical user interfaces
US5649186A (en) * 1995-08-07 1997-07-15 Silicon Graphics Incorporated System and method for a computer-based dynamic information clipping service
US5737599A (en) * 1995-09-25 1998-04-07 Rowe; Edward R. Method and apparatus for downloading multi-page electronic documents with hint information
US5781785A (en) * 1995-09-26 1998-07-14 Adobe Systems Inc Method and apparatus for providing an optimized document file of multiple pages
US5778367A (en) * 1995-12-14 1998-07-07 Network Engineering Software, Inc. Automated on-line information service and directory, particularly for the world wide web
US5931907A (en) * 1996-01-23 1999-08-03 British Telecommunications Public Limited Company Software agent for comparing locally accessible keywords with meta-information and having pointers associated with distributed information
US5721897A (en) * 1996-04-09 1998-02-24 Rubinstein; Seymour I. Browse by prompted keyword phrases with an improved user interface
US5913215A (en) * 1996-04-09 1999-06-15 Seymour I. Rubinstein Browse by prompted keyword phrases with an improved method for obtaining an initial document set
US5838326A (en) * 1996-09-26 1998-11-17 Xerox Corporation System for moving document objects in a 3-D workspace
US6052776A (en) * 1996-10-18 2000-04-18 Hitachi, Ltd. Branch operation system where instructions are queued until preparations is ascertained to be completed and branch distance is considered as an execution condition
US6138142A (en) * 1996-12-20 2000-10-24 Intel Corporation Method for providing customized Web information based on attributes of the requester
US5835905A (en) * 1997-04-09 1998-11-10 Xerox Corporation System for predicting documents relevant to focus documents by spreading activation through network representations of a linked collection of documents
US5991728A (en) * 1997-04-30 1999-11-23 Deroyal Industries, Inc. Method and system for the tracking and profiling of supply usage in a health care environment
US6557102B1 (en) * 1997-09-05 2003-04-29 Koninklijke Philips Electronics N.V. Digital trust center for medical image authentication
US5845278A (en) * 1997-09-12 1998-12-01 Inioseek Corporation Method for automatically selecting collections to search in full text searches

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080098307A1 (en) * 2006-10-20 2008-04-24 Airbus France Device for controlling the switching of a user interface
US8533600B2 (en) * 2006-10-20 2013-09-10 Airbus Operations Sas Device for controlling the switching of a user interface
US20140052723A1 (en) * 2012-08-20 2014-02-20 Research In Motion Limited Methods and devices for applying constraints to data object
US9223825B2 (en) * 2012-08-20 2015-12-29 Blackberry Limited Methods and devices for applying constraints to data object

Also Published As

Publication number Publication date
EP1090364A1 (en) 2001-04-11
CN1308749A (en) 2001-08-15
BR9910955A (en) 2001-03-06
JP2002520697A (en) 2002-07-09
EP1090364A4 (en) 2001-10-31
US6694357B1 (en) 2004-02-17
CN1236394C (en) 2006-01-11
WO2000002146A1 (en) 2000-01-13
AU4584399A (en) 2000-01-24

Similar Documents

Publication Publication Date Title
Karger et al. Haystack: A customizable general-purpose information management tool for end users of semistructured data
US6694357B1 (en) Accessing, viewing and manipulation of references to non-modifiable data objects
JP3655714B2 (en) Information filtering apparatus and recording medium
US7428705B2 (en) Web map tool
RU2376630C2 (en) File system for displaying different types of elements and from different physical locations
JP3683821B2 (en) Method for managing objects, method and system for sharing objects among user communities
US6094649A (en) Keyword searches of structured databases
US8150885B2 (en) Method and apparatus for organizing data by overlaying a searchable database with a directory tree structure
US7512586B2 (en) System and method for filtering and organizing items based on common elements
Davis Referential integrity of links in open hypermedia systems
EP0762297A2 (en) Use of proxy servers to provide annotation overlays
US20020007373A1 (en) System, method, and computer program product for knowledge management
US20030041117A1 (en) Method and apparatus for publishing hypermedia documents over wide area networks
US20070176947A1 (en) Information organization and navigation by user-generated associative overlays
WO2001016806A1 (en) An internet search system for retrieving selected results from a previous search
JP2001109742A (en) Method for integrating and processing web page parts and client device
Lynch Networked information resource discovery: an overview of current issues
US20050060353A1 (en) Method and system for personalized information management
Tanaka IntelligentPad as meme media and its application to multimedia databases
JP3588507B2 (en) Information filtering device
Wang et al. An application specific knowledge engine for researches in intelligent transportation systems
Apers Identifying internet-related database research
Foo et al. Managing world wide web publications
Davis et al. Automatic extraction of hypermedia bundles from the digital library
GB2326746A (en) Displaying a subset of a list of titles

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION