Apple Inc. v. HTC Corporation et al

Filing 1

COMPLAINT for Patent Infringement against All Defendants. Filing fee $ 350.00 receipt number 113C-4398912, filed by Motorola Mobility, Inc.. (Attachments: # 1 Civil Cover Sheet, # 2 Summon(s), # 3 Exhibit 1, # 4 Exhibit 2, # 5 Exhibit 3, # 6 Exhibit 4, # 7 Exhibit 5, # 8 Exhibit 6)(Mullins, Edward) [Transferred from Florida Southern on 8/3/2012.]

Download PDF
                                                                        EXHIBIT 4  111111 United States Patent [19J Eggleston et al. [54] Inventors: Gene Eggleston, Cary; Mitch Hansen, Fox River Grove, both of Ill. US006101531A [11] Patent Number: 6,101,531 [45] Date of Patent: Aug. 8, 2000 5,377,354 12/1994 Scannel et a!. ... ... .... ... ... ... ... ... 709/103 5,406,557 4/1995 Baudoin . 5,491,820 2/1996 Belove et a!. . ... ... .... ... ... ... ... .... ... 707/3 5,506,887 4/1996 Emery eta!. . 5,513,126 4/1996 Harkins et a!. . 5,568,540 10/1996 Greco et a!. . 5,621,727 4/1997 Vaudreuil . 5,764,899 6/1998 Eggleston et a!. ...................... 709/203 SYSTEM FOR COMMUNICATING USER-SELECTED CRITERIA FILTER PREPARED AT WIRELESS CLIENT TO COMMUNICATION SERVER FOR FILTERING DATA TRANSFERRED FROM HOST TO SAID WIRELESS CLIENT [75] 1111111111111111111111111111111111111111111111111111111111111 Primary Examiner-Le Hien Luu Attorney, Agent, or Firm-Rami 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 controller applies an upload prestage filter (432) so as to retain all filter-rejected email, while transmitting email passing the filters ( 434). Thus, only desired data transfers (i.e., those meeting user defined filters) are communicated over the expense-bearing networks between the remote unit and communication server. Apr. 15, 1998 Related U.S. Application Data [63] Continuation of application No. 08/574,537, Dec. 19, 1995, abandoned. [51] [52] Int. Cl? ........................... G06F 15/16; G06F 15/177 U.S. Cl. .......................... 709/206; 709/207; 709/220; 709/232 Field of Search ..................................... 709/206, 207, 709/220, 232, 103, 203; 706/47; 707/3 [58] References Cited [56] U.S. PATENT DOCUMENTS 5,276,680 5,283,856 5,287,456 1!1994 Messenger . 2/1994 Gross et a!. .............................. 706/47 2/1994 Rhodes et a!. . ABSTRACT 11 Claims, 8 Drawing Sheets U.S. Patent 6,101,531 Sheet 1 of 8 Aug. 8, 2000 1.0 ,._ ,._ a: ~LLJ U)~ ao: :c:UJ U) ~I ,._ ,._ 0 C"') ,._ a: ~~ / Off} 0 (.)(/) 0 ,._ ,._ ~ ,._ ..,.._ • (!} 0: d • \Jl • ~ 201 I I I /_---- - -r -------~ I c 1 I I I I 216 ' -~~~~ 202 204 --" DATA CODER i lgJt:tX$1 I I 1 I I I 203 I , lrr---;...----~-, I11MEMOR~ Ill !PROFILE I • I I Urn Cm L-JJSESsiON MANAGER 1 r-------I PROTOCOL TRANSLATOR I 1 I I I I I I :;:;:-=""1 j "t-230 r-------------;. II '" -· ' .. - 11 1 1 I I DB I IL--~~~L-- L--- 211 -- 214 FIG.2 cso L ---.--.1 244 1 MANAGER I 246 I 255 = ......... ~ ~CIO N c c c 'JJ. I I \. I I ACTIVE I CLIENT I PROFILE I DB I I I ~ 1 I I L-------------.J -·- .. ./260 r----L--, !"_" ____ _ I POST OFFICE I HOST SERVER I I MAILBOXES STORE 1:1 §:AIL ~~s=----L~~--, I I 205...---~ BASE SITE2 BASE SITE1 ~ ~ ......... INACTIVE CLIENT PROFILE DB I ADMIN HOST(A) I 1 CLIENT MAIU S&S INDEX DB 1 ~ _ ~EMORY "'--- 227 "'--228 : COMM~N~C~T~O~ ;E;V~R- - \:_22S - .J :"220 I I I I L------------------~ =- ~ ~ ..... g BILLING : MANAGER ~~;--~~ CLIENT /GROUP PROFILE DB I I I I L-------.J N 0 ......, CIO 266 264 0\ .... = ~ ~ .... Ul ~ ~ U.S. Patent 6,101,531 Sheet 3 of 8 Aug. 8, 2000 MS!CLIENT HOST/SERVER(E.G., POST OFFICE) 305 304 306 • • -VIRTUAL SESSION ESTABLISHED-• -SESSION ESTABLISHED_.. • • • • • • • • • • 330 FIG.3 NO 341 U.S. Patent Sheet 4 of 8 Aug. 8, 2000 MS/CLIENT 6,101,531 HOST/SERVER COMMSERVER YES 414 APPLY FILTERS; SEND QUALIFYING MAIL RECEIVE QULIFYING MAIL;FORWARD • • FOWARDMAIL • 420 FORWARD QUALIFYING MAIL 422 ACKNOWLEGE (LIST QUALIFYING, UNQUALIFIED MAIL • • • 432 APPLY FILTERS 434 • • • FOWARDMAIL 444 ~ 442 I CHANGE FILTER SETTINGS • •• • I - RECEIVE; ADJUST CLIENT PROFILE/OBJECT ACK FIG.4 U.S. Patent Aug. 8, 2000 6,101,531 Sheet 5 of 8 TRUNCATE/OMIT MESSAGES FIG.5 612 FIG.6 U.S. Patent MS/CLIENT 6,101,531 Sheet 6 of 8 Aug. 8, 2000 HOST/SERVER COMMSERVER NO 720 DETERMINE CLIENT SUMMARY INDEX CONTENT SEND SUMMARY INDEX DELTA RECEIVE; UPDATE CLIENT SUMMARY INDEX, PROMPT USER 718 722 724 USER REQUESTS SPECIFIED MAIL; SEND REQUEST(E.G., SERIAL NO. RECEIVE REQUEST, FORWARD OBJ; TO POST OFFICE 726 730 FIG.7 / 80 1 / 802 CLIENT 1 SUMMARY SERIAL N0.1 HEADER INF0.1(E.G.,AUTHOR:SUBJECT,DATE/TIME IN; INDEX SIZE:ACKNOWLEDGEMENT!SIZE:PRIORITYJ SERIAL N0.2 HEADER INFO 2 . . . . . . FIG.B U.S. Patent Aug. 8, 2000 6,101,531 Sheet 7 of 8 HOST/SERVER COMMSERVER GENERATE OPTIMIZED REPL Y="DEL TA" BETWEEN REPLY AND A PREEDING MESSAGE, AND PRECEEDING MESSAGE IDENTIFIER 906 COMPARE OPTIMIZED REPLY AND STANDARD REPL Y,SEND SHORT 912 RETRIEVE PRECEEDIN MESSAGES;SEND TO COMM SERVER ••• ••• GENERATE OPTIMIZED REPLY=DELTA PLUS PRECEEDING MESSAGE IDENTIFIER 922 FIG.9 U.S. Patent Aug. 8, 2000 ADMIN/SERVER MS!CLIENT 952 6,101,531 Sheet 8 of 8 UPDATE CLIENT OBJECT/ DATA BASE REFLECTING NEW TRANSACTION TOTA (ESTIMA TED),DETERMINE NEW USE LIMIT 970 OPTIONALL Y(IF CAPABLE) 1)SEND REQUEST TO ADMINISTRATOR FOR ADDITIONAL ALLOCATION 2)AUTHORIZE COMM. SERVER PROVIDER FOR ADD/TONAL CHARGE !DEBIT 1 )FORWARD REQUEST TO ADMINISTRATOR OR 2)PROCESS CHARGE/ DEBIT AMOUNT,ADJUST LIMIT IF APPROVED 962 VERIFY PRIVILEGE; LERT ADMINISTRA TO UPDATE PRG USE LIMIT 978 956 ALERT CLIENT 988 UPDATE PRG USE LIMIT, ALERT CLIENT 990 CLIENT REQUEST DOWNLOAD OF CURRENT BILLING INDEX ••• RECEIVE BILLING INFOR -MA TION FROM PROVIDER REPLACE ESTIMATED US CHARGES IN BILLING INDEX, UPDATE DIRECT OBJECT REFLECTING NE TRANSACTION TOTAL, PDA TE USE LIMIT, NOTIF CLIENT, ADMIN. ••• UPDATE EVENT OCCURS (E.G., START NEW BILLING CYCLE); ADJUST USE LIMIT N TIFY CLIENT ••• 92 FIG. tO 6,101,531 1 2 Further, many processes, like that of a typical email reply, are wasteful of bandwidth by resending 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.S. appliadditionally a problem in a lack of effective techniques for cation Ser. No. 08/574,537, filed Dec. 19, 1995 now monitoring and even controlling an aggregate use of tariffed abandoned, entitled "Method and Apparatus for Virtual 10 networks. While the network service providers have means Session Communications" by Gene Eggleston and Mitch 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 INVENTION 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 following the service providers periodic statements. more particularly an improved method and apparatus for There remains therefore a need for an improved means for transferring data in a communications system. 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 SYSTEM FOR COMMUNICATING USER-SELECTED CRITERIA FILTER PREPARED AT WIRELESS CLIENT TO COMMUNICATION SERVER FOR FILTERING DATA TRANSFERRED FROM HOST TO SAID WIRELESS CLIENT demand for communications services, including both wired and wireless networks capable of handling data communications. Unlike real-time voice services, such as standard telephony or cellular wireless services, in which circuitswitched communications are used because of the sensitivity of users to the timing of oral dialogue/voice data, greater efficiencies can often be achieved in non-voice data communications through the use of packet-switched or hybrid communications systems. This is particularly the case with communications to remote users (e.g., persons sending messages via one of the well-known available wireless networks like GSM (Global System for Mobiles) or AMPS (Advanced Mobile Phone System) cellular), where protracted circuit-switched sessions into a mail server or LAN (local area network) could be prohibitively expensive due to the high per-minute session charges by the wireless service provider. One solution to this problem has been for users to limit, as much as feasible, their communications to sessionless communications. This can be done, e.g., by subscribing to additional email services that can receive LAN/WAN (wide area network) email and send out broadcast pages and transmissions to registered users, in lieu of requiring a user to maintain a session with a mail server. However, this disadvantageously requires subscription to an additional service, and is typically limited in the types of applications supported. With the rapid growth in emerging sessionoriented applications-like the popular client server application of Lotus Notes®-the need is growing for more cost effective solutions to providing connectivity of such sessionoriented applications and users remotely located from their host servers. Regardless of whether a session-oriented or session-less communication service is used, it is also desirable to limit the amount of information communicated between a remote user and host, both to save off-site user's time and to limit the costs arising from the more expensive rates for remote communications. Unfortunately, typical applications like email do not provide for user-selected methods for choosing and limiting the volume of down-loaded communications, or for filtering uploaded communications. Thus, a user who wants to receive remote messaging is left with an option of receiving all his messages, even the ones he or she might otherwise be willing to leave unread until a later time when no longer using expensive remote communications services. 25 30 35 40 45 50 55 60 65 FIG. 1 is a block diagram of a communications system according to a first embodiment of the invention; FIG. 2 is a block diagram of a communications system according to a further embodiment of the invention; FIG. 3 is a flow chart illustrating virtual session data transfer between the different functional entities of the wireless communications system of FIG. 2; FIG. 4 is a flow chart illustrating a pre-stage filtering embodiment for data transfer between the different functional entities of the wireless communications system of FIG. 2; FIG. 5 is a flow chart illustrating one embodiment of pre-stage filtering for data transfers; FIG. 6 is a flow chart illustrating another embodiment of pre-stage filtering for data transfers; FIG. 7 is a flow chart illustrating a message summarization and selection embodiment for data transfer between the different functional entities of the wireless communications system of FIG. 2; FIG. 8 is a diagram illustrating an embodiment of a summary index for use in the process of FIG. 7; FIG. 9 is a flow chart illustrating an optimized reply embodiment for data transfer between the different functional entities of the wireless communications system of FIG. 2; and FIG. 10 is a flow chart illustrating a rate governor embodiment for data transfer between the different functional entities of the wireless communications system of FIG. 2. DETAILED DESCRIPTION These problems and others are solved by the improved method and apparatus according to the invention. A presently preferred first main embodiment of the invention is a system including a virtual session manager (VSM) for establishing and maintaining a sessionless communication path with a first data processing device (e.g., a mobile client) on the one hand and a session-oriented communication path with a second data processing device (e.g., a host system). The session-oriented communication protocol with the host system permits remote access to, e.g., LAN-based applications, while the virtual session, via a sessionlessoriented communication protocol, between the VSM and 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, may also be used at the In a second main embodiment, a prestage filter stage is provided for applying user-definable filter parameters (e.g., 5 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. 1, there is generally depicted a wards the filter parameters in a query object or message to 10 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., email from host processor 115 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 unit and session manager (VSM) and query manager (QM), is communication server. 20 coupled between the public data network 130 and the host In yet another main embodiment, a select and summary server 115. The virtual session manager and query manager (S&S) listing or index is used to provide user flexibility in are, preferably, an appropriately configured data processing 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 110 via any convenient means such as a server maintain a S&S index containing identifying 25 machine-readable CD-ROM 111 (compact disc-read only memory) or the like. Counterpart client-communications (summary) information about data which has not been fully transferred between the communication unit and communisoftware, e.g., a prestage filter and rate governor, can be shipped via a similar convenient form like CD-ROM 107, cation server. As new data is reviewed and filtered for transfer, identifying/summary information is captured for downloaded directly from server 110 to subscriber 105 (also any non-qualifying data by either a host unit or the com- 30 being, e.g., a data processing device, by which is meant munication server. This 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 embodiment the mobile user 105 communicates partial or full transfers for further review. Thus, a cost with the serverNSM 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 otherwise 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 40 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 105 a delta (e.g., data representing the content difference and serverNSM 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/WAN on which the host 115 is also connected, via any data unit identifier to retrieve the preceding message from a standard LAN/WAN communication channel (e.g., a bus or further host (e.g., the post office mailbox of the user assobackbone). This allows the communications server 110 to ciated with the remote unit), reconstructs the full reply from 50 advantageously maintain the same session with the host 115 the retrieved message and the delta, and forwards the full that the client 105 typically enjoys when connected to the reply to the addressee. When receiving a reply for the remote LAN/WAN. Thus, 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 same access as if directly connected to the host's 115 LAN, unit and communication server of mail stored at the remote unit. Resort is made to this index to determine a preceding 55 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 alternative communication system the preceding message, and sent to the remote unit. In this 200 embodiment of the present invention. A first client, a manner, the volume and expense incurred in reply messagmobile end system (M-ES) computer including a user device ing is greatly reduced, by only sending a delta and small 60 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 coupled, e.g., on a same bus or via bridges/routers, to a Finally, in a fifth embodiment, a rate governor is provided communication server 220 which includes VSM 230. An for monitoring and controlling the amount of communications between the remote unit and communication server. electronic mail (email) post office is coupled locally to VSM Preferably, as threshold(s) are passed a user is alerted to 65 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 communications server's 220 LAN/WAN. It is not 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 255, 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 clientCommunications server 220 is also illustrated as supportserver host 255, a further database host server (not shown), an 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 10 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 217-219 being coupled via a common bus, backbone, etc. or in communication with a second unit or component These base stations can be part of the same communication regardless of whether the first and second units are directly system, similar systems owned by different service coupled or indirectly coupled, such as via intermediate units, including switches that operatively couple the units for only 15 providers, or even different systems, all of which may be different from the communications server service provider. a segment of time, as long as a signal path can be found that 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 intermediate system (e.g., a router or switch) 125 and a 20 in-building cordless telephone node, etc., allowing users packet network 130 having multiple switches etc. are disfrom a variety of systems to access the same communicaposed between the user device 105 and VSM server 110. tions server and post office. Users not registered could access through the appropriate one of these nodes along the In the illustrated case client 201 includes a data transfer model of FIG. 1, i.e., via PDN 250 to a remote communimanager or exchange unit 206, which in simple form could be an appropriately programmed electronic processor 207 25 cations server having their VSM/QM. Thus, any number of system configurations is possible, limited only by the net(e.g., a general purpose CPU (central processing unit) and work services provided and the user's preference. memory or data store 211. A timer 205 is also preferably A process by which a VSM manages communications employed in the data exchange control process, as will be between client and host is illustrated in the flow chart explained further in connection with the flow chart of FIG. 3 below. A typical client 201 would also include some 30 embodiment of FIG. 3. This process typically begins with a form(s) of user interface such as display 204, a data encoder/ 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 communications) and a modulator-demodulator (or modem) initiate the communications by sending a page or the like 202 to connect to a wireless or wireline communications 35 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, once a registration message is received by the communicacommunications; the specific type will vary depending on the system, e.g., including PCMCIA (personal computer tions server, it preferably authenticates and otherwise qualimemory card interface association) wireless modems, and 40 fies the client, including sending a logon/registration message to the host for its authentication of the client (steps attached or built-in PSTN (public switched telephone 303-305). Upon successful authentication, the communicanetwork) modem, etc. Specific features of data exchange unit 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 based on the type of communications involved. Also, the The communication server 220 preferably includes a data transfer manager or controller 229 having a VSM 230, 50 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 communications server. Following instantiation parameters) and inactive client profile information 226 and at the server, a response message, e.g., a further registration 227, a timer 224, and optionally some form of protocol 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 55 (ACK) returned to the server; both client and server then retain the instantiated objects as fully qualified, and start with host systems 240, 255 and/or 260 based on the paramsession timers (steps 307-309). At this point a virtual session eters loaded into the active user parameter 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 60 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 prefersummary index database or store 228, which will also be ably generated by query manager requesting 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 mail in the users 6,101,531 7 8 with the generation of a query object or message at the post office box. The post office then checks for new mail received, and forwards all such mail to the VSM (steps communications server (step 406). This object/message may 321-322). Because the VSM has established a LAN session be created in response to a preceding client generated with the post office, these communications 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 10 mined intervals for each application being run 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 more for a moderately sized mail 1?* * * 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 communigency 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 minimum. This also translates into a conserve on traffic expenses for updates to a rapidly significant cost savings for the user, since the user is only 20 changing, but non-time critical, 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 mail. 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 communications 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 30 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 subject 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, the variety and complexity being a matter of design choice. Further, it is an inefficient use of resources to continue 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 examples of granularity filters are a truncation size filter its modem or processor). Thus, a process for either main(e.g., truncate the message after the first "100" bytes), and taining the client in an active status, or removing the client text or file attachment filters (e.g., indicating whether or not from active status in response to an event, is also preferably 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 exchange occurs within a predeterheader information, by setting all rejected messages to be mined period of time, say 20 minutes, both client and VSM 50 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 communication 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, however, that clients are now provided by the present determined period since the last data exchange, sufficiently invention with a means for effecting prestage filtering of prior to the time at which the timers elapse so that the VSM can receive it. Otherwise, if there are only intermittent data their communications by virtue of the communications exchanges, the client may be required to frequently 60 server and definable filter settings, rather than having to choose between receiving no messages or receive all re-register; this in turn means the client will not be notified messages, including less important or expensive and timeof outbound data until the client re-registers and is again consuming transmissions. coupled via the virtual session manager. The prestage filtering is preferably performed at the host Turning now to FIGS. 4 through 6, a presently preferred embodiment is shown for prestage filtering data for transfer 65 server. This may be accomplished, for example, by passing the filter attributes in an appropriately formatted query between the different functional entities of the wireless communications system of FIG. 2. This typically begins object or message for use by the host application. In the 6,101,531 9 10 illustrated case a query object with the client filter settings FIGS. 5 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 office/CSO mail message does not meet any of the criteria (priority, date, reads/queries the query object for the filter attributes, and 5 size, author, or subject/key word) then it is left unprocessed (steps 502-516). 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 408-412). The 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 518). FIG. 6 similarly forwards the filtered messages (with appropriate protocol translation) to the client (steps 414-416). 10 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 messages can be 602-606). Similarly, if there are text or file attachments, and forwarded to the communications server, where the filters these are marked to be filtered, they are stripped with, 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 being inserted alerting the addressee that the attachment was stripped (steps 608-614). Once filtered, being forwarded to the client (steps 410, 418-424). Through the message is sent (step 616). acknowledgments the post office is notified how to mark the FIGS. 7 and 8 illustrate a further enhancement, permitting mail index in both cases. For example, when prestage filtering at the post office, all forwarded mail would be the user to more conveniently review selected information marked as processed/read and all filtered mail as unproc- 20 even for filtered/rejected data. In the preferred embodiment a query object or message is similarly generated by the essed (truncated messages being marked as either depending on design conventions, or if available marked as filtered or communication server as described above. However, in partially processed). If prestage filtering is done at the addition to the profile information, the query object in this case includes a request for summary information about each communications server only those messages forwarded to the client would be acknowledged and marked as processed 25 partially and fully rejected message (step 702). When the host (i.e., a post office server in the illustrated case) receives (step 428). the query it applies the appropriate filters; if only qualifying In addition to download/downlink filtering, prestage filmail is present, this is forwarded to the client as described tering is also advantageously used in upload/uplink transabove (steps 704-708). Where there is partially (e.g., missions. This can take the form of granularity filtering, or automatically retaining the whole data unit or message based 30 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 definable, so the client can decide how much header inforforwarded via the communication server (steps 430-436). If mation 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 QM of the communication server, the encapsulated identifiltered send or unfiltered send), or be prompted with an alert dialogue or similar message when a message is filtered to fying 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 228 of FIG. 2 and the index structure of FIG. 8. 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 following full 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 is fully updated upon re-registration/qualification. In order a more restrictive profile when entering important meetings (which profile could be automatically activated via an appro- 50 to minimize transmissions between the communication server and the client, only changes to the S&S index are priately configured and coupled calendar program, etc.). forwarded, as summary delta data (i.e., a delta of the revised While only the client need retain the upload filter index to the immediately preceding index, the preceding attributes in its profile store, preferably both the communiindex 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 55 the S&S index (e.g., S&S index database 213 of FIG. 2) of the client). Where only identifying summary information is a client to review all settings whenever desired, and to received in response to the query object, one may additionchange the settings locally. When the download settings are ally delay forwarding the delta information to the client for changed at the client, the changes are communicated to the a predetermined 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 60 passing the prestage filters is forwarded, whichever comes first (i.e., the filter-rejected information more likely being changes are made while offline from the communication less important, some users may prefer to receive S&S index server (steps 442-444). Further, 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), upon a change in filter settings the communication server may be automatically set 65 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 the new filter settings. appropriate, prompts the user (again, the prompt criteria 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 mail the user wants mination may be made based on a comparison of the to read, the user indicates the decision by any appropriate 5 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. for only a partially filtered version (e.g., truncated), etc.) Thus, for example, a normal reply message to a very short (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 10 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 server. Preferably when the read acknowledgment is providing significant savings to the client in time and costs. received at the communication server a further ACK 15 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 20 Thus, for example, where both the originating and target as processed (steps 724-734). clients are active and served by the same communication As with prestage filtering, one skilled in the art will server and thus are known to have optimized reply appreciate that many 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 optimized 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 for achieving similar indices mailbox and the delta. This advantageously allows bandfor both the client and communication server; in other 30 width to be minimized for both the sending and target words, 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 the target unit could, rather than acknowledge receipt, send delta (e.g., data representing the content difference between a request for the normal reply message, which the commutwo files) or other update approaches for communicating less than the whole index are likely more preferable. What 35 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 40 cation server preferably does not retain a copy of client mail the communication server in order to further reduce transor data located on other hosts (such remote stores typically mission requirements. adding complexity and cost, while being unnecessary in view of the virtual session established via the communicaFIG. 9 illustrates a yet further improvement, this embodiment 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 originating unit's stantial portions that are identical to mail already saved at outbox (or even the target unit's inbox, if it is a cc: on the the client or target unit. While this has come to be expected 50 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 55 for some messages it may even be advantageous to use other relatively unique values, such as CRC or other values, by mail message, much as he or she would for any typical email themselves or together with other identifiers. It is relatively application (step 902). However, when the user executes 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, 60 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 unit (preferably the mail serial number, although any retrievthat of the client to reconstruct a replica of the reply message able identifier of the preceding message may be used, such 65 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 904). To ensure that only the shortest message is forwarded to the target unit(s), as well as to the 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 (steps 914--916). While some additional processing and to FIG. 2, one embodiment of such a rate governor is network traffic is required between the communication illustrated. This rate governor operates to track the appro xiserver and host, this is relatively inexpensive compared to mate time 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 could better estimate actual costs out resort to a message index, it can be further optimized by use of indices at the communication server and client. In this 10 by taking into account known pricing factors established by each network service provider (e.g., rates by time 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 width desired, etc.). These values would be maintained for communication server. This index could advantageously be 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 unit is received to determine an estimated transmission include all mail (although perhaps with less identifying information for received mail than for filter-restricted mail, 15 value. In the illustrated case of an email application, upon depending on factors such as the memory available and the amount of identifying information desirable). When an receiving a client-generated message the QM (or other appropriate controller entity of the communication server) optimized reply is received at the communication server, a passes the pertinent packet information or message paramsearch of the appropriate client index (e.g., first the target unit, if also an active client, otherwise the client's or 20 eter (e.g., the packet size from 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 governor (or PRG). The PRG determines from the client preceding message, indicating whether or not the preceding object (or profile store) the amount of use time and/or charge message has been deleted. When the preceding message's still available (or alternatively, the amount already used, and identifier is present, the process continues as noted above, in 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, including one or optimized reply to minimize messaging sizes. Thus, for more alert thresholds. These alert thresholds would serve to example, where a reply is received by the communication 30 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- 35 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. However, 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 be used in determining the preceding message. 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 for all or selected (e.g., sent) mail can be maintained (e.g., communication unit), but with 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., below insertions identifying preceding messages in the text) requesting additional authorization), etc., to still be of the reply message text can then be performed. The latest transferred, although it does not prevent a user from running or largest matching preceding message is the selected up excess charges for messaging to the communication (which could be either a message sent to, or sent from, the 50 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 communication server to automatically 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 55 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 communication server indices are appropriately updated 60 alert would still preferably be sent to both the client and to reflect the mail transfer (steps 918-930). 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 956-968 server, without requiring the costly transfer of earlier transand 980--984). In any event, after each data transfer the mitted portions of the reply data. 65 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 messaging and expenses (step 958). 6,101,531 15 16 As mentioned above, if a user is not privileged 1t 1s limited number of which have been described in detail above. Thus, for example, while the embodiments above preferable to allow the client an additional data transfer to an describe application to clients communicating in certain administrator requesting additional allocation of time/ systems, one should appreciate that it has application to any charges. This request would be forwarded by the communication server to the administrator host, where it would be 5 communication system, wired or wireless, client-server, distributed or other networks, etc., in which the user is processed for approval. If approved, the administrator would remote from a host. It can also be used with almost any notify the communication server to adjust the use limit by a specified amount. Alternatively, if there is no system application program or groups of programs (e.g., transferadministrator, but charges or debits are handled through a ring database, wordprocessing, graphics, voice etc. files, executing programs and control messages, etc.), not just communication server service provider, the client may send 10 any appropriate authorization for additional charge/debit to email or groupware. Moreover, while processor 206, conthe communication server (e.g., by sending an encrypted troller 229, timers 205 and 224, data stores 211 and 225, and account number and identifying information like a PIN other circuits, are described in terms of specific logical/ functional/circuitry relationships, one skilled in the art will (personal identification number). Once the charge or debit is appreciate that such may be implemented in a variety of processed and approved to the service provider's 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-978). 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 20 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 variations in accordance with 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 time and in the specified amount (step 992). network between a client communication unit and a host Moreover, in order to achieve an even more accurate device via a communication server, the method comprising, billing control, the communication server could be coupled 30 at the communication server: with 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 estimating use and charges for each data transfer. 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) the 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; etc. The administrator is notified, and the client is notified filtering subsequent data units based on the second set of upon the next transaction, of the updated amount. If desired, the plurality of user-selected criteria to create subsethe client or administrator can request a download of the quent filtered data units; and current billing index showing the most recent estimated and communicating the subsequent filtered data units to the actual charges (steps 986-990). 45 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 data 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 supergroups of users, as well as for individual 3. The method according to claim 1 further comprising clients as described above. Thus, where one of the applica- 50 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 55 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 permit another user of the group to yield a 5. A method of communicating data units over a wireless portion of its individual use limit, etc. As should be apparent, 60 network between 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 factors. to the communication server; 65 storing the set of the plurality of user-selected criteria One skilled in the art will appreciate that there are many variations that are possible for the present invention, only a locally in a memory; 6,101,531 17 18 rece1vmg 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 5 locally; of filter settings that are manually activated. modifying the set of the plurality of user-selected criteria 11. A method of communicating data units over a wireless locally to produce a modified set of a plurality usernetwork 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 10 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 communicating 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 communication 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 20 cation server. 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 the communication server. 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 criteria at the client communication unit 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* * * * *

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?