Claims Analysis
Total Claims: 52
Claim 1
Independent Claim
120 words
A method, comprising: a. retrieving onto a proxy server content from a
remote server, the proxy server comprising a first
module and a second module; b. reformatting the content into first reformatted
content using the first module and not using the
second module; c. reformatting the content into second reformatted
content using the second module and not using the
first module; d. receiving a request from a first client onto the
proxy server for the content; e. supplying the first reformatted content to the
first client from the proxy server; f. receiving a request from a second client onto the
proxy server for the content; and g. supplying the second reformatted content to the
second client from the proxy server.
Claim 2
Dependent Claim
58 words
The method of Claim 1, wherein the first module is a
portion of executable code that is dynamically linked into
the proxy server at a run time of the proxy server, and
wherein the second module is a portion of executable code
that is dynamically linked into the proxy server at the run
time of the proxy server.
Claim 3
Dependent Claim
135 words
The method of Claim 2, wherein: the supplying of the first reformatted content to the
first client from the proxy server involves determining that
the first reformatted content is to be supplied to the first
client based at least in part on information indicative of
client capabilities of the first client, the information
indicative of client capabilities of the first client being
present in the request from the first client, and the supplying of the second reformatted content to the
second client from the proxy server involves determining
that the second reformatted content is to be supplied to the
second client based at least in part on information
indicative of client capabilities of the second client, the
information indicative of client capabilities of the second
client being present in the request from the second client.
Claim 4
Dependent Claim
49 words
The method of Claim 3, wherein the client capabilities
of the first client includes an indication of an amount of
memory storage space on the first client, and wherein the
client capabilities of the second client includes an
indication of an amount of memory storage on the second
client.
Claim 5
Dependent Claim
49 words
The method of Claim 3, wherein the client capabilities
of the first client includes an indication of an amount of
disk storage space on the first client, and wherein the
client capabilities of the second client includes an
indication of an amount of disk storage on the second
client.
Claim 6
Dependent Claim
48 words
The method of Claim 3, wherein the client capabilities
of the first client includes an indication of a resolution
of a display of the first client, and wherein the client
capabilities of the second client includes an indication of
a resolution of a display of the second client.
Claim 7
Dependent Claim
48 words
The method of Claim 3, wherein the client capabilities
of the first client includes an indication of a performance
of a connection to the first client, and wherein the client
capabilities of the second client includes an indication of
a performance of a connection to the second client.
Claim 8
Dependent Claim
28 words
The method of Claim 7, wherein the connection to the
first client is a dial-up connection, and wherein the
connection to the second client is a dial-up connection.
Claim 9
Dependent Claim
28 words
The method of Claim 7, wherein the connection to the
first client is a DSL connection, and wherein the connection
to the second client is a DSL connection.
Claim 10
Dependent Claim
30 words
The method of Claim 7, wherein the connection to the
first client is a cable modem connection, and wherein the
connection to the second client is a cable modem connection.
Claim 11
Dependent Claim
48 words
The method of Claim 3, wherein the client capabilities
of the first client includes an indication of an amount of
cache memory on the first client, and wherein the client
capabilities of the second client includes an indication of
an amount of cache memory on the second client.
Claim 12
Dependent Claim
52 words
The method of Claim 3, wherein the client capabilities
of the first client includes an indication that the first
client is enabled for a particular image data format, and
wherein the client capabilities of the second client
includes an indication that the second client is enabled for
a particular image data format.
Claim 13
Dependent Claim
52 words
The method of Claim 3, wherein the client capabilities
of the first client includes an indication that the first
client is enabled for a particular audio data format, and
wherein the client capabilities of the second client
includes an indication that the second client is enabled for
a particular audio data format.
Claim 14
Dependent Claim
46 words
The method of Claim 3, wherein the client capabilities
of the first client includes an indication of a processor
clock speed of the first client, and wherein the client
capabilities of the second client includes an indication of
a processor clock speed of the second client.
Claim 15
Dependent Claim
99 words
The method of Claim 2, wherein: the supplying of the first reformatted content to the
first client from the proxy server involves determining that
the first reformatted content is to be supplied to the first
client based at least in part on a request variable from the
request from the first client, and the supplying of the second reformatted content to the
second client from the proxy server involves determining
that the second reformatted content is to be supplied to the
second client based at least in part on a request variable
from the request from the second client.
Claim 16
Independent Claim
112 words
A method, in a computer network system involving a
first client, a second client, a proxy server, and a remote
server, comprising: receiving onto the proxy server a first request from
the first client for content from the remote server; obtaining first information indicative of capabilities
of the first client; supplying the content reformatted in a first way from
the proxy server to the first client; receiving onto the proxy server a second request from
the second client for the content from the remote server; obtaining second information indicative of capabilities
of the second client; and supplying the content reformatted in a second way from
the proxy server to the second client.
Claim 17
Dependent Claim
102 words
The method of Claim 16, wherein the proxy server
includes a first module of dynamically-linkable executable
code and a second module of dynamically-linkable executable
code, the method further comprising: using the first module to reformat the content from the
remote server to generate the content formatted in the first
way, the second module not being used to generate the
content reformatted in the first way; and using the second module to reformat the content from
the remote server to generate the content formatted in the
second way, the first module not being used to generate the
content reformatted in the second way.
Claim 18
Dependent Claim
25 words
The method of Claim 17, wherein the first information
includes a first software build number, and the second
information includes a second software build number.
Claim 19
Dependent Claim
24 words
The method of Claim 17, wherein the first information
includes a software version number, and the second
information includes a second software version number.
Claim 20
Dependent Claim
96 words
The method of Claim 17, wherein in addition to the
first information the proxy server receives an indication of
a content-type associated with the first request, the proxy
server using the indication of the content-type to determine
to use the first module to reformat the content in the first
way, and wherein in addition to the second information the
proxy server receives an indication of a content-type
associated with the second request, the proxy server using
the indication of the content-type to determine to use the
second module to reformat the content in the second way.
Claim 21
Dependent Claim
54 words
The method of Claim 20, wherein the indication of the
content-type associated with the first request is received
by the proxy server in a response from the remote server,
and wherein the indication of the content-type associated
with the second request is received by the proxy server in a
response from the remote server.
Claim 22
Dependent Claim
128 words
The method of Claim 17, wherein the proxy server uses the information
indicative of capabilities of the first client to determine
client capabilities of the first client, the proxy server
receiving request variable information associated with the
first request, the proxy server using the client
capabilities and the request variable information to
determine to use the first module to reformat the content
from the remote server, and wherein the proxy server uses the information
indicative of capabilities of the second client to determine
client capabilities of the second client, the proxy server
receiving request variable information associated with the
second request, the proxy server using the client
capabilities and the request variable information to
determine to use the second module to reformat the content
from the remote server.
Claim 23
Dependent Claim
32 words
The method of Claim 22, wherein the request variable
information associated with the first request is a content-type,
and wherein the request variable information
associated with the second request is a content-type.
Claim 24
Dependent Claim
32 words
The method of Claim 22, wherein the request variable
information associated with the first request is a content-length,
and wherein the request variable information
associated with the second request is a content-length.
Claim 25
Dependent Claim
29 words
The method of Claim 17, wherein the first information
includes a client capability of the first client, and the
second information includes a client capability of the
second client.
Claim 26
Dependent Claim
40 words
The method of Claim 17, wherein the first information
includes an indication of a connection speed of a connection
to the first client, and the second information includes an
indication of a connection speed of a connection to the
second.
Claim 27
Dependent Claim
39 words
The method of Claim 17, wherein the first information
includes an indication of a resolution of a display of the
first client, and the second information includes an
indication of a resolution of a display of the second
client.
Claim 28
Dependent Claim
37 words
The method of Claim 17, wherein the first information
includes an indication of an amount of memory on the first
client, and the second information includes an indication of
an amount of memory on the second client.
Claim 29
Dependent Claim
52 words
The method of Claim 16, wherein the proxy server
comprises a tokenizer module and a tokenizer sub-module, the
proxy server generating the content reformatted in the first
way by: causing the tokenizer module to process the
content so as to output tokens; and causing the tokenizer sub-module to operate on the
tokens.
Claim 30
Dependent Claim
82 words
A proxy server, comprising: a first dynamically-linkable module that reformats
content in a first way; a second dynamically-linkable module that reformats
content in a second way; and means for retrieving content requested from a remote
server by a client, and for determining whether to use
either the first module or the second module to reformat the
content requested, the means making the determination based
at least in part on one of the group consisting of: a
request variable and a client capability.
Claim 31
Dependent Claim
41 words
The proxy server of Claim 30, wherein the means uses
the one of the group to evaluate a set of rules and thereby
to generate a list of modules to be used in reformatting the
content requested from the remote server.
Claim 32
Dependent Claim
24 words
The proxy server of Claim 31, wherein the rules can be
altered without altering or recompiling either the first
module or the second module.
Claim 33
Dependent Claim
16 words
The proxy server of Claim 32, wherein the one of the
group is a client capability.
Claim 34
Dependent Claim
26 words
The proxy server of Claim 32, wherein the one of the
group is a request variable taken from the group consisting
of: content-length, content-type, and user-agent.
Claim 35
Dependent Claim
44 words
A proxy server, comprising: means for evaluating a set of rules to determine which
of a plurality of ways to reformat content requested by a
client; and means for changing the set of rules without recompiling
the means for evaluating the set of rules.
Claim 36
Dependent Claim
39 words
The proxy server of Claim 35, wherein the means for
changing receives a text file containing rule information,
the means for changing passing the rule information to the
means for evaluating such that the set of rules is changed.
Claim 37
Dependent Claim
57 words
The proxy server of Claim 35, further comprising: a first dynamically-linkable module which when executed
reformats content a first way; and a second dynamically-linkable module which when
executed reformats content a second way, the means for
evaluating determining if the first dynamically-linkable
module or if the second dynamically-linkable module will
reformat the content requested by the client.
Claim 38
Independent Claim
181 words
A system, comprising: a first modular proxy server coupled to the Internet
and operated by a first operator, the first modular proxy
server having a control portion, a first set of rules, and a
plurality of dynamically-linkable modules, the control
portion determining based on an evaluation of the first set
of rules which of the plurality of dynamically-linkable
modules of the first modular proxy server will process a
particular web content; and a second modular proxy server coupled to the Internet
and operated by a second operator, the second modular proxy
server having a control portion, a second set of rules, and
a plurality of dynamically-linkable modules, the control
portion determining based on an evaluation of the second set
of rules which of the plurality of dynamically-linkable
modules of the second modular proxy server will process a
particular web content, the control portion of the first
modular proxy server and the control portion of the second
modular proxy server being substantially identical, the
second modular proxy server containing a dynamically-linkable
module that is not present in the first modular
proxy server.
Claim 39
Dependent Claim
40 words
The system of Claim 38, wherein the second set of rules
is different from the first set of rules, the second
operator having altered the second set of rules, the second
operator not having altered the first set of rules.
Claim 40
Dependent Claim
67 words
The system of Claim 38, wherein one of the plurality of
dynamically-linkable modules of the first modular proxy
server is identical to one of the plurality of dynamically-linkable
modules of the second modular proxy server, and
wherein another of the plurality of dynamically-linkable
modules of the first modular proxy server is not identical
to any of the plurality of dynamically-linkable modules of
the second modular proxy server.
Claim 41
Dependent Claim
34 words
The system of Claim 38, wherein the first modular proxy
server comprises a tokenizer module, and a tokenizer sub-module,
the tokenizer module converting web content into
tokens, the tokenizer sub-module operating on the tokens.
Claim 42
Independent Claim
124 words
A method of customizing a modular proxy server, the
modular proxy server having a control portion and a
plurality of dynamically-linkable modules, a first of the
plurality of dynamically-linkable modules reformatting
content a first way, a second of the plurality of
dynamically-linkable modules reformatting content a second
way, the method comprising: generating a third dynamically-linkable module after
the first and second dynamically-linkable modules are
present on the modular proxy server; loading the third dynamically-linkable module onto the
modular proxy server to be present on the modular proxy
server along with the control portion, the first
dynamically-linkable module and the second dynamically-linkable
module; and using the third dynamically-linkable module with the
control portion to reformat content requested by a client of
the modular proxy server.
Claim 43
Dependent Claim
86 words
The method of Claim 42, further comprising: (a) before the generating of the third dynamically-linkable
module, using the control portion and at least one
of the first and second dynamically-linkable modules to
reformat content, wherein the generating of the third dynamically-linkable
module involves compiling code to obtain the third
dynamically-linkable module without compiling the control
portion, and wherein the using of the third dynamically-linkable
module with the control portion involves executing
the same control portion executed in (a), the control
portion not being compiled after (a).
Claim 44
Dependent Claim
85 words
A proxy server, comprising: a plurality of modules, a first of the modules
reformatting content a first way, a second of the modules
reformatting content a second way; software for determining, based on client capabilities
of a requesting first client, which of the plurality of
modules to use in reformatting content requested by the
first client; and a cache containing the requested content along with an
indication of which of the plurality of modules were used in
reformatting the content requested by the first client.
Claim 45
Dependent Claim
129 words
The proxy server of Claim 44, further comprising: software for determining, based on client capabilities
of a second requesting client, which of the plurality of
modules to use in reformatting content requested by the
second client, the software also determining whether the
plurality of modules to use in reformatting content
requested by the second client matches the stored indication
of which of the plurality of modules were used in
reformatting the content requested by the first client, and
wherein if it matches then the proxy server passes the
content cached back to the requesting second client, but if
it does not match then the proxy server retrieves the
requested content from a remote server, reformats the
retrieved content, and then passes the reformatted content
back to the second client.
Claim 46
Dependent Claim
74 words
The proxy server of Claim 45, wherein input control
parameters for controlling operation of the modules used in
reformatting the content requested by the first client are
determined based on the client capabilities of the first
client, and wherein these input control parameters are
stored in the cache along with the requested content and the
indication of which of the plurality of modules were used in
reformatting the content requested by the first client.
Claim 47
Dependent Claim
76 words
The proxy server of Claim 46, wherein the software that
determines which of the plurality of modules to use in
reformatting the content requested by the second client
determines input control parameters associated with the
request of the second client, and wherein the content cached
is only passed back to the requesting second client if the
input control parameters determined for the request of the
second client match the input control parameters stored in
the cache.
Claim 48
Independent Claim
240 words
A method, comprising: on a proxy server, performing an evaluation of a set of
rules to determine which of a plurality of modules to use in
reformatting content requested by a first client; storing information indicative of an outcome of the
evaluation of the set of rules, the information being stored
in a cache on the proxy server in association with the
content requested by the first client; on the proxy server, performing a second evaluation of
the set of rules to determine which of the plurality of the
modules to use in reformatting content requested by a second
client; obtaining information indicative of an outcome of the
second evaluation of the set of rules; and comparing the information indicative of the outcome of
the second evaluation with the information indicative of the
evaluation of the rules stored in the cache, wherein if the
comparing indicates that the information indicative of the
outcome of the second evaluation is identical to the
information indicative of the evaluation stored in the cache
then the content stored in the cache is supplied to the
second client, but if the comparing indicates that
information indicative of the outcome of the second
evaluation is not identical to the information indicative of
the evaluation stored in the cache then the proxy server
reformats the content consistent with the information
indicative of the second evaluation and then passes the
content so reformatted back to the second client.
Claim 49
Independent Claim
107 words
A method, comprising: a. receiving onto an email server an email message
having an attachment, the email message being
addressed to a client, the attachment being in a
first format, the client not being able to
decipher attachments in the first format but being
able to decipher attachments in a second format; b. receiving onto the email server from the client
information indicative of client capabilities of
the client; c. the email server using the information indicative
of client capabilities to reformat the attachment
into the second format; and d. the email server supplying the email message and
the attachment in the second format to the client.
Claim 50
Dependent Claim
64 words
An email server, comprising: means for reformatting, based on information indicative
of client capabilities of a client, an email attachment from
a first format into a second format, the client being unable
to decipher attachments in the first format, the client
being able to decipher attachments in a second format; and means for supplying the email attachment in the second
format to the client.
Claim 51
Dependent Claim
16 words
The email server of Claim 50, wherein the means for
reformatting is a page patcher module.
Claim 52
Dependent Claim
34 words
The email server of Claim 50, wherein the means for
reformatting comprises a tokenizer module and a tokenizer
sub-module, the tokenizer module converting the attachment
into tokens, the tokenizer sub-module operating on the
tokens.