Most of the research in the field of peer-to-peer file sharing systems has concentrated on performance issues such as efficient file lookup, replicating files to improve file download speeds etc. However there is a new challenge that questions the very existence and usefulness of such systems in the form of ”Free Riding”. This paper studies the seriousness of the negative impact that free riding can have in a P2P file sharing system. We introduce the concept of utility function to measure the usefulness of peers to the system as a whole, and describe a scheme based on this concept to control free riding. A simple utility function is described to illustrate the scheme. We design and develop a simulation model to study various patterns of sharing behaviors among the peers in a file sharing community and their impact on the system. A set of experimental results is reported. The experiments indicate that the utility based free riding control can increase the lifetime of the sy...