Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method comprising: coupling a portable storage device to a host computer; and invoking network extension code stored on the portable storage device, the network extension code allowing an application executing on the host computer to write data to the portable storage device without being limited by a physical storage capacity of the portable storage device, the network extension code being operable to: detect a file system write function call generated by the application, the file system write function call operable to cause the data to be written to the portable storage device, cause the data to be written to the portable storage device based upon the file system write function call, generate a transmit determination indicative of whether to transmit at least a portion of the written data to a network repository based on an available storage capacity of the network repository, and transmit the at least portion of the written data to the network repository based upon the transmit determination.
2. The computer-implemented method according to claim 1 , further comprising installing at least a portion of the network extension code onto the host computer.
3. The computer-implemented method according to claim 1 , wherein the transmit determination is based upon one or more of elapsed time, a data type, usage heuristics, available storage space, data modification time, existence of a connection between the host computer and the portable storage device, existence of a connection between the host computer and the network repository, or a user selection.
4. The computer-implemented method according to claim 1 , wherein the network extension code is further operable to: generate a delete determination indicative of whether to delete the data from the portable storage device, and cause the data to be deleted from the portable storage device based upon the delete determination.
5. The computer-implemented method according to claim 4 , wherein the network extension code is further operable to cause a placeholder to be written to the portable storage device, the placeholder indicative of a location of the data.
6. The computer-implemented method according to claim 1 , wherein the network extension code is further operable to encrypt or decrypt the data.
7. The computer-implemented method according to claim 1 , wherein the network extension code is further operable to: detect a file system read function call made by the application, the file system read function call operable to read the data on the portable storage device, and effectuate reading the data from the portable storage device to the application.
8. The computer-implemented method according to claim 1 , wherein the network extension code is further operable to: receive the data from the network repository, and store the data on the portable storage device.
9. The computer-implemented method according to claim 5 , wherein the network extension code is further operable to: locate the data based upon the placeholder; and delete the placeholder.
10. The computer-implemented method according to claim 8 , wherein the data is received from the network repository if the data is not available from the portable storage device or if a placeholder indicative of a location of the data is available on the portable storage device.
11. The computer-implemented method according to claim 8 , wherein the data is received from the network repository if the data on the network repository is more up-to-date than the data on the portable storage device.
12. The computer-implemented method according to claim 8 , wherein the network extension code is further operable to pre-fetch the data from the network repository.
13. The computer-implemented method according to claim 1 , wherein the network extension code is further operable to authenticate a user.
14. The computer-implemented method according to claim 13 , wherein authenticating the user further comprises: receiving a user input; matching the user input with first control data stored on the portable storage device; transmitting a first message to the network repository, if the user input matches the control data; matching the user input with second control data stored on the network repository; receiving an authentication message from the network repository, if the user input matches the second control data; and receiving a revocation message from the network repository, if the user input does not match the second control data.
15. The computer-implemented method according to claim 14 , wherein the user input is password, voice, fingerprint, or biometric data.
16. The computer-implemented method according to claim 1 , wherein the data represents a portion of a computer file, or an entire computer file.
17. The computer-implemented method according to claim 2 , further comprising uninstalling the at least the portion of the network extension code installed onto the host computer.
18. The computer-implemented method according to claim 1 , wherein the network extension code is further operable to synchronize the data on the portable storage device with the data on the network repository.
19. The computer-implemented method according to claim 1 , wherein the portable storage device is a media player, a telephone, a hand-held game system, a navigation system, a smart card, a flash memory, a universal serial bus (“USB”) memory stick, or an external hard disk drive.
20. The computer-implemented method according to claim 1 , wherein the network extension code is operable to recognize the file system write function call at a block level.
21. The computer-implemented method according to claim 1 , wherein the network extension code is operable to recognize the file system write function call at a file level.
22. The computer-implemented method according to claim 1 , wherein the network extension code is operable to recognize the file system write function call via a host-specific file system driver.
23. The computer-implemented method according to claim 1 , wherein the network extension code is operable to recognize the file system write function call via a user-space dynamic link library (“DLL”).
24. A portable storage device comprising a storage medium storing network extension code, the network extension code allowing an application executing on a host computer to write data to the portable storage device without being limited by a physical storage capacity of the portable storage device, wherein, when the portable storage device is coupled to a host computer, the network extension code is invoked, the network extension code operable to: detect a file system write function call generated by the application, the file system write function call operable to cause the data to be written to the portable storage device, cause the data to be written to the portable storage device based upon the file system write function call, generate a transmit determination indicative of whether to transmit at least a portion of the written data to a network repository based on an available storage capacity of the network repository, and transmit the at least a portion of the written data to the network repository based upon the transmit determination.
25. A computer program product, tangibly stored on a portable storage device including a computer-readable medium, the computer program product comprising instructions to be performed by a host computer when the portable storage device is coupled to the host computer, the instructions operable to cause the host computer to invoke network extension code stored on the portable storage device, the network extension code allowing an application executing on the host computer to write data to the portable storage device without being limited by a physical storage capacity of the portable storage device, wherein, when the portable storage device is coupled to the host computer, the network extension code is invoked, the network extension code operable to: detect a file system write function call generated by the application, the file system write function call operable to cause the data to be written to the portable storage device, cause the data to be written to the portable storage device based upon the file system write function call, generate a transmit determination indicative of whether to transmit at least a portion of the written data to a network repository based on an available storage capacity of the network repository, and transmit the at least a portion of the written data to the network repository based upon determining whether to transmit the data to the network repository.
26. A system comprising: a network repository; a portable storage device further comprising a storage medium storing network extension code, the network extension code operable to: detect a file system write function call generated by an application, the file system write function call operable to cause the data to be written to the portable storage device, cause the data to be written to the portable storage device based upon the file system write function call, generate a transmit determination indicative of whether to transmit at least a portion of the written data to a network repository based on an available storage capacity of the network repository, and transmit the at least a portion of the written data to the network repository based upon the transmit determination; and a host computer operable to: execute the application, and invoke the network extension code when the portable storage device is coupled to the host computer, the network extension code allowing the application executing on the host computer to write data to the portable storage device without being limited by a physical storage capacity of the portable storage device.
Unknown
December 7, 2010
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.