There are several countries (Turkey, Mongolia, Kyrgyzstan etc.) where generally men's name can be without middlename and instead of it used words like "oglu, uulu" etc.
For example "Michael oglu Bret" which means "Michael son of Bret".
I used to split this kind of words and assume them as a middlename, so for the past week I feel doubts of correctness of the way I do it.
Is there any standardized or some set of rules of how to process this kind of names?
I can't tell you what's best for you, but in general, the concept of middle name does not map well to many cultures. Even in the west (Europe and North America) it ends up creating more problems than it solves. It may be better to abandon middle name, and use just use two fields for names: GivenNames, and FamilyNames. Within each field, you must allow a name to contain more than one name word, and allow for very long names. Given names are those given to the child as an individual, i.e. personal names, and family names are those that come from the family and/or clan. Typically, what we in the west think of as first and middle names are given names, and last name is a family name.
As an example, Hispanic naming convention is to have two last names - a paternal surname and a maternal surname. The problem is that people doing data entry who are used to the notion of one first name, one middle name and one last name will put one of the surnames in the middle name slot, which is incorrect.
Arabic names follow conventions similar to what you describe in your question (see http://en.wikipedia.org/wiki/Arabic_name#Arab_family_naming_convention). In the given/family model, a name such as "Saleh ibn Tariq ibn Khalid al-Fulan" (Saleh, son of Tariq, son of Khaled; of the family al-Fulan) would map "Saleh" to the given name and "ibn Tariq ibn Khalid al-Fulan" to family name. However, if these types of names are all your system will handle, you might use three fields: given/personal name, father name, and family/clan name. Having just a single field for name is another option.
The largest problem is getting data entry persons to consistently and correctly map names when they deal with people from a mix of cultures and naming conventions. It seems whichever model you pick for storing names, they will incorrectly enter names from cultures whose naming conventions differ from their own. This requires more programming effort to work around this reality when writing name lookups.
This web page discusses a lot of the issues related to names:
http://www.w3.org/International/questions/qa-personal-names