`(12) Patent Application Publication (10) Pub. No.: US 2003/0167316A1
`(43) Pub. Date:
`Sep. 4, 2003
`Bramnick et al.
`
`US 2003.0167316A1
`
`(54) DATA STORAGE SERVICE FOR USERS OF
`DATA COMMUNICATION NETWORKS
`
`(76) Inventors: Arnold H. Bramnick, Boca Raton, FL
`(US); Mark A. Sehorne, Round Rock,
`FL (US)
`Correspondence Address:
`IBM Corporation
`Intellectual Property Law
`Internal Zip 4042
`8051 Congress Avenue
`Boca Raton, FL 33487 (US)
`(21) Appl. No.:
`10/086,390
`(22) Filed:
`Mar. 1, 2002
`Publication Classification
`
`(51) Int. Cl. .................................................. G06F 15/16
`(52) U.S. Cl. ............................................ 709/219; 709/203
`(57)
`ABSTRACT
`The presently contemplated file transfer Service, for users of
`data communication networks like the Internet, operates as
`agent of respective Subscribing clients to retrieve and Store
`
`data files that clients are unable to instantly download to
`workstations currently used by them. Files stored by the
`transfer Service are made available to respective clients
`when the latter are able to receive them. In one application
`of this, a client is unable to instantly download a large file
`because the computer WorkStation the client is then using
`operates at a low speed unsuited for that purpose. In other
`applications, the client is unable to download a file because
`the client’s workstation is behind a firewall that effectively
`blocks that action. In these applications, the transfer Service
`is useful to effectively either circumvent restrictions of the
`firewall, or to deliver the file to the client at a workstation
`that is not behind the firewall. The contemplated service
`retrieves and Stores data files at Source locations designated
`by client WorkStations, and confirms completion of these
`operations to the client (e.g. via an e-mail message). When
`the client is at a workstation able to receive files stored by
`the Service, the client connects to the Service and requests
`transmittal of respective files. Upon authenticating the cli
`ent's identity and Subscription, the transfer Service makes
`the file accessible to the requesting client. A group of clients
`may use a Single Subscription to effectively allow any
`member of the group to initiate a file retrieval and Storage
`operation and/or to request access to a previously retrieved
`and stored file.
`
`Web Client
`
`
`
`File Origin
`(FTP server)
`
`File Transfer
`Server
`
`Retrieve & store file
`for client
`
`Notify client of completion; e.g. via e-mail
`
`Send stored fle to client per
`
`Adobe - Exhibit 1021, page 1
`
`
`
`Patent Application Publication
`
`Sep. 4, 2003 Sheet 1 of 3
`
`US 2003/0167316 A1
`
`Fig. 1
`
`
`
`FTP Server
`(file origin)
`
`
`
`
`
`Transfer
`Server
`
`client Machine Requests"A"
`A
`2-
`Reay
`Requests
`retrieve & store files designated
`by requests A; forward to
`machine B on requests B
`
`
`
`Client Machine
`B
`
`
`
`
`
`Not Blocked
`
`Adobe - Exhibit 1021, page 2
`
`
`
`Patent Application Publication
`
`Sep. 4, 2003 Sheet 2 of 3
`
`US 2003/0167316A1
`
`Fig. 2
`
`Web Client
`
`
`
`File Origin
`(FTP server)
`
`File Transfer
`Server
`
`file origin
`
`Send request A client ID, password, file origin
`
`Retrieve & Store file
`for client
`
`Notify client of completion; e.g. via e-mail
`
`Send stored fle to client per
`
`Adobe - Exhibit 1021, page 3
`
`
`
`Patent Application Publication
`
`Sep. 4, 2003 Sheet 3 of 3
`
`US 2003/0167316A1
`
`Transfer
`YCWC
`
`
`
`
`
`Adobe - Exhibit 1021, page 4
`
`
`
`US 2003/016731.6 A1
`
`Sep. 4, 2003
`
`DATA STORAGE SERVICE FOR USERS OF DATA
`COMMUNICATION NETWORKS
`
`BACKGROUND OF THE INVENTION
`0001. This invention relates to a service for users of high
`Speed links to data communication networkS Such as the
`Internet. These users may need to download data files from
`a remote location on the network, but are unable to do So
`because of conditions existing at their workStations making
`it either impractical or impossible to directly download data
`from remote Sources to respective workStations. In Such
`circumstances, the presently contemplated Service is useful
`to retrieve and Store data files from remote Sources desig
`nated by its clients, and to make the Stored data available to
`its clients when conditions at respective client WorkStations
`do not prevent receipt of data from the Service.
`
`SUMMARY OF THE INVENTION
`0002. In one application of the invention, a client of the
`file transfer Service presently contemplated has workStations
`operating at different speeds relative to a network (e.g. the
`Internet) connecting to the Service. While using the slow
`workstation (e.g. while on a business trip and using a slow
`laptop computer with a conventional dial-up modem), the
`client locates a data file too large for practical direct retrieval
`at that WorkStation, and requests the Service to retrieve and
`store the file. The request identifies the location of the file
`Source on the network, and the Service-acting as agent for
`the client-retrieves and stores the file for the client, and
`sends confirmation to the client, e.g. via e-mail. Later, while
`using the fast workStation (e.g. a desktop computer with
`broadband cable or DSL connection to the same network),
`the client connects to the transfer Service and requests that
`the Stored file be forwarded. In response to the latter request,
`the service transmits the stored file to the client's worksta
`tion at a transmission Speed at which the transfer is accom
`plished in a practical interval of time.
`0003. In other applications, the client uses the service to
`effectively overcome Security restrictions preventing trans
`fer of data to a client WorkStation from an arbitrary remote
`SOCC.
`0004. In one such application, both client workstation(s)
`and a transfer server operated by the transfer Service (which,
`in this case, could be a facility controlled by the client's
`employer) are behind a firewall restricting transmission of
`data from arbitrary Sources on a network to the WorkSta
`tion(s). In this instance, the firewall is programmed to allow
`the transfer Server to download data from arbitrary Sources
`on the external network. Thus, the client can use the transfer
`Server to retrieve and Store data that could not be transmitted
`directly to the client’s workstation(s). The transfer server
`can be programmed to inspect retrieved data for viruses or
`other problems (e.g. relevance to a business enterprise
`maintaining that server and the firewall) and discard data
`which is considered flawed or unsuitable.
`0005. In a similar application, a client workstation is
`behind the firewall and the transfer server and remote Source
`of data are both outside the firewall. In this situation, the
`firewall prevents direct transfer of data from the remote
`Source to the client WorkStation, but allows transfer of data
`from the transfer Server to the client. Accordingly, if the
`client locates a remote Source of data that can not be sent
`
`through the firewall, the client WorkStation Sends a request
`to the (external) transfer Server and the latter operates to
`effectively bypass the firewall.
`0006 More specific applications of the foregoing secu
`rity circumvention use are as follows:
`0007 Associated clients A and B are located behind a
`firewall, and the transfer server is located outside of the
`firewall (on the internet for example). The associated clients
`may be a Single client having two WorkStations behind the
`firewall or two different clients having a sharing association
`relative to data retrievable by the transfer server. The fire
`wall is programmed to permit transmission of file retrieval
`requests from either client to the transfer Server, and to deny
`transmission of Such requests to any other computer outside
`the firewall. The firewall also is programmed to allow the
`transfer Server to transmit acknowledgments and data to
`either client. Now assume client A locates a file or files that
`he wants to download from a source outside the firewall.
`Since the firewall will not permit a direct transfer, client A,
`using the aforementioned plug-in, makes a request to the
`transfer server to retrieve the desired files. The transfer
`Server Schedules retrieval of the Specified files, Stores the
`retrieved files, and notifies either client when these functions
`have been completed. Thereafter, upon receipt of a file
`transfer request from either client, the transfer Server trans
`mits the Stored file to the WorkStation issuing that request.
`0008. In the other application, associated clients A and B
`and the transfer server are all behind the firewall. The
`firewall is programmed to permit transmission of file
`retrieval/transfer requests between the transfer Server and
`any Source on the external networks (e.g. the internet), and
`to deny transmissions of Similar requests between the clients
`external Sources. The firewall allows transmissions of
`browsing requests between the clients and external Sources.
`Now assume client A locates a file (or files) that he wishes
`to download from outside the firewall. Since the firewall will
`not permit a direct transfer, client A, using the aforemen
`tioned plug-in, makes a request to the transfer Server to
`retrieve the desired files. The transfer server then Schedules
`the file transfer, Stores the retrieved files and, upon com
`pleting these functions, notifies client A (or B) that the file
`or files has been retrieved. Client A (or B) then sends a
`transfer request to the transfer Server and the latter transmits
`the Stored data to the requesting WorkStation.
`0009. In a third application of these security restriction
`avoidance uses, WorkStations A and B used by the same
`perSon/client are located respectively outside the firewall
`and inside the firewall (e.g. A at the client's home and B at
`the client's workplace), and the transfer server is situated
`inside the firewall. In this instance, while using (external)
`WorkStation A, the client locates a remote Source of data that
`the client wants downloaded to (inside) workstation B. The
`firewall, which prevents direct downloading of that data
`from its Source to WorkStation B, is programmed to allow
`communications from any external Source to the transfer
`Server. Accordingly, WorkStation A is operated to request the
`transfer Server to retrieve the data from the remote Source.
`The Server retrieves and Stores the file and confirms comple
`tion of that to workstation A. The file is later retrieved at
`WorkStation B; via either Secure or unsecured communica
`tions between it and the transfer Server as permitted or
`required by the enterprise operating the firewall (e.g. the
`client’s employer).
`
`Adobe - Exhibit 1021, page 5
`
`
`
`US 2003/016731.6 A1
`
`Sep. 4, 2003
`
`0010. In yet another application of the invention, wherein
`neither the Speed of a client WorkStation nor the existence of
`a firewall prevents direct downloading of data to a client
`workstations, but the workstation currently is too busy with
`tasks more important than the direct download, the client
`could use the contemplated transfer Service to perform data
`retrieval and Storage functions So as to present minimal
`interference to the more important tasks currently being
`handled. Then, when the workstation is less busy, and the
`transfer Service has acknowledged retrieval and Storage of
`the requested file(s), the client may operate the workStation
`to request transfer of the stored file(s) and receive them from
`the transfer Service.
`0011. In other aspects of the invention's use, a single
`subscription to the service could be shared by multiple
`clients, e.g. to enable any member of the sharing group to
`have data transferred from a remote Source to any other
`member of the group.
`0012. In any of the foregoing applications wherein the
`remote Source is accessible through the Internet, the location
`of that Source can be identified to the transfer server either
`as the actual URL (Uniform Resource Locator) of the data
`location perse, or as a URL address of a page containing a
`hyperlink to the data's actual location. If the latter page
`contains plural hyperlinks to retrievable files, the transfer
`server retrieves and stores all Such files on behalf of the
`client, enabling the latter to retrieve any one or all of the
`linked files.
`0013 In using the presently contemplated service via the
`Internet, the client's workstation (e.g. a computer System or
`other Internet access device) runs a service program pro
`Vided by the Service operator, Such as a Java Applet or a
`plug-in to the subscriber's Internet browser. The service
`program links to the transfer Server, identifies the client and
`interacts with the client and the server to transmit to the
`Server a request to retrieve and Store a file at a Specified
`remote location. The Server performs that function and
`confirms its completion to the client. The client's WorkSta
`tion (either the same one or another one) thereafter links to
`the Server and the Service program transmits a request to
`have a previously retrieved and stored file forwarded to the
`client. It is understood that a request to retrieve and Store
`data is different (e.g. in form and content) from a request to
`forward the same data.
`0.014
`Requests are queued at the transfer server and
`executed there at a pace convenient for the Server and
`consistent with the Speed of its connection to the client.
`Typically, the Service program is configured to run concur
`rent with the client’s Internet browser application so that
`processes associated with the Service program present mini
`mal interference to other processes instantly occupying
`respective client WorkStations.
`0.015 The foregoing and other aspects, features and ben
`efits of this invention will be better understood by consid
`ering the following detailed description and claims.
`BRIEF DESCRIPTION OF DRAWINGS
`0016 FIG. 1 is a schematic indicating how a subscriber/
`client typically would use the presently contemplated file
`transfer Service.
`0017 FIG. 2 is a flowchart indicating processes of inter
`action between a client and the presently contemplated
`transfer Service.
`
`0018 FIG. 3 is a schematic block diagram illustrating
`application of the invention in a network environment
`wherein communications between the client and network are
`restricted by a firewall that is effectively bypassed by the
`transfer Service.
`0019 FIG. 4 is a schematic block diagram illustrating
`application of the invention in a network environment
`wherein a first workstation operated by the client is behind
`a firewall restricting communications relative to a network
`and the transfer Service and a Second WorkStation operated
`by the same client are situated outside the firewall.
`0020 FIG. 5 is a schematic block diagram illustrating
`application of the invention in a network environment
`wherein the transfer Service is situated behind a firewall, a
`first WorkStation operated by a client is outside the firewall,
`and a Second WorkStation operated by the same client is
`behind the firewall.
`
`DETAILED DESCRIPTION
`0021. The block diagram in FIG. 1 shows connections
`between client machines and a file transfer server, and FIG.
`2 ShowS message flows over these connections in accor
`dance with the invention.
`0022 Referring to FIGS. 1 and 2, machine A at 1
`represents a terminal used by a client of the contemplated
`Service to Surf the web, and machine B at 2 represents a
`terminal used by the same client (or an associate) to access
`files previously retrieved and stored by the contemplated
`Service. Typically, machine B operates faster than machine
`A, and the contemplated Service is used to retrieve and Store
`large files found by a client using machine A. However, the
`contemplated Service may be useful even if machines A and
`B operate at the same Speed; typically, when a client using
`machine A needs to avoid interfering with other computing
`and communication processes currently being performed at
`that machine. In fact, as noted previously, machines A and
`B could be a single WorkStation having a high communica
`tion Speed, and use the contemplated Service Simply to avoid
`blocking processes more time-urgent than those involved in
`downloading large files found on the web.
`0023. In Surfing the web, machine A locates a large file of
`possible interest at a remote Source; typically, at an FTP
`server 3 (i.e. a server using the well-known File Transfer
`Protocol of the internet). Responding to actions by its user
`as the latter Surfs the web, machine A calls up a program
`provided by the operator of the presently contemplated
`Service. This program (e.g. a Java applet or plug-in to the
`machine's browser), Sets up file transfer requests which are
`transmitted to and queued at transfer Server 4. These
`requests contain information for locating files that are to be
`retrieved and stored by the transfer server. At its conve
`nience, transfer server 4 interacts with FTP server 3 to
`retrieve files designated by the queued requests (see first
`horizontal line in FIG. 2), and stores the retrieved files.
`Typically, the information for locating a file to be retrieved
`is a URL (Uniform Resource Locator) that is associated
`either with the actual location of the file or the location of a
`web page containing a hyperlink to the file.
`0024. Upon identifying the file location (origin), the
`Service's program running on machine A transmits a file
`retrieval request to transfer Server 4, that request containing
`
`Adobe - Exhibit 1021, page 6
`
`
`
`US 2003/016731.6 A1
`
`Sep. 4, 2003
`
`information indicating the location of a file to be retrieved
`and Stored by Server 4. The Service program running on
`machine A, as presently contemplated, would run concurrent
`with the browser of that machine and perform its request
`transmissions in a manner transparent to the client's use of
`the Internet. In addition to URL information for locating files
`to be retrieved and Stored, transmitted requests would con
`tain Sufficient information to identify the client and authen
`ticate the client's identity (e.g. an ID and password as shown
`on the 2" horizontal line in FIG. 2). If a URL in a request
`is the effective address of a page containing one or more
`hyperlinks to downloadable files or other objects, retrieval
`of all of the linked objects is implied by the request and
`carried out by the transfer server.
`0.025. As noted earlier, transmitted file retrieval requests
`of authorized clients are queued at transfer Server 4, and at
`a time convenient to it server 4 connects to the file origin
`(FTP server) 3, and retrieves and stores the requested file(s)
`as suggested on the 3' horizontal line in FIG. 2. Retrieved
`files are Stored at transfer Server 4 in association with file
`names, and confirmation(s) of retrieval indicating these
`names is/are communicated to the client; e.g. by e-mail
`message(s) as noted on the 4" horizontal line in FIG.2. The
`Stored file(s) is/are then available for Subsequent access by
`the client (5" horizontal line, FIG. 2); or for access by an
`asSociate of the client if, for example, the Subscription to the
`Service lists more than one individual as either the client or
`authorized asSociates of a client.
`0026. As shown in FIG. 1, communications from
`machines A and B to the transfer server represent different
`types of requests respectively designated “request A’ and
`“request B. Request A is a file retrieval request and request
`B is a file transfer request. AS noted above, a file retrieval
`request calls for the transfer Server to retrieve and Store one
`or more files from a Source specified in the request (e.g. FTP
`Server 3), and to notify machine A of completion of these
`functions. Request B is a file transfer request that calls for
`transfer Server 4 to transmit to the requesting WorkStation a
`file previously stored at server 4.
`0027. In the configuration of FIG. 1, machines A and B
`are used by the same client (at different times), in the
`following manner. Typically, machine A is a computer
`having a slow link to the internet (e.g. a laptop machine with
`a conventional modem being used by the client on a busineSS
`trip) and machine B is a computer having a high speed link
`to the internet (e.g. a home desktop computer connecting to
`the internet via broadband cable or telephone system DSL).
`ASSume then that while using machine A the client locates
`a large file that the client wants to download, but which is
`too large to be directly downloaded to machine A consid
`ering the Speed of that machine's connection and the
`memory available on it. The client then Signals the Service
`program to Send a file retrieval request to transfer Server 4,
`e.g. by clicking on a (not shown) “file retrieval' icon
`displayed by that program. The Service program then pickS
`up the URL of the page currently being viewed by the
`browser in machine A, forms a file retrieval request, and
`transmits that request to transfer Server 4. Server 4 queues
`the request, and at its convenience connects to the file Source
`and retrieves and Stores the requested file(s), Upon com
`pleting these functions, server 4 notifies the client (e.g. via
`an e-mail message), that notification indicating the name(s)
`of the stored file(s).
`
`0028. Later, after receiving the notification message and
`while using machine B, the client operates the Service
`program at that machine to Send a file transfer request to
`Server 4, e.g. by clicking on a not shown "file transfer icon
`displayed by that program. The name of the file to be
`transferred is incorporated in that request (preferably, by
`being picked up automatically from the confirmation mes
`Sage, but optionally by manual input from the client to the
`Service program). In response, Server 4 transmits the
`requested file, at a Speed commensurate with the capabilities
`of the connection between machine B and the internet
`(which speed could be indicated to the transfer server either
`in the transfer request or by other prior communication(s)
`between machine B and Server 4. Accordingly, the requested
`file, which could not be handled efficiently at machine A, is
`efficiently downloaded to machine B.
`0029. Another application of the foregoing service is as
`follows. ASSume that machines A and B in FIG. 1 are a
`Single multitasking computer used by a single client, and
`that at the time the client locates a file to be downloaded,
`computer A is busy with other tasks that would be unduly
`delayed by the downloading process. In this situation, com
`puter A is operated to Send a file retrieval request to transfer
`server 4, offloading the file retrieval process from the
`currently busy computer A. Later, when computer A is in a
`not busy State, and the client has received completion
`notification from Server 4, computer A (now operating as the
`functional equivalent of machine B in FIG. 1) is operated to
`Send a file transfer request to Server 4 and the requested file
`is transmitted to computer A. In this instance, it may be
`assumed that computer A has the (speed) capability to
`directly download the requested file but does not use that
`capability when the download process could interfere with
`other functions currently being performed by the computer.
`Those skilled in the art will recognize that this use of the
`present transfer Service would be desirable in many Situa
`tions, including those wherein a computer is being used as
`part of a peer network shared by many disparate computers,
`as an expedient to avoid interference at one machine
`between file downloading functions and other functions.
`0030. Other applications of the presently contemplated
`transfer Service, useful in networks having restrictions on
`movement of data (e.g. local networks protected by firewall
`objects), are Suggested in FIGS. 3-5. In these applications, a
`transfer Server operated by the transfer Service is used to
`legitimately circumvent the restrictions. In each of the
`following examples, a transfer Server operates between
`client WorkStations and remote Sources of data external to a
`firewall to provide data retrieval, Storage and transfer func
`tions, where the firewall is effective to prevent direct transfer
`of data to WorkStations that are destinations of the transfer
`functions. AS in the previously described applications, the
`data retrieval and Storage functions are performed by the
`transfer Server in response to data retrieval requests from
`client WorkStations, and the transfer functions are performed
`in response to data transfer requests from client WorkSta
`tions.
`0031. A first application of this principle is described
`with respect to the configuration of FIG. 3; wherein one or
`more client machines 20 and a transfer Server 21 are located
`in a region 22 protected by a firewall 23. Typically, the
`firewall is located between protected objects in region 22
`and a network connecting that region to remote objects Such
`
`Adobe - Exhibit 1021, page 7
`
`
`
`US 2003/016731.6 A1
`
`Sep. 4, 2003
`
`as FTP server 24. Objects in region 22 are referred to as
`behind the firewall, and objects outside that region are said
`to be outside the firewall. In the illustrated configuration,
`FTP server 24 represents a source of data which a user of a
`client machine 20 wants to download, but is prevented from
`directly doing so by the presence of the firewall which
`allows only authorized objects like transfer server 21 to
`receive data from objects outside the firewall.
`0032. In this instance, the client user of machine 20 sends
`a retrieval request to transfer Server 21, that request indi
`cating the Source 24 of data to be retrieved, and the transfer
`server operates through the firewall to connect to FTP server
`24, retrieve a file (or files) effectively designated by the
`request, and Store the retrieved file. Upon Successful
`completion of these functions, the client user issuing the
`request is notified of that fact in a communication containing
`the retrieved file name(s). Since the client machine and
`transfer Server typically would be connected on a local
`network, this notification communication could be a mes
`Sage Sent directly to the client machine via that network.
`When the client machine has received that communication,
`and its user is prepared to receive the data, the client
`machine is operated as before to Send a transfer request to
`the transfer server (e.g. via the local network connection
`previously mentioned), and the latter sends the Stored data
`asSociated with the request to the client machine.
`0033. As noted earlier, the firewall and/or the transfer
`Server could be configured to Screen the retrieved data for
`inappropriate content; e.g. viruses, or materials otherwise
`disallowed by the enterprise maintaining the firewall (e.g.
`materials irrelevant to a busineSS conducted by that enter
`prise). If improper content is detected, the client would be
`notified that the requested functions could not be Success
`fully completed.
`0034) A second example/application of this (firewall cir
`cumvention) technique is described with reference to FIG.
`4. In this example, client machine(s) 30 is/are in a region 31
`protected by firewall 32, and both a transfer server 33 and
`FTP server 34 (the latter representing a remote source of data
`that a user of a machine 30 wants to retrieve) are outside the
`protected region. Firewall 32 is programmed to allow free
`communication between the transfer Server and objects in
`the protected region, to allow browsing communication
`between the protected objects and external objects other than
`the transfer Server, and to block data transferS from Such
`other external objects to the protected objects.
`0035. Accordingly, computer 30 is operated to send a
`retrieval request to transfer server 33. Server 33 queues the
`request, as in the earlier applications, and at its convenience
`connects to the data Source 34, and retrieves and Stores
`requested data. As before, server 33 notifies the client of
`completion of these functions, in this instance, via either
`e-mail or a local network message, depending upon the type
`of connection between server 33 and firewall 32.
`0036) A third application/example is described relative to
`FIG. 5. Here, a client computer 40 (designated machine B)
`and transfer Server 41 are in a region 42 protected by firewall
`43, and another client computer 44 (designated machine A),
`used by the same client (or an associate Sharing use of the
`transfer service), and remote source of data (FTP server) 45
`are outside the protected region. In this instance, the user
`machine A locates data at 45 that the user would like to
`
`transfer to machine B, but is prevented from doing So
`directly by the presence of the firewall.
`0037 Accordingly, the user of machine A sends a
`retrieval request to transfer Server 41, the latter being
`permitted by the firewall to receive data from external
`Sources. In response, transfer Server 41 connects to remote
`Source 45, and retrieves and Stores requested data. Upon
`completing these functions, Server 41 notifies the requester.
`Subsequently, machine B is operated (by the same user or an
`authorized associate) to issue a transfer request in response
`to which server 41 transfers the stored data to machine B.
`0038. In some instances, it may be appropriate to have
`machine B designated in the retrieval request as the eventual
`destination of the retrieved data; and in Such instances the
`notification of completion should be sent to both machines
`A and B.
`0039. As before, it also may be appropriate for the
`transfer server and/or firewall to Screen retrieved data for
`inappropriate content and take Suitable action when Such is
`found.
`0040 Functions described above as relevant to this
`invention can be realized in various forms, e.g. all hardware,
`all software, or combinations of both. Functions performed
`by software may be installed in client workstations in the
`form of computer programs (e.g. browser plug-ins or
`applets). Such programs can be installed either from com
`puter readable Storage media or through data networks like
`the internet.
`0041 Computer programs, in the presently intended con
`text, are expressions in any language, code or notation, of
`Sets of instructions which when executed by a computer (or
`equivalent device) cause the presently relevant functions to
`be performed.
`Accordingly, we claim the following.
`1. A System for providing a file retrieval, Storage and
`forwarding Service for a user of a data communication
`network, Said System comprising:
`a file transfer Server connected to Said network; Said file
`transfer Server communicating with Said user to receive
`first and Second different requests from at least one
`WorkStation operated by Said user; Said file transfer
`Server including:
`elements responsive to a said first request to retrieve a
`data file from a Source on Said network identified in
`the respective request, Said Source remote from both
`Said user WorkStation and transfer Server, Said ele
`ments acting further to Store the retrieved file for Said
`uSer,
`elements for confirming to Said user retrieval and
`Storage of Said requested file; and
`elements responsive to a said Second request issued by
`Said user to transmit said Stored file to Said user.
`2. A System in accordance with claim 1 wherein Said first
`request may be issued by Said user when, due to conditions
`at Said user's WorkStation, it is more convenient to Said user
`to have said file retrieved and stored by said file server than
`to download Said file directly to Said user's WorkStation.
`3. A System in accordance with claim 2 wherein Said
`conditions at Said user's WorkStation and the size of the
`
`Adobe - Exhibit 1021, page 8
`
`
`
`US 2003/016731.6 A1
`
`Sep. 4, 2003
`
`requested file make it impractical for Said user to directly
`download Said requested file to Said user's WorkStation.
`4. A System in accordance with claim 2 wherein Said
`conditions at Said user's WorkStation involve eXecution of
`tasks more important than retrieval of the requested file,
`which tasks would be unduly impeded by direct download
`ing of the requested file to Said user's WorkStation.
`5. A System in accordance with claim 2 wherein Said
`requested file is a large file, Said user issues Said first request
`from a first WorkStation operating at a slow transmission
`Speed that makes it impractical for Said user to directly
`download Said requested file; and Said user issueS Said
`Second request from a Second WorkStation operating at a fast
`transmission speed more conducive to effic