Category Archives: Technology

SMIv2-Structure of Management Information

The Structure of Management Information version 2(SMIv2) is component for network management. Its Functions are:

  1. To name Objects.
  2. To define the type of data that can be stored in an object.
  3. To show how to encode data for transmission over the network.

SMI is a guideline for SNMP. It emphasizes three attributes to handle an object: name, data type, and encoding method.


SMI requires that each managed object (such as a router, a variable in a router, a value, etc.) have a unique name. To name objects globally, SMI uses an object identifier, which is a hierarchical identifier based on a tree structure.

The tree structure starts with an unnamed root. Each object can be defined using a sequence of integers separated by dots. The tree structure can also define an object using a sequence of textual names separated by dots. The integer-dot representation is used in SNMP. The name-dot representation is used by people.

The image shows the same object with two different notations: <——–>

The objects that are used in SNMP are located under the mib-2 object, so their identifiers always start with


The second attribute of an object is the type of data stored in it. To define the data type, SMI uses fundamental Abstract Syntax Notation 1 (ASN.1) definitions and adds some new definitions. In other words, SMI is both a subset and a superset of ASN.1.

SMI has two broad categories of data type:


Simple Type – Simple Data Types are atomic data types. SOme of them are taken directly form ASN.1; some are added by SMI.
Structured Type – By combining simple and structured data types we can make new structured dat types. SMI defines two structured data types

  • SEQUENCE – A Sequence data type is a combination of simple data types, not necessarily of the same type. It is similar to the                                                  STRUCTURE used in C.
  • SEQUENCE OF – A Sequence of data type is a combination of simple data types all of the same type or combination of Sequence data                                           types all of same type. It is similar to ARRAY used in C.

I hope you have now understood what SMIv2 is and why, how, and where it is used.


SNMP-Simple Network Management Protocol

Many of my friends asked me to write on SNMP since they didn’t get much information about it from the Internet. So this post is for my friends who want to read about Simple Network Management Protocol (from now on SNMP) .

The SNMP is a framework for managing devices in an Internet using the TCP/IP protocol suite. It provides a set of fundamental operations for monitoring and maintaining the Internet.


SNMP uses the concept of manager and agent. That is, a manager. usually a host,controls and monitors a set of agents, usually routers.

SNMP is an application-level protocol in which a few manager stations control a set of agents. The protocol is designed at application level so that it can monitor devices made by different manufacturers and installed on different physical networks. In other words, SNMP frees management tasks from both the physical characteristics of managed devices and the underlying network technology. It can be used in heterogeneous internet made of different LANs & WANs connected by routers made by different manufacturers.

Managers and Agents

A management station, called a Manager, is a host that runs the SNMP client program. A managed station, called the Agent, is a router (or a host) that runs the SNMP server program. Management is achieved through simple interaction between manager and an agent.

The agent keeps performance information in a database. The manager has access to the values in the database. The manager can also make the router perform certain actions.

Agents can also contribute to management process. The server program running on the agent can check the environment and, if it notices something unusual, it can send a warning message (called a TRAP) to the manager.

In other words. management with SNMP is based on 3 basic ideas:

  1. A manager checks an agent by requesting information that reflects the behavior of the agent.
  2. A manager forces an agent to perform a task by resetting values in the agent database.
  3. An agent contributed to the management process by warning the manager of an unusual situation.

Management Components:

To do  management tasks, SNMP uses to other protocols

  • Structure of Management Information (SMI)
  • Management Information Base (MIB)

In other words, management of Internet is done through the cooperation of 3 protocols: SNMP, SMI, MIB

SMI & MIB discussed in above posts.

Why IPv6 was born

The network layer protocol in the TCP/IP protocol suite is currently IPv4. IPv4 provides the host-to-host communication between systems in the Internet. Although IPv4 is well designed, data communication has evolved since the inception of IPv4 in the 70s. IPv4 has some deficiencies that make it unsuitable for the fast growing Internet, including the following:

  • Despite all short term solutions,such as subnetting, classless addressing, and NAT, address depletion is still a long term problem in Internet
  • The Internet must accommodate real time audio and video transmission. This type of transmission requires minimum delay strategies & reservation of resources not provided by IPv4 design.
  • The Internet must accommodate encryption & authentication of data for some applications. No encryption or authentication is provided by IPv4.

To overcome these, IPv6 also known as IPng (Internet Protocol next generation) was proposed and is now a standard.In IPv6, the Internet protocol was extensively modified to accommodate the unforeseen growth of the Internet. The format and the length of the IP addresses were changed along with the packet format. Related protocols such as ICMP were also modified. Other protocols in the network layer, such as ARP, RARP, IGMP were either deleted or included in ICMPv6 protocol. Routing protocols such as RIP and OSPF were slightly modified to accommodate these changes.

The adoption of IPv6 has been slow. The reason is that the original reason for its development, depletion of IPv4 addresses, has been slowed down because of 3 short term remedies

  • Classless addressing
  • Use of DCHP for dynamic address allocation
  • NAT

However, the fast spreading use of Internet and new services such as mobile IP, IP telephony, and IP-capable mobile telephony, may require the total replacement of IPv4 by IPv6.

Advantages os IPv6

Larger address space-An IPv6 address is 128 bit long. Compared with the 32 bit long IPv4 address, this is huge increase in address space.

Better Header format-IPv6 uses a new header format in which options are separated from the base header and inserted when needed, between the base header and the upper layer data. This simplifies and speeds up the routing process because most of the options do not need to be checked by routers.

New Options-IPv6 has new options to allow for additional functionalities.

Allowance for extension-IPv6 is designed to allow the extension of protocol if required by new technologies or applications.

Support for resource allocation-In IPv6, the type-of-service field has been removed, but mechanism called Flow label has been added to enable the source to request special handling of packet. This mechanism can be used to support traffic such as real-time audio and video.

Support for more security-The encryption and authentication options in IPv6 provide confidentiality and integrity of the packet.


Above figure shows the IPv6 header

Objective C

Objective-C is the primary language used to write Mac software. If you’re comfortable with basic object-oriented concepts and the C language, Objective-C will make a lot of sense.

Objective-C is a thin layer on top of C, and moreover is a strict superset of C; it is possible to compile any C program with an Objective-C compiler, and to freely include C code within an Objective-C class.

Objective-C derives its object syntax from Smalltalk. All of the syntax for non-object-oriented operations (including primitive variables, preprocessing, expressions, function declarations, and function calls) are identical to that of C, while the syntax for object-oriented features is an implementation of Smalltalk-style messaging.

The id Variable Type

The variable type that is added by Objective C is id. It is the default type for objects in Objective C. Think of this as a special variable type (which is actually a pointer to a special data structure – namely the object)

All objects can refer to themselves by using the label self. This is necessary if, in the code that defines the object, the programmer wants to make the object execute one of its methods. For example, suppose an object has a method called updateRecords. If a command

[self updateRecords];

is received, then the updateRecords command will be executed, presumably to cause the updating of instance variables.

All objects can refer to superclass by the name super. For example:

[super updateRecords]

Interface File: Declaration of a Class

If you look in a directory where some Objective C Swarm code resides, you will see files in pairs, such as ObserverSwarm.h and ObserverSwarm.m, ModelSwarm.h and ModelSwarm.m, and so forth. The “h” files are the interface files (commonly called header files), while the “m” files are the implementation files

Figure 3-1. Objective C Basics 

As illustrated in Figure 3-1, the interface declares the name of the class and the name of its superclass. Then it gives a list of variable types and names enclosed by braces ({}), and then the names of the methods that the class can implement are listed. The variables defined in this list can be used by any of the methods defined for the class. (These are often called “ivars”, short for instance variables.)

Example 3-1. Objective C class 

(1)@interface Bug(2) : SwarmObject(3)
  int xPos, yPos;
  int worldXSize, worldYSize;(4)
  id foodSpace;

- setX: (int) x Y: (int) y;(5)
- step;(6)
- (return_type)look: (direction_type) d;(7)

(1) Declarations of instance variables and methods
(2) Sub class
(3) Super class
(4) Instance Variables
(5) declares method called set that takes two arguments
(6) declares a method called step.
(7) declares a method called look that takes one argument of type direction_type and returns an argument of type return_type.

Implementation File: Defining a Class

Each implementation file–the .m that parallels the .h — must import its header file. For the header file described above, called Bug.h, for example, the implementation looks like:

#import "Bug.h"
@implementation  Bug
- setX: (int) x Y: (int) y
 xPos = x;
 yPos = y;
 return self;
- step
 // body
 return self;

- (return_type)look: (direction_type)d
  return_type returnval;
  // body of method
  return returnval;

This example shows a number of important features. First, note that the method look specifies a return type, (return_type). In this example, return_type would have to be replaced by a variable type, such asintfloat, or whatever, and returnval would have to be a variable of that type. When that method is called, the receiving code must be able to accept a return of that type. In contrast, the method step does not specify a return type. That means the default type, id, is returned. The code that calls this method must be consistent with that return type.

The return self command is used for two types of situations. Suppose the method is not intended to create any output, but rather it changes some instance variables. For example, suppose there is some program that creates an instance of Bug called aBug. Then that object is sent this message:

[aBug step]

In such a case, the code that calls that method does not expect anything back from it (except itself). Rather than fuss with void as the return type, as one might in C, one can simply return self.

In another case, one might actually intend to return the object to a list or another object. In such a case, return self will also be appropriate. If one is making a list of collected bugs, for example, then the usage ofreturn self in that method will give back aBug id to the calling program. To be perfectly concrete about it, suppose the calling code has a list called collectedBugs. Then using the addLast notation from the Swarm collections library, the command to add aBug to the list after being collected might look like this:

[collectedBugs addLast: [aBug look:

Firefox 4 beta for mobile now available for download


Mozilla has released the first beta version of their mobile web browser- Firefox4 Mobile. The beta is compatible with Android and Maemo phones.This beta version sports major speed and performance improvements over the previous Fennec pre-alpha and alpha versions. And just as a refresher, those versions were not compatible with Android phones. Mozilla, had however, been offering Firefox Home for Android users allowing them to sync data from the Firefox browser on their PC to their mobile.

The Firefox4 Mobile beta allows users to sync bookmarks, tabs, passwords and history between the PC and the mobile, thanks to the built-in Firefox Sync feature.

The browser also has the pinch to zoom feature for multi-touch capable touchscreen phones. The Awesome Screen feature allows you access to all data like bookmarks, history and the opened tabs by just tapping the address bar.

If you want to see the complete Release Note of this release, click here and if that convinces you to download Firefox4 Mobile beta, then download from here.

source –

Blackberry Playbook-Is it the new iPad killer ??

Now that Blackberry has showcased its Playbook, rumors are on that it will be the iPad killer. But is it so…Lets check out.

What are the specifications?

7-inch screen (1,024×600 pixels)
5.1 inches tall
7.6 inches wide
0.4 inch (9.7mm) thick
0.9 pounds
3-megapixel front-facing HD camera
5-megapixel rear-facing HD camera
1GHz dual-core processor
1080p high-definition video playback
HTML5-capable browser
802.11 a/b/g/n Wi-Fi
Adobe Flash 10.1 support
Adobe AIR support
H.264, MPEG4, and WMV, HDMI video output
Micro USB, Micro HDMI, and DLNA media streaming
Enterprise-strength e-mail security

The specifications are very impressive though and somewhat better than the iPad but the iPad has one big advantage in its favour.

It was first one of its kind and then all of them started imitating it.

Lets have a head to head comparo between the two-

Operating System –

Apple iPad runs on the Apple iOS. iOS is user-friendly and that is the reason behind its popularity.

BlackBerry Playbook runs on BB Tablet OS. BlackBerry Tablet OS is a new QNX-based OS which was announced by BlackBerry on 27th September 2010. QNX Software Systems developed this OS specially for the Playbook.

You can also read the comparison between Apple iOS and Google Android here –

Apple iOS vs. Google Android – Which one is better?

Display –

Apple iPad has a 9.7-inch screen. Resolution – 1024 x 768.

BlackBerry has a 7-inch screen. Resolution – 1024 x 600.

Processor/RAM/Graphics –

Apple iPad sports Apple A4 (ARMv7) – 1GHz Processor, 256 MB RAM and PowerVR SGX 535 Graphics.

BlackBerry boasts dual-core Corex A9 – 1GHz Processor and 1 GB RAM. There is no information about the graphics yet.

Camera –

Apple iPad doesn’t come with any built-in camera.

BlackBerry comes with a 5 MP rear camera and a 3 MP front-facing camera.


Do I need to say it? Of course you can see that BlackBerry Playbook is the tablet of today and it has got far better features than the Apple iPad.

Playbook is better than iPad in almost all the aspects. The only reason why people choose iPad could be the iOS user interface, but BlackBerry’s new Tablet OS will soon be attracting many more geeks. BlackBerry Playbook has got better hardware and Apple iPad has got a better OS and interface, so if you’re the one who wants a better hardware then Playbook is for you else you can choose the iPaditself.

iPad or Playbook – which one do you find better?

NetBeans Platform

Well my earlier post was about NetBeans IDE and now in this post I will explain the NetBeans Platform and the difference between the Platform and IDE

NetBeans Platform

The NetBeans Platform is a reusable framework for simplifying the development of Java Swing desktop applications. The NetBeans IDE bundle for Java SE contains what is needed to start developing NetBeans plugins and NetBeans Platform based applications; no additional SDK is required.

Applications can install modules dynamically. Any application can include the Update Center module to allow users of the application to download digitally-signed upgrades and new features directly into the running application. Reinstalling an upgrade or a new release does not force users to download the entire application again.

The platform offers reusable services common to desktop applications, allowing developers to focus on the logic specific to their application. Among the features of the platform are:

  • User interface management (e.g. menus and toolbars)
  • User settings management
  • Storage management (saving and loading any kind of data)
  • Window management
  • Wizard framework (supports step-by-step dialogs)
  • NetBeans Visual Library

Now lets move onto the other topic that i I want to cover in this post and that is Rich Client Platform Development

Rich Client

In a client server architecture the term “rich client” is used for clients where the data processing occurs mainly on the client side. The client also provides the graphical user interface. Often rich clients are applications that are extendable via plugins and modules. In this way, rich clients are able to solve more than one problem.

Rich clients have the advantage that they are easy to distribute and update, such as via an automatic online update function within the client itself or through a mechanism that enables the rich client to start over the Internet (for example, via Java Web Start).

The important characterstics of the rich client are:

• Flexible and modular application architecture

• Platform independence

• Adaptability to the end user

• Ability to work online as well as offline

• Simplified distribution to the end user

• Simplified updating of the client

Rich Client Platform

Rich Client Platform (RCP) is software consisting of the following components:

  • A core (microkernel), lifecycle manager
  • A standard bundling framework
  • A portable widget toolkit
  • File buffers, text handling, text editors
  • A workbench (views, editors, perspectives, wizards)
  • Data binding
  • Update manager

With it, programmers can build their own applications on existing platforms. Instead of having to write a complete application from scratch, they can benefit from proven and tested features of the framework provided by the platform. Building on a platform facilitates faster application development and integration, while the cross-platform burden is taken on by the platform developers.

Their creators claim that programs built with RCP platforms are portable to many operating systems while being as rich as client-server applications which use so called fat clients or traditional clients.

NetBeans 6.9.1 released

As you all might be knowing NetBeans is a free open source IDE for software development. Basically, you can create Desktop Applications, Web-based Applications, Mobile Applications & Enterprise Applications using JAVA in NetBeans. Also you can create C/C++ programs in Netbeans IDE.

So in all NetBeans is a very powerful IDE(Integrated Development Environment) that can be used to create very good looking and powerful applications in a very simple way.

The latest version of Netbeans is the Netbeans 6.9.1.

Its features are:

  • JavaFX Composer
  • Support for JavaFX SDK 1.3
  • Support for the PHP Zend framework
  • OSGi interoperability
  • Ruby on Rails 3.0
  • Well lets start with understanding the following:

    Java Desktop Application-

    Well as the name suggests it is a desktop application which can be created using the Swing library. NetBeans provides a Swing GUI builder which can reduce a lot of effort and hence lead to more productivity. The basic aim of providing such builder was only to help the user focus more on programming rather than the GUI.

    Java Enterprise and Web Applications-

    A very good web based application can be created using this.  Build web applications using CSS, JavaScript, and JSP: Support for frameworks includes JSF (Facelets), Struts, Spring, Hibernate, and a full set of tools for Java EE 6, CDI, GlassFish 3, EJB, and web services development.

    JAVA Mobile Applications-

    Create Mobile applications for Mobile devices using JAVA ME SDK 3.0 combined with JavaFX Mobile.

    C & C++ Development-

    Create C/C++ programs, test them , debug them all in a single IDE. Also run multiple projects at one time which cannot be done in Turbo C++ IDE.

    JavaFX Composer-

    JavaFX Composer is a new visual editor plugin for NetBeans 6.8 (similar to Project Matisse for Swing) that uses components in the JavaFX SDK.  DZone recently interviewed the JavaFX Tools QA Team lead at Sun Microsystems, Lukas Hasik, to see how developers were responding to the new tool and find out when the GA release is coming.  The plugin is still in the process of adding more features, and community feedback is crucial for deciding those features.  It currently resembles tools like Flash Builder and Microsoft Blend, but it makes things easier on developers who don’t have design training.

    for more information on NetBeans 6.9.1 visit the link given below:

    here is the release note of NetBeans 6.9.1


    Apple iOS 4-vs-Android

    The competition between Apple and Google is getting intense as the two companies battle for supremacy in the smartphone business.

    Last month, Google updated its Android operating system, introducing Android 2.2, aka FroYo.  On Monday, Apple shot back by making its latest mobile operating system, iOS 4 — formerly called iPhone OS 4.0 — official.

    Apple’s iOS 4, which will be available to customers starting June 21, includes some much-awaited new features such as multitasking that will allow users to listen to music, check e-mail and answer a call at the same time. Other additions are a unified e-mail inbox, folders that can help organize your apps and access to Apple’s digital bookstore.

    But all this doesn’t mean iOS 4 is ahead of Android.

    Read on to see how the latest versions of the two operating systems stack up.
    iOS 4 Android 2.2 aka FroYo
    Devices iPhone 4 and iPhone 3GS. Available for iPhone 3G and iPod Touch but some features not supported. iPad (coming Fall 2010). None right now but HTC Nexus One, Motorola Droid likely to move to Android 2.2.
    Availability Available to developers now. iPhone 3G S, iPhone 3G and iPod Touch consumers get a free upgrade on June 21. iPhone 4 available on June 24. Available to developers now. Available to some Nexus One users now. Updates to other devices “coming soon.”
    Tethering Yes Yes
    Flash Support No. Apple says it supports only two platforms: HTML 5 and its app store. Yes. Beta version of Flash Player 10.1 available on Android 2.2.
    Multitasking Yes Yes
    Hot-Spot Capability No Yes. Wi-Fi can be shared with up to 8 devices.
    Folders Yes Yes
    Copy and Paste Yes Yes
    Video Chat Native support (only on iPhone 4 hardware) Available only through add-on apps.
    Books Support for iBooks to download and read digital books. Available only through add-on apps.
    Music Available through iTunes; automatic syncing with desktop iTunes. Streaming music only supported through apps. Built-in ability to play MP3 files, but no syncing with your desktop music. Streaming music available via add-on apps.
    Apps 200,000 iPhone apps 50,000 Android apps
    Ads In-app ads through iAds. Apple sells and hosts the ads and shares revenue with developers. Payment through iTunes. In-app ads available through Google Mobile ads. Adsense for mobile ads is in beta mode for developers.
    E-Mail Unified inbox combines multiple e-mail accounts. Threading of conversations. No unified inbox. Threading available in Gmail.

    Apple iOS 4-The most innovative mobile OS

    iOS is Apple‘s mobile operating system. Developed originally for the iPhone, it has since been shipped on the iPod Touch and iPad as well. Apple does not permit the OS to run on third-party hardware. As of September 1, 2010, Apple’s App Store contains more than 250,000 iOS applications[1], which have collectively been downloaded more than 6.5 billion times, as per a keynote on September 1, 2010.


    The user interface of iOS is based on the concept of direct manipulation, using multi-touch gestures. Interface control elements consist of sliders, switches, and buttons. The response to user input is immediate and provides a fluid interface. Interaction with the OS includes gestures such as swiping, tapping, pinching, and reverse pinching. Internal accelerometers are used by some applications to respond to shaking the device (one common result is the undo command) or rotating it in three dimensions (one common result is switching from portrait to landscape mode).

    iOS is derived from Mac OS X, with which it shares the Darwin foundation, and is therefore a Unix-like operating system by nature.

    iOS 4 is the next generation of the world’s most innovative mobile operating system. Its unique capabilities and new technologies will change what’s possible on a mobile platform.



    iOS 4 delivers seven new multitasking services that allow your apps to perform tasks in the background while preserving battery life and performance. These multitasking services include:

    • Background audio – Allows your app to play audio continuously. So customers can listen to your app while they surf the web, play games, and more.
    • Voice over IP – Your VoIP apps can now be even better. Users can now receive VoIP calls and have conversations while using another app. Your users can even receive calls when their phones are locked in their pocket.
    • Background location – Navigation apps can now continue to guide users who are listening to their iPods, or using other apps. iOS 4 also provides a new and battery-efficient way to monitor location when users move between cell towers. This is a great way for your social networking apps to keep track of users and their friends’ locations.
    • Push notifications – Receive alerts from your remote servers even when your app isn’t running.
    • Local notifications – Your app can now alert users of scheduled events and alarms in the background, no servers required.
    • Task finishing – If your app is in mid-task when your customer leaves it, the app can now keep running to finish the task.
    • Fast app switching – All developers should take advantage of fast app switching, which allows users to leave your app and come right back to where they were when they left – no more having to reload the app.


    Apple’s new mobile advertising platform, combines the emotion of TV ads with the interactivity of web ads. When users click on mobile ads they are almost always taken out of their app to a web browser, which loads the advertiser’s webpage. Users must then navigate back to their app, and it is often difficult or impossible to return to exactly where they left. iAd solves this problem by displaying full-screen video and interactive ad content without ever leaving the app, and letting users return to their app anytime they choose.

    iOS SDK 4 lets developers easily embed iAd opportunities within their apps, and the ads are dynamically and wirelessly delivered to the device. Apple sells and serves the ads, and developers receive 60 percent of iAd revenue.

    Game Center

    iOS SDK 4 includes the Game Kit APIs that allow you to create apps that will work with Game Center, Apple’s new social gaming network. Your users can invite friends to play a game, start a multiplayer game through auto-matching, track their achievements, and compare their best scores on a leaderboard.

    New APIs

    iOS SDK 4 contains over 1,500 new APIs to incorporate into your iPhone and iPod touch apps, including:

    Calendar Access –Apps can now create and edit events directly in the Calendar app with Event Kit. Create recurring events, set up start and end times and assign them to any calendar on the device.

    In-App SMS-Compose SMS messages from within apps, similar to the Mail compose sheet added in iOS SDK 3.0.

    Photo Library Access-Applications now have direct access to user photos and videos with the Media Library APIs.


    Accelerate provides hundreds of mathematical functions optimized for iPhone and iPod touch, including signal-processing routines, fast Fourier transforms, basic vector and matrix operations, and industry-standard functions for factoring matrices and solving systems of linear equations.

    Automated testing

    Automate the testing of your application by scripting touch events using the new UIAutomation Instrument.

    Performance and power analysis

    Collect finely-grained performance data and track the power usage of your application using the new Time Profiler and Energy Diagnostics Instruments for iOS.

    iOS 4 Compatibility

    iOS 4 works with iPhone 3G, iPhone 3GS, iPhone 4, and the second, third, and fourth-generation iPod touch. iPad support will be available in the fall. Not all features are compatible with all devices. For example, multitasking is available only with iPhone 3GS, iPhone 4, and the third and fourth-generation iPod touch.

    %d bloggers like this: