Patent US6415318B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6415318B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Inter-enterprise messaging system using bridgehead servers

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1999-04-05
•
Granted: 2002-07-02
•
Expires: 2019-04-05
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Systems and methods for transmitting messages, such as real-time messages, from an entity outside a firewall to a recipient inside the firewall. The messages include the address of a bridgehead server exposed through the firewall and information identifying the recipient client. The network protected by the firewall can include one or more bridgehead servers, one or more messaging servers associated with each bridgehead server, and one or more clients assigned to each messaging server. When a bridgehead server receives a message, it resolves the address of the messaging server to which the recipient client is assigned. The message is forwarded to the messaging server and, in turn, to the recipient client. The sender of the message does not need to know the identity or address of the messaging server. Moreover, the sender, who may reside outside the firewall, does not need direct access to the messaging servers protected by the firewall in order to establish real-time communication with users inside the firewall. Thus, the messaging systems are compatible with conventional network security measures employed by many organizations. The messaging systems can be used by clients to monitor the online status of other clients or to receive notification of properties associated with other clients.

Inventors

  • 👤 Sudhanshu M. Aggarwal
  • 👤 Peter L. Beebee
  • 👤 Rajeev Surati
  • 👤 Leon C. W. Wong
  • 👤 Martin R. Calsyn

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 08:09
CPC Classifications
G; G06; G06Q; G06Q10/00; G06Q10/10; G06Q10/107; H; H04; H04L; H04L51/00; H04L51/04; H04L51/21; H04L51/214; H04L63/00; H04L63/02; H04L63/0281; H04L63/029; H04L67/00; H04L67/2866; H04L67/30; H04L67/50; H04L67/55; H04L9/00; H04L9/40; G06F; G06F11/00; G06F11/30; G06F11/3003; G06F11/3006; G06F11/3055; G06F11/32; G06F11/324; G06F11/328; G06F11/34; G06F11/3466; G06F11/3495; G06F2201/00; G06F2201/875; H04L51/043; H04L67/306; H04L69/00; H04L69/30; H04L69/32; H04L69/322; H04L69/329

Claims Analysis

Total Claims: 48
Claim 1
Independent Claim 175 words
In a messaging system implemented in a network environment, a method for allowing an instant message from a sending client residing at a first network to be received by a recipient client residing at a second network, the second network including a firewall which prohibits instant messaging directed to either specific clients or specific messaging servers, the method comprising acts of: providing a pool of one or more bridgehead servers at the second network to receive instant messages on behalf of the recipient client, wherein the firewall at the second network allows instant messaging that is directed to the pool of one or more bridgehead servers; receiving an instant message from the first network at the pool of one or more bridgehead servers, the message including an address of the pool and information identifying the recipient client; identifying, at the bridgehead server, a messaging server residing at the second network and being associated with the recipient client; and transmitting the message from the bridgehead server to the messaging server for delivery to the recipient client.
Claim 2
Dependent Claim 175 words
In a messaging system implemented in a network environment, a method for allowing an instant message from a sending client residing at a first network to be received by a recipient client residing at a second network, the second network including a firewall which prohibits instant messaging directed to either specific clients or specific messaging servers, the method comprising acts of: providing a pool of one or more bridgehead servers at the second network to receive instant messages on behalf of the recipient client, wherein the firewall at the second network allows instant messaging that is directed to the pool of one or more bridgehead servers; receiving an instant message from the first network at the pool of one or more bridgehead servers, the message including an address of the pool and information identifying the recipient client; identifying, at the bridgehead server, a messaging server residing at the second network and being associated with the recipient client; and transmitting the message from the bridgehead server to the messaging server for delivery to the recipient client.
Claim 3
Dependent Claim 20 words
A method as defined in claim 1 , further comprising an act or generating lie message by the sending client.
Claim 4
Dependent Claim 23 words
A method as defined in claim 1 , wherein the instant message comprises a notification of a property associated with the sending client.
Claim 5
Dependent Claim 20 words
A method as defined in claim 3 , wherein the property relates to an online status of the sending client.
Claim 6
Dependent Claim 22 words
A method as defined in claim 3 , wherein the property relates to an event in the environment of the sending client.
Claim 7
Dependent Claim 48 words
A method as defined in claim 2 , wherein generating the instant message by the sending client comprises an act of including, by the sending client, the address of the pool of one or more bridgehead servers and the information identifying the recipient client in the instant message.
Claim 8
Dependent Claim 50 words
A method as defined in claim 6 , wherein including the address of the pool of one or more bridgehead servers and the information identifying the recipient client in the instant message is conducted without the sending client knowing the identity of the messaging server associated with the recipient client.
Claim 9
Dependent Claim 63 words
A method as defined in claim 6 , wherein a local messaging server at the first network is associated with the sending client and is capable of distributing messages to the sending client, the method further comprising an act of transmitting the instant message from the sending client to a local firewall at the first network, the message bypassing the local messaging server.
Claim 10
Dependent Claim 32 words
A method as defined in claim 1 , wherein identifying the messaging server comprises an act of comparing the information identifying the recipient client with directory information stored at the second network.
Claim 11
Dependent Claim 28 words
A method as defined in claim 1 , further comprising an act of transmitting a response to the instant message from the recipient client to tie sending client.
Claim 12
Dependent Claim 36 words
A method as defined in claim 10 , wherein the response bypasses both the messaging server associated with the recipient client and the bridgehead server at the second network during tie act of transmitting the response.
Claim 13
Dependent Claim 45 words
A method as defined in claim 1 , wherein receiving the instant message from the first network and transmitting the message from the bridgehead server are conducted such that the instant message is received by the recipient client from the sending client in real time.
Claim 14
Dependent Claim 23 words
A method as defined in claim 1 , further comprising an act of conveying a notification to a user of the recipient client.
Claim 15
Dependent Claim 34 words
A method as defined in claim 1 , wherein the sending client is a machine, the act of receiving the instant message comprising an act of receiving an automated asynchronous message from the machine.
Claim 16
Dependent Claim 218 words
In a messaging system implemented in a network environment including a sending client residing at a first network and a recipient client residing at a second network protected by a firewall, wherein a messaging server at the second network distributes messages to the recipient client, and wherein the firewall prohibits real-time messaging directed to either specific clients or specific messaging servers, a method for receiving a real-time message at the recipient client without the sending client knowing the identity of the messaging server, comprising acts of: exposing through the firewall, a pool of one or more bridgehead servers at the second network to receive real-time messages on behalf of the recipient client such that the firewall at the second network allows real-time messaging which is directed to the pool of one or more bridgehead servers; receiving a real-time message from the sending client at a bridgehead server included in the pool of one or more bridgehead servers, the real-time message including information that identified the recipient client without including an address of the messaging server that is associated with the recipient client; at the bridgehead server, resolving the address of the messaging server based at least in part on the information identifying the recipient client; and sending the real-time message from the bridgehead server to the messaging server.
Claim 17
Dependent Claim 218 words
In a messaging system implemented in a network environment including a sending client residing at a first network and a recipient client residing at a second network protected by a firewall, wherein a messaging server at the second network distributes messages to the recipient client, and wherein the firewall prohibits real-time messaging directed to either specific clients or specific messaging servers, a method for receiving a real-time message at the recipient client without the sending client knowing the identity of the messaging server, comprising acts of: exposing through the firewall, a pool of one or more bridgehead servers at the second network to receive real-time messages on behalf of the recipient client such that the firewall at the second network allows real-time messaging which is directed to the pool of one or more bridgehead servers; receiving a real-time message from the sending client at a bridgehead server included in the pool of one or more bridgehead servers, the real-time message including information that identified the recipient client without including an address of the messaging server that is associated with the recipient client; at the bridgehead server, resolving the address of the messaging server based at least in part on the information identifying the recipient client; and sending the real-time message from the bridgehead server to the messaging server.
Claim 18
Dependent Claim 25 words
A method as defined in claim 15 , further comprising an act of transmitting the real-time message from the messaging server to the recipient client.
Claim 19
Dependent Claim 27 words
A method as defined in claim 15 , wherein the address of the messaging server associated with the recipient client is not published outside of the firewall.
Claim 20
Dependent Claim 35 words
A method as defined in claim 15 , wherein resolving the address of the messaging server comprises an act of comparing the information identifying the recipient user with directory information stored at the second network.
Claim 21
Dependent Claim 127 words
A method as defined in claim 15 , wherein the first network is protected by a first firewall and includes a first messaging server that distributes messages to the sending client, the method further comprising acts of: generating, by the recipient client, a response to the real-time message, wherein the response includes an address of a first bridgehead server at the first network and information identifying the sending client, but does not include an address of the first messaging server; transmitting the response from the recipient client to the first bridgehead server included in the first network; transmitting the response from the first bridgehead server to the first messaging server at the first network; and transmitting the response from the first messaging server to the sending client.
Claim 22
Dependent Claim 26 words
A method as defined in claim 19 , further comprising an act of resolving tie address of tie first messaging server at the first bridgehead server.
Claim 23
Dependent Claim 25 words
A method as defined in claim 15 , further comprising an act of monitoring, by the messaging server, the online status of the sending client.
Claim 24
Dependent Claim 109 words
A method as defined in claim 21 , wherein monitoring the online status of the sending client comprises acts of: maintaining a subscriber list at a first messaging server associated with the sending client at the first network, the subscriber list including an entry indicating that the recipient client is subscribed to an online status property of the sending client; when the online status property of the sending client changes, referring to the subscriber list and sending notification to the messaging server at the second network based on the entry; and updating a contact list maintained for the recipient client at the second network in response to the notification.
Claim 25
Dependent Claim 147 words
A networked system for receiving an instant message sent from a sending client outside the networked system to a recipient client inside the networked system, comprising: one or more clients; one or more messaging servers, each having at least one of the one or more clients assigned thereto and being capable of distributing incoming instant messages to said at least one of the one or more clients; a bridgehead server that receives instant messages on behalf of the one or more clients, the bridgehead server including means for resolving an address of the messaging server to which a particular client is assigned when the bridgehead server receives a message to be transmitted to the particular client; and a firewall that prevents instant messaging directed to either the one or more clients or the one or more messaging servers, but supports instant messaging directed to the bridgehead server.
Claim 26
Dependent Claim 147 words
A networked system for receiving an instant message sent from a sending client outside the networked system to a recipient client inside the networked system, comprising: one or more clients; one or more messaging servers, each having at least one of the one or more clients assigned thereto and being capable of distributing incoming instant messages to said at least one of the one or more clients; a bridgehead server that receives instant messages on behalf of the one or more clients, the bridgehead server including means for resolving an address of the messaging server to which a particular client is assigned when the bridgehead server receives a message to be transmitted to the particular client; and a firewall that prevents instant messaging directed to either the one or more clients or the one or more messaging servers, but supports instant messaging directed to the bridgehead server.
Claim 27
Dependent Claim 50 words
A networked system as defined in claim 23 , wherein the means for resolving the address comprises: a unique address for each of the one or more messaging servers; and information specifying to which of the one or more messaging servers each of the one or more clients is assigned.
Claim 28
Dependent Claim 16 words
A networked system as defined in claim 23 , further comprising a plurality of bridgehead servers.
Claim 29
Dependent Claim 33 words
A networked system as defined in claim 25 , wherein each bridgehead server of the plurality of bridgehead servers is capable of transmitting messages to each of the one or more messaging servers.
Claim 30
Dependent Claim 75 words
A networked system as defined in claim 25 , wherein a first bridgehead server of the plurality of bridgehead servers is capable of transmitting messages only to a first pool of messaging servers selected from the one or more messaging servers and a second bridgehead server of the plurality of bridgehead servers is capable of transmitting messages only to a second pool of messaging servers that is different from the first pool of messaging servers.
Claim 31
Dependent Claim 186 words
For a messaging system implemented in a network environment, a computer program product carrying computer executable instructions that implement a method of allowing an instant message from a sending client residing at a first network to be received by a recipient client residing at a second network, wherein the second network includes a firewall which prohibits instant messaging directed to either specific clients or specific messaging servers, the method comprising acts of: providing a pool of one or more bridgehead servers at the second network to receive instant messages oil behalf of the recipient client, wherein the firewall at the second network allows instant messaging that is directed to the pool of one or more bridgehead servers; receiving an instant message from the first network at the pool of one or more bridgehead servers, the message including an address of tie pool and information identifying the recipient client; identifying, at the bridgehead server, a messaging server residing at the second network and being associated with the recipient client; and transmitting the message from the bridgehead server to the messaging server for delivery to the recipient client.
Claim 32
Dependent Claim 186 words
For a messaging system implemented in a network environment, a computer program product carrying computer executable instructions that implement a method of allowing an instant message from a sending client residing at a first network to be received by a recipient client residing at a second network, wherein the second network includes a firewall which prohibits instant messaging directed to either specific clients or specific messaging servers, the method comprising acts of: providing a pool of one or more bridgehead servers at the second network to receive instant messages oil behalf of the recipient client, wherein the firewall at the second network allows instant messaging that is directed to the pool of one or more bridgehead servers; receiving an instant message from the first network at the pool of one or more bridgehead servers, the message including an address of tie pool and information identifying the recipient client; identifying, at the bridgehead server, a messaging server residing at the second network and being associated with the recipient client; and transmitting the message from the bridgehead server to the messaging server for delivery to the recipient client.
Claim 33
Dependent Claim 25 words
A computer program product as defined in claim 28 , wherein the instant message comprises a notification of a property associated with the sending client.
Claim 34
Dependent Claim 38 words
A computer program product as defined in claim 29 , wherein the property relates to at least one of (i) an online status of the sending client, and (ii) an even in the environment of the sending client.
Claim 35
Dependent Claim 34 words
A computer program product as defined in claim 28 , wherein identifying the messaging server comprises an act of comparing the information identifying the recipient client with directory information stored at the second network.
Claim 36
Dependent Claim 32 words
A computer program product as defined in claim 28 , the method further comprising all act of transmitting a response to the instant message from the recipient client to the sending client.
Claim 37
Dependent Claim 38 words
A computer program product as defined in claim 32 , wherein the response bypasses both the messaging server associated with the recipient client and the bridgehead server at the second network during the act of transmitting the response.
Claim 38
Dependent Claim 25 words
A method as defined in claim 32 , the method further comprising an act of conveying a notification to a user of the recipient client.
Claim 39
Dependent Claim 36 words
A method as defined in claim 32 , wherein the sending client is a machine, and wherein the act of receiving the instant message comprises an act of receiving an automated asynchronous message from the machine.
Claim 40
Dependent Claim 230 words
For a messaging system implemented in a network environment including a sending client residing at a first network and a recipient client residing at a second network protected by a firewall, wherein a messaging server at the second network distributes messages to the recipient client and wherein the firewall prohibits real-time messaging directed to either specific clients or specific messaging servers, a computer program product carrying computer executable instructions that implement a method for receiving a real-time message at the recipient client without the sending client knowing die identity of the messaging server, the method comprising acts of: exposing through the firewall, a pool of one or more bridgehead servers at the second network to receive real-time messages on behalf of the recipient client such that the firewall at the second network allows real-time messaging which is directed to the pool of one or more bridgehead servers; receiving a real-time message from the sending client at a bridgehead server included in the pool of one or more bridgehead servers, the real-time message including information that identifies the recipient client without including an address of the messaging server that is associated with the recipient client; at the bridgehead server, resolving the address of the messaging server based at least in part on the information identifying the recipient client; and sending the real-time message from the bridgehead server to the messaging server.
Claim 41
Dependent Claim 230 words
For a messaging system implemented in a network environment including a sending client residing at a first network and a recipient client residing at a second network protected by a firewall, wherein a messaging server at the second network distributes messages to the recipient client and wherein the firewall prohibits real-time messaging directed to either specific clients or specific messaging servers, a computer program product carrying computer executable instructions that implement a method for receiving a real-time message at the recipient client without the sending client knowing die identity of the messaging server, the method comprising acts of: exposing through the firewall, a pool of one or more bridgehead servers at the second network to receive real-time messages on behalf of the recipient client such that the firewall at the second network allows real-time messaging which is directed to the pool of one or more bridgehead servers; receiving a real-time message from the sending client at a bridgehead server included in the pool of one or more bridgehead servers, the real-time message including information that identifies the recipient client without including an address of the messaging server that is associated with the recipient client; at the bridgehead server, resolving the address of the messaging server based at least in part on the information identifying the recipient client; and sending the real-time message from the bridgehead server to the messaging server.
Claim 42
Dependent Claim 29 words
A computer program product as defined in claim 36 , wherein the address of the messaging server associated with the recipient client is not published outside of the firewall.
Claim 43
Dependent Claim 37 words
A computer program product as defined in claim 36 , wherein resolving the address of the messaging server comprises an act of comparing the information identifying the recipient user with directory information stored at the second network.
Claim 44
Dependent Claim 29 words
A computer program product as defined in claim 36 , the method further comprising an act of monitoring, by the massaging server, the online status of the sending client.
Claim 45
Dependent Claim 190 words
In a messaging system implemented in a network environment, a method for transmitting a message from a sending client residing at a first network to a recipient client residing at a second network, wherein a local messaging server at the first network is associated with the sending client and is capable of distributing messages to the sending client, the method comprising the steps of: generating a message by the sending client comprising the step of including, by the sending client, an address of a pool of one or more bridgehead servers and information identifying the recipient client in the message; transmitting the message from the sending client to a local firewall at the first network, the message bypassing the local messaging server; transmitting the message from the first network to a bridgehead server included in the pool of one or more bridgehead servers at the second network; identifying, at the bridgehead server, a messaging server residing at the second network and being associated with the recipient client; transmitting the message from the bridgehead server to the messaging server; and transmitting the message from the messaging server to the recipient client.
Claim 46
Dependent Claim 190 words
In a messaging system implemented in a network environment, a method for transmitting a message from a sending client residing at a first network to a recipient client residing at a second network, wherein a local messaging server at the first network is associated with the sending client and is capable of distributing messages to the sending client, the method comprising the steps of: generating a message by the sending client comprising the step of including, by the sending client, an address of a pool of one or more bridgehead servers and information identifying the recipient client in the message; transmitting the message from the sending client to a local firewall at the first network, the message bypassing the local messaging server; transmitting the message from the first network to a bridgehead server included in the pool of one or more bridgehead servers at the second network; identifying, at the bridgehead server, a messaging server residing at the second network and being associated with the recipient client; transmitting the message from the bridgehead server to the messaging server; and transmitting the message from the messaging server to the recipient client.
Claim 47
Dependent Claim 161 words
In a messaging system implemented in a network environment, a method for transmitting a message from a sending client residing at a first network to a recipient client residing at a second network, comprising the steps of: transmitting a message from the first network to a bridgehead server included in a pool of one or more bridgehead servers at the second network, the message including an address of the pool and information identifying the recipient client; identifying, at the bridgehead server, a messaging server residing at the second network and being associated with the recipient client; transmitting the message from the bridgehead server to the messaging server; transmitting the message from the messaging server to the recipient client; and transmitting a response to the message from the recipient client to the sending client, wherein the response bypasses both the messaging server associated with the recipient client and the bridgehead server at the second network during the step of transmitting the response.
Claim 48
Dependent Claim 161 words
In a messaging system implemented in a network environment, a method for transmitting a message from a sending client residing at a first network to a recipient client residing at a second network, comprising the steps of: transmitting a message from the first network to a bridgehead server included in a pool of one or more bridgehead servers at the second network, the message including an address of the pool and information identifying the recipient client; identifying, at the bridgehead server, a messaging server residing at the second network and being associated with the recipient client; transmitting the message from the bridgehead server to the messaging server; transmitting the message from the messaging server to the recipient client; and transmitting a response to the message from the recipient client to the sending client, wherein the response bypasses both the messaging server associated with the recipient client and the bridgehead server at the second network during the step of transmitting the response.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-07-01 2005-12-31 2006-07-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-07-01 2009-12-31 2010-07-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-07-01 2013-12-31 2014-07-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag