20120424_xmpp_server_comparison_0 - eee

advertisement
Abuse Reporting
Unfortunately, not all XMPP entities are well-behaved -- they may send spam
of various kinds, harrass chat rooms, generate large amounts of traffic, etc.
Currently, if an XMPP entity (the "attacker") sends abusive stanzas to
another XMPP entity (the "victim"), there is no way for the victim or the
victim's server to inform the attacker's server that the attacker is generating
abusive traffic. In current practice, the victim's server may have no choice
but to terminate the server-to-server connection rather than continue to
accept the abusive traffic.
This situation is far from desirable. Therefore, this specification defines
several protocol functions that can help to discourage abuse on the XMPP
network:
1. A method by which a victim or the victim's server can send an abuse
report to the attacker's server.
2. A method by which the attacker's server can inform other servers (or
dedicated reporting services) that the IP address from which the
attacker connected may be compromised.
3. A method by which the victim's server can inform other servers (or
dedicated reporting services) that the attacker's server may be a
rogue server.
4. An application-specific stanza error condition that can be combined
with the standard <not-acceptable/> stanza error condition to inform
the attacker's server that a particular XMPP stanza is considered
abusive.
5. An application-specific stream error condition that can be combined
with the standard <policy-violation/> stream error condition to inform
the attacker's server about the reason for termination of an XML
stream (if necessary).
Ping
As specified in XMPP Core [1], the XML streams used in XMPP are bound to TCP.
Unfortunately, TCP connections can go down without the application (XMPP) layer
knowing about it. The traditional approach to solving this issue has been to
periodically send so-called "whitespace pings" over the XML stream.
VD về XEP
XEP-0071: XHTML-IM
This document defines methods for exchanging instant messages that contain
lightweight text markup. In the context of this document, "lightweight text markup"
is to be understood as a combination of minimal structural elements and
presentational styles that can easily be rendered on a wide variety of devices
without requiring a full rich-text rendering engine such as a web browser. Examples
of lightweight text markup include basic text blocks (e.g., paragraphs and
blockquotes), structural elements (e.g., emphasis and strength), lists, hyperlinks,
image references, and font styles (e.g., sizes and colors).
Ejabberd

Ideal for use in large-scale enterprise and
commercial applications, ejabberd scales naturally
to thousands of simultaneous users connected to
a single ejabberd node
and has been designed to provide exceptional
standards of fault tolerance. As an open source
technology, based on industry-standards, ejabberd
openfire
Openfire 
scaling is
proven to
many,
many
thousands
of
concurrent
users
Tigase
can be used to build bespoke solutions very cost
effectively (tens of thousands of simultaneous
users on a single node)
ejabberd servers reliably support tens of
thousands of simultaneous users on a single
node. Companies can elect to build clusters of
multiple nodes within their instant messaging
system and thereby easily increase the
number of potential users. ProcessOne has
designed and delivered solutions that support
more than 1,000,000 simultaneously
connected users in a single domain. However
large the network becomes, the platform will
continue to deliver exceptional performance
All our instant messaging products are based
on the ejabberd platform, an open-source
technology that is renowned in the industry for
its stability, reliability and scalability.
ProcessOne has been working with ejabberd
since the technology’s inception and has
unrivalled expertise in building customised
solutions based on the ejabberd platform
What is the maximum number of users that
can be supported on an ejabberd platform?
There is no maximum (or if there is, no-one
has reached it yet!) The platform is sufficiently
scalable to support thousands of simultaneous
users per node, and companies can set up
multiple nodes in a cluster to increase their
capacity without experiencing any degradation
in performance. Clustering is a useful
capability as it also allows companies to
increase their fault tolerance. If one node fails,
the other clusters will be unaffected
By adding further nodes in clusters,
organisations can not only multiply their user
numbers, but also enhance the system’s fault
tolerance. If a cluster fails, the performance of
the entire instant messaging application is
unaffected. Equally, individual clusters can be
added or removed on the fly without stopping
servers
ejabberd system users can therefore easily
communicate with users on other networks such
as AOL Messenger, ICQ, MSN and Yahoo
Messenger
Key features include:

A web administration console and command
line administration tools that ensure easy set
up

Support for encrypted connections to ensure
secure communications

Many built-in services, including Jabber User
Directory and Multi-User Chat

The ability to run on heterogeneous platforms
including Microsoft Windows, Linux, MacOSX
and Solaris

Standard Jabber transport compliance to
enable communication with other instant
messaging networks

Automatic collection of statistics for reporting
and system analysis

Virtual hosting, enabling ejabberd to run
several virtual domains from a single ejabberd
instance

Shared rosters, so that users can have
predefined entries in their contacts lists

External storage support

Large numbers of supported protocols (see
the supported protocols list for details)

Multi-lingual web administration interface

Full IPv6 support
The installers contain all the libraries and
dependencies needed to run ejabberd . ejabberd
is distributed under the terms of the GNU GPL
v2
Only thing I know (which doesn't mean that there
isn't any more with special licenses) is MySQL. It
is The GNU General Public License(GPL), which is
While the
basic
version of
the
OpenFire
server is
available
free of
cost,
an enterp
rise
version,
which
costs $15
per user
it is not in our interest to simply allow
other companies take this all for free
and compete against us on the market.
That would destroy the project.
If you are interested in a commercial
use of our code, sell product based on
the Tigase or extend standard
distribution with custom, closed source
components, I am sure we could come
to agreement which could benefit both
of us, your company and our project in
such a way which would allow us to
continue and focus on the code
development and for you to make a
not as "nice" for "secret" companies like The GNU
Lesser General Public License(LGPL) (GNU clib is
one with LGPL license). That means that IF you
use MySQL libraries and don't buy license from
them, you MUST deliver YOUR source to every
one that YOU deliver binaries to. Same goes for
your customers too. Can then go to others with
that to make other changes etc...
If they had used LGPL on there libraries, you
could have had any license you wnat on your
code.
Read http://www.mysql.com/ for info about
MySQL.
Read http://www.gnu.org/licenses/licenses
.html for info on different GPL licenses.
According to http://www.erlang.org/,
Ericsson calls Erlangs license Erlang Public
License (EPL). It suppose to be like Mozilla
license.
See http://www.erlang.org/EPLICENSE and
http://www.erlang.org/license/EPL1x0explained.html.
Looking in ejabberd's tarball (tar archive) looking
into the file COPYING, you can se that it is GNU
General Public License version 2 (GPL). So same
as for MySQL, without the posibilities like MySQL.
So, if you drop MySQL, I guess that you could use
ejabberd as you like, as long you don't add code
to core ejabberd (GPL license). Would guess that
modules would need to be licensed GNU to,
If you add to core, you have to make the source

available to your customers (but no need to
deliver to others, but the customers can).




per year,
adds
features
suitable
for a
large
multioffice
corporatio
n
In our lab
tests from
a few
years ago,
we got up
to 500K
simultaneo
us
connected
users with
a cluster of
2 nodes.
Those
users
where
chatting
and
changing
their
presences.
Comp
onents
that
will be
Open
Source
(4-4-2008)
Chat and
group chat
archiving
Reporting
Sparkweb
Fastpath
Client
control
h4
Componen
ts that will
not be
Open
Source

Clustering
-- the
clustering
module
money out of it.
If you are interested in a
commercial/business relationship,
please use the contact form to contact
me and we can discuss details

ejabberd Installation Support – the
expert assistance in installing the
ejabberd server. The package includes:
• support for 1 domain with up to 500
users
• support access by email or web
• 2 support tickets
relies on a
commercia
l 3rd party
component
and cannot
be made
Open
Source.
We no
longer
offer a way
to
purchase
clustering
as a
standalone
module.
Spark
Skinning
service -there's no
easy way
to make
this
service
open
source and
it relies on
commercia
l software
to function.
We hope
to add
more
customizat
ions
options to
SparkWeb
in the
future,
which
should be
a good
substitute.
Larger deployment? Contact us »
A ticket is defined as an exchange on a
well defined and well limited problem.
Support questions can cover installation
assistance only. This package cannot be
renewed – requires switching to support
contract for production systems
Quản lý cluster:
http://www.processone.net/tutorials/demo_teamleader2_overview_viewlet_swf.html
http://www.processone.net/tutorials/demo_teamleader4_supervision1_viewlet_swf.html
Virtual hosts support" - yes, Tigase
was built to support thousands of
virtual hosts
My
qu
esti
on
is will
Op
enfi
re
allo
w
me
to
do
this
kin
d
of
cus
to
miz
atio
n
to
the
XM
PP
ser
ver
?
You have
full access
to Openfire
API when
writing an
plugin.
However,
many
things are
possible,
not all. In
any case,
Openfire is
open
source,
you can
modify the
code
directly,
but that
not the
best way.
The whole RFC-3921 including roster managemen
subscription and privacy lists plus the recent modif
drafts
Generic communication blocking
Multi User Chat - available as an internal or extern
Stream Compression - zlib, for client to server link
between cluster nodes
XMPP Ping
Instant Messaging Intelligence Quotient (IM IQ) - H
vCard-Based Avatars
Full support for PostgreSQL database with databas
excluding dedicated DB schema for PubSub compo
Full support for built-in Derby database with datab
excluding dedicated DB schema for PubSub compo
Full support for MS SQL Server database with data
excluding dedicated DB schema for PubSub compo
Tigase server version 3.x
Full clustering support for HA and LB with plugga
strategies for perfect optimising the cluster to the cl
Drupal authentication - the Tigase server can share
authentication database with Drupal CMS and auth
agains Drupal user database
Close integration with Drupal CMS, the Tigase can
notifications to subscribed users about new posts, c
can also publish short news information via XMPP
clustering
If you want gateways to other IM networks like AIM, Yahoo, MSN, etc then you''ll want to use Openfire


Download