新四季網

應用程式的控制方法及裝置的製作方法

2023-07-06 22:52:56

專利名稱:應用程式的控制方法及裝置的製作方法
技術領域:
本發明涉及一種應用程式的控制方法以及裝置。更具體地,本發明涉及一種用於控制從應用程式對作業系統的功能調用的控制方法以及裝置。
背景技術:
通常,作業系統根據系統管理員設定的信息來控制應用程式的操作。例如,作業系統根據激活應用程式的用戶的權限來禁止訪問特定文件。此外,作業系統確定將被分配給每個應用程式的CPU的計算時間。
但是,由作業系統進行的控制局限於作業系統的設計者預先確定的類型。因此,為了實現不同於作業系統的控制,必須對現有應用程式重新建模或對作業系統重新建模。儘管假設程序或系統已被重新建模,但是存在下述問題,即重新建模需要大量的開發時間和開發成本並且會減小程序的維護性能。
在這點上,如例如日本專利申請公報No.2003-44297內公開的,已經常規地提出了一種用於擴展對文件的訪問控制功能而沒有對現有的作業系統重新建模的技術。根據此技術的應用程式經由資源管理程序向作業系統發送操作請求。當資源管理程序捕獲該操作請求時,資源管理程序規定該操作請求指定的計算機資源,並確定該應用程式是否具有對該資源的訪問許可。如果應用程式不具有訪問許可,則資源管理程序拒絕該操作請求。根據此技術,儘管訪問被作業系統允許,但是還能夠獨立於作業系統的許可而規定獨立的訪問許可。
根據此技術,與用戶和計算機資源的集合相關聯地,確定是否允許對資源的訪問。是否允許對資源的訪問被管理員等靜態地確定。為此,不能根據隨著程序的過程的前進而改變的信息來修改是否允許訪問。例如,不能根據數據的內容和屬性或當前哪些應用程式保持和使用數據來允許或禁止對某些數據的訪問。

發明內容
因此,本發明的一個目標是提供可解決上述問題的一種應用程式的控制方法及裝置。上述以及其它目標可由獨立權利要求內所述的組合來實現。從屬權利要求限定了本發明的另外的有利的和示例性的組合。
為了解決上述問題,根據本發明的第一方面,提供了一種在作業系統上同時執行包括第一和第二應用程式的多個應用程式的信息處理裝置,該信息處理裝置的控制方法以及用於控制該信息處理裝置的程序。所述信息處理裝置包括監控組件,該監控組件監控從該第一應用程式對該作業系統的功能調用或在該第一應用程式和作業系統之間發送和接收的消息;和控制組件,該控制組件根據所述監控組件的監控結果,修改或禁止從該第二應用程式對該作業系統的功能調用或用於在該第二應用程式和該作業系統之間發送和接收消息的過程。
根據本發明的第二方面,提供了一種應用於用於執行提供高層功能以及第一和第二低層程序的信息處理裝置的方法,該高層程序提供了高層功能,第一和第二低層程序中的每個提供了第一和第二低層功能。該方法包括以下步驟調用該高層功能以實現該第一低層功能;調用該高層功能以實現該第二低層功能;判定該第一和第二低層功能的組合;並且如果該第一和第二低層功能的組合是預定組合,則禁止對該高層功能的調用。
發明內容並不必然說明了本發明的所有必要的特徵。本發明還可以是上述特徵的子組合。
根據本發明,能夠比以前更詳細地控制應用程式的操作而不必修改現有的作業系統。


從下文結合附圖對本發明的當前優選示例性實施例的說明中將更清楚地看到本發明的上述以及其它目標和特徵以及優點,在附圖中圖1是示出信息處理裝置的配置的視圖;圖2A和2B是示例性地示出共享存儲空間的數據結構的視圖;圖3A和3B是示例性地示出記錄段的數據結構的視圖;圖4是示出還將被信息處理裝置操作的程序的配置的視圖;圖5是示出信息處理裝置的全部操作的流程圖;圖6是應用程式和監控組件的流程圖;圖7是應用程式、控制組件和判定組件的流程圖;圖8是示出S710內的過程的細節的流程圖(兩個圖中的第一個圖);圖9是示出S710內的過程的細節的流程圖(兩個圖中的第二個圖);圖10是應用啟動程序和監控組件的流程圖;圖11是線程控制應用程式、控制組件和判定組件的流程圖;圖12是示出信息處理裝置的配置的可選擇示例的視圖;圖13是示例性地示出信息處理裝置的硬體配置的視圖;以及圖14是示出顯示部分的顯示示例的視圖。
具體實施例方式
現在將根據優選實施例說明本發明,該優選實施例並非意在限制本發明的範圍,而是舉例說明本發明。實施例內所述的本發明的所有特徵及其組合對於本發明並不是必不可少的。
圖1是示出信息處理裝置10的配置的視圖。信息處理裝置10操作作業系統60,該作業系統是根據本發明提供高層功能的高層程序的示例。然後,信息處理裝置10在作業系統60上並行操作多個應用程式。具體地,信息處理裝置10操作第一應用程式,該第一應用程式是在第一存儲空間100內提供第一低層功能的第一低層程序的示例。假設此程序是應用程式110。此外,信息處理裝置10操作第二應用程式,該第二應用程式是在第二存儲空間200內提供第二低層功能的第二低層程序的示例。假設此程序是應用程式210。根據本實施例的信息處理裝置10的目標是監控從應用程式110對作業系統60的功能調用以及基於該監控結果的應用程式210的控制操作。
此後,在本實施例內,代表性地說明了用於根據通過監控應用程式110的功能調用獲得的監控結果來控制應用程式210的操作的功能。另外,信息處理裝置10還可根據通過監控應用程式210的功能調用獲得的監控結果來控制應用程式110的操作。在此情況下,信息處理裝置10還操作第二存儲空間100內的監控組件120和修改組件140,並還操作第一存儲空間200內的控制組件220、判定組件230和修改組件250。由於這樣添加的每個成員的功能與圖1內的每個成員的功能相同,所以將省略對其的說明。
信息處理裝置10在下文將說明的存儲器1020內具有第一存儲空間100、共享存儲空間150和第二存儲空間200。信息處理裝置10操作第一存儲空間100內的應用程式110、監控組件120、DLL 130和修改組件140。根據應用程式110的操作啟動,修改組件140將從應用程式110對作業系統60的功能調用的調用目的地地址修改為實現監控組件120的監控程序的地址。被修改的調用目的地地址是作業系統60提供的多個功能中的被預定為監控處理內容的對象的功能的調用目的地地址。該預定功能被作業系統60提供作為DLL 130。
監控組件120是由與第一存儲空間100上的應用程式110一起操作的監控程序實現的。然後,監控組件120監控從應用程式110對作業系統60的功能調用或在應用程式110和作業系統60之間被發送和接收的消息,並將監控結果記錄在共享存儲空間150內。具體地,監控組件120從應用程式110調用以啟動過程,將該功能調用的參數或返回值記錄在共享存儲空間150內作為監控結果,並通過該參數來執行對DLL 130的功能調用。
可選擇地,監控組件120可將監控結果傳遞給DLL 130作為參數等,並經由DLL 130將結果記錄在共享存儲空間150內。DLL 130從監控組件120調用以啟動過程(該過程是被監控組件120指定的參數預定的),並將處理結果作為返回值返回給監控組件120。此外,DLL 130可根據過程的內容將數據記錄在共享存儲空間150內。例如,當調用將數據複製到剪貼板的功能時,DLL 130將數據記錄在共享存儲空間150內,而監控組件120將應用程式110的標識信息記錄在共享存儲空間150內。
信息處理裝置10操作第二存儲空間200內的應用程式210、控制組件220、判定組件230和DLL 240。根據應用程式210的操作啟動,修改組件250將從應用程式210對作業系統60的功能調用的調用目的地地址修改為實現控制組件220的控制程序的地址。被修改的調用目的地地址是作業系統60提供的多個功能中的被預定為控制過程的對象的功能的調用目的地地址。該預定功能被作業系統60提供作為DLL 240。
控制組件220是由與第二存儲空間200上的應用程式210一起操作的控制程序實現的。然後,控制組件220根據監控組件120的監控結果,修改或禁止從應用程式210對作業系統60的功能調用或用於在應用程式210和作業系統60之間發送和接收的消息的過程。具體地,監控組件220啟動從應用程式210調用的過程,從共享存儲空間150讀取監控結果,並利用與被調用的參數不同的參數來執行對作業系統60的功能調用或將過程返回應用程式210,而沒有根據讀取的監控結果執行功能調用。
實際上,可通過DLL 240將監控結果作為返回值傳遞給控制組件220,即,可經由DLL 240將監控結果從共享存儲空間150傳遞給控制組件220。在此情況下,控制組件220可通過調用判定組件230內的功能從共享存儲空間150獲得監控結果,以便判定從應用程式210調用的功能是否基於所獲取的監控結果執行。
判定組件230根據共享存儲空間150內記錄的監控結果來判定是否應禁止從控制組件220的功能調用或消息的發送和接收。例如,如果從策略管理器50獲得的標識信息所標識的應用程式是預定的特定應用程式,則判定組件230可判定禁止該功能調用或消息的發送和接收。
策略管理器50在與第一存儲空間100和第二存儲空間200不同的存儲空間內操作,並具有記錄組件55。記錄組件55記錄各種類型的信息以控制應用程式的過程。策略管理器50根據記錄段55上記錄的信息來控制監控組件120和DLL 130。例如,記錄段55可記錄數據複製被禁止的一組複製源和複製目的地應用程式。然後,策略管理器50將示出一組應用程式的信息提供給判定組件230。
圖2A和2B是示例性地示出共享存儲空間150的數據結構的視圖。共享存儲空間150是根據本發明的共享存儲空間的示例,並且還起到根據本發明的控制存儲空間的作用。即,應用程式110或應用程式210均可訪問共享存儲空間150,並且監控組件120或控制組件220可訪問共享空間150。
具體地,如圖2A所示,共享存儲空間150與從應用程式110獲得的數據相關聯地存儲監控組件120的監控結果。例如,當監控組件120已檢測到下述功能調用時,即應用程式110通過該功能調用將數據記錄在共享存儲空間150內,該監控組件120可將標識應用程式110的標識信息作為監控結果與數據相關聯地記錄在共享存儲空間150內。在此情況下,應用程式110的標識信息作為監控結果記錄在共享存儲空間150內。這裡,應用程式的標識信息是將該應用程式與其它應用程式區分開的數字。例如,字處理器的標識信息是「3415」,而計算機輔助設計(CAD)應用程式的標識信息是「3435」。
此外,當監控部分120已檢測到下述功能調用時,即應用程式110通過該功能調用將數據記錄在共享存儲空間150內,監控組件120可與數據相關聯地記錄驗證數據已被應用程式110記錄的電子籤名,或可對數據進行編碼。在此情況下,電子籤名或被編碼的數據作為監控結果記錄在共享存儲空間150內。此外,當監控組件120已檢測到下述功能調用時,即應用程式110通過該功能調用將數據記錄在共享存儲空間150內,監控組件120可與數據相關聯地記錄功能調用的次數。在此情況下,該次數作為監控結果記錄在共享存儲空間150內。例如,功能調用的次數是從當前時間回溯的預定時間段內調用功能的次數。例如,如果在過去的15分鐘內已對功能調用15次,則「15」就是被記錄的次數。
此外,當監控組件120已檢測到下述功能調用時,即應用程式110通過該功能調用將數據記錄在共享存儲空間150內,監控組件120可與數據相關聯地記錄數據的大小。在此情況下,數據大小作為監控結果記錄在共享存儲空間150內。數據大小是功能調用在共享存儲空間150內記錄的數據的大小。可選擇地,數據大小可以是在過去的預定時段內已被多次記錄的數據的總大小。
此外,當監控組件120已檢測到下述功能調用時,即應用程式110通過該功能調用將數據記錄在共享存儲空間150內,監控組件120可向數據添加數字水印,該數字水印示出已從應用程式110複製該數據。這樣,儘管數據被複製到另一個應用程式內,但是仍可知道該數據的源。
此外,如圖2B所示,共享存儲空間150可記錄目前在作業系統60上運行的應用程式的標識信息。此標識信息由下文將說明的監控組件320管理。例如,監控組件320可檢測到啟動應用程式的功能的調用,以將該功能啟動的應用程式的標識信息作為監控結果記錄在共享存儲空間150內。此外,監控組件320可檢測到終止應用程式的功能的調用,以從監控結果中刪除該功能終止的應用程式的標識信息。
另外,共享存儲空間150可將各種類型的監控結果記錄為文件,或者可將該結果記錄為數據(例如變量的數值)。此外,共享存儲空間150可將監控結果包括在數據文件內,以記錄該文件。此外,共享存儲空間150可以是可從應用程式110或監控組件120訪問的區域,或者可在除了主存儲器之外的記錄媒體(例如硬碟驅動器或磁光碟)之中提供。
圖3A和3B是示例性地示出記錄段55的數據結構的視圖。如圖3A所示,記錄段55記錄數據複製被禁止的一組複製源和複製目的地應用程式。即,如圖3B所示,禁止從標識信息為3412的CAD工具1到標識信息為1564的郵寄器1的數據複製(見本圖內的箭頭)。另一方面,允許從標識信息為3415的字處理器到標識信息為1564的郵寄器1的數據複製。
圖4是示出還將被信息處理裝置10操作的程序的配置的視圖。信息處理裝置10還操作應用啟動程序310、監控組件320、DLL 330和修改組件340。修改組件340將從應用啟動程序310對DLL 330的功能調用的調用目的地地址修改為實現監控組件320的監控程序的地址。應用啟動程序310是用於啟動其它應用程式的啟動程序。當用戶指示該程序啟動應用程式時,應用啟動程序310調用作業系統60內的功能,該功能啟動該應用程式。此功能是由作業系統60內的DLL 330提供的。
監控組件320檢測到啟動應用程式的功能的調用,以將該功能啟動的應用程式的標識信息作為監控結果記錄在共享存儲空間150內。具體地,監控組件320從應用啟動程序310調用以啟動過程,並從功能調用的參數獲得標識信息以將該信息記錄在共享存儲空間150內。然後,監控組件320利用該參數來調用DLL 330中的功能。DLL 330從監控組件320調用以啟動過程,並啟動應用程式。
此外,優選地,信息處理裝置10操作線程控制應用410、控制組件420、判定組件430、DLL 440和修改組件450。修改組件450將從線程控制應用410對DLL 440的功能調用的調用目的地地址修改為實現控制組件420的控制程序的地址。線程控制應用410是用於控制線程的應用程式。線程控制應用410在從用戶接收到控制線程的指令時調用作業系統60內的功能以控制該線程。此功能由作業系統60內的DLL 440提供。
控制組件420禁止下述過程,即通過該過程線程控制應用410調用作業系統60上的功能,以便終止任何線程。具體地,控制組件420首先從線程控制應用410調用以啟動過程。然後,判定組件430判定來自線程控制應用410的調用控制組件420的功能調用是否是對下述過程的調用,即通過該過程終止實現修改程序的線程。如果該功能調用是對終止線程的過程的調用,則控制組件420將過程返回線程控制應用410而不會調用DLL440。
這樣,能夠防止用於實現修改組件140、修改組件250、修改組件340和修改組件450的線程的終止。
圖5是示出信息處理裝置10的全部操作的流程圖。信息處理裝置10將各種類型的程序(例如監控程序和控制程序)加載到存儲空間內(S500)。具體地,信息處理裝置10與應用程式110一起操作第一存儲空間100上的監控程序,該監控程序監控從應用程式110對作業系統60的功能調用。通過此監控程序,信息處理裝置10用作監控組件120。此外,信息處理裝置10與應用程式210一起操作第二存儲空間200上的控制程序,該控制程序根據監控程序的監控結果禁止或修改從應用程式210對作業系統60的功能調用。通過此控制程序,信息處理裝置10用作控制組件220。此外,信息處理裝置10可操作監控從應用啟動程序310對作業系統60的功能調用的監控程序。此外,信息處理裝置10可操作控制從線程控制應用410對作業系統60的功能調用的控制程序。
為了將控制程序和監控程序加載到存儲空間內,例如,優選地將這些程序的目標文件(例如DLL)註冊為作業系統的標準DLL。作為示例,由於Windows(註冊商標)在註冊表中將這些程序註冊為USER32擴展DLL,所以當啟動連結USER32.DLL的所有過程時可加載這些程序。在本實施例內,例如,策略管理器50可在註冊表中將這些程序註冊為USER32擴展DLL。此外,系統管理員可手工修改註冊表。
接下來,信息處理裝置10操作修改程序(S510)。信息處理裝置10利用該修改程序用作修改組件140、修改組件250、修改組件340和修改組件450。修改組件140將從應用程式110對作業系統60的功能調用的調用目的地地址修改為實現監控組件120的監控程序的地址。修改組件250根據應用程式210的操作啟動,將從應用程式210對作業系統60的功能調用的調用目的地地址修改為實現監控組件220的監控程序的地址。修改組件340將從應用啟動程序310對DLL 330的功能調用的調用目的地地址修改為實現監控組件320的監控程序的地址。修改組件450將從線程控制應用410對DLL 440的功能調用的調用目的地地址修改為實現控制組件420的控制程序的地址。
將參照作為修改組件140、修改組件250、修改組件340和修改組件450的代表的修改組件140來說明修改功能調用的調用目的地地址的過程的示例。修改組件140將把從應用程式110調用的DLL 130內的一部分的前導指令代碼備份在另一個區域內。然後,修改組件140將該指令代碼重新寫入實現監控組件120的監控程序的轉移指令。此外,修改組件140從監控組件120調用被備份的前導指令代碼,來代替從監控組件120調用DLL 130的過程。希望此過程在停止其它線程之後執行,以便指令代碼不會在此過程正在運行的過渡狀態下執行。
隨後,將使用其中應用程式110經由剪貼板將數據複製到應用程式210的過程來說明信息處理裝置10的過程的細節。此過程是由第一低層功能和第二低層功能的組合實現的,在該第一低層功能內應用程式110將數據記錄在剪貼板內,在第二低層功能內應用程式210從剪貼板讀取數據。首先,應用程式110調用作業系統60內的DLL以便實現第一低層功能。首先將說明此過程。
圖6是應用程式110和監控組件120的流程圖。監控組件120判定應用程式110進行的功能調用是否是在被應用程式110調用以啟動它的過程之後對用於將數據複製到共享存儲空間150內的功能的調用(S600)。如果該功能調用是用於複製的功能的調用(S600是),則監控組件120向將被複製的數據添加各種類型的屬性。例如,監控組件120可添加示出該數據已從應用程式110複製的數字水印。
然後,監控組件120根據從應用程式110調用的參數來調用DLL 130內的API(S620)。例如,監控組件120可通過將應用程式110的標識信息作為參數添加到應用程式110指定的數據中而生成新數據,並將新數據作為參數提供給DLL 130內的功能。
接下來,應用程式210調用作業系統60內的DLL以便實現第二低層功能。下文將說明此過程。圖7是應用程式210、控制組件220和判定組件230的流程圖。當控制組件220已檢測到下述功能的調用時,即應用程式210通過該功能從共享空間150讀取數據,控制組件220根據判定組件230的判定來修改或禁止針對該功能調用的過程。此後,將說明特定示例。控制組件220判定該功能調用是否是下述功能(用於粘貼的功能)的調用,即當該功能從應用程式210調用以啟動其過程時應用程式210通過該功能從共享空間150讀取數據(S700)。
如果該功能調用是對用於粘貼的功能的調用,則很明顯由應用程式110和210實現的第一和第二低層功能的組合是預定組合。即,可發現由應用程式110和210實現的功能是將數據記錄在剪貼板中的第一低層功能和從剪貼板中讀取數據的第二低層功能的組合。出於此原因,如果該功能調用是對用於粘貼的功能的調用(S700是),則控制部件220調用判定組件230來使得判定組件230判定該功能是否可被執行。如果在共享存儲空間150上記錄的數據滿足用於禁止複製的數據類型的條件,則判定組件230判定禁止對該數據的複製(S710)。
隨後,控制組件220根據判定組件230的判定來修改或禁止下述功能調用的過程,即應用程式210通過該功能調用從共享存儲空間150讀取數據。具體地,當用於禁止功能調用的條件已經實現時(S720是),控制組件220禁止或修改下述過程,即應用程式210通過該過程從共享存儲空間150讀取數據(S730)。例如,控制組件220可將錯誤代碼返回應用程式210而不會調用DLL 240內的功能。換句話說,控制組件220可將空數據返回給應用程式210而不會調用DLL 240內的功能。
另一方面,當功能調用不是用於粘貼的功能的調用或者用於禁止功能調用的條件沒有實現時(S720否),控制組件220繼續下述過程,即應用程式210通過該過程從共享存儲空間150讀取數據(S740)。例如,控制組件220可按照原樣指定從應用程式210指定的參數,作為調用DLL 240內的功能的參數。
圖8是示出S710內的過程的細節的流程圖(兩個圖中的第一個圖)。判定組件230判定由從共享存儲空間150和監控組件120獲得的標識信息標識的一組應用程式110是否與在記錄段55上記錄的一組應用程式相同(S800)。當這兩組應用程式彼此相同時(S800是),判定禁止應用程式110和監控組件120之間的數據的複製(S840)。這樣,能夠禁止從處理大量數據的應用程式(例如大規模的CAD工具)到與外部通信的應用程式(例如郵寄器)的複製。
此外,如果由從共享存儲空間150獲得的示出運行的應用程式的標識信息標識的應用程式是預定的特定應用程式(S810是),則判定組件230判定禁止將共享存儲空間150內記錄的數據複製到應用程式210(S840)。例如,當與外部裝置通信的應用程式(例如郵寄器)正在運行時,可完全禁止複製。
此外,如果共享存儲空間150內記錄的數據包括禁止複製的特定字符串(S820是),則判定組件230判定禁止將共享存儲空間150內記錄的數據複製到應用程式210(S840)。例如,當數據包括字符串(例如「confidential」或「secret」)時,可判定必須防止該數據洩漏給其它人員並因此禁止複製。
此外,如果共享存儲空間150內記錄的數據滿足禁止複製的數據類型的條件(S830是),則判定組件230判定禁止該數據的複製(S840)。例如,判定組件230首先根據共享存儲空間150內記錄的文件格式來判定數據類型。例如如果該文件擴展名是「doc」等,則判定組件230可判定該文件內存儲了文檔。
然後,如果判定的數據類型是預定的特定類型,則判定組件230判定禁止該數據的複製。例如,如果該數據是具有高度機密的信息(例如CAD工具進行的設計信息),則判定組件230可判定禁止該數據的複製。
圖9是示出S710內的過程的細節的流程圖(兩個圖中的第二個圖)。如果數據沒有包括預定的數字水印(S900否),則判定組件230判定禁止數據複製(S940)。這樣,能夠禁止從除了被添加有數字水印的特定應用之外的應用來複製數據,並防止未知來源的數據(例如計算機病毒等)妨礙應用程式210的操作。
此外,判定組件230驗證共享存儲空間150內記錄的電子籤名(S910)。當共享存儲空間150內記錄的數據被編碼時,判定組件230可將該數據解碼。如果驗證或解碼失敗(S910否),則判定組件230判定禁止與電子籤名對應記錄的數據的複製(S940)。如果判定組件230進行的驗證成功(S910是),則如果以下其它條件沒有實現,控制組件220就允許應用程式210的功能調用。這樣,例如,應用程式210可從共享存儲空間150讀取數據。
此外,如果下述功能調用的次數已超過預定基準(S920是),即通過該功能調用將數據記錄在共享存儲空間150內,則判定組件230判定禁止數據複製(S940)。此外,如果共享存儲空間150內記錄的數據的大小已超過預定基準(S930是),則判定組件230判定禁止數據複製(S940)。這樣,能夠限制將被複製的數據量,以減小信息洩漏的危險。
當上述所述任何條件均不被滿足時(S930否),判定組件230判定用於禁止共享存儲空間150內記錄的數據的複製的條件不被滿足(S950),並允許複製該數據。
如上所述,根據本附圖的過程,能夠很好地控制應用程式之間的數據複製而無需對作業系統重新建模。這樣,能夠預先防止機密數據洩漏並從而提高系統安全性。另外,本附圖的過程是一個示例。因此,策略管理器50可修改用於禁止數據複製的條件。即,系統管理員可通過操作策略管理器50來控制信息處理裝置10內的應用程式的操作。
圖10是應用啟動程序310和監控組件320的流程圖。監控組件320被應用啟動程序310調用以啟動過程,並然後判定應用啟動程序310的功能調用是否是啟動另一個應用程式的功能(用於啟動的功能)的調用(S1000)。如果功能調用是用於啟動的功能的調用(S1000是),則監控組件320將功能調用啟動的應用程式的標識信息記錄在共享存儲空間150中(S1010)。
此外,監控組件320判定應用啟動程序310的功能調用是否是用於終止其它應用程式的功能(用於終止的功能)的調用(S1020)。如果該功能調用是用於終止的功能的調用(S1020是),則從共享存儲空間150中刪除該功能調用終止的應用程式的標識信息(S1030)。然後,監控組件230調用DLL 330以實際控制應用程式(S1040)。
這裡,作業系統60根據終止應用程式的方法之間的差別提供了多個用於終止的功能。因此,為了合適地管理運行的應用程式,即使應用程式被任何用於終止的應用功能終止,也必須檢測到該應用程式的終止。因此,儘管調用任何用於終止的功能來代替所述用於終止的功能,但是監控組件320可監控終止使用功能調用的特定功能。此特定功能例如是打開該應用程式從存儲空間讀取的DLL的功能。能夠通過監控對此功能的調用來正確地管理運行的應用程式。
圖11是線程控制應用410、控制組件420和監控組件430的流程圖。控制組件420啟動從線程控制應用410調用的過程,並接著判定線程控制應用410的功能調用是否是用於終止其它線程的功能的調用(S1100)。如果該功能調用是用於終止其它線程的功能的調用(S1100是),則控制組件420修改或禁止該功能的過程(S1110)。例如,控制組件420可將錯誤代碼返回給線程控制應用410而不會終止該線程。
圖12是示出根據可選擇示例的信息處理裝置10的配置的視圖。在此可選擇示例內,應用程式110具有記錄段115,該記錄段115是根據本發明的第一記錄段的示例。在WindowS(註冊商標)作業系統內,記錄段115被稱為例如輸入地址表。對於每個功能調用,記錄段115都從應用程式110引用,並與每個功能的標識信息相關聯地記錄該功能的調用目的地地址。即,例如,當調用某個功能時,應用程式110利用該功能的標識信息從記錄段115檢索該功能的調用目的地地址。然後,通過將過程移動到被檢索的調用目的地地址而調用該功能。此外,第二存儲空間200類似地具有記錄段215。記錄段215記錄從應用程式210引用的調用目的地地址。
此外,根據本可選擇示例的修改組件140通過重新寫記錄段115來修改功能的調用目的地。具體地,修改組件140將與預先設定為監控處理內容的對象的功能對應的記錄段115上記錄的調用目的地地址修改為實現監控組件120的監控程序的地址。類似地,根據此可選擇示例的修改組件250將與預先設定為控制過程的對象的功能對應的記錄段215上記錄的調用目的地地址修改為實現控制組件220的控制程序的地址。另外,由於其它配置通常與圖1內所示的相同符號的成員相同,所以將省略對它們的說明。這樣,即使在此可選擇示例內所示的配置內,仍可監控或控制從應用程式對作業系統的功能調用。
圖13是示例性地示出信息處理裝置10的硬體配置的視圖。信息處理裝置10包括具有通過主機控制器1082相互連接的CPU 1000、RAM 1020和圖像控制器1075的CPU外圍部分;具有通過輸入-輸出控制器1084連接到主機控制器1082的通信接口1030、硬碟驅動器1040和CD-ROM驅動器1060的輸入-輸出部分;以及具有連接到輸入-輸出控制器1084的BIOS 1010、軟盤驅動器1050和輸入-輸出晶片1070的傳統輸入-輸出部分。
主機控制器1082將RAM 1020連接到用於以高傳輸速率訪問RAM1020的CPU 1000和圖像控制器1075。CPU 1000根據BIOS 1010和RAM1020上存儲的程序進行操作以控制每個部分。圖像控制器1075獲得RAM1020內提供的幀緩衝器上由CPU 1000生成的圖像數據,並在顯示裝置1080上顯示該數據。可選擇地,圖像控制器1075其中可包括存儲CPU 1000生成的圖像數據的幀緩衝器。
輸入-輸出控制器1084將主機控制器1082連接到作為相對較快的輸入-輸出裝置的通信接口1030、硬碟驅動器1040和CD-ROM驅動器1060。通信接口1030經由網絡與外部裝置通信。硬碟驅動器1040存儲將被信息處理裝置10使用的程序和數據。CD-ROM驅動器1060從CD-ROM 1095讀取程序或數據,並將該程序或數據提供給RAM 1020或硬碟驅動器1040。
此外,RAM 1020包括第一存儲空間100、第二存儲空間200和共享存儲空間150。即,應用程式110被讀入RAM 1020內的第一存儲空間100內以被CPU 1000執行。此外,應用程式210被讀入RAM 1020內的第二存儲空間200以被CPU 1000執行。此外,應用程式110被CPU 1000執行以生成數據,並將該數據記錄在RAM 1020內的共享存儲空間150內。
此外,作為相對低速的輸入-輸出裝置的BIOS 1010、軟盤驅動器1050和輸入-輸出晶片1070連接到輸入-輸出控制器1084。BIOS 1010存儲將在啟動信息處理裝置10期間被CPU 100執行的引導程序、依賴於信息處理裝置10的硬體的程序等等。軟盤驅動器1050從軟盤1090讀取程序或數據,並經由輸入-輸出晶片1070將該程序或數據提供給RAM 1020或硬碟驅動器1040。輸入-輸出晶片1070經由軟盤1090、並行埠、串行埠、鍵盤埠、滑鼠埠等來連接各種類型的輸入-輸出裝置。
提供給信息處理裝置10的程序被存儲在記錄媒體(例如軟盤1090、CD-ROM 1095或IC卡)內,以便由用戶所提供。程序經由輸入-輸出晶片1070和輸入-輸出控制器1084從該記錄媒體讀取以便被安裝在信息處理裝置10內並在該裝置內執行。由於通過由程序在信息處理裝置10等之上進行工作所執行的操作與圖1到12內所述的信息處理裝置10的那些操作相同,所以將省略對它們的說明。
上述程序可被存儲在外部存儲媒體內。存儲媒體除了軟盤1090和CD-ROM 1095之外,還可包括光記錄媒體(例如DVD和PD)、磁光記錄媒體(例如MD、磁帶媒體、例如IC卡的半導體存儲器)。此外,連接到專用通信網絡和網際網路的伺服器系統內提供的存儲設備(例如硬碟或RAM)可被用作記錄媒體,以經由網絡向信息處理裝置10提供程序。
圖14示出顯示部分1080的顯示示例。如本圖內所示,當控制組件220禁止數據複製時,信息處理裝置10在顯示部分1080內的用於應用程式210的操作屏幕上顯示了示出此效果的消息或符號。例如,信息處理裝置10可在作為用於應用程式210的操作屏幕的窗口上彈出「複製禁止」的消息。此消息可以是之前已由應用程式210準備好的錯誤消息。即,這種顯示可僅通過控制組件220將錯誤代碼返回給應用程式210而不改變現有的應用程式210來實現。
儘管本發明已作為示例性實施例被說明,但是應理解,本領域技術人員可進行許多改變和替換而不會背離本發明的精神和範圍。從權利要求的定義中可清楚地看到,具有這些修改的實施例也屬於本發明的範圍。
權利要求
1.一種在作業系統上同時執行包括第一和第二應用程式的多個應用程式的信息處理裝置,該信息處理裝置包括監控組件,該監控組件監控從該第一應用程式對該作業系統的功能調用或在該第一應用程式和該作業系統之間發送和接收的消息;以及控制組件,該控制組件根據所述監控組件的監控結果,修改或禁止從該第二應用程式對該作業系統的功能調用或用於在該第二應用程式和該作業系統之間發送和接收消息的過程。
2.根據權利要求1的信息處理裝置,其中該第一應用程式在第一存儲空間內運行,該第二應用程式在與該第一存儲空間不同的第二存儲空間內運行,所述監控組件是由與在該第一存儲空間內的該第一應用程式一起操作的程序實現的,並將監控結果記錄在控制存儲空間內,該控制存儲空間能夠被所述監控組件或所述控制組件中的任一個所訪問,以及所述控制組件是由與在該第二存儲空間內的該第二應用程式一起操作的程序實現的,並從該控制存儲空間讀取監控結果以根據所讀取的監控結果來禁止或修改功能調用或消息的發送和接收。
3.根據權利要求2的信息處理裝置,其中該信息處理裝置還包括第一修改組件,該第一修改組件將從該第一應用程式對該作業系統的功能調用的地址修改為實現所述監控組件的程序的地址;以及第二修改組件,該第二修改組件將從該第二應用程式對該作業系統的功能調用的地址修改為實現所述控制組件的程序的地址,從該第一應用程式調用所述監控組件以啟動一過程,將功能調用的參數或返回值記錄在該控制存儲空間內作為監控結果,並使用該參數調用對該作業系統的功能調用,以及從該第二應用程式調用所述控制組件以啟動一過程,從該控制存儲空間讀取監控結果,並根據所讀取的監控結果使用與該被調用的參數不同的參數來調用對該作業系統的功能調用,或將該過程返回到該第二應用程式而不執行該功能調用。
4.根據權利要求3的信息處理裝置,其中該第一修改組件將由該作業系統提供的並被指定為將被監控的特定功能的地址修改為實現所述監控組件的程序的地址;以及該第二修改組件將由該作業系統提供的並被指定為將被控制的特定功能的地址修改為實現所述控制組件的程序的地址。
5.根據權利要求2的信息處理裝置,還包括第一記錄段,該第一記錄段具有對於每個功能調用從每個應用程式引用的每個功能的地址的表,該每個功能的地址與每個功能的標識信息相關聯;第一修改組件,該第一修改組件把將被監控的特定功能的地址轉換成實現所述監控組件的程序的地址;以及第二修改組件,該第二修改組件把將被控制的特定功能的地址修改成實現所述控制組件的程序的地址。
6.根據權利要求5的信息處理裝置,其中所述第一修改組件被實現為在該第一存儲空間內運行的線程,所述第二修改組件被實現為在該第二存儲空間內運行的線程,以及所述控制組件還與控制該線程的應用程式相關聯地被提供,並禁止在該作業系統上調用功能以便終止來自該應用程式的上述線程中的任何一個。
7.根據權利要求2的信息處理裝置,其中該信息處理裝置還包括第二記錄段,該第二記錄段記錄禁止複製數據的一組複製源和複製目的地應用程式,響應於檢測到下述功能調用,即該第一應用程式通過該功能調用將數據記錄在能夠被該第一和第二應用程式中的任一個所訪問的共享存儲空間內,所述監控組件將作為標識該第一應用程式的監控結果的標識信息與該數據相關聯地記錄在該控制存儲空間內,該信息處理裝置還包括判定組件,如果由從該控制存儲空間和該第二應用程式獲得的標識信息所標識的一組應用程式與所述第二記錄組件上記錄的一組應用程式相同,則該判定組件判定禁止複製數據,以及響應於檢測到下述功能調用,即該第二應用程式通過該功能調用從該共享存儲空間讀取數據,所述控制組件根據所述判定組件的判定來修改或禁止該功能調用的過程。
8.根據權利要求7的信息處理裝置,其中如果該共享存儲空間內記錄的數據包括禁止複製的字符串,則所述判定組件還判定禁止複製數據,以及所述控制組件還根據所述判定組件的判定來修改或禁止下述功能調用的過程,該第二應用程式通過該功能調用從該共享存儲空間讀取數據。
9.根據權利要求7的信息處理裝置,其中如果該共享存儲空間內記錄的數據的類型被禁止複製數據,則所述判定組件判定禁止複製數據,以及所述控制組件還根據所述判定組件的判定來修改或禁止下述功能調用的過程,該第二應用程式通過該功能調用從該共享存儲空間讀取數據。
10.根據權利要求7的信息處理裝置,其中所述監控組件向該數據添加驗證數據已被該第一應用程式記錄的電子籤名,並將該被添加的數據記錄在該共享存儲空間內,所述判定組件驗證該共享存儲空間內記錄的電子籤名,以及如果所述判定組件的驗證已成功,則所述控制組件允許下述功能調用,即該第二應用程式通過該功能調用從該共享存儲空間讀取數據。
11.根據權利要求7的信息處理裝置,其中響應於檢測到下述功能調用,即該第一應用程式通過該功能調用將數據記錄在共享存儲空間內,所述監控組件對數據編碼並將被編碼數據記錄在該共享存儲空間內,所述判定組件對該共享存儲空間內記錄的被編碼數據進行解碼,以及如果所述判定組件進行的解碼已成功,則所述控制組件允許下述功能調用,即該第二應用程式通過該功能調用從該共享存儲空間讀取被解碼的數據。
12.根據權利要求7的信息處理裝置,其中,響應於檢測到下述功能調用,即該第一應用程式通過該功能調用將數據記錄在該共享存儲空間內,所述監控組件向該數據添加示出該數據已從該第一應用程式被複製的數字水印。
13.根據權利要求7的信息處理裝置,其中響應於檢測到下述功能調用,即該第一應用程式通過該功能調用將數據記錄在該共享存儲空間內,所述監控組件將該功能調用的次數與該數據相關聯地記錄在該控制存儲空間內,並且如果該功能調用的次數已超過預定基準,則所述判定組件判定禁止該數據複製。
14.根據權利要求7的信息處理裝置,其中響應於檢測到下述功能調用,即該第一應用程式通過該功能調用將數據記錄在該共享存儲空間內,所述監控組件將數據大小與該數據相關聯地記錄在該控制存儲空間內,並且如果該數據大小已超過預定基準,則所述判定組件判定禁止該數據複製。
15.根據權利要求2的信息處理裝置,其中所述監控組件檢測啟動應用程式的功能的調用,以將被該功能啟動的應用程式的標識信息記錄在該控制存儲空間內作為監控結果,該信息處理裝置還包括判定組件,如果由從該控制存儲空間獲得的該標識信息所標識的應用程式是預定的應用程式,則該判定組件判定禁止將該共享存儲空間內記錄的數據複製到該第二應用程式中,以及所述控制組件根據所述判定組件的判定來修改或禁止下述功能調用,即該第二應用程式通過該功能調用從該共享存儲空間讀取數據。
16.一種應用於用於執行提供高層功能以及第一和第二低層程序的信息處理裝置的方法,該高層程序提供了高層功能,第一和第二低層程序中的每個提供了第一和第二低層功能,該方法包括以下步驟調用該高層功能以實現該第一低層功能;調用該高層功能以實現該第二低層功能;判定該第一和第二低層功能的組合;並且如果該第一和第二低層功能的組合是預定組合,則禁止對該高層功能的調用。
17.一種信息處理裝置內的應用程式的控制方法,該信息處理裝置在作業系統上並行地操作包括第一和第二應用程式的多個應用程式,該控制方法包括以下步驟監控從該第一應用程式對該作業系統的功能調用或在該第一應用程式和該作業系統之間發送和接收的消息;以及根據所述監控步驟內的監控結果,修改或禁止從該第二應用程式對該作業系統的功能調用或用於在該第二應用程式和該作業系統之間發送和接收消息的過程。
18.一種用於控制信息處理裝置內的應用程式的程序,該信息處理裝置在作業系統上並行地操作包括第一和第二應用程式的多個應用程式,該程序使得該信息處理裝置作用為監控組件,該監控組件監控從該第一應用程式對該作業系統的功能調用或在該第一應用程式和該作業系統之間發送和接收的消息;以及控制組件,該控制組件根據所述監控組件的監控結果,修改或禁止從該第二應用程式對該作業系統的功能調用或用於在該第二應用程式和該作業系統之間發送和接收消息的過程。
19.一種用於設定信息處理裝置以便根據用於第一應用程式的過程來控制用於第二應用程式的過程的設定方法,該設定方法包括以下步驟與該第一應用程式一起在第一存儲空間上操作監控程序,該監控程序監控從該第一應用程式對作業系統的功能調用;與該第二應用程式一起在第二存儲空間上操作控制程序,該控制程序根據該監控程序的監控結果來禁止或修改從該第二應用程式對該作業系統的功能調用;以及將從該第一應用程式對該作業系統的功能調用的調用目的地地址修改為該監控程序的地址,以及將從該第二應用程式對該作業系統的功能調用的調用目的地地址修改為該控制程序的地址。
全文摘要
本發明的一個目標是比以前更詳細地控制應用程式的操作而不用修改現有的作業系統。提供了一種在作業系統上同時執行包括第一和第二應用程式的多個應用程式的信息處理裝置。該信息處理裝置監控從該第一應用程式對該作業系統的功能調用或在該第一應用程式和該作業系統之間發送和接收的消息。然後,根據該監控結果,該信息處理裝置修改或禁止從該第二應用程式對該作業系統的功能調用或用於在該第二應用程式和該作業系統之間發送和接收消息的過程。
文檔編號G06F9/46GK1924814SQ20061012199
公開日2007年3月7日 申請日期2006年8月30日 優先權日2005年8月30日
發明者大谷佑, 古市實裕, 村瀨正名 申請人:國際商業機器公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀