專利名稱:控制到客戶機的數(shù)據(jù)傳送及更新數(shù)據(jù)的執(zhí)行的方法
技術領域:
本發(fā)明涉及通過使用一配備有一服務器、通過通信線路連接到該服務器的多個客戶機、和一通信網絡的網絡系統(tǒng)更新每個客戶機的數(shù)據(jù)及控制所更新數(shù)據(jù)的執(zhí)行的方法。
背景技術:
迄今為止,可由客戶機執(zhí)行的應用程序被從一服務器分發(fā)到所有連接到網絡的客戶機,并且應用程序的更新程序(更新數(shù)據(jù))也被從服務器分發(fā)到所有這些客戶機。
例如,在交通和管理系統(tǒng)中,系統(tǒng)包括為遍布全國的分支辦公室配備的數(shù)十至數(shù)百個客戶機以及少到幾個的服務器,其中應用程序的更新數(shù)據(jù)的傳送是從這樣的幾個服務器到大量的客戶機進行的。
這種客戶機將應用程序(其在下文中視情況將被稱為“靜態(tài)數(shù)據(jù)”)與用于該應用程序的數(shù)據(jù)(其在下文中將被稱為“動態(tài)數(shù)據(jù)”)分離,并且通常僅允許一個客戶機與服務器傳送動態(tài)數(shù)據(jù)。這種數(shù)據(jù)具有相對小的文件大小,并且作為發(fā)送者的客戶機是大約一個,從而數(shù)據(jù)流的量將不會不利地影響通信網絡。
但是,在更新應用程序時,由于文件大小很大,并且應用程序的更新被重復與客戶機的數(shù)量一樣多的次數(shù),所以與更新操作相聯(lián)系的數(shù)據(jù)流可能給通信網絡造成過載。
此外,當系統(tǒng)中多個客戶機的應用程序被更新和執(zhí)行時,希望該系統(tǒng)中的所有客戶機可同時開始執(zhí)行新更新的應用程序。例如,當在應用程序中有與添加客戶機輸入的項目有關的改變時,與添加該輸入項目相伴的改變也發(fā)生在服務器的數(shù)據(jù)庫中。在這種情況下,某一客戶機可能以先前的數(shù)據(jù)格式(沒有添加新輸入項目的格式)向服務器傳送動態(tài)數(shù)據(jù);而其他客戶機以新的數(shù)據(jù)格式(包括該新的輸入項的格式)向該服務器傳送動態(tài)數(shù)據(jù)。這將迫使服務器處理先前數(shù)據(jù)格式和新的數(shù)據(jù)格式的兩種類型的數(shù)據(jù)。
如從以上說明可理解的,因為兩種類型的數(shù)據(jù)的處理增加了服務器上的負載,服務器應當合意地避免處理兩種類型的數(shù)據(jù)。因此,希望有一種用于該系統(tǒng)的方法,該方法使得能夠在時間限定的條件下使用更新數(shù)據(jù),從而系統(tǒng)中的所有客戶機可同時在預定時間使用更新的應用程序。
作為用于多個客戶機從服務器獲得并使用應用程序的方法,已知這樣一種方法,其中服務器提供內容,同時允許客戶機在時間限定的條件下訪問服務器,并且客戶機只可在預定的時間從服務器獲得內容以使用它們(參見專利文獻1)。
根據(jù)在專利文獻1中描述的方法,在包括一發(fā)送調度裝置和通過通信線路連接到該發(fā)送調度裝置的客戶機的系統(tǒng)中,該發(fā)送調度裝置使用發(fā)布開始時間和發(fā)布結束時間來限制客戶機可以訪問內容的時間段,以此來控制將提供的內容。由于所述時間限制,客戶機可基本上在相同的時間從服務器獲得內容并可使用該內容。
日本專利特開No.2002-108718發(fā)明內容但是,在上述內容提供中,多個客戶機將在基本相同的時間里一起獲取由服務器提供的內容。因此,如果這些客戶機將獲取內容,通信線路上的負載會增加,并因此造成它們無法獲得內容的情況。因此,存在著它們無法同時獲得所提供內容的可能性。
例如,如圖7所示,客戶機如下所述地獲取并使用靜態(tài)數(shù)據(jù)。首先,客戶機60請求在預定時間從服務器50獲取靜態(tài)數(shù)據(jù)(S30)。此時,將客戶機60的靜態(tài)數(shù)據(jù)的版本或更新日期的信息傳送給服務器。作為響應,服務器60將相應的靜態(tài)數(shù)據(jù)傳送給客戶機60(S31)。此時,服務器50使用HTTP(超文本傳輸協(xié)議)請求報頭的字段(Last-Modified T1)將更新時間(T1)傳送給客戶機60。
然后,客戶機60發(fā)出一“If-Modified-Since”(一條件GET)以便獲取所更新的靜態(tài)數(shù)據(jù)(S32)。在此階段,應注意上述“If-Modified-Since”是HTTP(超文本傳輸協(xié)議)請求報頭字段之一。也就是說,在接收到該條件GET時,服務器50確定是否存儲了在“If-Modified-Since”字段后面指示的時間(這里,在T1)之后更新的靜態(tài)數(shù)據(jù)。
當在服務器50中存儲了在“If-Modified-Since”字段后面指示的時間(這里,在T1)之后更新的靜態(tài)數(shù)據(jù)時,則將存儲在服務器50中的靜態(tài)數(shù)據(jù)傳送給客戶機60。當沒有存儲在“If-Modified-Since”字段后面指示的時間(這里,在T1)之后更新的靜態(tài)數(shù)據(jù)時,則不傳送該靜態(tài)數(shù)據(jù)(S33)。
接著,在客戶機60接收到來自服務器50的更新的靜態(tài)數(shù)據(jù)之后,立即使用從服務器50獲取的該新的靜態(tài)數(shù)據(jù)更新當前使用的靜態(tài)數(shù)據(jù)。因此,如果多個客戶機同時執(zhí)行處理以一起更新靜態(tài)數(shù)據(jù),通信線路上的負載會增加,從而使得服務器不能順利傳送新的靜態(tài)數(shù)據(jù)。因此,系統(tǒng)中的所有客戶機將無法同時開始執(zhí)行新的靜態(tài)數(shù)據(jù)。
因此,本發(fā)明的一個目的是提供一種能夠當多個客戶機從服務器獲取應用程序并執(zhí)行它時便利新的應用程序從服務器的傳送,以及使得系統(tǒng)中的所有客戶機在某一指定日期之后一起執(zhí)行更新的應用程序的方法和系統(tǒng)。
根據(jù)本發(fā)明,提供了一種適用于配備有一服務器、多個客戶機、和一連接到該服務器和該多個客戶機的通信網絡的網絡系統(tǒng)的方法,其中該方法包括第一傳送步驟,在該步驟中服務器通過該通信線路向客戶機傳送可在該客戶機中執(zhí)行的文件,第二傳送步驟,在該步驟中該服務器通過該通信網絡向客戶機傳送指示文件的執(zhí)行開始日期的執(zhí)行開始日期數(shù)據(jù),以及執(zhí)行確定步驟,在該步驟中客戶機基于當前時間和所述執(zhí)行開始日期數(shù)據(jù)確定是否執(zhí)行該文件。
因此,服務器通過通信網絡向客戶機傳送可在客戶機中執(zhí)行的文件,服務器通過通信網絡向客戶機傳送指示文件的執(zhí)行開始日期的執(zhí)行開始日期數(shù)據(jù),并且客戶機基于當前時間和所述執(zhí)行開始日期數(shù)據(jù)確定是否執(zhí)行該文件。
根據(jù)本發(fā)明,系統(tǒng)中的所有客戶機可根據(jù)所述執(zhí)行開始日期數(shù)據(jù)在所述執(zhí)行開始日期之后使新的應用程序可用。
下面將參照附圖描述本發(fā)明的一實施例。
圖1的框圖示出了根據(jù)本發(fā)明的實施例的網絡系統(tǒng)的配置;圖2的流程圖示出了根據(jù)本發(fā)明的實施例的網絡系統(tǒng);圖3的圖示出了與本發(fā)明一起使用的客戶機的顯示圖像的示例;圖4的圖示出了與本發(fā)明一起使用的客戶機的顯示圖像的另一個示例;圖5的流程圖示出了根據(jù)本發(fā)明的實施例的服務器;圖6的流程圖示出了與本發(fā)明一起使用的客戶機的流程圖;以及圖7的流程圖示出了執(zhí)行客戶機的數(shù)據(jù)更新的傳統(tǒng)系統(tǒng)。
具體實施例方式
圖1是一框圖,其示出了根據(jù)本發(fā)明的一實施例包括服務器和客戶機的系統(tǒng)的示意性配置。應用了本實施例的網絡系統(tǒng)1包括企業(yè)內通信網絡2、服務器10、由用戶在例如工作場所操作的客戶機20等等。服務器10和客戶機20通過通信網絡2傳送數(shù)據(jù)。
網絡系統(tǒng)1可包括多個服務器10和多個客戶機20。構成網絡系統(tǒng)1的通信網絡2可以是連接服務器10和客戶機20的私有線路或租賃線路,或者可以是公共通信網絡線路例如因特網。
服務器10是用于將應用程序傳送給一個或多個客戶機20的單元。更新的應用程序存儲在服務器10中并被傳送給與網絡系統(tǒng)1連接的所有客戶機20。服務器10配備有控制單元11、主存儲單元13、通信單元14、輔助存儲單元15、輸入單元16、輸出單元17、以及傳送文件管理單元12。
控制單元11包括例如CPU(中央處理單元),它是計算機的中央單元,并執(zhí)行處理(計算)以及控制程序與數(shù)據(jù)的流動。主存儲單元13存儲程序或數(shù)據(jù),以及已從CPU返回的處理結果。即,它可以是能夠在計算機中承擔中心角色的存儲器。通信單元14在服務器10和客戶機20之間交換數(shù)據(jù)或參數(shù),并從其接收結果。
輔助存儲單元15存儲控制單元11訪問較少的數(shù)據(jù),或通過輸入單元16的輸入的數(shù)據(jù)。輔助存儲單元15可以是軟(floppy,注冊商標)盤、硬盤、DVD-ROM、或CD-ROM。
輸入單元16與服務器10相連接以便由用戶使用來操縱計算機,用于從計算機的外部向其提供各種類型的信息。輸入單元16可以是鍵盤、鼠標、或掃描儀。輸出單元17顯示或打印處理情況或處理結果,或將其再現(xiàn)為音頻數(shù)據(jù)。輸出單元17可以是顯示器、打印機、或揚聲器。
傳送文件管理部件12配備有這樣的程序,該程序用于執(zhí)行文件管理和在客戶機20中使用的客戶端軟件(例如下面描述的富客戶(rich client))的應用程序(靜態(tài)數(shù)據(jù))的管理,并管理更新該富客戶的靜態(tài)數(shù)據(jù)所需的多個靜態(tài)數(shù)據(jù),以及該靜態(tài)數(shù)據(jù)可開始執(zhí)行的執(zhí)行開始日期的數(shù)據(jù)。因此,傳送文件管理單元12確定當前可執(zhí)行的靜態(tài)數(shù)據(jù),并基于所述確定將該靜態(tài)數(shù)據(jù)傳送給客戶機20。因此,傳送文件管理單元12配備有這種傳送確定裝置。此外,傳送文件管理部件12創(chuàng)建添加了執(zhí)行開始日期數(shù)據(jù)的報頭,以及將傳送的靜態(tài)數(shù)據(jù)。
如果傳送文件管理部件12確定在服務器10中沒有存儲將傳送給客戶機20的新的靜態(tài)數(shù)據(jù),則它可將服務器10的當前日期和時間的當前時間信息傳送給客戶機20。
傳送文件管理部件12可根據(jù)執(zhí)行開始時間將要被更新的靜態(tài)數(shù)據(jù)存儲在輔助存儲單元15的不同目錄中。也可存儲當前使用的靜態(tài)數(shù)據(jù)。
然而,傳送文件管理部件12可以不是硬件方面的一獨立單元,而是可以包括一控制單元11、主存儲器13、和輔助存儲單元15。
包括能夠執(zhí)行從服務器傳送的應用程序的計算機的客戶機20接收應用程序的更新數(shù)據(jù),并執(zhí)行更新的程序??蛻魴C20配備有控制單元21、主存儲單元23、通信單元22、輔助存儲單元25、輸入單元27、輸出單元28、和緩存管理部件24。
控制單元21、主存儲單元23、通信單元22、輸入單元27、和輸出單元28具有分別與在上述服務器中設置的控制單元11、主存儲單元13、通信單元14、輸入單元16、和輸出單元17相似的相應功能。這里,控制單元21包括被配置為執(zhí)行所述應用程序的執(zhí)行裝置。
輔助存儲單元25具有緩存存儲部件26。輔助存儲單元25存儲控制單元21較少訪問的數(shù)據(jù)或通過輸入單元27輸入的數(shù)據(jù)。輔助存儲單元25可以是軟(floppy,注冊商標)盤、硬盤、DVD-ROM、或CD-ROM。
緩存存儲部件26存儲用于識別靜態(tài)數(shù)據(jù)的名稱、被更新的靜態(tài)數(shù)據(jù)的信息(靜態(tài)數(shù)據(jù)更新信息)、靜態(tài)數(shù)據(jù)的執(zhí)行開始日期的信息等。如下面所述,靜態(tài)數(shù)據(jù)更新信息可以是例如靜態(tài)數(shù)據(jù)先前被更新的過去日期(下文中稱為“更新日期”)或作為與靜態(tài)數(shù)據(jù)相關的文件的管理號(版本號)的“文件號”。靜態(tài)數(shù)據(jù)的執(zhí)行開始日期的信息可包括靜態(tài)數(shù)據(jù)的存儲位置(例如,存儲位置的目錄或路徑)或靜態(tài)數(shù)據(jù)的執(zhí)行開始日期(執(zhí)行開始日期數(shù)據(jù))。
可將緩存存儲部件26設置在作為主存儲器的主存儲單元23而不是例如硬盤的輔助存儲單元25中。
緩存管理部件24控制在輔助存儲單元25中設置的緩存存儲部件26。緩存管理部件24向要被傳送給服務器10的請求報頭添加一本發(fā)明特有的唯一報頭。此外,該部件24包括被配置為比較由服務器10的傳送文件管理部件12所添加的請求報頭與存儲在客戶機20中的靜態(tài)數(shù)據(jù)的更新信息和執(zhí)行開始日期數(shù)據(jù),以選擇將用于客戶機20的靜態(tài)數(shù)據(jù),并確定所選擇的靜態(tài)數(shù)據(jù)是否應當由該用戶執(zhí)行。
網絡系統(tǒng)的功能現(xiàn)在將使用圖2說明網絡系統(tǒng)1的特定操作。這里,作為示例,將說明靜態(tài)數(shù)據(jù)更新信息是“更新日期”。
首先,客戶機20在預定時間例如當用戶開始在客戶機20上使用富客戶的時候向服務器10查詢更新的應用程序(作為可在客戶機上執(zhí)行的程序文件的靜態(tài)數(shù)據(jù))的存在(步驟S1)。這里,由于新的靜態(tài)數(shù)據(jù)在時間T1被存儲在服務器10中,服務器10將具有新更新日期T1的靜態(tài)數(shù)據(jù)A(T1)傳送給客戶機20,以響應從客戶機20接收到查詢(步驟S2)。
此后,客戶機20再次在預定時間向服務器10查詢(步驟S3)。此時,客戶機20的緩存管理部件24將X-Use-From添加到請求報頭以向服務器10查詢靜態(tài)數(shù)據(jù)A(T1)在當前日期是否仍然是最新的。
如果在服務器10中存在在日期T2更新的靜態(tài)數(shù)據(jù)A(T2),并且如果滿足了在系統(tǒng)中設置的預定條件,則服務器10將存儲有靜態(tài)數(shù)據(jù)A(T2)以及該靜態(tài)數(shù)據(jù)A(T2)的執(zhí)行開始日期的請求報頭傳送給客戶機20,以響應來自客戶機20的查詢(步驟S4第一傳送步驟)。此時,服務器10的傳送文件管理部件12將“X-Use-From-T3”報頭添加到請求報頭(例如,一HTTP報頭)來將該請求報頭傳送給客戶機20(第二傳送步驟)。更具體地,所添加的報頭包括指示所傳送的應用程序(靜態(tài)數(shù)據(jù))可從執(zhí)行開始日期T3執(zhí)行的執(zhí)行開始日期數(shù)據(jù)。
在此階段,第一傳送步驟和第二傳送步驟可以相反的順序執(zhí)行。即,可預先傳送要傳送的靜態(tài)數(shù)據(jù)的執(zhí)行時間數(shù)據(jù),并隨后可傳送實際靜態(tài)數(shù)據(jù)。
雖然在該示例中,第一傳送步驟和第二傳送步驟是由服務器10同時執(zhí)行(步驟S4)的,可從服務器向客戶機20傳送分離的包。
客戶機20再次在預定時間向服務器10查詢靜態(tài)數(shù)據(jù)A(T2)是否是最新的(步驟S5)。當在服務器10中未存儲新的靜態(tài)數(shù)據(jù)時,服務器10確定靜態(tài)數(shù)據(jù)A(T2)是最新的靜態(tài)數(shù)據(jù)。在這種情況下,服務器10向客戶機20傳送指示沒有要被傳送的靜態(tài)數(shù)據(jù)的信息(304)以及其中存儲有服務器的當前日期T4(日期)的報頭(步驟S6)。
客戶機20在接收到存儲有服務器10的當前日期T4的報頭時,比較該當前日期T4與所述執(zhí)行開始日期數(shù)據(jù)的執(zhí)行開始日期T3。如果當前日期超過了執(zhí)行開始日期,則客戶機20以靜態(tài)數(shù)據(jù)A(T2)替換客戶機20中當前使用的靜態(tài)數(shù)據(jù)A(T1),并使其可執(zhí)行(執(zhí)行確定步驟)。此外,當客戶請求時,客戶機20執(zhí)行該新的靜態(tài)數(shù)據(jù)(文件)(執(zhí)行步驟)。如果所述當前日期未超過所述執(zhí)行開始日期,則繼續(xù)使用已在客戶機20中使用的靜態(tài)數(shù)據(jù)A(T1)。
例如,在可保證客戶機20的時間與服務器10的時間一致的環(huán)境中,客戶機20可將客戶機20的當前時間而不是由客戶機20接收到的服務器10的當前時間與執(zhí)行開始日期相比較。
如上所述,一個客戶機20可更新靜態(tài)數(shù)據(jù)并從執(zhí)行開始日期執(zhí)行新的靜態(tài)數(shù)據(jù)。服務器10為連接到網絡系統(tǒng)1的所有客戶機執(zhí)行這種更新操作。因此,服務器10可在用于各客戶機20的多個時間執(zhí)行可執(zhí)行文件的傳送(第一傳送步驟)。
當服務器10在用于各客戶機20的多個時間執(zhí)行第一傳送步驟時,如果服務器20在所述執(zhí)行開始日期之前向最后一個客戶機傳送了靜態(tài)數(shù)據(jù),則暫緩靜態(tài)數(shù)據(jù)作為可執(zhí)行文件的執(zhí)行,直到所述執(zhí)行開始日期并滿足了靜態(tài)數(shù)據(jù)的準備已在所有客戶機中完成的條件,并且在執(zhí)行開始日期之后開始可執(zhí)行靜態(tài)數(shù)據(jù)的執(zhí)行。
接著,在下文中將描述所述靜態(tài)數(shù)據(jù)更新信息是靜態(tài)數(shù)據(jù)的“文件號”的情況。該文件號可以是靜態(tài)數(shù)據(jù)的版本號或序列號。
首先,客戶機20在預定時間例如當用戶開始使用客戶機20中的應用程序時向服務器10查詢更新的靜態(tài)數(shù)據(jù)的存在(步驟S1)。這里,具有文件號V1的新的靜態(tài)數(shù)據(jù)已被存儲在服務器10中,因此服務器10將具有新的文件號V1的靜態(tài)數(shù)據(jù)A(V1)傳送給客戶機20,以響應從客戶機20接收到查詢(步驟S2)。
此后,客戶機20再次在預定時間向服務器10查詢(步驟發(fā)S3)。此時,客戶機20的緩存管理部件24將X-Use-From添加到請求報頭以向服務器10查詢靜態(tài)數(shù)據(jù)A(V1)是否是新的靜態(tài)數(shù)據(jù)(步驟S3)。
如果在服務器10中存在更新的靜態(tài)數(shù)據(jù)A(V2),且如果滿足了在系統(tǒng)中設置的預定條件,則服務器10向客戶機20傳送靜態(tài)數(shù)據(jù)A(V2)以及其中存儲有靜態(tài)數(shù)據(jù)A(V2)的執(zhí)行開始日期的請求報頭,以響應來自客戶機20的查詢(步驟S4第一傳送步驟)。此時,服務器10的傳送文件管理部件12將“X-Use-From T3”報頭添加到請求報頭(例如,HTTP報頭),來向客戶機20傳送請求報頭(第二傳送步驟)。即,所添加的報頭是指示所傳送的靜態(tài)數(shù)據(jù)可從執(zhí)行開始日期T3執(zhí)行的信息。
客戶機20再次在預定時間向服務器10查詢靜態(tài)數(shù)據(jù)A(V2)是否是最新的(步驟S5)。當服務器10中沒有存儲新的靜態(tài)數(shù)據(jù)時,服務器10確定靜態(tài)數(shù)據(jù)A(V2)是最新的靜態(tài)數(shù)據(jù)。在這種情況下,服務器10將其中包含了服務器10的當前日期T4(日期)的報頭傳送給客戶機20,以響應來自客戶機20的查詢(步驟S6)。
在接收到來自服務器10的存儲有當前日期T4的報送時,客戶機20比較當前日期T4與執(zhí)行開始日期數(shù)據(jù)T3。如果所述當前日期超過了所述執(zhí)行開始日期,則客戶機20以靜態(tài)數(shù)據(jù)A(V2)代替在當前在客戶機20中使用的靜態(tài)數(shù)據(jù)A(V1)。如果所述當前日期沒有超過所述執(zhí)行開始日期,則繼續(xù)使用已在客戶機20中使用的靜態(tài)數(shù)據(jù)A(V1)。
從服務器10傳送到客戶機20的應用程序可以是與在客戶機中使用的用戶界面有關的程序。用戶界面借以實現(xiàn)的這種程序可包括一富客戶。該富客戶可被定義為在客戶機20中提供的用于使其能夠瀏覽、修改或存儲服務器信息的功能,并且是可由從服務器傳送的應用程序執(zhí)行的程序。
富客戶圖3和圖4分別示出了已被輸出到客戶機20的輸出單元28的富客戶的屏幕顯示。該富客戶提供用于“請求運輸工作”的服務。就是說,通過由客戶機20經由富客戶執(zhí)行對運輸工作的請求,將與該請求有關的數(shù)據(jù)(動態(tài)數(shù)據(jù))從通信網絡2傳送給服務器10。因此,富客戶在其中包含了定義屏幕布局或類似物的靜態(tài)數(shù)據(jù),以及處理顯示在屏幕上的數(shù)據(jù)的動態(tài)數(shù)據(jù)。
本發(fā)明也可應用于這樣的實施例,其中將身為這種富客戶的文件的應用程序文件從服務器10傳送給客戶機20。
現(xiàn)在將假定將“電話號碼”項添加到圖3所示的請求運輸工作的窗口中,以如圖4所示修改窗口的整個布局。在這種情況下,在更新之前的靜態(tài)數(shù)據(jù)將對應于用于顯示圖3所示的窗口的應用程序,而在更新之后的靜態(tài)數(shù)據(jù)將對應于用于顯示圖4所示的窗口的應用程序。換言之,前述靜態(tài)數(shù)據(jù)A(T1)或A(V1)是用于顯示圖3所示窗口的應用程序,而靜態(tài)數(shù)據(jù)A(T2)或A(V2)是用于顯示圖4所示窗口的應用程序。
在另一實施例中,客戶機配備有web瀏覽器。本發(fā)明可應用于這樣的情況中,其中將用于向web瀏覽器添加新功能的應用程序(所述靜態(tài)數(shù)據(jù))從服務器10傳送到客戶機20。例如,當作為web服務器的服務器10和配備有web瀏覽器的客戶機通過HTTP互相通信時,可在所述第一傳送步驟中使用HTTP緩存管理報頭將靜態(tài)數(shù)據(jù)文件從服務器中的緩存?zhèn)魉徒oweb瀏覽器中的緩存。
服務器的操作現(xiàn)將使用圖5描述服務器10的一特定操作。首先,在預定時間由客戶機20的緩存管理部件24向服務器10發(fā)出對靜態(tài)數(shù)據(jù)的請求(步驟S10)。響應于該請求,服務器10接收到該請求。步驟S10中的對于靜態(tài)數(shù)據(jù)的請求并不限于對新的靜態(tài)數(shù)據(jù)的請求,而是它可包括當在客戶機的緩存存儲部件26中沒有存儲靜態(tài)數(shù)據(jù)時對該靜態(tài)數(shù)據(jù)的請求。
接著,服務器10的傳送文件管理部件12確定請求報頭是否包括“條件GET”(If-Modified-Since)(步驟S11)。如果該確定為“否”,則如在現(xiàn)有技術中所做的那樣將預定的靜態(tài)數(shù)據(jù)A傳送給客戶機20(步驟S16)。如果該確定為“是”,則傳送文件管理部件12比較條件GET的時間(條件GET的文件號)與靜態(tài)數(shù)據(jù)A的更新時間(靜態(tài)數(shù)據(jù)A的文件號),以確定在服務器10中是否存儲了新的靜態(tài)數(shù)據(jù)A(步驟S12)。
如果步驟S12中的確定為“是”,則傳送文件管理部件12確定是否存在其中指定了晚于所述新的靜態(tài)數(shù)據(jù)A的執(zhí)行開始日期的執(zhí)行開始日期的靜態(tài)數(shù)據(jù)B(步驟S13)。如果該確定為“否”,則不需要更新靜態(tài)數(shù)據(jù),因此除了傳送“304 Not Modified”之外,將作為服務器10的時間信息的“日期”傳送給客戶機20(步驟S17)。
如果步驟S13中的確定為“是”,則確定服務器10或通信網絡2是否滿足“預定條件”。
所述“預定條件”包括用于服務器10傳送靜態(tài)數(shù)據(jù)的條件,并因此,這些條件可以是通信網絡2上的處理負荷的條件或者服務器10的處理負荷是否高的條件。此外,所述預定條件可以是是否到了用戶指定的時間(時期)的條件。就是說,系統(tǒng)中的網絡負荷減小的時間是預先指定的,并且可使用是否到了所指定的時間(或預定的時期)的事實作為所述預定條件。
這里,確定通信網絡2的利用率是否高的條件是由所傳送的文件大小相對于通信線路的通信速度確定的。例如,當3兆字節(jié)=24兆位的文件在具有10兆位/秒的通信速度的LAN上傳送時,在應用CSMA/CD(帶沖突檢測的載波監(jiān)聽多路訪問)的情況下,整個LAN可被占用超過2秒。因此,當通信網絡2被占用預定時間(例如,1秒)時,可確定網絡通信負荷高。
此外,確定服務器10上的處理負荷是否高的條件可通過服務器10的控制單元11(例如CPU)的使用率(例如,50%或更高)或通過服務器10的主存儲單元13(例如,主存儲器)的使用率(例如,50%或更高)來確定。
另外,當在服務器10中存儲靜態(tài)數(shù)據(jù)經歷的由客戶機20所請求的更新的次數(shù)作為所述“預定條件”時,所述“預定條件”可根據(jù)上述次數(shù)是否等于預定數(shù)來確定。此外,可將當前在進行請求的客戶機20中操作的靜態(tài)數(shù)據(jù)版本與將由服務器10傳送的靜態(tài)數(shù)據(jù)相比較,并且可使得當這兩個版本彼此不同時滿足所述“預定條件”。
如果步驟S14為“是”,則向客戶機20傳送靜態(tài)數(shù)據(jù)B、靜態(tài)數(shù)據(jù)B的執(zhí)行開始日期和更新日期。這里,在“X-Use-From”中設置靜態(tài)數(shù)據(jù)的執(zhí)行開始日期,并將其傳送給客戶機20(步驟S15)??蛻魴C20接收到新的靜態(tài)數(shù)據(jù)、靜態(tài)數(shù)據(jù)更新信息、和更新日期,以更新存儲在緩存存儲部件26中的信息。如果步驟S14為“否”,則過程進行到步驟S17。
客戶機的操作現(xiàn)在將使用圖6描述客戶機20的一特定操作??蛻魴C20在預定時間向服務器10請求靜態(tài)數(shù)據(jù)(步驟S20)。此時,確定靜態(tài)數(shù)據(jù)是否存在于緩存管理部件24(步驟S21)。執(zhí)行該確定以了解在緩存管理部件24中是否存儲有包括靜態(tài)數(shù)據(jù)的舊版本的至少一個靜態(tài)數(shù)據(jù)。如果在緩存管理部件24中不存在靜態(tài)數(shù)據(jù),則使用“無條件GET”從服務器10獲取靜態(tài)數(shù)據(jù)A(步驟S25)。
“無條件GET”被HTTP定義為一用于請求靜態(tài)數(shù)據(jù)而不向請求報頭添加“If-Modified-Since”報頭的請求。如果在緩存管理部件24中沒有存儲靜態(tài)數(shù)據(jù),則客戶機20暫時不帶條件地請求并獲取靜態(tài)數(shù)據(jù)。
在獲得靜態(tài)數(shù)據(jù)A之后,使用該靜態(tài)數(shù)據(jù)A(已使其可用)更新客戶機20中的靜態(tài)數(shù)據(jù)(步驟S26)。因為在這種情況中未指定執(zhí)行開始日期,所以當獲得靜態(tài)數(shù)據(jù)之后立即使它可用。
如果步驟S21為“是”,則向服務器10傳送帶有靜態(tài)數(shù)據(jù)A的更新日期的“條件GET”(步驟S22)。當作為對其的響應從服務器10接收到“304 Not Modified”和“日期”(步驟S23)時,根據(jù)來自服務器的該日期信息(日期)來確定將在客戶機20中使用的靜態(tài)數(shù)據(jù)(步驟S24)。即,如果該日期信息超過了靜態(tài)數(shù)據(jù)的執(zhí)行開始日期,則客戶機20確定開始使用新獲得的靜態(tài)數(shù)據(jù),否則,客戶機繼續(xù)使用當前靜態(tài)數(shù)據(jù)。
如果步驟S23為“否”,則客戶機接收“200 Last-Modified”以由此從服務器10獲得靜態(tài)數(shù)據(jù)(步驟S27)。在這種情況下,確定“X-Use-From”是否已添加到所接收的請求報頭(步驟S28)。如果步驟S28為“否”(未添加),則以靜態(tài)數(shù)據(jù)A(已使其可用的)更新客戶機20中的靜態(tài)數(shù)據(jù)(步驟S26)。即,因為在這種情況中沒有指定執(zhí)行開始日期,當獲得靜態(tài)數(shù)據(jù)后立即使其可用。
如果步驟S28為“是”(添加了“X-Use-From”),則基于更新的日期信息和“X-Use-From”的日期來更新靜態(tài)數(shù)據(jù)更新信息的更新日期和靜態(tài)數(shù)據(jù)執(zhí)行開始日期(步驟S29)。隨后,如果通過比較從服務器10獲得的更新日期與靜態(tài)數(shù)據(jù)執(zhí)行開始日期確定了所述更新日期地超過了所述靜態(tài)數(shù)據(jù)執(zhí)行開始日期,則客戶機20開始使用新獲得的靜態(tài)數(shù)據(jù),否則,客戶機繼續(xù)使用當前靜態(tài)數(shù)據(jù)(步驟S24)。
雖然在圖5和圖6所示的實施例中使用例如更新日期作為靜態(tài)數(shù)據(jù)更新信息,也可使用文件號信息作為靜態(tài)數(shù)據(jù)更新信息。就是說,步驟S12、S22、和S29可以分別是“靜態(tài)數(shù)據(jù)A比條件GET的文件號新”、“傳送帶有靜態(tài)數(shù)據(jù)A的文件號的條件GET”、和“更新緩存管理部件中的文件號信息、靜態(tài)數(shù)據(jù)、和執(zhí)行開始日期”,以確定是否應當根據(jù)文件號更新靜態(tài)數(shù)據(jù)。
用于將這些實施例付諸實施的系統(tǒng)和方法可使用在計算機、客戶機、和服務器中執(zhí)行的程序來實現(xiàn)。用于該程序的存儲介質可以是光存儲介質、磁存儲介質、磁帶介質、半導體存儲器、或類似物。在與專用通信網絡或因特網連接的服務器中設置的硬盤或存儲部件例如RAM可用作通過網絡提供程序的存儲介質。
本發(fā)明不限于所述的實施例,而是在本發(fā)明中包含了在可完成本發(fā)明的目標的范圍內的很多改變和修改。例如,本發(fā)明可應用于由JAVA(注冊商標)小服務程序進行了功能擴展的web服務器,或應用于客戶機的web瀏覽器。
盡管已描述了本發(fā)明的實施例,它們僅旨在說明特定的示例。在本發(fā)明的實施例中描述的優(yōu)點只是用來列舉從本發(fā)明得到的最優(yōu)選的優(yōu)點,而本發(fā)明的優(yōu)點不限于在本發(fā)明的實施例中所描述的那些優(yōu)點。
權利要求
1.一種被應用于包括服務器、多個客戶機以及與所述服務器和所述多個客戶機連接的通信網絡的網絡系統(tǒng)的方法,包括第一傳送步驟,其中所述服務器通過所述通信網絡向所述客戶機傳送可在所述客戶機中執(zhí)行的文件;第二傳送步驟,其中所述服務器通過所述通信網絡向所述客戶機傳送指示所述文件的執(zhí)行開始日期的執(zhí)行開始日期數(shù)據(jù);以及執(zhí)行確定步驟,其中所述客戶機基于當前時間和所述執(zhí)行開始日期數(shù)據(jù)確定是否執(zhí)行所述文件。
2.根據(jù)權利要求1的方法,其中所述服務器同時執(zhí)行所述第一傳送步驟和所述第二傳送步驟。
3.根據(jù)權利要求1的方法,其中所述服務器和所述客戶機使用HTTP通過所述通信網絡進行通信,并且所述第二傳送步驟包括允許在HTTP的HTTP報頭中包括所述執(zhí)行開始日期數(shù)據(jù)以便將所述執(zhí)行開始日期數(shù)據(jù)從所述服務器傳送到所述客戶機的步驟。
4.根據(jù)權利要求1的方法,其中所述服務器和所述客戶機使用HTTP通過所述通信網絡進行通信,并且所述執(zhí)行確定步驟包括從自所述服務器傳送的HTTP報頭中獲得所述當前日期的步驟。
5.根據(jù)權利要求1的方法,其中所述執(zhí)行確定步驟包括當所述當前日期超過所述執(zhí)行開始日期時確定執(zhí)行所述文件的確定步驟。
6.根據(jù)權利要求1的方法,其中該方法進一步包括當在所述執(zhí)行確定步驟中確定執(zhí)行所述文件時所述客戶機執(zhí)行所述文件的執(zhí)行步驟。
7.根據(jù)權利要求1的方法,其中所述文件包括用戶界面文件,并且其中所述執(zhí)行確定步驟包括所述客戶機確定是否更新用戶界面的確定步驟。
8.根據(jù)權利要求1的方法,其中所述文件包括應用程序的文件,并且,其中所述執(zhí)行確定步驟包括客戶機確定是否更新所述應用程序的一應用程序的確定步驟。
9.根據(jù)權利要求8的方法,其中所述客戶機各包括web瀏覽器,并且所述應用程序文件包括用于向所述web瀏覽器添加功能的應用程序文件。
10.根據(jù)權利要求1的方法,其中所述第一傳送步驟是在所述執(zhí)行開始日期之前執(zhí)行的。
11.根據(jù)權利要求1的方法,其中在多個時間分別地執(zhí)行用于向多個所述客戶機進行傳送的多個所述第一傳送步驟。
12.根據(jù)權利要求1的方法,其中對應于多個所述客戶機的多個所述第一傳送步驟是在多個時間分別地執(zhí)行的,并且其中對應于最后一個時間的所述第一傳送步驟是在所述執(zhí)行開始日期之前執(zhí)行的。
13.根據(jù)權利要求1的方法,進一步包括在所述第一傳送步驟之前根據(jù)預定條件確定是否執(zhí)行所述第一傳送步驟的傳送確定步驟。
14.根據(jù)權利要求13的方法,其中所述預定條件包括存儲在所述服務器中的文件版本和存儲在所述客戶機中的文件版本之間的差異,并且其中當所述兩個文件版本彼此不同時所述傳送確定步驟確定執(zhí)行所述第一傳送步驟。
15.根據(jù)權利要求14的方法,其中所述服務器和所述客戶機使用HTTP通過所述通信網絡進行通信,并且其中所述文件版本中的差異是使用HTTP的“If-Modified-Since”報頭確定的。
16.根據(jù)權利要求13的方法,其中所述預定條件包括所述服務器上的處理負荷,并且其中當所述處理負荷低于預定值時所述傳送確定步驟確定執(zhí)行所述第一傳送步驟。
17.根據(jù)權利要求13的方法,其中所述預定條件包括所述通信網絡上的通信負荷,并且其中當所述通信負荷低于預定值時所述傳送確定步驟確定執(zhí)行所述第一傳送步驟。
18.根據(jù)權利要求13的方法,其中所述預定條件包括當前時間是否到達預定傳送時間的信息,并且其中當所述當前時間到達所述傳送時間時所述傳送確定步驟確定執(zhí)行所述第一傳送步驟。
19.一種包括服務器、多個客戶機以及與所述服務器和客戶機連接的通信網絡的網絡系統(tǒng),其中所述服務器具有用于通過所述通信網絡將可在所述客戶機中執(zhí)行的文件以及指示所述文件的執(zhí)行開始日期的執(zhí)行開始日期數(shù)據(jù)從所述服務器傳送給所述客戶機的傳送裝置,以及所述客戶機中的每一個具有用于根據(jù)當前時間和所述執(zhí)行開始日期數(shù)據(jù)確定是否執(zhí)行所述文件的執(zhí)行確定裝置。
20.根據(jù)權利要求19的系統(tǒng),其中所述客戶機中的每一個配備有用于根據(jù)所述執(zhí)行確定裝置所做的確定執(zhí)行所述文件的執(zhí)行裝置。
21.根據(jù)權利要求19的系統(tǒng),其中所述傳送裝置在多個時間分別地向所述多個客戶機傳送所述文件。
22.根據(jù)權利要求19的系統(tǒng),其中所述服務器具有用于根據(jù)預定條件確定是否傳送所述文件的傳送確定裝置。
23.一種用于在包括通過通信網絡相互連接的服務器和多個客戶機的網絡系統(tǒng)中使用的計算機程序產品,該計算機程序產品使能作為服務器的計算機執(zhí)行向客戶機傳送指示可在該客戶機中執(zhí)行的文件的執(zhí)行開始日期數(shù)據(jù)的功能;以及作為客戶機的計算機執(zhí)行根據(jù)當前時間和所述執(zhí)行開始日期數(shù)據(jù)確定是否執(zhí)行所述文件的執(zhí)行確定功能。
24.一種提供給包括服務器、多個客戶機以及與所述服務器和所述客戶機連接的通信網絡的網絡系統(tǒng)的服務方法,其中所述服務器通過所述通信網絡向所述客戶機傳送包括文件的信息,并且每個客戶機執(zhí)行所述文件,該方法包括擴展所述服務器的功能從而包括指示所述文件的執(zhí)行開始日期的執(zhí)行開始日期數(shù)據(jù)作為所述信息的第一步驟;以及擴展每個客戶機的功能從而根據(jù)當前時間和所述執(zhí)行開始日期數(shù)據(jù)確定是否執(zhí)行所述文件的第二步驟。
25.根據(jù)權利要求24的方法,其中所述服務器和所述客戶機使用HTTP通過所述通信網絡交換所述信息,其中所述第一步驟包括擴展服務器的功能從而在HTTP報頭中包括所述執(zhí)行開始日期數(shù)據(jù),并且其中所述第二步驟包括擴展所述客戶機的功能從而根據(jù)所述HTTP報頭中的執(zhí)行開始日期確定是否執(zhí)行所述文件。
26.根據(jù)權利要求24的方法,包括擴展所述服務器的所述功能從而在多個時間將所述文件傳送給所述多個客戶機的第三步驟。
27.根據(jù)權利要求24的方法,進一步包括擴展所述服務器的所述功能從而根據(jù)預定條件確定是否傳送所述文件的第四步驟。
28.根據(jù)權利要求24的方法,其中所述服務器的所述功能是由小服務程序擴展的。
全文摘要
提供了一種能夠便利應用程序從服務器向多個客戶機的傳送、并使得系統(tǒng)中的所有所述客戶機能夠在某一指定日期后一起執(zhí)行更新的應用程序的方法。提供了一種應用于包括連接到一個服務器和多個客戶機的通信網絡的網絡系統(tǒng)的方法,該方法包括第一傳送步驟,其中服務器通過通信網絡向客戶機傳送可在客戶機中執(zhí)行的文件,第二傳送步驟,其中服務器通過通信網絡向客戶機傳送指示所述可執(zhí)行文件的執(zhí)行開始日期的執(zhí)行開始日期數(shù)據(jù),以及執(zhí)行確定步驟,其中客戶機根據(jù)當前時間和所述執(zhí)行開始日期數(shù)據(jù)確定是否執(zhí)行所述可執(zhí)行文件。
文檔編號H04L29/06GK1791105SQ200510114459
公開日2006年6月21日 申請日期2005年10月24日 優(yōu)先權日2004年12月13日
發(fā)明者片岡克尚 申請人:國際商業(yè)機器公司