Subscribe by Email


Showing posts with label Entity. Show all posts
Showing posts with label Entity. Show all posts

Monday, August 19, 2013

What is meant by multi-destination routing?

- So many routing algorithms have been devised to aid in routing under different conditions.
- Effective routing algorithms have been developed that are capable of routing the messages from one source node to a number of receiving nodes i.e., the multiple destination nodes.
- These algorithms are termed as the multi – destination routing algorithms and the process is therefore called as the multi – destination routing.
- This type of routing has been developed for the minimization of the cost of the network i.e., NC (network cost).
- Network cost can be defined as the sum of all the links’ weights that consist of the routing path.
- There are many heuristic algorithms available for determining the NC min path.
- This problem falls under the category of the NP – complete problems.
- Heuristics are available for the traveling salesman problem and MST (minimum spanning tree) variations.
- Global information is used by both of them.
- Another set of such heuristics is available that uses only shortest paths for reaching the destinations.
- The best worst case performance is exhibited by the MST algorithm.
- However, one study revealed that effectiveness of the simpler heuristics is higher.
- The network cost (NC) is often compared with the destination cost (DC).
- Destination cost is the sum of the cost of all the shortest paths that lead to the destination.
- A scheme of algorithms has been developed for trading off between these two costs i.e., the NC and DC.  
- The sender of the transmitted data cannot be taken as a single node in a network where the cooperative communication is supported.
- This asks for the re-investigation of the traditional link concept.
- Any routing scheme thus depending up on this link concept needs to be reconsidered.
- Also, the potential performance gain resulting because of the cooperative communication needs to be exploited.

- Routing often gets complicated for some networks where the selection of the paths is no longer the job of a single entity.
- Rather, a number of entities are involved in the selection of the paths.
- Multiple entities can even select specific parts of a path.
- If these selected paths are chosen by the entities for their own objectives optimization then it can lead to inefficiency or serious complications in the network since they may or may not conflict with the other entities’ objectives.
- This would become clear from the following example, consider traffic moving in a system of roads.
- Now here each driver selects a path that would minimize only his/her traveling time.
- In this kind of routing, there are longer equilibrium routes (i.e., longer than the optimal.) for almost all other drivers.
- This is often termed as the Braess paradox.
- Another example is of the routing the AGVs (automated guided vehicles) by a model on some terminal.
- For prevention of the simultaneous usage of the infrastructure’s same part reservations are made. - This is called as the context – aware routing.
- The internet is divided in to a number of divisions which are nothing but Ass i.e., the autonomous system like ISPs.
- All these systems have control over the routes that lie in their own network at various different levels.

Following steps are involved in multi – destination routing:
1. The BGP protocol is used for selecting the AS – level paths.
2. A sequence of autonomous systems is produced by the BGP protocol via which the packet flow will take place.
3. The neighboring Ass offer multiple paths for each of the AS from which it can choose. Paths are selected based up on the relationships between the neighboring systems.
4. Each selected path refers to multiple corresponding router level paths.


Sunday, July 22, 2012

What is the difference between authentication and authorization?


In this article, we have taken two very important topics of the cyber world namely authentication and authorization. We shall also discuss the difference between the two terms which have a direct link to our security on the World Wide Web and other networks. 

Concept of Authentication


"Authentication involves the act of the confirmation of the truth regarding all the attributes of some entity or datum under the question". 

The authentication process is also linked up with the confirmation of the identity regarding the following aspects:
  1. Confirmation of a person’s or software system’s or program’s identity.
  2. Tracing of the origins of some artifacts.
  3. Ensuring that what the labelling and packaging claims to be is what is that is actually in the product. 
There are three types of authentication methods which we have discussed below:
  1. The first type: It involves accepting of identity proof given by some credible person who can provide evidence of the identity or the originator and the object under assessment in question.
  2. The second type: It involves a comparison between the attributes of the object itself and what is known about the objects of same origin. But authentication of this type is quite vulnerable to forgery and calls for expert knowledge
  3. The third type: It involves authentication on the basis of the external affirmations like documentation. 
Three factors need to be verified in authentication are:
  1. Owner ship factors
  2. Knowledge factors
  3. Inherence factors

Concept of Authorization

- The process of authorization involves the act of the specification of the access rights to the resources.
- These are the resources that are involved with the computer security or information security in general.
- In particular these resources are used to access control to the security system and other desired information.
- To say it simply, authorization is the process of providing a definition for the access policy. 
- While the system is in operation, it makes use of the access control rules for making decisions regarding the rejection or approval of the access requests from the authenticated users or consumers. 
- Resources can be anything like:
  1. Individual files
  2. Items data
  3. Computer devices
  4. Computer programs
  5. Functionality of the computer applications and so on.
- Consumers may be either computer users or computer programs or other devices on the system. 
- The access control process that is performed during the authorization involves two main phases as mentioned below:
  1. Phase 1: This phase is known as the policy definition phase and involves authorization of the access.
  2. Phase 2: This phase is known as the policy enforcement phase and involves acceptation or rejection of the access requests.

Differences between Authentication and Authorization

  1. Verification of your identity: It means verifying who you are is called authentication whereas the verification of what you are authorized to do is called authorization. This is the simplest difference between the two similar sounding processes. Both of these processes are carried whenever some connection attempt is made and whether the attempt has to be allowed or rejected is decided based up on these two factors only.
  2. The basic goal of the authentication process is to verify whether you are who you claim to be or not? On the other hand the goal of the authorization is to set the access scope of the user who has been authenticated in the previous process. 


Thursday, May 17, 2012

Explain nested loops in detail?



Why Loops are Important?


- Loops are an extremely important entity when it comes to the programming in languages like C and C++ i.e., to say the object orient languages. 
- Loops are used to handle many other program constructs and execute the same statement or a block of statement as many times as required by the program or as specified by the user.
- Loops are either manually included in to the source code of the program or are generated in to the code by the state machine code generators or by an optimizing compiler. 

There are various types of loops but this article is limited only to the discussion regarding the nested loops. Let us see what the nested loops in detail are.
What the phrase “to nest” means?  
It means to keep one object inside the other object.  This holds good when it comes to the context of the loops also. All the types of loops can be nested in to the similar types of loops irrespective of their type.

What are Nested Loops?


- Nested loops are the loops that have been declared inside another loop which may or may not be of the same type as that of the nested loop.
- The loop which is placed inside the another loop is called the nested loop and the loop which holds this nested loop is called the parent loop.
- It is not necessary that the nested loop and the parent loop should be of similar types.
- Nesting the loops falls under the context of combining the looping procedures.
- Whenever a loop is nested, its parent loop is said to take the control of it that is the parent loop decides how many times the inner loop is to be executed. 
- Although the nesting holds good for all the types of loop, it is the for loop that dominates the line. - Once the parent loop has been iterated once, the control is transferred to the inner loop.
- After this the parent loop iterates for a second time only when the execution and iteration of the inner loop is wholly complete. 
- To say it other way round, the inner or the nested loop is triggered by the first pass of the outer or parent loop which is then executed to completion. 
- Then, the inner loop is again triggered by the second pass of the parent loop which is then executed till its complete iteration.
- This process continues till the test condition for the outer parent loop is evaluated to a false value. - If a break statement has been incorporated inside the inner loop then it may come out of the loop before all the iterations of the outer loop are complete. 
- The continue and the break commands are the two commands affecting the behavior of the both nested loops and the outer parent loops. 

Basically the nested loops find their use in the problems that involve working with matrices. Let us illustrate the working of nested with the help of the code written below:

// this code has been written to accept elements in to a 3 x 3 matrix
For ( int r = 0; r < 3; r++)
{
For (int c = 0; c < 3; c++)
{
Scanf(“%d”, &A [r] [c]);
}
}
In the above written c code two loops have been used to accept the elements for a matrix among which one is nested in to the another. The variables r and c denote the rows and columns respectively. Nested loops can be thought of as a logical structures which consist of two repeating statements are placed in the nested that is one inside the other. 


Monday, September 12, 2011

How to define effective metrics? What is the use of quality metrics?

The goal of software engineering is to develop a product that is of high quality. Metrics that are derived from these measures indicates the effectiveness of individual. Metric is a standard for measurement. A metric is a measure that captures performance and allows comparisons and supports business strategy.

The use of quality metrics is to spot the performance trends, comparing alternatives and predicting the performance. However, the costs and benefits of a particular quality metric should be considered as collecting data will not necessarily result in higher performance levels.

Effective metrics should define performance in quantifiable entity and a capable system exists to measure the entity. Effective metrics allow for actionable responses if the performance is unacceptable.

Identifying effective metrics is a bit difficult. Ranges can be identified for an acceptable performance of a metric. It can be referred as breakpoints in case metrics are defined for services and targets, tolerances, or specifications for manufacturing.

Breakpoints are levels where there is a chance that the improved performance will change the behavior of the customer. A target is a desired value of a characteristic. A tolerance is an allowable deviation from target value.


Monday, July 18, 2011

What are the different data modeling concepts?

Data model is a conceptual representation of data structures. The data structures consist of data objects, relationship between data objects and rules that govern these operations. Often, analysis modeling begins with data modeling.
The inputs of data model comes from the planning and analysis stage. There are two outputs of the data model. First is an entity relationship diagram and second is a data document. The goal of the data model is to make sure that the all data objects required by the database are completely and accurately represented.

The different concepts of data modeling are:

- Data Objects are a representation of any composite information that is processed by software. A data object can be an external entity, thing, occurrence, event, role, an organizational unit, place or a structure. The description of the data object includes data object and its attributes. A data object contains only data.

- Data Attributes name a data object, describe its characteristics and sometimes make reference to another object. One or more attributes must be identified as a key which acts as an identifier.

- Relationships indicate the manner in which data objects are connected to one another.

- Cardinality of a relationship is the actual number of related occurences for each of the two entities. It defines the maximum number of objects participating in relationship. It does not indicate whether a data object should participate in relationship or not.

- Modality of a relationship can be 0 or 1. It is 1 if an occurrence of relationship is must. It is 0 if an occurrence of relationship is optional.


Thursday, March 31, 2011

What is a System? What are general principles of system?

System is an:
- integrated set of inter-operable elements;
- it consists of group of entities or components;
- interacting together to form specific inter-relationships;
- organized by means of structure;
- working together to achieve a common goal.

In defining the system boundaries,a software engineer discovers the following:
- entities or group of entities that are related and organized in some way within the system, either they provide input, do activities or receive output;
- activities or actions that must be performed by the entities or group of entities in order to achieve the purpose of the system;
- a list of inputs;
- a list of outputs.
Entities that are involved in this system are the applicant, club staff and coach.

General Principles of Systems
- The more specialized a system, the less it is able to adapt to different circumstances.
- The larger the system is, the more resources must be devoted to its everyday maintenance
- Systems are always part of larger systems, and they can always bepartitioned into smaller systems

There are two types of systems, namely, man-made systems and automated systems. Man made systems will always have areas for correctness and improvements. These areas for correctness and improvements can be addressed by automated systems. Automated systems consists of computer hardware, computer software, people, procedures, data and information and the connectivity that allows the connection of one computer systemwith another computer system.


Tuesday, March 15, 2011

Flow Oriented Modeling - Creating a Data Flow Model

Flow models focus on the flow of data objects as they are transformed by processing functions. Derived from structured analysis,flow models use the data flow diagram, a modeling notation that depicts how input is transformed into output as data objects move through the system. Each software function that transforms data is described by a process specification or narrative. In addition to data flow, this modeling element also depicts control flow.

Data flow oriented modeling is the most widely used analysis notation. Flow oriented modeling focuses on structured analysis and design, follows a top to down methodology and uses a graphical technique depicting information flows and the transformations that are applied as data moves from input to output.

The modeling tools that are used to build a data flow oriented model include context diagrams, data flow diagrams, entity relationship diagram, control flow diagram, state transition diagram, data dictionary, process specification and control specification.

Steps to create a data flow model
- Diagram 0: develop a context diagram.
- Decompose the Process into high level processes.
- In parallel to this, develop data flow diagrams, entity relationship diagrams and state transition diagrams.
- Define data stores which includes normalization.
- Develop data dictionary.
- Finalize data flow diagrams, entity relationship diagram and state transition diagrams.
- Develop process specifications which includes PDL, decision tables or trees.
- Perform transformational analysis which includes developing structure charts.
Information flow continuity must be maintained as each data flow diagram level is refined. This means that input and output at one level must be the same as input and output at a refined level.


Monday, March 14, 2011

Architectural Design - Refining the Architecture into Components and Describing Instantiations of the System

Refining the Architecture into Components


As the software architecture is refined into components, structure of the system begins to emerge. Components of the software architecture are derived from three sources:
- the application domain
- the infrastructure domain
- the interface domain
Because analysis modeling does not address infrastructure, one should allocate sufficient design time to consider it carefully.
In order to find the components that are most suitable for refining the software architecture, you need to start by using the classes which were described in the analysis model. The analysis classes in turn are representations of business entities that architecture is trying to describe. You could also base these components on an infrastructure model rather than the business model. If you went purely by the business model, you would not be able to depict many of those infrastructure components such as database components, components used for communication etc.
Whatever interfaces are described in the architecture context diagram imply one or more specialized components that process the data that flow across the interface.

Describing Instantiations of the System


The context of the system has been represented, the archetypes indicating important abstractions are defined, the overall structure of system apparent and major software components are identified, however further refinement is necessary which is accomplished by developing an actual instantiation of architecture. The architecture is applied to a specific problem with the intent of demonstrating that the structure and components are appropriate.


Architectural Design - Representing the System in Context and Defining Archetypes

As architectural design begins, the design should define the external entities that the software interacts with and nature of the interaction. Once the context is modeled and all external interfaces are described, the structure of the system is specified by the designer. It is done by defining and refining software components that implement the architecture.

REPRESENTING THE SYSTEM IN CONTEXT


Architectural context represents how the software interacts with entities external to its boundaries. A system context diagram accomplishes this requirement by representing the flow of information into and out of the system. At the architectural design level, a software architect uses an architectural context diagram to model the manner in which software interacts with entities external to its boundaries.

How do systems inter-operate with the target system?
Superordinate Systems
These systems use the target system as part of some higher level processing scheme.
Subordinate Systems
These systems are used by the target system and provide data or processing that are necessary to complete target system.
Peer-level Systems
These systems interact on a peer-to-peer basis.
Actors
These entities interact with the target system by producing or consuming information necessary for requisite processing.
Each of these external entities communicates with target systems through an interface.

DEFINING ARCHETYPES


Archetypes are the abstract building blocks of an architectural design. It is a class or pattern that represents a core abstraction that is critical to design of an architecture for the target system. Archetypes can be derived by examining analysis classes defined as part of analysis model.Target system architecture is composed of these archetypes which represent stable elements of the architecture. Some kind of archetypes are:
- Nodes
- Detector
- Indicator
- Controller


Sunday, September 13, 2009

Object Definition language (ODL)

Object Definition Language (ODL) is the specification language defining the interface to object types conforming to the ODMG Object Model. Often abbreviated by the acronym ODL.
This language's purpose is to define the structure of an Entity-relationship diagram.

- Class Declarations
* interface < name > {elements = attributes, relationships,methods }
- Element Declarations
* attribute < type > < name >;
* relationship < rangetype >< name >;
- Method Example
* float gpa(in: Student) raises(noGrades)
# float = return type.
# in: indicates Student argument is read-only.
Other options: out, inout.
# noGrades is an exception that can be raised by method gpa.

ODL Type System :
- Basic types: int, real/ float, string, enumerated types, and classes.
- Type constructors: Struct for structures and four collection types: Set, Bag, List, and
Array.

ER versus ODL :
- E/R: arrow pointing to "one".
- ODL: don't use a collection type for relationship in the “many" class.
* Collection type remains in “one.”
- E/R: arrows in both directions.
- ODL: omit collection types in both directions.
- ODL only supports binary relationship.
- Convert multi-way relationships to binary and then represent in ODL.
- Create a new connecting entity set to represent the rows in the relationship set.
- Problems handling cardinality constraints properly!!

Keys in ODL :
- Indicate with key(s) following the class name, and a list of attributes forming the key.
* Several lists may be used to indicate several alternative keys.
* Parentheses group members of a key, and also group key to the declared keys.
* Thus, (key(a1; a2; : : : ; an )) = “one key consisting of all n attributes." (key a1; a2; : : : ; an ) =“each ai is a key by itself.
- Keys are not necessary for ODL. Object identity and not keys differentiates objects


Thursday, August 6, 2009

Entity - Relationship Model

The entity-relationship (ER) data model allows us to describe the data involved in a real-world enterprise in terms of objects and their relationships and is widely used to develop an initial database design. The ER model is important primarily for its role in database design. It provides useful concepts that allow us to move from an informal description of what users want from their database to a more detailed, and precise, description that can be implemented in a DBMS.

ENTITIES, ATTRIBUTES, AND ENTITY SETS
- A database can be modeled as:
o a collection of entities,
o relationship among entities.
- An entity is an object that exists and is distinguishable from other objects.
o Example: specific person, company, event, plant
- Entities have attributes.
o Example: people have names and addresses
- An entity set is a set of entities of the same type that share the same properties.
o Example: set of all persons, companies, trees, holidays.

Entity and Entity sets

- Attributes : An entity is represented by a set of attributes, that is descriptive properties possessed by all members of an entity set.
o E.g. Employee = (Name, Address, Age, Salary)

Attributes

Types of Attributes
- SIMPLE attributes are attributes that are drawn from the atomic value domains.
E.g. Name = {John} ; Age = {23}
- COMPOSITE attributes: Attributes that consist of a hierarchy of attributes.
E.g. Address may consists of “Number”, “Street” and “Suburb” → Address = {59 + ‘Meek Street’ + ‘Kingsford’}
- SINGLE VALUED attributes: Attributes that have only one value for each entity.
E.g. Name, Age for EMPLOYEE
- MULTIVALUED attributes: Attributes that have a set of values for each entity.
E.g. Degrees of a person: ‘ BSc’ , ‘MIT’, ‘PhD’
- DERIVED attributes: Attributes Contain values that are calculated from other attributes.
E.g. Age can be derived from attribute DateOfBirth. In this situation, DateOfBirth might be called Stored Attribute.


COMPOSITE ATTRIBUTES

MULTIVALUED ATTRIBUTE

DERIVED ATTRIBUTE


- DOMAIN/VALUE SETS : Each simple attribute of an entity type is associated with a value set which specifies the set of values that may be assigned to that attribute for each individual entity.
- KEYS : An important constraint on the entities is the key. An entity type usually has an attribute whose values are distinct for each individual entity in the collection. Such an attribute is called a key attribute.
For example, for the entity SET EMPLOYEE = {EID, Name, Address, Age, Salary}
EID attribute is the unique key for entity set EMPLOYEE as no two employees can have two same EID. Some entity types have more than one key attribute. An entity type may also have no key.


Facebook activity