TWI421692B - 具有資料夾分享功能的虛擬媒體之系統及其執行方法 - Google Patents
具有資料夾分享功能的虛擬媒體之系統及其執行方法 Download PDFInfo
- Publication number
- TWI421692B TWI421692B TW098144860A TW98144860A TWI421692B TW I421692 B TWI421692 B TW I421692B TW 098144860 A TW098144860 A TW 098144860A TW 98144860 A TW98144860 A TW 98144860A TW I421692 B TWI421692 B TW I421692B
- Authority
- TW
- Taiwan
- Prior art keywords
- virtual
- file
- magnetic
- virtual media
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本案係關於一種虛擬媒體系統,例如網路型多電腦切換(IKVM,KVM-Over-IP)系統中的虛擬媒體,尤其是關於一種具有資料夾分享(folder-mount)功能的虛擬媒體系統。
多電腦切換器(KVM switch,鍵盤、影像、滑鼠)是一種允許一或多台使用者控制台選擇性地與一或多台連接至多電腦切換器的電腦進行溝通的裝置,如同使用者控制台直接連接至電腦一般。在一般的多電腦切換器配置中,一或多台控制台(每一台包括鍵盤及/或滑鼠及一顯示裝置)透過纜線連接至多電腦切換器,而且複數台電腦透過纜線連接至多電腦切換器。具有網路功能的多電腦切換器(亦指以網路為基礎或以網路通訊協定為基礎的KVM、IKVM或KVM-Over-IP)使用一網路協定(例如TCP/IP)作為其通訊協定,且可在網路(例如網際網路、內部網路、廣域網路(WAN)、區域網路(LAN)、乙太網路、無線網路等)上由任何電腦進行存取。遠端操作者可在網路上的任何位置經由瀏覽器登入至網路型多電腦切換器,且可與連接至網路型多電腦切換器的任何一台電腦交換鍵盤、影像及滑鼠訊號。網路型多電腦切換器具有一控制器(稱為網路型多電腦控制器),其連接至一控制器/電路/晶片(NIC),用以處理包括由網路上的遠端控制台所接收的鍵盤及滑鼠訊號的封包,並經由NIC傳輸包含影像訊號及其他訊號的封包至網路。
在一包括經由網路(例如網際網路)連接之兩台電腦的系統中,虛擬媒體是一種分享檔案的技術,以使實體上連接至第一台電腦的儲存裝置可由第二台電腦存取,如同該儲存裝置位於第二台電腦中。虛擬媒體技術已被用在多電腦切換系統中,其中用戶端電腦經由網路存取網路型多電腦切換系統以控制連接至網路型多電腦切換器的伺服器電腦。利用虛擬媒體技術,實體上連接至用戶端電腦的儲存裝置可提供給伺服器電腦作為虛擬媒體。
例如,美國專利號7,260,624描述一系統,其中本地端電腦102經由網路118與遠端電腦120連接,該系統具有在本地端電腦與網路間連接的互動裝置110。該專利說明書第5欄第27至41行描述:「除了接收使用者輸入,互動裝置110也藉由提供通用序列匯流排(USB)連接至本地端電腦102的USB埠109,提供與遠端電腦120的額外互動。其間的USB連接使互動裝置110可模擬為本地端電腦102的USB裝置,例如一額外的儲存裝置,例如包括本地端電腦102在開機時需使用的裝置。例如,遠端電腦120可提供包含被本地端電腦102使用的開機程序的軟式磁碟機、CD-ROM或硬式磁碟機。當連接在互動裝置110及遠端電腦120之間的網路118被建立時,本地端電腦102可由遠端電腦120的媒體來源透過USB埠109所提供的開機程序進行開機。」
另一個例子,在發明名稱為「虛擬媒體系統、方法及裝置」之美國專利申請案公開號2007/0174526中,其描述提供USB裝置作為被目標電腦存取的多電腦系統:「多電腦切換器經由網路以目標伺服器連接用戶端電腦,該用戶端電腦具有至少一個與其連接的裝置。一種第二機制連接至目標的USB埠並使用USB協定與目標進行通訊。用戶端機制經由網路與第二機制進行溝通。虛擬媒體機制使目標伺服器存取連接至用戶端電腦的USB裝置。」(見其摘要)此方法使一連接至用戶端電腦之實體儲存裝置(例如軟碟機、光碟機、可移除磁碟等),在目標電腦上被映射成為一虛擬碟機(參閱本公開案第6圖(C)及說明書第[0267]至[0270]段)。
為符合一致性,在本發明說明書中,被儲存裝置實體連接的電腦稱為用戶端電腦或用戶端,而被儲存裝置映射為虛擬媒體的電腦稱為伺服器電腦或伺服器。
傳統的虛擬媒體方法只能使整個實體儲存裝置(或者若儲存媒體被分割為可能地邏輯磁碟)在伺服器被映射為虛擬碟機。此方法在此稱為為磁碟分享(disk-mount),其具有許多缺點,例如較差的可靠度及較差的安全性。例如,伺服器電腦可存取整個儲存裝置(或磁碟)的內容,因此用戶端電腦無法保護儲存裝置內容的機密性及安全性。再者,當在磁碟分享系統中執行回寫(write-back)功能時,若寫入作業時發生錯誤(例如由於網路傳輸的錯誤),便會有儲存媒體損毀的風險。
因此,由於相關技術的限制及缺點,本發明係針對在網路型多電腦切換系統實質地消除一或多個問題的虛擬媒體方法及裝置。
本發明的一個目標是提供支援資料夾分享功能的虛擬媒體方法及裝置。
本發明的其餘特徵及優點將在隨後的描述且部分由描述中顯現,或者可由本發明的範例獲悉。本發明的目標及其他優點將可由其實施例及申請專利範圍及附圖特別指出的結構了解及獲得。
為了達到這些及其他優點,並依據本發明之目的,如同具體化地及廣泛地描述,本發明提供一種在具有虛擬媒體功能的一系統中執行之方法,該方法包含:以一伺服器控制模組對一伺服器電腦模擬出符合一標準協定之一儲存裝置,包括接收來自該伺服器電腦之一第一指令,並依據該第一指令傳送一第二指令至一虛擬媒體存取控制模組,更包括依據來自該虛擬媒體存取控制模組之一第二回覆訊息傳送一第一回覆訊息至該伺服器電腦;以該虛擬媒體存取控制模組依據該伺服器控制模組所傳來之該第二指令經由一網路傳送一第三指令至一用戶端電腦之一虛擬媒體管理軟體模組,並且依據經由該網路由該虛擬媒體存取控制模組傳來之一第三回覆訊息,傳送該第二回覆訊息至該伺服器電腦;以及以該虛擬媒體管理軟體模組因應於來自該虛擬媒體存取控制模組所接收的該第三指令經由該網路傳送該第三回覆訊息至該虛擬媒體存取控制模組,其中該第一回覆訊息使得該伺服器電腦可存取連接至該客戶端電腦的該儲存裝置中之複數資料夾中特定的一個,如同一本地裝置般,但不允許該伺服器電腦存取該儲存裝置的其他內容。該網路可為網際網路。來自該伺服器電腦而由該伺服器控制模組所接收的第一指令可為一讀取指令或一寫入指令。
另一方面,本發明提供一種方法,在一用戶端電腦與一伺服器電腦相互連接所組成之一系統中,該用戶端電腦具有以一檔案系統來儲存複數個檔案與資料夾之一儲存裝置,該方法用以將該複數個資料夾當中的一個分享給該伺服器電腦供其存取作為一虛擬碟機,該方法包含:(a)選擇要被該伺服器電腦存取之一資料夾,該所選擇之資料夾包含複數個子資料夾及資料檔案;(b)針對該所選擇之資料夾中的每一資料檔案,依據該資料檔案之大小,指派一或多個虛擬磁叢索引順序至該資料檔案;(c)針對該所選擇之資料夾在該客戶端電腦產生一虛擬媒體檔案系統,該虛擬媒體檔案系統包括虛擬媒體索引資訊,用以描述指派至該所選擇之資料夾的每一資料檔案的該虛擬磁叢索引順序,但並不包括該資料檔案之任何資料內容;(d)產生一初始狀態資料結構,用以儲存該所選擇之資料夾中每一資料檔案的一初始狀態,該每一資料檔案之該初始狀態包含在該儲存裝置的該檔案系統中之檔案名稱及路徑,以及步驟(b)中所指派之該虛擬磁叢索引;以及(e)因應於一虛擬媒體讀取指令,執行一虛擬媒體讀取功能,指定一虛擬磁區編號以讀取一筆資料,其中該虛擬磁區編號係關於由一預設轉換程式所得到之一虛擬磁叢索引,步驟(e)更包含:(e1)若該指定之虛擬磁區編號位於該虛擬媒體檔案系統之一磁區,則由該虛擬媒體檔案系統之該磁區讀取該筆資料;以及(e2)若該指定之虛擬磁區編號並非位於該虛擬媒體檔案系統之一磁區,則以該初始狀態資料結構及該預設轉換程式判斷該資料檔案所在之磁區,得到該資料檔案之一名稱及路徑及該虛擬磁區在該資料檔案中之一磁區偏移量,且以該名稱及路徑及該磁區偏移量由該儲存裝置讀取該筆資料。
而在另一方面,本發明提供一種包括電腦可用媒體的電腦程式產品,電腦可用媒體具有嵌入其中、用以控制一用戶端電腦的電腦可讀程式碼,設定該電腦可讀程式碼以使該用戶端電腦執行上述程序將其中一個資料夾分享給伺服器供其存取作為虛擬碟機。
而在另一方面,本發明提供一種執行虛擬媒體功能的系統,包括:位於一用戶端電腦之一虛擬媒體管理軟體模組;經由一網路連接至該用戶端電腦之一虛擬媒體存取控制模組;以及連接至該虛擬媒體存取控制模組之一伺服器控制模組,該伺服器控制模組模擬成符合一伺服器電腦之一標準協定的一儲存裝置,其中該虛擬媒體管理軟體模組使該伺服器可宛如一本地裝置般地對儲存在一儲存裝置中之複數個資料夾中特定的一個進行存取,該儲存裝置耦合至該用戶端電腦,但並不允許該伺服器對該儲存裝置的其他內容進行存取。
而在另一方面,本發明提供一種方法,在包含經由遠端管理裝置及網路彼此連接的具有第一作業系統的第一電腦及具有第二作業系統的第二電腦的系統中,此第一電腦可經由第一作業系統以第一檔案系統存取具有複數個資料夾之儲存裝置,該方法用以將其中一個資料夾分享給第二電腦供其存取作為被遠端控制裝置模擬的USB碟機,該方法包含:(a)由該儲存裝置中選擇要被第二電腦存取的檔案;(b)藉由第二電腦利用對應於該第一檔案系統之第二檔案系統管理該所選擇的資料夾,其中該所選擇之資料夾被視為第二作業系統的USB裝置;以及(c)因應應該所選擇之資料夾的讀取指令,第一作業系統由該所選擇之資料夾讀取資料,經由該遠端管理軟體及該網路將該資料傳輸至該第二電腦。該方法更包含:(d)因應於一由第二電腦發所出對該所選擇之資料夾回寫指令,在該儲存裝置由該第二電腦移除後,該第一作業系統由該第二電腦將一資料寫入至該所選擇的資料夾。該資料可用來啟動該第二電腦或在第二電腦上更新一軟體。
可被瞭解的是前述的一般說明及之後的詳細說明兩者皆為示範性及詳述的,且意指為提供請求保護的發明之進一步解釋。
在此依據規定揭露本發明詳細說明的實施例。然而,根據本發明的技術、系統及操作結構可在多種形式及方式中實施,其中某些與這些揭露的實施例具有相當大的差異。因此,此處所揭露之特定結構性及功能性詳述僅為代表,因此其被視為提供符合揭露目的之最佳實施例並提供本發明請求保護範圍的基礎。以下所示為本發明最佳實施例(及某些其他實施例)之詳細描述。
第1圖係以圖示說明一具有虛擬媒體功能之網路型多電腦切換系統,一用戶端電腦10經由一網路100連接至一網路型多電腦切換器20。一般來說,此網路100為網際網路,但是其亦可為一區域網路(LAN)、廣域網路(WAN)或是其他任何適當種類之網路架構。用戶端電腦10與此網路型多電腦切換器20之間在網路100上的溝通係經由適當之通訊協定,例如TCP/IP。複數台伺服器電腦40(圖中僅顯示一台)經由個別的電腦端模組30(圖中僅顯示一台)連接至此網路型多電腦切換器20。在一實施例中,每個電腦端模組30係以Cat5纜線連接至此網路型多電腦切換器20。每一電腦端模組30具有帶有連接器的短纜線,用以直接插入伺服器電腦40的相關連接埠,例如影像訊號的顯示器埠、鍵盤及/或滑鼠訊號的鍵盤及/或滑鼠埠及資料傳輸的通用序列匯流排(USB)埠。此電腦端模組30係以內部通訊協定與此網路型多電腦切換器20進行溝通。電腦端模組30與伺服器電腦40之間的資料傳輸係以適當的通訊協定(例如USB協定)完成。
或者是(在第1圖中並未顯示),該些電腦端模組30可能不存在,而是將其功能整合至網路型多電腦切換器20中。在這種組態中,伺服器電腦40係以較短之纜線直接連接至此網路型多電腦切換器20。
用戶端電腦10係連接至一組使用者介面裝置15,其包含(例如)一螢幕、一鍵盤及一滑鼠。使用者介面裝置15與伺服器電腦40之間的鍵盤/滑鼠訊號及影像訊號係經由此網路型多電腦切換器20及電腦端模組30進行傳輸,此傳輸係已為本領域技術之人所熟知,因此不再予以詳述。安裝於用戶端電腦10上之網路型多電腦切換器管理軟體11,以及網路型多電腦切換器20上適當的硬體/軔體共同處理及傳送前述鍵盤/滑鼠訊號及影像訊號。
有一儲存裝置14連接至此用戶端電腦10,例如一硬碟機、CD/DVD光碟機、快閃儲存裝置、軟碟機等。實際上此儲存裝置14可為此用戶端電腦10之一部分(例如其為一內建之硬碟機),或是連接至用戶端電腦之某一插槽(例如其為一USB快閃儲存裝置),或是以較短之纜線連接至此用戶端電腦(例如其為一外接之硬碟機)。此儲存裝置14可以任何適當之通訊介面連接至此用戶端電腦10,例如SCSI、IDE或USB等。此儲存裝置14可被分割成數個邏輯硬碟(具有各自的磁碟代號)。此儲存裝置亦可為一網路分享資料夾(network-shared folder),其將詳述於後。
依據本發明之一實施例,如第1圖所示,用戶端電腦10可將其儲存裝置14中之某一資料夾(folder)的內容分享給伺服器電腦40,以作為其一虛擬儲存裝置(如第1圖所示之虛擬媒體42)。換句話說,雖然僅有儲存裝置14上之資料夾內容會被分享給伺服器電腦40供其存取(讀取及/或寫入),但是對於此伺服器電腦40而言,此資料夾係以整個儲存裝置(虛擬媒體42)之型態出現於伺服器電腦40。在此儲存裝置14中,伺服器電腦40並無法經由虛擬媒體存取此資料夾以外之其他內容。為便於描述,本專利將此項功能稱為“資料夾分享”(folder-mount),以凸顯其係一與習知整個碟機分享(drive-mount)相反的技術。被分享給伺服器電腦40存取之資料夾可能更包含數個子資料夾,且此資料夾本身可能是儲存裝置14中其他資料夾之子資料夾。
本發明之“資料夾分享”功能主要是由用戶端電腦10上所執行之一虛擬媒體管理軟體模組12所實現。此虛擬媒體管理軟體模組12可為用戶端電腦10上一多電腦管理軟體11之一軟體模組,或者是其可為一獨立的軟體程式。此“資料夾分享”方法將參照第2a圖至第9圖進行說明。
依據一傳統之檔案配置表(File Allocation Table;FAT)檔案管理系統,每個儲存媒體之碟機係被分割成數個磁區(sector),通常其中每個磁區之長度為512個位元組。一預設數量之磁區(例如2、4、8、16等)形成一個磁叢(cluster)。檔案被儲存在一或多個磁叢端視其檔案大小而定,且其中這些磁叢並不一定為連續。一檔案配置表(FAT,亦稱為FAT表)係用以記錄檔案存在那些磁叢(及其順序)中。一FAT表可被視為一具有兩欄位之表,其中第一欄包含磁叢索引(碟機之第一至最後一個磁叢),第二欄(FAT入口)為每個磁叢索引標示出下個檔案碎片(fragment)所在之磁叢。例如,在第2a圖所示之FAT表中,磁叢#2的FAT入口為4,意指在磁叢#2後,磁叢#4儲存檔案的下一碎片。因此,此示範性的FAT表標示一個檔案依此順序被儲存於磁叢#2、#4、#6及#7(「EOC」標示磁叢#7為此檔案最後的磁叢),而另一檔案依該順序被儲存於磁叢#3及#5。第2b圖圖示對應於第2a圖範例的磁叢及其內容。
請注意上述說明之“檔案”通常是指一目錄入口(directory entry),其可為一資料檔案或是一子目錄。本發明所用“檔案”一詞係指資料檔案或是一子目錄,由前後文可以清楚了解其涵意。
每一目錄入口之起始磁叢(cluster)係儲存於根目錄(root directory)(針對在根資料夾中的檔案及子目錄)或是一子目錄(針對在子資料夾的檔案及子目錄)中。此外,根目錄或是子目錄儲存每個檔案之內容(properties),例如檔案名稱、大小、創設時間、最後修改時間、屬性(attribute)等等。在FAT檔案系統中,一目錄(或是檔案容器(file container))係為一常規檔案,其具有一特別的屬性指出其為目錄。請注意某些檔案系統並不具有根目錄區,且根目錄係儲存於檔案及目錄資料區(the file and directory data region)。
第2c圖係以圖示說明一碟機之內容,其包含一保留區、一儲存FAT表之FAT區、一根目錄區以及一檔案及目錄資料區。此檔案及目錄資料區包含儲存數個檔案之資料(包含目錄,其被儲存為檔案)的磁叢。此檔案系統之管理係由電腦之作業系統所執行。本發明在此假設讀者已經熟悉傳統之FAT檔案系統。
為實現“資料夾分享”,用戶端電腦10(虛擬媒體管理軟體12)會為虛擬媒體產生一虛擬媒體檔案系統(VM file system),其類似於一檔案系統之模擬架構。如第3a圖所示,此虛擬媒體檔案系統包含虛擬媒體保留區、虛擬媒體FAT區、虛擬媒體根目錄區以及一虛擬媒體檔案及目錄資料區。這些區域中的資料符合FAT檔案系統標準。虛擬媒體保留區所儲存之資訊與一般碟機保留區所儲存之資訊種類相同。虛擬媒體根目錄區儲存一根目錄,其包含代表被分享資料夾(在此之後稱為來源資料夾)之檔案或子目錄的起始虛擬磁叢索引。虛擬媒體檔案及目錄資料區包含儲存來源資料夾之所有子目錄的磁叢,其並不包含不是子目錄的一般檔案中任何儲存實際資料內容之磁叢。因此,虛擬媒體檔案系統並不會在此儲存裝置上佔據很大的空間,且可快速地產生。請注意與傳統檔案系統類似的是,本發明之虛擬媒體根目錄區並不一定需要,並且根目錄可儲存於虛擬媒體檔案及目錄資料區之中。
此虛擬媒體FAT區儲存一虛擬媒體FAT表,其格式符合一般之FAT表格式,但是僅包含來源資料夾中之檔案及子目錄。更特別的是,此虛擬媒體FAT表係為一具有二欄位之表格,其中第一欄包含虛擬磁叢索引(此虛擬碟機中由第一至最後一個虛擬磁叢),而第二欄(FAT入口)表示對於每一虛擬磁叢索引而言,其虛擬磁叢儲存下一個檔案碎片。虛擬碟機之磁叢在此稱為虛擬磁叢,因為其並非實際存在於此儲存裝置上。第3b圖係顯示一示範性的虛擬媒體FAT表。
請注意最後一個虛擬磁叢索引為M,其係由虛擬碟機之大小所決定。換句話說,分派給來源資料夾中檔案的虛擬磁叢索引都會落在虛擬碟機的大小之中。虛擬碟機的大小小於(通常會遠小於)第2a圖之N值。虛擬碟機的大小可為操作者在分享過程中所定義之任意數值。所定義之虛擬碟機的大小等於或小於實體碟機之大小,其通常會遠小於實體碟機。例如,實體碟機之大小可能為60GB,而此虛擬碟機之大小可能為1GB。並且,必須定義此虛擬碟機之大小,使得虛擬碟機上的剩餘空間小於實體碟機上的實際剩餘空間。
虛擬媒體FAT表係由用戶端電腦10在分享資料夾時產生。此用戶端電腦10不能僅僅是複製實體碟機之FAT表,因為在虛擬媒體FAT表中所有的檔案必須儲存在虛擬磁叢1至M,但是在實體碟機這方面,來源資料夾中之檔案卻可被儲存於磁叢索引大於M之磁叢中。當產生虛擬媒體FAT表時,用戶端電腦10會收集來源資料夾中所有的檔案,分派虛擬磁叢給這些檔案(分派給每一個檔案之虛擬磁叢數目視其大小而定,例如使用多少個實際磁叢來儲存),並且將虛擬磁叢索引記錄在虛擬媒體FAT表中。較佳的虛擬磁叢分派方式是使得這些檔案佔據連續之虛擬磁叢(如第3b圖所示),但是這些檔案亦可被分派到不連續之虛擬磁叢。每個檔案之起始虛擬磁叢索引係以類似於一般(傳統)檔案系統之方式被儲存在根目錄或是子目錄中。
對於伺服器電腦40而言,虛擬媒體保留區、虛擬媒體FAT區及虛擬媒體根目錄區像是一實體碟機之對應部分,且伺服器電腦40利用這些資料來管理及存取此實體碟機。當存取虛擬碟機時,伺服器電腦40可更改所有虛擬碟機之磁區,其將詳述於後。
除了虛擬媒體檔案系統外,在資料夾分享過程中用戶端電腦亦產生一“檔案-磁叢索引表”(file-cluster index table)。此“檔案-磁叢索引表”為來源資料夾中的每個檔案與子目錄儲存其在實體碟機的實體檔案系統中的名稱及路徑、檔案屬性以及被分派之虛擬磁叢。換句話說,“檔案-磁叢索引表”表示了實體檔案系統與虛擬檔案系統之間的對應關係。第3c圖描述一示範性的“檔案-磁叢索引表”。如果在分享過程中檔案被分派到連續之虛擬磁叢,則可以一起始虛擬磁叢索引及一結束虛擬磁叢索引來表示分派給檔案之虛擬磁叢,如第3c圖所示。如果在分享過程中檔案被分派到不連續之虛擬磁叢,則可以虛擬磁叢之次序列表來表示這些虛擬磁叢。“檔案-磁叢索引表”係在分享時產生,且當伺服器電腦存取虛擬碟機時不會被修改,因此其保留了虛擬媒體檔案系統在分享時之狀態,且被使用於虛擬媒體存取與卸載(un-mounting)之時,其將詳述於後。
當存取虛擬媒體時,用戶端電腦10會使用一暫存資料區來儲存將被伺服器電腦寫入虛擬碟機之資料。在存取虛擬媒體時,儲存在實體檔案系統中的實際磁叢/磁區的檔案資料並不會被更改。相反地,在存取虛擬媒體時,實體檔案系統中被伺服器電腦要求修改之磁區會被視為“髒磁區”(dirty sector),且這些磁區中的資料會被暫時儲存於暫存資料區的暫存磁區中。用戶端電腦10會維護一髒磁區索引表,其儲存髒磁區以及在暫存資料區中對應之暫存磁區的一清單。如第3d圖所示,髒磁區索引表可被視為一具有兩欄位之表,其中第一欄儲存虛擬碟機中髒磁區之磁區編號(亦即其虛擬磁區編號),第二欄儲存暫存資料區中對應之暫存磁區之磁區位置。當伺服器電腦40寫入至虛擬碟機時,髒磁區索引表在虛擬媒體存取時逐漸建立。例如(參閱第3d圖),當伺服器電腦寫入虛擬碟機之磁區6時,用戶端電腦10將資料寫入於暫存資料區之磁區1(位置1)而不修改實際檔案系統之實際磁區,將髒磁區編號記錄在髒磁區索引表之第一欄的虛擬碟機6中,並將暫存資料區(1)中之對應位置記錄在髒磁區索引表之第二欄。
當虛擬媒體允許寫入功能時,髒磁區索引表有其必要。若不允許寫入功能,則並不需要髒磁區索引表,且用戶端電腦不會儲存任何資料於暫存磁區中。
較佳的情況是暫存資料區位於實體碟機之實體區域中。或者是,若暫存資料區之資料量夠小,則此暫存資料區可位於用戶端電腦10之隨機存取記憶體中。
請注意在一FAT系統中,讀取與寫入指令通常係指讀取或是寫入一磁區而非一磁叢。在一儲存裝置(一實體碟機)中,磁叢索引及磁區編號係以一標準程式相互產生關連性,其視每一磁叢之磁區編號而定。在本發明之一較佳實施例中,所修改的資料係以磁區為單位,而非以磁叢為單位進行管理。因此,磁區(非磁叢)被視為髒磁區或非髒磁區。當然亦可能以磁叢為單位來管理所修改之資料,但是在空間之利用上會比較沒有效率。
第4圖至第8圖係以圖示說明資料夾分享與虛擬媒體存取過程。第4圖至第8圖之步驟係由用戶端電腦10之虛擬媒體管理軟體12所執行。第4圖顯示此分享過程。在步驟S401中,用戶端電腦10之使用者開始一虛擬媒體資料夾分享過程,此步驟可經由適當的使用者介面工具完成,此使用者介面工具讓使用者可選擇儲存裝置14(來源資料夾)之一資料夾分享給伺服器電腦作為虛擬媒體並發出一分享指令。此用戶端電腦10由實體檔案系統405收集關於來源資料夾之資訊及其內容(步驟S402),並且分析所收集之資料以產生虛擬媒體FAT表、虛擬根目錄、虛擬子目錄及檔案-磁叢索引表(步驟S403)。步驟S402所收集之資訊包含產生虛擬媒體FAT表所需要之所有資訊,例如實體檔案系統中之檔名及路徑(以產生檔案-磁叢索引表)、磁叢數目的檔案大小(以分派虛擬磁叢給檔案並產生虛擬媒體FAT表)、子目錄(以產生虛擬檔案系統之目錄資料)等。虛擬媒體FAT表、虛擬根目錄,虛擬子目錄及檔案-磁叢索引表被儲存於儲存裝置14之區域406中。
之後,在用戶端電腦由實體檔案系統405讀取資料期間,用戶端電腦執行虛擬媒體存取功能(步驟S404),得到在步驟S403中所產生、來自虛擬媒體FAT表之資訊、目錄、檔案-磁叢索引表等。將資料讀取及寫入至暫存資料區407中之暫存磁區,並在髒磁區索引表408中讀取及寫入資料。在執行虛擬媒體存取功能時,用戶端電腦接收來自伺服器電腦40之虛擬媒體I/O指令409(經由電腦端模組30以及網路型多電腦切換器20),並且對I/O指令做出回應。此虛擬媒體存取功能將更詳細地說明於第5圖至第8圖。
第5圖係說明虛擬媒體存取功能之整體過程。首先,用戶端電腦10會與網路型多電腦切換器20及電腦端模組30合作對伺服器電腦40宣告該虛擬媒體(步驟S501),例如,若此虛擬媒體係以USB大量儲存裝置之方式呈現,則此電腦端模組30會模擬成一USB大量儲存裝置。此步驟可類似於傳統虛擬媒體方法之對應步驟,故在此不予以詳述。在此步驟之後,此虛擬媒體會看起來像是此伺服器電腦之一儲存碟機。因此,此伺服器電腦可對此儲存裝置進行讀取、寫入或是執行其他功能,就彷彿其是一台一般的碟機。以下將搭配第9圖詳細說明不同元件之間的通訊指令形式。
當伺服器電腦接收到某一指令時(步驟S502),此指令可為來自伺服器電腦40之I/O指令或是來自用戶端電腦10之使用者的某一指令。如果此指令係為來自伺服器電腦之一讀取磁區指令(步驟S503之“是”),則此用戶端電腦會執行一讀取磁區功能(步驟S504,將搭配第6圖詳述於後)。如果此指令係為來自伺服器電腦之一寫入磁區指令(步驟S505之“是”),則此用戶端電腦會執行一寫入磁區功能(步驟S506,將搭配第7圖詳述於後)。
步驟S502中所接收之指令可為一虛擬媒體存取停止指令。此停止指令可接收自用戶端電腦10本身。例如,用戶端電腦10之使用者可發出此虛擬媒體停止指令。此停止指令也可接收自伺服器電腦40。例如,此伺服器電腦可以作業系統操作“移除”此虛擬媒體。當此停止指令被接收時(步驟S507之“是”),此用戶端電腦10會與伺服器電腦40溝通以中斷此虛擬媒體,亦即將其自伺服器電腦40上“移除”(步驟S508)。此步驟可類似於傳統虛擬媒體方法之對應步驟,故在此不予以詳述。自伺服器電腦40移除虛擬媒體之後,用戶端電腦10會執行一回寫(write-back)功能以將儲存於暫存資料區中之資料寫入實體檔案系統,及/或由此實體檔案系統刪除檔案(步驟S509,將搭配第8圖詳述於後)。
第6圖係說明讀取磁區功能(第5圖之步驟S504)。請注意來自伺服器電腦之讀取磁區指令中的磁區編號係為虛擬碟機中的虛擬磁區編號。首先,用戶端電腦會先藉由查詢髒磁區索引表來確認此虛擬磁區是否在髒磁區索引表中(步驟S601)。如果其之前已經被伺服器電腦修改過並且在暫存資料區中被儲存為一暫存磁區,一虛擬磁區會在髒磁區索引表中(將搭配第7圖詳述於後)。如果此虛擬磁區係位於髒磁區索引表中(步驟S601之“是”),則用戶端電腦會藉由髒磁區索引表,在對應於髒磁區的暫存資料區中獲得暫存磁區的位置(參閱第3d圖),並且在此位置由暫存資料區中讀取此暫存磁區(步驟S602)。
如果此虛擬磁區並非位於髒磁區索引表中(步驟S601之“否”),則用戶端電腦會將虛擬磁區編號轉換為一虛擬磁叢索引(步驟S603)。此轉換步驟會使用一供虛擬媒體使用之轉換程式,其本質上類似於一般碟機所用之轉換程式。此轉換亦決定此磁區在虛擬磁叢中之位置(亦即偏移量)。之後,此用戶端電腦會判斷轉換後之虛擬磁叢是否位於虛擬碟機之虛擬媒體保留區或是虛擬媒體FAT區之中(步驟S604)。若是(步驟S604之“是”),則此用戶端電腦會讀取虛擬媒體保留區中或是虛擬媒體FAT區的磁區(步驟S605)。若否(步驟S604之“否”),則此用戶端電腦會判斷此虛擬磁叢是否位於虛擬碟機之虛擬媒體目錄區中(步驟S606)。此處之目錄區包含虛擬媒體根目錄區及虛擬媒體檔案及目錄資料區之子目錄(參閱第3a圖)。如果此虛擬磁叢係位於虛擬媒體目錄區中(步驟S606之“是”),則此用戶端電腦會讀取虛擬媒體目錄區中之磁區(步驟S607)。若否(步驟S606之“否”),則此用戶端電腦會判斷此虛擬磁叢是否屬於實體檔案系統之原始檔案(步驟S608)。
步驟S608係利用檔案-磁叢索引表執行(參閱第3c圖)。此時,虛擬磁區已經被判斷並非位於髒磁區索引表之中(亦即其非髒磁區),所以此磁區之資料並非儲存於暫存資料區中,且必須由實體檔案系統之原始檔案得到。因此,在步驟S608中,用戶端電腦會利用虛擬磁叢索引(由步驟S603得到)及查詢檔案-磁叢索引表來判斷此虛擬磁叢要被分派給哪一個檔案。藉由查詢檔案-磁叢索引表,用戶端電腦可判斷檔案在實體檔案系統中之檔名及路徑,以及分派至此檔案的虛擬磁叢序列中此虛擬磁叢的位置(其為檔案之第i個磁叢)。如前所述,此檔案-磁叢索引表可儲存每個檔案之起始及結束虛擬磁叢索引,或是其可儲存所有分派給每個檔案之虛擬磁叢的次序列表。用戶端電腦亦可判斷此磁叢在檔案中之位置。此外,基於請求磁區在虛擬磁叢中之偏移量(此磁區為虛擬磁叢之第j個磁區,參閱步驟S603),用戶端電腦判斷在檔案中之磁區偏移量(此磁區為檔案之第k個磁區)。利用檔名及路徑以及檔案中之磁區偏移量,用戶端電腦可發出一讀取指令至用戶端電腦之作業系統以讀取特定檔案之特定磁區(步驟S609)。作業系統會以傳統方式因應於此讀取指令來讀取被請求之磁區資料並將其傳給虛擬媒體管理軟體12。
在步驟S602、S605、S607及S609之後,用戶端電腦10會經由網路將這些步驟讀取之資料傳給伺服器電腦40(步驟S610)。
第7圖係說明寫入磁區功能(參閱第5圖之步驟S506)。請注意在伺服器電腦所發出之寫入磁區功能中的磁區編號係為虛擬碟機中的虛擬磁區編號。首先,用戶端電腦會先藉由查詢髒磁區索引表來確認此虛擬磁區是否在髒磁區索引表中(步驟S701)。如果此虛擬磁區係位於髒磁區索引表之中(步驟S701之“是”),則用戶端電腦會藉由髒磁區索引表(參見第3d圖)在對應於髒磁區的暫存資料區獲得暫存磁區的位置(步驟S702)。如果此虛擬磁區並非位於髒磁區索引表之中(步驟S701之“否”),則用戶端電腦會將此虛擬磁區編號加到髒磁區索引表之中,並且在暫存資料區中將其分派至一未使用之磁區位置(步驟S703)。在步驟S702及S703之後,用戶端電腦會移動寫入指針至暫存資料區之該位置,並且在該位置將來自伺服器電腦之資料寫入至暫存磁區(步驟S704)。
必須注意的是,當來源資料夾仍處於分享狀態時(仍分享在伺服器電腦上作為虛擬碟機),伺服器電腦40之作業系統會如同管理一實體碟機般地管理此虛擬碟機。例如,如果此伺服器電腦在虛擬碟機上產生一新的檔案,伺服器電腦之作業系統將會分派虛擬磁叢數給這個新的檔案,並且經由一寫入指令修改虛擬FAT表。因此,如前所述,在用戶端,此虛擬媒體管理軟體12僅需要管理來自伺服器電腦之寫入指令。
虛擬媒體寫入功能的結果是,伺服器電腦40會在來源資料夾下產生一新的子資料夾、在來源資料夾中產生一新的資料檔案、修改既存的資料檔案、修改資料檔案及資料夾或子資料夾的屬性等等。並且,虛擬媒體FAT表及子目錄入口亦會被修改。所有的改變會被儲存在暫存資料區中而不改變實體檔案系統之磁區/磁叢或是在分享狀態時產生之虛擬檔案系統。如第4圖所示,由“虛擬FAT、目錄、檔案-磁叢索引表”406指向“虛擬媒體存取功能”S404之單向箭號表示406中之資料在虛擬媒體存取時並未被修改。
第8圖係說明回寫功能(第5圖之步驟S509)。首先,用戶端電腦得到所有虛擬媒體根目錄之目錄入口(步驟S801)。在根目錄區中,每個目錄入口(其可為一檔案或一目錄)都具有一預設之資料長度,例如32位元組,且包含某些資訊,例如名稱、屬性以及此檔案或目錄之起始磁叢索引。請注意,一具有長檔名之檔案可使用數個目錄入口來儲存上述資訊。對於每個入口,用戶端電腦得到入口之上述資訊(名稱、屬性及起始磁叢數),並且分析虛擬媒體FAT表以得到入口之所有的虛擬磁叢索引(步驟S802)。
必須注意的是,當執行虛擬媒體存取時,伺服器電腦可能會改變虛擬媒體根目錄區、虛擬媒體FAT區以及虛擬媒體檔案及目錄區中之目錄。改變之資料會儲存在暫存資料區之暫存磁區,且髒磁區會被記錄在髒磁區索引表中。因此,在步驟S801與步驟S802中,用戶端電腦會由暫存磁區中查詢髒磁區索引表、讀取目錄及讀取虛擬媒體FAT表。
然後,用戶端電腦會以一連串之步驟分析目錄入口。特別的是,用戶端電腦會判斷其是否為伺服器電腦在虛擬媒體存取時所產生之新的資料夾(步驟S803)。為了判斷目錄入口是否為新的資料夾,用戶端電腦會將此目錄入口與檔案-磁叢索引表儲存之入口作一比較,此檔案-磁叢索引表係在分享時產生且在虛擬媒體存取時不會被改變。如果此目錄入口係為一新的資料夾(步驟S803之“是”),用戶端電腦會在實體檔案系統中之適當位置(即子資料夾)產生一新的資料夾(步驟S804)。資料夾之產生可由用戶端電腦之作業系統以傳統方式來執行。用戶端電腦更藉由讀取要被分析的目錄入口之內容得到此資料夾所包含之所有目錄入口(步驟S805),將這些目錄入口加到要被分析的一目錄入口清單,然後回到步驟S802對下一個目錄入口進行分析。
在步驟S803中,如果此入口並非一新的資料夾(步驟S803之“否”),則用戶端電腦會再利用檔案磁叢索引表判斷其是否為一舊的資料夾(亦即其在虛擬媒體分享時既已存在)(步驟S806)。若是(步驟S806之“是”),則用戶端電腦會得到此資料夾中所有的目錄入口(步驟S805),將這些目錄入口加到要被分析的一目錄入口清單,然後回到步驟S802對下一個目錄入口進行分析。藉由步驟S801至步驟S806,最終來源資料夾所有的目錄入口都會被檢視過。因此,步驟S801及步驟S805之功能係在收集來源資料夾之資料檔案及子目錄以便進行分析。
在步驟S806中,如果此入口並非一舊的資料夾(步驟S806之“否”),則用戶端電腦會判斷其是否為伺服器電腦在虛擬媒體存取時所產生的新檔案(步驟S807)。檔案-磁叢索引表會被再次利用來作此判斷。若是(步驟S807之“是”),則用戶端電腦會將此檔案複製到實體檔案系統中之適當位置(步驟S808)。此步驟包含為此檔案在實體檔案系統中產生一目錄入口,並將此檔案之資料磁區寫入到實體檔案系統中。當執行複製功能時,用戶端電腦會由暫存資料區中讀取檔案之磁區,藉由虛擬媒體FAT表及髒磁區索引表來判斷這些磁區在虛擬媒體檔案系統及暫存資料區的哪裡。
在步驟S807中,如果此入口並非一新的檔案(步驟S807之“否”),則用戶端電腦會判斷其是否為一舊的檔案(亦即其在虛擬媒體分享時既已存在)(步驟S809),此時檔案-磁叢索引表會被再次利用來作此判斷。若其為一舊的檔案(步驟S809之“是”),則用戶端電腦會判斷是否此檔案之屬性或是其他內容已經被改變(步驟S810)。在此步驟中,用戶端電腦會將儲存在檔案-磁叢索引表中之屬性與儲存在虛擬媒體目錄區之檔案的新屬性作比較,並且查詢檔案-磁叢索引表及髒磁區索引表來判斷其內容是否已經被改變。如果分派給檔案之虛擬媒體磁叢(如同儲存在FAT表中)包含出現在髒磁區索引表中之髒磁區,則此檔案之內容已經被變更。
在前述之步驟S803、步驟S806、步驟S807及步驟S809中,檔案-磁叢索引表被用來判斷此入口是否為一新的資料夾、舊的資料夾、新的檔案或舊的檔案等等。或者,一獨立的目錄樹狀結構可用來執行這些步驟。此目錄樹僅包含每個檔案及子資料夾在來源資料夾之路徑及名稱,並且以樹狀結構來儲存這些資訊。此目錄樹在虛擬碟機產生(例如在檔案-磁叢索引表被產生之同時)時被建立,並且在虛擬媒體存取時不會被修改。與做為表格形式的檔案-磁叢索引表相比,目錄樹之樹狀結構可改善步驟S803、步驟S806、步驟S807及步驟S809之表現,特別是當大量的入口存在於來源資料夾時。並且,此檔案-磁叢索引表或是檔案-磁叢索引表及目錄樹可意指為在資料夾分享時儲存來源檔案夾的檔案及子目錄的初始狀態(名稱及路徑,虛擬媒體磁叢的初始分配,屬性)的初始狀態資料結構。
一般來說,當檔案之內容被改變時,整個檔案會被改變且需要被複製回實體檔案系統。如果僅有檔案屬性被改變,但是檔案內容並未被改變,則僅有檔案屬性需要被複製回實體檔案系統。如果檔案已經被改變(步驟S810之“是”),則用戶端電腦會將所有的改變複製回實體檔案系統。實際上被複製之部分端視所改變之部分而定,未被改變之資料區並不會被複製。
在複製步驟S808與S811之後,或是當舊檔案無改變之後(步驟S810之“否”),或是當目錄入口並非舊檔案(步驟S809之“否”),流程會回到步驟S802以分析下一個目錄入口,直到虛擬媒體檔案系統之目錄區所有的目錄入口都已經被分析過(步驟S812之“是”)。在所有的目錄入口都已經被分析過之後,用戶端電腦會判斷是否任一檔案及資料夾在虛擬媒體存取時都已經被伺服器電腦刪除(步驟S813)。如前所述,在虛擬媒體存取時,實體檔案系統中之檔案及資料夾都不會被修改及刪除,但是這些檔案及資料夾之目錄入口在虛擬碟機之虛擬媒體檔案系統中已經被刪除。所有在分享時既已存在之檔案及資料夾會被記錄在檔案-磁叢索引表之中。因此,藉由分析虛擬媒體檔案系統,用戶端電腦可以判斷檔案-磁叢索引表中哪個檔案及資料夾不再存在於虛擬媒體檔案系統中。然後此用戶端電腦會刪除實體碟機之來源資料夾中的這些檔案及資料夾(步驟S813),如此便完成回寫功能。
由前述說明可以得知,僅在虛擬媒體被卸載之後(即中斷連線)才將寫入至虛擬媒體之資料回寫至儲存裝置的實體檔案系統中。
使用本發明之資料夾分享技術,儲存裝置14中之任何資料夾均可被分享為伺服器電腦40上之一虛擬碟機;多個資料夾可被分享為多個虛擬碟機。
此外,用戶端電腦10之一網路分享資料夾,亦即經由區域網路或是無線網路連接至用戶端電腦10、位於另一台電腦之資料夾,亦可被分享為伺服器電腦40上之一虛擬碟機。經由區域網路或是無線網路連接之電腦間的檔案分享之技術已經為人所熟知,故在此不予詳述。為將用戶端電腦10之一網路分享資料夾分享到伺服器電腦40上,執行與第4圖至第8圖所述之相同步驟。如前所述,當虛擬媒體存取時,用戶端電腦產生虛擬媒體檔案系統並自實體檔案系統中讀取資料時,虛擬媒體管理軟體12會利用用戶端電腦之作業系統自儲存裝置40之實體檔案系統中讀取資料及寫入資料。換句話說,虛擬媒體管理軟體12會經由用戶端電腦之作業系統與實體檔案系統產生互動。因為作業系統可以處理網路分享資料夾之讀取與寫入,所以不論分享到伺服器電腦40之來源資料夾是否為一網路分享資料夾或是連接於用戶端電腦10上之一實體儲存裝置,虛擬媒體管理軟體12之操作都相同。在本專利中,除了連接至用戶端電腦10之實體儲存裝置外,儲存裝置14一詞可廣泛地包含網路分享資料夾。
前述所揭露之資料夾分享方法不論儲存裝置14之檔案系統為何都適用。例如,儲存裝置14之檔案系統可為NTFS、FAT 16及FAT 32等等。因為虛擬媒體管理軟體12可藉由用戶端電腦之作業系統與儲存裝置14之實體檔案系統互動,即使虛擬媒體管理軟體12與儲存裝置14之實體檔案系統無關,其仍可正確地要求作業系統讀取某些特定資訊。
虛擬媒體管理軟體12所產生之虛擬媒體檔案系統可為電腦端模組30所提供之任何適當之檔案系統,此電腦端模組30可與虛擬媒體檔案系統互動。例如,此虛擬媒體檔案系統並不限定於一虛擬FAT檔案系統。在本專利所揭露之虛擬FAT檔案系統中,目錄儲存每個目錄入口(檔案或是子目錄)之起始虛擬磁叢索引,且虛擬FAT表儲存著檔案中下一個磁叢的磁叢索引,所以目錄及虛擬媒體FAT表可共同描述分派給來源資料夾中每個檔案之虛擬磁叢的順序。亦可使用其他種類之虛擬檔案系統,只要此虛擬媒體檔案系統包含描述分派給來源資料夾中每個檔案之虛擬磁叢的順序的虛擬媒體索引資訊。與實體檔案系統不同的是,虛擬媒體檔案系統並不包含儲存實際資料檔案之磁叢。
第9圖係說明當虛擬媒體存取時其指令(必要時可包含資料)在網路型多電腦切換系統(請參閱第1圖)之不同部分傳遞。在此範例中虛擬碟機已經被分享到伺服器電腦上,用戶端電腦10之使用者可經由網路型多電腦切換器20控制伺服器電腦40,並且控制伺服器電腦40存取此虛擬碟機。除了虛擬媒體是以資料夾(非以碟機方式分享)之方式分享外,這些步驟通常類似於傳統在網路型多電腦虛擬媒體系統之虛擬媒體存取步驟。
在第9圖所示之範例中,使用者經由網路型多電腦切換器20及電腦端模組30送出一鍵盤或滑鼠指令至伺服器電腦40之作業系統(目標作業系統),以瀏覽此虛擬碟機之一目錄。如前所述,此用戶端電腦10與網路型多電腦切換器20之間以網路通訊協定(例如TCP/IP)進行溝通。伺服器電腦40之作業系統會送出一磁碟I/O指令(必要時可包含資料)給電腦端模組(本例中為一USB單體)30以控制此碟機。通常大部分的作業系統係以SCSI指令集來執行USB碟機之輸入/輸出(I/O)功能,所以此處之磁碟I/O指令可為SCSI指令。
如前所述,電腦端模組30模擬成伺服器電腦40之一USB大量儲存裝置,且電腦端模組30與伺服器電腦40之間的指令(包含資料)傳輸係以USB協定來完成。電腦端模組30送出一SCSI指令(包含任何適當的資料)給網路型多電腦切換器20。如果來自伺服器電腦40之磁碟I/O指令係為SCSI指令,則電腦端模組30可將其轉發給網路型多電腦切換器20。如前所述,電腦端模組30與網路型多電腦切換器20之間係以內部通訊協定進行溝通,在此範例中係為SCSI標準。網路型多電腦切換器20送出一虛擬磁碟指令(包含任何適當的資料)給用戶端電腦10。網路型多電腦切換器20與用戶端電腦10之間的虛擬磁碟指令可為由製造商所定義之適當格式。
用戶端電腦10之KVM管理軟體11將此指令轉給虛擬媒體管理軟體12,由其執行適當之步驟(例如第5圖至第7圖所示之過程,特別是第6圖所示之讀取磁區功能)。KVM管理軟體11及虛擬媒體管理軟體12共同回應第9圖之“用戶端應用程式”。用戶端應用程式送出一指令回應(包含由虛擬碟機及/或實體碟機所讀出之資料)給網路型多電腦切換器20。此網路型多電腦切換器20送出一SCSI指令回應(包含資料)給電腦端模組30,且電腦端模組30送出一磁碟I/O指令回應(包含SCSI指令回應),包括任何資料,給伺服器電腦40之作業系統。然後,伺服器電腦40藉由電腦端模組30及網路型多電腦切換器20以影像資料之格式傳送顯示於伺服器電腦桌面的瀏覽結果給用戶端電腦10。KVM管理軟體11將此影像資料顯示在用戶端電腦10之使用者介面裝置15的螢幕上。
類似地(未顯示),當用戶端電腦10之使用者希望能夠控制伺服器電腦40來開啟虛擬碟機之檔案時,用戶端電腦10會經由此網路型多電腦切換器20送出一開啟檔案指令至伺服器電腦40。此時,由網路型多電腦切換器20送至用戶端應用程式之指令將會是虛擬碟機讀取磁區指令,且用戶端應用程式會將由適當磁區中所讀出之資料傳回給網路型多電腦切換器20。類似地(未顯示),當用戶端電腦10之使用者希望能夠控制伺服器電腦40將一檔案儲存於虛擬碟機中時,用戶端電腦10會經由此網路型多電腦切換器20送出一儲存檔案指令至伺服器電腦40。此時,由網路型多電腦切換器20送至用戶端應用程式之指令將會是虛擬碟機寫入磁區指令,且網路型多電腦切換系統會將傳送磁區資料至用戶端應用程式。
雖然前述實施例中電腦端模組30係模擬成伺服器電腦40之一USB大量儲存裝置(USB mass storage device),但是此電腦端模組30亦可模擬成符合其他標準協定之儲存裝置。
在第1圖所示之網路型多電腦切換系統中,伺服器電腦40、電腦端模組30、網路型多電腦切換器20、用戶端電腦10之KVM管理軟體11可類似於傳統網路型多電腦切換系統之碟機分享虛擬媒體功能的對應部分。根據本發明實施例之虛擬媒體資料夾分享功能係由用戶端電腦10之虛擬媒體管理軟體12所完成。
並且,雖然在第1圖之網路型多電腦切換系統中,網路型多電腦切換器20係經由一電腦端模組30連接至伺服器電腦40,但是電腦端模組30之虛擬媒體存取功能及前述之網路型多電腦切換器20可改由具有適當硬體及軔體/軟體之任意模組來執行這些虛擬媒體功能。此種模組,稱為虛擬媒體控制模組,可為實體上與伺服器電腦40分開的模組,且連接於伺服器電腦40與網路100之間,或是其可為伺服器電腦40之一部分。由用戶端電腦10之觀點來看,虛擬媒體控制模組係為網路100上之一裝置,其送出虛擬碟機指令(如前述)至用戶端電腦10,且由用戶端電腦10接收指令回應。由伺服器電腦40之作業系統之觀點來看,此虛擬媒體存取控制模組像是一個虛擬碟機並且可以由伺服器電腦40接收磁碟I/O指令,並對磁碟I/O指令提供回應。
本發明之資料夾分享方法的優點包括增加的彈性、相容性、安全性、可靠度及保密性。其允許用戶端電腦之使用者彈性地允許伺服器電腦存取整體實體儲存裝置上部分但非全部的內容,因此,可保護在實體碟機上資料之機密及安全性。其顯著地降低或消除在寫入操作期間實體儲存媒體當機之風險。當實體儲存媒體及虛擬碟機使用不同檔案系統時(例如,當虛擬碟機使用FAT 16時,實體儲存裝置使用NTFS),其可支援虛擬媒體功能。
雖然本發明所述之虛擬媒體方法是在網路型多電腦切換系統中,但更一般的說,其可應用於任何一伺服器電腦利用網路協定(例如TCP/IP)經由網路由用戶端電腦遠端存取的系統。一旦登入至伺服器電腦,遠端用戶端電腦可與伺服器電腦交換鍵盤、影像、滑鼠訊號以及控制伺服器電腦。本發明所述之資料夾分享虛擬媒體方法可被應用於這樣的伺服器電腦-用戶端電腦系統中。應注意的是「伺服器電腦」及「用戶端電腦」的命名僅為方便使用,但不需要兩台電腦具有任何特殊性能。
本發明的資料夾分享虛擬媒體方法及裝置可明顯地由本領域的技術人員進行不同修飾及變化而不脫離該發明的精神與範圍,因此,其亦指本發明涵蓋包含在其附加的申請專利範圍及其均等物的修飾及變化。
10...用戶端電腦
11...KVM管理軟體
12...虛擬媒體管理軟體
13...作業系統
14...儲存裝置
30...電腦端模組
31...USB裝置控制器
40...伺服器電腦
41...作業系統
42...虛擬媒體
15...使用者介面裝置
20...網路型多電腦切換器
100...網路
S401~S404、405~409...步驟
S501~S509...步驟
S601~S610...步驟
S701~S704...步驟
S801~S813...步驟
第1圖係根據本案實施例說明具有虛擬媒體功能的網路型多電腦切換系統。
第2a圖係以圖示說明在常見的檔案系統中的示範性FAT表。
第2b圖係以圖示說明在示範性常見檔案系統中的磁叢及其內容。
第2c圖係以圖示說明在常見檔案系統中包含不同區域的檔案系統。
第3a圖係以圖示說明根據本發明實施例中包含不同區域的虛擬媒體檔案系統。
第3b圖係以圖示說明根據本發明實施例的示範性虛擬媒體FAT表。
第3c圖係以圖示說明根據本發明實施例的示範性檔案-磁叢索引表。
第3d圖係以圖示說明根據本發明實施例的示範性髒磁區索引表。
第4圖係以圖示說明根據本發明實施例的用於虛擬媒體資料夾分享的分享程序。
第5圖係以圖示說明根據本發明實施例的用於資料夾分享的虛擬媒體的虛擬媒體存取程序。
第6圖係以圖示說明根據本發明實施例的用於資料夾分享的虛擬媒體的讀取磁區功能。
第7圖係以圖示說明根據本發明實施例的用於資料夾分享的虛擬媒體的寫磁區功能。
第8圖係以圖示描述根據本發明實施例的用於資料夾分享的虛擬媒體的回寫功能。
第9圖係以圖示說明在虛擬媒體存取期間在第1圖系統的不同元件間傳輸的指令及資料。
第1圖
10‧‧‧用戶端電腦
11‧‧‧KVM管理軟體
12‧‧‧虛擬媒體管理軟體
13‧‧‧作業系統
14‧‧‧儲存裝置
15‧‧‧使用者介面裝置
20‧‧‧網路型多電腦切換器
30‧‧‧電腦端模組
31‧‧‧USB裝置控制器
40‧‧‧伺服器電腦
41‧‧‧作業系統
42‧‧‧虛擬媒體
100‧‧‧網路
Claims (20)
- 一種在具有虛擬媒體功能之一系統中執行的方法,該方法至少包含:以一伺服器控制模組對一伺服器電腦模擬出符合一標準協定之一儲存裝置,包括接收來自該伺服器電腦之一第一指令,並依據該第一指令傳送一第二指令至一虛擬媒體存取控制模組,更包含依據來自該虛擬媒體存取控制模組之一第二回覆訊息傳送一第一回覆訊息至該伺服器電腦;以該虛擬媒體存取控制模組依據該伺服器控制模組所傳來之該第二指令,經由一網路傳送一第三指令至一用戶端電腦之一虛擬媒體管理軟體模組,並且依據經由該網路由該虛擬媒體存取控制模組傳來之一第三回覆訊息,傳送該第二回覆訊息至該伺服器電腦;以及以該虛擬媒體管理軟體模組因應於由該虛擬媒體存取控制模組所接收之該第三指令,經由該網路傳送該第三回覆訊息至該虛擬媒體存取控制模組,其中該第一回覆訊息使得該伺服器電腦可存取連接至該客戶端電腦的該儲存裝置中之複數資料夾中特定的一個,如同一本地裝置般,但不允許該伺服器電腦存取該儲存裝置中的其他內容。
- 如申請專利範圍第1項所述之方法,其中該儲存裝置至少包括由一第三電腦所分享之一網路分享資料夾(network-shared folder)。
- 如申請專利範圍第1項所述之方法,其中由該伺服器電腦之該伺服器控制模組所接收的該第一指令係一讀取指令或一寫入指令。
- 一種在一用戶端電腦與一伺服器電腦相互連接所組成之一系統中執行的方法,該用戶端電腦具有一使用檔案系統儲存複數檔 案與資料夾的一儲存裝置,該方法用以將該複數資料夾其中之一分享給要被存取的該伺服器電腦作為一虛擬碟機,該方法至少包含:(a)選擇要被該伺服器電腦存取之一資料夾,該所選擇之資料夾包含複數個子資料夾及資料檔案;(b)針對該所選擇的資料夾中的每一資料檔案,依據該資料檔案之大小,分派一或多個虛擬磁叢索引順序至該資料檔案;(c)針對該所選擇的資料夾在該客戶端電腦產生一虛擬媒體檔案系統,該虛擬媒體檔案系統包括虛擬媒體索引資訊,用以描述分派至該所選擇之資料夾的每一資料檔案的該虛擬磁叢索引順序,但並不包括該資料檔案的任何資料內容;(d)產生一初始狀態資料結構,用以儲存該所選擇之資料夾中每一資料檔案之一初始狀態,該每一資料檔案之該初始狀態包含在該儲存裝置之該檔案系統中的檔案名稱及路徑,以及步驟(b)中分派之該虛擬磁叢索引;以及(e)因應於一虛擬媒體讀取指令,執行一虛擬媒體讀取功能,指定一虛擬磁區編號以讀取一筆資料,其中該虛擬磁區編號係關於由一預設轉換程式而得到之一虛擬磁叢索引,該步驟(e)更至少包含:(e1)若該指定之虛擬磁區編號係位於該虛擬媒體檔案系統之一磁區,則由該虛擬媒體檔案系統之該磁區讀取該筆資料;以及(e2)若該指定之虛擬磁區編號並非位於該虛擬媒體檔案系統之一磁區,則以該初始狀態資料結構及該預設轉換程式判斷該資料檔案所在之磁區,得到該資料檔案之一名稱及路徑及該虛擬磁區在該資料檔案中之一磁區偏移量,且以該名稱及路徑及該磁區偏移量由該儲存裝置讀取該筆資料。
- 如專利申請範圍第4項所述之方法,更至少包含:(f)在步驟(e)之前,產生並維持一髒磁區索引表(dirty sector index table),該髒磁區索引表儲存多個髒磁區之一虛擬磁區編號清單以及在一暫存資料區中對應之暫存磁區編號,每一該髒磁區可為在虛擬媒體存取時被一或多個虛擬媒體寫入指令所指定的磁區;其中,若該指定的虛擬磁區編號並非位於該髒磁區索引表中,則執行步驟(e1)及步驟(e2),且其中步驟(e)更至少包含:(e3)如果該被指定的虛擬磁區編號位於該髒磁區索引表中,則由該髒磁區索引表得到該對應之暫存磁區編號,並且由該暫存磁區中讀取該筆資料;(g)因應於指定一虛擬磁區編號進行寫入一筆資料之一虛擬媒體寫入磁區指令,執行一虛擬媒體寫入功能,至少包含:(g1)若該被指定之虛擬磁區編號位於該髒磁區索引表中,則由該髒磁區索引表得到該對應之暫存磁區編號,並將該筆資料寫入至該暫存磁區;以及(g2)若該被指定之虛擬磁區編號並非位於該髒磁區索引表中,則增加該虛擬磁區編號至該髒磁區索引表中,分派該髒磁區索引表中一未使用之暫存磁區給該虛擬磁區編號,並將該筆資料寫入至該分配之暫存磁區。
- 如申請專利範圍第5項所述之方法,更至少包括:(h)因應於一虛擬媒體停止指令,執行一虛擬媒體回寫功能,至少包含:(h1)收集該來源資料夾的所有資料檔案及子目錄以進行分析;(h2)以該初始狀態資料結構檢查每一目錄入口以判斷其是否為一新資料夾、一舊資料夾、一新檔案或一舊檔案;(h3)若其為一新資料夾,在該儲存裝置之該檔案系統中產生一新資料夾;(h4)若其為一新資料檔案,在該儲存裝置之該檔案系統中產生一新檔案,以該虛擬媒體索引資訊及該髒磁區索引表判斷儲存該檔案的資料的該暫存磁區編號,並將來自該暫存磁區之資料複製到該儲存裝置之該檔案系統;(h5)若其為一舊資料檔案,以該初始狀態資料結構判斷該檔案是否有任何更改,若該檔案被更改,以該虛擬索引資訊及該髒磁區索引表判斷儲存該資料檔案的資料的該暫存磁區編號,並由該暫存磁區複製資料至該儲存裝置的該檔案系統;以及(h6)藉由分析該初始狀態資料結構及該虛擬媒體索引資訊,判斷該來源資料夾之任何資料檔案或子資料夾是否被要求刪除,並刪除被要求要被刪除之該資料檔案或子資料夾。
- 如申請專利範圍第4項所述之方法,其中該虛擬媒體檔案系統係符合一檔案配置表(FAT)檔案系統標準之一虛擬媒體檔案配置表(VM FAT)檔案系統,其包括一虛擬媒體保留區、儲存一虛擬媒體檔案配置表之一虛擬媒體檔案配置表區、儲存一虛擬媒體根目錄的一虛擬媒體目錄區及儲存子目錄而不儲存任何資料檔案的資料內容的一虛擬媒體檔案及目錄資料區,其中該虛擬媒體檔案配置表、該虛擬媒體根目錄及該根目錄形成該虛擬媒體索引資訊。
- 如申請專利範圍第4項所述之方法,其中該初始狀態資料結構包含一檔案-磁叢索引表,其對每一資料檔案儲存在該儲存裝置中之該檔案系統的該檔名及路徑、內容(properties)及在步驟(b)中指派給它之該虛擬磁叢索引。
- 如申請專利範圍第8項所述之方法,其中該初始狀態資料結構包含一目錄樹狀結構,其以一樹狀結構在該來源資料夾中儲存每一資料檔案之該路徑及檔案。
- 一種執行虛擬媒體功能之系統,至少包含:一虛擬媒體管理軟體模組,位於一用戶端電腦;一虛擬媒體存取控制模組,經由一網路連接至該用戶端電腦;以及一伺服器控制模組,連接至該虛擬媒體存取控制模組,該伺服器控制模組模擬符合一伺服器電腦之一標準協定的一儲存裝置,其中該虛擬媒體管理軟體模組使該伺服器宛如一本地裝置,可對儲存在一儲存裝置中之複數個資料夾中特定的一個進行存取,該儲存裝置耦合至該用戶端電腦,但並不允許該伺服器對該儲存裝置中之其他內容進行存取。
- 如申請專利範圍第10項所述之系統,其中該儲存裝置以一檔案系統儲存複數個檔案及資料夾;其中該虛擬媒體存取控制模組從該伺服器接收磁碟輸入/輸出(I/O)指令,基於該磁碟I/O指令產生虛擬媒體指令,經由該網路將該虛擬媒體指令傳輸至該用戶端電腦,由該用戶端電腦接收虛擬媒體指令回應,基於該虛擬媒體指令反應產生磁碟I/O回覆訊息,並將該磁碟I/O回覆訊息傳輸至該伺服器;其中該虛擬媒體管理軟體模組被配置以執行一虛擬媒體方法,用以在該儲存裝置上將該複數個資料夾之其中一個分享給該伺服器供其存取作為一虛擬碟機,該方法至少包含:(a)由該伺服器選擇要被存取之該一資料夾,該所選擇之資料夾包含複數個子目錄及資料檔案;(b)針對該所選擇的資料夾中的每一資料檔案,基於該資料檔案的大小指配一或多個虛擬磁叢索引順序給該資料檔案;(c)在該用戶端電腦之該所選擇之資料夾上產生一虛擬媒體檔案系統,該虛擬媒體檔案系統包含虛擬媒體索引資料,其描述分配給該所選擇之資料夾之每一資料檔案的虛擬磁叢索引順序,而不包括該資料檔案的任何資料內容;(d)產生儲存在該來源資料夾中之每一資料檔案之一初始狀態的一初始狀態資料結構,每一資料檔案的該初始狀態包含在該儲存裝置之該檔案系統中的名稱及路徑,內容(properties)及在步驟(b)中分配給它的虛擬磁叢索引;以及(e)因應於來自該虛擬媒體存取控制模組之一虛擬媒體讀取磁區指令,該虛擬媒體存取控制模組指定用以讀取一筆資料之一虛擬磁區編號,執行一虛擬媒體讀取功能,其中該虛擬磁區編號係有關於由一預設轉換程式所得到之一虛擬磁叢索引,至少包含:(e1)若該被指定之虛擬磁區編號是在該虛擬媒體檔案系統中之一磁區,則由該虛擬媒體檔案系統之該磁區讀取該筆資料,並且將該筆資料傳輸至該虛擬媒體存取控制模組;以及(e2)若該被指定之虛擬磁區編號並非在該虛擬媒體檔案系統中之一磁區,則以該初始狀態資料結構及該預設轉換程式判斷該資料檔案所在之磁區,得到該資料檔案之一名稱及路徑及該虛擬磁區之一磁區偏移量,以該名稱及路徑及該磁區偏移量發出一指令至該作業系統以從該儲存裝置讀取該筆資料,由該作業系統接收該筆資料,並將該筆資料傳輸至該虛擬媒體存取控制模組。
- 如申請專利範圍第11項所述之系統,其中該虛擬媒體方法更至少包含:(f)在步驟(e)之前,產生及維持一髒磁區索引表,其儲存髒磁區之虛擬磁區編號清單及在一暫存資料區中對應之暫存磁區編號,每一髒磁區係為在虛擬媒體存取時被一或多個虛擬媒體寫入指令所指定之一磁區;其中,若被指定之虛擬磁區編號不在該髒磁區索引表中,則執行步驟(e1)及(e2),且步驟(e)更至少包括:(e3)若被指定之虛擬磁區編號是在該髒磁區索引表中,則由該髒磁區索引表得到該對應之暫存磁區編號,並由該暫存磁區讀取該筆資料,並將該筆資料傳輸至該虛擬媒體存取控制模組;(g)因應於指定一虛擬磁區編號寫入一筆資料之一虛擬媒體寫入磁區指令,執行一虛擬媒體寫入功能,至少包含:(g1)若被指定之虛擬磁區編號位於該髒磁區索引表中,則由該髒磁區索引表得到該對應之暫存磁區編號,並將該筆資料寫入該暫存磁區;以及(g2)若該指定之虛擬磁區編號並非位於該髒磁區索引表中,則增加該虛擬磁區編號至該髒磁區索引表中,分派該髒磁區索引表中一未使用之暫存磁區給該虛擬磁區編號,並將該筆資料寫入至該分配之暫存磁區。
- 如申請專利範圍第12項所述之系統,其中該虛擬媒體方法更至少包含:(h)因應於一虛擬媒體停止指令,執行一虛擬媒體回寫功能,其至少包含:(h1)收集該來源資料夾的所有資料檔案及子目錄以進行分析;(h2)以該初始狀態資料結構,檢查每一目錄入口以判斷其是否為一新資料夾、一舊資料夾、一新檔案或一舊檔案;(h3)若其為一新資料夾,則在該儲存裝置之該檔案系統中產生一新資料夾;(h4)若其為一新資料檔案,則在該儲存裝置之該檔案系統中產生一新檔案,以該虛擬媒體索引資訊及該髒磁區索引表判斷儲存該檔案的資料的該暫存磁區編號,並將來自該暫存磁區之資料複製到該儲存裝置的該檔案系統;(h5)若其為一舊資料檔案,以該初始狀態資料結構判斷該檔案是否有任何更改,若該檔案被更改,以該虛擬索引資訊及該髒磁區索引表判斷儲存該資料檔案之資料的該暫存磁區編號,並將來自該暫存磁區的資料複製至該儲存裝置之該檔案系統;以及(h6)藉由分析該初始狀態資料結構及該虛擬媒體索引資訊,判斷該來源資料夾之任何資料檔案或子資料夾是否被要求刪除,並刪除被要求要被刪除之該資料檔案或子資料夾。
- 如申請專利範圍第11項所述之系統,其中該虛擬媒體檔案系統係符合一檔案配置表(FAT)檔案系統標準之一虛擬媒體檔案配置表(VM FAT)檔案系統,其包含一虛擬媒體保留區、儲存一虛擬媒體檔案分置表之一虛擬媒體檔案配置表區、儲存一虛擬媒體根目錄之一虛擬媒體根目錄區以及儲存子目錄但不儲存任何資料檔案的資料內容之一虛擬媒體檔案及目錄資料區,其中該虛擬媒體檔案配置表、該虛擬媒體根目錄及該根目錄形成該虛擬媒體索引資訊。
- 如申請專利範圍第11項所述之系統,其中該初始狀態資料結構包括一檔案-磁叢索引表,其儲存每一資料檔案在該儲存裝置之該檔案系統中的該檔名及路徑、其內容(properties)及在步驟(b)指配給它之該虛擬磁叢索引。
- 如申請專利範圍第15項所述之系統,其中該初始狀態資料結構更至少包含一目錄樹狀結構,其以一樹狀結構在該來源資料夾儲存每一資料檔案之該路徑及檔案。
- 如申請專利範圍第11項所述之系統,其中該儲存裝置係為一硬碟機、一CD光碟機、一DVD光碟機、一快閃(flash)儲存裝置、一軟碟機或一網路分享資料夾(network-shared folder)。
- 如申請專利範圍第11項所述之系統,其中該儲存裝置之該檔案系統係為一檔案配置表(FAT)檔案系統或一NTFS檔案系統。
- 如申請專利範圍第11項所述之系統,其中該虛擬媒體存取控制模組模擬該伺服器之一通用序列匯流排大量儲存裝置(USB mass storage device)。
- 如申請專利範圍第11項所述之系統,其中該虛擬媒體存取控制模組更至少包含:一電腦端模組,連接至該伺服器;以及一切換器裝置,連接至該電腦端模組並經由該網路連接至該用戶端電腦。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/503,814 US8615594B2 (en) | 2009-07-15 | 2009-07-15 | Virtual media with folder-mount function |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201102824A TW201102824A (en) | 2011-01-16 |
TWI421692B true TWI421692B (zh) | 2014-01-01 |
Family
ID=43466151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098144860A TWI421692B (zh) | 2009-07-15 | 2009-12-24 | 具有資料夾分享功能的虛擬媒體之系統及其執行方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8615594B2 (zh) |
CN (1) | CN101958918B (zh) |
TW (1) | TWI421692B (zh) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100927442B1 (ko) * | 2007-08-16 | 2009-11-19 | 주식회사 마크애니 | 가상 응용프로그램 생성 시스템, 가상 응용프로그램 설치방법, 네이티브 api 호출 처리 방법 및 가상응용프로그램 수행 방법 |
US9235583B2 (en) * | 2009-07-15 | 2016-01-12 | Aten International Co., Ltd. | Virtual media with folder-mount function |
US9237186B2 (en) | 2009-07-15 | 2016-01-12 | Aten International Co., Ltd. | Virtual media with folder-mount function and graphical user interface for mounting one or more files or folders |
US9235399B2 (en) | 2010-01-15 | 2016-01-12 | Dell Products L.P. | System and method for manufacturing and personalizing computing devices |
US10387927B2 (en) | 2010-01-15 | 2019-08-20 | Dell Products L.P. | System and method for entitling digital assets |
US9256899B2 (en) | 2010-01-15 | 2016-02-09 | Dell Products, L.P. | System and method for separation of software purchase from fulfillment |
US8548919B2 (en) * | 2010-01-29 | 2013-10-01 | Dell Products L.P. | System and method for self-provisioning of virtual images |
US9100396B2 (en) | 2010-01-29 | 2015-08-04 | Dell Products L.P. | System and method for identifying systems and replacing components |
US8429641B2 (en) * | 2010-02-02 | 2013-04-23 | Dell Products L.P. | System and method for migration of digital assets |
US8170783B2 (en) | 2010-03-16 | 2012-05-01 | Dell Products L.P. | System and method for handling software activation in entitlement |
US8707087B2 (en) * | 2010-05-18 | 2014-04-22 | Dell Products L.P. | Restoration of an image backup using information on other information handling systems |
US8468007B1 (en) * | 2010-08-13 | 2013-06-18 | Google Inc. | Emulating a peripheral mass storage device with a portable device |
EP2606448B1 (en) | 2010-08-18 | 2016-02-10 | Security First Corp. | Systems and methods for securing virtual machine computing environments |
US20140242995A1 (en) * | 2011-10-14 | 2014-08-28 | Lg Electronics Inc. | Method in which a terminal transceives a signal in a wireless communication system and apparatus for same |
TWI606351B (zh) * | 2011-12-30 | 2017-11-21 | 宏正自動科技股份有限公司 | 遠端管理系統、遠端管理裝置及遠端管理方法 |
US20130268774A1 (en) * | 2012-04-06 | 2013-10-10 | Security First Corp. | Systems and methods for securing and restoring virtual machines |
US9513823B2 (en) | 2012-04-30 | 2016-12-06 | Hewlett Packard Enterprise Development Lp | Data migration |
US20130304866A1 (en) * | 2012-05-14 | 2013-11-14 | Novatel Wireless, Inc. | System and method of utilizing wireless usb device as local proxy for cloud storage |
US8949401B2 (en) | 2012-06-14 | 2015-02-03 | Dell Products L.P. | Automated digital migration |
US8468139B1 (en) | 2012-07-16 | 2013-06-18 | Dell Products L.P. | Acceleration of cloud-based migration/backup through pre-population |
US9779219B2 (en) | 2012-08-09 | 2017-10-03 | Dell Products L.P. | Method and system for late binding of option features associated with a device using at least in part license and unique ID information |
US10198285B2 (en) * | 2012-10-04 | 2019-02-05 | Vertiv It Systems, Inc. | System and method for creating virtual disk images for use with remote computer |
EP2904505A4 (en) * | 2012-10-04 | 2016-03-16 | Avocent Huntsville Corp | SYSTEM AND METHOD FOR PRODUCING IMAGES OF A VIRTUAL DISK FOR USE WITH A REMOTE COMPUTER |
CA2887957A1 (en) * | 2012-10-23 | 2014-05-01 | Avocent Huntsville Corp. | System and method for accessing disk image files using html5 kvm/vmedia client running in a web browser |
US9343903B2 (en) | 2013-03-14 | 2016-05-17 | Mark Hauenstein | Methods and systems architecture to virtualize energy functions and processes into a cloud based model |
US9304783B2 (en) * | 2013-05-09 | 2016-04-05 | American Megatrends, Inc. | Digital signage management and content delivery system and method thereof |
TWI594129B (zh) * | 2014-03-26 | 2017-08-01 | 宏正自動科技股份有限公司 | 建立管理清單之方法 |
US11327779B2 (en) * | 2015-03-25 | 2022-05-10 | Vmware, Inc. | Parallelized virtual machine configuration |
TW201738778A (zh) * | 2016-04-28 | 2017-11-01 | 原形研發股份有限公司 | 多硬碟檔案管理系統及其方法 |
CN107644056B (zh) * | 2017-08-04 | 2021-02-12 | 武汉烽火众智数字技术有限责任公司 | 一种文件存储方法、装置及系统 |
CN111164570B (zh) * | 2017-10-11 | 2024-05-21 | 维谛信息技术系统有限公司 | 用于创建用于与远程计算机一起使用的虚拟盘映像的系统和方法 |
CN111274189B (zh) * | 2020-03-10 | 2023-08-08 | 国微集团(深圳)有限公司 | Usb设备及其实时通讯方法 |
CN113918519A (zh) * | 2021-09-06 | 2022-01-11 | 中国长城科技集团股份有限公司 | 一种文件夹挂载方法、装置及终端设备 |
CN113852717B (zh) * | 2021-09-27 | 2024-03-19 | 努比亚技术有限公司 | 一种壁纸模块位置迁移方法、设备及计算机可读存储介质 |
CN114124301B (zh) * | 2021-11-17 | 2023-04-07 | 中国地质大学(武汉) | 一种具有数据校验和错误重传机制的虚拟媒体传输系统 |
CN114637869A (zh) * | 2022-03-02 | 2022-06-17 | 浙江卡易智慧医疗科技有限公司 | 一种dicom影像云文件临时存储检索方法 |
US20240168574A1 (en) * | 2022-05-20 | 2024-05-23 | Pixart Imaging Inc. | Wireless communication system having multiple host computers |
CN114943071B (zh) * | 2022-07-21 | 2022-10-04 | 飞天诚信科技股份有限公司 | 一种认证设备获取时间的方法及装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW440769B (en) * | 1997-07-11 | 2001-06-16 | Ibm | Parallel file system and method for granting byte range tokens |
US20040193672A1 (en) * | 2003-03-27 | 2004-09-30 | Microsoft Corporation | System and method for virtual folder sharing including utilization of static and dynamic lists |
TW200707218A (en) * | 2005-04-29 | 2007-02-16 | Avocent Corp | Virtual media systems, methods and devices |
US20070174526A1 (en) * | 2005-04-29 | 2007-07-26 | Avocent Corporation | Virtual media systems, methods and devices |
TW200732918A (en) * | 2005-12-21 | 2007-09-01 | Sandisk Corp | Method and system for accessing non-volatile storage devices |
TW200745862A (en) * | 2005-12-21 | 2007-12-16 | Sandisk Corp | Non-volatile memories and methods with data alignment in a directly mapped file storage system |
TW200810478A (en) * | 2005-12-19 | 2008-02-16 | Ibm | Sharing computer data among computers |
TW200926675A (en) * | 2007-12-06 | 2009-06-16 | Aten Internat Co Ltd Taiwan | Methods and systems for client computer managing multiple servers |
US20090171891A1 (en) * | 2008-01-02 | 2009-07-02 | Sandisk Il, Ltd. | Data indexing by local storage device |
US20090172274A1 (en) * | 2008-01-02 | 2009-07-02 | Sandisk Il Ltd. | Storage device having direct user access |
US20090172050A1 (en) * | 2008-01-02 | 2009-07-02 | Sandisk Il Ltd. | Dual representation of stored digital content |
US20090171911A1 (en) * | 2008-01-02 | 2009-07-02 | Sandisk Il, Ltd. | Data indexing by local storage device |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7631084B2 (en) * | 2001-11-02 | 2009-12-08 | Juniper Networks, Inc. | Method and system for providing secure access to private networks with client redirection |
US7076796B2 (en) * | 2002-01-04 | 2006-07-11 | Reeves Drue A | Virtual media from a directory service |
US7260624B2 (en) * | 2002-09-20 | 2007-08-21 | American Megatrends, Inc. | Systems and methods for establishing interaction between a local computer and a remote computer |
US7925682B2 (en) * | 2003-03-27 | 2011-04-12 | Microsoft Corporation | System and method utilizing virtual folders |
US20050235281A1 (en) * | 2004-04-19 | 2005-10-20 | Telefonaktiebolaget L M Ericsson (Publ) | Combined software installation package |
US7590522B2 (en) * | 2004-06-14 | 2009-09-15 | Hewlett-Packard Development Company, L.P. | Virtual mass storage device for server management information |
US7769978B2 (en) * | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US7747837B2 (en) * | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US20070143567A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Methods for data alignment in non-volatile memories with a directly mapped file storage system |
US20070143566A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Non-volatile memories with data alignment in a directly mapped file storage system |
CN101420360A (zh) * | 2007-10-26 | 2009-04-29 | 徐广斌 | 一种块级网络存储访问方法 |
CN101232422B (zh) | 2008-01-18 | 2010-06-02 | 北京交通大学 | 一种基于网格技术的网络存储系统 |
CN101272242A (zh) * | 2008-02-29 | 2008-09-24 | 中兴通讯股份有限公司 | 基于网络的移动存储系统和方法 |
US8370835B2 (en) * | 2009-03-12 | 2013-02-05 | Arend Erich Dittmer | Method for dynamically generating a configuration for a virtual machine with a virtual hard disk in an external storage device |
US8151033B2 (en) * | 2009-05-28 | 2012-04-03 | Red Hat, Inc. | Mechanism for virtual logical volume management |
-
2009
- 2009-07-15 US US12/503,814 patent/US8615594B2/en active Active
- 2009-12-24 TW TW098144860A patent/TWI421692B/zh active
-
2010
- 2010-02-26 CN CN2010101350131A patent/CN101958918B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW440769B (en) * | 1997-07-11 | 2001-06-16 | Ibm | Parallel file system and method for granting byte range tokens |
US20040193672A1 (en) * | 2003-03-27 | 2004-09-30 | Microsoft Corporation | System and method for virtual folder sharing including utilization of static and dynamic lists |
TW200707218A (en) * | 2005-04-29 | 2007-02-16 | Avocent Corp | Virtual media systems, methods and devices |
US20070174526A1 (en) * | 2005-04-29 | 2007-07-26 | Avocent Corporation | Virtual media systems, methods and devices |
TW200810478A (en) * | 2005-12-19 | 2008-02-16 | Ibm | Sharing computer data among computers |
TW200732918A (en) * | 2005-12-21 | 2007-09-01 | Sandisk Corp | Method and system for accessing non-volatile storage devices |
TW200745862A (en) * | 2005-12-21 | 2007-12-16 | Sandisk Corp | Non-volatile memories and methods with data alignment in a directly mapped file storage system |
TW200926675A (en) * | 2007-12-06 | 2009-06-16 | Aten Internat Co Ltd Taiwan | Methods and systems for client computer managing multiple servers |
US20090171891A1 (en) * | 2008-01-02 | 2009-07-02 | Sandisk Il, Ltd. | Data indexing by local storage device |
US20090172274A1 (en) * | 2008-01-02 | 2009-07-02 | Sandisk Il Ltd. | Storage device having direct user access |
US20090172050A1 (en) * | 2008-01-02 | 2009-07-02 | Sandisk Il Ltd. | Dual representation of stored digital content |
US20090171911A1 (en) * | 2008-01-02 | 2009-07-02 | Sandisk Il, Ltd. | Data indexing by local storage device |
Also Published As
Publication number | Publication date |
---|---|
US8615594B2 (en) | 2013-12-24 |
TW201102824A (en) | 2011-01-16 |
US20110016466A1 (en) | 2011-01-20 |
CN101958918A (zh) | 2011-01-26 |
CN101958918B (zh) | 2013-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI421692B (zh) | 具有資料夾分享功能的虛擬媒體之系統及其執行方法 | |
US9235583B2 (en) | Virtual media with folder-mount function | |
US9237186B2 (en) | Virtual media with folder-mount function and graphical user interface for mounting one or more files or folders | |
CN101853254B (zh) | 挂载文件或目录到本地或远程主机的方法和装置 | |
JP5291456B2 (ja) | ストレージシステム・アーキテクチャ内のデータ・アロケーション | |
JP4175764B2 (ja) | 計算機システム | |
US7308528B2 (en) | Virtual tape library device | |
EP2178005B1 (en) | File management method and hierarchy management file system | |
US7574464B2 (en) | System and method for enabling a storage system to support multiple volume formats simultaneously | |
EP1467290A2 (en) | Method, system and program product for file access in a storage device | |
US7546307B2 (en) | Virtual block storage to filesystem translator | |
US20080320258A1 (en) | Snapshot reset method and apparatus | |
JP2007172586A (ja) | コンピュータ間でコンピュータ・データを共有するための方法、装置、およびコンピュータ・プログラム | |
JP2002082775A (ja) | 計算機システム | |
JP2006146904A (ja) | ストレージシステムでオブジェクトレベルのスナップショットを生成するシステムと方法 | |
JP2007334878A (ja) | データを長期間アーカイブするシステムと方法 | |
JP2007102760A (ja) | ストレージエリアネットワークにおけるボリュームの自動割り当て | |
JP2007066192A (ja) | ストレージシステム及びその制御方法並びにコンピュータプログラム | |
US8046391B2 (en) | Storage apparatus and its file control method and storage system | |
JP2008146212A (ja) | 共有ディレクトリの設定情報を変更する方法、及びファイルサーバ装置 | |
US6185580B1 (en) | Physical information and extensions file and file system translator | |
JP2017211920A (ja) | ストレージ制御装置、ストレージシステム、ストレージ制御方法およびストレージ制御プログラム | |
US10089125B2 (en) | Virtual machines accessing file data, object data, and block data | |
JP4327869B2 (ja) | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 | |
JP4512175B2 (ja) | 計算機システム |