亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

計(jì)算群集上的調(diào)試器啟動(dòng)和附連的制作方法

文檔序號(hào):7937708閱讀:124來源:國知局
專利名稱:計(jì)算群集上的調(diào)試器啟動(dòng)和附連的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及調(diào)試器,尤其涉及計(jì)算群集上的調(diào)試器啟動(dòng)和附連。
背景技術(shù)
背景和相關(guān)技術(shù)計(jì)算機(jī)和計(jì)算系統(tǒng)幾乎影響著現(xiàn)代生活的每一方面。計(jì)算機(jī)一般涉及工作、消遣、 保健、交通、娛樂、家務(wù)管理等等。此外,計(jì)算系統(tǒng)功能還可以通過計(jì)算系統(tǒng)的經(jīng)由網(wǎng)絡(luò)連接互連到其他計(jì)算系統(tǒng)的能力來增強(qiáng)。網(wǎng)絡(luò)連接可包括,但不僅限于,經(jīng)由有線或無線以太網(wǎng)的連接,蜂窩式連接,或者甚至通過串行、并行、USB或其它連接的計(jì)算機(jī)到計(jì)算機(jī)的連接。這些連接允許計(jì)算系統(tǒng)訪問其他計(jì)算系統(tǒng)上的服務(wù),并快速且有效地從其他計(jì)算系統(tǒng)接收應(yīng)用程序數(shù)據(jù)?;ミB的計(jì)算機(jī)可以用于實(shí)現(xiàn)群集計(jì)算。群集計(jì)算包括使用多個(gè)計(jì)算機(jī)來執(zhí)行可能對(duì)于單個(gè)計(jì)算機(jī)執(zhí)行而言過于巨大的作業(yè)。作業(yè)改為被細(xì)分,并且細(xì)分部分被發(fā)送給群集中的各個(gè)計(jì)算機(jī)系統(tǒng)。通常,群集是用頭節(jié)點(diǎn)來實(shí)現(xiàn)的,該頭節(jié)點(diǎn)接受作業(yè)并且將該作業(yè)或該作業(yè)的各部分分配給該群集中的計(jì)算節(jié)點(diǎn)。計(jì)算節(jié)點(diǎn)通常在專用網(wǎng)絡(luò)中實(shí)現(xiàn)并且不能被專用網(wǎng)絡(luò)之外的計(jì)算系統(tǒng)公開訪問。頭節(jié)點(diǎn)可以是專用網(wǎng)絡(luò)和一個(gè)或多個(gè)公共網(wǎng)絡(luò)二者的成員,使得頭節(jié)點(diǎn)可以從可能希望向群集提交作業(yè)的外部客戶機(jī)接受作業(yè)在計(jì)算系統(tǒng)中,經(jīng)常發(fā)生系統(tǒng)崩潰或返回非預(yù)期結(jié)果方面的問題。為了確定系統(tǒng)崩潰或非預(yù)期結(jié)果的原因,使用各種調(diào)試技術(shù)。一些技術(shù)包括使用調(diào)試器。調(diào)試器可以是并排運(yùn)行或者在執(zhí)行代碼下運(yùn)行的軟件應(yīng)用程序。調(diào)試器可以用于在代碼中步進(jìn)(即執(zhí)行離散數(shù)目的指令,并且然后在執(zhí)行下一離散數(shù)目的指令以前等待用戶輸入)、在代碼中設(shè)置斷點(diǎn)以在執(zhí)行代碼時(shí)的某個(gè)點(diǎn)停止執(zhí)行等等。然而,在群集系統(tǒng)中,鑒于開發(fā)者想要調(diào)試的系統(tǒng)可能處于該開發(fā)者可直接訪問的系統(tǒng)之外的網(wǎng)絡(luò)上,可能更加難以啟動(dòng)調(diào)試器。也就是說,開發(fā)者可能在公共網(wǎng)絡(luò)上的客戶機(jī)上使用開發(fā)者應(yīng)用程序,而要調(diào)試的應(yīng)用程序可能作為作業(yè)運(yùn)行在公共網(wǎng)絡(luò)上的客戶機(jī)計(jì)算機(jī)不能直接訪問的專用網(wǎng)絡(luò)上的群集上。因此, 想要調(diào)試的系統(tǒng)可能不能直接提供調(diào)試器。相反,將調(diào)試器連接到在計(jì)算群集上執(zhí)行的作業(yè)可能要求該群集的節(jié)點(diǎn)與客戶機(jī)處于同一網(wǎng)絡(luò)上和/或用戶對(duì)該計(jì)算群集具有管理性訪問ο此處所要求保護(hù)的主題不僅限于解決任何缺點(diǎn)的實(shí)施方式或只在諸如上文所描述的那些環(huán)境的環(huán)境中操作的實(shí)施方式。相反,此背景只示出了其中可以實(shí)施此處所描述的一些實(shí)施方式的一個(gè)示例性技術(shù)領(lǐng)域。

發(fā)明內(nèi)容
在此所示的一個(gè)實(shí)施例可以在包括群集計(jì)算系統(tǒng)的計(jì)算環(huán)境中實(shí)施。該實(shí)施例包括具有啟動(dòng)調(diào)試進(jìn)程的動(dòng)作的方法。該方法包括在群集專用網(wǎng)絡(luò)上的計(jì)算節(jié)點(diǎn)處,通過頭節(jié)點(diǎn)的調(diào)度器從公共網(wǎng)絡(luò)接收調(diào)試作業(yè)。頭節(jié)點(diǎn)連接到群集專用網(wǎng)絡(luò)和公共網(wǎng)絡(luò)二者。公共網(wǎng)絡(luò)處于群集專用網(wǎng)絡(luò)之外。該方法還包括開始處理調(diào)試作業(yè);并且作為結(jié)果,通過啟動(dòng)計(jì)算節(jié)點(diǎn)處的一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理來發(fā)起調(diào)試。該方法還包括在計(jì)算節(jié)點(diǎn)處的所啟動(dòng)的調(diào)試器遠(yuǎn)程代理參與的情況下開始處理用戶作業(yè)。向客戶機(jī)通知所述一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理已經(jīng)為調(diào)試用戶作業(yè)做好準(zhǔn)備??蛻魴C(jī)處的調(diào)試器客戶端連接到所述一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理。另一方法在包括群集計(jì)算系統(tǒng)的計(jì)算環(huán)境中實(shí)施。該實(shí)施例包括具有附連調(diào)試進(jìn)程的動(dòng)作的方法。該方法包括在執(zhí)行用戶作業(yè)的群集專用網(wǎng)絡(luò)上的計(jì)算節(jié)點(diǎn)處,通過連接到群集專用網(wǎng)絡(luò)和公共網(wǎng)絡(luò)二者的系統(tǒng)從公共網(wǎng)絡(luò)上的客戶機(jī)接收啟動(dòng)調(diào)試作業(yè)的消息。 公共網(wǎng)絡(luò)處于群集專用網(wǎng)絡(luò)之外。該方法還包括開始處理調(diào)試作業(yè);并且作為結(jié)果,通過啟動(dòng)計(jì)算節(jié)點(diǎn)處的一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理來發(fā)起對(duì)用戶作業(yè)的調(diào)試。向客戶機(jī)通知所述一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理已經(jīng)為調(diào)試用戶作業(yè)做好準(zhǔn)備。客戶機(jī)處的調(diào)試器客戶端連接到所述一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理。提供本發(fā)明內(nèi)容以便以簡化形式介紹將在以下的具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并非旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。本發(fā)明的附加特征和優(yōu)點(diǎn)將在以下描述中闡述,且其一部分根據(jù)本描述將是顯而易見的,或可通過對(duì)此處的原理的實(shí)踐來獲悉。本發(fā)明的特征和優(yōu)點(diǎn)可通過在所附權(quán)利要求書中特別指出的工具和組合來實(shí)現(xiàn)和獲得。本發(fā)明的特征將通過以下描述和所附權(quán)利要求書變得更加顯而易見,或可通過對(duì)下文中所述的本發(fā)明的實(shí)踐來獲悉。附圖簡述為了描述可獲得本主題的上述和其它優(yōu)點(diǎn)和特征的方式,將通過參考附圖中示出的本主題的具體實(shí)施方式
來呈現(xiàn)以上簡要描述的本主題的更具體描述??梢岳斫猓@些附圖只描繪了典型實(shí)施方式,并且因此不被認(rèn)為是對(duì)其范圍的限制,將通過使用附圖并利用附加特征和細(xì)節(jié)來描述和解釋各實(shí)施方式,在附圖中

圖1示出了使用代理的調(diào)試器啟動(dòng)場(chǎng)景。圖2示出了使用代理的調(diào)試器附連場(chǎng)景。圖3示出了使用NAT轉(zhuǎn)發(fā)的調(diào)試器啟動(dòng)場(chǎng)景。圖4示出了使用NAT轉(zhuǎn)發(fā)的調(diào)試器附連場(chǎng)景。圖5示出了啟動(dòng)調(diào)試器的方法;以及圖6示出附連調(diào)試器的方法。
具體實(shí)施例方式在此公開了包括用于群集的調(diào)試功能在內(nèi)的各個(gè)實(shí)施例。實(shí)施例可以包括用于在調(diào)試器控制下啟動(dòng)作業(yè)的功能?;蛘?,實(shí)施例可以包括用于將調(diào)制器附連到現(xiàn)有作業(yè)的功能。如所示那樣,這些實(shí)施例中的一些可以在對(duì)計(jì)算節(jié)點(diǎn)沒有直接的客戶機(jī)訪問或者在群集上沒有管理特權(quán)的情況下實(shí)現(xiàn)這一點(diǎn)。圖1是說明性的。圖1示出了公共網(wǎng)絡(luò)104上的客戶機(jī)102。該客戶機(jī)可能希望向群集提供作業(yè)。該群集可以具有諸如計(jì)算節(jié)點(diǎn)106之類的計(jì)算節(jié)點(diǎn),這些計(jì)算節(jié)點(diǎn)執(zhí)行與該工作相關(guān)聯(lián)的作業(yè)。圖1示出實(shí)施例通常將包括頭節(jié)點(diǎn)110可向其分配作業(yè)的多個(gè)計(jì)算節(jié)點(diǎn)106。計(jì)算節(jié)點(diǎn)可以處于與公共網(wǎng)絡(luò)104分開的專用網(wǎng)絡(luò)108上。具體而言,專用網(wǎng)絡(luò)108被與公共網(wǎng)絡(luò)104分開,使得公共網(wǎng)絡(luò)104上的系統(tǒng)不能直接與專用網(wǎng)絡(luò)108上的系統(tǒng)通信。例如,這些網(wǎng)絡(luò)可能具有不同的域。相反,客戶機(jī)102通過中介提供作業(yè)和其他通信,該中介可以使用諸如頭節(jié)點(diǎn)110 和/或路由節(jié)點(diǎn)112之類的一個(gè)或多個(gè)系統(tǒng)來實(shí)現(xiàn)??蛻魴C(jī)102可以向中介提交作業(yè),該中介然后將該作業(yè)轉(zhuǎn)發(fā)給一個(gè)或多個(gè)計(jì)算節(jié)點(diǎn)106??蛻魴C(jī)102所提交的作業(yè)可能在被計(jì)算節(jié)點(diǎn)106執(zhí)行時(shí)導(dǎo)致錯(cuò)誤。在此所述的實(shí)施例可以包括用于由客戶機(jī)102在群集上發(fā)起調(diào)試以調(diào)試錯(cuò)誤的功能。在一個(gè)示例中,這可以通過啟動(dòng)遠(yuǎn)程代理調(diào)試器,然后在調(diào)試器遠(yuǎn)程代理之上運(yùn)行代碼來完成。在一個(gè)說明性示例中,啟動(dòng)調(diào)試進(jìn)程可以通過如下方式來執(zhí)行由群集專用網(wǎng)絡(luò) 106之外的公共網(wǎng)絡(luò)104上的客戶機(jī)102向諸如頭節(jié)點(diǎn)110之類的中介發(fā)送具有調(diào)試任務(wù)的用戶作業(yè)。頭節(jié)點(diǎn)110可以為一個(gè)或多個(gè)計(jì)算節(jié)點(diǎn)106創(chuàng)建執(zhí)行調(diào)試任務(wù)的作業(yè)。在計(jì)算節(jié)點(diǎn)106處執(zhí)行調(diào)試器任務(wù)通過啟動(dòng)群集專用網(wǎng)絡(luò)108上的一個(gè)或多個(gè)計(jì)算節(jié)點(diǎn)106處的一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理114來發(fā)起對(duì)之前從客戶機(jī)102(或其他某個(gè)系統(tǒng))發(fā)送的用戶任務(wù)的遠(yuǎn)程調(diào)試。然后,可以向客戶機(jī)102通知遠(yuǎn)程代理114已經(jīng)為調(diào)試做好準(zhǔn)備。在一些實(shí)施例中,這可以通過使用路由節(jié)點(diǎn)112來完成,該路由節(jié)點(diǎn)112包括允許公共網(wǎng)絡(luò)系統(tǒng)104調(diào)用專用網(wǎng)絡(luò)108系統(tǒng)的代理。另外,客戶機(jī)102可以具有調(diào)試器客戶端??蛻魴C(jī) 102處的調(diào)試器客戶端可以例如通過路由節(jié)點(diǎn)112連接到調(diào)試器遠(yuǎn)程代理。下面示出了一個(gè)示例的附加細(xì)節(jié)。具體而言,在下面繼續(xù)參考圖1所列舉的示例中,示出了可以使用包括開發(fā)者應(yīng)用程序116的集成開發(fā)環(huán)境的實(shí)施例。開發(fā)者應(yīng)用程序可以被開發(fā)者用于開發(fā)應(yīng)用程序、尤其是針對(duì)群集計(jì)算的應(yīng)用程序。在所示的具體示例中, 開發(fā)者應(yīng)用程序116可以使用來自華盛頓州雷蒙德市的微軟公司的Visual Studio 來實(shí)現(xiàn)。如在圖1處所述,開發(fā)者應(yīng)用程序116創(chuàng)建監(jiān)聽器118。監(jiān)聽器118打開端口 Dl 以促進(jìn)通信。在一些實(shí)施例中,所分配的端口(以及在此所述的其他端口)可以是13225 至13719范圍的端口,因?yàn)檫@些端口通常未分配。監(jiān)聽器118打開到作為本地管理員運(yùn)行的路由節(jié)點(diǎn)112上的公知代理服務(wù)120的鏈接P。在一些實(shí)施例中,該代理可以基于配置數(shù)據(jù)或項(xiàng)目設(shè)置來選擇。監(jiān)聽器118通過P向代理服務(wù)120發(fā)送初始化消息(該消息在此被示為InitProxy (D1,U)),其中U是用戶的群集憑證。代理服務(wù)120利用用戶憑證(U)來分叉代理實(shí)例,從而將其傳遞給Dl以及傳遞hitfroxy消息的回復(fù)上下文。注意,在一些實(shí)施例中,在此所述的所發(fā)送和接收的消息可以被加密。如在2所示,代理122為Dl打開到代理的112的Dlp并且為新代理請(qǐng)求打開端口 P1,并且將回復(fù)hitfroxyR印ly(Pl,Dlp)發(fā)送回監(jiān)聽器118。如在3處所示,監(jiān)聽器118將向頭節(jié)點(diǎn)110處的調(diào)度器124發(fā)送新作業(yè)消息 NewJ0b(DebUgStart,Pl,Dlp)。該消息指定新調(diào)度器作業(yè)。在某個(gè)實(shí)施例中,用于由監(jiān)聽器進(jìn)行路由的頭節(jié)點(diǎn)110和調(diào)度器IM信息可以包括在配置數(shù)據(jù)和/或開發(fā)項(xiàng)目設(shè)置中。如在4處所示,調(diào)度器IM在每個(gè)計(jì)算節(jié)點(diǎn)106處創(chuàng)建運(yùn)行DebugStart (Pl,Dlp) 的作業(yè)。如在5處所示,調(diào)試啟動(dòng)1 選擇地址D2并且在該示例中通過調(diào)用msvsmon (D2,Ε)來啟動(dòng)合適的遠(yuǎn)程代理114,并且等待事件Ε。遠(yuǎn)程代理114啟動(dòng)并且打開D2以用于連接。遠(yuǎn)程代理114在其準(zhǔn)備好在D2上進(jìn)行接收時(shí)設(shè)置事件Ε。如在6處所示,調(diào)試啟動(dòng)126向代理122 (Pl)發(fā)送路由消息RouteTo (D2)。代理 122創(chuàng)建被代理端口 D2P。如在7處所示,代理用路由回復(fù)消息RouteToR印Iy (D2p)來響應(yīng)調(diào)試啟動(dòng)126。如在8處所示,調(diào)試啟動(dòng)1 在Dlp處向代理122 (Pl)發(fā)送指示調(diào)試代理被啟動(dòng)的消息 DebugAgentStarted(D2p)。在9,代理122在Dl處將DebugAgentMarted消息轉(zhuǎn)發(fā)給監(jiān)聽器118。監(jiān)聽器118 調(diào)用開發(fā)者應(yīng)用程序116調(diào)試器,從而指示其在D 處連接到遠(yuǎn)程代理。如在10處所示,開發(fā)者應(yīng)用程序調(diào)試器在1) 處打開與代理122的遠(yuǎn)程調(diào)試會(huì)話。如在11處所示,代理122在D2處打開與遠(yuǎn)程代理114的會(huì)話。代理122在兩個(gè)方向上路由調(diào)試消息。開發(fā)者應(yīng)用程序調(diào)試器通過代理122來指示遠(yuǎn)程代理114啟動(dòng)用戶進(jìn)程128。用戶進(jìn)程1 可以是要調(diào)試的進(jìn)程。遠(yuǎn)程代理114啟動(dòng)并且返回標(biāo)識(shí)出用戶進(jìn)程128的進(jìn)程標(biāo)識(shí)符。開發(fā)者應(yīng)用程序調(diào)試器向監(jiān)聽器118通知該啟動(dòng)完成,并且向監(jiān)聽器118提供進(jìn)程標(biāo)識(shí)符pid。如在12處所示,監(jiān)聽器118在1) 處向代理122發(fā)送 DebugAgentStartedReply(pid)消息。如在13處所示,代理122將該回復(fù)轉(zhuǎn)發(fā)給調(diào)試啟動(dòng)126。調(diào)試啟動(dòng)沈打開到用戶進(jìn)程128的句柄并且等待其終止。在上面所示的示例中,示出了各個(gè)組件。下面的討論示出了這些組件中的一些的附加細(xì)節(jié)。在所示的示例中,監(jiān)聽器118是開發(fā)者應(yīng)用程序116組件,該開發(fā)者應(yīng)用程序116 組件是在調(diào)試啟動(dòng)時(shí)創(chuàng)建的并且繼續(xù)存在,直到調(diào)試會(huì)話已經(jīng)終止。監(jiān)聽器118的目的是為想要加入調(diào)試會(huì)話的遠(yuǎn)程進(jìn)程發(fā)起開發(fā)者應(yīng)用程序116調(diào)試。監(jiān)聽器118是響應(yīng)于請(qǐng)求發(fā)起遠(yuǎn)程調(diào)試會(huì)話的服務(wù)(在一個(gè)示例中為可從華盛頓州雷蒙德市的微軟公司獲得的 Windows通信基礎(chǔ) 服務(wù))。下面示出了請(qǐng)求發(fā)起遠(yuǎn)程調(diào)試會(huì)話的請(qǐng)求的示例PID InitiateRemoteDebugSession(端點(diǎn) RemoteAgentAddress, 端點(diǎn) ProxyAddress)。響應(yīng)于該消息,監(jiān)聽器118將調(diào)用開發(fā)者應(yīng)用程序116調(diào)試器遠(yuǎn)程啟動(dòng)/附連代碼并且將向其提供遠(yuǎn)程代理地址以及任選的代理地址以及用戶憑證。開發(fā)者應(yīng)用程序116 啟動(dòng)代碼將打開到RemoteAgentAddress (遠(yuǎn)程代理地址)的連接(通過代理122),并且請(qǐng)求進(jìn)行該啟動(dòng)(或者下面所示的附連)。在成功完成以后,進(jìn)程標(biāo)識(shí)符(Pid)被返回給監(jiān)聽器118。監(jiān)聽器118用該pid回復(fù)該消息??梢灶A(yù)期多個(gè)消息。在一些實(shí)施例中,監(jiān)聽器 118將響應(yīng)其接收的所有消息。代理服務(wù)120是憑本地系統(tǒng)憑證在路由節(jié)點(diǎn)112上運(yùn)行的服務(wù)。在一些實(shí)施例中, 代理服務(wù)102可以是Windows通信基礎(chǔ) 服務(wù)。代理服務(wù)120啟動(dòng)代理122以用于調(diào)試會(huì)話。代理服務(wù)120發(fā)布公知的地址并且在該地址處監(jiān)聽代理請(qǐng)求。下面示出了示例性的發(fā)布消息端點(diǎn) NewProxySession (憑證 userCredentials)。
當(dāng)請(qǐng)求到來時(shí),代理服務(wù)120確認(rèn)用戶憑證,分配端點(diǎn)端口,并且憑用戶的憑證啟動(dòng)代理122進(jìn)程。代理服務(wù)120等待代理122打開端點(diǎn)并且然后用代理122的端點(diǎn)描述來響應(yīng) NewProxySession 請(qǐng)求。代理122是憑用戶憑證運(yùn)行的服務(wù),其在一些實(shí)施例中可以是Windows通信基礎(chǔ) 服務(wù)。代理122負(fù)責(zé)在公共網(wǎng)絡(luò)104上的調(diào)試器(其例如處于開發(fā)者應(yīng)用程序116處) 與其在專用網(wǎng)絡(luò)108上的遠(yuǎn)程代理114之間路由消息。在啟動(dòng)時(shí),其打開端點(diǎn)以用于路由請(qǐng)求。下面示出了打開端點(diǎn)以用于路由請(qǐng)求的消息的示例Endpoint RouteTo (端點(diǎn) endpoint)。該請(qǐng)求來自網(wǎng)絡(luò)A(B)上的進(jìn)程,然后路由器在B (A)上打開新端點(diǎn),并且在回復(fù)中返回描述。調(diào)試啟動(dòng)1 憑用戶憑證運(yùn)行,并且負(fù)責(zé)在具有要調(diào)試的進(jìn)程(例如用戶進(jìn)程 128)的機(jī)器上啟動(dòng)遠(yuǎn)程代理114調(diào)試器進(jìn)程。調(diào)試啟動(dòng)1 可以由群集管理器直接調(diào)用, 或者由針對(duì)動(dòng)態(tài)計(jì)算調(diào)度任務(wù)的群集子調(diào)度器來調(diào)用。調(diào)試啟動(dòng)126發(fā)起到監(jiān)聽器118的通信,并且向監(jiān)聽器通知其已經(jīng)創(chuàng)建的遠(yuǎn)程代理114的動(dòng)態(tài)地址。盡管圖1中所示的在先示例已經(jīng)示出了通過啟動(dòng)調(diào)試能力并且然后啟動(dòng)用戶進(jìn)程1 來調(diào)試用戶進(jìn)程128的示例,但是其他實(shí)施例可以將調(diào)試功能附連到已經(jīng)執(zhí)行的進(jìn)程。下面和圖2示出了調(diào)試器附連的示例。如在圖201處所述,開發(fā)者應(yīng)用程序116創(chuàng)建監(jiān)聽器118。監(jiān)聽器118打開Dl。監(jiān)聽器118在作為本地管理員運(yùn)行的路由節(jié)點(diǎn)上打開到公知代理服務(wù)120 (P)的鏈接(例如根據(jù)配置數(shù)據(jù)和/或開發(fā)者項(xiàng)目設(shè)置)。監(jiān)聽器118向P發(fā)送代理初始化消息InitProxy (Dl, U),其中U是用戶的群集憑證。代理服務(wù)120利用用戶憑證(U)來分叉代理122實(shí)例,從而將其傳遞給Dl以及傳遞InitProxy消息的回復(fù)上下文。如在202處所示,代理122為Dl打開到代理的122的Dlp并且分別為來自專用和公共網(wǎng)絡(luò)104和106的新代理請(qǐng)求打開端口 Pl (以及P2),并且將代理初始化回復(fù)消息 InitProxyReply (Pl, P,Dlp)發(fā)送回監(jiān)聽器 118。如在203處所示,監(jiān)聽器118從調(diào)度器124請(qǐng)求作業(yè)細(xì)節(jié)。如在204處所示,監(jiān)聽器118作為回報(bào)接收計(jì)算節(jié)點(diǎn)106的列表和進(jìn)程id。如在205處所示,針對(duì)該列表中的每個(gè)計(jì)算節(jié)點(diǎn)106,監(jiān)聽器118向P2發(fā)送 ForwardMessage (NodeName, A, DebugStart (PI, Dlp), U)。如在206處所示,代理122將DebugStart (調(diào)試啟動(dòng))消息轉(zhuǎn)發(fā)給節(jié)點(diǎn)“NodeName” 上的公知地址處的附連服務(wù)130。如在207處所示,附連服務(wù)130選擇地址D2并且比如通過憑用戶憑證U調(diào)用 msvsmon(D2, Ε)來啟動(dòng)用戶代理114,并且等待事件Ε。遠(yuǎn)程代理114啟動(dòng)并且打開D2以用于連接。遠(yuǎn)程代理114在其準(zhǔn)備好在D2上進(jìn)行接收時(shí)設(shè)置事件Ε。如在208處所示,附連服務(wù)130向代理122 (Pl)發(fā)送RouteTo (D2)消息。代理122 創(chuàng)建被代理端口 D2P。如在209處所示,代理122用RouteToR印Iy (D2p)來響應(yīng)附連服務(wù)130。如在210處所示,附連服務(wù)130在Dlp處向代理發(fā)送DebugAgentMarted (D2p)消肩、ο
8
如在211處所示,代理122在Dl處將DebugAgentMarted消息轉(zhuǎn)發(fā)給監(jiān)聽器118。 監(jiān)聽器118調(diào)用開發(fā)者應(yīng)用程序116調(diào)試器,從而指示其在D^處連接到遠(yuǎn)程代理。如在212處所示,開發(fā)者應(yīng)用程序116調(diào)試器在0 處打開與代理122的遠(yuǎn)程調(diào)
試會(huì)話。如在213處所示,代理122在D2處打開與遠(yuǎn)程代理114的會(huì)話。其在兩個(gè)方向上路由調(diào)試消息。調(diào)試器指示遠(yuǎn)程代理114附連到由進(jìn)程標(biāo)識(shí)符(pid)所標(biāo)識(shí)出的用戶進(jìn)程。 遠(yuǎn)程代理114附連到該進(jìn)程。開發(fā)者應(yīng)用程序116調(diào)試器向監(jiān)聽器118通知附連完成。下面示出了一些實(shí)施例中的附連服務(wù)130的細(xì)節(jié)。附連服務(wù)130憑本地系統(tǒng)憑證運(yùn)行,并且負(fù)責(zé)在具有要調(diào)試的進(jìn)程(例如用戶進(jìn)程128)的機(jī)器上啟動(dòng)遠(yuǎn)程調(diào)試器進(jìn)程遠(yuǎn)程代理114。附連服務(wù)130是在支持遠(yuǎn)程群集附連的任何節(jié)點(diǎn)上運(yùn)行的系統(tǒng)服務(wù)。附連服務(wù)130監(jiān)聽來自監(jiān)聽器118的DebugStart消息,并且然后憑該消息中所包含的用戶憑證創(chuàng)建遠(yuǎn)程代理114進(jìn)程。附連服務(wù)130向監(jiān)聽器118通知其已經(jīng)創(chuàng)建的遠(yuǎn)程代理114的動(dòng)態(tài)地址。盡管上面所示的實(shí)施例使用代理來在公共和專用網(wǎng)絡(luò)之間通信,但是其他實(shí)施例可以使用目錄服務(wù)和NAT端口轉(zhuǎn)發(fā)。例如,圖3和4圖解說明了示出使用目錄服務(wù)和NAT 端口轉(zhuǎn)發(fā)的啟動(dòng)和附連示例的交互圖。具體而言,圖3示出了啟動(dòng)場(chǎng)景。圖4示出了附連場(chǎng)景。如在前面所討論的示例中那樣,群集包含兩種節(jié)點(diǎn)、即頭節(jié)點(diǎn)110和一組節(jié)點(diǎn) 106。頭節(jié)點(diǎn)110連接到兩個(gè)網(wǎng)絡(luò)、即公共網(wǎng)絡(luò)和專用網(wǎng)絡(luò)。計(jì)算節(jié)點(diǎn)106每個(gè)都僅僅連接到專用網(wǎng)絡(luò)。諸如主機(jī)102之類的客戶機(jī)處于專用網(wǎng)絡(luò)上。除了在該具體示例中通過在頭節(jié)點(diǎn)110處的顯式NAT端口映射以外,在專用網(wǎng)絡(luò)與公共網(wǎng)絡(luò)之間未啟用路由。在群集附連和啟動(dòng)實(shí)施方式中包括多個(gè)行動(dòng)者。一個(gè)這樣的行動(dòng)者是開發(fā)者應(yīng)用程序116,其可以包括調(diào)試器用戶界面主機(jī)。另一行動(dòng)者是目錄服務(wù)132,其可以是作為為群集作業(yè)提供轉(zhuǎn)發(fā)端口的目錄的服務(wù)(比如例如Windows 服務(wù))而運(yùn)行的應(yīng)用程序。目錄服務(wù)可以在群集的頭節(jié)點(diǎn)110上運(yùn)行。NAT端口轉(zhuǎn)發(fā)134可以是在群集的頭節(jié)點(diǎn)110上運(yùn)行的網(wǎng)絡(luò)地址轉(zhuǎn)換服務(wù)。在頭節(jié)點(diǎn)110上運(yùn)行的服務(wù)器調(diào)度器IM調(diào)度要在群集的計(jì)算節(jié)點(diǎn)106上執(zhí)行的用戶作業(yè)。診斷服務(wù)136是作為服務(wù)(比如Windows 服務(wù))在每個(gè)計(jì)算節(jié)點(diǎn)106上執(zhí)行的應(yīng)用程序。診斷服務(wù)136處理如圖4的附連示例中所示的附連到進(jìn)程的調(diào)試器請(qǐng)求。診斷服務(wù)136在引導(dǎo)時(shí)自動(dòng)啟動(dòng),并且在公知的端口 DS處監(jiān)聽調(diào)試請(qǐng)求。診斷服務(wù)136創(chuàng)建遠(yuǎn)程代理114的實(shí)例以滿足該請(qǐng)求。調(diào)試啟動(dòng)1 是由調(diào)試器注入到用戶作業(yè)中的任務(wù)。調(diào)試啟動(dòng)1 創(chuàng)建遠(yuǎn)程代理114的實(shí)例以在調(diào)試器控制下啟動(dòng)用戶進(jìn)程128。遠(yuǎn)程代理114 是開發(fā)者應(yīng)用程序116調(diào)試器的遠(yuǎn)程助手進(jìn)程。遠(yuǎn)程代理114由診斷服務(wù)136響應(yīng)于附連請(qǐng)求在計(jì)算節(jié)點(diǎn)106上啟動(dòng)。用戶進(jìn)程1 可以是要調(diào)試的進(jìn)程?,F(xiàn)在參考圖3,示出了在群集上啟動(dòng)調(diào)試并且調(diào)試用戶進(jìn)程的示例。在301,開發(fā)者應(yīng)用程序116用戶通過調(diào)度器IM請(qǐng)求將其作業(yè)排隊(duì)以供在群集上執(zhí)行。在302,調(diào)度器IM向一組計(jì)算節(jié)點(diǎn)106分配該作業(yè)并且啟動(dòng)在每個(gè)節(jié)點(diǎn)106上運(yùn)行的作業(yè)。在303,該作業(yè)中的第一任務(wù)是調(diào)試啟動(dòng)任務(wù)126。調(diào)試啟動(dòng)任務(wù)1 在該組計(jì)算節(jié)點(diǎn)中的每個(gè)計(jì)算節(jié)點(diǎn)106上創(chuàng)建遠(yuǎn)程代理114進(jìn)程,該遠(yuǎn)程代理進(jìn)程每個(gè)都打開端口 Dr 并且監(jiān)聽調(diào)試器鏈接。在304,在遠(yuǎn)程代理114啟動(dòng)以后,調(diào)試啟動(dòng)126向目錄服務(wù)132注冊(cè)每個(gè)計(jì)算節(jié)點(diǎn)106的Dr端口。在305,開發(fā)者應(yīng)用程序116向目錄服務(wù)132輪詢?yōu)橛脩舻淖鳂I(yè)注冊(cè)的所有端口, 直到其為每個(gè)遠(yuǎn)程代理114都接收到一個(gè)經(jīng)映射的端口 Drp。目錄服務(wù)132將創(chuàng)建為了滿足該請(qǐng)求所需的經(jīng)由NAT的端口映射。在306,一旦已經(jīng)為作業(yè)創(chuàng)建了端口,則目錄服務(wù)132就周期性地輪詢調(diào)度器124 以驗(yàn)證該作業(yè)還未終止。在307,針對(duì)每個(gè)注冊(cè)的端口,開發(fā)者應(yīng)用程序116通過Drp連接到該計(jì)算節(jié)點(diǎn) 106上的遠(yuǎn)程代理114并且創(chuàng)建和調(diào)試用戶進(jìn)程128。消息繼續(xù)在開發(fā)者應(yīng)用程序116與遠(yuǎn)程代理114之間來回,直到調(diào)試會(huì)話完成。要么緊跟在完成調(diào)試會(huì)話以后,要么在一定時(shí)間以后,用戶進(jìn)程128結(jié)束并且該作業(yè)完成。在308,目錄服務(wù)132通過調(diào)度器124發(fā)現(xiàn)作業(yè)完成,并且刪除所有Drp轉(zhuǎn)發(fā)端口。下面是出了群集附連場(chǎng)景。在401,用戶在調(diào)度器IM處對(duì)作業(yè)排隊(duì)。調(diào)度器124 向其提供JobId (作業(yè)Id)。調(diào)度器1 在稍后某一時(shí)刻啟動(dòng)在用戶節(jié)點(diǎn)106的集合S上執(zhí)行的用戶作業(yè)(包括用戶進(jìn)程128)。在402,用戶確定調(diào)試其正在執(zhí)行的作業(yè)。他啟動(dòng)調(diào)試器應(yīng)用程序116并且開始群集附連進(jìn)程。他標(biāo)識(shí)出他的群集頭節(jié)點(diǎn)110和Jobld。開發(fā)者應(yīng)用程序116向調(diào)度器124 查詢計(jì)算節(jié)點(diǎn)名稱的列表以及該作業(yè)的用戶進(jìn)程128的進(jìn)程id。在403,針對(duì)調(diào)度器124返回的列表中的每個(gè)計(jì)算節(jié)點(diǎn)106,開發(fā)者應(yīng)用程序116 向目錄服務(wù)132注冊(cè)其診斷服務(wù)的136端口 DS。目錄服務(wù)132進(jìn)而請(qǐng)求DS的NAT端口映射。目錄服務(wù)132返回經(jīng)映射的端口 DSp。該進(jìn)程導(dǎo)致為每個(gè)計(jì)算節(jié)點(diǎn)106創(chuàng)建一個(gè)DSp。 發(fā)送給DSp的消息將通過頭節(jié)點(diǎn)110被路由到匹配的DS。在404,針對(duì)每個(gè)計(jì)算節(jié)點(diǎn)106,開發(fā)者應(yīng)用程序116向DSp發(fā)送附連請(qǐng)求。該消息在端口 DS上被轉(zhuǎn)發(fā)給計(jì)算節(jié)點(diǎn)106的診斷服務(wù)136。診斷服務(wù)136在計(jì)算節(jié)點(diǎn)106上創(chuàng)建遠(yuǎn)程代理114的實(shí)例。遠(yuǎn)程代理114打開端口 Dr,并且監(jiān)聽來自與開發(fā)者應(yīng)用程序116 相關(guān)聯(lián)的客戶機(jī)102處的調(diào)試器的調(diào)試器連接請(qǐng)求。在遠(yuǎn)程代理114啟動(dòng)以后,診斷服務(wù) 136向目錄服務(wù)132注冊(cè)Dr。然后,附連請(qǐng)求完成。在405,開發(fā)者應(yīng)用程序116向目錄服務(wù)132輪詢?yōu)橛脩舻淖鳂I(yè)注冊(cè)的所有端口, 直到其為每個(gè)計(jì)算節(jié)點(diǎn)106都接收到一個(gè)經(jīng)映射的端口 Drp。目錄服務(wù)132將創(chuàng)建為了滿足該請(qǐng)求所需的經(jīng)由NAT的端口映射。在406,一旦已經(jīng)為作業(yè)創(chuàng)建了端口,則目錄服務(wù)132就周期性地輪詢調(diào)度器124 以驗(yàn)證該作業(yè)還未終止。在407,針對(duì)每個(gè)計(jì)算節(jié)點(diǎn)106上的每個(gè)用戶進(jìn)程128,開發(fā)者應(yīng)用程序116通過 Drp連接到該計(jì)算節(jié)點(diǎn)106上的遠(yuǎn)程代理114,并且開始用戶進(jìn)程128的調(diào)試會(huì)話。消息繼續(xù)在開發(fā)者應(yīng)用程序116(具體是開發(fā)者應(yīng)用程序的調(diào)試器模塊)與遠(yuǎn)程代理114之間往返,直到調(diào)試會(huì)話完成。要么緊跟在完成調(diào)試會(huì)話以后,要么在一定時(shí)間以后,用戶進(jìn)程128 結(jié)束并且該作業(yè)完成。
在408,目錄服務(wù)132通過調(diào)度器IM發(fā)現(xiàn)作業(yè)完成,并且刪除所有Drp轉(zhuǎn)發(fā)端口。在409,目錄服務(wù)132還刪除所有與該作業(yè)相關(guān)聯(lián)的DSp端口。下面的討論現(xiàn)在涉及可執(zhí)行的多個(gè)方法和方法動(dòng)作。雖然可以以某一順序討論或在流程圖中按特定順序發(fā)生而示出了方法動(dòng)作,但是,沒有特定順序是一定需要的,除非特別聲明,或者是必需的,因?yàn)樵谝粋€(gè)動(dòng)作被執(zhí)行之前該動(dòng)作取決于另一動(dòng)作被完成?,F(xiàn)在參考圖5,示出了方法500。方法500可以在包括群集計(jì)算系統(tǒng)的計(jì)算環(huán)境中實(shí)施。方法500包括啟動(dòng)調(diào)試進(jìn)程的動(dòng)作。方法500包括在群集專用網(wǎng)絡(luò)上的計(jì)算節(jié)點(diǎn)處通過頭節(jié)點(diǎn)的調(diào)度器從公共網(wǎng)絡(luò)接收調(diào)試作業(yè)(動(dòng)作502)。頭節(jié)點(diǎn)連接到專用網(wǎng)絡(luò)和公共網(wǎng)絡(luò)二者。公共網(wǎng)絡(luò)處于群集專用網(wǎng)絡(luò)之外。例如如圖1所示,計(jì)算節(jié)點(diǎn)106可以從客戶機(jī)102接收調(diào)試作業(yè),該調(diào)試作業(yè)是通過頭節(jié)點(diǎn)110、具體是通過頭節(jié)點(diǎn)110的調(diào)度器124 被路由的。方法500還包括開始處理調(diào)試作業(yè),并且作為結(jié)果,通過啟動(dòng)計(jì)算節(jié)點(diǎn)處的一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理來發(fā)起調(diào)試(動(dòng)作504)。例如,參考圖1,可以啟動(dòng)遠(yuǎn)程代理114。方法500還包括在計(jì)算節(jié)點(diǎn)處存在已啟動(dòng)的調(diào)試器遠(yuǎn)程代理的情況下開始處理用戶作業(yè)(動(dòng)作506)。例如,計(jì)算節(jié)點(diǎn)106可以在存在正在運(yùn)行的遠(yuǎn)程代理114的情況下開始處理用戶進(jìn)程128。方法500還包括向客戶機(jī)通知所述一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理已經(jīng)為調(diào)試用戶作業(yè)做好準(zhǔn)備。例如,圖1示出消息可以發(fā)送給代理122,該消息然后被轉(zhuǎn)發(fā)給開發(fā)者應(yīng)用程序116的監(jiān)聽器118。方法500還包括將客戶機(jī)處的調(diào)試器客戶端連接到所述一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理。例如,開發(fā)者應(yīng)用程序116中所包括的調(diào)試器可以如上述那樣連接到一個(gè)或多個(gè)遠(yuǎn)程代理114?,F(xiàn)在參考圖6,示出了另一方法600。方法600可以在包括群集計(jì)算系統(tǒng)的計(jì)算環(huán)境中實(shí)施。方法600包括附連調(diào)試進(jìn)程的動(dòng)作。方法600包括在執(zhí)行用戶作業(yè)的群集專用網(wǎng)絡(luò)上的計(jì)算節(jié)點(diǎn)處,通過連接到群集專用網(wǎng)絡(luò)和公共網(wǎng)絡(luò)二者的系統(tǒng)從公共網(wǎng)絡(luò)上的客戶機(jī)接收調(diào)試作業(yè)(動(dòng)作602)。公共網(wǎng)絡(luò)處于群集專用網(wǎng)絡(luò)之外。例如,如圖2所示,示出了公共網(wǎng)絡(luò)104和群集專用網(wǎng)絡(luò)108??蛻魴C(jī)102處于公共網(wǎng)絡(luò)104上,并且計(jì)算節(jié)點(diǎn)106 處于群集專用網(wǎng)絡(luò)108上。計(jì)算節(jié)點(diǎn)可以從路由節(jié)點(diǎn)112接收啟動(dòng)調(diào)試作業(yè)的消息。方法600還包括開始處理調(diào)試作業(yè),并且作為結(jié)果,通過啟動(dòng)計(jì)算節(jié)點(diǎn)處的一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理來發(fā)起對(duì)用戶作業(yè)的調(diào)試(動(dòng)作604)。具體而言,附連服務(wù)130可以啟動(dòng)用戶代理114。方法600還包括向客戶機(jī)通知所述一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理已經(jīng)為調(diào)試用戶作業(yè)做好準(zhǔn)備(動(dòng)作606)。方法600還包括作為結(jié)果,將客戶機(jī)處的調(diào)試器客戶端連接到所述一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理(動(dòng)作608)。此外,方法可以通過包括一個(gè)或多個(gè)處理器和諸如計(jì)算機(jī)存儲(chǔ)器之類的計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)系統(tǒng)來實(shí)施。具體而言,計(jì)算機(jī)存儲(chǔ)器可以存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令,當(dāng)由一個(gè)或多個(gè)處理器執(zhí)行時(shí),這些指令使諸如各實(shí)施方式中所列舉的動(dòng)作之類的各種功能被執(zhí)行。
本發(fā)明的實(shí)施方式可以包括或使用含有各種計(jì)算機(jī)硬件的專用或通用計(jì)算機(jī),這將在以下更詳細(xì)地討論。本發(fā)明范圍內(nèi)的各實(shí)施例還包括用于承載或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理和其他計(jì)算機(jī)可讀介質(zhì)。這些計(jì)算機(jī)可讀介質(zhì)可以是可由通用或?qū)S糜?jì)算機(jī)系統(tǒng)訪問的任何可用介質(zhì)。存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是物理存儲(chǔ)介質(zhì)。承載計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限制, 本發(fā)明的各實(shí)施例可包括至少兩種完全不同的計(jì)算機(jī)可讀介質(zhì)物理計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和傳輸計(jì)算機(jī)可讀介質(zhì)。物理計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì)包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲(chǔ)器(諸如CD、DVD、等等)、磁盤存儲(chǔ)器或其他磁存儲(chǔ)設(shè)備,或可以用來存儲(chǔ)所需要的以計(jì)算機(jī)可執(zhí)行的指令或數(shù)據(jù)結(jié)構(gòu)的形式存在的程序代碼裝置并可以被通用或?qū)S糜?jì)算機(jī)訪問的任何其他介質(zhì)。“網(wǎng)絡(luò)”被定義為允許在計(jì)算機(jī)系統(tǒng)和/或模塊和/或其他電子設(shè)備之間傳輸電子數(shù)據(jù)的一個(gè)或多個(gè)數(shù)據(jù)鏈接。當(dāng)信息通過網(wǎng)絡(luò)或另一個(gè)通信連接(硬連線、無線、或者硬連線或無線的組合)傳輸或提供給計(jì)算機(jī)時(shí),該計(jì)算機(jī)將該連接適當(dāng)?shù)匾暈閭鬏斀橘|(zhì)。傳輸介質(zhì)可包括可用于承載計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜?jì)算機(jī)訪問的網(wǎng)絡(luò)和/或數(shù)據(jù)鏈接。上面各項(xiàng)的組合也包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。此外,在到達(dá)各種計(jì)算機(jī)系統(tǒng)組件時(shí),以計(jì)算機(jī)可執(zhí)行的指令或數(shù)據(jù)結(jié)構(gòu)的形式存在的程序代碼裝置可以自動(dòng)地從傳輸計(jì)算機(jī)可讀介質(zhì)傳輸?shù)轿锢碛?jì)算機(jī)可讀存儲(chǔ)介質(zhì) (或者反之亦然)。例如,通過網(wǎng)絡(luò)或數(shù)據(jù)鏈路接收到的計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可被緩存在網(wǎng)絡(luò)接口模塊(例如,“NIC”)內(nèi)的RAM中,然后最終被傳送到計(jì)算機(jī)系統(tǒng)RAM和/ 或計(jì)算機(jī)系統(tǒng)處的較不易失性的計(jì)算機(jī)可讀物理存儲(chǔ)介質(zhì)。如此,計(jì)算機(jī)可讀的物理存儲(chǔ)介質(zhì)可以包括在也(或者甚至主要)利用傳輸介質(zhì)的計(jì)算機(jī)系統(tǒng)組件中。計(jì)算機(jī)可執(zhí)行指令包括例如,使通用計(jì)算機(jī)、專用計(jì)算機(jī)、或?qū)S锰幚碓O(shè)備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。計(jì)算機(jī)可執(zhí)行指令可以是例如二進(jìn)制代碼、諸如匯編語言之類的中間格式指令、或甚至源代碼。盡管用結(jié)構(gòu)特征和/或方法動(dòng)作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述特征或動(dòng)作。相反,上述特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例形式而公開的。本領(lǐng)域的技術(shù)人員將理解,本發(fā)明可以在具有許多類型的計(jì)算機(jī)系統(tǒng)配置的網(wǎng)絡(luò)計(jì)算環(huán)境中實(shí)踐,這些計(jì)算機(jī)系統(tǒng)配置包括個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、消息處理器、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、移動(dòng)電話、PDA、尋呼機(jī)、路由器、交換機(jī)等等。本發(fā)明也可在其中通過網(wǎng)絡(luò)鏈接(或者通過硬連線數(shù)據(jù)鏈接、無線數(shù)據(jù)鏈接,或者通過硬連線和無線數(shù)據(jù)鏈接的組合)的本地和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)兩者都執(zhí)行任務(wù)的分布式系統(tǒng)環(huán)境中實(shí)踐。在分布式系統(tǒng)環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備二者中。本發(fā)明可具體化為其它具體形式而不背離其精神或特征。所描述的實(shí)施例在所有方面都應(yīng)被認(rèn)為僅是說明性而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求書而非前述描述指示。落入權(quán)利要求書的等效方案的含義和范圍內(nèi)的所有改變被權(quán)利要求書的范圍所涵蓋。
1權(quán)利要求
1.一種在包括群集計(jì)算系統(tǒng)的計(jì)算環(huán)境中用于啟動(dòng)調(diào)試進(jìn)程的方法,該方法包括在群集專用網(wǎng)絡(luò)108上的計(jì)算節(jié)點(diǎn)106處,通過頭節(jié)點(diǎn)110的調(diào)度器IM從公共網(wǎng)絡(luò) 104上的客戶機(jī)接收調(diào)試作業(yè),其中所述頭節(jié)點(diǎn)110連接到所述群集專用網(wǎng)絡(luò)108和所述公共網(wǎng)絡(luò)104 二者,并且其中所述公共網(wǎng)絡(luò)104處于所述群集專用網(wǎng)絡(luò)108之外;開始處理該調(diào)試作業(yè),并且作為結(jié)果,通過啟動(dòng)所述計(jì)算節(jié)點(diǎn)106處的一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理114來發(fā)起調(diào)試;在所述計(jì)算節(jié)點(diǎn)106處存在已啟動(dòng)的調(diào)試器遠(yuǎn)程代理114的情況下開始處理用戶作業(yè);向所述客戶機(jī)通知所述一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理114已經(jīng)為調(diào)試所述用戶作業(yè)做好準(zhǔn)備;以及作為結(jié)果,將所述客戶機(jī)106處的調(diào)試器客戶端連接到所述一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理 114。
2.如權(quán)利要求1所述的方法,其特征在于,所述客戶機(jī)包括監(jiān)聽器,并且其中通過一個(gè)或多個(gè)中介從所述客戶機(jī)到所述計(jì)算節(jié)點(diǎn)的通信來自所述監(jiān)聽器。
3.如權(quán)利要求2所述的方法,其特征在于,通信從所述客戶機(jī)拉取。
4.如權(quán)利要求2所述的方法,其特征在于,通信從所述客戶機(jī)推送。
5.如權(quán)利要求1所述的方法,其特征在于,所述客戶機(jī)與所述計(jì)算節(jié)點(diǎn)之間的通信通過耦合到所述公共網(wǎng)絡(luò)和所述群集專用網(wǎng)絡(luò)二者的系統(tǒng)上的代理。
6.如權(quán)利要求1所述的方法,其特征在于,所述客戶機(jī)與所述計(jì)算節(jié)點(diǎn)之間的通信通過耦合到所述公共網(wǎng)絡(luò)和該群集專用網(wǎng)絡(luò)二者的系統(tǒng)上的NAT服務(wù)。
7.如權(quán)利要求1所述的方法,其特征在于,還包括通過所述頭節(jié)點(diǎn)的調(diào)度器從所述公共網(wǎng)絡(luò)上的客戶機(jī)接收所述用戶作業(yè)。
8.如權(quán)利要求1所述的方法,其特征在于,還包括打開一個(gè)或多個(gè)代理端口以促進(jìn)所述客戶機(jī)與所述計(jì)算節(jié)點(diǎn)之間的通信,并且其中所述一個(gè)或多個(gè)代理端口選自13225至 13719的范圍。
9.如權(quán)利要求1所述的方法,其特征在于,所述客戶機(jī)包括開發(fā)者應(yīng)用程序,所述開發(fā)者應(yīng)用程序被開發(fā)者用于開發(fā)用于群集計(jì)算的應(yīng)用程序,并且其中來自所述客戶機(jī)的消息是從所述開發(fā)者應(yīng)用程序接收到的。
10.一種在包括群集計(jì)算系統(tǒng)的計(jì)算環(huán)境中用于附連調(diào)試進(jìn)程的方法,所述方法包括在執(zhí)行用戶作業(yè)的群集專用網(wǎng)絡(luò)108上的計(jì)算節(jié)點(diǎn)106處,通過連接到所述群集專用網(wǎng)絡(luò)108和公共網(wǎng)絡(luò)104 二者的系統(tǒng)從所述公共網(wǎng)絡(luò)104上的客戶機(jī)接收啟動(dòng)調(diào)試作業(yè)的消息,并且其中所述公共網(wǎng)絡(luò)104處于所述群集專用網(wǎng)絡(luò)108之外;開始處理所述調(diào)試作業(yè),并且作為結(jié)果,通過啟動(dòng)所述計(jì)算節(jié)點(diǎn)106處的一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理114來發(fā)起對(duì)用戶作業(yè)的調(diào)試;向所述客戶機(jī)通知所述一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理114已經(jīng)為調(diào)試所述用戶作業(yè)做好準(zhǔn)備;以及作為結(jié)果,將所述客戶機(jī)106處的調(diào)試器客戶端連接到所述一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理 114。
11.如權(quán)利要求10所述的方法,其特征在于,所述客戶機(jī)包括監(jiān)聽器,并且其中通過一個(gè)或多個(gè)中介從所述客戶機(jī)到所述計(jì)算節(jié)點(diǎn)的通信來自所述監(jiān)聽器。
12.如權(quán)利要求11所述的方法,其特征在于,通信從所述客戶機(jī)拉取。
13.如權(quán)利要求11所述的方法,其特征在于,通信從所述客戶機(jī)推送。
14.如權(quán)利要求10所述的方法,其特征在于,所述客戶機(jī)與所述計(jì)算節(jié)點(diǎn)之間的通信通過耦合到所述公共網(wǎng)絡(luò)和所述群集專用網(wǎng)絡(luò)二者的系統(tǒng)上的代理。
15.如權(quán)利要求10所述的方法,其特征在于,所述客戶機(jī)與所述計(jì)算節(jié)點(diǎn)之間的通信通過耦合到所述公共網(wǎng)絡(luò)和所述群集專用網(wǎng)絡(luò)二者的系統(tǒng)上的NAT服務(wù)。
全文摘要
本發(fā)明涉及計(jì)算群集上的調(diào)試器啟動(dòng)和附連。啟動(dòng)調(diào)試進(jìn)程。一種方法包括在群集專用網(wǎng)絡(luò)上的計(jì)算節(jié)點(diǎn)處,通過頭節(jié)點(diǎn)的調(diào)度器從公共網(wǎng)絡(luò)上的客戶機(jī)接收調(diào)試作業(yè)。頭節(jié)點(diǎn)連接到群集專用網(wǎng)絡(luò)和公共網(wǎng)絡(luò)二者。公共網(wǎng)絡(luò)處于群集專用網(wǎng)絡(luò)之外。該方法還包括開始處理調(diào)試作業(yè),并且作為結(jié)果,通過啟動(dòng)計(jì)算節(jié)點(diǎn)處的一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理來發(fā)起調(diào)試。該方法還包括在計(jì)算節(jié)點(diǎn)處存在已啟動(dòng)的調(diào)試器遠(yuǎn)程代理的情況下開始處理用戶作業(yè)。向客戶機(jī)通知所述一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理已經(jīng)為調(diào)試用戶作業(yè)做好準(zhǔn)備??蛻魴C(jī)處的調(diào)試器客戶端連接到所述一個(gè)或多個(gè)調(diào)試器遠(yuǎn)程代理。
文檔編號(hào)H04L29/08GK102523100SQ20111030872
公開日2012年6月27日 申請(qǐng)日期2011年9月29日 優(yōu)先權(quán)日2010年9月30日
發(fā)明者D·莫斯, G·B·米什凱利, P·E·梅比 申請(qǐng)人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1