Improving the experience of using the public transportation system can be done by estimating the arrival time of the bus and notifying the passengers. Consequently, the accuracy of the estimation affects this experience. As the number of buses, stations, and service areas increases, so does the data collected in the cloud, making travel time estimation-related data processing more challenging. Despite this challenge, a distributed method for estimating the arrival time of the bus is considered in this paper. Also, we present a way to decentralize data processing and distribute it on each bus. Besides, using the Kalman filter and updating the estimated values at short intervals improves the estimation error. Examination of the degree of complexity shows that the proposed method has significantly reduced the complexity in the cloud, which makes the proposed method can be implemented in metropolitan areas. The results of implementation on a dataset, show that the proposed method has a good performance in terms of mean square error and root mean square.