3G Networks

February 15, 2009 at 11:57 AM (Technical Articles)

3G refers to the third generation of mobile telephony( that is, cellular) technology. The name itself suggest that it follows two earlier generations.

The first generation (1G) began early in 1980’s with commercial deployment of Advanced Mobile Phone Service( AMPS ) networks. AMPS network used Frequency Division Multiple Access( FDMA ), they carry analog voice over channels in the 800MHz frequency band.

The second generation emerged in the 1990’s when mobile operators deployed to competing digital voice standards. This were using Code Division Multiple Access ( CDMA ). But accross the world many operators adopted Global System for Mobile Communications ( GSM) standard that was using Time Division Multiple Access ( TDMA ).

Now Come to the point of 3G networks. First pre-commercial 3G network was launched by NTTDoCoMo in Japan in May 2001 on W-CDMA technology. Then why 3G network become more popular now a days? What are the 3G network standards? What are the benefits of 3G networks? Then keep on reading i am trying to clear most of the stuff here…

The main advantage of 3G networks is its speed. 3G provides very fast access to internet for mobile networks. It promises strong signal and faster download of web pages, quick E-mail delivery and smoother video streaming and hence it become more popular. The speed of 3G networks vary. Minimum data download speed are not clearly defined but are often pegged at between 2Mbps to 14Mbps for stationary users. It provides 128Kbps to 384Kbps for moving users. It is still slow compared to house hold 802.11 WiFi networks but it is a great development in mobile networks.

Every one knows that iphone 3G made a revolution in market which used 3G technology. It is observed by the one who used iphone 3G, that is the web pages loades twice as fast compared to original phones with 2G EDGE ( 2G is usually called as EDGE ). The main difference between 2G and 3G is speed. Faster connection for loading web pages, better call quality, streaming video and audio services, and an ‘always on’ connection. 2G mobile phones are 40% slow than 3G mobile phones. Existing 3G network utilizing 3GSM standard on 2100MHz frequency band.

Telstra one of the Australian Company provides the following services to its customers.
1> Video Calling.
2> Picture and Video messaging at high speed.
3> Average data speed upto 200Kbps.

This is all possible because of 3G networks, think Video calling and Video messaging is not easy to achieve. As you all aware of that now a days we are not getting cleare voice due to bandwidth unavailability then think of video calling!!!

Why 3G?
Almost we found difference between 2G and 3G but still we don’t have cleare idea of the services provided by 3G, so one question still eating my head that is why 3G? here is the answer…

The technology ever changing rapidly, everything that we can do in computers can also be done in with our cute small mobile phones right??. Then what we can do with our mobile phones?
1> E-mail — Mobile E-mail
2> E-commerce — Mobile E-commerce
3> Internet Service Provider — Mobile Internet Service Provider
4> Internet Access — Mobile Internet Access
5> Entertainmet — Mobile Entertainment.

Now got the difference? Now a days people don’t want to carry the laptops because they are larger in size, height weight right? so ultimately mobile phones are the one which are small and easy to carry.

Then let me explain bit more about the standards followed by 3G.
1> It is defined by International Telecommunication Union ( ITU ) with IMT-2000 standards.
2> IMT 2000 standards.
i) Can use W-CDMA (http://en.wikipedia.org/wiki/W-CDMA)
ii) CDMA-2000 (http://en.wikipedia.org/wiki/CDMA2000)
iii) TD/CDMA and TD/SCDMA (http://en.wikipedia.org/wiki/TD-SCDMA)
iv) Mobile WiMax (http://en.wikipedia.org/wiki/WiMAX)

3G provides greater degree of security than 2G. 3G uses KASUM1 block crypto. 3G has few other characteristics.
1> Flexibility – before 3G mobile operators are avoiding to have wide randge of different interfaces and technology for world wide growth. This is because 2G is not flexible but 3G is very flexible it is capable of supporting a wide range of services and applications.
2> Affordability- Not much to discuss.
3> Compatibility with existing system- 3G is compatible with existing 2G network.

We all read 3G is faster, it provides great services , it gives this, that and that. But again why 3G is faster? Ya I tried to understand this, and finally got some points.

High Speed Download Link Packet Access (HSDPA) – HSDPA is a 3G mobile telephony protocol which allows networks to have high data link transfer speed and capacity. Currently HSDPA download link speed are 1.8, 3.6, 7.2, and 14.4Mbps. Further HSDPA+ provides 42Mbps download link speed. Just imagine mobile phones started with just a simple call, then messages, MMS, now Internet access with 14.4 and 42Mbps. wow what a technology…

HSDPA improved performance by Adoptive Modulation and Coding( AMC ), Fast Packet Scheduling at base station, and Hybrid automatic repeat-request (HARQ) these are all the key factors that made 3G faster.

Finally I would like to suggest my juniors who are reading this article, that is try to do your final year project in such a new and innovative topics, it would be great fun right.

Dear friends I am not yet in depth in this subject because networking is a very vast subject, I tried my level best to explain all the terms. If you find any mistakes please inform me.

Permalink 3 Comments

COM – Component Object Model

February 8, 2009 at 11:50 AM (Technical Articles)

Microsoft COM (Component Object Model technology in the Microsoft windows family of operating systems enables software components to communicate.COM is used by developers for three purposes.
1> To create re-usable software component.
2> To link components.
3> To take advantage of Windows services. The family of COM technology includes COM+, Distributed COM(DCOM & ActiveX.
Definition:COM is a platform independent,distributed,Object oriented system for creating binary software components.
COM is an underlying architecture that forms the foundation for high-level software services,like OLE. OLE technology build with COM as a foundation. COM objects are discrete components,each with a unique identity, that expose interfaces that allow applications & other components to access their features. COM objects are completely language independent.
As i said COM objects are language independent.This is because a COM object once developed will be released in binary version.As it is in binary version anybody can use it regardless of language that they are working on. Application developer need not to worry about how it works? how it is implemented? they just purchase that object and make use of that object in their application. Again i am telling OLE is a best example for a COM object & we all know that it used in .net platform, Java, Oracle and hence is language independent.
A bit of information about OLE. OLE is a Object Linking & Embedding. It is an object based service that allow applications running in the same computer to interact & share information. OLE is the first object model that was developed for Windows-95 in 1993.One of the use of OLE is handling databases. You might already be aware of OLEDB ,in .net and java platforms we can’t handle databases directly instead we might use SQL,Oracle as back end. But did you thought how it is possible? how the .net and SQL interact with one another? yes our boss OLEDB made our work easy. It knows how to interact with SQL, how to handle database.The developer simply use it leaving everything to OLE DB. Now I think you got an idea about COM objects, is it??
A bit of information about ADO.Net.
MySQLDirect.Net is data provider for direct access to MySQL database service for Microsoft.Net framework. It is Completely based on ActiveX Data Object(A COM object). It is usually called as ADO.Net. OLE DB data providers can be created to access such simple data stored as a text files & spreadsheet through such a complex databases as oracle and SQL server etc.
Here I am following some links to get an idea about COM.
Role of COM in Applications, Follow this link:
http://i.msdn.microsoft.com/ms809332.dcomhb_2(en-us,MSDN.10).gif
Then how .Net make use of COM? Calling a COM object from .Net run time:
http://msdn.microsoft.com/en-us/library/Aa446523.med301_msdn_com_netcf2_09(en-us,MSDN.10).gif
Now come to the point of Windows services that are provided by a windows operating system. The list grows if I started to specify all the services. So I am pointing some of them,that are, Windows print spooler, Task scheduler, Windows Audio, Windows Time,TCP/IP helper, etc. Now the developers make use of COM objects to take advantage of such services in their applications.
DCOM:Two computers that are in different places can communicate with each other through COM object usually called as DCOM(distributed COM).
A bit of information about ActiveX.ActiveX is a set of technologies from Microsoft that enables interactive content for the world wide web(www).Before ActiveX web content was static, 2dimensional text & graphics. with ActiveX web sites become alive. Using Multimedia effects,interactive objects & sophisticated applications. So to have an interactive web ActiveX is very helpful which is a COM object.
One more example for COM object is, there is something like Quartz library which provides a COM object that can play various types of audio files, including WAV,MP3 formats, it is provided through quartz.dll it is included as a part of DirectX with Media Player. It can be used directly in .net platform just by importing quartz.dll.
So here I explained about COM under the limit of my knowledge, I am not a veteran in this field, I explained as much i know. If there are any mistakes found please do inform me with your useful comments

Permalink Leave a Comment

A Message for New Year

February 8, 2009 at 11:41 AM (New Year)

Dear all first of all I Wish You Happy New Year – 2009″.
Again new year comes, the world started to dream over the future, so many new expectations, new ideas, new thoughts,new adventures, new inventions are waiting for this new year.
I don’t want to remind you the worst situations that we come across in the last year, but instead let me smell the future and hence later we can taste it as a present, so let me discuss what are
the key challenges that we have to catch in our hands in this new year.
Every one knows that the world is facing terrorism, According to me, we first have to destroy the terrorism from the root, of course we have to build our country in the area of technology, education, economy and so many, but for all such achievements terrorism is the obstacle, so let us plan properly to remove it from the root.
Ha before that we should take care to thank and pray for those who have defended our nation throughout the year – our soldiers, airman, guardsmen and marines. we have to plan to secure a future of peace for mankind, for that it is required a sustained commitment from all of us.
If we succeed to stop terrorism it would be the great achievement in this new year and it will be possible only when every one work over that, every one has to understand his responsibility and every one has to fulfil it.
OK next come to the point of economy,the world’s economic condition is touching the worst condition, we have to take a step over it, this will be the next achievement and every one knows how much important it is, its a financial matter so it will be very important, is it not??? . Although the electronics industry frequently traverses its own peaks and valleys, its journey is still linked to the overall global economy. As the global economy downshifts from its current growth, it will influence the electronics industry in a variety of ways, as we are software engineers we have to work hard to overcome from that.
Arre we discussed about social, financial matters but we are science students, we forgot to discuss about science,so come to the point , let me discuss some thing new, Astronomy?? Most of us are software engineers but forget the software for a while…
NASA already found water over the surface of Mars, then what next?? ya in 2009, why can’t we try to move beyond the Milky Way? hmmm this is very difficult task and for some extent it is not possible also, you might know that to achieve this we have to travel at the speed of light, yes only 299,729,458 m/s. Ufff is it too much???… several scientists say it is not possible but we have to aim for high, I think
NASA still trying to achieve it.
So finally A message to this world for the New Year, from my side,
” Take the current conditions as challenge for us, Aim for high, work over that direction to reach the peak, Give more and more innovative thoughts to the world and make this 2009 successful”.
OK we all planned for new ideas for this new year, Aren’t you?? but how can i forget the one who gives energy to achieve all these, yes let me pray at god so that he support us to achieve all these and pray for a peaceful future for all of us.
Dear all you might be thinking why I discussed some non related topics like Astronomy! ya my intention is to give a message that inspire all of us to aim for high, I said NASA might try to go beyond the Milky Way which is not possible for some extend but i think still the NASA finding some other way to achieve this, so we all have to try to do some innovative works( some thing new, right!!).
Specially for my juniors, who will enter into corporate life soon, this is the right time for you people to think about your future, achieve something new in your chosen area of technology. I always try to tell something to my juniors, because i believe the words said by Swami Vivekananda, that is Youth are backbone of the country and are leaders of the tomorrow. so All the best to them.
Finally I would like to end up with some Quotations given by the
Great person Swami Vivekananda, that will inspire you to do such works.
A nice Quote on Success.
“Take up one idea, make one idea your life, think of it, dream of it, live on the idea Let the brain, muscles, nerves every part of your body be full of that idea and just leave every day other idea alone this is the way to success.”
“We are responsible for what we are,
and whatever we wish ourselves to be.
we have the power to make ourselves,
If what we are now has been the result of our own past actions,
It certainly follows that whatever we wish to be in future can be
produced by our present actions so we have to know how to act.”
So try to become a WINNER in this new year, ha again i remembered one more quote when i used the word winner, that is,
A Winner,
” A WINNER IS A DREAMER WHO JUST WONT QUIT”
New bridges to cross, New goals to meet and New memories to be made , Happy New Year and All the best to all…

Permalink 1 Comment

C++ Concepts

February 8, 2009 at 11:18 AM (Technical Articles)

Hi friends, this time i am discussing few C++ concepts, this is mainly for my juniors, who are eager to work in a software company, as they are in final year, very soon they will introduce them self to the world of technology.

Today I am discussing two main concepts, Virtual Functions and Name Mangling. Every one suggest us that, get the knowledge about the concept in depth. But there may be several mind storming questions arise in students, like how to go in depth? what is meant by depth? in which way i have to work?…such questions arise, right? so here I am trying to explore the things little bit in depth( Again the same word depth!!!), and i think it might help you.

OK THEN START…
1> Virtual Functions-
A simple web definition for Virtual function is a member function of a class , whose functionality can be overridden in its derived class. Here we come to the point of difference between overloading and overriding(Then search in google you will get enough information on that). With the concept of virtual functions in C++ a new mechanism evolved, that is called as dynamic binding. Dynamic binding is nothing but deciding which function to be called at run time. I don’t want to expose much about dynamic binding since text books have explained enough about that. Then you might thinking that, what Sadanand is going to discuss about virtual Functions? right??
Continued..
Then think, how exactly virtual functions are handled ? We have both
non-virtual and virtual functions in a class, then how exactly compiler deals with virtual functions? Till now i did not read any such aspects in text books, but Google know what the people are looking for! yes i used Internet to get such information. I am trying to discuss what exactly happens internally when we use virtual functions.

when you declare a virtual function in a class, an object in the memory looks more beautiful than the object without virtual function, then how objects looks in memory?
(Sorry friends i can’t attach image here, i tried but it was not attaching, so please mail me i will send the image indicating object in memory… steggi_cs@yahoo.co.in).

So an object contain a hidden VPTR (Virtual pointer) which is pointing to VTABLE (Virtual table). Assume that an object contain two data members X and Y, then along with these an extra hidden pointer is supplied by Compiler. Friends are you not getting a question in your mind ? that what the VTable contains? is VTABLE exist for all objects? here is the answer..

VTable contains addresses of all the virtual functions declared within a class so if a class contain two virtual functions then it contains addresses of both the virtual functions assume that two functions are f() and g(), then VTable contains addresses of both the functions . When a virtual function is called compiler will resolve the function call with the help of VPTR. VTable is global to a class, i mean to say all the objects will share the same VTable, but each object has its own VPtr.

since an object contain an extra hidden VPtr, then think of about the size, and check it by yourself, print the sizeof an object that contain virtual function, and remove the virtual function and then print the size, then think over that.

class X
{
int a; int b;
public:
virtual void func1();
};
void X:: func1()
{ cout<<“I am in Virtual Function”;
}
main()
{
X *Obj1 = new X();
cout<<“size of an object “<
}// it suppose to print 8bytes( size of int assumed 4 bytes), but it prints 12 bytes due to VPtr
how 12 bytes? size of obj = sizeof(a) + sizeof(b) + sizeof VPtr = 4 + 4 + 4 =12.

These are the very few points i discussed, but more & more you will get in Internet, so i would like to suggest you to read ,to think, to work in that way, think what happens internally, don’t just work blindly, yes even i did the same when i was in college, but once I joined Robosoft I learnt lot and lot, but i suggest you to read now only, specially one who recruited for Robosoft in my juniors batch.

2> Name Mangling-
It is the technique used to solve various problems caused by the need to resolve unique names for programming entities. It is useful to pass more semantic information from compiler to linker.
simple example to demonstrate name mangling.

void func();
class X
{
public:
void func();
};
see in this program, function func() appeared in two different scopes, one at global scope, another at class scope,but question is how compiler handle such things? Interesting thing is while function call there will not occur any name clashes, then ask your self Why there is no name clash? since both functions have same name, then how compiler handles?,
Compilers use the technique of name mangling to resolve such issues.

Dear friends we simply read the text, executed the programs, but we never thought of this, , so my dear friends start working now only, think over those things.

OK let me explain how name mangling done at compiler level? in the above example both the functions are assigned a unique name internally, the mangled names might be like this , _func() and _X_Func() this is not the exact one i specified, different compilers handle differently( link:http://en.wikipedia.org/wiki/Name_mangling ).

Finally i would like to say some words for my juniors, As you all know that C/C++ are the most important languages,whatever new language emerges into the market, internally that language make use of C/C++ concepts, so try to be depth in C/C++. search in Google, wikipedia you will get huge information over there. Here I am trying to show the way how we should read, how we should think, ok!! then I will give you some tips which help you to think over such things.

then How to work???
some tips from my side,

1> When you call a function-
Don’t blindly do the job, just think over the arguments, where they will be stored in memory? as we studied in Microprocessor memory is divided into several chunks, Data segment, text segment, heap etc right? then where the function arguments stored? where the static data members stored? where the local variables of functions stored? etc think in that way and search if you did’t get..

2> Return type –
In operator overloading , most of the operators return reference types, not an object type, then think why reference type return?
See this example.

int a[5] = {0}; //Global
int& funct(int index) //refernce type return value
{ return a[index];
}
main()
{
funct(3) = 10;
//Strange right? function call at the left side of assignment
// remove that reference type return and execute, you will get error Then think why error???
}

3>Static Data-
You all worked with static data members in a class, but have you tested them declaring in template classs? so what happens when you declare a static data members in template class?

 

4> What is the use of function pointers?
in college we just read about this but never tried right? so then try this.

Hope my words might touch your mind, i tried my level best to explore the concepts, this is not the final one, you think over them and do inform me if you get any mistakes. If you really feel that this article helped you, to improve your knowledge then please post me the comments and it would encourage me to write few more such articles.

 

Permalink 1 Comment

FUTURE OPERATING SYSTEM

February 8, 2009 at 11:10 AM (Technical Articles)

Hi friends, Why can’t you think of this! You would be the first person on Earth to run an 80- Core, 10GHz , 2TB RaM machine, OK then what should I run on that machine? Vista, Ubuntu, Mac OS X or Linux? What a hell !!! No I don’t want any of these OS, I want something new OS, That is what am looking for.
Future Operating system(I don’t know who will develop this, Even I don’t know name too). So here i have collected some features of Future OS, I collected some of information from magazines, and Internet(Obviously Google…) .

Features Of Future OS:
a> Light and Fast:Instead of taking too much time to boot & instead of greedy in memory, the OS should use same memory as windows XP for resources & should be fast enough. Have an OS , so that as soon as I switch on button, and desktop shows up the next moment(Just like your TV). I recently read an article, in that they specified that 2 Intel Engineers managed Linux to boot within 5 seconds. (link : http://www.engadget.com/2008/10/07/eee-pc-modded-by-intel-engineers-to-boot-in-five-seconds/) So Future OS should be fast enough, not only in booting instead in every operations.

b> Interface:This is something important! and till now touch is given(i.e touch screen), iphone,Apple’s ipod touch and now windows7(Next version of windows, successor of vista) with multitouch capability. But in future we might see thought computing capability in OS. Yes this is not only the duty of OS developers!! but it is possible if research goes successful.

c> 64 bit computing:I don’t want to discuss much about this, because it is already implemented. Apple’s Snow Leopard,Ubuntu,Windows7 already have this feature.

d> Any where computing: This is one of the beautiful feature, Applications in an OS should capable to work over any other OS. Note:One of the Ambitious project, Alky project which wanted to make it possible for DirectX games to run on Linux & Mac,but the effort was failed , but they tried in the right way. Ref: fallingleafsystem.com

e>Ideal OS:An Ideal OS, which does most of the work in background, for example, If user connect any new device, My OS should search a driver for that in Internet and it should install that driver within fraction of seconds automatically( Fast enough). This is what we call as Version Control At OS Level.

OK friends till now i discussed the ideas that i read in some magazines and some sites and Now i want to expose my own ideas about Future OS.

My own ideas:
1> Virtual View : I would like to have same view (desktop), same files, same settings, favorites, Documents at every device in the world, Confused
OK let me expose my point in detail, A Future OS should make an image of my whole system and it should be saved in server, it should allow me to have a feel of my personal system at any corner of the world, for example, if i go to Banglore(now am in Udupi)and sit in an Internet cafe there i should be able to access my system drives and i should able to update my system’s any file,or application etc. So it should work as my personal system .

2> Platform In dependency:My OS should do everything in background, say some one edited a file in some other OS & if i just copy that file into my PC it should able to open it. My OS should convert it silently to compatible format, and it should not report any warnings to user , i mean to say everything should be done silently. That is what platform independency.

3>Object Oriented : I want to have a completely Object Oriented OS, In current Operating systems we have a file concept, but it is not that much secured(Viruses will attack easily). So if we handle everything as an Object it is possible to give more security.. is it not???

OK friends these are the few ideas that i exposed regarding Future OS, and see what a technology we have , Hats off to software and hardware developers who brings us some exciting products out. Here by sitting in home we might write an article saying that i want that, this and this!!!!! But think how hard to meet such ideas in real time!!!

Friends I mentioned very few ideas about Future OS, and I would like to tell you one thing, that is, please try to think over this & you might have any such ideas in your mind please post me such ideas here is my E-Mail id steggi_cs@yahoo.co.in .

And at the beginning i said that i don’t know who is going to develop such OS, now i am asking why cant you? Dear friends it is not a joke!! am serious why can’t you develop such OS? Every one might know the fact that DOS Operating system was written by a single person Tim Peterson in only 7 days, and Google was opened by two persons in a small house and within 10 years it become Top one in IT sector, so think, why can’t you develop such an OS in future!!
Think! Think! Think!…

Ok now i finish the words of this article, but how can i forget the person who helped me lot while writing this article!! Yes My senior, Kiran Handi , He helped me lot while writing this article, so let me say Thanks to him, Thank You Kiran.

Permalink Leave a Comment