shortest time based on traffic congestion data I want to develop one algorithm which can predict shortest time to be taken to go to a destination from a source in a road network based on traffic congestion data. 
Consider that I have a server which gives me real time traffic congestion data for all the path segments in a road network. Now I want to develop such an algorithm which can predict time to be taken based on these data. So in short: 

time_to_be_taken_from_source_to_destination = function ( traffic_congestion_data ). And 'time_to_be_taken_from_source_to_destination' is proportional to 'traffic_congestion_data' as time increases when traffic_congestion increases.

Are there any such algorithm alraedy developed? Any idea? reference to any algorithm or theory will be appreciated.
There is no special "algorithm theory" behind this. 

You decomposed this data into a graph, right? You have intersection nodes, and you have edges with path difficulty (distance/average speed), yes? The congestion data simply modifies the average speed of the edge, so it's just A* business as usual. Regular shortest path heuristics will probably still be relevant for conservation purposes if you're lazy. 

Obviously a prominent example of an implementation of this would be https://maps.google.com/.