TW535065B - Method and apparatus for atomic file look-up - Google Patents

Method and apparatus for atomic file look-up Download PDF

Info

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
Application number
TW090120873A
Other languages
English (en)
Inventor
Ingo Molnar
Original Assignee
Red Hat Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Red Hat Inc filed Critical Red Hat Inc
Application granted granted Critical
Publication of TW535065B publication Critical patent/TW535065B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

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)

  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公釐)
TW090120873A 2000-08-24 2001-08-24 Method and apparatus for atomic file look-up TW535065B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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