Nova Patents
EP1634162A2

Asynchronous real-time retrieval of data

Abstract

This record has no abstract on file.

Term

Term ended

Projected expiry passed 2 February 2024, 2.6 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

60 claims: 60 independent, 0 dependent

  1. 1
    Claims of equivalent WO 2004070568 A2 What is claimed is:1. A gateway server, comprising: a presentation service that receives data requests from a user's remote communication device, the data requests requesting to send data to or receive data from a data store;and a real-time service that relays the data requests from the presentation service to a access client associated with the data store.
  2. 2
    The gateway server recited in claim 1, wherein the presentation service includes a timer for determining a threshold time to return a reply to a data request to the user's remote communication device.
  3. 3
    The gateway server recited in claim 2, wherein the presentation service further includes device characteristics corresponding to the user's remote communication device, and the threshold time is determined based upon the device characteristics.
  4. 4
    The gateway server recited in claim 3, wherein the device characteristics specifically correspond to the user's remote communication device.
  5. 5
    The method recited in claim 3, wherein the device characteristics correspond to a generic type for the user's remote communication device
  6. 6
    The gateway server recited in claim 1, wherein the real-time service receives data requested in a data request, and relays the received data to the presentation service;and the presentation service forwards the received data to the user's remote communication device.
  7. 7
    The gateway server recited in claim 6, wherein the presentation service further includes a cache for storing the received data.
  8. 8
    The gateway server recited in claim 1, further including a directory identifying a connection between one or more access clients and the real-time service.
  9. 9
    The gateway server recited in claim 1, wherein the data store includes a database.
  10. 10
    The gateway server recited in claim 1, wherein the data store includes a server device that provides services to one or more client devices.
  11. 11
    The gateway server recited in claim 1, wherein the data store is selected from the group consisting of:a Microsoft Exchange server, a Lotus Domino server, an IMAP mail store, a POP3 mail store, and a NTFS file system.
  12. 12
    The gateway server recited in claim 1, wherein the presentation service receives the data requests from a user's remote communication device over a wireless network.
  13. 13
    The gateway server recited in claim 1, wherein a timing of communications between the real-time service and the access client is independent of a timing of communications between the presentation service and the user's remote communication device.
  14. 14
    The gateway server recited in claim 1, further comprising a directory storing an entry corresponding to the user's remote communication device and a connection between the real-time service and the access client, the entry identifying both the user and real-time service connected to the access client.
  15. 15
    The gateway server recited in claim 1, wherein the gateway server provides access to email data, calendar data and directory data.
  16. 16
    The gateway server recited in claim 1, wherein the data store resides behind a corporate firewall.
  17. 17
    The gateway server recited in claim 1, wherein the access client associated with the data stored resides behind a corporate firewall.
  18. 18
    The gateway server recited in claim 1, wherein the access client associated with the data store is a public email server.
  19. 19
    A method of retrieving data from a data store, comprising:receiving a data request from a user's remote communication device at a presentation service, the data request requesting to send data to or receive data from a data store;providing the received data request to a real-time service;and relaying the data request from the real-time service to a access client associated with the data store.
  20. 20
    The method recited in claim 19, further comprising:setting a timer upon receiving the data request;when the timer reaches a threshold value, determining whether data requested in the data request has been retrieved from the data store;and if the requested data has been retrieved, forwarding the requested data to the user's remote communication device, and if the requested data has not been retrieved, forwarding a message to the user's remote communication device instructing the user's remote communication device to resubmit the data request.
  21. 21
    The method recited in claim 20, wherein the message causes the remote communication device to automatically resubmit the data request.
  22. 22
    The method recited in claim 20, wherein the message prompts the user to resubmit the data request.
  23. 23
    The method recited in claim 20, further comprising:before the timer reaches a threshold value, periodically determining whether data requested in the data request has been retrieved from the data store;and if the requested data has been retrieved, forwarding the requested data to the user's remote communication device.
  24. 24
    The method recited in claim 20, further comprising determining device characteristics for the user's remote communication device;and setting the threshold value based upon the determined device characteristics.
  25. 25
    The method recited in claim 24, wherein the device characteristics specifically correspond to the user's remote communication device.
  26. 26
    The method recited in claim 24, wherein the device characteristics correspond to a generic type for the user's remote communication device.
  27. 27
    The method recited in claim 19, further comprising receiving, at the real-time service, data retrieved from the data store by the access client in response to a data request;relaying the retrieved data from the real-time service to the presentation service;and forwarding the retrieved data from the presentation service to the user's remote communication device.
  28. 28
    The method recited in claim 27, further comprising storing the retrieved data relayed from the real-time service in a cache provided by the presentation service before forwarding the retrieved data from the presentation service to the user's remote communication device.
  29. 29
    The method recited in claim 19, further comprising receiving authentication mformation from the user's remote communication device at the presentation service.
  30. 30
    The method recited in claim 19, further comprising creating an entry in a directory corresponding to the user's remote communication device and a connection between the realtime service and the access client, the entry identifying both the user and real-time service connected to the access client.
  31. 31
    The method recited in claim 19, further comprising establishing a presentation session corresponding to the data request from a user's remote communication device.
  32. 32
    The method recited in claim 31, wherein the presentation session is an entry in memory associating the user with a presentation session value.
  33. 33
    The method recited in claim 31, wherein the presentation session identifies a location in memory at which data retrieved from the data store in response to the data request will be stored.
  34. 34
    The method recited in claim 31, wherein the presentation session includes a flag indicating if data to be retrieved from the data store in response to the data request has been received and stored by the presentation service.
  35. 35
    The method recited in claim 19, wherein relaying the data request from the realtime service to an access client associated with the data store includes:establishing a secure connection between the real-time service and the access client;providing the access client with encryption information over the secure connection;encrypting the data request with the encryption information;and relaying the encrypted data request to the access client.
  36. 36
    The method recited in claim 35, wherein the secure connection is established using the Secure Sockets Layer protocol.
  37. 37
    The method recited in claim 35, wherein the secure connection is established through a load balancer that receives communications for the presentation service.
  38. 38
    The method recited in claim 35, wherein the encryption information includes a public encryption session identification and a private encryption key.
  39. 39
    The method recited in claim 35, further comprising receiving, at the real-time service, data retrieved from the data store by the access client in response to a data request.
  40. 40
    The method recited in claim 35, wherein receiving data retrieved from the data store by the access client in response to a data request includes:receiving the retrieved data from the access client over an unsecure connection, wherein the retrieved data has been encrypted using the encryption information;and decrypting the retrieved data using the encryption information.
  41. 41
    A communications method, comprising:receiving a communication from a user's device at a first server;determining that the user's device corresponds to a client associated with a second server;and providing the user's device with a redirect command instructing the user's device to direct subsequent communications to the second server.
  42. 42
    The communications method recited in claim 41, wherein determining that the user's device corresponds to a client associated with a second server includes checking a directory to identify the second server.
  43. 43
    The communications method recited in claim 42, wherein the second server is identified in the directory by a directory entry that includes the user, the second server and the client.
  44. 44
    The communications method recited in claim 41, wherein the redirect command is a cookie that is installed on the user's device.
  45. 45
    The communications method recited in claim 41, further comprising:authenticating the user's device by the first server;creating authentication information for the authentication of the user's device by the first server;providing handoff information to the user's device, which handoff information includes the authentication information, such that the subsequent communications from the user's device to the second server can employ the authentication information.
  46. 46
    The communications method recited in claim 45, wherein the handoff information further includes a time stamp.
  47. 47
    The communications method recited in claim 45, wherein the handoff information includes a virtual address for the second server.
  48. 48
    A communications method for communicating with a server, comprising:sending a first communication to a first server from a device corresponding to a client;in response, receiving a second communication from the first server, the second communication including redirect information identifying a second server;and transmitting subsequent communications from the device to the second server.
  49. 49
    The communications method recited in claim 48, wherein the redirect information is a cookie that is installed on the device.
  50. 50
    The communications method recited in claim 48, further comprising:authenticating the device with the first server;receiving handoff information from the first server, the handoff information including authentication information created by the authentication of the device with the first server;including the authentication information in a subsequent communication to the second server.
  51. 51
    The communications method recited in claim 50, wherein the handoff information further includes a time stamp.
  52. 52
    The communications method recited in claim 50, wherein the handoff information includes a virtual address for the second server.
  53. 53
    A communications method for receiving communications from a user's remote communication device, comprising:receiving a communication from a user's remote communication device at a presentation service on a first server;determining that the user's remote communication device corresponds to a desktop access client associated with a real-time service on a second server;and providing the user's device with a redirect command instructing the user's device to direct subsequent communications to a second presentation service on the second server.
  54. 54
    The communications method recited in claim 53, wherein the desktop access client is associated with a real-time service by a persistent connection.
  55. 55
    The communications method recited in claim 53, wherein determining that the user's remote communication device corresponds to the desktop access client associated with the real-time service on the second server includes checking a directory to identify the realtime service having an established connection with the desktop access client corresponding to the user's remote communication device.
  56. 56
    The communications method recited in claim 53, wherein the second server is identified in the directory by a directory entry that includes the user, the second server and the desktop access client.
  57. 57
    The communications method recited in claim 53, wherein the redirect command is a cookie that is installed on the user's remote communication device.
  58. 58
    The communications method recited in claim 53, further comprising:authenticating the user's remote communication device by the presentation service on the first server;creating authentication information for the authentication of the user's remote communication device by the presentation device on the first server;providing handoff information to the user's remote communication device, which handoff information includes the authentication information, such that the subsequent communications from the user's remote communication device to the second presentation service on the second server can employ the authentication information.
  59. 59
    The communications method recited in claim 58, wherein the handoff information further includes a time stamp.
  60. 60
    The communications method recited in claim 58, wherein the handoff information includes a virtual address for the second server.
Independent claims60