In grid environment where resources are generally owned by different people, communities or organizations with varied administration policies and capabilities, managing the grid resources is not a simple task. Resource brokers simplify this process by providing an abstraction layer for users to access heterogeneous resources transparently. However, discovery of grid resources that suits to the user's job requirements is always a difficult job as the probability of grid resources satisfying the user's requirements is very less. Conventionally, in order to run a job on the grid a user has to identify a set of platforms capable of running that job by the virtue of having the required installation of operating system, libraries, tools, and the configuration of environment variables, etc. In practice, the availability of such software environments will either be limited to a very narrow set, or the job has to be made compatible with an environment supported by a large resource provider, such as TeraGrid. Further, if we could identify such an environment, it is hard to guarantee that the resource will be available when needed, for as long as needed, and that user will get his or her fair share of that resource. This difficulty can be overcome by incorporating the concept of virtualization in grid environment that enables the creation of dynamic user defined execution environment in a grid resource. Virtualization is a methodology of dividing the resources of a computer into multiple execution environments, by applying one or more concepts or technologies such as hardware and software partitioning, time-sharing, partial or complete machine simulation, emulation, quality of service, and many others. Recognizing the importance of virtualization in grid environment, our Centre for Advanced Computing Research and Education (CARE) attempts to develop a virtualization framework that facilitates job submission to the virtualized infrastructure by creating and managing virtual workspaces, and also it monitors the job execution on to the workspaces. This tutorial presents the proposed CRB (CARE resource broker) capable of supporting virtualization of resources, co-allocation and trust based resources for job execution in the grid environment. CRB supports on-demand job scheduling and SLA-based resource allocation.