دانلود رایگان ترجمه مقاله طراحی و پیاده سازی ماشین مجازی گسترده برای کامپیوترهای شبکه ای

logo-4

دانلود رایگان مقاله انگلیسی طراحی و پیاده سازی ماشین مجازی گسترده برای کامپیوترهای شبکه ای به همراه ترجمه فارسی

 

عنوان فارسی مقاله: طراحی و پیاده سازی ماشین مجازی گسترده برای کامپیوترهای شبکه ای
عنوان انگلیسی مقاله: Design and implementation of a distributed virtual machine for networked computers
رشته های مرتبط: مهندسی کامپیوتر
 فرمت مقالات رایگان مقالات انگلیسی و ترجمه های فارسی رایگان با فرمت PDF میباشند
 کیفیت ترجمه کیفیت ترجمه این مقاله پایین میباشد 
کد محصول F16

 مقاله انگلیسی رایگان

دانلود رایگان مقاله انگلیسی

ترجمه فارسی رایگان 

دانلود رایگان ترجمه مقاله
جستجوی ترجمه مقالات جستجوی ترجمه مقالات کامپیوتر

   

بخشی از ترجمه فارسی:

۲٫ بررسی کلی معماری
شناخت مهم در ارتباط با تحقیق ما اینست که سرویس های متمرکز ، مدیریت سرویس را از طریق کاهش تعداد و توزیع جغرافیایی واسط هایی ساده میکنند که باید به منظور اداره کردن سرویس ها، قابل دستیابی باشند . همانطوریکه با آرایش گستردۀfirewall ها در دهۀ گذشته نشان داده شد، اداره کردن یک میزبان جا افتاده در شبکه نسبت به اداره کردن هر مشتری آسانتر است. بطور قابل مقایسه ، ماشین های مجازی یکپارچه را به مولفه های سرویس منطقی آنها تفکیک کرده و این مولفه ها را به خاطر مشتریان در سرویس دهنده های شبکه فاکتورگیری میکنیم.
معماری سرویس ماشین مجازی ، تعیین میکند که سرویس ها کجا، کی و چطور، اجرا میشوند . محل (یعنی کجا) ، زمان درخواست (یعنی کی) ، و اجرا (یعنی چطور) سرویس ها ، بوسیله اداره پذیری ، یکپارچگی و ملزومات عملکرد کل سیستم محدود شده و مستلزم ارزیابی های مهندسی میباشد . ماشین های مجازی یک پارچه ، نقطه طراحی خاصی را نشان میدهند که آنها همۀ سرویس ها برای مشتریان قرار داشته و اغلب کاربردپذیری سرویس از جمله کامپایل fly و بازبینی امنیت، طی زمان اجرای برنامه های کاربردی ، اجرا میشود. در حالیکه این مقاله مزایایی تعیین محل سرویس ها را در داخل شبکه نشان میدهد ،تغییر محل سرویس ها بدون توجه به اجرای آنها ، میتواند بطور قابل توجهی عملکرد را نیز کاهش دهد ، بعنوان مثال ، یک روش ساده برای توزیع سرویس ، جائیکه سرویس ها در امتداد واسط های موجود تفکیک شده و بطور سالم به میزبانهای دورحرکت میکنند، احتمالاً بواسطۀ هزینه ارتباط از راه دور از طریق پیوندهای بطور پتانسیل کند و تناوب بر همکنش های بین مولفه ای درماشین های مجازی یکپارچه، خیلی گزاف است. یک طرح جایگزین را توصیف میکنیم که درآن کارآمدی سرویس از مشریان از طریق بخش بندی سرویس ها به مولفه های ایستا و پویا فاکتورگیری شده و یک استراتژی اجرایی را ارائه میکنیم که درمقایسه با ماشین های مجازی یکپارچه به عملکرد دست می یابد.
در ماشین مجازی گستردۀ ما سرویس ها در سرویس دهنده های متمرکز قرار داشته و بخش عمدۀ عملیات خود را قبل از اجرای برنامه کاربردی ، بطور ایستا اجرا میکنند مولفه های سرویس ایستا ، از قبیل تایید کننده ، کامپایلر، حسابرس ، پروفیلر، و بهینه سازی ، بخش آموزشی برنامه های کاربردی را قبل از اجرا بررسی میکنند.
تا اطمینان ایجاد کنند که برنامه کاربردی ، خواص سرویس مطلوبی را نشان میکنند بعنوان مثال، یک تایید کننده ممکن استکد تایپ – ایمنی را بازبینی کند. سرویس ایمنی شاید آرگومان های قابل تعیین بطور ایستاتیک در فراخوانی های سیستم بررسی کند. و یک بهینه ساز شاید ساختار کد را برای عملکرد خوب در امتداد یک مسیر خاص بازبینی کند.
مولفه های سرویس پویا، کاربردپذیری سرویس را طی اجرای برنامه های کاربردی فراهم میکنند. آنها مولفه های سرویس ایستاتیک را از طریق فراهم سازی سرویس هایی تکمیل میکنند که باید در زمان اجرای برنامه کاربردی در بافت مشتری خاص، اجرا شوند. مثلاً یک سرویس ایمنی شاید آرگومان های ارائه شده توسط کاربر را برای فراخوانی های سیستم بازبینی کند، یک پروفیلر شاید استاتیک زمان اجرا را جمع آوری نموده و سرویس حسابرس ممکن است براساس اجرای برنامه کاربردی ، رویدادهای حسابرسی را تولید نماید.
چسبی که مولفه های سرویس ایستا و پویا را به یکدیگر پیوند میدهد، بازنویسی دودویی است. وقتی مولفه های سرویس ایستا با عملیات وابسته به داده ها مواجه میشوند که بطور ایستا قابل اجرا نیستند ، فراخوانی ها را در مولفه های سرویس پویایی متناظر درج میکنند. مثلاً ، سرویس تایید ایستای ما، مطابقت برنامه های کاربردی را با شمخصات Java VM، کنترل می کند. جائیکه بازبینی ایستا نمی تواند امنیت برنامه را بطور کامل تأیید کنندۀ ایستا، برنامه کاربردی حاصل، نتیجتاً خود تأیید کننده است چون بازبینی های تعبیه شده بوسیلۀ مألفه سرویس ایستا، جزء لاینفک برنامه کاربردی هستند.

۷٫ نتایج کلی
معماری سیستم جدیدی را برای محاسبه شبکه براساس ماشین های مجازی گسترده طراحی و اجرا کرده ایم. سیستم ما سرویس های ماشین مجازی را از مشتریان فاکتورگیری کرده و آنها را در سرویس دهنده های شبکه سازمانی ، قرار میدهد. این سرویس ها با محدود کردن برنامه کاربردی و اصلاح آن در fly برای ارائه کاربردپذیری سرویس ، عمل میکنند. این مقاله نشان میدهدکه ماشین های مجازی گسترده میتوانند ملزومات منبع مشتری را کاهش داده، مدیریت را آسان کرده و سرویس های مهم ایمنی را از کد غیرقابل اطمینان و بطور بالقوه نامطلوب، جداسازند. استراتژی تحقق سرویس خاص ما برپ=ایه فاکتورگیری سرویس های NM از مشتریان ، بخش بندی آنها به مولفه های ایستا و پویا و اجرای آنها در بازنویسی دودویی ، استوار است.
این روش، سرویس های NM متنوع را با عملکرد قابل مقایسه با ماشین های مجازی یکپارچه ، پشتیبانی میکند.

بخشی از مقاله انگلیسی:

۲٫ Architecture overview

The principal insight behind our work is that centralized services simplify service management by reducing the number and geographic distribution of the interfaces that must be accessed in order to manage the services. As illustrated by the widespread deployment of firewalls in the last decade [Mogul 89, Cheswick & Bellowin 94], it is far easier to manage a single, well-placed host in the network than to manage every client. Analogously, we break monolithic virtual machines up into their logical service components and factor these components out of clients into network servers.

The service architecture for a virtual machine determines where, when and how services are performed. The location (i.e. where), the invocation time (i.e. when), and the implementation (i.e. how) of services are constrained by the manageability, integrity and performance requirements of the overall system, and intrinsically involve engineering tradeoffs. Monolithic virtual machines represent a particular design point where all services are located on the clients and most service functionality, including on the fly compilation and security checking, is performed during the run-time of applications. While this paper shows the advantages of locating services within the network, changing the location of services without regard for their implementation can significantly decrease performance as well. For instance, a simple approach to service distribution, where services are decomposed along existing interfaces and moved, intact, to remote hosts, is likely to be prohibitively expensive due to the cost of remote communication over potentially slow links and the frequency of inter-component interactions in monolithic virtual machines. We describe an alternative design where service functionality is factored out of clients by partitioning services into static and dynamic components and present an implementation strategy that achieves performance comparable to monolithic virtual machines.

In our distributed virtual machine, services reside on centralized servers and perform most of their functionality statically, before the application is executed. Static service components, such as a verifier, compiler, auditor, profiler, and optimizer, examine the instruction segment of applications prior to execution to ensure that the application exhibits the desired service properties. For example, a verifier may check the code for type-safety, a security service may examine the statically determinable arguments to system calls, and an optimizer may check code structure for good performance along a particular path.

The dynamic service components provide service functionality during the execution of applications. They complement static service components by providing the services that inherently need to be executed at application run-time in the context of a specific client. For example, a security service may check user-supplied arguments to system calls, a profiler may collect run time statistics, and an auditing service may generate audit events based on the execution of the application.

The glue that ties the static and dynamic service components together is binary rewriting. When static service components encounter data-dependent operations that cannot be performed statically, they insert calls to the corresponding dynamic service components. For example, our static verification service checks applications for conformance against the Java VM specification. Where static checking cannot completely ascertain the safety of the program, the static verifier modifies the application so that it performs the requisite checks during its execution. The resulting application is consequently self-verifying because the checks embedded by the static service component are an integral part of the application code.

۷٫ Conclusions

We have designed and implemented a new system architecture for network computing based on distributed virtual machines. Our system factors virtual machine services out of clients and locates them in organizationwide network servers. The services operate by intercepting application code and modifying it on the fly to provide service functionality. This paper shows that distributed virtual machines can reduce client resource requirements, simplify management and isolate security-critical services from untrusted and potentially malicious code. Our particular service implementation strategy is based on factoring VM services out of clients, partitioning them into static and dynamic components, and implementing them through binary rewriting. This approach supports diverse VM services with comparable performance to monolithic virtual machines.

 

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد.