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 PDF

Info

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
Application number
TW090120874A
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 TW517190B publication Critical patent/TW517190B/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)
  • 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)

  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公釐) -------------裝--------訂---------線 (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製
TW090120874A 2000-08-24 2001-08-24 Method and apparatus for handling communication requests at a server without context switching TW517190B (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
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI410810B (zh) * 2007-12-21 2013-10-01 Nec Corp 節點系統、伺服器切換方法、伺服器裝置、資料移交方法及程式產品

Families Citing this family (44)

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

* 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
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

Cited By (1)

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