專利名稱:程序生成裝置、程序生成方法、以及計算機可讀介質(zhì)的制作方法
技術(shù)領(lǐng)域:
在此描述的實施例涉及程序生成器。
背景技術(shù):
隨著因特網(wǎng)的發(fā)展,除了個人計算機以外的各種裝置已經(jīng)實現(xiàn)并入通信功能。具有通信功能的裝置包括諸如蜂窩電話、功率表、汽車、以及諸如空調(diào)機和TV接收器的家用電器的各種裝置。另一方面,近年來,隨著除了個人計算機以外的各種裝置已經(jīng)實現(xiàn)并入通信功能,新服務(wù)(以下稱為網(wǎng)絡(luò)合作服務(wù))已經(jīng)出現(xiàn),其中,在網(wǎng)絡(luò)上實現(xiàn)的服務(wù)(如云服務(wù))與具有通信功能的裝置合作。這種網(wǎng)絡(luò)合作服務(wù)允許用戶接收更寬泛種類的服務(wù)。例如,網(wǎng)絡(luò)上實現(xiàn)的服務(wù)由通過提供那些服務(wù)的ASP (應(yīng)用服務(wù)提供商)安裝在因特網(wǎng)上的服務(wù)器來提供。示例網(wǎng)絡(luò)合作服務(wù)是其中在因特網(wǎng)上實現(xiàn)的服務(wù)是云合作服務(wù)的服務(wù)。而且,示例云合作服務(wù)是其中云服務(wù)是Twitter (商標(biāo)名稱)的服務(wù),具有通信功能的裝置是TV接收器。在這種情況下,特定云合作服務(wù)可以被想到,其中,在用戶的TV接收器上觀看的節(jié)目的頻道信息自動地獲取并且自動地貢獻(xiàn)至Twitter。常規(guī)上,在設(shè)計裝置通信功能方面,通信協(xié)議(通信過程)已經(jīng)由諸如DLNA (數(shù)字生活網(wǎng)絡(luò)家電)的標(biāo)準(zhǔn)制定機構(gòu)進(jìn)行了標(biāo)準(zhǔn)化。因此,常見的做法是,即使不同制造商的裝置也跟隨相同的標(biāo)準(zhǔn)通信協(xié)議,并且同一制造商的新型號裝置和舊型號裝置都跟隨同一標(biāo)準(zhǔn)通信協(xié)議。生成用于執(zhí)行網(wǎng)絡(luò)合作服務(wù)的常規(guī)程序,以具有使得能夠與符合標(biāo)準(zhǔn)通信協(xié)議的裝置合作的功能、和用于提供要利用前述功能執(zhí)行的服務(wù)的功能兩者。即,用于執(zhí)行網(wǎng)絡(luò)合作服務(wù)的程序取決于標(biāo)準(zhǔn)通信協(xié)議。一般來說,雖然在網(wǎng)絡(luò)上實現(xiàn)的服務(wù)(如云服務(wù))發(fā)展非???,但裝置的標(biāo)準(zhǔn)通信協(xié)議因通信協(xié)議的傳播花費較長時間而推進(jìn)緩慢。傳播通信協(xié)議所花費的時間取決于更換舊通信協(xié)議的容易性和購買具有通信功能的新裝置的周期。例如,對于使用了較長時期的空調(diào)機的情況來說,希望使用同一通信協(xié)議達(dá)較長時間,并且標(biāo)準(zhǔn)通信協(xié)議將推進(jìn)緩慢。這種趨勢提出了以下問題,即,其中在網(wǎng)絡(luò)上實現(xiàn)的服務(wù)與具有通信功能的裝置合作的網(wǎng)絡(luò)合作服務(wù)(諸如云合作服務(wù))因所使用的標(biāo)準(zhǔn)通信協(xié)議即使在網(wǎng)絡(luò)上實現(xiàn)的服務(wù)(如云服務(wù))發(fā)展也未推進(jìn)而難于發(fā)展。而且,雖然半導(dǎo)體技術(shù)和裝置功能發(fā)展得非???,但裝置的標(biāo)準(zhǔn)通信協(xié)議緩慢地推進(jìn)著。例如,可能存在以下情況,即,即使因型號改變而將新功能加入裝置,標(biāo)準(zhǔn)通信協(xié)議也不支持該新功能。在這種情況下,出現(xiàn)了一個問題,即,網(wǎng)絡(luò)合作服務(wù)因裝置的型號改變而不能使用加入到裝置中的新功能。對上述示例云合作服務(wù)進(jìn)行考慮。例如,假定已經(jīng)將節(jié)目表功能加入TV接收器,但標(biāo)準(zhǔn)通信協(xié)議沒有獲取節(jié)目表的功能。在這種情況下,云合作服務(wù)不能利用節(jié)目表數(shù)據(jù)來提供服務(wù)。例如,其不能提供自動向Twitter貢獻(xiàn)被觀看的TV節(jié)目的名稱的服務(wù)。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種生成程序的程序生成器,該程序使得可以根據(jù)裝置功能在利用該裝置的功能的網(wǎng)絡(luò)上提供服務(wù),而不管該裝置的標(biāo)準(zhǔn)通信協(xié)議是否被更新過。根據(jù)本發(fā)明的示例性實施例,提供了一種程序生成裝置。該裝置包括:生成器,被配置成基于第二程序和第三程序生成第一程序。第二程序包括通過網(wǎng)絡(luò)與操作裝置進(jìn)行通信的過程。第三程序包括允許第一服務(wù)與該操作裝置的功能彼此合作的過程。第一程序包括實現(xiàn)其中第一服務(wù)和該操作裝置的功能通過網(wǎng)絡(luò)彼此合作的合作服務(wù)的過程。
下面,參照附圖,對實現(xiàn)本發(fā)明的各種特征的一般架構(gòu)進(jìn)行描述。提供附圖和關(guān)聯(lián)描述來例示本發(fā)明的實施例,而不是對本發(fā)明的范圍進(jìn)行限制:圖1是根據(jù)第一實施例的系統(tǒng)的框圖;圖2是示出圖1的系統(tǒng)怎樣操作的順序圖;圖3A-3C示出了操作裝置13是TV接收器的情況下的示例API程序;圖4A和4B示出了示例邏輯程序;圖5是圖1的系統(tǒng)的程序生成裝置10的框圖;圖6示出了通過人機接口處理器110顯示在屏幕上的示例邏輯程序選擇圖片;圖7示出了通過人機接口處理器110顯示在屏幕上的示例操作裝置選擇圖片;圖8示出了示例程序執(zhí)行裝置選擇圖片;圖9A-9E不出了不例執(zhí)行程序;圖10是根據(jù)第一實施例的修改例的系統(tǒng)的框圖;圖11是示出圖10的系統(tǒng)如何操作的順序圖;圖12是圖10的系統(tǒng)的每個操作裝置20的框圖;圖13是根據(jù)第二實施例的系統(tǒng)的框圖;圖14是示出圖13的系統(tǒng)怎樣操作的順序圖;圖15示出了由智能電話30A在其屏幕上顯示的示例可能行駛范圍31C ;圖16是例示根據(jù)第三實施例的系統(tǒng)的框圖;圖17是示出圖16的系統(tǒng)怎樣操作的順序圖;以及圖18是由圖16所示的能量管理服務(wù)器41運行的執(zhí)行程序的示例熱累積控制算法的流程圖。
具體實施例方式下面,參照附圖對本發(fā)明的實施例進(jìn)行描述。相同項目在圖中由相同標(biāo)號指出,并且將不進(jìn)行多余描述?!磳嵤├?>
圖1是根據(jù)本發(fā)明第一實施例的系統(tǒng)的框圖。在根據(jù)本發(fā)明第一實施例的系統(tǒng)中,程序生成裝置10、API存儲部12、多個操作裝置13、多個程序執(zhí)行裝置14、應(yīng)用服務(wù)器15、以及程序存儲服務(wù)器16經(jīng)由網(wǎng)絡(luò)17彼此連接。每個操作裝置13是執(zhí)行針對用戶的服務(wù)操作的裝置。例如,每個操作裝置13是TV接收器或PVR (個人錄像機、硬盤記錄器)。應(yīng)用服務(wù)器15是通過網(wǎng)絡(luò)17向服務(wù)接收方提供服務(wù)的服務(wù)器。應(yīng)用服務(wù)器15所提供的服務(wù)例如是云服務(wù)。該API存儲部12是存儲API程序并通過網(wǎng)絡(luò)17向另一裝置提供API程序的裝置。API (應(yīng)用程序接口)程序(權(quán)利要求書中記載的“第二程序”)是實現(xiàn)用于通過網(wǎng)絡(luò)17訪問操作裝置13的通信過程的程序。用于通過網(wǎng)絡(luò)17訪問操作裝置13的通信過程根據(jù)要通過訪問操作裝置13所實現(xiàn)的功能(例如,控制操作裝置13或者使用操作裝置13的功能)來改變。而且通過訪問操作裝置13可以實現(xiàn)的功能根據(jù)操作裝置13的功能來改變。因此,不同的API程序根據(jù)操作裝置13的功能和要通過訪問操作裝置13所實現(xiàn)的功能來指配。更具體地說,如果改變圖1的系統(tǒng)的操作裝置13的型號,則生成適于新型號的API程序。API程序針對多個相應(yīng)操作裝置13來生成。多個API程序可以針對要通過訪問單一操作裝置13來獲得的相應(yīng)目的而生成。程序存儲服務(wù)器16是存儲邏輯程序(權(quán)利要求中所述的“第三程序”)的裝置,每個邏輯程序是使用API程序并且用于使通過應(yīng)用服務(wù)器15提供的服務(wù)與操作裝置13合作的程序。程序存儲服務(wù)器16通過網(wǎng)絡(luò)17向另一裝置提供邏輯程序。程序生成裝置10是基于API程序和邏輯程序生成執(zhí)行程序(權(quán)利要求中所述的“第一程序”)的裝置,該執(zhí)行程序使通過應(yīng)用服務(wù)器15提供的服務(wù)與操作裝置13的功能合作。程序生成裝置10通過網(wǎng)絡(luò)17向另一裝置提供所生成的執(zhí)行程序。該執(zhí)行程序是可以通過程序執(zhí)行裝置14 (稍后描述)運行的程序。該執(zhí)行程序可以采用任何形式,只要其可以通過程序執(zhí)行裝置14運行即可,并且可以是未采用二進(jìn)制形式的程序。執(zhí)行程序的示例形式有Perl、JavaScript (注冊商標(biāo))、Ruby (商標(biāo)名稱)、以及Java (注冊商標(biāo))。每個程序執(zhí)行裝置14具有執(zhí)行一執(zhí)行程序的功能。盡管圖1示出了單一應(yīng)用服務(wù)器15、程序存儲服務(wù)器16、程序生成裝置10、程序執(zhí)行裝置14、操作裝置13、以及API存儲部12,但在本實施例中假定,設(shè)置多個程序執(zhí)行裝置14和操作裝置13。每個其它種類的裝置也可以被設(shè)置為多個。接下來,將參照圖2,對圖1的系統(tǒng)怎樣操作進(jìn)行描述,其示出了圖1的系統(tǒng)的通信順序。在步驟S101-S103,每個程序執(zhí)行裝置14、每個操作裝置13、以及API存儲部12有規(guī)律地廣播或多播廣告消息。例如,每個廣告消息包含裝置類型、提供商標(biāo)識符、型號標(biāo)識符、單個裝置標(biāo)識符、以及裝置IP地址。每個廣告消息例如采用IP包的形式來發(fā)送。下面,對包含在廣告消息中的每種信息進(jìn)行描述。裝置類型是用于區(qū)分程序執(zhí)行裝置14、操作裝置13、以及API存儲部12的標(biāo)識符。優(yōu)選的是,裝置類型是使得能夠標(biāo)識每個操作裝置13的類型的標(biāo)識符。每個操作裝置13的類型意指TV接收器、PVR等。
提供商標(biāo)識符是用于標(biāo)識裝置的制造商的標(biāo)識符。型號標(biāo)識符是用于標(biāo)識裝置的型號的標(biāo)識符。優(yōu)選的是,型號標(biāo)識符例如是UUID(通用唯一標(biāo)識符)。使用UUID使得可以將不同的標(biāo)識符指配給不同制造商的型號。單個裝置標(biāo)識符是用于唯一標(biāo)識裝置的標(biāo)識符。優(yōu)選的是,單個裝置標(biāo)識符例如是UUID。單個裝置標(biāo)識符不需要總是作為使得能夠通過其本身唯一標(biāo)識裝置的標(biāo)識符。例如,每個裝置可以通過組合其型號標(biāo)識符和單個裝置標(biāo)識符而被唯一地標(biāo)識。裝置IP地址是指配給裝置的IP地址。上面,對包含在每個廣告消息中的信息的種類進(jìn)行描述。下面,再開始對根據(jù)本實施例的系統(tǒng)的操作的描述。在步驟S104,程序生成裝置10通過引用從API存儲部12獲取的廣告消息來請求API存儲部12發(fā)送API程序,并且接收來自API存儲部12的API程序。程序生成裝置10根據(jù)HTTP請求發(fā)送定向至包含在從API存儲部12獲取的廣告消息中的(API獲取URL:例ia, http://192.168.0.1/api/)裝置 IP 地址的 API 程序。在步驟S105,程序生成裝置10通過引用從程序存儲服務(wù)器16獲取的廣告消息來請求程序存儲服務(wù)器16發(fā)送邏輯程序,并且接收來自程序存儲服務(wù)器16的邏輯程序。程序生成裝置10請求發(fā)送定向至包含在從程序存儲服務(wù)器16獲取的廣告消息中的裝置IP地址的邏輯程序。程序生成裝置10利用所獲取的API程序和邏輯程序來生成執(zhí)行程序。在步驟S106,程序生成裝置10向程序執(zhí)行裝置14發(fā)送所生成的執(zhí)行程序。程序生成裝置10根據(jù)HTTP向包含在從其獲取的廣告消息中包含的程序執(zhí)行裝置14的IP地址發(fā)送所生成的執(zhí)行程序。程序執(zhí)行裝置14運行所接收的執(zhí)行程序。這樣做,在步驟S107和S108,程序執(zhí)行裝置14通過網(wǎng)絡(luò)17訪問應(yīng)用服務(wù)器15和操作裝置13。操作裝置13與應(yīng)用服務(wù)器15之間的合作通過程序執(zhí)行裝置14運行執(zhí)行程序來實現(xiàn)。稍后,利用具體示例對詳細(xì)的合作操作進(jìn)行描述。這里,完成了對圖1的系統(tǒng)的操作的描述。在本實施例中,針對每個操作裝置13的訪問的通信過程總體上不是與該系統(tǒng)中預(yù)定的標(biāo)準(zhǔn)協(xié)議相對應(yīng)的通信過程,而是通過針對每個操作裝置13設(shè)置的API程序來實現(xiàn)的??傮w上針對該系統(tǒng)未設(shè)置通信協(xié)議的事實使得可以彼此獨立地開發(fā)并安裝操作裝置13和應(yīng)用服務(wù)器15。因為可以實現(xiàn)API程序以使其適于操作裝置13的功能,所以使得良好地使用操作裝置13的功能的合作服務(wù)可以通過訪問使用利用API程序而生成的執(zhí)行程序的操作裝置13來實現(xiàn)。在本實施例中,執(zhí)行程序通過與操作裝置13分離的程序執(zhí)行裝置14來運行。結(jié)果,即使執(zhí)行程序需要操作裝置13不能適應(yīng)的計算量,該系統(tǒng)也可以工作。具體來說,在應(yīng)用服務(wù)器15是因特網(wǎng)上的ASP的服務(wù)器而程序執(zhí)行裝置14是使用由ASP提供的服務(wù)(ASP服務(wù))的、諸如網(wǎng)絡(luò)電話(softphone)或PC的裝置的情況下,希望程序執(zhí)行裝置14具有這種計算能力,以使得能夠跟隨發(fā)展非常迅速的ASP服務(wù)。接下來,對示例API程序進(jìn)行描述。在本實施例中,盡管要被用于訪問操作裝置13的程序是作為包括API的程序的API程序,但本發(fā)明不限于這種情況。即,其滿足了要用于訪問操作裝置13的程序是規(guī)定用于訪問操作裝置13的過程的程序的需要;其不需要總是作為包括API的程序。圖3A-3C示出了操作裝置13是TV接收器的情況下的示例API程序。圖3A-3C所示的API程序是采用JavaScript (注冊商標(biāo))編寫的偽代碼。API程序針對每個操作裝置13設(shè)置,并且另一裝置(例如,程序執(zhí)行裝置14)可以根據(jù)通過API程序確定的通信過程來訪問操作裝置13。在該實施例中,API程序可以通過API存儲部12或者通過能夠利用API程序進(jìn)行訪問的操作裝置13來保持。在圖3A-3C所示的API程序中,要用于訪問操作裝置13的API函數(shù)的名稱在<API_Functions〉與 </API_Functions> 之間寫入。即,函數(shù) getAplilnfo O、readCurrentCh O、setCurrentCh O、以及readChList ()在圖3A-3C的不例中進(jìn)行了定義。函數(shù)getAplilnfo O是用于通過訪問操作裝置13來獲取與API程序有關(guān)的信息的 API。具體來說,與API程序有關(guān)的信息是包括要利用API程序訪問的、用于標(biāo)識API程序的API標(biāo)識符和指示操作裝置13的型號標(biāo)識符的目標(biāo)型號標(biāo)識符的信息。在圖3A-3C的示例中,API標(biāo)識符為“0c91356c-cl6a-44c7-9709-448993b6ce07”而目標(biāo)型號標(biāo)識符為“8699e324-3701-4c31-9a29-abdfe99ea93d”。函數(shù)readCurrentCh O是用于獲取通過操作裝置13 (在這個示例中,TV接收器)接收的廣播的頻道的信息的API。例如,獲取接收頻道的頻道號(chNum)和頻道名稱(chName)、以及廣播提供商標(biāo)識符(providerld)。該廣播提供商標(biāo)識符(providerld)被唯一地指配給廣播提供商。函數(shù)setCurrentCh O是用于通過訪問操作裝置13來設(shè)置要通過操作裝置13接收的廣播的頻道的API。當(dāng)通過該API給定頻道號時,操作裝置13將接收頻道設(shè)置成指定頻道。函數(shù)readChList O是用于獲取操作裝置13 (TV接收器)的廣播可接收頻道的信息的API。更具體地說,利用該API來獲取每個廣播可接收頻道的頻道號(chNum)和頻道名稱(chName)、以及廣播提供商標(biāo)識符(providerld)。圖4A和4B示出了示例邏輯程序。圖4A和4B所示的邏輯程序是要用于向Twitter (商標(biāo)名稱)貢獻(xiàn)關(guān)于用戶已經(jīng)改變了操作裝置13 (TV接收器)的接收頻道的效應(yīng)的信息的程序的偽代碼。根據(jù)該邏輯程序,利用函數(shù)mainO每隔60秒鐘來獲取接收頻道,并且如果這時獲取的接收頻道不同于前一頻道,則將新的接收頻道的信息發(fā)送給Twitter。函數(shù)sendMessage ()被用于向Twitter發(fā)送接收頻道的信息。在這個函數(shù)中,要發(fā)送的消息通過makeMEssage ()來生成。接下來,參照圖2,對程序生成裝置10怎樣操作進(jìn)行詳細(xì)描述。當(dāng)接收來自操作裝置13的廣告消息時,程序生成裝置10存儲包含在廣告消息中的信息(裝置類型、提供商標(biāo)識符、型號標(biāo)識符、單個裝置標(biāo)識符、以及裝置IP地址)。這樣存儲的信息被稱為操作裝置信息。當(dāng)接收來自API存儲部12的廣告消息時,程序生成裝置10存儲包含在廣告消息中的信息(裝置類型、提供商標(biāo)識符、型號標(biāo)識符、單個裝置標(biāo)識符、裝置IP地址、以及API獲取URL)。這樣存儲的信息被稱為API存儲部信息。當(dāng)接收來自程序執(zhí)行裝置14的廣告消息時,程序生成裝置10存儲包含在廣告消息中的信息(裝置類型、提供商標(biāo)識符、型號標(biāo)識符、單個裝置標(biāo)識符、以及裝置IP地址)。這樣存儲的信息被稱為程序執(zhí)行裝置信息。接下來,對程序生成裝置10的配置進(jìn)行描述。圖5是示出程序生成裝置10的配置的框圖。廣告消息處理器106經(jīng)由通信處理器101接收廣告消息。接著,廣告消息處理器106基于包含在廣告消息中的裝置類型來判斷已經(jīng)發(fā)送了廣告消息的裝置的類型。如果包含在廣告消息中的裝置類型是“操作裝置”,則廣告消息處理器106提取操作裝置信息并將其發(fā)送至操作裝置信息保持器107。如果包含在廣告消息中的裝置類型是“API存儲部”,則廣告消息處理器106提取API存儲部信息并將其發(fā)送至API存儲部信息保持器108。如果包含在廣告消息中的裝置類型是“程序執(zhí)行裝置”,則廣告消息處理器106提取程序執(zhí)行裝置信息并將其發(fā)送至程序執(zhí)行裝置信息保持器109。操作裝置信息保持器107保持多條操作裝置信息,并將其中保持的多條操作裝置信息提供給人機接口處理器110,或者將它們中的一條操作裝置信息提供給API程序獲取處理器102。API存儲部信息保持器108保持多條API存儲部信息,并將其中保持的多條API存儲部信息提供給人機接口處理器110,或者將它們中的一條提供給API程序獲取處理器102。程序執(zhí)行裝置信息保持器109保持多條程序執(zhí)行裝置信息,并將其中保持的多條程序執(zhí)行裝置信息提供給人機接口處理器110,或者將它們中的一條提供給執(zhí)行程序信息傳輸處理器105。人機接口處理器110處理針對顯示裝置的屏幕輸出和來自鼠標(biāo)的輸入。人機接口處理器110例如被實現(xiàn)為Web瀏覽器。人機接口處理器110生成示出由程序存儲服務(wù)器16保持的邏輯程序的列表的邏輯程序選擇圖片,并顯示該邏輯程序選擇圖片。圖6示出了通過人機接口處理器110顯示在屏幕上的示例邏輯程序選擇圖片。圖6的示例是程序存儲服務(wù)器16保持兩個邏輯程序的情況,其為“將觀看頻道貢獻(xiàn)至Twitter (商標(biāo)名稱)”和“記錄在Facebook (商標(biāo)名稱)中流行的節(jié)目的預(yù)定”。下面,在選擇邏輯程序之后執(zhí)行的每個操作將以選擇邏輯程序“將觀看頻道貢獻(xiàn)至Twitter”的假定來描述。人機接口處理器110利用存儲在操作裝置信息保持器107中的多條操作裝置信息來生成操作裝置選擇圖片,并顯示該操作裝置選擇圖片。例如,人機接口處理器110通過向程序存儲服務(wù)器16發(fā)送多條操作裝置信息,并且使程序存儲服務(wù)器16將型號標(biāo)識符轉(zhuǎn)換成表示裝置類型的字符串(例如,TV接收器、PVR、二次電池、空調(diào)機、太陽能板,以及功率表)和圖標(biāo)并由此生成圖片,來顯示操作裝置選擇圖片。另選的是,人機接口處理器110可以通過獲取來自每個操作裝置13的字符串和圖標(biāo)作為操作裝置信息來顯示這種操作裝置選擇圖片。圖7示出了通過人機接口處理器110顯示在屏幕上的示例操作裝置選擇圖片。在圖7的示例中,顯示了 TV接收器、PVR、二次電池、空調(diào)機、太陽電池板、以及功率表的字符串和圖標(biāo)。
當(dāng)通過邏輯程序選擇圖片來選擇邏輯程序時,人機接口處理器110可以按指示不允許所選擇的邏輯程序操作的操作裝置13不可選擇的這種方式來顯示操作裝置選擇圖片。例如,這種操作裝置13變灰色或者根本不顯示。當(dāng)選擇邏輯程序“將觀看頻道貢獻(xiàn)至Twitter”時,使得能夠操作該邏輯程序的TV接收器和PVR正常顯示,而其它操作裝置13變灰色或者根本不顯示。下面,在選擇特定操作裝置13之后執(zhí)行的每個操作將以選擇TV接收器的假定來描述。人機接口處理器110指令邏輯程序獲取處理器103獲取通過邏輯程序選擇圖片選擇的、并且與用于操作裝置13的API程序相對應(yīng)的邏輯程序。人機接口處理器110基于由程序執(zhí)行裝置信息保持器109保持的多條程序執(zhí)行裝置信息來顯示程序執(zhí)行裝置選擇圖片。圖8示出了示例程序執(zhí)行裝置選擇圖片。人機接口處理器110可以通過向程序存儲服務(wù)器16發(fā)送多條程序執(zhí)行裝置信息,并且使程序存儲服務(wù)器16將型號標(biāo)識符轉(zhuǎn)換成表示裝置類型的字符串(例如,蜂窩電話和PC)和圖標(biāo)并由此生成圖片,來顯示程序執(zhí)行裝置選擇圖片。另選的是,人機接口處理器110還可以獲取來自每個程序執(zhí)行裝置14的字符串和圖標(biāo),作為程序執(zhí)行裝置信息。人機接口處理器110除了顯示表示裝置類型的字符串和圖標(biāo)以外,還可以通過將被用戶賦予每個程序執(zhí)行裝置14的名稱(例如,Kenich1、Kenj1、或者Rose)并入程序執(zhí)行裝置信息中,來顯示這種信息。圖8所示的示例程序執(zhí)行裝置選擇圖片就是這種情況。人機接口處理器110指令執(zhí)行程序傳輸處理器105向外部選擇的程序執(zhí)行裝置14發(fā)送執(zhí)行程序。這里,完成了對人機接口處理器110的描述。API程序獲取處理器102基于存儲在API存儲部信息保持器108中的API存儲部信息從API存儲部12獲取API程序。更具體地說,API程序獲取處理器102通過經(jīng)由通信處理器101訪問包括在API存儲部信息中的API獲取URL來獲取API程序。API程序獲取處理器102向執(zhí)行程序生成裝置104提供所獲取的API程序,并將所獲取的API程序的API標(biāo)識符提供給邏輯程序獲取處理器103。邏輯程序獲取處理器103從程序存儲服務(wù)器16獲取由人機接口處理器110通過邏輯程序選擇圖片選擇的邏輯程序。在典型情況下,程序存儲服務(wù)器16具有Web服務(wù)器功能并且提供邏輯程序選擇圖片。優(yōu)選的是,邏輯程序獲取處理器103向程序存儲服務(wù)器16發(fā)送API標(biāo)識符,而該程序存儲服務(wù)器16基于所接收的API標(biāo)識符生成僅包括使得能夠生成執(zhí)行程序的邏輯程序的圖片。 假定要被邏輯程序獲取處理器103訪問的程序存儲服務(wù)器16的URL被預(yù)先給出。典型地講,這種URL利用諸如Google (商標(biāo)名稱)的搜索服務(wù)來獲取。邏輯程序獲取處理器103向執(zhí)行程序生成裝置104提供所獲取的邏輯程序。執(zhí)行程序生成裝置104利用從API程序獲取處理器102接收到的API程序和從邏輯程序獲取處理器103獲取的邏輯程序來生成執(zhí)行程序,并且將所生成的執(zhí)行程序提供給執(zhí)行程序傳輸處理器105。圖9A-9E示出了根據(jù)圖3A-3C的API程序和圖4A和4B的邏輯程序生成的示例執(zhí)行程序。因為使用JavaScript (注冊商標(biāo)),所以圖9A-9E的執(zhí)行程序可以通過僅連接圖3A-3C的API程序和圖4A和4B的邏輯程序來獲取。存在各種執(zhí)行程序生成方法。例如,在解釋語言的情況下,希望通過連接被編寫為如圖9A-9E的示例中的文本數(shù)據(jù)的程序來生成執(zhí)行程序。示例解釋語言是Java (注冊商標(biāo))和Ruby (商標(biāo)名稱)。在將諸如C語言的編譯語言用于生成執(zhí)行程序的情況下,在每個程序執(zhí)行裝置14中準(zhǔn)備編譯器。而且,程序生成裝置10的執(zhí)行程序生成裝置104生成描述用于編譯API文件和邏輯文件的方法的文件編寫(makefile)。因此,在使用編譯語言的情況下,執(zhí)行程序可以是包括API程序、邏輯程序,以及文件編寫的信息。即使在將編譯語言用于生成執(zhí)行程序的情況下,也可以使執(zhí)行程序生成裝置104執(zhí)行交叉編譯,以使得執(zhí)行程序通過具有包括在從程序執(zhí)行裝置14發(fā)送的廣告消息中的、指示程序執(zhí)行裝置14的程序執(zhí)行環(huán)境的標(biāo)識符,而在該程序執(zhí)行裝置14中操作。執(zhí)行程序傳輸處理器105根據(jù)來自人機接口處理器110的指令,將從執(zhí)行程序生成裝置104接收到的執(zhí)行程序發(fā)送至程序執(zhí)行裝置14。通信處理器101根據(jù)預(yù)定通信過程與網(wǎng)絡(luò)17交換數(shù)據(jù)。當(dāng)接收到來自程序生成裝置10的執(zhí)行程序時,程序執(zhí)行裝置14運行所接收的執(zhí)行程序。對于圖9A-9E的執(zhí)行程序的情況來說,程序執(zhí)行裝置14規(guī)律地訪問操作裝置13(TV接收器),并且如果通過當(dāng)前訪問檢測到的接收頻道不同于通過先前訪問而檢測到的接收頻道,則將針對該效應(yīng)的信息發(fā)送至應(yīng)用服務(wù)器15 (Twitter (商標(biāo)名稱))。例如,發(fā)送消息“在觀看Nippon TV”。下面,對根據(jù)本實施例的系統(tǒng)所提供的優(yōu)點進(jìn)行描述。假定用戶已經(jīng)買了新的TV接收器的情況,S卩,連接至網(wǎng)絡(luò)17 (參見圖1)的操作裝置13的功能已經(jīng)改變。并且假定該新TV接收器添加有EPG (電子節(jié)目指南)功能。在該新TV接收器添加有新功能的情況下,使得能夠利用該功能的執(zhí)行程序可以通過使API程序和邏輯程序適應(yīng)該功能而實現(xiàn)。例如,采用通過將用于獲取來自TV接收器的EPG數(shù)據(jù)的函數(shù)getEPGInfoO加入圖3A-3C的API程序而獲取的API程序,作為用于該新TV接收器的API程序。修改邏輯程序,以適應(yīng)函數(shù)getEPGInfo O。在利用根據(jù)這種API程序和邏輯程序生成的執(zhí)行程序向應(yīng)用服務(wù)器15發(fā)送消息時,程序執(zhí)行裝置14可以通過轉(zhuǎn)換成在接收頻道上接收的節(jié)目的名稱而生成更詳細(xì)的消息,例如,“正在觀看NipponTV的電視劇“Springhas come,”,。常規(guī)上,因為執(zhí)行程序取決于標(biāo)準(zhǔn)通信協(xié)議,所以不能按適于操作裝置的功能改變的方式靈活地生成執(zhí)行程序,除非更新了該標(biāo)準(zhǔn)通信協(xié)議。并且,不能實現(xiàn)適于操作裝置的功能改變的服務(wù)。與此相反,在本實施例中,可以實現(xiàn)適于操作裝置13的功能的API程序,并且可以生成適于API程序的邏輯程序。按這種方式,可以生成充分地利用操作裝置13的功能的多種執(zhí)行程序,并由此可以實現(xiàn)多種服務(wù)。優(yōu)選的是,由每個操作裝置13的制造商生成API程序。并且優(yōu)選的是,邏輯程序由包括制造商在內(nèi)的大量(數(shù)量不定)的多方生成,并且能夠被上傳至網(wǎng)絡(luò)上的服務(wù)器。在由每個操作裝置13的制造商生成API程序的情況下,API程序可以隨著每個操作裝置13的發(fā)展而同步生成。在邏輯程序由大量(數(shù)量不定)的多方生成的情況下,邏輯程序可以隨著每個操作裝置13的發(fā)展而同步生成。在本實施例中,執(zhí)行程序與操作裝置13分離地提供,并且應(yīng)用服務(wù)器15與操作裝置13之間的合作通過程序執(zhí)行裝置14訪問該應(yīng)用服務(wù)器15和操作裝置13來實現(xiàn)。利用該配置,即使在舊操作裝置13例如因數(shù)據(jù)大小太大而不能直接與發(fā)展了的應(yīng)用服務(wù)器15合作的情況下,程序執(zhí)行裝置14也可以實現(xiàn)新的應(yīng)用服務(wù)器15與舊的操作裝置13之間的合作。所希望的是,每個程序執(zhí)行裝置14是能夠利用應(yīng)用服務(wù)器15的服務(wù)的這種裝置,如蜂窩電話或PC。在本實施例中,設(shè)置了單一應(yīng)用服務(wù)器15、程序存儲服務(wù)器16、程序生成裝置10、以及API存儲部12和多個程序執(zhí)行裝置14和操作裝置13。然而,本實施例的構(gòu)思也可以應(yīng)用至應(yīng)用服務(wù)器15、程序存儲服務(wù)器16、程序生成裝置10,以及API存儲部12中的每一個都被設(shè)置為多個的情況。對利用兩個應(yīng)用服務(wù)器15的情況進(jìn)行描述。例如,程序執(zhí)行裝置14可以運行這樣一執(zhí)行程序,該執(zhí)行程序使得能夠?qū)崿F(xiàn)獲取在Facebook (商標(biāo)名稱)的電子公告板中流行的廣播節(jié)目的服務(wù),該廣播節(jié)目在操作裝置13 (PVR)中被預(yù)定記錄,并且如果將所記錄的廣播節(jié)目再現(xiàn),則將關(guān)于該結(jié)果的信息發(fā)送至Twitter (商標(biāo)名稱)。對利用兩個操作裝置13的情況進(jìn)行描述。在使用作為溫度計和空調(diào)機的兩個操作裝置13的情況下,程序執(zhí)行裝置14可以運行這樣一執(zhí)行程序,該執(zhí)行程序使得能夠?qū)崿F(xiàn)從溫度計獲取溫度并且改變空調(diào)機的設(shè)置溫度以使室溫變?yōu)槟繕?biāo)值的服務(wù)。盡管本實施例涉及利用IP協(xié)議的情況,但其構(gòu)思也可以被應(yīng)用于利用諸如IPv6協(xié)議的其它通信協(xié)議的情況。在本實施例中,網(wǎng)絡(luò)17可以是有線網(wǎng)絡(luò)或者無線網(wǎng)絡(luò)。例如,在本實施例中使用的程序生成裝置10可以通過利用通用計算機作為基本硬件來實現(xiàn)。即,通信處理器101、API程序處理器102、邏輯程序獲取處理器103、執(zhí)行程序生成裝置104、執(zhí)行程序傳輸處理器105、廣告消息處理器106、操作裝置信息保持器107、API存儲部信息保持器108、程序執(zhí)行裝置信息保持器109、以及人機接口處理器110可以通過使該計算機的處理器運行程序來實現(xiàn)。在這種情況下,程序生成裝置10可以通過預(yù)先在該計算機中安裝這些程序,或者在需要時在該計算機中安裝來實現(xiàn),這些程序存儲在諸如⑶-ROM的存儲介質(zhì)中或者通過網(wǎng)絡(luò)17來遞送。操作裝置信息保持器107、API存儲部信息保持器108、以及程序執(zhí)行裝置信息保持器109可以在適當(dāng)時候利用并入或外部地連接至該計算機的存儲介質(zhì)(如存儲器、硬盤驅(qū)動器、⑶-R、⑶-RW、DVD-RAM、或DVD-R)來實現(xiàn)?!葱薷睦到酉聛?,對第一實施例的修改例進(jìn)行描述。圖10是根據(jù)第一實施例的修改例的系統(tǒng)的框圖。根據(jù)第一實施例的修改例的系統(tǒng)與根據(jù)第一實施例的系統(tǒng)的不同之處在于,每個操作裝置13集成有API存儲部12,并且每個程序執(zhí)行裝置14和程序生成裝置10彼此集成。下面,通過集成操作裝置13和API存儲部12而獲取的裝置被稱作操作裝置20。操作裝置20配備有具有API存儲部12的功能的API存儲部20A。并且通過集成程序執(zhí)行裝置14和程序生成裝置10而獲取的裝置被稱作程序執(zhí)行裝置22。該程序執(zhí)行裝置22配備有具有程序生成裝置10的功能的程序生成裝置22B。每個其它裝置具有和第一實施例中所描述的功能相同的功能,并由此將不詳細(xì)描述。
每個操作裝置20的API存儲部20A存儲有要用于訪問操作裝置20的API程序,其與以下事實相反:在第一實施例中,API存儲部12 —起存儲并管理用于多個操作裝置13的API程序。這可能出現(xiàn)操作裝置20存儲要用于訪問操作裝置20本身的多個API程序的情況,因為對于希望通過訪問操作裝置20來實現(xiàn)的相應(yīng)事物來說,多個API程序可能是必需的。接下來,對根據(jù)該修改例的系統(tǒng)怎樣操作進(jìn)行描述。圖11示出了圖10的系統(tǒng)的操作順序。在該修改例中使用的每個程序執(zhí)行裝置22除了具有程序生成裝置10的功能(參見圖5)以外,還具有程序執(zhí)行裝置14的功能,即,由程序執(zhí)行模塊提供的、用于運行由程序生成裝置10生成的執(zhí)行程序的功能。每個程序執(zhí)行裝置22不需要配備有圖5所示的執(zhí)行程序傳輸處理器105。首先,在步驟S201,每個操作裝置20規(guī)律地廣播或多播廣告消息。該廣告消息例如采用IP包的形式來發(fā)送。該廣告消息包含裝置類型、提供商標(biāo)識符、型號標(biāo)識符、單個裝置標(biāo)識符、以及裝置IP地址。裝置類型是用于標(biāo)識操作裝置20的類型(例如,TV接收器或PVR)的標(biāo)識符。提供商標(biāo)識符是用于標(biāo)識操作裝置20的制造商的標(biāo)識符。型號標(biāo)識符是用于標(biāo)識操作裝置20的型號的標(biāo)識符。優(yōu)選的是,型號標(biāo)識符例如是UUID (通用唯一標(biāo)識符)。使用UUID使得可以將不同標(biāo)識符指配給不同制造商的型號。單個裝置標(biāo)識符是用于唯一標(biāo)識操作裝置20的標(biāo)識符。優(yōu)選的是,單個裝置標(biāo)識符例如是UUID。單個裝置標(biāo)識符不需要總是作為使得可以通過其本身無法復(fù)制地標(biāo)識操作裝置20的標(biāo)識符。例如,每一個操作裝置20都可以指配有一無法復(fù)制的值,該值采用其型號標(biāo)識符和單個裝置標(biāo)識符的組合的形式。裝置IP地址是指配給操作裝置20的IP地址。上面,對包含在廣告消息中的信息的種類進(jìn)行了描述。下面,再開始對根據(jù)第一實施例的修改例的系統(tǒng)的操作的描述。在步驟S202,程序執(zhí)行裝置22接收來自操作裝置20的API程序。這樣做,程序執(zhí)行裝置22根據(jù)從操作裝置20發(fā)送的廣告消息識別該操作裝置20的API獲取URL (例如,http://192.168.0.1/api/)并根據(jù)HTTP向該IP地址發(fā)送API程序請求。在步驟S203,程序執(zhí)行裝置22接收來自程序存儲服務(wù)器16的邏輯程序。所希望的是,程序執(zhí)行裝置22預(yù)先保持該程序存儲服務(wù)器16的IP地址。程序執(zhí)行裝置22基于該API程序和邏輯程序生成執(zhí)行程序,并且運行所生成的執(zhí)行程序。在運行該執(zhí)行程序時,程序執(zhí)行裝置22通過網(wǎng)絡(luò)17訪問應(yīng)用服務(wù)器15和操作服務(wù)器20 (步驟S104和S205)。接下來,對每個操作裝置20的配置進(jìn)行描述。圖12是示出每個操作裝置20的配置的框圖。主體處理器207執(zhí)行與操作裝置20的固有操作有關(guān)的處理。例如,在操作裝置20是TV接收器的情況下,這些固有操作是根據(jù)遙控信號、廣播波信號、以及按壓外部按鈕來接收和解調(diào)制TV廣播信號和在屏幕上顯示視頻的操作。通信處理器201根據(jù)預(yù)定通信過程與網(wǎng)絡(luò)17交換數(shù)據(jù)。
廣告消息發(fā)送器202利用預(yù)置信息規(guī)律地發(fā)出廣告消息。在通過API程序存儲部206 (稍后所述)保持多個API程序的情況下,要發(fā)送的API獲取URL被包含在針對相應(yīng)API程序制備的廣告消息中,以使得能夠指定和獲取每個API程序。API程序存儲部206保持API程序。優(yōu)選的是,API程序存儲部206能夠保持多個API程序。API程序更新處理器203經(jīng)由網(wǎng)絡(luò)17執(zhí)行添加新API程序或者刪除或更新存儲在API程序存儲部206中的API程序的處理。當(dāng)通過網(wǎng)絡(luò)17接收到API程序獲取請求時,API程序傳輸處理器204根據(jù)包含在API程序獲取請求中的API獲取URL,從API程序存儲部206中提取所請求的API程序,并通過網(wǎng)絡(luò)17將所提取API程序發(fā)送至請求方。當(dāng)通過網(wǎng)絡(luò)17接收到操作命令時,操作命令處理器205根據(jù)所接收的操作命令向主體處理器207提供控制命令。如果該操作命令請求獲取指示操作狀態(tài)的信息,則操作命令處理器205從主體處理器207提取這種信息,并通過網(wǎng)絡(luò)17將所提取的信息發(fā)送至該操作命令的發(fā)送方。在本修改例中,滿足了操作裝置20向程序執(zhí)行裝置22發(fā)送API程序至多一次的需要。與此相反,具有HTTP服務(wù)器并且由外部Web瀏覽器通過網(wǎng)絡(luò)控制的常規(guī)控制裝置向操作裝置發(fā)送與該Web瀏覽器的用戶操縱相對應(yīng)的控制命令作為HTTP POST或GET數(shù)據(jù)。接收到該控制命令,該操作裝置根據(jù)該控制命令執(zhí)行操作并返回響應(yīng)。該響應(yīng)包含要被用于從該Web瀏覽器發(fā)送下一個控制命令的程序。按這種方式,該操作裝置每當(dāng)其接收到控制命令時就發(fā)送用于控制的程序。根據(jù)該修改例,因為其滿足了發(fā)送API程序至多一次的需要,所以可以縮減網(wǎng)絡(luò)17的負(fù)荷,并且可以縮減每個操作裝置20的通信處理的吞吐量。第一實施例的上述修改例與第一實施例的不同之處在于,操作裝置20和程序執(zhí)行裝置22中的每一個都是通過集成在第一實施例中使用的兩個裝置而獲取的裝置,而且在其它方面具有和第一實施例相同的功能。因此,根據(jù)該修改例的系統(tǒng)可以提供和根據(jù)第一實施例的系統(tǒng)相同的優(yōu)點。接下來,對作為根據(jù)第一實施例的系統(tǒng)的具體示例的第二和第三實施例進(jìn)行描述。〈實施方式2>圖13是根據(jù)第二實施例的系統(tǒng)的框圖。在根據(jù)第二實施例的系統(tǒng)中,程序存儲服務(wù)器16、應(yīng)用服務(wù)器15A和15B、以及電動車輛30經(jīng)由網(wǎng)絡(luò)17彼此連接。電動車輛30配備有智能電話30A、二次電池30B、以及導(dǎo)航裝置30C。二次電池30B和智能電話30A經(jīng)由車內(nèi)網(wǎng)絡(luò)30D (例如,無線LAN、藍(lán)牙、或CAN (汽車區(qū)域網(wǎng)絡(luò)))彼此連接。導(dǎo)航裝置30C和智能電話30A也經(jīng)由車內(nèi)網(wǎng)絡(luò)30D彼此連接。盡管在圖13的示例中,同一車內(nèi)網(wǎng)絡(luò)30D服務(wù)于二次電池30B與智能電話30A之間的連接、以及導(dǎo)航裝置30C與智能電話30A之間的連接,但不同的網(wǎng)絡(luò)可以服務(wù)于這兩種連接。二次電池30B和導(dǎo)航裝置30C中的每一個對應(yīng)于在第一實施例的修改例中使用的操作裝置20。像操作裝置20 —樣,二次電池30B和導(dǎo)航裝置30C中的每一個配備有API程序存儲部206。智能電話30A對應(yīng)于在第一實施例的修改例中使用的程序執(zhí)行裝置22。同樣地,根據(jù)第二實施例的系統(tǒng)具有兩個操作裝置20。智能電話30A可以利用存儲在二次電池30B的API程序存儲部206中的API程序,通過網(wǎng)絡(luò)30D訪問該二次電池30B,每隔預(yù)定短時間(例如,每隔一分鐘)獲取該二次電池30B的充電/放電電平、剩余容量、以及溫度。而且,智能電話30A可以利用存儲在導(dǎo)航裝置30C的API程序存儲部206中的API程序,通過網(wǎng)絡(luò)30D訪問該導(dǎo)航裝置30C,來獲取該電動車輛30的當(dāng)前位置信息和速度信息(包括沿行駛方向的速度信息)。接下來,對根據(jù)第二實施例的系統(tǒng)怎樣操作進(jìn)行描述。圖14是示出根據(jù)第二實施例的系統(tǒng)怎樣操作的順序圖。首先,在步驟S301,二次電池30B規(guī)律地發(fā)出廣告消息。在步驟S302,導(dǎo)航裝置30C規(guī)律地發(fā)出廣告消息。在步驟S303和S304,智能電話30A利用在步驟S301和S302接收到的廣告消息中包含的API獲取URL分別從二次電池30B和導(dǎo)航裝置30C獲取API程序。在步驟S305,智能電話30A從預(yù)置程序存儲部16獲取邏輯程序。智能電話30A基于這樣獲取的邏輯程序以及從二次電池30B和導(dǎo)航裝置30C獲取的API程序來生成執(zhí)行程序,并且運行所生成的執(zhí)行程序。在運行該執(zhí)行程序時,智能電話30A訪問二次電池30B、導(dǎo)航裝置30C、以及應(yīng)用服務(wù)器15A和15B (步驟S306-S309)。更具體地說,智能電話30A通過運行該執(zhí)行程序訪問導(dǎo)航裝置30C (步驟S307)來獲取位置信息和速度信息,并且通過將所獲取的位置信息和速度信息發(fā)送至應(yīng)用服務(wù)器15A,來從應(yīng)用服務(wù)器15A獲取鄰域地圖信息(步驟S308)。假定應(yīng)用服務(wù)器15A進(jìn)行提供鄰域地圖信息的服務(wù)。智能電話30A通過運行執(zhí)行程序來從二次電池30B獲取充電/放電電平、剩余容量、以及溫度(步驟S306),并且通過發(fā)送這樣獲取的充電/放電電平、剩余容量、以及溫度和在步驟S307獲取的速度信息,來從應(yīng)用服務(wù)器15B獲取可能的行駛距離(步驟S309)。假定應(yīng)用服務(wù)器15B進(jìn)行計算電動車輛的可能行駛距離的服務(wù)。智能電話30A通過運行執(zhí)行程序,基于鄰域地圖信息和可能的行駛距離在其屏幕31A上顯示可能的行駛范圍31C。圖15示出了由智能電話30A在其屏幕31A上顯示的示例的可能行駛范圍31C。圖15的地圖不是以當(dāng)前位置31B為中心的地圖,而是因電動車輛30C向右行駛而更寬泛地顯示位于當(dāng)前位置31B右側(cè)的區(qū)域。而且,被虛線(實際上為紅線)包圍的可能行駛范圍31C在右側(cè)比左側(cè)更窄,因為顯示在右側(cè)的道路更擁擠。在上述示例中,當(dāng)多個電動車輛30向應(yīng)用服務(wù)器15B發(fā)送它們的位置時,該應(yīng)用服務(wù)器15B可以計算考慮了道路擁擠狀況的可能行駛距離。一般來說,難于正確地確定二次電池30B的剩余容量。然而,因為可能行駛距離在應(yīng)用服務(wù)器側(cè)被計算,所以可以收集真實數(shù)據(jù),基于所收集的數(shù)據(jù)來改進(jìn)計算算法,并引入新算法。通過向智能電話30A發(fā)送改進(jìn)的或最近引入的計算算法作為邏輯程序,智能電話30A可以執(zhí)行不能利用在設(shè)計電動車輛30時的計算能力執(zhí)行的復(fù)雜計算算法。因為智能電話30A始終不需要與應(yīng)用服務(wù)器15A和15B通信,所以獲得了縮減智能電話30A的功耗的優(yōu)點。
〈實施方式3>圖16是根據(jù)第三實施例的系統(tǒng)的框圖。在根據(jù)第三實施方式的系統(tǒng)中,程序存儲服務(wù)器16、兩個應(yīng)用服務(wù)器15A和15B、能量管理服務(wù)器41、以及建筑物40A和40B經(jīng)由網(wǎng)絡(luò)17彼此連接。建筑物40A配備有經(jīng)由網(wǎng)絡(luò)403A彼此連接的功率表401A和蓄熱器402A。建筑物40B配備有經(jīng)由網(wǎng)絡(luò)403B彼此連接的功率表40IB和蓄熱器402B。能量管理服務(wù)器41A對應(yīng)于在第一實施例的修改例中使用的程序執(zhí)行裝置22。蓄熱器402A和402B中的每一個對應(yīng)于在第一實施例的修改例中使用的操作裝置20。功率表401A測量建筑物40A的功耗,并將測量結(jié)果發(fā)送至應(yīng)用服務(wù)器15A。有關(guān)功率表401A應(yīng)當(dāng)怎樣密集地測量功耗,各種級別都是可以想到的;其可以測量建筑物40A中的每層、每房間,或每插座的功耗。功率表401B具有和功率表401A相同的功能。蓄熱器402A配備有諸如熱泵的發(fā)熱單元(或吸熱單元)、和用于通過水箱來累積高溫?zé)峄虻蜏責(zé)岬臒崂鄯e單元。該熱累積單元可以采用冰而非涼水的形式來累積低溫?zé)帷P顭崞?02A在電費(或燃?xì)赓M)較低時的時隙(例如,深夜)累積利用電力驅(qū)動熱泵而獲取的熱。所累積的熱在電費較高時的時隙被用于熱水供應(yīng)、空調(diào)、地暖、以及其它目的,由此,用戶可以享受電費縮減,并且電力公司可以獲得峰值電力縮減的益處。所累積的熱被耗散至環(huán)境。因此,重要的是,估算直到下一次熱累積定時(一般來說,下一個深夜)所必需的最小熱量,并且累積該熱量。蓄熱器402B具有和蓄熱器402A相同的功能。能量管理服務(wù)器41估算要累積的必需熱量,并且向蓄熱器402A通知估算值。應(yīng)用服務(wù)器15B例如是氣象廳(Meteorological Agency)的一個站點,并且提供從今天至下一天的天氣預(yù)報信息。接下來,對根據(jù)第三實施例的系統(tǒng)怎樣操作進(jìn)行描述。圖17是示出根據(jù)第三實施例的系統(tǒng)怎樣操作的順序圖。首先,在步驟S401和S402,功率表401A和401B規(guī)律地向應(yīng)用服務(wù)器15A通知在預(yù)定時段(例如,一分鐘)中已經(jīng)消耗的相應(yīng)能耗。該能耗測量時段和能耗報告間隔不需要彼此一致。所希望的是,報告的能耗伴隨有能耗時間信息。該時間信息在其中能耗測量時段和能耗報告間隔相同的情況下可以省略。在步驟S403和S404,能量管理服務(wù)器41分別從蓄熱器402A和402B獲取它們自身的API程序。盡管在圖17中省略了,但蓄熱器402A和402B向能量管理服務(wù)器41的地址發(fā)送廣告消息,由此能量管理服務(wù)器41可以從蓄熱器402A和402B獲取API程序。API程序的獲取源不需要總是為蓄熱器402A和402B,而可以是如第一實施例中的其它裝置。在步驟S405和S409,能量管理服務(wù)器41獲取來自程序存儲服務(wù)器16的邏輯程序。優(yōu)選的是,蓄熱器402A和402B的用戶能夠預(yù)先選擇相應(yīng)的邏輯程序。例如,蓄熱器402A和402B中的每一個的用戶根據(jù)使用蓄熱器402A或402B的人數(shù)和家庭結(jié)構(gòu)(例如,有三個女人)來選擇邏輯程序。該用戶例如利用Web瀏覽器來選擇邏輯程序。能量管理服務(wù)器41基于該邏輯程序和API程序來生成執(zhí)行程序,并且運行所生成的執(zhí)行程序。在本實施例中,在蓄熱器402A和402B的用戶彼此不同的情況下,所希望的是,能量管理服務(wù)器41針對相應(yīng)的蓄熱器402A和402B運行不同的執(zhí)行程序。通過運行執(zhí)行程序,能量管理服務(wù)器41分別在步驟S406和S410從應(yīng)用服務(wù)器15B獲取多條天氣信息,并且分別在步驟S407和S411,利用所獲取的多條天氣信息來控制蓄熱器402A和402B的熱累積量。而且,應(yīng)用服務(wù)器15A例如按每個用戶的規(guī)定時段(例如,一個小時)來提供一個月的能耗數(shù)據(jù)。每個用戶可以利用Web瀏覽器來訪問一個月的數(shù)據(jù)。因為應(yīng)用服務(wù)器15A具有這種功能,所以作為在Facebook (商標(biāo)名稱)上的朋友的用戶例如可以共享他們的能耗數(shù)據(jù),并由此共享節(jié)能的訣竅或所使用的邏輯程序的信息。每個這種用戶可以重新選擇有利的邏輯程序(典型地講,在房子的大小和隔熱性能、房子中使用的家電、或生活方式方面,與該用戶相似的朋友當(dāng)中能耗最低的朋友所使用的邏輯程序)。接下來,對由能量管理服務(wù)器41運行的執(zhí)行程序的示例算法進(jìn)行描述。圖18是由能量管理服務(wù)器41運行的執(zhí)行程序的示例熱累積控制算法的流程圖。首先,在步驟S501,執(zhí)行程序獲取在深夜功率時段(例如,ΑΜ0:00至AM 5:00)之前,用戶的房子所在地區(qū)的下一天的天氣預(yù)報信息。在該示例中,獲取溫度作為天氣預(yù)報信息。天氣預(yù)報信息不限于溫度。例如,在用戶正在使用光伏發(fā)電機或風(fēng)力發(fā)電機的情況下,采用日照量或風(fēng)量作為天氣預(yù)報信息,以考慮要通過其生成的能量的量。在步驟S502,執(zhí)行程序預(yù)測下一天要消耗的熱量。執(zhí)行程序保持用戶的熱使用歷史數(shù)據(jù)(日期、溫度、以及所使用熱的量),并且通過從歷史數(shù)據(jù)提取其溫度與下一天的溫度相對應(yīng)的數(shù)據(jù)中的所使用的熱量,并將提取的所使用的熱量進(jìn)行平均,來預(yù)測下一天要消耗的熱量。要用于平均的數(shù)據(jù)的溫度不需要總是完全等于下一天的溫度,而是可以處于后者的規(guī)定值內(nèi)。將提取的所使用的熱量進(jìn)行平均不需要總是簡單地平均;可以使用各種平均方法,如將更大的權(quán)重賦予更近的數(shù)據(jù)的加權(quán)平均。熱使用歷史數(shù)據(jù)可以是這樣的數(shù)據(jù),即,針對比一天更短的每個時段(例如,每小時)記錄的數(shù)據(jù)。在步驟S503,執(zhí)行程序指令蓄熱器402A或402B累積等于在步驟S502預(yù)測的熱量的熱量。在步驟S504,執(zhí)行程序規(guī)律地從蓄熱器402A或402B獲取熱量信息,并且將所獲取的信息加入熱使用歷史數(shù)據(jù)。這里,完成了對執(zhí)行程序的示例算法的描述。如上所述,適于用戶所使用的裝置及其使用條件的能量控制通過使能量管理服務(wù)器41運行由該用戶選擇的邏輯程序來實現(xiàn)。允許用戶通過與諸如Facebook (商標(biāo)名稱)的社會網(wǎng)絡(luò)或電子公告板服務(wù)合作來選擇最佳邏輯程序。上述實施例可以提供一種生成程序的程序生成器,該程序使得可以根據(jù)裝置功能在利用該裝置功能的網(wǎng)絡(luò)上提供服務(wù),而不管該裝置的標(biāo)準(zhǔn)通信協(xié)議是否被更新過。雖然已經(jīng)對特定實施例進(jìn)行了描述,但這些實施例僅僅通過示例的方式來呈遞,而非旨在對本發(fā)明的范圍進(jìn)行限制,實際上,在此描述的新穎方法和系統(tǒng)可以按多種其它形式來具體實施。而且,可以在不脫離本發(fā)明的精神的情況下,按在此描述的方法和系統(tǒng)的形式進(jìn)行各種省略、替代以及改變。所附權(quán)利要求書及其等同物旨在覆蓋落入本發(fā)明的范圍和精神內(nèi)的這種形式或修改。
權(quán)利要求
1.一種程序生成裝置,包括: 生成器,被配置成基于第二程序和第三程序生成第一程序, 其中,第二程序包括通過網(wǎng)絡(luò)與操作裝置進(jìn)行通信的過程, 其中,第三程序包括允許第一服務(wù)與操作裝置的功能彼此合作的過程,并且其中,第一程序包括實現(xiàn)其中第一服務(wù)和操作裝置的功能通過網(wǎng)絡(luò)彼此合作的合作服務(wù)的過程。
2.根據(jù)權(quán)利要求1所述的程序生成裝置,還包括: 發(fā)送器,被配置成通過網(wǎng)絡(luò)將第一程序發(fā)送至程序執(zhí)行裝置,該程序執(zhí)行裝置利用第一程序?qū)崿F(xiàn)該合作服務(wù)。
3.根據(jù)權(quán)利要求1所述的程序生成裝置,還包括: 執(zhí)行模塊,被配置成利用第一程序?qū)崿F(xiàn)該合作服務(wù)。
4.根據(jù)權(quán)利要求1所述的程序生成裝置,還包括: 第一獲取模塊,被配置成通過網(wǎng)絡(luò)獲取第二程序。
5.根據(jù)權(quán)利要求1所述的程序生成裝置,還包括: 第二獲取模塊,被配置成通過網(wǎng)絡(luò)獲取第三程序。
6.根據(jù)權(quán)利要求4所述的程序生成裝置,其中,第二程序存儲在操作裝置中,并且獲取模塊被配置成從操作裝置獲取第二程序。
7.根據(jù)權(quán)利要求1所述的程序生成裝置,還包括: 第二獲取模塊,被配置成選擇并獲取能夠?qū)崿F(xiàn)合作服務(wù)的程序作為第三程序。
8.根據(jù)權(quán)利要求1所述的程序生成裝置,還包括: 人機接口處理器,被配置成在屏幕上顯示多個第一程序,以使得可以從屏幕中選擇多個第一程序中的、包括希望的合作服務(wù)的一個第一程序。
9.根據(jù)權(quán)利要求3所述的程序生成裝置,其中: 所述程序生成裝置通過網(wǎng)絡(luò)連接至提供第一服務(wù)的應(yīng)用服務(wù)器; 執(zhí)行模塊與應(yīng)用服務(wù)器通信,以實現(xiàn)合作服務(wù)。
10.根據(jù)權(quán)利要求9所述的程序生成裝置,其中,執(zhí)行模塊是Web瀏覽器,該Web瀏覽器被配置成通過從應(yīng)用服務(wù)器接收HTML數(shù)據(jù)來顯示信息。
11.一種程序生成方法,包括: 基于第二程序和第三程序生成第一程序, 其中,第二程序包括通過網(wǎng)絡(luò)與操作裝置進(jìn)行通信的過程, 其中,第三程序包括允許第一服務(wù)與操作裝置彼此合作的過程,并且其中,第一程序包括實現(xiàn)其中第一服務(wù)和操作裝置的功能通過網(wǎng)絡(luò)彼此合作的合作服務(wù)的過程。
12.—種存儲有程序的非暫時計算機可讀介質(zhì),該程序用于使計算機基于第二程序和第三程序來生成第一程序, 其中,第二程序包括通過網(wǎng)絡(luò)與操作裝置進(jìn)行通信的過程, 其中,第三程序包括允許第一服務(wù)與操作裝置彼此合作的過程,并且其中,第一程序包括實現(xiàn)其中第一服務(wù)和操作裝置的功能通過網(wǎng)絡(luò)彼此合作的合作服務(wù)的過程。
13.根據(jù)權(quán)利要求1所述的程序生成裝置,其中,第二程序是應(yīng)用程序接口(API)程序,而第三程序是邏輯 程序。
全文摘要
本發(fā)明涉及程序生成裝置、程序生成方法、以及計算機可讀介質(zhì)。在一個實施例中,提供了一種程序生成裝置。該裝置包括生成器,該生成器被配置成基于第二程序和第三程序生成第一程序。第二程序包括通過網(wǎng)絡(luò)與操作裝置進(jìn)行通信的過程。第三程序包括允許第一服務(wù)與操作裝置的功能彼此合作的過程。第一程序包括實現(xiàn)其中第一服務(wù)和操作裝置的功能通過網(wǎng)絡(luò)彼此合作的合作服務(wù)的過程。
文檔編號G06F9/44GK103116487SQ201210269328
公開日2013年5月22日 申請日期2012年7月31日 優(yōu)先權(quán)日2011年9月28日
發(fā)明者伊瀨恒太郎, 安次富大介 申請人:株式會社東芝