WO2001067233A2 - Method for providing services on network-based storage sites - Google Patents

Method for providing services on network-based storage sites Download PDF

Info

Publication number
WO2001067233A2
WO2001067233A2 PCT/US2001/006756 US0106756W WO0167233A2 WO 2001067233 A2 WO2001067233 A2 WO 2001067233A2 US 0106756 W US0106756 W US 0106756W WO 0167233 A2 WO0167233 A2 WO 0167233A2
Authority
WO
WIPO (PCT)
Prior art keywords
site
file
storage
request
client
Prior art date
Application number
PCT/US2001/006756
Other languages
French (fr)
Other versions
WO2001067233A3 (en
Inventor
Steven H. Mccown
Michael L. Leonhardt
Thai Nguyen
Original Assignee
Storage Technology Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Storage Technology Corporation filed Critical Storage Technology Corporation
Priority to EP01920178A priority Critical patent/EP1259877A2/en
Priority to AU2001247258A priority patent/AU2001247258A1/en
Priority to JP2001564988A priority patent/JP2003526153A/en
Publication of WO2001067233A2 publication Critical patent/WO2001067233A2/en
Publication of WO2001067233A3 publication Critical patent/WO2001067233A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Definitions

  • the present invention relates to the field of network-based storage spaces having client accounts, and methods for downloading client-selected files from remote sites into the client accounts.
  • Internet-based storage space sites provide clients with storage space accounts typically ranging from ten megabytes minimum to hundreds of gigabytes. These storage space accounts offer several conveniences for the clients. For example, clients may expand the data storage capacities of their individual computers and network file servers without investing in additional hardware. As the clients storage capacity needs grow, additional storage space can usually be leased as necessary to meet the growing needs. In another example, responsibility for maintenance and backup tasks for the storage space accounts may be handled by the storage site managers. This frees the client from the time, manpower and equipment required to perform these tasks. In yet another example, some storage space vendors provide software for use on the client's computer that makes the on-line storage space account appear as another hard drive attached to the client's computer. This results in a storage space account that is simple to understand and use.
  • Clients may also use their storage space accounts to store files that they obtain from other sources, including downloads from other web sites on the Internet.
  • To store a file from a remote web site most clients must perform a two- step process. First, the client must download the desired file from the remote web site to his own computer. Second, the desired file is then uploaded from the client's computer to the storage space account. This approach requires the desired files to be transferred across the client's Internet connection twice (once during the download and once during the subsequent upload). It also requires the client's computer to have sufficient local storage capacity to buffer the desired file as it is being downloaded.
  • the download-buffer-upload process can be a problem for many portable devices such as laptop computers, personal electronic assistants, palmtop devices, enhanced cellular phone and other similar devices that can be connected to the Internet.
  • Some of these portable devices, such as enhanced cellular phones lack sufficient memory to buffer large files during the download portion of the process.
  • New technology such as micro-drives make it possible to increase the memory capacity, but such solutions tend not to be economically viable. More memory translates into an increased cost to own, and an increased power drain on the batteries of the portable devices.
  • those portable devices that have sufficient buffering capacity often have limited bandwidth interfaces to the Internet. Downloading and then uploading large files can take a significant amount of time.
  • the remote web site must incorporate a script into their web pages to support proprietary protocols necessary to implement the direct download into the client's account. If the remote web site does not implement these scripts, then the direct download cannot be performed. Here, the client must resort to downloading the files to his own computer first and then uploading them into his account.
  • the client must provide the remote web site with key account information. The remote web site needs to know the Internet address of the storage space site to which it is sending the file, and an account number into which the files are being stored. The client must also provide the remote web site with authentication information that grants the remote web site permission to download into the client's account. This authentication information is required by the storage space site to prevent unauthorized downloads. Clients concerned about the security of their accounts must decide if the remote web site can be trusted with the client's authentication information.
  • Clients should be able to download files into his account from any remote web site, not just those implementing the proprietary protocol scripts. Clients should also be able to safeguard their accounts by keeping authentication information away from the remote web sites. All that the remote web site requires is the Internet address where the files are to be sent, and which protocol to use in sending the files.
  • the present invention is a method and information storage media recording computer programs for downloading files across a network from a remote site into a client's account within a storage site.
  • a client operating from a user site on the network selects the files to be downloaded.
  • the client initiates the download by sending a data request from the user site to the remote site.
  • File locations for each file to be downloaded are identified in the data request.
  • the storage site Upon reception of the data request, the storage site sends a download request to the remote site identifying the selected files.
  • the remote site responds by sending the files to the storage site. Downloaded files received at the storage site are then stored in the client's account.
  • a notification may be sent by the storage site to the client once the downloaded files have been transferred to the storage site.
  • Identification of the files for downloading can be accomplished by least two methods.
  • the remote site responds by sending a file list having the address locations of the available downloadable files. Selection of the files to be downloaded can be made from the file list. As the files are selected, their respective file locations are copied into the data request.
  • the client enters the file locations manually at the user site using a keyboard or other input device.
  • Security for the client's account may be provided by authenticating the data requests at the storage site. This may be accomplished by sending an identifier, for example a user identification and password, contemporaneously with each data request. If the identifier is authentic, then the data request is accepted. If the identifier fails authentication, then the data request is rejected. In an alternative embodiment, authentication may take place once when the client performs a login to the account. Here, the identifier is sent only once when the client logs in. Until the client has successfully logged in, the storage site rejects all data requests destined for the client's account. An advantage of these methods is that authentication data is provided only to the storage site, and not to the remote sites.
  • an identifier for example a user identification and password
  • Downloading of the selected files from the storage site to the client's user site may take place any time after the selected files have been downloaded to the storage site.
  • the client sends a download request identifying the desired files to the storage site.
  • the storage site responds by transferring the identified files to the user site. Accordingly, it is an object of the present invention to provide a method and information storage media recording computer programs for downloading files from a network-based remote site into a client's account in a network-based storage site, wherein the files are identified from a user site, the identities are forwarded to the storage site, and the storage site requests the identified files from the remote site.
  • Another object of the present invention is to provide a method and information storage medium recording a computer program for operating the storage site to act as an agent on behalf of the client to request, receive and store files downloaded from the remote site into the client's account.
  • Yet another object of the present invention is to provide a method and another information recording medium recording another computer program for operating the user site to allow the client to identify the desired files to be downloaded into the client's account, and forward the identity of the desired files to the storage site.
  • FIG. 1 is a block diagram showing a grouping of top level functions used in the present invention
  • FIG. 2 is a flow diagram of a method for identifying files stored in a remote site that are available for download;
  • FIG. 3 is a flow diagram of a method for selecting and downloading files from the remote site to a storage site;
  • FIG. 4 is a flow diagram of a method for notifying the client when the download is complete;
  • FIG. 5 is a flow diagram of a method for logging into a storage space account at the storage site
  • FIG. 6 is a flow diagram of a method for rejecting download requests made prior to logging in.
  • FIG. 7 is a flow diagram of a method for downloading files from the storage site to the user site.
  • FIG. 1 is a block diagram showing a grouping of top level functions used in the present invention. The following description is based upon implementing the present invention on the Internet 100 using Internet protocols. Other types of networks, protocols, and groups of interconnected networks may also be used in lieu of, and in addition to the Internet 100.
  • An Internet Architecture Board (IAB) defines the Internet standards referenced below in Standard protocols (STD) and Request For Comments (RFC) documents.
  • Remote site 110 is a web site on the Internet 100 having one or more files 112 that are available for downloading.
  • Files 112 may contain variety of information such as text, graphics, images, video, audio, databases and the like.
  • the files 112 generally range in size from as small as a few bytes to greater than one gigabyte.
  • Each file 112 may be a self-contained item, or part of larger collection of files 112.
  • Files 112 are stored at the remote site 110 in a storage medium 114.
  • Storage medium 114 is usually, although not necessarily one or more magnetic hard drives.
  • the storage medium 114 may be a single magnetic hard drive having several gigabytes of capacity.
  • the storage medium 114 may be several clusters or arrays of storage devices configured for various speed, reliability, fault tolerance, and cost considerations. Here, storage capacities can reach into the terabytes.
  • Other types of storage media 114 may be used including magnetic tape, optical tape, optical disks, and solid state memory devices. These other types of media provide different tradeoffs in access speed, storage life, number of write cycles, number of read cycles, and cost.
  • File lists 116 are also stored on the remote site's storage medium 114.
  • File lists 116 provide information used externally to the remote site 110 to identify each file 112, usually by a file name and by a file location.
  • file identification is provided by a Uniform Resource Locator (URL)(IAB proposed standard protocol RFC 1738) that defines the Internet protocol scheme, a host name of the remote site 110, a file path from a root directory within the remote site 110, the file name with an extension type.
  • the URL's that collectively form the file lists 116 are typically, although not always, presented externally to the remote site 110 as web pages or directories.
  • a web server 118 is provided at the remote site 110 to interface the storage medium 114 to the Internet 100.
  • Web server 118 provides functionality to output the web pages and directories (file lists 116), the files 112, and other forms of information onto the Internet 100, as well as receive other files, commands, requests, messages, data and various other forms of information from the Internet 100.
  • the web server 118 responds to the Hyper Text Transfer Protocol (HTTP)(IAB information protocol RFC 1945) and the File Transfer Protocol (FTP)(IAB standard protocol STD 9) to download the files 112 to another Internet site that issued the HTTP or FTP message.
  • HTTP Hyper Text Transfer Protocol
  • FTP File Transfer Protocol
  • a client 120 accesses the remote site 110 through a user site 130.
  • User site 130 may be a personal computer, workstation, laptop computer, server, palmtop device, enhanced cellular telephone, or any other machine capable of digital network communications.
  • the user site 130 includes input devices 132 and output devices 134 for accepting and providing information from and to the client 120 respectively.
  • Common input devices 132 include, but are not limited to keyboards, keypads, mouses, touch screens, touch pads, joy sticks, and microphones.
  • Most output devices 134 are displays, although other types of output devices such as audio speakers may also be provided.
  • a browser 136 links the input devices 132 and output devices 134 to the Internet 100.
  • Browser 136 may be a commercially available software package such as Internet Explorer available from Microsoft Corporation, Redmond, WA and Netscape Communicator available from Netscape Communications Corporation, Mountain View, CA. Other items that support the Internet protocols may be used within the scope of the present invention.
  • the client 120 also accesses a storage site 140 via the Internet 100 from the user site 130.
  • Storage site 140 provides multiple storage space accounts 142 for multiple clients 120 that are accessible from anywhere on the Internet 100.
  • FIG. 1 only shows one user site 130 for the purposes of describing the present invention. In practice, the client 120 may access his storage space account 120 from multiple other user site (not shown) connected to the Internet 100.
  • the storage space accounts 142 are implemented on a storage medium 144.
  • the storage site's storage medium 144 like the remote site's storage medium 114, usually comprises magnetic hard drives operating standalone, in clusters, or in arrays.
  • the storage site's storage medium 144 may also include other media types such as magnetic tape, optical tape, optical disks, and solid state memory devices.
  • Magnetic media though, is preferred for primary storage of the storage space accounts 142 due to a large number of read and write cycles commonly performed by the client 120.
  • Write-once-read-many type media is normally used only in archival situations where the client 120 has determined that the information must be available for extended periods.
  • An account manager 146 is provided in the storage site 140 to manage access to the storage space accounts 142.
  • the account manager 146 protects the storage space accounts 142 by implementing password protection.
  • To log into the client's storage space account 142 the client 120 must provide the account manager 146 is a user identification and a password.
  • Account manager 146 authenticates the user identification and password against registered user identifications and their respective passwords. When authentication is successful, the account manager 146 unlocks the client's storage space account 142. After the client logs out, the account manager 146 locks the client's storage space account.
  • Login data is normally transferred between the user site 130 and the account manager 146 through the user site's browser 136 and a web server 148 operating in the storage site 140.
  • the storage site's web server 148 provides web pages, directories, and other information to aid the client 120 in communicating with the account manager 146.
  • the storage site's web server 148 is also capable of communicating with, and downloading files to and from other Internet sites, including the remote site's web server 118.
  • a pair of software application packages are provided to make the storage space account 142 appear as a mounted drive to the user site 130 and client 120.
  • a storage site software application 150 is hosted in the storage site 140 and a user site software application 152 is hosted in each user site 130.
  • These software applications 150 and 152 provided functionality not normally found in the storage site's web server 148 and the user site's browser 136.
  • the functionality of the storage site software application 150 may be implemented as part of the storage site's web server 148 or the account manager 146.
  • the functionality of the user site software application 152 may be implemented as part of the browser 136.
  • the storage site software application 150 and the user site software application 152 may be provided to the storage site 140 and the user site 130 respectively as computer programs recorded on information storage media 151 and 153 such as magnetic disk, magnetic tape, optical disk, non-volatile memory, or other similar information storage media, or downloaded over a network or the Internet.
  • the computer programs are read from the information storage media 151 and 153 and executed by the storage site 140 and the user site 130 respectively.
  • the storage site software application 150 and the user site software application 152 communicate directly to each other via the Internet 100.
  • the storage site software application 150 communicates with the account manager 146 to send and receive files from the client's storage space account 142.
  • the user site software application 152 communicates with the operating system (not shown) of the user site 130 to emulate a hard drive.
  • user site software application 152 operates independently of browser 136 to provide the hard drive emulation while the browser 136 is not executing.
  • an Internet Service Provider (ISP) 160 is situated between the user site 130 and the Internet 100. Communications between the user site 130 and the ISP 160 may be via a modem, cable modem, digital subscriber line, local area network, wide area network, Integrated Services Digital Network (ISDN) line, TI line, phone cell, and similar communications circuits. Bandwidth between the user site 130 and ISP 160 range from around 300 baud at the low end to 56 kilobits per second in residential settings (modems), and up to approximately one gigabit per second at the high end in commercial environments (Fibre Channel) .
  • FIG. 2 is a flow diagram of a method for determining what files 112 are available in the remote site 110 for downloading.
  • the method begins when the user site 130 generates a file list request asking the remote site 110 for a web page containing the file list 116, as shown in block 200.
  • User site 130 then initiates a transfer of the file list request by sending the file list request to the remote site 110, as shown in block 202.
  • the remote site 110 completes the transfer upon reception of the file list, as shown in block 204.
  • the remote site 110 responds to the file list request by sending the web page requested, as shown in block 206.
  • User site 130 receives the web page from the remote site 110, as shown in block 208, then displays the web page through an output device 134 to the client 120, as shown in block 210.
  • the client 120 can see all of the files 112 identified by the file list 116 embedded within that particular web page.
  • This particular file list 116 may identify some or all of the files 112 stored in the remote site 110.
  • the web page may contain links to other web pages containing other file lists 116 identifying other groups of files 112. For example, one web page may identify only picture type files 112 while a second web page identifies only video type files 112.
  • the client 120 now selects files 112 for downloading.
  • selection may be accomplished using an input device 132, such as a mouse, to graphically choose one or more files, from the displayed web page, as shown in block 300.
  • the client 120 may enter the URL's of selected files through a keyboard type input device, as shown in block 302.
  • the client 120 has finished selecting files 112, he informs the user site 130 by pressing an "Enter” key on the keyboard, or selecting a "Save” option included in the web page, as shown in block 304.
  • the client 120 selects one file 112 at a time by moving a cursor over the desired file 112 using a mouse, as shown in block 300. The client 120 then presses a right button on the mouse causing a pop-up window to appear on the display adjacent to the cursor. From the pop-up window, the client 120 selects a command titled "Save to Soft-Drive" with a left button on the mouse, as shown in block 304.
  • User site software application 152 is operational to accept the URL of the selected file 112 from the browser 136 through the operating system.
  • the user site software application 152 uses the URL's to generate a data request, as shown in block 305.
  • the data request is then sent across the Internet 100 to the storage site software application 150, as shown in block 306.
  • Each data request contains the URL's of the selected files 112.
  • An identifier may be included within each data request or sent contemporaneously with the data request in another message.
  • the identifier typically, although not necessarily, contains the user identification and password required by the account manager 146 to authenticate access to the client's storage space account 142. In alternative embodiments, the identifier may contain other information such as a random private key given to the user site 130 by the storage site 140 after an earlier successful login.
  • identifier information may be stored on a smart card or an employee badge that is entered through a magnetic strip reader type input device.
  • the identifier information may be stored on a media cartridge that is inserted and read by a media read/write drive type input device.
  • any portable security key-like device may be used to store and enter the identifier information into the user site 130.
  • the data request is received by the storage site software application
  • Storage site software application 150 forwards the identifier to the account manager 146 for authentication, as shown by decision block 310. If the authentication fails, the FAIL branch of decision block 310, then an error message is generated by the account manager 146 and sent back to the user site 130 via either the web server 148 or the storage site software application 150, as shown in block 312. Authentication failure also results in a rejection of the data request by the storage site 140, as shown in block 314.
  • the error message is received, block 316, and then displayed to the client 120, as shown in block 318.
  • the error message may provide for self-removal from the display after a period of time and/or removal upon selection of an "OK" button by the client 120.
  • the URL's within the data request are used to generate a download request, as shown in block 319.
  • the download request is then provided to the storage site's web server 148.
  • Web server 148 sends the data request to the remote site 110, as shown in block 320.
  • Remote site 110 receives the download request, block 322, and responds by downloading the files 112 identified by the URL's to the storage site 140, as shown in block 324.
  • Storage site 140 receives the downloaded files 122, as shown block 326, and then stores them into the client's storage space account 142, as shown in block 328.
  • the remote site 110 is never aware of the client's storage space account 142, the client's user identification, or the client's password. From a remote site 110 point-of-view, only the storage site 140 is involved in downloading the files 112. Another advantage of this approach is that the remote site 110 responds to the download request from the storage site 140 as it would to any other download request from any other site. There is no need for the remote site 110 to perform any special processing or communications during the download into the client's storage space account 142.
  • the remote site's web server 118 will respond to the download request from the storage site's web server 148 unconditionally. However, there may be cases where the remote site's web server 118 requires additional information before responding to the download request. For example, the remote site's web server 118 may require a user identification and password before sending the requested files. In another example, the remote site's web server 118 may require the storage site's web server 148 to accept cookies as part of the download process. At least three approaches may be taken to account for these situations. In one approach, a remote site user identification and remote site password may be required from the user site 130 as part of the data request to the storage site 140. The storage site 140 then copies the remote site user identification and remote site password into the download request sent to the remote site 110.
  • the storage site 140 has its own remote site user identification and remote site password independent of the client 120. Upon receipt of the data request from the user site 130, the remote site 140 includes its own remote site user identification and remote site password into the download request sent to the remote site 110.
  • the storage site 140 has an ability to automatically open a new account with the remote site 110 and registers itself as a new remote site user. Upon successful registration and receipt of a new remote user identification and a remote default password, the storage site 140 records this information for use with subsequent data requests pointing to the remote site 110. Storage site 140 may notify the client 120 upon completing the download process. Download completion may be defined by any one of several different events.
  • download completion may be defined as completing reception of the last file 112 at the storage site's web server 148.
  • download completion may be defined as locking the client's storage space account 142 after all of the files 112 downloaded have been written into the client's storage space account 142.
  • Other possible events include an expiration of a timer, reception of a message from the remote site 110 indicating that all of the selected files 112 have been sent, failure to connect with the remote site 110, and reception of an unknown host name message from a Domain Name Sever (DNS)(IAB standard protocol STD 13).
  • DNS Domain Name Sever
  • Completion of downloading may be triggered on a file-by-file 112 case, or once for all of the files 112 identified in each data request. Notification may include a status of the downloading indicating success or failure, and possibly other useful parameters such as date and time.
  • FIG. 4 is a flow diagram of a method for notifying the client 120 that the download is complete. Notification starts by the reception of a completion signal at the storage site software application 150 indicating that one of the defining events listed above, or some other suitable event, has taken place. The storage site software application 150 then checks to see if communications are still possible with the user site 130, as shown in block 400. This check may be made by exchanging a handshake signal between the storage site software application 150 and the user site software application 152, by reception of a heartbeat signal from the user site software application 152, or by checking if the client 120 is still logged into the client's storage space account 142.
  • the storage site software application 150 sends an e-mail message to an e-mail account belonging to the client 120, as shown in bock 402.
  • the e-mail message may include a file name, URL, a success or failure status, date and time of each file 112 originally selected.
  • the client 120 will receive the e-mail notification message.
  • the storage site 140 sends a download notification message to the user site 120 for display to the client 120, as shown in block 404.
  • the download notification message may be sent via the storage site software application 150 or the storage site's web server 148.
  • the download notification message is received at the user site 130 by either the user site software application 152 or the browser 136 respectfully, as shown in block 406.
  • the download notification message is displayed to the client 120, as shown in block 408.
  • FIG. 5 is a flow diagram of a method for logging in.
  • Login is started when the user site 130 sends a request for a login web page to the storage site 140, as shown in block 500.
  • block 502 by the storage site's web server 148 sends the login web page to the user site 130, as shown in block 504.
  • User site 130 receives the login web page, as shown in block 506 and then displays it to the client 120, as shown in block 508.
  • Client 120 then enters a user identification and password into the login web page, as shown in block 510.
  • the user identification and password are then sent by the user site 130 and received at the storage site 140, as shown in blocks 512 and
  • the account manager 146 Where authentication fails, the FAIL branch of decision block 516, then the account manager 146 generates and sends an error message, as shown in block 518. This error message is received at the user site 130 and displayed to the client 120, as shown in blocks 520 and 522 respectively.
  • the account manager 146 unlocks the client's storage space account 142, as shown in block 524.
  • the storage site software application 150 then sends information about the storage space account 142 to the user site software application 152, as shown in blocks 526 and 528 respectively.
  • the user site software application 152 uses this information to emulate a mounted disk containing the files 112 stored in the storage space account 142, as shown in block 530.
  • the login process allows for the storage site 140 to reject all otherwise valid data requests from the user site 130 received prior to a successful login.
  • the status of the login is checked, as shown by decision block 600.
  • the storage site 140 rejects all data requests from the user site 130, as shown in block 602.
  • the storage site 140 accepts subsequent data requests from the user site 130, as shown in block 604.
  • the storage site software application 150 once again rejects all data requests from the user site 130, as shown in block 602.
  • the client 120 may choose to download the files 112 from the storage site 140 the user site 130 at some time after the files 112 have been downloaded into the storage site 140.
  • FIG. 7 is a flow diagram of a method for downloading the files 112 to the user site 130. It should be noted that the user site 130 receiving the files 112 may or may not be the same physical user site 130 that the client 120 used to download the files 112 from the remote site 110 to the storage site 140. This operation begins after 'the client 120 has successfully logged in to the storage space account 142, and the resulting emulated hard drive has been mounted.
  • This download operation starts with the user site 130 receiving a command from the client 120 to open the emulated hard drive of the storage space account 142, as shown in block 700.
  • User site software application 152 responds to the command by opening the emulated drive and displaying the contents to the client 120 in a pop-up window on output device 134, as shown in block 702.
  • the client 120 selects one or more files 112 to be downloaded, as shown in block 704, and a destination drive or folder to receive the files 112, as shown in block 706. From the client's point-of-view, this appears to be a copy operation from one (emulated) hard drive to another.
  • Client 120 need not be aware that the files 112 must be downloaded from the storage site 140 first before they are stored at the destination within the user site 130.
  • User site 130 generates a download request using the selected files 112 to be download and the destination drive or folder to receive the files 112, as shown in block 707. Once generated, the download request is then sent from the user site 130 to the storage site 140, as shown in block 708.
  • Storage site 140 receives the download request, block 710, and responds by sending the files 112 identified in the download message, as shown in block 712.
  • User site 130 receives the files 112, block 714, and then stores the files 112 in the destination selected earlier, as shown in block 716.
  • the browser 136 and remote site's web server 148 are used to download files 112 to the user site 130 by conventional means.
  • a listing of the files 112 is provided to the client 120 in the form of a web page.
  • the client 120 moves the cursor over one file 112 and then activates the right mouse button. From the resulting pop-up window, the client 120 selects a "Save-as" command. This results in a second pop-up window through which the client 120 chooses the destination for the selected file 112.
  • Client 120 activates an "OK" button in the second pop-up window starting a download of the selected file 112 through the storage site's web server 148, to the user site 130, and into the chosen destination drive or folder.

Abstract

Selected files are downloaded across a network from a remote site into a client's storage space account established within a storage site. Selection of the files is provided by a client operating at a user site connected to the network. A data request identifying the selected files to be downloaded, and containing an identifier is generated at the user site and sent to the storage site. The storage site authenticates the identifier, and if successful, generates and sends a download request to the remote site to download the selected files. The remote site responds to the download request by downloading the selected files to the storage site where they are stored in the client's storage space account.

Description

METHOD FOR NETWORK-BASED STORAGE SITE SERVICES
TECHNICAL FIELD
The present invention relates to the field of network-based storage spaces having client accounts, and methods for downloading client-selected files from remote sites into the client accounts.
BACKGROUND ART
Internet-based storage space sites provide clients with storage space accounts typically ranging from ten megabytes minimum to hundreds of gigabytes. These storage space accounts offer several conveniences for the clients. For example, clients may expand the data storage capacities of their individual computers and network file servers without investing in additional hardware. As the clients storage capacity needs grow, additional storage space can usually be leased as necessary to meet the growing needs. In another example, responsibility for maintenance and backup tasks for the storage space accounts may be handled by the storage site managers. This frees the client from the time, manpower and equipment required to perform these tasks. In yet another example, some storage space vendors provide software for use on the client's computer that makes the on-line storage space account appear as another hard drive attached to the client's computer. This results in a storage space account that is simple to understand and use.
Once the client has uploaded files to their storage space account, those files are available to the client from anywhere on the Internet. This is an extremely useful capability for clients who require access to these files while on travel away from their home location. Traditionally, files required during travel are either loaded into the hard drive of a laptop computer or loaded into removable media, such as a floppy disk, before departing from the home location. Whether the client is a student going to a local library to work on a report, or a businessman traveling crosscountry, all of the required files have to be available and carried by the client. Using Internet-based storage space, the client can travel without the files and then download them once they reach their destination.
Clients may also use their storage space accounts to store files that they obtain from other sources, including downloads from other web sites on the Internet. To store a file from a remote web site, most clients must perform a two- step process. First, the client must download the desired file from the remote web site to his own computer. Second, the desired file is then uploaded from the client's computer to the storage space account. This approach requires the desired files to be transferred across the client's Internet connection twice (once during the download and once during the subsequent upload). It also requires the client's computer to have sufficient local storage capacity to buffer the desired file as it is being downloaded.
The download-buffer-upload process can be a problem for many portable devices such as laptop computers, personal electronic assistants, palmtop devices, enhanced cellular phone and other similar devices that can be connected to the Internet. Some of these portable devices, such as enhanced cellular phones, lack sufficient memory to buffer large files during the download portion of the process. New technology such as micro-drives make it possible to increase the memory capacity, but such solutions tend not to be economically viable. More memory translates into an increased cost to own, and an increased power drain on the batteries of the portable devices. Furthermore, those portable devices that have sufficient buffering capacity often have limited bandwidth interfaces to the Internet. Downloading and then uploading large files can take a significant amount of time.
Several Internet-based storage space vendors offer services that allow the client to bypass downloading and buffering the files in the client's computer. These services allow the remote web site to download a client-selected file directly into the client's storage space account. Speed of the direct download is limited not by the client's Internet connection, but by the remote web site's ability to transmit the files. The maximum size of the downloaded file is limited by the free space available in the client's account instead of the free space available on the client's computer.
There are, however, two drawbacks to these services. First, the remote web site must incorporate a script into their web pages to support proprietary protocols necessary to implement the direct download into the client's account. If the remote web site does not implement these scripts, then the direct download cannot be performed. Here, the client must resort to downloading the files to his own computer first and then uploading them into his account. Second, the client must provide the remote web site with key account information. The remote web site needs to know the Internet address of the storage space site to which it is sending the file, and an account number into which the files are being stored. The client must also provide the remote web site with authentication information that grants the remote web site permission to download into the client's account. This authentication information is required by the storage space site to prevent unauthorized downloads. Clients concerned about the security of their accounts must decide if the remote web site can be trusted with the client's authentication information.
What is desired is a method for operating the storage space account that eliminates the two drawbacks of the present services. Clients should be able to download files into his account from any remote web site, not just those implementing the proprietary protocol scripts. Clients should also be able to safeguard their accounts by keeping authentication information away from the remote web sites. All that the remote web site requires is the Internet address where the files are to be sent, and which protocol to use in sending the files.
DISCLOSURE OF INVENTION
The present invention is a method and information storage media recording computer programs for downloading files across a network from a remote site into a client's account within a storage site. A client operating from a user site on the network selects the files to be downloaded. The client initiates the download by sending a data request from the user site to the remote site. File locations for each file to be downloaded are identified in the data request. Upon reception of the data request, the storage site sends a download request to the remote site identifying the selected files. The remote site responds by sending the files to the storage site. Downloaded files received at the storage site are then stored in the client's account. A notification may be sent by the storage site to the client once the downloaded files have been transferred to the storage site.
Identification of the files for downloading can be accomplished by least two methods. First, the client sends a request to the remote site to inquire about available downloadable files. The remote site responds by sending a file list having the address locations of the available downloadable files. Selection of the files to be downloaded can be made from the file list. As the files are selected, their respective file locations are copied into the data request. In the second method, the client enters the file locations manually at the user site using a keyboard or other input device.
Security for the client's account may be provided by authenticating the data requests at the storage site. This may be accomplished by sending an identifier, for example a user identification and password, contemporaneously with each data request. If the identifier is authentic, then the data request is accepted. If the identifier fails authentication, then the data request is rejected. In an alternative embodiment, authentication may take place once when the client performs a login to the account. Here, the identifier is sent only once when the client logs in. Until the client has successfully logged in, the storage site rejects all data requests destined for the client's account. An advantage of these methods is that authentication data is provided only to the storage site, and not to the remote sites.
Downloading of the selected files from the storage site to the client's user site may take place any time after the selected files have been downloaded to the storage site. First, the client sends a download request identifying the desired files to the storage site. The storage site responds by transferring the identified files to the user site. Accordingly, it is an object of the present invention to provide a method and information storage media recording computer programs for downloading files from a network-based remote site into a client's account in a network-based storage site, wherein the files are identified from a user site, the identities are forwarded to the storage site, and the storage site requests the identified files from the remote site.
Another object of the present invention is to provide a method and information storage medium recording a computer program for operating the storage site to act as an agent on behalf of the client to request, receive and store files downloaded from the remote site into the client's account.
Yet another object of the present invention is to provide a method and another information recording medium recording another computer program for operating the user site to allow the client to identify the desired files to be downloaded into the client's account, and forward the identity of the desired files to the storage site.
These and other objects, features and advantages will be readily apparent upon consideration of the following detailed description in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a block diagram showing a grouping of top level functions used in the present invention;
FIG. 2 is a flow diagram of a method for identifying files stored in a remote site that are available for download;
FIG. 3 is a flow diagram of a method for selecting and downloading files from the remote site to a storage site; FIG. 4 is a flow diagram of a method for notifying the client when the download is complete;
FIG. 5 is a flow diagram of a method for logging into a storage space account at the storage site;
FIG. 6 is a flow diagram of a method for rejecting download requests made prior to logging in; and
FIG. 7 is a flow diagram of a method for downloading files from the storage site to the user site.
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a block diagram showing a grouping of top level functions used in the present invention. The following description is based upon implementing the present invention on the Internet 100 using Internet protocols. Other types of networks, protocols, and groups of interconnected networks may also be used in lieu of, and in addition to the Internet 100. An Internet Architecture Board (IAB) defines the Internet standards referenced below in Standard protocols (STD) and Request For Comments (RFC) documents.
Remote site 110 is a web site on the Internet 100 having one or more files 112 that are available for downloading. Files 112 may contain variety of information such as text, graphics, images, video, audio, databases and the like. The files 112 generally range in size from as small as a few bytes to greater than one gigabyte. Each file 112 may be a self-contained item, or part of larger collection of files 112.
Files 112 are stored at the remote site 110 in a storage medium 114.
Storage medium 114 is usually, although not necessarily one or more magnetic hard drives. In simple remote sites 110, the storage medium 114 may be a single magnetic hard drive having several gigabytes of capacity. In complicated remote sites 110, the storage medium 114 may be several clusters or arrays of storage devices configured for various speed, reliability, fault tolerance, and cost considerations. Here, storage capacities can reach into the terabytes. Other types of storage media 114 may be used including magnetic tape, optical tape, optical disks, and solid state memory devices. These other types of media provide different tradeoffs in access speed, storage life, number of write cycles, number of read cycles, and cost.
File lists 116 are also stored on the remote site's storage medium 114. File lists 116 provide information used externally to the remote site 110 to identify each file 112, usually by a file name and by a file location. In Internet terminology, file identification is provided by a Uniform Resource Locator (URL)(IAB proposed standard protocol RFC 1738) that defines the Internet protocol scheme, a host name of the remote site 110, a file path from a root directory within the remote site 110, the file name with an extension type. The URL's that collectively form the file lists 116 are typically, although not always, presented externally to the remote site 110 as web pages or directories.
A web server 118 is provided at the remote site 110 to interface the storage medium 114 to the Internet 100. Web server 118 provides functionality to output the web pages and directories (file lists 116), the files 112, and other forms of information onto the Internet 100, as well as receive other files, commands, requests, messages, data and various other forms of information from the Internet 100. The web server 118 responds to the Hyper Text Transfer Protocol (HTTP)(IAB information protocol RFC 1945) and the File Transfer Protocol (FTP)(IAB standard protocol STD 9) to download the files 112 to another Internet site that issued the HTTP or FTP message.
A client 120 accesses the remote site 110 through a user site 130.
User site 130 may be a personal computer, workstation, laptop computer, server, palmtop device, enhanced cellular telephone, or any other machine capable of digital network communications. The user site 130 includes input devices 132 and output devices 134 for accepting and providing information from and to the client 120 respectively. Common input devices 132 include, but are not limited to keyboards, keypads, mouses, touch screens, touch pads, joy sticks, and microphones. Most output devices 134 are displays, although other types of output devices such as audio speakers may also be provided.
A browser 136 links the input devices 132 and output devices 134 to the Internet 100. Browser 136 may be a commercially available software package such as Internet Explorer available from Microsoft Corporation, Redmond, WA and Netscape Communicator available from Netscape Communications Corporation, Mountain View, CA. Other items that support the Internet protocols may be used within the scope of the present invention.
The client 120 also accesses a storage site 140 via the Internet 100 from the user site 130. Storage site 140 provides multiple storage space accounts 142 for multiple clients 120 that are accessible from anywhere on the Internet 100. FIG. 1 only shows one user site 130 for the purposes of describing the present invention. In practice, the client 120 may access his storage space account 120 from multiple other user site (not shown) connected to the Internet 100.
The storage space accounts 142 are implemented on a storage medium 144. The storage site's storage medium 144, like the remote site's storage medium 114, usually comprises magnetic hard drives operating standalone, in clusters, or in arrays. The storage site's storage medium 144 may also include other media types such as magnetic tape, optical tape, optical disks, and solid state memory devices. Magnetic media, though, is preferred for primary storage of the storage space accounts 142 due to a large number of read and write cycles commonly performed by the client 120. Write-once-read-many type media is normally used only in archival situations where the client 120 has determined that the information must be available for extended periods.
An account manager 146 is provided in the storage site 140 to manage access to the storage space accounts 142. The account manager 146 protects the storage space accounts 142 by implementing password protection. To log into the client's storage space account 142, the client 120 must provide the account manager 146 is a user identification and a password. Account manager 146 authenticates the user identification and password against registered user identifications and their respective passwords. When authentication is successful, the account manager 146 unlocks the client's storage space account 142. After the client logs out, the account manager 146 locks the client's storage space account.
Login data is normally transferred between the user site 130 and the account manager 146 through the user site's browser 136 and a web server 148 operating in the storage site 140. Like the remote site's web server 118, the storage site's web server 148 provides web pages, directories, and other information to aid the client 120 in communicating with the account manager 146. The storage site's web server 148 is also capable of communicating with, and downloading files to and from other Internet sites, including the remote site's web server 118.
In the preferred embodiment, a pair of software application packages are provided to make the storage space account 142 appear as a mounted drive to the user site 130 and client 120. A storage site software application 150 is hosted in the storage site 140 and a user site software application 152 is hosted in each user site 130. These software applications 150 and 152 provided functionality not normally found in the storage site's web server 148 and the user site's browser 136. In alternative embodiments, the functionality of the storage site software application 150 may be implemented as part of the storage site's web server 148 or the account manager 146. Likewise, the functionality of the user site software application 152 may be implemented as part of the browser 136. The storage site software application 150 and the user site software application 152 may be provided to the storage site 140 and the user site 130 respectively as computer programs recorded on information storage media 151 and 153 such as magnetic disk, magnetic tape, optical disk, non-volatile memory, or other similar information storage media, or downloaded over a network or the Internet. The computer programs are read from the information storage media 151 and 153 and executed by the storage site 140 and the user site 130 respectively. The storage site software application 150 and the user site software application 152 communicate directly to each other via the Internet 100. The storage site software application 150 communicates with the account manager 146 to send and receive files from the client's storage space account 142. The user site software application 152 communicates with the operating system (not shown) of the user site 130 to emulate a hard drive. Preferably, user site software application 152 operates independently of browser 136 to provide the hard drive emulation while the browser 136 is not executing.
In most situations, the user site 130 does not have a direct connection to the Internet 100. Typically, an Internet Service Provider (ISP) 160 is situated between the user site 130 and the Internet 100. Communications between the user site 130 and the ISP 160 may be via a modem, cable modem, digital subscriber line, local area network, wide area network, Integrated Services Digital Network (ISDN) line, TI line, phone cell, and similar communications circuits. Bandwidth between the user site 130 and ISP 160 range from around 300 baud at the low end to 56 kilobits per second in residential settings (modems), and up to approximately one gigabit per second at the high end in commercial environments (Fibre Channel) .
FIG. 2 is a flow diagram of a method for determining what files 112 are available in the remote site 110 for downloading. The method begins when the user site 130 generates a file list request asking the remote site 110 for a web page containing the file list 116, as shown in block 200. User site 130 then initiates a transfer of the file list request by sending the file list request to the remote site 110, as shown in block 202. The remote site 110 completes the transfer upon reception of the file list, as shown in block 204. The remote site 110 responds to the file list request by sending the web page requested, as shown in block 206. User site 130 receives the web page from the remote site 110, as shown in block 208, then displays the web page through an output device 134 to the client 120, as shown in block 210. From the display, the client 120 can see all of the files 112 identified by the file list 116 embedded within that particular web page. This particular file list 116 may identify some or all of the files 112 stored in the remote site 110. Where the number of files 112 is large or the files 112 are grouped by type, the web page may contain links to other web pages containing other file lists 116 identifying other groups of files 112. For example, one web page may identify only picture type files 112 while a second web page identifies only video type files 112.
The client 120 now selects files 112 for downloading. Referring to FIG. 3, selection may be accomplished using an input device 132, such as a mouse, to graphically choose one or more files, from the displayed web page, as shown in block 300. Additionally, the client 120 may enter the URL's of selected files through a keyboard type input device, as shown in block 302. When the client 120 has finished selecting files 112, he informs the user site 130 by pressing an "Enter" key on the keyboard, or selecting a "Save" option included in the web page, as shown in block 304.
In the preferred embodiment, the client 120 selects one file 112 at a time by moving a cursor over the desired file 112 using a mouse, as shown in block 300. The client 120 then presses a right button on the mouse causing a pop-up window to appear on the display adjacent to the cursor. From the pop-up window, the client 120 selects a command titled "Save to Soft-Drive" with a left button on the mouse, as shown in block 304. User site software application 152 is operational to accept the URL of the selected file 112 from the browser 136 through the operating system.
The user site software application 152 uses the URL's to generate a data request, as shown in block 305. The data request is then sent across the Internet 100 to the storage site software application 150, as shown in block 306. Each data request contains the URL's of the selected files 112. An identifier may be included within each data request or sent contemporaneously with the data request in another message. The identifier typically, although not necessarily, contains the user identification and password required by the account manager 146 to authenticate access to the client's storage space account 142. In alternative embodiments, the identifier may contain other information such as a random private key given to the user site 130 by the storage site 140 after an earlier successful login. Typically the user identification, password and any other identifier information required for authentication are entered by the client 120 from a keyboard type input device 132. Alternative methods of entering the identifier information may be used. For example, identifier information may be stored on a smart card or an employee badge that is entered through a magnetic strip reader type input device. In another example, the identifier information may be stored on a media cartridge that is inserted and read by a media read/write drive type input device. In general, any portable security key-like device may be used to store and enter the identifier information into the user site 130.
The data request is received by the storage site software application
150, as shown in block 308, completing transfer of the data request from the user site 130 to the storage site 140. Storage site software application 150 forwards the identifier to the account manager 146 for authentication, as shown by decision block 310. If the authentication fails, the FAIL branch of decision block 310, then an error message is generated by the account manager 146 and sent back to the user site 130 via either the web server 148 or the storage site software application 150, as shown in block 312. Authentication failure also results in a rejection of the data request by the storage site 140, as shown in block 314.
At the user site 130, the error message is received, block 316, and then displayed to the client 120, as shown in block 318. The error message may provide for self-removal from the display after a period of time and/or removal upon selection of an "OK" button by the client 120.
Where the data request passes authentication, as shown by the PASS branch of decision block 310, then the URL's within the data request are used to generate a download request, as shown in block 319. The download request is then provided to the storage site's web server 148. Web server 148 sends the data request to the remote site 110, as shown in block 320. Remote site 110 receives the download request, block 322, and responds by downloading the files 112 identified by the URL's to the storage site 140, as shown in block 324. Storage site 140 receives the downloaded files 122, as shown block 326, and then stores them into the client's storage space account 142, as shown in block 328.
One advantage of this approach is that the remote site 110 is never aware of the client's storage space account 142, the client's user identification, or the client's password. From a remote site 110 point-of-view, only the storage site 140 is involved in downloading the files 112. Another advantage of this approach is that the remote site 110 responds to the download request from the storage site 140 as it would to any other download request from any other site. There is no need for the remote site 110 to perform any special processing or communications during the download into the client's storage space account 142.
In many situations the remote site's web server 118 will respond to the download request from the storage site's web server 148 unconditionally. However, there may be cases where the remote site's web server 118 requires additional information before responding to the download request. For example, the remote site's web server 118 may require a user identification and password before sending the requested files. In another example, the remote site's web server 118 may require the storage site's web server 148 to accept cookies as part of the download process. At least three approaches may be taken to account for these situations. In one approach, a remote site user identification and remote site password may be required from the user site 130 as part of the data request to the storage site 140. The storage site 140 then copies the remote site user identification and remote site password into the download request sent to the remote site 110. In a second approach, the storage site 140 has its own remote site user identification and remote site password independent of the client 120. Upon receipt of the data request from the user site 130, the remote site 140 includes its own remote site user identification and remote site password into the download request sent to the remote site 110. In a third approach, the storage site 140 has an ability to automatically open a new account with the remote site 110 and registers itself as a new remote site user. Upon successful registration and receipt of a new remote user identification and a remote default password, the storage site 140 records this information for use with subsequent data requests pointing to the remote site 110. Storage site 140 may notify the client 120 upon completing the download process. Download completion may be defined by any one of several different events. For example, download completion may be defined as completing reception of the last file 112 at the storage site's web server 148. In another example, download completion may be defined as locking the client's storage space account 142 after all of the files 112 downloaded have been written into the client's storage space account 142. Other possible events include an expiration of a timer, reception of a message from the remote site 110 indicating that all of the selected files 112 have been sent, failure to connect with the remote site 110, and reception of an unknown host name message from a Domain Name Sever (DNS)(IAB standard protocol STD 13). Completion of downloading may be triggered on a file-by-file 112 case, or once for all of the files 112 identified in each data request. Notification may include a status of the downloading indicating success or failure, and possibly other useful parameters such as date and time.
FIG. 4 is a flow diagram of a method for notifying the client 120 that the download is complete. Notification starts by the reception of a completion signal at the storage site software application 150 indicating that one of the defining events listed above, or some other suitable event, has taken place. The storage site software application 150 then checks to see if communications are still possible with the user site 130, as shown in block 400. This check may be made by exchanging a handshake signal between the storage site software application 150 and the user site software application 152, by reception of a heartbeat signal from the user site software application 152, or by checking if the client 120 is still logged into the client's storage space account 142.
Where the user site 130 is no longer available at the completion of the download, the NO branch of decision block 400, the storage site software application 150 sends an e-mail message to an e-mail account belonging to the client 120, as shown in bock 402. The e-mail message may include a file name, URL, a success or failure status, date and time of each file 112 originally selected. Next time that the client 120 is on-line and reads his e-mail, the client 120 will receive the e-mail notification message. Where the user site 130 is still in communication with the storage site 140 after the completion of the download, the YES branch of decision block 400, then the storage site 140 sends a download notification message to the user site 120 for display to the client 120, as shown in block 404. The download notification message may be sent via the storage site software application 150 or the storage site's web server 148. The download notification message is received at the user site 130 by either the user site software application 152 or the browser 136 respectfully, as shown in block 406. Finally, the download notification message is displayed to the client 120, as shown in block 408.
In one embodiment of the present invention, downloading cannot be requested until the client 120 has successfully logged into the client's storage space account 142. FIG. 5 is a flow diagram of a method for logging in. Login is started when the user site 130 sends a request for a login web page to the storage site 140, as shown in block 500. Upon reception of the request, block 502, by the storage site's web server 148 sends the login web page to the user site 130, as shown in block 504. User site 130 receives the login web page, as shown in block 506 and then displays it to the client 120, as shown in block 508.
Client 120 then enters a user identification and password into the login web page, as shown in block 510. The user identification and password are then sent by the user site 130 and received at the storage site 140, as shown in blocks 512 and
514 respectively. Authentication of the user identification and password then takes place in decision block 516.
Where authentication fails, the FAIL branch of decision block 516, then the account manager 146 generates and sends an error message, as shown in block 518. This error message is received at the user site 130 and displayed to the client 120, as shown in blocks 520 and 522 respectively.
Where authentication passes, the PASS branch of decision block 516, the account manager 146 unlocks the client's storage space account 142, as shown in block 524. The storage site software application 150 then sends information about the storage space account 142 to the user site software application 152, as shown in blocks 526 and 528 respectively. Finally, the user site software application 152 uses this information to emulate a mounted disk containing the files 112 stored in the storage space account 142, as shown in block 530.
The login process allows for the storage site 140 to reject all otherwise valid data requests from the user site 130 received prior to a successful login. Referring to FIG. 6, the status of the login is checked, as shown by decision block 600. Where the client 120 has not logged in, the NO branch of decision block 600, then the storage site 140 rejects all data requests from the user site 130, as shown in block 602. Once the client 120 has successfully logged in, the YES branch of decision block 600, then the storage site 140 accepts subsequent data requests from the user site 130, as shown in block 604. When the client 120 logs out, the YES branch of decision block 606, then the storage site software application 150 once again rejects all data requests from the user site 130, as shown in block 602.
The client 120 may choose to download the files 112 from the storage site 140 the user site 130 at some time after the files 112 have been downloaded into the storage site 140. FIG. 7 is a flow diagram of a method for downloading the files 112 to the user site 130. It should be noted that the user site 130 receiving the files 112 may or may not be the same physical user site 130 that the client 120 used to download the files 112 from the remote site 110 to the storage site 140. This operation begins after 'the client 120 has successfully logged in to the storage space account 142, and the resulting emulated hard drive has been mounted.
This download operation starts with the user site 130 receiving a command from the client 120 to open the emulated hard drive of the storage space account 142, as shown in block 700. User site software application 152 responds to the command by opening the emulated drive and displaying the contents to the client 120 in a pop-up window on output device 134, as shown in block 702. The client 120 then selects one or more files 112 to be downloaded, as shown in block 704, and a destination drive or folder to receive the files 112, as shown in block 706. From the client's point-of-view, this appears to be a copy operation from one (emulated) hard drive to another. Client 120 need not be aware that the files 112 must be downloaded from the storage site 140 first before they are stored at the destination within the user site 130.
User site 130 generates a download request using the selected files 112 to be download and the destination drive or folder to receive the files 112, as shown in block 707. Once generated, the download request is then sent from the user site 130 to the storage site 140, as shown in block 708. Storage site 140 receives the download request, block 710, and responds by sending the files 112 identified in the download message, as shown in block 712. User site 130 receives the files 112, block 714, and then stores the files 112 in the destination selected earlier, as shown in block 716.
In an alternative embodiment, the browser 136 and remote site's web server 148 are used to download files 112 to the user site 130 by conventional means. Here, a listing of the files 112 is provided to the client 120 in the form of a web page. The client 120 moves the cursor over one file 112 and then activates the right mouse button. From the resulting pop-up window, the client 120 selects a "Save-as" command. This results in a second pop-up window through which the client 120 chooses the destination for the selected file 112. Client 120 activates an "OK" button in the second pop-up window starting a download of the selected file 112 through the storage site's web server 148, to the user site 130, and into the chosen destination drive or folder.
While embodiments of the invention have been illustrated and described, it is not intended that these embodiments illustrate and describe all possible forms of the invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the invention.

Claims

WHAT IS CLAIMED IS:
1. A method for downloading at least one file across a network from a remote site to a storage site, wherein the at least one file is selected from a user site and downloaded into a storage space account established within the storage site for a client, the method comprising:
generating a data request at the user site, the data request identifying the at least one file to be downloaded from the remote site to the storage site;
transferring the data request from the user site to the storage site in response to generating the data request;
generating a download request at the storage site in response to transfer of the data request, the download request identifying the at least one file to be downloaded;
transferring a download request from the storage site to the remote site in response to generating the download request;
downloading the at least one file from the remote site to the storage site in response to the download request; and
storing the at least one file downloaded into the storage space account at the storage site to make the at least one file available to the client at a later time.
2. The method of claim 1 wherein the remote site has a file list of all available files that includes the at least one file to be downloaded, the method further comprising:
generating a file list request at the user site, the file list request identifying the file list within the remote site; transferring the file list request from the user site to the remote site in response to generating the file list request;
transferring the file list from the remote site to the user site in response to the file list request;
selecting for downloading the at least one file from the file list transferred to the user site; and
identifying the at least one files selected in the data request prior to sending the data request to the storage site.
3. The method of claim 1 wherein the user site has an input device, the method further comprising:
receiving a respective file location for each file of the at least one files from the client through the input device; and
entering the file location for each file of the at least one file into the data request prior to sending the data request to the storage site to identify each file in the data request.
4. The method of claim 1 further comprising notifying the client in response to downloading the at least one file to the storage site.
5. The method of claim 1 further comprising:
transferring an identifier for the storage space account from the user site to the storage site;
authenticating the identifier transferred to the storage site; and rejecting each data request to the storage space account at the storage site until the identifier passes authentication.
6. The method of claim 1 further comprising:
transferring an identifier for the storage space account from the user site to the storage site contemporaneously with the data request;
authenticating the identifier sent with the data request at the storage site prior to generating the download request; and
rejecting the data request received at the storage site in response to the identifier sent with the data request failing authentication.
7. The method of claim 1 further comprising:
generating a subsequent download request at the user site after the at least one file has been stored in the storage site, the subsequent download request identifying the at least one file stored in the storage space account to be downloaded to the user site;
transferring the subsequent download request from the user site to the storage site in response to generating the subsequent download request; and
downloading the at least one file from the storage site to the user site in response to transfer of the subsequent download request.
8. The method of claim 1 further comprising:
generating a subsequent download request at another user site after the at least one file has been stored in the storage site, the subsequent download request identifying the at least one file stored in the storage space account to be downloaded to other user site; transferring the subsequent download request from the other user site to the storage site in response to generating the subsequent download request; and
downloading the at least one file from the storage site to the other user site in response to transfer of the subsequent download request.
9. A method for operating a storage site to download at least one file from a remote site to the storage site across a network, wherein the at least one file is selected from a user site and downloaded into a storage space account established within the storage site for a client, the method comprising:
receiving a data request from the user site, the data request identifying the at least one files to be downloaded from the remote site;
generating a download request in response to receiving the data request, the download request identifying the at least one file to be downloaded;
sending the download request to the remote site in response to generating the download request;
receiving the at least one file from the remote site in response to sending the download request; and
storing the at least one file received into the storage space account to make the at least one file available to the client at a later time.
10. The method of claim 9 further comprising notifying the client in response to reception of the at least one file by the storage site.
11. The method of claim 9 further comprising:
receiving an identifier for the storage space account from the user site; authenticating the identifier received; and
rejecting each data request to the storage space account until the identifier passes authentication.
12. The method of claim 9 further comprising:
receiving an identifier for the storage space account from the user site contemporaneously with the data request;
authenticating the identifier received with the data request prior to generating the download request; and
rejecting the data request in response to the identifier failing authentication.
13. The method of claim 9 further comprising:
receiving a subsequent download request from the user site after the at least one file has been stored in the storage site, the subsequent download request identifying the at least one file stored in the storage space account to be downloaded to the user site; and
downloading the at least one file from the storage site to the user site in response to receiving the subsequent download request.
14. The method of claim 9 further comprising:
receiving a subsequent download request from another user site after the at least one file has been stored in the storage site, the subsequent download request identifying the at least one file stored in the storage space account to be downloaded to the user site; and downloading the at least one file from the storage site to the other user site in response to receiving the subsequent download request.
15. A method of operating a user site to enable a client to initiate downloading of at least one file from a remote site to a storage site across a network, wherein the remote site has a file list of all available files that includes the at least one file to be downloaded, the method comprising:
generating a file list request identifying the file list within the remote site;
sending the file list request to the remote site in response to generating the file list;
receiving the file list from the remote site in response to sending the file list request;
providing the file list to the client to permit the client to select the at least one file to be downloaded from the file list;
receiving a respective file location from the client for each file of the at least one file selected from the list by client;
generating a data request having the respective file location for each file of the at least one files selected by the client for downloading to the storage site; and
sending the data request to the storage site to request the storage site download the at least one file to the storage site.
16. The method of claim 15 further comprising:
receiving a respective file location from the client for each file of the at least one files to be downloaded; and
copying the respective file location for each file of the at least one files into the data request prior to sending the data request to the storage site to identify the at least one file.
17. The method of claim 15 further comprising receiving a notification from the storage site in response to completion of downloading the at least one file to the storage site.
18. The method of claim 15 further comprising sending an identifier to the storage site prior to sending the data request.
19. The method of claim 15 further comprising sending an identifier to the storage site contemporaneously with each of the data requests.
20. The method of claim 15 further comprising:
generating a download request after the at least one file has been stored in the storage site, the download request identifying the at least one file stored in the storage space account to be downloaded to the user site;
sending the download request to the storage site in response to generating the download request; and
receiving the at least one file from the storage site in response to sending the download request.
21. An information recording medium for use in a storage site to download at least one file from a remote site to the storage site across a network, wherein the at least one file is selected from a user site and downloaded into a storage space account established within the storage site for a client, the information recording medium recording a computer program that is readable and executable by the storage site, the computer program comprising:
receiving a data request from the user site, the data request identifying the at least one files to be downloaded from the remote site;
generating a download request in response to receiving the data request, the download request identifying the at least one file to be downloaded;
sending the download request to the remote site in response to generating the download request;
receiving the at least one file from the remote site in response to sending the download request; and
storing the at least one file received into the storage space account to make the at least one file available to the client at a later time.
22. An information recording medium for use in a user site to enable a client to initiate downloading of at least one file from a remote site to a storage site across a network, wherein the remote site has a file list of all available files that includes the at least one file to be downloaded, the information recording medium recording a computer program that is readable and executable by the user site, the computer program comprising:
generating a file list request identifying the file list within the remote site;
sending the file list request to the remote site in response to generating the file list; receiving the file list from the remote site in response to sending the file list request;
providing the file list to the client to permit the client to select the at least one file to be downloaded from the file list;
receiving a respective file location from the client for each file of the at least one file selected from the list by client;
generating a data request having the respective file location for each file of the at least one files selected by the client for downloading to the storage site; and
sending the data request to the storage site to request the storage site download the at least one file to the storage site.
PCT/US2001/006756 2000-03-03 2001-03-02 Method for providing services on network-based storage sites WO2001067233A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP01920178A EP1259877A2 (en) 2000-03-03 2001-03-02 Method for providing services on network-based storage sites
AU2001247258A AU2001247258A1 (en) 2000-03-03 2001-03-02 Method for providing services on network-based storage sites
JP2001564988A JP2003526153A (en) 2000-03-03 2001-03-02 How to service network-based storage sites

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US51937500A 2000-03-03 2000-03-03
US09/519,375 2000-03-03

Publications (2)

Publication Number Publication Date
WO2001067233A2 true WO2001067233A2 (en) 2001-09-13
WO2001067233A3 WO2001067233A3 (en) 2002-08-22

Family

ID=24068041

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/006756 WO2001067233A2 (en) 2000-03-03 2001-03-02 Method for providing services on network-based storage sites

Country Status (4)

Country Link
EP (1) EP1259877A2 (en)
JP (1) JP2003526153A (en)
AU (1) AU2001247258A1 (en)
WO (1) WO2001067233A2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1770557A1 (en) * 2005-09-01 2007-04-04 Acer Incorporated A method for accessing data and a method for searching data
WO2010063331A1 (en) 2008-12-04 2010-06-10 Sony Ericsson Mobile Communications Ab Download of a file from a mobile device
TWI413376B (en) * 2008-05-02 2013-10-21 Hon Hai Prec Ind Co Ltd Apparatus and method for managing network memory
US9313100B1 (en) 2011-11-14 2016-04-12 Amazon Technologies, Inc. Remote browsing session management
US9336321B1 (en) 2012-01-26 2016-05-10 Amazon Technologies, Inc. Remote browsing and searching
US10089403B1 (en) * 2011-08-31 2018-10-02 Amazon Technologies, Inc. Managing network based storage
US11102297B1 (en) 2003-12-04 2021-08-24 Synkloud Technologies, Llc System and method for wireless device access to external storage

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7058678B2 (en) * 2020-01-29 2022-04-22 株式会社ソニー・インタラクティブエンタテインメント Information terminal, management server, information processing system, and download operation method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001033381A1 (en) * 1999-11-04 2001-05-10 Xdrive, Inc Shared internet storage resource, user interface system, and method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001033381A1 (en) * 1999-11-04 2001-05-10 Xdrive, Inc Shared internet storage resource, user interface system, and method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Downloadslave - Informationen zum kostenlosen Dienst" INTERNET DOCUMENT, [Online] 26 September 1999 (1999-09-26), pages 1-11, XP002198600 Retrieved from the Internet: <URL:http://web.archive.org/web/1999112709 1909/http://www.downloadslave.com/html/de/ readme.htm> [retrieved on 2002-05-10] *
MOSKOWITZ L: "Filo Files the Web Your Way" PCWORLD.COM (SPECIAL TO PC WORLD), [Online] 1 February 2000 (2000-02-01), XP002198599 Retrieved from the Internet: <URL:http://www.pcworld.com/resource/print able/article/0,aid,15081,00.asp> [retrieved on 2002-05-13] *
WATSON T: "Application Design for Wireless Computing" PROCEEDINGS OF THE WORKSHOP ON MOBILE COMPUTING SYSTEMS AND APPLICATIONS, 8 - 9 December 1994, pages 91-94, XP002094010 Santa Cruz, CA, USA ISBN: 0-8186-6345-6 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11102297B1 (en) 2003-12-04 2021-08-24 Synkloud Technologies, Llc System and method for wireless device access to external storage
EP1770557A1 (en) * 2005-09-01 2007-04-04 Acer Incorporated A method for accessing data and a method for searching data
TWI413376B (en) * 2008-05-02 2013-10-21 Hon Hai Prec Ind Co Ltd Apparatus and method for managing network memory
WO2010063331A1 (en) 2008-12-04 2010-06-10 Sony Ericsson Mobile Communications Ab Download of a file from a mobile device
US8340717B2 (en) 2008-12-04 2012-12-25 Sony Ericsson Mobile Communications Ab Method and device for downloading a file via a network
US10089403B1 (en) * 2011-08-31 2018-10-02 Amazon Technologies, Inc. Managing network based storage
US9313100B1 (en) 2011-11-14 2016-04-12 Amazon Technologies, Inc. Remote browsing session management
US9336321B1 (en) 2012-01-26 2016-05-10 Amazon Technologies, Inc. Remote browsing and searching

Also Published As

Publication number Publication date
JP2003526153A (en) 2003-09-02
EP1259877A2 (en) 2002-11-27
WO2001067233A3 (en) 2002-08-22
AU2001247258A1 (en) 2001-09-17

Similar Documents

Publication Publication Date Title
US10291686B2 (en) Managed peer-to-peer applications, systems and methods for distributed data access and storage
US9009265B2 (en) System and method for automatic transfer of data from one device to another
CN101841537B (en) Method and system for realizing file sharing access control based on protocol proxy
US7698392B2 (en) Method and system for establishing a user-friendly data transfer service application executing within a heterogeneous distributed service application execution environment
US7587467B2 (en) Managed peer-to-peer applications, systems and methods for distributed data access and storage
EP1130875B1 (en) A home gateway with a data backup service
US9191443B2 (en) Managed peer-to-peer applications, systems and methods for distributed data access and storage
US8015253B1 (en) System and method for controlling inter-device media exchanges
US7546353B2 (en) Managed peer-to-peer applications, systems and methods for distributed data access and storage
US7353542B2 (en) Storage system, computer system, and method of authorizing an initiator in the storage system or the computer system
US7024497B1 (en) Methods for accessing remotely located devices
US20080147821A1 (en) Managed peer-to-peer content backup service system and method using dynamic content dispersal to plural storage nodes
EP4161012A1 (en) Authentication method and apparatus, electronic device, server, program, and storage medium
CN101378396A (en) Phishing notification service
KR101429956B1 (en) Cloud storage server and system by use of virtual nas and method thereof
WO2001067233A2 (en) Method for providing services on network-based storage sites
CN101594342A (en) log recording method and device
JP2003345709A (en) Cache device and network system using the same
JPH1145203A (en) File management device
Cisco Cisco Access Registrar 1.6 Release Notes
JP2002132560A (en) Backup system
US7577742B1 (en) Account creation method and apparatus
US10824748B2 (en) Method and system for low overhead control/status handshake for remote shared file server
KR100382246B1 (en) Method for Data Recovery Using the System Comprising Server and Client
JP6100376B2 (en) Relay processing device, relay processing method, and program

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref country code: JP

Ref document number: 2001 564988

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 2001920178

Country of ref document: EP

AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

WWP Wipo information: published in national office

Ref document number: 2001920178

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWW Wipo information: withdrawn in national office

Ref document number: 2001920178

Country of ref document: EP