`
`(19) World Intellectual Property Organization
`International Bureau
`
`(43) International Publication Date
`27 September 2001 (27.09.2001)
`
`
`
`PCT
`
`
`
`ND VAAT
`
`(10) International Publication Number
`WO 01/71992 A2
`
`(51) International Patent Classification’:
`
`HO4L 12/58
`
`(74) Agent: CARLSON,Brett, A.; Snell & Wilmer L.L.P.,
`One Arizona Center, Phoenix, AZ 85004-2202 (US).
`
`(21) International Application Number:=PCT/US01/09153
`(81) Designated States (national): AE, AG, AL, AM, AT, AU,
`AZ, BA, BB, BG, BR, BY, BZ, CA, CH, CN, CR, CU, CZ,
`DE, DK, DM, DZ, EE, ES, FI, GB, GD, GE, GH, GM, HR,
`HU, ID, IL, IN, IS, JP, KE, KG, KP, KR, KZ, LC, LK, LR,
`LS, LT, LU, LV, MA, MD, MG, MK, MN, MW, MX, MZ,
`NO, NZ, PL, PT, RO, RU, SD, SE, SG, SI, SK, SL, TJ, TM,
`TR, TT, TZ, UA, UG, US, UZ, VN, YU, ZA, ZW.
`
`(25) Filing Language:
`
`(26) Publication Language:
`
`English
`
`English
`
`(22) International Filing Date:
`
`22 March 2001 (22.03.2001)
`
`(30) Priority Data:
`60/191,085
`
`22 March 2000 (22.03.2000)
`
`US
`
`(71) Applicant (for all designated States exeept US): OMNI-
`POD, INC. [US/US]; 41 East 11th Street, New York, NY
`10003 (US).
`
`(72)
`(75)
`
`Inventors; and
`Inventors/Applicants (for US only): OPPENHEIMER,
`David [US/US]; 3348 Buckeye Lane, Fairfax, WA 22033
`(US). LIMPEROS,Kevin [US/US]; #1, 14th Street, Apt.
`607, Hoboken, NJ.07030 (US). HUNT, Matthew [US/US];
`55 Park Terrace Hast, Apt. B-81, New York, NY 10034
`(US).
`
`(84— Designated States (regional): ARIPO patent (GH, GM,
`KE, LS, MW, MZ, SD, SL, SZ, TZ, UG, ZW), Eurasian
`patent (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM), European
`patent (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE,
`IT, LU, MC, NL, PT, SE, TR), OAPI patent (BF, BJ, CF,
`CG, CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG).
`
`Published:
`without international search report and to be republished
`upon receipt ofthat report
`
`For two-letter codes and other abbreviations, refer to the "Guid-
`ance Notes on Codes and Abbreviations" appearing at the begin-
`ning ofeach regular issue ofthe PCT Gazette.
`
`(54) Title: INTEGRATED SYSTEM AND METHOD OF PROVIDING ONLINE ACCESS TO FILES AND INFORMATION
`
`200
`\y
`
`210
`
`woNe
`
`MESSAGING,5AO 220
`
`mL Lsil
`
`| tbneay
`
`id
`
`
`
`(57) Abstract: An integrated communications system for exchanging data messages on a data network suitably includes an interface
`configured to receive said data messages via the data network; a plurality of application servers configured to process data messages
`and to create output messages in response thereto; and a messengerservice configured to route data and output messages between the
`application servers and users. A method for exchanging data messages on a data network suitably includes receiving data messagesat
`an interface; routing data messages from the interface to an application server with a messaging service; processing the data messages
`at an appropriate application server to create output messages in response thereto; and providing output messagesto a recipient via
`the messaging service. An exemplary client application suitably includes a network interface module configured to send and receive
`messages Via a digital network; a file transfer module configuredto transfer data files between a local storage medium and a remote
`storage medium via the network interface module; an instant messaging module configured to transfer instant messages between
`the user and another user via the network interface module; and a user interface module configuredto display data files and instant
`messages for the user, and to accept inputs from the user.
`
`GOOGLE 1007
`
`QAONUMAA
`WO01/71992A2
`
`1
`
`GOOGLE 1007
`
`
`
`WO 01/71992
`
`PCT/US01/09153
`
`Integrated System and Methodof Providing Online Access
`to Files and Information
`
`FIELD OF THE INVENTION
`
`The invention relates generally to systems and methodsfor providing digital content via
`
`a computer network. More particularly, the invention relates to user interfaces for searching,
`
`obtaining, viewing and processingfiles and information via a computer network such as the
`
`Internet.
`
`BACKGROUND
`
`Digital networks such as the Internet have greatly revolutionized information sharing between
`
`individuals, corporate departments, and the like. Applications such as email, the World Wide
`
`Web (WWW), file transfer, remote logon and thelike have greatly simplified the way people
`
`communicate and have greatly increased the amount of information available to various users.
`
`As the amount of information increases, however, many users have noticed that finding and
`
`using such a large volume of information can become unwieldy. Personal information managers
`
`such as the Microsoft Outlook product available from the Microsoft corporation of Redmond,
`
`Washington, for example, provides integrated access to calendar, schedule and email
`
`information. Such programstypically utilize proprietary protocols for information access and
`
`retrieval, however, making their use over a public network (e.g. the Internet) impractical.
`
`Similarly, such programstypically do not provide file transfer services or storage offiles and
`
`data in a convenient location on the newtork. In recent years, many new services have
`
`attempted to expand the functionality of digital networks such as the Internet. The Napster
`
`service, for example, provides free accesstoliterally millions offree digital audio files that are
`
`distributed amongst millions of users throughout the globe. The Napster service is limited to
`
`2
`
`
`
`WO 01/71992
`
`PCT/US01/09153
`
`MP3files, however, and does not provide a seamless integration of multiple applications.
`
`Similarly, the America Online (AOL) and other internet provider services provide email and
`
`instant messaging functionality through the Internet, but do not typically integrate functions
`
`such as calendar, email, file sharing, instant messaging andthe like into a common application
`
`so that data may be easily processed and shared. Moreover, new services such as Idrive and
`
`Xdrive provide remote file sharing, but do not otherwise integrate user functionalities into a
`
`common application.It is therefore desired to create an application that integratesfile sharing,
`
`instant messaging and the like into a commonapplication.It is additionally desired that such an
`
`application would store information remotely on a digital network so that information is
`
`available to users accessing the application from home, work,travel, or the like.
`
`BRIEF DESCRIPTION OF EXEMPLARY EMBODIMENTS
`
`An integrated secrete system for exchanging data messages on a data network
`
`suitably includes an interface configured to receive said data messages via the data network; a
`
`plurality of application servers configured to process data messages and to create output
`
`messages in response thereto; and a messenger service configured to route data and output
`
`messages between the application servers and users.
`
`A method for exchanging data messages on a data network suitably includes receiving
`
`data messages at an interface; routing data messages fromthe interface to an application server
`
`with a messaging service; processing the data messages at an appropriate application server to
`
`create output messages in response thereto; and providing output messages to a recipient via the
`
`messaging service.
`
`An exemplary client application suitably includes a network interface module
`
`configured to send and receive messages via a digital network;a file transfer module configured
`
`to transfer data files between a local storage medium and a remote storage medium via the
`
`3
`
`
`
`WO 01/71992
`
`PCT/US01/09153
`
`network interface module; an instant messaging module configured to transfer instant messages
`
`between the user and another user via the network interface module; and a user interface
`
`module configured to display data files and instant messages for the user, and to accept inputs
`
`from the user.
`
`BRIEF DESCRIPTION OF THE DRAWING FIGURES
`
`The above and other features and advantages are hereinafter described in the following
`
`detailed description ofillustrative embodimentsto be read in conjunction with the
`
`accompanying drawing figures, wherein like reference numerals are usedto identify the same
`
`or similar parts in the similar views, and:
`
`Figures 1A and 1B areuserinterfaces for an exemplary pod application;
`
`Figure 2 is a block diagram for an exemplary server system;
`
`Figure 3 is a flowchart of an exemplary login process;
`
`Figure 4 is a flowchart of an exemplary data transfer operation;
`
`Figure 5A is a user interface for an exemplary instant message function;
`
`Figure 5B is a flowchart for an exemplary instant message function;
`
`Figure 6A is a user interface for an exemplaryfile transfer function;
`
`Figure 6B is a flowchart for an exemplary file transfer function; and
`
`Figures 7A-E are userinterfaces for other exemplary functions of an exemplary pod
`
`application.
`
`DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
`
`Various embodiments of the invention provide a computerized tool (referred to herein as
`
`a “pod application”,
`
`“pod”, “client”,
`
`“client application” or simply “the application”) for users
`
`to view, share, modify, communicate, create and/or store information via a digital network. The
`
`4
`
`
`
`WO 01/71992
`
`PCT/US01/09153
`
`pod application suitably performs various functions in conjunction with a server, which may be
`
`in logical communication with the pod application via a computer network suchas the Internet,
`
`a corporate intranet, an extranet, or the like.
`
`Exemplary functions performed by various embodiments of the pod application may
`
`include file management; browsing and searchingafile system or a network; sending and
`
`receiving emails and instant messages (IMs); participating in chat rooms; managing and
`
`maintaining personalized buddy lists; playing multimedia files such as video, audio or other
`
`multimediafiles; providing users with security control and application customization; providing
`
`scheduling and/or calendar functions; linking to advertisements for web pages, other pod
`
`applications, products, services or the like; viewing pods belonging to other users or services;
`
`dragging and dropping files or other information between pods; and providing a tool for
`
`creating customized skins to have the pod reflect user personality. Pod applications may also
`
`integrate multiple functionalities described above suchthatfile sharing, instant messaging,
`
`email and the like (for example) are handled by a single commonapplication. In various
`
`embodiments, data for the pod application is stored on a network server so that users have
`
`seamless access to their data from multiple computers, remote locations, while travelling, and
`
`the like. The pod application may further have the effect of building a communityofusers, all
`
`interacting through a commonplatform for sharing information and exploiting the network to
`
`its fullest.
`
`The systems and processes described herein may be described herein with reference to
`
`functional block components and various processing steps. It should be appreciated that such
`
`functional blocks may be realized by any number of hardware and/or software components
`
`configured to perform the specified functions. The systems described herein, for example, may
`
`employ various client and server computers including conventional hardware components,e.g.,
`
`memory elements, processing elements, logic elements, look-up tables, andthe like, which may
`
`5
`
`
`
`WO 01/71992
`
`PCT/US01/09153
`
`carry out a variety of functions under the control of one or more microprocessors or other
`
`control devices. Similarly, the software elements described herein may be implemented with
`
`any programmingor scripting language such as C, C++, Visual C++ (available from the
`
`Microsoft Corporation of Redmond, Washington), PASCAL, Java, assembler, PERL, PHP, any
`
`database programminglanguageorthelike, with the various algorithms being implemented
`
`with any combination ofdata structures, objects, processes, routines or other programming
`
`elements. Similarly, the invention could be used in conjunction with any type of personal
`
`computer, network computer, workstation, server, minicomputer, mainframe, or other computer
`
`running any version of Windows, MacOS, BeOS, Linux, UNIX,Solaris or any other operating
`
`system. Further, it should be notedthat the present invention might employ any number of
`
`conventional techniques for data transmission, signaling, data processing, network control, and
`
`the like. For example, radio frequency (RF) or other wireless techniques could be usedin place
`
`of any network technique described herein. Moreover, although the invention is frequently
`
`described herein as being implemented with TCP/IP communications protocols, it will be
`
`readily understoodthat the invention could also be implemented using IPX, Appletalk, IP3, IP-
`
`6, NetBIOS, OSI or any numberofexisting or future protocols.
`
`It should be appreciated that the particular implementations shown and described herein
`
`are illustrative of the invention and are not intended to limit the scope of the invention in any
`
`way. Indeed, for the sake of brevity, conventional data networking, application development
`
`and other functional aspects of the systems (and components of the individual operating
`
`components of the systems) may not be described in detail herein. Furthermore, the connecting
`
`lines shownin the variousfigures contained herein are intended to represent exemplary
`
`functional relationships, logical relationships and/or physical couplings between the various
`
`elements. It should be noted that many alternative or additional functional relationships or
`
`physical connections may be present in a practical system.
`
`6
`
`
`
`WO 01/71992
`
`PCT/US01/09153
`
`Figures 1A and 1B show userinterfaces suitable for use with an exemplary client
`
`application 100 (also referred to herein as a “pod application”). With reference to Figure 1A,
`
`client application 100 may be a computer application, applet, or other program that runs on a
`
`client computer (such as a personal computer, personal digital assistant, network computer,
`
`workstation or other computer). In an exemplary embodiment (such as the embodiment shown
`
`in Figure 1), client application 100 executes on a personal computer running any ofthe
`
`Windows operating systems available from the Microsoft Corporation of Redmond,
`
`Washington, the MacOSoperating system available from the Apple Corporation of Cupertino,
`
`California, the LINUX operating system available from a numberof free sources, or any other
`
`operating system.
`
`Figure 1A shows an exemplary pod application interface in a “closed” or “compact”
`
`state. With continued reference to Figure LA, client application 100 suitably includes a central
`
`display window 102, expansion buttons 104 and 106, advertisements 108, function activation
`
`buttons 110, a help button 112, and/or window minimize and close buttons 116 and 114
`
`(respectively), Central display window 102 mayinterface with a conventional browser
`
`application such as any version of the Internet Explorer available from Microsoft or Netscape
`
`Navigator available from the Netscape Corporation of Mountain View, California.
`
`In such
`
`embodiments, central display window suitably displays files in HTML, PDF or another suitable
`
`format. Expansion buttons 104/106 expand the interface to client application 100 as
`
`appropriate, and as described more fully below in conjunction with Figure 1B. Optional
`
`advertisements 108 may be graphical images in GIF, TIFF, JPEG or any other format, and may
`
`be linked via hypertext to web pages on the Internet or another network. In other embodiments,
`
`advertisements 108 may be eliminated or may be re-configured to provide links to websites or
`
`data services, links to departments or other services available via a corporate internet, or for any
`
`other purpose. Function activation buttons 110 may be selected by a user to choosea particular
`
`7
`
`
`
`WO 01/71992
`
`PCT/US01/09153
`
`service or application desired. Exemplary function activation buttons 110 suitably include
`
`buttonsto activate email 110A, playing multimediafiles 110B, calendar 110C,file sharing and
`
`searching 110D, messaging 110E, pod utilities (such as changing skins, passwords, etc.) 110F,
`
`and pod search functions 110G. Optional help button 112 may provide a link to a help menu or
`
`display that may be shownin display window 102 as requested by the user. Such a help display
`
`may provide information about using client application 100, configuration issues,
`
`troubleshooting, and the like. Window close and minimize buttons 114 and 116 are
`
`conventional buttons associated with many applications for closing or minimizing the interface
`
`to client application 100, and these buttons may be altered, replaced, or eliminated depending
`
`uponthe particular embodiment and operating system being run by the user. Of course the
`
`displays and interfaces discussed herein are for explanatory purposes only, and may vary
`
`significantly from embodiment to embodiment. Certain buttons (such as expansion buttons)
`
`may be moved, changed oreliminated in other embodiments, for example. Similarly, function
`
`activation buttons 110 may be augmented,replaced,oraltered significantly depending upon the
`
`particular functions provided by any particular embodimentofclient application 100.
`
`Moreover, various embodiments provide the ability to create “skins” or customizable interfaces
`
`to client application 100, Such customizations may be performed with a development tool
`
`(such as a skin development kit (SDK) and may be stored onaserver, as described morefully
`
`below.
`
`Figure 1B showsa user interface for an exemplary “expanded” view ofclient
`
`application 100. With reference to Figure 1B, client application 100 has been expanded in
`
`response to user activation of expansion buttons 104 and 106 to reveal a contacts window 120
`
`and a data management window 122. Ofcourse not all embodiments ofclient application 100
`
`are expandable, and many formsof expansionto reveal additional data windowscould be
`
`formulated. With reference again to Figure 1B, contacts window 120 mayincludelists of
`
`8
`
`
`
`WO 01/71992
`
`PCT/US01/09153
`
`other pod applications of interest to the user, such as pods belongingto friends, family,
`
`“buddies”, coworkers, office or department mates, or the like. Window 120 mayalso include
`
`buttons to add new buddy groupsor pods to thelist, to open or delete podsalreadyin thelists,
`
`to send an email or instant message to another pod, to obtain more information abouta pod(e.g.
`
`a “pod profile”) or any other functions as appropriate. Data management window 122 suitably
`
`includes menusorlists for managing an email inbox, files stored within client application 100,
`
`messages, multimediafiles (such as MPEG, MP3, streaming audio or videofiles, or the like).
`
`A trash list for discarded files, messages, emails and the like may also be provided.
`
`To use client application 100, a user suitably selects a function from function select
`
`buttons 110 and provides input as appropriate via display window 102, contacts window 120,
`
`data management window 122, or the like. To send an instant message to another pod
`
`application user, for example, a user might select messaging button 110E,then select a message
`
`recipient from a buddy list in window 120. Display window 102 suitably prompts the user to
`
`enter a message via a keyboard and mouse, pen input, or other input device, and the messageis
`
`appropriately sent. Various embodimentsalso allow the user to attach a file (such as a graphics
`
`or soundfile) to the message byselecting thefile from data management window 122. Files
`
`and other data associated with each user’s client application 100 may be stored on a server ona
`
`digital network so that files, data, messages andthe like are available from any location where
`
`the user obtains access to the network. A user may access the same pod from computersat
`
`home and work, for example, as well as from airport kiosks, personaldigital assistants, and the
`
`like. Because information associated with client application 100 may be stored on a network
`
`server, the data is available to the user from any location having access to the network.
`
`Figure 2 is a block diagram of an exemplary system 200 for integrated processing of
`
`various applications supported by pod applications 100. With reference to Figure 2, pod
`
`applications 100A and 100B suitably communicate with server system 204 via digital network
`
`9
`
`
`
`WO 01/71992
`
`PCT/US01/09153
`
`202. Digital network 202 may be any digital communications network such as the Internet, a
`
`corporate intranet, an extranet, the public switched telephone network (PTSN), a wireless or
`
`optical network, or any other communications network. Computers running conventional web
`
`browsers 204 or other network applications such as email, file transfer, remote login and the
`
`like may also use network 202 in tandem with pod applications 100, and indeed multiple pod
`
`applications 100, internet browsers 204, and the like may reside on a single computer system
`
`operated by a particular user.
`
`Server system 204 suitably includes a firewall 206, a load balancer 208, a web server
`
`222, a messaging service 210, application servers 212, a database 218 and an optional
`
`additional storage device 220 communicatively coupled via a server network 214. Server
`
`network 214 may include various local area or wide area network segments, and may work in
`
`conjunction with one or more high speed data switches 216 such as a gigabit Ethernet switch,
`
`In an exemplary embodiment, the various components ofserver system 204 are connected via a
`
`gigabit Ethernet network 214 that is controlled by a Cisco model 6509 or similar Ethernet
`
`switch 216, although of course other switches or architectures could be used in alternate
`
`embodiments. Network 214 may be isolated from network 202, as appropriate, by a suitable
`
`firewall 206 that restricts data packets from passing between the two networks. Exemplary
`
`firewall packages include the PIX product available from the Cisco Corporation, and may be
`
`used to limit traffic penetrating into network 214 from network 202, thereby making network
`
`214 moreresistant to security breaches. Security may also be improved in various
`
`embodiments by encrypting data communications between server system 204 and pod
`
`applications 1OOA-B. Encryption may take placing using any form of symmetric, asymmetric,
`
`elliptical or other cryptography technique such as secure sockets layer (SSL) encryption, data
`
`encryption standard (DES) encryption, RSA encryption, orthelike.
`
`10
`
`10
`
`
`
`WO 01/71992
`
`PCT/US01/09153
`
`Optional load balancer 208 is any device capable of receiving data packets passing
`
`through firewall 206 from network 202 and of forwarding the packets to an appropriate
`
`messaging or application server for processing. Load balancer 208 performs “load balancing”
`
`functions so that workloadis suitably assigned between redundantservers to lessen the
`
`possibility of one or more servers becoming overburdened while other servers are underutilized.
`
`Exemplary load balancer hardware is available from the Cisco, FS or Nortel corporations, as
`
`well as several others. Load balancing may also be performed in software running on a router,
`
`workstation or other computing device. Load balancer 208 may be eliminated or modified in
`
`certain embodiments that do not use redundant servers or that do not expecttraffic to
`
`overburden the servers used.
`
`Primary functionality of the server system 204 is provided by one or more server
`
`computers coupled to network 214. The use of multiple servers allows for customization and
`
`expandability of server system 204.
`
`In an exemplary embodiment, server system 204 includes
`
`one or more messaging servers 210A-C associated with messaging service 210, one or more
`
`application servers 212A-C, a database server associated with database 218 and optional
`
`streaming servers (not separately shown in Figure 2). The various servers may be configured in
`
`a “publish/subscribe” mode suchthat client applications 100 place requests into “mailboxes”
`
`associated with the various servers. Similarly, results of processed requests may be placed into
`
`mailboxes associated with other applicationsor particular client applications 100 as described
`
`more fully below. Server functionality may be implementedas logically distinct processes on a
`
`common hardware device, or may be implemented across a number of workstations or other
`
`computers linked via network 214. Although any computing device could host one or more
`
`servers in server system 204, in an exemplary embodimentthe various servers are hosted on
`
`Model E4500or Netra T1 server platforms available from Sun Microsystems, or with products
`
`available from Compaq, IBM,and others.
`
`10
`
`11
`
`11
`
`
`
`WO 01/71992
`
`PCT/US01/09153
`
`Message service 210 is any messaging application capable of providing communication
`
`services between pod applications 100 and server system 204, as well as between the various
`
`servers within system 204.
`
`In various embodiments, messaging service 210 suitably acts as a
`
`software router for the various messages via a system of message queues(i.e. mailboxes)
`
`associated with the various applications, client programs, and other elements operating within
`
`system 200. Exemplary embodiments of message service 210 may be implemented with the
`
`Tempest Messaging System (TMS)available from Tempest Software Inc. ofNew York City,
`
`New York. Alternatively, message service 210 may be implemented with the WebLogic
`
`product available from BEA, Inc., the Microsoft Transaction Server available from Microsoft,
`
`with products available from IBM or Tibco, or with any other messaging service. Messages
`
`sent by and within message server 210 may be in any format, such as the extensible markup
`
`language (XML) format.
`
`Application servers 212 are any servers capable of processing data messages from pod
`
`applications 100 to produce appropriate results. Exemplary application server functions
`
`include processing instant messages, processing file transfers, processing email or calendar
`
`entries, and the like.
`
`In an exemplary embodiment, application servers 212 suitably receive
`
`data messages from pod applications 100 and return processed results messages to appropriate
`
`pod applications 100 via messaging service 210. Exemplary processes executed at applications
`
`servers 212 for instant messaging andfile transfer applications are discussed in additional detail
`
`below in conjunction with Figures 5 and 6, respectively.
`
`Various embodiments suitably redirect processing of certain functions to servers outside
`
`of network 213 in addition to or in place of applicationprocessing taking place within network
`
`214. Email, calendaring and/or streaming multimedia processing, for example, may be
`
`processed at servers maintained by external vendors.
`
`In such embodiments, application servers
`
`212 may be configured to forward service requests through firewall 206 to remote servers on
`
`ll
`
`12
`
`12
`
`
`
`WO 01/71992
`
`PCT/US01/09153
`
`network 202, for example. Alternatively, messaging service 210 may suitably forward such
`
`requests directly or indirectly to the remotesite.
`
`Database 218 is any data structure or repository capable of maintaining information
`
`about users, client applications, files stored within system 200, or the like. Database 218 may
`
`be implemented with any hierarchical, relational, object-oriented or other database such as with
`
`database products available from Sybase, Oracle, IBM or Microsoft. In an exemplary
`
`embodiment, database 218 is an Oracle database that suitably maintains information about
`
`individual pod applications and files stored within the system in a format that is readily
`
`retrievable by the various application servers 212, Database 218 may be associated with an
`
`appropriate database server (not shown in Figure 2) to provide network interface, query
`
`processing, and other functionality.
`Storage device 220 is any mass storage device (such as one or more RAID systems)
`
`capable ofstoring files and other data used within system 200.
`
`In an exemplary embodiment,
`
`files uploaded from the various users are processed with a suitable hashing algorithm (such as
`
`the MD4 or MD5 algorithm) to create a 128-bit digest correspondingto the file. The digest
`
`may then be usedto identify the file within the system, and may be usedto identify duplicates
`
`of the samefile (since any duplicates will typically have an identical digest). In such
`
`embodiments only a single copy ofthe file need be stored on device 220. By storing multiple
`
`copies ofpointers to the file as metadata within database 218, multiple users may be provided
`
`with access to a single copyofa file, thus reducing the total amountof storage space used by
`
`system 204. Storage space may be further reduced throughthe use of hardware or software
`
`compression techniques prior to storage.
`
`Optional web server 222 is any conventional web or other Internet server that is capable
`
`of serving pages over the World Wide Web. Such pages may be useful for promoting system
`
`200 to new users, for providing troubleshooting information or answers to frequently asked
`
`12
`
`13
`
`13
`
`
`
`WO 01/71992
`
`PCT/US01/09153
`
`questions, and for distributing the client application 100, as described morefully below. Such
`
`functionality may be omitted in various embodimentsofthe invention.
`
`Figure 3 is a flowchart of an exemplary process for logging into server 204 from a client
`
`application 100. With reference now to Figure 3, an exemplary process suitably begins with a
`
`user activating a client application 100 on a client computer (step 302). As discussed briefly
`
`above, users may obtain a copy of a client application 100 by retrieving the program with a
`
`conventional web browser 204 by “surfing” or otherwise connecting to web server 222. Web
`
`server 222 may provide a copyof the client software to the user throughthefile transfer
`
`protocol or any other appropriate technique.
`
`Whenclient program 100is installed and activated, the user may be prompted to
`
`provide an authentication credential such as a userid/password, digital signature or the like.
`
`The credential may be manually entered by the user or obtained from a smartcard, fingerprint
`
`reader, retina scan or the like. After the credential is obtained, the client application 100
`
`suitably contacts server system 204 via network 202 with a request for connection (step 304).
`
`Asthe request is allowed throughfirewall 206, load director 208 suitably identifies an
`
`appropriate messaging server 210A-C that has available processing capacity and forwards the
`
`request to a message queue associated with logins on that server. Messaging server 210
`
`suitably retrieves the request from the queue and processes the login request as appropriate
`
`(step 306). Processing the request suitably includes checking the authenticity of the digital
`
`credential against an entry in database 218, creating a mailbox on the messaging server 210, and
`
`replying to the client application 100 indicating whether the login was successful. Messaging
`
`server 210 may also store the address of the client mailbox in database 218 orin a routing table
`
`maintained elsewhere in system 204 so that other messages, queries, users, and the like can find
`
`the particular client application 100 after it is logged in.
`
`In various embodiments, the client
`
`13
`
`14
`
`14
`
`
`
`WO 01/71992
`
`PCT/US01/09153
`
`mailbox created on messaging server 210 remains at a constant location throughout the login
`
`session, referred to as a “sticky connection”.
`
`After the login process is complete, server system 204 provides various information to
`
`the client application 100 from database 218. An interface skin, buddylist, file list (or portion
`
`of a file list) and other information may be downloaded to client application 100 if such
`
`information is not already locally stored. System messages (which may be in HTML format,
`
`for example) may also be downloaded and displayed in display window 102 of client
`
`application 100. Server 204 may also log the user into an email and/or calendar system, as
`
`appropriate. The user is then ready to use the client application 100. An optional “heartbeat”
`
`monitor may also be provided which “pings” or otherwise detects the continued presence of
`
`client application 100 on network 202 at a regular interval (e.g. every minute). If the heartbeat
`
`monitor determines that client application 100 is no longer active on network 202, server 204
`
`may suitably close the associated mailbox and store any relevant data for the next time client
`
`application 100 connects. Client application 100 may also manually logout from server 204 in
`
`response to a user instructio