Method And System For Event Polling

Information

  • Patent Application
  • 20070224978
  • Publication Number
    20070224978
  • Date Filed
    March 26, 2007
    18 years ago
  • Date Published
    September 27, 2007
    18 years ago
Abstract
A method and system for event polling have been disclosed. According to one embodiment, a computer-implemented method comprises receiving a session request from a client device. A session key is provided to the client device in response to the session request. A session timer is set for a predetermined time period. An event revision number is received from the server device. The client is provided with an updated event revision number if the event revision number matches an expected revision number. An event from an instant messaging server is placed in a queue until the event revision number matches the expected revision number, the event including one or more of instant messages, buddy events, typing, and application events.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are included as part of the present specification, illustrate the presently preferred embodiment of the present invention and together with the general description given above and the detailed description of the preferred embodiment given below serve to explain and teach the principles of the present invention.



FIG. 1 illustrates a block diagram an exemplary system for peer-to-peer instant messaging with event polling;



FIG. 2 illustrates an exemplary computer architecture for use with the present system, according to one embodiment of the invention; and



FIG. 3 illustrates a flow diagram of an exemplary polling process, according to one embodiment of the present invention.



FIG. 4 illustrates a flow diagram of an exemplary client side polling process, according to another embodiment of the present invention.



FIG. 5 illustrates a flow diagram of an exemplary server side polling process, according to another embodiment of the present invention.


Claims
  • 1. A computer-implemented method, comprising: receiving a session request from a client device;providing to the client device a session key in response to the session request;setting a session timer for a predetermined time period;receiving an event revision number from the client device;providing the client with an updated event revision number if the event revision number matches an expected revision number; andqueuing an event from an instant messaging server until the event revision number matches the expected revision number, the event including one or more of instant messages, buddy events, typing, and application events.
  • 2. The computer-implemented method of claim 1, further comprising resetting a server timer if the event is received before the server timer expires.
  • 3. The computer-implemented method of claim 2, further comprising sending the event to the client if the event is received before the server timer expires.
  • 4. The computer-implemented method of claim 1, wherein a client timer is set equal to or greater than a server timer.
  • 5. The computer-implemented method of claim 1, further comprising closing a session if the session timer expires.
  • 6. The computer-implemented method of claim 3, further comprising providing instructions to the client to set a client timer that expires if the event is not received from the server in a second predetermined time period.
  • 7. The computer-implemented method of claim 6, further comprising providing instructions to the client to reestablish communications with the server if the client timer expires, and if a network failure timer has not expired a predetermined number of server no-response limit times.
  • 8. A computer-implemented method, comprising: receiving a session request from a client device;providing to the client device a session key in response to the session request;setting a session timer for a predetermined time period;receiving a data request from the client device;setting a server timer for a second predetermined time period; anddetermining if the server timer expires prior to receiving an event from an instant messaging server, the event including one or more of instant messages, buddy events, typing, and application events.
  • 9. The computer-implemented method of claim 8, further comprising resetting the server timer if the event is received before the server timer expires.
  • 10. The computer-implemented method of claim 9, further comprising sending the event to the client if the event is received before the server timer expires.
  • 11. The computer-implemented method of claim 8, further comprising sending an event response message to the client if the server timer has expired and an event has not been received from the instant messaging server, the event response message includes an updated revision number.
  • 12. The computer-implemented method of claim 8, further comprising closing a session if the session timer expires.
  • 13. A computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions when executed by a computer, cause the computer to perform: receiving a session request from a client device;providing to the client device a session key in response to the session request;setting a session timer for a predetermined time period;receiving an event revision number from the client device;providing the client with an updated event revision number if the event revision number matches an expected revision number; andqueuing events from an instant messaging server until the event revision number matches the expected revision number, the event including one or more of instant messages, buddy events, typing, and application events.
  • 14. The computer-readable medium of claim 13, having stored thereon additional instructions, the additional instructions when executed by a computer, cause the computer to further perform resetting a server timer if the event is received before the server timer expires.
  • 15. The computer-readable medium of claim 14, having stored thereon additional instructions, the additional instructions when executed by a computer, cause the computer to further perform sending the event to the client if the event is received before the server timer expires.
  • 16. The computer-readable medium of claim 13, having stored thereon additional instructions, the additional instructions when executed by a computer, cause the computer to further perform setting a client timer equal to or greater than a server timer.
  • 17. The computer-readable medium of claim 13, having stored thereon additional instructions, the additional instructions when executed by a computer, cause the computer to further perform closing a session if the session timer expires.
  • 18. The computer-readable medium of claim 15, having stored thereon additional instructions, the additional instructions when executed by a computer, cause the computer to further perform setting a client timer that expires if the event is not received from the server in a second predetermined time period that is equal to or greater than a length of the server timer.
  • 19. The computer-readable medium of claim 18, having stored thereon additional instructions, the additional instructions when executed by a computer, cause the computer to further perform providing instructions to the client to reestablish communications with the server if the client timer expires, and if a network failure timer has not expired a predetermined number of server no-response limit times.
  • 20. A computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions when executed by a computer, cause the computer to perform: receiving a session request from a client device;providing to the client device a session key in response to the session request;setting a session timer for a predetermined time period;receiving a data request from the client device;setting a server timer for a second predetermined time period; anddetermining if the server timer expires prior to receiving an event from an instant messaging server, the event including one or more of instant messages, buddy events, and typing events.
  • 21. The computer-readable medium of claim 20, having stored thereon additional instructions, the additional instructions when executed by a computer, cause the computer to further perform resetting the server timer if the event is received before the server timer expires.
  • 22. The computer-readable medium of claim 21, having stored thereon additional instructions, the additional instructions when executed by a computer, cause the computer to further perform sending the event to the client if the event is received before the server timer expires.
  • 23. The computer-readable medium of claim 20, having stored thereon additional instructions, the additional instructions when executed by a computer, cause the computer to further perform setting a client timer equal to or greater than a server timer.
  • 24. The computer-readable medium of claim 20, having stored thereon additional instructions, the additional instructions when executed by a computer, cause the computer to further perform closing a session if the session timer expires.
Provisional Applications (2)
Number Date Country
60785484 Mar 2006 US
60789339 Apr 2006 US