Skip to main content

A Concurrent Tuple Set Architecture for Call Level Interfaces

  • Conference paper
Computer and Information Science

Abstract

Call Level Interfaces (CLI) are low level API aimed at providing services to connect two main components in database applications: client applications and relational databases. Among their functionalities, the ability to manage data retrieved from databases is emphasized. The retrieved data is kept in local memory structures that may be permanently connected to the host database. Client applications, beyond the ability to read their contents, may also execute Insert, Update and Delete actions over the local memory structures, following specific protocols. These protocols are row (tuple) oriented and, while being executed, cannot be preempted to start another protocol. This restriction leads to several difficulties when applications need to deal with several tuples at a time. The most paradigmatic case is the impossibility to cope with concurrent environments where several threads need to access to the same local memory structure instance, each one pointing to a different tuple and executing its particular protocol. To overcome the aforementioned fragility, a Concurrent Tuple Set Architecture (CTSA) is proposed to manage local memory structures. A performance assessment of a Java component based on JDBC (CLI) is also carried out and compared with a common concurrent approach. The main outcome of this research is the evidence that in concurrent environments, components relying on the CTSA may significantly improve the overall performance when compared with solutions based on standard JDBC API.

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 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. David, M.: Representing database programs as objects. In: Bancilhon, F., Buneman, P. (eds.) Advances in Database Programming Languages, pp. 377–386. ACM, N.Y (1990)

    Google Scholar 

  2. Cook, W., Ibrahim, A.: Integrating programming languages and databases: what is the problem? ODBMS.ORG, Expert Article (2005)

    Google Scholar 

  3. Eisenberg, A., Melton, J.: Part 1: SQL Routines using the Java (TM) Programming Language. In: American National Standard for Information for Technology Database Languages - SQLJ, International Committee for Information Technolgy (1999)

    Google Scholar 

  4. Kulkarni, D., et al.: LINQ to SQL: .NET Language-Integrated Query for Relational Data. Microsoft

    Google Scholar 

  5. ISO. ISO/IEC 9075-3:2003 (2003), http://www.iso.org/iso/catalogue_detail.htm?csnumber=34134 (May 2011)

  6. Parsian, M.: JDBC Recipes: A Problem-Solution Approach. Apress, NY (2005)

    Google Scholar 

  7. Microsoft. Microsoft Open Database Connectivity (1992), http://msdn.microsoft.com/en-us/library/ms710252(VS.85).aspx (July 2012)

    Google Scholar 

  8. Christian, B., Gavin, K.: Hibernate in Action. Manning Publications Co. (2004)

    Google Scholar 

  9. Oracle. Oracle TopLink (October 2011), http://www.oracle.com/technetwork/middleware/toplink/overview/index.html

  10. Oracle. Java Data Objects (JDO) (November 2011), http://www.oracle.com/technetwork/java/index-jsp-135919.html

  11. Yang, D.: Java Persistence with JPA. Outskirts Press (2010)

    Google Scholar 

  12. IBM. Introduction to Service Data Objects (November 2011), http://www.ibm.com/developerworks/java/library/j-sdo/

  13. Mead, G., Boehm, A.: ADO.NET 4 Database Programming with C# 2010. Mike Murach & Associates, Inc., USA (2011)

    Google Scholar 

  14. Oracle. ResultSet (July 2012), http://docs.oracle.com/javase/6/docs/api/java/sql/ResultSet.html

  15. Microsoft. RecordSet (ODBC) (June 2012), http://msdn.microsoft.com/en-us/library/5sbfs6f1.aspx

  16. Spring. Spring (November 2011), http://www.springsource.org/

  17. Oracle Database (May 2010), http://www.oracle.com/us/products/database/index.html

  18. Erik, M., Brian, B., Gavin, B.: LINQ: Reconciling Object, Relations and XML in the .NET framework. In: ACM SIGMOD Intl. Conf. on Management of Data. ACM, Chicago (2006)

    Google Scholar 

  19. Gomes, D., Pereira, Ó.M., Santos, W.: JDBC (Java DB connectivity) concorrente. In: DETI, p. 115. University of Aveiro: ria - institutional repository (2011), http://hdl.handle.net/10773/7359

  20. Microsoft. [MS-TDS]: Tabular Data Stream Protocol Specification (July 2012), http://msdn.microsoft.com/en-us/library/dd304523(v=prot.13).aspx

    Google Scholar 

  21. Akşit, M., Tekinerdoğan, B.: Aspect-Oriented Programming Using Composition-Filters. In: Demeyer, S., Dannenberg, R.B. (eds.) ECOOP 1998 Workshops. LNCS, vol. 1543, pp. 435–435. Springer, Heidelberg (1998)

    Google Scholar 

  22. Laddad, R.: AspectJ in Action: Practical Aspect-Oriented Programming. Manning Publications, Greenwich (2003)

    Google Scholar 

  23. Fabry, J., D’Hondt, T.: KALA: Kernel Aspect Language for Advanced Transactions. In: Proceedings of the 2006 ACM Symposium on Applied Computing. ACM, Dijon (2006)

    Google Scholar 

  24. Dinkelaker, T.: AO4SQL: Towards an Aspect-Oriented Extension for SQL. In: 8th Workshop on Reflection, AOP and Meta-Data for Software Evolution (RAM-SE 2011), Zurich, Switzerland (2011)

    Google Scholar 

  25. Pereira, O.M., Aguiar, R.L., Santos, M.Y.: Assessment of a Enhanced ResultSet Component for Accessing Relational Databases. In: ICSTE-Int. Conf. on Software Technology and Engineering, Puerto Rico (2010)

    Google Scholar 

  26. Orcale. Call ReentrantLock (November 2012), http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/locks/ReentrantLock.html

  27. Oracle. Synchronized Methods (November 2012), http://docs.oracle.com/javase/tutorial/essential/concurrency/syncmeth.html

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Óscar Mortágua Pereira .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer International Publishing Switzerland

About this paper

Cite this paper

Pereira, Ó.M., Aguiar, R.L., Santos, M.Y. (2013). A Concurrent Tuple Set Architecture for Call Level Interfaces. In: Lee, R. (eds) Computer and Information Science. Studies in Computational Intelligence, vol 493. Springer, Heidelberg. https://doi.org/10.1007/978-3-319-00804-2_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-00804-2_11

  • Publisher Name: Springer, Heidelberg

  • Print ISBN: 978-3-319-00803-5

  • Online ISBN: 978-3-319-00804-2

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics