In security, the means to impose penalties for violation of commitments. This requires a combination of technological mechanisms (such as the digital signature) to provide evidence of commitment and the legal means to enforce them. A digital signature attached to a piece of information, based on that information plus a secret, establishes that the signing entity possessed both the information and the secret, and that neither the information nor the signature was subsequently modified. An entity having created a digital signature is said to have signed that information.
See statistical multiplexing.
A finite sequence of steps that accomplishes some prescribed result or task. Software programs implement an algorithm.
A set of activities in which the basic capabilities, functionality, and features and means of interaction between a software system and its users and other software systems are defined and refined based on user input, feedback, and experimentation. The outcome is a set of requirements (functional and performance) that are the starting point for development.
See rights management.
A policy, regulations, and legal apparatus intended to ensure vigorous competition in an industry in the interest of consumers.
An interface that is well documented and supports a broad class of module extensions. Despite its name, it does not apply exclusively to applications. An API (or other interface) is open when it is available for use without intellectual property restrictions or prior business arrangement.
Infrastructure software to host components that implement the application logic part of distributed applications such as enterprise or e-commerce applications. Other partitions of an application include the presentation logic hosted on a Web server, and the storage logic and actual data hosted on a database server (or database management system).
An overall plan, as the first stage of implementation, for a software system. It includes a plan for decomposition (splitting up) into modules, a plan for the functionality of each module, and a plan for how those modules interact. The decomposition is often hierarchical, meaning modules are themselves decomposed. Notable examples include client-server computing and layering.
Cannot be subdivided; must be taken as a whole or not at all.
Establishing and verifying the identity of some entity (e.g., user or host), especially over a network. Commonly based on knowledge of a secret (e.g., password, which is a secret created by the user), possession of a unique artifact (e.g., smartcard, a card containing a microprocessor and storage and, for this purpose, including an encapsulated secret), or physical characteristic like a fingerprint (biometric authentication). Authentication by secret can be accomplished without revealing the secret by challenging the entity to perform some task requiring knowledge of the secret (called a challenge-response protocol).