Asyncronous locking

How can I lock a vertex buffer object to fill it with new data without blocking till the GPU finish using the buffer? Like what we have in D3D as D3DLOCK_NOOVERWRITE to append data and modify a dynamically created buffer.

Thanx.

first call glBufferDataARB() with a NULL-pointer (and a proper size), then lock the VBO.