Synchronous message management system

Abstract
An improved system for managing synchronous messages between messaging parties is disclosed herein. According to one embodiment, a centralized synchronous message management system is provided as a subscription service to various clients without the need for installation of additional equipment at the client's location. The synchronous message management system is connected to the various client networks, messaging service servers, and third party messagers through a public network, such as the Internet. According to one embodiment, all incoming and outgoing synchronous messages for a client are directed through the synchronous message management system. By doing this, the messages can be processed in real time by the synchronous message management system. Various policies and filtering algorithms can be applied to these messages by the synchronous message management system. According to another embodiment, the synchronous message management system can store policy information on behalf of a enterprise messaging system that resides entirely within a client network. According to yet another embodiment, the synchronous message management system can act as a clearinghouse for the transmission of synchronous messages between various enterprise messaging systems that are located within client networks.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments are illustrated by way of example in the accompanying figures, in which like reference numbers indicate similar parts, and in which:



FIG. 1 is a block diagram of an exemplary system for managing synchronous messages between client users and other messaging parties suitable for use with one or more of the disclosed embodiments;



FIG. 2 is a block diagram depicting a database associated with a message processing system suitable for use with one or more of the disclosed embodiments;



FIG. 3 is a process flow diagram depicting a representative process for registering a new user with a message processing system according to one embodiment;



FIG. 4 is a process flow diagram depicting a representative process for activating a client terminal for synchronous messaging according to one embodiment;



FIG. 4A is a process flow diagram depicting a representative process for activating a client terminal in an enterprise messaging system network for synchronous messaging according to one embodiment;



FIG. 5 is a process flow diagram depicting a representative process for applying policies to a synchronous messaging event according to one embodiment;



FIG. 5A is a process flow diagram depicting a representative process for screening the content of a synchronous messaging event according to one embodiment;



FIG. 6 is a process flow diagram depicting a representative process for activating a third-party user for synchronous messaging according to one embodiment;



FIG. 7 is a process flow diagram depicting a representative process for providing outgoing synchronous messages from a client terminal according to one embodiment;



FIG. 7A is a process flow diagram depicting a representative process for providing outgoing synchronous messages from a terminal in an enterprise messaging system according to one embodiment;



FIG. 8 is a process flow diagram depicting a representative process for receiving incoming synchronous messages from a third-party user according to one embodiment;



FIG. 8A is a process flow diagram depicting a representative process for receiving incoming synchronous messages from third-party user in an enterprise messaging system according to one embodiment; and



FIG. 9 is a process flow diagram depicting a representative process for providing synchronous messages between federated enterprise messaging systems according to one embodiment.


Claims
  • 1. A method for providing synchronous messages between a user in a client network and a second messaging party, the method comprising: providing a message processing system connected at least one client network, a second messaging party, and at least one messaging server through a public computer network;receiving a presence notifier from the client network at the messaging processing system, wherein the presence notifier corresponds to a user and a first messaging protocol;retrieving parameters corresponding to the user from a database in the message processing system;determining a level of permitted messaging activity for the user based upon the retrieved parameters;if messaging activity for the user is permitted by the parameters, then performing the following steps a)-b): a) replacing a user address in the user presence notifier with an address corresponding to the message processing system; andb) forwarding the user presence notifier to a messaging server corresponding to the first messaging protocol.
  • 2. A method according to claim 1, wherein the message processing system is connected to a plurality of client networks through a public computer network; and wherein the message processing system is connected to a plurality of messaging servers, each of which corresponds to a separate messaging protocol.
  • 3. A method according to claim 1, further comprising: receiving a messaging event at the message processing system;retrieving parameters corresponding to the messaging event from a database in the message processing system;testing the messaging event against the retrieved parameters to determine if the messaging event is permitted;if the messaging event is permitted by the parameters, then forwarding the messaging event to its destination.
  • 4. A method according to claim 2, wherein retrieving parameters further comprises retrieving client parameters corresponding to the client network and retrieving user parameters corresponding to the user.
  • 5. A method according to claim 2, further comprising recording the messaging event consistent with a retrieved recording parameter.
  • 6. A method according to claim 2, further comprising: testing the content of the messaging event consistent with a content screening parameter;if the messaging event fails the test, then performing a screening event selected from the group consisting of: notifying an administrator; blocking the messaging event; redacting the messaging event; queuing the messaging event for subsequent delivery; warning the sender of the messaging event; and quarantining the messaging event.
  • 7. A method according to claim 6, wherein testing the content of the messaging event further comprises: extracting metadata from the messaging event;processing the metadata with a scoring algorithm to generate a reputation score;applying a reputation policy to the reputation score to determine if the messaging event violates a reputation policy.
  • 8. A method according to claim 7, further comprising evaluating the actual message content for message content policy violation.
  • 9. A method according to claim 8, further comprising evaluating an attachment to the messaging event for a violation selected from the group consisting of: computer viruses, spyware, worms, and prohibited hyperlinks.
  • 10. A method according to claim 3 wherein the messaging event is an outbound message from the client user to the second messaging party.
  • 11. A method according to claim 3 wherein the messaging event is an inbound message from the second messaging party to the client.
  • 12. A method for registering a user for synchronous messaging between a user in a client network and a second messaging party, the method comprising: providing a message processing system connected at least one client network through a public computer network, the message processing system also connected to a second messaging party through a public computer network, and wherein the message processing system is further connected to at least one messaging server through a public computer network;initiating a registration process at the message processing system;receiving an identification and an electronic mail address corresponding to the user in the client network at the message processing system;establishing a profile corresponding to the user in the message processing system, the profile including the user's identification and the user's e-mail address;sending an activation key to the user's electronic mail address;receiving the activation key from the user through an electronic communication; andapproving the user for messaging activity.
  • 13. A method according to claim 12, wherein initiating the registration process occurs in response to receiving a presence notifier from the user in the client network at the message processing system.
  • 14. A method according to claim 12, wherein initiating the registration process occurs in response to receiving a registration request from the user in the client network at the message processing system.
  • 15. A method according to claim 12, wherein initiating the registration process occurs in response to receiving a synchronous message from the user in the client network at the message processing system.
  • 16. A method for managing synchronous messages between a first user in a client network and a second messaging party, the method comprising: providing a message processing system connected at least one client network, a second messaging party, and a second messaging server through a public computer network, wherein a first enterprise messaging system is located within the client network;receiving a request for user parameters from the first enterprise messaging system, wherein the user parameters define a permitted level of messaging activity by the first user in the client network;retrieving the user parameters from a database in the message processing system and providing the user parameters to the first enterprise messaging system;receiving a first user presence notifier at the messaging processing system from the client network, wherein the first user presence notifier corresponds to a first messaging protocol;replacing a user address in the first user presence notifier with an address corresponding to the message processing system;forwarding the first user presence notifier to the second messaging server, wherein the second messaging server corresponds to the first messaging protocol.
  • 17. A method according to claim 16, wherein the message processing system is connected to a plurality of client networks through a public computer network; and wherein the message processing system is connected to a plurality of messaging servers, each of which corresponds to a separate messaging protocol.
  • 18. A method according to claim 16, further comprising: receiving a messaging event at the message processing system;retrieving parameters corresponding to the messaging event from the database in the message processing system;testing the messaging event against the retrieved parameters to determine if the messaging event is permitted;if the messaging event is permitted by the parameters, then forwarding the messaging event to its destination.
  • 19. A method according to claim 18, wherein retrieving parameters further comprises retrieving client parameters corresponding to the client network and user parameters corresponding to the first user.
  • 20. A method according to claim 18, further comprising recording the messaging event consistent with a retrieved recording parameter.
  • 21. A method according to claim 18, further comprising: testing the content of the messaging event consistent with a content screening parameter;if the messaging event fails the test, then performing a screening event selected from the group consisting of: notifying an administrator; blocking the messaging event; redacting the messaging event; queuing the messaging event for subsequent delivery; warning the sender of the messaging event; and quarantining the messaging event.
  • 22. A method according to claim 21, wherein testing the content of the messaging event further comprises: extracting metadata from the messaging event;processing the metadata with a scoring algorithm to generate a reputation score;applying a reputation policy to the reputation score to determine if the messaging event violates a reputation policy.
  • 23. A method according to claim 22, further comprising evaluating the actual message content for message content policy violation.
  • 24. A method according to claim 23, further comprising evaluating an attachment to the messaging event for a violation selected from the group consisting of: computer viruses, spyware, worms, and prohibited hyperlinks.
  • 25. A method according to claim 17 wherein the messaging event is an outbound message from the client user to the second messaging party.
  • 26. A method according to claim 17 wherein the messaging event is an inbound message from the second messaging party to the client.
  • 27. A method for managing synchronous messages between a first user in a client network and a second user in the client network, the method comprising: providing a message processing system connected to the client network through a public computer network;receiving a request for first user parameters from a messaging server within the client network, wherein the first user parameters define a permitted level of messaging activity by the first user in the client network;retrieving the first user parameters from a database in the message processing system;providing the first user parameters to the messaging server;receiving a request for second user parameters from a messaging server within the client network, wherein the second user parameters define a permitted level of messaging activity by a second user in the client network;retrieving the second user parameters from a database in the message processing system; andproviding the second user parameters to the messaging server.
  • 28. A method according to claim 27, wherein retrieving parameters further comprises retrieving client parameters corresponding to the client network and retrieving user parameters corresponding to a user in the client network.
  • 29. A method according to claim 27, further comprising: testing the content of the messaging event consistent with a content screening parameter;if the messaging event fails the test, then performing a screening event selected from the group consisting of: notifying an administrator; blocking the messaging event; redacting the messaging event; queuing the messaging event for subsequent delivery; warning the sender of the messaging event; and quarantining the messaging event.
  • 30. A method according to claim 29, wherein testing the content of the messaging event further comprises: extracting metadata from the messaging event;processing the metadata with a scoring algorithm to generate a reputation score;applying a reputation policy to the reputation score to determine if the messaging event violates a reputation policy.
  • 31. A method according to claim 29, further comprising evaluating the actual message content for message content policy violation.
  • 32. A method according to claim 29, further comprising evaluating an attachment to the messaging event for a violation selected from the group consisting of: computer viruses, spyware, worms, and prohibited hyperlinks.
  • 33. A method for managing synchronous messages between a first user in a first client network and a second user in a second client network, the method comprising: providing a message processing system connected to the first client network and to the second client network through a public computer network;receiving a request for first user parameters from a first enterprise messaging system within the first client network, wherein the first user parameters define a permitted level of messaging activity by a first user;retrieving the first user parameters from a database in the message processing system;providing the first user parameters to the first enterprise messaging system;receiving a request for second user parameters from a second enterprise messaging system within the second client network, wherein the second user parameters define a permitted level of messaging activity by a second user;retrieving the second user parameters from a database in the second message processing system; andproviding the second user parameters to the second enterprise messaging system.
  • 34. A method according to claim 33, further comprising: receiving a messaging event from the first user to the second user at the message processing system;retrieving parameters corresponding to the first and second users from a database in the message processing system;testing the messaging event against the retrieved parameters to determine if the messaging event is permitted; andif the messaging event is permitted by the parameters, then forwarding the messaging event to the second enterprise messaging system.
  • 35. A method according to claim 34, wherein retrieving parameters further comprises retrieving client parameters corresponding to the respective client networks and retrieving user parameters corresponding to the first and second users.
  • 36. A method according to claim 34, further comprising recording the messaging event consistent with a retrieved recording parameter.
  • 37. A method according to claim 34, further comprising: testing the content of the messaging event consistent with a content screening parameter;if the messaging event fails the test, then performing a screening event selected from the group consisting of: notifying an administrator; blocking the messaging event; redacting the messaging event; queuing the messaging event for subsequent delivery; warning the sender of the messaging event; and quarantining the messaging event.
  • 38. A message processing system operable for processing synchronous messages between a user in a client network and a second messaging party, the message processing system operable for connection to at least one client network, a second messaging party, and at least one messaging server through a public computer network, the message processing system comprising a computer system operable for performing the following steps: receiving a presence notifier from the client network at the messaging processing system, wherein the presence notifier corresponds to a user and a first messaging protocol;retrieving parameters corresponding to the user from a database in the message processing system;determining a level of permitted messaging activity for the user based upon the retrieved parameters;if messaging activity for the user is permitted by the parameters, then performing the following steps a)-b): a) replacing a user address in the user presence notifier with an address corresponding to the message processing system; andb) forwarding the user presence notifier to a messaging server corresponding to the first messaging protocol.
  • 39. A message processing system according to claim 38, wherein the message processing system is connected to a plurality of client networks and a plurality of messaging servers through a public computer network, wherein each of the messaging servers corresponds to a separate messaging protocol.
  • 40. A message processing system according to claim 38 further operable for performing the following steps: receiving a messaging event at the message processing system;retrieving parameters corresponding to the messaging event from a database in the message processing system;testing the messaging event against the retrieved parameters to determine if the messaging event is permitted;if the messaging event is permitted by the parameters, then forwarding the messaging event to its destination.
  • 41. A message processing system according to claim 40 further operable for performing the following steps: testing the content of the messaging event consistent with a content screening parameter;if the messaging event fails the test, then performing a screening event selected from the group consisting of: notifying an administrator; blocking the messaging event; redacting the messaging event; queuing the messaging event for subsequent delivery; warning the sender of the messaging event; and quarantining the messaging event.
  • 42. A message processing system according to claim 41 further operable for performing the following steps: extracting metadata from the messaging event;processing the metadata with a scoring algorithm to generate a reputation score;applying a reputation policy to the reputation score to determine if the messaging event violates a reputation policy.
  • 43. A message processing system according to claim 42 further operable for evaluating the actual message content for message content policy violation.
  • 44. A message processing system according to claim 43 further operable for evaluating an attachment to the messaging event for a violation selected from the group consisting of: computer viruses, spyware, worms, and prohibited hyperlinks.
  • 45. A message processing system operable for processing synchronous messages between a user in a client network and a second messaging party, the message processing system operable for connection to at least one client network, a second messaging party, and a second messaging server through a public computer network, the message processing system comprising a computer system operable for performing the following steps: receiving a request for user parameters from a first enterprise messaging system within the client network, wherein the user parameters define a permitted level of messaging activity by the first user in the client network;retrieving the user parameters from a database in the message processing system and providing the user parameters to the first enterprise messaging system;receiving a first user presence notifier at the messaging processing system from the client network, wherein the first user presence notifier corresponds to a first messaging protocol;replacing a user address in the first user presence notifier with an address corresponding to the message processing system; andforwarding the first user presence notifier to the second messaging server, wherein the second messaging server corresponds to the first messaging protocol.
  • 46. A message processing system according to claim 45 that is connected to a plurality of client networks and a plurality of messaging servers through a public computer network; wherein each of the messaging servers corresponds to a separate messaging protocol.
  • 47. A message processing system according to claim 45 further operable for performing the following steps: receiving a messaging event at the message processing system;retrieving parameters corresponding to the messaging event from the database in the message processing system;testing the messaging event against the retrieved parameters to determine if the messaging event is permitted;if the messaging event is permitted by the parameters, then forwarding the messaging event to its destination.
  • 48. A message processing system according to claim 47 further operable for recording the messaging event consistent with a retrieved recording parameter.
  • 49. A message processing system according to claim 47 further operable for performing the following steps: testing the content of the messaging event consistent with a content screening parameter;if the messaging event fails the test, then performing a screening event selected from the group consisting of: notifying an administrator; blocking the messaging event; redacting the messaging event; queuing the messaging event for subsequent delivery; warning the sender of the messaging event; and quarantining the messaging event.
  • 50. A message processing system according to claim 49 further operable for performing the following steps: extracting metadata from the messaging event;processing the metadata with a scoring algorithm to generate a reputation score;applying a reputation policy to the reputation score to determine if the messaging event violates a reputation policy.
  • 51. A message processing system according to claim 50 further operable for evaluating the actual message content for message content policy violation.
  • 52. A message processing system according to claim 51 further operable for evaluating an attachment to the messaging event for a violation selected from the group consisting of: computer viruses, spyware, worms, and prohibited hyperlinks.
Provisional Applications (2)
Number Date Country
60821957 Aug 2006 US
60871074 Dec 2006 US
Continuation in Parts (1)
Number Date Country
Parent 11277017 Mar 2006 US
Child 11688837 US