Vehicular Cloud (VC) is a new concept which enables vehicles to offer and rent out their advanced on-board resources to other vehicles. So, individual vehicles can be both service providers and cloud users. Vehicles users need to discover vehicles' services and request targeted services from them. To achieve this, a cloud directory must be used in which provider vehicles register their services and from which vehicle users discover offered services in order to consume them. In a previous work , we have designed a new protocol in VC, named Discovering and Consuming Cloud Services in Vehicular Cloud (DCCS-VC). Due to their predictability of time and space in urban scenarios, DCCS-VC was based on public buses as a cloud directory in order to form a dynamic index of provider vehicles. However, DCCS-VC provides a low efficiency of both registration and discovering operations, given the introduced high waiting time of vehicles to perform these operations. In this paper, we extend our previous protocol to minimize the provider and user vehicles' waiting time. To do so, we allow vehicles to exploit the providing real time bus information in order to discover existing public buses in the vicinity. In addition, we introduce an optimization technique which enables provider vehicles to select the most adequate public bus as a service registration node. We illustrate the superiority of this enhancement throughout the results obtained from simulation experiments, using an urban mobility model.