پیش بینی اطلاعات جهت کش کردن در تراکنشهای سیار

152

پیش بینی اطلاعات جهت کش کردن در تراکنشهای سیار

 

چکیده

پیشرفتهای سریع در ارتباطات سلولی، شبکههای بیسیم و سرویسهای ماهوارهای، منجر به ظهور سیستمهای

محاسبات متحرک شده است. برای انجام محاسبات متحرکی که نیاز به اطلاعات موجود در بانکهای اطلاعات دارند، این

تحرک میتواند مشکل آفرین باشد. حرکت موجب قطع ارتباط واحد متحرک با شبکه بیسیم شده و در نتیجه اطلاعات در

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

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

دارد، ارائه شده است تا در زمان قطع ارتباط، دادههای مورد نیاز کاربر، تا حد ممکن در دسترس باشند و از به تعویق افتادن

عملیاتها تا حد ممکن جلوگیری شود. روشهای موجود معمو ً لا بر روی موضوع کنترل اجرای تراکنشها در هنگام قطع

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

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

Microsoft SQL مد نظر نیست. در انتها شبیه سازی این روش با یکی از روشهای موجود با استفاده از بانک اطلاعاتی

انجام شده است که تشابه نتایج روش ارائه شده را نشان میدهد. Server

کلید واژه

متحرک، ایستگاههای پشتیبانی متحرک، تراکنش، کشکردن، عامل سیار.

-1 مقدمه

در سیستمهای بانک اطلاعاتی متحرک، کش کردن اطلاعات می-

تواند نقش سازندهای را در کاهش ارتباطات میان سرویس دهنده-

ها و سرویس گیرندهها و همچنین افزایش خودمختاری واحدهای

جهت پذیرش محلی تراکنشها، ایفا کند. در یک (MU) متحرک

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

نگهداری میشوند و کنترل اصلی دادهها و انجام (MSS) متحرک

ها بررسی شده و در MSS هر نوع عملیات بر روی دادهها توسط

5,7,10 ]. کش - صورت تأیید در بانک اطلاعاتی ثبت میشود[ 12

کردن اقلام دادهای که به طور مکرر و به میزان زیاد مورد استفاده

واحدهای متحرک قرار میگیرند، میتواند روشی مؤثر در کاهش

ها و واحدهای متحرک و MSS هزینههای ارتباطی میان

.[ همچنین استفاده بهتر از منابع واحدهای متحرک باشد[ 18

واحدهای متحرک میتوانند دادهها را درون بانک اطلاعاتی خود

ها است، کش کنند. با MSS که مشابه بانک اطلاعاتی موجود در

این کار دسترسی به دادههای مورد نیاز در واحد متحرک سریعتر

صورت گرفته و تعداد تقاضاها برای دریافت داده از شبکه کاهش

مییابد.

جهت اجرای تراکنش در بانکهای اطلاعات متحرک، الگوریتم-

های بسیاری ارائه شده است که هر یک به گونهای مسئلهی

حرکت و قطع ارتباط واحدهای متحرک را مورد بحث قراردادهاند

و روشی را برای اجرای صحیح تراکنش مطرح نمودهاند. هر یک از

این الگوریتمها، تکنیکهایی را جهت کنترل اجرای تراکنش

متحرک ارائه دادهاند. در مدل کانگورو، تراکنش از واحد متحرک

انتقال یافته و بر روی شبکه ثابت و سرویس دهندهها MSS به

اجرا شده و نتیجه برای واحد متحرک ارسال میشود؛ و هیچگونه

.[ دادهای در واحد متحرک جهت اجرای تراکنش کش نمیشود[ 9

با دریافت تقاضای واحد MSS ،PRO-MOTION در مدل

یی را بر اساس دادههای تقاضا شده ایجاد compact ، متحرک

کرده و به واحد متحرک ارسال میکند. واحد متحرک، تراکنش

اجرا کرده و compact مورد نظر را بر اساس اطلاعات موجود در

نتایج را جهت تأیید نهایی به سرویس دهنده ارسال میکند و در

واقع فقط دادههایی که هم اکنون مورد نیاز است کش می-

نیز، تراکنش از واحدهای TOGGLE شوند[ 6]. در مدل

متحرک به سرویس دهنده منتقل شده و اجرا میشود. این مدل

از بانکهای اطلاعاتی چندگانه پشتیبانی کرده و با حرکت واحد

دیگر اجرای تراکنش متحرک MSS به MSS متحرک از یک

جدید منتقل میشود[ 14 ]. در مدل خوشهای ، MSS نیز به

بانک اطلاعاتی به خوشههایی تقسیم میشود و این خوشهها بر

روی سرویس دهندههای متصل توزیع میشوند. دادههای درون

هر خوشه با توجه به مفهوم یا مکان دادهها با هم مرتبط می-

باشند. واحد متحرک با اتصال به هر میزبان، در صورت نیاز به

دادههای آن، خوشه مربوطه را به درون خود منتقل کرده و در

صورت قطع ارتباط از اطلاعات خوشه منتقل شده استفاه می-

کند[ 5]. در مدل پردازش تراکنش متحرک به کمک کش، داده-

های مورد نیاز واحدهای متحرک توسط لیستهایی بر روی آنها

کش میشود (داده ها میتوانند به صورت اشتراکی بین واحدهای

متحرک منتشر شوند). هر داده توسط یک مقدار زمانی بر چسب

گذاری میشود و سرویس دهندهها به کمک این برچسبهای

زمانی صحت و اعتبار دادههای کش شده را در هنگام اجرای

.[ تراکنش کنترل میکنند[ 18

در مدلهایی که برای بانکهای اطلاعات متحرک ارائه شده است

اکثرًا به کنترل اجرای تراکنش متحرک توجه شده[ 8,9,14 ] و

در صورت کش کردن دادهها نیز فقط دادههایی کش میشوند که

هم اکنون مورد نیاز واحد متحرک میباشد[ 6,15,18 ]. در

الگوریتمهای مطرح شده، روشهایی جهت کنترل دادههای کش

شده ارائه شده است و این روشها بیشتر به بررسی صحت داده

کش شده میپردازند؛ در واقع دادههایی کش میشوند که هم

اکنون مورد نیاز واحد متحرک است. در حالت واقعی معمو ً لا

کاربران کامپیوتر، در یک مقطع زمانی خاص، با دادههای مشخص

و در حیطه یک زمینه کاری/مفهومی، سروکار دارند. این موضوع

کمک میکند تا با توجه به دانستههای گذشته، یعنی عملیاتها و

تقاضاهایی که در گذشته توسط یک کاربر خاص و یا سایر

کاربران استفاده شدهاند، بتوان روند کاری یک کاربر خاص را تا

حدی پیش بینی نمود و به محدودهی دادههایی که مورد نیاز وی

میباشند پی برد. در حقیقت این پیش بینی جهت کش کردن

زود هنگام دادههایی است که احتما ً لا در آیندهای نزدیک توسط

کاربر مورد استفاده قرار خواهند گرفت.

در سیستمهای پیشبینی کننده و پیشنهاد کننده موجود، معمو ً لا

ایجاد پیشبینیها و پیشنهادات را بر اساس یک سیستم خاص

انجام میدهند؛ به این معنی که سیستمی خاص را درنظر گرفته

و با توجه به دادههایی که این سیستم در طول زمان تولید می-

کند و همچنین با توجه به نحوه استفاده کاربران از دادههای این

سیستم، اطلاعاتی آماری را استخراج کرده و این اطلاعات را داده-

نموده و به نتایج مورد انتظار دست می- (Data Mining) کاوی

یابند. تفاوت کار ارائه شده در این مقاله با سایر کارها این است که

سعی شده است سیستم خاصی مد نظر نباشد و فقط با توجه به

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

پذیرد؛ همچنین انجام پیشبینی در بانکهای اطلاعات متحرک

1 5 4

تاکنون در مدلهای ارائه شده مطرح نشده است.

-2 معماری بانکهای اطلاعات متحرک

در معماری بانکهای اطلاعاتی متحرک(شکل ١)، هر واحد

متحرک جهت استفاده از دادههای موجود در بانک اطلاعاتی، می-

ها متصل شده و تقاضاهای خود را به آنها MSS بایست به یکی از

داده و اطلاعات مورد نیاز خود را از آنها دریافت نماید؛ البته

ارسال تقاضا و دریافت داده توسط واحد متحرک، و از طریق

شبکه بیسیم انجام میشود

10,7,5 ]. هر تقاضا در بانکهای اطلاعاتی، در قالب یک ]

تراکنش ارائه میشود. هر تراکنش شامل چندین عملیات میباشد

که بر روی دادههای بانک اطلاعاتی اعمال میشوند. بانک

اطلاعاتی هر تراکنش را به عنوان یک واحد در نظر میگیرد؛ به

این معنا که تمام عملیاتهای تراکنش با موفقیت به پایان می-

رسند و تراکنش پذیرفته میشود و در صورتی که اجرای حتی

یکی از عملیاتهای تراکنش دچار اشکال شود، تمامی عملیات-

های تراکنش لغو خواهند شد. مدلهای ارائه شده برای بانکهای

اطلاعات متحرک سعی در کنترل اجرای درست تراکنشهای ارائه

شده توسط کاربران دارند.

اجرای یک تراکنش میتواند به این صورت باشد: هنگامی که

واحد متحرکی تقاضای دادهای میکند در صورتی که این داده در

دسترس باشد، میتواند آن را مورد استفاده قرار داده و نتایج را

جهت تأیید به سرویس دهنده ارسال نماید. در صورتی که دادهی

مورد نیاز در دسترس نباشد و یا بخشی از آن موجود باشد، واحد

متحرک تقاضای دادههای مورد نیاز خود را برای سرویس دهنده

ارسال میکند. سرویس دهنده با دریافت تقاضا، اطلاعات مورد

نیاز را آماده کرده و برای واحد متحرک ارسال میکند.

یکی از مشکلات بانکهای اطلاعات متحرک، قطع شدن اتصال

ها میباشد. این قطع ارتباط موجب MSS واحدهای متحرک از

میشود که اجرای تراکنش دچار مشکل شده و لغو تراکنش را

موجب شود.

در بانکهای اطلاعاتی متحرک تراکنشها معمو ً لا به دو صورت

اجرا میشوند. اولین حالت به این صورت است که تراکنش به

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

واحد متحرک ارسال میشوند؛ که این موجب زیاد شدن حجم

ها میشود. در حالت دیگر دادههای مورد نیاز MSS کاری

تراکنش به واحد متحرک منتقل شده و

/ 0 نظر / 10 بازدید