通信裝置制造方法
【專利摘要】一種通信裝置,其能夠依照多個通信標準進行通信,具有:保存部,其構(gòu)成為保存多個虛擬棧,所述多個虛擬棧分別是將用于實現(xiàn)所述通信裝置的功能的應用程序、與用于實現(xiàn)為了使所述應用程序進行通信的協(xié)議棧的通信程序相關(guān)聯(lián)而成的棧;執(zhí)行部,其構(gòu)成為執(zhí)行所述虛擬棧;以及切換控制部,其構(gòu)成為在從所述保存部讀出所述虛擬棧的至少一者的至少一部分而存儲至所述執(zhí)行部的存儲器中并執(zhí)行的第1處理后,進行根據(jù)所述存儲器的空閑容量,從所述存儲器刪除在所述第1處理中執(zhí)行的所述虛擬棧的至少一者的至少一部分的處理,進行從所述保存部讀出所述虛擬棧的至少一者的至少一部分而存儲至所述執(zhí)行部的存儲器中并執(zhí)行的第2處理,從而對在所述執(zhí)行部中執(zhí)行的虛擬棧進行切換。
【專利說明】通信裝置
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及一種通信裝置。
[0002]本申請基于在2012年5月30日向日本申請的日本特愿2012-123139主張優(yōu)先權(quán),并在此援引其內(nèi)容。
【背景技術(shù)】
[0003]當前,在車間或工廠等中,為了實現(xiàn)高級的自動操作,構(gòu)建出將被稱為現(xiàn)場儀器的測定器、操作器等現(xiàn)場設(shè)備、和對這些現(xiàn)場設(shè)備進行控制的控制裝置經(jīng)由通信單元連接而成的分散控制系統(tǒng)(DCS distributed Control System)。成為如上所述的分散控制系統(tǒng)的基礎(chǔ)的通信系統(tǒng),幾乎都是通過有線進行通信的結(jié)構(gòu),但近年來還實現(xiàn)了依照ISA100.11a、WirelessHART (注冊商標)等工業(yè)用無線通信標準進行無線通信的結(jié)構(gòu)。
[0004]上述ISA100 是由國際測量控制學會(ISA:1nternat1nal Society ofAutomat1n)制定出的在車間等的測量?控制等中使用的無線通信標準。與此相對,上述WirelessHART (注冊商標)是美國的 HART (Highway Addressable Remote Transducer)通信協(xié)會提倡,以傳感器網(wǎng)絡(使多個帶傳感器的無線終端分散在空間中,能夠?qū)λ鼈冞M行協(xié)調(diào)從而采集環(huán)境、物理狀況的無線網(wǎng)絡)作為基礎(chǔ)的無線通信標準。
[0005]在以下的專利文獻I中公開有將依照近距離.低消耗電力的無線通信標準即ZigBee(注冊商標)的無線傳感器網(wǎng)絡,與使用互聯(lián)網(wǎng)協(xié)議(IP:1nternet Protocol)技術(shù)而彼此相連接的計算機網(wǎng)絡即IP網(wǎng)絡彼此連接的技術(shù)。具體而言,在以下的專利文獻I中,通過設(shè)置下述的網(wǎng)關(guān),從而將這些網(wǎng)絡彼此連接,其中,該網(wǎng)關(guān)具有:經(jīng)由依照Zigbee的無線傳感器網(wǎng)絡實現(xiàn)通信的協(xié)議棧;以及經(jīng)由IP網(wǎng)絡實現(xiàn)通信的協(xié)議棧。
[0006]專利文獻1:日本特許第4897884號公報
【發(fā)明內(nèi)容】
[0007]與上述IP網(wǎng)絡連接的計算機大多是具有處理能力高的CPU(中央處理裝置)、大容量的存儲器等的結(jié)構(gòu)。如上所述的計算機預先嵌入有多個應用程序以及用于實現(xiàn)多個通信協(xié)議的程序,能夠使多個應用并行動作,并且能夠針對每個應用切換所使用的通信協(xié)議。
[0008]與此相對,上述的現(xiàn)場儀器、在上述的傳感器網(wǎng)絡中所使用的儀器,由于需要進行省電動作,因此大多構(gòu)成必要最小限度的硬件結(jié)構(gòu)。具體而言,大多采用下述結(jié)構(gòu),即,具有:CPU,其具有能夠使特定的應用動作,并且能夠?qū)崿F(xiàn)利用特定的通信協(xié)議而進行通信的處理能力;以及存儲器,其具有能夠執(zhí)行用于實現(xiàn)這些應用以及通信協(xié)議的程序的容量。
[0009]如上所述,由于需要進行省電動作的設(shè)備的硬件結(jié)構(gòu)采用必要最小限度,因此難以通過I個儀器同時實現(xiàn)多個功能。假設(shè)如果試圖使用需要進行省電動作的設(shè)備實現(xiàn)多個功能,則需要與試圖實現(xiàn)的功能數(shù)量相對應地準備嵌入有用于實現(xiàn)每個功能的應用以及用于實現(xiàn)通信協(xié)議的程序的儀器,成本會上升。
[0010]本發(fā)明的一個方式提供一種通信裝置,其雖然進行省電動作,但仍能夠?qū)崿F(xiàn)依照不同的通信標準進行通信的多個功能。
[0011]本發(fā)明的一個方式的通信裝置能夠依照多個通信標準進行通信,其具有:保存部,其構(gòu)成為對多個虛擬棧進行保存,所述多個虛擬棧分別是將用于實現(xiàn)所述通信裝置的功能的應用程序、與用于實現(xiàn)為了使所述應用程序進行通信的協(xié)議棧的通信程序相關(guān)聯(lián)而成的棧;執(zhí)行部,其構(gòu)成為執(zhí)行所述虛擬棧;以及切換控制部,其構(gòu)成為在從所述保存部讀出所述虛擬棧的至少一者的至少一部分而存儲至所述執(zhí)行部的存儲器中并執(zhí)行的第I處理后,進行根據(jù)所述存儲器的空閑容量,從所述存儲器刪除在所述第I處理中執(zhí)行的所述虛擬棧的至少一者的至少一部分的處理,并進行從所述保存部讀出所述虛擬棧的至少一者的至少一部分而存儲至所述執(zhí)行部的存儲器中并執(zhí)行的第2處理,從而對在所述執(zhí)行部中執(zhí)行的虛擬棧進行切換。
[0012]此外,在本發(fā)明的一個方式的通信裝置中,所述虛擬棧分別包含在所述應用程序以及所述通信程序中的至少一者中使用的參數(shù)。
[0013]此外,本發(fā)明的一個方式的通信裝置還具有切換表,該切換表預先規(guī)定表示作為切換對象的虛擬棧的信息,所述切換控制部構(gòu)成為,如果在所述通信裝置的外部或內(nèi)部產(chǎn)生的事件被輸入,則通過基于所述事件而參照所述切換表,從而進行所述虛擬棧的切換。
[0014]此外,本發(fā)明的一個方式的通信裝置還具有定時器,所述切換控制部構(gòu)成為,基于利用所述定時器測量出的時間,而進行所述虛擬棧的切換。
[0015]此外,本發(fā)明的一個方式的通信裝置還具有切換規(guī)則,該切換規(guī)則預先規(guī)定需要進行切換的規(guī)則,所述切換控制部構(gòu)成為,通過對所述通信裝置的狀況進行識別并參照所述切換規(guī)則,從而進行所述虛擬棧的切換。
[0016]此外,本發(fā)明的一個方式的通信裝置在所述切換規(guī)則中規(guī)定了以下情形,S卩,所述通信裝置成為發(fā)生通信故障的狀況、在所述通信裝置中所設(shè)置的電池的剩余電量成為小于或等于一定量的狀況、或者所述通信裝置成為被啟動或重新啟動的狀況,所述切換控制部構(gòu)成為,在所述通信裝置檢測到成為在所述切換規(guī)則中所規(guī)定的狀況的情況下,進行所述虛擬棧的切換。
[0017]此外,在本發(fā)明的一個方式的通信裝置中,所述執(zhí)行部具有信息保持區(qū)域,該信息保持區(qū)域?qū)υ谒龅贗處理中執(zhí)行的虛擬棧和在所述第2處理中執(zhí)行的虛擬棧之間傳遞的信息進行保持。
[0018]此外,在本發(fā)明的一個方式的通信裝置中,在所述第I處理中執(zhí)行的虛擬棧被分割為第I部分和第2部分,其中,該第I部分包含經(jīng)由所述協(xié)議棧進行數(shù)據(jù)的發(fā)送/接收的程序,該第2部分至少包含用于實現(xiàn)數(shù)據(jù)的前處理或后處理的程序,所述切換控制部構(gòu)成為進行所述第I以及第2部分的切換,并在所述執(zhí)行部中依次執(zhí)行所述第I以及第2部分。
[0019]此外,本發(fā)明的一個方式的通信裝置還具有多個通信接口部,所述多個虛擬棧分別包含確定信息,該確定信息用于確定所述多個通信接口部中的用于進行通信的通信接口部。
[0020]此外,在本發(fā)明的一個方式的通信裝置中,所述切換控制部構(gòu)成為,在進行所述第I處理之后,在確認在所述存儲器中不存在能夠存儲未存儲至所述執(zhí)行部的存儲器中、且在所述第2處理中執(zhí)行的虛擬棧的至少一部分的空閑容量的情況下,進行所述刪除處理。
[0021]此外,在本發(fā)明的一個方式的通信裝置中,所述切換控制部構(gòu)成為,在進行所述第I處理之后,在確認在所述存儲器中存在能夠存儲未存儲至所述執(zhí)行部的存儲器中、且在所述第2處理中執(zhí)行的虛擬棧的至少一部分的空閑容量的情況下,不進行所述刪除處理。
[0022]此外,本發(fā)明的一個方式的棧的執(zhí)行控制方法是能夠依照多個通信標準進行通信的通信裝置中的棧的執(zhí)行控制方法,所述方法包含以下步驟:進行將多個虛擬棧的至少一者的至少一部分存儲至所述通信裝置的執(zhí)行部的存儲器中,并在所述執(zhí)行部中執(zhí)行的第I處理的步驟;在進行所述第I處理之后,對在所述執(zhí)行部中執(zhí)行的虛擬棧的切換條件進行判斷的步驟;在判斷為所述切換條件成立的情況下,進行根據(jù)進行與所述存儲器的空閑容量,相對應而從所述存儲器刪除在所述第I處理中執(zhí)行的所述虛擬棧的至少一者的至少一部分的處理的步驟;在進行根據(jù)與所述存儲器的空閑容量相對應而,從所述存儲器刪除在所述第I處理中執(zhí)行的所述虛擬棧的至少一者的至少一部分的處理之后,進行將所述虛擬棧的至少一者的至少一部分存儲至所述執(zhí)行部的存儲器中,并在所述執(zhí)行部中執(zhí)行的第2處理的步驟,并且所述多個虛擬棧的每一個分別包含用于實現(xiàn)所述通信裝置的功能的應用程序、以及用于實現(xiàn)為了使所述應用程序進行通信的協(xié)議棧的通信程序,其中,該協(xié)議棧用于使所述應用程序進行通信。
[0023]此外,在本發(fā)明的一個方式的棧的執(zhí)行控制方法中,對在所述執(zhí)行部中執(zhí)行的虛擬棧的切換條件進行判斷的步驟,通過基于在所述通信裝置的外部或內(nèi)部產(chǎn)生的事件而參照預先規(guī)定的切換信息,從而判斷所述切換條件。
[0024]此外,在本發(fā)明的一個方式的棧的執(zhí)行控制方法中,對在所述執(zhí)行部中執(zhí)行的虛擬棧的切換條件進行判斷的步驟,基于時刻或所述虛擬棧的執(zhí)行時間,判斷所述切換條件。
[0025]此外,在本發(fā)明的一個方式的棧的執(zhí)行控制方法中,對在所述執(zhí)行部中執(zhí)行的虛擬棧的切換條件進行判斷的步驟,通過基于所述通信裝置的狀況而參照預先規(guī)定的切換規(guī)貝U,從而判斷所述切換條件。
[0026]此外,本發(fā)明的一個方式的棧的執(zhí)行控制方法在所述切換規(guī)則中規(guī)定出了對以下情況情形進行規(guī)定,即,所述通信裝置成為發(fā)生通信故障的狀態(tài)狀況、在所述通信裝置中所設(shè)置設(shè)有的電池的剩余電量成為小于或等于一定量的狀況狀態(tài)、或者所述通信裝置成為被啟動或重新啟動的狀態(tài)狀況,對在所述執(zhí)行部中執(zhí)行的虛擬棧的切換條件進行判斷的步驟,在所述通信裝置檢測到成為在所述切換規(guī)則中所規(guī)定的狀況的情況下,判斷為所述虛擬棧的切換條件成立。
[0027]此外,在本發(fā)明的一個方式的棧的執(zhí)行控制方法中,進行與根據(jù)所述存儲器的空閑容量,相對應而從所述存儲器刪除在所述第I處理中執(zhí)行的所述虛擬棧的至少一者的至少一部分的處理的步驟,在確認到在所述存儲器中沒有不存在能夠存儲:未存儲至所述執(zhí)行部的存儲器中、且,并且在所述第2處理中執(zhí)行的所述虛擬棧的至少一者的至少一部分的空閑容量的情況下,進行所述刪除的處理刪除處理。
[0028]此外,在本發(fā)明的一個方式的棧的執(zhí)行控制方法中,進行根據(jù)所述存儲器的空閑容量,從所述存儲器刪除在所述第I處理中執(zhí)行的所述虛擬棧的至少一者的至少一部分的處理的步驟,在確認到在所述存儲器中存在能夠存儲未存儲至所述執(zhí)行部的存儲器中、且在所述第2處理中執(zhí)行的所述虛擬棧的至少一者的至少一部分的空閑容量的情況下,不進行所述刪除處理。
[0029]發(fā)明的效果
[0030]根據(jù)本發(fā)明的一個方式,由于在切換控制部的控制之下在執(zhí)行部中執(zhí)行第I虛擬棧和第2虛擬棧中的某一方,因此,雖然進行省電動作,但能夠?qū)崿F(xiàn)依照不同的通信標準進行通信的多個功能,其中,第I虛擬棧是將第I應用程序和用于實現(xiàn)第I協(xié)議棧的第I通信程序相關(guān)聯(lián)而成的,第2虛擬棧是將第2應用程序和用于實現(xiàn)第2協(xié)議棧的第2通信程序相關(guān)聯(lián)而成的。
【專利附圖】
【附圖說明】
[0031]圖1是表示本發(fā)明的第I實施方式涉及的通信裝置的要部結(jié)構(gòu)的框圖。
[0032]圖2是表示本發(fā)明的第I實施方式中的虛擬棧的一個例子的圖。
[0033]圖3A是用于說明本發(fā)明的第I實施方式中的虛擬棧的切換條件的圖。
[0034]圖3B是用于說明本發(fā)明的第I實施方式中的虛擬棧的切換條件的圖。
[0035]圖3C是用于說明本發(fā)明的第I實施方式中的虛擬棧的切換條件的圖。
[0036]圖4是表示本發(fā)明的第I實施方式涉及的通信裝置的動作的流程圖。
[0037]圖5是表示本發(fā)明的第2實施方式涉及的通信裝置的要部結(jié)構(gòu)的框圖。
[0038]圖6是表示本發(fā)明的第2實施方式的應用例涉及的通信裝置的要部結(jié)構(gòu)的框圖。
[0039]圖7是表示本發(fā)明的第2實施方式的應用例中的虛擬棧的一個例子的圖。
[0040]圖8是表示本發(fā)明的第2實施方式的應用例涉及的通信裝置的接收動作的流程圖。
[0041]圖9是表示本發(fā)明的第2實施方式的應用例涉及的通信裝置的發(fā)送動作的流程圖。
[0042]圖10是表示本發(fā)明的第3實施方式涉及的通信裝置的要部結(jié)構(gòu)的框圖。
[0043]圖11是表示虛擬棧的其它例子的圖。
[0044]圖12是表示本發(fā)明的第3實施方式涉及的通信裝置的動作的流程圖。
【具體實施方式】
[0045]以下,參照附圖對本發(fā)明的一個實施方式涉及的通信裝置進行詳細的說明。
[0046]〔第I實施方式〕
[0047]圖1是表示本發(fā)明的第I實施方式涉及的通信裝置的要部結(jié)構(gòu)的框圖。如圖1所示,該第I實施方式的通信裝置I具有:虛擬棧保存部11 (保存部)、虛擬棧執(zhí)行部12 (執(zhí)行部)、切換控制部13、以及無線通信接口部14,該通信裝置I能夠依照多個無線通信標準進行通信。例如,通信裝置I是進行省電動作,并且能夠依照工業(yè)用無線通信標準即ISA100.1la進行無線通信、以及依照WirelessHART(注冊商標)進行無線通信的現(xiàn)場儀器。
[0048]虛擬棧保存部11 例如利用閃存 ROM (Read Only Memory)、EEPROM (Electrical IyErasable and Programmable ROM)等非易失性存儲器實現(xiàn),對在通信裝置I中使用的虛擬棧VSl (第I虛擬棧)以及虛擬棧VS2 (第2虛擬棧)進行保存。虛擬棧VSl以及VS2是與通信裝置I的硬件結(jié)構(gòu)相對應,將用于實現(xiàn)通信裝置I的功能的應用程序、和用于實現(xiàn)為了使應用程序進行通信所必需的協(xié)議棧的通信程序相關(guān)聯(lián)而成的結(jié)構(gòu)。
[0049]圖2是表示本發(fā)明的第I實施方式中的虛擬棧的一個例子的圖。如圖2所示,虛擬棧VSl包含將應用程序APl (第I應用程序)和通信程序Pll?P13 (第I通信程序)相關(guān)聯(lián)而成的結(jié)構(gòu)、以及參數(shù)PM1。應用程序API是用于實現(xiàn)通信裝置I的功能(例如,流量測定功能、溫度測定功能、其它功能)的程序。
[0050]通信程序Pll?P13是用于實現(xiàn)依照上述的無線通信標準ISA100.1la的協(xié)議棧STl (第I協(xié)議棧)的程序。具體而言,通信程序Pll實現(xiàn)協(xié)議棧STl的數(shù)據(jù)鏈路層,通信程序P12實現(xiàn)協(xié)議棧STl的網(wǎng)絡層,通信程序P13實現(xiàn)協(xié)議棧STl的傳輸層。
[0051]更具體而言,通信程序Pll實現(xiàn)由無線通信標準IEEE802.15.4規(guī)定的數(shù)據(jù)鏈路層。通信程序P12實現(xiàn)由互聯(lián)網(wǎng)協(xié)議的一種即IPv6規(guī)定的網(wǎng)絡層。通信程序P13實現(xiàn)由互聯(lián)網(wǎng)協(xié)議規(guī)定的UDP(User Datagram Protocol:用戶數(shù)據(jù)報協(xié)議)而作為傳輸層。
[0052]參數(shù)PMl是在應用程序APl以及通信程序Pll?P13中的某一方中使用的參數(shù)。在該參數(shù)PMl中,作為在應用程序APl中所使用的參數(shù),例如包含在加密處理中使用的密鑰信息、表示加密算法的信息、表示測定出的流量、溫度等的單位的信息等。此外,作為在通信程序Pll?P13中使用的參數(shù),包含表示數(shù)據(jù)的發(fā)送目標、發(fā)送源的信息、以及用于識別通信網(wǎng)絡的信息(子網(wǎng)ID)等。
[0053]與此相對,虛擬棧VS2包含將應用程序AP2 (第2應用程序)和通信程序P21?P23(第2通信程序)相關(guān)聯(lián)而成的結(jié)構(gòu)、以及參數(shù)PM2。應用程序AP2與應用程序APl同樣地,是用于實現(xiàn)通信裝置I的功能的程序。另外,利用應用程序AP2實現(xiàn)的功能可以與利用應用程序APl實現(xiàn)的功能相同,也可以不同。
[0054]通信程序P21?P23是用于實現(xiàn)依照上述的無線通信標準WirelessHART (注冊商標)的協(xié)議棧ST2 (第2協(xié)議棧)的程序。具體而言,通信程序P21實現(xiàn)協(xié)議棧ST2的數(shù)據(jù)鏈路層,通信程序P22實現(xiàn)協(xié)議棧ST2的網(wǎng)絡層,通信程序P23實現(xiàn)協(xié)議棧ST2的傳輸層。
[0055]參數(shù)PM2是在應用程序AP2以及通信程序P21?P23中的某一方中使用的參數(shù)。在該參數(shù)PM2中,與參數(shù)PMl同樣地,作為在應用程序AP2中使用的參數(shù),例如包含在加密處理中所使用的密鑰信息、表示加密算法的信息、表示測定出的流量、溫度等的單位的信息等,作為在通信程序P21?P23中使用的參數(shù),包含表示數(shù)據(jù)的發(fā)送目標、發(fā)送源的信息、以及用于識別通信網(wǎng)絡的信息(子網(wǎng)ID)等。
[0056]另外,在本第I實施方式中,為了簡化說明,以在虛擬棧保存部11中保存2個虛擬棧VSl以及VS2的情況為例進行說明。但是,在虛擬棧保存部11中,只要被虛擬棧保存部11的容量所容許,則能夠保存任意數(shù)量的虛擬棧。
[0057]虛擬棧執(zhí)行部12依次執(zhí)行在虛擬棧保存部11中所保存的虛擬棧VSl以及VS2。該虛擬棧執(zhí)行部12利用CPU(中央處理裝置)以及RAM (Random Access Memory)等易失性的存儲器實現(xiàn),將利用切換控制部13的控制而從虛擬棧保存部11讀出的虛擬棧存儲至易失性存儲器中并執(zhí)行。另外,構(gòu)成虛擬棧執(zhí)行部12的一部分的易失性存儲器的容量設(shè)定為能夠使虛擬棧VSl以及VS2執(zhí)行的容量。此外,在圖1中,為了容易理解,將讀出至虛擬棧執(zhí)行部12的虛擬棧表現(xiàn)為虛線的虛擬棧VSO。
[0058]切換控制部13進行在虛擬棧執(zhí)行部12中執(zhí)行的虛擬棧VSl以及VS2的切換。例如,切換控制部13基于在通信裝置I的外部或內(nèi)部產(chǎn)生的事件、時間、或通信裝置I的狀況(關(guān)聯(lián)性),進行在虛擬棧執(zhí)行部12中執(zhí)行的虛擬棧VSl以及VS2的切換。圖3A?圖3C是用于說明本發(fā)明的第I實施方式中的虛擬棧的切換條件的圖,圖3A是以在通信裝置I的外部或內(nèi)部產(chǎn)生的事件為切換條件的情況的說明圖,圖3B是以時間為切換條件的情況的說明圖,圖3C是以通信裝置I的狀況為切換條件的情況的說明圖。
[0059]如圖3A所示,在以通信裝置I的外部產(chǎn)生的事件El或者在內(nèi)部產(chǎn)生的事件E2為切換條件的情況下,切換控制部13參照切換表TB (針對事件El以及E2的種類,預先規(guī)定表示作為切換對象的虛擬棧的信息)而進行虛擬棧VSl以及VS2的切換。上述的事件El例如是用于通知流量、溫度等測定結(jié)果的事件,上述的事件E2例如是表示下述通信結(jié)果的事件,該通信結(jié)果是通過在虛擬棧執(zhí)行部12中所執(zhí)行的虛擬棧進行通信而產(chǎn)生的。
[0060]另外,切換控制部13有時不參照上述的切換表TB,而進行虛擬棧VSl以及VS2的切換。例如,能夠在虛擬棧保存部11中只保存2個虛擬棧VSl以及VS2,在事件El以及E2產(chǎn)生時,在必須將在虛擬棧執(zhí)行部12中正在執(zhí)行的虛擬棧(例如,虛擬棧VSl)切換為未執(zhí)行的虛擬棧(例如,虛擬棧VS2)的情況下,省略對切換表TB的參照。
[0061]如圖3B所示,在以時間為切換條件的情況下,切換控制部13參照利用定時器TM測量出的時間進行虛擬棧VSl以及VS2的切換。例如,在成為預先設(shè)定的時刻的情況下,或在虛擬棧執(zhí)行部12中正在執(zhí)行的虛擬棧的執(zhí)行時間經(jīng)過了預先設(shè)定的時間的情況下,切換控制部13進行虛擬棧VSl以及VS2的切換。另外,在圖3B所示的例子中,在切換控制部13的外部設(shè)有定時器TM,但也可以將定時器TM設(shè)置在切換控制部13的內(nèi)部。
[0062]如圖3C所示,在以通信裝置I的狀況為切換條件的情況下,切換控制部13識別通信裝置I的狀況,一邊參照預先規(guī)定的切換規(guī)則CR,一邊進行虛擬棧VSl以及VS2的切換。上述的切換規(guī)則CR是規(guī)定需要進行虛擬棧VSl以及VS2的切換的規(guī)則(準則)而成的。在該切換規(guī)則CR中,例如,規(guī)定出了以下情形等,即,通信裝置I只在使用特定的虛擬棧的情況下成為發(fā)生通信故障的狀況、在通信裝置I中所設(shè)置的電池的剩余電量成為小于或等于一定量的狀況、或者通信裝置I成為被啟動或重新啟動的狀況。
[0063]無線通信接口部14從通信裝置I的外部接收作為無線信號而發(fā)送來的數(shù)據(jù),并且將應發(fā)送至通信裝置I的外部的數(shù)據(jù)作為無線信號而發(fā)送。該無線通信接口部14例如相當于由無線通信標準IEEE802.15.4規(guī)定的物理層。
[0064]下面,對上述結(jié)構(gòu)中的通信裝置I的動作進行簡單的說明。圖4是表示本發(fā)明的第I實施方式涉及的通信裝置的動作的流程圖。另外,圖4所示的流程圖是通過接通通信裝置I的電源,并啟動通信裝置I而開始的。如果通信裝置I啟動,則首先從虛擬棧保存部11由切換控制部13讀出預先規(guī)定的(默認的)虛擬棧(步驟Sll)。另外,在本第I實施方式中,讀出虛擬棧VSl。
[0065]從虛擬棧保存部11讀出的虛擬棧VSl利用切換控制部13存儲至虛擬棧執(zhí)行部12的存儲器中并執(zhí)行(步驟S12)。由此,實現(xiàn)圖2所示的協(xié)議棧ST1、以及利用應用程序APl實現(xiàn)的通信裝置I的功能(例如,流量測定功能、溫度測定功能、其它功能),通信裝置I成為能夠依照上述的無線通信標準ISA100.1la進行無線通信的狀態(tài)。
[0066]如果以上的處理結(jié)束,則利用切換控制部13判斷虛擬棧的切換條件是否成立(步驟S13)。例如,如圖3A所示,在以通信裝置I的外部產(chǎn)生的事件El或在內(nèi)部產(chǎn)生的事件E2為切換條件的情況下,判斷向切換控制部13中是否輸入有事件El或事件E2。此外,如圖3B所示,在以時間為切換條件的情況下,利用切換控制部13參照定時器TM,判斷是否成為預先設(shè)定的時刻,或在虛擬棧執(zhí)行部12中正在執(zhí)行的虛擬棧VSl的執(zhí)行時間是否經(jīng)過了預先設(shè)定的時間?;蛘?,如圖3C所示,在以通信裝置I的狀況為切換條件的情況下,利用切換控制部13參照切換規(guī)則CR,判斷通信裝置I的狀況是否成為在切換規(guī)則CR中所規(guī)定的狀況。
[0067]在判斷為虛擬棧的切換條件不成立的情況下(步驟S13的判斷結(jié)果是“NO”的情況下),在切換控制部13中再次進行步驟S13的判斷。與此相對,在判斷為虛擬棧的切換條件成立的情況下(步驟S13的判斷結(jié)果是“YES”的情況下),接下來確認在虛擬棧執(zhí)行部12的存儲器中是否存在能夠存儲所要執(zhí)行(切換)的虛擬棧的空閑容量(步驟S14)。另夕卜,在該第I實施方式中,將接下來將在虛擬棧執(zhí)行部12的存儲器中所要執(zhí)行(切換)的虛擬棧設(shè)為虛擬棧VS2。在虛擬棧執(zhí)行部12的存儲器中存在能夠存儲虛擬棧VS2的空閑容量的情況下(步驟S14的確認結(jié)果是“YES”的情況下),不從存儲器刪除虛擬棧VS1,而從虛擬棧保存部11讀出虛擬棧VS2(步驟S16)。另一方面,在虛擬棧執(zhí)行部12的存儲器中不存在能夠存儲虛擬棧VS2的空閑容量的情況下(步驟S14的確認結(jié)果是“NO”的情況下),從虛擬棧執(zhí)行部12的存儲器中刪除虛擬棧VSl (步驟S15),從虛擬棧保存部11讀出虛擬棧VS2(步驟 S16)。
[0068]然后,從虛擬棧保存部11讀出的虛擬棧VS2利用切換控制部13存儲至虛擬棧執(zhí)行部12的存儲器中并執(zhí)行(步驟S17)。由此,實現(xiàn)圖2所示的協(xié)議棧ST2、以及利用應用程序AP2實現(xiàn)的通信裝置I的功能,通信裝置I成為能夠依照上述的無線通信標準WirelessHART (注冊商標)進行無線通信的狀態(tài)。之后,重復步驟S13?S17的處理。
[0069]如以上所示,該第I實施方式的通信裝置I構(gòu)成為,將對應用程序和用于實現(xiàn)為了使應用程序進行通信所必需的協(xié)議棧的通信程序相關(guān)聯(lián)而成的虛擬棧VSl以及VS2保存在虛擬棧保存部11中,利用切換控制部13切換在虛擬棧執(zhí)行部12中執(zhí)行的虛擬棧VSl以及VS2。因此,即使為了進行省電動作而將通信裝置I的硬件結(jié)構(gòu)設(shè)為必要最小限度,也能夠進行省電動作,并且實現(xiàn)依照不同的無線通信標準進行通信的多個功能。
[0070]〔第2實施方式〕
[0071]圖5是表示本發(fā)明的第2實施方式涉及的通信裝置的要部結(jié)構(gòu)的框圖。如圖5所示,該第2實施方式的通信裝置2是取代圖1所示的通信裝置I所具有的虛擬棧執(zhí)行部12而設(shè)置虛擬棧執(zhí)行部21而構(gòu)成的結(jié)構(gòu)。該虛擬棧執(zhí)行部21與圖1所示的虛擬棧執(zhí)行部12同樣地,依次執(zhí)行虛擬棧VSl以及VS2,但還具有信息保持區(qū)域R1,該信息保持區(qū)域Rl是對在虛擬棧執(zhí)行部21中執(zhí)行的虛擬棧之間所傳遞的信息進行保持的區(qū)域。通過設(shè)置該信息保持區(qū)域R1,從而能夠在利用切換控制部13所切換的虛擬棧VS1、以及VS2之間順利地進行信息的傳遞。
[0072]圖6是表示本發(fā)明的第2實施方式的應用例涉及的通信裝置的要部結(jié)構(gòu)的框圖。如圖6所示,該應用例的通信裝置2'與圖5所示的通信裝置2同樣地,是具有虛擬棧保存部11、虛擬棧執(zhí)行部21、切換控制部13、以及無線接口 14的結(jié)構(gòu)。然而,該應用例的通信裝置2'在虛擬棧保存部11中保存的虛擬棧VSl與圖5所示的通信裝置2不同。
[0073]具體而言,在圖5所示的通信裝置2的虛擬棧保存部11中所保存的虛擬棧VSl如圖2所示,包含將應用程序APl和通信程序Pll?P13相關(guān)聯(lián)而成的結(jié)構(gòu)、以及參數(shù)PMl。與此相對,在圖6所示的通信裝置2'所具有的虛擬棧保存部11中保存的虛擬棧VSl被分割為虛擬棧VSll (第I部分)和虛擬棧VS12(第2部分)。如上所述,將虛擬棧VSl分割為虛擬棧VSll以及VS12的原因在于,即使在虛擬棧VSl中所包含的應用程序APl的程序大小是由通信裝置2'無法執(zhí)行的大小,也能夠執(zhí)行應用程序API。
[0074]圖7是表示本發(fā)明的第2實施方式的應用例中的虛擬棧VSl的一個例子的圖。如圖7所示,構(gòu)成虛擬棧VSl的一部分的虛擬棧VSll包含通信程序Pll?P13、應用程序APl1、以及參數(shù)PMlI。通信程序Pll?P13與圖2所示的結(jié)構(gòu)相同,是用于實現(xiàn)依照上述的無線通信標準ISA100.1la的協(xié)議棧STl的程序。
[0075]應用程序APll是應用程序APl中的經(jīng)由協(xié)議棧STl進行數(shù)據(jù)的發(fā)送/接收的程序。參數(shù)PMll是在通信程序Pll?P13以及應用程序APll中的某一方中使用的參數(shù),例如包含表示數(shù)據(jù)的發(fā)送目標、發(fā)送源的信息、以及用于識別通信網(wǎng)絡的信息(子網(wǎng)ID)等。
[0076]與此相對,構(gòu)成虛擬棧VSl的其余部分的虛擬棧VS12包含應用程序AP12以及參數(shù)PM12。應用程序AP12是應用程序APl中的除了應用程序APll之外的其余的程序。例如,是用于實現(xiàn):經(jīng)由協(xié)議棧STl應發(fā)送的數(shù)據(jù)的前處理、經(jīng)由協(xié)議棧STl接收到的數(shù)據(jù)的后處理、以及通信裝置2'的功能(例如,流量測定功能、溫度測定功能、其它功能)的程序。在所述前處理中包含加密處理,但也可以包含除此之外的處理。在所述后處理中包含解密處理,但也可以包含除此之外的處理。參數(shù)PM12是應用程序AP12的執(zhí)行時所使用的參數(shù),例如包含:在加密處理中所使用的密鑰信息、表示加密算法的信息、表示測定出的流量、溫度的單位的信息。
[0077]在該應用例中,對將應用程序APl分割為經(jīng)由協(xié)議棧STl進行數(shù)據(jù)的發(fā)送/接收的程序即應用程序AP11、以及其余的應用程序AP12的例子進行了說明,但應用程序APl的分割方法是任意的。但是,不會發(fā)生虛擬棧VSll以及VS12無法執(zhí)行的情況,并且,不會對通信裝置2'的處理(例如,數(shù)據(jù)的發(fā)送/接收處理)造成障礙。例如,應用程序APl也可以分割為大于或等于3個程序。
[0078]另外,圖5所示的通信裝置2的虛擬棧執(zhí)行部21與圖1所示的通信裝置I的虛擬棧執(zhí)行部12同樣地,依次執(zhí)行在虛擬棧保存部11中保存的虛擬棧VSl以及VS2。與此相對,圖6所示的通信裝置2'所具有的虛擬棧執(zhí)行部21能夠依次執(zhí)行虛擬棧VS11、VS12、以及 VS2。
[0079]此外,通信裝置2'所具有的切換控制部13能夠?qū)υ谔摂M棧執(zhí)行部21中執(zhí)行的虛擬棧VS11、VS12、以及VS2進行切換。具體而言,切換控制部13與使用圖3A所說明的情況同樣地,在通信裝置2,的內(nèi)部產(chǎn)生的事件E2 (具體而言,從在虛擬棧執(zhí)行部21中正在執(zhí)行的虛擬棧VSO輸出的事件)被輸入的情況下,對在虛擬棧執(zhí)行部21中執(zhí)行的虛擬棧VSll以及VS12進行切換。
[0080]例如,切換控制部13在通過依照無線通信標準ISA100.1la的無線通信而從通信裝置2'的外部發(fā)送數(shù)據(jù)的情況下,從虛擬棧保存部11讀出虛擬棧VSll并在虛擬棧執(zhí)行部21中執(zhí)行。接下來,在表示接收處理結(jié)束這一情況的事件E2從虛擬棧VSll (虛擬棧VS0)輸出時,將在虛擬棧執(zhí)行部21中執(zhí)行的虛擬棧從虛擬棧VSll切換為虛擬棧VS12,并針對進行接收處理后的數(shù)據(jù)進行解密處理(后處理)。
[0081]此外,例如,切換控制部13在通過依照無線通信標準ISA100.1la的無線通信而向通信裝置2'的外部發(fā)送數(shù)據(jù)的情況下,從虛擬棧保存部11讀出虛擬棧VS12并在虛擬棧執(zhí)行部21中執(zhí)行,進行加密處理(前處理)。接下來,在表示加密處理結(jié)束這一情況的事件E2從虛擬棧VS12 (虛擬棧VS0)輸出時,將在虛擬棧執(zhí)行部21中執(zhí)行的虛擬棧從虛擬棧VS12切換為虛擬棧VS11,并對進行加密處理后的數(shù)據(jù)進行發(fā)送處理。
[0082]并且,切換控制部13在虛擬棧執(zhí)行部21中執(zhí)行的虛擬棧VS12 (虛擬棧VS0)的狀態(tài)不定的情況下(例如,利用看門狗定時器檢測出問題的情況下等),必須在虛擬棧執(zhí)行部21中執(zhí)行包含實現(xiàn)協(xié)議棧STl的通信程序Pll?P13在內(nèi)的虛擬棧VS11。這是由于,例如,為了通過遠程操作而將在虛擬棧VS12的執(zhí)行過程中產(chǎn)生的問題復原,將通信裝置2,設(shè)為能夠通信的狀態(tài)。如上所述,如果通過遠程操作能夠復原在通信裝置2'中產(chǎn)生的問題,則不需要使作業(yè)人員前往通信裝置2'的設(shè)置場所并進行復原作業(yè),就能夠盡快地使通信裝置2,復原。
[0083]下面,對上述結(jié)構(gòu)中的通信裝置2'的動作進行簡單地說明。另外,以下,以從通信裝置2'的外部接收利用依照無線通信標準ISA100.1la的無線通信而發(fā)送出的數(shù)據(jù)時的動作(接收動作)、以及利用依照無線通信標準ISA100.1la的無線通信發(fā)送向通信裝置2,的外部發(fā)送的數(shù)據(jù)時的動作(發(fā)送動作)為例進行說明。通信裝置2'為了降低消耗電力,設(shè)為以預先規(guī)定的時間表進行間歇動作。因此,通信裝置2'在預先規(guī)定的定時進行發(fā)送動作,并在與進行發(fā)送動作的定時不同的預先規(guī)定的定時進行接收動作。
[0084]〈接收動作〉
[0085]圖8是表示本發(fā)明的第2實施方式的應用例涉及的通信裝置的接收動作的流程圖。在進行接收動作的情況下,首先,由切換控制部13讀出在虛擬棧保存部11中保存的虛擬棧VS11,并存儲至虛擬棧執(zhí)行部12的存儲器中并執(zhí)行(步驟S21)。由此,在通信裝置2'中實現(xiàn)如圖7所示的協(xié)議棧ST1、以及經(jīng)由協(xié)議棧STl進行的數(shù)據(jù)的發(fā)送/接收功能(利用應用程序APl I實現(xiàn)的功能)。
[0086]在虛擬棧VSll正在執(zhí)行的狀態(tài)下,如果從通信裝置2'的外部發(fā)送以通信裝置2'為目標的數(shù)據(jù),則該數(shù)據(jù)由無線通信接口部14接收(步驟S22)。由無線通信接口部14接收到的數(shù)據(jù)輸出至虛擬棧執(zhí)行部12,進行利用虛擬棧VSll進行的接收處理(數(shù)據(jù)包處理等)(步驟S23)。另外,利用虛擬棧VSll進行的接收處理,是使用利用通信程序Pll?P13而實現(xiàn)的協(xié)議棧STl和參數(shù)PMll進行的。進行接收處理后的數(shù)據(jù)被保持在虛擬棧執(zhí)行部12的信息保持區(qū)域Rl中(步驟S24)。
[0087]如果利用虛擬棧VSll進行的接收處理結(jié)束,則表示接收處理結(jié)束這一情況的事件信號E2從虛擬棧VS11(虛擬棧VS0)輸出至切換控制部13 (步驟S25)。接下來,切換控制部13確認在虛擬棧執(zhí)行部12的存儲器中是否存在能夠存儲虛擬棧VS12的空閑容量(步驟S26)。在虛擬棧執(zhí)行部12的存儲器中存在能夠存儲虛擬棧VS12的空閑容量的情況下(步驟S26的確認結(jié)果是“YES”的情況下),不從存儲器中刪除虛擬棧VS11,而從虛擬棧保存部11讀出虛擬棧VS12,并存儲至虛擬棧執(zhí)行部12的存儲器中(步驟S28)。另一方面,在虛擬棧執(zhí)行部12的存儲器中不存在能夠存儲虛擬棧VS12的空閑容量的情況下(步驟S26的確認結(jié)果是“NO”的情況下),從虛擬棧執(zhí)行部12的存儲器刪除虛擬棧VS11(步驟S27),從虛擬棧保存部11讀出虛擬棧VS12,并存儲至虛擬棧執(zhí)行部12的存儲器中(步驟S28)。由此,將在虛擬棧執(zhí)行部12中執(zhí)行的虛擬棧從虛擬棧VSll切換為虛擬棧VS12。由此,實現(xiàn)圖7所示的應用程序AP12的功能,進行經(jīng)由協(xié)議棧STl接收到的數(shù)據(jù)的解密處理(后處理)等(步驟S29)。另外,在解密處理中,利用應用程序AP12讀出在信息保持區(qū)域Rl中保持的數(shù)據(jù),并使用在虛擬棧VS12中所包含的參數(shù)PM12。由此,發(fā)送至通信裝置2'的數(shù)據(jù)被接收。
[0088]在以上的接收處理中得到的數(shù)據(jù)在例如利用應用程序AP12而實現(xiàn)的功能(例如,流量測定功能、溫度測定功能、其它功能)中使用。另外,在步驟S27?S29的處理中產(chǎn)生問題的情況下,例如,為了能夠利用遠程操作而將在虛擬棧VS12的執(zhí)行過程中所產(chǎn)生的問題復原,將在虛擬棧執(zhí)行部12中執(zhí)行的虛擬棧利用切換控制部13從虛擬棧VS12切換為虛擬棧VSlI。
[0089]〈發(fā)送動作〉
[0090]圖9是表示本發(fā)明的第2實施方式的應用例涉及的通信裝置的發(fā)送動作的流程圖。在進行發(fā)送動作的情況下,首先,由切換控制部13讀出在虛擬棧保存部11中保存的虛擬棧VS12,并存儲至虛擬棧執(zhí)行部12的存儲器中,并在虛擬棧執(zhí)行部12中執(zhí)行(步驟S31)。由此,實現(xiàn)圖7所示的應用程序AP12的功能。如果執(zhí)行虛擬棧VS12,則進行取得發(fā)送至外部的數(shù)據(jù)的處理(步驟S32)。例如,在通過應用程序AP12的執(zhí)行而在通信裝置2'中實現(xiàn)流量測定功能的情況下,進行測定流量并取得流量數(shù)據(jù)的處理,在通信裝置2'中實現(xiàn)溫度測定功能的情況下,進行測定溫度并取得溫度數(shù)據(jù)的處理。
[0091]如果取得從通信裝置2'發(fā)送至外部的數(shù)據(jù),則該數(shù)據(jù)在虛擬棧執(zhí)行部12中進行加密處理(前處理)(步驟S33)。另外,加密處理是使用在虛擬棧VS12中所包含的參數(shù)PM12而進行的。進行加密處理后的數(shù)據(jù)保持在虛擬棧執(zhí)行部12的信息保持區(qū)域Rl中(步驟 S34)。
[0092]如果利用虛擬棧VS12進行的加密處理結(jié)束,則表示加密處理結(jié)束這一情況的事件E2從虛擬棧VS12 (虛擬棧VS0)輸出至切換控制部13 (步驟S35)。接下來,切換控制部13確認在虛擬棧執(zhí)行部12的存儲器中是否存在能夠存儲虛擬棧VSll的空閑容量(步驟S36)。在虛擬棧執(zhí)行部12的存儲器中存在能夠存儲虛擬棧VSll的空閑容量的情況下(步驟S36的確認結(jié)果是“YES”的情況下),不從存儲器中刪除虛擬棧VS12,而從虛擬棧保存部11讀出虛擬棧VS11,并存儲至虛擬棧執(zhí)行部12的存儲器中(步驟S38)。另一方面,在虛擬棧執(zhí)行部12的存儲器中不存在能夠存儲虛擬棧VSll的空閑容量的情況下(步驟S36的確認結(jié)果是“NO”的情況下),從虛擬棧執(zhí)行部12的存儲器刪除虛擬棧VS12 (步驟S37),從虛擬棧保存部11讀出虛擬棧VSl I,并存儲至虛擬棧執(zhí)行部12的存儲器中(步驟S38)。由此,將在虛擬棧執(zhí)行部12中執(zhí)行的虛擬棧從虛擬棧VS12切換為虛擬棧VSlI。由此,實現(xiàn)圖7所示的協(xié)議棧STl和經(jīng)由協(xié)議棧STl進行的數(shù)據(jù)的發(fā)送/接收功能(利用應用程序APll實現(xiàn)的功能)。
[0093]利用虛擬棧VS12加密后的數(shù)據(jù)在虛擬棧執(zhí)行部12中進行利用虛擬棧VSll進行的發(fā)送處理(數(shù)據(jù)包處理等)(步驟S39)。另外,利用虛擬棧VSll進行的發(fā)送處理,是使用利用通信程序Pll?P13實現(xiàn)的協(xié)議棧STl和參數(shù)PMll而進行的。利用虛擬棧VSll進行的發(fā)送處理結(jié)束后的數(shù)據(jù)從虛擬棧執(zhí)行部12輸出至無線通信接口部14而作為無線信號發(fā)送。如上所述,將數(shù)據(jù)從通信裝置2,發(fā)送至外部。
[0094]另外,在步驟S31?S37的處理中產(chǎn)生問題的情況下,將在虛擬程序執(zhí)行部12中執(zhí)行的虛擬棧利用切換控制部13從虛擬棧VS12切換為虛擬棧VS11。其目的在于,與接收處理的情況同樣地,例如能夠利用遠程操作而將在虛擬棧VS12的執(zhí)行中所產(chǎn)生的問題復原。
[0095]如上所述,在該應用例中,構(gòu)成為將虛擬棧VSl分割為虛擬棧VSl I和虛擬棧VS12,并利用切換控制部13對在虛擬棧執(zhí)行部12中執(zhí)行的虛擬棧VSll以及VS12進行切換。因此,即使在虛擬棧VSl中所包含的應用程序APl的程序大小是在通信裝置2'中無法執(zhí)行的大小,也能執(zhí)行應用程序API。此外,與第I實施方式同樣地,即使為了進行省電動作而將通信裝置2'的硬件結(jié)構(gòu)設(shè)為必要最小限度,也能夠進行省電動作,并且實現(xiàn)依照不同的無線通信標準進行通信的多個功能。
[0096]〔第3實施方式〕
[0097]圖10是表示本發(fā)明的第3實施方式涉及的通信裝置的要部結(jié)構(gòu)的框圖。如圖10所示,該第3實施方式的通信裝置3構(gòu)成為,取代圖1所示的通信裝置I所具有的虛擬棧執(zhí)行部12以及切換控制部13,分別設(shè)置虛擬棧執(zhí)行部31以及切換控制部32,并且取代無線通信接口部14,而設(shè)置2個無線通信接口部14a、14b。此外,在虛擬棧保存部11中保存有3個虛擬棧VSl?VS3。另外,在虛擬棧保存部11中保存的棧的數(shù)量,只要被虛擬棧保存部11的容量所容許,則是任意的。例如,也可以在虛擬棧保存部11中保存大于或等于4個的虛擬棧。
[0098]虛擬棧執(zhí)行部31與圖1所示的虛擬棧執(zhí)行部12同樣地,執(zhí)行從虛擬棧保存部11讀出的虛擬棧。但是,與圖1所示的虛擬棧執(zhí)行部12的不同之處在于,能夠同時執(zhí)行在虛擬棧保存部11中保存的虛擬棧VSl?VS3中的某2個虛擬棧。另外,在圖10中,為了容易理解,將在虛擬棧執(zhí)行部31中執(zhí)行的虛擬棧表現(xiàn)為虛線的虛擬棧VSOl以及VS02。
[0099]切換控制部32對在虛擬棧執(zhí)行部31中執(zhí)行的虛擬棧進行切換,可以只對在虛擬棧執(zhí)行部31中執(zhí)行的I個虛擬棧進行切換,或者對在虛擬棧執(zhí)行部31中執(zhí)行的2個虛擬棧的雙方進行切換。該切換控制部32 —邊參照預先規(guī)定的互斥控制規(guī)則ER,一邊對虛擬棧進行切換。
[0100]上述的互斥控制規(guī)則ER對下述規(guī)則進行了規(guī)定,該規(guī)則用于防止由在虛擬棧執(zhí)行部31中執(zhí)行的虛擬棧VSOl以及VS02所使用的無線通信接口部的沖突。在該互斥控制規(guī)則ER中例如對下述規(guī)則等進行了規(guī)定,即,使在虛擬棧執(zhí)行部31中執(zhí)行的虛擬棧VSOl使用無線通信接口部14a,使虛擬棧VS02使用無線通信接口部14b。
[0101]無線通信接口部14a以及14b與圖1所示的無線通信接口部14同樣地,對從通信裝置3的外部作為無線信號而發(fā)送來的數(shù)據(jù)進行接收,并且將發(fā)送至通信裝置3的外部的數(shù)據(jù)作為無線信號而發(fā)送。這些無線通信接口部14a以及14b例如相當于由無線通信標準IEEE802.15.4規(guī)定的物理層。
[0102]在上述結(jié)構(gòu)中的通信裝置3中,按照圖12所示的流程圖進行動作。S卩,如果電源接通而啟動通信裝置3,則首先利用切換控制部32從虛擬棧保存部11讀出預先規(guī)定的2個虛擬棧(步驟S41),并將該2個虛擬棧存儲至虛擬棧執(zhí)行部31的存儲器中,并在虛擬棧執(zhí)行部31中執(zhí)行(步驟S42)。另外,在該第3實施方式中,將在步驟S41中讀出的2個虛擬棧設(shè)為虛擬棧VSl以及VS2。
[0103]如果以上的處理結(jié)束,則利用切換控制部32判斷虛擬棧的切換條件是否成立(步驟S43)。并且,在判斷為虛擬棧的切換條件不成立的情況下(步驟S43的判斷結(jié)果是“NO”的情況下),在切換控制部32中再次進行步驟S43的判斷。與此相對,在判斷為虛擬棧的切換條件成立的情況下(步驟S43的判斷結(jié)果是“YES”的情況下),確認在虛擬棧執(zhí)行部31的存儲器中是否存在能夠存儲未存儲至虛擬棧執(zhí)行部31的存儲器中、且接下來將要執(zhí)行(切換)的虛擬棧的空閑容量(步驟S44)。另外,在該第3實施方式中,將接下來將在虛擬棧執(zhí)行部31的存儲器中執(zhí)行(切換)的虛擬棧設(shè)為虛擬棧VS2以及VS3。因此,在步驟S44中,相當于未存儲至虛擬棧執(zhí)行部31的存儲器中、且接下來將要執(zhí)行(切換)的虛擬棧的棧是虛擬棧VS3。并且,在虛擬棧執(zhí)行部31的存儲器中存在能夠存儲虛擬棧VS3的空閑容量的情況下(步驟S44的確認結(jié)果是“YES”的情況下),從虛擬棧保存部11讀出虛擬棧VS3,并存儲至虛擬棧執(zhí)行部31的存儲器中(步驟S46),執(zhí)行所讀出的虛擬棧VS3、以及在虛擬棧執(zhí)行部31的存儲器中預先所存儲的虛擬棧VS2(步驟S47)。另一方面,在虛擬棧執(zhí)行部31的存儲器中不存在能夠存儲虛擬棧VS3的空閑容量的情況下(步驟S44的確認結(jié)果是“NO”的情況下),從虛擬棧執(zhí)行部31的存儲器中刪除執(zhí)行完畢的虛擬棧中的至少一者(在該第3實施方式中是虛擬棧VSl)(步驟S45),從虛擬棧保存部11讀出虛擬棧VS3,并存儲至虛擬棧執(zhí)行部31的存儲器中(步驟S46),執(zhí)行所讀出的虛擬棧VS3、以及在虛擬棧執(zhí)行部31的存儲器中預先所存儲的虛擬棧VS2 (步驟S47)。此外,在虛擬棧VSl?VS3分別包含多個子程序的情況下,也可以是以該子程序為單位,將程序從虛擬棧保存部11讀出,存儲至虛擬棧執(zhí)行部31的存儲器中并執(zhí)行,從存儲器中刪除。
[0104]如以上所示,該第3實施方式的通信裝置3構(gòu)成為,將應用程序和用于實現(xiàn)為了使應用程序進行通信所必需的協(xié)議棧的通信程序相關(guān)聯(lián)而成的虛擬棧VSl?VS3保存在虛擬棧保存部11中,利用切換控制部32切換在虛擬棧執(zhí)行部31中執(zhí)行的虛擬棧。因此,即使為了進行省電動作而將通信裝置3的硬件結(jié)構(gòu)設(shè)為必要最小限度,也能夠進行省電動作,并且實現(xiàn)依照不同的無線通信標準進行通信的多個功能。
[0105]另外,如以上說明的第3實施方式涉及的通信裝置3這樣,在設(shè)有多個無線通信接口部14a以及14b的情況下,如圖11所示,也可以在虛擬棧中包含用于確定無線通信接口部的信息。圖11是表示虛擬棧的其它例子的圖。圖11所示的虛擬棧VS在圖2所示的虛擬棧VSl中還包含物理層標識符Dl (確定信息),該物理層標識符Dl用于確定出無線通信接口部14a以及14b中的某一方。
[0106]如果在虛擬棧執(zhí)行部(例如,虛擬棧執(zhí)行部31)中執(zhí)行如上所述的虛擬棧VSJi^iJ用切換控制部(例如,切換控制部32)參照在虛擬棧VS中所包含的物理層標識符Dl。利用切換控制部的控制,在通過執(zhí)行虛擬棧VS而實現(xiàn)的協(xié)議棧ST1、和由物理層標識符Dl確定的無線通信接口部之間進行數(shù)據(jù)的輸入/輸出。
[0107]以上,對本發(fā)明的幾個實施方式涉及的通信裝置進行了說明,但本發(fā)明不限于上述的實施方式,能夠在本發(fā)明的范圍內(nèi)自由變更。例如,在上述實施方式中以進行無線通信的通信裝置I?3為例進行了說明,但本發(fā)明不僅能應用于進行無線通信的通信裝置,還能夠應用于進行有線通信的通信裝置。
[0108]標號的說明
[0109]I?3通信裝置
[0110]11虛擬棧保存部
[0111]12虛擬棧執(zhí)行部
[0112]13切換控制部
[0113]14、14a、14b無線通信接口部
[0114]21虛擬棧執(zhí)行部
[0115]31虛擬棧執(zhí)行部
[0116]32切換控制部
[0117]AP1、AP2 應用程序
[0118]AP1UAP12 應用程序
[0119]Dl物理層標識符
[0120]E1、E2 事件
[0121]Pll?P13通信程序
[0122]P21?P23通信程序
[0123]PM1、PM2 參數(shù)
[0124]Rl信息保持區(qū)域
[0125]ST1、ST2 協(xié)議棧
[0126]VSU VS2 虛擬棧
[0127]VSll 虛擬棧
[0128]VS12 虛擬棧
【權(quán)利要求】
1.一種通信裝置,其能夠依照多個通信標準進行通信,其具有: 保存部,其構(gòu)成為對多個虛擬棧進行保存,所述多個虛擬棧分別是將用于實現(xiàn)所述通信裝置的功能的應用程序、與用于實現(xiàn)為了使所述應用程序進行通信的協(xié)議棧的通信程序相關(guān)聯(lián)而成的棧; 執(zhí)行部,其構(gòu)成為執(zhí)行所述虛擬棧;以及 切換控制部,其構(gòu)成為在從所述保存部讀出所述虛擬棧的至少一者的至少一部分而存儲至所述執(zhí)行部的存儲器中并執(zhí)行的第I處理后,進行根據(jù)所述存儲器的空閑容量,從所述存儲器刪除在所述第I處理中執(zhí)行的所述虛擬棧的至少一者的至少一部分的處理,并進行從所述保存部讀出所述虛擬棧的至少一者的至少一部分而存儲至所述執(zhí)行部的存儲器中并執(zhí)行的第2處理,從而對在所述執(zhí)行部中執(zhí)行的虛擬棧進行切換。
2.根據(jù)權(quán)利要求1所述的通信裝置,其中, 所述虛擬棧分別包含在所述應用程序以及所述通信程序中的至少一者中使用的參數(shù)。
3.根據(jù)權(quán)利要求1所述的通信裝置,其中, 還具有切換表,該切換表預先規(guī)定表示作為切換對象的虛擬棧的信息, 所述切換控制部構(gòu)成為,如果在所述通信裝置的外部或內(nèi)部產(chǎn)生的事件被輸入,則通過基于所述事件而參照所述切換表,從而進行所述虛擬棧的切換。
4.根據(jù)權(quán)利要求1所述的通信裝置,其中, 還具有定時器, 所述切換控制部構(gòu)成為,基于利用所述定時器測量出的時間,進行所述虛擬棧的切換。
5.根據(jù)權(quán)利要求1所述的通信裝置,其中, 還具有切換規(guī)則,該切換規(guī)則預先規(guī)定需要進行切換的規(guī)則, 所述切換控制部構(gòu)成為,通過對所述通信裝置的狀況進行識別并參照所述切換規(guī)則,從而進行所述虛擬棧的切換。
6.根據(jù)權(quán)利要求5所述的通信裝置,其中, 在所述切換規(guī)則中規(guī)定了以下情形,即,所述通信裝置成為發(fā)生通信故障的狀況、在所述通信裝置中所設(shè)置的電池的剩余電量成為小于或等于一定量的狀況、或者所述通信裝置成為被啟動或重新啟動的狀況, 所述切換控制部構(gòu)成為,在所述通信裝置檢測到成為在所述切換規(guī)則中所規(guī)定的狀況的情況下,進行所述虛擬棧的切換。
7.根據(jù)權(quán)利要求1所述的通信裝置,其中, 所述執(zhí)行部具有信息保持區(qū)域,該信息保持區(qū)域?qū)υ谒龅贗處理中執(zhí)行的虛擬棧、和在所述第2處理中執(zhí)行的虛擬棧之間傳遞的信息進行保持。
8.根據(jù)權(quán)利要求1所述的通信裝置,其中, 在所述第I處理中執(zhí)行的虛擬棧被分割為第I部分和第2部分,其中,該第I部分包含經(jīng)由所述協(xié)議棧進行數(shù)據(jù)的發(fā)送/接收的程序,該第2部分至少包含用于實現(xiàn)數(shù)據(jù)的前處理或后處理的程序, 所述切換控制部構(gòu)成為進行所述第I以及第2部分的切換,并在所述執(zhí)行部中依次執(zhí)行所述第I以及第2部分。
9.根據(jù)權(quán)利要求1所述的通信裝置,其中, 還具有多個通信接口部, 所述多個虛擬棧分別包含確定信息,該確定信息用于確定所述多個通信接口部中的用于進行通信的通信接口部。
10.根據(jù)權(quán)利要求1所述的通信裝置,其中, 所述切換控制部構(gòu)成為,在進行所述第I處理之后,在確認在所述存儲器中不存在能夠存儲未存儲至所述執(zhí)行部的存儲器中、且在所述第2處理中執(zhí)行的虛擬棧的至少一部分的空閑容量的情況下,進行所述刪除處理。
11.根據(jù)權(quán)利要求1所述的通信裝置,其中, 所述切換控制部構(gòu)成為,在進行所述第I處理之后,在確認在所述存儲器中存在能夠存儲未存儲至所述執(zhí)行部的存儲器中、且在所述第2處理中執(zhí)行的虛擬棧的至少一部分的空閑容量的情況下,不進行所述刪除處理。
12.一種方法,其是能夠依照多個通信標準進行通信的通信裝置中的棧的執(zhí)行控制方法,所述方法包含以下步驟: 進行將多個虛擬棧的至少一者的至少一部分存儲至所述通信裝置的執(zhí)行部的存儲器中,并在所述執(zhí)行部中執(zhí)行的第I處理的步驟; 在進行所述第I處理之后,對在所述執(zhí)行部中執(zhí)行的虛擬棧的切換條件進行判斷的步驟; 在判斷為所述切換條件成立的情況下,進行根據(jù)所述存儲器的空閑容量,從所述存儲器刪除在所述第I處理中執(zhí)行的所述虛擬棧的至少一者的至少一部分的處理的步驟;以及 在進行根據(jù)所述存儲器的空閑容量,從所述存儲器刪除在所述第I處理中執(zhí)行的所述虛擬棧的至少一者的至少一部分的處理之后,進行將所述虛擬棧的至少一者的至少一部分存儲至所述執(zhí)行部的存儲器中,并在所述執(zhí)行部中執(zhí)行的第2處理的步驟, 所述多個虛擬棧分別包含用于實現(xiàn)所述通信裝置的功能的應用程序、以及用于實現(xiàn)為了使所述應用程序進行通信的協(xié)議棧的通信程序。
13.根據(jù)權(quán)利要求12所述的方法,其中, 對在所述執(zhí)行部中執(zhí)行的虛擬棧的切換條件進行判斷的步驟,通過基于在所述通信裝置的外部或內(nèi)部產(chǎn)生的事件而參照預先規(guī)定的切換信息,從而判斷所述切換條件。
14.根據(jù)權(quán)利要求12所述的方法,其中, 對在所述執(zhí)行部中執(zhí)行的虛擬棧的切換條件進行判斷的步驟,基于時刻或所述虛擬棧的執(zhí)行時間,判斷所述切換條件。
15.根據(jù)權(quán)利要求12所述的方法,其中, 對在所述執(zhí)行部中執(zhí)行的虛擬棧的切換條件進行判斷的步驟,通過基于所述通信裝置的狀況而參照預先規(guī)定的切換規(guī)則,從而判斷所述切換條件。
16.根據(jù)權(quán)利要求15所述的方法,其中, 在所述切換規(guī)則中規(guī)定了以下情形,即,所述通信裝置成為發(fā)生通信故障的狀況、在所述通信裝置中所設(shè)置的電池的剩余電量成為小于或等于一定量的狀況、或者所述通信裝置成為被啟動或重新啟動的狀況, 對在所述執(zhí)行部中執(zhí)行的虛擬棧的切換條件進行判斷的步驟,在所述通信裝置檢測到成為在所述切換規(guī)則中所規(guī)定的狀況的情況下,判斷為所述虛擬棧的切換條件成立。
17.根據(jù)權(quán)利要求12所述的方法,其中, 進行根據(jù)所述存儲器的空閑容量,從所述存儲器刪除在所述第I處理中執(zhí)行的所述虛擬棧的至少一者的至少一部分的處理的步驟,在確認到在所述存儲器中不存在能夠存儲未存儲至所述執(zhí)行部的存儲器中、且在所述第2處理中執(zhí)行的所述虛擬棧的至少一者的至少一部分的空閑容量的情況下,進行所述刪除處理。
18.根據(jù)權(quán)利要求12所述的方法,其中, 進行根據(jù)所述存儲器的空閑容量,從所述存儲器刪除在所述第I處理中執(zhí)行的所述虛擬棧的至少一者的至少一部分的處理的步驟,在確認到在所述存儲器中存在能夠存儲未存儲至所述執(zhí)行部的存儲器中、且在所述第2處理中執(zhí)行的所述虛擬棧的至少一者的至少一部分的空閑容量的情況下,不進行所述刪除處理。
【文檔編號】G06F13/00GK104350479SQ201380028695
【公開日】2015年2月11日 申請日期:2013年5月29日 優(yōu)先權(quán)日:2012年5月30日
【發(fā)明者】岡部宣夫, 秋定征世, 宮澤和紀, 櫻井康樹 申請人:橫河電機株式會社