به منظور درک یکسان از اصطلاحات و عبارات بکار رفته در این سند، این عبارات در زیر تعریف میگردند:
- نرمافزار/ سیستم: منظور موتور جستوجوی معنایی بهجو است.
- کاربر/ کاربران: استفادهکنندگان شامل کارمندان، نمایندگان و مخاطبان سازمان میباشند که در راستای انجام فعالیتهای اداری روزمره و ارتباط با سایر کارمندان از نرمافزار استفاده میکنند. تعداد کلی این کاربران در قرارداد قید شده است و برای آنها نام کاربری و رمز عبور تعریف میشود.
- کاربر همزمان: کاربرانی هستند که وارد نرمافزار شده و در یک زمان واحد با هم مشغول کار با قسمتهای مختلف نرمافزار میباشند.
- کاربر غیرهمزمان: کاربرانی هستند که نام و مشخصات آنها در نرمافزار موجود بوده ولی وارد نرمافزار نشدهاند و یا برای مدتی کار با نرمافزار را رها کردهاند.
- مشخصات حداقلی (Minimum Requirements) سختافزار: حداقل مشخصات سختافزاری سمت سرور است که نرمافزار میتواند برروی آن نصب و اجرا شود. این مشخصات با توجه به تعداد کاربر همزمان سازمان کارفرما مشخص شده است.
- مشخصات بهینه (Optimum Requirements) سختافزار: در کنار مشخصات حداقلی ارائه شده در سمت سرور، بمنظور اجرای روان و با کارایی مناسب نرمافزار، میتوان در صورت صرف هزینه بیشتر، از مشخصات بهینه سختافزار استفاده کرد.
- سرور فیزیکی: سروری است که بصورت فیزیکی در محلی از سازمان نگهداری میشود و دارای مشخصات حداقلی و یا بهینه سخت افزاری و نرمافزاری متناسب با تعداد کاربر ذکر شده در این سند باشد.
- سرور مجازی (VM (Virtual Machine)): سرور مجازی دقیقا همانند یک سرور فیزیکی مستقل و با همان سطح دسترسی عمل میکند با این تفاوت که امکان استقرار چند عدد سرور مجازی بر روی یک یا چند سرور فیزیکی وجود دارد. به عبارت بهتر با استفاده از تکنولوژیهای مجازیسازی مانند VMware و با بهرهگیری از سختافزارهای پرقدرت و پیشرفته، یک سرور فیزیکی به چندین سرور مجازی (VM) با امکانات مختلف تقسیم میشود. هر سرور مجازی بنا بر تنظیمات و یا کانفیگ اولیه، سهم خاصی از منابع سرور از قبیل پردازنده (CPU)، حافظه اصلی (RAM)، فضای دیسک سخت (HDD)، پهنای باند و … را به صورت اختصاصی و تضمین شده در اختیار میگیرد.
در تنظیم این سند مشخصات سرورهایی که پیشنهاد شده است میتواند فیزیکی و یا مجازی باشد.
همچنین به منظور افزایش کارایی و امنیت سیستم های نرم افزاری، هنگامی که تعداد کاربران همزمان از حد مشخصی بیشتر میشود، ترجیح بر آن است تا لایههای نرم افزار از هم جدا شده و بصورت مستقل پیادهسازی شوند که در اینصورت میتوانیم از چند سرور مجزا استفاده کنیم.
- HA (High Availability): به مجموعه ای از راهکارهایی که باعث میشود تا سیستم نرمافزاری با درصد احتمال خیلی بالایی در دسترس بوده و سرور متوقف نشود، HA یا قابلیت دردسترسی پذیری سیستم میگویند. روش متداول پیشنهادی برای افزایش دسترس پذیری موتور جستوجو، استفاده از Clustering است.
- Clustering: در سطح سرور صورت میگیرد و در آن دو یا چند سرور با یکدیگر کار میکنند تا سطح بالاتری از دسترسپذیری، اطمینان و مقیاسپذیری را نسبت به یک سرور ارائه کنند. در صورتی که سرور اصلی به هر دلیل دچار مشکل بشود، سرورهای دیگر بصورت خودکار وارد مدار شده و نرم افزار بدون تحمل قطعی به کار ادامه میدهد. راهکار Clustering هنگامی که تعداد کاربران همزمان بالای 1000 کاربر میشود و یا تعداد نامهها بیشتر از یک میلیون باشد بیشتر توصیه میگردد.