Patent Document

This application is a continuation of U.S. patent application Ser. No. 11/598,102, filed Nov. 13, 2006, now U.S. Pat. No. 7,818,371, entitled “COMMUNICATION SYSTEM ALLOWING USERS TO KNOW ONLINE OR NETWORK STATUS OF SOUGHT USERS,” which is a continuation of U.S. patent application Ser. No. 10/127,463, filed Apr. 23, 2002, entitled “COMMUNICATION SYSTEM ALLOWING USERS TO KNOW ONLINE OR NETWORK STATUS OF SOUGHT USERS,” now U.S. Pat. No. 7,149,775, which is a continuation of U.S. patent application Ser. No. 08/791,437, filed Jan. 27, 1997, entitled “COMMUNICATION SYSTEM,” now U.S. Pat. No. 6,449,344, the contents of each of which are incorporated herein by reference. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to communications systems generally and particularly to network communications systems. 
     BACKGROUND OF THE INVENTION 
     Establishing a point-to-point connection between users who are connected via communications terminals to a communications network generally requires that the network address of each connecting user be known to all other connecting users. Many network communications service providers, such as Internet Service Providers (ISP&#39;s), assign users a different network address, such as an IP address, each time they connect to the network, making foreknowledge of a particular user&#39;s network address impossible. 
     Some commercial and non-commercial services maintain network servers connected to a network. Users who connect to the network provide their current network address and other identifying information to one or more of these network servers. This information is made available to other users connected to the network for purposes including point-to-point communications. Such services include Internet Relay Chat (IRC), for which software is commercially available from Surfing Squirrel Productions, Inc., Microsoft User Location Service (ULS), commercially available from Microsoft Corporation, and the Automatic Call Distribution System (ACD), commercially available from Executone Information Systems, Inc. 
     A user wishing to locate another user may connect to a network server that records user information in order to determine the other user&#39;s network address. A user usually locates another user by looking for the other user&#39;s electronic mail address, one or more nicknames that the other user often uses, or other identifying information. The effective use of such identifying information is limited inasmuch as a single user might have multiple electronic mail addresses, multiple users might use the same nickname, or a user might be connected via another user&#39;s network connection. 
     Unfortunately, services like those mentioned above do not generally provide for the unique identification of each user, thereby facilitating accurate location a specific user. Furthermore, such services require that users actively seek out other users, often from among several hundreds or thousands of users known to a server to be connected to a network at any given time. Such services also do not enable a user to limit who may access that user&#39;s identification information. 
     SUMMARY OF THE INVENTION 
     The present invention seeks to provide an improved communications system for facilitating locating a user who is connected to a communications network, preferably for the purposes of establishing point-to-point communications. A user&#39;s location on a communications network is typically expressed in terms of the user&#39;s current network address. 
     The communications system of the present invention preferably provides at least some and preferably all of the following advantages: a. Users may be located accurately, because each user has a permanent and unique identification code. 
     b. Users may be located quickly and efficiently, because the network server automatically provides a user who is currently connected to the network with a list of other users who are currently connected to the network from among a predefined list of users whose connection status the user wishes to know. c. Users are notified automatically when another user, in whom the seeking user has interest, connects to the network. d. Users may protect their privacy by limiting who may locate them. 
     It is noted that throughout the specification and claims the term “user” encompasses any entity, preferably human, that operates a computer or other communications terminal, preferably for the purpose of connecting to and communicating via a communications network. It is further noted that the term “seeking user” encompasses any user who wishes to locate at least one other user currently connected to the communications network. It is further noted that the term “sought user” encompasses any user whose location, typically a network address, is desired by a seeking user. 
     There is thus provided in accordance with a preferred embodiment of the present invention a communication system including a communications network, a multiplicity of communications terminals which are connectable to the communications network and which can be employed by users to communicate via the communications network, the user not necessarily being identified with a given communications terminal, apparatus for monitoring whether or not a user is connected to the communications network irrespective of which of the multiplicity of communications terminals that user is employing, and apparatus for annunciating to a seeking user, currently connected to the communications network via any of the multiplicity of communications terminals, network connection status information relating to other users who are in a set of sought users, which set is definable by the seeking user, and for providing the seeking user connection address information relating to those sought users who are currently connected to the communications network. 
     Further in accordance with a preferred embodiment of the present invention, any of the users may function as at least one of a seeking user and a sought user. 
     Still further in accordance with a preferred embodiment of the present invention, any of the users may function simultaneously as a seeking user and a sought user. 
     Further in accordance with a preferred embodiment of the present invention, the network connection status information includes an indication that a sought user is currently connected to the communications network. 
     Additionally in accordance with a preferred embodiment of the present invention, the network connection status information includes an indication that a sought user has currently become connected to the communications network. 
     Moreover in accordance with a preferred embodiment of the present invention, the network connection status information includes an indication that a sought user has currently become disconnected from the communications network. 
     Further in accordance with a preferred embodiment of the present invention, at least one of the users has a unique identification code. 
     Still further in accordance with a preferred embodiment of the present invention, the unique identification code is independent of any communications terminal. 
     Additionally in accordance with a preferred embodiment of the present invention, at least one server is connected to the communications network, and the apparatus for monitoring is resident in the at least one server. 
     Further in accordance with a preferred embodiment of the present invention, at least one server is connected to the communications network, and the apparatus for annunciating is resident in the at least one server. 
     Moreover in accordance with a preferred embodiment of the present invention, the communications system includes apparatus for notifying at least once that at least one of the users is currently connected to the communications network. 
     Further in accordance with a preferred embodiment of the present invention, the apparatus for notifying is resident in any of the multiplicity of communications terminals. 
     Still further in accordance with a preferred embodiment of the present invention, at least one of the users is currently connected to the communications network and has a network address, and the communications system includes apparatus for determining the network address. 
     Additionally in accordance with a preferred embodiment of the present invention, at least one server is connected to the communications network, and the apparatus for determining is resident in the at least one server. 
     Moreover in accordance with a preferred embodiment of the present invention, the apparatus for determining is resident in any of the multiplicity of communications terminals. 
     Further in accordance with a preferred embodiment of the present invention, the communication system includes apparatus for authorizing whether the at least one seeking user may access any of the information relating to the sought users. 
     Still further in accordance with a preferred embodiment of the present invention, the apparatus for authorizing is resident in any of the multiplicity of communications terminals. 
     Additionally in accordance with a preferred embodiment of the present invention, the communication system includes apparatus for maintaining information regarding any of the users. 
     Moreover in accordance with a preferred embodiment of the present invention, the apparatus for maintaining information is resident in at least one server connected to the communications network. 
     Further in accordance with a preferred embodiment of the present invention, at least one of the users provides information to the apparatus for maintaining information. 
     Still further in accordance with a preferred embodiment of the present invention, the information includes the set of sought users. 
     Additionally in accordance with a preferred embodiment of the present invention, the information comprises a request from a sought user to authorize whether a seeking user may access any of the information relating to the sought user. 
     There is also provided in accordance with a preferred embodiment of the present invention a method for indicating network connection information relating to users, the method including monitoring whether or not a user is connected to a communications network via any of a multiplicity of communications terminals, and annunciating to a seeking user, currently connected to the communications network via any of the multiplicity of communications terminals, network connection status information relating to other users who are in a set of sought users, which set is definable by the seeking user, and for providing the seeking user connection address information relating to those sought users who are currently connected to the communications network. 
     Further in accordance with a preferred embodiment of the present invention, at least one of the users has a unique identification code. 
     Still further in accordance with a preferred embodiment of the present invention, the unique identification code is independent of any communications terminal. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings in which: 
         FIG. 1  is a simplified pictorial illustration of a communications system constructed and operative in accordance with a preferred embodiment of the present invention, wherein a user is connecting to a communications network via a communications terminal and user information is provided to a server connected to the communications network. 
         FIG. 2  is a simplified pictorial illustration of a communications system constructed and operative in accordance with a preferred embodiment of the present invention, wherein a sought user is connecting to the communications network of  FIG. 1 , information identifying the sought user is provided to the server of  FIG. 1 , and wherein the server of  FIG. 1  communicates information identifying the sought user to the user of  FIG. 1 . 
         FIG. 3  is a simplified pictorial illustration of a communications system constructed and operative in accordance with a preferred embodiment of the present invention, wherein the user of  FIG. 1  communicates directly with the sought user of  FIG. 2 , having-received the sought user&#39;s network address. 
     
    
    
     Attached herewith is a microfiche appendix comprising appendices A and B which aid in the understanding and appreciation of one preferred embodiment of the invention shown and described herein. Appendices A and B taken together form a computer listing of a preferred software embodiment of the present invention. 
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     Reference is now made to  FIG. 1  which is a simplified pictorial illustration of a communications system  10  constructed and operative in accordance with a preferred embodiment of the present invention. 
     Communications system  10  preferably includes a multiplicity of communications terminals  12  connectable to a communications network  14  via a multiplicity of connection media  16 , which may either be wired or wireless. Communications terminals  12  are preferably operative to receive inputs from and display information to a user  18 , and to transmit and receive information via communications network  14  to and from at least one server  20  that is also connected to communications network  14  via connection media  16 . Server  20  is likewise operative to send and receive information via communications network  14 . 
     Connection notification apparatus  30  is operative to receive input from communications terminal  12 , in which connection notification apparatus  30  is typically resident. Communications terminal  12  signals connection notification apparatus  30  when communications terminal  12  connects to communications network  14 . Connection notification apparatus  30  preferably transmits notification via communications network  14  to a connection monitor  22 , which is operative to receive input via communications network  14 , and which is typically resident in server  20 . An address extractor  26 , typically resident in server  20 , is operative to determine the source network address of the notification received by connection monitor  22 , to which address extractor  26  is operatively interconnected. Address extractor  26  is operative to provide the network address to information management apparatus  28 , typically resident in server  20 , where the address is maintained. Address extractor  26  is alternatively or additionally operative to communicate with communications terminal  12 , in which address extractor  26  may alternatively or additionally reside, where address extractor  26  is operative to determine the network address of connection terminal  12  when a connection to communications network  14  is established, and to provide the network address to connection notification apparatus  30 . 
     An annunciator  24 , typically resident in server  20 , is operative to receive information maintained by information management apparatus  28  and transmit this information to communications terminal  12 . 
     Typical operation of communications system  10  is described in detail below with reference to  FIGS. 1 ,  2 , and  3 . 
     Reference is now made to  FIG. 1  which shows a user  18  establishing a connection to communications network  14 , typically the Internet, using a communications terminal  12  via connection medium  16 . The connection to communications network  14  is typically via a leased line or dial-up line to a network communications service provider, typically an Internet Service Provider (ISP). 
     At least one server  20  is typically continually connected to the communications network  14  via connection medium  16 . More than one server  20  may be provided wherein all servers are preferably continually synchronized to maintain and supply the same information. 
     Once user  18  is connected to communications network  14 , connection notification apparatus  30  notifies connection monitor  22  that user  18  is connected to communications network  14 . This notification preferably includes a unique identification code predefined for user  18  and maintained in a list of connected users by information management apparatus  28 . This unique identification code is preferably independent of the communications terminal  12  used by user  18 . Preferably, this notification also comprises a user password for authentication of the unique identification code. This notification may also include other information such as the current network address for user  18 . 
     Address extractor  26  preferably determines the current network address of user  18  when the user is connected to communications terminal  12 . Address extractor  26  is preferably operative to extract a network address from transmission packets used in network data transmission protocols such as TCP/IP. Thus address extractor  26  may extract the current network address of user  18  from transmission packets sent by connection notification apparatus  30  to connection monitor  22 . Address extractor  26  then provides the current network address for user  18  to information management apparatus  28  which maintains the address in the list of connected users. 
     While address extractor  26  typically communicates with information management apparatus  28  as mentioned above, address extractor  26  may alternatively or additionally communicate with communications terminal  12 , providing the current network address to connection notification apparatus  30 . Connection notification apparatus then transmits the network address to connection monitor  22 , which provides the address to information management apparatus  28  which maintains the address in the list of connected users. 
     Communications terminal  12  preferably provides a list of sought users predefined by user  18  to information management apparatus  28  which maintains it. Communications terminal  12  may also provide instructions from user  18  to information management apparatus  28  regarding whether user  18  requests to be asked to explicitly authorize whether to reveal information relating to user  13  to a seeking user who requests this information. Information management apparatus  28  maintains a list of users who request to be asked for authorization. 
     Information management apparatus  28 , upon receipt of a list of sought users from user  18  at communications terminal  12 , checks the list of connected users for any sought users that are currently connected to communications network  14 , typically for display on the terminal. If connected sought users are found, information management apparatus  28  causes annunciator  24  to transmit an annunciation to user  18  at communications terminal  12  wherein the annunciation typically includes the unique identification codes and network addresses for all users who are currently connected to communications network  14  and who user  18  is seeking. 
     Connection monitor  22  periodically polls communications terminal  12  or otherwise determines if communications terminal  12  is still connected to communications network  14  in accordance with network communications protocols well known in the art, such as TCP/IP. Alternatively or additionally, connection notification apparatus  30  periodically notifies connection monitor  22  that communications terminal  12  is still connected to communications network  14  in accordance with network communications protocols well known in the art, such as TCP/IP. 
     Reference is now made to  FIG. 2  which shows a user  34  establishing a connection to communications network  14  preferably in the same manner as described for user  18  in  FIG. 1 . Once user  34  is connected, information management apparatus  28  checks the list of sought users to determine if user  34  is sought by user  18 . If so, information management apparatus  28  then checks the list of connected users to determine if user  18  is still connected. If user  18  is still connected, information management apparatus  28  causes annunciator  24  to transmit an annunciation to user  18 , wherein the annunciation typically includes the unique identification code for sought user  34 , the current network address for sought user  34 , and preferably other information provided by user  18 . Information management apparatus  28  preferably also checks the list of sought users to determine if user  18  is sought by user  34  and, if so, causes annunciator  24  to transmit an annunciation to user  34  as described above. 
     According to another embodiment of the present invention information management apparatus  28  checks the list of users who wish to be asked for authorization to determine if user  34  wishes to explicitly authorize requests from seeking users for information regarding user  34 . If explicit authorization is required from user  34 , annunciator  24  transmits a request for authorization to authorization apparatus  36 , typically resident in communications terminal  12 . User  34  authorizes or declines the request from user  18  for location or other information relating to user  34 . Authorization apparatus  36  then provides the authorization information to information management apparatus  28  which determines whether to cause annunciator  24  to transmit an annunciation to user  18 . 
     Reference is now made to  FIG. 3  which shows user  18  making a point-to-point connection with sought user  34  using the network address of sought user  34  as provided by annunciator  24  as described above with reference to  FIGS. 1 and 2 . It is appreciated that user  18  may establish a point-to-point connection with user  34  once user  18  possesses the network address of user  34  independent of the present invention. 
     A preferred method for constructing a communications system operative in accordance with a preferred embodiment of the present invention is now described: 
     a) Construct a communications network such as a LAN (local-area network) or a WAN (wide-are network) using a network protocol such as TCP/IP or IPX/SPX, or provide access to a communications network such as the Internet; 
     b) Connect a communications terminal, such as an Intel-based computer using the Microsoft Windows 95 operating system, to the communications network; 
     c) Connect a server, such as an Intel-based computer operating the Linux operating system, to the communications network; 
     d) Generate executable instructions from the computer listing of Appendix A, which is a computer listing of software components typically resident on communications terminal  12  as described above with reference to  FIG. 1 , and the computer listing of Appendix B, which is a computer listing of software components typically resident on server  20  as described above with reference to  FIG. 1 ; 
     e) Load the executable instructions of Appendix A into the communications terminal memory and execute them; and 
     f) Load the executable instructions of Appendix B into the server memory and execute them. 
     It is appreciated that any of the software components of the present invention may, if desired, be implemented in ROM (read-only memory) form. The software components may, generally, be implemented in hardware, if desired, using conventional techniques. 
     It is appreciated that the particular embodiment described in the Appendices is intended only to provide an extremely detailed disclosure of the present invention and is not intended to be limiting. 
     It is appreciated that various features of the invention which are, for clarity, described in the context of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features of the invention which are, for brevity, described in the context of a single embodiment may also be provided separately or in any suitable combination. 
     It will be appreciated by persons skilled in the art that the present invention is not limited by what has been particularly shown and described hereinabove. Rather the scope of the present invention is defined only by the claims which follow:

Technology Category: h