TWI403956B - 虛擬客戶計算環境中指令處理伺服器計算裝置、方法與電腦可讀取資料儲存媒體 - Google Patents
虛擬客戶計算環境中指令處理伺服器計算裝置、方法與電腦可讀取資料儲存媒體 Download PDFInfo
- Publication number
- TWI403956B TWI403956B TW095137542A TW95137542A TWI403956B TW I403956 B TWI403956 B TW I403956B TW 095137542 A TW095137542 A TW 095137542A TW 95137542 A TW95137542 A TW 95137542A TW I403956 B TWI403956 B TW I403956B
- Authority
- TW
- Taiwan
- Prior art keywords
- queue
- computing device
- client computing
- thread
- computing environment
- 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
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Digital Computer Display Output (AREA)
- Image Processing (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Description
本發明係關於虛擬客戶計算環境,例如微軟視窗終端服務環境;具體言之,本發明係關於此環境內指令的硬體處理,例如在此環境中由繪圖硬體處理硬體相關指令。
公司團體通常有幾十、幾百、甚至幾千個電腦使用者。傳統上,每個電腦使用者具有自己的客戶計算裝置。所有電腦使用者的客戶計算裝置通常係透過一個網路相互連接,以有效地降低這些裝置的管理。然而,有些管理係需要在客戶計算裝置本身上進行,這表示管理者及其他資訊技術(IT)人員需要周期性地造訪每個客戶計算裝置,如此一來會非常的費時且成本非常高。再者,提供一個獨立的計算裝置給每個電腦使用者本身就是成本花費極高的事情。
因此,近年來,許多公司團體已將其計算資源改進到一終端服務類型的環境,在此亦稱之為虛擬客戶計算環境。在此類環境中,一個中央伺服器計算裝置代管許多電腦使用者,在此伺服器計算裝置上的作業系統內,每個使用者會分配到一個個別的執行期間(session)。每個電腦使用者仍然具有一個客戶計算裝置,但這些客戶計算裝置主要僅是作為終端機。使用者在客戶計算裝置提供輸入,而客戶計算裝置提供輸出給使用者,但所有應用程式處理皆是在伺服器計算裝置端運作。此類虛擬客戶計算環境的範例包含微軟視窗終端服務環境,以及由佛羅里達州羅得特堡的Citrix系統所提供的虛擬客戶計算環境。
虛擬客戶計算環境的優勢至少有二個。其一是因為計算使用者的客戶計算裝置僅運作輸入/輸出功能,因此不需要非常複雜的裝置。因此,每個使用者的成本則大量的降低。由於客戶計算裝置不需要具有非常先進、昂貴的處理器及其他硬體構件,因此客戶計算裝置可以使用較便宜且較慢的處理器及其他較便宜的硬體構件。因為主要應用程式是在伺服器計算裝置端作處理,所以整體效能並不會因而降低。
其二,多重使用者系統的維修大部分是在伺服器計算裝置本身進行,而非在客戶計算裝置端。舉例而言,增加記憶體、處理功率、硬碟機儲存等等皆是透過增加伺服器計算裝置上的這些資源來達成,而不是在客戶計算裝置端。因此,IT人員所產生的維修成本即可降低,因為IT人員不用造訪每個計算裝置來操作許多一般性的維修工作。
實施虛擬客戶計算裝置環境的一個缺點,係在繪圖處理的方面。複雜的繪圖處理通常至少有一部分是需要由專屬繪圖硬體來運作,而非全由軟體運作。繪圖相關指令通常是以例如OpenGL的規範作標準化。執行於計算裝置的一個應用程式,提供例如繪圖相關指令的指令給執行於計算裝置上的作業系統。作業系統再接著將這些指令傳達給計算裝置的繪圖硬體,繪圖硬體接著處理這些指令,以提供在計算裝置的顯示裝置,或者回報給應用程式。與軟體(即計算裝置的處理器,例如任何不需要特定硬體幫助的任何其他軟體)相比,由專屬繪圖硬體處理繪圖相關指令通常會快上好幾倍。
然而,虛擬客戶計算環境並不適合利用專屬繪圖硬體來處理繪圖相關指令。若繪圖硬體是位於客戶計算裝置本身,則不能由執行於伺服器計算裝置上的虛擬客戶計算環境中的客戶應用程式來實施。這是因為客戶應用程式是在伺服器計算裝置所提供之作業系統的限制內執行,因此並不能直接存取客戶計算裝置本身上的繪圖硬體,來處理繪圖相關指令。再者,即使可以直接存取,但是在客戶計算裝置上增加昂貴的繪圖硬體破壞了使用虛擬客戶計算環境的目的,即以客戶計算裝置作為簡易型終端機來節省成本。
再者,若繪圖硬體係位於伺服器計算裝置端,則其通常不能在執行於伺服器計算裝置上的虛擬客戶計算環境內的客戶應用程式中實施。舉例而言,在微軟視窗的環境中,繪圖硬體僅可由執行於伺服器計算裝置上的伺服器應用程式作直接存取,而不能由執行於伺服器計算裝置上的虛擬客戶計算環境中的客戶應用程式所存取。
在Linux環境中解決這個問題的方法,是利用紐約州阿芒克的萬國商業機器公司所提供的深層計算虛擬(DCV)商品。DCV通常允許伺服器計算裝置的繪圖硬體利用執行於伺服器計算裝置上的虛擬客戶計算環境中的客戶應用程式,即使此程式的輸出係顯示於客戶計算裝置,而不是在伺服器計算裝置。DCV利用許多行程間通訊(IPC)機制,使得客戶應用程式可將繪圖相關指令傳給伺服器計算裝置的繪圖硬體,其回應接著被傳回程式本身,或顯示於客戶計算裝置端。
然而,DCV並無法在微軟視窗環境處理中提供繪圖相關指令的最佳效能。為了有利於客戶計算裝置,存取伺服器計算裝置的繪圖硬體的目的,係為了加強繪圖效能,非最佳效能的DCV表示其並非這個問題的適當解決方案。因此,需要的是允許執行於微軟視窗為主的伺服器計算裝置的虛擬客戶計算環境中的客戶應用程式,得以利用此伺服器計算裝置的繪圖硬體而有利於客戶計算裝置。這種方式所提供的效能,應該要就像是繪圖硬體安裝於客戶計算裝置本身而可由客戶應用程式存取一般。因此,為了這些及其他理由,實有需要來提供本發明。
本發明關於虛擬客戶計算環境內指令的硬體處理,例如由繪圖硬體處理繪圖相關指令。本發明之一實施例的伺服器計算裝置包含繪圖硬體、第一及第二佇列、虛擬客戶計算環境、以及伺服器計算環境。繪圖硬體係將繪圖相關指令處理為繪圖相關指令回應。
虛擬客戶計算環境係與遠端計算裝置互動,此遠端計算裝置係以通訊方式耦接伺服器計算裝置。虛擬客戶計算環境包含發布繪圖相關指令之編碼應用程式。編碼應用程式包含接收繪圖相關指令並將其置放在第一佇列的第一線程。編碼應用程式亦包含接收第二佇列之繪圖相關指令回應,並將其傳送給遠端客戶計算裝置之顯示裝置的第二線程。
伺服器計算環境係用以管理虛擬客戶計算環境,並包含解碼應用程式。解碼應用程式包含第三線程,負責接收第一佇列之繪圖相關指令、將繪圖相關指令傳送給繪圖硬體作處理、接收繪圖硬體之繪圖相關指令回應、以及將繪圖相關指令回應置於第二佇列。
本發明另一實施例的伺服器計算裝置包含硬體、虛擬客戶計算環境、以及伺服器計算環境。硬體係以比軟體自行將特定指令處理為回應之速度更快的方式,將特定指令處理為回應。虛擬客戶計算環境係與遠端客戶計算裝置互動,此遠端客戶計算裝置係以通訊方式與伺服器計裝置耦接,並且發布具體指令,並包含第一線程及第二線程。伺服器計算環境係負責管理虛擬客戶計算環境,並包含第三線程。
第一線程係負責接收虛擬客戶計算環境內所發布的特定指令,並將其置放於第一佇列。第二線程係負責接收第二佇列的回應,以及將其傳送給遠端客戶計算裝置的對應硬體。第三線程係負責接收第一佇列的特定指令,將其傳送給硬體作處理、接收硬體的回應、以及將其置於第二佇列。
本發明之一實施例的方法,係包含由伺服器計算裝置之虛擬客戶計算環境的第一線程接收繪圖相關指令,此指令係由伺服器計算裝置的虛擬算環境中所執行的編碼應用程式所發布。虛擬客戶計算環境係為了在遠端客戶計算裝置內作互動,此遠端客戶計算裝置係以通訊方式與伺服器計算裝置耦接。伺服器計算環境負責管理虛擬客戶計算環境。
第一線程將繪圖相關指令置於第一佇列。伺服器計算環境的第三線程接收第一佇列的繪圖相關指令。第三線程將繪圖相關指令傳送給伺服器計算裝置的繪圖硬體,以將繪圖相關指令處理為繪圖相關回應。第三線程接收繪圖硬體的繪圖相關指令回應,並將之置放於第二佇列。虛擬客戶計算環境的第二佇列接收第二佇列的繪圖相關指令回應,並將其傳送給遠端客戶計算裝置的顯示裝置。
本發明一實施例的製成品包含電腦可讀取媒體、以及位於此媒體中的第一、第二及第三手段。此媒體可以是可記錄式資料處理媒體、調變負載信號、或其他類型的電腦可讀取媒體。第一手段係負責接收虛擬客戶計算環境內所發布的指令,並負責將指令置放於第一佇列。第二手段負責接收第二佇列的回應,並將其傳送給與虛擬客戶計算環境相關之遠端算裝置的對應硬體。第三手段負責接收第一佇列的指令、將其傳送給硬體以處理為回應、接收硬體的回應、以及將其置放於第二佇列。
本發明之各實施例提供習知技術所沒有的優勢。如上述習知技術的深層計算虛擬(DCV),本發明之實施例允許執行於伺服器計算裝置上的客戶應用程式使用伺服器計算裝置端的繪圖硬體,以將資訊顯示於遠端客戶計算裝置的顯示裝置。然而,本發明之架構比DCV及其他習知技術提供了更進一步的效能改善。上述特定線程及佇列的使用使得本發明之實施例比DCV及其他習知技術在效能上提供更進一步的改善。
藉由以下詳細描述及伴隨圖式當可更容易明瞭本發明之其他優勢、面向及實施例。
在本發明之範例實施例的詳細描述中,會參閱所伴隨的圖式,其顯示本發明所實施之特定示範實施例。這些實施利之描述足使熟此技藝者實施本發明。仍能有其他實施例及其邏輯上、機械上及其他潤飾而不偏離本發明之精神或範圍。因此,以下詳述並非意在限制本發明,本發明之範圍僅由申請專利範圍作界定。
圖1顯示本發明之一實施例中實施虛擬客戶計算環境的電腦架構100。虛擬客戶計算環境可為微軟視窗終端服務環境、由佛羅里達州羅得特堡之Citrix系統所提供的虛擬客戶計算環境、或其它類型的終端服務或虛擬客戶計算環境。電腦架構100包含伺服器計算裝置102及遠端客戶計算裝置104。
伺服器計算裝置102包含虛擬客戶計算環境108以及伺服器計算環境110(其主要為軟體應用程式),以及處理器114、繪圖硬體116、以及一般伺服器計算裝置內可以看到但卻為了描述之便而未顯示於圖1之其他類型的硬體。虛擬客戶計算環境108對應遠端客戶計算裝置104。遠端客戶計算裝置104之使用者的所有或實質所有的輸入及輸出,皆係運作於遠端客戶計算裝置104端。然而,對這些輸入所作的所有或實質所有之處理所提供的輸出,皆係在虛擬客戶計算環境108內實施。虛擬客戶計算環境108因此稱為與遠端客戶計算裝置104互動,即以通訊地方式透過網路或其他機制耦接伺服器計算裝置102。雖然圖1僅描述一個虛擬客戶計算環境以及一個遠端客戶計算裝置104,但是實際上通常會有不只一個的計算環境以及不只一個的客戶計算裝置。
虛擬客戶計算環境108是以一個執行期間(session)的方式執行於作業系統中。客戶應用程式(例如客戶應用程式112)因此係為了遠端計算裝置104的電腦使用者而執行於計算環境108內。在一實施例中,虛擬客戶計算環境108可執行於伺服器計算裝置102中自己本身的邏輯分割區中。伺服器計算環境110係所有虛擬客戶計算環境的管理環境,因此其係負責管理虛擬客戶計算環境108。舉例而言,伺服器計算環境110可以負責管理虛擬客戶計算環境的執行及管理,例如執行於其內的客戶應用程式,以及負責此虛擬客戶計算環境的實例化(instantiation)及刪除(deletion)。在一實施例中,伺服器計算環境110可執行於伺服器計算裝置102中自己本身的邏輯分割區中。
因此,使用者與遠端客戶計算裝置104互動的方式,就像客戶應用程式112執行於遠端客戶計算裝置104上所安裝之作業系統。然而,實際上作業系統係安裝於伺服器計算裝置102。使用者的輸入係由客戶應用程式102以及環境108內的其他應用程式,利用伺服器計算裝置102的硬體資源(例如處理器114繪圖硬體116),從遠端客戶計算裝置104傳達(convey)給虛擬客戶計算環境108作處理。使用者的輸出係接著透過客戶應用程式112或環境108的其他應用程式傳達給遠端客戶計算裝置104,以在例如遠端客戶計算裝置104的顯示裝置106中顯示該輸出。
遠端客戶計算裝置104因此係作為一簡單型的終端機。客戶計算裝置104從使用者端接收輸入,並顯示輸出給使用者,但輸入及輸出本身皆係在伺服器計算裝置102端虛擬客戶計算環境108內作處理。因此,當需要增加處理功率時,僅需要增加伺服器計算裝置102之硬體的功率,而非遠端客戶計算裝置104之硬體。終端服務及其他類型的客戶計算環境之其他優勢亦可由圖1中電腦架構100來實施。虛擬客戶計算環境108係虛擬環境的意思,係指其並非位於電腦使用者本身的遠端客戶計算裝置104,而是位於通常無法由電腦使用者作實體存取的伺服器計算裝置102。
圖2顯示本發明之一實施例中由執行於虛擬客戶計算環境的客戶應用程式達成高效能繪圖處理之伺服器計算裝置102之架構的詳細描述。虛擬客戶計算環境108包含編碼應用程式202,其係一軟體。伺服器計算環境110包含解碼應用程式204,其亦係一軟體。伺服器計算裝置102亦包含第一佇列210及第二佇列212,分享於虛擬客戶計算環境108以及伺服器計算環境110之間。在本發明之一實施例中,各佇列210及220可由習知微軟視窗應用程式介面(API)建立而成。編碼應用程式202包含第一線程206及第二線程208,而解碼應用程式204包含第三線程214。線程係一個較大之程序或程式的一部分。因此,線程206及208係解碼應用程式202的一部分,而線程214係解碼應用程式204的一部分。應用程式202及204分享佇列210及212。
圖2的架構係以下述的方式運作。線程206在解碼應用程式202內接收繪圖相關指令。與實質或完全於軟體中相比(例如由處理器114所執行之軟體),繪圖相關指令可為得以由繪圖硬體116較快處理為繪圖相關指令回應的一個指令。即,繪圖相關指令係由繪圖硬體處理以提供最大的效益。繪圖相關指令可為OpenGL繪圖相關指令、或另一種類型的繪圖相關指令。
解碼應用程式202的第一線程206將繪圖相關指令置於第一佇列210,如箭頭218所示。若將繪圖相關指令置放於第一佇列210,進而導致佇列210成為非空白(non-empty),即若佇列210在線程206將繪圖相關指令置於佇列210以前係空值,則第一線程206亦喚醒解碼應用程式204的第三線程214。線程214接著接收或消耗第一佇列210的繪圖相關指令,如箭頭220所示。
線程214將繪圖相關指令傳送給繪圖硬體116,如箭頭222所示,而繪圖硬體116將之處理為繪圖相關指令回應。繪圖硬體116將繪圖相關指令處理為繪圖相關指令回應的速度,係比(例如由處理器114所處理之)一般軟體將此類指令處理為此類回應的速度來的快。線程214接收繪圖硬體116的繪圖相關指令回應,亦如箭頭222所示。
解碼應用程式204的第三線程214將繪圖相關指令回應置放於第二佇列212,如箭頭224所示。若將繪圖相關指令回應置放於第二佇列212,進而導致佇列212成為非空白,即若佇列212在線程214放置繪圖相關指令回應於佇列212前係空值,則第三線程214亦喚醒編碼應用程式202的第二線程208。線程208接著接收或消耗第二佇列212的繪圖相關指令回應,如箭頭226所示。線程208將繪圖相關指令回應傳送給遠端客戶計算裝置104的顯示裝置106,如箭頭228所示。舉例而言,若此回應係欲顯示於顯示裝置106的點陣圖(bitmap),則線程208將此回應傳送給顯示裝置106。
藉此,圖2所示之本發明的實施例由繪圖硬體116提供改善的繪圖相關指令處理,由遠端客戶計算裝置104的顯示裝置106進行最終的顯示,雖然顯示裝置106並非直接連接繪圖硬體116。如上述與深層計算虛擬(DCV)習知技術相比,圖2的實施例實施三個線程206、208及214,與兩個佇列210及212,如上述。這三個線程206、208及214以及兩個佇列210及212的使用,對DCV習知技術以及其他習知技術提供圖2之實施例的效能優勢。
現在描述有關圖2之伺服器計算裝置之架構的運作的許多特殊情況以及具體一般面向。首先,第一佇列210可為完全充滿(completely full),使得第一線程206無法在第一佇列210內置放更多的繪圖相關指令。在此範例中,第一線程206進行阻擋,或等待直到第一佇列210不再是完全充滿的狀態,使得第一線程206得以再置放更多繪圖相關指令於第一佇列210。當第三線程214接收或消耗第一佇列210的繪圖相關指令時,第一佇列210成為非空白。當第三線程214接收或消耗佇列210的指令,導致佇列210從充滿的轉換成非充滿時,在一實施例中第三線程214會喚醒第一線程206,以對第一線程206表示其可再將指令置放於第一佇列210。如本發明之一實施例中所實施的喚醒線程,係可藉由傳送習知的線程間微軟視窗事件來實施。
其次,類似地,第二佇列212可為完全充滿的,使得第三線程214無法將更多的繪圖相關指令回應置放於第二佇列212。在此範例中,第三線程214進行阻擋,或等待直到第二佇列212不再為完全充滿的狀態,使得其可再次將更多的繪圖相關指令回應置放於第二佇列212。當第二線程208接收或消耗第二佇列212的繪圖相關指令回應時,第二佇列212成為非充滿的狀態。當第二線程208接收或消耗佇列212的回應,導致佇列212從充滿的狀態轉換為非充滿的狀態時,在一實施例中,其喚醒第三線程214以對第三線程214表示其可再次將回應置放於第二佇列212。
第三,需要知道的是,圖2的實施例中並未將第二佇列212中的繪圖相關指令回應與第一佇列210中的繪圖相關指令相關聯。這是因為繪圖相關指令(例如具體而言OpenGL繪圖相關指令)可能會被分為兩類:非同步指令及同步指令。前者係編碼應用程式202產生繪圖相關指令無須回應之指令。此種指令可包含回覆空的(void)指令,大部分的OpenGL繪圖相關指令以及OpenGL SwapBuffers指令的特殊情況即為此種指令,其回覆與編碼應用程式202相關聯之繪圖硬體框架緩衝的內容。此框架緩衝係被傳送顯示裝置106,但編碼應用程式202無須通知這件事的發生。因此,第二線程208非同步地消耗第二佇列212對SwapBuffers指令的回應。
因此,由於大部分的繪圖相關指令通常是非同步指令,因此無需與第一佇列210中所提供的繪圖相關指令回應相關聯。繪圖相關指令回應可以不受繪圖相關指令的支配獨立地被處理,而後者無需與前者同步。換句話說,編碼應用程式202的第一線程206與第二線程208至少實質獨立地運作,而不受大部分的繪圖相關指令之支配。當第一線程206接收繪圖相關指令時,第一線程206將之置放於第一佇列210,而當第二線程208接收第二佇列212之繪圖相關指令回應時,會將其傳達到顯示裝置106。前者的活動因此與後者的動作並無關聯。
然而,有些繪圖相關指令是同步指令。同步指令是指編碼應用程式202產生的指令需要回覆值的指令。同步繪圖相關指令較不常發生。因此,當遇到這類指令時會實施以下機制。當第一線程206將一同步繪圖相關指令置放於第一佇列210時,第一線程206進行阻擋,並等待此指令的回應抵達第二佇列212。當第二線程208接收或消耗第二佇列212的同步指令回應時,會作信號或通知第一線程206,如箭頭230所示,其可藉由例如使用例如熟此技藝者所知的微軟視窗訊息事件而實施。第一線程206對應地醒來,讀取第二佇列212之結果(其可能係由第二線程208所提供),以及將其回覆至編碼應用程式202。此程序或機制係稱為線程206及208間的會面(rendezvous)。
第四,需要知道的是,除了編碼應用程式202的第一線程206以外,亦需要第二線程208,如以下所述。雖然線程206進行阻擋,直到有同步指令的結果為止,但並不需要處理第二佇列212中的回應,而線程208須處理佇列212內的回應,因為非同步指令(例如SwapBuffer指令)亦可回覆回應。在將非同步指令佇列於佇列210後,線程206即時回覆處理器控制給編碼應用程式202,且並無法確保編碼應用程式202將會導致處理器控制再次執行線程206處理非同步指令的回應。藉此,提供第二線程208使得非同步指令所產生的回應可以即時地被處理。
第五,一般而言需要知道的是,在一實施例中,每個虛擬客戶計算環境內的每個編碼應用程式中皆有一對線程206及208。編碼應用程式202係產生繪圖相關指令(例如OpenGL繪圖相關指令)的一個編碼器。解碼應用程式204是使這些指令產生回應(例如位圖或繪圖提供狀態)的解碼器。
因為大部分的OpenGL繪圖相關指令是非同步指令,所以一旦編碼應用程式產生指令後,無須等待指令的完成而可繼續作處理。編碼應用程式202可簡單地將指令佇列於第一佇列210,以供解碼應用程式204隨後處理。類似地,如上述,解碼應用程式204可非同步地將繪圖相關指令處理為繪圖相關指令回應,將回應佇列於第二佇列212,供編碼應用程式202隨後處理。
圖3顯示本發明之一實施例中可實施為佇列210或佇列212的一代表性佇列302。佇列302係以有關產生線程310及消耗線程312的方式描述。其中佇列302實施為佇列210,第一線程206係產生線程310而第三線程214係消耗線程312。其中佇列302係實施為佇列212,第三佇列214係產生線程310而第二線程208係消耗線程312。
佇列302具有許多佇列項目304A、304B、304C、...304N,共同稱為佇列項目304。每個佇列項目304可儲存一個繪圖相關指令(其中佇列302實施佇列210),或繪圖相關指令回應(其中佇列302實施佇列212)。有二個指標與佇列302相關:頭指標(head pointer)306及尾指標(tail pointer)308。頭指標306通常指向下一個空的佇列項目,其可將指令或指令回應於其處,而尾指標308通常指向包含下一個欲消耗之指令或指令回應的佇列項目。
然而,尾指標308會指向一個空的佇列項目,其中佇列302是完全空的。在此範例中,尾指標308與頭指標306指向相同的空佇列項目。因此,當一開始時,佇列302是空的,而頭指標306及尾指標308兩者皆指向第一佇列項目304A。再者,需要知道的是,頭指標306將會指向一個已被佔用的佇列項目,其中佇列302是完全充滿的。在此情況下,頭指標306與尾指標308指向相同的已被佔用的佇列項目,使得當頭指標306指向一個已被佔用的佇列項目且頭指標306及尾指標308皆指向相同的已被佔用的佇列項目時,得以知道佇列是已完全充滿的。
在本發明之一實施例中,當產生線程310將指令或回應置放於一個佇列項目時,其將指令或回應置於頭指標306所指的佇列項目中,並將頭指標306向右進階至下一個佇列項目(或在另一實施例中,向左進階)。當頭指標306已指向最後一個佇列項目304N時,頭指標306會捲回(roll over),以指向第一個佇列項目304A。需要知道的是,產生線程310僅在佇列項目是空的時候,才會將指令或回應置放於頭指標306所指的佇列項目中。
然而,將指令或回應置放於佇列302後,即使下一個佇列項目是充滿的,產生線程310總會向右進階頭指標306至下一個佇列項目(或在另一個實施例中向左進階)。這是因為指令及回應係以先進先出的方式(FIFO)被置放及消耗。即使此項目是充滿的,但仍可向右進階頭指標306至下一個佇列項目(或在另一實施例中向左進階),因為下一個佇列項目若是充滿的或被佔用,則會是下一個被消耗線程312消耗的佇列項目,使得此佇列項目成為下一個會變成空的佇列項目。亦即,在此範例中,此下一個佇列項目會確保由尾指標308所指的項目。
當消耗線程312接收或消耗佇列項目中的指令或回應時,其接收或消耗尾指標308所指的指令或回應,在本發明之一實施例中並將尾指標308向右進階至下一個佇列項目(或在另一實施例中向左進階)。當尾指標308已指向最後一個指標項目304N時,尾指標308會捲回,並指向第一個佇列項目304A。需要知道的是,消耗線程312僅在佇列項目已被佔用的情況下接收或消耗尾指標308所指的指令或回應。
然而,接收或消耗佇列302的指令或回應後,即使下一個佇列項目是空的,消耗線程312總會將尾指標308向右進階至下一個佇列項目(或在另一實施例中向左進階)。如前述,這是因為指令及回應是以先進先出的方式被置放及消耗。將尾指標308向右進階至下一個佇列項目(或在另一實施例中向左進階)之所以得以達成,係因為若此下一個佇列項目是空的,則其會是另一個指令或回應被產生線程310所置放的下一個佇列項目,使得佇列項目成為被佔用的或充滿的。亦即,在此範例中,此下一個佇列項目會確保是由頭指標306所指的項目。
在本發明之另一實施例中,當頭及尾指標306及308指向相同的佇列項目時,佇列302係被認為是空白的,而當將頭指標306遞增會使其等於或大於尾指標308時,則佇列302會被認為是充滿的。因此,在此實施例中,若遞增頭指標306會使其等於或大於尾指標308,則線程不會遞增頭指標306。先前段落中所描述的任何實施例皆可被實施,此段落中所描述的實施例可被實施,或本發明之其他實施例可被實施。
需要知道的是,佇列302之頭指標306及尾指標308的進階,最理想的情況是可被同步,其可利用熟此技藝者所知的微軟視窗API InterlockedCompareExchangePointer()來實施。產生線程310不能將一個項目增加至一個充滿的佇列中,而消耗線程312不能消耗一個空的佇列中的項目。基於這個原因,需要對指標306及308的進階(或移動)進行同步化。
圖4顯示可作為本發明之一實施例中佇列302之任何佇列項目304的一個代表性佇列項目402。佇列項目402是由幾個位元組404A、404B、404C、...、404M所組成,其共同稱為位元組404。在一實施例中,前二個位元組404A及404B係表示繪圖相關指令或繪圖相關指令回應的一個運作碼(opcode)406。舉例而言,分配有長度為二個無簽署的短整數的運作碼係被辨識為OpenGL指令及回應。剩下的位元組404C到404M係實施作為繪圖相關指令及指令回應的參數408,根據相關的指令或回應其數量及格式會有所不同。舉例而言,OpenGL指令glVertex3fr使用三個參數,每個都是Glfloat類型。
在一實施例中,無論繪圖相關指令或指令回應的類型為何,佇列項目402具有固定的大小,使得並非所有的位元組404皆會被一既定指令或回應的佇列項目402使用。換句話說,某些繪圖相關指令及指令回應可能比其他的指令及指令回應來的長。因此,在此實施例中,佇列項目402會固定為可保留最大的繪圖相關指令或指令回應的大小,進而得以確保佇列項目402可保留任何所需的繪圖相關指令或指令回應。
圖5A、5B、5C及5D分別顯示根據本發明之不同實施例的方法500、520、540及560,在虛擬客戶計算環境中達成高效能繪圖相關指令處理。方法500、520、540及560一起形成一個達成高效能繪圖相關指令處理的方法。然而,方法500、520、540及560可同時實質上地相互運作,而且獨立於其他方法自行運作。方法500、520、540及560是否運作,大部分係分別根據是否有指令欲置放於第一佇列210、第一佇列210中的指令是否欲被消耗、第二佇列212中是否置有回應、以及第二佇列212中的回應是否將被消耗而定。
首先參閱圖5A,方法500的運作,是在繪圖相關指令由第一線程206接收(502),如虛擬客戶計算環境108所發布的指令,比方由執行於其環境中的編碼應用程式202時。第一線程206試圖將繪圖相關指令置放於第一佇列210(504)。若頭指標為第一佇列210所指的佇列項目是充滿的(506),則第一線程206進行阻擋,直到第三線程214將其喚醒(508)。在某個時間點,此佇列項目會是或成為空的,使得第一線程206將指令置放於頭指標所指的佇列項目(510)。第一線程206接著將頭指標在第一佇列210內進階至下一個佇列項目(512)。
若指令置放於頭指標所指的佇列項目的510部分導致佇列210成為非空白的(514)(即佇列210先前是空的但現在不是空的),則第一線程206亦會為第三佇列214喚醒第三線程214(506)以消耗此指令。方法500接著結束(518),但是每次繪圖相關指令由第一線程206接收,並置放於第一佇列210時,則會重複此方法。亦即,每次第一線程206被編碼應用程式輸入以發佈繪圖相關指令時,即會重複方法500。
接著參閱圖5B,當第一佇列210的繪圖相關指令被第三線程214接收時,則會運作方法520。方法520的描述開始於當第三線程214試圖接收第一佇列210的繪圖相關指令(522)。因此,若尾指標為佇列210所指的佇列項目是空的(524)時,則第三線程214進行阻擋,直到第一線程206將其喚醒(526),以表示第一佇列210中現有指令將被消耗。實際上,接著方法520開始於526的部分,由於起初其並非醒著,直到在第一佇列210中有指令為止。然而,在圖5B中,方法520的描述開始於522部分,試圖接收佇列210的繪圖相關指令,以跟5A之方法500的描述一致及對應。
因此,最終第三線程214接收尾指標所指的佇列項目中的指令(528)。指令的接收消耗了佇列項目中的指令,使得此佇列項目接著變成空的。第三線程214進階尾指標以指向第一佇列210中的下一個佇列項目(530)。再者,若尾指標所指的佇列項目中的指令之接收,導致佇列210變成非空的(532)(即先前是滿的而目前不再是滿的),則第三線程214喚醒第一線程206(534),其可能已在圖5之方法500中的528部分作阻擋。第三線程214最終地將繪圖相關指令傳送給繪圖硬體116作處理(536)。第三線程214接著重複方法520,開始於522。亦即,第三線程214可在某時間點接收佇列210內的所有指令,使得其在526部分作阻擋。
接著參考圖5C,當繪圖硬體116的繪圖相關指令回應被第三線程214接收時(542),會運作方法540。方法540係由第三線程214與圖5B的方法520一同運作。因此,第三線程214在方法520的526部分作阻擋表示其相對方法520作阻擋,而非相對圖5C的方法540。類似地,第三線程214在方法540的548部分作阻擋,係指其相對方法40作阻擋,而非相對圖5B之方法520。
第三線程214試圖將繪圖相關指令回應置放於第二佇列212(544)。若頭指標為第二佇列212所指的佇列項目是充滿的(546),則第三線程214會作阻擋,直到第二線程208將其喚醒(548)。在某時間點,此佇列項目會是,或成為空的,使得第三線程214將回應置放於頭指標所指的佇列項目中(550)。第三線程214接著進階頭指標至第二佇列212內的下一個佇列項目(552)。
若於550的部分指令置放於頭指標所指的佇列項目的位置,導致佇列212成為非空白的(554)(即佇列212先前是空的但現在不是空的),則第三線程214亦會叫醒第二線程208(556),以供第二線程208消耗此回應。方法540接著結束(558),但是每次繪圖相關指令回應由第三線程214接收並置放於第二佇列212時,則會重複此方法。亦即,每次第三線程214接收繪圖硬體116之回應時,即會重複方法540。
最後參閱圖5D,當第二線程208將接收第二佇列212的繪圖相關指令回應時,則會運作方法560。方法560的描述開始於當第二線程208試圖接收第二佇列212的繪圖相關指令(522)時。因此,若尾指標為佇列212所指的佇列項目是空的(564),則第二線程208會作阻擋,直到第三線程214將其喚醒(566),以表示第二佇列212中現有指令將被消耗。實際上,接著,方法560開始於566的部分,由於起初其並非醒著,直到第二佇列212有指令為止。然而,在圖5D中,方法560的描述開始於562部分,試圖接收佇列212的繪圖相關指令,以跟5C之方法540的描述一致及對應。
因此,最終第二線程208接收尾指標所指的佇列項目中的指令(568)。指令的接收消耗了佇列項目中的指令,使得此佇列項目接著變成空的。第二線程208進階尾指標以指向第二佇列212中的下一個佇列項目(570)。再者,若尾指標所指的佇列項目中的指令之接收,導致佇列212變成非空的(572)(即先前是滿的而目前不再是滿的),則第二線程208喚醒第三線程214(574),其可能已在圖5C之方法540中的548部分作阻擋。第二線程208最終地將繪圖相關指令傳送給遠端客戶計算裝置104的顯示裝置106作處理(576)。第二線程208接著重複方法560,開始於562。亦即,第二線程208可在某時間點接收佇列212內的所有指令,使得其在566部分作阻擋。
需要知道的是,雖然具體實施例已在此作說明及描述,但熟此技藝者皆知任何用以達成相同目的的安排亦可代替在此所顯示之實施例。因此本申請意在涵蓋本發明之實施例的任何潤飾或變化。舉例而言,本發明之實施例已在此針對繪圖相關硬體將繪圖相關指令處理為繪圖相關指令回應作實質描述。然而,本發明之其他實施例亦適用於其他類型的硬體,供其將其他類型的指令處理為其他類型的指令回應。因此,本發明的範圍僅限定於以下申請專利範圍及其均等者。
100...電腦架構
102...伺服器計算裝置
104...遠端客戶計算裝置
106...顯示裝置
108...虛擬客戶計算環境
110...伺服器計算環境
112...客戶應用程式
114...處理器
116...繪圖硬體
202...編碼應用程式
206...第一線程
208...第二線程
210、212...佇列
214...線程
220、222、224、226、228、230...箭頭
302...代表性佇列
304...佇列項目
306...頭指標
308...尾指標
310...產生線程
312...消耗線程
402...佇列項目
404...位元組
406...運作碼
408...參數
在此所參考的圖式係本說明書之一部分。圖式中所顯示的特徵僅用描述本發明之某些實施例,而非本發明所有的實施例,除非另有明確的表示,且並沒有特別作相反的暗示。
圖1係本發明之一實施例實施虛擬客戶計算環境之一電腦架構的圖式;圖2係本發明之一實施例之架構圖,顯示在虛擬客戶計算環境達到高效能繪圖相關指令處理的伺服器計算裝置;圖3係本發明之一實施例之示意圖,顯示圖2之電腦架構內所實施的佇列;圖4係本發明之一實施例之示意圖,顯示圖3之佇列內所實施的佇列項目;以及圖5A、5B、5C及5D係本發明之許多實施例的流程圖,顯示在一虛擬客戶計算環境內達到高效能繪圖相關指令處理之方法。
100...電腦架構
102...伺服器計算裝置
104...遠端客戶計算裝置
106...顯示裝置
108...虛擬客戶計算環境
110...伺服器計算環境
112...客戶應用程式
114...處理器
116...繪圖硬體
Claims (18)
- 一種伺服器計算裝置,包含:繪圖硬體,用於將繪圖相關指令處理為繪圖相關指令回應;一第一佇列以及一第二佇列;一客作業系統;一虛擬客戶計算環境,其於該客作業系統內執行為一期間且其與一以通訊方式耦接至該伺服器計算裝置的遠端客戶計算裝置進行互動,該遠端客戶計算裝置並非是該伺服器計算裝置的一部份,其中該虛擬客戶計算環境對應於該遠端客戶計算裝置,使得該遠端客戶計算裝置之一使用者的輸入與輸出是運作於該遠端客戶計算裝置,且使得處理該輸入以提供該輸出是運作於該虛擬客戶計算環境,該虛擬客戶計算環境包含:一編碼應用程式,該編碼應用程式執行於用於該遠端客戶計算裝置之該使用者的該虛擬客戶計算環境內,使得該遠端客戶計算裝置的該使用者與該遠端客戶計算裝置進行互動,彷彿該編碼應用程式執行於一安裝於該遠端客戶計算裝置的作業系統,然而實際上該作業系統是安裝於該伺服器計算裝置,並且使得該遠端客戶計算裝置作為一簡單型的終端機,該編碼應用程式用以發布該繪圖相關指令 且包含:一第一線程,以接收該繪圖相關指令,並將該繪圖相關指令置放在該第一佇列;以及一第二線程,以接收來自該第二佇列之該繪圖相關指令回應,以及將該繪圖相關指令回應傳送給該遠端客戶計算裝置的一顯示裝置;一伺服器計算環境,以管理該虛擬客戶計算環境,該伺服器計算環境並非是該虛擬客戶計算環境的一部份,該虛擬客戶計算環境並非是該伺服器計算環境的一部份,並且該伺服器計算環境包含:一解碼應用程式,包含一第三線程,以接收來自該第一佇列之該繪圖相關指令、將該繪圖相關指令傳送給該繪圖硬體作處理、接收來自該繪圖硬體之該繪圖相關指令回應、以及將該繪圖相關指令回應置放於該第二佇列。
- 如請求項1所述之伺服器計算裝置,其中該繪圖相關指令係OpenGL指令。
- 如請求項1所述之伺服器計算裝置,其中該第一佇列包含複數個佇列項目,該第一線程將該繪圖相關指令其中之一置放於由一頭指標(head pointer)所 指的一佇列項目,使得該頭指標會移動至下一個可使用的佇列項目,以及該第三線程接收由一尾指標(tail pointer)所指的一佇列項目中的該繪圖相關指令其中之一,使得該尾指標會移動至具有該繪圖相關指令其中之一的下一個佇列項目。
- 如請求項1所述之伺服器計算裝置,其中該第二佇列包含複數個佇列項目,該第三線程將該繪圖相關指令回應其中之一置放於由一頭指標所指的一佇列項目,使得該頭指標會移動至下一個可使用的佇列項目,以及該第二線程接收由一尾指標所指的一佇列項目中的該繪圖相關指令回應其中之一,使得該尾指標會移動至具有該繪圖相關指令回應其中之一的下一個佇列項目。
- 如請求項1所述之伺服器計算裝置,其中該繪圖相關指令包含一同步繪圖相關指令,該第一線程將該同步繪圖相關指令置放於該第一佇列,並等候將任何進一步的繪圖相關指令置放於該第一佇列,直到該第二線程已接收來自該第二佇列的一繪圖相關指令回應,且其關聯至該同步繪圖相關指令。
- 一種伺服器計算裝置,包含:將特定指令處理為回應的硬體; 一客作業系統;一虛擬客戶計算環境,其於該客作業系統內執行為一期間且其與一以通訊方式耦接至該伺服器計算裝置的遠端客戶計算裝置進行互動,該遠端客戶計算裝置並非是該伺服器計算裝置的一部份,其中該虛擬客戶計算環境對應於該遠端客戶計算裝置,使得該遠端客戶計算裝置之一使用者的輸入與輸出是運作於該遠端客戶計算裝置,且使得處理該輸入以提供該輸出是運作於該虛擬客戶計算環境,該虛擬客戶計算環境用以發布該特定指令並包含:一第一線程,以接收該虛擬客戶計算環境內所發布之該特定指令,以及將該特定指令置放在一第一佇列;以及一第二線程,以接收來自一第二佇列之該回應,以及將該回應傳送給該遠端客戶計算裝置之相對應硬體;一伺服器計算環境,以管理該虛擬客戶計算環境,該伺服器計算環境並非是該虛擬客戶計算環境的一部份,該虛擬客戶計算環境並非是該伺服器計算環境的一部份,並且該伺服器計算環境包含:一第三線程,以接收來自該第一佇列之該特定指令、將該特定指令傳送給該硬體作處理、接收來自該硬體之該回應、以及將該回應 置放於該第二佇列,其中應用程式執行於用於該遠端客戶計算裝置之該使用者的該虛擬客戶計算環境內,使得該遠端客戶計算裝置的該使用者與該遠端客戶計算裝置進行互動,彷彿該應用程式執行於一安裝於該遠端客戶計算裝置的作業系統,然而實際上該作業系統是安裝於該伺服器計算裝置,並且使得該遠端客戶計算裝置作為一簡單型的終端機。
- 如請求項6所述之伺服器計算裝置,其中該虛擬客戶計算環境包含一編碼應用程式,該編碼應用程式包含該第一及該第二線程。
- 如請求項6所述之伺服器計算裝置,其中該伺服器計算環境包含一解碼應用程式,該解碼應用程式包含該第三線程。
- 如請求項6所述之伺服器計算裝置,其中該硬體係繪圖硬體,而該特定指令係繪圖相關指令。
- 一種指令處理方法,包含:由一虛擬客戶計算環境的一第一線程接收一繪圖相關指令,該虛擬客戶計算環境執行為一伺服器計算裝置之一客作業系統的一期間,該繪圖相關 指令係由執行於該伺服器計算裝置之該虛擬客戶計算環境中的一編碼應用程式所發布,該虛擬客戶計算環境係與一以通訊方式耦接至該伺服器計算裝置的遠端客戶計算裝置進行互動,該遠端客戶計算裝置並非是該伺服器計算裝置的一部份,其中該虛擬客戶計算環境對應於該遠端客戶計算裝置,使得該遠端客戶計算裝置之一使用者的輸入與輸出是運作於該遠端客戶計算裝置,且使得處理該輸入以提供該輸出是運作於該虛擬客戶計算環境,該伺服器計算環境係供管理該虛擬客戶計算環境,該伺服器計算環境並非是該虛擬客戶計算環境的一部份,且該虛擬客戶計算環境並非是該伺服器計算環境的一部份;由該第一線程將該繪圖相關指令置放於一第一佇列;由該伺服器計算環境的一第三線程接收來自該第一佇列之該繪圖相關指令;由該第三線程將該繪圖相關指令傳送給該伺服器計算裝置之繪圖硬體,以處理為一繪圖相關指令回應;由該第三線程接收來自該繪圖硬體之該繪圖相關指令回應;由該第三線程將該繪圖相關指令回應置放於一第二佇列; 由該虛擬客戶計算環境之一第二線程接收來自該第二佇列之該繪圖相關指令回應;以及由該第二線程將該繪圖相關指令回應傳送給該遠端客戶計算裝置之一顯示裝置,其中該編碼應用程式執行於用於該遠端客戶計算裝置之該使用者的該虛擬客戶計算環境內,使得該遠端客戶計算裝置的該使用者與該遠端客戶計算裝置進行互動,彷彿該編碼應用程式執行於一安裝於該遠端客戶計算裝置的作業系統,然而實際上該作業系統是安裝於該伺服器計算裝置,並且使得該遠端客戶計算裝置作為一簡單型的終端機。
- 如請求項10所述之方法,其中由該第一線程將該繪圖相關指令置放於該第一佇列之步驟包含,由該第一線程:將該繪圖相關指令置放於由一頭指標所指之該第一佇列的一佇列項目;當該繪圖相關指令於該佇列項目之置放導致該第一佇列成為非空白(non-empty)時,喚醒該第三線程;將該頭指標進階至下一個佇列項目;以及當該第一佇列為完全充滿(completely full)時,進行阻擋(blocking)直到該第一佇列的另一個佇列項目變成空白。
- 如請求項10所述之方法,其中由該第三線程接收來自該第一佇列之該繪圖相關指令之步驟包含,由該第三線程:接收由一尾指標所指之該第一佇列之一佇列項目的該繪圖相關指令;當來自該佇列項目之該繪圖相關指令之接收導致該第一佇列成為非滿(non-full)時,喚醒該第一線程;將該尾指標進階至下一個佇列項目;以及當該第一佇列為完全空(completely empty)時,進行阻擋(blocking)直到該第一佇列的另一個佇列項目變成非空白。
- 如請求項10所述之方法,其中由該第三線程將該繪圖相關指令回應置放於該第二佇列之步驟包含,由該第三線程:將該繪圖相關指令回應置放於由一頭指標所指之該第二佇列之一佇列項目;當該繪圖相關指令回應於該佇列項目之置放導致該第二佇列成為非空白(non-empty)時,喚醒該第二線程;將該頭指標進階至下一個佇列項目;以及當該第二佇列為完全充滿(completely full) 時,進行阻擋(blocking)直到該第二佇列的另一個佇列項目變成空白。
- 如請求項10所述之方法,其中由該第二線程接收來自該第二佇列之該繪圖相關指令回應之步驟包含,由該第二線程:接收由一尾指標所指之該第二佇列之一佇列項目的該繪圖相關指令回應;當來自該佇列項目之該繪圖相關指令回應之接收導致該第二佇列成為非滿(non-full)時,喚醒該第三線程;將該尾指標進階至下一個佇列項目;以及當該第二佇列為完全空(completely empty)時,進行阻擋(blocking)直到該第二佇列的另一個佇列項目變成非空白。
- 如請求項10所述之方法,更包含:在該第一線程將該繪圖相關指令置放於該第一佇列之後:由該第一線程決定該繪圖相關指令係一同步繪圖相關指令;作為回應,該第一線程進行阻擋,使得該第一線程不會將任何進一步的繪圖相關指令置放於該第一佇列; 在該第二線程接收來自該第二佇列的該繪圖相關指令回應之後:由該第二線程決定該繪圖相關指令回應係一同步繪圖相關指令回應;以及作為回應,該第二線程喚醒該第一線程,使得該第一線程可以再次開始將任何進一步的繪圖相關指令置放於該第一佇列。
- 如請求項10所述之方法,其中該繪圖相關指令係OpenGL指令。
- 一種電腦可讀取可記錄式資料儲存媒體,包含:第一電腦程式碼,供接收一虛擬客戶計算環境中所發布之指令,以及供置放該指令於一第一佇列,該虛擬客戶計算環境執行為一伺服器計算裝置之一客作業系統的一期間;第二電腦程式碼,供接收來自一第二佇列之回應,以及供將該回應傳送給一關聯至該虛擬客戶計算環境的遠端客戶計算裝置之相對應硬體;以及第三電腦程式碼,供接收來自該第一佇列之該指令、供將該指令傳送給硬體以將該指令處理為該回應、供接收來自該硬體之該回應、以及供置放該回應至該第二佇列,其中該第三電腦程式碼為一伺服器計算環 境,以管理該虛擬客戶計算環境,該伺服器計算環境與該虛擬客戶計算環境兩者為該伺服器計算裝置的一部份,該伺服器計算裝置以通訊方式耦接至該遠端客戶計算裝置,該伺服器計算裝置並非是該遠端客戶計算裝置的一部份,其中該虛擬客戶計算環境對應於該遠端客戶計算裝置,使得該遠端客戶計算裝置之一使用者的輸入與輸出是運作於該遠端客戶計算裝置,且使得處理該輸入以提供該輸出是運作於該虛擬客戶計算環境,該伺服器計算環境用以管理該虛擬客戶計算環境,該伺服器計算環境並非是該虛擬客戶計算環境的一部份,且該虛擬客戶計算環境並非是該伺服器計算環境的一部份,並且其中應用程式執行於用於該遠端客戶計算裝置之該使用者的該虛擬客戶計算環境內,使得該遠端客戶計算裝置的該使用者與該遠端客戶計算裝置進行互動,彷彿該應用程式執行於一安裝於該遠端客戶計算裝置的作業系統,然而實際上該作業系統是安裝於該伺服器計算裝置,並且使得該遠端客戶計算裝置作為一簡單型的終端機。
- 如請求項17所述之資料儲存媒體,其中該硬體係繪圖硬體,而該指令係繪圖相關指令。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/250,866 US8266232B2 (en) | 2005-10-15 | 2005-10-15 | Hardware processing of commands within virtual client computing environment |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200802099A TW200802099A (en) | 2008-01-01 |
TWI403956B true TWI403956B (zh) | 2013-08-01 |
Family
ID=37499476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW095137542A TWI403956B (zh) | 2005-10-15 | 2006-10-12 | 虛擬客戶計算環境中指令處理伺服器計算裝置、方法與電腦可讀取資料儲存媒體 |
Country Status (9)
Country | Link |
---|---|
US (1) | US8266232B2 (zh) |
EP (1) | EP1934734A1 (zh) |
JP (1) | JP5153637B2 (zh) |
KR (1) | KR101013049B1 (zh) |
CN (1) | CN101288050A (zh) |
BR (1) | BRPI0617372A2 (zh) |
CA (1) | CA2625051C (zh) |
TW (1) | TWI403956B (zh) |
WO (1) | WO2007045591A1 (zh) |
Families Citing this family (358)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8745173B1 (en) | 2011-12-30 | 2014-06-03 | hopTo Inc. | Client computing system for and method of receiving cross-platform remote access to 3D graphics applications |
US9060770B2 (en) | 2003-05-20 | 2015-06-23 | Ethicon Endo-Surgery, Inc. | Robotically-driven surgical instrument with E-beam driver |
US20070084897A1 (en) | 2003-05-20 | 2007-04-19 | Shelton Frederick E Iv | Articulating surgical stapling instrument incorporating a two-piece e-beam firing mechanism |
US11890012B2 (en) | 2004-07-28 | 2024-02-06 | Cilag Gmbh International | Staple cartridge comprising cartridge body and attached support |
US8215531B2 (en) | 2004-07-28 | 2012-07-10 | Ethicon Endo-Surgery, Inc. | Surgical stapling instrument having a medical substance dispenser |
US9072535B2 (en) | 2011-05-27 | 2015-07-07 | Ethicon Endo-Surgery, Inc. | Surgical stapling instruments with rotatable staple deployment arrangements |
US11998198B2 (en) | 2004-07-28 | 2024-06-04 | Cilag Gmbh International | Surgical stapling instrument incorporating a two-piece E-beam firing mechanism |
US11246590B2 (en) | 2005-08-31 | 2022-02-15 | Cilag Gmbh International | Staple cartridge including staple drivers having different unfired heights |
US7934630B2 (en) | 2005-08-31 | 2011-05-03 | Ethicon Endo-Surgery, Inc. | Staple cartridges for forming staples having differing formed staple heights |
US9237891B2 (en) | 2005-08-31 | 2016-01-19 | Ethicon Endo-Surgery, Inc. | Robotically-controlled surgical stapling devices that produce formed staples having different lengths |
US11484312B2 (en) | 2005-08-31 | 2022-11-01 | Cilag Gmbh International | Staple cartridge comprising a staple driver arrangement |
US10159482B2 (en) | 2005-08-31 | 2018-12-25 | Ethicon Llc | Fastener cartridge assembly comprising a fixed anvil and different staple heights |
US7669746B2 (en) | 2005-08-31 | 2010-03-02 | Ethicon Endo-Surgery, Inc. | Staple cartridges for forming staples having differing formed staple heights |
TWI348652B (en) * | 2005-10-17 | 2011-09-11 | Via Tech Inc | Driver assisted asynchronous command processing |
US20070106317A1 (en) | 2005-11-09 | 2007-05-10 | Shelton Frederick E Iv | Hydraulically and electrically actuated articulation joints for surgical instruments |
US7753904B2 (en) | 2006-01-31 | 2010-07-13 | Ethicon Endo-Surgery, Inc. | Endoscopic surgical instrument with a handle that can articulate with respect to the shaft |
US20110295295A1 (en) | 2006-01-31 | 2011-12-01 | Ethicon Endo-Surgery, Inc. | Robotically-controlled surgical instrument having recording capabilities |
US8186555B2 (en) | 2006-01-31 | 2012-05-29 | Ethicon Endo-Surgery, Inc. | Motor-driven surgical cutting and fastening instrument with mechanical closure system |
US7845537B2 (en) | 2006-01-31 | 2010-12-07 | Ethicon Endo-Surgery, Inc. | Surgical instrument having recording capabilities |
US11278279B2 (en) | 2006-01-31 | 2022-03-22 | Cilag Gmbh International | Surgical instrument assembly |
US11793518B2 (en) | 2006-01-31 | 2023-10-24 | Cilag Gmbh International | Powered surgical instruments with firing system lockout arrangements |
US8820603B2 (en) | 2006-01-31 | 2014-09-02 | Ethicon Endo-Surgery, Inc. | Accessing data stored in a memory of a surgical instrument |
US20120292367A1 (en) | 2006-01-31 | 2012-11-22 | Ethicon Endo-Surgery, Inc. | Robotically-controlled end effector |
US11224427B2 (en) | 2006-01-31 | 2022-01-18 | Cilag Gmbh International | Surgical stapling system including a console and retraction assembly |
US20110024477A1 (en) | 2009-02-06 | 2011-02-03 | Hall Steven G | Driven Surgical Stapler Improvements |
US8708213B2 (en) | 2006-01-31 | 2014-04-29 | Ethicon Endo-Surgery, Inc. | Surgical instrument having a feedback system |
US8992422B2 (en) | 2006-03-23 | 2015-03-31 | Ethicon Endo-Surgery, Inc. | Robotically-controlled endoscopic accessory channel |
US8322455B2 (en) | 2006-06-27 | 2012-12-04 | Ethicon Endo-Surgery, Inc. | Manually driven surgical cutting and fastening instrument |
US10568652B2 (en) | 2006-09-29 | 2020-02-25 | Ethicon Llc | Surgical staples having attached drivers of different heights and stapling instruments for deploying the same |
US11980366B2 (en) | 2006-10-03 | 2024-05-14 | Cilag Gmbh International | Surgical instrument |
US8684253B2 (en) | 2007-01-10 | 2014-04-01 | Ethicon Endo-Surgery, Inc. | Surgical instrument with wireless communication between a control unit of a robotic system and remote sensor |
US11291441B2 (en) | 2007-01-10 | 2022-04-05 | Cilag Gmbh International | Surgical instrument with wireless communication between control unit and remote sensor |
US8632535B2 (en) | 2007-01-10 | 2014-01-21 | Ethicon Endo-Surgery, Inc. | Interlock and surgical instrument including same |
US8701958B2 (en) | 2007-01-11 | 2014-04-22 | Ethicon Endo-Surgery, Inc. | Curved end effector for a surgical stapling device |
US11039836B2 (en) | 2007-01-11 | 2021-06-22 | Cilag Gmbh International | Staple cartridge for use with a surgical stapling instrument |
US7735703B2 (en) | 2007-03-15 | 2010-06-15 | Ethicon Endo-Surgery, Inc. | Re-loadable surgical stapling instrument |
US8931682B2 (en) | 2007-06-04 | 2015-01-13 | Ethicon Endo-Surgery, Inc. | Robotically-controlled shaft based rotary drive systems for surgical instruments |
US11672531B2 (en) | 2007-06-04 | 2023-06-13 | Cilag Gmbh International | Rotary drive systems for surgical instruments |
US7753245B2 (en) | 2007-06-22 | 2010-07-13 | Ethicon Endo-Surgery, Inc. | Surgical stapling instruments |
US11849941B2 (en) | 2007-06-29 | 2023-12-26 | Cilag Gmbh International | Staple cartridge having staple cavities extending at a transverse angle relative to a longitudinal cartridge axis |
EP2293192B1 (en) * | 2008-01-27 | 2021-03-31 | Citrix Systems, Inc. | Methods and systems for remoting three dimensional graphics |
US9179912B2 (en) | 2008-02-14 | 2015-11-10 | Ethicon Endo-Surgery, Inc. | Robotically-controlled motorized surgical cutting and fastening instrument |
RU2493788C2 (ru) | 2008-02-14 | 2013-09-27 | Этикон Эндо-Серджери, Инк. | Хирургический режущий и крепежный инструмент, имеющий радиочастотные электроды |
US7819298B2 (en) | 2008-02-14 | 2010-10-26 | Ethicon Endo-Surgery, Inc. | Surgical stapling apparatus with control features operable with one hand |
US7866527B2 (en) | 2008-02-14 | 2011-01-11 | Ethicon Endo-Surgery, Inc. | Surgical stapling apparatus with interlockable firing system |
US11986183B2 (en) | 2008-02-14 | 2024-05-21 | Cilag Gmbh International | Surgical cutting and fastening instrument comprising a plurality of sensors to measure an electrical parameter |
US8573465B2 (en) | 2008-02-14 | 2013-11-05 | Ethicon Endo-Surgery, Inc. | Robotically-controlled surgical end effector system with rotary actuated closure systems |
US8636736B2 (en) | 2008-02-14 | 2014-01-28 | Ethicon Endo-Surgery, Inc. | Motorized surgical cutting and fastening instrument |
US20130153641A1 (en) | 2008-02-15 | 2013-06-20 | Ethicon Endo-Surgery, Inc. | Releasable layer of material and surgical end effector having the same |
US11648005B2 (en) | 2008-09-23 | 2023-05-16 | Cilag Gmbh International | Robotically-controlled motorized surgical instrument with an end effector |
US8210411B2 (en) | 2008-09-23 | 2012-07-03 | Ethicon Endo-Surgery, Inc. | Motor-driven surgical cutting instrument |
US9386983B2 (en) | 2008-09-23 | 2016-07-12 | Ethicon Endo-Surgery, Llc | Robotically-controlled motorized surgical instrument |
US9005230B2 (en) | 2008-09-23 | 2015-04-14 | Ethicon Endo-Surgery, Inc. | Motorized surgical instrument |
US8608045B2 (en) | 2008-10-10 | 2013-12-17 | Ethicon Endo-Sugery, Inc. | Powered surgical cutting and stapling apparatus with manually retractable firing system |
US8517239B2 (en) | 2009-02-05 | 2013-08-27 | Ethicon Endo-Surgery, Inc. | Surgical stapling instrument comprising a magnetic element driver |
CA2751664A1 (en) | 2009-02-06 | 2010-08-12 | Ethicon Endo-Surgery, Inc. | Driven surgical stapler improvements |
US8851354B2 (en) | 2009-12-24 | 2014-10-07 | Ethicon Endo-Surgery, Inc. | Surgical cutting instrument that analyzes tissue thickness |
US8783543B2 (en) | 2010-07-30 | 2014-07-22 | Ethicon Endo-Surgery, Inc. | Tissue acquisition arrangements and methods for surgical stapling devices |
US9386988B2 (en) | 2010-09-30 | 2016-07-12 | Ethicon End-Surgery, LLC | Retainer assembly including a tissue thickness compensator |
US11812965B2 (en) | 2010-09-30 | 2023-11-14 | Cilag Gmbh International | Layer of material for a surgical end effector |
US8978954B2 (en) | 2010-09-30 | 2015-03-17 | Ethicon Endo-Surgery, Inc. | Staple cartridge comprising an adjustable distal portion |
US11298125B2 (en) | 2010-09-30 | 2022-04-12 | Cilag Gmbh International | Tissue stapler having a thickness compensator |
US10945731B2 (en) | 2010-09-30 | 2021-03-16 | Ethicon Llc | Tissue thickness compensator comprising controlled release and expansion |
US9629814B2 (en) | 2010-09-30 | 2017-04-25 | Ethicon Endo-Surgery, Llc | Tissue thickness compensator configured to redistribute compressive forces |
US9861361B2 (en) | 2010-09-30 | 2018-01-09 | Ethicon Llc | Releasable tissue thickness compensator and fastener cartridge having the same |
US11849952B2 (en) | 2010-09-30 | 2023-12-26 | Cilag Gmbh International | Staple cartridge comprising staples positioned within a compressible portion thereof |
US9211120B2 (en) | 2011-04-29 | 2015-12-15 | Ethicon Endo-Surgery, Inc. | Tissue thickness compensator comprising a plurality of medicaments |
US8695866B2 (en) | 2010-10-01 | 2014-04-15 | Ethicon Endo-Surgery, Inc. | Surgical instrument having a power control circuit |
US8786619B2 (en) * | 2011-02-25 | 2014-07-22 | Adobe Systems Incorporated | Parallelized definition and display of content in a scripting environment |
US9330430B2 (en) * | 2011-03-21 | 2016-05-03 | Apple Inc. | Fast queries in a multithreaded queue of a graphics system |
CA2834649C (en) | 2011-04-29 | 2021-02-16 | Ethicon Endo-Surgery, Inc. | Staple cartridge comprising staples positioned within a compressible portion thereof |
US20120291034A1 (en) * | 2011-05-14 | 2012-11-15 | International Business Machines Corporation | Techniques for executing threads in a computing environment |
US11207064B2 (en) | 2011-05-27 | 2021-12-28 | Cilag Gmbh International | Automated end effector component reloading system for use with a robotic system |
US8689237B2 (en) * | 2011-09-22 | 2014-04-01 | Oracle International Corporation | Multi-lane concurrent bag for facilitating inter-thread communication |
US8769052B1 (en) | 2011-12-30 | 2014-07-01 | hopTo Inc. | Cloud-based server computing system for and method of providing cross-platform remote access to 3D graphics applications |
US8838749B1 (en) | 2011-12-30 | 2014-09-16 | hopTo Inc. | Cloud based client computing system for and method of receiving cross-platform remote access to 3D graphics applications |
US8766990B1 (en) | 2011-12-30 | 2014-07-01 | hopTo Inc. | Server computing system for and method of providing cross-platform remote access to 3D graphics applications |
US9609020B2 (en) * | 2012-01-06 | 2017-03-28 | Optio Labs, Inc. | Systems and methods to enforce security policies on the loading, linking, and execution of native code by mobile applications running inside of virtual machines |
US9787681B2 (en) | 2012-01-06 | 2017-10-10 | Optio Labs, Inc. | Systems and methods for enforcing access control policies on privileged accesses for mobile devices |
CA2860917A1 (en) | 2012-01-06 | 2013-07-11 | Optio Labs, LLC | Systems and methods for enforcing security in mobile computing |
KR101335711B1 (ko) | 2012-01-20 | 2013-12-04 | 연세대학교 산학협력단 | 서버, 연산 처리 방법 및 연산 처리 시스템 |
RU2639857C2 (ru) | 2012-03-28 | 2017-12-22 | Этикон Эндо-Серджери, Инк. | Компенсатор толщины ткани, содержащий капсулу для среды с низким давлением |
MX353040B (es) | 2012-03-28 | 2017-12-18 | Ethicon Endo Surgery Inc | Unidad retenedora que incluye un compensador de grosor de tejido. |
RU2014143258A (ru) | 2012-03-28 | 2016-05-20 | Этикон Эндо-Серджери, Инк. | Компенсатор толщины ткани, содержащий множество слоев |
US9101358B2 (en) | 2012-06-15 | 2015-08-11 | Ethicon Endo-Surgery, Inc. | Articulatable surgical instrument comprising a firing drive |
US9289256B2 (en) | 2012-06-28 | 2016-03-22 | Ethicon Endo-Surgery, Llc | Surgical end effectors having angled tissue-contacting surfaces |
EP2866686A1 (en) | 2012-06-28 | 2015-05-06 | Ethicon Endo-Surgery, Inc. | Empty clip cartridge lockout |
US9408606B2 (en) | 2012-06-28 | 2016-08-09 | Ethicon Endo-Surgery, Llc | Robotically powered surgical device with manually-actuatable reversing system |
BR112014032776B1 (pt) | 2012-06-28 | 2021-09-08 | Ethicon Endo-Surgery, Inc | Sistema de instrumento cirúrgico e kit cirúrgico para uso com um sistema de instrumento cirúrgico |
US20140001231A1 (en) | 2012-06-28 | 2014-01-02 | Ethicon Endo-Surgery, Inc. | Firing system lockout arrangements for surgical instruments |
US11197671B2 (en) | 2012-06-28 | 2021-12-14 | Cilag Gmbh International | Stapling assembly comprising a lockout |
US9282974B2 (en) | 2012-06-28 | 2016-03-15 | Ethicon Endo-Surgery, Llc | Empty clip cartridge lockout |
US9773107B2 (en) | 2013-01-07 | 2017-09-26 | Optio Labs, Inc. | Systems and methods for enforcing security in mobile computing |
TWI479422B (zh) * | 2013-01-25 | 2015-04-01 | Wistron Corp | 電腦系統及其繪圖處理方法 |
RU2669463C2 (ru) | 2013-03-01 | 2018-10-11 | Этикон Эндо-Серджери, Инк. | Хирургический инструмент с мягким упором |
RU2672520C2 (ru) | 2013-03-01 | 2018-11-15 | Этикон Эндо-Серджери, Инк. | Шарнирно поворачиваемые хирургические инструменты с проводящими путями для передачи сигналов |
US9578445B2 (en) | 2013-03-13 | 2017-02-21 | Optio Labs, Inc. | Systems and methods to synchronize data to a mobile device based on a device usage context |
US9629623B2 (en) | 2013-03-14 | 2017-04-25 | Ethicon Endo-Surgery, Llc | Drive system lockout arrangements for modular surgical instruments |
US9629629B2 (en) | 2013-03-14 | 2017-04-25 | Ethicon Endo-Surgey, LLC | Control systems for surgical instruments |
US9867612B2 (en) | 2013-04-16 | 2018-01-16 | Ethicon Llc | Powered surgical stapler |
BR112015026109B1 (pt) | 2013-04-16 | 2022-02-22 | Ethicon Endo-Surgery, Inc | Instrumento cirúrgico |
US9808249B2 (en) | 2013-08-23 | 2017-11-07 | Ethicon Llc | Attachment portions for surgical instrument assemblies |
MX369362B (es) | 2013-08-23 | 2019-11-06 | Ethicon Endo Surgery Llc | Dispositivos de retraccion de miembros de disparo para instrumentos quirurgicos electricos. |
US9280845B2 (en) * | 2013-12-27 | 2016-03-08 | Qualcomm Incorporated | Optimized multi-pass rendering on tiled base architectures |
US9344733B2 (en) | 2013-12-27 | 2016-05-17 | Samsung Electronics Co., Ltd. | Feature-based cloud computing architecture for physics engine |
US9962161B2 (en) | 2014-02-12 | 2018-05-08 | Ethicon Llc | Deliverable surgical instrument |
BR112016021943B1 (pt) | 2014-03-26 | 2022-06-14 | Ethicon Endo-Surgery, Llc | Instrumento cirúrgico para uso por um operador em um procedimento cirúrgico |
US9820738B2 (en) | 2014-03-26 | 2017-11-21 | Ethicon Llc | Surgical instrument comprising interactive systems |
US9804618B2 (en) | 2014-03-26 | 2017-10-31 | Ethicon Llc | Systems and methods for controlling a segmented circuit |
US9801628B2 (en) | 2014-09-26 | 2017-10-31 | Ethicon Llc | Surgical staple and driver arrangements for staple cartridges |
US10542988B2 (en) | 2014-04-16 | 2020-01-28 | Ethicon Llc | End effector comprising an anvil including projections extending therefrom |
JP6612256B2 (ja) | 2014-04-16 | 2019-11-27 | エシコン エルエルシー | 不均一な締結具を備える締結具カートリッジ |
US20150297223A1 (en) | 2014-04-16 | 2015-10-22 | Ethicon Endo-Surgery, Inc. | Fastener cartridges including extensions having different configurations |
JP6636452B2 (ja) | 2014-04-16 | 2020-01-29 | エシコン エルエルシーEthicon LLC | 異なる構成を有する延在部を含む締結具カートリッジ |
CN106456159B (zh) | 2014-04-16 | 2019-03-08 | 伊西康内外科有限责任公司 | 紧固件仓组件和钉保持器盖布置结构 |
BR112017004361B1 (pt) | 2014-09-05 | 2023-04-11 | Ethicon Llc | Sistema eletrônico para um instrumento cirúrgico |
US10016199B2 (en) | 2014-09-05 | 2018-07-10 | Ethicon Llc | Polarity of hall magnet to identify cartridge type |
US11311294B2 (en) | 2014-09-05 | 2022-04-26 | Cilag Gmbh International | Powered medical device including measurement of closure state of jaws |
US10105142B2 (en) | 2014-09-18 | 2018-10-23 | Ethicon Llc | Surgical stapler with plurality of cutting elements |
US11523821B2 (en) | 2014-09-26 | 2022-12-13 | Cilag Gmbh International | Method for creating a flexible staple line |
MX2017003960A (es) | 2014-09-26 | 2017-12-04 | Ethicon Llc | Refuerzos de grapas quirúrgicas y materiales auxiliares. |
US9924944B2 (en) | 2014-10-16 | 2018-03-27 | Ethicon Llc | Staple cartridge comprising an adjunct material |
US11141153B2 (en) | 2014-10-29 | 2021-10-12 | Cilag Gmbh International | Staple cartridges comprising driver arrangements |
US10517594B2 (en) | 2014-10-29 | 2019-12-31 | Ethicon Llc | Cartridge assemblies for surgical staplers |
US9844376B2 (en) | 2014-11-06 | 2017-12-19 | Ethicon Llc | Staple cartridge comprising a releasable adjunct material |
US10736636B2 (en) | 2014-12-10 | 2020-08-11 | Ethicon Llc | Articulatable surgical instrument system |
RU2703684C2 (ru) | 2014-12-18 | 2019-10-21 | ЭТИКОН ЭНДО-СЕРДЖЕРИ, ЭлЭлСи | Хирургический инструмент с упором, который выполнен с возможностью избирательного перемещения относительно кассеты со скобами вокруг дискретной неподвижной оси |
US9987000B2 (en) | 2014-12-18 | 2018-06-05 | Ethicon Llc | Surgical instrument assembly comprising a flexible articulation system |
US9844374B2 (en) | 2014-12-18 | 2017-12-19 | Ethicon Llc | Surgical instrument systems comprising an articulatable end effector and means for adjusting the firing stroke of a firing member |
US9968355B2 (en) | 2014-12-18 | 2018-05-15 | Ethicon Llc | Surgical instruments with articulatable end effectors and improved firing beam support arrangements |
US10085748B2 (en) | 2014-12-18 | 2018-10-02 | Ethicon Llc | Locking arrangements for detachable shaft assemblies with articulatable surgical end effectors |
US9844375B2 (en) | 2014-12-18 | 2017-12-19 | Ethicon Llc | Drive arrangements for articulatable surgical instruments |
US11154301B2 (en) | 2015-02-27 | 2021-10-26 | Cilag Gmbh International | Modular stapling assembly |
JP2020121162A (ja) | 2015-03-06 | 2020-08-13 | エシコン エルエルシーEthicon LLC | 測定の安定性要素、クリープ要素、及び粘弾性要素を決定するためのセンサデータの時間依存性評価 |
US10548504B2 (en) | 2015-03-06 | 2020-02-04 | Ethicon Llc | Overlaid multi sensor radio frequency (RF) electrode system to measure tissue compression |
US9993248B2 (en) | 2015-03-06 | 2018-06-12 | Ethicon Endo-Surgery, Llc | Smart sensors with local signal processing |
US10441279B2 (en) | 2015-03-06 | 2019-10-15 | Ethicon Llc | Multiple level thresholds to modify operation of powered surgical instruments |
US10245033B2 (en) | 2015-03-06 | 2019-04-02 | Ethicon Llc | Surgical instrument comprising a lockable battery housing |
US10213201B2 (en) | 2015-03-31 | 2019-02-26 | Ethicon Llc | Stapling end effector configured to compensate for an uneven gap between a first jaw and a second jaw |
US10835249B2 (en) | 2015-08-17 | 2020-11-17 | Ethicon Llc | Implantable layers for a surgical instrument |
US10238386B2 (en) | 2015-09-23 | 2019-03-26 | Ethicon Llc | Surgical stapler having motor control based on an electrical parameter related to a motor current |
US10105139B2 (en) | 2015-09-23 | 2018-10-23 | Ethicon Llc | Surgical stapler having downstream current-based motor control |
US10299878B2 (en) | 2015-09-25 | 2019-05-28 | Ethicon Llc | Implantable adjunct systems for determining adjunct skew |
US10980539B2 (en) | 2015-09-30 | 2021-04-20 | Ethicon Llc | Implantable adjunct comprising bonded layers |
US10285699B2 (en) | 2015-09-30 | 2019-05-14 | Ethicon Llc | Compressible adjunct |
US10603039B2 (en) | 2015-09-30 | 2020-03-31 | Ethicon Llc | Progressively releasable implantable adjunct for use with a surgical stapling instrument |
US11890015B2 (en) | 2015-09-30 | 2024-02-06 | Cilag Gmbh International | Compressible adjunct with crossing spacer fibers |
US10265068B2 (en) | 2015-12-30 | 2019-04-23 | Ethicon Llc | Surgical instruments with separable motors and motor control circuits |
US10368865B2 (en) | 2015-12-30 | 2019-08-06 | Ethicon Llc | Mechanisms for compensating for drivetrain failure in powered surgical instruments |
US10292704B2 (en) | 2015-12-30 | 2019-05-21 | Ethicon Llc | Mechanisms for compensating for battery pack failure in powered surgical instruments |
US11213293B2 (en) | 2016-02-09 | 2022-01-04 | Cilag Gmbh International | Articulatable surgical instruments with single articulation link arrangements |
BR112018016098B1 (pt) | 2016-02-09 | 2023-02-23 | Ethicon Llc | Instrumento cirúrgico |
US10448948B2 (en) | 2016-02-12 | 2019-10-22 | Ethicon Llc | Mechanisms for compensating for drivetrain failure in powered surgical instruments |
US11224426B2 (en) | 2016-02-12 | 2022-01-18 | Cilag Gmbh International | Mechanisms for compensating for drivetrain failure in powered surgical instruments |
US11607239B2 (en) | 2016-04-15 | 2023-03-21 | Cilag Gmbh International | Systems and methods for controlling a surgical stapling and cutting instrument |
US10426467B2 (en) | 2016-04-15 | 2019-10-01 | Ethicon Llc | Surgical instrument with detection sensors |
US10828028B2 (en) | 2016-04-15 | 2020-11-10 | Ethicon Llc | Surgical instrument with multiple program responses during a firing motion |
US10456137B2 (en) | 2016-04-15 | 2019-10-29 | Ethicon Llc | Staple formation detection mechanisms |
US10357247B2 (en) | 2016-04-15 | 2019-07-23 | Ethicon Llc | Surgical instrument with multiple program responses during a firing motion |
US11179150B2 (en) | 2016-04-15 | 2021-11-23 | Cilag Gmbh International | Systems and methods for controlling a surgical stapling and cutting instrument |
US10335145B2 (en) | 2016-04-15 | 2019-07-02 | Ethicon Llc | Modular surgical instrument with configurable operating mode |
US10492783B2 (en) | 2016-04-15 | 2019-12-03 | Ethicon, Llc | Surgical instrument with improved stop/start control during a firing motion |
US11317917B2 (en) | 2016-04-18 | 2022-05-03 | Cilag Gmbh International | Surgical stapling system comprising a lockable firing assembly |
US20170296173A1 (en) | 2016-04-18 | 2017-10-19 | Ethicon Endo-Surgery, Llc | Method for operating a surgical instrument |
US10363037B2 (en) | 2016-04-18 | 2019-07-30 | Ethicon Llc | Surgical instrument system comprising a magnetic lockout |
US10127340B2 (en) | 2016-09-30 | 2018-11-13 | Taiwan Semiconductor Manufacturing Company, Ltd. | Standard cell layout, semiconductor device having engineering change order (ECO) cells and method |
US11134942B2 (en) | 2016-12-21 | 2021-10-05 | Cilag Gmbh International | Surgical stapling instruments and staple-forming anvils |
US20180168598A1 (en) | 2016-12-21 | 2018-06-21 | Ethicon Endo-Surgery, Llc | Staple forming pocket arrangements comprising zoned forming surface grooves |
CN110087565A (zh) | 2016-12-21 | 2019-08-02 | 爱惜康有限责任公司 | 外科缝合系统 |
US11419606B2 (en) | 2016-12-21 | 2022-08-23 | Cilag Gmbh International | Shaft assembly comprising a clutch configured to adapt the output of a rotary firing member to two different systems |
US10568624B2 (en) | 2016-12-21 | 2020-02-25 | Ethicon Llc | Surgical instruments with jaws that are pivotable about a fixed axis and include separate and distinct closure and firing systems |
JP7010956B2 (ja) | 2016-12-21 | 2022-01-26 | エシコン エルエルシー | 組織をステープル留めする方法 |
US10588632B2 (en) | 2016-12-21 | 2020-03-17 | Ethicon Llc | Surgical end effectors and firing members thereof |
US11090048B2 (en) | 2016-12-21 | 2021-08-17 | Cilag Gmbh International | Method for resetting a fuse of a surgical instrument shaft |
JP7086963B2 (ja) | 2016-12-21 | 2022-06-20 | エシコン エルエルシー | エンドエフェクタロックアウト及び発射アセンブリロックアウトを備える外科用器具システム |
US10485543B2 (en) | 2016-12-21 | 2019-11-26 | Ethicon Llc | Anvil having a knife slot width |
US10758230B2 (en) | 2016-12-21 | 2020-09-01 | Ethicon Llc | Surgical instrument with primary and safety processors |
CN110099619B (zh) | 2016-12-21 | 2022-07-15 | 爱惜康有限责任公司 | 用于外科端部执行器和可替换工具组件的闭锁装置 |
US10736629B2 (en) | 2016-12-21 | 2020-08-11 | Ethicon Llc | Surgical tool assemblies with clutching arrangements for shifting between closure systems with closure stroke reduction features and articulation and firing systems |
US20180168618A1 (en) | 2016-12-21 | 2018-06-21 | Ethicon Endo-Surgery, Llc | Surgical stapling systems |
US10835246B2 (en) | 2016-12-21 | 2020-11-17 | Ethicon Llc | Staple cartridges and arrangements of staples and staple cavities therein |
US10542982B2 (en) | 2016-12-21 | 2020-01-28 | Ethicon Llc | Shaft assembly comprising first and second articulation lockouts |
US20180168615A1 (en) | 2016-12-21 | 2018-06-21 | Ethicon Endo-Surgery, Llc | Method of deforming staples from two different types of staple cartridges with the same surgical stapling instrument |
CN106970580B (zh) * | 2017-04-21 | 2021-02-26 | 北京航天发射技术研究所 | 一种发射车状态的监控方法 |
US10779820B2 (en) | 2017-06-20 | 2020-09-22 | Ethicon Llc | Systems and methods for controlling motor speed according to user input for a surgical instrument |
US11071554B2 (en) | 2017-06-20 | 2021-07-27 | Cilag Gmbh International | Closed loop feedback control of motor velocity of a surgical stapling and cutting instrument based on magnitude of velocity error measurements |
US11382638B2 (en) | 2017-06-20 | 2022-07-12 | Cilag Gmbh International | Closed loop feedback control of motor velocity of a surgical stapling and cutting instrument based on measured time over a specified displacement distance |
US11653914B2 (en) | 2017-06-20 | 2023-05-23 | Cilag Gmbh International | Systems and methods for controlling motor velocity of a surgical stapling and cutting instrument according to articulation angle of end effector |
US10881399B2 (en) | 2017-06-20 | 2021-01-05 | Ethicon Llc | Techniques for adaptive control of motor velocity of a surgical stapling and cutting instrument |
US10980537B2 (en) | 2017-06-20 | 2021-04-20 | Ethicon Llc | Closed loop feedback control of motor velocity of a surgical stapling and cutting instrument based on measured time over a specified number of shaft rotations |
US11090046B2 (en) | 2017-06-20 | 2021-08-17 | Cilag Gmbh International | Systems and methods for controlling displacement member motion of a surgical stapling and cutting instrument |
US10307170B2 (en) | 2017-06-20 | 2019-06-04 | Ethicon Llc | Method for closed loop control of motor velocity of a surgical stapling and cutting instrument |
US11517325B2 (en) | 2017-06-20 | 2022-12-06 | Cilag Gmbh International | Closed loop feedback control of motor velocity of a surgical stapling and cutting instrument based on measured displacement distance traveled over a specified time interval |
US11266405B2 (en) | 2017-06-27 | 2022-03-08 | Cilag Gmbh International | Surgical anvil manufacturing methods |
US11324503B2 (en) | 2017-06-27 | 2022-05-10 | Cilag Gmbh International | Surgical firing member arrangements |
US10993716B2 (en) | 2017-06-27 | 2021-05-04 | Ethicon Llc | Surgical anvil arrangements |
US10631859B2 (en) | 2017-06-27 | 2020-04-28 | Ethicon Llc | Articulation systems for surgical instruments |
USD906355S1 (en) | 2017-06-28 | 2020-12-29 | Ethicon Llc | Display screen or portion thereof with a graphical user interface for a surgical instrument |
EP3420947B1 (en) | 2017-06-28 | 2022-05-25 | Cilag GmbH International | Surgical instrument comprising selectively actuatable rotatable couplers |
US10903685B2 (en) | 2017-06-28 | 2021-01-26 | Ethicon Llc | Surgical shaft assemblies with slip ring assemblies forming capacitive channels |
US11259805B2 (en) | 2017-06-28 | 2022-03-01 | Cilag Gmbh International | Surgical instrument comprising firing member supports |
US10786253B2 (en) | 2017-06-28 | 2020-09-29 | Ethicon Llc | Surgical end effectors with improved jaw aperture arrangements |
US11246592B2 (en) | 2017-06-28 | 2022-02-15 | Cilag Gmbh International | Surgical instrument comprising an articulation system lockable to a frame |
US10765427B2 (en) | 2017-06-28 | 2020-09-08 | Ethicon Llc | Method for articulating a surgical instrument |
US11564686B2 (en) | 2017-06-28 | 2023-01-31 | Cilag Gmbh International | Surgical shaft assemblies with flexible interfaces |
US11678880B2 (en) | 2017-06-28 | 2023-06-20 | Cilag Gmbh International | Surgical instrument comprising a shaft including a housing arrangement |
US10932772B2 (en) | 2017-06-29 | 2021-03-02 | Ethicon Llc | Methods for closed loop velocity control for robotic surgical instrument |
US11471155B2 (en) | 2017-08-03 | 2022-10-18 | Cilag Gmbh International | Surgical system bailout |
US11304695B2 (en) | 2017-08-03 | 2022-04-19 | Cilag Gmbh International | Surgical system shaft interconnection |
US11944300B2 (en) | 2017-08-03 | 2024-04-02 | Cilag Gmbh International | Method for operating a surgical system bailout |
US11974742B2 (en) | 2017-08-03 | 2024-05-07 | Cilag Gmbh International | Surgical system comprising an articulation bailout |
US11399829B2 (en) | 2017-09-29 | 2022-08-02 | Cilag Gmbh International | Systems and methods of initiating a power shutdown mode for a surgical instrument |
USD907648S1 (en) | 2017-09-29 | 2021-01-12 | Ethicon Llc | Display screen or portion thereof with animated graphical user interface |
US10743872B2 (en) | 2017-09-29 | 2020-08-18 | Ethicon Llc | System and methods for controlling a display of a surgical instrument |
USD907647S1 (en) | 2017-09-29 | 2021-01-12 | Ethicon Llc | Display screen or portion thereof with animated graphical user interface |
US11134944B2 (en) | 2017-10-30 | 2021-10-05 | Cilag Gmbh International | Surgical stapler knife motion controls |
US11090075B2 (en) | 2017-10-30 | 2021-08-17 | Cilag Gmbh International | Articulation features for surgical end effector |
US10842490B2 (en) | 2017-10-31 | 2020-11-24 | Ethicon Llc | Cartridge body design with force reduction based on firing completion |
US11197670B2 (en) | 2017-12-15 | 2021-12-14 | Cilag Gmbh International | Surgical end effectors with pivotal jaws configured to touch at their respective distal ends when fully closed |
US11033267B2 (en) | 2017-12-15 | 2021-06-15 | Ethicon Llc | Systems and methods of controlling a clamping member firing rate of a surgical instrument |
US11071543B2 (en) | 2017-12-15 | 2021-07-27 | Cilag Gmbh International | Surgical end effectors with clamping assemblies configured to increase jaw aperture ranges |
US10828033B2 (en) | 2017-12-15 | 2020-11-10 | Ethicon Llc | Handheld electromechanical surgical instruments with improved motor control arrangements for positioning components of an adapter coupled thereto |
US10779826B2 (en) | 2017-12-15 | 2020-09-22 | Ethicon Llc | Methods of operating surgical end effectors |
US10869666B2 (en) | 2017-12-15 | 2020-12-22 | Ethicon Llc | Adapters with control systems for controlling multiple motors of an electromechanical surgical instrument |
US10966718B2 (en) | 2017-12-15 | 2021-04-06 | Ethicon Llc | Dynamic clamping assemblies with improved wear characteristics for use in connection with electromechanical surgical instruments |
US11020112B2 (en) | 2017-12-19 | 2021-06-01 | Ethicon Llc | Surgical tools configured for interchangeable use with different controller interfaces |
USD910847S1 (en) | 2017-12-19 | 2021-02-16 | Ethicon Llc | Surgical instrument assembly |
US10835330B2 (en) | 2017-12-19 | 2020-11-17 | Ethicon Llc | Method for determining the position of a rotatable jaw of a surgical instrument attachment assembly |
US11129680B2 (en) | 2017-12-21 | 2021-09-28 | Cilag Gmbh International | Surgical instrument comprising a projector |
US11364027B2 (en) | 2017-12-21 | 2022-06-21 | Cilag Gmbh International | Surgical instrument comprising speed control |
US11311290B2 (en) | 2017-12-21 | 2022-04-26 | Cilag Gmbh International | Surgical instrument comprising an end effector dampener |
US11076853B2 (en) | 2017-12-21 | 2021-08-03 | Cilag Gmbh International | Systems and methods of displaying a knife position during transection for a surgical instrument |
US10642668B2 (en) * | 2018-04-18 | 2020-05-05 | Open Text GXS ULC | Producer-side prioritization of message processing |
US11055128B2 (en) | 2018-07-30 | 2021-07-06 | Open Text GXS ULC | System and method for request isolation |
US11324501B2 (en) | 2018-08-20 | 2022-05-10 | Cilag Gmbh International | Surgical stapling devices with improved closure members |
US10856870B2 (en) | 2018-08-20 | 2020-12-08 | Ethicon Llc | Switching arrangements for motor powered articulatable surgical instruments |
US11039834B2 (en) | 2018-08-20 | 2021-06-22 | Cilag Gmbh International | Surgical stapler anvils with staple directing protrusions and tissue stability features |
US10912559B2 (en) | 2018-08-20 | 2021-02-09 | Ethicon Llc | Reinforced deformable anvil tip for surgical stapler anvil |
US11291440B2 (en) | 2018-08-20 | 2022-04-05 | Cilag Gmbh International | Method for operating a powered articulatable surgical instrument |
USD914878S1 (en) | 2018-08-20 | 2021-03-30 | Ethicon Llc | Surgical instrument anvil |
US11083458B2 (en) | 2018-08-20 | 2021-08-10 | Cilag Gmbh International | Powered surgical instruments with clutching arrangements to convert linear drive motions to rotary drive motions |
US11207065B2 (en) | 2018-08-20 | 2021-12-28 | Cilag Gmbh International | Method for fabricating surgical stapler anvils |
US11045192B2 (en) | 2018-08-20 | 2021-06-29 | Cilag Gmbh International | Fabricating techniques for surgical stapler anvils |
US11253256B2 (en) | 2018-08-20 | 2022-02-22 | Cilag Gmbh International | Articulatable motor powered surgical instruments with dedicated articulation motor arrangements |
US11147553B2 (en) | 2019-03-25 | 2021-10-19 | Cilag Gmbh International | Firing drive arrangements for surgical systems |
US11147551B2 (en) | 2019-03-25 | 2021-10-19 | Cilag Gmbh International | Firing drive arrangements for surgical systems |
US11172929B2 (en) | 2019-03-25 | 2021-11-16 | Cilag Gmbh International | Articulation drive arrangements for surgical systems |
US11696761B2 (en) | 2019-03-25 | 2023-07-11 | Cilag Gmbh International | Firing drive arrangements for surgical systems |
US11903581B2 (en) | 2019-04-30 | 2024-02-20 | Cilag Gmbh International | Methods for stapling tissue using a surgical instrument |
US11452528B2 (en) | 2019-04-30 | 2022-09-27 | Cilag Gmbh International | Articulation actuators for a surgical instrument |
US11253254B2 (en) | 2019-04-30 | 2022-02-22 | Cilag Gmbh International | Shaft rotation actuator on a surgical instrument |
US11426251B2 (en) | 2019-04-30 | 2022-08-30 | Cilag Gmbh International | Articulation directional lights on a surgical instrument |
US11471157B2 (en) | 2019-04-30 | 2022-10-18 | Cilag Gmbh International | Articulation control mapping for a surgical instrument |
US11648009B2 (en) | 2019-04-30 | 2023-05-16 | Cilag Gmbh International | Rotatable jaw tip for a surgical instrument |
US11432816B2 (en) | 2019-04-30 | 2022-09-06 | Cilag Gmbh International | Articulation pin for a surgical instrument |
US11638587B2 (en) | 2019-06-28 | 2023-05-02 | Cilag Gmbh International | RFID identification systems for surgical instruments |
US12004740B2 (en) | 2019-06-28 | 2024-06-11 | Cilag Gmbh International | Surgical stapling system having an information decryption protocol |
US11376098B2 (en) | 2019-06-28 | 2022-07-05 | Cilag Gmbh International | Surgical instrument system comprising an RFID system |
US11523822B2 (en) | 2019-06-28 | 2022-12-13 | Cilag Gmbh International | Battery pack including a circuit interrupter |
US11246678B2 (en) | 2019-06-28 | 2022-02-15 | Cilag Gmbh International | Surgical stapling system having a frangible RFID tag |
US11051807B2 (en) | 2019-06-28 | 2021-07-06 | Cilag Gmbh International | Packaging assembly including a particulate trap |
US11298132B2 (en) | 2019-06-28 | 2022-04-12 | Cilag GmbH Inlernational | Staple cartridge including a honeycomb extension |
US11219455B2 (en) | 2019-06-28 | 2022-01-11 | Cilag Gmbh International | Surgical instrument including a lockout key |
US11291451B2 (en) | 2019-06-28 | 2022-04-05 | Cilag Gmbh International | Surgical instrument with battery compatibility verification functionality |
US11259803B2 (en) | 2019-06-28 | 2022-03-01 | Cilag Gmbh International | Surgical stapling system having an information encryption protocol |
US11771419B2 (en) | 2019-06-28 | 2023-10-03 | Cilag Gmbh International | Packaging for a replaceable component of a surgical stapling system |
US11464601B2 (en) | 2019-06-28 | 2022-10-11 | Cilag Gmbh International | Surgical instrument comprising an RFID system for tracking a movable component |
US11350938B2 (en) | 2019-06-28 | 2022-06-07 | Cilag Gmbh International | Surgical instrument comprising an aligned rfid sensor |
US11684434B2 (en) | 2019-06-28 | 2023-06-27 | Cilag Gmbh International | Surgical RFID assemblies for instrument operational setting control |
US11298127B2 (en) | 2019-06-28 | 2022-04-12 | Cilag GmbH Interational | Surgical stapling system having a lockout mechanism for an incompatible cartridge |
US11399837B2 (en) | 2019-06-28 | 2022-08-02 | Cilag Gmbh International | Mechanisms for motor control adjustments of a motorized surgical instrument |
US11426167B2 (en) | 2019-06-28 | 2022-08-30 | Cilag Gmbh International | Mechanisms for proper anvil attachment surgical stapling head assembly |
US11553971B2 (en) | 2019-06-28 | 2023-01-17 | Cilag Gmbh International | Surgical RFID assemblies for display and communication |
US11478241B2 (en) | 2019-06-28 | 2022-10-25 | Cilag Gmbh International | Staple cartridge including projections |
US11224497B2 (en) | 2019-06-28 | 2022-01-18 | Cilag Gmbh International | Surgical systems with multiple RFID tags |
US11627959B2 (en) | 2019-06-28 | 2023-04-18 | Cilag Gmbh International | Surgical instruments including manual and powered system lockouts |
US11660163B2 (en) | 2019-06-28 | 2023-05-30 | Cilag Gmbh International | Surgical system with RFID tags for updating motor assembly parameters |
US11497492B2 (en) | 2019-06-28 | 2022-11-15 | Cilag Gmbh International | Surgical instrument including an articulation lock |
US11446029B2 (en) | 2019-12-19 | 2022-09-20 | Cilag Gmbh International | Staple cartridge comprising projections extending from a curved deck surface |
US11931033B2 (en) | 2019-12-19 | 2024-03-19 | Cilag Gmbh International | Staple cartridge comprising a latch lockout |
US11844520B2 (en) | 2019-12-19 | 2023-12-19 | Cilag Gmbh International | Staple cartridge comprising driver retention members |
US11234698B2 (en) | 2019-12-19 | 2022-02-01 | Cilag Gmbh International | Stapling system comprising a clamp lockout and a firing lockout |
US11504122B2 (en) | 2019-12-19 | 2022-11-22 | Cilag Gmbh International | Surgical instrument comprising a nested firing member |
US11576672B2 (en) | 2019-12-19 | 2023-02-14 | Cilag Gmbh International | Surgical instrument comprising a closure system including a closure member and an opening member driven by a drive screw |
US11529139B2 (en) | 2019-12-19 | 2022-12-20 | Cilag Gmbh International | Motor driven surgical instrument |
US11529137B2 (en) | 2019-12-19 | 2022-12-20 | Cilag Gmbh International | Staple cartridge comprising driver retention members |
US11464512B2 (en) | 2019-12-19 | 2022-10-11 | Cilag Gmbh International | Staple cartridge comprising a curved deck surface |
US11304696B2 (en) | 2019-12-19 | 2022-04-19 | Cilag Gmbh International | Surgical instrument comprising a powered articulation system |
US11607219B2 (en) | 2019-12-19 | 2023-03-21 | Cilag Gmbh International | Staple cartridge comprising a detachable tissue cutting knife |
US11911032B2 (en) | 2019-12-19 | 2024-02-27 | Cilag Gmbh International | Staple cartridge comprising a seating cam |
US11701111B2 (en) | 2019-12-19 | 2023-07-18 | Cilag Gmbh International | Method for operating a surgical stapling instrument |
US11559304B2 (en) | 2019-12-19 | 2023-01-24 | Cilag Gmbh International | Surgical instrument comprising a rapid closure mechanism |
US11291447B2 (en) | 2019-12-19 | 2022-04-05 | Cilag Gmbh International | Stapling instrument comprising independent jaw closing and staple firing systems |
USD967421S1 (en) | 2020-06-02 | 2022-10-18 | Cilag Gmbh International | Staple cartridge |
USD966512S1 (en) | 2020-06-02 | 2022-10-11 | Cilag Gmbh International | Staple cartridge |
USD975850S1 (en) | 2020-06-02 | 2023-01-17 | Cilag Gmbh International | Staple cartridge |
USD975278S1 (en) | 2020-06-02 | 2023-01-10 | Cilag Gmbh International | Staple cartridge |
USD974560S1 (en) | 2020-06-02 | 2023-01-03 | Cilag Gmbh International | Staple cartridge |
USD976401S1 (en) | 2020-06-02 | 2023-01-24 | Cilag Gmbh International | Staple cartridge |
USD975851S1 (en) | 2020-06-02 | 2023-01-17 | Cilag Gmbh International | Staple cartridge |
US11660090B2 (en) | 2020-07-28 | 2023-05-30 | Cllag GmbH International | Surgical instruments with segmented flexible drive arrangements |
US11717289B2 (en) | 2020-10-29 | 2023-08-08 | Cilag Gmbh International | Surgical instrument comprising an indicator which indicates that an articulation drive is actuatable |
US11617577B2 (en) | 2020-10-29 | 2023-04-04 | Cilag Gmbh International | Surgical instrument comprising a sensor configured to sense whether an articulation drive of the surgical instrument is actuatable |
USD980425S1 (en) | 2020-10-29 | 2023-03-07 | Cilag Gmbh International | Surgical instrument assembly |
US11534259B2 (en) | 2020-10-29 | 2022-12-27 | Cilag Gmbh International | Surgical instrument comprising an articulation indicator |
USD1013170S1 (en) | 2020-10-29 | 2024-01-30 | Cilag Gmbh International | Surgical instrument assembly |
US11844518B2 (en) | 2020-10-29 | 2023-12-19 | Cilag Gmbh International | Method for operating a surgical instrument |
US11779330B2 (en) | 2020-10-29 | 2023-10-10 | Cilag Gmbh International | Surgical instrument comprising a jaw alignment system |
US11452526B2 (en) | 2020-10-29 | 2022-09-27 | Cilag Gmbh International | Surgical instrument comprising a staged voltage regulation start-up system |
US11931025B2 (en) | 2020-10-29 | 2024-03-19 | Cilag Gmbh International | Surgical instrument comprising a releasable closure drive lock |
US11517390B2 (en) | 2020-10-29 | 2022-12-06 | Cilag Gmbh International | Surgical instrument comprising a limited travel switch |
US11896217B2 (en) | 2020-10-29 | 2024-02-13 | Cilag Gmbh International | Surgical instrument comprising an articulation lock |
US11737751B2 (en) | 2020-12-02 | 2023-08-29 | Cilag Gmbh International | Devices and methods of managing energy dissipated within sterile barriers of surgical instrument housings |
US11890010B2 (en) | 2020-12-02 | 2024-02-06 | Cllag GmbH International | Dual-sided reinforced reload for surgical instruments |
US11653920B2 (en) | 2020-12-02 | 2023-05-23 | Cilag Gmbh International | Powered surgical instruments with communication interfaces through sterile barrier |
US11653915B2 (en) | 2020-12-02 | 2023-05-23 | Cilag Gmbh International | Surgical instruments with sled location detection and adjustment features |
US11678882B2 (en) | 2020-12-02 | 2023-06-20 | Cilag Gmbh International | Surgical instruments with interactive features to remedy incidental sled movements |
US11944296B2 (en) | 2020-12-02 | 2024-04-02 | Cilag Gmbh International | Powered surgical instruments with external connectors |
US11744581B2 (en) | 2020-12-02 | 2023-09-05 | Cilag Gmbh International | Powered surgical instruments with multi-phase tissue treatment |
US11849943B2 (en) | 2020-12-02 | 2023-12-26 | Cilag Gmbh International | Surgical instrument with cartridge release mechanisms |
US11627960B2 (en) | 2020-12-02 | 2023-04-18 | Cilag Gmbh International | Powered surgical instruments with smart reload with separately attachable exteriorly mounted wiring connections |
US11950779B2 (en) | 2021-02-26 | 2024-04-09 | Cilag Gmbh International | Method of powering and communicating with a staple cartridge |
US11749877B2 (en) | 2021-02-26 | 2023-09-05 | Cilag Gmbh International | Stapling instrument comprising a signal antenna |
US11812964B2 (en) | 2021-02-26 | 2023-11-14 | Cilag Gmbh International | Staple cartridge comprising a power management circuit |
US11730473B2 (en) | 2021-02-26 | 2023-08-22 | Cilag Gmbh International | Monitoring of manufacturing life-cycle |
US11950777B2 (en) | 2021-02-26 | 2024-04-09 | Cilag Gmbh International | Staple cartridge comprising an information access control system |
US11701113B2 (en) | 2021-02-26 | 2023-07-18 | Cilag Gmbh International | Stapling instrument comprising a separate power antenna and a data transfer antenna |
US11925349B2 (en) | 2021-02-26 | 2024-03-12 | Cilag Gmbh International | Adjustment to transfer parameters to improve available power |
US11751869B2 (en) | 2021-02-26 | 2023-09-12 | Cilag Gmbh International | Monitoring of multiple sensors over time to detect moving characteristics of tissue |
US11723657B2 (en) | 2021-02-26 | 2023-08-15 | Cilag Gmbh International | Adjustable communication based on available bandwidth and power capacity |
US11980362B2 (en) | 2021-02-26 | 2024-05-14 | Cilag Gmbh International | Surgical instrument system comprising a power transfer coil |
US11744583B2 (en) | 2021-02-26 | 2023-09-05 | Cilag Gmbh International | Distal communication array to tune frequency of RF systems |
US11793514B2 (en) | 2021-02-26 | 2023-10-24 | Cilag Gmbh International | Staple cartridge comprising sensor array which may be embedded in cartridge body |
US11696757B2 (en) | 2021-02-26 | 2023-07-11 | Cilag Gmbh International | Monitoring of internal systems to detect and track cartridge motion status |
US11717291B2 (en) | 2021-03-22 | 2023-08-08 | Cilag Gmbh International | Staple cartridge comprising staples configured to apply different tissue compression |
US11723658B2 (en) | 2021-03-22 | 2023-08-15 | Cilag Gmbh International | Staple cartridge comprising a firing lockout |
US11826042B2 (en) | 2021-03-22 | 2023-11-28 | Cilag Gmbh International | Surgical instrument comprising a firing drive including a selectable leverage mechanism |
US11759202B2 (en) | 2021-03-22 | 2023-09-19 | Cilag Gmbh International | Staple cartridge comprising an implantable layer |
US11737749B2 (en) | 2021-03-22 | 2023-08-29 | Cilag Gmbh International | Surgical stapling instrument comprising a retraction system |
US11806011B2 (en) | 2021-03-22 | 2023-11-07 | Cilag Gmbh International | Stapling instrument comprising tissue compression systems |
US11826012B2 (en) | 2021-03-22 | 2023-11-28 | Cilag Gmbh International | Stapling instrument comprising a pulsed motor-driven firing rack |
US11849945B2 (en) | 2021-03-24 | 2023-12-26 | Cilag Gmbh International | Rotary-driven surgical stapling assembly comprising eccentrically driven firing member |
US11849944B2 (en) | 2021-03-24 | 2023-12-26 | Cilag Gmbh International | Drivers for fastener cartridge assemblies having rotary drive screws |
US11786243B2 (en) | 2021-03-24 | 2023-10-17 | Cilag Gmbh International | Firing members having flexible portions for adapting to a load during a surgical firing stroke |
US11896218B2 (en) | 2021-03-24 | 2024-02-13 | Cilag Gmbh International | Method of using a powered stapling device |
US11857183B2 (en) | 2021-03-24 | 2024-01-02 | Cilag Gmbh International | Stapling assembly components having metal substrates and plastic bodies |
US11786239B2 (en) | 2021-03-24 | 2023-10-17 | Cilag Gmbh International | Surgical instrument articulation joint arrangements comprising multiple moving linkage features |
US11832816B2 (en) | 2021-03-24 | 2023-12-05 | Cilag Gmbh International | Surgical stapling assembly comprising nonplanar staples and planar staples |
US11744603B2 (en) | 2021-03-24 | 2023-09-05 | Cilag Gmbh International | Multi-axis pivot joints for surgical instruments and methods for manufacturing same |
US11896219B2 (en) | 2021-03-24 | 2024-02-13 | Cilag Gmbh International | Mating features between drivers and underside of a cartridge deck |
US11903582B2 (en) | 2021-03-24 | 2024-02-20 | Cilag Gmbh International | Leveraging surfaces for cartridge installation |
US11944336B2 (en) | 2021-03-24 | 2024-04-02 | Cilag Gmbh International | Joint arrangements for multi-planar alignment and support of operational drive shafts in articulatable surgical instruments |
US11793516B2 (en) | 2021-03-24 | 2023-10-24 | Cilag Gmbh International | Surgical staple cartridge comprising longitudinal support beam |
US11918217B2 (en) | 2021-05-28 | 2024-03-05 | Cilag Gmbh International | Stapling instrument comprising a staple cartridge insertion stop |
US11957337B2 (en) | 2021-10-18 | 2024-04-16 | Cilag Gmbh International | Surgical stapling assembly with offset ramped drive surfaces |
US11980363B2 (en) | 2021-10-18 | 2024-05-14 | Cilag Gmbh International | Row-to-row staple array variations |
US11877745B2 (en) | 2021-10-18 | 2024-01-23 | Cilag Gmbh International | Surgical stapling assembly having longitudinally-repeating staple leg clusters |
US11937816B2 (en) | 2021-10-28 | 2024-03-26 | Cilag Gmbh International | Electrical lead arrangements for surgical instruments |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6118452A (en) * | 1997-08-05 | 2000-09-12 | Hewlett-Packard Company | Fragment visibility pretest system and methodology for improved performance of a graphics system |
JP2002132489A (ja) * | 2000-08-23 | 2002-05-10 | Nintendo Co Ltd | グラフィクスシステム |
TW541507B (en) * | 2000-09-28 | 2003-07-11 | Intel Corp | Mechanism and method for enabling two graphics controllers to each execute a portion of a single block transform (blt) in parallel |
US20040181579A1 (en) * | 2003-03-13 | 2004-09-16 | Oracle Corporation | Control unit operations in a real-time collaboration server |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5838334A (en) * | 1994-11-16 | 1998-11-17 | Dye; Thomas A. | Memory and graphics controller which performs pointer-based display list video refresh operations |
US6728959B1 (en) * | 1995-08-08 | 2004-04-27 | Novell, Inc. | Method and apparatus for strong affinity multiprocessor scheduling |
US5754839A (en) * | 1995-08-28 | 1998-05-19 | Motorola, Inc. | Apparatus and method for implementing watchpoints and breakpoints in a data processing system |
US5881269A (en) * | 1996-09-30 | 1999-03-09 | International Business Machines Corporation | Simulation of multiple local area network clients on a single workstation |
US6343309B1 (en) * | 1996-09-30 | 2002-01-29 | International Business Machines Corporaton | Method and apparatus for parallelizing a graphics pipeline |
US5818469A (en) | 1997-04-10 | 1998-10-06 | International Business Machines Corporation | Graphics interface processing methodology in symmetric multiprocessing or distributed network environments |
US6038619A (en) * | 1997-05-29 | 2000-03-14 | International Business Machines Corporation | Disk drive initiated data transfers responsive to sequential or near sequential read or write requests |
US6553426B2 (en) * | 1997-10-06 | 2003-04-22 | Sun Microsystems, Inc. | Method apparatus for implementing multiple return sites |
US6049390A (en) * | 1997-11-05 | 2000-04-11 | Barco Graphics Nv | Compressed merging of raster images for high speed digital printing |
US6091422A (en) * | 1998-04-03 | 2000-07-18 | Avid Technology, Inc. | System for editing complex visual data providing a continuously updated rendering |
US6112267A (en) * | 1998-05-28 | 2000-08-29 | Digital Equipment Corporation | Hierarchical ring buffers for buffering data between processor and I/O device permitting data writes by processor and data reads by I/O device simultaneously directed at different buffers at different levels |
US6088044A (en) | 1998-05-29 | 2000-07-11 | International Business Machines Corporation | Method for parallelizing software graphics geometry pipeline rendering |
US6243770B1 (en) * | 1998-07-21 | 2001-06-05 | Micron Technology, Inc. | Method for determining status of multiple interlocking FIFO buffer structures based on the position of at least one pointer of each of the multiple FIFO buffers |
JP3224782B2 (ja) * | 1998-08-03 | 2001-11-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 処理分担動的変更方法及びコンピュータ |
US6771264B1 (en) * | 1998-08-20 | 2004-08-03 | Apple Computer, Inc. | Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor |
US6332161B1 (en) * | 1998-09-25 | 2001-12-18 | Charles Schwab & Co., Inc. | Customer web log-in architecture |
US6753878B1 (en) | 1999-03-08 | 2004-06-22 | Hewlett-Packard Development Company, L.P. | Parallel pipelined merge engines |
US6581102B1 (en) * | 1999-05-27 | 2003-06-17 | International Business Machines Corporation | System and method for integrating arbitrary isochronous processing algorithms in general media processing systems |
US6674805B1 (en) * | 2000-05-02 | 2004-01-06 | Ati Technologies, Inc. | System for controlling a clock signal for synchronizing a counter to a received value and method thereof |
US6986061B1 (en) * | 2000-11-20 | 2006-01-10 | International Business Machines Corporation | Integrated system for network layer security and fine-grained identity-based access control |
US6909836B2 (en) * | 2001-02-07 | 2005-06-21 | Autodesk Canada Inc. | Multi-rate real-time players |
US7230917B1 (en) * | 2001-02-22 | 2007-06-12 | Cisco Technology, Inc. | Apparatus and technique for conveying per-channel flow control information to a forwarding engine of an intermediate network node |
US7064766B2 (en) * | 2001-10-18 | 2006-06-20 | Microsoft Corporation | Intelligent caching data structure for immediate mode graphics |
KR100422252B1 (ko) * | 2001-12-20 | 2004-03-11 | 삼성전자주식회사 | 씬 클라이언트 네트워크 시스템과 그 네트워크 시스템의데이터 전송 방법 |
JP2005506595A (ja) | 2002-01-08 | 2005-03-03 | スプロキット テクノロジーズ,インク. | プラットフォーム独立の分散ユーザインタフェースのシステムアーキテクチャ |
US6853380B2 (en) | 2002-03-04 | 2005-02-08 | Hewlett-Packard Development Company, L.P. | Graphical display system and method |
US20040260921A1 (en) * | 2002-07-18 | 2004-12-23 | Treadwell William S. | Cryptographic method, system and engine for enciphered message transmission |
US7321369B2 (en) * | 2002-08-30 | 2008-01-22 | Intel Corporation | Method and apparatus for synchronizing processing of multiple asynchronous client queues on a graphics controller device |
US7272820B2 (en) * | 2002-12-12 | 2007-09-18 | Extrapoles Pty Limited | Graphical development of fully executable transactional workflow applications with adaptive high-performance capacity |
US7308448B1 (en) * | 2003-03-21 | 2007-12-11 | Sun Microsystems, Inc | Method and apparatus for implementing a lock-free skip list that supports concurrent accesses |
US7088374B2 (en) * | 2003-03-27 | 2006-08-08 | Microsoft Corporation | System and method for managing visual structure, timing, and animation in a graphics processing system |
US7716683B2 (en) * | 2004-12-30 | 2010-05-11 | Graphics Properties Holdings, Inc. | Distributed graphics processing apparatus and method |
US8274518B2 (en) * | 2004-12-30 | 2012-09-25 | Microsoft Corporation | Systems and methods for virtualizing graphics subsystems |
US20060150071A1 (en) * | 2005-01-05 | 2006-07-06 | Microsoft Corporation | Software-based video rendering |
US7716249B2 (en) * | 2005-09-16 | 2010-05-11 | Microsoft Corporation | Transaction and task scheduler |
US20070120865A1 (en) * | 2005-11-29 | 2007-05-31 | Ng Kam L | Applying rendering context in a multi-threaded environment |
-
2005
- 2005-10-15 US US11/250,866 patent/US8266232B2/en not_active Expired - Fee Related
-
2006
- 2006-10-12 CN CNA2006800381863A patent/CN101288050A/zh active Pending
- 2006-10-12 WO PCT/EP2006/067319 patent/WO2007045591A1/en active Application Filing
- 2006-10-12 EP EP06807187A patent/EP1934734A1/en not_active Withdrawn
- 2006-10-12 KR KR1020087008436A patent/KR101013049B1/ko active IP Right Grant
- 2006-10-12 TW TW095137542A patent/TWI403956B/zh not_active IP Right Cessation
- 2006-10-12 BR BRPI0617372-1A patent/BRPI0617372A2/pt not_active Application Discontinuation
- 2006-10-12 JP JP2008535027A patent/JP5153637B2/ja not_active Expired - Fee Related
- 2006-10-12 CA CA2625051A patent/CA2625051C/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6118452A (en) * | 1997-08-05 | 2000-09-12 | Hewlett-Packard Company | Fragment visibility pretest system and methodology for improved performance of a graphics system |
JP2002132489A (ja) * | 2000-08-23 | 2002-05-10 | Nintendo Co Ltd | グラフィクスシステム |
TW541507B (en) * | 2000-09-28 | 2003-07-11 | Intel Corp | Mechanism and method for enabling two graphics controllers to each execute a portion of a single block transform (blt) in parallel |
US20040181579A1 (en) * | 2003-03-13 | 2004-09-16 | Oracle Corporation | Control unit operations in a real-time collaboration server |
Also Published As
Publication number | Publication date |
---|---|
WO2007045591A1 (en) | 2007-04-26 |
US20070088792A1 (en) | 2007-04-19 |
CA2625051C (en) | 2014-05-13 |
BRPI0617372A2 (pt) | 2012-01-03 |
KR101013049B1 (ko) | 2011-02-14 |
US8266232B2 (en) | 2012-09-11 |
TW200802099A (en) | 2008-01-01 |
KR20080059562A (ko) | 2008-06-30 |
CN101288050A (zh) | 2008-10-15 |
JP2009512921A (ja) | 2009-03-26 |
EP1934734A1 (en) | 2008-06-25 |
CA2625051A1 (en) | 2007-04-26 |
JP5153637B2 (ja) | 2013-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI403956B (zh) | 虛擬客戶計算環境中指令處理伺服器計算裝置、方法與電腦可讀取資料儲存媒體 | |
US20210049729A1 (en) | Reconfigurable virtual graphics and compute processor pipeline | |
US8675006B2 (en) | Apparatus and method for communicating between a central processing unit and a graphics processing unit | |
US9286119B2 (en) | System, method, and computer program product for management of dependency between tasks | |
KR100617998B1 (ko) | 시간 할당기를 갖는 그래픽 렌더링 엔진을 포함하는 장치,방법 및 시스템 | |
JP4901261B2 (ja) | 高品質なユーザーインターフェイスによる効率的な遠隔表示を行なうシステム | |
KR101087361B1 (ko) | 그래픽 프로세싱 시스템내의 통합 컴포지션 엔진을 위한시스템 및 방법 | |
CN111818120A (zh) | 端云用户交互方法、系统及相应设备、存储介质 | |
CN109213607B (zh) | 一种多线程渲染的方法和装置 | |
CN112672210A (zh) | 一种可变帧率多路视频渲染方法及系统 | |
US20030164831A1 (en) | System and method utilizing multiple processes to render graphical data | |
US20190164328A1 (en) | Primitive level preemption using discrete non-real-time and real time pipelines | |
CN115409681A (zh) | 一种渲染方法及相关装置 | |
CN110047030B (zh) | 周期性特效生成方法及装置、电子设备、存储介质 | |
CN116225741A (zh) | 异构多核核间通信调度方法 | |
US10713188B2 (en) | Inter-process signaling system and method | |
CN114359017B (zh) | 多媒体资源的处理方法、装置及电子设备 | |
CN115088009B (zh) | 多租户图形处理单元中的空间分区 | |
CN113778700A (zh) | 消息处理方法、系统、介质和计算机系统 | |
CN114780148B (zh) | 一种系统寄存器访问指令的执行方法、装置及电子设备 | |
US20230297428A1 (en) | Data Processing Systems | |
US20240095992A1 (en) | Graphics primitive assembly pipeline | |
CN115827252A (zh) | 顶点数据处理方法、图形处理器、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |