Sunday, October 31, 2010

Types of Clustering in computing

As explained in the previous post, clustering is categorizing set objects according to the similarity factor and there were three main categories. In this post the types of clustering is discussed.

There are two main types of clustering: Hierarchical and Partitional. In Hierarchical type what it does is arranging the elements according to an hierarchy whereas partitional, partitions the elements into groups.

In hierarchical type, it consists of two methods again, Bottom-up and Top-down. In top down, it categorize the total set in to two and then the each result will continue doing that according to a similarity value. In bottom up it makes couples according to the similarity. This is a very expensive method since it involves events with each and every data. These similar couples will make a hierarchy and hence called bottom up hierarchy.

The next type, partitional will partition the total element set to the clusters. The main difference is user input about the number of clusters is required here which will make it feasible to define any number of clusters. Randomly placed elements will be moved towards the center of the clusters in the process of finding the ideal cluster. This method increase the intra cluster concentration since every element moves to the center.

Gausian matrix model (GMM) is another method of doing that which eventually falls inside partitioning type.

Following is a comparison of these three methods..



Wednesday, October 27, 2010

Clustering


Clustering as the meaning of the word itself it describes about organizing and categorizing something which is based on the similarity.

In clustering it should ensure the most important two factors, low intter cluster similarity and high intra cluster similarity which would be the basis of clusters.

According to the formal definition, computer clustering is a technique of linking two or more computers into a network in order to take advantage of the parallel processing power of those computers and normally this clustering happens in a local area network but not necessarily.

In todays context clustering is used in many practical scenarios like Load balancing, Failovers, and it also might help in partitioning the goal, preparation IT system for Artificial intelligence etc while providing scalability.

Clusters can be categorized in to three main categoris manily: High availability clusters, load balancing clusters and compute clusters. In high avilability clusters it makes sure that availability of the system is kept high with very less downtime. In this case the practical scenario will have two servers to overcome the server failures. In load balancing clusters it is there to balance the loads on servers effectively to reduce the total execution time. Doing the task parallely would reduce the time by and significan amount. Computer clusters perform parallel computing. It brings a solution to a particular problem by working parallely with the other computers and in this compute clustes there is a main computer to distribute work and to collect it back together to bring out the final outcome of the processing.

Thursday, October 21, 2010

MSC Functionalities

Mobile Switching Center (MSC) is a server which facilitates the communication between Gateway Mobile Swithching Center (GMSC) and the Mobile Station (MS)

Receiving Short Message (SM)

This is the context where MT messages are received by the MSC, to be delivered to the intended user. Messages will be sent to MSC through the Gateway MSC (GMSC) which is responsible of handling the MT messages from the Service Center (SC). When the MT message is received there are two actions to be completed by the MSC.

  • Reception of the short message (SM) Transfer Protocol Data Unit (TPDU), that is the message
  • Retrieving information from the VLR to perfome the delivery of the message.

If an error report is returned from the VLR, MSC should return appropriate error information to the GMSC, which will notify SC about that. And SC will execute necessary actions for that scenario.

If no error report is returned form the VLR, MSC will transfer the messge to the mobile station, that is to the subscriber.

Once the delivery confirmation is received by the MSC, that is a message indicating that it has been transfered to the subscriber, MSC will send it to the GMSC in a delivery report format, a success report.

If a negative report is received about the delivery process, the same process will be applied except that the MSC will send a failure report to the GMSC along with the associated reason.

If the delivery fails due to a temporary error, memory not available in the MS, once MS sends a notification indicating the memory availability, then VLR is queried. If an error is returned, MS will be notified about the situation or else if no errors are returned, will notify GMSC about the memory availability.

When the MS and MSC is busy perfomring anothe action, message will be stored in the MSC for a short amount of time, which is less than the supervision time (time taken to take necesary actions for stored messages). Just after MS becomes available, MSC sends the message to the MS.

SMS Compression


SMS compression is all about reducing the size of the message to facilitate easy delivery process.

Compresson and decompression may take place between Short Message Entities (SME) or between an SME and Service Center (SC). Only the data in the message is comprssed not the headers delivered with the message as it is needed in most of the stages for processing. A compression header will carry those messages about compressionalbe data range in a message and compression footer will follow. There is also a parameter, TP-DCS, indicating whether the message is compressed or not.

After compression by any chance if the messge is more than the allowable limit, then the sending entity should take necessary actions to concatenate message, following the normal rule.

In the scenario of mobile terminated messages, if the parameters need message to be stored in the mobile station, then the phone stores the message as it is, and if the phone is capable of decompressing, it decompress and display the message. And in this decompressing process MS will alter the paremeter values about the lenght and other relevant fields along with the parameter which indicate whether the message is compressed or not.

In mobile originated messages, the mobile station, if its capable of compressing the message, compress prior to sending the message. The relevant parameters values will be modified as described in the previous paragraph.

Friday, October 15, 2010

Message Waiting

The Messages-Waiting is the service that enables the public network to provide the information to the Home Location Register (HLR) stating that there is a message waiting to be delivered to a Mobile Station (MS) in the Service Center (SC) with the associated Mobile Switching Center (MSC) or the Serving GPRS Support Node (SGSN). Basically it states the current position of MS to the HLR with the information that there is a pending message to the MS.

The service element is only used in case of previous unsuccessful delivery attempts due to temporarily absent mobile or MS memory capacity exceeded. This information, the Messages-Waiting-Indication (MWI), consists of

In the HLR
  • Messages-Waiting-Data (MWD)
  • Mobile-station-Not-Reachable-for-GPRS (MNRG)
  • Mobile-Station-Not-Reachable-Flag (MNRF)
  • Mobile-Not-Reachable-Reason (MNRR)
  • Mobile-Station-Memory-Capacity-Exceeded-Flag (MCEF)
In the SGSN
  • Mobile-station-Not Reachable-for-GPRS (MNRG)
In the Visitor Location Register (VLR)
  • Mobile-Station-Not-Reachable-Flag (MNRF) located in the VLR

The MWD shall contain a list of addresses (SC-Addr) of SCs which have made previous unsuccessful delivery attempts of a message. In order to be able to send alert messages to every SC which has made unsuccessful delivery attempts to an MS, the HLR shall store the MSIsdn-Alert together with references to the SC addresses.

Wednesday, October 13, 2010

Service Oriented Architecture

SOA is said to be "Flexible set of design principles used during System development and integration".

The emergence of SOA is worth mentioning about. If the two options are considered, if not SOA what would be the other option. It's manually developing each and every component needed for particular application. Rather than doing it, SOA enhances reusability, configurability, and it saves financial objective in a greater extend as well.

In the word SOA, there are two main topics. Service and architecture. Where architecture elaborate on the detailed plan of a particular system while service means the serving intended target.

Architecture is not something that we can implement and deploy. It is just a concept, idea and paradigm but can be put in to a presentable format using many methods. It describes each and every element in the relevant system and provide scope. In other words it's a "Blue Print". There are many views on why architecture is needed. Followings lists down some of them.

  • Team Structure
  • Documentation Organisation
  • Work Breakdown Structure (WBS)
  • Scheduling, Planning, Budgeting
  • Unit Testing, Integration,

Service is proving or serving particular set of intended people with something which will eventually help them to make their life easy. The exact difference between service and system should be identified in order to cater them separately.

The main purpose of moving from the traditional development environment to the new SOA is because of the difficulty in adopting to the changes which would be needed everyday for a growing business.

The main useful feature, component of the SOA is the loosely coupling, which is the less knowledge of direct links with another entity. Simply less dependency of something else.

The benefits of SOA can be listed down

  • Easy assembling
  • Easy configurations
  • Modularity
  • Time and money saving

Tuesday, October 5, 2010

Multimedia Messaging Service

Multimedia messaging service which is commonly known as MMS is a method of sending and receiving additional data other than text. It might include pictures, videos, sound clips etc. MMS can be called simply as an upgraded version of SMS.

The communication process of MMS happens through a Multimedia message service center (MMSC) just as SMSC in SMS. MMSC takes care of message transfers and all the other work such as relevant content translation.

In MMSC environment it takes care of HLRs to find the user locations in sending messages and for location based services that they provide. Once the MMSC gets the messages it sends it to the particular user whos location is known from the HLR information.

One of the main additional functions in MMSC is the convertion of data. This has to be carried out when a mobile node, that is a mobile phone doesn't support receiving sent data. Simply if phone does not support high quality images, resolution is reduced and sent or if the phone doesn't support multimedia messaging at all, a link is sent as an SMS to the user to access the content online.

As for the statistics in the recent history, MMS is widely spread among users with a sharp incline from 2005 to 2009. But still there are some barries for this service. The main barrier being the expense, unfamiliarity, lack of capable devices ets also adds to the list.

In the future as very low cost mobile phones coming in to the market and increasing awareness among people about the technology, MMS would be an real good oppertunity for someone whos keeping eye on the mobile messaging industry.

Monday, October 4, 2010

Web Services

Just to describe web services in short its an interface which provides insight to a core application. If a more familiar example is considered, in programmin a java class may be callin a method of an external class. Just as that, in web service a program may be calling a particular method through a web service but over the internet. Web Service just provide the interface for that core application.


Web service consists of set of standards which are applicable around the globe. These common set of standards make it easy for anyone to write and access a webservice.


There are four main components in a webservice. SOAP, XML, WSDL and UDDI


SOAP provides a platform to exchange information as messages in a message envelop. A SOAP message normally consists of two parts, header and the body in which it again consists of two parts, message and fault handlers.

XML is the database. It is exactly same as a table of a database and normally is used to store messages. Can contain hundreds of data in the defined format.

WSDL describes the webservice, the content, and how it is arranged. Defines webservice as collection of network endpoints or ports

UDDI enables service discovery and invoking. As in a yello pages directory, it contains all the information about the webservices. Its just a register of webservices. This UDDI is sponsored by the Organisation of Advancement of Structured Information Standards (OASIS).

Friday, October 1, 2010

Locking in MySQL


As the meaning of the words itself, Locking is locking something. When MySQL is considered its locking databases, tables or raws.There are many concepts in involved in it. The real purpose of locking is to reduce concurrent access of data. Access could be reading or writing.

Reading access could be critical and the worst case is two people updating the same document at the same time, that is writing at the same time. It could be of three categories.
  • Two or more people are reading the same entry
  • One person reading and the other one is writing
  • Two or more people are writing the same entry
The critical situations among those are the second and the third ones where writing at the same time is involved. In normal applications concurrent reading is set to be possible since it does not harm the content if its just reading. But when it comes to writing concurrent wiring possibility will ruin the whole application.

In my sql it does blocking if it is not done explicitely and it is called as implicit locking. And in MySQL SELECT statements and INSERT statement are the ones, which will be locked implicitely.

And when it comes to locking levels, there are two levels where table locking and raw locking are possible. In table locking it locks the whole table concurrent access but in raw level locking it does permit table access but limits the same raw access by two users. And the operations which are blocked would be configurable.

The above described functions are some of the capabilities in which MySQL locking process provides.