Motorola Mobility, Inc. v. Microsoft Corporation

Filing 125

NOTICE by Microsoft Corporation re 124 Defendant's MOTION Claim Construction of Filing Exhibits (Attachments: # 1 Appendix (Index to Exhibits), # 2 Exhibit 101, # 3 Exhibit 102, # 4 Exhibit 201, # 5 Exhibit 301, # 6 Exhibit 302, # 7 Exhibit 304, # 8 Exhibit 305, # 9 Exhibit 501, # 10 Exhibit 502, # 11 Exhibit 504, # 12 Exhibit 601, # 13 Exhibit 801 (Part 1), # 14 Exhibit 801 (Part 2), # 15 Exhibit 901, # 16 Exhibit 902, # 17 Exhibit 903, # 18 Exhibit 904, # 19 Exhibit 905, # 20 Exhibit 1101, # 21 Exhibit 1102, # 22 Exhibit 1105, # 23 Exhibit 1110, # 24 Exhibit 1114, # 25 Exhibit 1115, # 26 Exhibit 1116, # 27 Exhibit 1201, # 28 Exhibit 1301, # 29 Exhibit 1302, # 30 Exhibit 1303, # 31 Exhibit 1304, # 32 Exhibit 1305, # 33 Exhibit 1401, # 34 Exhibit 1402, # 35 Exhibit 1403, # 36 Exhibit 1404, # 37 Exhibit 1405, # 38 Exhibit 1406, # 39 Exhibit 1407, # 40 Exhibit 1408, # 41 Exhibit 1409)(Miner, Curtis)

Download PDF
Exhibit 1405 US006101531A United States Patent [11] Egglestou et al. 1541 [75] Patent Number: [45] [19] Date of Patent: 5,377,354 5,406,557 5,491,820 5,506,887 5,513,126 5,568,540 5,621,727 5,764,899 SYSTEM FOR COMMUNICATING USER-SELECTED CRITERIA FILTER PREPARED AT WIRELESS CLIENT TO COMMUNICATION SERVER FOR FILTERING DATA TRANSFERRED FROM HOST TO SAID WIRELESS CLIENT Invcntors: Gene Eggleston, Cary; Milch Hansen, Fox River Grove, both of 111. 12/1994 4/1995 2/1996 4/1996 4/1996 10/1996 4/1997 6/1998 6,101,531 Aug. 8, 2000 Scannel et al .......................... Baudoin. Belove et al ............................... Emery et al.. Harkins et al.. Greco et al.. Vaudreuil . Eggleston et al ....................... 709/103 707/3 709/203 Primary Examiner~c Hicu Luu Attorne.~, AgenL or Firm~omi N. Bose; Terri S. Hughes [73] Assignee: Motorola, Inc., Schaumburg, Ill. [57] [21] Appl. No.: 09/060,686 [22] Filed: In a main embodiment, prestage filtering is applied via user-definable filter parameters (e.g., reject, pass, or granularity filters) on data being transferred between a communication unit (201) and communication server (220). For downloading, e.g., email from a host post office (240), a communication server controller (229) preferably either forwards the filter parameters in a query object or message to the post office to apply and return qualified mail (406-414), or the communication server receives all unprocessed mail and applies the filters locally (418-420), only acknowledging as processed that mail which passes the filters. For uploading, e.g., email from a client, a client controllcr applics an upload prcstagc filtcr (432) so as to retain all filter-rejected email, while transmitting cmail passing the filters (434). Thus, only desired data transfers (i.e., those meeting user defined filters) are communicated over the expense-bearing networ -ks between the remote unit and communication server. Apr. 15, 1998 Related U.S. Application Data [63] [51] [52] [58] Continuation of application No. 08/574,537, Dec. 19, 1995, abandoned. Int. CI.7 ........................... G06F 15/16; G06F 15/177 U.S. C| ........................... 709/206; 709/207; 709/220; 709/232 Field of Search ..................................... 709/206, 207, 709/’220, 232, 103, 203; 706/47; 707/3 [56] References Cited U.S. PAI’EN’I’ DOCUMENTS 5,276,680 5,283,856 5,287,456 1/1994 Messenger. 2/1994 Gross et al ............................... 2/1994 Rhodes et al.. ABSTRACT 706/47 11 Claims, 8 Drawing Sheets COMM SERVER H._.OSI/SERVER QUERRV OBJECT MS!CLIENT REGEfVE QUERRY 41 ~20~ NO~ 4~B ~ ~ FORWARD QUALIFYING i MAIL II ~424 I A OK~ WLEDGE 422 ~[ ~ ~ , ~ ~ 430 GENERA TE MAIL ~ (LISTQUALIFYING, ~ " ~428 MARKINDEX ~ ~426 ~ ~ 432 APPL Y FILTERS ~ ~ ~ 434 FORWARD ~ALIFYt~ ~ /436 FOWARDMAIL i * "" MAILATTACHMLNIS;RETAQuAUFIEDIN; ALLMAILUN- ~ ~ 4~ ~ 442 CHANGE RL TER SE~INGS RECEIVE; ADJUST CLIENT ~ ~ MS-MOTO SDFLA 00000007333 U.S. Patent Aug. 8,2000 Sheet 1 ors 6,101,531 MS-MOTO SDFLA 00000007334 COMMUNICATION SERVER U.S. Patent Aug. 8,2000 6,101,531 Sheet 3 of 8 MS/CLIENT INSTANTIA TION ~ 301 SEND REGISTRATION 3O2 VSM HOST/SER VER(E. G., POST OFFICE) RECEIVE REGI~ ~ so4 AUTHENTIFICA TION; ~ RECEIVE REGISTRATION| SEND REGISTRATION/ AUTHENTICATE | LOGON TO HOST ,~ 305 308.,~,,,, ~ SEND REGISTRA TION 309 RECEIVE REG.;FULL Y ~ FULL Y QUALIFIED;STARTI-.."" o QUALIFIED, START TIMER| ~1 TIMER | ¯ f 32I ~ VIRTUAL SESSION ESTABLISHED-~-*~-~ SESSION ESTABLISHED--,~ ¯ [ QUERR Y FOR MAIL ¯ 320 I ~ RECEIVE NEW MAIL ~FoR MS t 324 RECEIVE MAIL ACKNOWLEDGE I ~ UPDATE TIMER ~ RECEIVE MAIL, FORWARD TO CLIENT I~---]FORWARD MAIL TO VSM I ~" 322 ACKNOWLEDGE TO SERVER UPDATE POST OFFICE ~OX(E.G., M,~ RE~D~ 330 /,~332 "-’~OTHER DA TA EXCHANGEI~OTHER DA TA E.~(CHANGE~ IOTHER DA TA EXCHANGEI 333-’--"~ ~ FIG.3 f REMOVE i tREMOVE QUALIFICA TION~ QUALIFICATION ~ t L OGOFF ~I 341 LOGOFF CLIENT MS-MOTO SDFLA 00000007336 Aug. 8,2000 U.S. Patent Sheet 4 ors 6,101,531 COMM SER VER HOS T/SER VER Q UERR Y OBJEC T FOR MAIL MS/CLIENT RECEIVE QUERRY 408 NO 410 416 RECEIVE QULIFYING MAIL;FORWARD RECEI VE MAIL; A CKNO WL EDGE I 420 J /..---424 RECEIVE MAIL; ACKNOWLEDGE 412----.~ //.....414 ~ A PPL Y FILTERS; SEND QUALIFYING MAIL| ~ RECEIVE MAIL A PPL Y FIL TERS ~ FOWARD MAIL 4!8 -’’/ FORWARD QUALIFYING MAIL GENERA TE MAIL k,,,,. 422 f428 ACKNOWLEGE (LIST QUALIFYING, UNQUALIFIED MAIL~ ¯ ~"426 MARK INDEX 432 APPLY FILTERS 434 FORWARD QUALIFYING MAIL A TTA CHMENTS; RETAIN; ALL UNQUALIFIED MAIL 438 FOWARDMAIL ¯ ,, o ~440 FOWARDMAIL ~~~~ ~ 442 CHANGE FILTER SETTINGS ~ ACK RECEIVE; ADJUST CLIENT PROFILE!OBJECT T 444 FIG.4 MS-MOTO_SDFLA_00000007337 U.S. Patent Aug. 8,2000 Sheet 5 of 8 6,101,531 f" APPL Y ~ NEXT MESSAGES NO -1 ~ NO~ 614 ~616yES ~ OMITFIL~F~G I SEND MESSAGES FIG.6 MS-MOTO_SDFLA 00000007338 U.S. Patent Sheet 6 ors Aug. 8,2000 MS/CLIENT 6,101,531 COMM SERVER HOST/SERVER SEND QUERR Y OBJECT~ RECEIVE QUERRY APPL Y FILTERS 702 ~ 704J ~._ ~YES ¯ ¯ ¯ = SEND QUALIFYING MAIL~ 710__ 714"--"’x RECEI VE ID INFO, SA VE~ IN SUMMARY INDEX IWAIT PREDETERMINED PERIOD? 716~" ,/.--720 RECEIVE; UPDATE CLIENT SUMMARY INDEX, PROMPT USER 722 ~ USER REQUESTS SPECIFIED MA IL;SEND REQUEST(E. G., SERIAL NO.~ RECEIVE MAIL; ACKNOWLEDGE, UPDATE INDEX INFORMATION FOR L EACH NON-QUALIFYINGF~ MAIL, SEND I 712---...,, ~ MARK QUALIFYING AND~ NON-QUA LIFYING MAIL| DETERMINE CLIENT SUMMARY INDEX CONTENT SEND SUMMARY INDEX DEL TA ~_~ 724-..~ RECEIVEREQUEST, FORWARD OBJ; TO POST OFFICE b ~ ,,,,.-726 RETRIEVE SPECIFIED MAIL, FORWARD RECEIVE FORWARD TO CLIENT ~-- 728 ,...--UPDATE INDEX, SEND ACKNOWLEDGEMENT f734 MARK MAIL AS READ i I FIG.7 f 80I CLIENT 1 SUMMARY SERIAL NO. 1 INDEX SERIAL N0.2 HEADER INFO. 1(E.G.,AUTHOR:SUBJECT, DA TE/TIME IN; SIZE:ACKNOWLEDGEMENT/SIZE:PRIORITY) HEADER INFO 2 FIG.8 MS-MOTO SDFLA 00000007339 Aug. 8,2000 U.S. Patent MS/CLIENT /.-.-.- 902 Sheet 7 ors 6,101,531 HOST/SERVER COMM SERVER CONtENtI GENERATE OPTtMIZED REPL Y="DEL TA" BETWEEN REPL Y AND A PREEDING MESSAGE, AND PRECEEDING MESSAGE IDENTIFIER I ~t /.~.--906 COMPARE OPTIMIZED | , REPL Y AND STANDARD~-~ RECEIVE OPTMIZED REPLY REPLY, SEND SHORT | I 908~ REQUEST PRECEEDING~ MESSA GE CORRESPO- L ! ~NDING TO P~ECEEDIN~ II MSS.ID I CEEDING MESSAGE ~ 914 I 920.~ SEND REPLY TO ADDRESSEE RECEIVE REPLY ~918 FOR CLIENT I COMPARE REPLY TO PROCEEDING MESSA GE TO SOURCE/ADDRESSO~ FROM CLIENT(IN INDEX) FOR CONTENT MA TCHI ~ GENERA TE OPTIMIZED REPL Y=DEL TA PLUS PRECEEDING MESSAGE IDENTIFIER ~ ~926 ~ ~924 ’~’1 MS-MOTO_SDFLA_00000007340 U.S. Patent 6,101,531 Sheet 8 of 8 Aug. 8,2000 ¯ ~-~-PARAMFTFRfF ~ RITF""-,,~ES "~LIENT O~d~ L ~ ~R D~ ~1 FORWARD MESSAGE ~ ~ ~ ¯ ~ 9fir ~ ~~NO ~ ~. ~ > ~ ...... ALERT CLIENT USE LIMIT ~ FORWARD NOTIFIER T~ REACHED r CLIENT, (OPTIONALL Y) ~ ~-ADMINISTRATOR ~ ~ ~ ~u = OPTIONALL Y(IF CAPABLE) 1)FORWARD REQUEST ~ ~ ~Ls~[9~L~ ro ~OMtN~STnATOn I ADDITIONAL ALLOCATION ~ 2)PROCESS CHARGE/ I 2)AUTHORIZE COMM. DEBIT AMOUNT, ADJUST ~ AODITONAL CHARGE /DEBIT ~ ~972 " ~~ I (ESTIMA TED),OETERMINEI NEWUSELIMIT I ’ ~ IFORWARD NOTIFIER T~ ADMINISTRATOR OF I ANY OVERRIDE; ALERTI I TO CUE~T ~ ~ VERIFY PRIWLEGE; -~974 ~ ~z~ ~ .o~ co~. s~v~I ~ou~ ~ NEW ~ ALERT CLIENT IFORWARD NOTIFIER T~ ~ CLIENT, (OPTIONA£LLY)~ I ADMINI~TRATOR ~986 : RECEIVE BILLING INFOR -MA TION FROM PROVIDER REPLACE ESTIMA TED USE_ ~ 988 CHARGES IN BILLING UPDA TE PRG USE LIMIT, INDEX, UPDATE DIRECT ALERT CLIENT OBJECT REFLECTING NEV~ TRANSACTION TOTA L, UPDA TE USE LIMIT, NOTIF’~ 990~.~ ~ CLIENT, ADMIN. CLIENT REQUEST ~ ¯ ¯ DOWNLOAD OF CUR-~ ¯ ~ RENT BILLING INDEX| UPDATE EVENT OCCURS (E.G., STARTNEW ¯ ¯ ¯ ~_~ BILLING CYCLE); ADJUST USE LIMITIN~..TIFY CLIENT ~ I FIG. IO MS-MOTO_SDFLA_00000007341 6,101,531 1 2 Further, many processes, like that of a typical email reply, are wasteful of bandwidth by rcsending all earlier messages each time a new reply is generated, even though the earlier messages may still be stored at both ends of the wireless 5 network. In addition to the above concerns over how to optimize the types and amount of data being transferred, there is The present application is a continuation of U.E. appliadditionally a problem in a lack of effective techniques for cation Ser. No. 08/574,537, filed Dec. 19, 1995 now monitoring and cvcn controlling an aggrcgatc usc of tariffcd abandoncd, entitled "Mcthod and Apparatus for Virtual 10 networks. While the network seiwice providers have means Session1 Commuuications" by Gene Egglestou and Mirth for tracking use by an individual unit basis, which is totaled Hansen, commonly owned together with this application by in periodic billing statements, this information is typically Motorola, Inc. unavailable to users or their managers/application administrators. Thus, users and managers are typically left without FIELD OF THE IN Vk, NTION 15 any effective means for controlling the level of messaging during a billing cycle, and can only monitor or react to usage The present invention relates to communications and follo~ving the service providers periodic statements. more particularly an improved method and apparatus for transferring data in a communications system. There remains therefore a need for an improved means for data communications that solves these and related problems. 20 BACKGROUND BRIEF DESCRIPTION OF THE DRAWINGS The last 10 years have seen a tremendous increase in the demand for communications services, including both wired FIG. 1 is a block diagram oI a communications system and xvireless networks capable of handling data colramuniaccording to a first embodiment of the invention; cations. Unlike real-time voice services, such as standard 25 FIG. 2 is a block diagram of a communications system telephony or cellular wireless services, in which circuitaccording to a further embodiment of the invention; switched communications are used because of the sensitivity FIG. 3 is a flow chart illustrating virtual session data of users to the timing of oral dialogue/voice data, greater efficiencies can often be achieved in non-voice data com- transfer between the different functional entities of the munications through the use of packet-switched or hybrid 30 wireless communications system of FIG. 2; FIG. 4 is a flow chart illustrating a prc-stagc filtering communications systems. This is particularly the case with embodiment for data transfer between the different funccommnnications to remote users (e.g., persons sending tional entities of the wireless communications system of messages via one of the well-Maown available wireless FIG. 2; networks like GSM (Global System for Mobiles) or AMPS (Advanced Mobile Phone System) cellular), where pro- 35 FIG. ~ is a flow chart illustrating one embodiment of tracted circuit-switched sessions into a mail server or LAN pre-stage filtering for data transfers; (local area network) could be prohibitively expensive due to FIG. 6 is a flow chart illustrating another embodiment of thc high pcr-minutc scssion chargcs by the wireless service pre-stage filtering for data transfers; provider. FIG. 7 is a flow chart illustrating a message summarizaOne solution to this problem has bccn for users to limit, 4o tion and selection embodiment for data transfer between the as much as feasible, their communications to sessionlcss different functional entities of the wireless communications communications. This can be done, e.g., by subscribing to system of FIG. 2; additional email services that can receive LAN/WAN (wide FIG_ g is a diagram illustrating an embodiment of a area network) email and send out broadcast pages and summary index for use in the process of FIG. 7; transmissions to registered users, in lieu of requiring a user 45 FIG. 9 is a flow chart illustrating an optimized reply to maintain a session ~vith a mail server. However, this embodiment for data transfer between the different funcdisadvantageonsly reqnires snbscription to an additional tional entities of the wireless communications system of service, and is typically limited in the types of applications FIG. 2; and supported. With the rapid growth in emerging sessionoriented applications--like the popular client server appli- 5o FIG. 10 is a flow chart illustrating a rate governor embodiment for data transfer bctwccn thc diffcrcnt funccation of Lotus Notes®--the need is growing for more cost tional entities of the wireless communications system of effective solutions to providing connectivity of such sessionFIG. 2. oriented applications and users remotely located from their host servers. DETAILED DESCRIPTION Regardless of whether a session-oriented or session-less 55 These problems and others are solved by the improved communication service is used, it is also desirable to limit thc amount of information communicatcd bctwcen a rcmotc method and apparatus according to the invention. A prcsently p~efcrred first main embodiment of the invention is a user and host, both to save off-site user’s time and to litnit the costs arising from the more expensive rates for remote system including a virtual session manager (VSM) for communications. Unfortunately, typical applications like 6O establishing and maintaining a sessionless communication email do not provide for user-selected methods for choosing path with a first data processing device (e.g., a mobile client) and limiting the vohJme of down-loaded communications, or on the one hand and a session-oriented communication path for filtering uploaded communications. Thus, a user who with a second data processing device (e.g., a host system). ~vants to receive remote messaging is left with an option of The session-oriented communication protocol with the host receiving all his messages, even the ones he or she might65 system permits remote access to, e.g., LAN-based otherwise be willing to leave unread until a later time xvhen applications, while the virtual session, via a sessionlessno longer using expensive remote communications services. oriented comnrunication protocol, between the VSM and SYSTEM FOR COMMUNICATING USER-SELECTED CRITERIA FILTER PREPARED AT WIRELESS CLIENT TO COMMUNICAiI’ION SERVER EOR FILTERING DATA TRANSFERRED FROM HOST TO SAID WIRELESS CLIENT MS-MOTO SDFLA 00000007342 6,101,531 3 4 remote (i.e., coupled via a tariffed network or connection) main rate governor is maintained at the communication client permits this access to be carried out without the server, allowing access, control and the like by system expense of a dedicated/circuit switched connection. administrators and the like. A further rate governor, responsive to the main rate governor, naay also be used at the In a second main embodiment, a prestage filter stage is provided for applying user-definable filter parameters (e.g., s remote unit. By means of this rate governor a mechanism is provided for both limiting user or group data transfer beyond reject, pass, or granularity filters) on data being transferred a set amount, as well as providing alerts to users as the limit between the remote communication unit and communication is approached. server. For downloading, e.g., email from a host post office, a communication server controller preferably either forTurning now to FIG. l, there is generally depicted a ~vards the filter parameters in a query object or message to ~0 communication system 100 in accordance with a first the post office to apply and return qualified mail, or the embodiment of the invention. This system is configured to communication server receives all unprocessed mail and support one or more user devices such as wireless subscriber applies the filters locally, only acknowledging as processed units (i.e., mobile station (MS) 105) communicating with that mail which is qualified. For uploading, e.g., cmail from host processor 11~ via an infrastructure including base a client, a client controller applies an upload prestage filter 15 station 120 and intermediate system 125 coupled to a data so as to retain all filter rejected mail, while transmitting mail network 130. In the illustrated case mobile station 105 is a passing the filters. Thus, only desired data transfers (i.e., portable computer having an rf (radio frequency) modem those meeting user defined filters) are communicated over 106. A communications server 110, including a virtual the expense-bearing networks between the remote nnit and session manager (VSM) and query manager (QM), is communication server. 20 coupled bclwecn ihe public dala nelwork 130 and ihe hos! In yet another main embodiment, a select and summary server 11~. The virtual session manager and query manager (S&S) listing or index is used to providc user flexibility in arc, prcfcrabl~; an appropriately configured data proccssing reviewing and requesting otherwise filtered data. Both the device, the VSM and QM program being shipped for loading user’s remote communication unit and communication on the server 11~ via any convenient means such as a server maintain a S&S index containing identifying~5 nrachine-readable CD-ROM 111 (compact disc-read only (summary) information about data which has not been fully memory) or the like. Counterpart client-communications software, e.g., a prestage filter and rate governor, can be transferred between the communication unit and communication server. As new data is reviewed and filtered for shipped via a similar convenient form like CD-ROM 107, transfer, identifying/summary information is captured for downloaded directly from server 110 to subscriber 10g (also any non-qualifying data by either a host unit or the com- 3o being, e.g., a data processing device, by which is meant munication server. ’llais information is stored in the comvirtually any processor (but not a human) capable of promunication server’s S&S index, and at least periodically cessing data for a programmed result, whether a general transferred via update messaging to the remote communipurpose computer or more specialized electronic processor), cation unit. Upon reviewing its updates or its S&S index, the or the like. user may send a request for such of the data that it desires 35 In this elnbodiment the mobile user 105 communicates partial or full transfers for further review. Thus, a cost with the serveriVSM 110 using any appropriate data protoefficient review mechanism is provided to users for detercol being used by the data network 130, as necessarily mining whether to transfer data that otbe~vise fails selected modified for transport over the wireless infrastructure; the filter parameters. wireless infrastructure could be, e.g., any private system like In a fourth main embodiment, a method and apparatus for 4o ARDIS® or DataTAC®, CDPD (cellular digital packet optimized reply to messaging is provided. When sending a data), GPRS (GSM Packet Radio Service), and the like. reply, the remote communication unit’s controller generates Thus, a sessionless data flow between the mobile user a delta (e.g., data representing the content difference and serveriVSM 110 occurs on an event driven basis, and no between two messages) between a preceding message and costly connection is maintained when there is nothing being the reply message, and forms an optimized reply using the 45 communicated. In order to keep connectivity costs to a delta and an identifier of the preceding message. On receivminimum, the server 110 is preferably connected to the ing the optimized reply, the communication server uses the LAN/%VAN on which the host 11~ is also connected, via any data unit identifier to retrieve the preceding message from a standard LANi~,VAN communication channel (e.g., a bus or further host (e.g., thc post officc mailbox of thc uscr assobackbonc). This allows the communications scrvcr 110 to ciated with the remote unit), reconstructs the full reply from 5o advantageously maintain the same session with the host 11~ the retrieved message and the delta, and forwards the full that the client 10~ typically enjoys when connected to the reply to the addressee. When receiving a reply for the remote LAIN/WAN. Thns, by use of the server 110 the client 105 can unit, an index is preferably maintained at both the remote achieve a virtual session with the host 115 with almost the unit and communication server of mail stored at the remote same access as if directly connected to the host’s 115 LAN, unit. Resort is made to this index to determine a preceding ss but at a substantial reduction in the cost of communicating message forming part of the reply. An optimized reply is via the wireless network and PDN 130. similarly formed from a delta and identifying information of FIG. 2 illustrates an altcrnativc communication systcm the preceding message, and sent to the remote unit. In this 200 embodinrent of the present invention. A first client, a manner, tire volunre and expense incurred in reply nressagmobile end system (M-ES) computer including a user device ing is greatly reduced, by only sending a delta and small 6o 201, is in communication with a base station (BS1) 218 of header (i.e., the identifying information). a wireless communication system. This base station 218 is Finally, in a fifth embodiment, a rate governor is provided conpled, e.g., on a same bns or via bridgesironters, to a for monitoring and controlling the amount of communicacommunication server 220 which includes VSM 230. An tions between the remote nnit and commnnication server. electronic mail @mail) post office is conpled locally to VSM Preferably, as threshold(s) are passed a user is alerted to 6s 230, either as another program running on the same comamounts (time and/or charges) spent or remaining, and once munications server 220 or located on another server 240 of a use limit is reached further communication is restricted. A the comnrunications server’s 220 LAN!WAN. It is not MS-MOTO SDFLA 00000007343 6,101,531 5 6 important, however, where the post office is located for and client 201; these include, e.g., appropriate protocol purposes of operation of the VSM 230, as is illustrated by software that can be located at the communications server, other application hosts B and C 25$, 260 being in commuor any other convenient processor per design of the given nication via other networks such as a public data network or communication system. By messages is meant any appropublic switched telephone network 250. In fact, the same 5 priate data unit (whether a frame, datastream, packet, or other format), including objects, datagrams, etc., for conuser 201 could be concurrently coupled via the VSM 230 to, taining information being communicated. for example, a local email post office 240, a remote clientserver host 255, a further database host server (not shown), Communications server 220 is also illustrated as supportan administrator host server 260, a multimedia host, a voice ing additional users, e.g. user module 216, communicating processor, etc. It should be understood that for purposes of ~0 via different access points, e.g., control module (CM) 217 of this application, a first device or component is responsive to a wireless LAN and base station 219, all access points or in communication with a second unit or component 217-219 being coupled via a common bus, backbone, etc. regardless of whether the first and second units are directly These base stations can be part of the same communication coupled or indirectly coupled, such as via intermediate units, system, similar systems owned by different service including switches that operatively couple the units for only ~5 providers, or even different systems, all of which may be a segment of time, as long as a signal path can be found that different from the communications server service provider. directly or indirectly establishes a relationship between the Thus, for example, a single communications server can first and second units. For example, the client computer 105 support at one local region 215 an ARDIS® node, a RAM® is in communication with the VSM server 110 even though node, a wireless LAN controller module, a CDPD node, an intermediale syslem (e.g., a rouler or swilch) 125 and a 2o in-building cordless telephone node, etc., allowing users packet network 130 having multiple s~vitches etc. are disfrom a variety of systems to access the same communicaposed bct~vccn the uscr device 105 and VSM server 110. tions scrvcr and post office. Uscrs not registered could access through the appropriate one of these nodes along the In the illustrated case client 201 includes a data transfer manager or exchange unit 206, which in simple form could model of FIG. 1, i.e., via PDN 250 to a remote communibe an appropriately programmed electronic processor 207 25 cations server having their VSM!QM. Thus, any nulrrber of system configurations is possible, limited only by the net(e.g., a general puq~ose CPU (central processing unit) and work services provided and the user’s preference. memory or data store 211. A timer 205 is also preferably employed in the data exchange control process, as will be A process by which a VSM manages communications explained further in connection with the flow chart of FIG. between client and host is illustrated in the flow chart 3 below. A typical client 201 would also include some 3o embodiment of FIG. 3. This process typically begins with a form(s) of user interface such as display 204, a data cncoder/ user event, such as instantiation (forming) of a communidecoder 203 to accommodate the system communications cations object at the client and sending a registration mesprotocol(s), and a transceiver (if using rf or infrared sage (steps 301-302). Alternatively, the infrastructure could initiate the communications by sending a page or the like communications) and a modulator-demodulator (or modem) 202 to connect to a ~vireless or wireline comnaunications ~5 requesting the client to register (for example, when the client network. Transceiver/modem 202 in this case would either has registered with the wireless system but not yet requested include a built-in or attached user module for wireless LAN registration with the communications server). In any event, communications; the specific type will vary depending on once a registration message is received by the communicathe system, e.g., including PCMCIA (personal computer tions server, it preferably authenticates and otherwise qualimemory card interface association) wireless modems, and 40 ties the client, including sending a logoniregistration mesattached or built-in PSTN (public switched telephone sage to the hosl for its authentication of the client (steps network) modem, etc. Specific features of data exchange 303-305). Upon successful authentication, the communicaunit 206 preferably includes (as more fully described below) tions server instantiates a client object (CO) for the coma prestage filter (PSF) manager 208, rate governor (RG) 209, munications session including client parameters retrieved user profile store 212, select and summary index store 213, 45 from an inactive client parameter store, as modified by the and mail store 214 (a store being any available device (e.g., user in his registration or subsequent messages (step 306). ROM (read-only memory), disks) or program (e_g_, a These parameters include at a minimum client and host database) for storage of the specified information). identifiers, but may also include additional preferences The communication server 220 preferably includes a data bascd on thc typc of communications involved. Also, the transfer manager or controller 229 having a VSM 230, 5o registration and authentication process can be handled by the VSM, or alternatively by another appropriately programmed memory stores for storing active client profile (user entity of the commnnications server. Following instantiation parameters) and inactive client profile information 226 and 227, a timer 224, and optionally some form of protocol at the server, a response message, e.g., a further registration message, is sent to the client, and an acknowledgment translators or formatters 222. The VSM 230 serves to manage the virtual session with the client 201 and session ss (ACK) returned to the server; both client and server then with host systems 240, 255 and!or 260 based on the paramretain the instantiated objects as fully qualified, and start session timers (steps 307-309). At this point a virtual session ctcrs loadcd into thc active user paramctcr store/profile has been established between the client and the VSM, and a memory 226 or object. Controller 229 preferably also regular session established between the VSM and host includes a query manager (QM) 231 for controlling specific processes (e.g., sending messages to a post office to query 6o computer. If the registration is not successful, then any instantiated object is deleted, with the client returned to an for unprocessed messages and forwarding received mesinactive status. sages etc.), and a prestage filter 232 and rate governor 234. Memory 225 also preferably includes a client select and Upon establishing the virtual session, a query is prefersnmmary index database or store 228, which will also be ably generated by query manager reqnesting unprocessed described more fully below in connection with FIGS. 7 and 65 data for the user, and the VSM forwards the query to the host 8. The protocol translators 222 serve to format or code the (step 320). In the case of email, e.g., this might include messages as appropriate for transport between the VSM 230 generating a request message for all unread nrail in the users MS-MOTO SDFLA 00000007344 6,101,531 7 post office box. The post office then checks for new mail with the generation of a query object or message at the received, and forwards all such mail to the VSM (steps communications server (step 4!)6). This obj ect/message may be created in response to a preceding client generated 321-322). Because the VSM has established a tAN session with the post office, these conamunications are performed message (e.g., a request generated when clicking on an relatively quickly, e.g., in accordance with the LAN’s and 5 application button requesting updates, executing the mail host’s typical processing for their current loading level. The application, etc.), or in response to settings in the client VSM in turn forwards the data (i.e., mail) received via the profile. However, after updating the active client profile/ virtual session transport (step 323). For example, in the case object for an active client application, the query manager is of FIG. 1 where PDN 130 is an ISDN (integrated services preferably programmed to send query objects at predeterdigital network) network connected to a CDPD wireless ~0 mined intervals for each application being mn by each active network, the mail would be appropriately packetized by the client, the intervals varying depending on the application communications server and delivered via the serving BS 120 type (e.g., longer for mail (about every 5?*** seconds) than according to ISDN/CDPD system protocols. This can take for interactive applications like Lotus Notes (about every up to several minutes or morc for a moderately sized mail 17"** second). Alternatively, the intervals could be user package. However, since the data is being delivered in a 15 specified via the client profile, for example to shorten the sessionless mode, the amount of time the communication query intervals for time critical applications (e.g., for emerchannel (including the more expensive wireless communi- gency services or "real time" applications), or lengthen the cation channel portion, as well as the portion via PDN 130) intervals when less frequent updates are desired (e.g., to is tied up is kept to a minimnm. This also tranMates into a conserve on traffic expenses for updates to a rapidly significant cost savings for the user, since the user is only 20 changing, bul non-lime crilical, group-ware file or charged on a per packet basis for mail when it is actually document). transported, and doesn’t have to pay for a prolonged session The content of the query objects will vary depending both to keep connected to the post office in order to receive new upon the application and client filter settings. One approach lnail. Finally, upon receipt by the client, appropriate for mail applications is to have a predetermined number of acknowledgments are sent and the post office box updated, 25 user-definable filter attributes stored in the client profile e.g., by marking the mail as read or processed (steps databases (e.g., stores 212 and 226-227 of FIG. 2). These 324-326) attributes can include, by way of example, the priority of a While in some systems it may be advantageous to store message (e.g., urgent, normal, or low); the date on which the some of the data at the commnnications server, in the case message is sent or posted; the size of the message (typically of email and the like it is presently envisioned that the 3o uncompressed, i.e., the normal stored size; although transcommunication server is preferably used in maintaining the mission size or cost could also be used); the author of the sessions between client and host, and not as a remote server message; and the subject of the message (e.g., key words in for the host. Thus, rather than have all new data from the a suNect line or in the text). These attributes can simply be host pushed down to the communications server, most data used as reject criteria (e.g., reject all messages having "low" exchanges are preferably initiated, at some predetermined 35 priority, date before "12/15/95", size more than "2" kbytes interval or intervals, by the communications server (e.g., by (kilobytes), or subject not containing "project x"), pass the query manager). criteria (all messages from "Boss") or a combination of both, Further, it is an inefficient use of resources to continue the variety and complexity being a matter of design choice. querying a host or attempting to deliver data when the client These attributes also preferably include certain "granularity" is no longer receiving at its remote location (occurring, e.g., 40 filters, i.e., filters additionally limiting the size of a message when the client leaves a coverage area, or the user turns off passing all or most of the other filters. Three possible its modem or processor). Thus, a process for either mainexamples of granularity filters are a truncation size filter raining the client in an active status, or removing the client (e.g., truncate the message after the first "100’" bytes), and from active status in response to an event, is also preferably text or file attachment filters (e.g., indicating whether or not included in the VSM. One such process is to utilize timers 45 to strip attachments). Thus, messages passing all criteria but at both client and VSM to determine when a virtual session message size could still be received in a truncated size is no longer active. The timers are first set upon registration, meeting the message size criterion. Alternatively, messages and are subsequently reset after each data exchange (steps failing the author or subject filters could still be passed with 327-336). If no data cxchangc occurs within a prcdctcrhcadcr information, by sctting all rcjcctcd mcssagcs to bc mined period of time, say 20 minutes, both client and VSM 5o passed with a text truncation size of "0" bytes. One skilled would remove the client qualification (i.e., destroy the client in the art will appreciate that a variety of other reject/pass object for the commnnication session) and, if desired, mark filter criteria may be used, and the specific ones and comthe client as being in an inactive status (steps 337-340). The binations of user-definable (or even administrator-definable) VSM would also forward a logoff message to the host (step features will be largely a matter of design choice depending 341). In order to avoid an undesired time out, the client is 55 on factors such as the desired functionality, complexity, and preferably configured to send a short message after a preapplication(s) (including filterable features). It is significant, determined period since the last data exchange, sufficiently however, that clients are now provided by the present prior to the time at which the timers elapse so that the VSM invention with a means for effecting prestage filtering of can receive it. Otherwise, if there are only intcrnrittent data their comnrunications by virtue of the conmrunications exchanges, the client may be required to frequently 6o server and definable filter settings, rather than having to re-register; this in turn means the client will not be notified choose between receiving no messages or receive all of outbound data until the client re-registers and is again messages, including less important or expensive and timecoupled via the virtual session manager. consuming transmissions. Turning now to FIGS. 4 throngh 6, a presently preferred The prestage filtering is preferably performed at the host embodiment is shown for prestage filtering data for transfer 65 server. This may be accomplished, for example, by passing between the different functional entities of the wireless the filter attributes in an appropriately formatted query communications system of FIG. 2. This typically begins object or nressage for use by the host application. In the MS-MOTO SDFLA 00000007345 6,101,531 9 10 illustrated case a query object with the client filter settings FIGS. 8 and 6 illustrate two approaches to prestage is forwarded to the post office, and applied by a communifiltering particularly useful for email filtering. In FIG. 5, a cations server object or CSO (instantiated at the post office series of five reject filters are applied to each message. If a when the virtual session is established). The post off:ice!CSO mail message does not n~eet any of the criteria (priority, date, reads/queries the query object for the filter attributes, and s size, author, or subject/key word) then il is left unprocessed (steps ~02-$16). Once all unreviewed messages (i.e., all applies these criteria in the selection and formatting of unprocessed messages, or if expanded marking is available unprocessed messages (steps 408412). ’113e filtered mesall unprocessed messages not previously filtered) have been sages are then encapsulated and forwarded to the QM, which filtered, those not rejected are forwarded (step glg). FIG. 6 similarly forwards the filtered messages (with appropriate protocol translation) to the client (steps 414-416). ~0 illustrates the application of granularity filters. If a message exceeds the filter size, it is appropriately truncated Alternatively, where the host application is not designed to (including insertion of a note indicating truncation) (steps permit prestage filtering, all unprocessed nressages can be 602-606). Similarly, if there are text or file attachments, and forwarded to the communications server, where the filters these arc marked to be filtered, thcy arc stripped ~vith, are applied via a prestage filter (PSF) object or routine (e.g., PSF 232 of FIG. 2), with only qualifying/filtered messages 15 optionally, a note bring inserted al~.rting the addresser that being forwarded to the client (steps 410, 418424). Through the attachment was stripped (steps 608-614). Once filtered, the message is sent (step 616). acknowledgments the post office is notified how to mark the mail index in both cases. For example, when prestage FIGS. 7 and 8 illustrate a further enhancement, permitting filtering at the post office, all forwarded mail ~vould be the user to more conveniently review selected information marked as processed/read and all filleted mail as unproc- 20 even for fillered/rejected dala. In the preferred embodimenl essed (truncated messages being marked as either depending a query object or message is similarly generated by the on design conventions, or if availablc marked as filtered or communication server as dcscribcd above. However, in partially processed). If prestage filtering is done at the addition to the profile infomration, the query object in this communications server only those messages forwarded to case includes a request for summary information about each the client would be acMrowledged and nrarked as processed 25 partially and fully rejected message (step 702). When the (step 428). host (i.e., a post office server in the illustrated case) receives the query it applies the appropriate filters; if only qualifying In addition to downloadidownlink filtering, prestage filmail is present, this is forwarded to the client as described tering is also advantageously nsed in npfoad/nplink transmissions. This can take the form of granularity filtering, or above (steps 704-708). Where there is partially (e.g., automatically retaining the whole data unit or message based 3o truncated) or fully rejected data, identifying summary information is captured for all rejected data (step 710). For mail upon filterable attributes for later transmission when on a this identifying summary information would include the lower cost network. In this case, each client would have a message serial number, along with certain header informaprestage filter (PSF) unit such as that of PSF 208 of FIG. 2 tion (801 and 802 of FIG. 8). This header information may (e.g., a PSF object or routine drawing on selected attributes in the profile store 212). Each data unit generated is filtered 35 include any filterable attribute (e.g., date, author, subject, size, priority, attachment indicator) and is preferably client using the user-selected criteria, with qualifying data being forwarded via the communication server (steps 430~136). If definable, so the client can decide how much header information it needs and how much to omit. All qualifying and a data unit is not sent, it is retained locally for transmission non-qualifying (i.e., filter-rejected) mail is marked similarly later, e.g., when connected via a lower cost network to the post office. As an enhancement, the user could additionally 40 as described above (step 712). be provided with a selection of types of send buttons (i.e., When the response object or message is received by the filtered send or unfiltered send), or be prompted with an alert QM of the communication server, the encapsulated identidialogue or similar message when a message is filtered to tying summary information is saved to a select and summary decide whether to forward the data unfiltered (steps (S&S) index, such as that illustrated by client S&S index 438-440). Similarly, the user can be provided with several 45 database 22~ of FIG. 2 and the index structure of FIG. ~. groups of filter settings that could be manually or automatiThis index is preferably created in response to the first query cally activated, so as to enable the client to adjust plural filter follo~ving fnll qualification, although one could retain a settings with a minimum effort, for example by switching to stored index when the client is inactive as long as the index a morc rcstrictivc profilc whcn cntcring important mcctings is fully updatcd upon rc-rcgistrationiqualification. In order (which profile could be automatically activated via an appro- 5o to minimize transmissions between the communication priately configured and coupled calendar program, etc.). server and the client, only changes to the S&S index are forwarded, as summary delta data (i.e., a delta of the revised While only the client need retain the upload filter attributes in its profile store, preferably both the communiindex to the immediately preceding index, the preceding index being an acknowledged version same as that stored in cation server and client store copies of the download filter settings in their profile memories. This conveniently permits ss the S&S index (e.g., S&S index database 213 of FIG. 2) of a client to review all settings whenever desired, and to the client). Where only identifying summary information is received in response to the query object, one may additionchangc thc scttings locally. Whcn the download settings arc ally delay forxvarding the delta information to the client for changed at the client, the changes are communicated to the a predeternrined period of time or until the next message communication server preferably as soon as the change is made, or as soon as a virtual session is established if the 6o passing the prestage filters is forwarded, whichever comes changes are made while offiine from the communication first (i.e., the filter-rejected information more likely being less important, some users may prefer to receive S&S index server (steps 442444). Fnrther, where a summary index of updates less frequently in order to further reduce costs or filtered messages is maintained (as is described in connecinterruptions) (steps 714-718). tion with FIGS. 7 and 8 below), npon a change in filter settings the communication server may be automatically set 6s Upon receiving the delta of the identifying summary information, the client updates its S&S index and, when to forward all messages previously rejected but now passing appropriate, pronapts the user (again, the pronrpt criteria the new filter settings. MS-MOTO SDFLA 00000007346 6,101,531 11 12 could be set for all messages, or some sub-set based on any message is being sent, the controller additionally compares filterable attribute, etc.). The user is thus able to review the the reply message with the optimized reply to determine summary information and make a determination on whether which is optimum for transmission (step 906). This deteror not to override the filter rejection. For nrail the user wants ruination may be made based on a comparison of the to read, the user indicates the decision by any appropriate s message sizes, compressed and formatted message sizes, or means (clicking on the message, voice command, etc.) and any other convenient means for estimating which version of an appropriate request generated (e.g., for all selected mail, the reply will require the least bandwidth or transport cost. ’l’hus, for example, a normal reply message to a very short tor only a partially filtered version (e.g., truncated), etc.) (steps 720-722). The request is appropriately translated, as message may be selected for transmission where the overneeded, and sent as a query object or message to the post ~0 head of the delta and message identifier make the optimized office. Upon retrieval, the requested data is forwarded to the reply bigger than the normal reply message would be. client via the QM. Upon receipt at the client, a read However, in most instances it is anticipated that the optiacknowledgment is generated and sent to the communicamized reply will be smaller than a normal reply message, tion scrvcr. Preferably whcn thc read ac ~knowlcdgmcnt is providing significant savings to thc clicnt in timc and costs. received at the communication set-oct a further ACK ~5 When the optimized reply is received at the QM of the (acknowledgment signal) is sent to the client, at which time communication server, a determination is made on whether both client and communication server update their respecto reconstruct the normal reply message (i.e., form a replica tive S&S indices to remove the entry for read mail from the reply) or to forward the optimized reply, based on known S&S index, and note any partially read mail. Upon parameters (if any) of the target communication unit/client. acknowledgment, the post office further marks any read mail 2o Thus, for example, where bolh Ihe originaling and largel as processed (steps 724-734). clients are active and served by the same communication As with prcstagc filtering, one skilled in the art will scrvcr and thus arc known to have optimized reply appreciate that nrany more filterable attributes and summary capabilities, and the target client was an addressee or origiinputs are possible than those described, and which ones are nator of the preceding message identified by the message available will depend on such factors as the desired 25 identifier of the optilnizcd reply, a reconstructed reply is not functionality, complexity, and application(s) (including filrequired. Rather, since the preceding message is either in the terable features) for which the select and summary index is inbox or outbox of the target unit, the target unit can being used. The index structure may thus similarly vary reconstruct the reply message from the identified mail in its significantly, as will the means f~r achieving similar indices mailbox and the delta. This advantageonMy allows bandfor both the client and communication server; in other 3o width to be minimized for both the sending and target ~vords, while one could simply periodically forward the clients. Further, if perchance the target unit has already whole index, where practical any one of a number of known deleted the identified preceding message, the controller of delta (e.g., data representing the content difference between the target unit could, rather than acknowledge receipt, send two files) or other update approaches for communicating a request for the normal reply message, which the commuless than the whole index are likely more preferable. What ~5 nication server would reconstruct as described next. is significant, no matter the particular design approach In cases where the target unit is not an active client with selected, is that a summary index, showing unprocessed or the communication server, the QM (or other appropriate partially processed data (e.g., that filtered), is available to a entity of the controller) functions to reconstruct the reply client for determination on whether to process the data message from the optimized reply. Because the communifurther, with a substantially identical index being retained at 4o cation s~rver preferably does not retain a copy of client mail thc communication scrvcr in order to furthcr reduce transor data located on other hosts (such remote stores typically mission requirements. adding complexity and cost, while being unnecessary in FIG. 9 illustrates a yet further improvement, this embodiview of the virtual session established via the communicament permitting a user to minimize the data transmitted for tion server), it would use the identifier to retrieve the responses to earlier data transmissions. This is particularly 45 preceding message from the host (e.g., send a query object advantageous in the case of email, where it is common to or message to the appropriate post office) (steps 908-912). append all prior messages in an email conversation to a This can be implemented by requesting the preceding mesreply, making for lengthy reply messages that contain subsage from the client inbox, or from the origiuating unit’s stantial portions that arc idcntical to mail alrcady saved at outbox (or cvcn thc target unit’s inbox, if it is a cc: on the the client or target unit. While this has come to be expected 5o preceding message). Because the serial number is a unique in email replies, it is also quite costly in time and tariff number widely used in email applications, this is the prefcharges in bandwidth limited systems like most wireless erable message identifier for email systems. However, where communication systems. this unique number is unavailable other identifiers may be used, including author, date and/or subject matches. Further, Starting from a client perspective, the process of FIG. 9 commences with a client formulating a reply to a received ss for some messages it may even be advantageous to use other mail message, much as he or she would for any typical email relatively unique values, snch as CRC or other values, by themselves or together with other identifiers. It is relatively application (step 902). Howcvcr, when thc uscr cxccutcs the unimportant for purposes of the invention what the identifier reply, e.g., by clicking on a send button, the client controller is, as long as it is useful within the accuracy demanded by (201 of FIG. 2) optimizes the reply message by calculating a delta or difference, using any appropriate delta routine, 6o the system design for retrieving the correct preceding message. between the reply message and the preceding message. This delta is then formed into an optimized reply along with a Once the preceding message has been received by the message/data unit identifier for the preceding message/data communication server, it uses a counterpart delta routine to ~ nit (preferably the mail serial number, althongh any retrievthat of the client to reconstruct a replica of the reply message able identifier of the preceding message may be used, such 6s from the delta of the optimized reply and the retrieved copy as header information, or even a CRC (cyclic redundancy of the preceding message. Once reconstructed, the reply check) value) (step 9~4). To ensure that only the shortest nressagc is forwarded to the target unit(s), as well as to the MS-MOTO SDFLA 00000007347 6,101,531 13 14 outbox or sent mail folder of the client’s post office box within desired limits. Turning to FIG. 10, with reference also to FIG. 2, one embodiment of such a rate governor is (steps 914-916). While some additional processing and network traffic is required between the communication illustrated. This rate governor operates to track the approxiserver and host, this is relatively inexpensive compared to naate tinle and/or expense for client use, which can be as the savings achieved by using an optimized reply over the 5 simple as timing a circuit-switched connection, or where tariffed network between the communication server and packet data is being sent, timing (or estimating based on client. size) the time and/or cost of transmitting the packet over the tariffed network(s). In estimating the transmission value While the preceding approach can be implemented with(e.g., cost), a rate governor conld better estimate actual costs out resort to a message index, it can be further optimized by by taking into account known (e.g., rates by established by use of indices at the comnrunication server and client. In this ~0 each network service provider pricing factorstime of day, by case, a full index of each active client’s mailbox (or other grade/quality of service (QoS) for packets, by size or bandapplication file(s)) is maintained at both the client and the communication server. This index could advantageously be width desired, etc.). These values would be maintained for application by the rate governor (234 of FIG. 2) as each data one of the S&S indices 213 and 228 of FIG. 2 designed to inclnde all mail (although perhaps with less identifying unit is received to determine an estimated transmission information for received mail than for filter-restricted mail, 15 value. depending on factors such as the memory available and the In the illustrated case of an email application, upon amount of identifying information desirable). When an receiving a client-generated message the QM (or other optimized reply is received at the communication server, a appropriatc controller cntity of the communication server) search of the appropriate client index (e.g., first the target passes the pertinent packet information or message paramunit, if also an active client, otherwise the client’s or 20 etcr (e.g., the packet size frour the header) to the rate originating unit’s indices) for the message identifier of the governor, which in this case operates as a packet rate preceding message, indicating whether or not the preceding governor (or PRG). The PRG determines from the client message has been deleted. When the preceding message’s object (or profile store) the amount of use time and!or charge identifier is present, the process continues as noted above, in still available (or alternatively, the amount already used, and other words by sending the optimized reply to the target unit, 25 limits allowed), and compares the use time remaining (e.g., or reconstructing the reply message and forwarding it to the a previously authorized or allocated transmission value) target unit. against the value for the message parameter (step 954). Replies being sent to the client can similarly use an Preferably several limits are established, inch~ding one or optimized reply 1o minimize messaging sizes. Thus, for more alert thresholds. These alert thresholds would serve to example, where a reply is received by the communication 3o warn the client each time a certain threshold is passed in server which has the client as an addressee, the communiamounts of time/charge used or remaining, permitting the cation server is capable of generating a delta between the client to limit use as needed to stay within budget, or to seek reply message and a preceding message known to be stored a higher limit in advance of the point at which the use limit in a mail database (e.g., memory 214 of FIG. 2) of the client. is reached. This use or transmission limit serves as the The preceding message is most easily identified if an addi- ~5 budgeted limit for data transfers. Unless a user is privileged, tional identifier is included with the reply for ease of once the use limit is reached further communications/data searching in the client’s index. Ho~vever, where such is not transfers are restricted. In the simplest form, such transfers included, identifier’s can be extracted from the text (e.g., are restricted by alerting the client that the use limit has been author, date, recipient, subject) for comparison matching. reached, terminating the current session and preventing Alternatively, a comparison of the text of the reply message 40 further sessions until additional use limit time/charge is can bc used in determining the preceding mcssagc. For authorized. Alternatively, certain messaging could still be example, a series of preceding messages could be retrieved permitted (based, e.g., on any filterable criteria--e.g., perfor textual comparison; or alternatively an identifying value mitting messages to the administrator but not a further tor all or selected (e.g., sent) mail can be maintained (e.g., communication unit), but ~vith reminders that routine mesby calculating the text CRC value and storing it in the 45 sages will not be forwarded. This would advantageously index), and a check of selected portions (e.g., all portions allow critical messages, messages to an administrator (e.g., belo~v insertions identifying preceding messages in the text) requesting additional authorization), etc_, to still be of the reply mcssagc text can then bc performed. The latest transferred, although it does not prevent a user from ~nning or largest matching preceding message is the selected up excess chargcs for mcssaging to the communication (which could be either a message sent to, or sent from, the 5o server, a PRG may thus also be advantageously used in the client), so as to minimize the delta, and the delta calculated client (e.g., PRG 209 of FIG. 2), signaled by the PRG of the between the preceding message and the reply message. An commnnication server to automafically set certain prestage optimized reply is then formed including the delta and filters to restrict all but certain message transfers until a new preceding message identifier recognizable by the client. This use limit is provided. If a user were to bypass this client PRG optimized reply is then forwarded, and reconstructed at the ss and continue improper messaging, all further sessions could client into the reply message. In other words, the client be terminated by the communication server with notification retrieves from memory the message corresponding to the to the administrator and client. message identifier, and forms a replica of the reply message If the user is privileged, data transfers would still continue from the delta and message. Once acknowledged, both client despite the user limit having been exceeded. However, an and comnrunication server indices are appropriately updated 6o alert would still preferably be sent to both the client and to reflect thc mail transfcr (stcps 918-9311). administrator, allowing the administrator to verify the priviThis embodiment thus provides an efficient process for lege and reset the use limit if desirable, and the client to still sending reply data between a client and the communication be aware it has passed a targeted use amount (steps 986-968 server, without requiring the costly transfer of earlier transand 980-984). In any event, after each data transfer the mitted p~rtions ~f the reply data. 6s client object or store is updated to reflect the new estimated In a final embodiment, a rate governor is provided so as transaction total (e.g., time remaining, total expense, etc.) to assist clients in maintaining their nressaging and expenses (step 958). MS-MOTO SDFLA 00000007348 6,101,531 15 16 As mentioned above, if a user is not privileged it is limited number of which have been described in detail preferable to allow the client an additional data transfer to an above, llaus, for example, while the embodiments above administrator requesting additional allocation of time/ describe application to clients communicating in certain charges. This request would be forwarded by the commusystems, one should appreciate that it has application to any nication server to the administrator hosl, where it would be s communication system, wired or wireless, client-server, processed for approval. If approved, the administrator would distributed or other networks, etc., in which the user is notify the communication server to adjust the use limit by a remote from a host. It can also be used with almost any specified amount. Alternatively, if there is no system application program or groups of programs (e.g., transferadministrator, but charges or debits are handled throngh ring database, wordprocessing, graphics, voice etc. files, communication server service provider, the client may send ~0 email or groupware. Moreover, xvhile processor 2@6, conexecuting programs and control messages, etc.), not just any appropriate authorization for additional charge/debit to the communication server (e.g., by sending an encrypted troller 229, timers 20~ and 224, data stores 211 and 22~, and account number and identifying information like a PIN other circuits, are described in terms of specific logical/ (personal identification number). Once the charge or debit is functional!circuitry relationships, one skilled in the art will processed and approved to the service provider’s appreciate that such may be implemented in a variety of satisfaction, the amount of charge or debit would be used to 15 ways, preferably by appropriately configured and proadjust the use limit. A notification would also be forwarded grammed processors, ASICs (application specific integrated to the client of the new use limit, with the client PRG being circuits), and DSPs (digital signal processors), but also by updated accordingly (steps 970-97g). hardware components, some combination thereof, or even a distributed architecture with individual elements physically In addition to updating the use limit in response to a user or administrator request, the rate governor can also be 2o separated but cooperating to achieve the same functionality. advantageously set to automatically update the use limits Thus, it should be understood that the invention is not upon the occurrence of a predetermined update event. Thus, limited by the foregoing description of preferred for example, where billing and budgeting is done on a embodiments, but embraces all such alterations, monthly cycle, and the administrator has set rate governor modifications, and variafions in accordance w-ith the spirit preferences so as to automatically reset the use limit on the 25 and scope of the appended claims. first day of the next billing cycle, the communication server We claim: will automatically reset the client use limit at the specified 1. A method of communicating data units over a wireless fime and in the specified amount (step 992). network between a client communication unit and a host Moreover, in order to achieve an even more accurale device via a comnrunication server, the method comprising, billing control, the communication server could be coupled 30 at the communication server: ~vith the tariffed network service provider(s) so as to receive filtering data units based on a first set of user-selected periodic charge statements for client data traffic, as well as criteria to produce filtered data units; updates for tariff rates, etc. In order to take advantage of communicating the filtered data units to the client comthese statements, a billing index would be maintained for munication unit; each client esfimating use and charges for each data transl~r. 35 receiving a second set of a plurality of user-selected Upon receiving the periodic charge statement (e.g., forcriteria, wherein the second set of the plurality of warded once a day during an administrative window) user-selected criteria has been previously prepared at estimated use entries are replaced by the actual use and the client communication unit and, when completed, charges from the statement, and the client profile (and has been sent to the communication server in a virtual object, if active) is updated to reflect a corrected use limit, 40 session; ctc. The administrator is notified, and thc clicnt is notified filtering subsequent data units based on the second set of upon Ihe nexl transaction, of Ihe upda|ed amoutu. If desired, the plurality of user-selected criteria to create subsethe client or administrator can request a download of the qucnt filtered data units; and current billing index showing the most recent estimated and communicating the subsequent filtered data units to the 45 actual charges (steps 986-99@). client communication unit. Finally, one should appreciate that the above process is 2. The method according to claim 1 further comprising equally applicable to groups as well as to individual clients. truncating a filtered dala unit if the filtered data unit exceeds Thus, the PRG can advantageously be used to set use limits a first filter size. for groups and supcrgroups of uscrs, as wcll as for individual 3. The method according to claim 1 further comprising clients as described above. Thus, where one of the applica- 5o truncating a subsequent filtered data unit if the subsequent tions being used is groupware, as opposed to the email filtered data unit exceeds a second filter size. example described above, different groups can be assigned 4. The method according to claim 1 further comprising: group use limits for groupware data transfers (while retainmaintaining a summary index of data units that did not ing individual use limits for separate email or data transfers, pass the first set of user-selected criteria to produce etc.). To avoid one or two users exhausting the group’s ss unfiltered data units; and authorized limit, individual use limits can still be set for each automatically forwarding the unfiltered data units to the client, although with more flexibility, e.g., to draw on unused client communication unit that pass the second set of group time before requiring additional allocation from an the plurality of user-selected criteria. administrator, to pernrit another user of the group to yield a portion of its individual use limit, etc./ks should be apparent, 60 5. A nrethod of comnrunicating data units over a wireless network bctwccn a client communication unit and a host many variations exist on how the rate governor is structured, device via a communication server, the method comprising, depending on the applications being used, clients and groups at the client communication unit: operating, the interactivity with service providers, complexity or simplicity desired, and many other related and unrecommunicating a set of a plurality of user-selected criteria lated f~clors. to the communication server; 6s One sldlled in the art will appreciate that there are many storing the set of the plurality of user-selected criteria variations that are possible for the present invention, only a locally in a memory; MS-MOTO SDFLA 00000007349 6,101,531 17 18 receiving filtered data units from the communication defined groups of filter settings that are selectively commuserver based on the set of the plurality of user-selected nicable to the communication server. criteria; 10. The method according to claim 5 further comprising reviewing the set of the plurality of user-selected criteria providing the client communication unit with several groups s of filter settings that are manually activated. locally; modifying the set of the plurality of user-selected criteria 11. A method of communicating data units ovcr a wirclcss locally to producc a modificd sct of a plurality uscrnetwork between a client communication unit and a host selected criteria; device via a communication server, the method comprising: storing the modified set of the plurality of user-selected filtering data units, at the communication server, based on criteria locally in the memory; a first set of a plurality of user-selected criteria to conan]unicating the modified set of the plurality of userproduce filtered data units; selected criteria to the communication server; and communicating, at the communication server, the filtered receiving filtered data units from the comnmnication data units to the client communication unit; server based on the modified set of the plurality of 15 preparing, at the client communication unit, a second set user-selected criteria. 6. The method according to claim 5 wherein the steps of of a plurality of user-selected criteria and, when communicating occurs when a virtual session is established completed, communicating the second set of the plubetween the client communication unit and the communirality of user-selected criteria to the communication cation server. 20 server in a virtual session; 7. The method according to claim 5 wherein the step of filtering subsequent data units, at the communication modifying comprises modifying the set of user-selected server, based on the second set of the plurality of criteria at the client communication unit while on-line with user-selected criteria to create subsequent filtered data thc communication scrvcr. units; and 8. The method according to claim 5 wherein the step of 25 communicating, at the communication server, the subsemodifying comprises modifying the set of the plurality of quent filtered data units to the client communication user-selected crileria a! Ihe clien! communication uni! while unit. off-line from the communication server. 9. The method according to claim 5 further comprising providing the client communication unit with several pre- MS-MOTO SDFLA 00000007350

Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.

Why Is My Information Online?