Subject: Re: [lemonade] draft-gulbrandsen-imap-notify-01 use cases

From: Arnt Gulbrandsen <[email-masked]>
Date: Mon, 12 Feb 2007 08:03:31 +0100

Lingyan Wu writes, answering me:
>> The STATUS commands are necessary (in this particular case at least) 
>> to be notified of changes that happened while the client was 
>> offline.
>
> Two small methods to save bandwidth as follows:
>
> 1, If STATUS commands (which are sent after starting NOTIFY) contain 
> UIDVALIDITY and HIGHESTMODSEQ (catched in client) of related 
> mailboxes , after receiving the STATUS commands the server can 
> determine which mailboxes are out of sync and send 
> STATUS(HIGHESTMODSEQ) responses of the mailboxes to client.
> E.g. The client sends 1000 STATUS commands containing UIDVALIDITY and 
> HIGHESTMODSEQ immediately after starting NOTIFY, the server 
> determines and sends only a few STATUS(HIGHESTMODSEQ) to client for 
> those mailboxes out of sync.

I don't see real savings. As far as I can tell, you're adding 30 bytes 
to the status command in order to save 30 bytes on the response.

> 2, After receiving Notify command, the server sends unsolicited  
> STATUS responses for all of the mailboxes to the client.

For all of the mailboxes where NewMessage events would be sent, you 
mean? Maybe that's a good idea. Not 100% sure.

Arnt

_______________________________________________
lemonade mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/lemonade

---

From: Lingyan Wu <[email-masked]>
Date: Mon, 12 Feb 2007 16:34:48 +0800

----- Original Message ----- 
From: "Arnt Gulbrandsen" <[email-masked]>
To: <[email-masked]>
Cc: "Lingyan Wu" <[email-masked]>; "Randall Gellens" 
<[email-masked]>
Sent: Monday, February 12, 2007 3:03 PM
Subject: Re: [lemonade] draft-gulbrandsen-imap-notify-01 use cases

>>> The STATUS commands are necessary (in this particular case at least) to 
>>> be notified of changes that happened while the client was offline.
>>
>> UIDVALIDITY and HIGHESTMODSEQ (catched in client) of related mailboxes , 
>> after receiving the STATUS commands the server can determine which 
>> mailboxes are out of sync and send STATUS(HIGHESTMODSEQ) responses of the 
>> mailboxes to client.
>> HIGHESTMODSEQ immediately after starting NOTIFY, the server determines 
>> and sends only a few STATUS(HIGHESTMODSEQ) to client for those mailboxes 
>> out of sync.
>
> I don't see real savings. As far as I can tell, you're adding 30 bytes to 
> the status command in order to save 30 bytes on the response.

Yes. You are right.

>
>> 2, After receiving Notify command, the server sends unsolicited  STATUS 
>> responses for all of the mailboxes to the client.
>
> For all of the mailboxes where NewMessage events would be sent, you mean? 
> Maybe that's a good idea. Not 100% sure.

For all of the mailboxes.
I meant the server sends STATUS responses for all of the mailboxes without 
receiving large numbers of STATUS commands first. After receiving the 
unsolicited STATUS responses, the client can determine which mailboxes are 
out of sync.

---

From: Alexey Melnikov <[email-masked]>
Date: Mon, 12 Feb 2007 13:26:48 +0000

Lingyan Wu wrote:

> I meant the server sends STATUS responses for all of the mailboxes
> without receiving large numbers of STATUS commands first. After
> receiving the unsolicited STATUS responses, the client can determine
> which mailboxes are out of sync.

Hi Lingyan,
Why should the server send STATUS responses for mailboxes not included
in the NewMessage event? If the client didn't include some mailboxes in
the NewEvent list, it means that the client is not interested in new
mail notifications for such mailboxes.

---

From: Lingyan Wu <[email-masked]>
Date: Tue, 13 Feb 2007 10:05:06 +0800

----- Original Message ----- 
From: "Alexey Melnikov" <[email-masked]>
To: "Lingyan Wu" <[email-masked]>
Cc: "Arnt Gulbrandsen" <[email-masked]>; <[email-masked]>
Sent: Monday, February 12, 2007 9:26 PM
Subject: Re: [lemonade] draft-gulbrandsen-imap-notify-01 use cases

> mail notifications for such mailboxes.

Hi Alexey,

Maybe I misunderstood what Arnt said.
It should be mailboxes whose events the client wants to get.

1、As the following paragraph (beginning with "/////////") said, the client 
sends large numbers of STATUS commands for mailboxes immediately after 
starting NOTIFY and the server sends large numbers of STATUS responses for 
these mailboxes.
2、What I said meant that the server sends the unsolicited STATUS responses 
for these mailboxes directly without receiving the large numbers of STATUS 
commands.

//////////////////////////
The NOTIFY command handles that nicely, just one wildcard and hardly any 
responses, but the client also has to send 1000 STATUS commands immediately 
after starting NOTIFY, so for a two-hour IMAP connection that's 1001 
commands and 2006 responses in order to notify the client of 4 events.

---

From: Eric Burger <[email-masked]>
Date: Fri, 23 Feb 2007 06:52:04 -0500

Just a general comment:

Many access networks have asymmetric bandwidth constraints.  Examples are
ADSL and WiMax.  Thus, if all things are equal, bytes on the down-link
(S->C) being traded for bytes on the up-link (C->S) is generally a good
thing.

For the specific case here, 30 bytes at 50kb/s is 6ms (including overheads).
Do we really care?

> unsolicited STATUS responses, the client can determine which mailboxes are

_______________________________________________________________________
Notice:  This email message, together with any attachments, may contain
information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated
entities,  that may be confidential,  proprietary,  copyrighted  and/or
legally privileged, and is intended solely for the use of the individual
or entity named in this message. If you are not the intended recipient,
and have received this message in error, please immediately return this
by email and then delete it.

_______________________________________________
lemonade mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/lemonade
Supplemental Web Site:
http://www.standardstrack.com/ietf/lemonade

---

From: Randall Gellens <[email-masked]>
Date: Fri, 23 Feb 2007 14:44:09 -0800

>  For the specific case here, 30 bytes at 50kb/s is 6ms (including overheads).

In general, I'm inclined to suspect that the cost of making any 
change probably isn't worth saving 30 bytes.
-- 
Randall Gellens
Opinions are personal;    facts are suspect;    I speak for myself only
-------------- Randomly-selected tag: ---------------
Kids Make Nutritious Snacks
--Newspaper headline