Patent ID: 7640227

Claim:
A computer-readable recording medium on which is recorded a file sharing program to be executed in a computer connected to a network including a plurality of nodes and sharing a file with the nodes in a decentralized manner, the computer including a storage part configured to store an entity of the file, a file list including the file, and profile information of the file, the file sharing program causing the computer to execute, on a processor thereof, a method comprising the steps of: (a) checking an application time when a change application for changing the profile information of the file is applied by an applying one of the nodes and determining, based on the application time of the change application, whether a predetermined period of time for which the change application is valid is exceeded upon receiving the change application; (b) changing a number of approvals by those of the nodes approving the change application in response to said step (a) determining that the predetermined period of time is not exceeded; (c) promoting the change application to a change instruction to change the profile information of the file, propagating the change instruction to another one of the nodes, and changing the profile information of the file stored in the storage part in response to the change instruction, if a number of the approvals by the approving nodes and an approval by the computer exceeds a predetermined amount; (d) propagating the change application including the changed number of approvals to the other one of the nodes if the number of the approvals by the approving nodes and the approval by the computer does not exceed the predetermined amount; (e) if the change application competes with another change application, aggregating the approvals of the change application by the approving nodes and approvals of the other change application by those of the nodes approving the other change application and comparing the number of the approvals of the change application and a number of the approvals of the other change application; (f) selecting one of the competing change applications and discarding the other one of the competing change applications based on their respective approval numbers; and (g) conducting an approval check on the approving nodes approving the change application and the approving nodes approving the other change application if the change application competes with the other change application.