TW535065B - Method and apparatus for atomic file look-up - Google Patents
Method and apparatus for atomic file look-up Download PDFInfo
- Publication number
- TW535065B TW535065B TW090120873A TW90120873A TW535065B TW 535065 B TW535065 B TW 535065B TW 090120873 A TW090120873 A TW 090120873A TW 90120873 A TW90120873 A TW 90120873A TW 535065 B TW535065 B TW 535065B
- Authority
- TW
- Taiwan
- Prior art keywords
- file
- operating system
- request
- application
- core
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Communication Control (AREA)
- Stored Programmes (AREA)
- Crystals, And After-Treatments Of Crystals (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Description
五、發明説明( 1 發明說明 背景#藝 在近十年來對於使用個人電腦,工作站及舰器來 各種日k作已戲難的成長,其代表電⑽、統運作的速 率’夂仲非常$要。m錢行u程叙執行的速 率主要是依據作業系統的速率。在—現今的電腦系統中」 作業系統控制及監視硬„源的㈣,並提供 給應用程式。 、面 一種會減慢作業系統及安裝在-電腦系統上的應用程式 之效能的處理即為暫停該作業系統的執行處理,來進行二 些關於輸人及輸出(I/C))的操作。這種減慢通常發生在 被開啟時。為了開啟一檔案,作業系統必須藉由存心槽 =系4中❸名稱空間來決^ — ··路徑••到該檔案。存取在 ,案m統中的名稱空間會減慢作業系統工作的執行。但 疋 旦一檔纟已經第一次地被存取,該;ft案的路徑基本 ^即快取記憶體記憶體在記憶體中,所以未來至少_二時 j内該檔案的存取即不會造成作業系統來減慢卫作的執 行種不會使《寻作業系統來減慢工作的執行之操作,通 常稱之為一,,原子”操作。 應用程式在執行期間無法知道一檔案系統路徑是否儲存 在°己隐肢中。一應用程式必須僅要求作業系統來開啟該檔 ,。一應用程式發展者必須僅存活、在將會造成—嚴重效能 4排⑹響的可能性中,如果該作業系統必須決定來自該 槽案系統名稱空間的檔案路徑,並希望在-些例子中,i 稽案的開啟將能夠原子化地進行。 發明揭示 本發明提供U程絲根㈣ ::系統名稱空間快取記憶體中來找出是否 ^開啟1由利用此特徵,_應用程式發展者設定一 因此而反應。在許多情況下,如果該槽案不能夠 ==啟’該應用程式可被設計來重新導向該檔案操 另—個處理’其可包含阻隔點處理。透過使用此 :徵,對於晕涉在執行一應用程式的不同操作之排程的影 響可被最小化或避免,3 根據本發明—具體實施例,一作業系統包含一核心,一 使用者空間及一檔案系統。該作業系統藉由決定是否對應 定檔案的—檔案路徑儲存在_檔案系統名稱空間快 s己憶體中’來回應於自—應用程式接收的㈣於一特定 ,案的檔㈣啟請求。該作業系統在#該檔㈣徑未儲存 ,案系統名稱空間快取記憶體中時,通知該應用程式 2案操作不可:不能,或並未被原子化地執行。如果該 ^不能原子化地開啟,該應靠式可重新導向該請求。 該請求可由該應用程式重新導向到包含阻隔點處理的一處 理。該阻隔點處理可在該核心中或在該使用者空間中。如 t檔案路徑被快取記憶體在該搶案系統名稱空間快取記 憶體中,該槽案操作即執行例如該檔案係簡單地開啟,且 該應用程式被通知該檔案已被原子化地開啟,所以該檔案 535065
能夠沒有排程影響之下來使用。 在:具體實施财,根據本發明_作業系統包含具有一 檔案系統名稱空間的擋案系統,及操作來連制該槽案系 統名稱空間的-使用者空間。該使用者空間係用來致能至 少-個應隸式輯行。—作業“心係操作來連接到 該使用者空間及該檔案系統。 該作業系統核心包4該檔案系統名稱空間疾取記憶體, 用以快取記憶體來自該檔案“名稱空間的檔案路徑。該 作業系統核心也包含在此處稱之為—原子查看操作。該肩 子查看操作的功能係在當—應用程式要開啟—檔案,或執 行-類似㈣㈣時被叫用。該原子查看操作決定對應於 -檔案的該特定檔案路徑是否儲存在該樓案系統名稱空間 怯取記憶體中。如果該檔案路徑未儲存在該快取記憶體 中,該原子查看操作即通知該應用程式該特定檔案並為原 子化地開啟,且该應用程式可適當地處理該狀況。 在本發明的範例具體實施例中,電腦程式碼用來實施本 發明的許多方面。該電腦程式可儲存在一媒體上。該媒體 可為磁性,像是一碟片,磁帶,或硬碟,或者是光學性, 像是CD-ROM或DVD-ROM。該電腦程式碼也可儲存在一 半導體裝置中。此外,該電腦程式可透過網際網路或一些 其它形式的網路來供應。連接到一網路的工作站或電腦系 統執行供應成為'電腦程式產品之*-部份的電腦程式碼。 此電腦系統也可稱之為”程式執行系統”或”指令執行系統 。該電腦私式碼結合該電腦糸統及量測系統形成執行本發 -6- 本紙張尺度適用中國國家標準(CNS) Α4規格(210X 297公釐)
裝
線 535065 A7
明方法的裝置。 凰式簡單說E月 ® 1所不為實施本發明具體實施例的—些軟體特徵的方塊 圖。 圖-所不為由實施本發明一具體實施例的軟體所執行的方 法之流程圖。
圖J所不為由實施本發明一具體實施例的軟_所執行的方 法之另一流程圖。 圖4所不為實施本發明一具體實施例的一些軟體特徵的方 塊圖。 裝 圖3所不為由實施本發明一具體實施例的軟體所執行的方 法之流程圖。 圖6所不為實施本發明一具體實施例的電腦系統之方塊 圖。
煞it本發明的昜传;^ < 本毛明基本上包含在電腦軟體或一電腦程式產品中。盆 必須瞭解到,並非所述的每個軟體特徵皆必須來實施本發 明成為所附中請專利範圍的任何特定—個當中。該完整的 軟體產品係描述成並未完整構成本發明。其也必須瞭解 到,在整個揭示内容中,所示或斯說明的軟體處理或方法 中,該方法的步驟可以任何順序或同時地執行,除非由該 上下文可清楚地看出-個步驟係必須先執行另—個步驟。 所述的本發明具體實施例係根據所熟知的"Linux,,電腦作 業系統而實施在-運算平台中,其可直接地在網際網路上
535065 A7 B7 五 發明説明(5 ) 取得成為開放性資源。Linux也可透過不同的提供商來取 得,其提供及支援Linux作業系統=在這些提供商中,位在 美國 North Carolina,Research Triangle Park 的 Red Hat 公司為本發明的受讓人。修補格式的一些電腦程式碼的範 例來實施本發明的部份者,係包含在此規格的結束,且其 使用將在稍後討論。某些更簡短的碼範例係包含在此規格 中來説明所討論的特定觀念。所有這些範例爿·等可由那些本 技藝的專業人士所立即瞭解。其亦將可瞭解到Linux範例係 做為說明目的。此處所發明的觀念將可用於根據任何作業 系統的運算平台,其包含那些根癉MacintoshTM,Unix™ 及 W i n d o w s TM 者。 最後,其必須瞭解到,用來說明發明觀念的數個方塊圖 及版私圖,並不互相排除。而是,其每個皆被修改來說明 所討論的一特定觀念。在許多狀況下,在一特殊圖面中顯 不的兀素或步驟係與顯示在不同圖中者共存,但僅顯示: 些元素或步驟以便清楚瞭解。舉例而言,圖丨及圖4的方」 圖皆顯不在一作業系統核心及使用者空間内的元素。在^ 際的軟體中’在兩個圖面中的所有元素皆要存在。但是 僅有關於-特殊特徵者會顯示在每張圖中以便清楚瞭解。 回到圖1,其提供一方塊圖來說明具有一作業系統核, 100及-使用者空間】…的―軟體系統的不同元素。如圖 所示的特徵,對於要做為_舰__電腦平台或指令4 订糸統者非f重要’所關1的軟㈣統可稱之為-”词月丨 “統’’。該作業系統核心、,或,,該核心,,僅為處理硬體資分 -8 - 535065
裝 訂
的作業系統軟體的一部份,其提供基本的功能,並提供基 本的程式化介面給應用程式。這種程式化介面通常稱之為 一’’應用程式介面”或”ΑΡΓ,。在本發明的目前具體實施例 中’该作業系統核心10 0包含能力來經由使用一核心中應用 協定子系統102來維持一通訊協定堆疊。其很重要地是區別 像是HTTP或FTP的應用協定與像是丁Cp/Ip的低階協定。 可仏任協定模組103也包含在該核心中,並提換應用協定資 訊及功能給該協定子系統102。所牽涉的協定可為Ηττρ, FTP或任何其它用於網路通訊的應用程式協定,其包含所謂 的跨應用程式協定’’,例如延伸標記語言(XML)及超文字 標記語言(HTML),其使用HTTP。其可瞭解到,參考到包 含在此處的HTTP代表包含HTML及XML。一通用的作業 糸統快取記憶體104,也存在於該核心中,並可用來快取記 憶體貧訊檔案或頁面。最後,一協定目的快取記憶體1〇5也 在該核心中,並操作來連接到協定子系統102。該協定目的 俠取記憶體對於某些後續討論的軟體系統特徵非常重要。 請注意,如圖1所示,在此範例具體實施例中的協定子系統 提供了 一直接共用閘道介面(CGI)及透明的插座重新導向。 其不能夠過份強調圖i所示的作業系統架構(及稍後在圖4 中所討論)為代表性的範例。一些-作業系統允許某些應用程 式來在核心空間中執行,但其它的會在使用者空間中執 行其也有可能一應用程式的一些·情況會在兩個空間中執 仃,即一些程式碼在核心空間中執行,其它程式碼則在使 用者空間中執行。 -9-
五、發明説明(7 圖1的使用者空間101包含未信任模組或其它執行檔106。 在此點較佳地是解釋什麼是”可信任”,什麼是”未信任”軟 體模組。如本技藝的專業人士可知,目前大多數的作業系 統的設計使得存在於使用者空間中的應用程式或軟體模組 係在某種’’沙箱”中。此沙箱可保證作業系統中的模組不能 被破壞’或受到在使用者空間中執行者的負面影響。此觀 念係以設計作業系統來實施,所以在使用者全間中的模組 被視為”未信任”,使得其存取作業系統功能受到限制。相 反地,在作業系統核心中的模組為”可信任”,並可完全地 存取到作業系統功能。在本發明的此範例具體實施例中, 高階通訊協定應用程式可用可信任模組存在於該作業系統 核“中這些核心中的協定模組及核心中的協定子系統使 得伺服為系統可回應於應用協定請求,而不需要作業系 統切換内容。很重要地是要注意到,並非所有的作業系統 具有一獨立的使用者空間。一些作業系統執行位在作業系 統核心空間中的應用程式。但是在這些情況中,作業系統 與應用程式之間的功能性關係是相同的。該作業系統處理 硬體,並提供API,而該應用程式使用一 API來執行應用工 作。 在不會造成内容切換或任何其它處理時程岔斷的電腦系 統中之操作通常稱之為”原子”操作。在前述的架構中,通 訊應用程式在不切換内容之下,可〜進行通常稱之為,,非原子 化工作。當需要產生一回應時,關於該應用協定請求的資 訊係儲存在一記憶體中及核心中的請求結構,其使得該核 -10- 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 535065 A7 B7 五、發明説明(8 ) 心在一旦一相稱的使用者空間請求結構被更新時來再開始 執行,如同該反應已經發生。一HTTP請求的範例請求結構 如下所示。在此特殊情況下,顯示了該使用者請求結構; 但是,該核心請求結構非常類似,並可由該使用者空間請 求結構簡易地獲得。 typedef struct user_req_s { . int vers ion· 一major; int version—minor; int version_patch; int httpj/ersion; int http_method; int sock; int event; int thread__nr; void *id; void *priv; int http__status; int bytes__sent; char *object_addr; int module__index; char modulename[MAX_MODULENAME_LEN]; unsigned int client_host; unsigned int objectlen; char query[MAX—URI—LEN]; char objectname [MAX—CJRI—LEN]; unsigned int cookies__len; char cookies[MAX—C〇C^IE—LEN]; char content—type[MAX—FIELD—LENj; char user—agent [MAX__FIELD—L£N]; char accept[MAX—FIELD_LEN]; char accept—charset [MA)^_FIELD—LEN]; char accept—encoding[MAX—FIELD—LEM]; char accept一language[MAX一FIELD一LEM]; char cache—control[MAX—FIELD—LEN]; char if一modified_since[MAX—FIELD—LEN]; char negotiate[MAX_FIELD_LEN]; char pragma[MAX_FIELD_LEN]; -11 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 x 297公釐) 535065 A7 B7 五、發明説明(9 ) char referer[MAX—FIELD—LEN]; char *post—data; char new一date[DATE一LEN]; } user一req—t; — 圖2所示為無須内容切換的回應於一請求的方法之流程 圖。在步驟201中,即產生該使用者空間請求結構。在步驟 202中,由該指令執行系統執行做為一伺服器系統來進入該 作業系統核心。在步驟203中,一新核心請求結構即產生來 處理該請求。該核心請求結構即存在配合該請求接收的資 料,其通常來自一客戶系統來在該網路上進行請求。在步 驟204中,該核心請求結構即由存在於該使用者空間請求結 構而複製到該使用者空間。此”複製”更有效率地由僅移動 關於該請求結構的使用部份之資料而完成。在此例中,一 所謂的該請求結構之”私有襴區”也被移動。該私有欄區為 一不透明的指標,其可由應用程式所使用的做為參考。在 步騾205中,執行即回到使用者空間,且該使用者空間應用 程式即繼續操作,如同該請求已被處理。該使用者空間請 求結構將被覆寫,如果另一個請求需要被處理。該核心處 理通常在到期情況下的請求(此步驟為了清楚起見並未示 出)^在步驟2 0 6中,該作業系統監視該請求。如果該請求 完成的話,或發生一到期,執行即在步驟207中進入該作業 系統核心,且該核心請求結構在步驟208中被刪除,以儲存 記憶體資源。如果該請求不能夠 '完成,但尚未發生一到 期,該系統將維持該請求,且該請求將做為目前的請求回 到使用者空間,並在該請求的I/O操作完成之後。一 ”暫停 -12- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 535065 A7 B7 五、發明説明(1〇 ) 的”請求將不會造成執行被暫停。其必須注意到,該請求被 暫停,而非該工作,所以執行在使用者空間中繼續。其也 有可能對一請求在超過一個I/O操作上被暫停。 圖3所示為包含在實施本發明之作業系統中的另一個處 理;所回應的内含靜態協定目的,例如HTTP網頁,其回應 於一應用協定請求而傳送到一客戶應用程式。其必須注意 到,此圖係僅藉由範例來根據HTTP網頁。其也可能來以其 它應用程式協定來實施本發明,例如FTP。在本發明的此具 體實施例中,該靜態協定目的係鍺存在該協定目的快取記 憶體中,即圖1的105,但其也可存在於該通用作業系統快 取記憶體記憶體中。在圖3的步驟301中,該伺服器接收並 分析該應用協定請求。在一HTTP請求的形式中一範例應用 協定請求如下所示。這種請求通常由兩個新線字符來中 止。 GET / HTTP/1.0 User-Agent: Wget/1.6 Host: www.redhat.com Accept: */* 在步驟302中,:前導回傳給該客戶。該前導為一 HTTP回 應或答覆的標題部份。一範例標題部份示於下。
HTTP/1 . 1 200 0K
Date: Tue, 03 Jul 2001 10:45:31 GMT Server : Apache/1.3.19 (Unix) ''(Red-Hat/Linux) moci_ssI/2.8.1 OpenSSL/O . 9.5a Connection: close Content-Type : text/html -13- 本紙張尺度適用中國國家標準(CNS) A4規格(210 x 297公釐) 535065 五、發明説明( 11 在步驟303中,該回覆頁面的可選擇動態部份係產生在伺 服器上的一記憶體緩衝器内。該動態部份係以動態協定目 的構成,其形成該回覆的一部份。該回覆也可具有内含於 其中的靜態協定目的。該動態協定目的係在步驟3〇4傳送到 该各戶應用程式。在步驟3〇5中,遠回覆頁面的靜態部份或 猙悲協疋目的係由該協定目的快取記憶體或該通用作業系 統快取記憶體中取得。該靜態目的在步驟306·中傳送到該客 戶應用私式,其中其内含在該回覆中,所以-完整的回覆 可顯示在該客戶系統中。 圖4所示為本發明之作業系統具體實施例的另一個方塊 圖。在此例中,該方塊圖係視為說明該原子查看特徵的操 作。圖4包含一作業系統環境的三個主要的段落·檔案系統 400,使用者空間4〇1,及作業系統核心4〇2。槽案系統柳 包含槽案系統空間中的槽案系統目的4G3。稽案系統目的或 僅有”檔案”為該檔案系統空間的構建方塊。實際上,其為 資訊的容器。其有數種槽案系統目的,包含一般槽案,目 錄及符號鏈結。-符號鏈結提供一種方式來產生一新的槽 案,其實際上正指向到一既有的檔案。一符號鍵結也代表 -軟鏈結。該鏈結係透過包含獨立字符的字串來完成。該 隔離符為”/”(斜線)字符在Llnux.AUnix系統中,以及用在 際網路URL中,其在Wind〇ws系統上為”\”(反斜線)字 請注意該槽案系統目的名稱或槽案名稱為一字串,其不 包含該隔離字符,例如”h〇mew〇rk ―"。每個播案系統 -14 - 本纸張尺度適用中國國家標平(CNS) A4規格^"X297公爱)
=的具有—檔案系統目的名稱。但是_ 或檔案路庐”盔_今rb ^ -路押ρ 其通常以隔離字符啟始,並指定 ^的夕個部份來定位該檔案在—些系統中, 也可稱為-目錄路徑或資料夹路徑,例如 〇me/j〇e/d〇es/h〇meW()rk d〇c”。 <圖的樓案系統也包含該稽案系統名稱空間_。該稽案 ^統名稱空間代表該系财所㈣«路徑。·對於所有檔 ”勺路4—基本上係以目錄的形式來儲存在該樓案系統裝置 上。如圖4所示的使用者空間4〇1,其基本上為應用程式 4〇5所存在的地方。這些應用程式利用該檔案系統目的 403,其保存在檔案義統4⑼内。為了利用—尚未使用的槽 案。玄應用私式及作業系統執行一槽案系統名稱空間操 作。化種操作係執行像是開啟,讀取或寫人一槽案,重新 命名:檔案,或在目錄之間移動檔案。其也有其它熟知的 檔案系統名稱空間操作。為了此發明的目的,任何這些檔 案系統名稱空間操作皆通常稱之為,,開啟一檔案”,處理一” 檔案開啟請求”,執行一檔案操作,或類似者。在先前技藝 中如果應用夢:式要讀取該’’/home/joe/docs/homework.doc,,稽 案的岫1000位元組,其將包含類似於以下c語言範例所示 的電腦程式碼。 - fd - open (M/home/joe/docs/homework.docM 〇 RDONLY )* read (fd,buf,1000); 、,— close (fd); 在執行這三個系統呼叫之後,該作業系統核心將該檔案的 前1000個位元組置如該記憶體缓徐器”buf”中。 -15- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 535065 A7 B7 五、發明説明( 邊作業系統核心包含一檔案系統名稱空間快取記憶體 406。5亥開啟”系統呼叫,如上述,將内部地存取該稽案系 統名稱空間,以加速存取到檔案,一旦其路徑儲存在該檔 案系統名稱空間快取記憶體中。該檔案系統名稱空間快取 記憶體有時候也稱之為一”前進快取記憶體,,。請注意該名 稱空間快取記憶體並不快取記憶體檔案的内容。其可快取 έ己憶體檔案的屬性。檔案内容係快取記憶體在一獨立的資 料結構,例如圖丨所示的通用快取記憶體,其通常稱之為” 頁快取圮憶體",其為人所熟知,故為了清楚之故而在圖4 中省略。 士在上述的先前技藝中,該核心只要在其取得時間及資源 時,即取得該檔案,且不論具有檔案名稱的該檔案路徑是 否已經存在於該名稱空間快取記憶體中,其皆透明於該應 用程式。如果否的話,該核心將由碟片讀取檔案路徑細 節,而關於該應用程式的處理將被暫停,而内容切換將在 完成I/O之後才發生,故產生一嚴重的效能影響。 相對於前述的先前技藝,圖4的系統包含一原子查看操作 407,其根據本發明此具體實施例來實施該原子檔案查看。 該原子檔案查看使得應用程式4G5來彳貞測_财是否已快取 記憶體在該名毅間快取記憶體巾。接下來_式碼顯示 該特徵實際上是如何使用。 -16-
535065 A7 B7 五、發明説明(14 ) fd = open (M/home/joe/docs/homework.doc", 0_RD0NLY I 0_ATOMICLOOKUP); if (fd == -EWOULDBLOCKIO) { 一 — 卜 * The file name was noz yet cached, bounce this open () to another * process :
V return -1; } read (fd, buf, 1000); close (fd); 請注意該”0_AT0MICL00KUPn旗標及該新的 "-EWOULDBLOCKIO”回傳碼給該開啟系統呼叫。在得知 該檔案路徑尚未被快取記憶體時,該應用程式可跳到或重 新指向該檔案開啟到其它的處理,其由該應用程式發展者 適當地決定。在一些例子中,此處理可為一執行阻隔點處 理的4理。 該阻隔點處理處理可存在於圖4的步驟408中的使用者空 間,或在圖4的409核心中。一”阻隔點’’為一查看會造成一 可能的内容切換之點。”處理該阻隔點”可牽涉到將此查看 跳到其它的處理/線程,其可用改善效能的方式來處理檔案 開啟。 圖5所示為該原子查看操作之流程圖形式的範例。在步驟 501中,一應用程式決定由一字串所指定的檔案名稱要被開 * - - ^ 啟。在502中,該檔案開啟請求即送到該作業系統。在步驟 500中,該作業系統核心接收該請求,並嘗試來原子化地開 啟該檔案。為了嘗試該原子開啟,該核心檢查該適當的檔 案路徑之檔案系統名稱空間快取記'憶體。步驟503為一決策 點,其檢查像是缺少該檔案存在的錯誤。此處理係與先前 技藝中相同的方式來處理。如果有錯誤的話,其在504之錯 -17- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 535065 A7 B7
誤處理程序中處理。如果沒有錯誤的話,即繼續處理。該 作業系統核心在步驟505中通知該應用程式,是否該檔案係 原子化地開啟,因為其路徑儲存在該檔案系統名稱空間快 取記憶體中。如果該檔案係原子化地開啟,該檔案即在步 驟506中被使用。如果否的話,因為該應用程式已被通知事 實上在步驟505中不可能為一原子開啟,即在步驟5〇7中處 理一可能的阻隔點。 · 請注意在此具體實施例中,該應用程式並不傳送一查 詢,即不論該檔案路徑是否被快取記憶體。其僅通知該作 業系統核心其想要原子化地開啟一檔案。如果該核心因為 該檔案路徑被快取記憶體,該檔::1·•被開啟而依循,一處理 即回傳到該應用程式。如果該㈣路徑未被快取記憶體, 則該檔案並未開啟,並回傳_EW〇ULDBL〇CKI〇到該應用 程式。對於此處所討論的此特徵,該名詞,,被開啟”,”可被 一檔案操作的名詞如”被執行”,”正被執行”,”可被執行”及 類似者’亦可互換地使用。本發明的操作不論該快取記憶 體的檢查,該檔案開啟,及由該作業系統核心通知到一應 用程式之實際時間皆是相同。 上述有許多作業系統結構的變化,其任何一個亦可包含 該原子查詢操作。舉例而言,該檔案系統裝置並不必要存 在於該電腦系統上,其維護該作業系統核心,但另可在網 路上來存取。在此例中,該㈣系統名稱空間可位在該網 路的檔案系統裝置,位在維護該作業系統核㈣系統上, -18-
535065 五、發明説明( 16 之上。其很重要地是要注意到並非所有的作 二:“有—使用者空間做為-獨立的保護領域。在 系統中’例如那些常㈣内嵌式處理器,應用程 h在作業线核^中被維護及執行。在此例中,該作業 二統仍提供應用程式的API,且該作業系統仍透過其剔與 一應用程式通訊,如同該應用程式在使用者空間中執行一 樣 在申,範圍之前,包含在此規格末了者為一原始碼 表歹J的fe例,其顯不出實施該原子查看特徵的程式碼。此 原始碼表列名為,,原始碼範例,,。該原始碼為熟知的不同修 補袼式。其修補了公開使用的以職作業系統的2 4·2版 f,一開放原始碼作業系統可在網際網路上取得,並可由 提供其支援的公司取得,例如Red Hat公司,其為本發明的 受讓人。 如前所述,在一些具體實施例中,本發明係透過在一可 程式電腦系統或指令執行系統上操作的電腦程式碼來實 轭,例如一個人電腦或工作站,或其它微處理器為主的平 σ囷6所示為亨細糸統的進一步細節,其以此方式來實 她本發明。系統匯流排6()1内連接主要的元件。該系統由微 處理器602控制,其做為該系統的,中央處理單元(CPU)。系 統纪憶體605基本上區分為多種記憶體形式或記憶體區域, 例如唯讀記憶體(R〇M),隨機存灰〜記憶體(RAM)及其它。 該系統記憶體也可包含一基本輸入/輸出系統(BI〇s)。其存 在有複數個通用輸入/輸出(ί/0)轉接器或裝置6〇6。為了清 裝 訂 線 19 本紙張尺度適用中國國家標準(CNS) Α4規格(210X297公釐) 535065 A7 B7 五、發明説明(17 楚起見僅顯示三個。這些連接到不同裝置,其包含一硬碟 機607,磁碟機608,網路61〇及顯示器6〇9。實施本發明功 能的電腦程式碼指令即儲存在該硬碟上6〇7。當該系統運作 時,該指令即部份載入到記憶體605,並由微處理器6〇2執 行。視需要,該I/O裝置之一為一工作轉接器或數據機來連 接到網路610,其可為網際網路。其必須注意到,圖6的系 統僅代表一說明範例。有許多種類的通用的電腦系統可以 使用。 本發明的元素可實施在硬體及/或軟體中成為一電腦程式 碼(其包含韌體,常駐軟體,微程式碼等)。再者,本發明可 形成在一電腦可使用或電腦可讀取儲存媒體上的一電腦程 式產品,其具有包含在該媒體中的電腦可使用或電腦可讀 取程式碼,其由一指令執行系統使用或配合,例如圖6所 示。這種媒體係圖示於圖6,其代表該磁碟機。一電腦可使 用或電腦可讀取媒體可為任何包含,健存,通訊或傳送該 程式之媒體,其可由一指令執行系統使用或配合。該電腦 可使用或電腦可讀取媒體,例如一電子,磁性,光學,電 磁丨生,紅外線’感半導體系統。該媒體也可僅為一資訊 流,在當該電腦程式產品透過像是網際網路的網路"下載時 來取得。凊注意該電腦可使用或·電腦可讀取媒體甚至可為 列印了 一程式的文件或任何適當的媒體。 實施本規格中所述的特徵之不同'修補格式的原始碼,其 可在www.redhat.com/〜mingo/TUX/處此應用程式的歸檔 日期來公開取得。一實施本發明的軟體系統之完整原始碼 -20-
535065 A7 B7 五、發明説明(18 ) 也可由來自Red Hat公司的此申請案之立案日期來取得,其 為本發明的受讓人。位在上述網際網路位址的原始碼係要 修補Linux作業系統的版本,一開放原始碼作業系統可在網 際網路上取得,並來自提供其支援的公司,例如Red Hat公 司,本發明的受讓人。該程式碼係要修補Linux作業系統的 2.4.5版本,其已經由所熟知稱為”ac4”修補來修補過。 Linux版本2·4·5可在其它地方取得,如 ywwi:emel.org/pub/limix/kemel/v2.4/iirmx-2.4,5.tar.gz 〇 上述熟知的 ac4修補可在其它地方取得,如 : www kemel.org/mib/linu}〇kemeI/people/alan/2.4/Datch-2.4.5-ar4 σ7 〇 本發明的特定具體實施例於此處說明。在電腦技藝中的 專業人士將可很快瞭解到本發明在其它環境中具以其它的 應用。事實上,有可能有許多具體實施例及實施。以下的 申請專利範圍並不是要限制本發明的範圍到上述的特定具 體實施例。 -21 - 本紙張尺度適用中國國家榡準(CNS) A4規格(210 X 297公釐) 535065 A7B7 五、發明説明(19 ) 原始碼範例 ---linux/fs/namei.c.orig Tue Apr 17 13:13:46 2001 +++ linux/fs/namei.c Tus Apr 17 13:13:52 2001 @@ -423,9 +423,13 @@ { struct dentry *dentry; struct inode *inode; -int: err ; + inc err, atomic; unsigned inc lookup一flags = nd->flags; + atomic = 0; + if (lookup一flags Sc LOOKUP__ATOMIC) + acomic = 1; while (*name== f/f) name++; if (!*name) @@ -494,6 +498,9 @@ / * This does the actual lookups.. */ dentry = cached一lookup (nd->dentry, Sethis, LOOKU?_CONTIMUi:); if (!dentry) { + err = -EWOULDBLOCKIO; + if (atomic) + break; dentry = real 一 lookup (nd->dentry, «ithis, LOOKUP 一 CONTI NUE); err = PTR_ERR(dentry); if (IS_SRK(dent:ry)) m -557,6 +564,9 } dentry = cached_lookup (nd- >dencry # Sethis t 0); if (identry) { > err = -EWOULDBLOCKIO; + if (atomic) + break; dentry = real_lookup(nd->dentry, &chis, 0); err = PTR_ERR(dencry); if (IS_ERR(dencry)) O® -891,6 +901,8 if (f Sc 0_D I RECTORY) retval |= LOOKUP^DIRECTORY; + if (f Sc 0_AT0MICL00KUP) - + reeval |= LOOKUP^ATOMIC; return retval; } .. ——1inux/include/1inux/fs.h.orig Tue Apr 17 13:18:51 2001 +++ linux/include/linux/f s. h Tue Apr 17 13:18:52 2001 @0 -1203,6 +1203,7 @@ #define LOOKUP^POSITIVE (8) #define LOOKUP二PARENT (16) #define LOOKUP*~NOALT (32) -22- 本紙張尺度適用中國國家標準(CNS) A4規格(210x 297公釐) 535065 A7B7 五、發明説明(20 ) +#define LOOKUPJVTOMIC (64) * Type of the last component on LOOKUP_PARENT V ---linux/include/asm-1386/fend.h.orig Fri Sep 22 23:21:19 2000 +十+ linux/include/asm-i386/fcntl.h Tue Apr 17 13:18:52 2001 侧-20,6 +20,7 0(9 #define 0__LARGEFILE 0100000 #define 0:DIRECT0RY 0200000 /* must be a directory */ ^define 0_N0FOLLOW 0400000 /★ don't follow links */ +#define OJVTOM工CLOOKUP 01000000 /* do atomic file lookup */ #define F_DUPFD 0 /* dup */ ttdefine F_GETFD 1 /* get close一on—exec ★/ ---linux/include/asm-alpha/fcncl.h.orig Sun Oct 8 13:04:04 2000 + 十+ linux/include/asm-alpha/fcntl.hTue Apr 17 13:13:52.2001 @@ -21,6 +21,8 @@ #define 0一DIRECTORY 0100000 /* must be a directory */ #define 0二NOFOLLOW 0200000 /* don't follow links */ ^define 0_LARGEFILE 04 00000 /* set by the kernel on every open ★/ +#define O^ATOMICLOOKUP 01000000 /* do atomic file lookup */ #define F^DUPFD 0 /★ dup ★/ #define F—GETFD 1 /* get close一on一exec */ ---linux/include/asm-sparc/fcntl.h.orig Tue Oct 10 19:33:52 2000 +++ linux/include/asm-sparc/fcntl.hTue Apr 17 13:18:52 2001 O® -20,6 +20,7 frdefine 0_D I RECTORY 0x10000 / * muse be a directory */ ^define 0一NOFOLLOW 0x20000 /* don't follow links */ ^define 0_LARGE?ILE 0x40000 ♦ ^define 0一ATOMICLOOKUP 0x80000 /* do atomic file lookup ★/ #define F_DUPFD 0 /* dup ★/ 抹define F一GSTFD 1 /* get close—on一exec */ ---linux/include/asm-5parc64/fcntl.h.origTue Oct 10 19:33:52 2000 +++ linux/include/asm-sparc64/fcnt:l. h Tue Apr 17 13:18:52 2001 @0 -20,6 +20 7 7 @@ 铉define 0一DIRECTORY 0x10000 /★ must be a directory */ 拌define 〇_N〇FOLLOW 0x20000 /★ don't follow links 貪/ #define O^LARGEFILS 0x40000 +#define 0__ATOMICLOOKUP 0x80000 /* do atomic file lookup */ 祛define P一DUPFD 0 /★ dup */ #define F—GETFD 1 /* get close一on一exec,j ---linux/include/asm-ia64/fcntl.h.orig Tue Oct 10 02:54:58 2000 +++ linux/include/asm-ia64/fcntl.h Tue Apr 17 13:18:52 2001 &S -28,6 >28f7 林define 0_LARGEFILE 0100000 #define O^DIRECTORY 0200000 /* must be a directory ★/ ^define 0__NOFOLLOW 0400000 /* don't: follow links */ +#define 0 ATOMICLOOKUP 01000000 /* do atomic file lookup */
#define F_DUPFD 揉define F GETFD "dup */ /* get close—on一exec */ -23- 本紙張尺度適用中國國家標準(CNS) A4規格(210 x 297公釐)
裝 訂
Claims (1)
- 六 2. 4 5. 、申請專利範園 的植案#作之方法,該方法包含以下步驟:待疋祐案 接收該請求來執行該檔案操作; 嘗試藉由取得對應於來自一 憶體的該特定檔荦之俨荦 :…名無空間快取記 作;及 检案4案路☆來原子化地執行該槽案操 二並不能肩子化地執行,知通知該應用 式該U #作W彻子㈣執行 亚不館存在該檔案系統名稱空間快取記憶體中。路仏 如=專利範圍第1項之方法,進-步包含以下步驟: 於該樓案的該檔案路徑料在該檔案系統名 間快取記憶體中,即原子化地執行該檔案操作;及 =該«操倾原子化地執行,即通知該應用 該檔案操作係原子化地執行。 2請專利範圍第!項之方法,其中該檔案系統名稱空間 快取記憶體係置於一作業系統核心之内。 如申請專利範圍第2項之方法,其中該檔案线名稱 快取記憶體係置於一做業系統核心之内。 一種處理-請求到-作業系統來執行一槽案操作的方 法,該請求係m程式傳姻該作⑽統,其中該 作業系統可在當該檔案操作*能原子化崎行時即通之 該應用程式,該方法包含以下步·驟: 傳送該請求到該作業系統; 自該作業系統純-通知,其為職案操作不能被原 -24-535065 申請專利範圍 子化地執行;及 6. 7. 行=:業::=_操作不能原子― 空間内的阻隔點處理。“該應用程式的-使用者 如申請專利範圍第5項之 -步包+ 〃中轉求的重新導向進 點處理。 位在該作業系統的核心内的阻隔 -種具有電腦程式碼包含於 腦程式碼用來處理來自一庙田…仏式產⑽該包 一 應用私式的請求,以執行關於 一特疋檔案的《操作,該電腦程式碼包含·· 用以接收該請求來執行該檔案操作的指令; 一用以決定對應於該特定難的—檔案路徑是否儲存在 一檔案系統名稱空間快取記憶體中的指令; 用以在當對應於該槽案的該檔案路徑健存在該樓案系 統名稱空間快取記憶體中時,執行該標案操作的指令; 用以通知該職程式該㈣操作係原子化地執行之指 令;及 用以通知該應用程式在當該檔案操作不是原子化地執 行時該檔案操作不能被原子化地執行之指令,因為該樓 案路徑未儲存在該檔案系統名稱〜空間快取記憶體中。 9·如申請專利範圍第8項之電腦程式產品,其中該電腦程式 麦品進-步包含用以維護在—作業系統核心内的該稽案 535065 A8 B8 C8 D8 申請專利範圍 糸統名稱空間快取記憶體之指令。 1〇'種具有電腦程式碼包含於其中的電腦程式產品,該電 腦程式碼用來處理一請求到…作業系統,以執行一檔案 操作,該電腦程式碼包含: 用以傳送該請求到該作業系統之指令; 用以接收來自該作業系統該檔案操作係原子化地執行 之通知之指令; · 用以接收來自該作業系統該槽案操作不能原子化地執 行之通知之指令; 用以在當接收到該檔案操作係原子化地執行之通知時 來使用該檔案之指令;及 用以在當接收到該槽案操作不能原子化地執行之通知 時來重新導向該請求之指令。 U·如申請專利範圍第1G項之電腦程式產品,其中該用以重 新‘向該%求之指令進—步包含用以傳送該請求到位在 匕S該應用&式之使用者空間内的阻隔點處理之指令。 A如申請專利範圍第1G項之電腦程式產品,其中該用以重 新導向該請求之指令進—步包含用以傳送該請求到位在 該作業系統核心内的阻隔點處理之指令。 13· 一種處理來自—應用程式之請求來執行關於-特定檔案 之檔案操作之裝置,該裝置包含·· 〃 一用以接收該請求來執行該《操作之裝置; 二^決定對應於該特定槽案的一槽案路徑是否儲存 Ϊ案系統名稱空間快取記憶體中之裝置; 本紙張尺度適用中國國家標準(CNS) A4規格 26- 535065 A8 B8 C8 D8 、申请專利範圍 一用以在當對應於該檔案的該檔案路徑儲存在該檔案系 統名稱空間快取記憶體中時,執行該檔案操作之裝置; 一用以通知該應用程式該檔案操作係原子化地執行之 裝置;及 :用以通知該應用程式在當該檔案操作不是原子化地 執行時該槽案操作不能被原子化地執行之裝置。 一種處理-請求到-作業系統來執行檔案操作之裝 置,該裝置包含: 一用以傳送該請求到該作業系統之裝置; -用以接收來自該作業系統該檔案操作係原子化地執 行之通知之裝置; 一用以接收來自該作業系统兮拎安4σ〜 卡尔、元落棺案刼作不能原子化地 執行之通知之裝置; :^在當接㈣該檔案操作係原子化地執行之通知 時來使用該檔案之裝置;及 =以在當接收到該檔⑽作不能原子化地 知時來重新導向該請求之裝置。 I 15. —種作業系統,其包含: -,含-檔案系統名稱空間之檔案系統;及 一操作來連接到該檔案系統之作 系統核心用來造成至少—庫二…乂心,該作業 核心進一步包含: 應鳥式的執行,該作業系統 一檔案系統名稱空間,用m # 取記憶體檀案路徑」 由錢案系統名稱空間快 27. ^5065 申請專利範圍 —原子查看操作,其用來決定對應於 特定樓案路徑是否儲存在該檀案系統名稱空== 憶體中,亚用來通知至少一應用程式一關於該特定樓 案的-槽案操作是否根據該特定槽案路徑儲存在該^ 案系統名稱空間快取記憶體中與否而被原子化地‘ 16·如中請專利範㈣15項之作業线,其中該至少_庳用 程式存在於並在—使用者空_執行,其係操作來連接 刮該作業系統核心及該槽案系統名稱空間。 17·如中請專利範圍第15項之作業线,其中該至少一 程式存在於並在該作Μ難心中執行。 心 18·:=,第15項之作業系統’其中該作業系統核 '匕3阻.%點處理,其可在當該㈣操作不能原 子化地執行時來運用。 “ 19,如中請專利範㈣16項之作m其中該作業系統核 Z進一步包含阻.语點處理’其可在當該檀案操作不能原 子化地執行時來運用。 增、 。0 ·如申5青專利範圍第17 、弟.7項之作業-統’其中該作業系統核 广步包含阻攝點處理,其可在當該檔案操作不能原 子化地執行時來運用。 - 原 21.如申請專㈣㈣16項之作業系統,其中該使用者空間 進一步包含阻隔點處理,其可在當該 化地執行時來運用。 个把原子 2 2 ·如申請專利範圍第i 6項之作業系統,其中該作業系統核 28- 玎 >線 本纸張尺度適财@ g家辟(CNS) A4規格(21〇 X 297公釐) 535065 、申請專利範園 心及該使用者空間進一步包含阻隔點處理 擋案操作不能原子化地執行時來運用。 了在田該 23.二種指令執行系統’其可操作來處理來自—應 凊求到Γ作業系統’以執行關於—特定檔案之檔i操 作,其精由執行以下的步驟: 八 ^ ^ ==自該應韓式的絲相該作業“以執行該 路份決定出對應於該特定標案的-檔案 子Γ Γ Γ 案系統名稱空間絲記憶體中來原 子化地執行該檔案操作; 、如果該槽案路徑為儲存在該擋案系統名稱空間快取記 過體中而該檔案操作不能被原子化地執行時,即通知該 應用程式; 如果該標案操作因為該路徑未儲存在該檀案系統名稱 空間快取記憶體中而不能原子化地執行時,即重新導向 該請求。 从如申請專利範圍第23項之指令執行系統,其中該稽案系 ”统名稱2間快取記憶體係置於一作業系統核心内。 2乂如中請專利範圍第23項之指令執行系統,其中該請求的 重新導向進-纟包含傳送該請求到4立在包含該應用程式 的一使用者空間中的阻隔點處理。 26.如申請專利範圍苐23項之指令就行系統,其中該請求的 重新導向進一步包含傳送該請求到位在該作業系統的核 心中的阻隔點處理。 本紙張尺度相中國家標準(CNS) Α4規格(210) 29 297公釐) 535065 A B c D 々、申請專利範圍 27.如申請專利範圍第24項之指令執行系統,其中該請求的 重新導向進一步包含傳送該請求到位在包含該應用程式 的一使用者空間中的阻隔點處理。 2 8.如申請專利範圍第24項之指令執行系統,其中該請求的 重新導向進一步包含傳送該請求到位在該作業系統的核 心中的阻隔點處理。 -30 * 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US22751000P | 2000-08-24 | 2000-08-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW535065B true TW535065B (en) | 2003-06-01 |
Family
ID=22853373
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW090120874A TW517190B (en) | 2000-08-24 | 2001-08-24 | Method and apparatus for handling communication requests at a server without context switching |
TW090120873A TW535065B (en) | 2000-08-24 | 2001-08-24 | Method and apparatus for atomic file look-up |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW090120874A TW517190B (en) | 2000-08-24 | 2001-08-24 | Method and apparatus for handling communication requests at a server without context switching |
Country Status (8)
Country | Link |
---|---|
US (4) | US6988142B2 (zh) |
EP (2) | EP1312195B1 (zh) |
JP (3) | JP4317361B2 (zh) |
AT (2) | ATE459927T1 (zh) |
AU (2) | AU2001287203A1 (zh) |
DE (2) | DE60108884T2 (zh) |
TW (2) | TW517190B (zh) |
WO (2) | WO2002017070A2 (zh) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6988142B2 (en) * | 2000-08-24 | 2006-01-17 | Red Hat, Inc. | Method and apparatus for handling communication requests at a server without context switching |
GB2378270B (en) * | 2001-07-30 | 2005-04-20 | Ibm | Method and apparatus for data transfer across a network |
DE10151115A1 (de) * | 2001-10-15 | 2003-05-08 | Siemens Ag | Verfahren zum Bedienen und zum Beobachten von Feldgeräten |
US7246233B2 (en) * | 2001-12-05 | 2007-07-17 | International Business Machines Corporation | Policy-driven kernel-based security implementation |
US20030105957A1 (en) * | 2001-12-05 | 2003-06-05 | International Business Machines Corporation | Kernel-based security implementation |
CN100378840C (zh) * | 2002-05-10 | 2008-04-02 | 松下电器产业株式会社 | 制造多层光信息记录媒体的方法和设备 |
US7417987B2 (en) * | 2002-06-04 | 2008-08-26 | Lucent Technologies Inc. | Distribution of forwarding information in a network node |
US7458018B2 (en) * | 2002-06-27 | 2008-11-25 | Microsoft Corporation | System and method for obtaining and using namespace related information for opening XML documents |
US7343301B1 (en) | 2002-08-30 | 2008-03-11 | Signiant, Inc. | Method and apparatus for notification of data transfer |
US7152108B1 (en) | 2002-08-30 | 2006-12-19 | Signiant Inc. | Data transfer system and method with secure mapping of local system access rights to global identities |
US7155571B2 (en) * | 2002-09-30 | 2006-12-26 | International Business Machines Corporation | N-source in-kernel cache for high performance in computer operating systems |
US7448049B1 (en) | 2002-10-18 | 2008-11-04 | Crossroads Systems, Inc. | System and method of supporting kernel functionality |
US20040167961A1 (en) * | 2003-02-26 | 2004-08-26 | Microsoft Corporation | Fragment response cache |
US20040236824A1 (en) * | 2003-05-23 | 2004-11-25 | Millington Bradley D. | Post-cache substitution |
US7076500B2 (en) * | 2003-06-30 | 2006-07-11 | David Gallant | Selective file caching method |
US7949682B2 (en) * | 2003-11-05 | 2011-05-24 | Novell, Inc. | Method for providing a flat view of a hierarchical namespace without requiring unique leaf names |
US7349926B2 (en) * | 2004-03-30 | 2008-03-25 | International Business Machines Corporation | Atomic renaming and moving of data files while permitting lock-free look-ups |
US7683904B2 (en) * | 2004-05-17 | 2010-03-23 | Pixar | Manual component asset change isolation methods and apparatus |
GB2415797B (en) * | 2004-06-24 | 2009-02-25 | Symbian Software Ltd | A method for improving the performance of a file system in a computer device |
US7526557B2 (en) * | 2004-06-30 | 2009-04-28 | Signiant, Inc. | System and method for transferring data in high latency firewalled networks |
US7721298B2 (en) * | 2004-12-03 | 2010-05-18 | Microsoft Corporation | Operating system performance |
US8370317B2 (en) * | 2005-09-22 | 2013-02-05 | Microsoft Corporation | Synchronizing shared resources in a collection |
US20070078852A1 (en) * | 2005-10-04 | 2007-04-05 | Microsoft Corporation | Synchronizing shared resources in a collection |
US20070101061A1 (en) * | 2005-10-27 | 2007-05-03 | Guruprasad Baskaran | Customized content loading mechanism for portions of a web page in real time environments |
US8195640B2 (en) | 2006-06-16 | 2012-06-05 | Microsoft Corporation | Online service for program lookup |
US9860274B2 (en) | 2006-09-13 | 2018-01-02 | Sophos Limited | Policy management |
TW200826571A (en) * | 2006-12-08 | 2008-06-16 | Univ Nat Chiao Tung | Identification and management system and method applicable to a point-to-point gateway |
US7783677B2 (en) * | 2007-03-30 | 2010-08-24 | Microsoft Corporation | Tracking file system namespace changes during transactions |
US20090006179A1 (en) * | 2007-06-26 | 2009-01-01 | Ebay Inc. | Economic optimization for product search relevancy |
US8402151B2 (en) * | 2007-12-07 | 2013-03-19 | Roche Diagnostics Operations, Inc. | Dynamic communication stack |
JP4479930B2 (ja) * | 2007-12-21 | 2010-06-09 | 日本電気株式会社 | ノードシステム、サーバ切換え方法、サーバ装置、データ引き継ぎ方法、およびプログラム |
TW200933398A (en) * | 2008-01-28 | 2009-08-01 | Inventec Corp | Method of accessing files with XML documents of Windows formation under Linux |
US8624898B1 (en) | 2009-03-09 | 2014-01-07 | Pixar | Typed dependency graphs |
US8930475B1 (en) | 2012-03-30 | 2015-01-06 | Signiant Inc. | Systems and methods for secure cloud-based media file sharing |
CN102663067B (zh) * | 2012-03-31 | 2013-09-25 | 中标软件有限公司 | 一种基于Linux操作系统终端的文件打开方法 |
US9692799B2 (en) | 2012-07-30 | 2017-06-27 | Signiant Inc. | System and method for sending and/or receiving digital content based on a delivery specification |
CN103123651B (zh) * | 2013-03-06 | 2016-01-20 | 广东欧珀移动通信有限公司 | 一种查看多个同类文件的方法、装置和移动设备 |
US9934067B2 (en) * | 2014-01-30 | 2018-04-03 | Vmware, Inc. | Synchronous user space function execution from a kernel context |
US9646091B2 (en) * | 2014-02-24 | 2017-05-09 | Futurewei Technologies, Inc. | File joining on back end device |
US10248989B2 (en) * | 2015-11-20 | 2019-04-02 | Cvs Pharmacy, Inc. | Digital order tracking |
US10223271B2 (en) * | 2017-03-31 | 2019-03-05 | Intel Corporation | Apparatus, computer program product, and method to perform cache operations in a solid state drive |
US10885213B2 (en) | 2017-09-12 | 2021-01-05 | Sophos Limited | Secure firewall configurations |
US10735516B1 (en) | 2019-02-15 | 2020-08-04 | Signiant Inc. | Cloud-based authority to enhance point-to-point data transfer with machine learning |
US11044348B1 (en) * | 2020-11-05 | 2021-06-22 | Atlassian Pty Ltd | System, method, and computer program product for improved embedded application data management |
US11811668B2 (en) | 2021-08-19 | 2023-11-07 | Bank Of America Corporation | System for implementing disposition bias for validating network traffic from upstream applications |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU649455B2 (en) * | 1990-07-11 | 1994-05-26 | American Telephone And Telegraph Company | Distributed computing system |
US5515538A (en) | 1992-05-29 | 1996-05-07 | Sun Microsystems, Inc. | Apparatus and method for interrupt handling in a multi-threaded operating system kernel |
JPH0668010A (ja) * | 1992-08-17 | 1994-03-11 | Nippon Telegr & Teleph Corp <Ntt> | 分散キャッシュ管理システム |
US6098112A (en) * | 1995-10-19 | 2000-08-01 | Hewlett-Packard Company | Streams function registering |
US5948062A (en) * | 1995-10-27 | 1999-09-07 | Emc Corporation | Network file server using a cached disk array storing a network file directory including file locking information and data mover computers each having file system software for shared read-write file access |
JPH09223027A (ja) | 1996-01-31 | 1997-08-26 | Hewlett Packard Co <Hp> | メッセージ通信装置 |
US5781550A (en) * | 1996-02-02 | 1998-07-14 | Digital Equipment Corporation | Transparent and secure network gateway |
US6179489B1 (en) * | 1997-04-04 | 2001-01-30 | Texas Instruments Incorporated | Devices, methods, systems and software products for coordination of computer main microprocessor and second microprocessor coupled thereto |
US5832513A (en) | 1996-06-04 | 1998-11-03 | Symantec Corporation | Detecting significant file system alterations during execution of a storage media software utility |
US5832515A (en) * | 1996-09-12 | 1998-11-03 | Veritas Software | Log device layered transparently within a filesystem paradigm |
US6034963A (en) * | 1996-10-31 | 2000-03-07 | Iready Corporation | Multiple network protocol encoder/decoder and data processor |
US6011803A (en) * | 1997-01-13 | 2000-01-04 | Lucent Technologies Inc. | Distributed-protocol server |
US5872963A (en) | 1997-02-18 | 1999-02-16 | Silicon Graphics, Inc. | Resumption of preempted non-privileged threads with no kernel intervention |
US5835914A (en) * | 1997-02-18 | 1998-11-10 | Wall Data Incorporated | Method for preserving and reusing software objects associated with web pages |
US5946458A (en) * | 1997-03-24 | 1999-08-31 | Xerox Corporation | Network printing system for responding to remote print-related requests |
US6209036B1 (en) * | 1997-06-06 | 2001-03-27 | International Business Machines Corporation | Management of and access to information and other material via the world wide web in an LDAP environment |
US6256712B1 (en) * | 1997-08-01 | 2001-07-03 | International Business Machines Corporation | Scaleable method for maintaining and making consistent updates to caches |
IL121815A (en) * | 1997-09-22 | 2000-09-28 | Security 7 Software Ltd | Method and system for the identification and the suppression of executable objects |
US5974430A (en) * | 1997-09-30 | 1999-10-26 | Unisys Corp. | Method for dynamically embedding objects stored in a web server within HTML for display by a web browser |
US6757746B2 (en) * | 1997-10-14 | 2004-06-29 | Alacritech, Inc. | Obtaining a destination address so that a network interface device can write network data without headers directly into host memory |
US6427173B1 (en) * | 1997-10-14 | 2002-07-30 | Alacritech, Inc. | Intelligent network interfaced device and system for accelerated communication |
US6389479B1 (en) * | 1997-10-14 | 2002-05-14 | Alacritech, Inc. | Intelligent network interface device and system for accelerated communication |
US6658480B2 (en) * | 1997-10-14 | 2003-12-02 | Alacritech, Inc. | Intelligent network interface system and method for accelerated protocol processing |
US6246683B1 (en) * | 1998-05-01 | 2001-06-12 | 3Com Corporation | Receive processing with network protocol bypass |
US6279001B1 (en) * | 1998-05-29 | 2001-08-21 | Webspective Software, Inc. | Web service |
US6625650B2 (en) * | 1998-06-27 | 2003-09-23 | Intel Corporation | System for multi-layer broadband provisioning in computer networks |
US6022214A (en) * | 1998-11-17 | 2000-02-08 | Hirsch; James A. | Intraoral illumination device and method of using the same |
US6449614B1 (en) * | 1999-03-25 | 2002-09-10 | International Business Machines Corporation | Interface system and method for asynchronously updating a share resource with locking facility |
US6801529B1 (en) * | 1999-06-08 | 2004-10-05 | Amx Corporation | Method and system for sending messages to multiple locations in a control system |
US6615088B1 (en) * | 1999-06-09 | 2003-09-02 | Amx Corporation | System and method of device interface configuration for a control system |
US7174506B1 (en) * | 1999-11-05 | 2007-02-06 | International Business Machines Corporation | Method and system for producing dynamic web pages |
US6694358B1 (en) * | 1999-11-22 | 2004-02-17 | Speedera Networks, Inc. | Performance computer network method |
US6405252B1 (en) * | 1999-11-22 | 2002-06-11 | Speedera Networks, Inc. | Integrated point of presence server network |
US6606525B1 (en) * | 1999-12-27 | 2003-08-12 | Motorola, Inc. | System and method of merging static data in web pages |
US6363357B1 (en) * | 1999-12-29 | 2002-03-26 | Pitney Bowes, Inc. | Method and apparatus for providing authorization to make multiple copies of copyright protected products purchased in an online commercial transaction |
US7096418B1 (en) * | 2000-02-02 | 2006-08-22 | Persistence Software, Inc. | Dynamic web page cache |
US6934761B1 (en) * | 2000-02-25 | 2005-08-23 | Sun Microsystems, Inc. | User level web server cache control of in-kernel http cache |
US6662215B1 (en) * | 2000-07-10 | 2003-12-09 | I Novation Inc. | System and method for content optimization |
US6591266B1 (en) * | 2000-07-14 | 2003-07-08 | Nec Corporation | System and method for intelligent caching and refresh of dynamically generated and static web content |
US6826594B1 (en) * | 2000-07-15 | 2004-11-30 | Commission Junction | Method and system for remote content management of a designated portion of a web page |
US6678746B1 (en) * | 2000-08-01 | 2004-01-13 | Hewlett-Packard Development Company, L.P. | Processing network packets |
US6751635B1 (en) * | 2000-08-18 | 2004-06-15 | Network Appliance, Inc. | File deletion and truncation using a zombie file space |
US6988142B2 (en) * | 2000-08-24 | 2006-01-17 | Red Hat, Inc. | Method and apparatus for handling communication requests at a server without context switching |
US6483840B1 (en) * | 2001-06-25 | 2002-11-19 | Lsi Logic Corporation | High speed TCP/IP stack in silicon |
-
2001
- 2001-08-22 US US09/934,658 patent/US6988142B2/en not_active Expired - Lifetime
- 2001-08-22 US US09/934,659 patent/US6886004B2/en not_active Expired - Lifetime
- 2001-08-22 US US09/934,738 patent/US8631092B2/en not_active Expired - Fee Related
- 2001-08-23 AU AU2001287203A patent/AU2001287203A1/en not_active Abandoned
- 2001-08-23 DE DE60108884T patent/DE60108884T2/de not_active Expired - Lifetime
- 2001-08-23 DE DE60141480T patent/DE60141480D1/de not_active Expired - Lifetime
- 2001-08-23 WO PCT/US2001/041844 patent/WO2002017070A2/en active Application Filing
- 2001-08-23 WO PCT/US2001/041845 patent/WO2002017597A1/en active IP Right Grant
- 2001-08-23 JP JP2002521695A patent/JP4317361B2/ja not_active Expired - Fee Related
- 2001-08-23 JP JP2002522164A patent/JP2004507825A/ja active Pending
- 2001-08-23 AT AT01966716T patent/ATE459927T1/de not_active IP Right Cessation
- 2001-08-23 AU AU2001287204A patent/AU2001287204A1/en not_active Abandoned
- 2001-08-23 EP EP01966717A patent/EP1312195B1/en not_active Expired - Lifetime
- 2001-08-23 EP EP01966716A patent/EP1358577B1/en not_active Expired - Lifetime
- 2001-08-23 AT AT01966717T patent/ATE289146T1/de not_active IP Right Cessation
- 2001-08-24 TW TW090120874A patent/TW517190B/zh not_active IP Right Cessation
- 2001-08-24 TW TW090120873A patent/TW535065B/zh not_active IP Right Cessation
-
2005
- 2005-02-09 US US11/054,461 patent/US7082424B2/en not_active Expired - Lifetime
-
2007
- 2007-10-17 JP JP2007270596A patent/JP4778493B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US20050171981A1 (en) | 2005-08-04 |
US8631092B2 (en) | 2014-01-14 |
US7082424B2 (en) | 2006-07-25 |
EP1312195B1 (en) | 2005-02-09 |
US6988142B2 (en) | 2006-01-17 |
DE60141480D1 (de) | 2010-04-15 |
WO2002017070A2 (en) | 2002-02-28 |
US20020059330A1 (en) | 2002-05-16 |
EP1312195A1 (en) | 2003-05-21 |
JP2004507815A (ja) | 2004-03-11 |
ATE289146T1 (de) | 2005-02-15 |
US20020091868A1 (en) | 2002-07-11 |
WO2002017070A3 (en) | 2003-04-24 |
US6886004B2 (en) | 2005-04-26 |
US20020049834A1 (en) | 2002-04-25 |
AU2001287204A1 (en) | 2002-03-04 |
JP2008102935A (ja) | 2008-05-01 |
JP4778493B2 (ja) | 2011-09-21 |
EP1358577B1 (en) | 2010-03-03 |
EP1358577A2 (en) | 2003-11-05 |
TW517190B (en) | 2003-01-11 |
DE60108884D1 (de) | 2005-03-17 |
JP2004507825A (ja) | 2004-03-11 |
WO2002017597A1 (en) | 2002-02-28 |
AU2001287203A1 (en) | 2002-03-04 |
ATE459927T1 (de) | 2010-03-15 |
JP4317361B2 (ja) | 2009-08-19 |
DE60108884T2 (de) | 2006-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW535065B (en) | Method and apparatus for atomic file look-up | |
US6460058B2 (en) | Object-oriented framework for hyperlink navigation | |
US6401099B1 (en) | Asynchronous binding of named objects | |
US7634772B2 (en) | Automatic software downloading from a computer network | |
US6691176B1 (en) | Method for managing client services across browser pages | |
US5944781A (en) | Persistent executable object system and method | |
EP1076290B1 (en) | Method for on-demand network application download and execution | |
US5724514A (en) | System, method and apparatus for controlling the transfer of data objects over a communications link | |
US6347398B1 (en) | Automatic software downloading from a computer network | |
JP4613023B2 (ja) | プロトコル独立型クライアント側キャッシュ(protocol−independentclient−sidecaching)システムおよび方法 | |
US20080147671A1 (en) | System for Running Web Applications Offline and Providing Access to Native Services | |
US6665860B1 (en) | Sever-based method and apparatus for enabling client systems on a network to present results of software execution in any of multiple selectable render modes | |
EP1174793A2 (en) | System and method providing multi-tier applications architecture | |
US20020095522A1 (en) | System and method for automatic provision of an application | |
US20030167355A1 (en) | Application program interface for network software platform | |
JPH1091446A (ja) | Javaベースアプリケーションの発見とダウンロードのための分散オブジェクトシステムの利用 | |
WO2003093990A2 (en) | Automated installation of an application | |
WO2018026584A1 (en) | Symbolic link based placeholders | |
US6801911B1 (en) | Data processing system and method for accessing files | |
US20040167961A1 (en) | Fragment response cache | |
Ballesteros et al. | Improving the performance of styx based services over high latency links | |
Jährling | The Hurd Hacking Guide | |
JP4950389B2 (ja) | ネットワークベースのアプリケーション、それを処理するためのアーキテクチャ及びシステム、ならびにそれを実行するための方法 | |
WO2000046664A2 (en) | Instrumenting streamed classes | |
Jia et al. | Distributed Network Systems: Case Studies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |