Skip to main content

A Cloud-Based Time-Dependent Routing Service

  • Conference paper
  • First Online:
Algorithmic Aspects of Cloud Computing (ALGOCLOUD 2016)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10230))

Included in the following conference series:

Abstract

We present a cloud-based time-dependent routing service, which is a core component in providing efficient personalized renewable mobility services in smart cities. We describe the architecture of the time-dependent routing engine, consisting of a core routing module along with the so-called urban-traffic knowledge base, which creates, maintains and stores historic traffic data, as well as live traffic updates such as road blockages or unforeseen congestion. We also provide the crucial algorithmic details for providing the sought efficient time-dependent routing service. Our cloud-based time-dependent routing service exhibits an excellent practical behavior on a diversity (w.r.t. to scale and type) of real-world road networks.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The Dijkstra-rank of a vertex v is the number of settled vertices by (plain or TD) Dijkstra’s algorithm until v is settled.

References

  1. Agarwal, R., Godfrey, P.: Distance oracles for stretch less than 2. In: 24th Symposium on Discrete Algorithms (SODA 2013), pp. 526–538. ACM-SIAM (2013)

    Google Scholar 

  2. Bast, H., Delling, D., Goldberg, A., Müller-Hannemann, M., Pajor, T., Sanders, P., Wagner, D., Werneck, R.: Route planning in transportation networks. CoRR, abs/1504.05140 (2015)

    Google Scholar 

  3. Foschini, L., Hershberger, J., Suri, S.: On the complexity of time-dependent shortest paths. Algorithmica 68(4), 1075–1097 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  4. KaHIP - Karlsruhe High Quality Partitioning, May 2014

    Google Scholar 

  5. Kontogiannis, S., Michalopoulos, G., Papastavrou, G., Paraskevopoulos, A., Wagner, D., Zaroliagis, C.: Engineering oracles for time-dependent road networks. In: Algorithm Engineering and Experiments - ALENEX 2016 (SIAM 2016), pp. 1–14 (2016)

    Google Scholar 

  6. Kontogiannis, S., Wagner, D., Zaroliagis, C.: Hierarchical time-dependent oracles. In: Algorithms and Computation - ISAAC 2016. LIPICs, vol. 64, p. 47:1–47:13 (2015). http://arxiv.org/abs/1502.05222

  7. Kontogiannis, S., Zaroliagis, C.: Distance oracles for time-dependent networks. Algorithmica 74(4), 1404–1434 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  8. MOVESMART project. http://www.movesmartfp7.eu/

  9. Patrascu, M., Roditty, L.: Distance oracles beyond the Thorup-Zwick bound. SIAM J. Comput. 43(1), 300–311 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  10. Porat, E., Roditty, L.: Preprocess, set, query!. Algorithmica 67(4), 516–528 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  11. Sommer, C.: Shortest-path queries in static networks. ACM Comput. Surv. 46, 1–31 (2014)

    Article  MATH  Google Scholar 

  12. Sommer, C., Verbin, E., Yu, W.: Distance oracles for sparse graphs. In: 50th Symposium on Foundations of Computer Science (FOCS 2009), pp. 703–712. IEEE (2009)

    Google Scholar 

  13. Thorup, M., Zwick, U.: Approximate distance oracles. J. ACM 52(1), 1–24 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  14. Wulff-Nilsen, C.: Approximate distance oracles with improved preprocessing time. In: 23rd Symposium on Discrete Algorithms (SODA 2012), pp. 202–208. ACM-SIAM (2012)

    Google Scholar 

  15. Wulff-Nilsen, C.: Approximate distance oracles with improved query time. In: 24th Symposium on Discrete Algorithms (SODA 2013), pp. 539–549. ACM-SIAM (2013)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Christos Zaroliagis .

Editor information

Editors and Affiliations

A Hueristics for Improving Performance

A Hueristics for Improving Performance

We describe some heuristic algorithmic improvements, as well as some implementation details that we apply during the creation and maintenance of traffic metadata in the UTKB, in order to obtain even better performance, both wrt the required preprocessing space and wrt the efficiency of the query phase.

Approximately constant functions. The TRAP approximation method introduces one intermediate breakpoint per interval that satisfies the required approximation guarantee. To keep our algorithm space-efficient, the first thing that we do, when dealing with every subinterval of the time period, is that we check for approximately constant functions. More precisely, we perform an additional sampling at the middle point \(t_m\) of each \([t_s, t_f)\) and we consider the upper-approximation \(\overline{\varDelta }[\ell ,v][t_s, t_f)\) to be “almost constant”, if the following condition holds: \(D[\ell ,v](t_s) = D[\ell ,v](t_f) = D[\ell ,v](t_m)\). For those approximately constant functions, the insertion of the additional breakpoint at \(t_m\) is unnecessary.

Piecewise composition. Many shortest paths are likely to contain at least one arc with piecewise travel time, making the shortest-path function also piecewise. In our case, keeping the predecessor vertex of v in every sample of \(\overline{\varDelta }[\ell ,v](t)\), allows us to analyze any \(\ell \)-v approximate shortest path into two sub-paths \(\ell \)-p-v. Starting from the destination v, we travel back to a predecessor p, as long as all vertices u up to p have constantly the same predecessor kept in the corresponding samples of \(\overline{\varDelta }[\ell ,u](t)\), and all arcs involved in the p-v subpath have a constant travel-time function. Therefore, there is no need to keep any samples for the approximate function \(\overline{\varDelta }[\ell ,v](t)\); instead, we store the necessary information in the form: (constant-travel-time, predecessor-p, approximate-path-predecessor). In this way, the approximate travel-time function \(\overline{\varDelta }[\ell ,v](t)\) is given by taking into account \(\overline{\varDelta }[p,v](t)\) and the (approximately) constant travel-time from v to p, i.e., \(\overline{\varDelta }[\ell ,v](t) = \overline{\varDelta }[\ell ,p](t) + \overline{\varDelta }[p,v](t)\). In our experiments, this method leads to around 40–50% reduction of the space requirements.

Delay shifts. In cases that such a predecessor p does not exist, we have to store the approximate travel-time function as a sequence of breakpoints. However, the samples collected for \(\overline{\varDelta }[\ell ,v](t)\) may have small delay variation. Based on this fact, the required space can be further reduced. We store the minimum travel-time value and for each leg we only need to store the small shift from this value. This conversion leads to around 5–10% reduction of the required preprocessing space.

Fixed range. For a one-day time period, departure-times have a bounded value range. The same holds for travel-times which are at most one-day for any query within a country or city area. When the considered precision of the traffic data is within seconds, we handle time-values as integers in the range [0, 86399], rather than real values, sacrificing precision for space reduction. In particular, we convert all floating-point time-values \(t_f\) to integers \(t_i\) with fewer bytes and a given unit of measure. For a unit of measure s, the resulting integer is \(t_i = \lceil t_f/s \rceil \) and needs size \(\lceil \log _2 (t_f/s)/8\rceil \) bytes. Converting \(t_f\) to \(t_i\) results to an absolute error of at most 2 s. Therefore, for storing the time-values of approximate travel-time summaries, we can consider different resolutions, depending on the scale factor s, to achieve further reduction of the preprocessing space.

Compression. Since there is no need for all landmarks to be concurrently active, we can compress their data blocks. This method leads to significant reduction of the space requirements, especially for large-scale networks.

Contraction. The space of the preprocessed travel-time summaries can be further reduced if we consider a subset of vertices in the network as inactive. More precisely, we can conduct a preprocessing of the instance that contracts all vertices which are not junctions, i.e., they form paths with no intersections. Each such path can be represented by a single shortcut arc, which is added at the endpoints of the chain and equipped with an arc-traversal time function equal to the corresponding (exact) path-travel-time function. The arcs involved in the contracted paths are also considered as inactive. All contracted nodes are ignored and therefore the number of possible destinations from a landmark is smaller. At the query phase, these paths can be easily retrieved, by exploiting the appropriate information kept on all inserted shortcuts and all contracted nodes for this purpose.

Parallelism. We can speed up the preprocessing time for computing the one-to-all approximate travel-time functions, from properly selected landmarks towards all reachable destinations, as well as the real-time responsiveness to live-traffic reports, i.e., the re-computation of the travel-time summaries for the subset of affected landmarks, by exploiting the inherent parallelism of the entire process.

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Giannakopoulou, K., Kontogiannis, S., Papastavrou, G., Zaroliagis, C. (2017). A Cloud-Based Time-Dependent Routing Service. In: Sellis, T., Oikonomou, K. (eds) Algorithmic Aspects of Cloud Computing. ALGOCLOUD 2016. Lecture Notes in Computer Science(), vol 10230. Springer, Cham. https://doi.org/10.1007/978-3-319-57045-7_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-57045-7_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-57044-0

  • Online ISBN: 978-3-319-57045-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics