TECHNISCHES GEBIETTECHNICAL AREA
Das
Gebiet der Erfindung bezieht sich allgemein auf Computersysteme
und insbesondere auf ein Verfahren und auf ein System für eingebettete personalisierte
Kommunikation.The
Field of the invention relates generally to computer systems
and in particular to a method and system for embedded personalized
Communication.
HINTERGRUNDBACKGROUND
Das
Instant Messaging (das ebenso wie die Instant Message manchmal mit
IM bezeichnet wird) ermöglicht
Anwendern, einfach zu sehen, ob ein ausgewählter Kamerad (z. B. ein Freund,
ein Kollege, ein Mitarbeiter oder dergleichen) mit dem Internet
verbunden ist und, wenn ja, mit diesem Nachrichten auszutauschen.
Das Instant Messaging unterscheidet sich von der gewöhnlichen
Email durch die Unmittelbarkeit des Nachrichtenaustausches. Typischerweise
sind IM-Austauschvorgänge
nur textbasiert. Einige Dienste (z. B. das AOL Instant Messaging)
ermöglichen jedoch
eine Sprachnachrichtenübermittlung und
eine gemeinsame Dateinutzung. Beim IM müssen beide Anwender an dem
Dienst teilnehmen (wobei sie z. B. eine bestimmte Software auf ihren
Anwendergeräten
haben), außerdem
müssen
sie gleichzeitig online sein. Weiterhin muss der gewünschte Empfänger Instant
Messages akzeptieren. Wenn jemand versucht, eine IM an jemand zu
schicken, der nicht online ist oder der eine Instant Message nicht
akzeptieren möchte,
wird typischerweise eine Meldung erzeugt, dass die Übertragung
nicht abgeschlossen werden kann. Falls die Online-Software des Empfängers so
eingestellt ist, dass Instant Messages akzeptiert werden, warnt
sie den Empfänger
typischerweise mit einem bestimmten Klang und zeigt ein Popup-Fenster
an, das angibt, dass eine IM angekommen ist, und den Empfänger in
die Lage versetzt, sie zu akzeptieren oder zurückzuweisen, oder zeigt ein
Popup-Fenster an, das die ankommende Nachricht enthält. Im Allgemeinen
kann das IM tatsächlich
oder virtuell instantan (z. B. mit Verzögerungen von gewöhnlich weniger
als einige Sekunden) sein, so dass es typischerweise für zwei Menschen möglich ist,
durch gegenseitiges Senden von IMs eine Online-"Konversation" in Echtzeit zu führen.The
Instant messaging (which as well as the instant message sometimes with
IM is designated) allows
Users, easy to see if a selected mate (eg a friend,
a coworker, a coworker or the like) with the InterNet
is connected and, if so, to exchange messages with this one.
Instant messaging is different from the ordinary one
Email through the immediacy of the message exchange. typically,
are IM exchanges
only text based. Some services (such as AOL Instant Messaging)
allow however
a voice messaging and
a common file usage. When IM both users on the
Participate in a service (such as running a specific software on their computer
user devices
have), as well
have to
they can be online at the same time. Furthermore, the desired recipient must be instant
Accept messages. When someone tries to get an IM to someone
who is not online or who does not have an instant message
would like to accept
Typically, a message is generated that the transmission
can not be completed. If the online software of the recipient so
is set to accept instant messages, warns
she the receiver
typically with a specific sound and displays a pop-up window
indicating that an IM has arrived and the recipient in
enables them to accept or reject them, or shows them
Popup window containing the incoming message. In general
can the IM actually
or virtually instantaneously (eg, with delays of usually less
than a few seconds), so that it is typically possible for two people
Send IMs online for a real-time online "conversation".
IM-Anwender
verwenden typischerweise einen vernetzten Computer und eine IM-Client-Software,
um Nachrichten miteinander im Konversationsstil auszutauschen. Ein
IM-Client bildet für
Anwender eine Schnittstelle, um Textnachrichten zu erstellen, zu
senden, zu empfangen und zu lesen. Beispiele von IM-Clients, die
heutzutage verbreitet sind, umfassen SAMETIME von IBM, MSN MESSENGER, YAHOO!
INSTANT MESSENGER und AOL INSTANT MESSENGER.IM users
typically use a networked computer and IM client software
to exchange messages with each other in conversation style. One
IM client forms for
User an interface to create text messages, too
send, receive and read. Examples of IM clients that
SAMETIME by IBM, MSN MESSENGER, YAHOO!
INSTANT MESSENGER and AOL INSTANT MESSENGER.
Auf
einer graphischen Anzeige erzeugt ein IM-Client Fenster, durch die
ein Anwender Nachrichten erstellen und lesen kann. IM-Clients versehen Anwender
mit der Fähigkeit,
Listen von Kontakten, insbesondere von anderen IM-Anwendern, zu
managen. Diese Listen werden als "Kameradenlisten" bezeichnet. Anwender können Kameradenlisten
in Gruppen aufeinander bezogener Anwender organisieren, wobei der
IM-Client die verschiedenen
Gruppen in einem hierarchischen Baum anzeigt, der je nach Wunsch
des Anwenders zusammengeklappt und ausgebreitet werden kann.On
A graphical display generates an IM client window through which
a user can create and read messages. IM clients provide users
with the ability
Lists of contacts, especially from other IM users
manage. These lists are called "comrades lists". Users can list comrades
organize into groups related users, the
IM client the different ones
Displays groups in a hierarchical tree, as desired
the user can be folded and spread.
ZUSAMMENFASSUNGSUMMARY
Es
werden ein Verfahren und ein System für eingebettete personalisierte
Kommunikation offenbart. Gemäß einer
Ausführungsform
umfasst ein computerimplementiertes Verfahren die Bereitstellung
von Software-Code, der in eine Webseite einzubetten ist. Die Webseite,
die den eingebetteten Software-Code enthält, wird geladen. Von einem
Konfigurationsserver wird in Reaktion auf das Laden oder Aktivieren
des eingebetteten Software-Codes
eine Konfigurationsdatei geholt. Unter Verwendung von Konfigurationsdatei-Inhalten
wird eine anfängliche Instant
Messaging-Anwenderschnittstelle
auf der Webseite angepasst. Der Software-Code sendet eine Anforderung
an einen webbasierten Instant Message-Server, um die Sitzung zu
beginnen. Sobald eine Kommunikation aufgebaut worden ist und die Sitzung
begonnen hat, wird die Instant Messaging-Anwenderschnittstelle aktualisiert.
Unter Verwendung eines ereignisbasierten Kommunikationssystems können Ereignisse
und Nachrichten zwischen dem Software-Code und dem Instant Message-Server
solange ausgetauscht werden, bis die Sitzung geschlossen wird. Eine
Eingabe von einem Besucher der Webseite kann durch die an die Webseite
angepasste Instant Messaging-Anwenderschnittstelle des eingebetteten
Software-Codes erleichtert werden.It
be a method and system for embedded personalized
Communication revealed. According to one
embodiment
For example, a computer-implemented method includes providing
of software code that is to be embedded in a web page. The website,
which contains the embedded software code is loaded. Of a
Configuration Server will respond in response to loading or activating
of the embedded software code
got a configuration file. Using configuration file contents
becomes an initial instant
Messaging Application Interface
adapted on the website. The software code sends a request
to a web-based instant message server to start the session
kick off. Once a communication has been established and the session
has started, the instant messaging user interface is updated.
Using an event-based communication system, events can
and messages between the software code and the instant message server
until the session is closed. A
Input from a visitor to the website may be through the website
customized instant messaging user interface of the embedded
Software codes are facilitated.
Die
obigen und weitere bevorzugte Merkmale einschließlich verschiedener neuer Einzelheiten der
Implementierung und der Kombination von Elementen werden nun insbesondere
mit Bezug auf die beigefügten
Zeichnungen beschrieben und in den Ansprüchen herausgestellt. Selbstverständlich sind die
besonderen Verfahren und Systeme, die hier beschrieben werden, nur
zur Veranschaulichung und nicht zur Beschränkung gezeigt. Selbstverständlich können Fachleute
die Prinzipien und Merkmale, die hier beschrieben werden, in verschiedenen
und zahlreichen Ausführungsformen
verwenden, ohne vom Umfang der hier angegebenen Lehren abzuweichen.The
above and other preferred features including various novel details of
Implementation and the combination of elements now become particular
with reference to the attached
Drawings described and pointed out in the claims. Of course they are
special procedures and systems described here only
by way of illustration and not by way of limitation. Of course, professionals can
the principles and features described herein in various
and numerous embodiments
without departing from the scope of the teachings herein.
KURZBESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS
Die
beigefügten
Zeichnungen, die als Teil der vorliegenden Beschreibung enthalten
sind, veranschaulichen die derzeit bevorzugte Ausführungsform der
vorliegenden Erfindung zusammen mit der oben gegebenen allgemeinen
Beschreibung und der im Folgenden gegebenen genauen Beschreibung
der bevorzugten Ausführungsform
und dienen dazu, die Prinzipien der vorliegenden Erfindung zu erläutern und
zu lehren.The accompanying drawings, which are included as part of the present description, veran "The presently preferred embodiment of the present invention, together with the general description given above and the detailed description of the preferred embodiment given below, illustrate and teach the principles of the present invention.
1 zeigt
einen Blockschaltplan eines beispielhaften Peer-to-Peer-Messaging-Systems
mit eingebetteter personalisierter Kommunikation gemäß einer
Ausführungsform; 1 FIG. 12 is a block diagram of an exemplary peer-to-peer messaging system with embedded personalized communication in accordance with an embodiment; FIG.
2 zeigt
eine beispielhafte Computerarchitektur für die Verwendung mit dem vorliegenden System
gemäß einer
Ausführungsform; 2 FIG. 10 illustrates an example computer architecture for use with the present system in accordance with one embodiment; FIG.
3 zeigt
einen Ablaufplan eines beispielhaften Prozesses für eine eingebettete
personalisierte Kommunikation gemäß einer Ausführungsform; und 3 FIG. 12 is a flowchart of an example process for embedded personalized communication according to an embodiment; FIG. and
4 zeigt
einen Ablaufplan eines beispielhaften Prozesses, um eingebetteten
Code zu erzeugen, gemäß einer
Ausführungsform. 4 FIG. 12 shows a flowchart of an example process to generate embedded code, according to an embodiment.
GENAUE BESCHREIBUNGPRECISE DESCRIPTION
Es
werden ein Verfahren und ein System für eingebettete personalisierte
Kommunikation offenbart. Gemäß einer
Ausführungsform
umfasst ein computerimplementiertes Verfahren das Bereitstellen
von Software-Code, der in eine Webseite eingebettet werden soll.
Die Webseite, die den eingebetteten Software-Code enthält, wird
geladen. Von einem Konfigurationsserver wird in Reaktion auf das
Laden oder Aktivieren des eingebetteten Software-Codes eine Konfigurationsdatei
geholt. Unter Verwendung der Inhalte der Konfigurationsdatei wird
eine anfängliche
Nachrichten-Anwenderschnittstelle an die Webseite angepasst. Der
Software-Code sendet eine Anforderung an einen webbasierten Instant
Message-Server, um eine Sitzung zu beginnen. Sobald die Kommunikation
aufgebaut ist und die Sitzung begonnen hat, wird die Anwenderschnittstelle
der Instant Message-Sitzung aktualisiert. Zwischen dem Software-Code
und dem Instant Message-Server können
Ereignisse und Nachrichten ausgetauscht werden, bis die Sitzung
geschlossen wird. Eine Eingabe von einem Besucher der Webseite kann
durch die Instant Messaging- Anwenderschnittstelle
des eingebetteten Software-Codes, die an die Webseite angepasst
worden ist, erleichtert werden.It
be a method and system for embedded personalized
Communication revealed. According to one
embodiment
For example, a computer-implemented method includes providing
of software code to embed in a web page.
The web page that contains the embedded software code will
loaded. From a configuration server is in response to the
Loading or activating the embedded software code a configuration file
fetched. Using the contents of the configuration file becomes
an initial one
Message user interface adapted to the website. Of the
Software code sends a request to a web-based instant
Message server to start a session. Once the communication
is established and the session has started, becomes the user interface
Updated the instant message session. Between the software code
and the instant message server
Events and messages are exchanged until the meeting
is closed. An input from a visitor to the website may
through the instant messaging user interface
of the embedded software code adapted to the website
has been relieved.
In
der folgenden Beschreibung wird zum Zweck der Erläuterung
eine bestimmte Nomenklatur verwendet, um ein vollständiges Verständnis der
verschiedenen erfinderischen Konzepte, die hier offenbart sind,
zu schaffen. Für
den Fachmann auf dem Gebiet ist jedoch selbstverständlich,
dass diese besonderen Einzelheiten nicht erforderlich sind, um die verschiedenen
erfinderischen Konzepte, die hier offenbart sind, in die Praxis
umzusetzen.In
The following description will be for the purpose of explanation
a specific nomenclature used to provide a complete understanding of
various inventive concepts disclosed herein
to accomplish. For
however, it will be understood by those skilled in the art
that these particular details are not necessary to the various
inventive concepts disclosed herein in practice
implement.
Die
vorliegende Erfindung bezieht sich auch auf eine Vorrichtung für die Ausführung der
hier beschriebenen Operationen. Diese Vorrichtung kann insbesondere
für die
erforderlichen Zwecke konstruiert sein oder kann einen Universalcomputer
enthalten, der durch ein in dem Computer gespeichertes Computerprogramm
wahlweise aktiviert oder umkonfiguriert wird. Ein solches Computerprogramm
kann in einem computerlesbaren Speichermedium, das jeweils mit einem
Computersystem-Bus gekoppelt ist, gespeichert sein, etwa in irgendeinem
Plattentyp einschließlich
Floppy Disks, optischer Platten, CDROMs und magnetooptischer Platten,
in Festwertspeichern, Schreib/Lese-Speichern, EPROMs, EEPROMs, magnetischen
oder optischen Karten oder in irgendeinem Typ eines geeigneten Mediums
zum Speichern elektronischer Befehle, oder jedoch darauf eingeschränkt zu sein.The
The present invention also relates to an apparatus for carrying out the
operations described here. This device can in particular
for the
necessary purposes or may be a universal computer
contained by a computer program stored in the computer
optionally activated or reconfigured. Such a computer program
can be stored in a computer-readable storage medium, each with a
Computer system bus is coupled, stored in some way
Plate type including
Floppy disks, optical disks, CDROMs and magneto-optical disks,
in read-only memories, read / write memories, EPROMs, EEPROMs, magnetic
or optical cards or in any type of suitable medium
for storing electronic commands, or to be limited thereto.
Die
hier angegebenen Verfahren sind nicht inhärent auf irgendeinen bestimmten
Computer oder irgendeine bestimmte andere Vorrichtung bezogen. Verschiedene
Universalsysteme können
mit Programmen in Übereinstimmung
mit den hierin gegebenen Lehren verwendet werden oder können sich
als geeignet erweisen, um eine stärker spezialisierte Vorrichtung
zu konstruieren, um die erforderlichen Verfahrensschritte auszuführen. Die
erforderliche Struktur für
viele verschiedene solche Systeme geht aus der folgenden Beschreibung
hervor. Außerdem wird
die vorliegende Erfindung nicht mit Bezug auf irgendeine bestimmte
Programmiersprache beschrieben. Es ist klar, dass viele verschiedene
Programmiersprachen verwendet werden können, um die Lehren der Erfindung,
die hier beschrieben werden, zu implementieren.The
Methods set forth herein are not inherent in any particular
Computer or any particular other device. Various
Universal systems can
with programs in accordance
may or may not be used with the teachings herein
prove to be a more specialized device
to construct to perform the required process steps. The
required structure for
Many different such systems are described below
out. In addition, will
the present invention is not intended with reference to any particular
Programming language described. It is clear that many different
Programming languages can be used to implement the teachings of the invention,
which are described here to implement.
1 veranschaulicht
eine Blockschaltplan eines beispielhaften Systems 100 für eine eingebettete
personalisierte Kommunikation gemäß einer Ausführungsform.
Die eingebettete personalisierte Kommunikation bezieht sich auf
irgendeine Nachrichtenaustausch- oder Messaging-Fähigkeit,
die eine Kommunikation zwischen einem Ausgangspunkt-Server und einem
Software-Modul, das in vielen Servern (oder Websites) repliziert
oder eingebettet ist, zulässt.
Das System 100 lässt
außerdem
die Bestimmung der Präsenz
des Anwenders im Web zu, wobei die Website, die ein Anwender im
Web besucht, und/oder die Aktivitäten, das Verhalten oder andere
Informationen, die mit diesem Anwender in Beziehung stehen, während sich
dieser Anwender auf dieser Site befindet, identifiziert werden. 1 illustrates a block diagram of an example system 100 for an embedded personalized communication according to an embodiment. Embedded personalized communication refers to any messaging capability that allows communication between a source server and a software module replicated or embedded in many servers (or web sites). The system 100 also allows the determination of the presence of the user on the Web, whereby the web site that a user visits on the web and / or the activities, behavior or other information related to that user while that user is on that site is identified.
Das
eingebettete Kommunikationssystem 100 ist in eine Client-Seite
und in eine Server-Seite unterteilt. Die Client-Seite enthält eine
Webseite A.COM, auf die durch einen Web-Browser zugegriffen werden
kann. Die Webseite A.COM enthält
eingebetteten Code, um zuzulassen, dass eine Instant Messaging-Schnittstelle 111 in
der Webseite A.COM 110 repliziert wird. Die Instant Messaging-Schnittstelle 111 kann
eine Kopie oder eine Abwandlung der Instant Messaging-Anwenderschnittstelle 121 sein,
die auf einer Webseite für
die webbasierte IM 120 gehosted wird. Es ist wichtig anzumerken,
dass die Instant Messaging-Schnittstelle 110 Anwendern,
die die Webseite A.COM besuchen, ermöglicht, einen Instant Messaging-Vorgang auszuführen, Präsenzinformationen
zu empfangen oder andere ähnliche
Informationen mit einem Anwender des webbasierten IM-Clients 120 in
Echtzeit auszutauschen. Beispielsweise kann die Webseite A.COM 110 das
Profil eines Anwenders A auf MYSPACE.COM sein. Das Profil des Anwenders
A wird typischerweise durch einen Browser im HTML-Format angepasst,
der den eingebetteten Code enthält,
der die Webseite A.COM des Clients 110 mit seinem Instant
Messaging-Account verbindet, der auf der Webseite für die webbasierte IM
des Clients 120 (beispielsweise auf MEEBO.COM) sichtbar
ist. Durch diese Verbindung kann ein Anwender beim Besuchen der
Webseite A.COM 110 eine Eins-zu-Eins-Chat-Sitzung mit dem Anwender
auf den webbasierten IM-Webseiten-Client 120 beginnen,
empfangen und aufrechterhalten.The embedded communication system 100 is in a client side and in a server side divided. The client side contains an A.COM web page that can be accessed through a web browser. The A.COM website contains embedded code to allow for an instant messaging interface 111 in the website A.COM 110 is replicated. The instant messaging interface 111 may be a copy or a modification of the instant messaging user interface 121 be on a website for the web-based IM 120 is hosted. It is important to note that the instant messaging interface 110 Users visiting the A.COM web site can perform an instant messaging operation, receive presence information, or other similar information with a Web-based IM client user 120 exchange in real time. For example, the website A.COM 110 be the profile of a user A on MYSPACE.COM. The profile of user A is typically adjusted by an HTML-format browser containing the embedded code that is the client's A.COM web page 110 connects to his instant messaging account on the website for the web-based IM of the client 120 (for example on MEEBO.COM) is visible. Through this connection, a user can visit the website A.COM 110 a one-to-one chat session with the user on the web-based IM webpage client 120 start, receive and sustain.
Die
Instant Messaging-Anwenderschnittstelle 111 ist nur eine
Kopie der Instant Messaging-Anwenderschnittstelle 121,
insofern, als die Kommunikationen zwischen beiden Schnittstellen
synchronisiert und in Echtzeit dynamisch aktualisiert werden. Jede
Schnittstelle kann ihr eigenes Aussehen und ihr eigenes Flair, ihren
eigenen Entwurf und dergleichen haben.The instant messaging user interface 111 is just a copy of the instant messaging user interface 121 in that the communications between both interfaces are synchronized and dynamically updated in real-time. Each interface can have its own look and feel, design, and the like.
Die
Server-Seite des eingebetteten Kommunikationssystems 100 kommuniziert
mit der Webseite A.COM beim Client 110 und mit der webbasierten IM-Webseite
beim Client 120. Gemäß einer
Ausführungsform
ist der Webserver 130 ein LightTPD-Webserver. Der LightTPD
ist ein Webserver, der so entworfen ist, dass er sicher, normkonform
und flexibel ist, wobei er für
geschwindigkeitskritische Umgebungen optimiert ist. Sein (im Vergleich
zu anderen Webservern) geringer Speicher-Footprint, seine geringe CPU-Last
und seine Geschwindigkeitsziele machen den LightTPD für Server
geeignet, die an Lastproblemen leiden, oder dafür, statische Medien getrennt von
dynamischem Inhalt zu bedienen. LightTPD ist eine freie Software/Open
Source und läuft
auf GNU/Linux und anderen Unix-artigen Betriebssystemen sowie auf
Microsoft Windows.The server side of the embedded communication system 100 communicates with the website A.COM at the client 110 and with the web-based IM website at the client 120 , According to one embodiment, the web server is 130 a LightTPD web server. The LightTPD is a web server designed to be secure, compliant and flexible while being optimized for speed-sensitive environments. Its low memory footprint (compared to other web servers), its low CPU load, and speed targets make the LightTPD suitable for servers suffering from load problems or serving static media separately from dynamic content. LightTPD is a free software / open source and runs on GNU / Linux and other Unix-like operating systems as well as Microsoft Windows.
Der
Webserver 130 enthält
ein Jabber-Modul, das mit einem Gastserver 140 kommuniziert.
Der Jabber ist eine Instant Messaging- und Präsenz-Technologie, die das "Extensible Messaging and
Presence"-Protocol
(XMPP) verwendet. In einer Ausführungsform
kommuniziert der Webserver 130 mit einem Jabber-Gastserver 140.
Der Jabber-Gastserver 140 kann in demselben physikalischen
Server beim Webserver 130 oder getrennt hiervon instanziiert
sein. Der Jabber-Gastserver 140 hält eine Datenbank aktiver IM-Clients
und weist die Fähigkeit
auf, anonyme Teilnahmen anzubieten, wenn er vom Webserver 130 angefordert
wird. Der Jabber-Gastserver 140 kann
auch auf Präsenz-Informationen
teilnehmender Anwender abgefragt werden.The web server 130 contains a Jabber module that comes with a guest server 140 communicated. The Jabber is an instant messaging and presence technology that uses the Extensible Messaging and Presence Protocol (XMPP). In one embodiment, the web server communicates 130 with a Jabber guest server 140 , The Jabber Guest Server 140 can be in the same physical server at the web server 130 or be instantiated separately from it. The Jabber Guest Server 140 maintains a database of active IM clients and has the ability to offer anonymous participation when viewed from the web server 130 is requested. The Jabber Guest Server 140 can also be queried on presence information of participating users.
Ein
Jabber-Nichtgast-Server 150 kommuniziert mit dem webbasierten
IM-Server 160,
der Datenbanken registrierter Anwender hält, die Instant Messaging-Accounts
haben, wie etwa die Webseite für
den webbasierten IM-Client 120.A Jabber non-guest server 150 communicates with the web-based IM server 160 , which keeps databases of registered users who have instant messaging accounts, such as the web-based IM client web page 120 ,
Die
dem Jabber-Gastserver 140 zugeschriebene Funktionalität kann auch
auf dem Jabber-Nichtgast-Server 150 vorhanden sein und
umgekehrt. In einer weiteren Ausführungsform könnten anonyme und
registrierte Anwender mit demselben Jabber-Server kommunizieren.
Die Kommunikation zwischen anonymen und registrierten Anwendern
erfolgt zwischen den verschiedenen Instanziierungen auf demselben
Server.The Jabber guest server 140 attributed functionality can also be done on the Jabber non-guest server 150 be present and vice versa. In another embodiment, anonymous and registered users could communicate with the same Jabber server. Communication between anonymous and registered users occurs between the different instantiations on the same server.
Der
webbasierte IM-Server 160 ermöglicht Clients, sich in mehreren
Accounts in mehreren Instant Messaging-Netzen (IM-Netzen) gleichzeitig
einzuloggen. Das bedeutet, dass gleichzeitig und über eine
gemeinsame Web-Schnittstelle mit Freunden auf dem AOL Instant Messenger
gechatted werden kann, mit einem Freund auf dem Yahoo Messenger gesprochen
werden kann und an einer Sitzung auf einem IRC-Kanal teilgenommen
werden kann.The web-based IM server 160 Allows clients to log into multiple accounts on multiple instant messaging (IM) networks simultaneously. This means that you can chat with AOL Instant Messenger at the same time and through a shared web interface with friends, chat with a friend on Yahoo Messenger, and join a session on an IRC channel.
In
dieser Ausführungsform
sind alle registrierten Anwender des IM-Servers 160 auch
in dem Jabber-Nichtgast-Server 150 eingeloggt. Wenn ein registrierter
Anwender sich in deren Account auf dem Webserver 160 einloggt,
initiiert der Server 160 eine IM-Sitzung mit dem Jabber-Nichtgast 150 unter
Verwendung von Berechtigungen, die in dem durch das IM-System 160 gesteuerten
Datenbanksystem gespeichert sind. Für den Ablauf der Sitzung auf
der IM-Anwenderschnittstelle 121 versucht der Webserver 160,
den Anwender in dem Jabber-Nichtgast-Server 150 eingeloggt
zu halten. Bei einer möglichen
Trennung wird der Anwender automatisch wieder verbunden.In this embodiment, all registered users of the IM server 160 also in the Jabber non-guest server 150 logged. When a registered user logs into their account on the web server 160 logs in, the server initiates 160 an IM session with the Jabber non-guest 150 using permissions that are in the IM system 160 controlled database system are stored. For the expiration of the session on the IM user interface 121 the web server tries 160 , the user in the Jabber non-guest server 150 to be logged in. In case of a possible disconnection, the user is automatically reconnected.
Ein
Konfigurationsserver 170 speichert Konfigurationsdateien,
die verwendet werden, um Eigenschaften der Instant Messaging-Anwenderschnittstelle 111,
z. B. die Anpassung, Kommunikationsdetails, serverspezifische Informationen
und dergleichen, zu instanziieren sowie Instanzen der Instant Messaging-Anwenderschnittstelle 111,
die in mehrere Webseiten 110 eingebettet sind, eindeutig
zu identifizieren oder zu kategorisieren. Der HTML-Code für die Instant
Messaging-Anwenderschnittstelle 111 spezifiziert,
welche Konfigurationsdatei von dem Konfigurationsserver 170 geladen
werden soll. Diese Konfigurationsdatei speichert eine Kennung, die
von dem Erzeuger der eingebetteten Instant Messaging-Anwenderschnittstelle 111 gewählt wird,
so dass dann, wenn eine neue Nachricht empfangen wird, der Anwender
sofort den Ursprung des Besuchers erkennen kann. Diese Organisation
von Konversationen erfolgt durch die Kameradenliste des Anwenders,
in der spezifische Konversationsinstanzen unter ihren jeweiligen
Kennungen oder "Gruppen", die während der
Erzeugung gewählt
wurden, aufgelistet sind.A configuration server 170 Saves configuration files that are used to properties of the instant messaging user interface 111 , z. As the customization, communication details, server-specific information and the like, instantiate instances of Instant Messaging Application Interface 111 that translate into multiple websites 110 are embedded, clearly identifiable or categorized. The HTML code for the instant messaging user interface 111 specifies which configuration file is from the configuration server 170 should be loaded. This configuration file stores an identifier that is generated by the embedded instant messaging user interface creator 111 is chosen, so that when a new message is received, the user can immediately recognize the origin of the visitor. This conversation organization occurs through the user's comrades list, where specific conversation instances are listed under their respective identifiers or "groups" chosen during creation.
Das
System 100 ist über
das (nicht gezeigte) Internet verbunden, alternativ kann das Netz
ein Weitbereichsnetz (WAN), ein lokales Netz (LAN) oder irgendein
anderes System von Verbindungen sein, das zwei oder mehreren Vorrichtungen
ermöglicht, Informationen
auszutauschen. Ferner kann das Netz ein drahtloses Netz enthalten,
so dass ein oder mehrere Clients 110 oder 120 drahtlose
Vorrichtungen sein können.The system 100 is connected via the internet (not shown), alternatively, the network may be a wide area network (WAN), a local area network (LAN), or any other system of connections that allows two or more devices to exchange information. Further, the network may include a wireless network, such that one or more clients 110 or 120 may be wireless devices.
Einer
oder mehrere Clients 110 oder 120 können einen
Netzzugriff über
einen Web-Browser wie etwa den Microsoft Internet Explorer, den
Netscape Browser, Mozilla, Firefox oder die Safari-Browser, die
HTML und JavaScript unterstützen,
zulassen. Weiterhin können
Clients 110 oder 120 mobile Vorrichtungen wie
etwa Bildtelephone, Laptops, Smartphones, Mobiltelephone, PDAs,
Spielevorrichtungen wie etwa der von Sony Electronics hergestellte
PSP, Multimediavorrichtungen wie etwa iPods und iPhones, die von
Apple Computers, Cupertino, Kalifornien, hergestellt werden, oder ähnliche
Vorrichtungen sein.One or more clients 110 or 120 can allow network access through a web browser such as Microsoft Internet Explorer, Netscape Browser, Mozilla, Firefox, or Safari browsers that support HTML and JavaScript. Furthermore, clients can 110 or 120 mobile devices such as video telephones, laptops, smartphones, mobile phones, PDAs, gaming devices such as PSP made by Sony Electronics, multimedia devices such as iPods and iPhones manufactured by Apple Computers, Cupertino, California, or similar devices.
Gemäß einer
Ausführungsform
kann der Server 160 ein Spieleserver wie etwa eine Instant Messenger-Anwendung
auf Open Source-GTK2-Basis (unter GPL) sein. Er unterstützt mehrere
Protokolle über
Module einschließlich
AIM, ICQ, Yahoo!, MSN, Jabber, IRC, Napster, Gadu-Gadu und Zephyr.According to one embodiment, the server 160 a game server such as an instant messenger application based on open source GTK2 (under GPL). It supports multiple protocols through modules including AIM, ICQ, Yahoo !, MSN, Jabber, IRC, Napster, Gadu-Gadu and Zephyr.
Die
Server 130–170 laufen
auf zahlreichen Plattformen einschließlich Windows, Linux und Qtopia
(Sharp, Taurus und iPaq). Der Spieleserver 160 ist nicht
durch AOL Time Warner, Microsoft oder Yahoo unterstützt oder
daran angegliedert. Obwohl der Spieleserver 160 beschrieben
wird, kann irgendein Mehrfachprotokoll-Server einschließlich Pidgin (Open
Source) oder Trillian, kreiert von Cerulean Studios, verwendet werden.
Gemäß einer
Ausführungsform
enthält
der Spieleserver 160 die GTK-Visualisierungssoftware nicht, um als
eine Webserver-Anwendung optimiert zu werden. In einer Ausführungsform umfasst
der Spieleserver 160 den größten Teil einer Hauptfunktionalität und keine
graphische Anwenderschnittstelle. Verschiedene Systeme können Grenzen
dafür setzen,
wie viele Instant Messaging-Dienste verbunden werden können oder
auf einem Bildschirm aktiv sein können.The servers 130 - 170 run on numerous platforms including Windows, Linux and Qtopia (Sharp, Taurus and iPaq). The game server 160 is not supported or affiliated with AOL Time Warner, Microsoft or Yahoo. Although the game server 160 Any multiple protocol server including Pidgin (open source) or Trillian, created by Cerulean Studios, may be used. According to one embodiment, the game server includes 160 the GTK visualization software not to be optimized as a web server application. In one embodiment, the game server includes 160 most of a main functionality and not a graphical user interface. Different systems can set limits on how many instant messaging services can be connected or on one screen.
Die
im System 100 ausgeführten
Prozesse können
in Software oder in Hardware implementiert sein oder eine Vorrichtung
verwenden, die mit einem gemeinsamen Netz wie etwa dem Internet
verbunden ist oder sein kann. Die Clients 110 und 120 können mobile
Vorrichtungen oder feste Vorrichtungen wie etwa Settop-Boxen, Desktop-Computer,
Medienrecorder wie etwa jene, die von TiVo, Inc., Alviso, Kalifornien,
hergestellt werden, Spielevorrichtungen wie etwa die XBox, die von
Microsoft Corp., Redmond, Washington, hergestellt wird, oder ähnliche
Vorrichtungen sein.The in the system 100 Running processes may be implemented in software or in hardware, or may use a device that is or may be connected to a common network, such as the Internet. The clients 110 and 120 For example, mobile devices or fixed devices such as set-top boxes, desktop computers, media recorders such as those manufactured by TiVo, Inc., Alviso, California may include gaming devices such as the XBox, available from Microsoft Corp., Redmond, Washington , manufactured, or similar devices.
Der
webbasierte IM-Server 160 ermöglicht einen webbasierten Instant
Messaging-Dienst für
die Clients 110 und 120, der nicht erfordert,
dass eine IM-Software auf den Clients 110 und 120 installiert ist.
Gemäß einer
Ausführungsform
ist die Instant Messaging-Anwendung webbasiert, wobei die Kommunikation
zwischen Clients 110, 120 und Servern 130–170 die
Form von XmlHttpRequests annimmt.The web-based IM server 160 enables a web-based instant messaging service for the clients 110 and 120 who does not require an IM software on the clients 110 and 120 is installed. According to one embodiment, the instant messaging application is web-based, with communication between clients 110 . 120 and servers 130 - 170 takes the form of XmlHttpRequests.
Die
Server 130–170 sind
Webserver, die irgendeine Anzahl von Protokollen und/oder Anwendungen
einschließlich
des HyperText Transfer Protocols (HTTP), des File Transfer Protocols
(FTP), des Internet Relay Chats (IRC) usw. über eine TCP/IP-Verbindung
(in dieser Ansicht nicht gezeigt) oder ähnliche Verbindungsprotokolle
verwenden. Das Betriebssystem kann Windows®, LINUX,
SUN Solaris®,
Mac OS, Tiger oder ein ähnliches
Betriebssystem sein. In einer Ausführungsform sind die Server 130–170 dedizierte
Server. Sie verwenden eine Verarbeitungslogik, Werkzeuge und Datenbanken und
sind unter Verwendung einer Kombination von Technologien wie etwa
jene von Apache Software (www.apache.org), etwa der Tomcat-Server;
Java-basierten Technologien wie etwa J2EE, EJB, JBOSS, JDBC; und/oder
Datenbanken wie etwa MySQL aufgebaut.The servers 130 - 170 are web servers that do not support any number of protocols and / or applications including HyperText Transfer Protocol (HTTP), File Transfer Protocol (FTP), Internet Relay Chats (IRC), and so on over a TCP / IP connection (in this view shown) or similar connection protocols. The operating system may be Windows® , LINUX, SUN Solaris® , Mac OS, Tiger or a similar operating system. In one embodiment, the servers 130 - 170 dedicated server. They use processing logic, tools, and databases and are using a combination of technologies such as those from Apache Software (www.apache.org), such as the Tomcat server; Java-based technologies such as J2EE, EJB, JBOSS, JDBC; and / or databases such as MySQL.
Das
System 100 kann außerdem
eine andere unterstützende
Rechensoftware und -hardware enthalten, beispielsweise zusätzliche Website-Server,
Datenbanken, Computer und Anwenderschnittstellen-Server.The system 100 may also include other supporting computing software and hardware, such as additional website servers, databases, computers, and user interface servers.
2 veranschaulicht
eine beispielhafte Computerarchitektur für die Verwendung mit dem vorliegenden
System gemäß einer
Ausführungsform. Die
Computerarchitektur 200 kann verwendet werden, um einen
Client 110, 120 oder einen Server 130–170 von 1 zu
implementieren. Eine Ausführungsform
der Architektur 200 umfasst einen Systembus 220 für die Kommunikation
von Informationen sowie einen Prozessor 210, der mit dem
Bus 220 gekoppelt ist, um Informationen zu verarbeiten.
Die Architektur 200 umfasst ferner einen Schreib/Lese-Speicher
(RAM) oder eine andere dynamische Speichervorrichtung 225 (die
hier als Hauptspeicher bezeichnet wird), die mit dem Bus 220 gekoppelt
ist, um Informationen und Befehle, die von dem Prozessor 210 auszuführen sind,
zu speichern. Der Hauptspeicher 225 kann auch zum Speichern
temporärer Variablen
oder von anderen Zwischeninformationen während der Ausführung von
Befehlen durch den Prozessor 210 verwendet werden. Die
Architektur 200 kann auch einen Festwertspeicher (ROM) und/oder
eine andere statische Speichervorrichtung 226 enthalten,
die mit dem Bus 220 gekoppelt ist, um statische Informationen
und Befehle, die von dem Prozessor 210 verwendet werden,
zu speichern. 2 FIG. 12 illustrates an example computer architecture for use with the present system according to one embodiment. FIG. The computer architecture 200 Can be used to a client 110 . 120 or a server 130 - 170 from 1 to implement. An embodiment of the architecture 200 includes a system bus 220 for the communication of information as well as a processor 210 with the bus 220 is coupled to process information. Architecture 200 further comprises a random access memory (RAM) or other dynamic storage device 225 (which is referred to here as main memory), which is connected to the bus 220 is coupled to information and commands provided by the processor 210 are to be executed to save. The main memory 225 may also be used to store temporary variables or other intermediate information during execution of instructions by the processor 210 be used. Architecture 200 may also be a read only memory (ROM) and / or other static storage device 226 included with the bus 220 is coupled to static information and commands issued by the processor 210 used to save.
Eine
Datenspeichervorrichtung 227 wie etwa eine Magnetplatte
oder eine optische Platte und ihr entsprechendes Laufwerk kann ebenfalls
mit dem Computersystem 200 gekoppelt sein, um Informationen
und Befehle zu speichern. Die Architektur 200 kann auch
mit einem zweiten E/A-Bus 250 über eine E/A-Schnittstelle 230 gekoppelt
sein. Mit dem E/A-Bus 250 können mehrere E/A-Vorrichtungen
einschließlich
einer Anzeigevorrichtung 243, einer Eingabevorrichtung
(z. B. einer alphanumerischen Eingabevorrichtung 242 und/oder
einer Cursor-Steuervorrichtung 241) gekoppelt sein. Beispielsweise
können
dem Anwender auf der Anzeigevorrichtung 243 Webseiten,
die durch den MMSW-Server 130 angepasst worden sind, sowie
damit in Beziehung stehende Informationen präsentiert werden.A data storage device 227 such as a magnetic disk or optical disk and its corresponding drive can also be connected to the computer system 200 be coupled to store information and commands. Architecture 200 can also use a second I / O bus 250 via an I / O interface 230 be coupled. With the I / O bus 250 may include multiple I / O devices including a display device 243 an input device (eg, an alphanumeric input device 242 and / or a cursor control device 241 ). For example, the user on the display device 243 Web pages through the MMSW server 130 have been adapted and related information presented.
Die
Kommunikationsvorrichtung 240 ermöglicht einen Zugriff auf andere
Computer (Server oder Clients) über
ein Netz. Die Kommunikationsvorrichtung 240 kann ein Modem,
eine Netzschnittstellenkarte, eine drahtlose Netzschnittstelle oder
eine andere wohlbekannte Schnittstellenvorrichtung wie etwa jene,
die für
die Kopplung mit Ethernet-, Token Ring- oder anderen Typen von Netzen
verwendet werden, umfassen.The communication device 240 allows access to other computers (servers or clients) via a network. The communication device 240 may include a modem, a network interface card, a wireless network interface, or other well known interface device such as those used for coupling to Ethernet, Token Ring, or other types of networks.
3 zeigt
einen Ablaufplan eines beispielhaften Prozesses 300 für eingebettete
personalisierte Kommunikationen gemäß einer Ausführungsform. Wenn
ein Anwender die Webseite A.COM auf dem Client 110 besucht,
wird das in die Webseite eingebettete Software-Modul (das "Widget") geladen (305).
In Abhängigkeit
vom Browser des Anwenders kann das Widget automatisch geladen werden,
wenn die Webseite geladen wird, alternativ muss sie der Besucher
der Webseite aktivieren. Die Aktivierung kann durch Klicken auf
die Anpassung des Widget auf der Webseite 110, durch Scrollen
zu der Webseite, so dass das Widget physikalisch sichtbar wird, und
dergleichen erzielt werden. Das Widget weist den Client 110 an,
eine Konfigurationsdatei von dem Konfigurationsserver 170 zu
holen (310). Die Konfigurationsdatei identifiziert den
Anwender, der dem Widget und ostentativ A.COM zugeordnet ist (beispielsweise
den Anwender, dessen Profil auf MYSPACE.COM am wahrscheinlichsten
mit jenem des Anwenders übereinstimmt,
der den eingebetteten Widget-Code auf A.COM platziert hat), visuelle
Vorlieben des Anwenders, Titel, Alias und andere Informationen,
die für
die Instanziierung des Widget notwendig sein könnten. Mit den aus der Konfigurationsdatei
gelesenen Informationen wird eine Instant Messaging-Anwenderschnittstelle 111 auf
A.COM 110 mit einem bestimmten Titel, einem Farbschema
und einem Präsenz-
oder Statuselement, das Informationen über den Eigentümer des
Widget angibt (gemäß Voreinstellung
offline gesetzt), angepasst (315). 3 shows a flowchart of an example process 300 for embedded personalized communications according to one embodiment. If a user uses the website A.COM on the client 110 visited, the embedded software module (the "widget") will be loaded ( 305 ). Depending on the browser of the user, the widget can be loaded automatically when the web page is loaded, alternatively the visitor of the web page has to activate it. The activation can be done by clicking on the customization of the widget on the website 110 by scrolling to the web page so that the widget becomes physically visible, and the like can be achieved. The widget assigns the client 110 a configuration file from the configuration server 170 pick up ( 310 ). The configuration file identifies the user associated with the widget and ostensible A.COM (for example, the user whose profile on MYSPACE.COM most likely matches that of the user who placed the embedded widget code on A.COM) User preferences, title, alias, and other information that may be needed to instantiate the widget. The information read from the configuration file becomes an instant messaging user interface 111 on A.COM 110 with a specific title, a color scheme, and a presence or status element that indicates information about the owner of the widget (set offline by default), 315 ).
Der
Client 110 stellt eine Verbindung mit dem Jabber-Modul
des Webservers 130 her (320). Der Anwender des
Clients 110 fordert vom Server 130 als ein anonymer
Gast, dass eine Sitzung begonnen wird. Der Server 130 loggt
den anonymen Gast in den Jabber-Gastserver 140 ein. Der
Jabber-Gastserver 140 beginnt eine IM-Sitzung und meldet
zum Webserver 130 zurück,
dass der anonyme Gast online ist. Das Jabber-Modul 130 des A.COM-Webservers
erscheint für
den Jabber-Gastserver 130 als ein Gast-Jabber-Anwender, z. B. als ein Client
des Jabber-Gastservers 140.The client 110 connects to the Jabber module of the web server 130 her ( 320 ). The user of the client 110 calls from the server 130 as an anonymous guest, that a session is started. The server 130 logs the anonymous guest into the Jabber guest server 140 one. The Jabber Guest Server 140 starts an IM session and reports to the web server 130 back that the anonymous guest is online. The Jabber module 130 A.COM Web server appears for the Jabber guest server 130 as a guest Jabber user, e.g. As a client of the Jabber guest server 140 ,
Die
Instant Messaging-Anwenderschnittstelle 111 sendet eine
Teilnehmeranforderungsnachricht über
den A.COM-Webserver 130 zum Jabber-Gastserver 140,
um die Erlaubnis anzufordern, die Präsenzinformationen des Anwenders,
der der A.COM-Webseite zugeordnet ist, zu empfangen (325).
Es wird eine Entscheidung getroffen, um zu bestimmen, ob der Anwender
der IM-Anwenderschnittstelle 121 verfügbar ist (330). Falls
der Anwender bei der Instant Messaging-Anwenderschnittstelle 121 verfügbar ist,
akzeptiert die IM-Sitzung, die diesem Anwender auf dem Webserver 160 zugeordnet ist,
automatisch die Teilnahmeanforderung (335). Der Webserver 160 antwortet
dann mit einer identischen Teilnahmeanforderung für die Präsenzinformationen des
Gast-Jabber-Anwenders
auf dem Jabber-Gastserver 140 (340). Es wird eine
Entscheidung getroffen, um zu bestimmen, ob der Anwender der IM-Anwenderschnittstelle 111 verfügbar ist
(345). Das Jabber-Modul auf dem Webserver 130 akzeptiert
außerdem
automatisch die Anforderung im Namen des Anwenders auf A.COM (350).
Somit können
nun beide Enden des Kommunikationsschemas Präsenzinformationen (oder verwandte
Informationen) übereinander
empfangen. Die IM-Sitzung ist nun aufgebaut worden und die Schnittstellen
führen
eine Aktualisierung durch, um den Verbindungszustand zu reflektieren
(365). Beide Anwender können
mit der Instant Messaging-Kommunikation beginnen (370).The instant messaging user interface 111 sends a subscriber request message via the A.COM web server 130 to the Jabber guest server 140 to request permission to receive the presence information of the user associated with the A.COM website ( 325 ). A decision is made to determine if the user of the IM user interface 121 is available ( 330 ). If the user is using the instant messaging user interface 121 is available, the IM session that accepts this user on the web server accepts 160 is automatically assigned the participation request ( 335 ). The web server 160 then replies with an identical request for guest presence Jabber user presence information on the Jabber guest server 140 ( 340 ). A decision is made to determine if the user of the IM user interface 111 is available ( 345 ). The Jabber module on the web server 130 also automatically accepts the request on behalf of the user on A.COM ( 350 ). Thus, both ends of the communication scheme can now receive presence information (or related information) on top of each other. The IM session has now been established and the interfaces are updating to reflect the connection state ren ( 365 ). Both users can start with instant messaging communication ( 370 ).
Falls
in einer weiteren Ausführungsform
der Anwender auf der Instant Messaging-Anwenderschnittstelle 121 verfügbar ist,
kann der Anwender auf der Schnittstelle 121, statt Teilnahmeanforderungen
automatisch zu akzeptieren, eine Aufforderung empfangen, um den
Anwender der Schnittstelle 111 zu einer Instant Messaging-Sitzung
hinzuzufügen,
so dass er an Präsenzinformationen
teilnehmen kann. Der Anwender bei der Schnittstelle 121 kann
auch gefragt werden, ob der Anwender bei der Schnittstelle 111 zu
seiner Kameradenliste hinzugefügt
werden soll.In another embodiment, if the user is on the instant messaging user interface 121 is available, the user can click on the interface 121 Instead of automatically accepting participation requests, receive a prompt to the user of the interface 111 to add to an instant messaging session so that he can attend presence information. The user at the interface 121 can also be asked if the user at the interface 111 to be added to his comrades list.
Die
Server 130 und 160 aktualisieren ihre jeweiligen
Anwenderschnittstellen 111, 121, um anzugeben,
dass beide Anwender verfügbar
sind. Der Echtzeit-Status jedes Anwenders wird aufrechterhalten.The servers 130 and 160 update their respective user interfaces 111 . 121 to indicate that both users are available. The real-time status of each user is maintained.
Falls
beispielsweise der Anwender bei der Schnittstelle 120 seinen
Status als "abwesend" setzt und eine individuelle
Abwesend-Nachricht aufnimmt, wird die Anwenderschnittstelle 111 aktualisiert,
um den "Abwesend"-Status und die zugeordnete
Nachricht zu zeigen (360). Die Anwenderschnittstelle 121 gibt
außerdem
an, dass der andere Anwender das Widget verwendet, das einer bestimmten
Identität
zugeordnet ist. Diese Identität
kann eine Kategorie (z. B. "Widget
eines sozialen Netzwerks"),
die durch Daten spezifiziert wird, die von der Konfigurationsdatei gelesen
werden, sein. Die Identität
könnte
auch die Webseite (z. B. A.COM) angeben, in die das Widget eingebettet
ist. Dies könnte
unter Verwendung der Konfigurationsdatei, durch Ablaufenlassen eines CGI-Scripts,
das sich auf einem weiteren Webserver befindet, der mit der enthaltenen
Webseite antwortet, oder durch eine weitere Implementierung, die
genau zu der eingebetteten Webseite zurückkehrt, erfolgen.For example, if the user is at the interface 120 sets its status as "absent" and picks up an individual absent message becomes the user interface 111 updated to show the "Out of Office" status and associated message ( 360 ). The user interface 121 also indicates that the other user is using the widget associated with a particular identity. This identity may be a category (eg, "social network widget") specified by data read from the configuration file. The identity could also specify the web page (eg BACOM) in which the widget is embedded. This could be done using the configuration file, by running a CGI script residing on another web server responding with the contained web page, or by another implementation returning to the exact embedded web page.
Falls
der Anwender auf der Webseite A.COM die Instant Message-Sitzung
verlässt,
ohne die Sitzung explizit zu schließen (z. B. den Browser zu schließen, die
Webseite zu verlassen usw.), nimmt der Server 130 nach
einer im Voraus festgelegten Zeitüberschreitung (z. B. 45 Sekunden
in einer Ausführungsform)
an, dass die Verbindung zum Client 110 verloren gegangen
ist. Die Verbindung kann wie oben beschrieben wieder aufgebaut werden.
Falls die Webseite auf A.COM 110 wieder geladen wird und
falls eine Instant Message-Sitzung bereits aufgebaut worden war,
wird sie gemäß dem Prozess 300 beendet
und neu gestartet.If the user leaves the instant message session on the A.COM website without explicitly closing the session (eg closing the browser, exiting the website, etc.), the server will pick up 130 after a predetermined timeout (eg, 45 seconds in one embodiment), that connection to the client 110 lost. The connection can be rebuilt as described above. If the website is on A.COM 110 is reloaded and if an instant message session has already been established, it will become according to the process 300 finished and restarted.
Falls
der Anwender auf der Webseite A.COM versucht, mit dem Anwender der
IM-Anwenderschnittstelle 121 einen Kontakt herzustellen,
jedoch der Anwender der IM-Anwenderschnittstelle 121 nicht
eingeloggt ist, kann der Anwender auf der Webseite A.COM noch immer
eine Nachricht senden. Diese Nachricht kann die anfängliche
Teilnahmeaufforderung enthalten. Die Nachricht wird in dem Jabber-Nichtgast-Server 150 gespeichert
und dann für
den Anwender bereitgestellt, sobald er sich einloggt (360).
Im Fall einer in einem Cache-Speicher abgelegten oder verzögerten Teilnahmeaufforderung akzeptiert
der IM-Server 160 noch immer automatisch die Anforderung,
sobald der Anwender in die Schnittstelle 121 eingeloggt
ist. Bevor dies erfolgt, sieht der Besucher der Anwenderschnittstelle 111 den
Eigentümer
des Widget als offline; sobald das Teilnahme-Handshake (oben beschrieben)
abgeschlossen ist, wird die Schnittstelle 111 aktualisiert, um
den neuen Status des Eigentümers
des Widget wiederzugeben. Falls die verzögerte Nachricht die Form einer
Instant Message hat, kann der Anwender bei der Schnittstelle 121 antworten,
falls der Jabber-Anwender bei der Schnittstelle 111 noch
immer verfügbar
ist und auf der Webseite 110 präsent ist.If the user attempts on the A.COM website, with the user of the IM user interface 121 to establish contact, but the user of the IM user interface 121 is not logged in, the user can still send a message on the A.COM website. This message may include the initial participation request. The message is in the Jabber non-Guest server 150 stored and then provided to the user as soon as he logs in ( 360 ). In the case of a cached or delayed join request, the IM server accepts 160 still automatically the request as soon as the user enters the interface 121 is logged in. Before this happens, the visitor sees the user interface 111 the owner of the widget as offline; Once the participation handshake (described above) is completed, the interface becomes 111 Updated to reflect the new status of the owner of the widget. If the delayed message takes the form of an instant message, the user can log in to the interface 121 answer if the Jabber user at the interface 111 is still available and on the website 110 is present.
In
einer Ausführungsform
werden Nachrichten, die von dem registrierten Jabber-Anwender auf dem
Webserver 160 unter Verwendung der Schnittstelle 121 zu
dem Gast-Jabber-Anwender bei der Schnittstelle 111 gesendet
werden, verworfen, falls der Gastanwender die Sitzung beendet hat,
bevor die Nachricht empfangen wird (355).In one embodiment, messages are sent by the registered Jabber user on the web server 160 using the interface 121 to the guest Jabber user at the interface 111 sent if the guest user has ended the session before the message is received ( 355 ).
Der
Anwender des Widget kann die Verbindung jederzeit durch Klicken
auf einen Schalter zum Trennen der IM-Anwenderschnittstelle 111 beenden. Dies
beseitigt sämtliche
Präsenzteilnahmen
auf beiden Seiten und schließt
die Netzverbindung auf effektive Weise, so dass die Konversation
endet und künftige
Meldungen bezüglich
der Präsenz
auf beiden Seiten beendet werden. Für beide Seiten erscheint die
jeweils andere Seite als offline. Dies erlaubt Besuchern einer Webseite 110,
dass sie den Eigentümer
des Widget ignorieren können,
falls eine unerwünschte
Konversation oder der Wunsch, auf der Seite anonym zu browsen, besteht.
Das Widget erinnert sich an die Vorlieben des Besuchers für diese
Instanz, so dass wiederholte Rückkehrvorgänge zu der
Webseite 110, die das Widget 111 enthält, auf der
Grundlage der letzten Präferenz
des Besuchers mit dem Trennschalter gesperrt oder freigegeben bleiben.The user of the widget can open the connection at any time by clicking on a switch to disconnect the IM user interface 111 break up. This eliminates all presence participation on both sides and effectively closes the network connection so that the conversation ends and future announcements regarding presence on both sides are terminated. For both sides the other side appears as offline. This allows visitors to a website 110 that they can ignore the owner of the widget if there is an unwanted conversation or a wish to browse the site anonymously. The widget remembers the preferences of the visitor for this instance, allowing repeated returns to the website 110 that the widget 111 contains, on the basis of the last preference of the visitor with the disconnect switch locked or released.
In
einer Ausführungsform
kann die Vorliebe des Besuchers auf alle Widgets 111 auf
allen Webseiten 110 und nicht auf eine spezifische Instanz
angewendet werden. Diese Vorliebe ist auf der Client-Seite in einem
Cookie gespeichert.In one embodiment, the visitor's preference may apply to all widgets 111 on all websites 110 and not be applied to a specific instance. This preference is stored on the client side in a cookie.
Das
Widget beim Client 110 kann auch die Zeit verfolgen, in
der ein Anwender eine Webseite A.COM besucht, und diese Informationen
zu dem Anwender bei der IM-Anwenderschnittstelle 121 senden.
Die Sitzungslänge
und ähnliche
Informationen können
bei dem Server 160 für
die Analyse und die Erzeugung einer Metrik (einschließlich einer
Werbemetrik) gespeichert werden.The widget at the client 110 can also track the time a user visits a website A.COM and this information to the user at the IM user interface 121 sen the. The session length and similar information may be at the server 160 for the analysis and generation of a metric (including an advertising metric).
Ein
Cookie kann beim Client 110 gespeichert werden, um die
Häufigkeit,
mit der sich der Client 110 auf A.COM einloggt, zu verfolgen.
Das Cookie kann auch verwendet werden, um ein Alias für den Anwender,
der den Client 110 verwendet, zu speichern. Ein Hash-Algorithmus
kann ebenfalls verwendet werden, um dem Client 110 einen
eindeutigen Identifizierer zuzuweisen, der auf dem webbasierten
IM-Server 160 gespeichert ist. Zusätzlich werden dann, wenn ein
Anwender zusätzliche
Browserkarten oder -fenster öffnet,
IM-Sitzungen, die aufgebaut worden sind, nicht abgebrochen.A cookie may be at the client 110 be saved to the frequency with which the client 110 logs on A.COM to track. The cookie can also be used to create an alias for the user who owns the client 110 used to save. A hash algorithm can also be used to the client 110 assign a unique identifier on the web-based IM server 160 is stored. In addition, when a user opens additional browser cards or windows, IM sessions that have been established are not aborted.
Der
Eigentümer
des Widget, der die webbasierte IM-Webseite 120 verwendet,
hat die Fähigkeit, alle
verbundenen Widgets aus der Kameradenliste zu sehen, und hat in
einer Aktion die Fähigkeit,
eine Nachricht an alle Anwender, die mit Widgets verbunden sind,
in Echtzeit über
eine einfache Eingabe bei der IM-Anwenderschnittstelle 121 rundzusenden. Diese
Rundsendenachrichten werden von dem Widget der Webseite 110 interpretiert
und in der Anwenderschnittstelle 111 reflektiert. Diese
Reflexionen in der Anwenderschnittstelle 111 des Widget
sind nicht auf reinen Textinhalt beschränkt, sondern können auch
eine Änderung
des visuellen Layouts der Schnittstelle 111 wie etwa ein
Bild oder ein Icon, die den momentanen Status der Person angeben,
oder eine Klangdatei, um den Besucher vor einer Änderung zu warnen, sein.The owner of the widget, the web-based IM website 120 has the ability to see all connected widgets from the comrades list, and has in one action the ability to send a message to all users who are connected to widgets in real time via a simple input to the IM user interface 121 broadcast. These broadcast messages are taken from the widget of the website 110 interpreted and in the user interface 111 reflected. These reflections in the user interface 111 The widget is not limited to pure text content, but can also be a change to the visual layout of the interface 111 such as a picture or icon indicating the current status of the person, or a sound file to warn the visitor of a change.
In
einer Ausführungsform
kann der Anwender auf A.COM die Sitzung unter Verwendung der Schnittstelle 111 absichtlich
schließen,
wodurch die IM-Sitzung
beendet wird. Der Status des Gast-Jabber-Anwenders wird dann in
der Anwenderschnittstelle 121 aktualisiert. Falls die Webseite
nicht neu geladen wird und der Gastanwender keine neue Sitzung aufbaut,
wird derselbe Gast-Account vom Webserver 130 (und vom Jabber-Gastserver 140)
verwendet, weshalb die Anwenderschnittstelle 121 die Präsenzinformationen
als vom selben Anwender stammend behandelt.In one embodiment, the user on A.COM can initiate the session using the interface 111 intentionally, which ends the IM session. The status of the guest Jabber user then becomes in the user interface 121 updated. If the web page is not reloaded and the guest user does not set up a new session, the same guest account will be taken from the web server 130 (and from the Jabber guest server 140 ), which is why the user interface 121 the presence information is treated as coming from the same user.
In
einer weiteren Ausführungsform
wird derselbe temporäre
Gast-Jabber-Anwender-Account verwendet,
obwohl durch den Besucher auf A.COM 110 eine Seite bewegt
oder neu geladen worden ist. Anwender der Schnittstelle 111 können auf
Unterseiten einer Webseite 110 browsen, während sie
ihre Verbindung mit dem Webserver 130 aufrechterhalten.
Die Anwenderschnittstelle 121 des Eigentümers des
Widget auf dem Jabber-Nichtgast-Server 140 könnte Informationen über ihr
Browserverhalten oder damit in Verbindung stehende Informationen
anzeigen. Ein Weg, auf dem dies erzielt werden könnte, ist das Speichern der
Konfigurationsberechtigungen des Besuchers in einem Cookie oder
ein weiteres Verfahren, das mit der Browser-Speicherung in Beziehung
steht. Eine weitere Ausführungsform
könnte eine
Kommunikation mit den Servern von A.COM umfassen, um Sitzungsinformationen
zu speichern.In another embodiment, the same temporary guest Jabber user account is used, although by the visitor to A.COM 110 a page has been moved or reloaded. User of the interface 111 can on subpages of a webpage 110 Browse while they are connecting to the web server 130 maintained. The user interface 121 the owner of the widget on the Jabber non-guest server 140 could display information about their browsing behavior or related information. One way in which this could be achieved is to store the visitor's configuration permissions in a cookie or another method related to browser storage. Another embodiment could include communicating with A.COM's servers to store session information.
4 zeigt
einen Ablaufplan eines beispielhaften Prozesses 400, um
eingebetteten Code gemäß einer
Ausführungsform
zu erzeugen. Der Erzeugungsprozess 400 ermöglicht einem
Eigentümer
einer Webseite (wie etwa der Webseite von A.COM 110), eingebetteten
Code in die Webseite einzufügen,
um die IM-Anwenderschnittstelle 111 zu ermöglichen.
Durch den webbasierten IM-Server 160 wird ein Anwender
aufgefordert, Entwurfsparameter für die IM-Anwenderschnittstelle 111 wie
etwa einen Titel, ein Alias, einen Anwenderschnittstellen-Ort und eine
Oberfläche
auszuwählen
(410). Der Anwender wird dann aufgefordert, einen vorhandenen
Anwender-Account auf dem webbasierten IM-Server 160 zu wählen oder
einen neuen Anwender-Account zu erzeugen (420). Der webbasierte
IM-Server 160 speichert die vom Anwender bereitgestellten
Entwurfsparameter sowie irgendwelche Anwenderprofil-Informationen.
Diese Parameter, die für
die Instanziierung der Schnittstelle 111 notwendig sind,
werden in einer Konfigurationsdatei auf einem Konfigurationsserver 170,
der vom Webserver 160 getrennt sein kann, gespeichert (430).
Der webbasierte IM-Server 160 erzeugt automatisch Code,
der in den HTML-Code
eingebettet wird, um eine A.COM-Webseite 110 zu erzeugen,
so dass die IM-Anwenderschnittstelle 111 zusammen mit der
A.COM-Webseite 110 erzeugt wird, wenn A.COM geladen wird
(440). Der eingebettete Code zeigt auf eine im Konfigurationsserver 170 gespeicherte
Konfigurationsdatei, wobei die Konfigurationsdatei die vom Eigentümer ausgewählten Entwurfsparameter
speichert. Diese Konfigurationsparameter können unter Verwendung der Anwenderschnittstelle 121 oder
irgendeiner anderen Webseite, die dem Anwender-Account zugeordnet
ist, der den eingebetteten Code entworfen hat, modifiziert werden. 4 shows a flowchart of an example process 400 to generate embedded code according to an embodiment. The production process 400 allows an owner of a website (such as the A.COM website 110 ) to insert embedded code into the web page to the IM user interface 111 to enable. Through the web-based IM server 160 a user is prompted to design parameters for the IM user interface 111 such as selecting a title, an alias, a user interface location and a surface ( 410 ). The user is then prompted for an existing user account on the web-based IM server 160 to select or create a new user account ( 420 ). The web-based IM server 160 stores the user-provided design parameters as well as any user profile information. These parameters are responsible for the instantiation of the interface 111 necessary to be in a configuration file on a configuration server 170 that from the web server 160 can be separated, stored ( 430 ). The web-based IM server 160 automatically generates code embedded in the HTML code to an A.COM web page 110 to generate, so the IM user interface 111 together with the A.COM website 110 is generated when A.COM is loaded ( 440 ). The embedded code points to one in the configuration server 170 saved configuration file, where the configuration file stores the design parameters selected by the owner. These configuration parameters can be made using the user interface 121 or any other web page associated with the user account that designed the embedded code.
Der
Software-Code kann ein eingebetteter Flash, ein JavaScript, ein
Browser-Plugin oder eine Java-Routine sein. Eine solche Flash-Ausführungsform
umfasst die Verwendung von LocalConnection Objects in Flash, um
zwischen SWF-Dateien zu interagieren. Die LocalConnection-Klasse erlaubt das Senden
und Empfangen von Daten von einer SWF zu weiteren Sites. Eine Kommunikation
quer durch eine Domain (Cross-Domgin Communikation) wird durch Befehle
wie etwa LocalConnection.allowDomain() ermöglicht. Sites, die dieses Flash-Script
enthalten, kommunizieren mit der beabsichtigten Domain, um Informationen
zu übertragen.Of the
Software code can be an embedded flash, a javascript, a
Browser plugin or a Java routine. Such a flash embodiment
includes the use of LocalConnection Objects in Flash to
to interact between SWF files. The LocalConnection class allows sending
and receiving data from a SWF to other sites. A communication
right through a domain (cross-domain communication) is through commands
such as LocalConnection.allowDomain (). Sites that use this flash script
included, communicate with the intended domain to get information
transferred to.
Eine
JavaSrcipt-Ausführungsform
umfasst das dynamische Einbetten eines Script-Tags auf einer Seite.
Durch dynamisches Einfügen
eines Script-Tags auf einer Seite läuft das JavaScript sofort ab.
Das Script-Tag nimmt auf Scripts auf anderen Sites Bezug. Um die
Kommunikation zwischen dem dynamisch eingebetteten Script und der
anderen Domain zu erleichtern, gibt das enthaltene Script eine JSON-Antwort
(oder eine Antwort in irgendeinem anderen vorgegebenen Format) an
die in der URL des Script-Tags
enthaltenen Daten aus.A
JavaSrcipt embodiment
includes the dynamic embedding of a script tag on a page.
Through dynamic insertion
a script tag on a page, the JavaScript runs immediately.
The script tag references scripts on other sites. To the
Communication between the dynamically embedded script and the
To facilitate another domain, the included script gives a JSON response
(or an answer in any other predefined format)
in the URL of the script tag
contained data.
Eine
dritte Ausführungsform
umfasst eine heruntergeladene und installierte Software-Anwendung
wie etwa ein Browser-Plugin, wobei die installierte Anwendung einen
größeren Funktionalitätsbereich
bietet, als ein selbstständiger
Browser normalerweise zulässt.
Diese Anwendung ist eine installierte Erweiterung des Browsers wie
etwa ein Mozilla-Add-On oder eine separate Anwendung. Sobald ein
Anwender ein solches Plugin oder eine ähnliche Anwendung installiert,
hat die installierte Software die Fähigkeit, zu erfassen, auf welcher
Website ein Anwender browst, wobei sie diese Informationen und ähnliche
Informationen zu dem Haupt-Server 150 über ein Protokoll wie etwa
HTTP oder über
eine Verbindung, die einen anderen Internetprotokoll-Typ verwendet,
kommunizieren kann.A third embodiment includes a downloaded and installed software application, such as a browser plug-in, where the installed application provides a greater range of functionality than a standalone browser normally allows. This application is an installed extension of the browser such as a Mozilla add-on or a separate application. Once a user installs such a plugin or similar application, the installed software has the ability to track which web site a user is browsing, providing that information and similar information to the main server 150 can communicate over a protocol such as HTTP or over a connection using a different Internet Protocol type.
Eine
weitere Ausführungsform
umfasst das Einbetten eines kleinen Programms, eventuell in Java,
das Applet genannt wird, in Seiten, die durch den Website-Server 170 bedient
werden, wobei der <applet>-Tag verwendet wird.
Dieses Applet wird jedesmal heruntergeladen, wenn der Anwender die
Seite besucht, wobei der Code durch Software auf dem Computer des
Anwenders ausgeführt
wird, die die Java Virtual Machine usw. sein kann. Wenn der Code ausgeführt wird,
kann das Applet entsprechende Informationen sammeln, die dann zum
Hauptserver 150 über
HTTP oder ein anderes Internet-Protokoll zurückgemeldet werden können.Another embodiment involves embedding a small program, possibly in Java, called the applet, in pages passing through the website server 170 be served using the <applet> tag. This applet is downloaded each time the user visits the page, with the code being executed by software on the user's computer, which may be the Java Virtual Machine, etc. When the code is executed, the applet can collect appropriate information, which then becomes the main server 150 can be returned via HTTP or another Internet protocol.
Der
Anwender der A.COM-Webseite kann seine Präsenz auf viele Weisen bekannt
machen. Beispielsweise kann ein Icon für eine verbreitete Website
in der Nähe
des Anwendernamens bei dem Anwender der IM-Anwenderschnittstelle 121 wie etwa
ein "Y!" für "YAHOO" erscheinen. Es kann
auch der Name einer Website mit ihrem gewöhnlich bekannten Namen wie
etwa "Yahoo" oder durch einen Hyperlink
www.yahoo.com zeigen, was erscheinen kann, wenn sich ein Mauszeiger über ein
Icon bewegt. Der Anwender der IM-Anwenderschnittstelle 121 kann
eine Email, eine Instant Message, eine Textnachricht oder ein anderes
Verfahren des Meldens der Webpräsenz
eines Anwenders der IM-Anwenderschnittstelle 111 empfangen.
Ein Anwender kann einen oder mehrere Wege wählen, um einem weiteren Anwender
seine Webpräsenz
zu melden. Ein Anwender kann auch einen oder mehrere Wege wählen, die
ihm die Webpräsenz
eines weiteren Anwenders melden.The user of the A.COM website can announce its presence in many ways. For example, an icon for a popular website may be near the user name of the user interface user 121 like a "Y!" appear for "YAHOO". It can also show the name of a website with its usual name, such as "yahoo" or hyperlink www.yahoo.com, which may appear when a mouse cursor moves over an icon. The user of the IM user interface 121 may be an email, an instant message, a text message, or another method of reporting the web presence of a user of the IM user interface 111 receive. A user may choose one or more ways to report his web presence to another user. A user may also choose one or more ways to report the web presence of another user.
Es
sind ein Verfahren und ein System für eine eingebettete personalisierte
Kommunikation beschrieben worden. Selbstverständlich dienen die hier beschriebenen
Ausführungsform
lediglich der Erläuterung
und sollen den Gegenstand der vorliegenden Patentanmeldung nicht
beschränken.
Für den
Fachmann auf dem Gebiet sind viele verschiedene Abwandlungen, Verwendungen,
Ersetzungen, Kombinationen, Verbesserungen und Produktionsverfahren offensichtlich,
ohne vom Umfang der Erfindung oder vom Erfindungsgedanken abzuweichen.It
are a method and system for an embedded personalized
Communication has been described. Of course, those described here serve
embodiment
just the explanation
and are not intended to be the subject of the present application
restrict.
For the
Those skilled in the art are many different variations, uses,
Substitutions, combinations, improvements and production methods obviously,
without departing from the scope of the invention or from the inventive idea.
ZusammenfassungSummary
Es
werden ein Verfahren und ein System für eingebettete personalisierte
Kommunikation offenbart. Gemäß einer
Ausführungsform
umfasst ein computerimplementiertes Verfahren das Bereitstellen
von Software-Code, der in eine Webseite einzubetten ist. Die Webseite
wird einschließlich
des Software-Codes geladen. Eine Konfigurationsdatei wird von einem
Konfigurationsserver in Reaktion auf den Software-Code geholt. Eine
erste Instant Messaging-Anwenderschnittstelle wird auf der Webseite angepasst.
Zu einem webbasierten Instant Messaging-Server wird eine Anforderung
gesendet, die eine Instant Messaging-Sitzung mit einer zweiten Instant
Messaging-Anwenderschnittstelle initiiert.It
be a method and system for embedded personalized
Communication revealed. According to one
embodiment
For example, a computer-implemented method includes providing
of software code that is to be embedded in a web page. The website
will including
of the software code loaded. A configuration file is created by a
Configuration server fetched in response to the software code. A
first instant messaging user interface is adapted on the website.
Becoming a web-based instant messaging server becomes a requirement
sent an instant messaging session with a second instant
Messaging user interface initiated.