WO2009010958A2 - A system and method for providing asynchronous instant messaging over http - Google Patents

A system and method for providing asynchronous instant messaging over http Download PDF

Info

Publication number
WO2009010958A2
WO2009010958A2 PCT/IL2008/000958 IL2008000958W WO2009010958A2 WO 2009010958 A2 WO2009010958 A2 WO 2009010958A2 IL 2008000958 W IL2008000958 W IL 2008000958W WO 2009010958 A2 WO2009010958 A2 WO 2009010958A2
Authority
WO
WIPO (PCT)
Prior art keywords
chat group
user
group session
cache server
browser
Prior art date
Application number
PCT/IL2008/000958
Other languages
French (fr)
Other versions
WO2009010958A3 (en
Inventor
Uri Bechar
Original Assignee
Snooggie Ltd.
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
Priority claimed from IL192234A external-priority patent/IL192234A0/en
Application filed by Snooggie Ltd. filed Critical Snooggie Ltd.
Publication of WO2009010958A2 publication Critical patent/WO2009010958A2/en
Publication of WO2009010958A3 publication Critical patent/WO2009010958A3/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/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/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/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1818Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties

Definitions

  • the present invention relates to the field of Internet based instant messaging. More particularly the invention relates to system and method for handling instant messaging sessions over HTTP.
  • Instant messaging over the Internet has become a popular method of communication. It allows the users to communicate by exchanging information such as text, images, Internet links etc., in a dialog style manner. The speed of this method of communication is relatively high.
  • Instant messaging applications are explicit and do not use an Internet browser as their GUI. This requires that the instant messaging application will be installed on a user's personal computer. This limits the user to use the application only on the computer on which it is installed. Also, the installed application occupies computer storage space on the user's personal computer and further more, such instant messaging software use peer — to —peer technologies which is required to open a direct socket from one client to the other (i.e., so called "push technology"). This usually makes the user's PC more vulnerable.
  • the user installs two or more instant messaging applications on his personal computer occupying even more space with a greater risk. This is done in order to be able to communicate with several partners, because the various people that the user wishes to communicate with use different instant messaging applications. All parties that wish to communicate with each other must have the same type of instant messaging applications installed on their computers. Furthermore, all parties have to go through a process of mutual requests and permissions in order to communicate.
  • US 2006/0026237 discloses a computer program code for providing instant message service.
  • Each instant message user has an HTTP URL as its unique identification.
  • the sender wants to chat with the receiver, he just has to enter the receiver's URL for Instant Message in any Internet browser like surfing a website using any Internet access device. If the receiver is online, then they can chat with each other. Both parties do not have to download and install any instant messaging client software on their computers and not necessarily have to know which instant message software the receiver is using. If the receiver is offline, then the sender can leave a message for the receiver.
  • each instant message user needs a HTTP URL as its unique identification, i.e., each user is required to be a registered user and to login, in order to be able to communicate with other users. Therefore, it is an object of the present invention to provide a system for allowing user to communicate with others, without the need for the user's registration.
  • the present invention relates to a system and method for providing an asynchronous chat group session over http, which comprises: a) providing at least one cache server for running at least one chat group session; b) generating a chat group session using an interactive web application, by a user, via a browser; c) assigning said chat group session with a unique URL address link; and activating the Chat group session by allowing, any user, to submit said URL address link in a browser, wherein each of the active chat group session is running in one of the cache servers.
  • the user interacts with a web server which interacts with the cache server.
  • generating the Chat group session comprises the steps of: a) entering a website running the interactive web application; b) providing, via said website, information required for creating said chat group; and c) storing said provided information in a database;
  • the present invention further comprises a cache server router for directing, a user submitting, in a browser, the URL address link of a specific chat group session, in order to participate in said specific chat group session, to the cache server in which said specific chat group session is running on.
  • the cache server router is used for handling a plurality of request for activating chat group sessions, by directing each request to a currently available cache server.
  • the use of the cache server router is optional and it used, preferably, but limitativly, if more than one cache server is used.
  • submitting the unique URL address link in a browser allows any anonymous user to participate in a chat group associate with said submitted unique URL address link.
  • the user generating a chat group is the administrator of the generated chat group.
  • the administrator has privilege over the rest of the users currently participating in the chat group session, the ability to see all of the current chatters (i.e., all the user currently participating in the chat) in the chatter list while each chatter (except the admin) can see only the admin (this feature enables the chatters to only interact with the admin while the admin may interact with all), the ability to create a password protected chat group, etc.
  • the present invention further comprises embedding the unique URL address link within external application, such as email, email template, instant messaging applications, blogs, mobile devices, etc.
  • FIG. 1 schematically illustrates the currently active contacts of a chat group session, according to one preferred embodiment of the invention
  • FIG. 1 schematically illustrates the message pane of the chat group session of Fig. 1;
  • - fig. 3 is a block diagram schematically illustrates the system for providing asynchronous instant messaging over http, according to one preferred embodiment of the invention.
  • FIG. 4 schematically illustrates a basic sequence diagram of the system, according to one preferred embodiment of the invention.
  • the present invention consists of a method and system, which performs instant messaging over HTTP in an asynchronous manner, allowing users to send and receive message data via an Internet browser.
  • asynchronous manner defines a unidirectional connection, for example, when a chatter sends another chatter a message, the message is not pushed to the chatter, but waits for the chatter to call the server and pulls the message, so the only connection direction is from client to server.
  • a web browser is a software application which enables a user to display and interact with text, images, videos, music and other information typically located on a Web page at a website on the World Wide Web or a local area network, as well known to a person skilled in the art.
  • the present invention does not act only as an Internet browser GUI layer for existing instant messaging software, but handles the entire process of instant messaging via the proposed server system.
  • the system comprises a web server, a database, one or more cache servers and a cache server router, as will be explained herein.
  • a computer system suitable for running internet browsers is required, such as common Personal Computer (PC), a laptop, a handheld device, etc.
  • PC Personal Computer
  • the user is required to submit relevant data to the system (i.e., via a browser) by using common input means of a PC, such as a keyboard, etc.
  • a new chat group (i.e., a new instant messaging session) can be generated by any user by submitting necessary data to the server, preferably, via a corresponding website related to the server.
  • Each new generated chat group is assigned with a unique URL address link (i.e., a web address is created for each chat group).
  • the new chat group is opened wherein anyone who wants can enter this generated chat group session by entering the assigned unique URL address link.
  • the chat group is actually a website, preferably, but not limitatively, in the form of a contact list in the browser that has a similar shape and look of existing instant messaging applications (as shown in Fig. 1).
  • a user that wants to enter an existing chat group session does not have to pass any registration process at all.
  • the user can enter the chat group session either by just clicking the unique URL address link assigned to the chat group, by typing the URL address link in the browser, or by the website submitting the name given to the chat group (preferably, the name is given when generating a new chat group). Any of these entering actions redirects the user (via an internet browser) to the web address of the chat group.
  • the user is given a possibility to enter the chat group with a preferred nickname but does not have to, and if he chooses not to, he can enter anonymously and will be given a recognizing name such as guest 2, guest 3 etc.
  • a list (10) containing the currently online active contacts in the chat group session appears, as shown in Fig. 1. For example, as illustrated, there are currently 4 contacts in the session.
  • the list (10) displays all currently online contacts excluding the user himself. A click on a certain contact will display the massages pane between the user and the contact, as illustrated in Fig 2.
  • the message pane allows sending and receiving messages. The user inserts data such as text, into the designated area and views the whole conversation (incoming messages and outgoing messages) in the message display area (20).
  • a user For example, a user generates a chat group designated for his classmates. The user then sends the URL link of the chat group session to his classmates (by e-mail for instance). Then his classmates can enter the chat group session, and chat with whom they ever choose. It would be recommended in this case to enter with a name, such that the classmate Mends can recognize each user.
  • the program running the system proposed by the present invention uses AJAX (Asynchronous JavaScript and XML), which is a web development technique for creating interactive web applications, as known to a person skilled in the art.
  • AJAX Asynchronous JavaScript and XML
  • the client program of the invention uses AJAX to get the current state of online contacts in a predefined interval.
  • the client program uses AJAX to check if there are any messages waiting for the user at a predefined time interval, by checking with the system's web server every few seconds (e.g., 5 seconds, 10 seconds etc). Preferably, this time interval is configurable on the system's web server. If there are messages waiting for the user in the system's server, these will be sent to the client program. The client program will display the message in a designated GUI. The user can send messages to any of the currently online contacts, displayed in the contact list.
  • the system comprises client HTML pages and JavaScript, which are loaded to the user's browser. These pages invoke the system's server components using AJAX at predefined interval to set the client's current state. This state includes the currently online contacts and the retrieving of currently waiting messages for the user at the server.
  • a web server handles requests from the client program. Most of these requests are done using AJAX on the client side (i.e., on the browser of the user), once a user enters the system (i.e., joined a chat group), a session is created for the user and the user is given a random identifier. This will identify the user throughout the participation of the user in the chat group session.
  • the server sends the client program, on its request, the information of the currently online contacts of that Chat group. According to one preferred embodiment of the invention, this information also includes the contacts identifier. This identifier is used by the system for caching messaging for the contact, these messages wait for the contact's request in the system's cache server.
  • the cache server contains cleanup threads, which check for idle activity. This indicates whether a contact has gone offline. This will trigger the system to remove the contact from the list and discard of messages if there are messages awaiting that contact. Preferably, if the user has gone offline in a middle of a conversation, the user which remains online will receive a message indicating that the other user has gone offline.
  • the cache server router is optional and its purpose is to act as a load balancer between the multiple cache servers.
  • the cache server holds a data model of all the Chat- groups that are currently active.
  • the data model is comprised of the currently active user's data of each active Chat group and the message information for each user.
  • the cache server marshals this data model to an XML protocol. This protocol is returned to the web server, which sends it over HTTP response to the client.
  • the client parses the XML protocol containing the data and uses a JavaScript to manipulate the HTML page's Document Object Model (DOM- a programming interface specification that lets a programmer create and modify HTML pages and XML documents as full-fledged program objects).
  • DOM- a programming interface specification that lets a programmer create and modify HTML pages and XML documents as full-fledged program objects.
  • New messages add elements to the incoming and outgoing messages pane.
  • Contact list information displays the contacts currently online.
  • the system uses a registration module (which is a web server) in order for the user, which created the Chat group, to set different properties of the Chat group.
  • properties include properties like an identifier of the Chat group, GUI related properties, username, password, language, the option for the creator of the chat group to see all the contacts (i.e., chatters currently participating in the chat group), while each contact can see only the creator), etc.
  • the creator of the chat group may be the administrator of the chat group.
  • the system uses a database to store a Chat group's properties and statistic information, such as Chat group creation time, contacts logins, duration of active contacts and other statistic information regarding the users, such as IP address and browser information.
  • a Chat group's properties and statistic information such as Chat group creation time, contacts logins, duration of active contacts and other statistic information regarding the users, such as IP address and browser information.
  • the system comprises the following components, as illustrated in Fig.3.
  • AJAX based client displayed to the user via a browser (31).
  • the system may comprise one or more cache servers.
  • a user registration/configuration module (35).
  • a user wants to open a new chat group, he submits a request for generating a new chat group via a website represented via browser (31).
  • a dedicated web page for registration is then opened, through the registration module server (35), and the user submits necessary data for registration for example the chat group name, field of interest etc.
  • the new chat group is opened and its definitions are stored in the database (34).
  • a URL to the chat server is created and displayed to the user, and optionally it is sent to the user's email.
  • chat group After the chat group is created, a user can enter a chat group session by submitting the chat group link in a web browser, or by submitting the requested chat group's identifier string to the system's browser (31).
  • the system works in such a manner that when the http request for entering an existing registered Chat group session is sent by the user to the web server, it checks in the system's database if the chat group currently exists. If it does exist, the database returns a corresponding notification to the web server. The web server then checks with the cache server router if the chat group has been opened and is currently active.
  • the cache server router will inform the web server from which cache server this specific Chat group is currently working (i.e., running from). The cache server router will also inform the web server about the address of the cache server, from which the Chat group session is working. If the chat group is not active, the cache server router will open and activate this Chat group and decide from which available cache server the Chat group will work and will also return the address of the cache server to the web server.
  • the web server and the cache server can communicate via any suitable communication protocol, for example, the web can communicate via RMI (Remote Method Invocation) communication protocol.
  • the web server will send the cache server router an indication that the Chat group session has gone offline, thus the cache server router will remove the Chat group session from the cache server from which the chat group session has been working.
  • Fig. 4 schematically illustrates a basic sequence diagram of the system, according to one preferred embodiment of the invention.
  • This sequence diagram displays the logical core activities and data flow between the different components of the system on a time scale (40).
  • the sequence diagram starts whenever someone (i.e., any user or any unregistered user) wants to participate in a specific Chat group session.
  • a user is required activate the Chat group (41).
  • Activating the Chat group is done via browser (31), by submitting the unique URL address link of the Chat group, or by entering the name of the Chat group in a corresponding website.
  • the user interacts with web server (32) which interacts with the cache server (33).
  • the logical core activities include activation of a specific Chat group (41), checking whether such a specific Chat group exist (42a) in database (34) (i.e., checking whether it was already created), if exist (42b), registering (43) the user in this specific Chat group, wherein each currently active chat group session is running in one of the cache servers (33).
  • Steps (47, 48) show a message is sent from the user to the other user participating in the Chat group.
  • the steps of checking messages (46a-46d and 47-48) are continuing until the user is log off from the Chat group.
  • the sequence diagram shows the activation of the chat group (41) through the browser (31).
  • the request reaches the web server (32) which checks with the database (34) if the chat group exists and if so, in which cache server is it operating in. Then the web server (32) registers the user (43) in the chat group by submitting the relevant data to the cache server (33), on which the chat group is currently running.
  • the cache server (33) provides the web server (32) with information regarding the currently online contacts.
  • the web server (32) provides the browser (31) of this information and the browser (41) shows all the online contacts.
  • Requesting awaiting messages (46a) is done such that the user submits the request via browser (31) which forwards the data to the web server (32).
  • Web server (32) checks for messages with the cache server (33) on which the chat group is currently running.
  • Cache server (43) provides the web server (32) with information regarding the awaiting messages and the web server (32) also supplies the browser (31) of this information for displaying it to the user.
  • Sending messages (47) is done such that the user submits the outgoing message via browser (31) which forwards the data to web server (32).
  • Web server (32) forwards the messages to the cache server (33) on which the Chat group is currently running.
  • Cache server (33) provides the web server (32) with the outgoing message, and web server (32) provides the recipient's browser (31) of this information and the recipient's browser (31) shows its received message.
  • the person who opens or create a new Chat group herein referred to as the "administrator" of the chat group, has the capability to filter certain users out of the chat group, as he deems appropriate.
  • the administrator's browser comprises an additional toolbar with capabilities of submitting commands to notify the web server to remove any user he deems appropriate from the Chat group session.
  • the administrator has the capability to arrange the Chat group in a way such that each user will be required to submit a password, before entering a Chat group session. This is very useful for opening a private chat group, wherein only the members of the private chat group can actually enter the chat group session after submitting the password known only to the members. While some embodiments of the invention have been described by way of illustration, it will be apparent that the invention can be carried out with many modifications, variations and adaptations, and with the use of numerous equivalents or alternative solutions that are within the scope of persons skilled in the art, without departing from the spirit of the invention or exceeding the scope of the claims.

Abstract

Method and system for providing an asynchronous chat group session over http, according to which a cache server (33) is used for running a chat group session that is generated by a user and via a browser (31). A unique URL address link is assigned to the chat group session and the chat group session is activated by allowing any user, to submit the URL address link in a browser (41), such that each of the active chat group session is running in one of the cache server (33). The chat group session is generated by entering to a website running the interactive web application, providing information required for creating the chat group via the website and storing the provided information in a database (34).

Description

A SYSTEM AND METHOD FOR PROVIDING ASYNCHRONOUS INSTANT MESSAGING OVER HTTP
Field of Invention
The present invention relates to the field of Internet based instant messaging. More particularly the invention relates to system and method for handling instant messaging sessions over HTTP.
Background of the Invention
Instant messaging over the Internet has become a popular method of communication. It allows the users to communicate by exchanging information such as text, images, Internet links etc., in a dialog style manner. The speed of this method of communication is relatively high.
Instant messaging applications are explicit and do not use an Internet browser as their GUI. This requires that the instant messaging application will be installed on a user's personal computer. This limits the user to use the application only on the computer on which it is installed. Also, the installed application occupies computer storage space on the user's personal computer and further more, such instant messaging software use peer — to —peer technologies which is required to open a direct socket from one client to the other (i.e., so called "push technology"). This usually makes the user's PC more vulnerable.
In many cases, the user installs two or more instant messaging applications on his personal computer occupying even more space with a greater risk. This is done in order to be able to communicate with several partners, because the various people that the user wishes to communicate with use different instant messaging applications. All parties that wish to communicate with each other must have the same type of instant messaging applications installed on their computers. Furthermore, all parties have to go through a process of mutual requests and permissions in order to communicate.
Some solutions for these problems mentioned herein have been provided by using instant messaging software programs through the internet. Instant messaging software programs which are available today on the internet require registration. The registration process includes submitting personal data, such as an email address. In addition, some instant messaging software programs on the internet require that the users add or remove people from their contact lists. Communicating with people with whom the users only want a one time contact, or a temporary contact, requires unnecessary efforts of adding and removing people from the user's personal contact list.
US 2006/0026237 discloses a computer program code for providing instant message service. Each instant message user has an HTTP URL as its unique identification. When the sender wants to chat with the receiver, he just has to enter the receiver's URL for Instant Message in any Internet browser like surfing a website using any Internet access device. If the receiver is online, then they can chat with each other. Both parties do not have to download and install any instant messaging client software on their computers and not necessarily have to know which instant message software the receiver is using. If the receiver is offline, then the sender can leave a message for the receiver. However, in order to communicate with other users, each instant message user needs a HTTP URL as its unique identification, i.e., each user is required to be a registered user and to login, in order to be able to communicate with other users. Therefore, it is an object of the present invention to provide a system for allowing user to communicate with others, without the need for the user's registration.
It is another object of the present invention to provide a system for allowing a user to change identities whenever he wants.
It is a further object of the present invention to provide an instant messaging system which does not require any unique identifier for a user, thereby allowing the user to be anonymous.
It is still another object of the present invention to provide means for instant messaging without the need of downloading instant messaging applications.
It is yet another object of the present invention to provide an instant messaging system which does not use push technology in order to communicate between users.
Other objects and advantages of the invention will become apparent as the description proceeds.
Summary of the Invention
The present invention relates to a system and method for providing an asynchronous chat group session over http, which comprises: a) providing at least one cache server for running at least one chat group session; b) generating a chat group session using an interactive web application, by a user, via a browser; c) assigning said chat group session with a unique URL address link; and activating the Chat group session by allowing, any user, to submit said URL address link in a browser, wherein each of the active chat group session is running in one of the cache servers. Preferably, the user interacts with a web server which interacts with the cache server.
According to one embodiment of the invention, generating the Chat group session comprises the steps of: a) entering a website running the interactive web application; b) providing, via said website, information required for creating said chat group; and c) storing said provided information in a database;
Preferably, the present invention further comprises a cache server router for directing, a user submitting, in a browser, the URL address link of a specific chat group session, in order to participate in said specific chat group session, to the cache server in which said specific chat group session is running on. Additionally, the cache server router is used for handling a plurality of request for activating chat group sessions, by directing each request to a currently available cache server. The use of the cache server router is optional and it used, preferably, but limitativly, if more than one cache server is used.
According to an embodiment of the invention, submitting the unique URL address link in a browser allows any anonymous user to participate in a chat group associate with said submitted unique URL address link.
Preferably, the user generating a chat group is the administrator of the generated chat group. Preferably, but not limitatively, the administrator has privilege over the rest of the users currently participating in the chat group session, the ability to see all of the current chatters (i.e., all the user currently participating in the chat) in the chatter list while each chatter (except the admin) can see only the admin (this feature enables the chatters to only interact with the admin while the admin may interact with all), the ability to create a password protected chat group, etc.
According to another embodiment, the present invention further comprises embedding the unique URL address link within external application, such as email, email template, instant messaging applications, blogs, mobile devices, etc.
Brief Description of the drawings:
- Fig. 1 schematically illustrates the currently active contacts of a chat group session, according to one preferred embodiment of the invention;
- Fig. 2 schematically illustrates the message pane of the chat group session of Fig. 1;
- fig. 3 is a block diagram schematically illustrates the system for providing asynchronous instant messaging over http, according to one preferred embodiment of the invention; and
- Fig. 4 schematically illustrates a basic sequence diagram of the system, according to one preferred embodiment of the invention.
Detailed Description of the Invention
In the following detailed description, numerous specific details are presented in order to provide a thorough understanding of the invention. However, it will be understood by those knowledgeable in the field that the present invention may be practiced without these specific details. In some instances, well-known methods, procedures, components and circuits have not been described in detail, for the sake of brevity.
The present invention consists of a method and system, which performs instant messaging over HTTP in an asynchronous manner, allowing users to send and receive message data via an Internet browser. The term "asynchronous manner" defines a unidirectional connection, for example, when a chatter sends another chatter a message, the message is not pushed to the chatter, but waits for the chatter to call the server and pulls the message, so the only connection direction is from client to server.
A web browser is a software application which enables a user to display and interact with text, images, videos, music and other information typically located on a Web page at a website on the World Wide Web or a local area network, as well known to a person skilled in the art.
The present invention does not act only as an Internet browser GUI layer for existing instant messaging software, but handles the entire process of instant messaging via the proposed server system.
The system comprises a web server, a database, one or more cache servers and a cache server router, as will be explained herein. Of course, in order to be able to use the instant messaging system of the invention, a computer system suitable for running internet browsers is required, such as common Personal Computer (PC), a laptop, a handheld device, etc. In order to manage, operate, and/or participate in . an instant messaging session, the user is required to submit relevant data to the system (i.e., via a browser) by using common input means of a PC, such as a keyboard, etc.
Using the system comprises a number of steps. A new chat group (i.e., a new instant messaging session) can be generated by any user by submitting necessary data to the server, preferably, via a corresponding website related to the server. Each new generated chat group is assigned with a unique URL address link (i.e., a web address is created for each chat group). Afterwards, the new chat group is opened wherein anyone who wants can enter this generated chat group session by entering the assigned unique URL address link.
The chat group is actually a website, preferably, but not limitatively, in the form of a contact list in the browser that has a similar shape and look of existing instant messaging applications (as shown in Fig. 1). A user that wants to enter an existing chat group session does not have to pass any registration process at all. The user can enter the chat group session either by just clicking the unique URL address link assigned to the chat group, by typing the URL address link in the browser, or by the website submitting the name given to the chat group (preferably, the name is given when generating a new chat group). Any of these entering actions redirects the user (via an internet browser) to the web address of the chat group. The user is given a possibility to enter the chat group with a preferred nickname but does not have to, and if he chooses not to, he can enter anonymously and will be given a recognizing name such as guest 2, guest 3 etc.
When entering a chat group session, a list (10) containing the currently online active contacts in the chat group session appears, as shown in Fig. 1. For example, as illustrated, there are currently 4 contacts in the session. The list (10) displays all currently online contacts excluding the user himself. A click on a certain contact will display the massages pane between the user and the contact, as illustrated in Fig 2. The message pane allows sending and receiving messages. The user inserts data such as text, into the designated area and views the whole conversation (incoming messages and outgoing messages) in the message display area (20).
For example, a user generates a chat group designated for his classmates. The user then sends the URL link of the chat group session to his classmates (by e-mail for instance). Then his classmates can enter the chat group session, and chat with whom they ever choose. It would be recommended in this case to enter with a name, such that the classmate Mends can recognize each user.
According to one preferred embodiment of the invention, the program running the system proposed by the present invention uses AJAX (Asynchronous JavaScript and XML), which is a web development technique for creating interactive web applications, as known to a person skilled in the art. For example, the client program of the invention uses AJAX to get the current state of online contacts in a predefined interval. The client program used to interact with the user browser, by displaying a relevant GUI to the user participating in a currently active chat group session.
According to one preferred embodiment of the invention, the client program uses AJAX to check if there are any messages waiting for the user at a predefined time interval, by checking with the system's web server every few seconds (e.g., 5 seconds, 10 seconds etc). Preferably, this time interval is configurable on the system's web server. If there are messages waiting for the user in the system's server, these will be sent to the client program. The client program will display the message in a designated GUI. The user can send messages to any of the currently online contacts, displayed in the contact list.
The system comprises client HTML pages and JavaScript, which are loaded to the user's browser. These pages invoke the system's server components using AJAX at predefined interval to set the client's current state. This state includes the currently online contacts and the retrieving of currently waiting messages for the user at the server. A web server handles requests from the client program. Most of these requests are done using AJAX on the client side (i.e., on the browser of the user), once a user enters the system (i.e., joined a chat group), a session is created for the user and the user is given a random identifier. This will identify the user throughout the participation of the user in the chat group session. The server sends the client program, on its request, the information of the currently online contacts of that Chat group. According to one preferred embodiment of the invention, this information also includes the contacts identifier. This identifier is used by the system for caching messaging for the contact, these messages wait for the contact's request in the system's cache server.
The cache server contains cleanup threads, which check for idle activity. This indicates whether a contact has gone offline. This will trigger the system to remove the contact from the list and discard of messages if there are messages awaiting that contact. Preferably, if the user has gone offline in a middle of a conversation, the user which remains online will receive a message indicating that the other user has gone offline.
In order to handle a large amount of traffic, the users who enter a Chat group of the instant messaging, will enter using the cache server router. The cache server router is optional and its purpose is to act as a load balancer between the multiple cache servers.
The cache server holds a data model of all the Chat- groups that are currently active. The data model is comprised of the currently active user's data of each active Chat group and the message information for each user. The cache server marshals this data model to an XML protocol. This protocol is returned to the web server, which sends it over HTTP response to the client.
The client parses the XML protocol containing the data and uses a JavaScript to manipulate the HTML page's Document Object Model (DOM- a programming interface specification that lets a programmer create and modify HTML pages and XML documents as full-fledged program objects). New messages add elements to the incoming and outgoing messages pane. Contact list information displays the contacts currently online.
The system uses a registration module (which is a web server) in order for the user, which created the Chat group, to set different properties of the Chat group. Such properties include properties like an identifier of the Chat group, GUI related properties, username, password, language, the option for the creator of the chat group to see all the contacts (i.e., chatters currently participating in the chat group), while each contact can see only the creator), etc. Preferably, the creator of the chat group may be the administrator of the chat group.
The system uses a database to store a Chat group's properties and statistic information, such as Chat group creation time, contacts logins, duration of active contacts and other statistic information regarding the users, such as IP address and browser information.
In a preferred embodiment, the system comprises the following components, as illustrated in Fig.3.
1. AJAX based client — displayed to the user via a browser (31).
2. A web server (32) for handling HTTP request — response. 3. A caching server (33) containing caching algorithm for caching message data and handling contacts. The system may comprise one or more cache servers.
4. A database (34) for storing configuration and swapped data.
5. A user registration/configuration module (35).
6. A cache server router module (36).
If a user wants to open a new chat group, he submits a request for generating a new chat group via a website represented via browser (31). A dedicated web page for registration is then opened, through the registration module server (35), and the user submits necessary data for registration for example the chat group name, field of interest etc. Afterwards, the new chat group is opened and its definitions are stored in the database (34). A URL to the chat server is created and displayed to the user, and optionally it is sent to the user's email.
As aforementioned hereinabove, after the chat group is created, a user can enter a chat group session by submitting the chat group link in a web browser, or by submitting the requested chat group's identifier string to the system's browser (31).
The system works in such a manner that when the http request for entering an existing registered Chat group session is sent by the user to the web server, it checks in the system's database if the chat group currently exists. If it does exist, the database returns a corresponding notification to the web server. The web server then checks with the cache server router if the chat group has been opened and is currently active.
If the chat group session has been opened and is currently active, the cache server router will inform the web server from which cache server this specific Chat group is currently working (i.e., running from). The cache server router will also inform the web server about the address of the cache server, from which the Chat group session is working. If the chat group is not active, the cache server router will open and activate this Chat group and decide from which available cache server the Chat group will work and will also return the address of the cache server to the web server. The web server and the cache server can communicate via any suitable communication protocol, for example, the web can communicate via RMI (Remote Method Invocation) communication protocol.
Once the Chat group is offline (when the final Chat group member goes offline or is disconnected) the web server will send the cache server router an indication that the Chat group session has gone offline, thus the cache server router will remove the Chat group session from the cache server from which the chat group session has been working.
Fig. 4 schematically illustrates a basic sequence diagram of the system, according to one preferred embodiment of the invention. This sequence diagram displays the logical core activities and data flow between the different components of the system on a time scale (40). The sequence diagram starts whenever someone (i.e., any user or any unregistered user) wants to participate in a specific Chat group session. In order to participate in such a Chat group, a user is required activate the Chat group (41). Activating the Chat group is done via browser (31), by submitting the unique URL address link of the Chat group, or by entering the name of the Chat group in a corresponding website. Preferably, the user interacts with web server (32) which interacts with the cache server (33). The logical core activities include activation of a specific Chat group (41), checking whether such a specific Chat group exist (42a) in database (34) (i.e., checking whether it was already created), if exist (42b), registering (43) the user in this specific Chat group, wherein each currently active chat group session is running in one of the cache servers (33).
After the registration, providing (44a, 44b) the currently online contacts (if not filtered or if exists) and displaying them (i.e., the currently active contacts) to the user via browser 31, and parsing the contact list data (45).
At the next step, requesting awaiting messages (46a, 46b) by client program via browser 31, and, in return, from cache server (33) sending messages (46c) and parsing them (46d) by client program via browser 31.
The following Steps (47, 48) show a message is sent from the user to the other user participating in the Chat group. The steps of checking messages (46a-46d and 47-48) are continuing until the user is log off from the Chat group.
The sequence diagram shows the activation of the chat group (41) through the browser (31). The request reaches the web server (32) which checks with the database (34) if the chat group exists and if so, in which cache server is it operating in. Then the web server (32) registers the user (43) in the chat group by submitting the relevant data to the cache server (33), on which the chat group is currently running. The cache server (33) provides the web server (32) with information regarding the currently online contacts. The web server (32) provides the browser (31) of this information and the browser (41) shows all the online contacts. Requesting awaiting messages (46a) is done such that the user submits the request via browser (31) which forwards the data to the web server (32). Web server (32) checks for messages with the cache server (33) on which the chat group is currently running. Cache server (43) provides the web server (32) with information regarding the awaiting messages and the web server (32) also supplies the browser (31) of this information for displaying it to the user.
Sending messages (47) is done such that the user submits the outgoing message via browser (31) which forwards the data to web server (32). Web server (32) forwards the messages to the cache server (33) on which the Chat group is currently running. Cache server (33) provides the web server (32) with the outgoing message, and web server (32) provides the recipient's browser (31) of this information and the recipient's browser (31) shows its received message.
In an embodiment of the present invention, the person who opens or create a new Chat group, herein referred to as the "administrator" of the chat group, has the capability to filter certain users out of the chat group, as he deems appropriate. The administrator's browser comprises an additional toolbar with capabilities of submitting commands to notify the web server to remove any user he deems appropriate from the Chat group session.
In another embodiment of the present invention, the administrator has the capability to arrange the Chat group in a way such that each user will be required to submit a password, before entering a Chat group session. This is very useful for opening a private chat group, wherein only the members of the private chat group can actually enter the chat group session after submitting the password known only to the members. While some embodiments of the invention have been described by way of illustration, it will be apparent that the invention can be carried out with many modifications, variations and adaptations, and with the use of numerous equivalents or alternative solutions that are within the scope of persons skilled in the art, without departing from the spirit of the invention or exceeding the scope of the claims.

Claims

1. A method for providing an asynchronous chat group session over http, comprising: a) providing at least one cache server for running at least one chat group session; b) generating, by a user and via a browser, a chat group session using an interactive web application,; c) assigning said chat group session with a unique URL address link; and d) activating said chat group session by allowing, any user, to submit said URL address link in a browser, wherein each of said active chat group session is running in one of said cache server.
2. A method according to claim 1, wherein generating the chat group session comprising the steps of: a) entering a website running the interactive web application; b) providing, via said website, information required for creating said chat group; and c) storing said provided information in a database.
3. A method according to claim 1, further comprising using a cache server router for directing the URL address link of a specific chat group session submitted by a user via a browser, in order to participate in said specific chat group session, to the cache server on which said specific chat group session is running.
4. A method according to claim 1, further comprising using a cache server router for handling a plurality of requests for activating chat group sessions, by directing each request to a currently available cache server.
5. A method according to claim 1, in which submitting the unique URL address link in a browser allows any anonymous user to participate in a chat group associate with the submitted unique URL address link.
6. A method according to claim 1, wherein the user generating a chat group is the administrator of said chat group.
7. A method according to claim 6, wherein the administrator has privilege over the rest of the users participating in the chat group session, has the ability not to display himself to the rest of the user while he sees them all, or the ability to create a password protected chat group.
8. A method according to claim 1, further comprising embedding the unique URL address link within an external application.
9. A method according to claim 8, wherein the external application consists of the group: email, email template, instant messaging applications, blogs, and hand held devices.
10. A system for providing an asynchronous chat group session over http, comprising: a) at least one cache server for running at least one chat group session; b) means for generating, by a user and via a browser, a chat group session using an interactive web application,; c) means for assigning said chat group session with a unique URL address link; and d) means for activating said chat group session by allowing any user, to submit said unique URL address link in a browser, wherein each active chat group session is running in one of said cache server.
11. A system according to claim 10, in which the means for generating the chat group session comprising: a) a browser for running a website representing the interactive web application; b) means for providing, via said browser, information required for creating said chat group; and c) a database for storing said provided information.
12. A system according to claim 10, further comprising a cache server router for directing, a user submitting, in a browser, the unique URL address link of a specific chat group session, in order to participate in said specific chat group session, to the cache server on which said specific chat group session is running.
13. A system according to claim 10, further comprising a cache server router for handling a plurality of request for activating chat group sessions, by directing each request to a currently available cache server.
14. A system according to claim 10, in which submitting the unique URL address link in a browser allows any anonymous user to participate in a chat group associate with said submitted unique URL address link.
15. A system according to claim 10, in which the user generating a chat group is the administrator of said generated chat group.
16. A system according to claim 15, in which the administrator has privilege over the rest of the users participating in the chat group session.
17. A system according to claim 10, further comprising means for embedding the unique URL address link within external application.
18. A system according to claim 17, in which the external application consisting the group of: email, email template, instant messaging applications, blogs, and hand held device.
PCT/IL2008/000958 2007-07-13 2008-07-10 A system and method for providing asynchronous instant messaging over http WO2009010958A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US95929507P 2007-07-13 2007-07-13
US60/959,295 2007-07-13
IL192234A IL192234A0 (en) 2007-07-13 2008-06-16 A system and method for providing asynchronous instant messaging over http
IL192234 2008-06-16

Publications (2)

Publication Number Publication Date
WO2009010958A2 true WO2009010958A2 (en) 2009-01-22
WO2009010958A3 WO2009010958A3 (en) 2009-07-09

Family

ID=40260177

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2008/000958 WO2009010958A2 (en) 2007-07-13 2008-07-10 A system and method for providing asynchronous instant messaging over http

Country Status (1)

Country Link
WO (1) WO2009010958A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011104260A3 (en) * 2010-02-26 2011-10-27 International Business Machines Corporation Short message processing method and apparatus
FR2983381A1 (en) * 2011-11-30 2013-05-31 France Telecom COMMUNICATION METHODS AND DEVICES FOR ASYNCHRONOUS AND PRIVATE EXCHANGE
WO2013165427A1 (en) 2012-05-03 2013-11-07 Sony Computer Entertainment Inc. Persistent party rooms
US9331858B2 (en) 2011-05-03 2016-05-03 Sony Computer Entertainment Inc. Persistent party rooms
CN113079028A (en) * 2020-01-03 2021-07-06 阿尔派株式会社 Electronic device and message notification control method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073511A (en) * 2000-08-25 2002-03-12 Nec Corp Conversable chat system
US20040107256A1 (en) * 2002-12-02 2004-06-03 Thomas Odenwald Collaboration integration
US20040128356A1 (en) * 2001-06-25 2004-07-01 Keith Bernstein Email integrated instant messaging

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073511A (en) * 2000-08-25 2002-03-12 Nec Corp Conversable chat system
US20040128356A1 (en) * 2001-06-25 2004-07-01 Keith Bernstein Email integrated instant messaging
US20040107256A1 (en) * 2002-12-02 2004-06-03 Thomas Odenwald Collaboration integration

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011104260A3 (en) * 2010-02-26 2011-10-27 International Business Machines Corporation Short message processing method and apparatus
US9331858B2 (en) 2011-05-03 2016-05-03 Sony Computer Entertainment Inc. Persistent party rooms
FR2983381A1 (en) * 2011-11-30 2013-05-31 France Telecom COMMUNICATION METHODS AND DEVICES FOR ASYNCHRONOUS AND PRIVATE EXCHANGE
EP2600592A1 (en) * 2011-11-30 2013-06-05 France Telecom Communication methods and devices enabling an asynchronous and private exchange
WO2013165427A1 (en) 2012-05-03 2013-11-07 Sony Computer Entertainment Inc. Persistent party rooms
CN103765405A (en) * 2012-05-03 2014-04-30 索尼电脑娱乐公司 Persistent party rooms
EP2724248A4 (en) * 2012-05-03 2015-08-19 Sony Computer Entertainment Inc Persistent party rooms
JP2015525380A (en) * 2012-05-03 2015-09-03 株式会社ソニー・コンピュータエンタテインメント Persistent party room
CN103765405B (en) * 2012-05-03 2017-05-17 索尼电脑娱乐公司 Persistent party rooms
CN113079028A (en) * 2020-01-03 2021-07-06 阿尔派株式会社 Electronic device and message notification control method
CN113079028B (en) * 2020-01-03 2023-11-17 阿尔派株式会社 Electronic device and message notification control method

Also Published As

Publication number Publication date
WO2009010958A3 (en) 2009-07-09

Similar Documents

Publication Publication Date Title
US10740277B2 (en) Method and system for embedded personalized communication
US9432376B2 (en) Method and system for determining and sharing a user's web presence
US9967224B2 (en) System and method for enabling real-time eventing
US8438223B2 (en) Aggregation system error handling
US20060045124A1 (en) Method and apparatus for providing access controls to communication services
CN104580364B (en) A kind of method and apparatus of resource sharing
JP2001503893A (en) A system that integrates the online service community with external services
JP2000066982A (en) Communicating method and communication network
US9137047B2 (en) Instant messaging system, component and method for additional service
US10860980B2 (en) Establishing a communication event
CN108200040A (en) Mobile client exempts from method, system, browser and the mobile terminal of close login
WO2009010958A2 (en) A system and method for providing asynchronous instant messaging over http
WO2008006115A2 (en) A method and system for embedded personalized communication
JP2006221490A (en) Information providing system and program
JP2003157240A (en) System and method for providing information, device and method for controlling access, device and method for providing contents, device and method for processing information, storage medium, and computer program

Legal Events

Date Code Title Description
NENP Non-entry into the national phase in:

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 07/05/2010)

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

Ref document number: 08763700

Country of ref document: EP

Kind code of ref document: A2

122 Ep: pct application non-entry in european phase

Ref document number: 08763700

Country of ref document: EP

Kind code of ref document: A2