本公開內(nèi)容涉及信息處理裝置和記錄介質(zhì)。
背景技術(shù):
如今,服務(wù)器響應(yīng)于來自客戶端的請求而提供內(nèi)容的系統(tǒng)如提供超文本標(biāo)記語言(HTML)的文檔的萬維網(wǎng)(world wide web,WWW)已經(jīng)普及。對于這樣的系統(tǒng),縮短向客戶端提供內(nèi)容所必需的時間(具體地,縮短來自客戶端的請求的傳輸與客戶端中的內(nèi)容的輸出之間的時間)是長期存在的問題。例如,專利文獻(xiàn)1描述了以下技術(shù):緩存網(wǎng)絡(luò)服務(wù)器中的內(nèi)容以便即使在限制了對網(wǎng)絡(luò)服務(wù)或存儲器資源的訪問的情況下也有效使用緩存。
引用列表
專利文獻(xiàn)
專利文獻(xiàn)1:JP 2011-108102A
技術(shù)實現(xiàn)要素:
技術(shù)問題
然而,近年來,涉及各種資源的豐富的文檔如HTML中的腳本和圖像/視頻不斷增加,并且上述加速技術(shù)有望被進(jìn)一步被改進(jìn)。提高服務(wù)器或客戶端的處理能力也有助于加速。然而,在客戶端是例如移動裝置或可穿戴裝置的情況下,提高處理能力并非總是很容易。
因此,本公開內(nèi)容提出了新穎且改進(jìn)的信息處理裝置和記錄介質(zhì),所述信息處理裝置和記錄介質(zhì)能夠通過以適當(dāng)?shù)母袷骄彺鎯?nèi)容的源來優(yōu)化內(nèi)容輸出處理。
問題解決方案
根據(jù)本公開內(nèi)容,提供了一種信息處理裝置,包括:源獲取單元,被配置成獲取內(nèi)容的源;以及內(nèi)容輸出單元,被配置成基于所獲取的源來輸出內(nèi)容。該源包括由客戶端緩存的源,并且所緩存的源包括被轉(zhuǎn)換成中間格式的源。
根據(jù)本公開內(nèi)容,提供了一種存儲有程序的記錄介質(zhì),該程序使計算機(jī)實現(xiàn):獲取內(nèi)容的源的功能;以及基于所獲取的源來輸出內(nèi)容的功能。該源包括由客戶端緩存的源,并且所緩存的源包括被轉(zhuǎn)換成中間格式的源。
發(fā)明的有益效果
如上所述,根據(jù)本公開內(nèi)容,可以通過以適當(dāng)?shù)母袷骄彺鎯?nèi)容的源來優(yōu)化內(nèi)容輸出處理。
注意,上述效果不一定是限制性的,與上述效果一起或者代替上述效果,可以展示期望在本說明書介紹的任意效果或根據(jù)本說明書可預(yù)期的其他效果。
附圖說明
圖1是示出根據(jù)本公開內(nèi)容的實施方式的系統(tǒng)的示例的圖。
圖2是示出根據(jù)本公開內(nèi)容的實施方式的終端裝置的功能配置示例的框圖。
圖3是示出根據(jù)本公開內(nèi)容的實施方式的在輸出內(nèi)容時終端裝置中的處理的示例的流程圖。
圖4是示出根據(jù)本公開內(nèi)容的實施方式的終端裝置中的源格式轉(zhuǎn)換處理的示例的流程圖。
圖5是示出本公開內(nèi)容的實施方式中的被存儲為緩存的信息的示例的圖。
圖6是示出本公開內(nèi)容的實施方式中的裝置之間的數(shù)據(jù)交換的示例的序列圖。
圖7是示出根據(jù)本公開內(nèi)容的實施方式的信息處理裝置的硬件配置示例的框圖。
具體實施方式
在下文中,將參考附圖詳細(xì)描述本公開內(nèi)容的優(yōu)選實施方式。在該說明書和附圖中,用相同的附圖標(biāo)記表示具有基本上相同的功能和結(jié)構(gòu)的結(jié)構(gòu)元素,并且省略對這些結(jié)構(gòu)元素的重復(fù)說明。
注意,以下面的順序給出描述。
1.系統(tǒng)配置
2.終端裝置的功能配置
3.處理的工作流
4.存儲信息的示例
5.數(shù)據(jù)交換的示例
6.修改
7.硬件配置
8.補(bǔ)充
(1.系統(tǒng)配置)
圖1是示出根據(jù)本公開內(nèi)容的實施方式的系統(tǒng)的示例的圖。參考圖1,系統(tǒng)10包括終端裝置100和服務(wù)器300。
終端裝置100可以是將內(nèi)容輸出至用戶的各種裝置。例如,終端裝置100可以是如智能電話100a和平板電腦的移動裝置,或者可以是如眼鏡100b和智能手表100c的可穿戴裝置??商孢x地,終端裝置100可以是如個人計算機(jī)和電視機(jī)100d的另外的消費(fèi)電子產(chǎn)品(CE)設(shè)備。
服務(wù)器300經(jīng)由終端裝置100為用戶提供各種服務(wù)。例如,服務(wù)器300包括提供各種服務(wù)器功能的一個或多個服務(wù)器裝置,如網(wǎng)絡(luò)服務(wù)器、文件服務(wù)器、數(shù)據(jù)庫服務(wù)器和應(yīng)用服務(wù)器。例如,可以通過稍后描述的信息處理裝置的硬件配置來實現(xiàn)終端裝置100和構(gòu)成服務(wù)器300的服務(wù)器裝置中的每一個。
終端裝置100與服務(wù)器300經(jīng)由網(wǎng)絡(luò)200連接。在系統(tǒng)10包括多個終端裝置100的情況下,終端裝置100經(jīng)由網(wǎng)絡(luò)200彼此連接。網(wǎng)絡(luò)200可以是如互聯(lián)網(wǎng)或家庭LAN的有線或無線網(wǎng)絡(luò)。
(2.終端裝置的功能配置)
圖2是示出根據(jù)本公開內(nèi)容的實施方式的終端裝置的功能配置示例的框圖。參考圖2,終端裝置100包括輸入裝置110、請求獲取單元120、源獲取單元130、高速緩存140、通信裝置150、內(nèi)容輸出單元160和輸出裝置170以及源轉(zhuǎn)換器180。注意,可以通過根據(jù)程序進(jìn)行操作的處理器如終端裝置100中的CPU來實現(xiàn)請求獲取單元120、資源獲取單元130、內(nèi)容輸出單元160和源轉(zhuǎn)換器180的功能。
輸入裝置110是獲取輸入至終端裝置100的用戶操作的裝置??梢酝ㄟ^用于輸入的裝置如觸摸屏、硬件按鈕、鍵盤或鼠標(biāo)來實現(xiàn)輸入裝置110??商孢x地,可以通過捕獲被提供為來自用戶的聲音或手勢的輸入的裝置如麥克風(fēng)或相機(jī)來實現(xiàn)輸入裝置110??商孢x地,可以通過從用作遠(yuǎn)程控制的外部裝置接收操作信號的裝置(包括有線連接端口)來實現(xiàn)輸入裝置110。經(jīng)由例如圖形用戶接口(GUI)、自然用戶界面(NUI)或命令行接口(CLI)來提供通過輸入裝置110獲取的輸入。
請求獲取單元120從輸入裝置110獲取內(nèi)容輸出請求。請求獲取單元120從通過輸入裝置110獲取的各種類型的操作輸入中提取請求。用戶通過例如選擇經(jīng)由輸入裝置110顯示的圖標(biāo)或者輸入統(tǒng)一資源定位符(URL)來請求具體內(nèi)容的輸出。該內(nèi)容可以是如HTML文檔的文檔。在這種情況下,該內(nèi)容可以包括嵌入到文檔中的圖像和聲音和/或用于輸出(顯示)文檔的配置信息如腳本和樣式表的內(nèi)容??商孢x地,該內(nèi)容可以獨(dú)立地提供圖像和聲音。
源獲取單元130響應(yīng)于通過請求獲取單元120獲取的請求來獲取內(nèi)容的源。源是用于輸出內(nèi)容的數(shù)據(jù)。更具體地,源可以包括描述文檔、腳本和/或配置信息的文本文件以及記錄有圖像和聲音的二進(jìn)制文件。例如,在第一次輸出內(nèi)容的情況下,源獲取單元130經(jīng)由通信裝置150和網(wǎng)絡(luò)200向服務(wù)器300發(fā)送請求,并且獲取服務(wù)器300響應(yīng)于請求而發(fā)送的源。源獲取單元130有時可以從高速緩存140獲取源。從高速緩存140獲取的源(所緩存的源)可以是已經(jīng)通過服務(wù)器300獲取并且用于輸出內(nèi)容的源。
另外,源獲取單元130在必要時將所獲取的源轉(zhuǎn)換成中間格式(中間形式)并且向內(nèi)容輸出單元160提供經(jīng)轉(zhuǎn)換的源。更具體地,源獲取單元130基于所獲取的源在存儲器中對中間格式的數(shù)據(jù)進(jìn)行解壓縮,內(nèi)容輸出單元160基于經(jīng)解壓縮的數(shù)據(jù)來控制輸出裝置170,從而輸出內(nèi)容。如稍后所述,在該實施方式中,從高速緩存140獲取的源的至少一部分已經(jīng)被轉(zhuǎn)換成中間格式。這樣的源不通過源獲取單元130轉(zhuǎn)換成中間格式,而是被不作任何改變地提供給內(nèi)容輸出單元160。
可替選地,從高速緩存140獲取的源已經(jīng)被轉(zhuǎn)換成的中間格式可以與提供給內(nèi)容輸出單元160的源的中間格式不同。換言之,即使在從高速緩存140獲取的源已經(jīng)被轉(zhuǎn)換成中間格式的情況下,源獲取單元130也可以在將該源的格式轉(zhuǎn)換成另一中間格式之后將該源提供給內(nèi)容輸出單元160。在這種情況下,當(dāng)從高速緩存140獲取的源的中間格式是像將該源部分地轉(zhuǎn)換成提供給內(nèi)容輸出單元160的源的中間格式的格式時,可以簡化在輸出內(nèi)容時源獲取單元130中的處理。
內(nèi)容輸出單元160基于由源獲取單元130提供的源來輸出內(nèi)容。如上所述,更具體地,內(nèi)容輸出單元160通過基于由源獲取單元130在存儲器中解壓縮的中間格式的數(shù)據(jù)來控制輸出裝置170,從而輸出內(nèi)容。
輸出裝置170是將各種類型的信息從終端裝置100輸出至用戶的裝置??梢酝ㄟ^用于輸出的裝置如顯示器、光導(dǎo)構(gòu)件、揚(yáng)聲器或耳機(jī)來實現(xiàn)輸出裝置170??商孢x地,可以通過將數(shù)據(jù)傳送至外部裝置的裝置(包括有線連接端口)來實現(xiàn)輸出裝置170,所述外部裝置包括用于輸出的這樣的裝置。例如,輸出裝置170輸出圖像、聲音、光發(fā)射圖案或振動。該內(nèi)容被輸出為例如圖像或聲音。另外,圖像或聲音可以與振動結(jié)合。
高速緩存140通過例如包括在終端裝置100中的存儲器或儲存器來實現(xiàn),并且存儲內(nèi)容的源。如上所述,存儲在高速緩存140中的源可以是已經(jīng)經(jīng)由通信裝置150和網(wǎng)絡(luò)200從服務(wù)器300獲取并且用于輸出內(nèi)容的源。另外,存儲在高速緩存140中的源中的一些已經(jīng)被轉(zhuǎn)換成中間格式。在該本說明書中,存儲在高速緩存140中的源也可以被稱為所緩存的源。
中間格式(中間形式)是指在從內(nèi)容的源生成要被輸出的圖像數(shù)據(jù)或聲音數(shù)據(jù)時在中間形成的數(shù)據(jù)的格式。通過預(yù)定程序,在內(nèi)容輸出單元160使用源來輸出內(nèi)容之前,將該源從經(jīng)由通信裝置150從服務(wù)器300獲取時的格式(在下文中,也被稱為原始格式)轉(zhuǎn)換成中間格式。接下來,將描述各種類型的內(nèi)容的中間格式和用于轉(zhuǎn)換這種中間格式的處理的示例。
例如,在源的原始格式是使用HTML、XML等的文檔的情況下,中間格式是通過根據(jù)文檔對象模型(DOM)解析文檔而獲得的數(shù)據(jù)結(jié)構(gòu)。一般地,在輸出時對文檔進(jìn)行解析。然而,還可以通過預(yù)先解析來生成數(shù)據(jù)結(jié)構(gòu),并且將該數(shù)據(jù)結(jié)構(gòu)作為源存儲在高速緩存140中。
例如,在源的原始格式是如Java腳本的腳本的情況下,中間格式是通過編譯腳本而生成的機(jī)器代碼。一般地,在執(zhí)行期間通過即時(JIT)編譯器來編譯腳本。然而,還可以通過預(yù)先編譯腳本來生成機(jī)器代碼,并且將該機(jī)器代碼作為源存儲在高速緩存140中。
例如,在源的原始格式是如級聯(lián)樣式表(CSS)的配置信息(更具體地,具有級聯(lián)結(jié)構(gòu)的配置信息)的情況下,中間格式是級聯(lián)結(jié)構(gòu)已經(jīng)被解決的配置信息。在包括在級聯(lián)結(jié)構(gòu)中的配置信息中,每個配置被覆蓋。因此,一般地,在輸出文檔時解決配置信息的級聯(lián)結(jié)構(gòu),并且指定實際應(yīng)用的配置。然而,還可以將級聯(lián)結(jié)構(gòu)已經(jīng)被預(yù)先解決的配置信息作為源存儲在高速緩存140中。
例如,在源是包括在文檔中的圖像或聲音的數(shù)據(jù)或者獨(dú)立地提供的圖像或聲音的數(shù)據(jù)的情況下,中間格式是通過對已經(jīng)被編碼成預(yù)定格式的數(shù)據(jù)進(jìn)行解碼而獲得的數(shù)據(jù)。一般地,在輸出時對圖像或聲音的編碼數(shù)據(jù)進(jìn)行解碼。然而,還可以將預(yù)先解碼并且被轉(zhuǎn)換成RAW數(shù)據(jù)等的數(shù)據(jù)作為源存儲在高速緩存140中。
通信裝置150是經(jīng)由網(wǎng)絡(luò)200建立終端裝置100與外部裝置之間的通信的裝置。通過建立無線通信如Wi-Fi、移動網(wǎng)絡(luò)或藍(lán)牙(注冊商標(biāo))或者有線通信如局域網(wǎng)(LAN)的各種通信電路來實現(xiàn)通信裝置150。例如,通信裝置150經(jīng)由網(wǎng)絡(luò)200來與服務(wù)器300通信,將來自源獲取單元130的源請求傳送至服務(wù)器300,并且接收響應(yīng)于該請求而從服務(wù)器300傳送的源。
在源獲取單元130確定輸出內(nèi)容所必需的源未被存儲在高速緩存140中的情況下,經(jīng)由通信裝置150向服務(wù)器300發(fā)送請求和接收該源。在這種情況下,除了源獲取單元130和內(nèi)容輸出單元160中的源處理之外,經(jīng)由通信裝置150與服務(wù)器300進(jìn)行的通信對于輸出內(nèi)容而言是有必要的。高速緩存140存儲已經(jīng)從服務(wù)器300獲取并且用于輸出內(nèi)容的源,并且因此可以減少用于通信的處理時間和處理負(fù)荷,并且減少用以輸出內(nèi)容的時間和功率。另外,在該實施方式中,存儲在高速緩存140中的源中的至少一些被轉(zhuǎn)換成中間格式,并且因此可以減少用于在輸出內(nèi)容時將該源轉(zhuǎn)換成中間形式的處理時間和處理負(fù)荷,并且進(jìn)一步減少用于輸出內(nèi)容的時間和功率。
然而,在該源被轉(zhuǎn)換成中間格式的情況下,由于中間格式是被優(yōu)化以用于執(zhí)行的格式,所以該源的大小可以變得大于其原始格式的大小。因此,當(dāng)以中間格式存儲在高速緩存140中的源的數(shù)目變得較大時,可以存儲在高速緩存140中的源的數(shù)目變得較小。因此,當(dāng)將要被存儲在高速緩存140中的源轉(zhuǎn)換成中間格式時,期望設(shè)置預(yù)定條件(例如,表示源被重復(fù)用于輸出內(nèi)容的概率的條件),將滿足該條件的源轉(zhuǎn)換成中間格式,將它們存儲在高速緩存140中,而將其他源以它們的原始格式存儲在高速緩存140。在終端裝置100中的存儲器或儲存器的容量足夠大于高速緩存140的容量的情況下,可以將存儲在高速緩存140中的所有源轉(zhuǎn)換成中間格式。
當(dāng)將存儲在高速緩存140中的源轉(zhuǎn)換成中間格式時,可以使用各種方法。第一示例是用于在高速緩存140中存儲中間格式的數(shù)據(jù)的方法。該數(shù)據(jù)由源獲取單元130生成以提供給內(nèi)容輸出單元160。
除生成數(shù)據(jù)以提供給內(nèi)容輸出單元160之外,第二示例是用于通過源轉(zhuǎn)換器180將源轉(zhuǎn)換成中間格式并且將源存儲在高速緩存140中的方法。在終端裝置100包括源轉(zhuǎn)換器180的情況下,除輸出內(nèi)容的處理之外,還可以通過在該背景下執(zhí)行將源轉(zhuǎn)換成中間格式的處理來有效地使用終端裝置100的處理能力。另外,存儲在高速緩存140中的該源的中間格式可以與提供給內(nèi)容輸出單元160的源的中間格式不同。更具體地,例如,鑒于被轉(zhuǎn)換的源的大小,高速緩存140可以存儲像部分地轉(zhuǎn)換成在該源被提供給內(nèi)容輸出單元160時所用的中間格式的格式的源。
第三示例是源轉(zhuǎn)換器180經(jīng)由通信裝置150請求外部裝置將源轉(zhuǎn)換成中間格式的方法。在如上所述的背景下執(zhí)行將該源轉(zhuǎn)換成中間格式的處理的情況下,例如可以通過請求具有足夠處理能力的外部裝置執(zhí)行該處理自身來以較短時間完成該處理或者減少對于終端裝置100的電池的消耗。
例如,在參考圖1描述的系統(tǒng)10的情況下,處理能力不高并且電池容量有限的可穿戴裝置如眼鏡100b或智能手表100c以及/或者移動裝置如智能電話100a可以請求處理能力高并且具有足夠的電池容量(與電源連接)的裝置如電視100d來執(zhí)行該處理以將存儲在高速緩存140中的源轉(zhuǎn)換成中間格式。
(3.處理的工作流)
圖3是示出根據(jù)本公開內(nèi)容的實施方式的在輸出內(nèi)容時終端裝置中的處理的示例的流程圖。圖3示出了當(dāng)圖2所示的終端裝置100中的請求獲取單元120獲取內(nèi)容輸出請求時所執(zhí)行的一系列處理。在所述處理中,首先,源獲取單元130確定輸出請求的內(nèi)容所必需的源是否被存儲在高速緩存140中(S101)。在此,源可以具有原始格式或者可以是中間格式的緩存。
在確定該源未被存儲在高速緩存140中(在S101中,否)的情況下,通信裝置150向服務(wù)器300發(fā)送源請求(S103)。接下來,通信裝置150接收服務(wù)器300響應(yīng)于該請求而提供的源(S105)。通信裝置150將所接收的源提供給源獲取單元130,并且源獲取單元130和內(nèi)容輸出單元160通過使用所提供的源來輸出內(nèi)容(S107)。在S107之后或與S107并行地,高速緩存140存儲所接收的源(S109)。因此,原始格式(非中間格式)的源被存儲在高速緩存140中。
另一方面,在確定該源被存儲在高速緩存140中(在S101中,是)的情況下,源獲取單元130進(jìn)一步確定存儲在高速緩存140中的源是否是中間格式(S111)。在該源是中間格式(是)的情況下,源獲取單元130和內(nèi)容輸出單元160通過使用從高速緩存140獲取的中間格式的源來輸出內(nèi)容(S113)。另一方面,在確定該源不是中間格式而是原始格式(在S111中,否)的情況下,源獲取單元130和內(nèi)容輸出單元160通過使用從高速緩存140獲取的原始格式的源來輸出內(nèi)容(S115)。
隨后,在使用原始格式的源來輸出內(nèi)容的情況下,源獲取單元130遞增緩存被使用的次數(shù)(S117)。緩存與源相關(guān)聯(lián)地存儲在高速緩存140中。在示出的示例中,緩存被使用的次數(shù)還在接下來描述的源格式轉(zhuǎn)換處理中被用作用于確定高速緩存140是否以中間格式來存儲該源的條件。
在如參考圖3描述的輸出內(nèi)容時的處理中,取決于輸出內(nèi)容所必需的源是否被存儲在高速緩存140中以及取決于存儲在高速緩存140中的源是否被轉(zhuǎn)換成中間格式,在適當(dāng)?shù)奶幚碇惺褂迷撛?。因此,以較短的處理時間和/或以較低的處理負(fù)荷來輸出該內(nèi)容。
圖4是示出了根據(jù)本公開內(nèi)容的實施方式的終端裝置中的源格式轉(zhuǎn)換處理的示例的流程圖。圖4示出了在圖2所示的終端裝置100尚未獲取輸出內(nèi)容的請求的情況下的背景下執(zhí)行的一系列處理。例如,可以周期性地執(zhí)行該處理,或者可以在檢測到終端裝置100(或被請求執(zhí)行該處理的外部裝置)具有足夠的處理能力時的合適時間處執(zhí)行該處理??商孢x地,可以在內(nèi)容輸出之后或與內(nèi)容輸出并行地執(zhí)行該處理。
處理包括用于將相應(yīng)源存儲在高速緩存140中的環(huán)處理(S201)。源轉(zhuǎn)換器180確定源中的每一個是否是中間格式(S203)。在該源是中間格式(是)的情況下,因為不需要恢復(fù),所以對下一源執(zhí)行該處理。另一方面,在源不是中間格式(NO)的情況下,源轉(zhuǎn)換器180確定緩存被使用的次數(shù)是否超過閾值(S205)。緩存與源相關(guān)聯(lián)地存儲在高速緩存140。
在確定緩存被使用的次數(shù)超過閾值(在S205中,是)的情況下,源轉(zhuǎn)換器180將源轉(zhuǎn)換成中間格式(S207)。隨后,將預(yù)先轉(zhuǎn)換成中間格式的源存儲在高速緩存140中。另一方面,在確定緩存被使用的次數(shù)沒有超過閾值(否)的情況下,不轉(zhuǎn)換該源的格式。換言之,在這種情況下,該源繼續(xù)以原始格式存儲在高速緩存140中。
根據(jù)參考圖4描述的源格式轉(zhuǎn)換處理,可以參考緩存被使用的次數(shù)來選擇性地將源轉(zhuǎn)換成中間格式,其中,該源被估計為在內(nèi)容輸出時被使用的概率仍然較高。如上所述,轉(zhuǎn)換成中間格式的源使得內(nèi)容能夠被迅速輸出。然而,該源由于其數(shù)據(jù)大小等而不一定易于處理。因此,像上述示例,期望選擇性地將值得轉(zhuǎn)換成中間格式的源轉(zhuǎn)換成中間格式。
用于決定是否將該源轉(zhuǎn)換成中間格式的標(biāo)準(zhǔn)不限于緩存被使用的次數(shù),并且可以包括各種其他示例。例如,據(jù)估計用于顯示網(wǎng)絡(luò)門戶(或由用戶任意設(shè)置的主頁)如HTML文檔、腳本、配置信息或圖像的源具有高的重復(fù)使用的概率。因此,可以將這樣的源轉(zhuǎn)換成中間格式而不管緩存被使用的次數(shù)如何。以類似的方式,據(jù)估計,包括在瀏覽器或媒體播放器的書簽中的內(nèi)容如文檔、圖像或聲音的源具有高的重復(fù)使用的概率。因此,可以將這樣的源轉(zhuǎn)換成中間格式而不管緩存被使用的次數(shù)如何。
在參考圖4描述的示例中,終端裝置100包括源轉(zhuǎn)換器180,并且執(zhí)行與輸出內(nèi)容的處理不同的源格式轉(zhuǎn)換處理。然而,如上所述,在高速緩存140存儲了由源獲取單元130生成以提供給內(nèi)容輸出單元160的中間格式的數(shù)據(jù)的情況下,終端裝置100不一定包括源轉(zhuǎn)換器180。在這種情況下,可以通過源獲取單元130執(zhí)行圖4所示的處理。即,源獲取單元130針對用于輸出內(nèi)容的每個源執(zhí)行環(huán)處理。在中間格式的源尚未被存儲在高速緩存140中并且該源的緩存被使用的次數(shù)超過閾值的情況下,高速緩存140以被解壓縮用于輸出內(nèi)容的中間格式存儲該源。
另外,如上所述,代替由自己轉(zhuǎn)換源的格式或者與由自己轉(zhuǎn)換源的格式并行地,源轉(zhuǎn)換器180可以經(jīng)由通信裝置150請求外部裝置轉(zhuǎn)換源。在這種情況下,源轉(zhuǎn)換器180針對存儲在高速緩存140中的每個源執(zhí)行環(huán)處理。在中間格式的源尚未被存儲在高速緩存140中并且該源的緩存被使用的次數(shù)超過閾值的情況下,源轉(zhuǎn)換器180經(jīng)由通信裝置150請求外部裝置將該源轉(zhuǎn)換成中間格式。另外,源轉(zhuǎn)換器180用從外部裝置接收的中間格式的源代替存儲在高速緩存140中的原始格式的源。
(4.存儲信息的示例)
圖5是示出本公開內(nèi)容的實施方式中的被存儲為緩存的信息的示例的圖。參考圖5,緩存管理信息1400包括以下項:源URL 1401、源類型1402、使用計數(shù)1403、中間格式標(biāo)志1404、緩存路徑1405和標(biāo)識符1406。在下文中,還描述了每個項所表示的信息。
源URL 1401是例如當(dāng)從服務(wù)器獲取每個源時所指定的統(tǒng)一資源定位符(URL)。至少當(dāng)源URL 1401相同時,源是相同的。源類型1402表示每個源的類型。在圖5中,HTML文檔、Java腳本、CSS和JPEG圖像被示出為每個源的類型的示例。另外,存在很多類型的源。使用計數(shù)1403是與參考圖3和圖4的處理的示例中描述的緩存被使用的次數(shù)類似的使用次數(shù)。
中間格式標(biāo)志1404表示存儲在高速緩存140中的每個源是否是中間格式。在圖5的示例中,Java腳本的源(def.js)和JPEG圖像的源(jkl.jpg)以中間格式被存儲(可用)。緩存路徑1405表示至每個源的數(shù)據(jù)實體的參考路徑。例如,源獲取單元130參考緩存路徑1405并且讀出存儲在高速緩存140中的源。注意,用于參考源的數(shù)據(jù)實體的方法不限于示出的示例,并且可以使用各種已知技術(shù)。
標(biāo)識符1406是附加項。標(biāo)識符1406是對于每個源的內(nèi)容唯一的標(biāo)識符。例如,可以將源看作是二進(jìn)制數(shù)據(jù)而不管其類型如何,并且應(yīng)用散列(hash)函數(shù)來生成標(biāo)識符1406。例如,在共享的圖像或聲音被用于若干不同的網(wǎng)頁的情況下,這些圖像或聲音的每個源具有不同的源URL1401(因為存儲圖像或聲音的服務(wù)器300的地點(diǎn)不同)。然而,即使源URL1401不同,但通過使用標(biāo)識符1406可以將具有相同內(nèi)容的源當(dāng)作相同的源。
如上所述,通過使用標(biāo)識符1406將源URL 1401不同但是內(nèi)容相同的源當(dāng)作相同的源。因此,即使當(dāng)?shù)谝淮屋敵瞿硞€內(nèi)容時,也可以重復(fù)使用用于輸出另一內(nèi)容并且存儲在高速緩存140中的源,并且例如通過使用緩存,可以迅速輸出內(nèi)容。另外,針對每個標(biāo)識符1406對使用計數(shù)1403進(jìn)行計數(shù)。這使得能夠確定具有相同內(nèi)容的源是否被頻繁使用而不管其源URL 1401如何。另外,可以適當(dāng)?shù)剡x擇要以中間格式存儲在高速緩存140中的源。
MD5、SHA-1、SHA-256等可以被用作例如用于生成標(biāo)識符1406的散列函數(shù)。以與源格式轉(zhuǎn)換處理類似的方式,終端裝置100的處理器可以執(zhí)行或者可以請求外部裝置執(zhí)行以下處理:通過使用多個散列函數(shù)來生成多個標(biāo)識符1406;當(dāng)所有標(biāo)識符一致時確定源相同;以及生成唯一性得以進(jìn)一步改進(jìn)的一個源的標(biāo)識符1406。
(5.數(shù)據(jù)交換的示例)
圖6是示出本公開內(nèi)容的實施方式中的裝置之間的數(shù)據(jù)交換的示例的序列圖。圖6示出了在圖1中的系統(tǒng)10中眼鏡100b請求智能電話100a執(zhí)行將內(nèi)容的源轉(zhuǎn)換成中間格式的處理的示例。
在示出的示例中,眼鏡100b首先從用戶接收文檔輸出請求并且向服務(wù)器300發(fā)送源請求(S301)。如上所述,所請求的源可以是未存儲在眼鏡100b的高速緩存140中的源。接下來,眼鏡100b接收服務(wù)器300響應(yīng)于該請求而發(fā)送的源(S303)。
接下來,眼鏡100b使用所接收的源和/或存儲在高速緩存140中的源,并且向用戶輸出內(nèi)容(S305)。在這時,例如可以通過參考圖3描述的處理來遞增該源的緩存被使用的次數(shù)。
在輸出內(nèi)容之后或與輸出內(nèi)容并行地,眼鏡100b請求智能電話100a執(zhí)行將存儲在高速緩存140中的源轉(zhuǎn)換成中間格式的處理(S307)。在此,例如,通過參考圖4描述的處理,可以基于源的緩存被使用的次數(shù)來決定要被轉(zhuǎn)換成中間格式的源。智能電話100a將轉(zhuǎn)換成中間格式的源傳送至眼鏡100b(S309),并且眼鏡100b用中間格式的源代替原始格式的源(S311)。
(6.修改)
在本實施方式的該修改中,內(nèi)容的源不一定被存儲在例如終端裝置100中的高速緩存140中。更具體地,在眼鏡100b的情況下,留存為緩存的源的實體可以被存儲在如智能電話100a的外部裝置的存儲器或儲存器中,并且眼鏡100b的高速緩存140可以單獨(dú)存儲例如參考圖5描述的管理信息。在這種情況下,眼鏡100b從服務(wù)器300或者從智能電話100a中的高速緩存獲取用于輸出內(nèi)容的源。以如上所述的類似方式,可以根據(jù)預(yù)定條件將留存在智能電話100a中的緩存轉(zhuǎn)換成中間格式。
因此,在本公開內(nèi)容的實施方式中,源的緩存不一定被存儲在輸出內(nèi)容的終端裝置100中。緩存可以被存儲在外部裝置中并且必要時被提供給終端裝置100。并且在這種情況下,當(dāng)終端裝置100例如經(jīng)由Wi-Fi或藍(lán)牙(注冊商標(biāo))與外部裝置通信時,可以以與經(jīng)由網(wǎng)絡(luò)通信從服務(wù)器300獲取源相比較短的時間輸出內(nèi)容。在該說明書中,由終端裝置100或包括這種情況的外部裝置緩存的源被稱為“由客戶端緩存的源”。
(7.硬件配置)
接下來,參考圖7,描述根據(jù)本公開內(nèi)容的實施方式的信息處理裝置的硬件配置。圖7是示出了根據(jù)本公開內(nèi)容的實施方式的信息處理裝置的硬件配置示例的框圖。示出的信息處理裝置900可以實現(xiàn)上述實施方式中的終端裝置100和/或服務(wù)器300。
信息處理裝置900包括中央處理單元(CPU)901、只讀存儲器(ROM)903和隨機(jī)存取存儲器(RAM)905。另外,信息處理裝置900可以包括主機(jī)總線907、網(wǎng)橋909、外部總線911、接口913、輸入裝置915、輸出裝置917、存儲裝置919、驅(qū)動器921、連接端口923和通信裝置925。此外,信息處理裝置900在必要時可以包括成像裝置933和傳感器935??商孢x地或除了CPU 901之外,信息處理裝置900可以包括如數(shù)字信號處理器(DSP)或?qū)S眉呻娐?ASIC)的處理電路。
CPU 901用作算術(shù)處理裝置和控制裝置,并且根據(jù)ROM 903、RAM 905、存儲裝置919或可移除記錄介質(zhì)927中記錄的各種程序來控制信息處理裝置900的整體操作或一部分操作。ROM 903存儲由CPU 901使用的程序、操作參數(shù)等。RAM 905暫時存儲在執(zhí)行CPU 901時所使用的程序以及在執(zhí)行這樣的程序時視情況而改變的參數(shù)。CPU 901、ROM 903和RAM 905經(jīng)由由內(nèi)部總線如CPU總線等構(gòu)成的主機(jī)總線907而彼此連接。主機(jī)總線907經(jīng)由網(wǎng)橋909與外部總線911如外圍部件互聯(lián)/接口(PCI)總線連接。
輸入裝置915是由用戶操作的裝置,如鼠標(biāo)、鍵盤、觸摸屏、按鈕、開關(guān)和控制桿。輸入裝置915可以是使用例如紅外輻射和另一類型的無線電波的遠(yuǎn)程控制裝置??商孢x地,輸入裝置915可以是與信息處理裝置900的操作對應(yīng)的如移動電話的外部連接設(shè)備929。輸入裝置915包括基于由用戶輸入的信息來生成輸入信號以將所生成的輸入信號輸出至CPU 901的輸入控制電路。用戶通過操作輸入裝置915來向信息處理裝置900輸入各種類型的數(shù)據(jù)并且指示處理操作。
輸出裝置917包括可以以看得見或聽得見的方式向用戶報告所獲取的信息的裝置。輸出裝置917可以是:例如如液晶顯示器(LCD)、等離子顯示板(PDP)和有機(jī)電致發(fā)光(EL)顯示器的顯示裝置;如揚(yáng)聲器和耳機(jī)的音頻輸出裝置;以及打印機(jī)。輸出裝置917以文本或視頻如圖像的形式或者以聲音如語音和音頻聲音的形式來輸出通過由信息處理裝置900執(zhí)行的處理而獲得的結(jié)果。
存儲裝置919是作為信息處理裝置900的存儲單元的示例的用于數(shù)據(jù)存儲的裝置。存儲裝置919包括例如如硬盤驅(qū)動器(HDD)的磁存儲裝置、半導(dǎo)體存儲裝置、光存儲裝置或磁光存儲裝置。存儲單元919在其中存儲由CPU 901執(zhí)行的程序和各種數(shù)據(jù)以及從外部獲取的各種數(shù)據(jù)。
驅(qū)動器921是可移除記錄介質(zhì)927如磁盤、光盤、磁光盤和半導(dǎo)體存儲器的讀寫器,并且驅(qū)動器921內(nèi)置于或者外部地附接于信息處理裝置900。驅(qū)動器921讀出記錄在安裝的可移除記錄介質(zhì)927上的信息,并且將信息輸出至RAM 905。驅(qū)動器921將記錄寫入安裝的可移除記錄介質(zhì)927中。
連接端口923是用于將設(shè)備直接連接至信息處理裝置900的端口。連接端口923可以例如是通用串行總線(USB)端口、IEEE 1394端口或小型計算機(jī)系統(tǒng)接口(SCSI)端口。連接端口923還可以是RS-232C端口、光學(xué)音頻端子、高清晰度多媒體接口(HDMI(注冊商標(biāo)))端口等。外部連接裝置929至連接端口923的連接使得可以在信息處理裝置900與外部連接裝置929之間交換各種類型的數(shù)據(jù)。
通信裝置925是包括例如用于與通信網(wǎng)絡(luò)931連接的通信裝置的通信接口。通信裝置925可以是例如有線或無線局域網(wǎng)(LAN)、藍(lán)牙(注冊商標(biāo))或用于無線USB(WUSB)的通信卡。通信裝置925還可以是例如用于光通信的路由器、用于非對稱數(shù)字用戶線路(ADSL)的路由器或者用于各種類型的通信的調(diào)制解調(diào)器。例如,通信裝置925通過使用如TCP/IP的預(yù)定協(xié)議在互聯(lián)網(wǎng)中發(fā)送和接收信號或者向另外的通信裝置發(fā)送信號和從另外的通信裝置接收信號。與通信裝置925連接的通信網(wǎng)絡(luò)931是通過有線或無線連接建立的網(wǎng)絡(luò)。通信網(wǎng)絡(luò)931是例如互聯(lián)網(wǎng)、家庭LAN、紅外通信、無線電波通信或衛(wèi)星通信。
成像裝置933是通過使用圖像傳感器和各種構(gòu)件來拍攝真實空間并且生成所拍攝的圖像的裝置,其中圖像傳感器例如是電荷耦合裝置(CCD)和互補(bǔ)金屬氧化物半導(dǎo)體(CMOS),各種構(gòu)件例如是用于控制被攝體圖像至圖像傳感器上的成像的透鏡。成像裝置933可以拍攝靜止圖像或運(yùn)動圖像。
傳感器935是如加速度傳感器、陀螺儀傳感器、地磁傳感器、光學(xué)傳感器和聲音傳感器的各種傳感器。傳感器935獲取關(guān)于信息處理裝置900自身的狀態(tài)如信息處理裝置900的殼體的姿勢的信息,以及關(guān)于信息處理裝置900周圍的環(huán)境如發(fā)光強(qiáng)度和信息處理裝置900周圍的噪聲的信息。傳感器935可以包括接收GPS信號以測量裝置的緯度、經(jīng)度和海拔的全球定位系統(tǒng)(GPS)傳感器。
已描述了信息處理裝置900的硬件配置的示例。上述結(jié)構(gòu)要素中的每一個可以通過使用通用部件來配置或者可以通過專門用于結(jié)構(gòu)要素中的每一個的功能的硬件來配置??梢愿鶕?jù)在實施本公開內(nèi)容時的技術(shù)水平在必要時改變配置。
(8.補(bǔ)充)
本公開內(nèi)容的實施方式可以包括例如上述信息處理裝置、上述系統(tǒng)、由所述信息處理裝置或系統(tǒng)執(zhí)行的信息處理方法、用于使所述信息處理裝置展示其功能的程序以及存儲有所述程序的非暫態(tài)有形介質(zhì)。
上面參考附圖描述了本公開內(nèi)容的優(yōu)選實施方式,然而本公開內(nèi)容不限于以上示例。本領(lǐng)域的技術(shù)人員可以發(fā)現(xiàn)處于所附權(quán)利要求書的范圍內(nèi)的各種變更和修改,并且應(yīng)當(dāng)理解,它們將自然地歸入本公開內(nèi)容的技術(shù)范圍中。
另外,本說明書中描述的效果僅為說明性和例證性,而不是限制性的。換言之,與基于本說明書的效果一起或者代替基于本說明書的效果,根據(jù)本公開內(nèi)容的技術(shù)可以展示對于本領(lǐng)域的技術(shù)人員而言明顯的其他效果。
另外,本技術(shù)還可以按如下方式進(jìn)行配置。
(1)一種信息處理裝置,包括:
源獲取單元,被配置成獲取內(nèi)容的源;以及
內(nèi)容輸出單元,被配置成基于所獲取的源來輸出所述內(nèi)容,
其中,所述源包括由客戶端緩存的源,并且
所緩存的源包括被轉(zhuǎn)換成中間格式的源。
(2)根據(jù)(1)所述的信息處理裝置,
其中,所緩存的源包括未被轉(zhuǎn)換成中間格式的源,并且
所述信息處理裝置還包括源轉(zhuǎn)換器,所述源轉(zhuǎn)換器被配置成將所述未被轉(zhuǎn)換成中間格式的源轉(zhuǎn)換成所述中間格式。
(3)根據(jù)(2)所述的信息處理裝置,
其中,所述源轉(zhuǎn)換器基于所述未被轉(zhuǎn)換成中間格式的源被用作所述內(nèi)容的輸出的次數(shù),將所述未被轉(zhuǎn)換成中間格式的源轉(zhuǎn)換成所述中間格式。
(4)根據(jù)(3)所述的信息處理裝置,還包括
通信單元,被配置成與外部裝置通信,
其中,經(jīng)由所述通信單元,所述源轉(zhuǎn)換器請求所述外部裝置執(zhí)行處理以將所述未被轉(zhuǎn)換成中間格式的源轉(zhuǎn)換成所述中間格式。
(5)根據(jù)(1)至(4)中任一項所述的信息處理裝置,
其中,所述源獲取單元基于對于所述源的每個內(nèi)容唯一的標(biāo)識符,確定所述源是否被所述客戶端緩存。
(6)根據(jù)(1)至(5)中任一項所述的信息處理裝置,
其中,所述源包括文檔,并且
所述被轉(zhuǎn)換成中間格式的源包括通過解析所述文檔而獲得的數(shù)據(jù)結(jié)構(gòu)。
(7)根據(jù)(1)至(6)中任一項所述的信息處理裝置,
其中,所述源包括腳本,并且
所述被轉(zhuǎn)換成中間格式的源包括通過編譯所述腳本而獲得的機(jī)器代碼。
(8)根據(jù)(1)至(7)中任一項所述的信息處理裝置,
其中,所述源包括具有級聯(lián)結(jié)構(gòu)的配置信息,并且
所述被轉(zhuǎn)換成中間格式的源包括級聯(lián)結(jié)構(gòu)被解決的配置信息。
(9)根據(jù)(1)至(8)中任一項所述的信息處理裝置,
其中,所述內(nèi)容包括已經(jīng)被編碼的圖像數(shù)據(jù)或聲音數(shù)據(jù),并且
所述被轉(zhuǎn)換成中間格式的源包括已經(jīng)被解碼的所述圖像數(shù)據(jù)或所述聲音數(shù)據(jù)。
(10)一種存儲有程序的記錄介質(zhì),所述程序使計算機(jī)實現(xiàn):
獲取內(nèi)容的源的功能;以及
基于所獲取的源來輸出所述內(nèi)容的功能,
其中,所述源包括由客戶端緩存的源,并且
所緩存的源包括被轉(zhuǎn)換成中間格式的源。
附圖標(biāo)記列表
10 系統(tǒng)
100 終端裝置
110 輸入裝置
120 請求獲取單元
130 源獲取單元
140 高速緩存
150 通信裝置
160 內(nèi)容輸出單元
170 輸出裝置
180 源轉(zhuǎn)換器
200 網(wǎng)絡(luò)
300 服務(wù)器