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.]
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?