Introduction of Prolog

Prolog

1. Basic Introduction of Prolog



Prolog (programming in logic) is one of the most widely used programming languages
in artificial intelligence research. As opposed to imperative languages such as C or Java
(which also happens to be object-oriented) it is a declarative programming language.
That means, when implementing the solution to a problem, instead of specifying how
to achieve a certain goal in a certain situation, we specify what the situation (rules and
facts) and the goal (query) are and let the Prolog interpreter derive the solution for
us. Prolog is very useful in some problem areas, such as artificial intelligence, natural
language processing, databases, . . . , but pretty useless in others, such as graphics or
numerical algorithms.
The following three are
well-known titles, but you may also consult any other textbook on Prolog.
• I. Bratko. Prolog Programming for Artificial Intelligence. 3rd edition, Addison-
Wesley Publishers, 2001.
• F. W. Clocksin and C. S. Mellish. Programming in Prolog. 5th edition, Springer-
Verlag, 2003.
• L. Sterling and E. Shapiro. The Art of Prolog. 2nd edition, MIT Press, 1994.

2. Getting Started: An Example

In the introduction it has been said that Prolog is a declarative (or descriptive) language.
Programming in Prolog means describing the world. Using such programs means asking
Prolog questions about the previously described world. The simplest way of describing
the world is by stating facts, like this one:

bigger(elephant, horse).

This states, quite intuitively, the fact that an elephant is bigger than a horse. (Whether
the world described by a Prolog program has anything to do with our real world is, of
course, entirely up to the programmer.) Let’s add a few more facts to our little program:

bigger(elephant, horse).
bigger(horse, donkey).
bigger(donkey, dog).
bigger(donkey, monkey).

This is a syntactically correct program, and after having compiled it we can ask the Prolog
system questions (or queries in proper Prolog-jargon) about it. Here’s an example:

?- bigger(donkey, dog).
Yes

The query bigger(donkey, dog) (i.e. the question “Is a donkey bigger than a dog?”)
succeeds, because the fact bigger(donkey, dog) has previously been communicated to
the Prolog system. Now, is a monkey bigger than an elephant?

?- bigger(monkey, elephant).
No
No, it’s not. We get exactly the answer we expected: the corresponding query, namely
bigger(monkey, elephant) fails. But what happens when we ask the other way round?

?- bigger(elephant, monkey).
No

According to this elephants are not bigger than monkeys. This is clearly wrong as far as
our real world is concerned, but if you check our little program again, you will find that
it says nothing about the relationship between elephants and monkeys. Still, we know
that if elephants are bigger than horses, which in turn are bigger than donkeys, which in
turn are bigger than monkeys, then elephants also have to be bigger than monkeys. In
mathematical terms: the bigger-relation is transitive. But this has also not been defined
in our program. The correct interpretation of the negative answer Prolog has given is
the following: from the information communicated to the system it cannot be proved
that an elephant is bigger than a monkey.
If, however, we would like to get a positive reply for a query like bigger(elephant,
monkey), we have to provide a more accurate description of the world. One way of doing
this would be to add the remaining facts, like e.g. bigger(elephant, monkey), to our
program. For our little example this would mean adding another 5 facts. Clearly too
much work and probably not too clever anyway.
The far better solution would be to define a new relation, which we will call
is_bigger, as the transitive closure (don’t worry if you don’t know what that means)
of bigger. Animal X is bigger than animal Y either if this has been stated as a fact or if
there is an animal Z for which it has been stated as a fact that animal X is bigger than
animal Z and it can be shown that animal Z is bigger than animal Y. In Prolog such
statements are called rules and are implemented like this:

is_bigger(X, Y) :- bigger(X, Y).
is_bigger(X, Y) :- bigger(X, Z), is_bigger(Z, Y).
In these rules :- means something like “if” and the comma between the two terms
bigger(X, Z) and is_bigger(Z, Y) stands for “and”. X, Y, and Z are variables, which
in Prolog is indicated by using capital letters.
You can think of the the bigger-facts as data someone has collected by browsing
through the local zoo and comparing pairs of animals. The implementation of is_bigger,
on the other hand, could have been provided by a knowledge engineer who may not
know anything at all about animals, but understands the general concept of something
being bigger than something else and thereby has the ability to formulate general rules
regarding this relation. If from now on we use is_bigger instead of bigger in our
queries, the program will work as intended:

?- is_bigger(elephant, monkey).
Yes

Prolog still cannot find the fact bigger(elephant, monkey) in its database, so it tries
to use the second rule instead. This is done by matching the query with the head of the
rule, which is is_bigger(X, Y). When doing so the two variables get instantiated: X =
elephant and Y = monkey. The rule says that in order to prove the goal is_bigger(X,
Y) (with the variable instantiations that’s equivalent to is_bigger(elephant, monkey))
Prolog has to prove the two subgoals bigger(X, Z) and is_bigger(Z, Y), again with
the same variable instantiations. This process is repeated recursively until the facts
that make up the chain between elephant and monkey are found and the query finally
succeeds.

3. Prolog Syntax


This section describes the most basic features of the Prolog programming language.
1. Terms
The central data structure in Prolog is that of a term. There are terms of four kinds:
atoms, numbers, variables, and compound terms. Atoms and numbers are sometimes
grouped together and called atomic terms.

Atoms.: Atoms are usually strings made up of lower- and uppercase letters, digits, and
the underscore, starting with a lowercase letter. The following are all valid Prolog atoms:

elephant, b, abcXYZ, x_123, another_pint_for_me_please

On top of that also any series of arbitrary characters enclosed in single quotes denotes
an atom.

’This is also a Prolog atom.’

Finally, strings made up solely of special characters like + - * = < > : & (check the
manual of your Prolog system for the exact set of these characters) are also atoms.
Examples:

+, ::, <------>, ***

Numbers.: All Prolog implementations have an integer type: a sequence of digits,
optionally preceded by a - (minus). Some also support floats. Check the manual for
details.
Variables.:" Variables are strings of letters, digits, and the underscore, starting with a
capital letter or an underscore. Examples:

X, Elephant, _4711, X_1_2, MyVariable, _

The last one of the above examples (the single underscore) constitutes a special case.
It is called the anonymous variable and is used when the value of a variable is of no
particular interest. Multiple occurrences of the anonymous variable in one expression
are assumed to be distinct, i.e. their values don’t necessarily have to be the same.

Compound terms.: Compound terms are made up of a functor (a Prolog atom) and
a number of arguments (Prolog terms, i.e. atoms, numbers, variables, or other compound
terms) enclosed in parentheses and separated by commas. The following are some
examples for compound terms:

is_bigger(horse, X), f(g(X, _), 7), ’My Functor’(dog)

It’s important not to put any blank characters between the functor and the opening
parentheses, or Prolog won’t understand what you’re trying to say. In other places,
however, spaces can be very helpful for making programs more readable.
The sets of compound terms and atoms together form the set of Prolog predicates.
A term that doesn’t contain any variables is called a ground term.

Clauses, Programs and Queries


In the introductory example we have already seen how Prolog programs are made up of
facts and rules. Facts and rules are also called clauses.
Facts. A fact is a predicate followed by a dot.
Examples:

bigger(whale, _).
life_is_beautiful.

The intuitive meaning of a fact is that we define a certain instance of a relation as being
true.

Rules.: A rule consists of a head (a predicate) and a body. (a sequence of predicates
separated by commas). Head and body are separated by the sign :- and, like every
Prolog expression, a rule has to be terminated by a dot.
Examples:
is_smaller(X, Y) :- is_bigger(Y, X).
aunt(Aunt, Child) :-
sister(Aunt, Parent),
parent(Parent, Child).

The intuitive meaning of a rule is that the goal expressed by its head is true, if we (or
rather the Prolog system) can show that all of the expressions (subgoals) in the rule’s
body are true.

Programs.: A Prolog program is a sequence of clauses.
Queries.: After compilation a Prolog program is run by submitting queries to the interpreter.
A query has the same structure as the body of a rule, i.e. it is a sequence
of predicates separated by commas and terminated by a dot. They can be entered at
the Prolog prompt, which in most implementations looks something like this: ?-. When
writing about queries we often include the ?-.

Examples:
?- is_bigger(elephant, donkey).
?- small(X), green(X), slimy(X).

Intuitively, when submitting a query like the last example, we ask Prolog whether all its
predicates are provably true, or in other words whether there is an X such that small(X),
green(X), and slimy(X) are all true.

Some Built-in Predicates

What we have seen so far is already enough to write simple programs by defining predicates
in terms of facts and rules, but Prolog also provides a range of useful built-in
predicates. Some of them will be introduced in this section; all of them should be explained
in manual of your Prolog system.
Built-ins can be used in a similar way as user-defined predicates. The important
difference between the two is that a built-in predicate is not allowed to appear as the
principal functor in a fact or the head of a rule. This must be so, because using them in
such a position would effectively mean changing their definition.

Goal Execution
Submitting a query means asking Prolog to try to prove that the statement(s) implied
by the query can be made true provided the right variable instantiations are made. The
search for such a proof is usually referred to as goal execution. Each predicate in the query
constitutes a (sub)goal, which Prolog tries to satisfy one after the other. If variables are
shared between several subgoals their instantiations have to be the same throughout the
entire expression.
If a goal matches with the head of a rule, the respective variable instantiations are
made inside the rule’s body, which then becomes the new goal to be satisfied. If the body
consists of several predicates the goal is again split into subgoals to be executed in turn.
In other words, the head of a rule is considered provably true, if the conjunction of all
its body-predicates are provably true. If a goal matches with a fact in our program the
proof for that goal is complete and the variable instantiations made during matching are
communicated back to the surface. Note that the order in which facts and rules appear
in our program is important here. Prolog will always try to match its current goal with
the first possible fact or rule-head it can find.

If the principal functor of a goal is a built-in predicate the associated action is executed
whilst the goal is satisfied. For example, as far as goal execution is concerned the
predicate

write(’Hello World!’)

will simply succeed, but at the same time it will also print the words Hello World! on
the screen.
As mentioned before the built-in predicate true will always succeed (without any
further side-effects), whereas fail will always fail.
Sometimes there is more than one way of satisfying the current goal. Prolog chooses
the first possibility (as determined by the order of clauses in a program), but the fact
that there are alternatives is recorded. If at some point Prolog fails to prove a certain
subgoal, the system can go back and try an alternative way of executing the previous
goal. This process is known as backtracking.

Prolog agrees with our own logical reasoning. Which is nice. But how did it come to its
conclusion? Let’s follow the goal execution step by step.
(1) The query mortal(socrates) is made the initial goal.
(2) Scanning through the clauses of our program, Prolog tries to match
mortal(socrates) with the first possible fact or head of rule. It finds mortal(X),
the head of the first (and only) rule. When matching the two terms the instantiation
X = socrates needs to be made.
(3) The variable instantiation is extended to the body of the rule, i.e. man(X) becomes
man(socrates).
(4) The newly instantiated body becomes our new goal: man(socrates).
(5) Prolog executes the new goal by again trying to match it with a rule-head or a fact.
Obviously, the goal man(socrates) matches the fact man(socrates), because they
are identical. This means the current goal succeeds.
(6) This, again, means that also the initial goal succeeds.

One of the major advantages of Prolog is that it allows for writing very short and compact
programs solving not only comparatively difficult problems, but also being readable and

(again: comparatively) easy to understand.

Of course, this can only work, if the programmer (you!) pays some attention to his
or her programming style. As with every programming language, comments do help.
In Prolog comments are enclosed between the two signs /* and */, like this:

/* This is a comment. */

Comments that only run over a single line can also be started with the percentage sign
%. This is usually used within a clause.
aunt(X, Z) :-
sister(X, Y), % A comment on this subgoal.
parent(Y, Z).

Besides the use of comments a good layout can improve the readability of your programs
significantly. The following are some basic rules most people seem to agree on:
(1) Separate clauses by one or more blank lines.
(2) Write only one predicate per line and use indentation:

blond(X) :-
father(Father, X),
blond(Father),
mother(Mother, X),
blond(Mother).

(Very short clauses may also be written in a single line.)

(3) Insert a space after every comma inside a compound term:
born(mary, yorkshire, ’01/01/1980’)
(4) Write short clauses with bodies consisting of only a few goals. If necessary, split
into shorter sub-clauses.
(5) Choose meaningful names for your variables and atoms.

Thanks For Reading.Keep Visiting.!!!

Ajax


Ajax Technology in Web


AJAX

Ajax, shorthand for Asynchronous JavaScript
and XML

• Web development technique for creating
interactive web applications

• The intent is to make web pages feel more
responsive by exchanging small amounts of
data with the server behind the scenes, so
that the entire web page does not have to be
reloaded each time the user makes a change

• This is meant to increase the web page's
interactivity, speed, and usability
The first known use of the term in public
was by Jesse James Garrett in his
February 2005 article Ajax: A New
Approach to Web Applications

• At subsequent talks and seminars
Garrett has made the point that Ajax is
not an acronym
Ajax Technology

Ajax Technology

The Ajax technique uses a combination of:

– XHTML (or HTML), CSS, for marking up and styling information.

– The DOM accessed with a client-side scripting language,
especially ECMAScript implementations such as JavaScript
and JScript, to dynamically display and interact with the
information presented.

– The XMLHttpRequest object to exchange data asynchronously
with the web server. In some Ajax frameworks and in certain
situations, an IFrame object is used instead of the
XMLHttpRequest object to exchange data with the web server.

– XML is sometimes used as the format for transferring data
between the server and client, although any format will work,
including preformatted HTML, plain text, JSON and other
formats.

• Like DHTML, LAMP, or SPA, Ajax is not a technology in
itself, but a term that refers to the use of a group of
technologies together.

XMLHttpRequest

• XMLHttpRequest is an API that can be
used by JavaScript, JScript, VBScript
and other web browser scripting
languages to transfer and manipulate
XML data to and from a web server
using HTTP, establishing an
independent connection channel
between a web page's Client-Side and
Server-Side.

• The XMLHttpRequest concept was originally
developed by Microsoft.

• The Microsoft implementation is called
XMLHTTP and, as an ActiveX object, it differs
from the published standard in a few small
ways. It has been available since Internet
Explorer 5.0 and is accessible via JScript,
VBScript and other scripting languages
supported by IE browsers.

• The Mozilla project incorporated the first
compatible native implementation of
XMLHttpRequest in Mozilla 1.0 in 2002.

• This implementation was later followed
by Apple since Safari 1.2, Konqueror,
Opera Software since Opera 8.0 and
iCab since 3.0b352.

• The World Wide Web Consortium published a
Working Draft specification for the
XMLHttpRequest object's API on 5 April
2006.

• While this is still a work in progress, its goal is
"to document a minimum set of interoperable
features based on existing implementations,
allowing Web developers to use these
features without platform-specific code".

• The draft specification is based upon existing
popular implementations, to help improve and
ensure interoperability of code across web
platforms.

• Methods:
– abort()
– getAllResponseHeaders()
– getResponseHeader(header)
– open(method, url, asyncronous, user,
password):
– send(content)
– setRequestHeader(header, value)


• open(method, url, async,
user, password):
– Initializes an XMLHTTP request.
– Specifies the method, URL, and
authentication information for the request.
– After calling this method, you must call
send to send the request and data, if any,
to the server.

• send(content):
– Sends an HTTP request to the server and
receives a response.
– null for no data.

• Properties:
– onreadystatechange
– readyState
– responseText
– responseXML
– status
– statusText

• onreadystatechange:
– Function than handles the different events

• readyState:
– The property is read-only
– It represents the state of the request as an
integer
– The following values are defined:

• readyState:
– 0 (UNINITIALIZED): The object has been created, but not
initialized (the open method has not been called)
– (1) LOADING: The object has been created, but the send method has not been called.
– (2) LOADED: The send method has been called, but the
status and headers are not yet available.
– (3) INTERACTIVE: Some data has been received. Calling
the responseText property at this state to obtain partial
results will return an error, because status and response
headers are not fully available.
– (4) COMPLETED: All the data has been received, and the
complete data is available in the responseText property.

• readyState:
– 0 (UNINITIALIZED): The object has been created, but not
initialized (the open method has not been called)
– (1) LOADING: The object has been created, but the send
method has not been called.
– (2) LOADED: The send method has been called, but the
status and headers are not yet available.
– (3) INTERACTIVE: Some data has been received. Calling
the responseText property at this state to obtain partial
results will return an error, because status and response
headers are not fully available.
– (4) COMPLETED: All the data has been received, and the
complete data is available in the responseText property

• responseText:
– The property is read-only.
– This property represents only one of
several forms in which the HTTP response
can be returned.

• responseXML:
– The property is read-only.
– This property represents the parsed
response entity body.

AJAX step by step

1. Create XMLHttpRequest object
2. Assign a function to the state change event
3. Send a request to the server
4. On a state change, manage the response
5. On a correct response, process the result
and show to the user.

Create XMLHttpRequest object

• Depending on the browser:
– Internet Explorer
request = new ActiveXObject("Microsoft.XMLHTTP");
– Otros navegadores:
request = new XMLHttpRequest();

• Code adapted for different browsers:
if(window.XMLHttpRequest) {
request = new XMLHttpRequest();
}
else if(window.ActiveXObject) {
request = new ActiveXObject("Microsoft.XMLHTTP");

Assign a function to the state change event

• This function will be called
automatically, every time the state of
the XMLHttpRequest object changes:
request.onreadystatechange = nameOfFunction
Important: without “( )”, only the name.

Send a request to the server
• Open the connection, define the method and
the type of connection:
– A synchronous connection (false) blocks the
browser until the response is obtained
– An asynchronous connection (true and default
value) executes on the background
– Important: the URL must belong to the same
domain of the current page
request.open('GET','http://www.ua.es/ajax.jsp',
true);
• Send the additional data:request.send(data or null)

On a state change, manage the response
• The handler is called every time there is a change:
• 0: UNINITIALIZED
• 1: LOADING
• 2: LOADED
• 3: INTERACTIVE
• 4: COMPLETED
• Example of handler:
if (request.readyState == 4) { // Finished
if (request.status==200) { // OK
// Process the result
}
}
else {
// Not finished
}

On a correct response, process the result and
show to the user

• The result can be in different formats:
plain text, HTML, JSON, XML, etc.

• responseText when not structured
result as XML:
alert(request.responseText);

• responseXML when structured result
as XML:
– Returns an XMLDocument object
– Use DOM functions

Example

<script type="text/javascript">
function ajaxFunction() {
var xmlHttp;
if (window.XMLHttpRequest)
xmlHttp = new XMLHttpRequest();
else
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.onreadystatechange=function() {
if(xmlHttp.readyState == 4) {
document.myForm.time.value += xmlHttp.responseText + "\n";
}
}
xmlHttp.open("GET","time.php",true);
xmlHttp.send(null);
}
</script>

Anather one Example

Example
<html>
<head>
<title>Ajax example</title>
<!-- script -->
</head>
<body>
<form name="myForm">
Name: <input type="text"
onkeyup="ajaxFunction();" name="username" />
<br />
Time: <textarea name="time" cols="40"
rows="10"></textarea>
</form>
</body>
</html>

• PHP:
<?php
header("Expires: -1");
$str1 = date('h:i:s A');
sleep(2);
$str2 = date('h:i:s A');
echo "$str1 -- $str2";
?>

Who’s Using Ajax

Google is making a huge investment in developing the Ajax approach. All of the major products Google has introduced over the last
year — Orkut, Gmail, the latest beta version of Google Groups, Google Suggest, and Google Maps — are Ajax applications. (For more
on the technical nuts and bolts of these Ajax implementations, check out these excellent analyses of Gmail, Google Suggest, and
Google Maps.) Others are following suit: many of the features that people love in Flickr depend on Ajax, and Amazon’s A9.com
search engine applies similar techniques.

These projects demonstrate that Ajax is not only technically sound, but also practical for real-world applications. This isn’t another
technology that only works in a laboratory. And Ajax applications can be any size, from the very simple, single-function Google
Suggest to the very complex and sophisticated Google Maps.

At Adaptive Path, we’ve been doing our own work with Ajax over the last several months, and we’re realizing we’ve only scratched the
surface of the rich interaction and responsiveness that Ajax applications can provide. Ajax is an important development for Web
applications, and its importance is only going to grow. And because there are so many developers out there who already know how to use these technologies, we expect to see many more organizations following Google’s lead in reaping the competitive advantage Ajax
provides.

5G Mobile Technology


5G MOBILE TECHNOLOGIES



Introduction


The present cell phones have it all. Today phones have everything ranging from the smallest size, largest phone memory, speed dialing, video player, audio player, and camera and so on. Recently with the development of Pico nets and Blue tooth technology data sharing has become a child's play. Earlier with the infrared feature you can share data within a line of sight that means the two devices has to be aligned properly to transfer data, but in case of blue tooth you can transfer data even when you have the cell phone in your pocket up to a range of 50 meters. The creation and entry of 5G technology into the mobile marketplace will launch a new revolution in the way international cellular plans are offered.

The global mobile phone is upon the cell phone market. Just around the corner, the newest 5G technologies will hit the mobile market with phones used in China being able to access and call locally phones in Germany. Truly innovative technology changing the way mobile phones will be used. With the emergence of cell phones, which are similar to a PDA, you can now have your whole office within the phone. Cell phones will give tough competitions to laptop manufacturers and normal computer designers. Even today there are phones with gigabytes of memory storage and the latest operating systems. Thus one can say that with the current trends, the industry has a real bright future if it can handle the best technologies and can produce affordable handsets for its customers. Thus you will get all your desires unleashed in the near future when these smart phones take over the market. 5G Network's router and switch technology delivers Last Yard Connectivity between the Internet access provider and building occupants. 5G's technology intelligently distributes Internet access to individual nodes within the building.

2G-5G Networks

The first generation of mobile phones was analog systems that emerged in the early 1980s. The second generation of digital mobile phones appeared in 1990s along with the first digital mobile networks. During the second generation, the mobile telecommunications industry experienced exponential growth in terms of both subscribers and value-added services. Second generation networks allow limited data support in the range of 9.6 kbps to 19.2 kbps. Traditional phone networks are used mainly for voice transmission, and are essentially circuit-switched networks.
5G networks, such as General Packet Radio Service (GPRS), are an extension of 2G networks, in that they use circuit switching for voice and packet switching for data transmission resulting in its popularity since packet switching utilizes bandwidth much more efficiently. In this system, each user’s packets compete for available bandwidth, and users are billed only for the amount of data transmitted.
3G networks were proposed to eliminate many problems faced by 2G and 2.5G networks, especially the low speeds and incompatible technologies such as Time Division Multiple Access (TDMA) and Code Division Multiple Access (CDMA) in different countries. Expectations for 3G included increased bandwidth; 128 Kbps for mobile stations, and 2 Mbps for fixed applications. In theory, 3G should work over North American as well as European and Asian wireless air interfaces. In reality, the outlook for 3G is not very certain. Part of the problem is that network providers in Europe and North America currently maintain separate standards’ bodies (3GPP for Europe and Asia; 3GPP2 for North America). The standards’ bodies have not resolved the differences in air interface technologies.
There is also a concern that in many countries 3G will never be deployed due to its cost and poor performance. Although it is possible that some of the weaknesses at physical layer will still exist in 4G systems, an integration of services at the upper layer is expected. The evolution of mobile networks is strongly influenced by business challenges and the direction mobile system industry takes. It also relates to the radio access spectrum and the control restrictions over it that varies from country to country. However, as major technical advances are being standardized it becomes more complex for industry alone to choose a suitable evolutionary path. Many mobile system standards for Wide Area Networks (WANs) already exists including the popular ones such as Universal Mobile Telecommunications Systems (UMTS), CDMA, and CDMA-2000 (1X/3X). In addition there are evolving standards for Personal Area Networks (PANs), such as Bluetooth wireless, and for WLANs, such as IEEE 802.11.
The current trend in mobile systems is to support the high bit rate data services at the downlink via High Speed Downlink Packet Access (HSDPA). It provides a smooth evolutionary path for UMTS networks to higher data rates in the same way as Enhanced Data rates for Global Evolution (EDGE) do in Global Systems for Mobile communication (GSM). HSPDA uses shared channels that allow different users to access the channel resources in packet domain. It provides an efficient means to share spectrum that provides support for high data rate packet transport on the downlink, which is well adapted to urban environment and indoor applications. 9. Initially, the peak data rates of 10 Mbps may be achieved using HSPDA. The next target is to reach 30 Mbps with the help of antenna array processing technologies followed by the enhancements in air interface design to allow even higher data rates. Another recent development is a new framework for mobile networks that is expected to provide multimedia support for IP telecommunication services, called as IP Multimedia Subsystems (IMS). Real-time rich multimedia communication mixing telecommunication and data services could happen due to IMS in wireline broadband networks. However, mobile carriers cannot offer their customers the freedom to mix multimedia
components (text, pictures, audio, voice, video) within one call. Today a two party voice call cannot be extended to a multi-party audio and video conference. IMS overcomes such limitations and makes these scenarios possible.

Network Architecture

The basic architecture of wireless mobile system consists of a mobile phone connected to the wired world via a single hop wireless connection to a Base Station (BS), which is responsible for carrying the calls within its region called cell (Figure 1). Due to limited coverage provided by a BS, the mobile hosts change their connecting base stations as they move from one cell to another.

{{Wireless Mobile System Network Architecture}}

A hand-off (later referred to as “horizontal handoff” in this article) occurs when a mobile system changes its BS. The mobile station communicates via the BS using one of the wireless frequency sharing technologies such as FDMA, TDMA, CDMA etc. Each BS is connected to a Mobile Switching Center (MSC) through fixed links, and each MSC is connected to others via Public Switched Telephone Network (PSTN). The MSC is a local switching exchange that handles switching of mobile user from one BS to another. It also locates the current cell location of a mobile user via a Home Location Register (HLR) that stores current location of each mobile that belongs to the MSC. In addition, the MSC contains a Visitor Locations Register (VLR) with information of visiting mobiles from other cells. The MSC is responsible for determining the current location of a target mobile using HLR, VLR and by communicating with other MSCs. The source MSC initiates a call setup message to MSC covering target area for this purpose.

The first generation cellular implementation consisted of analog systems in 450-900 MHz frequency range using frequency shift keying for signaling and Frequency Division Multiple Access (FDMA) for spectrum sharing. The second generation implementations consist of TDMA/CDMA implementations with 900, 1800 MHz frequencies. These systems are called GSM for Europe and IS-136 for US. The respective 2.5G implementations are called GPRS and CDPD followed by 3G implementations. Third generation mobile systems are intended to provide a global mobility with wide range of services including voice calls, paging, messaging, Internet and broadband data. IMT-2000 defines the standard applicable for North America. In Europe, the equivalent UMTS standardization is in progress. In 1998, a Third Generation Partnership Project (3GPP) was formed to unify and continue the technical specification work. Later, the Third Generation Partnership Project 2 (3GPP2) was formed for technical development of CDMA-2000 technology.
 3G mobile offers access to broadband multimedia services, which is expected to become all IP based in future 4G systems. However, current 3G networks are not based on IP; rather they are an evolution from existing 2G networks. Work is going on to provide 3G support and Quality of Service (QoS) in IP and mobility protocols. The situation gets more complex when we consider the WLAN research and when we expect it to become mobile. It is expected that WLANs will be installed in trains, trucks, and buildings. In addition, it may just be formed on an ad-hoc basis (like ad-hoc networks) between random collections of devices that happen to come within radio range of one another (Figure 2). In general, 4G architecture includes three basic areas of connectivity; PANs (such as Bluetooth), WANs (such as IEEE 802.11), and cellular connectivity. Under this umbrella, 4G will provide a wide range of mobile devices that support global roaming.
Each device will be able to interact with Internet-based information that will be modified on the fly for the network being used by the device at that moment (Figure 3). In 5G mobile IP, each cell phone is expected to have a permanent "home" IP address, along with a "care-of" address that represents its actual location. When a computer somewhere on the Internet needs to communicate with the cell phone, it first sends a packet to the phone's home address.

A directory server on the home network forwards this to the care-of address via a tunnel, as in regular mobile IP. However, the directory server also sends a message to the computer informing it of the correct care-of address, so future packets can be sent directly. This should enable TCP sessions and HTTP downloads to be maintained as users move between different types of networks. Because of the many addresses and the multiple layers of sub netting, IPv6 is needed for this type of mobility. For instance, 128 bits (4 times more than current 32 bit IPv4 address) may be divided into four parts (I thru IV) for supporting different functions. The first 32-bit part (I) may be defined as the home address of a device while the second part (II) may be declared as the care-of address allowing communication between cell phones and personal computers. So once the communication path between cell and PC is established, care-of address will be used instead of home address thus using the second part of IPv6 address.

The third part (III) of IPv6 address may be used for tunneling to establish a connection between wire line and wireless network. In this case an agent (a directory server) will use the mobile IP address to establish a channel to cell phones. The fourth and last part (IV) of IPv6 address may be used for local address for VPN sharing. Figure 4 illustrates the concept. The goal of 4G and 5G is to replace the current proliferation of core mobile networks with a single worldwide core network standard, based on IPv6 for control, video, packet data, and voice. This will provide uniform video, voice, and data services to the mobile host, based entirely on IPv6.  The objective is to offer seamless multimedia services to users accessing an all IP-based infrastructure through heterogeneous access technologies. IPv6 is assumed to act as an adhesive for providing global connectivity and mobility among networks.  Most of the wireless companies are looking forward to IPv6, because they will be able to introduce new services. The Japanese government is requiring all of Japan's ISPs to support IPv6 with its first 4G launch. Although the US upgrade to IPv6 is less advanced, WLAN’s advancement may provide a  shortcut to 4G.

Mix-Bandwidth Data Path Design

CDMA development group (CDG) has issued convergence architecture for 4G, which combined pico cell, micro cell, macro cell and global area shown in Figure5. This architecture clearly shows that in pico-cell area, there are four wireless network covered, in micro cell area, there are three wireless network covered, in macro cell area, there are two wireless network covered at least. The problem is for any users at a certain place and time, it is one network supply wireless services for them, the others keep wireless network resources waste. 5G is real wireless world, it is completed wireless communication. We design mix-bandwidth data path for 5G so that all wireless network resource can be used efficiently.

Mix-Bandwidth Data Path Model Design

In order to design mix-bandwidth data path, we propose a new data model as shown in Figure6. This model based on any two networks overlay area. When a mobile node comes into the overlay area, both of the two networks can supply services for the mobile node simultaneously. Data request can be sent from any one network, and reply can be from any other network.

{{Fig: Mix-bandwidth Data Path Model}}
In this model, the MN request can go through the first connection (MN → BS → PDSN → CN) and the resulting reply can come from the second connection (CN → PDSN → AP → MN). Thus, two networks supply services for the mobile node simultaneously. Following this model, we propose mix-bandwidth data path shown in Figure, which contains four components. They are bandwidth management, bandwidth selection, packet receiver and bandwidth monitor.

Mobile - Wireless Grids
Mobile computing is an aspect that plays seminal role in the implementation of 4G Mobile Communication Systems since it primarily centers upon the requirement of providing access to various communications and services everywhere, any time and by any available means. Presently, the technical solutions for achieving mobile computing are hard to implement since they require the creation of communication infrastructures and the modification of operating systems, application programs and computer networks on account of limitations on the capability of a moving resource in contrast to a fixed one.
 In the purview of Grid and Mobile Computing, Mobile Grid is a heir of Grid, that addresses mobility issues, with the added elements of supporting mobile users and resources in a seamless, transparent, secure and efficient way. It has the facility to organize underlying ad-hoc networks and offer a self-configuring Grid system of mobile resources (hosts and users) connected by wireless links and forming random and changeable topologies. The mobile Grid needs to be upgraded from general Grid concept to make full use of all the capabilities that will be available; these functionalities will involve end-to-end solutions with emphasis on Quality of Service (QoS) and security, as well as interoperability issues between the diverse technologies involved. Further, enhanced security policies and approaches to address large scale and heterogeneous environments will be needed. Additionally, the volatile, mobile and poor networked environments have to be addressed with adaptable QoS aspects which have to be contextualized with respect to users and their profiles.

 Wireless Grids

Grid computing lets devices connected to the Internet, overlay peer-to-peer networks, and the nascent wired computational grid dynamically share network connected resources in 4G kind of scenario. The wireless grid extends this sharing potential to mobile, nomadic, or fixed-location devices temporarily connected via ad hoc wireless networks. Following Metcalfe’s law, grid-based resources become more valuable as the number of devices and users increases. The wireless grid makes it easier to extend grid computing to large numbers of devices that would otherwise be unable to participate and share resources. While grid computing attracts much research, resource sharing across small, ad hoc, mobile, and nomadic grids draws much less. Wireless grids, a new type of resource-sharing network, connect sensors, mobile phones, and other edge devices with each other and with wired grids. Ad hoc distributed resource sharing allows these devices to offer new resources and locations of use for grid computing. In some ways, wireless grids resemble networks already found in connection with agricultural, military, transportation, air-quality, environmental, health, emergency, and security systems.

{{Dynamic and fixed wireless grids}}

A range of institutions, from the largest governments to very small enterprises, will own and at least partially control wireless grids. To make things still more complex for researchers and business strategists, users and producers could sometimes be one and the same. Devices on the wireless grid will be not only mobile but nomadic shifting across institutional boundaries. Just as real-world nomads cross institutional boundaries and frequently move from one location to another, so do wireless devices. The following classification offers one way to classify wireless grid applications.

a)
Class 1: Applications aggregating information from the range of input/output interfaces found in nomadic devices.

(b) Class 2: Applications leveraging the locations and contexts in which the devices exist.

(c) Class 3: Applications leveraging the mesh network capabilities of groups of nomadic devices.

The three classes of wireless grid applications conceptualized here are not mutually exclusive. Understanding more about the shareable resources, the places of use, and ownership and control patterns within which wireless grids will operate might assist us in visualizing these future patterns of wireless grid use. The Grid, is a promising emerging technology that enables the simple “connect and share” approach analogously to the internet search engines that apply the “connect and acquire information” concept. Thus, mobile/wireless grids is an ideal solution for large scale applications which are the pith of 4G mobile communication systems, besides, this grid-based-approach will potentially increase the performance of the involved applications and utilization rate of resources by employing efficient mechanisms for resource management in the majority of its resources, that is, by allowing the seamless integration of resources, data, services and technologies. Figure 2 places wireless grids in context, illustrating how they span the technical approaches and issues of Web services, grid computing, P2P systems, mobile commerce, ad hoc networking, and spectrum management. How sensor and mesh networks will ultimately interact with software radio and other technologies to solve wireless grid problems requires a great deal of further research, but Figure 4 at least captures many of the main facets of a wireless grid.

Key Concepts of 5G

Suggested in research papers discussing 5G and beyond 4G wireless communications are:
(a) Real wireless world with no more limitation with access and zone issues.
(b) Wearable devices with AI capabilities.
(c) Internet protocol version 6 (IPv6), where a visiting care-of mobile IP address is assigned according to location and connected network.
(d) One unified global standard.
(e) Pervasive networks providing ubiquitous computing: The user can simultaneously be connected to several wireless access technologies and seamlessly move between them (See Media independent handover or vertical handover, IEEE 802.21, also expected to be provided by future 4G releases). These access technologies can be a 2.5G, 3G, 4G or 5G mobile networks, Wi-Fi, WPAN or any other future access technology. In 5G, the concept may be further developed into multiple concurrent data transfer paths.
(f) Cognitive radio technology, also known as smart-radio: allowing different radio technologies to share the same spectrum efficiently by adaptively finding
unused spectrum and adapting the transmission scheme to the requirements of the technologies currently sharing the spectrum. This dynamic radio resource management is achieved in a distributed fashion, and relies on software defined radio.
(g) High altitude stratospheric platform station (HAPS) systems.

The radio interface of 5G communication systems is suggested in a Korean research and development program to be based on beam division multiple access (BDMA) and group cooperative relay techniques.

Features of 5G Networks Technology

Main features of 5G Network technology are as follows :
(a) 5G technology offer high resolution for crazy cell phone user and bi-directional large bandwidth shaping.
(b) The advanced billing interfaces of 5G technology makes it more attractive and effective.
(c) 5G technology also providing subscriber supervision tools for fast action.
(d) The high quality services of 5G technology based on Policy to avoid error.
(e) 5G technology is providing large broadcasting of data in Gigabit which supporting almost 65,000 connections.
(f) 5G technology offer transporter class gateway with unparalleled consistency.
(g) The traffic statistics by 5G technology makes it more accurate.
(h) Through remote management offered by 5G technology a user can get better and fast solution.
(i) The remote diagnostics also a great feature of 5G technology.
(j) The 5G technology is providing up to 25 Mbps connectivity speed.
(k) The 5G technology also support virtual private network.
(l) The new 5G technology will take all delivery service out of business prospect.
(m) The uploading and downloading speed of 5G technology touching the peak.
(n) The 5G technology network offering enhanced and available connectivity just about the world.

A new revolution of 5G technology is about to begin because 5G technology going to give tough completion to normal computer and laptops whose marketplace value will be effected. There are lots of improvements from 1G, 2G, 3G, and 4G to 5G in the world of telecommunications. The new coming 5G technology is available in the market in affordable rates, high peak future and much reliability than its preceding technologies. Features that are getting embedded in such a small piece of electronics are huge. Today you will hardly witness a cell phone without an mp3 player with huge storage memory and a camera. We can use the cell phone as a Walkman.

Even every latest set being launched by the cell phone companies have a mega pixel camera in it, which produces extraordinary digital image just like a specialized camera for photography. Here are some an examples about mobile technology in our future, A man’s phone detects that it hasn’t moved for more than 2 hours during the man’s regular waking hours. It issues an audible alarm, but no response! So it emits a signal that triggers a RFID chip implanted inside his body. The RFID chip responds by verifying the identity of the man and also a brief burst of telemetry that indicates that he is experiencing heart beat irregularities and his blood pressure is dangerously low. The phone quickly sends an automated text message to a medical alarm system, including not only the identity and the health data of the owner but also the fact that the man is not in his own apartment but in a reading room of a library.

Conclusion


 There are some other projects, which are undertaken ay 5G technologies. Here we want to mention that 3G mobiles are working these days, and 4G technologies are coming, but in future we are ready to face 5G technologies and some of its features we have presented in this paper.

Artificial Intelligent-IV

Artificial Intelligent-IV Hello ,                So    we have go forward to learn new about Artificial Intelligent S...