WO2000070807A2 - A method and system for user communication through internet notes - Google Patents

A method and system for user communication through internet notes Download PDF

Info

Publication number
WO2000070807A2
WO2000070807A2 PCT/IL2000/000260 IL0000260W WO0070807A2 WO 2000070807 A2 WO2000070807 A2 WO 2000070807A2 IL 0000260 W IL0000260 W IL 0000260W WO 0070807 A2 WO0070807 A2 WO 0070807A2
Authority
WO
WIPO (PCT)
Prior art keywords
note
user
notes
information
locator
Prior art date
Application number
PCT/IL2000/000260
Other languages
French (fr)
Other versions
WO2000070807A3 (en
Inventor
Oren Zuckerman
Original Assignee
Utok 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 Utok Inc. filed Critical Utok Inc.
Priority to AU43110/00A priority Critical patent/AU4311000A/en
Publication of WO2000070807A2 publication Critical patent/WO2000070807A2/en
Publication of WO2000070807A3 publication Critical patent/WO2000070807A3/en

Links

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/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Definitions

  • the present invention relates to user communication through notes attached to Internet locations.
  • the soft backbone of the Internet is (i) the myriad of computer files that are stored on server computers for distribution to client computers, (ii) the web server software that resides on the server computers, (iii) the web browser software that resides on the client computers, and (iv) client-server software applications.
  • Server computers are providers of information. They store information in the form of computer files for dissemination.
  • Client computers are seekers of information. They display information obtained from server computers on display devices, and they print information obtained from server computers on output devices.
  • Client-server software applications provide the ability for clients and servers to interact with each other. For example, such applications enable a server computer to execute program commands on a client computer, and they enable a client computer to execute program commands on a server computer.
  • home page and obtain space and bandwidth from a web hosting service, such as
  • a web page is an HTML file or an XML file or an active server page file, or another such file, which includes text and objects along with page layout instructions for arranging the text and the objects within a page.
  • Objects can include graphics, bitmap images, audio, video and other multimedia data. Objects can also include program instructions to be executed, such as Java applets and ActiveX controls. Web browsers display web pages on display devices, such as computer video monitors, and print web pages on output devices such as printers.
  • client computers typically have read-only privileges. A user who is reading a web page cannot typically modify the web page. Server computers have write privileges, and such privileges are typically restricted by "web masters.” who control web pages, to authors of web pages.
  • Some web pages provide message boards, for posting of messages by users. Messages are classified into various forums. A user who opens a web page including a message board can read messages posted by other users, reply to messages and create new messages.
  • An example of such a message board is the Delphi Forums of Delphi Internet Services Corporation of Cambridge, MA, available on the Web at http://ww.delphi.com.
  • Annotation systems for the Internet are described in U.S. Patents Nos. 5.826.025 and 5.822.539.
  • Annotation server software is used in the Stanford Integrated Digital Library Project, and in the United States Advanced Research Projects Agency ' s (ARPA) Object Service Architecture (OSA) Annotations Project, as described on the respective web pages http://www.objs.com/OSA/Annotations-Service.html, and http://www-diglib.stanford.edu/diglib/pub/reports/commentator.html.
  • Annotation systems for the Internet include:
  • Office 2000. available from Microsoft Corporation of Redmond, WA includes a workgroup Web Discussions feature.
  • Some of these systems are based upon merging annotation data onto a web page, and require that a web server modify web pages in accordance with annotation input. Others of these systems merge annotation data onto a web page by storing, with each annotation, a pointer identifying a location in the web page where the annotation belongs.
  • the present invention provides a user communication system whereby users can publish notes associated with Internet locations, such as web pages and IRC channels.
  • a note server manages the published notes in a database of notes, and arranges the notes so as to associate notes with Internet locations. Rather than merge the notes onto web pages, the present invention indexes the notes according to the Internet locations to which they are associated, such as universal resource locators (URLs) of web pages and Internet Relay Chat (IRC) addresses of IRC channels.
  • URLs universal resource locators
  • IRC Internet Relay Chat
  • a user can publish consumer information about a specific product, in the form of a note, on a web page advertising that product.
  • the note is stored in a database of notes, and indexed by the URL of the web page.
  • the web page itself is not altered.
  • the present invention provides a structured architecture for managing notes, which includes storing notes in a database, classifying notes by types and by user interest groups, adding notes to and deleting notes from the database, restricting distribution of notes to one or more specific users or to one or more specific user interest groups, rating notes, commenting on notes, and other features, all of which are described hereinbelow.
  • the present invention also provides statistical summary information, such as the quantities of notes of each type, that are associated with specific URLs and that are av ailable in the database; and the quantities of notes in each user interest group, that are associated with specific URLs and that are available in the database.
  • statistical summary information such as the quantities of notes of each type, that are associated with specific URLs and that are av ailable in the database; and the quantities of notes in each user interest group, that are associated with specific URLs and that are available in the database.
  • a method for communication among a plurality of users including the steps of authenticating a user based upon user identification information, extracting a locator of an Internet location from a web browser on a client computer, sending the user identification information and the extracted locator from the client computer to a server computer, and sending note information, based upon the user identification information and the extracted locator, from the server computer to the client computer.
  • a method for user communication including the steps of receiving user identification information and a locator of an Internet location from a client computer, extracting note information from a database of notes, based upon the user identification information and the locator, and sending the note information to the client computer.
  • a method for user communication including the steps of extracting a locator of an Internet location from a web browser, sending user identification information and the extracted locator to a server computer, and receiving note information, based upon the user information and the extracted locator, from the server computer.
  • a communication system for a plurality of users including an authentication processor authenticating a user based upon user identification information, a web browser in a client computer accessing Internet locations, a locator extractor in the client computer extracting a locator of an Internet location from the web browser, a client transmitter in the client computer sending user identification information and the extracted locator to a server computer, and a server transmitter in the server computer sending note information to the client computer, based upon the user information and the extracted locator.
  • an Internet note server including a receiver receiving user identification information and a locator of an Internet location from a client computer, a database manager extracting note information from a database of notes, based upon the user identification information and the locator, and a transmitter sending the note information to the client computer.
  • an Internet note client including a locator extractor extracting a locator of an Internet location from a web browser, a transmitter sending user identification information and the extracted locator to a server computer, and a receiver receiving note information, based upon the user identification information and the extracted locator, from the server computer.
  • a method for user communication including the steps of authenticating a user based upon user identification information, sending the user identification information and a pre-determined locator of an Internet location from the client computer to a server computer, and sending note information, based upon the user identification information and the pre-determined locator, from the server computer to the client computer.
  • a method for user communication including the steps of sending user identification information and a pre-determined locator of an Internet location to a server computer, and receiving note information, based upon the user identification information and the pre-determined locator, from the server computer.
  • a system for user communication including an authentication processor authenticating a user based upon user identification information, a client transmitter in a client computer sending the user identification information and a pre-determined locator of an Internet location to a server computer, and a server transmitter in the server computer sending note information to the client computer, based upon the user identification information and the pre-determined locator.
  • an Internet note client including a transmitter sending user identification information and a pre-determined locator of an Internet location to a server computer, and a receiver receiving note information, based upon the user identification information and the pre-determined locator, from the server computer.
  • a method for user communication including the steps of authenticating a user based upon user identification information, extracting a locator of an Internet location on a client computer, generating a note, sending the user identification information, the extracted locator and the note to a server computer, indexing the note by the extracted locator, and incorporating the indexed note into a database of notes.
  • a method for user communication including the steps of receiving user identification information, a locator of an Internet location and a note, from a client computer, indexing the note by the locator, and incorporating the indexed note into a database of notes.
  • a method for user communication including the steps of extracting a locator of an Internet location from a web browser, generating a note, and sending user identification information, the extracted locator and the note to a server computer.
  • a system for user communication including an authentication processor authenticating a user based upon user identification information, a web browser in a client computer accessing Internet locations, a locator extractor in the client computer extracting a locator of an Internet location from the web browser, a note creator in the client computer generating a note, a client transmitter in the client computer sending the user identification information, the extracted locator and the note to a server computer, and a database manager in the server computer incorporating the note into a database of notes, indexed by the extracted locator.
  • an Internet note server including a receiver receiving user identification information, a locator of an Internet location and a note, from a client computer, and a database manager incorporating the note into a database of notes and indexing it by the locator.
  • an Internet note client including, a locator extractor extracting a locator of an Internet location from a web browser, a note creator generating a note, and a transmitter sending user identification information, the extracted locator and the note to a server computer.
  • a method for user communication including the steps of authenticating a user based upon user identification information, extracting a locator of an Internet location from an Internet Relay Chat client on a client computer, sending the user identification information and the extracted locator from the client computer to a server compute, and sending note information, based upon the user identification information and the extracted locator, from the server computer to the client computer.
  • a user communication system including an authentication processor authenticating a user based upon user identification information, an Internet Relay Chat client in a client computer accessing Internet locations, a locator extractor in the client computer extracting a locator of an Internet location from the Internet Relay Chat client, a client transmitter in the client computer sending the user identification information and the extracted locator to a server computer, and a server transmitter in the server computer sending note information to the client computer, based upon the user identification information and the extracted locator.
  • Figure 1 is a simplified illustration of a user communication system operative in accordance with a preferred embodiment of the present invention
  • Figure 2 is a simplified flowchart of a method for reading notes, in accordance with a preferred embodiment of the present invention
  • Figure 3 is a simplified flowchart of a method for publishing notes, in accordance with a preferred embodiment of the present invention.
  • FIGS. 4A. 4B and 4C are illustrations of a user interface for a communication system in accordance with a preferred embodiment of the present invention.
  • the present invention provides a method and system for communication of
  • the notes are associated with Internet locations, such as web pages and Internet Relay Chat (IRC) channels, and can be read and published by users.
  • IRC Internet Relay Chat
  • a user can publish a note describing his experience on a cruise to the Bahamas, associated with a web page advertising such a cruise;
  • a user can publish a note describing his experience with a specific automobile, associated with a web page advertising such an automobile;
  • a user can publish a note with links to web pages related to a specific web page, associated with that web page;
  • a user can publish a note assigning a quantitative or qualitative rating to a web page, associated with that web page; and • A user can publish a note about an IRC channel, associated with an IRC address.
  • a note can be non-soliciting, in the sense that it is intended to be read but does not solicit a response.
  • An example of a non-soliciting note is information related to a web page.
  • a note can also be soliciting, in the sense that it solicits a response.
  • An example of a soliciting note is a "poll.”
  • a poll is a note describing a subject to be voted upon. A poll provides a list of opinions or selections, from which a reader is asked to choose one. or alternatively to choose one or more.
  • the notes of the present invention are preferably managed within a database of notes.
  • the database of notes is arranged in such a way that notes are associated with the universal resource locator (URL) of the Internet location to which they refer. For any given URL. the database can be queried to produce the notes associated with that
  • URL universal resource locator
  • a URL includes an Internet address and a descriptor for a file, such as an HTML file or an XML file, and is a standard locator used to identify an Internet location today.
  • a descriptor for a file such as an HTML file or an XML file
  • any other Internet locator may be employed in the present invention, instead of a URL, without deviating from the spirit of the present invention.
  • the present specification refers to a URL. since this is a familiar locator.
  • the notes stored in the database of notes preferably include headers and bodies.
  • a note header is a user-created summary of the content of the note.
  • the notes in the database of notes are preferably classified into types.
  • Types of notes include informational notes, opinion notes, web administration notes, help notes, notes with questions, commerce-enabled notes, advertising notes, polls, notes with images, notes with audio, notes with video, and other types. Classification by type is preferably based upon the objective of a note and on the objects contained therewithin.
  • the present invention preferably includes two special folders of notes: personal notes and private notes.
  • personal notes are notes that a user writes for himself, such as comments about web pages that the user wishes to save for future reference. Read permission for personal notes is restricted to the users who create them.
  • Private notes are notes that a user publishes for a restricted audience.
  • a user specifies the recipients who are permitted read access to the note.
  • a personal folder for the user ' s personal notes
  • a private folder for the user's private notes.
  • all notes other than personal and private notes are public notes, with general unrestricted read access permission for all users of the communication system. Public notes belong to the user communication system as a whole.
  • Personal and private notes can be considered as being un-typed; i.e., not having a t ⁇ pe. Alternatively, they can be considered to be of types "personal" and "private,” respectively.
  • the users of a communication system of the present invention are also preferably classified into user interest groups, such as computing, entertainment. science, travel and other interest groups.
  • user interest groups such as computing, entertainment. science, travel and other interest groups.
  • users of the present system select one or more user interest groups to which they elect to join and become members.
  • a list of available user interest groups is presented to a user upon his subscribing to the communication system.
  • the user can select one or more user interest groups to join from among the list, and can also add additional user interest groups to the list.
  • the user can cancel his membership to user interest groups and join user interest groups at any time.
  • an author creates a new note, he preferably signs the note by indicating his name as well as the name of an interest group for which the note is of relevance and to which it is to be associated within the database of notes.
  • the selection by a user of a user interest group to be associated with a note that the user creates, is preferably based upon the subject matter of the note.
  • a public note created by a user of the present system bears the name of a single interest group from among the one or more interest groups to which the user belongs, for associating the note thereto. Personal and private notes, however, are not associated with an interest group.
  • a public note created by a user of the present invention specifies a type for which it is to be classified.
  • certain types of notes can be put into the control of one or more administrators. Whereas all users have permission to read the notes of a controlled t ⁇ pe. the one or more administrators are the only users who have permission to publish notes associated with such controlled type.
  • advertising notes can be controlled by one or more advertising administrators, and commercial notes can be controlled by one or more commerce providers.
  • the notes associated with a specific URL can be classified into user interest groups, for presentation to a user.
  • the present invention also preferably includes a database of users. With each user there can be associated a profile, indicating the user interest groups to which the user belongs, and the types of notes that are of interest to the user.
  • the database of notes includes the following fields with each public note:
  • a user interest group (includes identifier and name); • a type (includes identifier and name); and
  • Note ratings are metrics determined by users of the communication system to rate notes, and are described hereinbelow. When a note is first created, its rating is initialized to an initial default value, such as zero.
  • the database does not include fields for user interest group, type and user rating.
  • personal and private notes can be considered to be of types “personal” and “private,” and the corresponding type identifiers can be set to “personal” and “private, " respectively, as mentioned hereinabove.
  • Notes can be sorted by any of the above fields for display purposes, according to a sorting mode selected interactively by a user.
  • a user can request that the notes be sorted by type or by user interest group or by date, or by other fields.
  • a preferred embodiment of a user communication system of the present invention contains various organizational principles, including: ( 1 ) the classification of notes by type; (2) the classification of users by user interest groups; (3) the distinction between personal, private and public notes; (4) the association of a public note with a unique user interest group and type; (5) the non-association of personal and private notes with types and with user interest groups: (6) the control of certain types of notes; and other principles.
  • These principles have been described in detail for the sake of clarity and definiteness, but it should be apparent to those skilled in the art that alternative organizational principles can be imposed on the user communication system, without departing from the spirit of the present invention.
  • multiple user interest groups can be associated with a note, rather than just a single user interest group: personal and private notes can also be associated with user interest groups; personal and private notes can have types associated with them, such as private polls; and notes can be addressed to one or more user interest groups as recipients, and read access permission can be restricted to such user interest groups.
  • the present invention When a user browses a web page using a web browser on a client computer, the present invention preferably extracts the URL of the web page being displayed by the web browser, and uses the extracted URL to send to the user note information associated with that web page.
  • the note information sent to a specific user is preferably customized for that user, so that the note information relates to the types of notes that are of interest to the user and conforms to the preferences of the user.
  • the note information initially sent to a user includes statistical information, such as the number of notes of a designated plurality of types in the database of notes, for the extracted URL.
  • Such note information can be displayed graphically by a series of rectangles, each rectangle containing a name of a type and a number, the number indicating the number of notes available in the database of notes for that type and for the URL of the web page currently being displayed.
  • the display can also include similar rectangles for the user's personal and private notes. Such a display is shown and described hereinbelow with reference to Figure 4.
  • the user can select from the display a particular type of note, for example by clicking on the appropriate rectangle.
  • the user is sent note headers for notes of the selected type associated with the URL of the web page currently being displayed.
  • the note headers contain summary information for the bodies of the notes.
  • the server computer sends note headers sorted by date, and the client computer sorts the headers according to a user ' s selection if the user requests a different sort order. From the display of the note headers, the user can select a particular note, for example by clicking on a note header. In response, the user is sent the body of the note, containing the content of the note.
  • the user When a note is received by a user, the user preferably has options to respond in one or more ways. For example, the user may:
  • Ratings are used as metrics for the informational value of a note.
  • ratings can also be used as a "garbage removal" mechanism for discarding notes in the database of notes. For example, a note can be discarded from the database when its average rating falls below 50, on a scale from 0 to 100. (To this end. care must be taken to avoid discarding a note when its rating is at an initial value of 0.) Alternatively, a note can be discarded when its average rating falls below 0. on a scale from -100 to 100.
  • a rating can be as simple as a single choice between “good “ and “bad.” based upon clicking a "thumbs-up” or “thumbs-down” icon, respectively; where, for example, “thumbs up” corresponds to a rating of 100, and “thumbs down " corresponds to a rating of -100.
  • conventional garbage removal mechanisms use criteria such as the age of a note, or a usage metric such as the number of "hits,” as a policy for discarding notes. It should be appreciated by those skilled in the art that a garbage removal mechanism in accordance with the present invention may also use a combination of criteria, such as rating and age and usage.
  • the present invention provides a "read mode,” enabling a user who is viewing a web page to receive note information regarding notes of various types associated with the web page being viewed, to receive note headers for notes of a selected type, and to receive a note for a selected header.
  • the present invention also provides a "publish mode,” enabling a user who is viewing a web page to publish his own note associated with the web page being viewed. The user can select a type of note to create and designate a user interest group to which the note is associated, and write his note and submit it for inclusion in the database of notes.
  • the user can designate if his note is personal or private. If it is private, the user can further designate the users who have read access permission for his note. For ease of designating such users, user lists can be created, so that instead of expressly designating each individual user who is to be a recipient of a private note, the user creating the note can simply incorporate a pre-defined user list.
  • a user can create a special type of note, referred to as a "poll," describing a topic open for voting and including a list of positions or opinions, for selection by a reader of the poll.
  • a poll When the user ' s poll is incorporated in the database of notes, other users who read the topic described in the poll can register their votes on the topic.
  • the poll may optionally include an expiration date, or a maximum number of votes to be processed, or both.
  • An expiration date serves as a deadline, indicating that users may only register their votes up to the deadline.
  • the notes published by users are stored in a central database of notes.
  • the database of notes may be stored on a server computer running server note software, or on another computer connected to such a server computer.
  • the notes may alternatively be stored on multiple inter-connected databases. Additionally, mirror copies of databases can be distributed on mirror web sites around the world, for reason of fault tolerance, in case one or more databases are inaccessible, and for reason of efficient delivery of notes to users around the world.
  • Server note software is used to manage the database of notes, including the processing of requests arriving from a plurality of users for reading notes and for publishing notes, and the querying of the database to extract note information, note headers and note bodies associated with a particular URL.
  • the server note software preferably authenticates users of the communication system. When a user is identified, server note software extracts the user ' s profile, which indicates the user ' s preferences such as types of interest, and identifies the user ' s personal and private note folders.
  • Server note software can run on a server computer as its own software application, or alternatively, it can be incorporated within web server software.
  • Client note software is used on a client computer to issue requests for information from a database of notes, to receive such information from a server computer, and to display it on a display device, such as a computer video monitor, for viewing by a user.
  • Client note software also provides a tool for creating notes and for uploading them to a server computer for inclusion in the database of notes.
  • client note software is used to open a connection between the client computer and the server computer, and to provide an interface for a user to identify himself. User identification is necessary for the purpose of authentication and for extracting the user ' s profile.
  • Client note software can run on a client computer as its own software application, or alternatively, it can be incorporated within a web browser.
  • FIG. 1 is a simplified illustration of a user communication system operative in accordance with a preferred embodiment of the present invention.
  • Shown in Figure 1 is a server computer 100 running server note software that interacts with a client computer 105 running client note software.
  • Server computer 100 preferably contains a note database 1 10 and a user database 1 15.
  • Note database 1 10 stores the notes that are published by users of the communication system of the present invention.
  • User database 1 15 contains identification information for users of the communication system, and note profiles for users.
  • a note profile for a user indicates the types of notes that are of interest to the user, and identifies the user's personal and private folders of notes.
  • a user's personal and private folders of notes need not be restricted to notes of a single type.
  • a user's private folder can include notes of many diverse types, published by a select group of users who are his "buddies.”
  • user database 115 contains descriptions of user interest groups.
  • each user interest group is identifiable by a unique group name. Users belonging to a specific user interest group are members of the group. A user may belong to multiple user interest groups.
  • Preferably user interest group membership information is stored in user database 115.
  • client computer 105 When client computer 105 initially runs client note software, a login module
  • a user opens a connection between client computer 105 and server computer 100.
  • a user is prompted by login module 120 to provide user information, such as the user ' s userid and password.
  • the user information is transmitted to a user authentication module 125 in server computer 100.
  • User authentication module 125 authenticates the user. and. if the user is successfully authenticated, permits the client computer to use the communication system and to access the database of notes.
  • user authentication module 125 may send the user information to user database 1 15. in order for the server note software to retrieve a note profile for the user.
  • the present invention operates while a user is viewing a web page within a web browser 130.
  • a URL extractor 135 extracts the URL of the web page currently being viewed by the user.
  • the extracted URL is transmitted to a note request transmitter 140 within a note communication interface 145.
  • note request transmitter 140 transmits the extracted URL to a note request processor 150 within server computer 100, in order to obtain note information associated with the web page that the user is viewing, preferably customized for the user's preferences.
  • note request transmitter 140 may transmit user information in addition to the extracted URL, so that server computer 100 does not have to store user information for each user connected to the communication system.
  • Note request processor 150 queries note database 1 10, based upon the extracted
  • Such note information can be statistical information, indicating for each type of note that is of interest to the user, the number of notes of such type that are associated with the web page being viewed; and further indicating for each interest group to which the user belongs, the number of notes of all types that are associated with such interest group and with the web page being viewed.
  • the note information is transmitted from note database 1 10 to note request processor 150, and then sent to a note receiver 155 in client computer 105.
  • Note receiver is also part of note communication interface 145.
  • Note receiver 155 organizes the note information, and transmits the note information to a note viewer 160. which displays the note information to the user in a display device such as a computer video monitor.
  • note viewer 160 can display one or more rectangles, each including a name of a type of note that is of interest to the user and the number of notes in the database of notes associated with the web page being viewed, for that type.
  • Note viewer can display note information sorted by user interest group, indicating the number of notes available in the database of notes for one or more user interest groups.
  • note viewer 160 displays the note information in a window external to the window of the web browser, so that the user can conveniently and simultaneously view both the web page and the note information.
  • Note communication interface 145 When viewing statistical note information, the user can select one or more types of notes, for example by clicking on one or more of the rectangles.
  • Note communication interface 145 then operates to request headers for notes of the selected type.
  • Such a request is sent to note request processor 150, which queries note database 1 10 for note headers of notes of the selected type associated with the web page that the user is viewing.
  • the query can additionally depend on the user's note profile, so as to filter note headers according to the user's preferences. For example, a user may prefer to filter out note headers for notes that contain adult content.
  • Note database 1 10 transmits the requested note headers to note request processor 150. which in turn transmits the note headers to note receiver 155.
  • Note receiver 155 organizes the note headers, for example by sorting them, and transmits the note headers to note viewer 160, which displays them to the user.
  • Note viewer 160 preferably displays the user interest group of each note together with the note headers. It should be apparent to those skilled in the art that the sorting and organization of the note information and the note headers may alternatively be performed by note viewer 160, or by note receiver 155 and note viewer 160 in conjunction.
  • note header information When viewing note header information, the user can select one or more note headers, for example by clicking on one or more of the note headers.
  • Note communication interface 145 then operates to request note bodies for the selected note headers. Such a request is again sent to note request processor 150, which queries note database 1 10 for the requested note bodies.
  • the query can additionally depend on the user ' s note profile, so as to provide restricted or enhanced note content. For example, a user may prefer to receive text-only versions of notes, without images embedded.
  • Note database 1 10 transmits the requested note bodies to note request processor 150. which in turn transmits the note bodies to note receiver 155.
  • Note receiver formats the note bodies and transmits them to note viewer 160 for display to the user.
  • note formatting may be performed by note viewer 160, or by note receiver 155 and note viewer 160 in conjunction.
  • the formatting of the note information and the note headers described above may be performed by note request processor 155. by note viewer 160 or by both of them in conjunction.
  • client note software when reading a note body, client note software enables a user to respond to the note by commenting on the note, forwarding the note to another user, by registering a vote, if the note is a poll, and/or by assigning a rating to the note.
  • the mechanism for commenting on a note is the same mechanism used for publishing a new note, as described hereinbelow.
  • the present invention operates by authenticating a user through login module 120 and user authentication module 125, and extracting the URL of a web page being viewed by a user within web browser 130 through URL extractor 135. as described hereinabove with reference to the read mode.
  • the user can publish a note associated with the web page that he is viewing, and upload it to server computer 100 for inclusion in note database 1 10.
  • a note creator 165 is used to create a new note.
  • the new note can be a non-soliciting note, such as an informational note that provides supplemental information, or an opinion note associated with the web page being viewed, or another type of note.
  • the new note can be a soliciting note, such as a poll.
  • FIG. 2 is a simplified flowchart of a method for reading notes, in accordance with a preferred embodiment of the present invention.
  • the flowchart is divided into three columns. The leftmost column includes steps performed by a user, the second column from the left includes steps performed by a client computer, and the rightmost column includes steps performed by a server computer.
  • the client computer connects to an application server computer, in order to run a client-server application; namely, the user communication system of the present invention.
  • the server computer authenticates a user.
  • the user opens an Internet web page in a web browser.
  • the client computer extracts the URL of the web page being displayed by the web browser, in order to identify the current web page being viewed by the user.
  • the client computer sends the URL and the user information to the server computer.
  • the server computer queries a note database based upon the extracted URL and based upon the user information.
  • the server computer sends note statistical information classified by type of note and by user interest group.
  • the client computer displays the note statistical information.
  • the user while viewing the note statistical information, selects a type or a user interest group.
  • the client computer requests header information for notes of the selected type or from the selected user interest group.
  • the server computer queries the note database for the requested header information.
  • the server computer sends the requested header information to the client computer.
  • the client computer sorts and displays the header information.
  • the client computer requests the note message body corresponding to the selected note header.
  • the server computer queries the note database for the requested note message body.
  • the server computer sends the requested note message body to the client computer.
  • the client computer displays the note message body.
  • the user while viewing the note message body, assigns a rating to the note, or registers a vote if the note is a poll.
  • the client computer sends the user rating and/or the vote to the server computer.
  • the server computer updates the user database and the note database based upon the user rating and/or the vote.
  • client note software restricts a user to one vote per poll.
  • the user database keeps track of votes registered by a user, so as to limit the user to registration of a single vote per poll.
  • step 305 the user, while viewing the note message body, selects an available action, such as submitting a comment on the note or forwarding the note to another user. Alternatively, the user can close the note.
  • Figure 3 is a simplified flowchart of a method for publishing notes, in accordance with a preferred embodiment of the present invention.
  • Figure 3 follows the style of Figure 2, with separate columns for steps carried out by a user, by a client computer and by a server computer.
  • the client computer connects to an application server computer.
  • the server computer authenticates the user.
  • the user opens a web page using a web browser.
  • the client computer extracts the URL of the web page being viewed by the user.
  • the user desires to publish a note associated with the web page that he is viewing.
  • the user designates whether his note is personal, private or public. If the note is public, then the user designates a type for his note.
  • the user designates a user interest group for classifying his note, if it is a public note.
  • the user selects recipients for his note, if it is a private note.
  • the user may have a prepared "buddy " list for a group of users who are mutual friends, and he may designate that the private note he is creating is to be restricted for read permission to such a list.
  • the user inserts text into a new note. He also inserts objects to be embedded in the note, such as images, audio and video.
  • the user inserts his signature into the new note, so that readers of the note know who authored the note. Alternatively, the user may wish his new note to remain anonymous.
  • the user includes a list of choices for voting selection. Furthermore, he can set a lifetime for the poll, by indicating at step 355 an expiration date for registering votes on the poll and/or a maximum tally, i.e., a maximum number of votes to be registered, or both.
  • the client computer sends the extracted URL, the note data, the user information and a publication request to the server computer.
  • the server computer updates the note database and the user database, to appropriately incorporate the new note.
  • Figures 4A, 4B and 4C are illustrations of a user interface for a communication system in accordance with a preferred embodiment of the present invention.
  • Figure 4A illustrates a user interface for accessing note information in the form of statistical data, indicating the number of notes of specific types currently stored in the database of notes.
  • the data illustrated in Figure 4A is organized into three rows of note information.
  • the top row contains information for public notes, organized by type.
  • the middle row contains information for public notes, organized by user interest group.
  • the bottom row contains information for the user ' s personal and private folders of notes.
  • Also included in the bottom row is a rectangle marked "NEW.” Clicking on this rectangle results in the opening of a note creation tool.
  • the top row indicates the availability of 97 notes of type "poll,” 25 notes of type “debate” and 3 notes of type "articles.”
  • the middle row indicates the availability of 60 notes for the user interest group “20 something” and 6 notes for the user interest group “Cats.”
  • the bottom row indicates the availability of 5 personal notes ("Self) and 7 private notes.
  • pull-down menus serve as a convenient way to make additional data available without cluttering a display window with too much information.
  • a pull-down menu pops open a list of additional items, such as additional types of notes and additional user interest groups. Clicking on a type or user interest group within a list indicates a selection by a user of such type or such user interest group. In response, a viewer displays a rectangle for the type or the user interest group selected, instead of the type or user group currently being displayed.
  • Figure 4B illustrates a user interface presented to a user subsequent to his clicking on the "20 something" rectangle in Figure 4A.
  • the user interface displays note header information, indicating headers for notes currently stored in the database of notes.
  • the headers illustrated in Figure 4B correspond to notes from the "20 something " group, and are sorted by type.
  • Figure 4C illustrates a user interface presented to a user subsequent to his clicking on the header reading "A great bar in NYC I really love " in Figure 4B.
  • the user interface displays a specific note.
  • the note illustrated in Figure 4C contains the header "A great bar in NYC I really love " It is dated April 12, 1999. It contains the message body "I was in this great bar " It was authored by a user named “Billy. " and was designated as being associated with a user interest group named "20 something.
  • the user interface illustrated in Figure 4C includes at the bottom options for forwarding the note to another user, for commenting on the note, and for rating the note.
  • the rating mechanism illustrated is a simple "thumbs-up / thumbs-down” rating. Each user who reads the note can rate it, by clicking on either the "thumbs-up” or the “thumbs-down” icon, and the various ratings received are accumulated on a server computer into an average rating for the note.
  • the present invention is preferably implemented as a combination of client computer software and server computer software.
  • the present invention is implemented using (i) standard query language (SQL) database management software for management and organization of the databases of notes and users, (ii) custom server operations, and (iii) a custom protocol for communication between servers and clients.
  • SQL standard query language
  • database management software are Oracle ⁇ i by Oracle Corporation of Redwood Shores, CA, and Access by Microsoft Corporation of Redmond, WA.
  • uTok (pronounced "you talk") is used in the ensuing description with reference to a user communication system, operative through Internet notes in accordance with the present invention.
  • client computer software for the uTok system is referred to as a uTok client
  • server computer software for the uTok system is referred to as a uTok server.
  • Tables I - XIX describe the databases used in a preferred embodiment of the present invention.
  • the leftmost columns of Tables I - XIX list various fields associated with the objects (such as notes and users) indicated in the titles of the respective tables. The fields are used to identify the objects to which they relate. For each specific object there is data entered into the fields associated therewith, which describes the properties of the object.
  • Table I a specific note is identified by its URL data, note ID data, group ID data, etc., as indicated in Table I; and a specific user is identified by his Userid data, nickname data, password data, etc., as indicated in Table NIL
  • Tables I - XIX describe the data type (numerical / text) for the entries in each field.
  • the rightmost columns of Tables I - XIX contain comments about the fields.
  • the fields listed in Tables I - XIX should be self-explanatory to those skilled in the art, based on the names of the fields and the comments provided.
  • Table I lists fields associated with individual notes.
  • Table II lists fields associated with note recipients.
  • Table III lists fields associated with note recipients for notifications of changes.
  • Table IV lists fields associated with super categories of types for notes.
  • Table V lists fields associated with types for notes.
  • Table VI lists fields associated with user interest groups.
  • Table VII lists fields associated with users.
  • Table VIII lists fields associated with users ' memberships in user interest groups.
  • Table IX lists fields associated with client computer parameters.
  • Table X lists fields associated with notes waiting to be read by a specific user, such as private notes and notifications of changes.
  • Table XI lists fields associated with note summaries by type.
  • Table XII lists fields associated with note summaries by user interest group.
  • Table XIII lists fields associated with system messages.
  • Table XIV lists fields associated with log tables.
  • Tables XV - XIX relate to data stored in the application server.
  • Table XV lists fields associated with the array of users of the system.
  • Table XVI lists fields associated with the array of user interest groups.
  • Table XVII lists fields for system parameters.
  • Table XVIII lists fields for "hot lists" of URL, used by client software to access notes associated with the most popular URLs, as described hereinbelow.
  • Table XIX lists fields associated with system messages. _> Server Operations
  • server operations in a preferred embodiment of the present invention the following server operations are supported.
  • Parent NID :PARENT NID.
  • Communication Protocol Regarding communication between client and server computers, in a preferred embodiment the present invention is implemented using a custom protocol for communication between client and server computers. The following is a description of a preferred protocol.
  • This message is sent by the Registration Wizard to pass the new user's information and obtain a UID. (UID in header should be set to zero, the password in the header is the newly selected password.)
  • This message is sent to the dispatcher. It is used in order to send the last session client statistics and receive various information for this session (including the application server IP address).
  • This message is sent by the client if no connection to the server has been done for over MSEC_HEARTBEAT milliseconds, or if the client was notified on waiting events by the reply error-code of the last message (UTOK_RETCODE_EVENTS). Once the waiting messages NIDs have been transferred to the client, they should be removed by the server. It is up to the client to keep the specific NID for later viewing. • MSG_LOGOUT
  • This message is sent by the client to signal that it will stop working with the current application server.
  • NB a client might stop working without logging out (in case of unexpected connection loss).
  • This message retrieves the number of messages posted on the given URL and the last NID for each of the following categories: Self. Personal. By Type. By Interest Groups (also known as user-groups) and By Dominant Groups.
  • the following message is used in order to retrieve a list of headers for a particular category: Personal/Self, by Group or by Type.
  • the headers are returned in small chunks (e.g., 50 — the exact number is set in the server).
  • the server signals the total number of headers matching the request and the number of headers sent it this chunk.
  • NB in the first request, the client sends MAX_LONG as the LAST_NID to return. In next calls, it returns the number of the highest note it received in the last chunk.
  • This message is used in order to retrieve a single message header. It is only used for retrieving waiting message headers.
  • This request retrieves the complete note information, including header information for its comments.
  • Used in order to rate the vote for the current pole and optionally add it to the NOC list.
  • TOTAL_MATCHES indicates the number of matches from FIRST -JID and on. Thus, if TOTAL_MATCHES > N_MATCHES the client knows that it may ask for an additional chunk.
  • This message updates all the information about a user. Notice that in order to change the password, the old password must be sent in the header of the request and the new password in the body (see below). The new password applies starting the next request.
  • MSG_FIND_GROUP This message returns a list of groups that match the given search string or GID. Once again, this information may be returned in chunks in case the reply yields too many results. In that case, if the user wishes to get another chunk of groups it should issue a new request with the FIRST_GID set to the last GID it got in the previous chunk, plus one.
  • TOTAL_MATCHES indicates the number of matches from FIRST_GID and on. Thus, if TOTAL_MATCHES > N_MATCHES the client knows that it may ask for an additional chunk. If QUERY_STRTNG is empty, then any group matches. • MSG_SPECIAL_GROUPS
  • This message is used in order to retrieve special lists of groups, according to the SPECIAL_TYPE flag.
  • RANDOM returns a list of groups selected randomly by the server.
  • TOP_RATED returns the list of top rated groups.
  • MOST_POPULAR returns a list of groups with the maximal number of subscribers.
  • BY_USER uses the TARGET_UID to return all the groups to which the target user is subscribed to.
  • This message adds a user to a group. It is also used to change the anonymous status of a user who has already joined the given group.
  • This message returns a list of the top-rated sites associated with the given group. Since there is no unique key in the reply, FIRST_RESULT_NUM is used to track the last reply.
  • the present invention uses the conventions described hereinbelow.
  • the uTok client version reported in the header is too old to communicate with this server.
  • the given key value (UID, NID, TID. GID%) is invalid.
  • This code signals the client that there are messages waiting for him, and that he should issue a GET_WAITING_REQUEST as soon as possible to retrieve them.
  • a system of the present invention can provide header information as a first retrieval stage, followed by note message bodies as a second retrieval stage.
  • a system of the present invention can provide note message bodies directly as a first (and only) retrieval stage.
  • the communication system may keep a dynamic "hot list" of URLs for the most frequently visited web pages by users of a particular interest group, or by all users of the communication system.
  • a hot list may be maintained on the client computer, or on the server computer.
  • the client computer can send one or more URLs from such a list to the sen er computer, instead of extracting a URL from a web browser.
  • the hot list is maintained on the server computer, there is no need to send a URL from the client computer to the server computer.
  • a user of the communication system of the present invention can submit a URL directly to the note database, for example, by typing in the full URL data in a command-line interface.
  • the communication system of the present invention can accept "virtual URLs; " namely. URLs that do not correspond with actual URLs.
  • virtual URLs namely. URLs that do not correspond with actual URLs.
  • one or more users can publish a note associated with a fictitious URL named "abc " and the notes associated with this URL can be read by users who access this URL.
  • the communication system of the present invention can be implemented on a client computer that does not include web browser software.
  • the present invention enables users of the communication system to read and publish notes without the necessity of installing a web browser on their computer.
  • the ability to run a user communication system without a web browser is an advantage for computers with limited processing capability and limited memory, such as palmtop computers running a Windows CE operating system, and other mobile computers, since web browsers typically require extensive processing and memory.
  • client note software may include functionality for finding users currently on-line who are accessing the same web page, or for getting information about other users of the communication system.
  • client note software may include functionality for finding user interest groups, for joining user interest groups and for leaving user interest groups, similar to the way conferencing software, such as NetMeeting ® of Microsoft Corporation of Redmond, WA, or Internet Phone ® of VocalTec of Northvale, NJ, operates.
  • conferencing software such as NetMeeting ® of Microsoft Corporation of Redmond, WA, or Internet Phone ® of VocalTec of Northvale, NJ.
  • client note software can pass the related URL in the note to the web browser, and instruct the web browser to display the related web page. The web browser is thus controlled to advance from the current web page to a related web page.
  • client note software can repeatedly instruct the web browser to display the related URLs.
  • client note software can control a web browser so as to provide a "URL slide show" or a "URL tour,” by using note information to advance sequentially from one URL to another.
  • the URLs defining the tour are determined from the database of notes, by traversing from one URL to the next through a linked list.
  • IRC Internet Relay Chats
  • the present invention can be used to create a statistical database for web sites, using information collected from the distribution of various user interest groups over web sites, and by using the rating information described hereinabove.

Abstract

A method for communication among a plurality of users including the steps of authenticating (125) a user based upon user identification information, extracting a locator (135) of an Internet location from a web browser (130) on a client, sending the user identification information and the extracted locator from the client computer (105) to a server computer (100), and sending note information, based upon the user identification information and the extracted locator, from the server computer to the client computer. A system is also described and claimed.

Description

A Method and System for User Communication through Internet Notes
FIELD OF THE INVENTION
The present invention relates to user communication through notes attached to Internet locations.
BACKGROUND OF THE INVENTION The Internet, as it exists today, is a vast cosmos of information that is distributed among millions of computers. In its simplest form, the soft backbone of the Internet is (i) the myriad of computer files that are stored on server computers for distribution to client computers, (ii) the web server software that resides on the server computers, (iii) the web browser software that resides on the client computers, and (iv) client-server software applications. Server computers are providers of information. They store information in the form of computer files for dissemination. Client computers are seekers of information. They display information obtained from server computers on display devices, and they print information obtained from server computers on output devices. Client-server software applications provide the ability for clients and servers to interact with each other. For example, such applications enable a server computer to execute program commands on a client computer, and they enable a client computer to execute program commands on a server computer.
Most users of the Internet today are interested in discovering information - information about providers of goods and services, information about the arts and the sciences, information about sports and about history and about the weather, and much more. In order for a person to provide information and make it available on the Internet, he typically has to post the information on a server computer. This requires him to have a web server running on his computer, and to have his computer connected to the Internet with appropriate bandwidth. Alternatively, he can "rent" a
"home page," and obtain space and bandwidth from a web hosting service, such as
GeoCities of Marina del Rey, CA, NaviSite, Inc. of Andover, MA and Verio, Inc., of
Englewood. CO. Information on the Internet is usually provided within web pages. A web page is an HTML file or an XML file or an active server page file, or another such file, which includes text and objects along with page layout instructions for arranging the text and the objects within a page. Objects can include graphics, bitmap images, audio, video and other multimedia data. Objects can also include program instructions to be executed, such as Java applets and ActiveX controls. Web browsers display web pages on display devices, such as computer video monitors, and print web pages on output devices such as printers.
Due to the client-server paradigm, client computers typically have read-only privileges. A user who is reading a web page cannot typically modify the web page. Server computers have write privileges, and such privileges are typically restricted by "web masters." who control web pages, to authors of web pages.
The fact that client computers have read-only privileges for web pages is important to ensure control of information that is disseminated over the Internet. However, it makes it difficult for users who are reading web pages to annotate the pages with comments and other supplemental information.
Some web pages provide message boards, for posting of messages by users. Messages are classified into various forums. A user who opens a web page including a message board can read messages posted by other users, reply to messages and create new messages. An example of such a message board is the Delphi Forums of Delphi Internet Services Corporation of Cambridge, MA, available on the Web at http://ww.delphi.com.
Annotation systems for the Internet are described in U.S. Patents Nos. 5.826.025 and 5.822.539. Annotation server software is used in the Stanford Integrated Digital Library Project, and in the United States Advanced Research Projects Agency's (ARPA) Object Service Architecture (OSA) Annotations Project, as described on the respective web pages http://www.objs.com/OSA/Annotations-Service.html, and http://www-diglib.stanford.edu/diglib/pub/reports/commentator.html. Annotation systems for the Internet include:
• Alexa 3.0 by Alexa Internet of San Francisco, CA
• Hot Off The Web by Insight Development Corporation of San Ramon, CA • Hot Notions. Net Notions and Tagalongs by Sideware Systems. Inc. of North Vancouver. British Columbia
In addition, Office 2000. available from Microsoft Corporation of Redmond, WA, includes a workgroup Web Discussions feature.
Some of these systems are based upon merging annotation data onto a web page, and require that a web server modify web pages in accordance with annotation input. Others of these systems merge annotation data onto a web page by storing, with each annotation, a pointer identifying a location in the web page where the annotation belongs.
These systems do not provide a database-type interface for handling multiple annotations per web page, with classification of annotations and presentation of statistical information pertaining thereto. It is difficult for a user of these systems to readily ascertain what information is available in the annotations, without first accessing the annotations themselves, or header summaries of the annotations.
SUMMARY OF THE INVENTION The present invention provides a user communication system whereby users can publish notes associated with Internet locations, such as web pages and IRC channels. A note server manages the published notes in a database of notes, and arranges the notes so as to associate notes with Internet locations. Rather than merge the notes onto web pages, the present invention indexes the notes according to the Internet locations to which they are associated, such as universal resource locators (URLs) of web pages and Internet Relay Chat (IRC) addresses of IRC channels. As such, unlike prior art systems, the present invention does not modify Internet web pages.
For example, in a preferred embodiment of the present invention, a user can publish consumer information about a specific product, in the form of a note, on a web page advertising that product. The note is stored in a database of notes, and indexed by the URL of the web page. The web page itself is not altered. The present invention provides a structured architecture for managing notes, which includes storing notes in a database, classifying notes by types and by user interest groups, adding notes to and deleting notes from the database, restricting distribution of notes to one or more specific users or to one or more specific user interest groups, rating notes, commenting on notes, and other features, all of which are described hereinbelow.
The present invention also provides statistical summary information, such as the quantities of notes of each type, that are associated with specific URLs and that are av ailable in the database; and the quantities of notes in each user interest group, that are associated with specific URLs and that are available in the database. Thus a user of a communication system of the present invention can readily obtain an overview of the note information that is available to him in the database, associated with specific URLs.
There is thus provided in accordance with a preferred embodiment of the present invention a method for communication among a plurality of users including the steps of authenticating a user based upon user identification information, extracting a locator of an Internet location from a web browser on a client computer, sending the user identification information and the extracted locator from the client computer to a server computer, and sending note information, based upon the user identification information and the extracted locator, from the server computer to the client computer.
There is also provided in accordance with a preferred embodiment of the present invention a method for user communication including the steps of receiving user identification information and a locator of an Internet location from a client computer, extracting note information from a database of notes, based upon the user identification information and the locator, and sending the note information to the client computer. There is further provided in accordance with a preferred embodiment of the present invention a method for user communication including the steps of extracting a locator of an Internet location from a web browser, sending user identification information and the extracted locator to a server computer, and receiving note information, based upon the user information and the extracted locator, from the server computer.
There is additionally provided in accordance with a preferred embodiment of the present invention a communication system for a plurality of users including an authentication processor authenticating a user based upon user identification information, a web browser in a client computer accessing Internet locations, a locator extractor in the client computer extracting a locator of an Internet location from the web browser, a client transmitter in the client computer sending user identification information and the extracted locator to a server computer, and a server transmitter in the server computer sending note information to the client computer, based upon the user information and the extracted locator.
There is further provided in accordance with a preferred embodiment of the present invention an Internet note server including a receiver receiving user identification information and a locator of an Internet location from a client computer, a database manager extracting note information from a database of notes, based upon the user identification information and the locator, and a transmitter sending the note information to the client computer.
There is still further provided in accordance with a preferred embodiment of the present invention an Internet note client including a locator extractor extracting a locator of an Internet location from a web browser, a transmitter sending user identification information and the extracted locator to a server computer, and a receiver receiving note information, based upon the user identification information and the extracted locator, from the server computer.
There is also provided in accordance with a preferred embodiment of the present invention a method for user communication including the steps of authenticating a user based upon user identification information, sending the user identification information and a pre-determined locator of an Internet location from the client computer to a server computer, and sending note information, based upon the user identification information and the pre-determined locator, from the server computer to the client computer.
There is additionally provided in accordance with a preferred embodiment of the present invention a method for user communication including the steps of sending user identification information and a pre-determined locator of an Internet location to a server computer, and receiving note information, based upon the user identification information and the pre-determined locator, from the server computer. There is further provided in accordance with a preferred embodiment of the present invention a system for user communication including an authentication processor authenticating a user based upon user identification information, a client transmitter in a client computer sending the user identification information and a pre-determined locator of an Internet location to a server computer, and a server transmitter in the server computer sending note information to the client computer, based upon the user identification information and the pre-determined locator. There is yet further provided in accordance with a preferred embodiment of the present invention an Internet note client including a transmitter sending user identification information and a pre-determined locator of an Internet location to a server computer, and a receiver receiving note information, based upon the user identification information and the pre-determined locator, from the server computer. There is moreover provided in accordance with a preferred embodiment of the present invention a method for user communication including the steps of authenticating a user based upon user identification information, extracting a locator of an Internet location on a client computer, generating a note, sending the user identification information, the extracted locator and the note to a server computer, indexing the note by the extracted locator, and incorporating the indexed note into a database of notes.
There is also provided in accordance with a preferred embodiment of the present invention a method for user communication including the steps of receiving user identification information, a locator of an Internet location and a note, from a client computer, indexing the note by the locator, and incorporating the indexed note into a database of notes.
There is additionally provided in accordance with a preferred embodiment of the present invention a method for user communication including the steps of extracting a locator of an Internet location from a web browser, generating a note, and sending user identification information, the extracted locator and the note to a server computer.
There is further provided in accordance with a preferred embodiment of the present invention a system for user communication including an authentication processor authenticating a user based upon user identification information, a web browser in a client computer accessing Internet locations, a locator extractor in the client computer extracting a locator of an Internet location from the web browser, a note creator in the client computer generating a note, a client transmitter in the client computer sending the user identification information, the extracted locator and the note to a server computer, and a database manager in the server computer incorporating the note into a database of notes, indexed by the extracted locator.
There is yet further provided in accordance with a preferred embodiment of the present invention an Internet note server including a receiver receiving user identification information, a locator of an Internet location and a note, from a client computer, and a database manager incorporating the note into a database of notes and indexing it by the locator.
There is moreover provided in accordance with a preferred embodiment of the present invention an Internet note client including, a locator extractor extracting a locator of an Internet location from a web browser, a note creator generating a note, and a transmitter sending user identification information, the extracted locator and the note to a server computer.
There is additionally provided in accordance with a preferred embodiment of the present invention a method for user communication including the steps of authenticating a user based upon user identification information, extracting a locator of an Internet location from an Internet Relay Chat client on a client computer, sending the user identification information and the extracted locator from the client computer to a server compute, and sending note information, based upon the user identification information and the extracted locator, from the server computer to the client computer.
There is additionally provided in accordance with a preferred embodiment of the present invention a user communication system including an authentication processor authenticating a user based upon user identification information, an Internet Relay Chat client in a client computer accessing Internet locations, a locator extractor in the client computer extracting a locator of an Internet location from the Internet Relay Chat client, a client transmitter in the client computer sending the user identification information and the extracted locator to a server computer, and a server transmitter in the server computer sending note information to the client computer, based upon the user identification information and the extracted locator.
BRIEF DESCRIPTION OF THE DRAWINGS The present invention will be more fully understood and appreciated from the following detailed description, taken in conjunction with the drawings in which: Figure 1 is a simplified illustration of a user communication system operative in accordance with a preferred embodiment of the present invention;
Figure 2 is a simplified flowchart of a method for reading notes, in accordance with a preferred embodiment of the present invention; Figure 3 is a simplified flowchart of a method for publishing notes, in accordance with a preferred embodiment of the present invention; and
Figures 4A. 4B and 4C are illustrations of a user interface for a communication system in accordance with a preferred embodiment of the present invention.
DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT
The present invention provides a method and system for communication of
Internet notes. The notes are associated with Internet locations, such as web pages and Internet Relay Chat (IRC) channels, and can be read and published by users. The following are examples of such notes: • A user can publish a note with his personal opinions of hotels in Washington, associated with a web page listing hotels in Washington;
• A user can publish a note describing his experience on a cruise to the Bahamas, associated with a web page advertising such a cruise;
• A user can publish a note describing his experience with a specific automobile, associated with a web page advertising such an automobile;
• A user can publish a note with links to web pages related to a specific web page, associated with that web page;
• A user can publish a note assigning a quantitative or qualitative rating to a web page, associated with that web page; and • A user can publish a note about an IRC channel, associated with an IRC address.
The present invention includes various types of notes. A note can be non-soliciting, in the sense that it is intended to be read but does not solicit a response. An example of a non-soliciting note is information related to a web page. A note can also be soliciting, in the sense that it solicits a response. An example of a soliciting note is a "poll." A poll is a note describing a subject to be voted upon. A poll provides a list of opinions or selections, from which a reader is asked to choose one. or alternatively to choose one or more.
The notes of the present invention are preferably managed within a database of notes. The database of notes is arranged in such a way that notes are associated with the universal resource locator (URL) of the Internet location to which they refer. For any given URL. the database can be queried to produce the notes associated with that
URL.
A URL includes an Internet address and a descriptor for a file, such as an HTML file or an XML file, and is a standard locator used to identify an Internet location today. However, it should be appreciated that any other Internet locator may be employed in the present invention, instead of a URL, without deviating from the spirit of the present invention. For the sake of definiteness and clarity, the present specification refers to a URL. since this is a familiar locator.
The notes stored in the database of notes preferably include headers and bodies. A note header is a user-created summary of the content of the note.
The notes in the database of notes are preferably classified into types. Types of notes include informational notes, opinion notes, web administration notes, help notes, notes with questions, commerce-enabled notes, advertising notes, polls, notes with images, notes with audio, notes with video, and other types. Classification by type is preferably based upon the objective of a note and on the objects contained therewithin.
In addition, the present invention preferably includes two special folders of notes: personal notes and private notes. Personal notes are notes that a user writes for himself, such as comments about web pages that the user wishes to save for future reference. Read permission for personal notes is restricted to the users who create them.
Private notes are notes that a user publishes for a restricted audience. When publishing a private note, a user specifies the recipients who are permitted read access to the note. Preferably, with every user of the present invention there is made available a personal folder for the user's personal notes, and a private folder for the user's private notes. In a preferred embodiment of the present invention, all notes other than personal and private notes are public notes, with general unrestricted read access permission for all users of the communication system. Public notes belong to the user communication system as a whole.
Personal and private notes can be considered as being un-typed; i.e., not having a t\ pe. Alternatively, they can be considered to be of types "personal" and "private," respectively.
The users of a communication system of the present invention are also preferably classified into user interest groups, such as computing, entertainment. science, travel and other interest groups. Preferably, users of the present system select one or more user interest groups to which they elect to join and become members. In a preferred embodiment of the present invention, a list of available user interest groups is presented to a user upon his subscribing to the communication system. The user can select one or more user interest groups to join from among the list, and can also add additional user interest groups to the list. In addition, the user can cancel his membership to user interest groups and join user interest groups at any time.
When an author creates a new note, he preferably signs the note by indicating his name as well as the name of an interest group for which the note is of relevance and to which it is to be associated within the database of notes. The selection by a user of a user interest group to be associated with a note that the user creates, is preferably based upon the subject matter of the note.
Preferably, a public note created by a user of the present system bears the name of a single interest group from among the one or more interest groups to which the user belongs, for associating the note thereto. Personal and private notes, however, are not associated with an interest group. Preferably, a public note created by a user of the present invention specifies a type for which it is to be classified.
In a preferred embodiment of the present invention, certain types of notes, referred to as controlled types, can be put into the control of one or more administrators. Whereas all users have permission to read the notes of a controlled t\ pe. the one or more administrators are the only users who have permission to publish notes associated with such controlled type. For example, advertising notes can be controlled by one or more advertising administrators, and commercial notes can be controlled by one or more commerce providers. The notes associated with a specific URL can be classified into user interest groups, for presentation to a user.
The present invention also preferably includes a database of users. With each user there can be associated a profile, indicating the user interest groups to which the user belongs, and the types of notes that are of interest to the user.
In a preferred embodiment of the present invention, the database of notes includes the following fields with each public note:
• a note identifier;
• a date; • a note author (includes identifier);
• a note header;
• a note body;
• a URL:
• a user interest group (includes identifier and name); • a type (includes identifier and name); and
• a note rating.
Note ratings are metrics determined by users of the communication system to rate notes, and are described hereinbelow. When a note is first created, its rating is initialized to an initial default value, such as zero. For private and personal notes, the database does not include fields for user interest group, type and user rating. Alternatively, personal and private notes can be considered to be of types "personal" and "private," and the corresponding type identifiers can be set to "personal" and "private," respectively, as mentioned hereinabove.
Notes can be sorted by any of the above fields for display purposes, according to a sorting mode selected interactively by a user. A user can request that the notes be sorted by type or by user interest group or by date, or by other fields.
The above description of a preferred embodiment of a user communication system of the present invention contains various organizational principles, including: ( 1 ) the classification of notes by type; (2) the classification of users by user interest groups; (3) the distinction between personal, private and public notes; (4) the association of a public note with a unique user interest group and type; (5) the non-association of personal and private notes with types and with user interest groups: (6) the control of certain types of notes; and other principles. These principles have been described in detail for the sake of clarity and definiteness, but it should be apparent to those skilled in the art that alternative organizational principles can be imposed on the user communication system, without departing from the spirit of the present invention. For example, in alternative embodiments of the present invention multiple user interest groups can be associated with a note, rather than just a single user interest group: personal and private notes can also be associated with user interest groups; personal and private notes can have types associated with them, such as private polls; and notes can be addressed to one or more user interest groups as recipients, and read access permission can be restricted to such user interest groups.
When a user browses a web page using a web browser on a client computer, the present invention preferably extracts the URL of the web page being displayed by the web browser, and uses the extracted URL to send to the user note information associated with that web page. The note information sent to a specific user is preferably customized for that user, so that the note information relates to the types of notes that are of interest to the user and conforms to the preferences of the user.
Typically, the note information initially sent to a user includes statistical information, such as the number of notes of a designated plurality of types in the database of notes, for the extracted URL. Such note information can be displayed graphically by a series of rectangles, each rectangle containing a name of a type and a number, the number indicating the number of notes available in the database of notes for that type and for the URL of the web page currently being displayed. In addition the display can also include similar rectangles for the user's personal and private notes. Such a display is shown and described hereinbelow with reference to Figure 4.
The user can select from the display a particular type of note, for example by clicking on the appropriate rectangle. In response, the user is sent note headers for notes of the selected type associated with the URL of the web page currently being displayed. The note headers contain summary information for the bodies of the notes. In a preferred embodiment of the present invention, the server computer sends note headers sorted by date, and the client computer sorts the headers according to a user's selection if the user requests a different sort order. From the display of the note headers, the user can select a particular note, for example by clicking on a note header. In response, the user is sent the body of the note, containing the content of the note.
When a note is received by a user, the user preferably has options to respond in one or more ways. For example, the user may:
• register a comment on the note, or a response to the note;
• forward the note to another user;
• register a vote, if the note is a "poll,'" containing a topic open for voting; and
• assign a rating to the note. Ratings are used as metrics for the informational value of a note.
Additionally, ratings can also be used as a "garbage removal" mechanism for discarding notes in the database of notes. For example, a note can be discarded from the database when its average rating falls below 50, on a scale from 0 to 100. (To this end. care must be taken to avoid discarding a note when its rating is at an initial value of 0.) Alternatively, a note can be discarded when its average rating falls below 0. on a scale from -100 to 100. A rating can be as simple as a single choice between "good" and "bad." based upon clicking a "thumbs-up" or "thumbs-down" icon, respectively; where, for example, "thumbs up" corresponds to a rating of 100, and "thumbs down" corresponds to a rating of -100. In distinction, conventional garbage removal mechanisms use criteria such as the age of a note, or a usage metric such as the number of "hits," as a policy for discarding notes. It should be appreciated by those skilled in the art that a garbage removal mechanism in accordance with the present invention may also use a combination of criteria, such as rating and age and usage. Thus it can be seen that from the perspective of a user, the present invention provides a "read mode," enabling a user who is viewing a web page to receive note information regarding notes of various types associated with the web page being viewed, to receive note headers for notes of a selected type, and to receive a note for a selected header. The present invention also provides a "publish mode," enabling a user who is viewing a web page to publish his own note associated with the web page being viewed. The user can select a type of note to create and designate a user interest group to which the note is associated, and write his note and submit it for inclusion in the database of notes.
The user can designate if his note is personal or private. If it is private, the user can further designate the users who have read access permission for his note. For ease of designating such users, user lists can be created, so that instead of expressly designating each individual user who is to be a recipient of a private note, the user creating the note can simply incorporate a pre-defined user list.
When a user's note is included in the database of notes, other users can read his note. A user can create a special type of note, referred to as a "poll," describing a topic open for voting and including a list of positions or opinions, for selection by a reader of the poll. When the user's poll is incorporated in the database of notes, other users who read the topic described in the poll can register their votes on the topic. The poll may optionally include an expiration date, or a maximum number of votes to be processed, or both. An expiration date serves as a deadline, indicating that users may only register their votes up to the deadline.
The notes published by users are stored in a central database of notes. The database of notes may be stored on a server computer running server note software, or on another computer connected to such a server computer. The notes may alternatively be stored on multiple inter-connected databases. Additionally, mirror copies of databases can be distributed on mirror web sites around the world, for reason of fault tolerance, in case one or more databases are inaccessible, and for reason of efficient delivery of notes to users around the world.
Server note software is used to manage the database of notes, including the processing of requests arriving from a plurality of users for reading notes and for publishing notes, and the querying of the database to extract note information, note headers and note bodies associated with a particular URL. In addition, the server note software preferably authenticates users of the communication system. When a user is identified, server note software extracts the user's profile, which indicates the user's preferences such as types of interest, and identifies the user's personal and private note folders.
Server note software can run on a server computer as its own software application, or alternatively, it can be incorporated within web server software. Client note software is used on a client computer to issue requests for information from a database of notes, to receive such information from a server computer, and to display it on a display device, such as a computer video monitor, for viewing by a user. Client note software also provides a tool for creating notes and for uploading them to a server computer for inclusion in the database of notes. When a user begins using a communication system of the present invention, client note software is used to open a connection between the client computer and the server computer, and to provide an interface for a user to identify himself. User identification is necessary for the purpose of authentication and for extracting the user's profile.
Client note software can run on a client computer as its own software application, or alternatively, it can be incorporated within a web browser.
Reference is now made to Figure 1 , which is a simplified illustration of a user communication system operative in accordance with a preferred embodiment of the present invention. Shown in Figure 1 is a server computer 100 running server note software that interacts with a client computer 105 running client note software. Server computer 100 preferably contains a note database 1 10 and a user database 1 15. Note database 1 10 stores the notes that are published by users of the communication system of the present invention. User database 1 15 contains identification information for users of the communication system, and note profiles for users.
A note profile for a user indicates the types of notes that are of interest to the user, and identifies the user's personal and private folders of notes. A user's personal and private folders of notes need not be restricted to notes of a single type. For example, a user's private folder can include notes of many diverse types, published by a select group of users who are his "buddies."
In a preferred embodiment of the present invention, user database 115 contains descriptions of user interest groups. Preferably, each user interest group is identifiable by a unique group name. Users belonging to a specific user interest group are members of the group. A user may belong to multiple user interest groups.
Preferably user interest group membership information is stored in user database 115.
When client computer 105 initially runs client note software, a login module
120 opens a connection between client computer 105 and server computer 100. Preferably, a user is prompted by login module 120 to provide user information, such as the user's userid and password. The user information is transmitted to a user authentication module 125 in server computer 100. User authentication module 125 authenticates the user. and. if the user is successfully authenticated, permits the client computer to use the communication system and to access the database of notes. In addition, user authentication module 125 may send the user information to user database 1 15. in order for the server note software to retrieve a note profile for the user.
In a preferred read mode, the present invention operates while a user is viewing a web page within a web browser 130. A URL extractor 135 extracts the URL of the web page currently being viewed by the user. The extracted URL is transmitted to a note request transmitter 140 within a note communication interface 145. In turn, note request transmitter 140 transmits the extracted URL to a note request processor 150 within server computer 100, in order to obtain note information associated with the web page that the user is viewing, preferably customized for the user's preferences.
It should be obvious to those skilled in the art that note request transmitter 140 may transmit user information in addition to the extracted URL, so that server computer 100 does not have to store user information for each user connected to the communication system. Note request processor 150 queries note database 1 10, based upon the extracted
URL and based upon the note profile for the user, to obtain note information. Such note information can be statistical information, indicating for each type of note that is of interest to the user, the number of notes of such type that are associated with the web page being viewed; and further indicating for each interest group to which the user belongs, the number of notes of all types that are associated with such interest group and with the web page being viewed. The note information is transmitted from note database 1 10 to note request processor 150, and then sent to a note receiver 155 in client computer 105. Note receiver is also part of note communication interface 145. Note receiver 155 organizes the note information, and transmits the note information to a note viewer 160. which displays the note information to the user in a display device such as a computer video monitor. For example, note viewer 160 can display one or more rectangles, each including a name of a type of note that is of interest to the user and the number of notes in the database of notes associated with the web page being viewed, for that type. Note viewer can display note information sorted by user interest group, indicating the number of notes available in the database of notes for one or more user interest groups. In a preferred embodiment of the present invention, note viewer 160 displays the note information in a window external to the window of the web browser, so that the user can conveniently and simultaneously view both the web page and the note information.
When viewing statistical note information, the user can select one or more types of notes, for example by clicking on one or more of the rectangles. Note communication interface 145 then operates to request headers for notes of the selected type. Such a request is sent to note request processor 150, which queries note database 1 10 for note headers of notes of the selected type associated with the web page that the user is viewing. The query can additionally depend on the user's note profile, so as to filter note headers according to the user's preferences. For example, a user may prefer to filter out note headers for notes that contain adult content.
Note database 1 10 transmits the requested note headers to note request processor 150. which in turn transmits the note headers to note receiver 155. Note receiver 155 organizes the note headers, for example by sorting them, and transmits the note headers to note viewer 160, which displays them to the user. Note viewer 160 preferably displays the user interest group of each note together with the note headers. It should be apparent to those skilled in the art that the sorting and organization of the note information and the note headers may alternatively be performed by note viewer 160, or by note receiver 155 and note viewer 160 in conjunction.
When viewing note header information, the user can select one or more note headers, for example by clicking on one or more of the note headers. Note communication interface 145 then operates to request note bodies for the selected note headers. Such a request is again sent to note request processor 150, which queries note database 1 10 for the requested note bodies. The query can additionally depend on the user's note profile, so as to provide restricted or enhanced note content. For example, a user may prefer to receive text-only versions of notes, without images embedded.
Note database 1 10 transmits the requested note bodies to note request processor 150. which in turn transmits the note bodies to note receiver 155. Note receiver formats the note bodies and transmits them to note viewer 160 for display to the user. Alternatively, note formatting may be performed by note viewer 160, or by note receiver 155 and note viewer 160 in conjunction. Similarly, the formatting of the note information and the note headers described above may be performed by note request processor 155. by note viewer 160 or by both of them in conjunction. Preferably, when reading a note body, client note software enables a user to respond to the note by commenting on the note, forwarding the note to another user, by registering a vote, if the note is a poll, and/or by assigning a rating to the note. In a preferred embodiment of the present invention, the mechanism for commenting on a note is the same mechanism used for publishing a new note, as described hereinbelow.
In a preferred publish mode, the present invention operates by authenticating a user through login module 120 and user authentication module 125, and extracting the URL of a web page being viewed by a user within web browser 130 through URL extractor 135. as described hereinabove with reference to the read mode. The user can publish a note associated with the web page that he is viewing, and upload it to server computer 100 for inclusion in note database 1 10. A note creator 165 is used to create a new note. The new note can be a non-soliciting note, such as an informational note that provides supplemental information, or an opinion note associated with the web page being viewed, or another type of note. Alternatively, the new note can be a soliciting note, such as a poll.
When the user has created his note, note creator 165 transmits the note to note transmitter 170. Note transmitter 170 is part of note communication interface 145. Note transmitter 170 sends the new note to note request processor 155, and in turn note request processor 155 transmits the note to note database 1 10 for incorporation. Reference is now made to Figure 2, which is a simplified flowchart of a method for reading notes, in accordance with a preferred embodiment of the present invention. The flowchart is divided into three columns. The leftmost column includes steps performed by a user, the second column from the left includes steps performed by a client computer, and the rightmost column includes steps performed by a server computer.
At step 200 the client computer connects to an application server computer, in order to run a client-server application; namely, the user communication system of the present invention. At step 205 the server computer authenticates a user. At step 210 the user opens an Internet web page in a web browser. At step 215 the client computer extracts the URL of the web page being displayed by the web browser, in order to identify the current web page being viewed by the user. At step 220 the client computer sends the URL and the user information to the server computer. At step 225 the server computer queries a note database based upon the extracted URL and based upon the user information. At step 230 the server computer sends note statistical information classified by type of note and by user interest group.
At step 235 the client computer displays the note statistical information. At step 240 the user, while viewing the note statistical information, selects a type or a user interest group. At step 245 the client computer requests header information for notes of the selected type or from the selected user interest group. At step 250 the server computer queries the note database for the requested header information. At step 255 the server computer sends the requested header information to the client computer. At step 260 the client computer sorts and displays the header information. At step 265 the user, while viewing the header information, selects a specific note header. At step 270 the client computer requests the note message body corresponding to the selected note header. At step 275 the server computer queries the note database for the requested note message body. At step 280 the server computer sends the requested note message body to the client computer. At step 285 the client computer displays the note message body.
At step 290 the user, while viewing the note message body, assigns a rating to the note, or registers a vote if the note is a poll. At step 295 the client computer sends the user rating and/or the vote to the server computer. At step 300 the server computer updates the user database and the note database based upon the user rating and/or the vote.
In a preferred embodiment of the present invention, client note software restricts a user to one vote per poll. In an alternate embodiment of the present invention, the user database keeps track of votes registered by a user, so as to limit the user to registration of a single vote per poll.
Finally, at step 305 the user, while viewing the note message body, selects an available action, such as submitting a comment on the note or forwarding the note to another user. Alternatively, the user can close the note.
Reference is now made to Figure 3, which is a simplified flowchart of a method for publishing notes, in accordance with a preferred embodiment of the present invention. Figure 3 follows the style of Figure 2, with separate columns for steps carried out by a user, by a client computer and by a server computer. At step 310 the client computer connects to an application server computer. At step 3 15 the server computer authenticates the user. At step 320 the user opens a web page using a web browser. At step 325 the client computer extracts the URL of the web page being viewed by the user.
The user desires to publish a note associated with the web page that he is viewing. At step 330 the user designates whether his note is personal, private or public. If the note is public, then the user designates a type for his note. At step 335 the user designates a user interest group for classifying his note, if it is a public note. At step 340 the user selects recipients for his note, if it is a private note. The user may have a prepared "buddy" list for a group of users who are mutual friends, and he may designate that the private note he is creating is to be restricted for read permission to such a list.
At step 345 the user inserts text into a new note. He also inserts objects to be embedded in the note, such as images, audio and video. At step 350 the user inserts his signature into the new note, so that readers of the note know who authored the note. Alternatively, the user may wish his new note to remain anonymous.
If the new note is a poll, the user includes a list of choices for voting selection. Furthermore, he can set a lifetime for the poll, by indicating at step 355 an expiration date for registering votes on the poll and/or a maximum tally, i.e., a maximum number of votes to be registered, or both. At step 360 the client computer sends the extracted URL, the note data, the user information and a publication request to the server computer. At step 365 the server computer updates the note database and the user database, to appropriately incorporate the new note. Reference is now made to Figures 4A, 4B and 4C, which are illustrations of a user interface for a communication system in accordance with a preferred embodiment of the present invention. Figure 4A illustrates a user interface for accessing note information in the form of statistical data, indicating the number of notes of specific types currently stored in the database of notes. The data illustrated in Figure 4A is organized into three rows of note information. The top row contains information for public notes, organized by type. The middle row contains information for public notes, organized by user interest group. The bottom row contains information for the user's personal and private folders of notes. Also included in the bottom row is a rectangle marked "NEW." Clicking on this rectangle results in the opening of a note creation tool.
The top row indicates the availability of 97 notes of type "poll," 25 notes of type "debate" and 3 notes of type "articles." The middle row indicates the availability of 60 notes for the user interest group "20 something" and 6 notes for the user interest group "Cats." The bottom row indicates the availability of 5 personal notes ("Self) and 7 private notes.
The arrowheads pointing downward in the rectangles from the top and middle rows invoke pull-down menus for displaying information about additional types of notes and about notes from additional user interest groups, other than those appearing in Figure 4A. Pull-down menus serve as a convenient way to make additional data available without cluttering a display window with too much information. A pull-down menu pops open a list of additional items, such as additional types of notes and additional user interest groups. Clicking on a type or user interest group within a list indicates a selection by a user of such type or such user interest group. In response, a viewer displays a rectangle for the type or the user interest group selected, instead of the type or user group currently being displayed. Thus the user can change the types and user interest groups that are displayed to him, by invoking pull-down menus and clicking on other types and other user interest groups from the lists in the pull-down menus. Figure 4B illustrates a user interface presented to a user subsequent to his clicking on the "20 something" rectangle in Figure 4A. The user interface displays note header information, indicating headers for notes currently stored in the database of notes. The headers illustrated in Figure 4B correspond to notes from the "20 something" group, and are sorted by type.
Figure 4C illustrates a user interface presented to a user subsequent to his clicking on the header reading "A great bar in NYC I really love ..." in Figure 4B. The user interface displays a specific note. The note illustrated in Figure 4C contains the header "A great bar in NYC I really love ..." It is dated April 12, 1999. It contains the message body "I was in this great bar ..." It was authored by a user named "Billy." and was designated as being associated with a user interest group named "20 something." The user interface illustrated in Figure 4C includes at the bottom options for forwarding the note to another user, for commenting on the note, and for rating the note. The rating mechanism illustrated is a simple "thumbs-up / thumbs-down" rating. Each user who reads the note can rate it, by clicking on either the "thumbs-up" or the "thumbs-down" icon, and the various ratings received are accumulated on a server computer into an average rating for the note.
Implementation Details
The present invention is preferably implemented as a combination of client computer software and server computer software. In a preferred embodiment, the present invention is implemented using (i) standard query language (SQL) database management software for management and organization of the databases of notes and users, (ii) custom server operations, and (iii) a custom protocol for communication between servers and clients. Examples of database management software are Oracleδi by Oracle Corporation of Redwood Shores, CA, and Access by Microsoft Corporation of Redmond, WA.
Preferred database organization, preferred server operations and a preferred protocol for communication between servers and clients are all described hereinbelow.
The name uTok (pronounced "you talk") is used in the ensuing description with reference to a user communication system, operative through Internet notes in accordance with the present invention. Correspondingly, client computer software for the uTok system is referred to as a uTok client, and server computer software for the uTok system is referred to as a uTok server. Database Organization
Regarding database organization, reference is now made to Tables I - XIX, which describe the databases used in a preferred embodiment of the present invention. The leftmost columns of Tables I - XIX list various fields associated with the objects (such as notes and users) indicated in the titles of the respective tables. The fields are used to identify the objects to which they relate. For each specific object there is data entered into the fields associated therewith, which describes the properties of the object. Thus a specific note is identified by its URL data, note ID data, group ID data, etc., as indicated in Table I; and a specific user is identified by his Userid data, nickname data, password data, etc., as indicated in Table NIL The middle columns of Tables I - XIX describe the data type (numerical / text) for the entries in each field. The rightmost columns of Tables I - XIX contain comments about the fields. The fields listed in Tables I - XIX should be self-explanatory to those skilled in the art, based on the names of the fields and the comments provided.
Table I lists fields associated with individual notes. Table II lists fields associated with note recipients. Table III lists fields associated with note recipients for notifications of changes. Table IV lists fields associated with super categories of types for notes. Table V lists fields associated with types for notes. Table VI lists fields associated with user interest groups. Table VII lists fields associated with users. Table VIII lists fields associated with users' memberships in user interest groups. Table IX lists fields associated with client computer parameters. Table X lists fields associated with notes waiting to be read by a specific user, such as private notes and notifications of changes. Table XI lists fields associated with note summaries by type. Table XII lists fields associated with note summaries by user interest group. Table XIII lists fields associated with system messages. Table XIV lists fields associated with log tables.
Tables XV - XIX relate to data stored in the application server. Table XV lists fields associated with the array of users of the system. Table XVI lists fields associated with the array of user interest groups. Table XVII lists fields for system parameters. Table XVIII lists fields for "hot lists" of URL, used by client software to access notes associated with the most popular URLs, as described hereinbelow. Table XIX lists fields associated with system messages. _> Server Operations
Regarding server operations, in a preferred embodiment of the present invention the following server operations are supported.
USER REGISTRATION:
• Insert new user into "Users" table.
• Post changes to user data in memory to all application servers.
USER LOGIN:
• Write last session statistics to client history file (sits on the server, contains client statistics).
• Update Users_Array in memory: Mark "Session" active. Init "Statistics".
Fetch "Parameters" from memory. Fetch "Hot_uTOK" from Hot_uTOK. Fetch "Rating" from Users_Array. Select from "User_Groups" table where uid=:UID. • For each such group fetch group rating from "Groups_Array".
Fetch system messages from "System_Messages_List" where SYS_MSG_NUM > :LAST_SYSMSG.
WAITING: • Select from "Waiting" table.
• Delete the fetched lines from the "Waiting" table.
• Update "Users_Array" in memory and "Users" table in database.
LOGOUT: (As a result of an explicit request, or if the client did not transmit a heartbeat for over 3*MSEC_HEARTBEAT milliseconds). • Write statistics to server history file.
• Mark "Session" in "Users_Array" as not connected.
DISPLAY QUANTITIES: [self]
• Select count(*) from "Note_recipients" where url=:URL and recipient=:UID and author=:UID.
• Select max(nid) from "*Note_recipients" where url=:URL and recipient=:UID and author=:UID.
[personal]
• Select count(*) from "Note_recipients" where url=:url and recipient=:uid.
• select max(nid) from "Note_recipients" where url=:url and recipient=:uid.
[types]
• Select count, type, last_nid from "Notes_types_summary" where url=:URL.
[dominant groups]
• Select count, gid. last_nid from "Notes_groups_summary" where url=:URL and Rownum < :NUM_DOMINANT_GROUPS sort descending by count.
[interest groups]
• Select count, gid, last_nid from "Notes_groups_summary" where url=:URL and gid in (:INTEREST_GID).
DISPLAY HEADERS:
Case personal headers:
• Select * from notes, note_recipients where url=:URL and nid<:LAST_NID and recipient=:UID and rownum<:HEADER_CHUNK_SIZE sort descending by nid.
Case self headers: • Select * from notes, note_recipients where url=:URL and nid<:LAST_NID and recipient=:UID and owner=:UID and rownum<:HEADER_CHUNK_SIZE sort descending by nid.
Case by group:
• Select * from notes where url=:URL and nid<:LAST_NID and gid=:GID and ι-ownum<:HEADER_CHUNK_SIZE sort descending by nid.
Case by t pe: • Select * from notes where url=:URL and nid<:LAST_NID and tid=:TID and rownum<:HEADER_CHUNK_SIZE sort descending by nid.
For each record, fetch relevant user and group info from memory.
HEADER WAITING:
• Select * from notes where nid in (:NID_LIST).
• For each record, fetch relevant user and group info from memory.
NOTE: • Select * from notes where nid=:NID.
• Select * from note_recipients where nid=:NID.
• If last_comment_nid>0 select * from notes where parent_nid=:NID.
• Fetch relevant user and group info from memory. • Update N "Views in "Users" table.
NOTE UPDATED NFO:
• Select * from notes where nid=:NID.
POST_NOTE:
• Fetch value from sequence. Insert into notes.
If needed, insert into note_recipients & waiting. If needed, insert into note_noc & waiting.
Update "Notes_groups_summary" and "Notes_types_summary" tables. Update "Notes" set Last_Comment_NID=:NID where
Parent NID=:PARENT NID.
RATE:
• Update "Notes" where nid=:NID. • Select parent_nid. gid. owner from "Notes" where nid=:NID.
• Update "Users" where uid=owner of note.
• Update "Groups" where gid=group of note.
• If parent_nid>0 update notes where nid=:PARENT_NID (rating for parent). • Post updates to user & group rating to all application servers (memory tables).
• If trackit is true insert into notes_noc and waiting.
VOTE: • Update notes where nid=:NID.
• Select * from notes where nid=:nid.
• If trackit is true insert into notes_noc and waiting.
DELETE NOTE: For comment:
• Delete comment from notes table.
• Update fields in parent note record: comments_num, last_comment_nid, rating.
• Update summary tables. • Delete from waiting table on comment. For parent note:
• Delete parent note and all associated comments.
• Update summary tables.
• Delete NOC requests on parent note. • Delete from waiting table on parent notes or associated comments.
FIND USER:
• Build a dynamic SQL statement with an appropriate where clause.
• Fetch results and return them.
USER INFO:
• Select from users table where uid=:uid.
SET MY INFO: • Update users set ... where uid=:uid.
FIND GROUP:
• Build a dynamic SQL statement with an appropriate where clause.
• Fetch results and return them.
SPECIAL GROUPS:
• Build a dynamic SQL statement with an appropriate where clause.
• If the request is by user then a join will be made with users_groups table.
• Fetch results and return them.
JOIN GROUP:
• Insert into users_groups table. LEAVE GROUP:
• Delete from users_groups.
Communication Protocol Regarding communication between client and server computers, in a preferred embodiment the present invention is implemented using a custom protocol for communication between client and server computers. The following is a description of a preferred protocol.
MESSAGE LIST: Dispatcher Messages
• MSG_REGISTRATION
This message is sent by the Registration Wizard to pass the new user's information and obtain a UID. (UID in header should be set to zero, the password in the header is the newly selected password.)
• MSG_LOGIN
This message is sent to the dispatcher. It is used in order to send the last session client statistics and receive various information for this session (including the application server IP address).
System Messages
• MSG_WAITING
This message is sent by the client if no connection to the server has been done for over MSEC_HEARTBEAT milliseconds, or if the client was notified on waiting events by the reply error-code of the last message (UTOK_RETCODE_EVENTS). Once the waiting messages NIDs have been transferred to the client, they should be removed by the server. It is up to the client to keep the specific NID for later viewing. • MSG_LOGOUT
This message is sent by the client to signal that it will stop working with the current application server. NB: a client might stop working without logging out (in case of unexpected connection loss).
Quantity Messages
• MSG_QUANTITIES
This message retrieves the number of messages posted on the given URL and the last NID for each of the following categories: Self. Personal. By Type. By Interest Groups (also known as user-groups) and By Dominant Groups.
Header Messages
• MSG_HEADERS
The following message is used in order to retrieve a list of headers for a particular category: Personal/Self, by Group or by Type. To support large amounts of headers, the headers are returned in small chunks (e.g., 50 — the exact number is set in the server). At the beginning of the reply, the server signals the total number of headers matching the request and the number of headers sent it this chunk. NB: in the first request, the client sends MAX_LONG as the LAST_NID to return. In next calls, it returns the number of the highest note it received in the last chunk.
• MSG_HEADER_WAITING
This message is used in order to retrieve a single message header. It is only used for retrieving waiting message headers.
Note Messages
• MSG_NOTE
This request retrieves the complete note information, including header information for its comments.
• MSG_NOTE_ΓNFO+ This message is used by the client to retrieve updated information about a note the user has posted.
• MSG_POST_NOTE This message is used in order to post a new note or comment.
• MSG_RATE
Used in order to rate the current note, and optionally add it to the NOC list. If the rating is RATE_DUMMY, then the note is just added to the NOC list and is not rated.
• MSG _VOTE
Used in order to rate the vote for the current pole, and optionally add it to the NOC list.
• MSG_DELETE_NOTE This message causes the removal of a note from the system. It is up to the server to check that the given NID was written by the requesting user.
User Messages
• MSG_FIND_USER This message returns a list of users that match the given filter. TOTAL_MATCHES indicates the number of matches from FIRST -JID and on. Thus, if TOTAL_MATCHES > N_MATCHES the client knows that it may ask for an additional chunk.
• MSG_USER_INFO This message returns the extended user info for a given UID (if the info was not marked as not to be published by the user).
• MSG_SET_MY_INFO
This message updates all the information about a user. Notice that in order to change the password, the old password must be sent in the header of the request and the new password in the body (see below). The new password applies starting the next request.
Group Messages
• MSG_FIND_GROUP This message returns a list of groups that match the given search string or GID. Once again, this information may be returned in chunks in case the reply yields too many results. In that case, if the user wishes to get another chunk of groups it should issue a new request with the FIRST_GID set to the last GID it got in the previous chunk, plus one. TOTAL_MATCHES indicates the number of matches from FIRST_GID and on. Thus, if TOTAL_MATCHES > N_MATCHES the client knows that it may ask for an additional chunk. If QUERY_STRTNG is empty, then any group matches. • MSG_SPECIAL_GROUPS
This message is used in order to retrieve special lists of groups, according to the SPECIAL_TYPE flag. RANDOM returns a list of groups selected randomly by the server. TOP_RATED returns the list of top rated groups. MOST_POPULAR returns a list of groups with the maximal number of subscribers. BY_USER uses the TARGET_UID to return all the groups to which the target user is subscribed to.
• MSG_JOIN_GROUP
This message adds a user to a group. It is also used to change the anonymous status of a user who has already joined the given group.
• MSG_LEAVE_GROUP This message removes a user from the given group.
• MSG_TOP_UTOK_BY_GROUP
This message returns a list of the top-rated sites associated with the given group. Since there is no unique key in the reply, FIRST_RESULT_NUM is used to track the last reply.
In a preferred embodiment, the present invention uses the conventions described hereinbelow.
CONVENTIONS: REQUEST message header
• UID (ulong)
• Password (constant length string[16])
• Message_ID (ulong)
• Message_Body (as defined below)
REPLY message header Return_Code (ulong) • Message_ID (ulong)
• Message_Body (as defined below)
For any REQUEST message, the appropriate REPLY message must be returned, with Return_Code set as described hereinbelow.
Data types
• (ulong) - 4 byte unsigned integer
• (long) - 4 byte signed integer • (byte) - 1 byte
• (string) - 4 byte unsigned integer indicating length of string, then ASCII string of the specified length.
Dates • All dates are to be communicated in Unix time format, that is seconds since Jan. 1 1970 GMT. It is up to the client to convert to local time, if required.
Names NID = Note ID • TID = Type ID UID = User ID GID = Group ID NOC = Notify On Change
Result return codes
The following return codes are returned as the first parameter in the header of every REPLY message.
• UTOK_RETCODE_SUCCESS Request successfully completed. • UTOK_RETCODE_WRONG_PASSWORD The supplied password and UID do not match. • UTOK_RETCODE_CLIENT_OLD
The uTok client version reported in the header is too old to communicate with this server.
• UTOK_RETCODE_LOGOUT The client should logout and reconnect to the dispatcher.
• UTOK_RETCODE_FAIL_KEY
The given key value (UID, NID, TID. GID...) is invalid.
• UTOK_RETCODE_FORBIDDEN
The requested operation is forbidden for this user (delete note of other user, vote again in same poll ...)
• UTOK_RETCODE_ WAITING
This code signals the client that there are messages waiting for him, and that he should issue a GET_WAITING_REQUEST as soon as possible to retrieve them.
In reading the above description, persons skilled in the art will realize that there are many apparent variations that can be applied to the methods and systems described. For example, the above description describes a three stage process for retrieving notes; namely, (1) retrieving statistical information indicating the number of notes available in each of a plurality of types and in each of a plurality of user interest groups, (2) retrieving note headers for notes of a selected type or from a selected user interest group, and (3) retrieving one or more note message bodies. It should be obvious to those skilled in the art that notes can be retrieved using different stages and a different number of stages. In an alternate embodiment, a system of the present invention can provide header information as a first retrieval stage, followed by note message bodies as a second retrieval stage. As yet another alternate embodiment, a system of the present invention can provide note message bodies directly as a first (and only) retrieval stage.
Additionally, regarding the URL of a web page sent from the client to the server, instead of extracting a URL from the current web page that a user is viewing, the communication system may keep a dynamic "hot list" of URLs for the most frequently visited web pages by users of a particular interest group, or by all users of the communication system. Such a hot list may be maintained on the client computer, or on the server computer. When the hot list is maintained on the client computer, the client computer can send one or more URLs from such a list to the sen er computer, instead of extracting a URL from a web browser. When the hot list is maintained on the server computer, there is no need to send a URL from the client computer to the server computer.
Alternatively, rather than use a "hot list" of URLs, a user of the communication system of the present invention can submit a URL directly to the note database, for example, by typing in the full URL data in a command-line interface.
Alternatively, the communication system of the present invention can accept "virtual URLs;" namely. URLs that do not correspond with actual URLs. For example, one or more users can publish a note associated with a fictitious URL named "abc" and the notes associated with this URL can be read by users who access this URL.
It can thus be seen that the communication system of the present invention can be implemented on a client computer that does not include web browser software. The present invention enables users of the communication system to read and publish notes without the necessity of installing a web browser on their computer. The ability to run a user communication system without a web browser is an advantage for computers with limited processing capability and limited memory, such as palmtop computers running a Windows CE operating system, and other mobile computers, since web browsers typically require extensive processing and memory.
It can further be seen that if a web page with a specific URL is removed from the Web, the notes associated with such URL are still accessible for reading and for publishing. Additionally, client note software may include functionality for finding users currently on-line who are accessing the same web page, or for getting information about other users of the communication system.
Additionally, client note software may include functionality for finding user interest groups, for joining user interest groups and for leaving user interest groups, similar to the way conferencing software, such as NetMeeting® of Microsoft Corporation of Redmond, WA, or Internet Phone® of VocalTec of Northvale, NJ, operates. Additionally, when a note contains a URL for a web page related to the web page that a user is currently viewing in his web browser, client note software can pass the related URL in the note to the web browser, and instruct the web browser to display the related web page. The web browser is thus controlled to advance from the current web page to a related web page.
In turn, if a note for the related URL contains a further URL related to the related URL, client note software can repeatedly instruct the web browser to display the related URLs. In this way. client note software can control a web browser so as to provide a "URL slide show" or a "URL tour," by using note information to advance sequentially from one URL to another. The URLs defining the tour are determined from the database of notes, by traversing from one URL to the next through a linked list.
Additionally, the present invention applies to Internet Relay Chats (IRCs). IRC is a system of servers and clients enabling people to communicate in real time. Notes can be published on IRC sites, and stored in a database of notes based upon an IRC address.
Additionally, the present invention can be used to create a statistical database for web sites, using information collected from the distribution of various user interest groups over web sites, and by using the rating information described hereinabove.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made to the specific exemplary embodiments without departing from the broader spirit and scope of the invention as set forth in the appended claims. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
TABLE I: Notes Fields
Figure imgf000038_0001
Figure imgf000039_0001
TABLE V: Types Fields
Figure imgf000040_0001
N_Vιews Number(lO)
Publish mask Number(6)
TABI -E VIII: User Groups Fields
Userid Number(lO)
Gid Number(6)
Anonymous Char(l) Y - user's membership in the group will not be seen by others
TABL -E IX: Client Parameters Fields
Param name Varchar2(50)
Param_value Varchar2(50)
TABL -E X: Waiting Notes Fields
Userid Number(lO)
NID Number(lO)
Wait_type Char(l) P - private, N - NOC
TABL -E XI: Notes Types Summary Fields
URL Varchar2(250)
Note_Type Number(5)
Count Number(lO)
Last iid Number(lO)
TABL .E XII: Notes Groups Summary Fields
URL | Varchar2(250)
GID Number(6)
Count Number(lO)
Last_nid Number(lO)
TABL .E XIII: System Messages Fields
Nsysmsg Number(4)
Message Varchar2(2000)
Type Number(l)
TABLE XIV: Log Table Fields
Figure imgf000042_0001

Claims

C L A I M S What is claimed is:
1. A method for communication among a plurality of users comprising the steps of: authenticating a user based upon user identification information; extracting a locator of an Internet location from a web browser on a client computer: sending the user identification information and the extracted locator from the client computer to a server computer; and sending note information, based upon the user identification information and the extracted locator, from the server computer to the client computer.
2. The method of claim 1 wherein the note information relates to personal notes created by the user.
3. The method of claim 1 wherein the note information relates to private notes accessible to some of the plurality of users.
4. The method of claim 1 wherein the note information relates to public notes accessible to all of the plurality of users.
5. The method of claim 1 wherein the note information related to notes created by at least one user from the plurality of users.
6. The method of claim 1 wherein the note information relates to notes that are generated automatically.
7. The method of claim 1 wherein the note information includes a locator for a related Internet location, related to the Internet location from which the extracted locator was extracted.
8. The method of claim 7 further comprising the step of accessing the related Internet location in the web browser.
9. The method of claim 8 wherein said steps of extracting a locator, sending the extracted locator, sending note information and accessing the related Internet location are repeated at least once.
10. The method of claim 1 further comprising the step of restricting access of the note information to designated users from the plurality of users.
1 1. The method of claim 1 further comprising the step of querying a database of notes for note information, based upon the user identification information and the extracted locator.
12. The method of claim 11 wherein the database of notes is classified into at least one user interest group, and wherein a user interest group includes users from the plurality of users.
13. The method of claim 12 wherein the database of notes is classified into at least one type of note, and wherein the note information includes statistical information about quantities of notes of a plurality of types.
14. The method of claim 13 wherein the at least one type of note includes a personal type.
15. The method of claim 13 wherein the at least one type of note includes a private type.
16. The method of claim 13 wherein the at least on type of note includes a public type.
17. The method of claim 13 further comprising the steps of: selecting a type of note from the at least one type of notes; sending an indication of the selected type of note from the client computer to the server computer; and sending at least one note header, based upon the selected type, from the server computer to the client computer.
18. The method of claim 17 wherein the at least one note header includes information as to the user interest groups associated with at least one corresponding note.
19. The method of claim 17 further comprising the step of restricting access of the at least one note header to designated users from the plurality of users.
20. The method of claim 17 further comprising the steps of: selecting a note header from the at least one note header; sending an indication of the selected note header from the client computer to the server computer; and sending a note corresponding to the selected note header, from the server computer to the client computer.
21. The method of claim 20 further comprising the step of restricting access of the note to designated users from the plurality of users.
22. The method of claim 20 further comprising the step of assigning a rating to the note.
23. The method of claim 22 wherein the database of notes includes rating information- and wherein the method further comprises the step of updating the database of notes based upon the assigned rating of the note.
24. The method of claim 23 wherein said updating step includes deleting the note from the database of notes.
25. The method of claim 24 wherein said updating step deletes a note from the database of notes when the average of its assigned ratings falls below a prescribed threshold.
26. The method of claim 20 further comprising the step of registering a vote on a subject described in the note.
27. The method of claim 26 wherein the database of notes includes vote information, and wherein the method further comprises the step of updating the database of notes based upon the registered vote.
28. The method of claim 20 further comprising the step of commenting on the note.
29. The method of claim 20 further comprising the step of forwarding the note to another user.
30. A method for user communication comprising the steps of: receiving user identification information and a locator of an Internet location from a client computer; extracting note information from a database of notes, based upon the user identification information and the locator; and sending the note information to the client computer.
3 1 . The method of claim 30 wherein the database of notes is classified into a least one user interest group.
32. The method of claim 31 wherein the database of notes is classified into at least one type of note, and wherein the note information includes statistical information about quantities of notes of a plurality of type.
33. The method of claim 32 further comprising the steps of: receiving an indication of a selected type of note from the at least one type of note, from the client computer; and sending at least one note header based upon the selected type of note, to the client computer.
34. The method of claim 33 wherein the at least one note header includes 5 information as to the user interest groups associated with at least one corresponding note.
35. The method of claim 34 further comprising the steps of: receiving an indication of a selected note header from the at least one note 0 header, from the client computer; and sending a note corresponding to the selected note header, to the client computer.
36. The method of claim 35 wherein the database of notes includes rating 5 information, and wherein the method further comprises the steps of: receiving a rating assigned to the note, from the client computer; and updating the database of notes based upon the assigned rating.
37. The method of claim 36 wherein said updating step includes deleting the note 0 from the database of notes.
38. The method of claim 35 wherein the database of notes includes vote information, and wherein the method further comprises the steps of: receiving a vote on a subject described in the note, from the client computer; D and updating the database of notes based upon the vote.
39. A method for user communication comprising the steps of: extracting a locator of an Internet location from a web browser; sending user identification information and the extracted locator to a server computer; and receiving note information, based upon the user identification information and the extracted locator, from the server computer.
40. The method of claim 39 wherein the note information includes statistical information about notes in a database of notes, wherein the database of notes is classified into at least one type of note, and wherein the statistical information includes quantities of notes of a plurality of types.
41 . The method of claim 40 further comprising the steps of: selecting a type of note from the at least one type of note; and receiving at least one note header, based upon the selected type of note, from the server computer.
42. The method of claim 41 further comprising the steps of: selecting a note header from the at least one note header; and receiving a note, based upon the selected note header, from the server computer.
43. The method of claim 42 further comprising the step of assigning a rating to the received note.
44. The method of claim 42 further comprising the step of registering a vote on a subject described in the received note.
45. The method of claim 42 further comprising the step of commenting on the received note.
46. The method of claim 42 further comprising the step of forwarding the received note to another user.
47. A communication system for a plurality of users comprising: an authentication processor authenticating a user based upon user identification information; a web browser in a client computer accessing Internet locations; a locator extractor in the client computer extracting a locator of an Internet location from said web browser; a client transmitter in the client computer sending the user identification information and the extracted locator to a server computer; and a server transmitter in the server computer sending note information to the client computer, based upon the user identification information and the extracted locator.
48. The communication system of claim 47 wherein the note information relates to personal notes created by the user.
49. The communication system of claim 47 wherein the note information relates to private notes accessible to some of the plurality of users.
50. The communication system of claim 47 wherein the note information relates to public notes accessible to all of the plurality of users.
51. The communication system of claim 47 wherein the note information related to notes created by at least one user from the plurality of users.
52. The communication system of claim 47 wherein the note information relates to notes that are generated automatically.
53. The communication system of claim 47 wherein the note information includes a locator for a related Internet location, related to the Internet location from which the extracted locator was extracted.
54. The communication system of claim 53 wherein said web browser accesses the related Internet location.
55. The communication system of claim 47 further comprising an access controller restricting access of the note information to designated users from the plurality of users.
56. The communication system of claim 47 further comprising a database manager querying a database of notes for note information, based upon the user identification information and the extracted location.
57. The communication system of claim 56 wherein the database of notes is classified into at least one user interest group, and wherein a user interest group includes users from the plurality of users.
58. The communication system of claim 57 wherein the database of notes is classified into at least one type of note, and wherein the note information includes statistical information about quantities of notes of a plurality of types.
59. The communication system of claim 58 wherein the at least one type of note includes a personal type.
60. The communication system of claim 58 wherein the at least one type of note includes a private type.
61. The communication system of claim 58 wherein the at least one type of note includes a public type.
62. The communication system of claim 59 further comprising a user interface selecting a type of note from the at least one type of note, and wherein said client transmitter sends an indication of the selected type of note from the client computer to the server computer, and wherein said server transmitter sends at least one note header, based upon the selected type, from the server computer to the client computer.
63. The communication system of claim 62 wherein the at least one note header includes information as to the user interest groups associated with at least one corresponding note.
64. The communication system of claim 62 further comprising an access controller restricting access of the at least one note header to designated users from the plurality of users.
5 65. The communication system of claim 62 wherein said user interface selects a note header from the at least one note header, and wherein said client transmitter sends an indication of the selected note header from the client computer to the server computer, and wherein said server transmitter sends a note corresponding to the selected note header, from the server computer to the client computer. 0
66. The communication system of claim 65 further comprising an access controller restricting access of the note to designated users from the plurality of users.
67. The communication system of claim 65 further comprising a rating processor 5 assigning a rating to the note.
68. The communication system of claim 67 wherein the database of notes includes rating information, and wherein said database manager updates the database of notes based upon the assigned rating of the note. 0
69. The communication system of claim 68 wherein said database manager deletes the note from the database of notes.
70. The communication system of claim 65 further comprising a vote processor
:D re mistering a vote on a subject described in the note.
71. The communication system of claim 70 wherein the database of notes includes vote information, and wherein said database manager updates the database of notes based upon the registered vote.
0
72. The communication system of claim 65 further comprising a comment generator commenting on the note.
73. The communication system of claim 65 further comprising a note forwarding processor forwarding the note to another user.
74. An Internet note server comprising: a receiver receiving user identification information and a locator of an Internet location from a client computer; a database manager extracting note information from a database of notes, based upon the user identification information and the locator; and a transmitter sending the note information to the client computer.
75. The Internet note server of claim 74 wherein the database of notes is classified into at least one user interest group.
76. The Internet note server of claim 75 wherein the database of notes is classified into at least one type of note, and wherein the note information includes statistical information about quantities of notes of a plurality of types.
77. The Internet note server of claim 76 wherein said receiver receives an indication of a selected type of note from the at least one type of note, from the client computer, and wherein said transmitter sends at least one note header based upon the selected type of notes, to the client computer.
78. The Internet note server of claim 77 wherein the at least one note header includes information as to the user interest groups associated with at least one corresponding note.
79. The Internet note server of claim 78 wherein said receiver receives an indication of a selected note header from the at least one note header, from the client computer, and wherein said transmitter sends a note corresponding to the selected note header, to the client computer.
80. The Internet note server of claim 79 wherein the database of notes includes rating information, and wherein said receiver receives a rating assigned to the note, from the client computer, and wherein said database manager updates the database of notes based upon the assigned rating.
81. The Internet note server of claim 80 wherein said database manager deletes the note from the database of notes.
82. The Internet note server of claim 79 wherein the database of notes includes vote information, and wherein said receiver receives a vote on a subject described in the note, from the client computer, and wherein said database manager updates the database of notes based upon the vote.
83. An Internet note client comprising: a locator extractor extracting a locator of an Internet location from a web browser: a transmitter sending user identification information and the extracted locator to a server computer; and a receiver receiving note information, based upon the user identification information and the extracted URL, from the server computer.
84. The Internet note client of claim 83 wherein the note information includes statistical information about notes in a database of notes, wherein the database of notes is classified into at least one type of note, and wherein the statistical information includes quantities of notes of a plurality of types.
85. The Internet note client of claim 84 further comprising a user interface selecting a type of note from the at least one type of note, and wherein the receiver receh es at least one note header, based upon the selected type of note, from the sen er computer.
86. The Internet note client of claim 85 wherein the at least one note header includes header information for at least one corresponding note.
87. The Internet note client of claim 86 wherein said user interface selects a note header from the at least one note header, and wherein said receiver receives a note, based upon the selected note header, from the server computer.
88. The Internet note client of claim 87 further comprising a rating processor assigning a rating to the received note.
89. The Internet note client of claim 87 further comprising a vote processor registering a vote on a subject described in the received note.
90. The Internet note client of claim 87 further comprising a comment generator commenting on the received note.
91 . The Internet note client of claim 87 further comprising a note forwarding processor forwarding the received note to another user.
92. A method for user communication comprising the steps of: authenticating a user based upon user identification information; sending the user identification information and a pre-determined locator of an Internet location, from the client computer to a server computer; and sending note information, based upon the user identification information and the pre-determined locator, from the server computer to the client computer.
93. A method for user communication comprising the steps of: sending user identification information and a pre-determined locator of an
Internet location to a server computer; and receiving note information, based upon the user identification information and the pre-determined locator, from the server computer.
94. A user communication system comprising: an authentication processor authenticating a user based upon user identification information; a client transmitter in a client computer sending the user identification information and a pre-determined locator of an Internet location to a server computer; and a server transmitter in the server computer sending note information to the client computer, based upon the pre-determined URL and the user identification information.
95. An Internet note client comprising: a transmitter sending user identification information and a pre-determined locator of an Internet location to a server computer; and a receiver receiving note information, based upon the user identification information and the pre-determined URL, from the server computer.
96. A method for user communication comprising the steps of: authenticating a user based upon user identification information; extracting a locator of an Internet location from a web browser on a client computer: generating a note; sending the user identification information, the extracted locator and the note to a server computer; indexing the note by the extracted locator; and incorporating the indexed note into a database of notes.
97. The method of claim 96 wherein said step of generating a note comprises the steps of: composing a note header; and composing a note body.
98. The method of claim 97 wherein said step of generating a note further comprises the step of designating a type for the note.
99. The method of claim 98 wherein the designated type of the note is a poll, and wherein said step of generating a note further comprises the step of composing a list of voting selections.
100. The method of claim 99 wherein said step of generating a note further comprises the step of designating an expiration date.
101. The method of claim 100 wherein said step of generating a note further comprises the step of designating a maximum number of votes to be registered.
102. The method of claim 99 wherein said step of generating a note further comprises the step of designating a maximum number of votes to be registered.
103. The method of claim 97 wherein said step of generating a note further comprises the step of designating a user interest group for the note.
104. The method of claim 97 wherein said step of generating a note further comprises the step of designating a list of users to be recipients of the note.
105. The method of claim 97 wherein said step of generating a note further comprises the step of designating at least one locator for at least one Internet location related to the Internet location from which the extracted locator was extracted.
106. A method for user communication comprising the steps of: receiving user identification information, a locator of an Internet location and a note, from a client computer; indexing the note by the locator; and incorporating the indexed note into a database of notes.
107. A method for user communication comprising the steps of: extracting a locator of an Internet location from a web browser; generating a note: and sending user identification information, the extracted locator and the note to a server computer.
108. A user communication system comprising: an authentication processor authenticating a user based upon user identification information: a web browser in a client computer accessing Internet locations; a locator extractor in the client computer extracting a locator of an Internet location from said web browser; a note creator in the client computer generating a note; a client transmitter in the client computer sending the user identification information, the extracted locator and the note to a server computer; and a database manager in the server computer incorporating the note into a database of notes, indexed by the extracted locator.
109. The user communication system of claim 108 wherein said note creator comprises: a note header composer generating a header for the note; and a note body composer generating text for the note.
1 10. The user communication system of claim 109 wherein said note creator further comprises a user interface for designating a type for the note.
1 1 1. The user communication system of claim 1 10 wherein the designated type of the note is a poll, and wherein said note creator further comprises a voting selection list composer generating a list of selections for voting.
1 12. The user communication system of claim 1 1 1 wherein said user interface designates an expiration date for the note.
1 1 . The user communication system of claim 1 12 wherein said user interface designates a maximum number of votes to be registered.
1 14. The user communication system of claim 111 wherein said user interface designates a maximum number of votes to be registered.
1 15. The user communication system of claim 109 wherein said note creator further comprises a user interface for designating a user interest group for the note.
1 16. The user communication system of claim 109 wherein said note creator further comprises a user interface for designating a list of users to be recipients of the note.
1 17. The user communication system of claim 109 wherein said note creator further comprises a user interface for designating at least one locator for at least one Internet location related to the Internet location from which the extracted locator was extracted.
1 18. An Internet note server comprising: a receiver receiving user identification information, a locator of an Internet location and a note, from a client computer; and a database manager incorporating the note into a database of notes and indexing it by the locator.
1 19. An Internet note client comprising: a locator extractor extracting a locator of an Internet location from a web browser; a note creator generating a note; and a transmitter sending user identification information, the extracted locator and the note to a server computer.
120. A method for user communication comprising the steps of: authenticating a user based upon user identification information; extracting a locator of an Internet location from an Internet Relay Chat client on a client computer; sending the user identification information and the extracted locator from the client computer to a server computer: and sending note information, based upon the user identification information and the extracted locator, from the server computer to the client computer.
121. A user communication system comprising: an authentication processor authenticating a user based upon user identification information; an Internet Relay Chat client in a client computer accessing Internet locations; a locator extractor in the client computer extracting a locator of an Internet location from said Internet Relay Chat client; a client transmitter in the client computer sending the user identification information and the extracted locator to a server computer; and a server transmitter in the server computer sending note information to the client computer, based upon the user identification information and the extracted locator.
PCT/IL2000/000260 1999-05-14 2000-05-07 A method and system for user communication through internet notes WO2000070807A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU43110/00A AU4311000A (en) 1999-05-14 2000-05-07 A method and system for user communication through internet notes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US31241999A 1999-05-14 1999-05-14
US09/312,419 1999-05-14

Publications (2)

Publication Number Publication Date
WO2000070807A2 true WO2000070807A2 (en) 2000-11-23
WO2000070807A3 WO2000070807A3 (en) 2001-04-05

Family

ID=23211351

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2000/000260 WO2000070807A2 (en) 1999-05-14 2000-05-07 A method and system for user communication through internet notes

Country Status (2)

Country Link
AU (1) AU4311000A (en)
WO (1) WO2000070807A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1494145A1 (en) * 2003-07-01 2005-01-05 France Telecom Method for graphical structuring of information available by means of a telecommunication network, and for extraction of said information
EP1528754A1 (en) * 2001-05-11 2005-05-04 Nokia Corporation Mobile Instant Messaging and Presence Service

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5239466A (en) * 1990-10-04 1993-08-24 Motorola, Inc. System for selectively routing and merging independent annotations to a document at remote locations
US5822539A (en) * 1995-12-08 1998-10-13 Sun Microsystems, Inc. System for adding requested document cross references to a document by annotation proxy configured to merge and a directory generator and annotation server
US5826025A (en) * 1995-09-08 1998-10-20 Sun Microsystems, Inc. System for annotation overlay proxy configured to retrieve associated overlays associated with a document request from annotation directory created from list of overlay groups
US6021409A (en) * 1996-08-09 2000-02-01 Digital Equipment Corporation Method for parsing, indexing and searching world-wide-web pages
US6081829A (en) * 1996-01-31 2000-06-27 Silicon Graphics, Inc. General purpose web annotations without modifying browser

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5239466A (en) * 1990-10-04 1993-08-24 Motorola, Inc. System for selectively routing and merging independent annotations to a document at remote locations
US5826025A (en) * 1995-09-08 1998-10-20 Sun Microsystems, Inc. System for annotation overlay proxy configured to retrieve associated overlays associated with a document request from annotation directory created from list of overlay groups
US5822539A (en) * 1995-12-08 1998-10-13 Sun Microsystems, Inc. System for adding requested document cross references to a document by annotation proxy configured to merge and a directory generator and annotation server
US6081829A (en) * 1996-01-31 2000-06-27 Silicon Graphics, Inc. General purpose web annotations without modifying browser
US6021409A (en) * 1996-08-09 2000-02-01 Digital Equipment Corporation Method for parsing, indexing and searching world-wide-web pages

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1528754A1 (en) * 2001-05-11 2005-05-04 Nokia Corporation Mobile Instant Messaging and Presence Service
US9848305B2 (en) 2001-05-11 2017-12-19 Nokia Technologies Oy Mobile instant messaging and presence service
EP1494145A1 (en) * 2003-07-01 2005-01-05 France Telecom Method for graphical structuring of information available by means of a telecommunication network, and for extraction of said information
FR2857119A1 (en) * 2003-07-01 2005-01-07 France Telecom METHODS OF GRAPHICALLY STRUCTURING INFORMATION ACCESSIBLE THROUGH A TELECOMMUNICATIONS NETWORK, AND EXTRACTING IT, SERVER AND PROGRAM FOR THEIR IMPLEMENTATION

Also Published As

Publication number Publication date
AU4311000A (en) 2000-12-05
WO2000070807A3 (en) 2001-04-05

Similar Documents

Publication Publication Date Title
US11556544B2 (en) Search system and methods with integration of user annotations from a trust network
US8090776B2 (en) Dynamic content change notification
US7620996B2 (en) Dynamic summary module
JP5395014B2 (en) Search system and method integrating user annotations from a trust network
US20030028596A1 (en) Community-based collaborative knowledge system, and user access limiting method in that system
US9189479B2 (en) Semantic web portal and platform
DE60008023T2 (en) COMMUNICATION DEVICE FOR EFFICIENT ACCESS TO DATA FROM THE INTERNET
US20020019827A1 (en) Method and apparatus for managing documents in a centralized document repository system
US20030014482A1 (en) Community-based collaborative knowledge system, and message moving method in that system
US20050172007A1 (en) Method for a dynamic information messaging system
US20070011155A1 (en) System for communication and collaboration
US20080010294A1 (en) Systems and methods for subscribing to updates of user-assigned keywords
CN101317173A (en) System for communication and collaboration
US20020174179A1 (en) Community-based collaborative knowledge system, and message subscription type setting method and reply message processing method in that system
US7467126B2 (en) Removal of stale information
WO2000070807A2 (en) A method and system for user communication through internet notes
JP2002063303A (en) On-line marketing system using grading information
EP1929410A1 (en) System for communication and collaboration
JP2002342232A (en) Knowledge storage support system and participation inviting method for the system
JP2002342338A (en) Knowledge storage support system, and summary message revision managing method for the system
JP2002342339A (en) Knowledge storage support system, and link control method for summary message in the same

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP