Monthly Archives: October 2010

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.

Name

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:

iso.org.dod.internet <——–> 1.3.6.1

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

Type

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
  • STRUCTURED

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.

Advertisements

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.

Concept

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)

@end
(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:
aDirection]];

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 – ndtv.gadgets.com

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
1GB RAM
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.

Conclusion-

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?

To IT or Not to IT

This post is for all the people who want to make a career in IT industry.

Well, if you guys think IT industry is an easy source of income, then just remove the thought from your mind because it is the most stressing sector.

IT industry has one simple motto-PERFORM or PERISH.

You don’t work extra time to earn more money but you do so to keep your job intact. The competition is so intense and cut throat that performance matters a lot. Hence there is an inherent pressure on every employee to perform since there are many others standing in the queue to take up the same position.

So a lot of stress is generated because of this pressure of performance and the insecurity of job.

It’s like a mirage that a thirsty traveler sees in the desert. It calls you towards itself and you jump to it like anything.

The Flytrap that looks beautiful in appearance but when a fly goes near it, it traps it. Well not in complete literal sense but IT industry can be compared to the Flytrap and the employee to the Fly. It does not kill the employee but the burdens of work do lead to a similar state.

I am not saying that it is the worst industry in the world but what I want to say here is that its not where you think that you would go at 9 in the morning and come back at 7 in the evening keeping work at the office. Its an industry where you might have to work whole night at office or at home.

Every penny you get from an It Firm should earn at least 5-10 times for the firm. Like for example if you are getting 2000Rs a day from an IT firm then the firm expects you to earn 10000Rs a day for it from the Client.

Well, last week I was at my brother’s place in Pune. He and his friends all work for IT industry and they all work like hell to earn their salaries. His friend works in a big MNC in the support side. This guy goes to office at 8a.m comes back at 7p.m, eats his dinner at 8p.m and starts work again at 9p.m with a meeting with the client. This meeting takes sometimes 4-5 hours thus resulting in only a meager of 5 hours of sleep.

Still this guy is happy about this because he enjoys his work. My brother also has a somewhat similar routine but not this hectic but he also enjoys his work.

Thus here I just want to say that IT industry is only for those who enjoy what they do and are ready to adjust with the demands of the industry. It’s not for those who want to earn just a big fat salary Its for those who have a dream about it and not just a simple dream but a dream which is long seen and craved for.

In short I just want to say that don’t choose IT because it gives good salary and that it is booming, but choose it if you think its your dream to be in it. Before you make your choice ask yourself a few questions-

“Is IT for me?”

“Am I ready to face the challenges it throws at me?”

“Will I survive?”

And go for it if and only if you get a positive response from your heart.

Well then Best of Luck!!

A GUI program using NetBeans

Well this is a GUI program that I have created using Netbeans.
In this program the computer generates a Random Number after hitting the Generate button which the user has to guess.
The User enters his Number and hits the Check button to check if the number matches Computer’s number.
The user has a maximum of 5 chances to check the number and the computer gives hints on every wrong guess.
Snapshots-

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:

    http://netbeans.org/

    here is the release note of NetBeans 6.9.1

    http://netbeans.org/community/releases/69/relnotes.html

    References-

    http://hrushikeshzadgaonkar.wordpress.com/

    http://java.dzone.com/articles/will-javafx-composer

    %d bloggers like this: