22 March 2010

DISTRIBUTED DATABASE SYSTEM

What is DDMS
http://en.wikipedia.org/wiki/Distributed_database
A distributed database is a database that is under the control of a central database management system (DBMS) in which storage devices are not all attached to a common CPU. It may be stored in multiple computers located in the same physical location, or may be dispersed over a network of interconnected computers.

Collections of data (eg. in a database) can be distributed across multiple physical locations. A distributed database can reside on network servers on the Internet, on corporate intranets or extranets, or on other company networks. Replication and distribution of databases improve database performance at end-user worksites.

In short a distributed database is a collection of databases that can be stored at different computer network sites. Each database may involve different database management systems and different architectures that distribute the execution of transactions . The objective of a distributed database management system (DDBMS) is to control the management of a distributed database (DDB) in such a way that it appears to the user as a centralized database.

Providing the appearance of a centralized database system is one of the many objectives of a distributed database system. Such an image is accomplished by using the following transparencies: Location Transparency, Performance Transparency, Copy Transparency, Transaction Transparency, Transaction Transparency, Fragment Transparency, Schema Change Transparency, and Local DBMS Transparency. These eight transparencies are believed to incorporate the desired functions of a distributed database system.

Limitations
Lack of DDBMS Standards
Of C.J. Date's twelve commandments for a distributed database, four refer to open standards issues required for DDBMSs to reach their full potential. These are hardware independence, operating system independence, network independence, and database independence. Today's DDBMS products are still do not meet these four standards. Burleson described the causes of lack of open standards in the DDBMS market and the impact this has had on DDBMS growth (Burleson, 1994, pp. 72-73). Five years later, this is still a fact. DDBMS technology is relatively new, and is still suffering from vendors fighting to develop and hold on to proprietary features. Today the situation is improving, but cross-vendor connectivity is sometimes limited, especially for legacy systems that do not implement newer standards.

How to achieve vendor independence
Ref: FUTURE TRENDS IN DATA BASE SYSTEMS (paper)


Research Issues in Distributed DBMSs:
There has been a mountain of research on algorithms to support distributed data bases in the areas of query processing [SELI80], concurrency control [BERN81], crash recovery [SKEE82] and update of multiple copies [DAVI85]. In this section, I indicate two important problems which require further investigation. First, users are contemplating very large distributed data base systems consisting of hundreds or even thousands of nodes. In a large network, it becomes unreasonable to assume that each relation has a unique name. Moreover, having the query optimizer inspect all possible processing sites as candidate locations to perform a distributed join will result in unreasonably long optimizer running times. In short, the problems of ‘‘scale’’ in distributed data bases merit investigation by the research community.

Second, current techniques for updating multiple copies of objects require additional investigation. Consider the simple case of a second copy of a person’s checking account at a remote location. When that person cashes a check, both copies must be updated to ensure consistency in case of failure. Hence, at least two round trip messages must be paid to the remote location to perform this reliably. If the remote account is in Hong Kong, one can expect to wait an unreasonable amount of time for this message traffic to occur. Hence, there will be no sub-second response times to updates of a replicated object. To a user of DBMS services, this delay is unreasonable, and algorithms that address this issue efficiently must be developed. Either a lesser guarantee than consistency must be considered, or alternatively algorithms that work only on special case updates (e.g, ones guaranteed to be commutative) must be investigated. The work reported in [KUMA88] is a step in this direction.


An important aspect related to databases is integrity. Preserving the data integrity is a much more complicated issue in the heterogeneous distributed databases than in homogeneous databases. If the nodes in the distributed database are heterogeneous, there may come up troubles that could threaten the integrity of the distributed data, among which we can mention:
• inconsistencies among local integrity integration constraints.
• difficulties in specifying global integrity constraints.
• inconsistencies among local and global integrity constraints.
If the control coming from the center is powerful, priority is given to global integrity constraints. In case of a poorer central control, local integrity constraints are given priority.


To date, little work has been reported on security for data warehouses as well as the inference problem for the warehouse. This is an area that needs much research.

My Plans

I plan to examine more security issues, concurrent transaction and update-anywhere asynchronous and synchronous system for distributed databases.

It may be good to separate development environment from execution environment of a distributed heterogeneous database system considering integrity constraints. A query is verified in development environment for integrity constraints then executed in execution environment.

Conclusion:
Distributed database systems are a reality. Many organizations are now deploying distributed database systems. Therefore, We have no choice but to ensure that these systems operate in a secure environment. We believe that as more and more technologies emerge, the impact of secure distributed database systems on these technologies will be significant.

16 March 2010

Performance Engineering of Software System

Software Performance Engineering (SPE) is a systematic, quantitative approach to the cost-effective development of software systems to meet performance requirements. SPE, a software-oriented approach, focuses on architecture, design, and implementation choices.
SPE gives you the information you need to build software that meets performance requirements on time and within budget.
Performance Engineering of Software System
http://new.cmg.org/proceedings/1989/89INT152.pdf

Performance engineering
http://en.wikipedia.org/wiki/Performance_engineering

27 May 2009

Algorithm

ALGORITHM VIDEO TUTORIAL:http://www.youtube.com/watch?v=JPyuH4qXLZ0
http://www.youtube.com/watch?v=QMV45tHCYNI


ALGORITHMS
http://docs.linux.cz/programming/algorithms/Algorithms-Morris/ds_ToC.html
http://www.ansatt.hig.no/frodeh/algmet/animate.html

Bellman-Ford Algorithm

http://www.ibiblio.org/links/devmodules/graph_networking/compat/page17.html
http://compprog.wordpress.com/2007/11/29/one-source-shortest-path-the-bellman-ford-algorithm/
http://en.wikipedia.org/wiki/Bellman-Ford_algorithm

Dijkstra's Algorithm
http://www.ibiblio.org/links/devmodules/graph_networking/compat/page14.html
http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm

Matrix Chain Multiplication
http://docs.linux.cz/programming/algorithms/Algorithms-Morris/mat_chain.html
http://en.wikipedia.org/wiki/Chain_matrix_multiplication

Ford-Fulkerson Algorithm
http://en.wikipedia.org/wiki/Ford-Fulkerson_algorithm
http://www-b2.is.tokushima-u.ac.jp/~ikeda/suuri/maxflow/MaxflowApp.shtml?demo5
http://www.cs.princeton.edu/~wayne/kleinberg-tardos/07demo-maxflow.ppt

Activity Selection (Scheduling) Problem (Algorithm)
http://www.eecs.wsu.edu/~cook/aa/lectures/l9/node8.html

15 Puzzle Problem (Algorithm)
http://en.wikipedia.org/wiki/Fifteen_puzzle

Floyd-Warshall Algorithm
Stated simply, the Shortest of all paths in a graph running through all vertices from vertex 1 to K is the shortest of all paths from 1 to K-1, plus the shortest path from K-1 to K. As a result of that insight, you can see that we can approach the task of calculating the shortest path from 1 to K by calculating all paths from 1 to 2, then 2 to 3 (so we now have all paths from 1 to 3), then 3 to 4 (and we have all paths from 1 to 4), all the way up to 1 to K. We can approach this in a "dynamic" way. This dynamic approach generates a series of 2-dimensional matrices of distances of shortest paths as we learn from the calculation of moving through the graph.

http://students.ceid.upatras.gr/~papagel/project/kef5_7_2.htm
http://www.cs.man.ac.uk/~graham/cs2022/dynamic/floydwarshall/
http://en.wikipedia.org/wiki/Floyd_Warshall
http://cs.anu.edu.au/~Alistair.Rendell/Teaching/apac_comp3600/module4/all_pairs_shortest_paths.xhtml

26 May 2009

Scholarship Information

Robotics

Robotics: is the science and technology of robots, and their design, manufacture, and application. Robotics is related to electronics, mechanics, and software.
Link: http://en.wikipedia.org/wiki/Robotics

Robot: is a virtual or mechanical artificial agent. In practice, it is usually an electro-mechanical system which, by its appearance or movements, conveys a sense that it has intent or agency of its own. The word robot can refer to both physical robots and virtual software agents, but the latter are usually referred to as bots.[1] There is no consensus on which machines qualify as robots, but there is general agreement among experts and the public that robots tend to do some or all of the following: move around, operate a mechanical limb, sense and manipulate their environment, and exhibit intelligent behavior, especially behavior which mimics humans or other animals.
Link: http://en.wikipedia.org/wiki/Robot

Components of Robots: http://en.wikipedia.org/wiki/Robotics

  1. Structure
  2. Power Source
  3. Actuation
  4. Sensing
  5. Manipulation
  6. Locomotion
  7. Environmental Interaction and Navigation
  8. Human Interaction
  9. Control
  10. Dynamics and Kinematics

25 May 2009

Terms: Quantum Computation

Newtonian Mechanics:
Link: http://en.wikipedia.org/wiki/Newtonian_mechanics

Lagrangian Mechanics:
Link: http://en.wikipedia.org/wiki/Lagrangian_mechanics

Hamiltonian Mechanics:
Link: http://en.wikipedia.org/wiki/Hamiltonian_mechanics

Quantum Mechanics:
Link: http://en.wikipedia.org/wiki/Quantum_mechanics


Demension
Link: http://en.wikipedia.org/wiki/Dimension
Description:
In physics and mathematics, the dimension of a space is roughly defined as the minimum number of coordinates needed to specify every point within it[1][2]. For example: a point on the unit circle in the plane can be specified by two Cartesian coordinates but one can make do with a single coordinate (the polar coordinate angle), so the circle is 1-dimensional even though it exists in the 2-dimensional plane. This intrinsic notion of dimension is one of the chief ways in which the mathematical notion of dimension differs from its common usages.


Space:
Link: http://en.wikipedia.org/wiki/Space
Description:
Space is the boundless, three-dimensional extent in which objects and events occur and have relative position and direction.[1] Physical space is often conceived in three linear dimensions, although modern physicists usually consider it, with time, to be part of the boundless four-dimensional continuum known as spacetime. In mathematics spaces with different numbers of dimensions and with different underlying structures can be examined. The concept of space is considered to be of fundamental importance to an understanding of the universe although disagreement continues between philosophers over whether it is itself an entity, a relationship between entities, or part of a conceptual framework.

Many of the philosophical questions arose in the 17th century, during the early development of classical mechanics. In Isaac Newton's view, space was absolute - in the sense that it existed permanently and independently of whether there were any matter in the space.[2] Other natural philosophers, notably Gottfried Leibniz, thought instead that space was a collection of relations between objects, given by their distance and direction from one another. In the 18th century, Immanuel Kant described space and time as elements of a systematic framework which humans use to structure their experience.

In the 19th and 20th centuries mathematicians began to examine non-Euclidean geometries, in which space can be said to be curved, rather than flat. According to Albert Einstein's theory of general relativity, space around gravitational fields deviates from Euclidean space.[3] Experimental tests of general relativity have confirmed that non-Euclidean space provides a better model for explaining the existing laws of mechanics and optics.


Hilbert spaces:
Link: http://en.wikipedia.org/wiki/Hilbert_space
Description:
The mathematical concept of a Hilbert space, named after David Hilbert, generalizes the notion of Euclidean space. It extends the methods of vector algebra from the two-dimensional plane and three-dimensional space to infinite-dimensional spaces. In more formal terms, a Hilbert space is an inner product space — an abstract vector space in which distances and angles can be measured — which is "complete", meaning that if a sequence of vectors is Cauchy, then it converges to some limit in the space.

Euclidean space:
Link: http://en.wikipedia.org/wiki/Euclidean_space
Description:Around 300 BC, the Greek mathematician Euclid undertook a study of relationships among distances and angles, first in a plane (an idealized flat surface) and then in space. An example of such a relationship is that the sum of the angles in a triangle is always 180 degrees. Today these relationships are known as two- and three-dimensional Euclidean geometry. In modern mathematical language, distance and angle can be generalized easily to 4-dimensional, 5-dimensional, and even higher-dimensional spaces. An n-dimensional space with notions of distance and angle that obey the Euclidean relationships is called an n-dimensional Euclidean space.

Eigenvalue, Eigenvector, Eigenspace:
Link: http://en.wikipedia.org/wiki/Eigenvalue
Description:
In mathematics, given a linear transformation, an eigenvector of that linear transformation is a nonzero vector which, when that transformation is applied to it, may change in length, but it remains along the same line [the direction will "flip" if the eigenvalue is negative].

For each eigenvector of a linear transformation, there is a corresponding scalar value called an eigenvalue for that vector, which determines the amount the eigenvector is scaled under the linear transformation. For example, an eigenvalue of +2 means that the eigenvector is doubled in length and points in the same direction. An eigenvalue of +1 means that the eigenvector is unchanged, while an eigenvalue of −1 means that the eigenvector is reversed in sense. An eigenspace of a given transformation for a particular eigenvalue is the set (linear span) of the eigenvectors associated to this eigenvalue, together with the zero vector (which has no direction).

Quantum Network

Paper: Classical Communication over Quantum Channels An Algebraic Analysis
Link: http://etd.caltech.edu/etd/available/etd-02172004-173217/unrestricted/thesis.pdf
Selected Topics:
II Introduction
III Quantum Channels
IV Classical Communication over Classical and Quantum Channels
IV.a Sending Classical Information over Quantum Channels
V Additivity of Quantum Channel Capacities
V.a Capacity Additivity and Parallel Quantum Channels
VI Optimal Signalling Ensembles
.
.
.

Paper: Towards a Quantum Network with Atomic Ensembles
Link: http://etd.caltech.edu/etd/available/etd-05252006-185918/unrestricted/thesis.pdf
Selected Topics:
1.1 Introduction to the quantum network
1.2 Overcoming the limit on the range of a quantum network
.
.
.



Paper: Analysis of quantum error-correcting codes: symplectic lattice codes and toric codes
Link: http://etd.caltech.edu/etd/available/etd-05122004-113132/unrestricted/jimh_thesis.pdf
1.2 Introduction to quantum error correction