本公開涉及一種能夠轉變到省電模式的信息處理裝置、控制方法以及存儲介質。
背景技術:
作為特定裝置的省電模式,裝置進入省電狀態(tài),在省電狀態(tài)下,停止對諸如掃描器和打印機等的至少一些硬件資源的電力供給,并且在維持存儲器內容的至少一部分的同時停止中央處理單元(cpu)。在下文中,將該省電狀態(tài)稱為深睡眠模式,并且將裝置到深睡眠模式的轉變稱為進入深睡眠。
當在長時間段期間不操作裝置時,裝置進入深睡眠。裝置還可能在用戶按下電源開關時進入深睡眠。裝置進入深睡眠并且從深睡眠返回,以實現(xiàn)用于比正常關機更快地進行關機操作的高速關機,并且實現(xiàn)用于比正常啟動更快地進行啟動操作的高速啟動。
作為與高速關機有關的技術,日本特開2014-106835號公報討論了一種如下的技術,其中,當用戶按下電源開關時,裝置在確認網(wǎng)絡通信條件之后進行正常關機或高速關機。
技術實現(xiàn)要素:
根據(jù)本公開的一方面,一種信息處理裝置,其具有至少兩種服務,所述至少兩種服務包括:登錄服務,其被構造為基于接收到的認證信息進行認證處理,并且根據(jù)認證信息的有效性發(fā)布認證識別信息;以及通信服務,其被構造為在從外部裝置接收到第一請求時,發(fā)布通信識別信息并且將通信識別信息連同響應一起發(fā)送到所述外部裝置,以及,在接收到包括通信識別信息的請求時,對請求中包括的認證識別信息進行確認并且向所述外部裝置發(fā)送響應,所述信息處理裝置包括:轉變單元,其被構造為,在接收到關機指令時,進行到省電狀態(tài)的狀態(tài)轉變,在所述省電狀態(tài)下,在不刪除所述信息處理裝置的存儲器中存儲的信息的情況下停止對所述信息處理裝置的硬件資源的電力供給,以及存儲單元,其被構造為,當所述轉變單元進行到省電狀態(tài)的狀態(tài)轉變時,將所發(fā)布的通信識別信息作為無效調度通信識別信息存儲在存儲器中,其中,在從所述省電狀態(tài)返回之后,在從所述外部裝置接收到的請求中包括的通信識別信息與由所述存儲單元存儲的無效調度通信識別信息一致的情況下,所述通信服務向所述登錄服務發(fā)送用于使從所述外部裝置接收到的請求中包括的認證識別信息無效的請求,并且向所述外部裝置發(fā)送用于請求所述認證信息的響應。
通過以下參照附圖對示例性實施例的描述,本發(fā)明的其他特征將變得清楚。
附圖說明
圖1是例示根據(jù)本公開的示例性實施例的系統(tǒng)和軟件構造的框圖。
圖2例示了根據(jù)第一示例性實施例的認證會話存儲單元、超文本傳輸協(xié)議(http)會話存儲單元和無效調度http會話存儲單元。
圖3是例示根據(jù)第一示例性實施例的登錄處理的序列圖。
圖4是例示根據(jù)第一示例性實施例的高速關機的序列圖。
圖5是例示根據(jù)第一示例性實施例的當從web瀏覽器發(fā)送請求時進行的處理的序列圖。
圖6是例示根據(jù)第一示例性實施例的登出請求的序列圖。
圖7a和圖7b例示了根據(jù)第一示例性實施例的會話存儲單元的狀態(tài)轉變。
圖8是例示根據(jù)第二示例性實施例的軟件構造的框圖。
圖9(由圖9a和圖9b組成)是例示由servlet(服務器端小程序)進行的http會話無效處理的序列圖。
圖10是例示根據(jù)第二示例性實施例的由servlet進行的http會話無效處理和高速關機通知處理的流程圖。
圖11是例示根據(jù)第三示例性實施例的高速關機處理和http請求接收處理的流程圖。
圖12是例示根據(jù)第一示例性實施例的登錄處理的流程圖。
圖13是例示根據(jù)第一示例性實施例的在高速關機時的http服務器的處理的流程圖。
圖14a和圖14b是例示根據(jù)第一示例性實施例的當從web瀏覽器發(fā)送請求時進行的處理的流程圖。
具體實施方式
當用戶操作電源開關時,進行高速關機或高速啟動。然而,用戶可能沒有意識到裝置基于通過深睡眠的高速關機和通過從深睡眠返回的啟動來實現(xiàn)高速操作。
假設在深睡眠期間,裝置的cpu暫時停止,并且存儲器內容的至少一部分被保留而不被擦除。因此,在裝置進入深睡眠之前和在裝置從深睡眠返回之后,在裝置上運行的程序的狀態(tài)是相同的。例如,當裝置從深睡眠返回時,將保留表示針對裝置中提供的通信服務的用戶登錄狀態(tài)的認證識別信息。因此,該裝置使得用戶能夠保持登錄通信服務,而不在高速啟動之后進行重新登錄處理。因為指定關機的用戶認為認證會話已被重置,所以用戶可能從安全性的角度不信任該裝置。
本公開提供了一種用于在裝置從高速關機返回時,使由裝置在進入高速關機之前發(fā)布的認證識別信息無效的機制。該機制維持具有用于保持存儲器內容的至少一部分的省電模式的裝置的安全性。
本公開使得能夠維持具有用于保持存儲器內容的至少一部分的省電模式的裝置的安全性。
圖1是例示根據(jù)第一示例性實施例的系統(tǒng)和軟件構造的框圖。該系統(tǒng)包括用作信息處理裝置的多功能外圍設備(mfp)100以及也用作經(jīng)由網(wǎng)絡110連接的信息處理裝置的個人計算機(pc)108。mfp100包括用于執(zhí)行實現(xiàn)本公開的軟件的cpu101、用于存儲實現(xiàn)本公開的軟件的只讀存儲器(rom)102、用于執(zhí)行實現(xiàn)本示例性實施例的軟件的隨機存取存儲器(ram)103、用于借助于實現(xiàn)本示例性實施例的軟件來存儲數(shù)據(jù)的外部存儲器104、用戶進行操作的用戶界面(ui)105、以及網(wǎng)絡接口(i/f)控制單元107。ui105被實現(xiàn)為液晶觸摸面板或者液晶面板和硬件鍵的組合。上述的模塊經(jīng)由總線106彼此連接以交換數(shù)據(jù)。mfp100經(jīng)由網(wǎng)絡i/f控制單元107連接到網(wǎng)絡110。
電源開關121被用戶用來將電源接通和斷開。當用戶按下電源開關121時,mfp100進行啟動、關機、高速啟動或高速關機。mfp100配設有諸如打印引擎和掃描器引擎(未例示)這樣的硬件資源。當mfp100進行高速關機時,停止對硬件資源的電力供給。打印引擎是用于將圖像數(shù)據(jù)打印到記錄片材上的引擎,并且掃描器引擎是用于電子地讀取記錄片材并將讀取的數(shù)據(jù)轉換成圖像的引擎。
pc108連接到網(wǎng)絡110,并且包括cpu、rom、ram、外部存儲設備和網(wǎng)絡i/f控制單元(未例示)。web瀏覽器109在pc108上進行操作。使用web瀏覽器109,用戶訪問超文本傳輸協(xié)議(http)服務器112(下面描述),接收webui,并且經(jīng)由webui進行對mfp100的設置以及打印。
操作系統(tǒng)(os)111、http服務器112、登錄服務115、servlet117以及電源管理模塊118是mfp100的rom102中存儲的軟件。當mfp100啟動時,軟件被加載到ram103中,然后被cpu101執(zhí)行。(下面描述)這些軟件執(zhí)行序列和流程圖。
os111是用于向在os111上運行的應用提供硬件功能的基本軟件。http服務器112是用于進行基于http的通信的通信服務,并且具有通過網(wǎng)絡110從web瀏覽器109接收http請求的服務器功能。第一示例性實施例采用http服務器112,用于進行基于http的通信作為通信服務。http服務器112分析所接收的http請求,并且請求登錄服務115進行認證處理。http服務器112還分析所接收的http請求,并且請求servlet117進行處理。http服務器112還將登錄服務115和servlet117的處理結果作為http響應發(fā)送到web瀏覽器109。
http服務器112包括用于進行http通信的會話管理的http會話存儲單元113,以及用于在進行高速關機之前存儲所發(fā)布的http會話的無效調度http會話存儲單元114。雖然在第一示例性實施例中,http會話存儲單元113和無效調度http會話存儲單元114被描述為不同的存儲單元,但是http會話存儲單元113可以包括用于會話管理的無效調度標志。
登錄服務115是用于進行用戶認證的模塊,并且檢查輸入的認證信息是否是與預登記的認證信息一致的有效認證信息。登錄服務115生成用于使得用戶能夠通過使用web瀏覽器109來登錄的登錄頁面,并且確定從web瀏覽器109發(fā)送的認證信息是否是有效認證信息。當認證信息是有效認證信息并且用戶能夠登錄時,登錄服務115發(fā)布認證會話cookie和認證會話。根據(jù)來自http服務器112的請求,登錄服務115確定從web瀏覽器109發(fā)送的http請求中包括的認證會話是否有效。登錄服務115包括存儲當前正在登錄的用戶的認證信息的認證會話存儲單元116。
servlet117是應用服務之一,并且根據(jù)來自http服務器112的請求進行用于生成作為webui畫面信息的html的處理以及經(jīng)由webui指定的處理,并且將處理結果發(fā)送到http服務器112。
當用戶按下電源開關121時,電源管理模塊118進行高速關機處理、高速啟動處理、關機處理或啟動處理。當mfp100正在運行時,電源管理模塊118確定當用戶按下電源開關121時是進行高速關機還是進行關機。例如,電源管理模塊118確定用戶是否做出了需要重新啟動的設置(例如ip地址設置)。如果用戶做出了這種需要重新啟動的設置,則電源管理模塊118進行正常關機處理。如果不需要重新啟動,則電源管理模塊118進行高速關機處理。
當用戶在對mfp100進行了高速關機的狀態(tài)下按下電源開關121時,電源管理模塊118進行高速啟動處理。當用戶在對mfp100進行了正常關機的狀態(tài)下按下電源開關121時,電源管理模塊118進行啟動處理。此外,當通過用戶操作進行高速關機時,電源管理模塊118向http服務器112通知高速關機的執(zhí)行。
圖2例示了在認證會話存儲單元116、http會話存儲單元113以及無效調度http會話存儲單元114中存儲的數(shù)據(jù)。cookie是用來在兩個不同的通信裝置之間交換任意信息時、指定由特定通信裝置接收到的任意信息與哪個會話有關的識別信息。將在下面詳細描述會話的數(shù)據(jù)內容。會話是指在通信裝置之間建立的許多連接當中的特定連接中的任意信息交換結束之前使用的信息。在本示例性實施例中,使用http會話cookie作為用于識別web瀏覽器109和http服務器112之間的會話的通信識別信息。
首先,從http服務器112向web瀏覽器109發(fā)送http會話cookie。web瀏覽器109存儲用于各個連接目標http服務器的http會話cookie。當web瀏覽器109向http服務器112發(fā)送請求時,web瀏覽器109將從http服務器112接收到的http會話cookie發(fā)送到http服務器112。http服務器112通過使用http響應頭“set-cookie”,將http會話cookie發(fā)送到web瀏覽器109。set-cookie頭包括作為http會話cookie的標識符的cookie名,以及如同“set-cookie:loginsession=aaaaa”的cookie值。在該示例中,cookie名為“l(fā)oginsession”,并且cookie值為“aaaaa”。
除了http會話cookie以外,登錄服務115還在http響應頭中設置特定類型的cookie,例如作為認證識別信息的認證會話cookie201。類似于通信識別信息,認證識別信息是用于兩個不同的裝置之間的任意信息交換的識別信息。此外,servlet117能夠在http響應頭中設置任意cookie。更具體地,能夠在一個http響應中包括0個或更多個set-cookie頭。當web瀏覽器109從http服務器112接收到1個或更多個cookie時,web瀏覽器109存儲cookie名和cookie值的組。web瀏覽器109通過使用所存儲的http請求頭“cookie”進行“set-cookieheader”,并且將所設置的cookie發(fā)送到http服務器112。
cookie頭包括至少一組cookie名和cookie值,cookie名是cookie的標識符,cookie值如同“cookie:httpsession=11111;loginsession=aaaaa”。在該示例中,web瀏覽器109發(fā)送具有cookie名“httpsession”和cookie值“11111”的cookie以及具有cookie名“l(fā)oginsession”和cookie值“aaaaa”的cookie。換言之,將通信識別信息和認證識別信息發(fā)送到http服務器112。當web瀏覽器109向http服務器112發(fā)送多個cookie時,由分號“;”分隔cookie名和cookie值的各個組。
認證會話存儲單元116存儲認證會話,認證會話各自包括認證會話cookie201和認證會話202的組。認證會話202包括有效期限203、有效標志210和權限信息。認證會話cookie201是用于在認證會話存儲單元116中搜索認證會話的標識符。使用http請求中包括的認證會話cookie作為關鍵字,登錄服務115搜索與http請求相對應的認證會話。有效期限203是認證會話202的有效期限。當有效期限期滿時,登錄服務115從認證會話存儲單元116中刪除認證會話202。權限信息是指已認證用戶的權限信息,并且被用來限制servlet117的使用。例如,當沒有管理員權限的用戶使用servlet117來作為管理員進行操作時,使用權限信息來返回權限錯誤。
http會話存儲單元113存儲http會話,該http會話各自包括http會話cookie204和http會話205的組。http會話205包括有效期限206。http會話cookie204是用于在http會話存儲單元113中搜索http會話的標識符。使用http請求中包括的http會話cookie作為關鍵字,http服務器112搜索與http請求相對應的http會話。有效期限206是http會話205的有效期限。當有效期限期滿時,http服務112從http會話存儲單元113中刪除http會話205。
無效調度http會話存儲單元114存儲http會話,該http會話各自包括http會話cookie207和http會話208的組。http會話208包括有效期限209。http會話cookie207是用于在無效調度http會話存儲單元114中搜索http會話的標識符。使用http請求中包括的http會話cookie作為關鍵字,http服務器112搜索與http請求相對應的http會話。有效期限209是http會話208的有效期限。當有效期限期滿時,http服務器112從無效調度http會話存儲單元114中刪除http會話208。
圖3是例示在登錄操作期間的處理的序列圖。在步驟s3001中,http服務器112從web瀏覽器109接收登錄頁面請求3101,并且分析http請求格式的登錄頁面請求3101。由于web瀏覽器109和http服務器112第一次建立連接,所以登錄頁面請求3101用作從web瀏覽器109發(fā)送的第一請求。第一請求不一定需要是登錄頁面請求。
在步驟s3002中,如果http請求是針對登錄服務115,則http服務器112向登錄服務115發(fā)布用于生成登錄頁面的登錄頁面請求。在步驟s3003中,在從http服務器112接收到登錄頁面請求時,登錄服務115生成登錄頁面。在步驟s3004中,登錄服務115將所生成的登錄頁面返回到http服務器112。在步驟s3005中,當http服務器112與web瀏覽器109第一次建立連接時,http服務器112發(fā)布http會話。在步驟s3006中,http服務器112將http會話添加到http會話存儲單元113。每次http會話無效并且與web瀏覽器109建立會話時,http服務器112發(fā)布新的http會話,并且進行登錄請求。因此,http服務器112將http會話與認證會話間接地相關聯(lián)。
在步驟s3007中,http服務器112將所發(fā)布的http會話的http會話cookie的值設置在http響應3102的set-cookie頭中。雖然根據(jù)第一示例性實施例,使用cookie作為用于http會話和認證會話信息交換的識別信息,但是可以依據(jù)http服務器112和登錄服務115的實現(xiàn),使用請求統(tǒng)一資源定位符(url)的參數(shù)或專用http頭。在步驟s3008中,http服務器112將由登錄服務115生成的登錄頁面作為http響應3102的響應主體發(fā)送到web瀏覽器109。
web瀏覽器109接收并顯示作為畫面信息的登錄頁面。在步驟s3009中,當用戶在所顯示的登錄頁面中輸入登錄id和密碼作為認證信息,并且然后進行登錄操作時,web瀏覽器109發(fā)送http請求3103作為登錄請求。http請求3103的請求主體包括登錄所需的信息,例如用戶id和密碼。通過登錄服務115的規(guī)格來確定請求主體中包括的登錄所需的信息。當從web瀏覽器109接收到http格式的登錄請求3103時,http服務器112分析http請求。在步驟s3010中,如果http請求針對登錄服務115,則http服務器112請求登錄服務115進行登錄。
在步驟s3011中,在從http服務器112接收到登錄請求時,登錄服務115進行登錄處理。下面將參照圖12描述登錄處理的執(zhí)行序列。在步驟s12001中,登錄服務115開始登錄處理。在步驟s12002中,登錄服務115從請求主體獲取登錄id。在步驟s12003中,登錄服務115從請求主體獲取登錄密碼。
在步驟s12004中,登錄服務115通過使用在步驟s12002中獲取的登錄id和在步驟s12003中獲取的登錄密碼來確定是否能夠登錄。當能夠登錄時(在步驟s12004中為“是”),處理進行到步驟s12005。另一方面,當不能登錄時(在步驟s12004中為“否”),處理進行到步驟s12013。在步驟s12013中,登錄服務115將登錄頁面作為響應返回到http服務器112(步驟s3013)。在步驟s12011中,登錄服務115結束登錄處理。
在步驟s12005中,登錄服務115生成認證會話cookie。在步驟s12006中,登錄服務115生成認證會話。在步驟s12007中,登錄服務115對所生成的認證會話3014設置有效期限。在步驟s12008中,登錄服務115對認證會話3014設置諸如用戶權限等的其他信息。在步驟s12009中,登錄服務115將在步驟s12005中生成的認證會話cookie和在步驟s12006中生成的認證會話添加到認證會話存儲單元116。在步驟s12010中,登錄服務115將在步驟s12005中生成的認證會話cookie的值設置到響應頭的“set-cookie”。在步驟s12012中,登錄服務115生成登錄完成頁面作為響應主體。在步驟s12011中,登錄服務115結束登錄處理。雖然根據(jù)第一示例性實施例,登錄服務115獲取登錄id和登錄密碼,但是由于要使用的信息的類型取決于登錄服務115的規(guī)格,因此登錄服務115可以獲取其他信息。在步驟s3013,http服務器112從登錄服務115接收http響應3104。在步驟s3014中,http服務器112將http響應3104返回到web瀏覽器109。
圖4是例示當用戶按下電源開關121以開始高速關機時進行的處理的序列圖。當用戶按下電源開關121時,電源管理模塊118依據(jù)mfp100的當前狀態(tài)確定是進行高速關機還是進行關機。在步驟s4001中,當電源管理模塊118確定開始高速關機時,電源管理模塊118向http服務器112發(fā)送高速關機通知。下面將參照圖13描述當http服務器112接收到高速關機通知時進行的處理流程。
在步驟s13001中,在接收到高速關機通知時,http服務器112開始高速關機處理。在步驟s13002中,http服務器112從http會話存儲單元113獲取一個發(fā)布的http會話。在步驟s13003中,http服務器112從http會話存儲單元113中刪除在步驟s13002中獲取的發(fā)布的http會話。在步驟s13004中,http服務器112將在步驟s13002中獲取的發(fā)布的http會話添加到無效調度http會話存儲單元114。在步驟s13005中,http服務器112確定http會話存儲單元113是否是空的。當http會話存儲單元113是空的時(在步驟s13005中為“是”),處理進行到步驟s13006。在步驟s13006中,http服務器112結束高速關機處理。在步驟s4002中,http服務器112將控制返回到電源管理模塊118。
當http會話存儲單元113不是空的時(在步驟s13005中為“否”),處理返回到步驟s13002。在步驟s13002至s13004中,http服務器112重復地進行用于將其他發(fā)布的http會話添加到無效調度http會話存儲單元114的處理。因此,在高速關機時,所有發(fā)布的http會話將被刪除,并且然后被添加到無效調度http會話存儲單元114。即使在進行高速關機操作并且停止對包括mfp100中所包括的打印引擎的硬件資源的電力供給之后,也不刪除包括無效調度http會話存儲單元114中的數(shù)據(jù)的數(shù)據(jù)的至少一部分。
圖5是例示當web瀏覽器109針對http服務器112向webui發(fā)送請求時進行的處理的序列圖。在完成圖3中所示的登錄序列和圖4中所示的高速關機之后,當用戶按下電源開關121并且mfp100進行高速啟動時,進行圖5中所示的序列。在步驟s5001中,web瀏覽器109針對http服務器112向webui發(fā)送請求。http請求5101的cookie頭包括用于識別http會話的http會話cookie和用于識別認證會話的認證會話cookie。下面將參照圖14a和圖14b描述由接收到http請求5101的http服務器112進行的處理流程。
在步驟s14001中,在從web瀏覽器109接收到http請求5101時,http服務器112開始http請求接收處理。在步驟s14002中,http服務器112從http請求5101的cookie頭獲取http會話cookie。在步驟s5002和s14003中,http服務器112通過使用在步驟s1402中獲取的http會話cookie作為關鍵字,確定在無效調度http會話存儲單元114中是否存在在高速關機中無效的http會話。當存在這種http會話時(在步驟s14003中為“是”),處理進行到步驟s14004。在步驟s13006中,http服務器112結束高速關機處理。另一方面,當不存在這種http會話時(在步驟s14003中為“否”),處理進行到步驟s14013。在步驟s5003中,http服務器112向登錄服務115請求認證會話。在用戶登錄的狀態(tài)下進行高速關機之后,當進行高速啟動并且web瀏覽器109針對http服務器112向webui發(fā)送請求時,進行步驟s14004至s14011中的處理。
在步驟s5004和s14004中,登錄服務115通過使用http請求5101的cookie頭的認證會話cookie的值作為關鍵字,在認證會話存儲單元116中搜索認證會話5102,并且獲取認證會話5102。在步驟s5005中,當?shù)卿浄?15能夠獲取認證會話5102時,登錄服務115將認證會話5102返回到http服務器112。另一方面,當?shù)卿浄?15無法獲取認證會話5102時,登錄服務115向http服務器112返回表示無認證會話的響應。在步驟s14005中,http服務器112檢查是否從登錄服務115返回了認證會話。當返回了認證會話時(在步驟s14005中為“是”),處理進行到步驟s14006。另一方面,當返回了表示無認證會話的響應時(在步驟s14005中為“否”),處理進行到步驟s14007。在認證會話的有效期限在接收http請求5101之前期滿并且登錄服務115從認證會話存儲單元116刪除了認證會話的情況下,返回表示無認證會話的響應。
在步驟s5006和s14006中,http服務器112請求登錄服務115使所獲取的認證會話無效。作為用于請求無效的方法,http服務器112可以將無效目標認證會話的認證會話cookie發(fā)送到登錄服務115,方法不限于此。在步驟s5007中,為了使無效目標認證會話無效,登錄服務115從認證會話存儲單元116中刪除認證會話。當從認證會話存儲單元116中刪除認證會話時,即使在由http服務器112接收到的http請求中包括被刪除的認證會話的認證會話cookie,http服務器112也不能獲取認證會話。因此,在這種情況下,操作發(fā)送了http請求的web瀏覽器109的用戶需要再次進行登錄操作。在步驟s5008中,登錄服務115將控制返回到http服務器112。
在步驟s5009中,http服務器112請求登錄服務115生成登錄頁面。在步驟s5010和s14007中,登錄服務115生成登錄頁面。在步驟s5011中,登錄服務115將登錄頁面返回到http服務器112。在步驟s5012和s14008中,http服務器112生成新的http會話。在步驟s14009中,http服務器112將新的http會話添加到http會話存儲單元113。在步驟s14010中,http服務器112在響應中設置具有http會話cookie的值的響應頭“set-cookie”5103。在步驟s5013和s14011中,http服務器112將登錄頁面作為http響應發(fā)送到web瀏覽器109。在步驟s14012中,http服務器112結束http請求接收處理。在步驟s14013中,http服務器112通過使用在步驟s14002中獲取的http會話cookie作為關鍵字,來確定在http會話存儲單元113中是否存在http會話。當存在http會話時(在步驟s14013中為“是”),處理進行到步驟s14014。另一方面,當不存在http會話時(在步驟s14013中為“否”),處理進行到步驟s14021。在步驟s14014中,http服務器112將http會話存儲單元113中存儲的http會話的有效期限更新為通過將http會話的生存期加到當前時間而獲得的值。由http服務器112預先確定http會話的生存期。
然后,http服務器112向登錄服務115請求認證會話。在步驟s14015中,登錄服務115獲取認證會話。如果登錄服務115在步驟s14015中能夠獲取認證會話,則登錄服務115將認證會話返回到http服務器112。另一方面,如果登錄服務115在步驟s14015中不能獲取認證會話,則登錄服務115返回表示沒有認證會話的響應。在步驟s14016中,http服務器112檢查是否從登錄服務115返回了認證會話。當返回了認證會話時(在步驟s14016中為“是”),處理進行到步驟s14017。另一方面,當返回了表示沒有認證會話的響應時(在步驟s14016中為“否”),處理進行到步驟s14019。在http服務器112接收http請求之前,認證會話的有效期限期滿的情況下,返回表示沒有認證會話的響應。
在步驟s14017中,http服務器112請求servlet117進行servlet處理,并且servlet117進行包括用于生成html的處理的servlet處理。在步驟s14018中,http服務器112將由servlet117生成的html數(shù)據(jù)作為http響應發(fā)送到web瀏覽器109。在步驟s14012中,http服務器112結束http請求接收處理。
在步驟s14021中,當在http會話存儲單元113中不存在http會話時,http服務器112生成新的http會話。在步驟s14022中,http服務器112將新的http會話添加到http會話存儲單元113。在步驟s14023中,http服務器112在響應中設置具有在步驟s14021中生成的http會話的http會話cookie的值的響應頭“set-cookie”。http服務器112進行該流程圖中的處理。因為http服務器112第一次從web瀏覽器109接收請求,所以這意味著http服務器112在步驟s14016中確認不存在認證會話。在步驟s14019中,http服務器112請求登錄服務115生成登錄頁面,并且登錄服務115生成登錄頁面并將登錄頁面返回到http服務器112。在步驟s14020中,http服務器112將登錄頁面作為http響應發(fā)送到web瀏覽器109。在步驟s14012中,http服務器112結束http請求接收處理。
下面將詳細描述認證會話的獲取。在步驟s14101中,當?shù)卿浄?15從http服務器112接收到認證會話請求時,登錄服務115開始認證會話獲取處理。在步驟s14102中,登錄服務115從http請求的cookie頭獲取認證會話cookie。在步驟s14103中,登錄服務115確定是否獲取了認證會話cookie。當獲取了認證會話cookie時(在步驟s14103中為“是”),處理進行到步驟s14104。另一方面,當未獲取到認證會話cookie時(在步驟s14103中為“否”),處理進行到步驟s14109。在步驟s14104中,登錄服務115通過使用所獲取的認證會話cookie作為關鍵字,在認證會話存儲單元116中搜索認證會話。當存在認證會話時(在步驟s14104中為“是”),登錄服務115獲取認證會話,并且處理進行到步驟s14105。另一方面,當?shù)卿浄?15不能獲取認證會話時(在步驟s14104中為“否”),處理進行到步驟s14109。
在步驟s14105中,登錄服務115檢查所獲取的認證會話的有效期限。當所獲取的認證會話的有效期限未期滿(當前日期在有效期限之前)時(在步驟s14105中為“是”),處理進行到步驟s14106。另一方面,當所獲取的認證會話的有效期限期滿(當前日期不在有效期限之前)時(在步驟s14105中為“否”),處理進行到步驟s14109。在步驟s14106中,登錄服務115將所獲取的認證會話的有效期限更新為通過將認證會話的生存期加到當前時間而獲得的值。由登錄服務115預先確定認證會話的生存期。當web瀏覽器109在認證會話的生存期內發(fā)送下一個http請求時,認證會話的有效期限被更新,并且因此變得長于其生存期。在步驟s14107中,登錄服務115將所獲取的認證會話傳送到http服務器112。在步驟s14108中,登錄服務115結束認證會話獲取處理。在步驟s14109中,登錄服務115向http服務器112返回表示沒有認證會話的響應。在步驟s14108中,登錄服務115結束認證會話獲取處理。
下面將詳細描述會話。http會話具有有效期限。http服務器112從http會話存儲單元113和無效調度http會話存儲單元114中刪除有效期限已期滿的http會話。同樣,認證會話具有有效期限。登錄服務115從認證會話存儲單元116中刪除有效期限已期滿的認證會話。為了提高mfp100的安全性,假設認證會話的生存期短于由http服務器112預先確定的http會話的生存期。在考慮用戶方便的情況下,將http會話維持盡可能長的時間段。另一方面,為了提高安全性,需要在盡可能短的時間段內使認證會話無效。例如,http會話的生存期為大約30分鐘至1小時,而認證會話的生存期為大約1分鐘至5分鐘。
當http服務器112從web瀏覽器109接收到包括http會話cookie和認證會話cookie的請求時,http服務器112更新與各cookie對應的http會話的有效期限和認證會話的有效期限。同時,登錄服務115更新認證會話的有效期限。因此,如果在預定時間段內沒有接收到http請求,則認證會話的有效期限首先期滿。
登錄服務115能夠通過從web瀏覽器109接收登出請求來使認證會話無效。圖6是例示當從web瀏覽器109發(fā)送登出請求時進行的處理的序列圖。在步驟s6001中,web瀏覽器109向http服務器112發(fā)送http請求6101。http請求6101中的請求url是表示登出的url。cookie頭包括認證會話cookie的值。在步驟s6002中,當接收到http請求6101的http服務器112分析請求url以確定請求url作為登出請求時,http服務器112請求登錄服務115進行登出。
在步驟s6003中,登錄服務115進行登出處理,并且從認證會話存儲單元116中刪除具有http請求6101的cookie頭中包括的認證會話cookie的認證會話。在步驟s6004中,登錄服務115生成登錄頁面。在步驟s6005中,登錄服務115將登錄頁面返回到http服務器112。在步驟s6006中,http服務器112向web瀏覽器109返回包括登錄頁面的html數(shù)據(jù)的響應6102。
圖7例示了當混合進行http會話和認證會話的超時、用戶的登出、高速關機以及高速啟動時,認證會話存儲單元116、http會話存儲單元113和無效調度http會話存儲單元114的狀態(tài)轉變。箭頭7018表示時間的經(jīng)過,即,時間從上向下進行。
狀態(tài)7001是認證會話存儲單元116、http會話存儲單元113和無效調度http會話存儲單元114處于初始狀態(tài)的初始狀態(tài)1。認證會話“aaaaa”和“bbbb”被存儲在認證會話存儲單元116中。http會話“11111”和“22222”被存儲在http會話存儲單元113中。無效調度http會話存儲單元114是空的。假設認證會話“aaaaa”和http會話“11111”被包括在同一http請求中。狀態(tài)7002表示當進行認證會話“aaaaa”的超時時的三個存儲單元的狀態(tài)。認證會話“bbbb”被存儲在認證會話存儲單元116中。http會話“11111”和“22222”被存儲在http會話存儲單元113中。無效調度http會話存儲單元114是空的。
狀態(tài)7003表示當在時間的經(jīng)過之后進行http會話“11111”的超時時的三個存儲單元的狀態(tài)。認證會話“bbbbb”被存儲在認證會話存儲單元116中。http會話“22222”被存儲在http會話存儲單元113中。無效調度http會話存儲單元114是空的。狀態(tài)7004表示在進行高速關機啟動之后的三個存儲單元的狀態(tài)。認證會話“bbbbb”被存儲在認證會話存儲單元116中。http會話存儲單元113是空的。http會話“22222”被存儲在無效調度http會話存儲單元114中。當http服務器112在該階段接收到http請求7005時,由于已經(jīng)發(fā)生了認證會話“aaaaa”的超時,所以用戶需要新登錄。
狀態(tài)7006是認證會話存儲單元116、http會話存儲單元113和無效調度http會話存儲單元114處于初始狀態(tài)的初始狀態(tài)2。認證會話“aaaaa”和“bbbbb”被存儲在認證會話存儲單元116中。http會話“11111”和“22222”被存儲在http會話存儲單元113中。無效調度http會話存儲單元114是空的。假設認證會話“aaaaa”和http會話“11111”被包括在同一http請求中。狀態(tài)7007表示當在時間的經(jīng)過之后進行認證會話“aaaaa”的超時時的三個存儲單元的狀態(tài)。認證會話“bbbbb”被存儲在認證會話存儲單元116中。http會話“11111”和“22222”被存儲在http會話存儲單元113中。無效調度http會話存儲單元114是空的。
狀態(tài)7008表示在進行高速關機啟動之后的三個存儲單元的狀態(tài)。認證會話“bbbbb”被存儲在認證會話存儲單元116中。http會話存儲單元113是空的。http會話“11111”和“22222”被存儲在無效調度http會話存儲單元114中。
當http服務器112在該階段接收到http請求7009時,由于已經(jīng)發(fā)生了認證會話“aaaaa”的超時,所以用戶需要新登錄。
狀態(tài)7010是認證會話存儲單元116、http會話存儲單元113和無效調度http會話存儲單元114處于初始狀態(tài)的初始狀態(tài)3。認證會話“aaaaa”和“bbbbb”被存儲在認證會話存儲單元116中。http會話“11111”和“22222”被存儲在http會話存儲單元113中。無效調度http會話存儲單元114是空的。狀態(tài)7011表示當由用戶進行登出時的三個存儲單元的狀態(tài)。認證會話“bbbbb”被存儲在認證會話存儲單元116中。http會話“11111”和“22222”被存儲在http會話存儲單元113中。無效調度http會話存儲單元114是空的。
狀態(tài)7012表示在進行高速關機啟動之后的三個存儲單元的狀態(tài)。認證會話“bbbbb”被存儲在認證會話存儲單元116中。http會話存儲單元113是空的。http會話“11111”和“22222”被存儲在無效調度http會話存儲單元114中。當http服務器112在該階段接收到http請求7013時,由于已經(jīng)進行了認證會話“aaaaa”的登出,所以用戶需要新登錄。
狀態(tài)7014是認證會話存儲單元116、http會話存儲單元113和無效調度http會話存儲單元114處于初始狀態(tài)的初始狀態(tài)4。認證會話“aaaaa”和“bbbbb”被存儲在認證會話存儲單元116中。http會話“11111”和“22222”被存儲在http會話存儲單元113中。無效調度http會話存儲單元114是空的。狀態(tài)7015表示在進行高速關機啟動之后的三個存儲單元的狀態(tài)。認證會話“aaaaa”和“bbbbb”被存儲在認證會話存儲單元116中。http會話存儲單元113是空的。http會話“11111”和“22222”被存儲在無效調度http會話存儲單元114中。
狀態(tài)7016表示當在時間的經(jīng)過之后進行認證會話“aaaaa”的超時時的三個存儲單元的狀態(tài)。認證會話“bbbbb”被存儲在認證會話存儲單元116中。http會話存儲單元113是空的。http會話“11111”和“22222”被存儲在無效調度http會話存儲單元114中。當http服務器112在該階段接收到http請求7017時,由于發(fā)生了認證會話“aaaaa”的超時,所以用戶需要新登錄。
根據(jù)第一示例性實施例,能夠通過將在高速關機之前生成的http會話存儲在無效調度http會話存儲單元114中,來使在高速關機之前生成的認證會話無效。上述構造使得能夠維持以下裝置的安全性:在用戶操作電源時,在存儲存儲器內容的至少一部分的同時進入深睡眠(省電狀態(tài))以進行高速關機的裝置。
根據(jù)第一示例性實施例,當在進行高速關機之前由servlet117使http會話無效時,從http會話存儲單元113中刪除無效的http會話。因此,在mfp100根據(jù)servlet117的指令進行高速關機之前無效的http會話不能被移動到無效調度http會話存儲單元114。因此,在mfp100進行高速啟動之后,與由servlet117無效的http會話間接有關的認證會話不能被無效。結果,認證會話保留在認證會話存儲單元116中。雖然認證會話將由于時間的經(jīng)過而被刪除,但是在認證會話被刪除之前以某種方式向servlet117做出請求的情況下,可能基于無法刪除的認證會話使用servlet117。下面將以解決該問題的方法為中心描述第二示例性實施例。在第二示例性實施例中未描述的單元和模塊具有與第一示例性實施例中的單元和模塊類似的構造和操作。
圖8例示了根據(jù)第二示例性實施例的軟件構造。除了根據(jù)第一示例性實施例的軟件構造以外,http服務器112還包括無效http會話存儲單元8001。無效http會話存儲單元8001是用于存儲http會話cookie8002和http會話8003的存儲單元。
圖9(由圖9a和9b由組成)是例示在servlet117設置有使http請求中包括的http會話無效的功能的情況下發(fā)生問題的序列圖。在步驟s9001中,web瀏覽器109向http服務器112發(fā)送http請求9101。http請求9101包括用于識別http會話的http會話cookie和用于識別認證會話的認證會話cookie。在http服務器112進行圖14a和圖14b中所示的處理并且從登錄服務115獲取認證會話之后,http服務器112分析http請求9101。在步驟s9002中,當http服務器112確定http請求9101是對servlet117的請求時,http服務器112請求servlet117進行servlet處理。在步驟s9003中,servlet117請求http服務器112使與http請求9101中包括的http會話cookie相對應的http會話無效。在步驟s9004中,http服務器112從http會話存儲單元113中刪除指定的http會話以使其無效。在步驟s9005中,在完成http會話的無效之后,http服務器112將控制返回到servlet117。在步驟s9006中,servlet117進行包括用于生成html并控制mfp100的處理的servlet處理。依據(jù)由servlet117進行的servlet處理的內容,可以以不同的順序調用步驟s9003和s9006,或者可以多次執(zhí)行步驟s9003和s9006。
在步驟s9007中,servlet117將生成的html發(fā)送到http服務器112。在步驟s9008中,http服務器112將由servlet117生成的html數(shù)據(jù)作為響應發(fā)送到web瀏覽器109。在步驟s9009中,當用戶按下電源開關121并且電源管理模塊118在該狀態(tài)下開始高速關機時,電源管理模塊118向http服務器112通知高速關機。http服務器112進行圖13中所示的步驟s13001至s13006中的處理,以將http會話存儲單元113中包括的http會話移動到無效調度http會話存儲單元114。然而,由servlet117無效的http會話不再存在于http會話存儲單元113中,因此不會被移動到無效調度http會話存儲單元114。在步驟s9010中,http服務器112向電源管理模塊118返回“高速關機通知接收完成”。
在步驟s9011中,在高速啟動之后,web瀏覽器109向http服務器112發(fā)送http請求9102。在步驟s9013中,由于請求9013中包括的http會話不存在于無效調度http會話存儲單元114中,所以http服務器112不能使請求9102中包括的認證會話無效。
圖10是例示由servlet117進行的http會話無效處理和高速關機通知處理以解決圖9中所示的問題的流程圖。步驟s10001至s10004形成由servlet117進行的http會話無效處理的流程圖。
步驟s10101至s10110形成高速關機通知處理的流程圖。在步驟s10001中,當servlet117請求http服務器112進行http會話無效處理時,http服務器112開始http會話無效處理。在步驟s10002中,http服務器112從http會話存儲單元113中刪除由servlet117指定的無效目標http會話。
在步驟s10003中,http服務器112將由servlet117指定的無效目標http會話添加到無效http會話存儲單元8001。在步驟s10004中,http服務器112結束http會話無效處理。當用戶按下電源開關121并且電源管理模塊118開始高速關機時,電源管理模塊118向http服務器112發(fā)送高速關機通知。在步驟s10101中,在接收到高速度關機通知時,http服務器112開始高速關機處理。在步驟s10102中,http服務器112從http會話存儲單元113獲取一個http會話。在步驟s10103中,http服務器112從http會話存儲單元113中刪除所獲取的http會話。
在步驟s10104中,http服務器112將在步驟s10102中獲取的http會話添加到無效調度http會話存儲單元114。在步驟s10105中,http服務器112確定http會話存儲單元113是否是空的。當http會話存儲單元113是空的時(在步驟s10105中為“是”),處理進行到步驟s10106。另一方面,當http會話存儲單元113不是空的時(在步驟s10105中為“否”),處理返回到步驟s10102,并且http服務器112繼續(xù)處理。在步驟s10106中,http服務器112從無效http會話存儲單元8001獲取一個http會話。在步驟s10107中,http服務器112從無效http會話存儲單元8001中刪除所獲取的http會話。
在步驟s10108中,http服務器112將在步驟s10106中獲取的http會話添加到無效調度http會話存儲單元114。在步驟s10109中,http服務器112確定無效http會話存儲單元8001是否是空的。在步驟s10110中,當無效http會話存儲單元8001是空的時(在步驟s10109中為“是”),處理進行到步驟s10110。在步驟s10110中,http服務器112結束高速關機處理。另一方面,當無效http會話存儲單元8001不是空的時(在步驟s10109中為“否”),處理返回到步驟s10106,并且http服務器112繼續(xù)處理。
雖然在第二示例性實施例中,http服務器112曾經(jīng)將無效目標http會話移動到無效http會話存儲單元8001,但是http服務器112可以將無效目標http會話直接存儲在無效調度http會話存儲單元114。代替無效http會話存儲單元8001,可以在http會話存儲單元113中設置用于http會話無效標志的字段。在接收到http會話無效請求時,http服務器112可以設置http會話無效標志。
當在高速關機啟動之后web瀏覽器109請求http服務器112時進行的認證會話無效處理類似于根據(jù)第一示例性實施例的處理。即使當應用服務使http會話無效時,使用無效http會話存儲單元8001也使得能夠在高速啟動之后使在高速關機前登錄的用戶的認證會話無效。
作為第一示例性實施例的改進版本的第三示例性實施例,是用于以簡化的方式來使認證會話無效的方法。下面將以該無效方法為中心來描述第三示例性實施例。在第三示例性實施例中未描述的單元和模塊具有與第一示例性實施例中的單元和模塊類似的構造和操作。圖11是例示根據(jù)第三示例性實施例的高速關機處理和http請求接收處理的流程圖。步驟s11001至s11003形成由http服務器112進行的高速關機處理的流程圖。步驟s10101至s10110形成在高速啟動之后從web瀏覽器109接收到請求時由http服務器112進行的處理的流程圖。
當用戶按下電源開關121并且電源管理模塊118開始高速關機時,電源管理模塊118向http服務器112發(fā)送高速關機通知。在步驟s11001中,在接收到高速關機通知時,http服務器112開始高速關機處理。在步驟s11002中,http服務器112清空http會話存儲單元113。在步驟s11003中,http服務器112結束高速關機處理。在步驟s11101中,在從web瀏覽器109接收到http請求時,http服務器112開始http請求接收處理。在步驟s11102中,http服務器112從http請求的cookie頭獲取http會話cookie。
在步驟s11103中,http服務器112通過使用在步驟s11102中獲取的http會話cookie作為關鍵字來檢查在http會話存儲單元113中是否存在http會話。當存在http會話時(在步驟s11103中為“是”),處理進行到步驟s11112。另一方面,當不存在http會話時(在步驟s11103中為“否”),處理進行到步驟s11104。在步驟s11104中,http服務器112向登錄服務115請求認證會話,并且登錄服務115進行圖14b中所示的步驟s14101至s14108中的處理,以獲取認證會話。如果登錄服務115能夠獲取認證會話,則登錄服務115將認證會話返回到http服務器112。另一方面,如果登錄服務115不能獲取認證會話,則登錄服務115向http服務器112返回表示沒有認證會話的響應。
在步驟s11117中,http服務器112檢查是否從登錄服務115返回了認證會話。當http服務器112確認返回了認證會話時(在步驟s11117中為“是”),處理進行到步驟s11105。另一方面,當http服務器112確認返回了表示沒有認證會話的響應時(在步驟s11117中為“否”),處理進行到步驟s11106。在接收http請求之前認證會話的有效期限期滿的情況下,返回表示沒有認證會話的響應。在步驟s11105中,http服務器112使從登錄服務115獲取的認證會話無效。
認證會話無效處理類似于根據(jù)第一示例性實施例的處理。在步驟s11106中,http服務器112生成新的http會話。在步驟s11107中,http服務器112將新的http會話添加到http會話存儲單元113。在步驟s11108中,http服務器112在響應中設置具有在步驟s11106中生成的http會話的http會話cookie的值的響應頭“set-cookie”。在步驟s11109中,http服務器112請求登錄服務115生成登錄頁面,并且登錄服務115生成登錄頁面,然后將登錄頁面返回到http服務器112。在步驟s11110中,http服務器112將登錄頁面作為http響應的主體數(shù)據(jù)發(fā)送到web瀏覽器109。在步驟s11111中,http服務器112結束http請求接收處理。在步驟s11112中,http服務器112更新在步驟s11102中獲取的http會話的有效期限。用于更新http會話的有效期限的處理類似于根據(jù)第一示例性實施例的處理。
在步驟s11113中,http服務器112向登錄服務115請求認證會話,并且登錄服務115進行圖14b中所示的步驟s14101至s14108中的處理。以獲取認證會話。如果登錄服務115能夠獲取認證會話,則登錄服務115將認證會話返回到http服務器112。另一方面,如果登錄服務115不能獲取認證會話,則登錄服務115返回表示沒有認證會話的響應。在步驟s11114中,http服務器112檢查是否從登錄服務115返回了認證會話。當http服務器112確認返回了認證會話時(在步驟s11114中為“是”),處理進行到步驟s11115。另一方面,當http服務器112確認返回了表示沒有認證會話的響應時(在步驟s11114中為“否”),處理進行到步驟s11109。在步驟s11115中,http服務器112請求servlet117進行servlet處理,并且servlet117進行包括用于生成html的處理的servlet處理。在步驟s11116中,http服務器112將由servlet117生成的html數(shù)據(jù)作為http響應的主體數(shù)據(jù)發(fā)送到web瀏覽器109。在步驟s11111中,http服務器112結束http請求接收處理。
利用第三示例性實施例的上述構造,http服務器112能夠在高速關機時刪除在http會話存儲單元113中存儲的所有http會話,并且,在高速啟動之后使在高速關機前登錄的用戶的認證會話無效。
其他實施例
還可以通過讀出并執(zhí)行記錄在存儲介質(例如,非暫時性計算機可讀存儲介質)上的計算機可執(zhí)行指令以執(zhí)行本公開的上述實施例中的一個或更多個的功能的系統(tǒng)或裝置的計算機,來實現(xiàn)本公開的實施例,并且,可以通過由系統(tǒng)或裝置的計算機進行的例如讀出并執(zhí)行來自存儲介質的計算機可執(zhí)行指令以執(zhí)行上述實施例中的一個或更多個的功能的方法,來實現(xiàn)本公開的實施例。計算機可以包括一個或更多個中央處理單元(cpu)、微處理單元(mpu)或其他電路,并且可以包括分開的計算機或分開的處理器的網(wǎng)絡。計算機可執(zhí)行指令可以例如從網(wǎng)絡或存儲介質被提供給計算機。存儲介質可以包括例如硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、分布式計算系統(tǒng)的存儲器、光盤(諸如壓縮光盤(cd)、數(shù)字通用光盤(dvd)或藍光光盤(bd)tm)、閃存裝置以及存儲卡等中的一個或更多個。
本發(fā)明的實施例還可以通過如下的方法來實現(xiàn),即,通過網(wǎng)絡或者各種存儲介質將執(zhí)行上述實施例的功能的軟件(程序)提供給系統(tǒng)或裝置,該系統(tǒng)或裝置的計算機或是中央處理單元(cpu)、微處理單元(mpu)讀出并執(zhí)行程序的方法。
雖然參照示例性實施例對本發(fā)明進行了描述,但是應當理解,本發(fā)明不限于所公開的示例性實施例。應當對所附權利要求的范圍給予最寬的解釋,以便涵蓋所有這些變型例以及等同的結構和功能。