This talk will address the problem of developing a distributed scheme for allocating bandwidth to optimize the total system utility for users having non-convex (sigmoidal) utility functions. Such non-convex functions are natural in the context of many applications but most of the work in literature only deals with the simple convex case. The non-convexity results in the insufficiency of the Karush-Kuhn-Tucker conditions to identify optimality conditions as well as non-differentiability of the dual. We show that a pricing based mechanism in the dual formulation can be developed based on the theory of sub-differentials with the properties that the prices "self-regulate" the users to access the resource or not based on the net utility. We discuss the convergence issues and show that such an algorithm can be efficient in the sense of achieving the social optimal when there are many users.