throbber
(12) Umted States Patent
`(10) Patent N0.:
`US 6,415,318 B1
`
`Aggarwal et a1.
`(45) Date of Patent:
`Jul. 2, 2002
`
`U3006415318B1
`
`(54)
`
`INTER-ENTERPRISE MESSAGING SYSTEM
`USING BRIDGEHEAD SERVERS
`
`6,185,603 B1 *
`6,233,318 B1 *
`6,260,148 B1 *
`
`709/206
`2/2001 Henderson et al.
`5/2001 Picard et a1.
`............ 379/8817
`7/2001 Aggarwal et a1.
`.......... 713/201
`
`(75)
`
`Inventors: Sudhanshu M. Aggarwal, Bellevue;
`Peter L. Beebee, Redmond; Rajeev
`Surati, Seattle; Leon C. W. Wong,
`Redmond; Martin R. Calsyn,
`Carnation, all of WA (US)
`
`(73) Assignee: MiCI‘OSOft Corporation, Redmond, WA
`US
`(
`)
`1sc a1mer,t e term 0 t is
`u ect to an
`yd’
`l
`’
`h
`f h’
`S bj
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`otice:
`N ’
`
`*
`
`(21) Appl. No.: 09/286,257
`
`(22)
`
`Filed:
`
`Apr. 5, 1999
`.
`.
`.
`Related U-S- Appllcatlon Data
`.
`.
`.
`.
`.
`(63) Contlnuatlon'm'Pa“ 0f aP19110990“ NO- 08/832758: filed on
`APR 4’ 1997’ now Pat’ NO' 5’943’478'
`Int. Cl.7 ................................................ G06F 13/00
`(51)
`('52) US. Cl.
`....................... 709/206; 709/204; 709/238;
`370/230
`(58) Field of Search ................................. 709/200, 204,
`709/206, 207, 219, 245, 238, 230, 249;
`345/741; 713/201; 370/230
`
`(56)
`
`References Cited
`‘
`7
`7‘
`‘
`U'S' PATENT DOCUMENTS
`5 550 984 A
`8/1996 Gelb ..................... 395/20017
`5,590,266 A
`12/1996 Carson et a1.
`.
`....... 395/340
`12/1997 Feigen et a1,
`..
`.. 395/18701
`5,699,513 A
`
`1/1998 Schloss .....
`707/104.1
`5,706,507 A *
`8/1998 HOffef ~~~~~~~~~~
`5,799,151 A *
`7O9/204
`
`5782330 A :
`2/1999 MaSters et aL
`709/223
`
`gfiggg 311111?“ {'1‘ “““
`‘ 3779532113
`gflgésggg : *
`.,
`,
`as erse a.
`,
`5,943,478 A *
`8/1999 Aggarwal et a1.
`713/201
`
`6,108,704 A *
`8/2000 Hutton et al.
`........
`709/227
`.......... 370/230
`6,185,184 B1 *
`2/2001 Mattaway et a1.
`
`OTHER PUBLICATIONS
`DellaFerra, et al., “The Zephyr Notification Service,” User-
`net Conference, Feb. 1988.
`LaMacchia, David, “The iFlame Client—Based Instanta-
`neous Datagram Communications Substrate,” SB Thesis,
`Massachusetts Institute of Technology, May 1996.
`* cited by examiner
`Primary Examiner—Zarni Maung
`Assistant Examiner—Wen-Tai Lin
`
`(74) Attorney, Agent, or Firm—Workman, Nydegger,
`Seeley
`
`(57)
`
`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 “Qt need dire“ access to the messaging sewers PTO-
`tected by the firewall in order to establish real-time com-
`munication with users inside the firewall. Thus, the messag-
`ing 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
`.
`.
`.
`.
`propertles assoc1ated With other clients.
`
`41 Claims, 5 Drawing Sheets
`
`10H
`
`FROM mm
`
`
`‘
`MESSAGE
`
`10k RECIPIENT ID
`BRIDGEHEAD
`1°‘\
`SERVER
`ADDRESS
`
`
`
`
`X
`BRIDGEHEAD SERVER 3
`mum
`MODULE
`
`7“
`
`
`see
`
`\
`
`MESSAGING
`SERVER a
`
`
`
`
`f5”
`
`
`
`D1RECTORY
`
`10°
`
`ewe
`
`1
`
`GOOGLE 1006
`
`GOOGLE 1006
`
`1
`
`

`

`US. Patent
`
`Jul. 2, 2002
`
`Sheet1,0f5
`
`US 6,415,318 B1
`
`NV
`
`F.o:
`
`mezzo:
`
`
`
`
`
`Owe>:2:
`
`oz_mmm00¢m
`
`
`mmmmhm<o<Fmoz_b<xwmo
`2gm5;:a2:8:fl2922::_________fl__
`
`m3;;
`
`:22:g:is35m550is2:20;is22:
`
`ES:
`
`355:::2ma:5:we:
`
`
`
`
`32:2.355::35%32:25:8:
`
`whosmm
`
`mmhzmsOo
`
`ow
`
`owififimt‘mflaflfy
`
`MU3|]Jun:313131.153
`
`om<0m>wx
`
`zo_h<o_4¢m<
`
`a25.8:ag:333382amigo:mEs:
`
`
`
`
`
`
`NV2<mcomm2<moo¥mmmxkozoz<ozmm<wzz<mw¢o
`
`:2we;
`
`
`
`:22;........
`
`<p<o
`
`
`
`m$382vmmmmms<moommmmIpo
`
`_________n_
`
`2
`
`
`
`
`
`
`
`
`
`
`

`

`US. Patent
`
`Jul. 2, 2002
`
`Sheet 2 0f 5
`
`US 6,415,318 B1
`
`oz_o<m$_=
`
`Siam
`
`m55.5
`
`..........................23Egt
`
`a?
`
`g
`
`$213.2.
`
`azagmm:
`
`m”Emma
`
`
`
`:9fa
`
`
`2:32:9:502:
`m5E”52%
`
`8
`
`026:8:
`
`$35
`
`25:0
`
`4.23::
`
`05:32”;
`
`<”Him;
`
`22332
`
`mmimw
`
`$26282
`
`Siam
`
`wza<
`m8:
`
`<$>$m
`
`3
`
`£250
`
`222.6
`
`_|||||||||||||||||||||||||||||||||||||||||||||||||I.gE
`
`3<2925253
`
`<._.zm_._o
`
`3
`
`
`
`
`
`
`
`
`
`
`

`

`US. Patent
`
`u
`
`US 6,415,318 B1
`
`2,mm1.,...........23E.......................L
`
`
`
`2:23;/n__u5ub,wemgnn5”Mammm3mm5::EE”u:3:ua"358%93152:M“<2@2553:u6fl"_a%mm:.9e:ammmn...............................a":Emw“v32E:m«2E583m2m3Mu
`WmMmwEE8EaWE9:52;;b.§2N2223%:m52%m525mm2:am"25:32
`
`mzoz<NE<omo
`
`_IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII.<zo:<N2<omo
`
`an
`
`Hmzxmhz_mON
`
`<No
`
`4
`
`
`
`
`

`

`US. Patent
`
`Mm2,
`
`h
`
`pm
`
`US 6,415,318 B1
`
`m3
`
`E2350
`
`5a
`
`45302m$52.
`
`Smgm52%ofixmoemm
`
`m3532J52%2:
`
`ofixuoemm9#252032:
`
`<55.522:
`
`$332
`
`v.o:
`
`365$:
`
`m535
`
`m3
`
`5
`
`
`
`
`

`

`US. Patent
`
`US 6,415,318 B1
`
`02
`
`3
`
`525::
`
`a:$2533a:5:28
`
`022.222me
`
`3:”E:Emw:330E:m<:33m3:”<:33H<EBg“:
`
`
`.umEm:m5::mW2:23;w2:22;
`
` 5umuEnm52:”"5):”uo:353$m252%mmm2,nVMm._r..........................Egg:.........N........a_........._h03
`
`
`
`<8
`
`6
`
`
`
`

`

`US 6,415,318 B1
`
`1
`INTER-ENTERPRISE MESSAGING SYSTEM
`USING BRIDGEHEAD SERVERS
`
`RELATED APPLICATION
`
`This is a continuation-in-part of US. patent application
`Ser. No. 08/832,758, now US. Pat. No. 5,943,478 entitled
`“System for Immediate Popup Messaging Across the
`Internet,” filed Apr. 4, 1997, which is incorporated herein by
`reference.
`
`BACKGROUND OF THE INVENTION
`
`1. The Field of the Invention
`
`The present invention relates to transmitting electronic
`messages between enterprises.
`In particular,
`the present
`invention relates to communicating messages from a sender
`outside of the recipient’s network to a bridgehead server
`inside the recipient’s network, where the address of a
`messaging server associated with the recipient is resolved.
`2. The Prior State of the Art
`
`Communication over the Internet takes on several forms,
`principally e-mail, chat, video and audio. These forms of
`communication are used in a variety of different contexts.
`Email is generally not perceived as “real-time" or “imme-
`diate”; messages may be read hours or days after they are
`sent. Chat is principally used as a social medium or for
`information sharing, not for point-to-point communication.
`Video and audio are both real-time, but
`they are both
`relatively difficult
`to use, and widespread acceptance
`requires improvements in existing technology and user
`interfaces.
`Another form of communication that exists on the Internet
`
`to a limited extent is instant messaging. For instance, a
`sending user can send a message to a recipient user, thereby
`causing the message to almost immediately appear on the
`computer terminal used by the recipient. The prototypical
`instant messaging system is the Zephyr system, which has
`been used on Athena, the campus computer network of the
`Massachusetts Institute of Technology in Cambridge, Mass.
`Zephyr permits any Athena user to send popup messages to
`any other Athena user, but not to any user across the Internet.
`Instant messaging differs from chat communication in
`several respects. First, chat users typically focus their atten-
`tion on a chat window for the duration of communication
`
`while instant messaging users are generally alerted on a
`per-message basis, allowing them to pay attention to instant
`messaging only when attention is required. Additionally, the
`chat model only makes sense for human-to-human
`communication, while instant messages may be used to
`transmit notifications from any source, such as a human user,
`an automated system that send notifications to remote sites,
`and the like.
`
`Firewalls are machines commonly used for enforcing
`corporate network security policies; most business users
`connect to the Internet through a firewall. Firewalls repre-
`sent a significant impediment to real-time communication
`between Internet users. Firewall designs generally prohibit
`external entities on the Internet from directly connecting to
`internal entities protected by the firewall. While such secu-
`rity mechanisms prevent external entities from maliciously
`manipulating internal entities, they have had the side effect
`of preventing asynchronous communication to an internal
`entity. Existing protocols for real-time Internet messaging
`are generally incapable of working through a firewall with-
`out explicit firewall policy modifications by systems admin-
`istrators.
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`As network systems administered by corporate entities
`and other organizations have grown larger and more
`widespread, the use of firewalls and related security tech—
`niques has increased during recent years. As data transmis-
`sion rates have increased, the ability to send large amounts
`of data over the Internet between local area networks has
`
`also increased. The fill potential of Internet communication
`has not been realized, however, because of the inability to
`securely operate instant messaging systems through fire-
`walls.
`
`SUMMARY AND OBJECTS OF THE
`INVENTION
`
`The present invention relates to messaging systems that
`are compatible with firewalls, thereby permitting instant
`messages to be transmitted over the Internet. According to
`the invention, a sending client residing at a network admin-
`istered by a first organization can cause an instant message
`to appear at a recipient client machine at another network
`administered by a second organization, even though either
`(or both) of the organizations may use a firewall to protect
`its network.
`
`Each network has a hierarchical arrangements of
`components, including a firewall, one or more bridgehead
`servers exposed through the firewall, one or more messaging
`servers each being capable of receiving messages from one
`or from more than one of the bridgehead servers, and one or
`more clients assigned to each of the messaging servers.
`Incoming messages include the address of the bridgehead
`server and information identifying the recipient client, but
`do not include the address of the messaging server associ-
`ated with the recipient client.
`Incoming messages are transmitted through the firewall
`and are received by the bridgehead server to which they are
`addressed. The bridgehead server resolves the address of the
`messaging server to which the recipient client is assigned.
`For instance, the bridgehead server compares the informa-
`tion identifying the recipient client with directory informa-
`tion stored at the network. The directory information can
`include a database of clients of the network and the mes-
`
`saging server to which each client is assigned. Once the
`address of the appropriate messaging server is resolved, the
`message is transmitted to that messaging server and, in turn,
`to the recipient client.
`An outgoing message can bypass any messaging server
`and bridgehead server associated with the client that sends
`the message as it is sent across the firewall and to the
`recipient’s bridgehead server. Transmitting outgoing mes-
`sages in this manner decreases the number of transmission
`hops that would otherwise be needed if the outgoing mes-
`sage were to pass through the messaging server and the
`bridgehead server.
`The message transmitted in the foregoing manner arrives
`at recipient client without the sending client knowing the
`identity or the address of the messaging server associated
`with the recipient client. Moreover, the sending client does
`not access the messaging server directly, but instead sends
`the message to the bridgehead server. The organization in
`which the recipient client resides can protect its network
`using a firewall
`to prevent direct outside access to its
`messaging servers, while allowing instant or other real-time
`or rapid messaging systems to operate on its network. These
`features of the invention provide a desirable degree of
`security that has not previously been possible in connection
`with instant messaging. Accordingly, the invention allows
`real-time messaging to be used in many organizations where
`
`7
`
`

`

`US 6,415,318 B1
`
`3
`it would otherwise not be used without compromising
`organizational security. The invention also is scalable to
`substantially any number of users.
`A recipient of a message can generate and transmit a
`response to the message as quickly as desired. Transmission
`of a response message is similar to that of the original
`message, with the original recipient client sending the
`response and the original sending client receiving the
`response. The client that sends the response (i.e., the original
`recipient client) does not need to know the address of the
`messaging server associated with the client that receives the
`response (i.e., the original sending client). In this manner,
`two or more clients located remotely with respect to one
`another can rapidly communicate through firewalls.
`Optionally, the invention includes a system for allowing
`clients to track property changes (such as online status
`changes) of other clients designated as correspondents.
`When using the invention to track online status changes of
`other clients, each client can maintain and display a con-
`tinuously updated contact list showing the online status of
`each selected correspondent, thereby allowing the client to '
`know which correspondents are available to engage in
`real-time communication over the Internet.
`
`10
`
`15
`
`The contact list feature of the invention can be imple-
`mented by maintaining at the messaging server a subscriber
`list for a client associated with the messaging server and a
`given property of that client. The subscriber list includes, for
`example, entries indicating which of the other clients have
`designated its client as a correspondent or, in other words,
`have subscribed to the online status property of its client.
`When the client logs on to its messaging server, the online
`status property of the client is modified. The messaging
`server of the client then refers to the subscriber list for the
`
`online status property and notifies each of the clients
`included in the subscriber list that the particular client is
`online. Similarly, when the particular client logs off or
`otherwise goes off line,
`the messaging server notifies the
`clients included in the subscriber list.
`
`Additional objects and advantages of the invention will be
`set forth in the description which follows, and in part will be
`obvious from the description, or may be learned by the
`practice of the invention. The objects and advantages of the
`invention may be realized and obtained by means of the
`instruments and combinations particularly pointed out in the
`appended claims. These and other objects and features of the
`present invention will become more fully apparent from the
`following description and appended claims, or may be
`learned by the practice of the invention as set forth herein-
`after.
`
`25
`
`30
`
`35
`
`40
`
`45
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`In order that the manner in which the above-recited and
`
`50
`
`other advantages and objects of the invention are obtained,
`a more particular description of the invention briefly
`described above will be rendered by reference to specific
`embodiments thereof which are illustrated in the appended
`drawings. Understanding that these drawings depict only
`typical embodiments of the invention and are not therefore
`to be considered limiting of its scope, the invention will be
`described and explained with additional specificity and
`detail through the use of the accompanying drawings in
`which:
`
`FIG. 1 illustrates an exemplary system that provides a
`suitable operating environment for the present invention;
`FIG. 2 is a schematic diagram illustrating a suitable
`network environment, including networks operated by dif-
`ferent organizations, in which the invention can be imple-
`mented.
`
`55
`
`60
`
`65
`
`4
`FIG. 3 is a schematic diagram illustrating the route by
`which a message is transmitted from a sending client to a
`recipient client
`in the network environment of FIG. 2
`according to one embodiment.
`FIG. 4 is a schematic diagram showing a bridgehead
`server as it resolves the address of a messaging server
`associated with the recipient client.
`FIG. 5 is a schematic diagram depicting one embodiment
`of a system for maintaining contact lists showing the online
`status of clients in thc nctworkcd cnvironmcnt.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`The present invention relates to transmission of messages,
`such as real-time or popup messages, from a sending client
`in one network to a recipient client in another network using
`techniques that can operate regardless of whether either or
`both of the networks are protected by a firewall. According
`to one embodiment of the invention, a bridgehead server that
`is accessible through a firewall receives the message from
`the sending client, resolves the address of a [messaging
`server associated with the recipient client, and forwards the
`message to the messaging server. The sending client can
`cause the message to arrive at the recipient client by includ-
`ing the address of the bridgehead server and information
`identifying the recipient client in the message, and does not
`need to know the identity or address of the messaging server.
`The use of the bridgehead server prevents entities outside
`the firewall of the recipient’s network from needing direct
`access to the messaging server, thereby enabling organiza—
`tions to support real-time messaging over the Internet with-
`out compromising organizational or network security.
`The invention is described below by using diagrams to
`illustrate either the structure or processing of embodiments
`used to implement the systems and methods of the present
`invention. Using the diagrams in this manner to present the
`invention should not be construed as limiting of its scope.
`The embodiments of the present invention may comprise a
`computer network adapted to perform the functions dis—
`closed herein or a special purpose or general purpose
`computer including various computer hardware, as dis-
`cussed in greater detail below.
`Embodiments within the scope of the present invention
`also include computer readable media having computer-
`executable instructions or data structures stored thereon.
`
`Such computer-readable media can be any available media
`which can be accessed by a general purpose or special
`purpose computer. By way of example, and not limitation,
`such computer-readable media can comprise RAM, ROM,
`EEPROM, CD-ROM or other optical disk storage, magnetic
`disk storage or other magnetic storage devices, or any other
`medium which can be used to store the desired computer-
`executable instructions or data structures and which can be
`accessed by a general purpose or special purpose computer.
`When information is transferred or provided over a network
`or another communications connection to a computer, the
`computer properly views the connection as a computer-
`readable medium. Thus, such a connection is also properly
`termed a computer-readable medium. Combinations of the
`above should also be included within the scope of computer-
`readable media. Computer—executable instructions
`comprise, for example, instructions and data which cause a
`general purpose computer, special purpose computer, or
`special purpose processing device to perform a certain
`function or group of functions.
`FIG. 1 and the following discussion are intended to
`provide a brief, general description of a suitable computing
`
`8
`
`

`

`US 6,415,318 B1
`
`5
`environment in which the invention may be implemented.
`Although not required, the invention will be described in the
`general context of computer-executable instructions, such as
`program modules, being executed by computers in network
`environments. Generally, program modules include
`routines, programs, objects, components, data structures,
`etc.
`that perform particular tasks or implement particular
`abstract data types. Computer-executable instructions, asso-
`ciated data structures, and program modules represent
`examples of the program code means for executing steps of
`the methods disclosed herein.
`
`10
`
`6
`bus 23. Alternatively, the input devices may be connected by
`other interfaces, such as a parallel port, a game port or a
`universal serial bus (USB). A monitor 47 or another display
`device is also connected to system bus 23 Via an interface,
`such as Video adapter 48. In addition to the monitor, personal
`computers typically include other peripheral output devices
`(not shown), such as speakers and printers.
`The computer 20 may operate in a networked environ-
`ment using logical connections to one or more remote
`computers, such as a remote computer 49. Remote computer
`49 may be another personal computer, a server, a router, a
`network PC, a peer device or other common network node,
`and typically includes many or all of the elements described
`above relative to the computer 20, although only a memory
`storage device 50 has been illustrated in FIG. 1. The logical
`connections depicted in FIG. 1 include a local area network
`(LAN) 51 and a wide area network (WAN) 52 that are
`presented here by way of example and not limitation. Such
`networking environments are commonplace in office-wide
`or enterprise-wide computer networks,
`intranets and the
`Internet.
`
`When used in a LAN networking environment, the com-
`puter 20 is connected to the local network 51 through a
`network interface or adapter 53. When used in a WAN
`networking environment, the computer 20 typically includes
`a modem 54 or other means for establishing communica-
`tions over the wide area network 52, such as the Internet.
`The modem 54, which may be internal or external,
`is
`connected to the system bus 23 Via the serial port interface
`46. In a networked environment, program modules depicted
`relative to the computer 20, or portions thereof, may be
`stored in the remote memory storage device. It will be
`appreciated that the network connections shown are exem-
`plary and other means of establishing a communications link
`between the computers may be used.
`
`Message Transmission
`
`FIG. 2 illustrates an exemplary network environment or
`messaging system in which the invention can be imple-
`mented. In FIG. 2, organization A administers a network
`60A, while organization B administers a network 60B.
`Networks 60A and 60B each have access to the Internet 80
`or another communication network capable of transmitting
`messages between networks. While only two organizations
`and their associated networks are illustrated in FIG. 2, the
`invention is scalable to any number of networks,
`organizations, or clients.
`Network 60A is protected by firewall 62A, while network
`60B is protected by firewall 62B. As used herein, the term
`“firewall” is to be broadly defined. Firewalls are defined to
`include any network node that controls or restricts the ability
`of an entity outside the node to communicate with network
`components inside the node. Firewalls also often restrict the
`ability of network components inside the firewall from
`communicating with outside entities. In the network enVi-
`ronment of FIG. 2, components residing in network 60A are
`inside firewall 62A, while other components of FIG. 2 are
`outside the firewall. Firewalls can be implemented in routers
`or in general purpose or special purpose computing devices
`in ways that are understood by those skilled in the art. While
`FIG. 2 illustrates firewalls 62 being implemented at net-
`works 60A and 60A,
`the principles disclosed herein can
`optionally be practiced in the absence of firewalls. For
`instance, organization B might be an Internet service pro-
`vider that is not protected by a firewall. In this case, the
`bridgehead servers in organization B might redirect con-
`
`Those sldlled in the art will appreciate that the invention
`may be practiced in network computing environments with
`many types of computer system configurations, including
`personal computers, hand-held devices, multi-processor
`systems, microprocessor-based or programmable consumer
`electronics, network PCs, minicomputcrs, mainframe
`computers, and the like. The invention may also be practiced
`in distributed computing environments where tasks are
`performed by local and remote processing devices that are ,
`linked through a communications network. In a distributed
`computing environment, program modules may be located
`in both local and remote memory storage devices. With
`reference to FIG. 1, an exemplary system for implementing
`the invention includes a general purpose computing device
`in the form of a conventional computer 20, including a
`processing unit 21, a system memory 22, and a system bus
`23 that couples various system components including the
`system memory 22 to the processing unit 21. The system bus
`23 may be any of several types of bus structures including
`a memory bus or memory controller, a peripheral bus, and a
`local bus using any of a variety of bus architectures. The
`system memory includes read only memory (ROM) 24 and
`random access memory (RAM) 25. A basic input/output
`system (BIOS) 26, containing the basic routines that help
`transfer information between elements within the computer
`20, such as during start-up, may be stored in ROM 24.
`The computer 20 may also include a magnetic hard disk
`drive 27 for reading from and writing to a magnetic hard
`disk, not shown, a magnetic disk drive 28 for reading from
`or writing to a removable magnetic disk 29, and an optical
`disk drive 30 for reading from or writing to removable
`optical disk 31 such as a CD-ROM or other optical media.
`The magnetic hard disk drive 27, magnetic disk drive 28,
`and optical disk drive 30 are connected to the system bus 23
`by a hard disk drive interface 32, a magnetic disk drive-
`interface 33, and an optical drive interface 34, respectively.
`The drives and their associated computer—readable media
`provide nonvolatile storage of computer-executable
`instructions, data structures, program modules and other
`data for the computer 20. Although the exemplary environ-
`ment described herein employs a magnetic hard disk, a
`removable magnetic disk 29 and a removable optical disk
`31, other types of computer readable media for storing data
`can be used, including magnetic cassettes, flash memory
`cards, digital Video disks, Bernoulli cartridges, RAMs,
`ROMs, and the like.
`A number of program modules may be stored on the hard
`disk, magnetic disk 29, optical disk 31, ROM 24 or RAM 25,
`including an operating system 35, one or more application
`programs 36, other program modules 37, and program data
`38. A user may enter commands and information into the
`computer 20 through keyboard 40, pointing device 42, or
`other input devices (not shown), such as a microphone, joy
`stick, game pad, satellite dish, scanner, or the like. These and
`other input devices are often connected to the processing
`unit 21 through a serial port interface 46 coupled to system
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`9
`
`

`

`US 6,415,318 B1
`
`10
`
`15
`
`25
`
`30
`
`35
`
`7
`necting clients to the appropriate messaging servers instead
`of forwarding incoming requests.
`The line segments connecting various network compo—
`nents in FIG. 2 represent
`the hierarchical relationships
`between components, and do not necessarily denote com-
`munication paths. Each network 60 includes one or more
`clients 64 that operate client software for generating, storing
`and displaying messages and for performing any other
`desired functions in relation to the messages. Clients 64 can
`constitute any desired computing or communication device
`that is capable of generating, storing, or displaying mes-
`sages. Moreover, the term “clients” extends to any comput-
`ing or communication device, whether associated with a
`human user,
`fully automated, or some combination of
`human-assisted and automated. The principles disclosed
`herein are generally applicable to processes and systems for
`sending messages from one networked site to another,
`regardless of the identity of the sender or the recipient. For
`example, messaging transmitted according to the invention
`can be between two users operating clients, thereby enabling .
`real-time communication between the users.
`In another
`example, the sending client is a computing or communica-
`tion device that automatically generates messages relating to
`the stock market and transmits them to recipients according
`to the techniques disclosed herein. In general, messages can
`be created according to any desired manner and can be
`transmitted between any desired clients.
`Each client 64 is assigned to one of any number of
`messaging servers 66 that reside in network 60. Messaging
`servers 66 can be substantially any network server that is
`capable of distributing messages to clients 64. As shown in
`FIG. 2, each network 60 can have multiple messaging
`servers 66, with each messaging server being associated
`with multiple clients 64. It is also possible to have a client
`that registers directly to the bridgehead server, foregoing an
`intermediate messaging server.
`In this alternative
`embodiment, the client performs any necessary functions
`that would otherwise be performed by its messaging server.
`In one embodiment, messaging servers 66 monitor the
`current online status of the associated clients 64, manage all
`communication to and from the clients, and store messages
`that are intended for the clients but cannot be immediately
`delivered (e.g., if a recipient client is not online when a
`message is sent). Each client of messaging server 66 can
`have a contact list and a subscriber list. The contact list
`
`40
`
`45
`
`includes all other users that a particular client has designated
`as “correspondents” that the client wishes to regularly keep
`in touch with. The subscriber list includes all other clients
`
`that have designated the particular client as a correspondent.
`Contact lists, subscriber lists, and related functions of mes-
`saging servers will be described in greater detail herein in
`reference to FIG. 5.
`
`Each network 60 further includes one or more bridgehead
`servers 68. The bridgehead servers can also be substantially
`any network server that is adapted to perform the functions
`that will be described in greater detail in reference to FIG.
`4. Bridgehead servers 68 are exposed through the corre-
`sponding firewall 62 in the sense that entities outside the
`network and outside the firewall can address a message to
`the bridgehead server and cause the message to be received
`thereby, Each bridgehead server is associated with a pool of
`one or more of the messaging servers 66. Moreover, any
`given messaging server 66 might receive messages from
`only a single bridgehead server or from multiple bridgehead
`servers, depending on which pool of messaging servers it is
`included in and the composition of the associated pool of
`bridgehead servers. In many cases, all bridgehead servers in
`
`50
`
`55
`
`60
`
`65
`
`10
`
`8
`an organization are capable of passing messages to all
`messaging servers.
`Selected network components of FIG. 2 are designated as
`client A, messaging server A, bridgehead server A, bridge-
`head server B, message server B, and client B. These
`designations are used in FIG. 3 to describe one example of
`the path of a message as it is transmitted from a sending
`client to a recipient client. FIG. 3 represents the network
`environment of FIG. 2, and shows only the network com-
`ponents that are useful in describing the path of the message
`according to a specific example.
`In this example, the user associated with client A (64A)
`decides to send a message 100, which may be an instant or
`real-time message, to client B (64B) at organization B. Thus,
`for purposes of message 100, client A is a sending client,
`while client B is a recipient client. Any given client can
`alternately be a sending client as it transmits a message and
`a recipient client as it receives a message. As shown in FIG.
`3, client B is assigned to messaging server B (’66B), and
`receives messages and, possibly, other network services
`from messaging server B. Because messaging server B and
`other messaging servers 66 can provide general network
`services to their clients, these messaging servers may store
`proprietary or sensitive information. For this or for other
`reasons, organization B may be unwilling to allow entities
`outside firewall 62B to have direct access to messaging
`server B or any other messaging server 66. This can be one
`of the principal reasons for which firewall 62B is used by
`organization B. Moreover, security issues associated with
`messaging servers 66 and other network servers have been
`largel

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket