You can design your own batch job by extending the RunBaseBatch class. You can also write code to schedule the batch to run.
By default, after a batch is scheduled, the batch is no longer associated with the client. The batch runs on the Application Object Server (AOS). However, you have the option to make a batch run on a client.
This walkthrough illustrates the following tasks:
Configuring your AOS batch server
Extending the RunBaseBatch class
Scheduling your batch
Viewing your scheduled batch
Making your batch dependent on a client session
Running your batch on the client
refer this for more details