-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
I've run into a condition that I think requires special considerations
in XEP-0220:
Say there are two multi-tenant servers (multi-one.example and
multi-dos.example), and each hosts hundreds (possibly thousands) of
domains. Both multi-tenant servers implement and support multiplexing.
In theory each should have two sockets to each other
(multi-one.example -> multi-dos.example, multi-dos.example ->
multi-one.example). This is fine if the traffic between the two
multi-tenants is very small per domain, but can run into a number of
problems if the traffic is moderate (or greater) per domain. Note
this is *per domain*, not per multi-tenant server.
My initial thought is to have some way of enforcing (in-protocol) a
limit on how many domains can be multiplexed over the same socket.
Something like "I [probably] am responsible for this domain, but I
need you to open a new socket." Obviously (to me at least) the
multi-tenant servers can spin up a new socket once internal outgoing
limits are reached, but that doesn't help inbound limits. While the
two multi-tenants could come to some agreement between each other, I
think it would be best if there were a standard agreement in protocol
for this.
To that end, it seems to me that using <resource-constraint/> error
condition is the most appropriate, possibly supplemented with an
application-specific condition:
<db:result from='cogswell-cogs.example'
to='spacely-sprockets.example'
type='error'>
<error type='modify'>
<resource-constraint xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
<new-connection-required xmlns='urn:xmpp:dialback:errors'/>
</error>
</db:result>
I imagine the dialback requests would be done again with the new
connection, to keep the overall flow simpler.
Thoughts?
- --
- - m&m
Matthew A. Miller
< http://goo.gl/LK55L >
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: GPGTools - https://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBCgAGBQJS5qQ4AAoJEOz0ck4QngW7rHMIAIbnA7BcVchFggnZxNWYDM4i
QmH1ihxEH0U7Zww9veiXIaJSqXy3rVa+ISHPLiqHjX1WhjSHfVV5Olk90d+ImWpT
4UfEji+R3D0GWdzv3xJPB1Oer4mmzdqH7QPgbAVXCMKL+JNDSh8qXWXwDZz5GCv1
wZPiG/KzgUi3fRSVK+jw5Jlmq1ARMKP9idzGTkCYRS3vrEfWq0o794YACphGKuFb
OMNah1dkZwi8u6SsKUCYHVw9XmOTYWx3FQ56enOEGFBdHt60ecq8bBCGhE9exgbE
B8G6jVv5KvwDEEg5gRSAlC0BdROrEU/Ujo38djSiunqV4B4Ktyi664if19jyEs8=
=GkBX
-----END PGP SIGNATURE-----