Instant Messaging Device/Server Protocol
Abstract
A generic IM device/server protocol permits a single implementation of a IM application on client devices for communicating with different enterprise IM servers types. The protocol defines a server maintained tag to identify the currency of a contact list it is managing for a client device. The client device receives and persists the tag and provides it at login. The server automatically sends a contact list update only if the tag indicates the client devices contact list instance is not current. Presence updates may also be sent automatically at login and the client device need not separately request contact list or presence updates at login. The client device may be pre-provisioned with respective graphics, text and server capabilities for multiple server types. A specific IM configuration may be selected in response to service information.
Claims
exact text as granted — not AI-modified1 . A method of a server device managing a contact list for a client device, the method comprising:
the server device defining a tag representing the currency of a contact list corresponding to the client device; the server device storing the tag; the server device updating the tag in response to updates to the contact list; the server device receiving from the client device, a value corresponding to a copy of the tag as previously stored by the client device; and the server device comparing the value received from the client device to the tag stored by the server device to determine if a contact list update is required on the client device.
2 . The method according to claim 1 , wherein the value received from the client device is received with a login request from the client device.
3 . The method according to claim 1 , wherein the tag comprises a time of the last contact list change or a hash of the contact list contents to represent the currency of the contact list.
4 . The method according to claim 1 , further comprising providing the tag to the client device prior to the updating.
5 . The method according to claim 1 , further comprising the server device sending a contact list update comprising the tag, to the client device, to enable the client device to store an updated value corresponding to the tag provided with the contact list update.
6 . The method according to claim 1 , further comprising the server device defining the contact list for the client device upon provisioning an account on the server device.
7 . The method according to claim 1 , wherein the updating is performed in response to a request to change the contact list received from the client device.
8 . The method according to claim 7 , further comprising the server device sending an updated tag to the client device in response to the request to change the contact list.
9 . A computer readable medium comprising computer executable instructions for managing a contact list for a client device, the computer executable instructions comprising instructions for:
defining a tag representing the currency of a contact list corresponding to the client device; storing the tag; updating the tag in response to updates to the contact list; receiving from the client device, a value corresponding to a copy of the tag as previously stored by the client device; and comparing the value received from the client device to the stored tag to determine if a contact list update is required on the client device.
10 . A server device comprising a processor and memory for managing a contact list for a client device, the server device being operable for:
defining a tag representing the currency of a contact list corresponding to the client device; storing the tag; updating the tag in response to updates to the contact list; receiving from the client device, a value corresponding to a copy of the tag as previously stored by the client device; and comparing the value received from the client device to the stored tag to determine if a contact list update is required on the client device.
11 . The server device according to claim 10 , wherein the value received from the client device is received with a login request from the client device.
12 . The server device according to claim 10 , wherein the tag comprises a time of the last contact list change or a hash of the contact list contents to represent the currency of the contact list.
13 . The server device according to claim 10 , further operable for providing the tag to the client device prior to the updating.
14 . The server device according to claim 10 , further operable for sending a contact list update comprising the tag, to the client device, to enable the client device to store an updated value corresponding to the tag provided with the contact list update.
15 . The server device according to claim 10 , further operable for defining the contact list for the client device upon provisioning an account on the server device.
16 . The server device according to claim 10 , wherein the updating is performed in response to a request to change the contact list received from the client device.
17 . The server device according to claim 16 , further operable for sending an updated tag to the client device in response to the request to change the contact list.
18 . A method of a client device having a server device manage a contact list therefor, the method comprising:
the client device receiving from the server device, a tag representing the currency of a contact list corresponding to the client device which is stored and updated by the server device; the client device storing a value corresponding to a copy of the tag; the client device sending the value to the server device; and if the value is different from a current tag stored by the server device, the client device receiving a new tag indicative of a contact list update being required on the client device.
19 . The method according to claim 18 , wherein the value is sent to the server device with a login request.
20 . The method according to claim 18 , wherein the tag comprises a time of the last contact list change or a hash of the contact list contents to represent the currency of the contact list.
21 . The method according to claim 8 , further comprising the client device receiving a contact list update comprising the new tag; and the client device storing an updated value corresponding to the new tag.
22 . The method according to claim 8 , further comprising provisioning an account on the server device to enable the server device to define the contact list for the client device.
23 . The method according to claim 8 , further comprising sending a request to change the contact list to have the server device update the tag.
24 . The method according to claim 23 , further comprising the client device receiving an updated tag in response to the request to change the contact list.
25 . A computer readable medium comprising computer executable instructions for a client device having a server device manage a contact list therefor, the computer executable instructions comprising instructions for:
receiving from the server device, a tag representing the currency of a contact list corresponding to the client device which is stored and updated by the server device; storing a value corresponding to a copy of the tag; sending the value to the server device; and if the value is different from a current tag stored by the server device, receiving a new tag indicative of a contact list update being required on the client device.
26 . A client device comprising a processor and memory for having a server device manage a contact list therefor, the client device being operable for:
receiving from the server device, a tag representing the currency of a contact list corresponding to the client device which is stored and updated by the server device; storing a value corresponding to a copy of the tag; sending the value to the server device; and if the value is different from a current tag stored by the server device, receiving a new tag indicative of a contact list update being required on the client device.
27 . The client device according to claim 26 , wherein the value is sent to the server device with a login request.
28 . The client device according to claim 26 , wherein the tag comprises a time of the last contact list change or a hash of the contact list contents to represent the currency of the contact list.
29 . The client device according to claim 26 , further operable for receiving a contact list update comprising the new tag;
and the client device storing an updated value corresponding to the new tag.
30 . The client device according to claim 26 , further operable for provisioning an account on the server device to enable the server device to define the contact list for the client device.
31 . The method according to claim 26 , further operable for sending a request to change the contact list to have the server device update the tag.
32 . The method according to claim 31 , further operable for receiving an updated tag in response to the request to change the contact list.Join the waitlist — get patent alerts
Track US2011264733A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.