Showing posts with label Microsoft. Show all posts
Showing posts with label Microsoft. Show all posts

Sunday, April 4, 2010

Technical vocabulary professionally dealt with as a Translator


Hey all,

Once again, aimed at bringing influence to bear on my resume only, he it comes a sample of the type of vocabulary I used to deal with working as a Translator / Interpreter for the Microsoft Brazilian technical support.

=======================================================

Sir Tanoz, how are you doing?

I’ve come herein with the translation you have requested me to do, so as to facilitate the preparation of your action plan.

Well, the basis of the problem lies in the fact that, for an unknown reason, there are some data (objects) which are not removed automatically from the memory when they are expected for so. In order to solve the problem at the moment it arises (not permanently though), the customer removes those data manually by pressing in the screen output below. The problem of doing that manually is that the application he uses in his company (a Computer Telephone Integration Windows Service) has to stop and therefore stopping the company’s production as well, what is undesirable. So, as expected by the customer from the application, the task has to be accomplished automatically, so preventing the company from being stopped for a while all the time the issue comes up.

(Unfortunately, I could not make it more visible than this)

When the process takes place automatically, there is no need to hit to go from the Object Creation to the Object Destruction, they happen one after the other without any person’s intervention.

I shall follow up the description with the answers of your two questions:

1) How is the customer removing the data from the memory?

a. As stated previously, he does that manually by hitting on the screen above. In addition to that, he has to alter (an adaptation) the code of his application to the following characteristics: it is normally used more than one application domain for the system to fulfill its duties. However, the customer has been rewriting the code so as to use only one application domain, having all the objects directed to this single one. By doing so, the system acts as expected not staying with allocated memory for objects anymore, but that does not meet the customer’s needs, since he needs to use more than one application domains.

b. Forcefully, there is another way for doing that, a severe attitude towards the system, which will be fully explained below.

2) How is he passing the object?

a. From an application domain, an MBR object is passed ahead as a parameter of a method under a proxy to another application domain. Further information about the proxy: it’s a transparent proxy generated automatically by the infrastructure of the .NET Remoting.

i. Are the application domains created in the same application space? Yes, they are.

ii. Is there any reference which is maintained in the new application domain when is comes from the old application domain (when transferring objects from the first to the second application domain)? No, there isn’t any reference maintained.

Reading through the Microsoft news, the customer has found some information that might be related to the issue and of utter importance for your analysis. You can have access to it at:

news.microsoft.com
microsoft.public.dotnet.framework.clr (this is the group discussion to head for)
description found: object not collected by GC (garbage collection)

The customer does believe that the issue is connected with the CLR (a runtime issue) and he emphasizes that this problem in unconnected with ASP, since it relates to Windows Service, only. Moreover, this Windows Service loads dynamically some assemblies in different application domains. As it is used an intermediate layer, client applications produced by .NET. have the connection between the Windows Service themselves established by the .NET Remoting.

Now I’ll provide you the ins and outs of the system, how it works since the beginning, until the unexpected behavior faced by the customer:

There are five created projects: four class libraries and one console application. Regarding the Object Request, when this type of object is created, a message informs “object created”, and when this sort of object is destroyed, there is another message that informs “object destroyed”. This is the normal procedure. The class library “linkerapp” is responsible for the creation of one application domain and loads the assemblies into it. When the console application is executed, the activation of the class library “linkerapp” occurs, followed by the class library “generator” and ultimately by the class library “processor”. When the later is activated, Object Requests are created and then transferred to the class library “processor”. The occurrence of this process is enough for having the memory allocated for objects which remain locked in the memory. To expand on the description, the use of the GB (Garbage Collection) does not remove the objects from the memory. Having said that, the only way the customer finds to remove the data from the memory forcefully is unloading manually the application domain which has generated the objects at issue. By doing so, the memory ends up released from the data. Nevertheless, as this procedure is taken in a pinch, it triggers the undesirable stoppage of the application. To reproduce the problem, it’s enough to run the hostapp so that you can face what the customer does.

3) How does the customer know that the data is stuck in the memory?

a. The very straightforward way to notice that is because the customer is normally informed that the objects are generated and destroyed. Since he hasn’t been notified of any object destruction, he infers that there’s been nothing being destroyed over some time.

b. The customer has also installed a tool named “aqtime” produced by the company “automatedga” which informs the names of two objects at issue. They are: stackbuildersink and serveridentity. The customer does believe that these two objects trigger the current issue. Additionally, the tool also reveals that the Object Requests at issue are made reference by two other objects that belong to the infrastructure of the .NET Remoting.

By changing the code appropriately, the customer begins to use the application domain default, which uses one single application domain rather than two as the customer needs.

To sum up, data stuck in the memory has to be removed automatically (generated and destroyed like this) instead of manually as the customer has been doing, so as to avoid the company to be waiting on the customer’s intervention.

If you have further question, let me know, I’ll answer them according to my possibilities.

Concerning the working sample you told me, I unfortunately do not have any files. Everything I got from the customer was also forwarded to you.

The customer can be reached tomorrow from 9:30am to 6:00pm (Brazil time | GMT – 3). He’ll be waiting for your callback as agreed between us.

I hope this description is precisely what you need to follow up and set your action plan. May you have a good labor time. Take care!


MarcoS, Brazilian Technical Router – Customer Service Enterprise

Professional feedbacks as a technical interpreter

For 3 years I had once the opportunity to work at Microsoft technical support, the first half time as Translator / Interpreter and second one as a first-level Microsoft support engineer, at the multinational contractor Atento. Owning to such opportunities my English skills for dealing with simultaneous interpretation has reached an appreciable level of quality and since one of the goals of this blog herein is to unfold my professional abilities, you have then the written feedbacks provided to me by Microsoft engineers abroad at the advent of my cooperation with my interpretation services.

It all dates back to 2006 or thereabouts. I hope it brings influence to bear... Getting down to the nitty-gritty now:

=====================================================
From me to Valerie:
-----------------------------------------------------

Hi Valerie, that’s my e-mail as you have requested.

I don’t know exactly why you’d like to have my e-mail address, but let me tell you that there’s no problem at all, you can use it at will.

I’d like to sum up that there’s been a pleasure to provide that translation assistance today, working overtime. There was no need for me to do that, but it was a pleasure, I did it for the sake of it.

I’d like to ask you, only, if you have the time and if you think I deserve it, to send me an e-mail with your evaluation of my performance today, because it seems that I can benefit somehow from a good feedback from an engineer.

I wish you joy for today and good luck with the call. May you have good times, take care!

Marcos
Brazilian Technical Router at Customer Service Enterprise

----------------------------------------------------------------------------------------
From Valerie to me in response:
----------------------------------------------------------------------------------------

Hi Marcos,
I wanted your Email so that I could let you know what a pleasure it was working with you today.

Your assistance was above expectations and I wanted to thank you for your assistance.

I appreciate all your help.

Thank you again.

Valerie E. Goulds, MCSE, MCSA 
Host Integration Server Support


=====================================================
From AJ Pitre to my boss:
=====================================================

Hello Ricardo,

My name is AJ Pitre and I had the great opportunity to work with Marcos Silvestrini yesterday on the above referenced case. I just wanted to let you know that the assistance provided by Marcos was unsurpassed. He has a great ability to go between the support engineer and the customer with very little lag time and the communication was seamless. His great work helped expedite acquiring the necessary items to move the case toward a resolution. I really appreciate the job he performed and believe that you should be made aware of his extreme professionalism and great personality. He is a wonderful asset to your team. Have a good day. AJ

AJ Pitre

Microsoft Developer Support - SQL Engine

=====================================================
From Karen to me:
=====================================================

Hi Marcos,

I wanted to thank you for the outstanding job you did on this issue. The case went smoothly, and I was able to focus on the technical issue rather than trying to communicate with the customer. I really appreciate your skill, as I was able to identify the issue quickly and move on to a solution. Thanks again!

Thank you for working with Microsoft Enterprise Services for Business Applications,

Karen Sullivan, MCSD, MCDBA

Project Server Team


=====================================================
From Magued to me:
=====================================================

Hello again Dear Marcos,

I enjoyed your translation service today also the sense of customer service in the same time.

You also master the technical expressions in your language.

You did an excellent job getting my questions and recapping it every time I ask the cx before it is translated…and I am aware that you master the language since you gave me very detailed technical answers.

You did the same with the cx.

Also you were patient answering my questions more then once.

You managed in a smart way to keep the cx busy while I was checking my information and getting my action plan set.

You are extremely polite and that is very important and you have excellent sense of humor.

Definitely I would like and prefer to work again with you.

Today’s call it rated allover 11 out of 10.

You have my permission to pass this e-mail on at your convenience and I mean every word in it.

Many Thanks,

MAGUED BOUTROS

Microsoft SQL Server Team

=====================================================
From Abhuday to me:
=====================================================

Hi Marcos,

Thank you for staying beyond the end of your shift to assist with this customer case. I really appreciated it.

I wanted to let you know that you were an excellent help during this issue. You took the time to clarify the question/answer from each party before relaying it to the other party which made the whole experience very pleasant. You are extremely good at what you do. Thank you!

-Abhuday

Microsoft Developer Support - Internet

=====================================================
From me to Hemant:
-----------------------------------------------------

Hello Hemant, this is the translation you have requested:

By the customer, the problem sparked when there was the migration to the SQL Server 2005 64bits with SP1 installed. He'd like to clarify that the scenario he has got is made up of that SQL Server 2005 64bits with SP1 running on a Windows 2003 R2 64bits.

Initially, the issue came up in only one of the companies he works for. Nevertheless, now the problem seems to be spreading and has already reached 4 companies, causing worries whether it will continue like this. In two of them, the situation is more critical, because in one, the server has to be restarted every other day. In another, the server has to be restarted simply everyday.

As you would like to know, the very reason why the customer has to restart the system is because there is a loss of performance when attempting to use their internal application, which are based on IRP, working similarly to a SAP application. At times, there is a total loss of performance and so the customer does need to restart the system to have the problem solved temporarily. After a length of time, the issue comes up again.

The very first time the problem became a burden was when it affect negatively the SQL mirroring, right after he made the migration to SQL Server 2005. Then, at each 10 minutes the server used to stop and so it was rather impossible to keep the business running. As a result, he disabled the mirroring service, but the problem remains unchanged.

The server has got a total of 8GB of memory in which 6GB are reserved for the SQL Server. This 6GB is divided up into 2.5 for buffer cache and 3.5 for procedure cache. The customer emphasizes that the part reserved for procedure cache is always bigger in size than the one reserved for buffer cache. He mentions also that this division of size is done by the SQL Server itself.

Even though there is such an amount of memory for procedure cache, the customer has noticed that only 1% of that amount is used, what seems to be usual and odd.

The customer informs that several queries are being run inside the procedure cache for an unknown reason, spite of only being used 1% of the total amount. Based upon that, the customer asks two questions, once it's been defying explanation:

1) Why are the queries being placed inside the procedure cache?

2) Why is there such an amount of memory for it if only 1% of that total is put into use?

In order to monitor the system behavior, he has installed a tool called Spotlight, what has revealed to him what he describes here.

We were told that there are not neither system logs nor SQL Server logs.

Owing to the monitoration he does, it's possible to verify on the Windows Task Manager that there is a high consumption of CPU and that is triggered by the SQL Server.

Aware of a command to be run with the objective of bringing the consumption of memory to zero (dbcc freeprockcache), the customer has tested it and noticed that after 5-10 minutes the consumption of memory becomes high again.

Some Hotfixes were recommended by the former case owner to try to solve the problem, but they did not cause neither good nor bad effects to his system, thus they were of no use.

The former case owner has sent two tools to the customer that generated a total of 5GB of logs. Concerning these files, the customer has found one of them, which is a very big (already compacted) to be sent to you by e-mail. He would need a workspace to do that if you wish to have it. Otherwise, the customer can try to generate all the files once again to send to you, with all the pertinent information he judges so.

The customer would like you, if possible, to contact the former case owner (Alexandre) so that he can provide some useful information regarding this case.

He is preparing everything he has got to send to you and he'll be waiting for your feedback as soon as you have it prepared. In case you have not yet sent him the link for the workspace, he requests you to do it.

That's it!

----------------------------------------------------------------------------------------
From Hemant to me, in response:
----------------------------------------------------------------------------------------

To Whom It May Concern:

This morning I called in for Portuguese interpreter and got Marcos on line. I really appreciate the way he handled the customer .Marcos is a very valuable and professional employee in your team. He even interpreted everything and compiled in an e-mail and sent to me. I wish I get Marcos every time I call in the Interpreter line.

Great Work Marcos! You Rock!

Thanks

Hemant Singh