TW517190B - Method and apparatus for handling communication requests at a server without context switching - Google Patents
Method and apparatus for handling communication requests at a server without context switching Download PDFInfo
- Publication number
- TW517190B TW517190B TW090120874A TW90120874A TW517190B TW 517190 B TW517190 B TW 517190B TW 090120874 A TW090120874 A TW 090120874A TW 90120874 A TW90120874 A TW 90120874A TW 517190 B TW517190 B TW 517190B
- Authority
- TW
- Taiwan
- Prior art keywords
- request
- application
- protocol
- core
- user space
- 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)
- Stored Programmes (AREA)
- Communication Control (AREA)
- Crystals, And After-Treatments Of Crystals (AREA)
- Computer And Data Communications (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
- Mobile Radio Communication Systems (AREA)
Description
517190 A7 B7___ 五、發明説明(1 ) 背景技藝 網際網路包括透過通訊鏈結互相連接的大量電腦及電腦 網路。通訊鏈結使用眾所皆知的標準傳輸控制協定/網際網 路規約(transmission control protocol/Internet protocol ; TCP/IP)來交換數位資訊。如超文件傳輸協定(hypertext transmission protocol ; HTTP)及檔案傳輸通訊協定(Hie transfer protocol ; FTP)之類應用通訊協定則是使用於 TCP/IP的上端。現代化的電腦也會使用類似或完全一樣的 傳輸通訊協定及應用通訊協定,以經由如企業内網路和區 域網路(LAN)之類的私人網路進行通訊。這些應用通訊協 定允許伺服器電腦系統將資訊傳送至遠端用户端電腦系統 。然後,遠端用户端電腦系統可顯示或以其他方式利用資 訊。就HTTP而言,可能會以所謂的全球資訊網(World Wide Web)網頁的形式來顯示資訊。 近年來”網際網路使用量及其他形式主從式通訊急遽增 加意謂著伺服器接收愈來愈多的請求,並且處理愈來愈多 的連接及回應。因此,就網際網路及其他電腦通訊系統的 整個速度及性能而言,伺服器在給定時間處理的請求數量 方面的運作速度非常重要。 使伺服器上安裝的作業系統及應用程式性能減速的一項 處理程序是切換上下文執行的處理程序。上下文執行也直 接稱爲f’上下文”、’’處理程序””執行緒”或”工作”。上下文 是多工作作業系統核心的基本單元。作業系統核心屬於作 業系統的一部份,用以處理硬體資源,以及執行作業系統 -4- 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 517190 A7 B7 五、發明説明(2 的基礎作業。某些現行的作業系統核心包括某些低階通訊 U疋功能,如TCP/IP功能。在任何情況下,上下文切換是 在兩個或兩個處理程序之間進行”切換,,,讓每個處理程序 均可使用中央處理單元(CPU)。 如果沒有任何可用的應用工作要藉由上下文切換完成, 則上下文切換毫無結果。可以在不用上下文切換的情況下 ’執行多工作作業系統内的某些作業,或執行安裝在此類 系統上的應用程式。此類的作業通常稱爲”原子”作業。然 而’涉及輸入和輸出或”1/0”的作業通常需要上下文切換。 此類的作業包括存取媒體裝置,不幸地,使用應用通訊協 定透過網路進行通訊。 發明概述 本發明允許在伺服器端處理透過網路接收的應用通訊協 足請求並作出回應,而不用引發上下文切換。本發明藉由 在作業系統核心内提供應用通訊協定子系統及通訊協定模 組使這項功能得以實現。通訊協定子系統建立”核心内部,,通 訊協定堆疊,用來以核心要求結構來儲存關於應用通訊協 定請求的資訊。然後,當作業系統響應應用通訊協定請求 時,使用者空間應用程式可繼續執行,而不用上下文切換。 根據本發明一項具體實施例,伺服器包含具有核心及使 用者2間的作業系統。伺服器響應所接收的應用通訊協定 請求’其方式是建立對應於應用通訊協定請求的使用者空 間請求結構,並且建立對應於應用通訊協定請求的核心請 求結構。伺服器使用自用户端接收到的資料與應用通訊協 ___ - 5- 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 裝 订 線 517190
定請求,以建立核心請灰处 構來更新使用者空間丄;。作業系統依據核心請求結 求::續執行,並且作業系統可響應應用通訊協定請 μ °然後’伺服器響應應用通訊協定 '未。一旦已處理請求,就可刪除核心請求結構。 意ί η :具實她例中’伺服器系統(包含根據本發明的作 二二广括使用者2間請求,用以建立及維護對應於應用 疋請求的使用者空間請求結構。伺服器系統還可包 月,j運作連接至使用者空間請求的作業系統核心。核心 係用來使用自用尸端接收到的資料與應用通訊協定請求, 以維護對應於應用通訊協定請求的核心請求結構。核心也 ^新使用者”請求結構,使作業㈣可㈣應用通訊 十妨疋请求時,而不用上下文切換。 〜在本發明的不範性具體實施例中,電腦程式碼係用來實 =本發明的許多觀點。電腦程式可儲存在媒體上。媒體可 能是如磁碟片、磁帶或固定式磁碟之類的磁性媒體,或是 如CD-ROM或DVD-ROM之類的光學媒體。電腦程式碼也可 儲存在半導體裝置上。另外,可經由網際網路或某種其他 類土的網路來提供電腦程式。連接至網路的工作站或電腦 系統通常會執行當作電腦程式產品一部份的電腦程式碼。 故個電腦系統也稱爲,,程式執行系統”或”指令執行系統,,。結 合電腦系統及測量系統的電腦程式碼形成用來執行本發明 方法的裝置。 ____________ - 6 - 本紙張尺度適用標準(CNS) A4規格(M0X297公爱)------ 517190 A7 B7 五、發明説明(4 ) 圖式簡單説明 圖1顯示實施本發明具體實施例之部份軟體功能的方塊 圖。 圖2顯示實施本發明具體實施例之軟體所執行之方法的 流程圖。 圖3顯示實施本發明具體實施例之軟體所執行之方法的 另一流程圖。 圖4顯示實施本發明具體實施例之部份軟體功能的方塊 圖。 圖5顯示實施本發明具體實施例之軟體所執行之方法的 流程圖。 圖6顯示實施本發明具體實施例之電腦系統的方塊圖。 執行本發明的最佳模式 本發明通常是以電腦軟體或電腦程式產品具體化。應明 白,實施'如隨附申請專利範圍任一特定項之本發明,不一 定需要使用所説明的所有軟體功能。當然,會説明完整軟 體產品,使本發明可徹底實現。應明白,整份發明内容中 所展示或説明軟體處理程序或方法可能以任何順序或同時 執行方法的步驟,除了從上下文可得知某步驟取決於先執 行的另一步驟。 所説明的本發明具體實施例係在以通常稱爲nLinuxf’的 電腦作業系統爲基礎的電腦平台上實施,其中Linux是可直 接透過網際網路取得的開放式原始碼。Linux也可透過提供 Linux作業系統服務及支援的各家廠商取得。在這些廢商之 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 517190 A7 B7 "" " _ ' 五、發明説明(5 ) 中,美國北卡羅來納州Research Triangle ParU々Red Hat, Inc·,公司的本發明的受讓人。在本說明書的結尾附上實施 本發明一部份之修補(patch)格式的電腦程式碼實例。當然 ’本説明書内含更簡短的程式碼,用以解說所討論的特定 觀念。熟知技藝人士很容易瞭解這些實施。也應知道,示 範的Linux實施僅供解説用途。本文中説明的本發明觀念適 用於以任何作業系統爲基礎的任何電腦平台,包括以 Macintosh™、Unix™和 Windows™爲基礎的電腦平△。 最後,應明白,用來解説本發明觀念的數個方塊圖及流 程圖彼此之間不是互斥。而是,每個方塊圖及流程圖都是 用來解説所討論的特定觀念。在許多情況下,特定圖式中 呈現的元件或步驟與不同圖式中呈現的元件或步驟共存, 但是基於簡單明瞭,只有呈現某些元件或步驟。例如,圖又 和4的方塊圖均顯示作業系統與使用者空間請求内的元件 。在實龢的軟體中,可能會出現這兩個圖式中的所有元件 。然而,基於簡單明瞭,每個圖式中只有呈現與 有關的元件。 & 請參考圖1,圖中顯示的方塊圖解説具有作業系統核心 100及使用者空間101之軟體系統的各種元件。對於當作伺 服器使用的電腦平台或指令執行系統而言,圖丨所示^功能 非常重要,所以圖1的軟體系統可稱爲,,伺服器系统"。作業 系統核心(或直接稱爲,’核心”)屬於作業系統軟體的一部份 ,用以處理硬體資源、提供基礎功能,以及提供應用程式 的基礎程式設計介面。此類的程式設計介面通常稱爲”應用
517190 A7 B7 五、發明説明(6 ) 裝 線 程式設計介面”或ΠΑΡΓ。在本發明的此項具體實施例中, 作業系統核心100包括透過使用核心内應用通訊協定子系 統1 02來維護通訊協定堆疊的的功能。區別如HTTP或FTP 之類應用通訊協定與如TCP/IP之類的低階通訊協定非常重 要。受信任通訊協定模組103也包含於核心中,並將應用通 訊協定資訊及功能提供給通訊協定子系統102。涉及的通訊 協定可能是HTTP、FTP或網路通訊所使用的任何其他應用 通訊協定,包括所謂的π中繼應用通訊協定π,如使用HTTP 的延伸標記語言(extended markup language ; XML)及超本 文標記語言(hypertext markup language ; HTML)。應明白 ,本文中包含HTTP的參考意謂著包含HTML和XML。泛用 作業系統快取區1 04也駐存在核心中,並可用來快取檔案或 資訊頁。最後,通訊協定物件快取區105也駐存在核心中, 並且係用來連接通訊協定子系統1 02。對於下文中所討論的 特定軟體'系統功能而言,通訊協定物件快取區可能非常重 要。請注意,如圖1所示,本示範性具體實施例中的通訊協 定子系統提供直接共同閘道介面(CGI)及透過通訊模重新 定向。 它無法過於強調配合圖1討論(以及下文中配合圖4討論) 的作業系統架構是典型的實例。某些作業系統允許某些應 用程式在核心空間中執行,但是其他應用程式則是在使用 者空間中執行。在某些情況下,應用程式也可能會這兩個 空間中執行,其且部份程式碼係在核心空間中執行,而其 他程式碼則是在使用者空間中執行。 -9 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 517190
圖1的使用者空間1 〇丨包含不受信任模組或其他可執行模 j =6。此刻有利於解說”受信任”與"不受信任,,軟體模組的 意義。如熟知技藝人士所知,大部份的現代化作業系統的 設計都是將駐存在使用者空間中的應用程式或軟體模組放 置在勉強稱爲”沙箱”的空間中。這個沙箱保留作業系統中 的模組被使用者空間中的模組佔用或受到負面影響。這個 觀念的實施方式是設計作業系統,使使用者空間中的模組 被視爲”不受信任”,以限制其存取作業系統的存取權。反 之,作業系統核心内部的模組則是,,受信任”,並且具有存 取作業系統功能的完整存取權。在本發明的示範性具體實 犯例中’被視爲受信任模組的高階通訊協定應用程式可駐 存在作業系統核心内部。這些核心内的通訊協定模組及核 心内的通訊協定子系統使伺服器系統能夠回應應用通訊協 定請求,而不用作業系統進行上下文切換。請注意,不是 所有的作業系統均具有獨立的使用者空間。某些作業系統 會在作業系統核心空間内執行應用程式。然而,在這些情 況下’作業系統與應用程式之間的功能關聯性相同。作業 系統處理硬體並提供API,而應用程式使用Αρι來執行應用 程式工作。 電月旬系統中不會引發上下文切換或任何其他處理排程中 斷的作業通常稱爲”原子”作業。配合剛剛説明的架構,通 訊應用程式可執行,,非原子”工作通常執行的工作,而不用 上下文切換。當必須產生響應時,會將關於應用通訊協定 請求的資訊儲存於記憶體内部、核心内的請求結構中,使 __________ -10- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公董) 裝 訂 線 517190 A7 B7 五、發明説明(8 ) 核心繼續執行一次,以更新相稱的使用者空間請求結構, 就像已發生響應一樣。下面示範HTTP請求的示範性請求結 構。在這個特殊案例中,示範使用者請求結構;但是,核 心請求結構非常類似,並且很容易從使用者空間請求結構 導出。 typedef struct user_req_s { int version—major ; int version_minor ; int version_patch ; int http_version ; int http_method ; int sock ; int event ; int thread_nr ; void * id ; void *priv ; int http_status ; int bytes_sent ; ehar *object_addr ; int module_index ; char modulename[MAX_MODULENAME_LEN]; unsigned int client_host ; -11 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 x 297公釐) 五、發明説明(9 ) unsigned int objectlen ; char query[MAX_URI_LEN]; char objectname[MAX__URI_LEN]; unsigned int cookies_len ; char cookies[MAX_COOKIE_LEN]; char content_type[MAX_FIELD_LEN]; char user_agent[MAX_FIELD_LEN]; char accept[MAX_FIELD_LEN]; char accept_charset[MAX_FIELD__LEN]; char accept_encoding[MAX_FIELD_LEN]; char accept—language[MAX_FIELD—LEN]; char cache_control[MAX_FIELD_LEN]; char if_modified_since[MAX_FIELD_LEN]; ~ char negotiate[MAX_FIELD_LEN]; char pragma[MAX_FIELD_LEN]; char referer[MAX_FIELD___LEN]; char *post_data ; char new_date[DATE_LEN]; } user—req_t ; 圖2顯示響應一請求而不用上下文切換之方法的流程圖 。於步驟201,建立使用者空間請求結構。於步驟202,當 作伺服器系統運作的指令執行系統的執行項進入作業系統 核心。於步驟203,建立新的使用者空間請求結構,用以處 -12- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 517190
=請求。核心請求結構被填人與請求—起接收的資料,通 =是來自於透過網路提供請求之用户以統的資料。於步 展2 0 4,藉由將核心請电么士接旨 叫衣〜構填入使用者空間請求結構,以 將核心請求結構複製至使用者空間。藉由只將相關資料移 動至使用的請求結構部份’就可高效率完成這個"複製"。 在此情況下’也會移動所謂的請求結構,,私用(private扇位” 。私用(Private)欄位是可供應用程式參考用的不透明指標 。於步驟2〇5,執行項返回使用者空間,並且使用者空間應 用程式繼續運作,就好像已處理請求—樣。如果必須處理 另-個請求,則會覆寫使用者空間請求結構。核心通常會 在通當的時間處理請求(基於簡單明瞭,圖中未顯示這個步 驟)。於步驟206,作業系統監控請求。如果完成請求,或 發生逾時,則於步驟207執行項進入作業系統核心,並且於 步驟208刪除核心請求結構,以節省記憶體資源。如果無法 完成請求,但是未發生逾時,則系統會維護請求,並且在 完成請求的I/O之後,會將請求當作現行請求傳回至使用者 2”暫止”請求不會引發使執行項暫止。請注意,請求 被暫止-而不是工作暫止,所以執行項繼續位於使用者空間 中。請求也可能暫止於一個以上1/〇作業。 圖3顯示包含於作業系統中之具體化本發明的另一種處 理程序;孩處理程序具體化於傳送至用户端應用程式的應 答(如HTTP Web網頁)中的靜態通訊協定物件,以響應應用 通汛協定請求。請注意,這個解説係以僅作爲實例的HT丁p Web網頁爲基礎。也可使用其他的應用通訊協定(如FTp)來 -13- 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公if 517190 A7 B7 五、發明説明(n 實施本發明。在此項本發明具體實施例中,靜態通訊協定 物件係儲存在圖1的通訊協定物件快取區1 〇5中,但是也可 駐存在泛用作業系統快取區。於圖3的步驟3 〇 i中,伺服器 接收並分析應用通訊協定請求。下面顯示HTTP請求形成的 示範性應用通訊協定請求。此類的請求通常係藉由兩個換 行字元終止。 GET/HTTP/1.0 User-Agent : Wget/1.6 Host : www.redhat.com Accept : */* 於步驟3 02 ,將前導碼傳回至用户端。前導碼是HTTP應答 或回覆的標題部份。下列顯示標題部份的範例。
HTTP/1.1 200 OK
DateJ Tue, 03 Jul 2001 10 : 45 : 31 GMT Server : Apache/1.3.19(Unix) (Red-Hat/Linux) mod_ssl/2.8.1 OpenSSL/0.9.5a Connection : close Content-Type : text/html 於步驟303,在伺服器的記憶體緩衝器内建立回覆頁面的 選擇性動態部份。動態部份係由構成回覆一部份的動態通 訊協定物件所組成。回覆内也可具體化靜態通訊協定物件 。於步驟304,將動態通訊協定物件傳回至用户端應用程式 。於步驟305,從通訊協定物件快取區或泛用作業系統快取 -14 - 本紙張國國家標準(CNS) A4規格(210X297公釐) 裝 n 線 517190 A7 B7 五、發明説明 12 區擷取回覆頁面的越&、 ,、甸的靜怨郅份或靜態通訊協定物件。於步骤 Μ6 ’將,靜怨物件傳送至用户端應用程式,於用户端應甩程 j將靜心物件具體化於回覆中,以便在用户端系統上顯示 完整的回覆。 主圖4馬本發明作業系統具體實施例的另一個方塊圖。在此 ^況下’所建構的方塊圖係用來解説原子檔案查閱功能的 作業圖4_示作業系統環境的三個主要區段:檔案系統400 、使用者全間401及作業系統核心4〇2。檔案系統4〇〇包括位 於樓案系 '统空間中的樓案系統物件403。樓案系…统物件(或 直接稱爲’’檐案’’)是檔案系統空間的建置組塊。事實上,檔 案的貧訊的容器。有各種類型的檔案系統物件,包括一般 檔案、目錄和符號連結。符號連結提供一種建立新檔案的 万式’這類的新檔案事實上只是指向現有檔案。符號連結 也稱爲軟連結。連結係經由包含分隔符號的字_完成。針 對Linux和Unix系統及網際網路的url,分隔符號是”/,,(斜 線)字元,而Windows系統是,,\"(反斜線)字元。 凊注意’檔案系統物件名稱或檔案名稱是不包含分隔符 號的半元字串,例如’’homework.doc”。所有的樓案系統物 件都具有樓案系統物件名稱。然而,檔案系統物件路徑或Μ 標案路徑π是通常以分隔符號開始的字元字串,並且指定用 末找出樓案的各路徑部份。在某些系統中,樓案路徑也稱 爲目綠路徑或資料夾路徑,例如"/home/joe/docs/ homework.docM 〇 圖4的檔案系統還包括檔案系統命名空間404。檔案系統 __ 麵 15- 本紙張尺度適用中國國家標準(CNS) A4规格(210 X 297公釐) 裝 訂 線 A7
命名空間代表系統内的所有致你。说古& _ 目錄开……w 有檔案的路徑通常以 ’/一 备木系統裝置上。應用程式405通常駐存在 的使用者空間4G1中。這些應用程式利用保存在樓 :系統400内的檔案系統物件。爲了利用尚未使用的樓 术,應用程式及作業系統執行樓案系統命名空間作業。例 如,執行此類的作業以開啓、讀取或窝入樓案、重新命名 檔案或在目錄之間移動檔案。也有其他眾所皆知的檔案系 =命名2間作業。基於討論的用豸,任何的檔案系統命名 空間作業泛稱爲”開啓檔案,,,處理”檔案開始請求,,、執行 樓案作業等等。在先前技藝中,如果應用程式想要讀取 ”/h〇me/joe/d〇cs/h〇mew〇rk.d〇c”檔案的前 1000個位元組,則 會包括類似於下列C實例中所示的電腦程式程式碼。 fd-~〇pen(,7home/joe/docs/homework.docn? 〇 RDONLY); read(fd, buf? 1000); close(fd); 執行這三個系統呼叫之後,作業系統核心會將檔案的前 1000個位元組置入記憶體緩衝器”buf”中。 作業系統核心包括檔案系統命名空間快取區406。一旦樓 木路徑係儲存在存取檔案系統命名空間快取區中,如前面 實例所示的"open1,系統呼叫將内部存取檔案系統命名空間 快取區,以加速檔案存取。檔案系統命名空間快取區有時 候也稱爲”dentry快取區”。請注意,命名空間快取區不快取 樓案内容。它可快取檔案屬性。檔案内容係在不同的資料 結構中快取,如圖1所示的泛用快取區,通常稱爲”頁面快 -16-本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 517190 A7 B7 五、發明説明(14 ) 取區”,由於已眾所皆知,基於簡明清楚,圖4已將之省略。 在如上文所述的先前技藝中,核心將耗用時間及資源以 取得檔案,並且應用程式顯然知道檔案路徑與檔案名稱是 否已存在於命名空間快取區中。如果不存在,則核心將從 磁碟讀取檔案路徑詳細資料,暫停與應用程式關聯的處理 並且發生上下文切換直到I/O完成爲止,因此會嚴重影響的 -效能。 與剛剛討論的先前技藝相比,圖4的系統包括原子查閱作 業407,其實施根據本發明此項具體實施例的原子檔案查閱 。原子檔案查閱授權應用程式405偵測檔案是否已被快取 至命名空間快取區中。下列程式碼顯示如何實際使用這個 功能。 fd=open(丨’/home/joe/docs/homework.doc”,ORDONL Y | 一 0_AT0MICL00KUP); if (fd -EWOULDBLOCKIO){ /* * The file name was not yet cached,bounce this open() to another * process : 4 */ return-1 ; } read (fd, buf, 1000); close (fd); -17- 本紙張尺度適用中國國家標準(CNS) A4規格(210 x 297公釐) 裝 訂 線 517190 五、發明説明(15 ==Γη系統呼叫的',〇-AT⑽1CL0_p”旗標和新的 ^DBL0CKI0’’傳回碼。在得知尚未快取標案路徑後 息用長式可使樓案開啓返回或重新導向至另—個處理序 广應用程式開發人員的適當決擇。在某些情況下,這個 理序可旎是執行封鎖指標處理的處理序。 用以封鎖指標處理的處理序可駐存在圖4的使用者空間 致”存在圖4的核心彻中。"封鎖指標"是查閱將導 °1的_L下X切換的指標。”處理封鎖指標"可能涉及使 :=另—個處理序/執行绪,以便以改良效能的方式來 官理檔案開啓。 ♦ 圖5以流程圖形式顧 _ ·項不原子查閲作業的實例。於步驟5〇1 ’應用私式按照字元字串的指定, — 、 稱。於步驟502,向作業手统接w查、開啓的樓案名 、、作業系統鍉出檔案開啓請求。於步驟500 ’作業系統核心接收請灰%卷 試原子開-啓,核心檢啓標案。爲了嘗 徑。步驟5〇3是決策點,用以檢查是否有如樓案 同子:::錯誤。這個處理序的處理方式與先前技藝相 如二1則於步驟5G4藉由錯誤處理常式進行處理 〇 '又有何錯誤,則處理繼續。於步驟505,作業系统 核心通知應用程式, ’、、· ‘统命名空間快取區中;==徑係儲存在檔案系 口植术,則於步驟5〇6使用檔案。如果未開啓,由於已於步 5=5通知應用程式無法原子開啓標案的事 507處理可能的封鎖指標。 /涨 裝 η 線 -18 - 517190 A7 B7 五、發明説明(彳6 )
請注意,在這個具體實施例中,應用程式不會傳送關於 是否已快取檔案路徑的詢問。它會直接通知作業系統核心 它要原子開啓檔案。因爲已快取檔案路徑,所以核心可依 從請求,開啓檔案並將處理代碼傳回至應用程式。因爲未 快取檔案路徑,則不會開啓檔案,並將-EW〇ULDbl〇CKIQ 傳回至應用程式。關於本文討論的這個功能,術語,,已開啓,,_ 、”可開啓’,及,,已在開啓中,,等等可交換使用。同樣地,關 於檔案作業的術語,如”已執行”、”可執行,,及Π已在執行中π ' 等等也可交錢用。不管快取區檢查、職_啓及從作業 系統核心至應用程式之通知的確切時序,本發明的作業完 全一樣。 ^ 如上文所述作業系統架構有許多種變化,任何架構均可 包含原子查閱作業。例如,樓案系統裝置不一定駐存在唯 護作業系統核心的電腦系統上,而是可透過網路存取。在 此情況U案系統命名空間可位於連接網路的檔案系統 裝置内,位於維護作業系統核心的系統上或分散於這兩個 地點。請注意’不是所有的作業系統環境均具有當 —
保護領域的使用者空間。例如,在通常與内嵌處理器一i 使用的某些作業系統中,會在作業系統核心内維護及執行 應用程式。在此情況下,作業系統仍然提供應用程式的API ’口並且作業系統仍然透過其API與應用程式溝通,就像應用 私式是在使用者2間中執行一樣。 在申請專利範圍之前的本說明書結尾附上用來實施原子 查閱功能之清單顯示程式碼的原始碼實例。這個程式碼清 -19- A7 B7
517190 五、發明説明 單取名爲,’原始碼實例”。程式碼爲熟知的差異修補 (differential patch)格式。它修補公開取得的[比^作業系統 2·4 ·2版本,這是一種可透過網際網路獲取的開放式原始作 業系統,並且可透過提供Linux作業系統支援的公司取得, 如本發明的受讓人Red Hat,Inc·,公司。 如上文所述,在某些具體實施例中,本發明係透過在可 程式規劃電腦系統或指令執行系統(如個人電腦或工作站) 或其他以微處理器爲主的平台上運作的電腦程式程式碼實 施。圖6顯示以此方式實施本發明之電腦系統的進一步細節 。系統匯流排60 1互相連接主要組件。系統係由當作系統中 央處理單元(cpu)的微處理器602負責控制。系統記憶體6〇5 通常被分成多種記憶體或記憶體區域,如唯讀記憶體 (ROM)、隨機存取記憶體(RAM)等等。系統記憶體也可包 含基本輸出入系統(BIOS)。圖中顯示複數個一般輸入/輸出 (I/O)配接卡或裝置606。基於簡明清楚,只有顯示三個^^⑽ 裝置。這些I/O裝置連接至各種裝置,包括固定式磁碟機6〇7 、軟碟機608、網路610及顯示器6〇9。用來實施本發明功能 的電腦程式程式碼指令係儲存在固定式磁碟機6〇7上。當系 統正在作業中時,會將指令局部載入至記憶體605中,並且 微處理器602執行。或者,其中一個1/〇裝置是連接網路61〇( 可能是網際網路)的網路配接卡或數據機。請注意,圖㈣ 系統僅作爲解説的實例。可使用許多類型的_般用途電腦 系統。 本發明的元件可用硬體及/或當作電腦程式程式碼的軟 裝 訂 線
517190 A7 B7 五、發明説明(18 ) 體(包括韌體、常駐程式軟體、微程式碼等等)具體化。另 外,本發明可採用位於電腦可使用或電腦可讀型儲存媒體 上的電腦程式產品的形式,該電腦程式產品具有在如圖6 所示之指令執行系統中使用之媒體中具體化的電腦可讀型 程式碼。圖6以代表磁碟片的圖示來顯示此類的媒體。電腦 可使用或電腦可讀型儲存媒體可能是任何媒體,這類的媒 _ 體可包含、儲存、傳達或傳輸指令執行系統使用的程式。 例如,電腦可使用或電腦可讀型儲存媒體可能是電子、磁 性、光學、電磁、紅外線或半導體系統。媒體也可能僅僅 是透過如網際網路之類網路f’下載”電腦程式產品時所擷取 的資訊流。請注意,電腦可使用或電腦可讀型儲存媒體也 可能是紙張或印有程式的另一種適合媒體。 於本説明書提出申請的日期,實施本説明書中所描述之 -功能的差異修補(differential patch)格式原始碼可從網站 www.redhat.com/〜mingo/TUX/公開取得。於本説明書提出 申請的日期,實施本發明之軟體系統的完整原始碼也可向 本發明的受讓人Red Hat,Inc.,公司取得。位於前面網際網路 網址的原始碼係用來修補Linux作業系統版本,這是一種可 透過網際網路獲取的開放式原始作業系統,並且可透過提 供Linux作業系統支援的公司取得,如本發明的受讓人Red Hat,Inc.,公司。這個程式碼預定用來修補Linux作業系統 2.4.5版本,這個版本已經過熟知的所謂nac4n修補程式修補。
Linux作業系統2·4·5版本可至下歹ij網址取得: www.kernel.org/pub/linux/kernel/v2.4/linux-2.4·5 .tar.gzo 前 -21 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 517190 A7 B7 五 發明説明(19 ) 面提及之熟知的ac4修補程式可至下列網址取得: www.kernel .org/pub/linux/kernel/people/alan/2.4/patch-2.4.5-ac4.gz ° 本文中説明本發明的特定具體實施例。熟知技藝人士立 即知道本發明具有在其他環境中的其他應用。事實上,可 有許多種具體實施例及實施。下列申請專利範圍不是用來 將本發明的範疇限制於如上文所述特定具體實施例。 原始碼實例 …linux/fs/namei.c.orig Tue Apr 17 13 · 18 · 46 2001 +++linux/fs/namei.c Tue Apr 17 13 : 18 : 52 2001 @@ -423,9 +423,13 @@ { struct dentry *dentry ; struct inode * inode ; - int err ; + int err, atomic ; unsigned int lookup__flags = nd->flags ; + atomic = 0 ; + if (lookup—flags & LOOKUP—ATOMIC) + atomic = 1 ; while (*name:=:=7,) name++ ; -22- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 517190 A7 _ B7____ 五、發明説明(2〇) if (!*name) @@ -494,6 +498,9 @@ /* This does the actual lookups.. */ dentry = cached 一lookup(nd->dentry,&this,LOOKUP一CONTINUE); if (Identry) { + err = -EWOULDBLOCKIO ; + if (atomic) + break ; dentty = real一loolmp(nd->dentiy,&this,LOOKUP一CONTINUE); err = PTR_ERR(dentry); if(IS_ERR(dentry)) @@ -557?6 +564,9 @@ } dentry = cached—lookup(nd-〉dentry,&this5 0); if (Identry) { + err - -EWOULDBLOCKIO ; + if (atomic) + break ; dentry = real_lookup(nd->dentry5 &this9 0); err = PTR_ERR(dentry); if (IS_ERR(dentry)) @@-891,6 +901,8 @@ if (f&OJDIRECTORY) retval 卜 LOOKUP一DIRECTORY ; -23- 本紙張尺度適用中國國家標準(CNS) A4規格(210 x 297公釐) 裝 訂 線 517190 A7 B7 五、發明説明(21 ) + if (f & Ο一ATOMICLOOKUP) + retval |= LOOKUP一ATOMIC ; return retval ; } …linux/include/linux/fs.h.orig Tue Apr 17 13 : 18 : 51 2001 +++linux/include/linux/fs.hTue Apr 17 13 · 18 : 52 2001 @@-1203,6+1203,7 @@ fine LOOKUP 一 POSITIVE (8) #define LOOKUP—PARENT (16) #define LOOKUP 一NOALT (32) +#define LOOKUP_ATOMIC (64) /*
* Type of the last component on LOOKUP-PARENT */ …linux/include/asm-i386/fcntl.h.orig Fri Sep 22 23 : 21 : 19 2000 +4-+ linux/include/asm-i3 86/fcntl.h Tue Apr 17 13 : 18 ·· 52 2001 @@ -20,6 +20,7 @@ #defme O-LARGEFILE 0100000
#define OJDIRECTORY 0200000 /* must be a directory V #define O^NOFOLLOW 0400000 /* donft follow links */ +#define O—ATOMICLOOKUP 01000000/* do atomic file lookup */ #defme F^DUPFD 0 /* dup */ #defme F GETFD 1 /* get close—on_exec */ -24- 本紙强:尺度適用中國國家標準(CNS) A4規格(210X297公釐) 517190 A7 B7 五 、發明説明(22 ) …linux/include/asm-alpha/fcntl.h.orig Sun Oct 8 18 : 04 : 04 2000 +++linux/include/asm-alpha/fcntLh Tue Apr 17 13 * 18 · 52 2001 @@ -21, 6 +21, 8 @@ #define 0—DIRECTORY 0100000 /* must be a directory */ #defme 0_^N0F0LL0W 0200000 /* don't follow links */ #defme 0_LARGEFILE 0400000 /* set by the kernel on every open */ +#defme 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 @@ -20,6 +20,7 @@ #define OJDIRECTORY 0x10000 /* must be a directory */ #define OlNOFOLLOW 0x20000 /* don’t follow links */ #defme O^LARGEFILE 0x40000 +#define O—ATOMICLOOKUP 0x80000 /* do atomic file lookup */ #define F一DUPFD 0 /* dup */ #define F_GETFD 1 /* get close_on_exec */ …linux/include/asm-sparc64/fcntl.h.origTue Oct 10 19 : 33 : 52 2000 +++ linux/include/asm-sparc64/fcntl.h Tue Apr 17 13 : 18 : 52 2001 @@ -20,6 +20,7 @@ #define O—DIRECTORY 0x10000 /* must be a directory */ #define 0_NOFOLLOW 0x20000 /* don’t follow links */ -25- 本紙張尺度適用中國國家標準(CNS) A4規格(210 x 297公釐) 裝 訂 線 517190 A7 B7 五、發明説明(23 ) #defme Ο一LARGEFILE 0x40000 +#define 0—ATOMICLOOKUP 0x80000 /* do atomic file lookup */ #define F一DUPFD 0 /* dup */ #defme F GETFD 1 /* get close—on—exec */ ---linux/include/asm-sparc64/fcntl.h.origTue Oct 10 02 : 54 : 58 2000 +++ linux/include/asm-sparc64/fcntl.h Tue Apr 17 13 · 18 · 52 2001 @@ -28,6 +28,7 @@ #define O—LARGEFILE 0100000 #define OJDIRECTORY 0200000 /* must be a directory */ #defme O^NOFOLLOW 0400000 /* donft follow links */ +#define O—ATOMICLOOKUP 01000000 /* do atomic file lookup */ #define F^DUPFD 0 /* dup */ #define F GETFD 1 /* get dose一on—exec */ -26- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
Claims (1)
- 經濟部智慧財產局員工消費合作社印製 517190 A8 B8 C8 ___ D8 六、申請專利範圍 1 · 一種回應一應用通訊協定請求的方法,該方法包栝下列 步驟: 接收該應用通訊協定請求; 建立一對應於該應用通訊協定請求的使用者空間請求 結構; 使用自一用户端系統接收到的資料與該應用通訊協定—— 請求,以建立一對應於該應用通訊協定請求的核心請求、 結構; 依據該核心請求結構來更新該使用者空間請求結構, 使該使用者空間請求中的應用程式可繼續執行,並且作 業系統可響應該應用通訊協定請求,而不用上下文切換 ;以及 響應該應用通訊協定請求。 一 2·如申請專利範圍第1項之方法,該方法進一步包括於響應 該應用~通訊協定請求之後刪除該核心請求結構的步驟。 3·如申請專利範圍第1項之方法,其中該應用通訊協定請求 及對該應用通訊協定請求的任何響應均是依據超文件傳 輸協定(hypertext transmission protocol ; HTTP)格式化。 4·如申請專利範圍第2項之方法,其中該應用通訊協定請求 及對該應用通訊協定請求的任何響應均是依據超文件傳 輸協定(hypertext transmission protocol ; HTTP)格式化。 5·如申請專利範圍第1項之方法,其中該應用通訊協定請求 及對該應用通訊協定請求的任何響應均是依據檔案傳輸 通訊協定(file transfer protocol ; FTP)格式化。 •- -27- 本紙張尺度適用中國國家標準(CNS)A4規格(210 χ 297公釐) "" ——.-----------裝--------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 517190 經濟部智慧財產局員工消費合作社印製 A8 B8 C8 D8 ------—---- 六、申請專利範圍 6.如申請專利範圍第2項之方法,其中該應用通訊協定請求 及對該應用通訊協定請求的任何響應均是依據檔案傳輸 通訊協定(file transfer protocol ; FTP)格式化。 7· —種内含具體化電腦程式程式碼的電腦程式產品,該電 腦程式程式碼使一包含一作業系統的伺服器能夠具有一 核心及一使用者空間,以響應一應用通訊協定請求,該 -電腦程武程式碼包括: 指令,用以接收該應用通訊協定請求; 指令,用以建立一對應於該應用通訊協定請求的使用 者空間請求結構; 指令,用以使用自一用户端系統接收到的資料與該應 用通訊協定請求,以建立一對應於該應用通訊協定請求 的核心請求結構; 指令,用以依據該核心請求結構來更新該使用者空間 請求結構,使該使用者空間請求中的應用程式可繼續執 行,並且作業系統可響應該應用通訊協定請求,而不用 上下文切換; 指令,用以響應該應用通訊協定請求;以及 指令,用以刪除該核心請求結構。 8·如申請專利範圍第7項之電腦程式產品,其中該電腦程式 私式碼進一步包括用以實施一超文件傳輸協定 (hypertext transmission protocol ; HTTP)的指令。 9.如申請專利範圍第7項之電腦程式產品,其中該電腦程式 程式碼進一步包括用以實施一檔案傳輸通訊協定(file ~ 28 - 紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ' ~ --------------^--------^---------^ (請先閱讀背面之注意事項再填寫本頁) 517190 ^^^_ 經濟部智慧財產局員工消費合作社印製 A8 B8 C8 ____D8 申請專利範圍 ^ ^^ transfer protocol ; FTP)的指令 〇 10·如申請專利範圍第8項之電腦程式產品,其中該電腦程式 程式碼進一步包括用以實施一檔案傳輸通訊協定 transfer protocol ; FTP)的指令 〇 11· 一種包括一具有一核心及一使用者空間之作業系統的裝 置,該裝置可用來響應一應用通訊協定請求,該裝置包 括: 裝置,用以接收該應用通訊協定請求; 裝置,用以建立一對應於該應用通訊協定請求的使用 者空間請求結構; 裝置,用以使用自一用户端系統接收到的資料與該應 用通訊協定請求,以建立一對應於該應用通訊協定請求 的核心請求結構; 裝置,用以依據該核心請求結構來更新該使用者空間 請求結構,使該使用者空間請求中的應用程式可繼續執 行,並且作業系統可響應該應用通訊協定請求,而不用 上下文切換; 裝置,用以響應該應用通訊協定請求;以及 裝置,用以刪除該核心請求結構。 12. —種包括一作業系統的飼服器系統,該伺服器系統可用 來響應一應用通訊協定請求,該伺服器系統包栝: 一使用者空間,用來建立及維護一對應於該應用通訊 協定請求的使用者空間請求結構;以及 一作業系統核心,其連接至該使用者空間,用以使用 -29- --- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) --------------裝--------訂---------線 f請先聞讀背面之注意事項再填寫本頁) 517190 A8 B8 C8 D8 經濟部智慧財產局員工消費合作社印製 驟 六、申請專利範圍 自一用户端系統接收到的資料與該應用通訊協定請求, 以維護一對應於該應用通訊協定請求的核心請求結構, 以及更新该使用者2間請求結構,使作業系統可響應該 應用通訊"fo力足清求,而不用上下文切換。 13·如申請專利範圍第12項之伺服器系統,其中該作業系統 核心進一步包括: 至少一通訊協定模組;以及 一通訊協定子系統,其用來連接該使用者空間及該至 少一通訊協定模組,在某種程度上,該通訊協定子系統 使作業系統核心能夠維護該核心請求結構。 14·如申請專利範圍第13項之伺服器系統,其中該至少一通 訊協定模組進一步包括一超文件傳輸協定(hypertext transmission protocol ; HTTP)模組 〇 15·如申請專利範圍第13項之伺服器系統,其中該至少一通 訊協定模組進一步包括一檔案傳輸通訊協=(fi= transfer protocol ; FTP)模組。 16·如申請專利範圍第14項之伺服器系統,其中該至少—、雨 訊協定模組進一步包括一檔案傳輸通訊協定 transfer protocol ; FTP)模組。 17· —種當作一包含一具有一核心及_使用者空間之作 統之通·訊協定伺服器的指令執行系統,令产人 #' 可用來響應一應用通訊協定請求,並古々3二订系統 — 八式疋執行下列步 接收該應用通訊協定請求; -30- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) --------訂-----I---*5^ (請先閱讀背面之注意事項再填寫本頁) 88899 ABCD 517190 六、申請專利範圍 建立一對應於該應用通訊協定請求的使用者空間請求 結構; 使用自一用户端系統接收到的資料與該應用通訊協定 請求,以建立一對應於該應用通訊協定請求的核心請求 結構, 依據該核心請求結構來更新該使用者空間請求結構, 使該使用者空間請求中的應用程式可繼續執行,並且作 業系統可響應該應用通訊協定請求,而不用上下文切換 ;以及 響應該應用通訊協定請求。 18·如申請專利範圍第17項之指令執行系統,該指令執行系 統進一步用來當作'^超文件傳輸協定(hypertext transmission protocol ; HTTP)伺月良器。 19·如申請專利範圍第1 7項之指令執行系統,該指令執行系 統進一步用來當作一檔案傳輸通訊協定(file transmission protocol ; FTP)伺月良器。 20·如申請專利範圍第17項之指令執行系統,該指令執行系 統進一步用來當作一超文件傳輸協定(hypertext transmission protocol ; HTTP)伺月良器及一檔案傳輸通訊 協定(file transmission protocol ; FTP)祠月良器。 _— -31 - 本紙張尺度適用中國國家標準(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 |
---|---|
TW517190B true TW517190B (en) | 2003-01-11 |
Family
ID=22853373
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW090120873A TW535065B (en) | 2000-08-24 | 2001-08-24 | Method and apparatus for atomic file look-up |
TW090120874A TW517190B (en) | 2000-08-24 | 2001-08-24 | Method and apparatus for handling communication requests at a server without context switching |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW090120873A TW535065B (en) | 2000-08-24 | 2001-08-24 | Method and apparatus for atomic file look-up |
Country Status (8)
Country | Link |
---|---|
US (4) | US6886004B2 (zh) |
EP (2) | EP1358577B1 (zh) |
JP (3) | JP4317361B2 (zh) |
AT (2) | ATE289146T1 (zh) |
AU (2) | AU2001287204A1 (zh) |
DE (2) | DE60108884T2 (zh) |
TW (2) | TW535065B (zh) |
WO (2) | WO2002017597A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI410810B (zh) * | 2007-12-21 | 2013-10-01 | Nec Corp | 節點系統、伺服器切換方法、伺服器裝置、資料移交方法及程式產品 |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6886004B2 (en) * | 2000-08-24 | 2005-04-26 | Red Hat, Inc. | Method and apparatus for atomic file look-up |
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 |
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 |
US11093624B2 (en) | 2017-09-12 | 2021-08-17 | Sophos Limited | Providing process data to a data recorder |
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 |
US6658480B2 (en) | 1997-10-14 | 2003-12-02 | Alacritech, Inc. | Intelligent network interface system and method for accelerated protocol processing |
US6389479B1 (en) * | 1997-10-14 | 2002-05-14 | Alacritech, Inc. | Intelligent network interface device and system for accelerated communication |
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 |
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 |
US6886004B2 (en) | 2000-08-24 | 2005-04-26 | Red Hat, Inc. | Method and apparatus for atomic file look-up |
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,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-22 US US09/934,658 patent/US6988142B2/en not_active Expired - Lifetime
- 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 AU AU2001287204A patent/AU2001287204A1/en not_active Abandoned
- 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-23 AT AT01966716T patent/ATE459927T1/de not_active IP Right Cessation
- 2001-08-23 WO PCT/US2001/041844 patent/WO2002017070A2/en active Application Filing
- 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 EP EP01966717A patent/EP1312195B1/en not_active Expired - Lifetime
- 2001-08-23 JP JP2002522164A patent/JP2004507825A/ja active Pending
- 2001-08-24 TW TW090120873A patent/TW535065B/zh not_active IP Right Cessation
- 2001-08-24 TW TW090120874A patent/TW517190B/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
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI410810B (zh) * | 2007-12-21 | 2013-10-01 | Nec Corp | 節點系統、伺服器切換方法、伺服器裝置、資料移交方法及程式產品 |
Also Published As
Publication number | Publication date |
---|---|
EP1358577A2 (en) | 2003-11-05 |
JP4778493B2 (ja) | 2011-09-21 |
EP1312195B1 (en) | 2005-02-09 |
US20050171981A1 (en) | 2005-08-04 |
JP4317361B2 (ja) | 2009-08-19 |
US20020091868A1 (en) | 2002-07-11 |
ATE459927T1 (de) | 2010-03-15 |
JP2008102935A (ja) | 2008-05-01 |
US20020059330A1 (en) | 2002-05-16 |
JP2004507815A (ja) | 2004-03-11 |
DE60108884T2 (de) | 2006-01-19 |
US6886004B2 (en) | 2005-04-26 |
DE60108884D1 (de) | 2005-03-17 |
US6988142B2 (en) | 2006-01-17 |
US7082424B2 (en) | 2006-07-25 |
AU2001287203A1 (en) | 2002-03-04 |
AU2001287204A1 (en) | 2002-03-04 |
US20020049834A1 (en) | 2002-04-25 |
WO2002017597A1 (en) | 2002-02-28 |
DE60141480D1 (de) | 2010-04-15 |
US8631092B2 (en) | 2014-01-14 |
ATE289146T1 (de) | 2005-02-15 |
EP1312195A1 (en) | 2003-05-21 |
JP2004507825A (ja) | 2004-03-11 |
WO2002017070A2 (en) | 2002-02-28 |
TW535065B (en) | 2003-06-01 |
WO2002017070A3 (en) | 2003-04-24 |
EP1358577B1 (en) | 2010-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW517190B (en) | Method and apparatus for handling communication requests at a server without context switching | |
US6691176B1 (en) | Method for managing client services across browser pages | |
US5987517A (en) | System having a library of protocol independent reentrant network interface functions for providing common calling interface for communication and application protocols | |
EP2317732B1 (en) | Data communication protocol | |
US7284243B2 (en) | Installing content specific filename systems | |
US7099926B1 (en) | Object caching and update queuing technique to improve performance and resource utilization | |
JP3532854B2 (ja) | ネットワーク全体にわたって電子メールを同期させるシステムおよび方法 | |
JP4613023B2 (ja) | プロトコル独立型クライアント側キャッシュ(protocol−independentclient−sidecaching)システムおよび方法 | |
US5991760A (en) | Method and apparatus for modifying copies of remotely stored documents using a web browser | |
US20130254258A1 (en) | Offloading application components to edge servers | |
US20020046268A1 (en) | Method of performing a network management transaction using a web-capable agent | |
US20020095522A1 (en) | System and method for automatic provision of an application | |
US20020198930A1 (en) | Method and apparatus for wide-spread distribution of electronic content in a peer to peer fashion | |
BRPI0015347A2 (pt) | recurso de armazenamento de internet compartilhada, sistema de interface com o usuário, e método | |
US20080140777A1 (en) | Selective mirrored site accesses from a communication | |
Wong | Web client programming with Perl | |
US20040167961A1 (en) | Fragment response cache | |
US20060074914A1 (en) | Dynamic sample data switch | |
JP4206206B2 (ja) | 情報資源の更新方法 | |
Roche | Copying websites | |
Clark | Optimising the Web for a GPRS link | |
Briceno | Design techniques for building fast servers | |
Masanés et al. | Copying Websites | |
JP2002116919A (ja) | ネットワークベースのアプリケーション、それを処理するためのアーキテクチャ及びシステム、ならびにそれを実行するための方法 | |
White et al. | An Interposition Agent for the Legion File System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MK4A | Expiration of patent term of an invention patent |