Much work has been done to exploit the effectiveness and efficiency of job scheduling upon distributed computational resources. With regard to existing resource topology and administrative constraints, scheduling approaches are designed for different hierarchic layers, for example, scheduling for job queues of local resource management systems (local scheduling), and scheduling for job queues of high level schedulers (also known as meta-schedulers or grid schedulers). Such scheduling approaches mainly focus on optimizing job queues of the hosting nodes, which are interconnected with computational resources directly or indirectly. In the real world (or in a community-based grid), a grid is comprised of nodes with different computing power and scheduling preferences, which in turn, raise a notable opportunity that is to exploit and optimize the process of job sharing between reachable grid nodes via improving the job allocation and efficiency ratio. In our work, we introduce a novel scheduling protocol which dedicates to disseminate scheduling events happened on each involving node to as many candidate nodes as possible. By means of the proposed protocol, scheduling process of each received job consists of several phases with awareness of grid volatility, and dynamic scheduling and rescheduling is allowed as long as the job execution has not started yet. To this end, a set of concerning algorithms and processing steps are described. A prototype of our scheduling approach is being implemented within the SmartGRID project.