WO2001040957A1 - Communication system - Google Patents

Communication system Download PDF

Info

Publication number
WO2001040957A1
WO2001040957A1 PCT/IL2000/000803 IL0000803W WO0140957A1 WO 2001040957 A1 WO2001040957 A1 WO 2001040957A1 IL 0000803 W IL0000803 W IL 0000803W WO 0140957 A1 WO0140957 A1 WO 0140957A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
browsing
server
local
browsing server
Prior art date
Application number
PCT/IL2000/000803
Other languages
French (fr)
Inventor
Moshe Raccah
Tomer Harel
Ehud Sumborsky
Yuval Pemper
Ilan Zluf
Original Assignee
Personetics Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Personetics Inc. filed Critical Personetics Inc.
Priority to AU17285/01A priority Critical patent/AU1728501A/en
Publication of WO2001040957A1 publication Critical patent/WO2001040957A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the present invention relates to methods and systems for communicating between a plurality of users, in general, and to electronic communication tools and methods for creating, operating and managing virtual communities, in particular.
  • FIG. 1 is a schematic illustration of a communication system, generally referenced 10, which is known in the art.
  • System 10 includes a plurality of users 12A, 12B, 12C, 12D, and 12E, a plurality of web servers 16A and 16B, and a co-browsing server 18, all of which are connected to a network 14.
  • Users 12A and 12B are logically connected to web server 16A.
  • Users 12C, 12D, and 12E are logically connected to web server 16B.
  • Co-browsing server 18 operates and manages a virtual community, which users 12A, 12C and 12D are part of.
  • a client program run on each of users 12A, 12C and 12D, maintains a logical connection between each of the users 12A, 12C and 12D and co-browsing server 18.
  • This client program provides data to the co-browsing server 18, with respect to the current status of the user, associated therewith, such as user has logged on to the network, and user is currently connected to a selected network address for browsing or retrieval purposes.
  • the co-browsing server 18 can detect the presence of two or more virtual community users, such as users 12A and 12C, on the network and provide respective notification to each of them.
  • the co-browsing server 18 can detect the presence of two or more virtual community users, such as users 12A and 12C, at the same network address and similarly, provide respective notification to each of them.
  • a user receiving information of the presence and location of another user in the same community can initiate a communication session with that user.
  • Such a communication session often includes a form of dialog called "chat”.
  • the client of user 12A transmits to co-browsing server 18, the URL associated with user 12A, and a request to establish communication with another user accessing the same URL.
  • the client of user 12B similarly transmits to co-browsing server 18, the URL associated with user 12B, and a request to establish communication with another user accessing the same URL.
  • Co-browsing server 18 continuously performs comparisons between URL's of users 12A, and 12B. If the comparison process yields a match between the two URL's, the co-browsing server 18 transmits a message to clients of the users 12A, and 12B and informs them that a chat session may be commenced.
  • co-browsing server 18 links their clients.
  • User 12C can analogously join the ongoing session.
  • a co-presence server such as the one referenced 18, is connected to all of the users of the virtual community, which are currently logged into the system. It is noted that the number of users can exceed millions. Hence, such a server has to be specially constructed so as to comply with such vast numbers. It will be appreciated by those skilled in the art, that high scalability of such a server is a significantly difficult task.
  • a central co-presence server providing services to a plurality of users, can not provide air tight privacy to private communities. Furthermore such a server cannot be divided into areas where each is individually controlled by a different supervisor.
  • US Patent No. 5,864,874, to Shapiro and entitled "Community Co-browsing System” is directed to a method for enabling a number of users who retrieve the same data from a data base, to establish communication with one another.
  • the users are each connected to a co-browsing server and to a data server.
  • a first user forwards a request to the data server to retrieve data from a data repository, and it informs the co-presence server of this action.
  • the co-presence server then creates a virtual place for retrieved data . If a second user analogously retrieves the same data from the repository, the co-presence server informs the second user that a first user had retrieved the same data from the data repository.
  • Web is directed to a method for providing textual communication among users connected in a web, and accessing a specific web site.
  • a user forwards a request to a co-presence server for initiating a session.
  • the co-presence server greets the user by displaying a web page on display of his client, offers the user the choice of a private or a public session, and starts the requested session.
  • a second user may analogously forward a request to the co-presence server to join an ongoing session, at which point the co-presence server establishes a connection between the first and the second user.
  • US Patent No. 5,861 ,883 issued to Cuomo et al. and entitled "Method and System for Portably Enabling Awareness Touring, and Conferencing Over the World-Wide-Web Using Proxies and Shared-State Servers", is directed to a method for providing connection among a number of users in a virtual community.
  • a plurality of users are connected to a global server, through a co-presence server.
  • the web browser of a user forwards a request to a first software residing on the co-presence sever, to join a session.
  • the first software exchanges data with a web server, and in turn forwards the data to the web browser, the data containing an applet.
  • the applet in turn establishes a link with the global server through a second software residing in the co-presence server, and furthermore enables the user to transmit data to other users.
  • US Patent No. 5,796,393 issued to MacNaughton et al. and entitled "System for Integrating an On-Line Service Community With a Foreign Service", is directed to a method for determining the preferences of a user, and facilitating an improved interaction with other users in the net.
  • the method incorporates a co-presence server connected to a plurality of users.
  • the co-presence server informs a user concerning the preferences of other users who are concurrently on the same web page.
  • the user is able to establish communication with another user concerning a subject of mutual interest.
  • a distributed server system for connecting a plurality of users, over a network.
  • the network includes a plurality of network locations.
  • the server system includes a plurality of local co-browsing servers, connected to the network, and a global co-browsing server, connected to the network.
  • Each of the local co-browsing servers is associated with at least one of the network locations.
  • At least one of the users is associated with one of the local co-browsing servers, thereby determining it as a home co-browsing server and maintaining a connection thereto.
  • the users can connect to the network locations, and further connect to a selected local co-browsing server, which is associated with the connected network locations.
  • the user connects to the global co-browsing server when the network location to which he is currently connected, is not associated with any of the local co-browsing servers.
  • the network locations can include web pages, virtual meeting rooms and sub-meeting rooms.
  • a method for connecting between a requesting user and a remote user includes the steps of determining the remote user home co-browsing server, connecting the requesting user to the remote user home co-browsing server, and determining a current status of the remote user.
  • the method can further include the step of rejecting a connection request of the requesting user to connect to the remote user, when the current status is not idle for connection.
  • the method can further include the step of directly connecting the requesting user and the remote user, when the current status is idle for connection.
  • the method can include the step of connecting the requesting user and the remote user, via the remote user home co-browsing server, when the current status is idle for connection.
  • the method can also include the step of connecting the requesting user and the remote user, via a local co-browsing server, associated with the current network location of the remote user, when the current status is idle for connection.
  • a method for transmitting messages from a transmitting user to a receiving user includes the steps of connecting the transmitting user to the receiving user home co-browsing server, transmitting a message from the transmitting user to the receiving user home co-browsing server, and transmitting the message from the receiving user home co-browsing server to the receiving user, when the receiving user is connected to the receiving user's home co-browsing server.
  • the method can further include the step of storing the message when the receiving user is not currently connected to the receiving user home co-browsing server.
  • the method can further include the step of determining the receiving user home co-browsing server, according to a system identity of the receiving user.
  • the method can also include the step of disconnecting the transmitting user from the receiving user home co-browsing server, after the step of transmitting the message from the transmitting user.
  • a method for virtually teleporting a requesting user to the current network location of a remote user includes the steps of connecting the requesting user to the remote user home co-browsing server, receiving the current network location of the remote user from the remote user home co-browsing server, and connecting the requesting user to the remote user current network location.
  • the method can further include a preliminary step of determining the remote user home co-browsing server.
  • the method can also include the step of authorizing a request from the requesting user, before the step of receiving.
  • the method can further include the step of connecting the requesting user with a local co-browsing server, associated with the current network location.
  • a method for managing virtual group travel between different network locations includes the steps of associating a group of users on a selected one of the local co-browsing servers and the global co-browsing server, receiving new network location from one of the group users, and providing the new network location to the rest of the users in the group.
  • the method further includes the steps of connecting the group users to the new network location, determining the co-browsing server associated with the new network location, and determining the status of the group of users on the co-browsing server of the new network location.
  • the method can further include the step of connecting the group users to the co-browsing server associated with the new network location, when the co-browsing server associated with the new network location is not identical to the selected one of the local co-browsing servers and the global co-browsing server.
  • the method can also include the step of terminating the group, when less than two users are present in group mode on the co-browsing server associated with the new network location.
  • a method for associating a selected one of the network locations with a selected one of the local co-browsing servers includes the step of determining a string, according to identification of the selected network location and a predetermined expression, and determining a co-browsing server identification for the selected local co-browsing server, according to the determined string.
  • the method can be extended for user identifications, by further including the step of producing a user identification for each the users, associated with the selected local co-browsing server.
  • the user identification can be determined according to the co-browsing server identification and a user persona identification.
  • Figure 1 is a schematic illustration of a communication system, which is known in the art
  • Figure 2 a schematic illustration of a system, constructed and operative in accordance with a preferred embodiment of the present invention
  • Figure 3A is a schematic illustration of portions of the system of
  • Figure 3B is a schematic illustration of other portions of the system of Figure 2, constructed and operative in accordance with a further preferred embodiment of the present invention
  • Figure 3C is a schematic illustration of further portions of the system of Figure 2, constructed and operative in accordance with another preferred embodiment of the present invention.
  • Figure 4 is a schematic illustration of a method for operating the system of Figures 2, 3A, 3B and 3C, operative in accordance with a further preferred embodiment of the present invention
  • Figure 5 is a schematic illustration of a method for operating the system of Figures 2, 3A, 3B and 3C, operative in accordance with another preferred embodiment of the present invention
  • Figure 6 is a schematic illustration of a method for operating the system of Figure 2, operative in accordance with a further preferred embodiment of the present invention
  • Figure 7 is a schematic illustration of the logical structure of local co-browsing server of Figure 2, constructed and operative in accordance with another preferred embodiment of the present invention
  • Figure 8 is a schematic illustration of a method for operating the system of Figure 2, operative in accordance with a further preferred embodiment of the present invention.
  • the present invention overcomes the disadvantages of the prior art by providing a novel architecture which incorporates methods, systems and data structures which enable a virtual community, which is distributed into a plurality of virtual sub-communities.
  • Communication system 100 includes a plurality of users 102A,
  • Co-browsing server 106 is a home co-browsing server, which is associated with a plurality of web sites, defining a local environment coverage and with a plurality of user personas, defining a sub-community.
  • Co-browsing server 108 is a local co-browsing server, which is associated with a plurality of web sites, defining another local environment coverage.
  • local co-browsing server 108 can also serve as a home co-browsing server, with respect to other user personas which will associate themselves thereto.
  • Co-browsing server 110 is a global co-browsing server, temporarily associated with all web sites, which are not associated with other local co-browsing servers. It is noted that global co-browsing server 110 can also serve as a home co-browsing server, with respect to further user personas which will associate themselves thereto.
  • Each of the co-browsing servers is a logical server, which manages a virtual sub-community, associated therewith.
  • a physical server machine can run a plurality of logical servers, thereby providing a plurality of virtual sub-communities.
  • users 102A and 102D are associated with home co-browsing server 106.
  • a user can assume more than one virtual identity, also called persona.
  • user 102A can have two personas, Smith and Zorba. Smith is associated with co-browsing server 106 thereby defining it as its home co-browsing server.
  • Zorba is associated with co-browsing server 108, thereby defining it as its home co-browsing server.
  • the present invention further provides a personal identification code, which ties a persona to the co-browsing server, associated therewith.
  • One visual format of such an identification code is similar to the presentation of Email addresses and reads ⁇ Name>@ ⁇ Home Co-browsing Server Name>.
  • the names of co-browsing servers 106 and 108 are "forum.one.com” and “forum.two.com”, respectively.
  • the identification of the two personas of user 102A are Smith@forum.one.com and Zorba@forum.two.com.
  • a co-browsing server is to be associated with a web-site through the Domain Name System (DNS).
  • DNS Domain Name System
  • the client After determining the local co-browsing server name, the client accesses the DNS system, and tries to locate the network address, associated with the determined local co-browsing server name. If such a network address exists in the DNS system, then the client connects to the local co-browsing server residing in that address. Otherwise, the user connects to the global co-browsing server.
  • the DNS logic is embedded in the client application, which can determine the local co-browsing server name from the accessed domain name.
  • the DNS logic is provided by the home co-browsing server, where the user provides the URL that he is currently browsing in and the home co-browsing server provides the local co-browsing server name in return.
  • Figure 3A is a schematic illustration of portions of system 100 of Figure 2, constructed and operative in accordance with another preferred embodiment of the present invention.
  • Figure 3B is a schematic illustration of other portions of system 100 of Figure 2, constructed and operative in accordance with a further preferred embodiment of the present invention.
  • Figure 3C is a schematic illustration of further portions of system 100 of Figure 2, constructed and operative in accordance with another preferred embodiment of the present invention.
  • each component on the network is logically connected to very few other components.
  • a user is connected to the web server in which he is browsing, and to two co-browsing servers, one being his own home co-browsing server, which is associated with his current persona and the other being the local co-browsing server, being associated with the currently browsed web server.
  • these co-browsing servers are the same one, such as in Figure 3A.
  • User 102A exercising persona Smith, is connected to its home co-browsing server 106 and to a web server 1 12A, associated therewith.
  • a home co-browsing server which is associated with a remote user is requested by a user.
  • the home co-browsing server is determined according to the identification of the remote user. For example, where the identification of the requested remote user is apple@forum.tree.com, then the home co-browsing server is tree.com.
  • user 102D determines the home co-browsing server 106 of user 102A, to which it wishes to connect.
  • the current persona of user 102A is Smith and the identification of this persona in the system is smith@forum.one.com, which identifies co-browsing server 106 as the home co-browsing server.
  • users 102A and 102D belong to the same sub-community.
  • step 152 a connection is established to the co-browsing server which is associated with the remote user.
  • user 102D establishes a connection to home co-browsing server 106, and submits the connection request thereto.
  • step 154 the current status of the remote user is determined.
  • home co-browsing server 106 determines the current status of remote user 102A, associated therewith.
  • the status can be one or more of a plurality of choices such as:
  • Local co-browsing server 106 provides a reply to user 102D, according to the current status of user 102A.
  • the current status of user 102A can imply a rejection of the request (step 156) or an allowance thereof which is preceded by step 158.
  • step 158 the type of connection between the requesting user and the remote user is determined.
  • the present invention provides a plurality of connection types. The selection of a type therefrom, is made according to a plurality of considerations such as speed, communication system load, local co-browsing server load, and the like.
  • co-browsing server 106 provides the network address (for example, an IP address, where a TCP/IP network is involved) of user 102A, to user 102D, which can establish a direct connection to user 102A.
  • co-browsing server 106 can provide the network address of user 102D, to user 102A.
  • user 102A can establish a direct connection to user 102D.
  • step 162 the requesting user and the remote user are semi-connected.
  • local co-browsing server 106 interconnects between users 102A and 102D. It is noted that two users, belonging to the same sub-community of the same home co-browsing server, and browsing the same website, which is associated with a different local co-browsing server, can establish communication either through the local co-browsing server or through the home co-browsing server.
  • Figure 3B provides a different situation where user 102A browses at a web server 112B, which is associated with a local co-browsing server 108.
  • the sub-community of user 102A is defined and managed by co-browsing server 106.
  • the method of the present invention will be explained in conjunction with Figure 3B.
  • users 102A and 102B do not belong to the same sub-community.
  • a home co-browsing server which is associated with a remote user, is requested by a user.
  • user 102B determines the home co-browsing server 106 of user 102A, to which it wishes to connect.
  • the current persona of user 102A is Smith and the identification of this persona in the system is smith@forum.one.com, which identifies co-browsing server 106 as the home co-browsing server.
  • a connection is established to the co-browsing server, which is associated with the remote user.
  • user 102B establishes a connection to home co-browsing server 106, and submits the connection request thereto.
  • step 154 the current status of the remote user is determined.
  • home co-browsing server 106 determines the current status of remote user 102A, associated therewith.
  • Home co-browsing server 106 provides a reply to user 102B, according to the current status of user 102A. Similarly, the current status of user 102A can imply a rejection of the request (step 156) or an allowance thereof which is preceded by step 158. The execution of steps
  • step 162 the requesting user and the remote user are semi-connected.
  • home co-browsing server 106 provides the identity of local co-browsing server 108, which is the current main place of activity of user 102A.
  • User 102B accesses local co-browsing server 108, which in turn interconnects between user 102A and 102B.
  • Figure 3C provides yet a different situation, where user 102A browses at a web server 112C, which is not associated with any local co-browsing server.
  • user 102A establishes a connection to the global co-browsing server 110, instead.
  • the sub-community of user 102A is defined and managed by co-browsing server 106.
  • a home co-browsing server which is associated with a remote user, is requested by a user.
  • user 102B determines the home co-browsing server 106 of user 102A, to which it wishes to connect.
  • the identification of the current persona of user 102A in the system is smith@forum.one.com, which identifies co-browsing server 106 as the home co-browsing server.
  • step 152 a connection is established to the co-browsing server, which is associated with the remote user.
  • user 102B establishes a connection to home co-browsing server 106, and submits the connection request thereto.
  • step 154 the current status of the remote user is determined.
  • home co-browsing server 106 determines the current status of remote user 102A, associated therewith.
  • Home co-browsing server 106 provides a reply to user 102B, according to the current status of user 102A. Similarly, the current status of user 102A can imply a rejection of the request (step 156) or an allowance thereof which is preceded by step 158. The execution of steps
  • step 162 the requesting user and the remote user are semi-connected.
  • home co-browsing server 106 provides the identity of global co-browsing server 110, which is the current main place of activity of user 102A.
  • User 102B accesses global co-browsing server 1 10, which in turn interconnects between user 102A and 102B.
  • a local co-browsing server can be established on any server machine connected to the network and operated by commercial vendors, which may want to provide added value to the web-sites that they are managing. Accordingly, a requesting user can be a user from within the local co-browsing server in which the remote user is browsing.
  • the requesting user can be a human or automatic guide user, which exists on a selected local co-browsing server.
  • a browsing user such as user 102A accesses the web-site associated with that local co-browsing server.
  • the local co-browsing server informs the requesting user of the presence of user 102A in the web-site and thus, the requesting user can apply for connection to user 102A, from within the local co-browsing server.
  • the present invention distributes the users among a plurality of virtual sub-community and local co-browsing servers.
  • the distribution is dynamic, and is determined according to an intermediate situation, which is defined by the currently connected users.
  • FIG. 5 is a schematic illustration of a method for operating system 100 of Figures 2, operative in accordance with another preferred embodiment of the present invention.
  • the method illustrated in Figure 5 is used to provide messaging services between users of any sub-community, according to the system identification code of the receiving user.
  • a user 102B transmits a message to a remote user 102A utilizing the topology of the system of the invention.
  • the home co-browsing server which is associated with a remote user to whom the message is intended, is determined.
  • user 102B determines the identity of the home co-browsing server of one of the personas of user 102A.
  • step 202 a connection is established between the transmitting user and the remote user home co-browsing server.
  • user 102B establishes a connection to co-browsing server 106. It is noted that user 102A is not necessarily connected at that time either to the network or to the co-browsing server 106.
  • step 204 a message is transmitted to the remote user home co-browsing server.
  • user 102B transmits a message to co-browsing server 106, which in turn receives and stores it in a storage unit.
  • step 206 the connection between the transmitting user and the remote user home co-browsing server, is disconnected. With reference to Figure 2, user 102B disconnects from co-browsing server 106.
  • step 208 a connection is established between the remote user and the remote user home co-browsing server.
  • user 102A connects to his home co-browsing server 106, while initiating persona smith@forum.one.com. It is noted that this step is redundant in the case where the user is already logged into the network, thereby being already connected to his home co-browsing server.
  • step 210 the message is transmitted to the remote user.
  • co-browsing server 106 transmits the stored message to user 102A.
  • FIG. 6 is a schematic illustration of a method for operating system 100 of Figure 2, operative in accordance with a further preferred embodiment of the present invention.
  • the method illustrated in Figure 6 provides virtual Teleporting of a user to the network location of another user.
  • the method will be explained with respect to Figures 2 and 3B.
  • a home co-browsing server which is associated with a remote user, to whom the requesting user intends to Teleport itself, is determined.
  • user 102B determines the identity of the home co-browsing server of one of the personas of user 102A.
  • forum.one.com is the identification of the home co-browsing server 106 of that persona.
  • step 222 a connection is established between the Teleporting user and the remote user home co-browsing server.
  • user 102B establishes a connection to co-browsing server 106.
  • step 224 the current network location of the remote user is requested.
  • user 102B provides a request to co-browsing server 106, acting as the home co-browsing server of the remote user 102A.
  • Co-browsing server 106 further provides the request to remote user 102A.
  • step 2266 the request is authorized.
  • co-browsing server 106 receives authorization from user 102A, which results in providing information respective of the remote user 102A location to user 102B. It is noted that user 102A can deny authorization, thereby terminating the current process.
  • step 2208 a connection is established between the requesting user and the remote user host co-browsing server.
  • This connection enables the two users to communicate therebetween, using chat applications and the like, as well as being virtually visible to one another.
  • user 102B establishes a connection to local co-browsing server 108, which is associated with the web server 112B, where the remote user 102A currently browses.
  • step 230 a connection is established between the requesting user and the current network location of the remote user.
  • user 102B establishes a connection to the exact network location of user 102A on web server 112B. It is noted that this location can be a selected web page or a form of special co-existence location such as a meeting room or a sub-meeting room, as will be disclosed herein below. It is noted that a user can initiate teleporting of a remote user to the current network location of the initiating user, by providing the initiating user network location to the remote user via the remote user home co-browsing server.
  • Figure 7 is a schematic illustration of the logical structure of local co-browsing server 108 of Figure 2, constructed and operative in accordance with another preferred embodiment of the present invention.
  • local co-browsing server 108 includes a plurality of web pages 250, 252, 254, 256 and 258. It is noted that these web-pages can physically reside on local co-browsing server 108 or on other web-servers, being linked to local co-browsing server 108. According to the present invention, local co-browsing server 108 further includes a meeting area 260, which is divided into sub-meeting areas 262A, 262B, 262C and 262D.
  • a conventional meeting room such as a chat room, is typically operative to receive a large number of visitor users, which tend to be too crowded.
  • the present invention provides a scalable meeting area, which is divided into a plurality of sub-meeting areas, each limited to a predetermined number of user visitors and each being accessed by any visitor. It is noted that each of these meeting sub-areas can be regarded a network location with respect to the method presented in Figure 6.
  • the present invention also provides a method in which a plurality of users can form a group, which can virtually travel together throughout the network.
  • Figure 8 is a schematic illustration of a method for operating system 100 of Figure 2, operative in accordance with a further preferred embodiment of the present invention.
  • a group of users is associated on a selected local co-browsing server. These users browse together in the same web server, associated with the local co-browsing server.
  • users 102A, 102B, 102C and 102D form a group on local co-browsing server 108. It is noted that at this point a group leader can be selected.
  • a new network location is received from one of the users in the group. Where a group leader is selected, this new network location is provided therefrom. With respect to Figure 2, user 102B provides a new network location. User 102B can do so by simply browsing to that new network location.
  • step 304 the new network location is provided to the rest of the users in the group. According to one aspect of the present invention, this is done by a group module, which is present on the current local co-browsing server. With reference to Figure 2, the new network location is provided to users 102A, 102C and 102D.
  • each of the group users connects to the new network location.
  • user 102B has already accessed the new network location and now, users 102A, 102C and 102D connect to that location.
  • the local co-browsing server name associated with the new network location, is determined. If the name of that local co-browsing server is identical with the name of the current local co-browsing server, then the method proceeds to step 312. When the names are not identical, then each of the group users is connected to the new local co-browsing server (step 310). With reference to Figure 2, when the new co-browsing server is reference 106, then all of the users in the group connect to that new server.
  • step 312 the status of the group of users, on the determined local co-browsing server, is determined.
  • the first user which accesses local co-browsing server 106 initiates a group module within the server, and that module detects how many of the users of the group have arrived in a predetermined time period.
  • each group has a globally unique identifier (GUID), which is known to all the group members. This GUID is used by group members to find their respective group module whenever they connect to a new local co-browsing server.
  • GUID globally unique identifier
  • step 314 the group is annihilated, when eventually, less than two users are present.
  • the group module at local co-browsing server 106 terminates itself.

Abstract

Distributed server system, for connecting a plurality of users (102A), over a network, the network including a plurality of network locations, the server system including a plurality of local co-browsing servers (108), connected to the network, and a global co-browsing server, connected to the network, wherein each of the local co-browsing server (108) is associated with at least one of the network locations.

Description

COMMUNICATION SYSTEM
FIELD OF THE INVENTION
The present invention relates to methods and systems for communicating between a plurality of users, in general, and to electronic communication tools and methods for creating, operating and managing virtual communities, in particular.
BACKGROUND OF THE INVENTION Methods and systems for providing virtual communities are known in the art. In general, two users who are members of such a system, notify a special community server of their current condition such as being on the web or being in connection with a selected web site (according to its URL). If the two users are associated with the same group within the community, then the community server can provide to each of them information stating that the other is available or at the same location. Conventional systems also provide the ability for such users to communicate using conventional chat modules, where they can exchange views. Electronic-commerce (E-commerce) is known in the art.
Conventional web sites are like booths in a huge exhibition. Some sell products, others provide information and brochures. There are millions of visitors, at this "exhibition", visiting the sites that are "booths".
Reference is now made to Figure 1 , which is a schematic illustration of a communication system, generally referenced 10, which is known in the art.
System 10 includes a plurality of users 12A, 12B, 12C, 12D, and 12E, a plurality of web servers 16A and 16B, and a co-browsing server 18, all of which are connected to a network 14. Users 12A and 12B are logically connected to web server 16A. Users 12C, 12D, and 12E are logically connected to web server 16B. Co-browsing server 18 operates and manages a virtual community, which users 12A, 12C and 12D are part of. Hence, a client program, run on each of users 12A, 12C and 12D, maintains a logical connection between each of the users 12A, 12C and 12D and co-browsing server 18. This client program provides data to the co-browsing server 18, with respect to the current status of the user, associated therewith, such as user has logged on to the network, and user is currently connected to a selected network address for browsing or retrieval purposes.
Obtained this information, the co-browsing server 18 can detect the presence of two or more virtual community users, such as users 12A and 12C, on the network and provide respective notification to each of them. Alternatively, the co-browsing server 18 can detect the presence of two or more virtual community users, such as users 12A and 12C, at the same network address and similarly, provide respective notification to each of them.
According to conventional methods, known in the art, a user receiving information of the presence and location of another user in the same community, can initiate a communication session with that user. Such a communication session often includes a form of dialog called "chat".
For example, when user 12A accesses a URL from a web server, the client of user 12A transmits to co-browsing server 18, the URL associated with user 12A, and a request to establish communication with another user accessing the same URL. The client of user 12B similarly transmits to co-browsing server 18, the URL associated with user 12B, and a request to establish communication with another user accessing the same URL. Co-browsing server 18 continuously performs comparisons between URL's of users 12A, and 12B. If the comparison process yields a match between the two URL's, the co-browsing server 18 transmits a message to clients of the users 12A, and 12B and informs them that a chat session may be commenced. If users 12A and 12B both agree to chat, then co-browsing server 18 links their clients. User 12C can analogously join the ongoing session. One of the disadvantages of such systems emerges from the centralized structure, which characterizes them. A co-presence server, such as the one referenced 18, is connected to all of the users of the virtual community, which are currently logged into the system. It is noted that the number of users can exceed millions. Hence, such a server has to be specially constructed so as to comply with such vast numbers. It will be appreciated by those skilled in the art, that high scalability of such a server is a significantly difficult task. In addition, a central co-presence server providing services to a plurality of users, can not provide air tight privacy to private communities. Furthermore such a server cannot be divided into areas where each is individually controlled by a different supervisor.
US Patent No. 5,864,874, to Shapiro and entitled "Community Co-browsing System", is directed to a method for enabling a number of users who retrieve the same data from a data base, to establish communication with one another. The users are each connected to a co-browsing server and to a data server. A first user forwards a request to the data server to retrieve data from a data repository, and it informs the co-presence server of this action. The co-presence server then creates a virtual place for retrieved data . If a second user analogously retrieves the same data from the repository, the co-presence server informs the second user that a first user had retrieved the same data from the data repository.
US Patent No. 5,862,330 issued to Anupam et al. and entitled
"Technique For Obtaining and Exchanging Information on World Wide
Web", is directed to a method for providing textual communication among users connected in a web, and accessing a specific web site. A user forwards a request to a co-presence server for initiating a session. The co-presence server greets the user by displaying a web page on display of his client, offers the user the choice of a private or a public session, and starts the requested session. A second user may analogously forward a request to the co-presence server to join an ongoing session, at which point the co-presence server establishes a connection between the first and the second user.
US Patent No. 5,861 ,883 issued to Cuomo et al. and entitled "Method and System for Portably Enabling Awareness Touring, and Conferencing Over the World-Wide-Web Using Proxies and Shared-State Servers", is directed to a method for providing connection among a number of users in a virtual community. A plurality of users, are connected to a global server, through a co-presence server. The web browser of a user forwards a request to a first software residing on the co-presence sever, to join a session. The first software exchanges data with a web server, and in turn forwards the data to the web browser, the data containing an applet. The applet in turn establishes a link with the global server through a second software residing in the co-presence server, and furthermore enables the user to transmit data to other users.
US Patent No. 5,796,393 issued to MacNaughton et al. and entitled "System for Integrating an On-Line Service Community With a Foreign Service", is directed to a method for determining the preferences of a user, and facilitating an improved interaction with other users in the net. The method incorporates a co-presence server connected to a plurality of users. The co-presence server informs a user concerning the preferences of other users who are concurrently on the same web page. Thus, the user is able to establish communication with another user concerning a subject of mutual interest. SUMMARY OF THE PRESENT INVENTION
It is an object of the present invention to provide a novel method and system for connecting and managing a community related communication network, which overcomes the prior art. In accordance with the present invention, there is thus provided a distributed server system, for connecting a plurality of users, over a network. The network includes a plurality of network locations. The server system includes a plurality of local co-browsing servers, connected to the network, and a global co-browsing server, connected to the network. Each of the local co-browsing servers is associated with at least one of the network locations.
At least one of the users is associated with one of the local co-browsing servers, thereby determining it as a home co-browsing server and maintaining a connection thereto. The users can connect to the network locations, and further connect to a selected local co-browsing server, which is associated with the connected network locations.
The user connects to the global co-browsing server when the network location to which he is currently connected, is not associated with any of the local co-browsing servers. The network locations can include web pages, virtual meeting rooms and sub-meeting rooms.
In accordance with another aspect of the present invention, there is thus provided a method for connecting between a requesting user and a remote user. The method includes the steps of determining the remote user home co-browsing server, connecting the requesting user to the remote user home co-browsing server, and determining a current status of the remote user.
The method can further include the step of rejecting a connection request of the requesting user to connect to the remote user, when the current status is not idle for connection. The method can further include the step of directly connecting the requesting user and the remote user, when the current status is idle for connection. Yet further, the method can include the step of connecting the requesting user and the remote user, via the remote user home co-browsing server, when the current status is idle for connection.
The method can also include the step of connecting the requesting user and the remote user, via a local co-browsing server, associated with the current network location of the remote user, when the current status is idle for connection.
In accordance with a further aspect of the present invention, there is thus provided a method for transmitting messages from a transmitting user to a receiving user. The method includes the steps of connecting the transmitting user to the receiving user home co-browsing server, transmitting a message from the transmitting user to the receiving user home co-browsing server, and transmitting the message from the receiving user home co-browsing server to the receiving user, when the receiving user is connected to the receiving user's home co-browsing server.
The method can further include the step of storing the message when the receiving user is not currently connected to the receiving user home co-browsing server. Alternatively, the method can further include the step of determining the receiving user home co-browsing server, according to a system identity of the receiving user.
The method can also include the step of disconnecting the transmitting user from the receiving user home co-browsing server, after the step of transmitting the message from the transmitting user. In accordance with yet another aspect of the present invention, there is provided a method for virtually teleporting a requesting user to the current network location of a remote user. The method includes the steps of connecting the requesting user to the remote user home co-browsing server, receiving the current network location of the remote user from the remote user home co-browsing server, and connecting the requesting user to the remote user current network location. The method can further include a preliminary step of determining the remote user home co-browsing server. The method can also include the step of authorizing a request from the requesting user, before the step of receiving. The method can further include the step of connecting the requesting user with a local co-browsing server, associated with the current network location.
In accordance with yet another aspect of the present invention, there is provided a method for managing virtual group travel between different network locations. The method includes the steps of associating a group of users on a selected one of the local co-browsing servers and the global co-browsing server, receiving new network location from one of the group users, and providing the new network location to the rest of the users in the group. The method further includes the steps of connecting the group users to the new network location, determining the co-browsing server associated with the new network location, and determining the status of the group of users on the co-browsing server of the new network location.
The method can further include the step of connecting the group users to the co-browsing server associated with the new network location, when the co-browsing server associated with the new network location is not identical to the selected one of the local co-browsing servers and the global co-browsing server.
The method can also include the step of terminating the group, when less than two users are present in group mode on the co-browsing server associated with the new network location.
In accordance with yet another aspect of the present invention, there is thus provided a method for associating a selected one of the network locations with a selected one of the local co-browsing servers. The method includes the step of determining a string, according to identification of the selected network location and a predetermined expression, and determining a co-browsing server identification for the selected local co-browsing server, according to the determined string.
The method can be extended for user identifications, by further including the step of producing a user identification for each the users, associated with the selected local co-browsing server. The user identification can be determined according to the co-browsing server identification and a user persona identification.
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: Figure 1 is a schematic illustration of a communication system, which is known in the art;
Figure 2 a schematic illustration of a system, constructed and operative in accordance with a preferred embodiment of the present invention; Figure 3A is a schematic illustration of portions of the system of
Figure 2, constructed and operative in accordance with another preferred embodiment of the present invention;
Figure 3B is a schematic illustration of other portions of the system of Figure 2, constructed and operative in accordance with a further preferred embodiment of the present invention;
Figure 3C is a schematic illustration of further portions of the system of Figure 2, constructed and operative in accordance with another preferred embodiment of the present invention;
Figure 4 is a schematic illustration of a method for operating the system of Figures 2, 3A, 3B and 3C, operative in accordance with a further preferred embodiment of the present invention;
Figure 5 is a schematic illustration of a method for operating the system of Figures 2, 3A, 3B and 3C, operative in accordance with another preferred embodiment of the present invention; Figure 6, is a schematic illustration of a method for operating the system of Figure 2, operative in accordance with a further preferred embodiment of the present invention;
Figure 7, is a schematic illustration of the logical structure of local co-browsing server of Figure 2, constructed and operative in accordance with another preferred embodiment of the present invention; and Figure 8, is a schematic illustration of a method for operating the system of Figure 2, operative in accordance with a further preferred embodiment of the present invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
The present invention overcomes the disadvantages of the prior art by providing a novel architecture which incorporates methods, systems and data structures which enable a virtual community, which is distributed into a plurality of virtual sub-communities.
Reference is now made to Figure 2, which is a schematic illustration of a system, generally referenced 100, constructed and operative in accordance with a preferred embodiment of the present invention. Communication system 100 includes a plurality of users 102A,
102B, 102C, 102D and 102E, a plurality of web servers 112A, 112B and 112C and a plurality of co-browsing servers 106, 108 and 110, all of which are connected to a communication network 104 and are able to interconnect there through. Co-browsing server 106 is a home co-browsing server, which is associated with a plurality of web sites, defining a local environment coverage and with a plurality of user personas, defining a sub-community. Co-browsing server 108 is a local co-browsing server, which is associated with a plurality of web sites, defining another local environment coverage. It is noted that local co-browsing server 108 can also serve as a home co-browsing server, with respect to other user personas which will associate themselves thereto. Co-browsing server 110 is a global co-browsing server, temporarily associated with all web sites, which are not associated with other local co-browsing servers. It is noted that global co-browsing server 110 can also serve as a home co-browsing server, with respect to further user personas which will associate themselves thereto.
Each of the co-browsing servers is a logical server, which manages a virtual sub-community, associated therewith. It is noted that according to another aspect of the present invention, a physical server machine can run a plurality of logical servers, thereby providing a plurality of virtual sub-communities. In the present example, users 102A and 102D are associated with home co-browsing server 106. It is noted that a user can assume more than one virtual identity, also called persona. For example, user 102A can have two personas, Smith and Zorba. Smith is associated with co-browsing server 106 thereby defining it as its home co-browsing server. Zorba is associated with co-browsing server 108, thereby defining it as its home co-browsing server. The present invention further provides a personal identification code, which ties a persona to the co-browsing server, associated therewith. One visual format of such an identification code is similar to the presentation of Email addresses and reads <Name>@<Home Co-browsing Server Name>.
In the present example, the names of co-browsing servers 106 and 108 are "forum.one.com" and "forum.two.com", respectively. Hence, the identification of the two personas of user 102A are Smith@forum.one.com and Zorba@forum.two.com.
According to the present invention, a co-browsing server is to be associated with a web-site through the Domain Name System (DNS). Each domain having a domain name is associated with a local co-browsing server name of the format f(domain name). domain name, where f() is a predetermined function. It is noted that function f() can equal a constant. In the following example, f()=Forum. Accordingly, web domain cnn.com (and all of the sub domains defined there according such as www.cnn.com, weather.cnn.com, new.cnn.com) is associated with a local co-browsing sub domain forum.cnn.com. In another example, f() equals the [the first domain name character][the last domain name character] [the second domain name character]. Hence, the local co-browsing server name of domain cnn.com is cmn.cnn.com.
After determining the local co-browsing server name, the client accesses the DNS system, and tries to locate the network address, associated with the determined local co-browsing server name. If such a network address exists in the DNS system, then the client connects to the local co-browsing server residing in that address. Otherwise, the user connects to the global co-browsing server.
According to one aspect of the invention, the DNS logic is embedded in the client application, which can determine the local co-browsing server name from the accessed domain name. According to another aspect of the invention, the DNS logic is provided by the home co-browsing server, where the user provides the URL that he is currently browsing in and the home co-browsing server provides the local co-browsing server name in return. The following examples address procedures of communication between two users and can be expanded to as many users as desired.
Reference is further made to Figures 3A, 3B and 3C. Figure 3A is a schematic illustration of portions of system 100 of Figure 2, constructed and operative in accordance with another preferred embodiment of the present invention. Figure 3B is a schematic illustration of other portions of system 100 of Figure 2, constructed and operative in accordance with a further preferred embodiment of the present invention. Figure 3C is a schematic illustration of further portions of system 100 of Figure 2, constructed and operative in accordance with another preferred embodiment of the present invention.
Although connected by a broad communication network, each component on the network is logically connected to very few other components. With respect to the present invention, a user is connected to the web server in which he is browsing, and to two co-browsing servers, one being his own home co-browsing server, which is associated with his current persona and the other being the local co-browsing server, being associated with the currently browsed web server. It is noted that there is a situation where logically, these co-browsing servers are the same one, such as in Figure 3A. User 102A, exercising persona Smith, is connected to its home co-browsing server 106 and to a web server 1 12A, associated therewith. According to the present invention, when user 102D wants to communicate with user 102A, of the same community, he accesses the home co-browsing server 106 of user 102A and establishes a connection there through. Reference is now made to Figure 4, which is a schematic illustration of a method for operating system 100 of Figure 2, operative in accordance with a further preferred embodiment of the present invention. In step 150, a home co-browsing server, which is associated with a remote user is requested by a user. The home co-browsing server is determined according to the identification of the remote user. For example, where the identification of the requested remote user is apple@forum.tree.com, then the home co-browsing server is tree.com. With respect to Figure 3A, user 102D determines the home co-browsing server 106 of user 102A, to which it wishes to connect. The current persona of user 102A is Smith and the identification of this persona in the system is smith@forum.one.com, which identifies co-browsing server 106 as the home co-browsing server. In the present example, users 102A and 102D belong to the same sub-community.
In step 152, a connection is established to the co-browsing server which is associated with the remote user. With reference to Figure 3A, user 102D establishes a connection to home co-browsing server 106, and submits the connection request thereto.
In step 154, the current status of the remote user is determined. With respect to Figure 3A, home co-browsing server 106 determines the current status of remote user 102A, associated therewith. The status can be one or more of a plurality of choices such as:
• User is currently off line.
• User is currently on line.
• User is currently disconnected from any community related activities. • User is currently available to communicate with a predetermined list of other users, and the like. Local co-browsing server 106 provides a reply to user 102D, according to the current status of user 102A. The current status of user 102A can imply a rejection of the request (step 156) or an allowance thereof which is preceded by step 158.
In step 158, the type of connection between the requesting user and the remote user is determined. The present invention provides a plurality of connection types. The selection of a type therefrom, is made according to a plurality of considerations such as speed, communication system load, local co-browsing server load, and the like.
In step 160, the requesting user and the remote user are directly connected. With respect to Figure 3A, co-browsing server 106 provides the network address (for example, an IP address, where a TCP/IP network is involved) of user 102A, to user 102D, which can establish a direct connection to user 102A. Alternatively, co-browsing server 106 can provide the network address of user 102D, to user 102A. Hence, user 102A can establish a direct connection to user 102D.
In step 162, the requesting user and the remote user are semi-connected. With respect to Figure 3A, local co-browsing server 106 interconnects between users 102A and 102D. It is noted that two users, belonging to the same sub-community of the same home co-browsing server, and browsing the same website, which is associated with a different local co-browsing server, can establish communication either through the local co-browsing server or through the home co-browsing server.
Figure 3B provides a different situation where user 102A browses at a web server 112B, which is associated with a local co-browsing server 108. As in the previous example, the sub-community of user 102A is defined and managed by co-browsing server 106. Referring back to Figure 4, the method of the present invention will be explained in conjunction with Figure 3B. In the present example, users 102A and 102B do not belong to the same sub-community.
In step 150, a home co-browsing server, which is associated with a remote user, is requested by a user. With respect to Figure 3B, user 102B determines the home co-browsing server 106 of user 102A, to which it wishes to connect. The current persona of user 102A is Smith and the identification of this persona in the system is smith@forum.one.com, which identifies co-browsing server 106 as the home co-browsing server. In step 152, a connection is established to the co-browsing server, which is associated with the remote user. With reference to Figure 3B, user 102B establishes a connection to home co-browsing server 106, and submits the connection request thereto.
In step 154, the current status of the remote user is determined. With respect to Figure 3B, home co-browsing server 106 determines the current status of remote user 102A, associated therewith.
Home co-browsing server 106 provides a reply to user 102B, according to the current status of user 102A. Similarly, the current status of user 102A can imply a rejection of the request (step 156) or an allowance thereof which is preceded by step 158. The execution of steps
158 and 160 are the same as above.
In step 162, the requesting user and the remote user are semi-connected. With respect to Figure 3B, home co-browsing server 106 provides the identity of local co-browsing server 108, which is the current main place of activity of user 102A. User 102B accesses local co-browsing server 108, which in turn interconnects between user 102A and 102B.
Figure 3C provides yet a different situation, where user 102A browses at a web server 112C, which is not associated with any local co-browsing server. In this case, user 102A establishes a connection to the global co-browsing server 110, instead. As in the previous examples, the sub-community of user 102A is defined and managed by co-browsing server 106.
Referring back to Figure 4, the method of the present invention, will be explained in conjunction with Figure 3C. In the present example, user 102A and 102B do not belong to the same sub-community.
In step 150, a home co-browsing server, which is associated with a remote user, is requested by a user. With respect to Figure 3C, user 102B determines the home co-browsing server 106 of user 102A, to which it wishes to connect. The identification of the current persona of user 102A in the system is smith@forum.one.com, which identifies co-browsing server 106 as the home co-browsing server.
In step 152, a connection is established to the co-browsing server, which is associated with the remote user. With reference to Figure 3C, user 102B establishes a connection to home co-browsing server 106, and submits the connection request thereto.
In step 154, the current status of the remote user is determined. With respect to Figure 3C, home co-browsing server 106 determines the current status of remote user 102A, associated therewith.
Home co-browsing server 106 provides a reply to user 102B, according to the current status of user 102A. Similarly, the current status of user 102A can imply a rejection of the request (step 156) or an allowance thereof which is preceded by step 158. The execution of steps
158 and 160 are the same as above.
In step 162, the requesting user and the remote user are semi-connected. With respect to Figure 3C, home co-browsing server 106 provides the identity of global co-browsing server 110, which is the current main place of activity of user 102A. User 102B accesses global co-browsing server 1 10, which in turn interconnects between user 102A and 102B. According to another aspect of the present invention, a local co-browsing server can be established on any server machine connected to the network and operated by commercial vendors, which may want to provide added value to the web-sites that they are managing. Accordingly, a requesting user can be a user from within the local co-browsing server in which the remote user is browsing. For example, the requesting user can be a human or automatic guide user, which exists on a selected local co-browsing server. A browsing user such as user 102A accesses the web-site associated with that local co-browsing server. The local co-browsing server informs the requesting user of the presence of user 102A in the web-site and thus, the requesting user can apply for connection to user 102A, from within the local co-browsing server.
Unlike conventional co-browsing servers, which operate in a centralized manner, having all of the active users in community connected thereto, the present invention distributes the users among a plurality of virtual sub-community and local co-browsing servers. The distribution is dynamic, and is determined according to an intermediate situation, which is defined by the currently connected users.
Reference is now made to Figure 5, which is a schematic illustration of a method for operating system 100 of Figures 2, operative in accordance with another preferred embodiment of the present invention. The method illustrated in Figure 5 is used to provide messaging services between users of any sub-community, according to the system identification code of the receiving user. In the present example, a user 102B transmits a message to a remote user 102A utilizing the topology of the system of the invention. In step 200, the home co-browsing server, which is associated with a remote user to whom the message is intended, is determined. With reference to Figure 2, user 102B determines the identity of the home co-browsing server of one of the personas of user 102A. In the present example, where user 102A assumes the persona smith@forum.one.com, user 102B determines that forum.one.com is the identification of the home co-browsing server 106 of that persona. In step 202, a connection is established between the transmitting user and the remote user home co-browsing server. With reference to
Figure 2, user 102B establishes a connection to co-browsing server 106. It is noted that user 102A is not necessarily connected at that time either to the network or to the co-browsing server 106.
In step 204, a message is transmitted to the remote user home co-browsing server. With reference to Figure 2, user 102B transmits a message to co-browsing server 106, which in turn receives and stores it in a storage unit. In step 206, the connection between the transmitting user and the remote user home co-browsing server, is disconnected. With reference to Figure 2, user 102B disconnects from co-browsing server 106.
In step 208, a connection is established between the remote user and the remote user home co-browsing server. With reference to Figure 3, user 102A, connects to his home co-browsing server 106, while initiating persona smith@forum.one.com. It is noted that this step is redundant in the case where the user is already logged into the network, thereby being already connected to his home co-browsing server.
In step 210, the message is transmitted to the remote user. With reference to Figure 2, co-browsing server 106 transmits the stored message to user 102A.
The topology of the communication system provided by the present invention, provides many more functions, some of which will be described herein below. Reference is now made to Figure 6, which is a schematic illustration of a method for operating system 100 of Figure 2, operative in accordance with a further preferred embodiment of the present invention. The method illustrated in Figure 6, provides virtual Teleporting of a user to the network location of another user. The method will be explained with respect to Figures 2 and 3B. In step 220, a home co-browsing server, which is associated with a remote user, to whom the requesting user intends to Teleport itself, is determined. With reference to Figures 2 and 3B, user 102B determines the identity of the home co-browsing server of one of the personas of user 102A. As in the previous examples, where user 102A assumes the persona smith@forum.one.com, user 102B determines that forum.one.com is the identification of the home co-browsing server 106 of that persona.
In step 222, a connection is established between the Teleporting user and the remote user home co-browsing server. With reference to Figure 3B, user 102B establishes a connection to co-browsing server 106.
In step 224 the current network location of the remote user is requested. With reference to Figure 3B, user 102B provides a request to co-browsing server 106, acting as the home co-browsing server of the remote user 102A. Co-browsing server 106 further provides the request to remote user 102A.
In step 226, the request is authorized. With reference to Figure
3B, co-browsing server 106 receives authorization from user 102A, which results in providing information respective of the remote user 102A location to user 102B. It is noted that user 102A can deny authorization, thereby terminating the current process.
In step 228, a connection is established between the requesting user and the remote user host co-browsing server. This connection enables the two users to communicate therebetween, using chat applications and the like, as well as being virtually visible to one another. With reference to Figure 3B, user 102B establishes a connection to local co-browsing server 108, which is associated with the web server 112B, where the remote user 102A currently browses.
In step 230, a connection is established between the requesting user and the current network location of the remote user. With reference to
Figure 3B, user 102B establishes a connection to the exact network location of user 102A on web server 112B. It is noted that this location can be a selected web page or a form of special co-existence location such as a meeting room or a sub-meeting room, as will be disclosed herein below. It is noted that a user can initiate teleporting of a remote user to the current network location of the initiating user, by providing the initiating user network location to the remote user via the remote user home co-browsing server.
Reference is further made to Figure 7, which is a schematic illustration of the logical structure of local co-browsing server 108 of Figure 2, constructed and operative in accordance with another preferred embodiment of the present invention.
As in conventional web servers, local co-browsing server 108 includes a plurality of web pages 250, 252, 254, 256 and 258. It is noted that these web-pages can physically reside on local co-browsing server 108 or on other web-servers, being linked to local co-browsing server 108. According to the present invention, local co-browsing server 108 further includes a meeting area 260, which is divided into sub-meeting areas 262A, 262B, 262C and 262D.
A conventional meeting room, such as a chat room, is typically operative to receive a large number of visitor users, which tend to be too crowded. The present invention provides a scalable meeting area, which is divided into a plurality of sub-meeting areas, each limited to a predetermined number of user visitors and each being accessed by any visitor. It is noted that each of these meeting sub-areas can be regarded a network location with respect to the method presented in Figure 6.
The present invention also provides a method in which a plurality of users can form a group, which can virtually travel together throughout the network. Reference is now made to Figure 8, which is a schematic illustration of a method for operating system 100 of Figure 2, operative in accordance with a further preferred embodiment of the present invention. In step 300, a group of users is associated on a selected local co-browsing server. These users browse together in the same web server, associated with the local co-browsing server. With respect to Figure 2, users 102A, 102B, 102C and 102D form a group on local co-browsing server 108. It is noted that at this point a group leader can be selected.
In step 302, a new network location is received from one of the users in the group. Where a group leader is selected, this new network location is provided therefrom. With respect to Figure 2, user 102B provides a new network location. User 102B can do so by simply browsing to that new network location.
In step 304, the new network location is provided to the rest of the users in the group. According to one aspect of the present invention, this is done by a group module, which is present on the current local co-browsing server. With reference to Figure 2, the new network location is provided to users 102A, 102C and 102D.
In step 306, each of the group users connects to the new network location. With reference to Figure 2, user 102B has already accessed the new network location and now, users 102A, 102C and 102D connect to that location. In step 308, the local co-browsing server name, associated with the new network location, is determined. If the name of that local co-browsing server is identical with the name of the current local co-browsing server, then the method proceeds to step 312. When the names are not identical, then each of the group users is connected to the new local co-browsing server (step 310). With reference to Figure 2, when the new co-browsing server is reference 106, then all of the users in the group connect to that new server. It is noted that users whom local co-browsing server 108 is not their home co-browsing server, can disconnect therefrom. In step 312, the status of the group of users, on the determined local co-browsing server, is determined. With respect to Figure 2, the first user which accesses local co-browsing server 106, initiates a group module within the server, and that module detects how many of the users of the group have arrived in a predetermined time period. It is further noted that each group has a globally unique identifier (GUID), which is known to all the group members. This GUID is used by group members to find their respective group module whenever they connect to a new local co-browsing server.
In step 314, the group is annihilated, when eventually, less than two users are present. With reference to Figure 2, when after a predetermined time, only a single user has "arrived" at the new local co-browsing server or when no users are present there or when, alternatively, the users instruct the group module that they do not wish to be a part of the group anymore, then the group module at local co-browsing server 106, terminates itself. It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather the scope of the present invention is defined only by the claims, which follow.

Claims

1. Distributed server system, for connecting a plurality of users, over a network, the network including a plurality of network locations, the server system comprising: a plurality of local co-browsing servers, connected to said network; and a global co-browsing server, connected to said network, wherein each said local co-browsing server is associated with at least one of said network locations.
2. The distributed server system according to claim 1 , wherein at least one of said users is associated with one of said local co-browsing servers, thereby determining it a home co-browsing server therefor.
3. The distributed server system according to claim 1 , wherein said at least one user is connected to at least one of said network locations, and further connected to a selected local co-browsing server, associated with said at least one network location.
4. The distributed server system according to claim 2, wherein said at least one user is connected to at least one of said network locations, and further connected to a selected local co-browsing server, associated with said at least one network location.
5. The distributed server system according to claim 1 , wherein said at least one user is connected to at least one of said network locations, and further connected to said global co-browsing server, when said at least one network location is not associated with any of said local co-browsing servers.
6. The distributed server system according to claim 1 , wherein said network locations include web pages.
7. The distributed server system according to claim 6, wherein said network locations include virtual meeting rooms, each said virtual meeting rooms being associated with selected one of said local co-browsing servers and said global co-browsing server and with a selected one of said web pages.
8. The distributed server system according to claim 7, wherein said network locations include virtual sub-meeting rooms, each said virtual sub-meeting rooms being associated with selected one of said virtual meeting rooms.
9. The distributed server system according to claim 1 , wherein said network locations include virtual meeting rooms, each said virtual meeting rooms being associated with selected one of said local co-browsing servers and said global co-browsing server.
10. The distributed server system according to claim 9, wherein said network locations include virtual sub-meeting rooms, each said virtual sub-meeting rooms being associated with selected one of said virtual meeting rooms.
1 1 . In a communication system, the system including a plurality of network locations, a plurality of local co-browsing servers and a plurality of users, each of the users is associated with a selected one of the local co-browsing servers, thereby determining the selected local co-browsing server as a home co-browsing server, some of the network locations are each associated with a selected one of the local co-browsing servers, a method for connecting between a requesting user and a remote user, the method comprising the steps of: determining the remote user home co-browsing server; connecting said requesting user to said remote user home co-browsing server; and determining a current status of said remote user.
12. The method according to claim 11 , further comprising the step of rejecting a connection request of said requesting user to connect to said remote user, when said current status is not idle for connection.
13. The method according to claim 11 , further comprising the step of directly connecting said requesting user and said remote user, when said current status is idle for connection.
14. The method according to claim 11 , further comprising the step of connecting said requesting user and said remote user, via said remote user home co-browsing server, when said current status is idle for connection.
15. The method according to claim 1 1 , further comprising the step of connecting said requesting user and said remote user, via a local co-browsing server, associated with the current network location of said remote user, when said current status is idle for connection.
16. In a communication system, the system including a plurality of network locations, a plurality of local co-browsing servers and a plurality of users, each of the users is associated with a selected one of the local co-browsing servers, thereby determining the selected local co-browsing server as a home co-browsing server, a method for transmitting messages from a transmitting user to a receiving user, the method comprising the steps of: connecting said transmitting user to the receiving user home co-browsing server; transmitting a message from said transmitting user to said receiving user home co-browsing server; and transmitting said message from said receiving user home co-browsing server to said receiving user, when said receiving user is connected to said receiving user home co-browsing server.
17. The method according to claim 16, further comprising the step of storing said message when said receiving user is not currently connected to said receiving user home co-browsing server.
18. The method according to claim 16, further comprising the step of determining said receiving user home co-browsing server, according to a system identity of said receiving user.
19. The method according to claim 17, further comprising the step of determining said receiving user home co-browsing server, according to a system identity of said receiving user.
20. The method according to claim 16, further comprising the step of disconnecting said transmitting user from said receiving user home co-browsing server, after said step of transmitting said message from said transmitting user.
21 . In a communication system, the system including a plurality of network locations, a plurality of local co-browsing servers and a plurality of users, each of the users is associated with a selected one of the local co-browsing servers, thereby determining the selected local co-browsing server as a home co-browsing server, a method for virtually teleporting 01 requesting user to the current network location of a remote user, the method comprising the steps of: connecting said requesting user to the remote user home co-browsing server; receiving the current network location of said remote user from said remote user home co-browsing server; and connecting said requesting user to said remote user current network location.
22. The method according to claim 21 , further comprising a preliminary step of determining said remote user home co-browsing server.
23. The method according to claim 21 , further comprising the step of authorizing a request from said requesting user, before said step of receiving.
24. The method according to claim 21 , further comprising the step of connecting said requesting user with a local co-browsing server, associated with said current network location.
25. In a communication system, the system including a plurality of network locations, a plurality of local co-browsing servers, a global co-browsing server and a plurality of users, each of the users is associated with a selected one of the local co-browsing servers, thereby determining the selected local co-browsing server as a home co-browsing server, a method for managing virtual group travel between different network locations, the method comprising the steps of: associating a group of said users on a selected one of said local co-browsing servers and said global co-browsing server; receiving a new network location from one of said group users; providing said new network location to the rest of the users in said group; connecting said group users to said new network location; determining the co-browsing server, associated with said new network location; and determining the status of said group of users on said co-browsing server of said new network location.
26. The method according to claim 25, further comprising the step of connecting said group users to said co-browsing server associated with said new network location, when said co-browsing server associated with said new network location is not identical to said selected one of said local co-browsing servers and said global co-browsing server.
27. The method according to claim 25, further comprising the step of terminating said group, when less than two users are present in group mode on said co-browsing server associated with said new network location.
28. In a communication system, the system including a plurality of network locations, a plurality of local co-browsing servers and a plurality of users, a method for associating a selected one of said network locations with a selected one of said local co-browsing servers, the method comprising the step of: determining a string, according to an identification of said selected network location and a predetermined expression; and determining a co-browsing server identification for said selected local co-browsing server, according to said determined string.
29. The method according to claim 28, further comprising the step of producing a user identification for each said users, associated with said selected local co-browsing server.
30. The method according to claim 29, wherein said user identification is determined according to said co-browsing server identification and a user persona identification.
31. Distributed server system according to any of the claims 1-10 substantially as described herein above.
32. Distributed server system according to any of the claims 1-10 substantially as illustrated in any of the drawings.
33. A method according to any of the claims 11-15 substantially as described herein above.
34. A method according to any of the claims 11-15 substantially as illustrated in any of the drawings.
35. A method according to any of the claims 16-20 substantially as described herein above.
36. A method according to any of the claims 16-20 substantially as illustrated in any of the drawings.
37. A method according to any of the claims 21-24 substantially as described herein above.
38. A method according to any of the claims 21-24 substantially as illustrated in any of the drawings.
39. A method according to any of the claims 25-27 substantially as described herein above.
40. A method according to any of the claims 25-27 substantially as illustrated in any of the drawings.
41. A method according to any of the claims 28-30 substantially as described herein above.
42. A method according to any of the claims 28-30 substantially as illustrated in any of the drawings.
PCT/IL2000/000803 1999-12-02 2000-11-29 Communication system WO2001040957A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU17285/01A AU1728501A (en) 1999-12-02 2000-11-29 Communication system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US45374099A 1999-12-02 1999-12-02
US09/453,740 1999-12-02

Publications (1)

Publication Number Publication Date
WO2001040957A1 true WO2001040957A1 (en) 2001-06-07

Family

ID=23801874

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2000/000803 WO2001040957A1 (en) 1999-12-02 2000-11-29 Communication system

Country Status (2)

Country Link
AU (1) AU1728501A (en)
WO (1) WO2001040957A1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004046875A2 (en) * 2002-11-18 2004-06-03 America Online, Inc. Dynamic identification of other users to an online user
US8255950B1 (en) 2004-10-28 2012-08-28 Aol Inc. Dynamic identification of other viewers of a television program to an online viewer
US8775538B2 (en) 2003-09-05 2014-07-08 Facebook, Inc. Methods for capturing electronic messages based on capture rules relating to online contexts of users
US8874672B2 (en) 2003-03-26 2014-10-28 Facebook, Inc. Identifying and using identities deemed to be known to a user
US8954534B2 (en) 2002-11-18 2015-02-10 Facebook, Inc. Host-based intelligent results related to a character stream
US8965964B1 (en) 2002-11-18 2015-02-24 Facebook, Inc. Managing forwarded electronic messages
US9203647B2 (en) 2002-11-18 2015-12-01 Facebook, Inc. Dynamic online and geographic location of a user
US9203879B2 (en) 2000-03-17 2015-12-01 Facebook, Inc. Offline alerts mechanism
US9203794B2 (en) 2002-11-18 2015-12-01 Facebook, Inc. Systems and methods for reconfiguring electronic messages
US9246975B2 (en) 2000-03-17 2016-01-26 Facebook, Inc. State change alerts mechanism
US9319356B2 (en) 2002-11-18 2016-04-19 Facebook, Inc. Message delivery control settings
US9647872B2 (en) 2002-11-18 2017-05-09 Facebook, Inc. Dynamic identification of other users to an online user
US9667585B2 (en) 2002-11-18 2017-05-30 Facebook, Inc. Central people lists accessible by multiple applications
US10187334B2 (en) 2003-11-26 2019-01-22 Facebook, Inc. User-defined electronic message preferences

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974446A (en) * 1996-10-24 1999-10-26 Academy Of Applied Science Internet based distance learning system for communicating between server and clients wherein clients communicate with each other or with teacher using different communication techniques via common user interface
US6122658A (en) * 1997-07-03 2000-09-19 Microsoft Corporation Custom localized information in a networked server for display to an end user
US6181689B1 (en) * 1996-10-23 2001-01-30 Ncr Corporation Bi-directional information exchange mechanism for collaborative network navigation among a group of user terminals

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6181689B1 (en) * 1996-10-23 2001-01-30 Ncr Corporation Bi-directional information exchange mechanism for collaborative network navigation among a group of user terminals
US5974446A (en) * 1996-10-24 1999-10-26 Academy Of Applied Science Internet based distance learning system for communicating between server and clients wherein clients communicate with each other or with teacher using different communication techniques via common user interface
US6122658A (en) * 1997-07-03 2000-09-19 Microsoft Corporation Custom localized information in a networked server for display to an end user

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9203879B2 (en) 2000-03-17 2015-12-01 Facebook, Inc. Offline alerts mechanism
US9736209B2 (en) 2000-03-17 2017-08-15 Facebook, Inc. State change alerts mechanism
US9246975B2 (en) 2000-03-17 2016-01-26 Facebook, Inc. State change alerts mechanism
US9313046B2 (en) 2002-11-18 2016-04-12 Facebook, Inc. Presenting dynamic location of a user
US8954530B2 (en) 2002-11-18 2015-02-10 Facebook, Inc. Intelligent results related to a character stream
US8954534B2 (en) 2002-11-18 2015-02-10 Facebook, Inc. Host-based intelligent results related to a character stream
US9356890B2 (en) 2002-11-18 2016-05-31 Facebook, Inc. Enhanced buddy list using mobile device identifiers
US8954531B2 (en) 2002-11-18 2015-02-10 Facebook, Inc. Intelligent messaging label results related to a character stream
US8965964B1 (en) 2002-11-18 2015-02-24 Facebook, Inc. Managing forwarded electronic messages
US9047364B2 (en) 2002-11-18 2015-06-02 Facebook, Inc. Intelligent client capability-based results related to a character stream
US9053175B2 (en) 2002-11-18 2015-06-09 Facebook, Inc. Intelligent results using a spelling correction agent
US9053173B2 (en) 2002-11-18 2015-06-09 Facebook, Inc. Intelligent results related to a portion of a search query
US9053174B2 (en) 2002-11-18 2015-06-09 Facebook, Inc. Intelligent vendor results related to a character stream
US10778635B2 (en) 2002-11-18 2020-09-15 Facebook, Inc. People lists
US9075867B2 (en) 2002-11-18 2015-07-07 Facebook, Inc. Intelligent results using an assistant
US9075868B2 (en) 2002-11-18 2015-07-07 Facebook, Inc. Intelligent results based on database queries
US9171064B2 (en) 2002-11-18 2015-10-27 Facebook, Inc. Intelligent community based results related to a character stream
US9203647B2 (en) 2002-11-18 2015-12-01 Facebook, Inc. Dynamic online and geographic location of a user
US9515977B2 (en) 2002-11-18 2016-12-06 Facebook, Inc. Time based electronic message delivery
US9203794B2 (en) 2002-11-18 2015-12-01 Facebook, Inc. Systems and methods for reconfiguring electronic messages
US9319356B2 (en) 2002-11-18 2016-04-19 Facebook, Inc. Message delivery control settings
US9253136B2 (en) 2002-11-18 2016-02-02 Facebook, Inc. Electronic message delivery based on presence information
WO2004046875A2 (en) * 2002-11-18 2004-06-03 America Online, Inc. Dynamic identification of other users to an online user
US10389661B2 (en) 2002-11-18 2019-08-20 Facebook, Inc. Managing electronic messages sent to mobile devices associated with electronic messaging accounts
US10033669B2 (en) 2002-11-18 2018-07-24 Facebook, Inc. Managing electronic messages sent to reply telephone numbers
US9894018B2 (en) 2002-11-18 2018-02-13 Facebook, Inc. Electronic messaging using reply telephone numbers
US9852126B2 (en) 2002-11-18 2017-12-26 Facebook, Inc. Host-based intelligent results related to a character stream
US9774560B2 (en) 2002-11-18 2017-09-26 Facebook, Inc. People lists
US9560000B2 (en) 2002-11-18 2017-01-31 Facebook, Inc. Reconfiguring an electronic message to effect an enhanced notification
US9571440B2 (en) 2002-11-18 2017-02-14 Facebook, Inc. Notification archive
US9571439B2 (en) 2002-11-18 2017-02-14 Facebook, Inc. Systems and methods for notification delivery
US9621376B2 (en) 2002-11-18 2017-04-11 Facebook, Inc. Dynamic location of a subordinate user
US9647872B2 (en) 2002-11-18 2017-05-09 Facebook, Inc. Dynamic identification of other users to an online user
US9667585B2 (en) 2002-11-18 2017-05-30 Facebook, Inc. Central people lists accessible by multiple applications
US9729489B2 (en) 2002-11-18 2017-08-08 Facebook, Inc. Systems and methods for notification management and delivery
US9769104B2 (en) 2002-11-18 2017-09-19 Facebook, Inc. Methods and system for delivering multiple notifications
WO2004046875A3 (en) * 2002-11-18 2004-09-02 America Online Inc Dynamic identification of other users to an online user
US9736255B2 (en) 2003-03-26 2017-08-15 Facebook, Inc. Methods of providing access to messages based on degrees of separation
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
US8874672B2 (en) 2003-03-26 2014-10-28 Facebook, Inc. Identifying and using identities deemed to be known to a user
US8775538B2 (en) 2003-09-05 2014-07-08 Facebook, Inc. Methods for capturing electronic messages based on capture rules relating to online contexts of users
US10102504B2 (en) 2003-09-05 2018-10-16 Facebook, Inc. Methods for controlling display of electronic messages captured based on community rankings
US9070118B2 (en) 2003-09-05 2015-06-30 Facebook, Inc. Methods for capturing electronic messages based on capture rules relating to user actions regarding received electronic messages
US10187334B2 (en) 2003-11-26 2019-01-22 Facebook, Inc. User-defined electronic message preferences
US8255950B1 (en) 2004-10-28 2012-08-28 Aol Inc. Dynamic identification of other viewers of a television program to an online viewer

Also Published As

Publication number Publication date
AU1728501A (en) 2001-06-12

Similar Documents

Publication Publication Date Title
US6732145B1 (en) Collaborative browsing of the internet
EP0944004B1 (en) IRC name translation protocol
US8667081B2 (en) Networked computer system for communicating and operating in a virtual reality environment
US6466969B1 (en) Notification subsystem
JP4263260B2 (en) Server system
EP0944002A1 (en) User profile substystem
WO2001040957A1 (en) Communication system
TW494310B (en) Communication system and its server equipment, communication method and stored program of computer readable recording media
US20050033656A1 (en) Collaboration system suitable for on-line shopping
JP2001503893A (en) A system that integrates the online service community with external services
US20040225716A1 (en) Methods and systems for allowing a group of users to interactively tour a computer network
CA2415025A1 (en) Global communication method system
CN103078788B (en) A kind of information interacting method based on application and system
US20040208195A1 (en) Apparatus and method for connecting separate networks
JP2004272903A (en) Method and system for dynamically finding network destination
JP2002033773A (en) Web on-demand system
JP2003533099A (en) Camera network management system
JP2002041522A (en) Personal information disclosure system and electronic mail distribution system
JPH11112552A (en) Method and system for assisting generation and activity of electronic community supporting and storage medium storing assisting program for generation and activity of electronic community
JP3242582B2 (en) Data transmission method and data transmission system
JP2001156829A (en) Destination control system for mailing list
AU737604B2 (en) A method for making a hypermedium interactive
KR20050039364A (en) System and method for providing chatting service
JP2001282750A (en) Information acquiring system
JP2002123440A (en) Method and device for controlling access

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

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

Ref country code: JP