Transparency (computing)

Transparency (computing)

Any change in a computing system, such as new feature or new component, is transparent if the system after change adheres to previous external interface as much as possible while changing its internal behaviour. The purpose is to shield from change all systems (or human users) on the other end of the interface. Confusingly, the term refers to overall "invisibility" of the component, it does not refer to "visibility of component's internals" (as in white box or open system). The term "transparent" is widely used in computing marketing in substitution of the term "invisible", since the term "invisible" has a bad connotation (usually seen as something that the user can't see and has no control over) while the term "transparent" has a good connotation (usually associated with not hiding anything). The vast majority of the times, the term "transparent" is used in a misleading way to refer to the actual invisibility of a computing process.

The term is used particularly often with regard to an abstraction layer that is invisible either from its upper or lower neighbouring layer.

Also temporarily used later around 1969 in IBM and Honeywell programming mannualsFact|date=July 2007 the term referred to a certain programming technique. An application code was transparent when it was clear of the low-level detail (such as device-specific management) and contained only the logic solving a main problem. It was achieved through encapsulation - putting the code into modules that hid internal details, making them invisible for the main application.

Examples

For example, the Network File System is transparent, because it introduces the access to files stored remotely on the network in a way uniform with previous local access to a file system, so user might even not notice it while using the folder hierarchy. Earlier File Transfer Protocol (FTP) is considerably less transparent, because it requires each user to learn how to access files through an "ftp" client.

Similarly, some file systems allow transparent compression and decompression of data, enabling users to store more files on a medium without any special knowledge; some file systems encrypt files transparently. This approach does not require running compression or encryption utility manually.

In software engineering, it is also considered good practice to develop or use abstraction layers for database access, so that the same application will work with different databases; here, the abstraction layer allows other parts of the program to access the database transparently.

In object-oriented programming, transparency is facilitated through the use of interfaces that hide actual implementations done with different underlying classes.

Types of transparency in distributed system

Transparency means that any form of distributed system should hide its distributed nature from its users, appearing and functioning as a normal centralized system.

There are many types of transparency:
* Access transparency - Regardless of how resource access and representation has to be performed on each individual computing entity, the users of a distributed system should always access resources in a single, uniform way.
* Location transparency - Users of a distributed system should not have to be aware of where a resource is physically located.
* Migration transparency - Users should not be aware of whether a resource or computing entity possesses the ability to move to a different physical or logical location.
* Relocation transparency - Should a resource move while in use, this should not be noticeable to the end user.
* Replication transparency - If a resource is replicated among several locations, it should appear to the user as a single resource.
* Concurrent transparency - While multiple users may compete for and share a single resource, this should not be apparent to any of them.
* Failure transparency - Always try to hide any failure and recovery of computing entities and resources.
* Persistence transparency - Whether a resource lies in volatile or permanent memory should make no difference to the user.
* Security transparency - Negotiation of cryptographically secure access of resources must require a minimum of user intervention, or users will circumvent the security in preference of productivity. [http://www.counterpane.com/sandl.html]

Formal definitions of most of these concepts can be found in RM-ODP, the Open Distributed Processing Reference Model (ISO 10746).

The degree to which these properties can or should be achieved may vary widely. Not every system can or should hide everything from its users. For instance, due to the existence of a fixed and finite speed of light there will always be more latency on accessing resources distant from the user. If one expects real-time interaction with the distributed system, this may be very noticeable.

References

* " [http://delivery.acm.org/10.1145/370000/363836/p203-gorn.pdf?key1=363836&key2=6763295811&coll=&dl=ACM&CFID=15151515&CFTOKEN=6184618 Transparent-Mode Control Procedures for Data Communication] " a paper from 1965; its abstract carries an early example of usage in IT field.


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Transparency — may refer to:*Transparency (optics), the physical property of allowing the transmission of light through a materialLiteral uses: *Electromagnetically induced transparency, an effect in which a medium that is normally opaque at a particular… …   Wikipedia

  • List of computing topics — Originally, the word computing was synonymous with counting and calculating, and the science and technology of mathematical calculations. Today, computing means using computers and other computing machines. It includes their operation and usage,… …   Wikipedia

  • Failure transparency — In a distributed system, failure transparency refers to the extent to which errors and subsequent recoveries of hosts and services within the system are invisible to users and applications.huh For example, if a server fails, but users are… …   Wikipedia

  • Location transparency — Articleissues rewrite=December 2007 disputed=December 2007 unreferenced=December 2007In computer networks location transparency describes names used to identify network resources independent of both the user s location and the resource location.A …   Wikipedia

  • Cloud Computing Manifesto — The Cloud Computing Manifesto is a manifesto containing a public declaration of principles and intentions for cloud computing providers and vendors[1], annotated as a call to action for the worldwide cloud community and dedicated belief that the… …   Wikipedia

  • Construction field computing — is the use of handheld devices that augment the construction superintendent s ability to manage the operations on a construction site. These information appliances (IA) must be portable devices which can be carried or worn by the user, and have… …   Wikipedia

  • Construction Field Computing — is the use of handheld devices that augment the construction superintendent s ability to manage the operations on a construction site. These information appliances (IA) must be portable devices which can be carried or worn by the user, and have… …   Wikipedia

  • Trustworthy Computing — The term Trustworthy Computing (TwC) has been applied to computing systems that are inherently secure, available and reliable. The Committee on Information Systems Trustworthiness’ publication, Trust in Cyberspace, defines such a system as one… …   Wikipedia

  • Sage (scientific computing software) — infobox software name = Sage caption = Sage animated .gif, y=x2 (red) vs. y=x3(blue) released = 24 February 2005 latest release version = 3.1.2 latest release date = 19 September 2008 programming language = Python, Cython operating system = Cross …   Wikipedia

  • Wikipedia:Reference desk/Computing — The Wikipedia Reference Desk covering the topic of computing. Computing #eee #f5f5f5 #eee #aaa #aaa #aaa #00f #36b #000 #00f computing Wikipedia:Reference de …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”