US20020023134A1 - Method and computer program product for establishing real-time communications between networked computers - Google Patents

Method and computer program product for establishing real-time communications between networked computers Download PDF

Info

Publication number
US20020023134A1
US20020023134A1 US09/794,391 US79439101A US2002023134A1 US 20020023134 A1 US20020023134 A1 US 20020023134A1 US 79439101 A US79439101 A US 79439101A US 2002023134 A1 US2002023134 A1 US 2002023134A1
Authority
US
United States
Prior art keywords
computer
presence information
invitation
user
script
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US09/794,391
Inventor
Steven Roskowski
Andrew Riedel
Shankar Sahai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Paltalk Holdings Inc
Original Assignee
Paltalk Holdings Inc
HearMe
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 Paltalk Holdings Inc, HearMe filed Critical Paltalk Holdings Inc
Priority to US09/794,391 priority Critical patent/US20020023134A1/en
Assigned to HEARME reassignment HEARME ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SAHAI, SHANKAR, RIEDEL, ANDREW D., ROSKOWSKI, STEVEN G.
Assigned to PALTALK HOLDINGS, INC. reassignment PALTALK HOLDINGS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEARME, INC.
Publication of US20020023134A1 publication Critical patent/US20020023134A1/en
Priority to US11/206,301 priority patent/US8671145B2/en
Priority to US14/140,882 priority patent/US20140173008A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages

Definitions

  • the invention described herein relates to communications between computer users.
  • buddy list applications have appeared which provide presence information about one's contacts. With these applications, it is easy to determine whether a contact (or buddy) is currently online or perhaps away from their desk. It also provides the ability to decide whether to establish contact “on the spot” via an instant message.
  • buddy list applications There are several limitations to current buddy list applications. Most notably, segmentation of the namespace has occurred with buddy list applications due to a lack of standards and marketing battles between service providers. This prevents people from having global access to everyone connected to the Internet. Instead, a user is limited to users of the same buddy list application. Further, these applications tend to be large in size, require a separate download and installation process, and do not allow users to selectively manage their availability to people, meetings, and events.
  • the invention described herein is a system, method, and computer program product for establishing real-time communications between computer users connected by a communications network.
  • the invention provides for the creation, by a first computer, of an invitation.
  • the invitation is data that proposes a communication session.
  • the invitation can indicate the status or availability of the sending user or of some other resource.
  • Creation of the invitation is followed by the transfer of the invitation from the first computer to at least one second computer.
  • the invitation can be transferred electronically through the network, or physically, by the transfer of a data storage medium bearing the invitation.
  • the invitation contains parameters to configure an invitation communicator application for communications between the first and second computers.
  • the second computer accepts the invitation and invokes an invitation communicator application to allow communication.
  • invitations are independent of a service provider, so that a sending user can send an invitation to anyone else with whom the sending user is networked.
  • invitations allows the sending user to manage and state the sending user's availability to people, meetings, and events.
  • An invitation can serve to state that the sending user is ready and able to communicate presently, or at a designated time. Accepting an invitation can therefore give a receiving user instant communications access to the sending user.
  • Sending an invitation to several receiving users can create the equivalent of a chat room.
  • FIG. 1 illustrates the transfer of an invitation between two networked computers.
  • FIG. 2 illustrates a logical view of the architecture of an embodiment of the invention.
  • FIG. 3 is a block diagram illustrating the development and transmission of an e-mail containing an invitation, according to an embodiment of the invention.
  • FIG. 4 is a block diagram illustrating the receipt and processing of an e-mail containing an invitation, according to an embodiment of the invention.
  • FIG. 5 is a block diagram illustrating the receipt and processing of an e-mail containing an invitation, according to an alternative embodiment of the invention.
  • FIG. 6 is a flowchart showing the overall method of an embodiment of the invention.
  • FIG. 7 is a flowchart showing the process of generating a channel name, according to an embodiment of the invention.
  • FIG. 8 is a flowchart showing the process of categorizing and storing an outgoing invitation, according to an embodiment of the invention.
  • FIG. 9 is a flowchart showing the process of accessing a received invitation, according to an embodiment of the invention.
  • FIG. 10A is a screenshot of an e-mail with an embedded invitation control, according to an embodiment of the invention.
  • FIG. 10B is a screenshot of an e-mail with an embedded invitation communicator.
  • FIG. 11 is a screenshot of an e-mail with a hypertext link to web page from which an invitation control can be obtained and an invitation communicator launched, according to an embodiment of the invention.
  • FIG. 12 shows a web page from which an invitation communicator can be launched, according to an embodiment of the invention.
  • FIG. 13 is a flowchart showing the process of categorizing and storing a received invitation, according to an embodiment of the invention.
  • FIG. 14 is a timing diagram showing the process of transmitting an invitation to a receiving user who lacks a current invitation control, according to an embodiment of the invention.
  • FIG. 15 is a timing diagram showing the process of receiving and accepting an invitation, launching an invitation communicator, and communicating, according to an embodiment of the invention.
  • FIG. 16 illustrates a computing architecture on which the invention can be implemented, according to an embodiment of the invention.
  • the invention described herein is a system, method, and computer program product for sending, receiving, and managing invitations.
  • An invitation is a representation of a sending user.
  • An invitation is capable of establishing a communications channel to allow real-time interaction between the sending user and one or more receiving users while providing presence and availability information about the sending user and the receivers.
  • invitations effectively propose real time communications between parties and permit the real time sharing of status information among parties. An invitation can therefore serve to tell receiving users that the sending party is ready and able to communicate, and vice versa. Examples of such real time communications include text interchanges, such as the interchanges seen in chat room applications, or real time voice interchanges.
  • invitations provide presence and availability information about the participants that are to communicate. This information is dynamically communicated so that changes in presence or availability of a participant can be immediately seen by others.
  • a real-time communication session such as text chat or voice chat can be initiated.
  • Applications for invitations include on-line auctions or other buying processes.
  • invitations can be particularly useful when the item being bought may have limited availability, such as tickets to an event, where status information (e.g., item availability, or duration of a sale) must be conveyed to a prospective buyer.
  • An invitation can also be used to propose a conference, in which case the information can contain information such as a conference address and program.
  • an invitation can be sent from one party to another via a computer network, such as the Internet.
  • Electronic mail can be used as the vehicle for transferring an invitation from one party to another.
  • a sender can save copies of outgoing invitations, and can categorize and display them in a manner related to their attributes, as defined by the sender.
  • the sender may, for example, choose to organize copies of outgoing invitations according to recipient.
  • the receiver can likewise save, categorize, and display received invitations.
  • parties can invoke the communications application and launch it. This allows them to engage in real time communications with the sender.
  • the system of the present invention is illustrated in a general manner in FIG. 1 as system 100 .
  • a user at a sending computer 105 sends an invitation 110 to a data network 120 .
  • the invitation 110 is a proposal to communicate and is a reference to a real time communications application. More formally, invitation 110 is a data representation of an entity capable of establishing a communications channel to allow real-time interaction between two or more participants while providing presence and availability information about the participants. In an embodiment of the invention, invitation 110 identifies the communications application.
  • invitation 110 is then forwarded by network 120 to a receiving computer 115 , where it can be accessed by a receiving user. Note that in some uses of the invention, an invitation can be sent from a sending computer to more than one receiving computer.
  • the invitation can be embedded in an e-mail, for example.
  • the invitation is incorporated in an electronic document or some other electronic file, which is transferred to receiving computer 115 .
  • the transfer can be either electronic (e.g., through the internet 210 ) or physical (e.g., delivery of magnetic media).
  • the embodiments described below deliver the invitation using e-mail. Note that sending computer 105 and receiving computers 105 and 115 can be either peer entities or in a server/client relationship.
  • An invitation sending application 205 at a sending computer transmits an invitation to a computer network, such the Internet 210 .
  • invitation sending application 205 is an e-mail program.
  • the invitation is then sent to an invitation displayer 215 at a receiving computer.
  • invitation displayer 215 is an application containing a hypertext mark-up language (HTML) browser or other module capable of displaying an invitation control 220 . Examples of an invitation displayer include HTML-capable e-mail browsers, Microsoft Word documents, and custom applications.
  • the invitation control 220 is an object that can be obtained (downloaded) from a cooperating web server and then operates in conjunction with invitation displayer 215 .
  • invitation control 220 provides a visual display of a received invitation 225 .
  • invitation control 220 also facilitates the download and installation of other components such as an invitation manager 230 and an invitation communicator 236 .
  • invitation manager 230 is a module that manages a database of inbound (received) invitations and outbound invitations, tracks presence and state information of inbound invitations, and sends updated presence and state information of outbound invitations to users.
  • invitation manager 230 also updates other applications as necessary regarding any presence and state changes to the outbound or received invitations under its supervision.
  • Such invitations are identified as managed invitations 235 a, 235 b, and 235 c in FIG. 2.
  • An invitation management application program interface (API) 240 is an interface to the invitation manager 230 that provides an invitation management client 245 the ability to manage invitations and allows for other applications to be notified of changes in status of invitations under the supervision of the invitation manager 230 .
  • the invitation management client 245 is an application that utilizes the invitation management API 240 to provide a user interface for managing invitations.
  • invitation communicator 236 is an application capable of being launched using information contained in invitation 225 .
  • invitation communicator 236 facilitates communication between the participants. In an embodiment of the invention, such communication transpires via a voice server 250 , which is accessible through internet 210 . In an alternative embodiment, such communication takes place in a peer-to-peer mode.
  • a transport protocol may be required, such as the MPIP transport protocol 255 , developed by HearMe of Mt. View, Calif.
  • An invitation development module 305 accepts inputs 315 from a sending user 310 .
  • Examples of inputs 315 can include text that is to be presented to the receiving user through the invitation, and/or the time at which a communications channel is to be opened between the parties.
  • invitation development module 305 also receives parameters 320 produced by a parameter generation module 325 .
  • Parameters 320 include specifications for a communications context which must be passed to a user receiving the invitation.
  • Parameters 320 for example, can include information which names a specific channel to be used during communications.
  • invitation development module 305 then produces an invitation 330 , which serves as a reference to a communications session being proposed by the sending user 310 .
  • invitation 330 can also be viewed as a representation of an entity (e.g., the sending user 310 ) capable of establishing a communications channel that allows real-time interaction between two or more participants (i.e., sending and receiving users) while providing presence and availability information about the participants. If invitation 330 is being used to establish a conference, invitation 330 can convey information such as a conference address and program.
  • invitation 330 is then sent to an e-mail program 335 .
  • E-mail program 335 can be a commercially available e-mail program, such as Eudora, by Qualcomm. E-mail program 335 also accepts inputs 340 from the sending user 310 .
  • E-mail program 335 produces e-mail 345 containing the invitation 330 .
  • E-mail 245 is then sent to network 120 .
  • the mail is transferred as full featured HTML. An example of such an e-mail is presented below.
  • the following source code is an example of presence information formatted in Dynamic HyperText Markup Language (DHTML), which is described in greater detail below.
  • the example below shows source code which references a routine via the Web.
  • the referenced routine provides updated presence information regarding a user.
  • a first user can obtain updated presence regarding a second user.
  • E-mail program 335 is an example of an invitation sending application 205 .
  • the invitation 330 is also sent to an invitation manager 350 .
  • invitation manager 350 categorizes outgoing invitations according to one or more attributes, such as recipient, date, or topic. Based on this categorization, invitation 330 is then stored in storage medium 355 . Outgoing invitations can subsequently be displayed according to these attributes.
  • Receiving computer 115 receives e-mail 345 from the network 120 .
  • E-mail 345 is received by an invitation displayer 405 .
  • An invitation displayer is a commercially available e-mail program, such as Microsoft's Outlook or Qualcomm's Eudora.
  • Displayer 405 can then present a user interface 410 to a receiving user 408 through a display device 415 , such as a computer monitor.
  • the invitation 330 (embedded in e-mail 345 ) is also sent to an invitation manager 425 .
  • invitation manager 425 filters and categorizes incoming invitations, such as invitation 330 , according to one or more attributes, such as sender, date, or topic.
  • invitation 330 can then be stored appropriately in storage medium 430 .
  • Received invitations can subsequently be viewed according to category.
  • invitation 330 can only be displayed and accessed by the receiving user 408 if the receiving computer 115 has the current version of an invitation control 407 .
  • invitation control 407 is an object that provides a visual display of invitation 330 .
  • invitation control 407 is downloaded by receiving computer 115 from a cooperating web server via network 120 and then embedded in e-mail 345 , thereby making invitation 330 accessible to the receiving user through e-mail 345 .
  • An example of a displayed invitation is shown in FIG. 10, which will be described in greater detail below.
  • a displayer (such as an e-mail program) may not be able to present an incoming invitation to the receiving user. This would be the case, for example, if the incoming e-mail is in HTML format and the e-mail program is incapable of supporting HTML. In such a case, an invitation control cannot be embedded in e-mail 345 so as to display application 330 .
  • FIG. 5 Such an embodiment of the invention is illustrated in FIG. 5. Here the e-mail 345 is received by invitation displayer 505 , through network 120 . If displayer 505 is unable to present the invitation 330 to the receiving user 507 , displayer 505 presents, instead, other information that permits the receiving user 507 to access the invitation 330 .
  • access information 510 constitutes an address or pointer to an invitation control.
  • Access information 510 is conveyed to the user through display 515 .
  • Access information 510 may, for example, include a universal resource locator (URL).
  • URL universal resource locator
  • Receiving user 507 provides the appropriate input 509 , i.e., clicks on a hypertext link, or “hotlink” of the URL. The receiving user 507 can then download the invitation control.
  • the receiving user 507 can then access the invitation 330 through a browser window instead of through invitation displayer 505 .
  • java script “vc.js” can be written as described earlier with respect to e-mail program 335 .
  • invitation 330 can be sent to an invitation manager 520 .
  • invitation manager 520 filters and categorizes incoming invitations.
  • invitation 330 is then stored as appropriate in storage medium 525 .
  • dynamic presence information is transmitted from the sender to the receiver.
  • presence information is dynamically communicated so that changes in a user's presence is seen immediately by others.
  • Presence information is any information regarding the availability of a user of the present invention.
  • Presence information include information regarding whether the user is present at his computer, whether the user is currently occupied with another task, whether the user is currently communicating with another user, whether the computer of the user has been idle for a specified period of time, whether the user is currently logged on and whether the user has asked not to be disturbed.
  • Presence information regarding a user can be gathered by invitation manager 230 (see FIG. 2) or any other routine capable of monitoring such information such as invitation communicator 236 . The routine gathering a user's presence information then saves or formats the relevant information in preparation for providing it to the computer of a receiving user.
  • Presence information can be formatted in various ways depending on how the receiving user will display or use this information.
  • a simple example of a presence information format would be text such as the following: “The sending user is available for communication now.” This text can be saved as a text file and transmitted as such.
  • a presence information format would be a voice message containing the presence information.
  • the voice message can be a short message describing the availability of the sending user or it can be a message describing a URL or link to a web page that can access the availability of the sending user.
  • a more complex example of a presence information format would be a computer program or other computer readable program code that represents presence information graphically and is updated on a periodic or continuous basis.
  • presence information can be formatted, for example, in Dynamic Hyper Text Markup Language (DHTML).
  • DHTML includes the use of technologies such as Common Gateway Interface (CGI) scripts, Server Side Includes (SSI), cookies, Java, Java Scripts and Active X controls. These technologies can support the periodic updating of presence information to the receiving user.
  • CGI Common Gateway Interface
  • SSI Server Side Includes
  • ActiveX controls can support the periodic updating of presence information to the receiving user.
  • Using an ActiveX control sent by the sending user for example, a receiving user can periodically access the presence information of the sending user and display it graphically.
  • a presence information format is a GIF file that is provided to the receiving user. This file can represent the presence information of the sending user graphically. Further, the GIF file can be updated periodically.
  • Presence information must then be provided to the computer of a receiving user.
  • presence information can be transmitted via an invitation 100 (See FIG. 1).
  • presence information is not transmitted as a part of an invitation.
  • presence information is transmitted by itself, as a file or other type of presence information format as described above.
  • the receiving user uses DHTML computer code to access presence information of the sending user.
  • electronic mail using a protocol such as simple mail transfer protocol (SMTP)
  • SMTP simple mail transfer protocol
  • vehicles for the transmission of presence information include simple files (using a protocol such as file transfer protocol (FTP), hypertext transfer protocol (HTTP) or electronic data interchange (EDI)), voice (using a protocol such as voice over IP (VoIP)) and streaming data (using a protocol such as real-time transfer protocol (RTP) or user datagram protocol (UDP)).
  • FTP file transfer protocol
  • HTTP hypertext transfer protocol
  • EDI electronic data interchange
  • voice using a protocol such as voice over IP (VoIP)
  • streaming data using a protocol such as real-time transfer protocol (RTP) or user datagram protocol (UDP)
  • the computer of a receiving user either receives or accesses the presence information.
  • presence information can be received or accessed by invitation manager 230 .
  • presence information can be received or accessed by invitation displayer 215 , invitation control 220 , invitation communicator 236 or any other routine capable of receiving or accessing presence information, whether or not the presence information resides within an invitation.
  • presence information is processed and displayed. This can be accomplished, for example, by invitation displayer 215 or invitation manager 230 .
  • processing and displaying of presence information can be accomplished by any other routine capable of receiving (or accessing) and processing presence information, whether or not the presence information resides within an invitation.
  • presence information regarding the sending user is periodically provided to the receiving user.
  • presence information regarding the sending user is gathered, as described above, on a periodic basis.
  • this presence information is formatted and provided to the receiving user on a periodic basis.
  • the receiving user receives or accesses this periodic presence information and displays it. In this way, the receiving user can immediately become aware of changing presence information regarding the sending user.
  • Process 600 begins with step 605 .
  • the sending user creates an invitation.
  • the invitation is created using an invitation development module 305 .
  • the sending user defines the context for the invitation.
  • context refers to information that must be shared between a sending computer and receiving computer, so that the parties can communicate.
  • context information can include, for example, a channel name which allows the parties to establish a connection.
  • the sending user can process the invitation, so as to store the invitation according to some categorization.
  • the categorization may, for example, be defined so as to archive outgoing invitations in an organized manner.
  • the invitations may, for example, be organized according to attributes of each invitation, such as the intended recipient, or the date on which the invitation was sent.
  • invitations can subsequently be displayed according to their category.
  • the invitation is sent to the receiving computer. As described above, e-mail represents one vehicle by which the invitation can be sent.
  • the invitation is received by the receiving computer.
  • the receiving user accesses the invitation.
  • An invitation control is a control object that allows for visual display of an invitation.
  • the invitation control can be downloaded from a web server, then embedded in the received e-mail.
  • the receiving user may, alternatively, already have the invitation control from a previous interaction involving an invitation.
  • step 630 entails obtaining the invitation control. If the e-mail program of the receiving computer is capable of handling HTML, then the invitation control can be downloaded, then embedded in the received e-mail. If the e-mail program of the receiving computer is not capable of handling HTML, then the receiving user will be presented with a link to the cooperating web server from which the necessary invitation control can be downloaded. The invitation can then be accessed by the receiving user through a web page, using a web browser such as Internet Explorer by Microsoft.
  • a step 635 the receiving user processes the received invitation so as to store the received invitation according to a categorization based on attributes of the invitation.
  • the receiving user accepts the invitation. If the e-mail is in HTML format, this can be done through the user interface of invitation displayer 405 , provided that displayer 405 is capable of handling HTML. Alternatively, the receiving user can accept the invitation by using a web site through which the invitation can be accessed. Accepting the invitation triggers an automatic download of invitation manager 425 and invitation communicator 236 (see FIG. 2), which are then installed at the receiving computer.
  • the receiving user can launch communicator 236 . This enables the receiving user to access any status information provided by the sending user, and/or permits the receiving user to engage in real time communications with the sending user now or at a future time. The process concludes with a step 655 .
  • Context definition step 615 can include a process by which a channel is identified.
  • the process for deriving a channel name is illustrated in FIG. 7.
  • the process begins with a step 705 .
  • a random number is generated.
  • Such a random number can be generated, for example, by a generation module such as parameter generation module 325 .
  • the random number can be generated by the PERL random number generator.
  • the random number is mapped to a specific channel.
  • the process concludes with a step 720 .
  • the generated random number can then be incorporated with the invitation which is then sent to the receiving user.
  • the process of storing an invitation to be sent to a receiving user is illustrated in greater detail in FIG. 8.
  • the process 617 begins with a step 805 .
  • a step 810 a determination is made as to whether any filters are active, where such filters are used to categorize outgoing invitations according to attributes, such as topic and/or recipient. If no such filters are in place or active, then the process continues at a step 815 .
  • the invitation is stored. If, however, one or more filters is active, as determined in step 810 , then, in a step 820 , the invitation is stored in a manner dictated by the active filter.
  • the process ends at step 825 .
  • Invitations can subsequently be displayed according to their category.
  • step 905 The step of accessing or using the invitation, step 630 of FIG. 6, is illustrated in greater detail in FIG. 9.
  • the process begins with a step 905 .
  • a step 907 a determination is made as to whether the receiving computer has the current version of the invitation control 407 (see FIG. 4). If so, then the invitation control can be used to view the invitation in a step 918 .
  • the invitation can be viewed within the e-mail, or through a web page interface if the e-mail program is not HTML-capable. If the receiving computer does not have the current version of the invitation control in step 907 , the current invitation control must be obtained and the process continues at a step 910 .
  • step 910 a determination is made as to whether the e-mail browser of the receiving computer can support HTML. If so, the process continues at a step 915 , where the current invitation control is downloaded. In a step 918 , the invitation is viewed by the receiving user. If, in step 910 , the e-mail browser is found not to support HTML, then the process continues at a step 925 . In step 925 , a determination is made as to whether the e-mail program of the receiving user allows a URL hotlink. If so, then in a step 930 , a hotlink is presented to the user in the received e-mail. The hotlink allows the receiving user to access a web server from which the current invitation control can be downloaded in a step 935 .
  • step 940 the e-mail browser must necessarily support text only.
  • step 945 the user is presented with a textual reference to the URL, indicating the location of the appropriate web page from which the current invitation control can be downloaded. The receiving user can then use the URL to go to this web page. The download takes place in step 935 .
  • step 918 the invitation is viewed by the receiving user. The process concludes with a step 920 .
  • FIG. 10A An example of such a user interface as presented to a receiving user through an e-mail is illustrated in FIG. 10A.
  • the display 1000 includes an invitation control, displayed as interface 1005 , through which the user can engage in real time communications.
  • FIG. 10B shows a display 1050 with an interface 1055 to an invitation communicator application, with which the receiving user can communicate with other parties in real time.
  • the hotlink is presented to the user through the e-mail.
  • the web page associated with the hotlink provides the necessary invitation control which, in turn, allows access to the invitation and launching of the communicator.
  • FIG. 11 An illustration of an exemplary e-mail bearing such a hotlink is shown in FIG. 11.
  • display 1100 includes a hotlink 1105 , which the receiving user can click to access the web page.
  • FIG. 12 An example of such a web page is illustrated in FIG. 12.
  • the web page 1200 includes a user interface 1205 to the invitation communicator application, with which the receiving user can communicate with other parties in real time.
  • step 1305 The step of processing the received invitation, step 635 of FIG. 6, is illustrated in greater detail in FIG. 13.
  • the process begins with a step 1305 .
  • a step 1310 a determination is made as to whether filters are in place and activated in the computer of the receiving user. If so, then in a step 1315 , the invitation is stored in a manner dictated by the active filters, i.e., categorized. invitations can subsequently be displayed according to their category. If, however, in step 1310 , no filters are activated, then in a step 1320 the invitation is stored without any filtering taking place. In either event, the process concludes at a step 1325 .
  • FIGS. 14 and 15 These scenarios illustrate the process of the invention as it relates to users and the components described above.
  • a sending user John attempts to send an invitation to a receiving user Mary ( 1430 ), who lacks the current invitation control.
  • sending user John sends an invitation, including the associated text and parameters, to his e-mail program 1415 .
  • John's e-mail program 1415 is the Qualcomm product Eudora.
  • John tells e-mail program 1415 to send the invitation.
  • E-mail program 1415 therefore represents an invitation sending application.
  • John's e-mail program 1415 delivers the invitation to the e-mail program 1425 of receiving user Mary, via standard mail protocols.
  • Mary's e-mail program is Outlook by Microsoft.
  • a step 1435 Mary opens the e-mail containing the invitation. If she is using an HTML-capable e-mail reader, she can access the invitation by downloading the current invitation control 1437 from a web server such as a server supported by HearMe. The invitation control 1437 is then embedded in the e-mail. If she is using an e-mail reader not capable of displaying HTML, she will see a link to the invitation control 1437 . By using this link, Mary can initiate a download of the invitation control 1437 . In either case, this download is performed in a step 1440 . This assumes that Mary grants privileges to any security dialog presented to her. The invitation control 1437 is automatically displayed in a step 1450 , either as an embedded control within the e-mail or in a separate pop-up browser window if the e-mail reader is not capable of displaying HTML.
  • a download of the invitation manager and an invitation communicator will be automatically requested from cooperating server 1445 , such as one of HearMe's web servers, in a step 1460 . If Mary chooses to accept the installation in a step 1465 , she indicates acceptance to her computer 1470 . In a step 1475 , the installation is performed at computer 1470 .
  • FIG. 15 a scenario is depicted in which a receiving user John ( 1505 ) receives an invitation from a sending user Mary ( 1510 ) and ends up in a point-to-point chat session with Mary.
  • This sequence can be logically extrapolated to include multiple receivers who all go through the same sequence of events and end up in a multi-user conference session.
  • a step 1515 John checks his e-mail program 1520 and opens an e-mail containing an invitation. If John has never received an invitation on his machine or if there is a new version available on a web server 1522 , the current invitation control 1524 is obtained in a step 1525 . This step is similar to step 1440 described above. If John already has the invitation control and it is the current version, he will immediately see the invitation without any download.
  • a step 1530 John views the invitation in his e-mail reader and, in a step 1535 , accepts the invitation. This assumes that John's e-mail program is HTML-capable.
  • invitation control 1524 informs the invitation manager 1545 on John's machine that John has accepted the invitation. This causes the parameters of the invitation (such as the start time and the participants) to be copied into an invitation database managed by invitation manager 1545 .
  • invitation manager 1545 informs John that a communication session is about to start.
  • the invitation manager 1555 launches an invitation communicator 1560 to facilitate communication between the participants.
  • John communicates with Mary.
  • John's speech is passed to invitation communicator 1560 in a step 1565 , then to server 1522 in a step 1570 , then to Mary in a step 1575 .
  • Components of the present invention may be implemented using hardware, software or a combination thereof and may be implemented in a computer system or other processing system.
  • An example of such a computer system 1600 is shown in FIG. 16.
  • the computer system 1600 includes one or more processors, such as processor 1604 .
  • the processor 1604 is connected to a communication infrastructure 1606 , such as a bus or network.
  • Various software implementations are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the invention using other computer systems and/or computer architectures.
  • Computer system 1600 also includes a main memory 1608 , preferably random access memory (RAM), and may also include a secondary memory 1610 .
  • the secondary memory 1610 may include, for example, a hard disk drive 1612 and/or a removable storage drive 1614 , representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc.
  • the removable storage drive 1614 reads from and/or writes to a removable storage unit 1618 in a well known manner.
  • Removable storage unit 1618 represents a floppy disk, magnetic tape, optical disk, or other storage medium which is read by and written to by removable storage drive 1614 .
  • the removable storage unit 1618 includes a computer usable storage medium having stored therein computer software and/or data.
  • secondary memory 1610 may include other means for allowing computer programs or other instructions to be loaded into computer system 1600 .
  • Such means may include, for example, a removable storage unit 1622 and an interface 1620 .
  • Examples of such means may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 1622 and interfaces 1620 which allow software and data to be transferred from the removable storage unit 1622 to computer system 1600 .
  • Computer system 1600 may also include a communications interface 1624 .
  • Communications interface 1624 allows software and data to be transferred between computer system 1600 and external devices. Examples of communications interface 1624 may include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, etc.
  • Software and data transferred via communications interface 1624 are in the form of signals 1628 which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface 1624 . These signals 1628 are provided to communications interface 1624 via a communications path (i.e., channel) 1626 .
  • This channel 1626 carries signals 1628 and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link and other communications channels.
  • signals 1628 comprise user inputs to e-mail module 335 and invitation development module 305 . Such inputs may come from a keyboard or pointing device, such as a mouse. Signals 1628 also include parameters 320 , which are required by invitation development module 305 . Signals 1628 also comprise data produced by these modules, such as invitation 330 and e-mail 345 . In the context of an embodiment of a receiving computer 115 , signals 1628 comprise inputs to invitation displayer 405 , such as e-mail 345 and invitation control 407 . Signals 1628 also comprise data coming from invitation displayer 405 , such as user interface 410 .
  • computer program medium and “computer usable medium” are used to generally refer to media such as removable storage units 1618 and 1622 , a hard disk installed in hard disk drive 1612 , and signals 1628 .
  • These computer program products are means for providing software to computer system 1600 .
  • Computer programs are stored in main memory 1608 and/or secondary memory 1610 . Computer programs may also be received via communications interface 1624 . Such computer programs, when executed, enable the computer system 1600 to implement the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor 1604 to implement the present invention. Accordingly, such computer programs represent controllers of the computer system 1600 . Where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system 1600 using removable storage drive 1614 , hard drive 1612 or communications interface 1624 . In an embodiment of the present invention, invitation development module 305 , e-mail module 335 , invitation displayer 405 , and invitation mangers 350 and 425 are implemented in software and can therefore be made available to a processor 1604 through any of these means.

Abstract

A system, method, and computer program product is provided for establishing real-time communications between computer users connected by a communications network. An invitation is created by a first computer. An invitation is data that proposes a communication session. An invitation can indicate the status or availability of the sending user or of some other resource. Creation of the invitation is followed by the transfer of the invitation from the first computer to at least one second computer. The invitation can be transferred electronically through the network, or physically, by the transfer of a magnetic medium bearing the invitation. The invitation contains parameters to configure an invitation communicator application for communications between the first and second computers. The second computer accepts the invitation and invokes an invitation communicator application to allow communication.

Description

    RELATED U.S. APPLICATION DATA
  • This application is a continuation-in-part of U.S. Non-provisional Application No. 09/542,090 for “Method and Computer Program Product for Establishing Real-Time Communications Between Networked Computers,” to Roskowski et al., filed Apr. 3, 2000. The foregoing U.S. Non-provisional Application is hereby incorporated by reference in its entirety.[0001]
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0002]
  • The invention described herein relates to communications between computer users. [0003]
  • 2. Related Art [0004]
  • With current communication technologies, people often attempt to communicate with others in a blind manner. The initiator does not know if the intended contact is currently present at the contact's usual location, or whether the contact is available to communicate. To compound matters, the initiator often must leave a message that the intended contact receives at some later point. The contact now becomes the initiator and the whole scenario repeats itself. In the telephone medium, this is known as “phone tag.” This problem is compounded when a multi-participant conference needs to be established. Typically, a cumbersome coordination process must occur where all intended participants are first contacted to make sure they are available for a certain time slot. If the coordinator gets half way through the list of participants only to find that the designated time slot does not work, the whole process must be restarted. [0005]
  • In recent years, buddy list applications have appeared which provide presence information about one's contacts. With these applications, it is easy to determine whether a contact (or buddy) is currently online or perhaps away from their desk. It also provides the ability to decide whether to establish contact “on the spot” via an instant message. There are several limitations to current buddy list applications. Most notably, segmentation of the namespace has occurred with buddy list applications due to a lack of standards and marketing battles between service providers. This prevents people from having global access to everyone connected to the Internet. Instead, a user is limited to users of the same buddy list application. Further, these applications tend to be large in size, require a separate download and installation process, and do not allow users to selectively manage their availability to people, meetings, and events. [0006]
  • SUMMARY OF THE INVENTION
  • The invention described herein is a system, method, and computer program product for establishing real-time communications between computer users connected by a communications network. The invention provides for the creation, by a first computer, of an invitation. The invitation is data that proposes a communication session. The invitation can indicate the status or availability of the sending user or of some other resource. Creation of the invitation is followed by the transfer of the invitation from the first computer to at least one second computer. The invitation can be transferred electronically through the network, or physically, by the transfer of a data storage medium bearing the invitation. The invitation contains parameters to configure an invitation communicator application for communications between the first and second computers. The second computer accepts the invitation and invokes an invitation communicator application to allow communication. [0007]
  • The use of invitations is independent of a service provider, so that a sending user can send an invitation to anyone else with whom the sending user is networked. Invitations allows the sending user to manage and state the sending user's availability to people, meetings, and events. An invitation can serve to state that the sending user is ready and able to communicate presently, or at a designated time. Accepting an invitation can therefore give a receiving user instant communications access to the sending user. Sending an invitation to several receiving users can create the equivalent of a chat room.[0008]
  • BRIEF DESCRIPTION OF THE FIGURES
  • The foregoing and other features and advantages of the invention will be apparent from the following, more particular description of a preferred embodiment of the invention, as illustrated in the accompanying drawings. [0009]
  • FIG. 1 illustrates the transfer of an invitation between two networked computers. [0010]
  • FIG. 2 illustrates a logical view of the architecture of an embodiment of the invention. [0011]
  • FIG. 3 is a block diagram illustrating the development and transmission of an e-mail containing an invitation, according to an embodiment of the invention. [0012]
  • FIG. 4 is a block diagram illustrating the receipt and processing of an e-mail containing an invitation, according to an embodiment of the invention. [0013]
  • FIG. 5 is a block diagram illustrating the receipt and processing of an e-mail containing an invitation, according to an alternative embodiment of the invention. [0014]
  • FIG. 6 is a flowchart showing the overall method of an embodiment of the invention. [0015]
  • FIG. 7 is a flowchart showing the process of generating a channel name, according to an embodiment of the invention. [0016]
  • FIG. 8 is a flowchart showing the process of categorizing and storing an outgoing invitation, according to an embodiment of the invention. [0017]
  • FIG. 9 is a flowchart showing the process of accessing a received invitation, according to an embodiment of the invention. [0018]
  • FIG. 10A is a screenshot of an e-mail with an embedded invitation control, according to an embodiment of the invention. [0019]
  • FIG. 10B is a screenshot of an e-mail with an embedded invitation communicator. [0020]
  • FIG. 11 is a screenshot of an e-mail with a hypertext link to web page from which an invitation control can be obtained and an invitation communicator launched, according to an embodiment of the invention. [0021]
  • FIG. 12 shows a web page from which an invitation communicator can be launched, according to an embodiment of the invention. [0022]
  • FIG. 13 is a flowchart showing the process of categorizing and storing a received invitation, according to an embodiment of the invention. [0023]
  • FIG. 14 is a timing diagram showing the process of transmitting an invitation to a receiving user who lacks a current invitation control, according to an embodiment of the invention. [0024]
  • FIG. 15 is a timing diagram showing the process of receiving and accepting an invitation, launching an invitation communicator, and communicating, according to an embodiment of the invention. [0025]
  • FIG. 16 illustrates a computing architecture on which the invention can be implemented, according to an embodiment of the invention.[0026]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • A preferred embodiment of the present invention is now described with reference to the figures where like reference numbers indicate identical or functionally similar elements. Also in the figures, the left most digit of each reference number corresponds to the figure in which the reference number is first used. While specific configurations and arrangements are discussed, it should be understood that this is done for illustrative purposes only. A person skilled in the relevant art will recognize that other configurations and arrangements can be used without departing from the spirit and scope of the invention. It will be apparent to a person skilled in the relevant art that this invention can also be employed in a variety of other devices and applications. [0027]
  • Overview
  • The invention described herein is a system, method, and computer program product for sending, receiving, and managing invitations. An invitation is a representation of a sending user. An invitation is capable of establishing a communications channel to allow real-time interaction between the sending user and one or more receiving users while providing presence and availability information about the sending user and the receivers. Invitations effectively propose real time communications between parties and permit the real time sharing of status information among parties. An invitation can therefore serve to tell receiving users that the sending party is ready and able to communicate, and vice versa. Examples of such real time communications include text interchanges, such as the interchanges seen in chat room applications, or real time voice interchanges. [0028]
  • Invitations provide presence and availability information about the participants that are to communicate. This information is dynamically communicated so that changes in presence or availability of a participant can be immediately seen by others. When a user interacts with an invitation, a real-time communication session such as text chat or voice chat can be initiated. [0029]
  • Applications for invitations include on-line auctions or other buying processes. Invitations can be particularly useful when the item being bought may have limited availability, such as tickets to an event, where status information (e.g., item availability, or duration of a sale) must be conveyed to a prospective buyer. An invitation can also be used to propose a conference, in which case the information can contain information such as a conference address and program. By providing real-time interaction with presence and availability, invitations can enable applications to provide major productivity gains. [0030]
  • In an embodiment of the invention, an invitation can be sent from one party to another via a computer network, such as the Internet. Electronic mail can be used as the vehicle for transferring an invitation from one party to another. In an embodiment of the invention, a sender can save copies of outgoing invitations, and can categorize and display them in a manner related to their attributes, as defined by the sender. The sender may, for example, choose to organize copies of outgoing invitations according to recipient. The receiver can likewise save, categorize, and display received invitations. Ultimately, parties can invoke the communications application and launch it. This allows them to engage in real time communications with the sender. [0031]
  • System
  • The system of the present invention is illustrated in a general manner in FIG. 1 as [0032] system 100. A user at a sending computer 105 sends an invitation 110 to a data network 120. The invitation 110 is a proposal to communicate and is a reference to a real time communications application. More formally, invitation 110 is a data representation of an entity capable of establishing a communications channel to allow real-time interaction between two or more participants while providing presence and availability information about the participants. In an embodiment of the invention, invitation 110 identifies the communications application. Invitation 110 is then forwarded by network 120 to a receiving computer 115, where it can be accessed by a receiving user. Note that in some uses of the invention, an invitation can be sent from a sending computer to more than one receiving computer. The invitation can be embedded in an e-mail, for example. In an alternative embodiment, the invitation is incorporated in an electronic document or some other electronic file, which is transferred to receiving computer 115. The transfer can be either electronic (e.g., through the internet 210) or physical (e.g., delivery of magnetic media). The embodiments described below deliver the invitation using e-mail. Note that sending computer 105 and receiving computers 105 and 115 can be either peer entities or in a server/client relationship.
  • A logical perspective of [0033] system 100 is presented in FIG. 2. An invitation sending application 205 at a sending computer transmits an invitation to a computer network, such the Internet 210. In an embodiment of the invention, invitation sending application 205 is an e-mail program. The invitation is then sent to an invitation displayer 215 at a receiving computer. Invitation displayer 215 is an application containing a hypertext mark-up language (HTML) browser or other module capable of displaying an invitation control 220. Examples of an invitation displayer include HTML-capable e-mail browsers, Microsoft Word documents, and custom applications. The invitation control 220 is an object that can be obtained (downloaded) from a cooperating web server and then operates in conjunction with invitation displayer 215. Invitation control 220 provides a visual display of a received invitation 225.
  • [0034] Invitation control 220 also facilitates the download and installation of other components such as an invitation manager 230 and an invitation communicator 236. Invitation manager 230 is a module that manages a database of inbound (received) invitations and outbound invitations, tracks presence and state information of inbound invitations, and sends updated presence and state information of outbound invitations to users. Invitation manager 230 also updates other applications as necessary regarding any presence and state changes to the outbound or received invitations under its supervision. Such invitations are identified as managed invitations 235 a, 235 b, and 235 c in FIG. 2.
  • An invitation management application program interface (API) [0035] 240 is an interface to the invitation manager 230 that provides an invitation management client 245 the ability to manage invitations and allows for other applications to be notified of changes in status of invitations under the supervision of the invitation manager 230. The invitation management client 245 is an application that utilizes the invitation management API 240 to provide a user interface for managing invitations.
  • [0036] Invitation communicator 236 is an application capable of being launched using information contained in invitation 225. Invitation communicator 236 facilitates communication between the participants. In an embodiment of the invention, such communication transpires via a voice server 250, which is accessible through internet 210. In an alternative embodiment, such communication takes place in a peer-to-peer mode. To accomplish such communication, a transport protocol may be required, such as the MPIP transport protocol 255, developed by HearMe of Mt. View, Calif.
  • The portion of the present invention incorporated at the sending [0037] computer 105 is illustrated in greater detail in FIG. 3. An invitation development module 305 accepts inputs 315 from a sending user 310. Examples of inputs 315 can include text that is to be presented to the receiving user through the invitation, and/or the time at which a communications channel is to be opened between the parties. Invitation development module 305 also receives parameters 320 produced by a parameter generation module 325. Parameters 320 include specifications for a communications context which must be passed to a user receiving the invitation. Parameters 320, for example, can include information which names a specific channel to be used during communications. Invitation development module 305 then produces an invitation 330, which serves as a reference to a communications session being proposed by the sending user 310. Invitation 330 can also be viewed as a representation of an entity (e.g., the sending user 310) capable of establishing a communications channel that allows real-time interaction between two or more participants (i.e., sending and receiving users) while providing presence and availability information about the participants. If invitation 330 is being used to establish a conference, invitation 330 can convey information such as a conference address and program. Invitation 330 is then sent to an e-mail program 335. E-mail program 335 can be a commercially available e-mail program, such as Eudora, by Qualcomm. E-mail program 335 also accepts inputs 340 from the sending user 310.
  • [0038] E-mail program 335 produces e-mail 345 containing the invitation 330. E-mail 245 is then sent to network 120. In an embodiment of the invention, the mail is transferred as full featured HTML. An example of such an e-mail is presented below. This code is presented by way of example, and is not intended as a limitation on embodiments of the invention:
    <!DOCTYPE HTML PUBLIC“-//W3C/DTD HTML 4.0 Transitional//EN”>
    <html>
    <head>
    <meta http-equiv=“Content-Type” content=“text/html; charset=iso-8859-1”>
    </head>
    <body bgcolor=“#DDDDDD”>
    <!-------------- BEGIN HearMe Now Device Parameters -------------->
    <form name=“HearMeVCC”>
    <input type=“hidden” name=“Username” value=“steve”>
    <input type=“hidden” name=“Channel” value=“#15506f56”>
    <!-------------- END HearMe Now Device Parameters -------------->
    <!-------------- BEGIN HearMe Now Device Display -------------->
    <table cellspaceing=0 cellpadding=0 width=600>
    <tr>
    <td width=440 valign=top align=left>This is an example of email that has a text chat application
    embedded inside of it
    <td width=160 valign=top align=center>
    <script language=“JavaScript”
    src=“http://www.hearme.com/products/vp/embedded/scripts/vc.js”>
    </script>
    <a href=“http://mecury.hearme.com/mailform/fallback.cgi?rec=
    steve&cha=15506f56”>
    Launch browser voice chat about this </a>
    </table>
    </form>
    <br><br>
    Copyright 1999 HearMe. All rights reserved
    </body>
    </html>
  • The following source code is an example of presence information formatted in Dynamic HyperText Markup Language (DHTML), which is described in greater detail below. The example below shows source code which references a routine via the Web. The referenced routine provides updated presence information regarding a user. Thus, using this source code, a first user can obtain updated presence regarding a second user. This source code is presented by way of example, and is not intended as a limitation on embodiments of the invention: [0039]
    <!-- VC_SIGTAG -->
    <br>Author (650429-3626)
    <br><table cellpadding=2 cellspacing=3 bicolor=#ffffff>
    <tr><td>Online Status:
    <a href=“http://eudora.voicecontact.com/vc3/?shankar%40hearme.com”>
    <img NOSEN=1 height=16 width=100 border=0
    src=“http://eudora.voicecontact.com/servlets/prescence?imgbase=status%252Fvc2final_email&amp;
    channel=HEARME_VC20.SDK.%2523shankar%40hearme.com”></a></td>
    <td><a href=“http://dudora.voicecontact.com/vc3/?shankar%40hearme.com”>
    <img border=0 NOSEN=1 height=25 width=75
    src=“http://eudora.voicecontact.com/vc3/images/email/vc2final/emailbtn_callsender.gif”></a></td>
    <td><a href=“http://www.eudora.com/products/voicecontract/”>
    <img border=0 NOSEND=1 height=25 width=135
    src=“http://eudora.voicecontact.com/vc3/images/email/vc2final/download_eudora.gif”>
    </a></td></tr></table><br></html>
    /* (c)HearMe, 2000. All rights reserved Modifications to and reproduction
    * of this script is strictly forbidden without explicit written permission
    * from HearMe. www.hearme.com
    */
    if( navigator.userAgent.indexOf(“WebTV”)==−1)
    {
    //**************************************************************
    //********************CONFIG VARIABLES************************
    //**************************************************************
    script_version = “x”;
    client_version = “1,2,1,4”;
    root = “http://vp.hearme.com”;
    evp_root = root + “/products/vp/embedded”;
    classid = “CLSID:73020B72-CDD6-4F80-8098-1B2ECD9CA4CA”;
    mimetype = “application/x-hearme-evp”;
    ie_url = evp_root + “/plugins/evp.cab#version=“ + client_version;
    ns_url = evp_root + “/plugins/evp.jar”;
    mic_url = root + “/products/vp/config/”;
    if(document.location.hash == “#evp2”)
    {
    script_version = “x”;
    client_version = “2,0,1,0”;
    classid = “CLSID:2B89A560-D118-4215-A90E-9CAEF818088C”;
    ie_url = “”;
    ns_url = “”;
    }
    //**************************************************************
    //********************CODE STARTS HERE********************
    //**************************************************************
    var params = new Array( “Domain”,“Vendor”,“Application”,“Deployment”,“Channel”,“Username”,
    “Talklimit”,“Width”,“Height”,“Background”,“Cookie”,“OptionsButton”,“StatusArea”,
    “TalkButton”,“TextChatButton”,“TextChatWindow”,“UserList”,“VUMeter”,
    “Border”,“Color”,“LogoImg”,“LogoURL”,“HelpURL” );
    //**************************************************************
    //********************DEFAULT VALUES********************
    //**************************************************************
    params[“Domain”] = “audiochat.hearme.com”;
    params[“Vendor”] = “HEARME”;
    params[“Application”] = “EVP”;
    params[“Talklimit”] = “60000”;
    params[“Width”] = “130”;
    params[“Height”] = “180”;
    params[“Border”] = “]”;
    params[“Color”] = “#aaaaaa”;
    params[“LogoImg”] = evp_root + “/images/hearme.gif”;
    params[“LogoURL”] = root + “/products/”;
    params[“HelpURL”] = root + “/products/vp/evp_help.html?version=“ + client_version +
    script_version;
    //**************************************************************
    //*******************READ PARAMETERS**************************
    //**************************************************************
    if( document.HearMeVCC)
    {
    for( i=0; i<document HearMeVCC.length; i++ )
    {
    if( document.HearMeVCC[i].value != null )
    params[document.HearMeVCC[i].name] = document.HearMeVCC[i].value;
    }
    }
    //**************************************************************
    //*******************HARDCODED PARAMETERS*********************
    //**************************************************************
    params[“Domain”] = “audiochat.hearme.com”;
    params[“Vendor”] = “HEARME”;
    params[“Application”] = “EVP”;
    //**************************************************************
    //*******************HTML CODE FOR CONTROL********************
    //**************************************************************
    dcoument.write( “<TABLE WIDTH=“,params[“Width”]);
    if( params[“Border”] != “”)
    document.write( “ BORDER=“,params[“Border”] );
    if( params[“Color”] != “” )
    document.write( “ BGCOLOR=”, params[“Color”] );
    document.write( “><TR><TD><TABLE BORDER=0><TR>”);
    document.writeIn( “<TD ALIGN=LEFT><A HREF=”’, params[“LogoURL”], ”’
    TARGET=HEARME><IMG SRC=”’,
    params[“LogoImg”], “‘ BORDER=0></A></TD>” );
    document.writeIn( “<TD ALIGN=RIGHT><FONT SIZE=1 FACE=ARIAL><A HREF=”’,
    params[=HelpURL”],
    “‘ TARGET=VP_HELP><B>HELP</B></A></FONT><BR>” );
    document.writeIn( “</TD></TR>” );
    document.writeIn(“<TR><TD COLSPAN=2 ALIGN=CENTER>”);
    if( (navigator.appVersion.charAt(0) < 4) ∥
    ((navigator.appName == “Netscape”) && (navigator.appVersion.split(“ ”, 1) <4.08)) )
    {
    document.write(“<TABLE><TD ALIGN=center BGCOLOR=white
    WIDTH=“,params[“Width”],“HEIGHT=”,params[“Height”],“>”);
    document.writeIn( “<font face=arial size=−1>To voice chat with other users, ”,
    “you must have Netscape 4.08 and above or Internet Explorer 4.0 and above”,
    “</font>”);
    document.write(“</TD></TABLE>”);
    } else if( navigator.userAgent.indexOf( “Win” ) == −1 )
    {
    document.write(“<TABLE><TD ALIGN=center BGCOLOR=white
    WIDTH=“,params[“Width”],“HEIGHT=”,params[“Height”],“>”);
    document.writeIn(“<font face=arial size=−1>To voice chat with other users, ”,
    “you must have a PC with Microsoft Windows installed”,
    “</font>”);
    document.write(“</TD></TABLE>”);
    } else if( navigator.userAgent.indexOf( “MSIE 3” ) == −1 )
    {
    if( navigator.appName == “Netscape” )
    {
    //**************************************************************
    //*******************NETSCAPE EMBED TAG***********************
    //**************************************************************
    document.write( “<EMBED NAME=‘EVP’ ”);
    document.writeIn( “TYPE=“‘,mimetype , “;version=”, client_version, ”’ ” );
    document.writeIn( “pluginurl=“‘,ns_url, ”’ pluginspage=“” );
    for( var i=0; i<params.length; i++ )
    {
    if( params[params[i]] != null )
    {
    document.write( “ ”, params[i], “=”’, params[params[i]], ”’”
    }
    }
    document.write( “hosturl=”’, escape( document.URL ),”’”
    document.writeIn( “></EMBED>” );
    } else
    {
    //**************************************************************
    //*******************MSIE OBJECT TAG**************************
    //**************************************************************
    document.write( “<OBJECT ID=‘EVP’ CLASSID=”’, classis, “‘ CODEBASE=”’. ie_url,
    “‘ WIDTH=”’, params[“Width”], “‘ HEIGHT=”’, params[“Height”], “‘>” );
    for (i=0; i<params.length; i++ )
    {
    if( params[params[j]] != null )
    {
    document.write( “<PARAM NAME=”’, params[i], “‘ VALUE=”’, params[params[i]],
    ”’></PARAM>” );
    }
    }
    document.writeIn( “</OBJECT>” );
    }
    //**************************************************************
    //*******************HTML CODE FOR MIC CONFIG*****************
    //**************************************************************
    document.writeIn(“<FONT SIZE=1 FACE=ARIAL><A HREF=‘#’”,
    “onMouseOver=\“self.status=‘Configures your microphone and speaker levels’; ”,
    “return true\” onMouseOUt=\“self.status=” return true\””,
    “onClick=\”window.open(“‘, mic_url, ”’. ‘vp_audio_config’, ”,
    “‘WIDTH=750, HEIGHT=800,resizable=yes,scrollbars=yes’ );\“>”,
    “Audio Configuration</A></FONT>”);
    }
    document.writeIn( “</TD></TR></TABLE></TD></TR></TABLE>” );
    }
  • [0040] E-mail program 335 is an example of an invitation sending application 205. In an embodiment of the invention, the invitation 330 is also sent to an invitation manager 350. Invitation manager 350 categorizes outgoing invitations according to one or more attributes, such as recipient, date, or topic. Based on this categorization, invitation 330 is then stored in storage medium 355. Outgoing invitations can subsequently be displayed according to these attributes.
  • The portion of the system of the present invention that is incorporated at the receiving [0041] computer 115 is illustrated in FIG. 4. Receiving computer 115 receives e-mail 345 from the network 120. E-mail 345 is received by an invitation displayer 405. One example of an invitation displayer is a commercially available e-mail program, such as Microsoft's Outlook or Qualcomm's Eudora. Displayer 405 can then present a user interface 410 to a receiving user 408 through a display device 415, such as a computer monitor. The invitation 330 (embedded in e-mail 345) is also sent to an invitation manager 425. Invitation manager 425 filters and categorizes incoming invitations, such as invitation 330, according to one or more attributes, such as sender, date, or topic. Invitation 330 can then be stored appropriately in storage medium 430. Received invitations can subsequently be viewed according to category.
  • Note that in an embodiment of the invention, [0042] invitation 330 can only be displayed and accessed by the receiving user 408 if the receiving computer 115 has the current version of an invitation control 407. Invitation control 407 is an object that provides a visual display of invitation 330. In a preferred embodiment, invitation control 407 is downloaded by receiving computer 115 from a cooperating web server via network 120 and then embedded in e-mail 345, thereby making invitation 330 accessible to the receiving user through e-mail 345. An example of a displayed invitation is shown in FIG. 10, which will be described in greater detail below.
  • In an alternative embodiment of the invention, a displayer (such as an e-mail program) may not be able to present an incoming invitation to the receiving user. This would be the case, for example, if the incoming e-mail is in HTML format and the e-mail program is incapable of supporting HTML. In such a case, an invitation control cannot be embedded in [0043] e-mail 345 so as to display application 330. Such an embodiment of the invention is illustrated in FIG. 5. Here the e-mail 345 is received by invitation displayer 505, through network 120. If displayer 505 is unable to present the invitation 330 to the receiving user 507, displayer 505 presents, instead, other information that permits the receiving user 507 to access the invitation 330. This information is identified in FIG. 5 as access information 510. In this embodiment, access information 510 constitutes an address or pointer to an invitation control. Access information 510 is conveyed to the user through display 515. Access information 510 may, for example, include a universal resource locator (URL). This enables the receiving user 507 to provide user inputs 509 allowing receiving user 507 to use a web browser to access a web server associated with the URL and, from there, download the necessary invitation control. Receiving user 507 provides the appropriate input 509, i.e., clicks on a hypertext link, or “hotlink” of the URL. The receiving user 507 can then download the invitation control.
  • The receiving user [0044] 507 can then access the invitation 330 through a browser window instead of through invitation displayer 505. An example of the script code that presents such a display is presented below, in PERL. This code is presented by way of example, and is not intended as a limitation on embodiments of the invention:
    #!/usr/local/bin/perl
    use Socket ;
    use FileHandle ;
    if($ENV{‘REQUEST_METHOD’} eq “POST”) {
    $post = <STDIN>;
    split_query ($query ($post, \%query, 1);
    }
    else {
    split_query ($ENV{‘QUERY_STRING’}, \%query, 1);
    }
    $message = << “EOM”
    MIME-Version: 1.0
    Content-Type: text/html; charset=us-ascii; name=“OfferMailTest”
    <!DOCTYPE HTML PUBLIC ”-//W3C/DTD HTML 4.0 Transitional//EN”>
    <html>
    <head>
    meta http-equiv=“Content-Type” content=“text/html; charset=iso-8859-1”>
    </head>
    <body bgcolor=“#DDDDDD”>
    <!-------------- BEGIN HearMe Now Device Parameters -------------->
    <form name=“HearMeVCC”>
    <input type=“hidden” name=“Username” value=“$query{‘rec’}”>
    <input type=“hidden” name=“Channel” value=“#$query{‘cha’}”>
    <!-------------- END HearMe Now Device Parameters -------------->
    <!-------------- BEGIN HearMe Now Device Display -------------->
    <table cellspacing=0 cellpadding=0 width=600>
    <tr>
    <td width=440 valign=top align=left>
    Copyright 1999 HearMe. All rights reserved
    <td width=160 valign=top algin=center>
    <script language=“JavaScript”
    src=“http://www.hearme.com/products/vp/embedded/scripts/vc.js”>
    </script>
    </table>
    </form>
    </body>
    </html>
    EOM
    ;
    print $message ;
    sub split_query
    ######################################################################
    # Split a CGI QUERY_STRING into an associative array.
    {
    local ($query_string, *query_dict, $escape) = @_;
    local (@query_list, $query_pair, $name, $value);
    @query_list = split (/&/, $query_string);
    foreach $query_pair (@query_list) {
    if ($query_pair =˜ /{circumflex over ( )}([{circumflex over ( )}=]+)=(.*)$/) {
    $name = $1; $value = $2;
    if ($escape) {
    $value =˜ sΛ÷/ /g;
    $value =˜ s/%([0-9A-Fa-f]{2})/pack(‘C’, hex($1))/eg;
    }
    $query_dict{$name} = $value;
    }
    }
    $query_dict{‘_escape’} = $escape;
    return 1;
    }
  • The java script “vc.js” can be written as described earlier with respect to [0045] e-mail program 335.
  • As before, [0046] invitation 330 can be sent to an invitation manager 520.
  • [0047] Invitation manager 520 filters and categorizes incoming invitations. Invitation 330 is then stored as appropriate in storage medium 525.
  • p Presence Information
  • In an embodiment of the present invention, dynamic presence information is transmitted from the sender to the receiver. As described above, presence information is dynamically communicated so that changes in a user's presence is seen immediately by others. [0048]
  • Presence information is any information regarding the availability of a user of the present invention. Examples of presence information include information regarding whether the user is present at his computer, whether the user is currently occupied with another task, whether the user is currently communicating with another user, whether the computer of the user has been idle for a specified period of time, whether the user is currently logged on and whether the user has asked not to be disturbed. Presence information regarding a user can be gathered by invitation manager [0049] 230 (see FIG. 2) or any other routine capable of monitoring such information such as invitation communicator 236. The routine gathering a user's presence information then saves or formats the relevant information in preparation for providing it to the computer of a receiving user.
  • Presence information can be formatted in various ways depending on how the receiving user will display or use this information. A simple example of a presence information format would be text such as the following: “The sending user is available for communication now.” This text can be saved as a text file and transmitted as such. [0050]
  • Another simple example of a presence information format would be a voice message containing the presence information. The voice message can be a short message describing the availability of the sending user or it can be a message describing a URL or link to a web page that can access the availability of the sending user. [0051]
  • A more complex example of a presence information format would be a computer program or other computer readable program code that represents presence information graphically and is updated on a periodic or continuous basis. In order to provide the receiving user with periodic reception of presence information, presence information can be formatted, for example, in Dynamic Hyper Text Markup Language (DHTML). DHTML includes the use of technologies such as Common Gateway Interface (CGI) scripts, Server Side Includes (SSI), cookies, Java, Java Scripts and Active X controls. These technologies can support the periodic updating of presence information to the receiving user. Using an ActiveX control sent by the sending user, for example, a receiving user can periodically access the presence information of the sending user and display it graphically. [0052]
  • Another example of a presence information format is a GIF file that is provided to the receiving user. This file can represent the presence information of the sending user graphically. Further, the GIF file can be updated periodically. [0053]
  • Presence information must then be provided to the computer of a receiving user. As described above, presence information can be transmitted via an invitation [0054] 100 (See FIG. 1). In an embodiment of the present invention, presence information is not transmitted as a part of an invitation. In this embodiment, presence information is transmitted by itself, as a file or other type of presence information format as described above. In another embodiment of the present invention, the receiving user uses DHTML computer code to access presence information of the sending user.
  • As described above, electronic mail (using a protocol such as simple mail transfer protocol (SMTP)) can be used as the vehicle for the transmission of presence information. Further examples of vehicles for the transmission of presence information include simple files (using a protocol such as file transfer protocol (FTP), hypertext transfer protocol (HTTP) or electronic data interchange (EDI)), voice (using a protocol such as voice over IP (VoIP)) and streaming data (using a protocol such as real-time transfer protocol (RTP) or user datagram protocol (UDP)). [0055]
  • Subsequently, the computer of a receiving user either receives or accesses the presence information. As described above, presence information can be received or accessed by [0056] invitation manager 230. Alternatively, presence information can be received or accessed by invitation displayer 215, invitation control 220, invitation communicator 236 or any other routine capable of receiving or accessing presence information, whether or not the presence information resides within an invitation. After it is obtained, presence information is processed and displayed. This can be accomplished, for example, by invitation displayer 215 or invitation manager 230. Alternatively, processing and displaying of presence information can be accomplished by any other routine capable of receiving (or accessing) and processing presence information, whether or not the presence information resides within an invitation.
  • In an embodiment of the present invention, presence information regarding the sending user is periodically provided to the receiving user. In this embodiment, presence information regarding the sending user is gathered, as described above, on a periodic basis. Likewise, this presence information is formatted and provided to the receiving user on a periodic basis. Ultimately, the receiving user receives or accesses this periodic presence information and displays it. In this way, the receiving user can immediately become aware of changing presence information regarding the sending user. [0057]
  • Method
  • The process of the invention is described in general in FIG. 6. [0058] Process 600 begins with step 605. In a step 610, the sending user creates an invitation. In an embodiment of the invention, the invitation is created using an invitation development module 305. In a step 615, the sending user defines the context for the invitation. Here, context refers to information that must be shared between a sending computer and receiving computer, so that the parties can communicate. Such context information can include, for example, a channel name which allows the parties to establish a connection.
  • In a [0059] step 617, the sending user can process the invitation, so as to store the invitation according to some categorization. The categorization may, for example, be defined so as to archive outgoing invitations in an organized manner. The invitations may, for example, be organized according to attributes of each invitation, such as the intended recipient, or the date on which the invitation was sent. Invitations can subsequently be displayed according to their category. In a step 620, the invitation is sent to the receiving computer. As described above, e-mail represents one vehicle by which the invitation can be sent.
  • In a [0060] step 625, the invitation is received by the receiving computer. In a step 630, the receiving user accesses the invitation. As described above with respect to FIGS. 4 and 5, the receiving user requires an invitation control before the invitation can be accessed. An invitation control is a control object that allows for visual display of an invitation. The invitation control can be downloaded from a web server, then embedded in the received e-mail. The receiving user may, alternatively, already have the invitation control from a previous interaction involving an invitation.
  • If the invitation control must be obtained, [0061] step 630 entails obtaining the invitation control. If the e-mail program of the receiving computer is capable of handling HTML, then the invitation control can be downloaded, then embedded in the received e-mail. If the e-mail program of the receiving computer is not capable of handling HTML, then the receiving user will be presented with a link to the cooperating web server from which the necessary invitation control can be downloaded. The invitation can then be accessed by the receiving user through a web page, using a web browser such as Internet Explorer by Microsoft.
  • In a [0062] step 635, the receiving user processes the received invitation so as to store the received invitation according to a categorization based on attributes of the invitation. In a step 640, the receiving user accepts the invitation. If the e-mail is in HTML format, this can be done through the user interface of invitation displayer 405, provided that displayer 405 is capable of handling HTML. Alternatively, the receiving user can accept the invitation by using a web site through which the invitation can be accessed. Accepting the invitation triggers an automatic download of invitation manager 425 and invitation communicator 236 (see FIG. 2), which are then installed at the receiving computer. In a step 650, the receiving user can launch communicator 236. This enables the receiving user to access any status information provided by the sending user, and/or permits the receiving user to engage in real time communications with the sending user now or at a future time. The process concludes with a step 655.
  • [0063] Context definition step 615 can include a process by which a channel is identified. The process for deriving a channel name, according to an embodiment of the invention, is illustrated in FIG. 7. The process begins with a step 705. In a step 710, a random number is generated. Such a random number can be generated, for example, by a generation module such as parameter generation module 325. In an embodiment of the invention, the random number can be generated by the PERL random number generator. In a step 715, the random number is mapped to a specific channel. The process concludes with a step 720. The generated random number can then be incorporated with the invitation which is then sent to the receiving user.
  • The process of storing an invitation to be sent to a receiving user (step [0064] 617 of process 600) is illustrated in greater detail in FIG. 8. The process 617 begins with a step 805. In a step 810, a determination is made as to whether any filters are active, where such filters are used to categorize outgoing invitations according to attributes, such as topic and/or recipient. If no such filters are in place or active, then the process continues at a step 815. At step 815, the invitation is stored. If, however, one or more filters is active, as determined in step 810, then, in a step 820, the invitation is stored in a manner dictated by the active filter. The process ends at step 825. Invitations can subsequently be displayed according to their category.
  • The step of accessing or using the invitation, step [0065] 630 of FIG. 6, is illustrated in greater detail in FIG. 9. The process begins with a step 905. In a step 907, a determination is made as to whether the receiving computer has the current version of the invitation control 407 (see FIG. 4). If so, then the invitation control can be used to view the invitation in a step 918. The invitation can be viewed within the e-mail, or through a web page interface if the e-mail program is not HTML-capable. If the receiving computer does not have the current version of the invitation control in step 907, the current invitation control must be obtained and the process continues at a step 910. In step 910, a determination is made as to whether the e-mail browser of the receiving computer can support HTML. If so, the process continues at a step 915, where the current invitation control is downloaded. In a step 918, the invitation is viewed by the receiving user. If, in step 910, the e-mail browser is found not to support HTML, then the process continues at a step 925. In step 925, a determination is made as to whether the e-mail program of the receiving user allows a URL hotlink. If so, then in a step 930, a hotlink is presented to the user in the received e-mail. The hotlink allows the receiving user to access a web server from which the current invitation control can be downloaded in a step 935. If, in step 925, the e-mail browser does not allow a URL hotlink, then in step 940 the e-mail browser must necessarily support text only. In a step 945, the user is presented with a textual reference to the URL, indicating the location of the appropriate web page from which the current invitation control can be downloaded. The receiving user can then use the URL to go to this web page. The download takes place in step 935. In step 918, the invitation is viewed by the receiving user. The process concludes with a step 920.
  • If the e-mail browser of the receiving user can fully support HTML, then the user interface to the invitation is presented to the receiving user through the e-mail. An example of such a user interface as presented to a receiving user through an e-mail is illustrated in FIG. 10A. Here, the [0066] display 1000 includes an invitation control, displayed as interface 1005, through which the user can engage in real time communications. FIG. 10B shows a display 1050 with an interface 1055 to an invitation communicator application, with which the receiving user can communicate with other parties in real time.
  • If the e-mail browser of the receiving user is unable to fully support HTML, but does support a hotlink, then the hotlink is presented to the user through the e-mail. As described above, the web page associated with the hotlink provides the necessary invitation control which, in turn, allows access to the invitation and launching of the communicator. An illustration of an exemplary e-mail bearing such a hotlink is shown in FIG. 11. Here, [0067] display 1100 includes a hotlink 1105, which the receiving user can click to access the web page. An example of such a web page is illustrated in FIG. 12. Here, the web page 1200 includes a user interface 1205 to the invitation communicator application, with which the receiving user can communicate with other parties in real time.
  • The step of processing the received invitation, step [0068] 635 of FIG. 6, is illustrated in greater detail in FIG. 13. The process begins with a step 1305. In a step 1310, a determination is made as to whether filters are in place and activated in the computer of the receiving user. If so, then in a step 1315, the invitation is stored in a manner dictated by the active filters, i.e., categorized. Invitations can subsequently be displayed according to their category. If, however, in step 1310, no filters are activated, then in a step 1320 the invitation is stored without any filtering taking place. In either event, the process concludes at a step 1325.
  • The operation of an embodiment of the invention is further illustrated in the example scenarios of FIGS. 14 and 15. These scenarios illustrate the process of the invention as it relates to users and the components described above. In FIG. 14, a sending user John ([0069] 1410) attempts to send an invitation to a receiving user Mary (1430), who lacks the current invitation control. In step 1405, sending user John sends an invitation, including the associated text and parameters, to his e-mail program 1415. In this embodiment, John's e-mail program 1415 is the Qualcomm product Eudora. In a step 1420, John tells e-mail program 1415 to send the invitation. E-mail program 1415 therefore represents an invitation sending application. In a step 1422, John's e-mail program 1415 delivers the invitation to the e-mail program 1425 of receiving user Mary, via standard mail protocols. In the embodiment illustrated, Mary's e-mail program is Outlook by Microsoft.
  • In a [0070] step 1435, Mary opens the e-mail containing the invitation. If she is using an HTML-capable e-mail reader, she can access the invitation by downloading the current invitation control 1437 from a web server such as a server supported by HearMe. The invitation control 1437 is then embedded in the e-mail. If she is using an e-mail reader not capable of displaying HTML, she will see a link to the invitation control 1437. By using this link, Mary can initiate a download of the invitation control 1437. In either case, this download is performed in a step 1440. This assumes that Mary grants privileges to any security dialog presented to her. The invitation control 1437 is automatically displayed in a step 1450, either as an embedded control within the e-mail or in a separate pop-up browser window if the e-mail reader is not capable of displaying HTML.
  • If Mary chooses to accept the invitation in a step [0071] 1455, a download of the invitation manager and an invitation communicator will be automatically requested from cooperating server 1445, such as one of HearMe's web servers, in a step 1460. If Mary chooses to accept the installation in a step 1465, she indicates acceptance to her computer 1470. In a step 1475, the installation is performed at computer 1470.
  • In FIG. 15, a scenario is depicted in which a receiving user John ([0072] 1505) receives an invitation from a sending user Mary (1510) and ends up in a point-to-point chat session with Mary. This sequence can be logically extrapolated to include multiple receivers who all go through the same sequence of events and end up in a multi-user conference session.
  • In a step [0073] 1515, John checks his e-mail program 1520 and opens an e-mail containing an invitation. If John has never received an invitation on his machine or if there is a new version available on a web server 1522, the current invitation control 1524 is obtained in a step 1525. This step is similar to step 1440 described above. If John already has the invitation control and it is the current version, he will immediately see the invitation without any download.
  • In a step [0074] 1530, John views the invitation in his e-mail reader and, in a step 1535, accepts the invitation. This assumes that John's e-mail program is HTML-capable. In a step 1540, invitation control 1524 informs the invitation manager 1545 on John's machine that John has accepted the invitation. This causes the parameters of the invitation (such as the start time and the participants) to be copied into an invitation database managed by invitation manager 1545.
  • At the time specified in the invitation (which may be immediately), in a [0075] step 1550, invitation manager 1545 informs John that a communication session is about to start. In a step 1555, the invitation manager 1555 launches an invitation communicator 1560 to facilitate communication between the participants.
  • In the next series of steps, John communicates with Mary. In the case of voice communication, John's speech is passed to invitation communicator [0076] 1560 in a step 1565, then to server 1522 in a step 1570, then to Mary in a step 1575.
  • Computing environment
  • Components of the present invention may be implemented using hardware, software or a combination thereof and may be implemented in a computer system or other processing system. An example of such a [0077] computer system 1600 is shown in FIG. 16. The computer system 1600 includes one or more processors, such as processor 1604. The processor 1604 is connected to a communication infrastructure 1606, such as a bus or network. Various software implementations are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the invention using other computer systems and/or computer architectures.
  • [0078] Computer system 1600 also includes a main memory 1608, preferably random access memory (RAM), and may also include a secondary memory 1610. The secondary memory 1610 may include, for example, a hard disk drive 1612 and/or a removable storage drive 1614, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive 1614 reads from and/or writes to a removable storage unit 1618 in a well known manner. Removable storage unit 1618, represents a floppy disk, magnetic tape, optical disk, or other storage medium which is read by and written to by removable storage drive 1614. As will be appreciated, the removable storage unit 1618 includes a computer usable storage medium having stored therein computer software and/or data.
  • In alternative implementations, [0079] secondary memory 1610 may include other means for allowing computer programs or other instructions to be loaded into computer system 1600. Such means may include, for example, a removable storage unit 1622 and an interface 1620. Examples of such means may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 1622 and interfaces 1620 which allow software and data to be transferred from the removable storage unit 1622 to computer system 1600.
  • [0080] Computer system 1600 may also include a communications interface 1624. Communications interface 1624 allows software and data to be transferred between computer system 1600 and external devices. Examples of communications interface 1624 may include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, etc. Software and data transferred via communications interface 1624 are in the form of signals 1628 which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface 1624. These signals 1628 are provided to communications interface 1624 via a communications path (i.e., channel) 1626. This channel 1626 carries signals 1628 and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link and other communications channels.
  • In the context of an embodiment of a sending [0081] computer 105, signals 1628 comprise user inputs to e-mail module 335 and invitation development module 305. Such inputs may come from a keyboard or pointing device, such as a mouse. Signals 1628 also include parameters 320, which are required by invitation development module 305. Signals 1628 also comprise data produced by these modules, such as invitation 330 and e-mail 345. In the context of an embodiment of a receiving computer 115, signals 1628 comprise inputs to invitation displayer 405, such as e-mail 345 and invitation control 407. Signals 1628 also comprise data coming from invitation displayer 405, such as user interface 410.
  • In this document, the terms “computer program medium” and “computer usable medium” are used to generally refer to media such as [0082] removable storage units 1618 and 1622, a hard disk installed in hard disk drive 1612, and signals 1628. These computer program products are means for providing software to computer system 1600.
  • Computer programs (also called computer control logic) are stored in [0083] main memory 1608 and/or secondary memory 1610. Computer programs may also be received via communications interface 1624. Such computer programs, when executed, enable the computer system 1600 to implement the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor 1604 to implement the present invention. Accordingly, such computer programs represent controllers of the computer system 1600. Where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system 1600 using removable storage drive 1614, hard drive 1612 or communications interface 1624. In an embodiment of the present invention, invitation development module 305, e-mail module 335, invitation displayer 405, and invitation mangers 350 and 425 are implemented in software and can therefore be made available to a processor 1604 through any of these means.
  • Conclusion
  • While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in detail can be made therein without departing from the spirit and scope of the invention. Thus the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents. [0084]

Claims (23)

What is claimed is:
1. A method for communicating presence information about a first user associated with a first computer to a second computer, the method comprising:
(a) determining, by the first computer, presence information associated with the first user based on interaction by the first user with the first computer;
(b) sending, by the first computer, the presence information to the second computer; and
(c) periodically repeating steps (a) and (b) to update the presence information.
2. The method of claim 1, further comprising:
displaying the presence information on the second computer.
3. The method of claim 2, wherein said sending step comprises:
sending to the second computer an e-mail containing the presence information.
4. The method of claim 2, wherein said sending step comprises:
sending to the second computer a cookie containing the presence information.
5. The method of claim 2, wherein said sending step comprises:
sending to the second computer a GIF file containing the presence information.
6. The method of claim 2, wherein said sending step comprises:
executing a script on the second computer to cause the second computer to retrieve the presence information from the first computer.
7. The method of claim 6, wherein said sending step comprises:
executing a script on the second computer to cause the second computer to retrieve the presence information from the first computer, said script being selected from the group consisting of a hyper text markup language (HTML) script, a dynamic hyper text markup language (DHTML) script, a common gateway interface (CGI) script, a server side include (SSI) script, a Java script and an Active X control.
8. A system for communicating presence information about a first user associated with a first computer to a second computer, the system comprising:
a first computer program executing on the first computer, said first computer program determining presence information associated with the first user based on interaction by the first user with the first computer;
means for transferring the presence information to the second computer; and
a second computer program executing on the second computer, said second computer program receiving and providing the presence information to a user of the second computer.
9. The system of claim 8, wherein said transferring means comprises:
an e-mail program that sends the presence information to the second computer in the form of an e-mail.
10. The system of claim 8, wherein
said first computer program comprises an invitation development module; and
said second computer program comprises an invitation displayer module.
11. The system of claim 8, wherein
said first computer program places the presence information in an HTML page available via the Internet; and
said second computer program comprises a Web browser.
12. The system of claim 8, wherein said second computer program comprises:
a script executing on the second computer to cause the second computer to retrieve the presence information from the first computer, said script being selected from the group consisting of a hyper text markup language (HTML) script, a dynamic hyper text markup language (DHTML) script, a common gateway interface (CGI) script, a server side include (SSI) script, a Java script and an Active X control.
13. A computer program product comprising a computer readable medium having control logic stored therein for communicating presence information about a first user associated with a first computer to a second computer, the computer control logic comprising:
means for execution on the first computer to determine presence information associated with the first user based on interaction by the first user with the first computer;
means for making the presence information available to the second computer; and
means for execution on the second computer to receive and provide the presence information to a user of the second computer.
14. The computer program product of claim 13, wherein said second computer program comprises:
a script executing on the second computer to cause the second computer to retrieve the presence information from the first computer, said script being selected from the group consisting of a hyper text markup language (HTML) script, a dynamic hyper text markup language (DHTML) script, a common gateway interface (CGI) script, a server side include (SSI) script, a Java script and an Active X control.
15. A computer-based method for providing to a second computer presence information about a first user associated with a first computer, comprising the steps of:
(a) determining, by the first computer, the presence information about the first user;
(b) transmitting, by the first computer, the presence information to the second computer; and
(c) periodically repeating steps (a) and (b) to update the presence information.
16. A computer-based method for accessing, by a second computer, presence information about a first user associated with a first computer, comprising the steps of:
(a) determining, by the first computer, the presence information about the first user;
(b) accessing, by computer code on the second computer, the presence information; and
(c) periodically repeating steps (a) and (b) to update the presence information.
17. The computer-based method of claim 16, further comprising:
(d) displaying, by the second computer, the presence information.
18. The computer-based method of claim 16, wherein the presence information includes at least one of:
whether the first user is currently present at the computer of the first user;
whether the first user is currently occupied;
whether the first user is currently communicating with another user;
whether the computer of the first user has been idle for a period of time;
whether the first user is currently logged onto a network; and
whether the first user prefers not to receive communications.
19. The computer-based method of claim 16, wherein step (b) comprises:
accessing, by computer code on the second computer, the presence information, wherein the presence information is located on a web site accessible via the internet.
20. The computer-based method of claim 19, further comprising a step before step (a) of:
transmitting, by the first computer, the presence information to a web site accessible via the internet.
21. The computer-based method of claim 16, wherein said computer code includes at least one of:
Dynamic Hyper Text Markup Language (DHTML) code;
a Common Gateway Interface (CGI) script;
a Server Side Include (SSI) script;
a cookie;
Java code;
a Java Script;
an Active X control; and
a GIF file.
22. The computer-based method of claim 21, further comprising a step before step (a) of:
receiving, by the second computer, said computer code from the first computer via at least one of:
a file;
an email;
a voice message; and
a text message.
23. A computer program product comprising a computer useable medium having control logic stored therein for causing a second computer to access presence information about a first user associated with a first computer, the computer control logic comprising:
first computer readable program code means for causing the second computer to access the presence information about the first user, wherein said first computer readable program code means includes at least one of:
Dynamic Hyper Text Markup Language (DHTML) code,
a Common Gateway Interface (CGI) script,
a Server Side Include (SSI) script,
a cookie,
Java code,
a Java Script,
an Active X control, and
a GIF file; and
second computer readable program code means for causing the computer to periodically execute said first computer readable program code means.
US09/794,391 2000-04-03 2001-02-28 Method and computer program product for establishing real-time communications between networked computers Abandoned US20020023134A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US09/794,391 US20020023134A1 (en) 2000-04-03 2001-02-28 Method and computer program product for establishing real-time communications between networked computers
US11/206,301 US8671145B2 (en) 2000-04-03 2005-08-17 Method and computer program product for establishing real-time communications between networked computers
US14/140,882 US20140173008A1 (en) 2000-04-03 2013-12-26 Method and computer program product for establishing real-time communications between networked computers

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US54209000A 2000-04-03 2000-04-03
US09/794,391 US20020023134A1 (en) 2000-04-03 2001-02-28 Method and computer program product for establishing real-time communications between networked computers

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US54209000A Continuation-In-Part 2000-04-03 2000-04-03

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/206,301 Continuation US8671145B2 (en) 2000-04-03 2005-08-17 Method and computer program product for establishing real-time communications between networked computers

Publications (1)

Publication Number Publication Date
US20020023134A1 true US20020023134A1 (en) 2002-02-21

Family

ID=35542635

Family Applications (3)

Application Number Title Priority Date Filing Date
US09/794,391 Abandoned US20020023134A1 (en) 2000-04-03 2001-02-28 Method and computer program product for establishing real-time communications between networked computers
US11/206,301 Expired - Lifetime US8671145B2 (en) 2000-04-03 2005-08-17 Method and computer program product for establishing real-time communications between networked computers
US14/140,882 Abandoned US20140173008A1 (en) 2000-04-03 2013-12-26 Method and computer program product for establishing real-time communications between networked computers

Family Applications After (2)

Application Number Title Priority Date Filing Date
US11/206,301 Expired - Lifetime US8671145B2 (en) 2000-04-03 2005-08-17 Method and computer program product for establishing real-time communications between networked computers
US14/140,882 Abandoned US20140173008A1 (en) 2000-04-03 2013-12-26 Method and computer program product for establishing real-time communications between networked computers

Country Status (1)

Country Link
US (3) US20020023134A1 (en)

Cited By (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020023131A1 (en) * 2000-03-17 2002-02-21 Shuwu Wu Voice Instant Messaging
US20030065721A1 (en) * 2001-09-28 2003-04-03 Roskind James A. Passive personalization of buddy lists
US20030126207A1 (en) * 2002-01-03 2003-07-03 International Business Machines Corporation Instant messaging with voice conference feature
US20030204741A1 (en) * 2002-04-26 2003-10-30 Isadore Schoen Secure PKI proxy and method for instant messaging clients
US20030225836A1 (en) * 2002-05-31 2003-12-04 Oliver Lee Systems and methods for shared browsing among a plurality of online co-users
US20030225834A1 (en) * 2002-05-31 2003-12-04 Microsoft Corporation Systems and methods for sharing dynamic content among a plurality of online co-users
US20040128356A1 (en) * 2001-06-25 2004-07-01 Keith Bernstein Email integrated instant messaging
US20040158611A1 (en) * 2003-02-10 2004-08-12 Daniell W. Todd Forwarding IM messages to E-mail
US20040158609A1 (en) * 2003-02-10 2004-08-12 Daniell W. Todd Forwarding to automatically prioritized IM accounts based upon priority and presence
US20040205134A1 (en) * 2003-02-14 2004-10-14 Digate Charles J. System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system
US20040228531A1 (en) * 2003-05-14 2004-11-18 Microsoft Corporation Instant messaging user interfaces
EP1506492A1 (en) * 2002-05-21 2005-02-16 France Telecom Caller initiated distinctive presence alerting and auto-response messaging
US20050076240A1 (en) * 2003-04-02 2005-04-07 Barry Appleman Degrees of separation for handling communications
US20050076241A1 (en) * 2003-04-02 2005-04-07 Barry Appelman Degrees of separation for handling communications
US20050108329A1 (en) * 2002-11-21 2005-05-19 Andrew Weaver Multiple personalities
US20050144291A1 (en) * 2003-12-04 2005-06-30 Randall Frank Integrating multiple communication modes
US20050256985A1 (en) * 2004-05-13 2005-11-17 Wildtangent, Inc. Sending progress information of other users for transmitted shared content
US20060010201A1 (en) * 2000-04-03 2006-01-12 Roskowski Steven G Method and computer program product for establishing real-time communications between networked computers
US20060031772A1 (en) * 2001-09-28 2006-02-09 Judson Valeski Automatic categorization of entries in a contact list
US20060031293A1 (en) * 2004-08-04 2006-02-09 Thommes Christoph A Business presence system and method
US20060190475A1 (en) * 2004-12-20 2006-08-24 Norman Shi Group polling for consumer review
US20060258368A1 (en) * 2005-05-11 2006-11-16 Jennifer Granito Personalized location information for mobile devices
US7472351B1 (en) * 2004-08-18 2008-12-30 Zilka Kevin J E-mail manager interface with integrated instant messaging and phone call initiator feature
US7512652B1 (en) 2001-09-28 2009-03-31 Aol Llc, A Delaware Limited Liability Company Passive personalization of buddy lists
US20090158184A1 (en) * 2003-03-03 2009-06-18 Aol Llc, A Delaware Limited Liability Company (Formerly Known As Ameria Online, Inc.) Reactive avatars
US20090234922A1 (en) * 2004-12-01 2009-09-17 Aol Llc Automatically Enabling the Forwarding of Instant Messages
US20100056183A1 (en) * 2008-08-28 2010-03-04 Aol Llc Methods and system for providing location-based communication services
US20100169801A1 (en) * 2002-11-21 2010-07-01 Aol Llc Multiple avatar personalities
US7765265B1 (en) 2005-05-11 2010-07-27 Aol Inc. Identifying users sharing common characteristics
US20110148916A1 (en) * 2003-03-03 2011-06-23 Aol Inc. Modifying avatar behavior based on user action or mood
US7979802B1 (en) * 2000-05-04 2011-07-12 Aol Inc. Providing supplemental contact information corresponding to a referenced individual
US7984098B2 (en) 2000-07-25 2011-07-19 AOL, Inc. Video messaging
US20110208819A1 (en) * 2000-04-03 2011-08-25 Roskowski Steven G Method And Computer Program Product For Establishing Real-Time Communications Between Networked Computers
US20110209198A1 (en) * 2003-03-03 2011-08-25 Aol Inc. Applying access controls to communications with avatars
US8132110B1 (en) 2000-05-04 2012-03-06 Aol Inc. Intelligently enabled menu choices based on online presence state in address book
US20120114108A1 (en) * 2010-09-27 2012-05-10 Voxer Ip Llc Messaging communication application
USRE43436E1 (en) 2003-02-14 2012-05-29 Devereux Research Ab Llc System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system
US20130054712A1 (en) * 2000-05-04 2013-02-28 Aol Inc. Tri-state presence indicator
US8474628B1 (en) 2000-05-04 2013-07-02 Facebook, Inc. Presenting a recipient of an e-mail with an option to instant message a sender or another recipient based on the sender's or the other recipient's address and online status
US20130205230A1 (en) * 2004-02-12 2013-08-08 International Business Machines Corporation Establishing a chat session between users in a network system
US8595146B1 (en) 2004-03-15 2013-11-26 Aol Inc. Social networking permissions
US8781523B2 (en) 2004-07-12 2014-07-15 Stragent, Llc System, method, and computer program product for using a cellular phone as an interface for a VoIP-equipped computer
US8824643B2 (en) 2000-12-18 2014-09-02 Paltalk Holdings, Inc. System, method and computer program product for conveying presence information via voice mail
USRE45254E1 (en) 2002-12-31 2014-11-18 Facebook, Inc. Implicit population of access control lists
US8898239B2 (en) 2004-03-05 2014-11-25 Aol Inc. Passively populating a participant list with known contacts
US9002949B2 (en) 2004-12-01 2015-04-07 Google Inc. Automatically enabling the forwarding of instant messages
US9043418B2 (en) 2000-05-04 2015-05-26 Facebook, Inc. Systems and methods for instant messaging persons referenced in an electronic message
US9049569B2 (en) 2004-12-01 2015-06-02 Google Inc. Prohibiting mobile forwarding
US20150163070A1 (en) * 2004-11-30 2015-06-11 Iii Holdings 1, Llc Method and apparatus for managing an interactive network session
US9100221B2 (en) 2000-05-04 2015-08-04 Facebook, Inc. Systems for messaging senders and recipients of an electronic message
US9185067B1 (en) 1999-12-01 2015-11-10 Facebook, Inc. System and method for analyzing communications
US9356894B2 (en) 2000-05-04 2016-05-31 Facebook, Inc. Enabled and disabled menu choices based on presence state
US9516125B2 (en) 2003-03-26 2016-12-06 Facebook, Inc. Identifying and using identities deemed to be known to a user
US20170099238A1 (en) * 2002-09-17 2017-04-06 Dale W. Malik Initiating instant messaging (im) chat sessions from email messages
US9652809B1 (en) 2004-12-21 2017-05-16 Aol Inc. Using user profile information to determine an avatar and/or avatar characteristics
US9742615B1 (en) 2002-12-31 2017-08-22 Aol Inc. Popularity index
US10248687B2 (en) 2005-09-12 2019-04-02 Microsoft Technology Licensing, Llc Expanded search and find user interface
US10437431B2 (en) 2004-08-16 2019-10-08 Microsoft Technology Licensing, Llc Command user interface for displaying selectable software functionality controls
US10445114B2 (en) 2008-03-31 2019-10-15 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US10482637B2 (en) 2006-06-01 2019-11-19 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US10482429B2 (en) * 2003-07-01 2019-11-19 Microsoft Technology Licensing, Llc Automatic grouping of electronic mail
US10521081B2 (en) 2004-08-16 2019-12-31 Microsoft Technology Licensing, Llc User interface for displaying a gallery of formatting options
US10521073B2 (en) 2007-06-29 2019-12-31 Microsoft Technology Licensing, Llc Exposing non-authoring features through document status information in an out-space user interface
US10635266B2 (en) 2004-08-16 2020-04-28 Microsoft Technology Licensing, Llc User interface for displaying selectable software functionality controls that are relevant to a selected object
US10642927B2 (en) 2007-06-29 2020-05-05 Microsoft Technology Licensing, Llc Transitions between user interfaces in a content editing application
US10798122B2 (en) 2002-10-08 2020-10-06 Uber Technologies, Inc. Preventing execution of programs that are embedded in email messages
US10997562B2 (en) 2008-06-20 2021-05-04 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US11115354B2 (en) * 2013-03-29 2021-09-07 Orange Technique of co-operation between a plurality of client entities
US11755340B2 (en) 2020-10-07 2023-09-12 Microsoft Technology Licensing, Llc Automatic enrollment and intelligent assignment of settings

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002157206A (en) 2000-11-17 2002-05-31 Square Co Ltd Method and system for taking part in electronic conference
US7194300B2 (en) * 2004-01-21 2007-03-20 Cardionet, Inc. Cardiac monitoring
US20060265469A1 (en) * 2005-05-20 2006-11-23 Estrade Brett D XML based scripting framework, and methods of providing automated interactions with remote systems
US8032838B2 (en) * 2008-02-14 2011-10-04 Research In Motion Limited System and method for processing and rendering markup language based electronic mail
CN101730018B (en) * 2009-11-19 2012-11-28 中兴通讯股份有限公司 Point-to-point chat method and system
US10419374B1 (en) 2010-07-09 2019-09-17 Gummarus, Llc Methods, systems, and computer program products for processing a request for a resource in a communication
US10212112B1 (en) 2010-07-09 2019-02-19 Gummarus LLC Methods, systems, and computer program products for processing a request for a resource in a communication
US10171392B1 (en) 2010-07-09 2019-01-01 Gummarus LLC Methods, systems, and computer program products for processing a request for a resource in a communication
US10158590B1 (en) 2010-07-09 2018-12-18 Gummarus LLC Methods, systems, and computer program products for processing a request for a resource in a communication
US20140172998A1 (en) * 2012-12-16 2014-06-19 Deep River Ventures, Llc Methods, Systems, and Computer Program Products for Browsing Via a Communications Agent
US10015122B1 (en) 2012-10-18 2018-07-03 Sitting Man, Llc Methods and computer program products for processing a search
US10021052B1 (en) 2012-09-22 2018-07-10 Sitting Man, Llc Methods, systems, and computer program products for processing a data object identification request in a communication
US10013158B1 (en) 2012-09-22 2018-07-03 Sitting Man, Llc Methods, systems, and computer program products for sharing a data object in a data store via a communication
US10033672B1 (en) 2012-10-18 2018-07-24 Sitting Man, Llc Methods and computer program products for browsing using a communicant identifier
US10019135B1 (en) 2012-10-18 2018-07-10 Sitting Man, Llc Methods, and computer program products for constraining a communication exchange
US20210126879A1 (en) * 2017-07-28 2021-04-29 Beijing Yi Zhang Yun Feng Technology Co., Ltd. Automatic outbound instant messages
US11126738B2 (en) 2018-03-27 2021-09-21 BoardPAC Private Limited Methods, systems and machine-readable programs for communicating self destructive messages

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020073163A1 (en) * 2000-12-12 2002-06-13 Fuji Xerox Co., Ltd. Systems and methods for supporting document centered discussion across heterogeneous devices and displays
US6463471B1 (en) * 1998-12-28 2002-10-08 Intel Corporation Method and system for validating and distributing network presence information for peers of interest
US6484196B1 (en) * 1998-03-20 2002-11-19 Advanced Web Solutions Internet messaging system and method for use in computer networks
US6539421B1 (en) * 1999-09-24 2003-03-25 America Online, Inc. Messaging application user interface

Family Cites Families (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4601064A (en) 1983-01-13 1986-07-15 Fisher Berkeley Corporation Communication system
US4649385A (en) 1982-08-13 1987-03-10 Teloc R & D Ltd. Electronic locating system for persons receiving telephone calls
US4932050A (en) 1989-06-30 1990-06-05 At&T Bell Laboratories Proximity detection for telecommunications features
US5206934A (en) 1989-08-15 1993-04-27 Group Technologies, Inc. Method and apparatus for interactive computer conferencing
US5210789A (en) 1991-06-28 1993-05-11 International Telecharge, Inc. Interactive telephone operator terminal
US6608636B1 (en) * 1992-05-13 2003-08-19 Ncr Corporation Server based virtual conferencing
US5363425A (en) 1992-06-29 1994-11-08 Northern Telecom Limited Method and apparatus for providing a personal locator, access control and asset tracking service using an in-building telephone network
US5471318A (en) 1993-04-22 1995-11-28 At&T Corp. Multimedia communications network
US5548637A (en) 1993-09-09 1996-08-20 Precision Tracking Fm, Inc. Method and apparatus for locating personnel and objects in response to telephone inquiries
US5689641A (en) 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
US6594688B2 (en) 1993-10-01 2003-07-15 Collaboration Properties, Inc. Dedicated echo canceler for a workstation
CA2108225C (en) 1993-10-12 1997-07-22 Rolf G. Meier Charger/detector for cordless telephones
US5515426A (en) 1994-02-28 1996-05-07 Executone Information Systems, Inc. Telephone communication system having a locator
CA2119086C (en) 1994-03-15 1998-06-16 Thomas A. Gray Help desk improvement
US5912947A (en) 1994-06-20 1999-06-15 Sigma/Micro Corporation Public notification system and method
US5724508A (en) 1995-03-09 1998-03-03 Insoft, Inc. Apparatus for collaborative computing
US5751793A (en) 1995-03-14 1998-05-12 U S West Technologies, Inc. Method and instructions for visual voice messaging user interface
US5666405A (en) 1995-07-14 1997-09-09 At&T True family telecommunication service
US6650761B1 (en) 1999-05-19 2003-11-18 Digimarc Corporation Watermarked business cards and methods
US6301339B1 (en) 1995-11-15 2001-10-09 Data Race, Inc. System and method for providing a remote user with a virtual presence to an office
US5742674A (en) 1995-12-22 1998-04-21 At&T Corp. Automatic call-back system and method using data indicating best time to call
US5862325A (en) 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
AU2935297A (en) 1996-05-07 1997-11-26 Webline Communications Corporation Method and apparatus for coordinating internet multi-media content with telephone and audio communications
US6016478A (en) 1996-08-13 2000-01-18 Starfish Software, Inc. Scheduling system with methods for peer-to-peer scheduling of remote users
US6275490B1 (en) 1996-08-21 2001-08-14 Netspeak Corporation Method and apparatus for establishing communications from browser application
US6160881A (en) 1996-09-19 2000-12-12 Siemens Information And Communication Networks, Inc. System and method for integrating electronic entry systems with telecommunication systems
US5764916A (en) 1996-09-27 1998-06-09 Ichat, Inc. Method and apparatus for real time communication over a computer network
US6233318B1 (en) * 1996-11-05 2001-05-15 Comverse Network Systems, Inc. System for accessing multimedia mailboxes and messages over the internet and via telephone
US5796393A (en) 1996-11-08 1998-08-18 Compuserve Incorporated System for intergrating an on-line service community with a foreign service
US5828839A (en) 1996-11-14 1998-10-27 Interactive Broadcaster Services Corp. Computer network chat room based on channel broadcast in real time
US7058696B1 (en) 1996-11-22 2006-06-06 Mangosoft Corporation Internet-based shared file service with native PC client access and semantics
JP3715087B2 (en) 1997-02-28 2005-11-09 パナソニック モバイルコミュニケーションズ株式会社 Mobile phone device with text message transmission / reception function
US5859901A (en) 1997-03-06 1999-01-12 At&T Corp. Intelligent call connection service
EP1021917A4 (en) 1997-03-31 2002-05-15 Broadband Associates Method and system for providing a presentation on a network
US6014689A (en) * 1997-06-03 2000-01-11 Smith Micro Software Inc. E-mail system with a video e-mail player
JP2000501540A (en) * 1997-06-17 2000-02-08 パーデュー ファーマ エルピー Self-destroying document and email message system
US6233600B1 (en) 1997-07-15 2001-05-15 Eroom Technology, Inc. Method and system for providing a networked collaborative work environment
US6542923B2 (en) * 1997-08-21 2003-04-01 Planet Web, Inc. Active electronic mail
TW351789B (en) * 1997-10-28 1999-02-01 Inventec Corp Multiple point network system and its trouble shooting
US6359892B1 (en) 1997-11-04 2002-03-19 Inventions, Inc. Remote access, emulation, and control of office equipment, devices and services
US6078683A (en) * 1997-11-20 2000-06-20 De La Rue, Inc. Method and system for recognition of currency by denomination
US6424994B1 (en) 1997-11-26 2002-07-23 Microsoft Corporation Switchable calling within combined conferencing and calling
US6195418B1 (en) 1997-12-31 2001-02-27 Alcatel Usa, Inc. Telephone system having a callback capability and method for connecting a recipient of a message to a caller
US6594693B1 (en) 1998-02-10 2003-07-15 Nitin A. Borwankar Method and apparatus for a structured, synchronized conversation using electronic messages over a computer network
US6173042B1 (en) 1998-02-25 2001-01-09 Lucent Technologies Inc. System for enabling personal computer access to an interactive voice response system
US6173316B1 (en) * 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US6449260B1 (en) * 1998-05-01 2002-09-10 Siemens Information And Communication Networks, Inc. Multimedia automatic call distribution system
US6549612B2 (en) * 1998-05-06 2003-04-15 Telecommunications Premium Services, Inc. Unified communication services via e-mail
GB2337399A (en) * 1998-05-11 1999-11-17 Ibm Computer E-mail with telephony support
US6308212B1 (en) * 1998-05-29 2001-10-23 Hewlett-Packard Company Web user interface session and sharing of session environment information
US6233332B1 (en) 1998-06-03 2001-05-15 Avaya Technology Corp. System for context based media independent communications processing
US6252588B1 (en) 1998-06-16 2001-06-26 Zentek Technology, Inc. Method and apparatus for providing an audio visual e-mail system
US6405225B1 (en) * 1998-06-17 2002-06-11 Microsoft Corporation Integrating email functionality into a word processor by incorporating an email GUI within the word processor
US6490624B1 (en) * 1998-07-10 2002-12-03 Entrust, Inc. Session management in a stateless network system
US6192394B1 (en) 1998-07-14 2001-02-20 Compaq Computer Corporation Inter-program synchronous communications using a collaboration software system
US6212548B1 (en) 1998-07-30 2001-04-03 At & T Corp System and method for multiple asynchronous text chat conversations
US6223213B1 (en) 1998-07-31 2001-04-24 Webtv Networks, Inc. Browser-based email system with user interface for audio/video capture
US7536706B1 (en) * 1998-08-24 2009-05-19 Sharp Laboratories Of America, Inc. Information enhanced audio video encoding system
US6487583B1 (en) * 1998-09-15 2002-11-26 Ikimbo, Inc. System and method for information and application distribution
US6549918B1 (en) * 1998-09-21 2003-04-15 Microsoft Corporation Dynamic information format conversion
US6363352B1 (en) 1998-11-13 2002-03-26 Microsoft Corporation Automatic scheduling and formation of a virtual meeting over a computer network
US6297819B1 (en) 1998-11-16 2001-10-02 Essential Surfing Gear, Inc. Parallel web sites
US7076730B1 (en) * 1998-12-10 2006-07-11 Intellinet, Inc. Electronic mail software with modular integrated authoring/reading software components
US6327469B1 (en) 1998-12-11 2001-12-04 Motorola, Inc. Channel scanning method and apparatus
US20010013050A1 (en) * 1999-01-11 2001-08-09 Shah Niraj A. Buddy list aggregation
US7136062B1 (en) 1999-09-14 2006-11-14 Microsoft Corporation Scalable multiparty conferencing and collaboration system and method of dynamically allocating system resources and providing true color support in same
US8041604B1 (en) * 1999-03-16 2011-10-18 Studebaker & Brackett PC Method of embedding advertisements in communication
US7353199B1 (en) * 1999-03-22 2008-04-01 Perfect Web Technologies, Inc. Method of moderating external access to an electronic document authoring development and distribution system
US6604129B2 (en) 1999-03-25 2003-08-05 At&T Corp. Method and apparatus for a conference call mediation service
US7245707B1 (en) 1999-03-26 2007-07-17 Chan Hark C Data network based telephone messaging system
US6366950B1 (en) * 1999-04-02 2002-04-02 Smithmicro Software System and method for verifying users' identity in a network using e-mail communication
US6430289B1 (en) 1999-04-13 2002-08-06 Microsoft Corporation System and method for computerized status monitor and use in a telephone network
US6747970B1 (en) * 1999-04-29 2004-06-08 Christopher H. Lamb Methods and apparatus for providing communications services between connectionless and connection-oriented networks
US6564261B1 (en) * 1999-05-10 2003-05-13 Telefonaktiebolaget Lm Ericsson (Publ) Distributed system to intelligently establish sessions between anonymous users over various networks
US7222309B2 (en) * 1999-06-02 2007-05-22 Earthlink, Inc. System and method of a web browser with integrated features and controls
US7103846B1 (en) * 1999-06-02 2006-09-05 International Business Machines Corporation Collaborative application with indicator of concurrent users
US6499053B1 (en) 1999-06-30 2002-12-24 International Business Machines Corporation Master/slave architecture for a distributed chat application in a bandwidth constrained network
US6330719B1 (en) 1999-06-30 2001-12-11 Webtv Networks, Inc. Interactive television receiver unit browser that waits to send requests
US7870479B2 (en) * 1999-07-29 2011-01-11 Electronic Arts Inc. Electronic in-application postcards
US7885899B1 (en) * 2000-02-08 2011-02-08 Ipass Inc. System and method for secure network purchasing
US6810410B1 (en) * 1999-08-03 2004-10-26 Microsoft Corporation Customizing a client application using an options page stored on a server computer
US6496851B1 (en) 1999-08-04 2002-12-17 America Online, Inc. Managing negotiations between users of a computer network by automatically engaging in proposed activity using parameters of counterproposal of other user
US6487585B1 (en) 1999-08-11 2002-11-26 Lucent Technologies Inc. System and method for “Open Mike” network-based communication
US20060167986A1 (en) * 1999-08-30 2006-07-27 Trzyna Peter K Internet telephone system
US7089278B1 (en) * 1999-09-07 2006-08-08 Fuji Xerox Co., Ltd. Anchored conversations: adhesive, in-context, virtual discussion forums
US6687745B1 (en) * 1999-09-14 2004-02-03 Droplet, Inc System and method for delivering a graphical user interface of remote applications over a thin bandwidth connection
US6360221B1 (en) * 1999-09-21 2002-03-19 Neostar, Inc. Method and apparatus for the production, delivery, and receipt of enhanced e-mail
US6522333B1 (en) 1999-10-08 2003-02-18 Electronic Arts Inc. Remote communication through visual representations
US20020010608A1 (en) * 1999-10-08 2002-01-24 Scott Faber System for provding services in real-time overthe internet
US7171386B1 (en) 1999-10-08 2007-01-30 Rfv Holdings Real-time commodity trading method and apparatus
US6606103B1 (en) * 1999-11-30 2003-08-12 Uhc Llc Infinite resolution scheme for graphical user interface object
US7020843B2 (en) * 1999-11-30 2006-03-28 Uhc Llc Method and system for implementing a browser object container
WO2001046818A1 (en) 1999-12-23 2001-06-28 Moynihan Michael W Personal video channel system
US20010051982A1 (en) * 1999-12-27 2001-12-13 Paul Graziani System and method for application specific chat room access
US6625258B1 (en) 1999-12-27 2003-09-23 Nortel Networks Ltd System and method for providing unified communication services support
US20080062893A1 (en) * 2000-01-19 2008-03-13 Sony Ericsson Mobile Communications Ab Method and apparatus for event-based exchange of information between communication devices conditioned on personal calendar information
US20010034689A1 (en) * 2000-01-21 2001-10-25 Heilman Theodore A. Method and system of negotiating a transaction over a network
US20020002586A1 (en) 2000-02-08 2002-01-03 Howard Rafal Methods and apparatus for creating and hosting customized virtual parties via the internet
US7240093B1 (en) 2000-02-29 2007-07-03 Microsoft Corporation Use of online messaging to facilitate selection of participants in game play
US6807562B1 (en) 2000-02-29 2004-10-19 Microsoft Corporation Automatic and selective assignment of channels to recipients of voice chat data
AU4327501A (en) 2000-02-29 2001-09-12 Benjamin D Baker Intelligence driven paging process for a chat room
US6839735B2 (en) * 2000-02-29 2005-01-04 Microsoft Corporation Methods and systems for controlling access to presence information according to a variety of different access permission types
US6731308B1 (en) * 2000-03-09 2004-05-04 Sun Microsystems, Inc. Mechanism for reciprocal awareness of intent to initiate and end interaction among remote users
US7565403B2 (en) * 2000-03-16 2009-07-21 Microsoft Corporation Use of a bulk-email filter within a system for classifying messages for urgency or importance
CA2403520C (en) * 2000-03-17 2008-06-03 America Online, Inc. Voice instant messaging
WO2001072002A2 (en) * 2000-03-17 2001-09-27 America Online, Inc. Shared groups rostering system
US6784899B1 (en) 2000-03-31 2004-08-31 Ricoh Company, Ltd. Systems and methods for providing rich multimedia messages to remote users using telephones and facsimile machines
US7844670B2 (en) 2000-04-03 2010-11-30 Paltalk Holdings, Inc. Method and computer program product for establishing real-time communications between networked computers
US20020023134A1 (en) 2000-04-03 2002-02-21 Roskowski Steven G. Method and computer program product for establishing real-time communications between networked computers
US6398028B1 (en) 2000-08-04 2002-06-04 James G. Stovall Pizza delivery system and method
US7929562B2 (en) 2000-11-08 2011-04-19 Genesis Telecommunications Laboratories, Inc. Method and apparatus for optimizing response time to events in queue
US6721407B1 (en) 2000-11-09 2004-04-13 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and method for identifying a third party engaged in communication with a called party
WO2002043351A2 (en) 2000-11-20 2002-05-30 At & T Wireless Services, Inc. Systems for providing wireless communication presence information
US20020075305A1 (en) * 2000-12-18 2002-06-20 Beaton Brian F. Graphical user interface for a virtual team environment
US7957514B2 (en) 2000-12-18 2011-06-07 Paltalk Holdings, Inc. System, method and computer program product for conveying presence information via voice mail
US6968052B2 (en) * 2001-01-24 2005-11-22 Telecordia Technologies, Inc. Method and apparatus for creating a presence monitoring contact list with dynamic membership

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6484196B1 (en) * 1998-03-20 2002-11-19 Advanced Web Solutions Internet messaging system and method for use in computer networks
US6463471B1 (en) * 1998-12-28 2002-10-08 Intel Corporation Method and system for validating and distributing network presence information for peers of interest
US6539421B1 (en) * 1999-09-24 2003-03-25 America Online, Inc. Messaging application user interface
US20020073163A1 (en) * 2000-12-12 2002-06-13 Fuji Xerox Co., Ltd. Systems and methods for supporting document centered discussion across heterogeneous devices and displays

Cited By (176)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9819629B2 (en) 1999-12-01 2017-11-14 Facebook, Inc. System and method for analyzing communications
US9514233B2 (en) 1999-12-01 2016-12-06 Facebook, Inc. System and method for analyzing communications
US9749279B2 (en) 1999-12-01 2017-08-29 Facebook, Inc. System and method for analyzing communications
US9749276B2 (en) 1999-12-01 2017-08-29 Facebook, Inc. System and method for analyzing communications
US9619575B2 (en) 1999-12-01 2017-04-11 Facebook, Inc. System and method for analyzing communications
US9813370B2 (en) 1999-12-01 2017-11-07 Facebook, Inc. System and method for analyzing communications
US9185067B1 (en) 1999-12-01 2015-11-10 Facebook, Inc. System and method for analyzing communications
US9705834B2 (en) 1999-12-01 2017-07-11 Facebook, Inc. System and method for analyzing communications
US9405843B2 (en) 1999-12-01 2016-08-02 Facebook, Inc. System and method for analyzing communications
US20020023131A1 (en) * 2000-03-17 2002-02-21 Shuwu Wu Voice Instant Messaging
US9049159B2 (en) 2000-03-17 2015-06-02 Facebook, Inc. Establishing audio communication sessions
US8041768B2 (en) 2000-03-17 2011-10-18 Aol Inc. Voice instant messaging
US9356891B2 (en) 2000-03-17 2016-05-31 Facebook, Inc. Voice messaging interface
US8429231B2 (en) 2000-03-17 2013-04-23 Facebook, Inc. Voice instant messaging
US8671145B2 (en) 2000-04-03 2014-03-11 Paltalk Holdings, Inc. Method and computer program product for establishing real-time communications between networked computers
US20110208819A1 (en) * 2000-04-03 2011-08-25 Roskowski Steven G Method And Computer Program Product For Establishing Real-Time Communications Between Networked Computers
US9929984B2 (en) 2000-04-03 2018-03-27 Paltalk Holdings, Inc. Method and computer program product for establishing real-time communications between networked computers
US20060010201A1 (en) * 2000-04-03 2006-01-12 Roskowski Steven G Method and computer program product for establishing real-time communications between networked computers
US9043418B2 (en) 2000-05-04 2015-05-26 Facebook, Inc. Systems and methods for instant messaging persons referenced in an electronic message
US8132110B1 (en) 2000-05-04 2012-03-06 Aol Inc. Intelligently enabled menu choices based on online presence state in address book
US8474628B1 (en) 2000-05-04 2013-07-02 Facebook, Inc. Presenting a recipient of an e-mail with an option to instant message a sender or another recipient based on the sender's or the other recipient's address and online status
US9360996B2 (en) 2000-05-04 2016-06-07 Facebook, Inc. Intelligently enabled menu choices based on online presence state in address book
US9699122B2 (en) 2000-05-04 2017-07-04 Facebook, Inc. User interfaces for providing supplemental contact information corresponding to a referenced individual
US9621493B2 (en) 2000-05-04 2017-04-11 Facebook, Inc. Providing supplemental information corresponding to a referenced individual
US20130054712A1 (en) * 2000-05-04 2013-02-28 Aol Inc. Tri-state presence indicator
US10158588B2 (en) 2000-05-04 2018-12-18 Facebook, Inc. Providing supplemental contact information corresponding to a referenced individual
US7979802B1 (en) * 2000-05-04 2011-07-12 Aol Inc. Providing supplemental contact information corresponding to a referenced individual
US10122658B2 (en) 2000-05-04 2018-11-06 Facebook, Inc. System for instant messaging the sender and recipients of an e-mail message
US9356894B2 (en) 2000-05-04 2016-05-31 Facebook, Inc. Enabled and disabled menu choices based on presence state
US9531654B2 (en) 2000-05-04 2016-12-27 Facebook, Inc. Adding contacts from a hovering interface
US8959164B2 (en) * 2000-05-04 2015-02-17 Facebook, Inc. Tri-state presence indicator
US9100221B2 (en) 2000-05-04 2015-08-04 Facebook, Inc. Systems for messaging senders and recipients of an electronic message
US20110231507A1 (en) * 2000-05-04 2011-09-22 Aol Inc. Providing supplemental contact information corresponding to a referenced individual
US9363213B2 (en) * 2000-06-26 2016-06-07 Facebook, Inc. E-mail integrated instant messaging
US10313297B2 (en) 2000-06-26 2019-06-04 Facebook, Inc. E-mail integrated instant messaging
US9628431B2 (en) 2000-06-26 2017-04-18 Facebook, Inc. E-mail integrated instant messaging
US20130124650A1 (en) * 2000-06-26 2013-05-16 Keith Bernstein E-mail Integrated Instant Messaging
US8918727B2 (en) 2000-07-25 2014-12-23 Facebook, Inc. Video messaging
US8078678B2 (en) 2000-07-25 2011-12-13 Aol Inc. Video messaging
US7984098B2 (en) 2000-07-25 2011-07-19 AOL, Inc. Video messaging
US9071725B2 (en) 2000-07-25 2015-06-30 Facebook, Inc. Methods and user interfaces for video messaging
US9100538B2 (en) 2000-07-25 2015-08-04 Facebook, Inc. Limited length video messaging
US8824643B2 (en) 2000-12-18 2014-09-02 Paltalk Holdings, Inc. System, method and computer program product for conveying presence information via voice mail
US8001190B2 (en) * 2001-06-25 2011-08-16 Aol Inc. Email integrated instant messaging
US20040128356A1 (en) * 2001-06-25 2004-07-01 Keith Bernstein Email integrated instant messaging
US9083661B2 (en) 2001-09-28 2015-07-14 Facebook, Inc. Passive personalization of buddy lists
US20060031772A1 (en) * 2001-09-28 2006-02-09 Judson Valeski Automatic categorization of entries in a contact list
US7774711B2 (en) 2001-09-28 2010-08-10 Aol Inc. Automatic categorization of entries in a contact list
US7765484B2 (en) 2001-09-28 2010-07-27 Aol Inc. Passive personalization of lists
US20030065721A1 (en) * 2001-09-28 2003-04-03 Roskind James A. Passive personalization of buddy lists
US7512652B1 (en) 2001-09-28 2009-03-31 Aol Llc, A Delaware Limited Liability Company Passive personalization of buddy lists
US9729476B2 (en) 2001-09-28 2017-08-08 Facebook, Inc. Personalization of recent contacts list
US20090248816A1 (en) * 2001-09-28 2009-10-01 Aol Llc, A Delaware Limited Liability Company (Formerly Known As America Online, Inc.) Passive Personalization of Buddy Lists
US7216143B2 (en) * 2002-01-03 2007-05-08 International Business Machines Corporation Instant messaging with voice conference feature
US20030126207A1 (en) * 2002-01-03 2003-07-03 International Business Machines Corporation Instant messaging with voice conference feature
US20030204741A1 (en) * 2002-04-26 2003-10-30 Isadore Schoen Secure PKI proxy and method for instant messaging clients
EP1506492A4 (en) * 2002-05-21 2010-11-17 France Telecom Caller initiated distinctive presence alerting and auto-response messaging
EP1506492A1 (en) * 2002-05-21 2005-02-16 France Telecom Caller initiated distinctive presence alerting and auto-response messaging
US7426537B2 (en) * 2002-05-31 2008-09-16 Microsoft Corporation Systems and methods for sharing dynamic content among a plurality of online co-users
US20030225834A1 (en) * 2002-05-31 2003-12-04 Microsoft Corporation Systems and methods for sharing dynamic content among a plurality of online co-users
US7287054B2 (en) * 2002-05-31 2007-10-23 Microsoft Corporation Systems and methods for shared browsing among a plurality of online co-users
US7937440B2 (en) 2002-05-31 2011-05-03 Microsoft Corporation Systems and methods for shared browsing among a plurality of online co-users
US20030225836A1 (en) * 2002-05-31 2003-12-04 Oliver Lee Systems and methods for shared browsing among a plurality of online co-users
US20170099238A1 (en) * 2002-09-17 2017-04-06 Dale W. Malik Initiating instant messaging (im) chat sessions from email messages
US10798122B2 (en) 2002-10-08 2020-10-06 Uber Technologies, Inc. Preventing execution of programs that are embedded in email messages
US9215095B2 (en) 2002-11-21 2015-12-15 Microsoft Technology Licensing, Llc Multiple personalities
US9807130B2 (en) 2002-11-21 2017-10-31 Microsoft Technology Licensing, Llc Multiple avatar personalities
US8250144B2 (en) 2002-11-21 2012-08-21 Blattner Patrick D Multiple avatar personalities
US10291556B2 (en) 2002-11-21 2019-05-14 Microsoft Technology Licensing, Llc Multiple personalities
US20050108329A1 (en) * 2002-11-21 2005-05-19 Andrew Weaver Multiple personalities
US8037150B2 (en) 2002-11-21 2011-10-11 Aol Inc. System and methods for providing multiple personas in a communications environment
US20100169801A1 (en) * 2002-11-21 2010-07-01 Aol Llc Multiple avatar personalities
USRE45254E1 (en) 2002-12-31 2014-11-18 Facebook, Inc. Implicit population of access control lists
USRE48102E1 (en) 2002-12-31 2020-07-14 Facebook, Inc. Implicit population of access control lists
US9742615B1 (en) 2002-12-31 2017-08-22 Aol Inc. Popularity index
US7725541B2 (en) 2003-02-10 2010-05-25 At&T Intellectual Property I, L.P. Forwarding to automatically prioritized IM accounts based upon priority and presence
US7725542B2 (en) 2003-02-10 2010-05-25 At&T Intellectual Property I, L.P. Forwarding IM messages to E-mail
US20040158611A1 (en) * 2003-02-10 2004-08-12 Daniell W. Todd Forwarding IM messages to E-mail
US20100191820A1 (en) * 2003-02-10 2010-07-29 At&T Intellectual Property I, L.P. Forwarding to Automatically Prioritized IM Accounts Based Upon Priority and Presence
US20040158609A1 (en) * 2003-02-10 2004-08-12 Daniell W. Todd Forwarding to automatically prioritized IM accounts based upon priority and presence
US20060248157A1 (en) * 2003-02-10 2006-11-02 Daniell W T Forwarding IM messages to E--mail
US8140633B2 (en) 2003-02-10 2012-03-20 At&T Intellectual Property I, Lp Forwarding to automatically prioritized IM accounts based upon priority and presence
US7689657B2 (en) * 2003-02-10 2010-03-30 At&T Intellectual Property I, L.P. Forwarding IM messages to E-mail
USRE43436E1 (en) 2003-02-14 2012-05-29 Devereux Research Ab Llc System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system
US20090216851A1 (en) * 2003-02-14 2009-08-27 Devereux Research Ab Llc System and method for immediate and delayed real-time communication activities using availability data from communication through an external instant messaging system
US20040205134A1 (en) * 2003-02-14 2004-10-14 Digate Charles J. System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system
US8375092B2 (en) * 2003-02-14 2013-02-12 Devereux Research Ab Llc System and method for immediate and delayed real-time communication activities using availability data from communication through an external instant messaging system
US8204938B2 (en) 2003-02-14 2012-06-19 Devereux Research Ab Llc System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system
US8402378B2 (en) 2003-03-03 2013-03-19 Microsoft Corporation Reactive avatars
US10504266B2 (en) 2003-03-03 2019-12-10 Microsoft Technology Licensing, Llc Reactive avatars
US10616367B2 (en) 2003-03-03 2020-04-07 Microsoft Technology Licensing, Llc Modifying avatar behavior based on user action or mood
US8627215B2 (en) 2003-03-03 2014-01-07 Microsoft Corporation Applying access controls to communications with avatars
US9256861B2 (en) 2003-03-03 2016-02-09 Microsoft Technology Licensing, Llc Modifying avatar behavior based on user action or mood
US20090158184A1 (en) * 2003-03-03 2009-06-18 Aol Llc, A Delaware Limited Liability Company (Formerly Known As Ameria Online, Inc.) Reactive avatars
US9483859B2 (en) 2003-03-03 2016-11-01 Microsoft Technology Licensing, Llc Reactive avatars
US20110148916A1 (en) * 2003-03-03 2011-06-23 Aol Inc. Modifying avatar behavior based on user action or mood
US20110209198A1 (en) * 2003-03-03 2011-08-25 Aol Inc. Applying access controls to communications with avatars
US9531826B2 (en) 2003-03-26 2016-12-27 Facebook, Inc. Managing electronic messages based on inference scores
US9516125B2 (en) 2003-03-26 2016-12-06 Facebook, Inc. Identifying and using identities deemed to be known to a user
US9736255B2 (en) 2003-03-26 2017-08-15 Facebook, Inc. Methods of providing access to messages based on degrees of separation
US20050076241A1 (en) * 2003-04-02 2005-04-07 Barry Appelman Degrees of separation for handling communications
US9462046B2 (en) 2003-04-02 2016-10-04 Facebook, Inc. Degrees of separation for handling communications
US7949759B2 (en) 2003-04-02 2011-05-24 AOL, Inc. Degrees of separation for handling communications
US7945674B2 (en) 2003-04-02 2011-05-17 Aol Inc. Degrees of separation for handling communications
US20110196939A1 (en) * 2003-04-02 2011-08-11 Aol Inc. Degrees of separation for handling communications
US8185638B2 (en) 2003-04-02 2012-05-22 Aol Inc. Degrees of separation for handling communications
US8930480B2 (en) 2003-04-02 2015-01-06 Facebook, Inc. Degrees of separation for filtering communications
US20050076240A1 (en) * 2003-04-02 2005-04-07 Barry Appleman Degrees of separation for handling communications
US8560706B2 (en) 2003-04-02 2013-10-15 Facebook, Inc. Degrees of separation for handling communications
US20040228531A1 (en) * 2003-05-14 2004-11-18 Microsoft Corporation Instant messaging user interfaces
US10482429B2 (en) * 2003-07-01 2019-11-19 Microsoft Technology Licensing, Llc Automatic grouping of electronic mail
US20050144291A1 (en) * 2003-12-04 2005-06-30 Randall Frank Integrating multiple communication modes
US20130205230A1 (en) * 2004-02-12 2013-08-08 International Business Machines Corporation Establishing a chat session between users in a network system
US8898239B2 (en) 2004-03-05 2014-11-25 Aol Inc. Passively populating a participant list with known contacts
US8918460B2 (en) 2004-03-05 2014-12-23 Facebook, Inc. Organizing entries in participant lists based on communications strengths
US10341289B2 (en) 2004-03-05 2019-07-02 Facebook, Inc. Systems and methods of calculating communications strengths
US8595146B1 (en) 2004-03-15 2013-11-26 Aol Inc. Social networking permissions
US10367860B2 (en) 2004-03-15 2019-07-30 Oath Inc. Social networking permissions
US20050256985A1 (en) * 2004-05-13 2005-11-17 Wildtangent, Inc. Sending progress information of other users for transmitted shared content
US8781523B2 (en) 2004-07-12 2014-07-15 Stragent, Llc System, method, and computer program product for using a cellular phone as an interface for a VoIP-equipped computer
US20060031293A1 (en) * 2004-08-04 2006-02-09 Thommes Christoph A Business presence system and method
US7836126B2 (en) * 2004-08-04 2010-11-16 Sap Ag Business presence system and method
US10521081B2 (en) 2004-08-16 2019-12-31 Microsoft Technology Licensing, Llc User interface for displaying a gallery of formatting options
US10437431B2 (en) 2004-08-16 2019-10-08 Microsoft Technology Licensing, Llc Command user interface for displaying selectable software functionality controls
US10635266B2 (en) 2004-08-16 2020-04-28 Microsoft Technology Licensing, Llc User interface for displaying selectable software functionality controls that are relevant to a selected object
US7472351B1 (en) * 2004-08-18 2008-12-30 Zilka Kevin J E-mail manager interface with integrated instant messaging and phone call initiator feature
US20150163070A1 (en) * 2004-11-30 2015-06-11 Iii Holdings 1, Llc Method and apparatus for managing an interactive network session
US9002949B2 (en) 2004-12-01 2015-04-07 Google Inc. Automatically enabling the forwarding of instant messages
US9088879B2 (en) 2004-12-01 2015-07-21 Google Inc. Automatically enabling the forwarding of instant messages
US8060566B2 (en) 2004-12-01 2011-11-15 Aol Inc. Automatically enabling the forwarding of instant messages
US9560495B2 (en) 2004-12-01 2017-01-31 Google Inc. Automatically enabling the forwarding of instant messages
US9510168B2 (en) 2004-12-01 2016-11-29 Google Inc. Prohibiting mobile forwarding
US9615225B2 (en) 2004-12-01 2017-04-04 Google Inc. Automatically enabling the forwarding of instant messages
US9872157B2 (en) 2004-12-01 2018-01-16 Google Inc. Prohibiting mobile forwarding
US9049569B2 (en) 2004-12-01 2015-06-02 Google Inc. Prohibiting mobile forwarding
US20090234922A1 (en) * 2004-12-01 2009-09-17 Aol Llc Automatically Enabling the Forwarding of Instant Messages
US8910056B2 (en) 2004-12-20 2014-12-09 Facebook, Inc. Automatic categorization of entries in a contact list
US20060190475A1 (en) * 2004-12-20 2006-08-24 Norman Shi Group polling for consumer review
US8775950B2 (en) 2004-12-20 2014-07-08 Facebook, Inc. Automatic categorization of entries in a contact list
US9727631B2 (en) 2004-12-20 2017-08-08 Facebook, Inc. Automatic categorization of entries in a contact list
US9652809B1 (en) 2004-12-21 2017-05-16 Aol Inc. Using user profile information to determine an avatar and/or avatar characteristics
US20100318622A1 (en) * 2005-05-11 2010-12-16 Aol Inc. Identifying Users Sharing Common Characteristics
US8712431B2 (en) 2005-05-11 2014-04-29 Facebook, Inc. Personalized location information for mobile devices
US9571975B2 (en) 2005-05-11 2017-02-14 Facebook, Inc. Identifying users of a communications system at commonn geographic locations
US9369411B2 (en) 2005-05-11 2016-06-14 Facebook, Inc. Identifying users sharing common characteristics
US9210546B2 (en) 2005-05-11 2015-12-08 Facebook, Inc. Commenting on location information for mobile devices
US9204255B2 (en) 2005-05-11 2015-12-01 Facebook, Inc. Providing a log of location information for a mobile device
US9203787B2 (en) 2005-05-11 2015-12-01 Facebook, Inc. Identifying users sharing common characteristics
US9197999B2 (en) 2005-05-11 2015-11-24 Facebook, Inc. Providing a location identifier for a location with multiple co-users
US20060258368A1 (en) * 2005-05-11 2006-11-16 Jennifer Granito Personalized location information for mobile devices
US9049160B2 (en) 2005-05-11 2015-06-02 Facebook, Inc. Identifying users sharing common characteristics
US8868112B2 (en) 2005-05-11 2014-10-21 Facebook, Inc. Personalized location information for mobile devices
US8818407B2 (en) 2005-05-11 2014-08-26 Facebook, Inc. Personalized location information for mobile devices
US8805408B2 (en) 2005-05-11 2014-08-12 Facebook, Inc. Personalized location information for mobile devices
US20100036928A1 (en) * 2005-05-11 2010-02-11 Aol Llc Personalized Location Information for Mobile Devices
US8787932B2 (en) 2005-05-11 2014-07-22 Facebook, Inc. Personalized location information for mobile devices
US8787940B2 (en) 2005-05-11 2014-07-22 Facebook, Inc. Personalized location information for mobile devices
US8719354B2 (en) 2005-05-11 2014-05-06 Facebook, Inc. Identifying users sharing common characteristics
US7765265B1 (en) 2005-05-11 2010-07-27 Aol Inc. Identifying users sharing common characteristics
US7890123B2 (en) 2005-05-11 2011-02-15 Aol Inc. Personalized location information for mobile devices
US20110106898A1 (en) * 2005-05-11 2011-05-05 Aol Inc. Personalized Location Information for Mobile Devices
US10681170B2 (en) 2005-08-15 2020-06-09 Oath Inc. Systems and methods for determining the popularity of a user based on aggregated popularity measurements of other users
US10248687B2 (en) 2005-09-12 2019-04-02 Microsoft Technology Licensing, Llc Expanded search and find user interface
US10482637B2 (en) 2006-06-01 2019-11-19 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US10642927B2 (en) 2007-06-29 2020-05-05 Microsoft Technology Licensing, Llc Transitions between user interfaces in a content editing application
US10521073B2 (en) 2007-06-29 2019-12-31 Microsoft Technology Licensing, Llc Exposing non-authoring features through document status information in an out-space user interface
US10592073B2 (en) 2007-06-29 2020-03-17 Microsoft Technology Licensing, Llc Exposing non-authoring features through document status information in an out-space user interface
US10445114B2 (en) 2008-03-31 2019-10-15 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US10997562B2 (en) 2008-06-20 2021-05-04 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8548503B2 (en) 2008-08-28 2013-10-01 Aol Inc. Methods and system for providing location-based communication services
US20100056183A1 (en) * 2008-08-28 2010-03-04 Aol Llc Methods and system for providing location-based communication services
US9705996B2 (en) 2008-08-28 2017-07-11 Aol Inc. Methods and system for providing location-based communication services
US9154561B2 (en) 2008-08-28 2015-10-06 Aol Inc. Methods and system for providing location-based communication services
US20120114108A1 (en) * 2010-09-27 2012-05-10 Voxer Ip Llc Messaging communication application
US11115354B2 (en) * 2013-03-29 2021-09-07 Orange Technique of co-operation between a plurality of client entities
US11755340B2 (en) 2020-10-07 2023-09-12 Microsoft Technology Licensing, Llc Automatic enrollment and intelligent assignment of settings

Also Published As

Publication number Publication date
US20140173008A1 (en) 2014-06-19
US8671145B2 (en) 2014-03-11
US20060010201A1 (en) 2006-01-12

Similar Documents

Publication Publication Date Title
US8671145B2 (en) Method and computer program product for establishing real-time communications between networked computers
US9929984B2 (en) Method and computer program product for establishing real-time communications between networked computers
US10740277B2 (en) Method and system for embedded personalized communication
EP2115976B1 (en) Method and system for resource-based synchronization between endpoints in a web-based real time collaboration
US8037191B2 (en) Low-level remote sharing of local devices in a remote access session across a computer network
US7979489B2 (en) Notifying users when messaging sessions are recorded
AU2008261648B2 (en) Personalized social networking application content
US8250141B2 (en) Real-time event notification for collaborative computing sessions
US7490126B2 (en) Method and apparatus for generating data change requests containing data consistency information in a peer-to-peer collaborative computer system
US6907455B1 (en) Apparatus and methods for providing an event driven notification over a network to a telephony device
US7653692B2 (en) Method, system, and apparatus for generating weblogs from interactive communication client software
US20050010639A1 (en) Network meeting system
US20030097410A1 (en) Methodology for enabling multi-party collaboration across a data network
US20090113014A1 (en) Device, Method and Computer Program Product for Providing an Alert Indication
US20060026123A1 (en) Multiple redundant services with reputation
US20030156591A1 (en) Shared application access for data services in wireless telecommunication systems
JP2001521717A (en) Dynamic group registry device and method
WO2006071324A2 (en) Imroved bitmask access for managing blog content
US8725810B1 (en) Method and system for anonymous login for real time communications
US20050091401A1 (en) Selective mirrored site accesses from a communication
CN115001842B (en) Method, device, equipment and medium for accessing user information
JP2001357125A (en) Personal information management system
Della Mea Internet in Telemedicine

Legal Events

Date Code Title Description
AS Assignment

Owner name: HEARME, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ROSKOWSKI, STEVEN G.;RIEDEL, ANDREW D.;SAHAI, SHANKAR;REEL/FRAME:011913/0981;SIGNING DATES FROM 20010601 TO 20010612

AS Assignment

Owner name: PALTALK HOLDINGS, INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEARME, INC.;REEL/FRAME:012602/0230

Effective date: 20011219

Owner name: PALTALK HOLDINGS, INC.,NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEARME, INC.;REEL/FRAME:012602/0230

Effective date: 20011219

STCB Information on status: application discontinuation

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