Peer-to-peer file sharing
First Claim
1. A method performed by a first computer system for sharing a file having content that is stored at a second computer system, the method comprising:
- receiving at the first computer system a first metadata from the second computer system, wherein the metadata includes a file name, a create date of the file, a last modified date of the file, and a size of the file;
creating a virtual file using a file system of the first computer system, wherein the creating the virtual file is based on the received first metadata from the second computer system, wherein the virtual file does not include the content of the file, the virtual file having the first metadata represented as attributes of the virtual file;
storing the first metadata of the file in association with the virtual file, wherein the virtual file has a file type indicating the virtual file;
displaying the name of the file including a file name extension of an actual file together with an indicator indicating that the virtual file is a virtual file; and
after the file is changed at the second computer system, receiving from the second computer system a second metadata for the file, the second metadata including an updated size of the file, and updating the first metadata stored in association with the virtual file based on the received second metadata, wherein the file is accessed by using the first metadata that identifies the file to retrieve the content of the file from the second computer system, wherein before the retrieving the file stored at the second computer system, logging on to a server, retrieving from the server an address and a public key for the second computer system, wherein the logging on includes providing the address and the public key to the server to validate authenticity of the second computer system, wherein the address is Internet Protocol (IP) address; and
associating a virtual file program with the file type so that when the virtual file is accessed the virtual file program executes to coordinate an access, wherein the first computer system and the second computer system are members of a group of computer systems that share files, wherein one computer system of the group is designated as a group owner, the one computer system that stores a shared file is designated as a file owner, and changes to the second metadata of the shared file are sent from the file owner to the group owner for distribution to other members of the group.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for sharing files between a group of computer systems. The file sharing system allows a group of computer systems to be defined. The files shared by a group are associated with a group folder. A group folder is represented by a folder created by the file system of each member of the group. The folder at each member contains a file for each file that is shared by the group. The files in the folder of a member may be actual files stored at that member, which contains the content of the shared file, or virtual files identifying the actual file that is stored at another member. When a member accesses a virtual file, the file sharing system detects the access and requests that the file owner provide a copy of the file to the accessing member on a peer-to-peer basis. Whenever a shared file is modified, the file owner sends updated metadata for that file to the other members of the group.
22 Citations
14 Claims
-
1. A method performed by a first computer system for sharing a file having content that is stored at a second computer system, the method comprising:
-
receiving at the first computer system a first metadata from the second computer system, wherein the metadata includes a file name, a create date of the file, a last modified date of the file, and a size of the file; creating a virtual file using a file system of the first computer system, wherein the creating the virtual file is based on the received first metadata from the second computer system, wherein the virtual file does not include the content of the file, the virtual file having the first metadata represented as attributes of the virtual file; storing the first metadata of the file in association with the virtual file, wherein the virtual file has a file type indicating the virtual file; displaying the name of the file including a file name extension of an actual file together with an indicator indicating that the virtual file is a virtual file; and after the file is changed at the second computer system, receiving from the second computer system a second metadata for the file, the second metadata including an updated size of the file, and updating the first metadata stored in association with the virtual file based on the received second metadata, wherein the file is accessed by using the first metadata that identifies the file to retrieve the content of the file from the second computer system, wherein before the retrieving the file stored at the second computer system, logging on to a server, retrieving from the server an address and a public key for the second computer system, wherein the logging on includes providing the address and the public key to the server to validate authenticity of the second computer system, wherein the address is Internet Protocol (IP) address; and associating a virtual file program with the file type so that when the virtual file is accessed the virtual file program executes to coordinate an access, wherein the first computer system and the second computer system are members of a group of computer systems that share files, wherein one computer system of the group is designated as a group owner, the one computer system that stores a shared file is designated as a file owner, and changes to the second metadata of the shared file are sent from the file owner to the group owner for distribution to other members of the group. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method performed by a first computer system for sharing a file stored at a second computer system, the method comprising:
-
receiving from the second computer system a notification that the file is to be shared with the first computer system; receiving at the first computer system a first metadata from the second computer system, wherein the first metadata includes a file name, a create date of the file, a last modified date of the file, and a size of the file; creating a virtual file using a file system of the first computer system, wherein the creating the virtual file is based on the received first metadata from the second computer system, wherein the virtual file does not include the content of the file, the virtual file having the first metadata represented as attributes of the virtual file; storing the metadata of the file in association with the virtual file without storing at least some content included within the file on the second computer system; displaying the name of the file including a file name extension of an actual file together with an indicator indicating that the virtual file is a virtual file; and after the file is changed at the second computer system, receiving from the second computer system a second metadata for the file, the second metadata including an updated size of the file, and updating the first metadata stored in association with the virtual file based on the received second metadata, wherein the file is accessed by using the first metadata that identifies the file to retrieve the content of the file from the second computer system, wherein before the retrieving the file stored at the second computer system, logging on to a server, retrieving from the server an address and a public key for the second computer system, wherein the logging on includes providing the address and the public key to the server to validate authenticity of the second computer system, wherein the address is Internet Protocol (IP) address; and associating a virtual file program with the file type so that when the virtual file is accessed the virtual file program executes to coordinate an access, wherein the first computer system and the second computer system are members of a group of computer systems that share files, wherein one computer system of the group is designated as a group owner, the computer system that stores a shared file is designated as a file owner, and changes to the second metadata of the shared file are sent from the file owner to the group owner for distribution to other members of the group.
-
-
13. A computer system for allowing multiple computers to share one or more files, the system including :
-
a first computer system at which files including content are stored, wherein the first computer system stores an address list for identifying one or more additional computers that can share the files; memory that includes computer-executable instructions for performing; receiving at the first computer system a first metadata from a second computer system, wherein the first metadata includes a file name, a create date of the file, a last modified date of a file, and a size of the file; creating a virtual file using a file system of the first computer system, wherein the creating the virtual file is based on the received first metadata from the second computer system, wherein the virtual file does not include the content of the file, the virtual file having the first metadata represented as attributes of the virtual file; storing the first metadata of the file in association with the virtual file, wherein the virtual file has a file type indicating the virtual file; displaying the name of the file including a file name extension of an actual file together with an indicator indicating that the virtual file is a virtual file; and after the file is changed at the second computer system, receiving from the second computer system a second metadata for the file, the second metadata including an updated size of the file, and updating the first metadata stored in association with the virtual file based on the received second metadata, wherein the file is accessed by using the first metadata that identifies the file to retrieve the content of the file from the second computer system, wherein before the retrieving the file stored at the second computer system, logging on to a server, retrieving from the server an address and a public key for the second computer system, wherein the logging on includes providing the address and the public key to the server to validate authenticity of the second computer system, wherein the address is Internet Protocol (IP) address; and associating a virtual file program with the file type so that when the virtual file is accessed the virtual file program executes to coordinate an access, wherein the first computer system and the second computer system are members of a group of computer systems that share files, wherein one computer system of the group is designated as a group owner, the one computer system that stores a shared file is designated as a file owner, and changes to the second metadata of the shared file are sent from the file owner to the group owner for distribution to other members of the group. - View Dependent Claims (14)
-
Specification