两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于協(xié)調應用的信息處理裝置和方法以及程序的制作方法

文檔序號:6610961閱讀:198來源:國知局
專利名稱:用于協(xié)調應用的信息處理裝置和方法以及程序的制作方法
技術領域
本發(fā)明涉及用于協(xié)調(mediate)應用的信息處理裝置和方法以及程序。
技術背景隨著IC卡的廣泛使用,已經在許多地方安裝了用于從IC卡讀取信息和 向IC卡寫入信息的讀取器/記錄器。當IC卡被第一次引入的時候,他們主要 被應用于商業(yè)應用的裝置中。近年來,在消費者電子設備中(以下稱為"CE 設備"),低成本的讀取器/記錄器已經變得廣泛使用。因此,使用IC卡的應 用的數量已經快速地增長。具體地,諸如個人計算機(PC)以及移動電話的、具有讀取器/記錄器功 能的CE設備的數量已經快速地增加。因此,不同的讀取器/記錄器可以連接 到這種具有讀取器/記錄器功能的CE設備。此類CE設備可以預先存儲用于使 用IC卡的多個應用,并且用戶可以在CE設備自由地安裝新的應用。因此, 多個IC卡應用同時在同一個CE設備中存在的機會就大大地增加了 。發(fā)明內容然而,在諸如上述的CE設備的信息處理裝置上運行的現有IC卡應用具 有如下體系,其中一個應用獨占地使用一個讀取器/記錄器。因此,當應用正 在使用讀取器/記錄器時,另一應用不能使用該讀取器/記錄器。例如,當應 用正在顯示IC卡中電子貨幣的余額或者購買歷史信息時,另一應用就不能顯 示轉帳費用支付日志信息。也就是說,使用IC卡的現有信息處理裝置不支持 多應用環(huán)境,從而無法充分地協(xié)調多個應用。曰本未審專利申請公開No. 2003-16403描述了 一種技術,其中IC卡包括 多個應用并且向IC卡中的每個應用分配訪問權。然而,已經在IC卡包括多 個應用的假設下開發(fā)這種技術。因此這種技術不能被用于不包括應用并且僅 僅響應于從CE設備發(fā)送的命令來讀取和寫入數據的IC卡。也就是說,這種 技術無法支持上述多應用環(huán)境。因此,本發(fā)明提供一種信息處理裝置和方法以及程序,用于當多個應用 同時使用 一個讀取器/記錄器時適當地協(xié)調IC卡的應用。根據本發(fā)明的一個實施例, 一種能夠經由讀取器/記錄器而連接到ic卡 的信息處理裝置包括中間件和被提供為對應于讀取器/記錄器的設備驅動器。 中間件向用于IC卡的多個應用提供由應用共享的基本功能。設備驅動器以接 收命令的次序來順序地處理經由中間件而從多個應用接收的多個命令,以便 控制相應的讀取器/記錄器。使得應用同時訪問讀取器/記錄器。在此配置中,每個應用可以請求設備驅動器使用由中間件提供且由多個 應用共享的基本功能來執(zhí)行命令。設備驅動器可以以接收命令的次序來順序地處理經由中間件從多個應用接收的多個命令,以便控制讀取器/記錄器。從 而,該設備驅動器可以將命令傳輸到IC卡。因此,多個應用可以同時使用相 同的讀取器/記錄器,因此,可以適當地實現多個應用的協(xié)調。設備驅動器可以在共享模式和專用模式之間切換,在共享模式中多個應 用被允許同時訪問讀取器/記錄器,在專用模式中僅僅一個應用被允許訪問讀 取器/記錄器。中間件可以向應用提供用于每個應用的應用編程接口 ,以選擇共享模式和專用模式中的一個,并且設備驅動器可以根據為每個應用選擇的模式來在共享模式和專用模式之間切換。當設為共享模式時,設備驅動器可以響應于從一個應用接收的請求,而向該一個應用授予對讀取器/記錄器的訪問權,并且當訪問權被許可給該一個應用時,設備驅動器僅僅可以執(zhí)行從該一個應用接收的命令,而將除了該一個應用之外的應用接收的命令置于執(zhí)行等待模式。中間件可以向該一個應用提供用于該一個應用的應用編程接口 ,以請求 設備驅動器向該一個應用授予訪問權。當在執(zhí)行從一個其他應用接收的命令的同時從一個應用接收到命令時, 設備驅動器在從接收到命令的時刻到已經過預定超時間隔的時刻中,將所接 收的命令置于執(zhí)行等待模式,并且其中,當已經過預定超時間隔時,設備驅 動器將超時錯誤消息發(fā)送到該一個應用。設備驅動器可以為每個應用設置超時間隔。設備驅動器可以將同時可訪問讀取器/記錄器的數量限制為預定的最大 訪問數或者更少。
設備驅動器可以包括通信信息存儲模塊,用于存儲關于每個應用和用于 每個應用的讀取器/記錄器之間的通信的信息。多個讀取器/記錄器可以連接到信息處理裝置,并且中間件可以根據從每 個應用接收的使用請求選擇一個讀取器/記錄器,并且請求對應于所選擇的讀 取器/記錄器的設備驅動器將所選擇的讀取器/記錄器設置為可用。該設備驅 動器可以響應于來自中間件的請求,確定是否可從每個應用訪問所選擇的讀 取器/記錄器。如果所選擇的讀取器/記錄器是可訪問的,則設備驅動器可以 將所選擇的讀取器/記錄器設置為對每個應用都可用。中間件可保存與每個應用兼容的一個或多個讀取器/記錄器的列表,并順 序地選擇列表中的一個讀取器/記錄器,以便順序地請求對應于所選擇的讀取 器/記錄器的設備驅動器將所選擇的讀取器/記錄器設置為對每個應用可用。根據本發(fā)明的另一實施例,提供一種用于為在能夠經由讀取器/記錄器連接到IC卡的信息處理裝置中使用的IC卡協(xié)調多個應用的方法。該方法包括 由被提供為對應于讀取器/記錄器的設備驅動器從中間件接收多個命令,其中 中間件向多個應用提供由應用共享的基本功能,使得應用可同時訪問讀取器/ 記錄器;以及以接收命令的次序來順序地處理多個由設備驅動器接收的命令, 以便控制讀取器/記錄器。設備驅動器可以在共享模式和專用模式之間切換,在共享模式中多個應 用被允許同時訪問讀取器/記錄器,在專用模式中僅僅一個應用被允許訪問讀 取器/記錄器。和專用模式中的一個,該設備驅動器可以根據為每個應用選擇的模式來在共 享模式和專用模式之間切換。當設為共享模式時,設備驅動器可以響應于從一個應用接收的請求,而 向該一個應用授予對讀取器/記錄器的訪問權,并且當訪問權被許可給該一個 應用時,設備驅動器僅僅可以執(zhí)行從該一個應用接收的命令,而將除了該一 個應用之外的應用接收的命令置于執(zhí)行等待模式。中間件可以向該一個應用提供用于該一個應用的應用編程接口 ,以請求 設備驅動器向該一個應用授予訪問權。當在執(zhí)行從一個其他應用接收的命令的同時從一個應用接收到命令時, 設備驅動器在從接收到命令的時刻到已經過預定超時間隔的時刻中,將所接 收的命令置于執(zhí)行等待模式,并且其中,當已經過預定超時間隔時,設備驅 動器將超時錯誤消息發(fā)送到該一個應用。設備驅動器可以為每個應用設置超時間隔。設備驅動器可以將同時可訪問讀取器/記錄器的數量限制為預定的最大 訪問數或者更少。設備驅動器可以包括通信信息存儲模塊,用于存儲關于每個應用和用于 每個應用的讀取器/記錄器之間的通信的信息。多個讀取器/記錄器可以連接到信息處理裝置,并且中間件可以根據從每 個應用接收的使用請求選擇一個讀取器/記錄器,并且請求對應于所選擇的讀 取器/記錄器的設備驅動器將所選擇的讀取器/記錄器設置為可用。該設備驅 動器可以響應于來自中間件的請求,確定是否可從每個應用訪問所選擇的讀 取器/記錄器。如果所選擇的讀取器/記錄器是可訪問的,則設備驅動器可以 將所選擇的讀取器/記錄器設置為對每個應用都可用。中間件可保存與每個應用兼容的一個或多個讀取器/記錄器的列表,并順 序地選擇列表中的一個讀取器/記錄器,以便順序地請求對應于所選擇的讀取 器/記錄器的設備驅動器將所選擇的讀取器/記錄器設置為對每個應用可用。根據本發(fā)明的再一實施例, 一種程序,用于使得計算機作用為能夠經由 讀取器/記錄器連接到卡片的信息處理裝置的程序代碼,該信息處理裝置包括 用于向用于IC卡的多個應用提供由應用共享的基本功能的中間件,以及被提 供為對應于讀取器/記錄器的設備驅動器,該設備驅動器以接收命令的次序來 順序地處理經由中間件而從多個應用接收的多個命令,以便控制對應的讀取 器/記錄器,使得應用同時訪問讀取器/記錄器。如上所述,根據本發(fā)明的實施例,當用于IC卡的多個應用同時使用讀取 器/記錄器時,可實現這些應用之間的適當的協(xié)調。


圖1是當根據第一實施例的信息處理裝置經由讀取器/記錄器連接到ic 卡時的框圖。圖2是根據第一實施例的信息處理裝置的示范性硬件配置的框圖; 圖3是根據第一實施例的讀取器/記錄器和IC卡的硬件配置的框圖; 圖4是根據第一實施例的信息處理裝置和IC卡的軟件配置的框圖; 圖5是根據第一實施例的中間件和設備驅動器的框圖;圖6是當中間件開啟由應用指定的讀取器/記錄器時、根據第一實施例由 中間件執(zhí)行的處理的流程圖;圖7是當中間件順序地掃描多個讀取器/記錄器并且開啟可用的讀取器/ 記錄器時、根據第一實施例由中間件執(zhí)行的處理的流程圖;圖8是根據第一實施例的設備驅動器開啟由中間件請求的讀取器/記錄 器的處理的流程圖;圖9A是根據第一實施例的、用于處理從多個應用接收的命令的方法的例 子的示意圖;圖9B是根據第一實施例的、用于處理從多個應用接收的命令的方法的例 子的示意圖;圖9C是根據第一實施例的、用于處理從多個應用接收的命令的方法的例 子的示意圖;圖10是圖解了根據第一實施例的信息處理裝置的命令處理流的具體示 例的序列圖;圖11是根據第一實施例的、向應用授予訪問權和從應用撤回訪問權的處 理以及訪問權等待超時的處理的示意圖;以及圖12是圖解了根據第一實施例的信息處理裝置中授予訪問權的命令處 理的具體示例的序列圖。
具體實施方式
下面參考附圖描述本發(fā)明的示范性實施例。在下文中,相同的附圖標記 用于標明不同的實施例和附圖中的相應部分,而不重復描述。參考圖1簡要說明根據本發(fā)明第一實施例的、可以連接到讀取器/記錄器 的信息處理裝置的示范性配置。圖1是當信息處理裝置1經由讀取器/記錄器 2連接到IC卡3時,根據本實施例的信息處理裝置1、 IC卡3和讀取器/記 錄器2的框圖。如圖1所示,信息處理裝置1可以經由多個讀取器/記錄器2A和2B (在 下文中有時統(tǒng)稱為"讀取器/記錄器2")連接到例如多個IC卡3A和3B (在 下文中有時統(tǒng)稱為"IC卡3")。信息處理裝置1可以經由讀取器/記錄器2而 與IC卡3交換各種信息。例如,信息處理裝置1包括計算裝置,如個人計
算機(膝上型計算機或者桌面型計算機);或者CE設備,如移動電話。然而信息處理裝置1不限于這樣的設備。例如,信息處理裝置1可以是個人數字 助理、便攜式視頻/音樂播放器、家庭游戲控制臺、便攜式游戲機、信息儀器、 電子詞典、或者商業(yè)設備。讀取器/記錄器2可以與IC卡3交換各種信息,例如以不接觸的方式。 讀取器/記錄器2可以從IC卡3讀取以及向IC卡3寫入各種信息,并且可以 執(zhí)行輪詢,以確定附近是否存在IC卡3。例如,這樣的讀取器/記錄器2可以嵌入(預安裝)到信息處理裝置1 中,或者可以經由諸如通用串行總線(USB)電纜的電纜4或經由無線通信而外 部連接到信息處理裝置l。另外,多個讀取器/記錄器2可以外部連接到信息 處理裝置1或者可以預安裝在信息處理裝置1中。在圖1中,讀取器/記錄器 2A經由電纜4外部連接到信息處理裝置1,而讀取器/記錄器2B預安裝在信 息處理裝置1中。以這種方式,信息處理裝置1可以經由讀取器/記錄器2A 和2B而連接到兩個IC卡3A和3B (相同類型或者不同類型)。然而,連接的 方式不限于此。例如,信息處理裝置1可以經由讀取器/記錄器2中的僅僅一 個或者三個或更多讀取器/記錄器2而連接到任何數目的IC卡3。例如,IC卡3是非接觸IC卡,其能夠在IC卡和讀取器/記錄器2之間 的距離在短距離范圍(例如,大約0到大約10cm)內的情況下,與讀取器/ 記錄器2無線且無接觸地通信。每個IC卡3中的存儲單元可以存儲諸如電子 貨幣信息的保密數據、以及記錄信息。接下來參考圖2說明根據本實施例的信息處理裝置1 (例如,個人計算 機(PC))的示范性硬件配置。圖2是根據本實施例的信息處理裝置1的示范 性硬件配置的框圖。如圖2所示,信息處理裝置l包括中央處理單元(CPU) 101、只讀存儲 器(ROM) 102、隨才幾存取存儲器(RAM) 103、主機總線104、橋接器105、外 部總線106、接口 107、輸入單元108、輸出單元109、存儲單元110、多個 連接端口 (例如,連接端口 111A和111B,有時統(tǒng)稱為"連接端口 lll")、以 及通信單元112。CPU 101是示范性處理裝置,其執(zhí)行根據各種程序的各種處理。CPU 101 控制信息處理裝置1的所有組件。ROM 102存儲由CPU 101使用的程序和計 算參數。RAM 103臨時存儲由CPU101執(zhí)行的程序和根據程序的執(zhí)行而改變的、 ROM 102和RAM 103經由包括CPU總線的主機總線104而彼 此相連。主機總線104經由橋接器105與諸如外圍設備部件互連/接口 (PCI )總 線之類的外部總線106連接。接口 107是將外部總線106連接到下述單元的 通信4妄口 。輸入單元108包括操作機制,如鼠標、鍵盤、觸摸板、按鍵、開關以及 桿。輸入單元108還包括輸入控制電路,用于生成輸入信號和將該輸入信號 輸入到CPU 101。信息處理裝置1的用戶操作輸入單元108以便將各種數據 和操作指令輸入到信息處理裝置l。輸出單元109包括顯示單元,如陰極射線管(CRT)顯示器,液晶顯示 器(LCD)或者燈;以及音頻輸出單元,如揚聲器。輸出單元109顯示各種信 息,如根據用于IC卡(如下文更詳細說明的)應用的操作而顯示的屏幕。存儲單元110包括用于存儲數據的存儲介質。例如,存儲單元110由硬 盤驅動器(HDD)構成。存儲單元IIO存儲各種程序,如應用、中間件、操作 系統(tǒng)和設備驅動器,以及各種數據。然而,存儲單元110不限于HDD。例如, 存儲單元110可以包括隨機存取存儲介質,如半導體存儲器、光盤、磁光 盤、或者磁存儲器。注意到,半導體存儲器的例子包括閃存、靜態(tài)隨機存取 存儲器(SRAM)、以及電可擦除可編程只讀存儲器(EEPROM)。連接端口 111將外部外圍設備(例如,上述讀取器/記錄器2 )連接到信 息處理裝置l。連接端口 111包括接線端子,諸如USB和IEEE1394端子。連 接端口 111經由接口 107、外部總線106、橋接器105和主機總線104而連接 到CPUIOI。當讀取器/記錄器2A和2B連接到連接端口 11U和111B時,信 息處理裝置1可以經由讀取器/記錄器2A和2B而與IC卡3A和3B通信,以 便從和向IC卡3A和3B接收和傳輸各種數據,如命令和響應消息。安裝的連 接端口 111的數量可以增加或者減少,使得可將一個讀取器/記錄器2或者三 個或更多讀取器/記錄器2連接到信息處理裝置1。通信單元112包括用于與諸如因特網、局域網(LAN)以及電話網(都沒 有示出)的網絡進行通信的通信設備。通信單元112經由該網絡而與外部裝 置通信各種數據。接下來參考圖3說明根據本實施例的讀取器/記錄器2和IC卡的示范性 硬件配置。圖3是根據本實施例的讀取器/記錄器2和IC卡3的硬件配置的框圖。首先說明讀取器/記錄器2的示范性硬件配置。如圖3所示,每個讀取器/記錄器2包括控制單元201、調制電路203、解調電路202、振蕩器2(M、存 儲器205和天線206??刂茊卧?01由包括各種處理器集成電路(IC)組成,如ROM和RAM存儲 器??刂茊卧?01使用存儲器205 (例如閃存)控制讀取器/記錄器2的每個 組件。另外,控制單元201處理從信息處理裝置1輸入的數據(例如命令), 并且將數據輸出到調制電路203以便將該數據傳輸到IC卡3。此外,控制單 元201使用解調電路202,接收從IC卡3傳輸的數據。另外,控制單元201 與信息處理裝置l通信。此外,當與IC卡3通信時,控制單元201在讀取器 /記錄器2和IC卡3之間執(zhí)行驗證處理,并將驗證結果發(fā)送給信息處理裝置 1。例如,調制電路202以幅移鍵控(ASK)調制方式,使用從控制單元201 輸入的數據來調制具有預定頻率的、并且從振蕩器204提供的載波。調制電 路202然后經由天線206將經調制的波傳輸到IC卡3。相反,解調電路203 解調從IC卡經由天線206接收的調制波并將解調的數據傳送到控制單元201。接下來說明IC卡3的示范性硬件配置。如圖3所示,IC卡3包括天線 301、電容器302和IC 303。 IC 303經由天線301 A/v和向每個讀取器/記錄器 2接收和傳輸調制波。電容器302與天線301 —起形成LC電路。LC電路以具 有預定載波頻率的電^f茲波諧振。IC 303包括接口單元3(M、調制電路306、 解調電路305、控制單元307以及存儲器308。接口單元304將通過檢測經由天線301接收的調制波所獲得的信號輸出 到解調電路305。另外,接口單元304經由天線301,將/人控制單元30 經由 調制電路306輸入的信號傳輸到讀取器/記錄器2。此外,接口單元304使用 調壓器(未示出)來穩(wěn)定所檢測到的信號,并且將所檢測到的信號作為功率 源傳送到每個電路。解調電路305解調從接口單元304輸入的信號,并且將解調的數據輸出 到控制單元307。調制電路306調制從控制單元307輸入的數據,并且將已 調制的數據輸出到接口單元304??刂茊卧?07響應于從解調電路305輸入的數據(命令)而執(zhí)行預定處 理。預定處理的例子包括從和向存儲器308的數據的讀/寫處理、以及從控制
單元307輸入和向控制單元307輸出數據的計算處理。另外,控制單元307 管理(追加,更新或者刪除)在存儲器308中存儲的數據。此外,控制單元 307生成響應于上述處理的響應數據(響應消息),并且將該響應消息輸出到 調制電路306,調制電路306將響應消息傳輸到讀取器/記錄器2??刂茊卧?307可以使用曼徹斯特編碼方法來對從解調電路305輸入的數據解碼或者對 要輸出到調制電路306的數據編碼。此外,控制單元307可對從解調電路305 輸入的數據解密或者對要輸出到調制電路306的數據加密。存儲器308是用于存儲與IC卡3有關的各種數據的存儲單元。例如,IC 卡3包括半導體存儲器,如閃存、SRAM、 EEPROM或者ROM。例如,存儲器308 存儲對于IC卡3唯一的卡ID、以及指示充值電子貨幣的余額的電子貨幣信 息。另外,存儲器308存儲程序(IC卡3的操作系統(tǒng)(OS)),以由控制單元 307執(zhí)行以下處理命令的分析、響應消息的生成,從和向存儲器308的數 據讀/寫操作、以及編碼和加密數據。即使是在IC卡3和讀取器/記錄器2之 間的通信完成并且停止供電之后,此信息也保存在存儲器308中。在IC卡3和每個讀取器/記錄器2之間的通信協(xié)議的例子包括近場通 信(NFC)協(xié)議、IS0/IEC14443協(xié)議、用于射頻(RF)標簽的ISO/IEC15693、藍 牙協(xié)議、超寬帶(UWB)協(xié)議、以及IEEE802. llb協(xié)議。在這樣的配置中,可以在讀取器/記錄器2和IC卡3之間無接觸地交換 數據(命令和響應消息)。因此,讀取器/記錄器2可以讀取在IC卡3中存儲 的信息,并且在IC卡3上寫入信息。例如,讀取器/記錄器2可以讀取在IC 卡3中存儲的卡ID并執(zhí)行驗證處理,或者可以讀取并更新在IC卡3中存儲 的電子貨幣信息(貨幣的余額)。此時,因為無接觸地交換數據,所以用戶可 簡單地通過將IC卡3移動到讀取器/記錄器2的預定距離之內,而快速且容 易地命令讀取器/記錄器2從和向他們自己的IC卡3讀取和寫入數據。接下來參考圖4說明根據本實施例的信息處理裝置1和IC卡3的示范性 軟件配置。圖4是根據本實施例的信息處理裝置1和IC卡3的軟件配置的框 圖。如圖4所示,信息處理裝置1包括多個應用10A、10B、10C、10D、10E、... (在下文中有時統(tǒng)稱為"應用10");用于使用IC卡3的中間件20;操作系 統(tǒng)(OS)30;以及用于操作讀取器/記錄器2的多個設備驅動器40A、 40B、... (在下文中有時統(tǒng)稱"設備驅動器40")。也就是說,根據本實施例,信息處
理裝置1的軟件配置具有以下四層應用10、中間件20、 OS 30、以及設備 驅動器40。當CPU IOI讀出程序時,存儲單元110中存儲的程序起到每個設 備驅動器40的作用。接下來說明每層中的軟件。應用IO是將具體服務提供給IC卡3的用戶的軟件。更具體地,例如, 應用IO提供各種服務,如使用IC卡3的登錄驗證功能、關于轉帳費用支付 的日志信息(例如,火車票)的顯示功能、IC卡3中充值的電子貨幣的余額 的顯示功能、IC卡3中充值的積分點系統(tǒng)的點查詢功能、以及在IC卡3中 存儲的贈券和電子票據的顯示功能。應用10與中間件20和設備驅動器40協(xié)同操作,以便向用戶提供上述各 種服務。應用IO可以在交付時在信息處理裝置1中預安裝,或者可以由用戶 后來在信息處理裝置1中安裝。另外,在信息處理裝置1中安裝的應用10可 以后來更新(升級)或者卸載。為了執(zhí)行上述功能,應用10指示中間件20生成要被傳輸到IC卡3的命 令。命令的例子包括用于請求搜索在讀取器/記錄器2附近存在的預定IC卡 3的輪詢命令,用于讀出在IC卡3中存儲的各種信息(例如,卡ID、電子貨 幣信息、購物歷史信息、轉帳費用支付日志信息、贈券信息、以及電子票據 信息)的命令、以及用于在IC卡3上寫入各種信息或者更新在IC卡3中存 儲的信息的命令。另外,信息處理裝置1經由讀取器/記錄器2而從IC卡3 接收響應于該命令的響應消息。根據響應消息中包含的信息,應用IO向用戶 提供上述服務(例如電子貨幣余額的顯示)。中間件20是向每個應用IO提供應用10共同使用的基本功能的軟件。從 而,中間件20可以提供由多個應用IO使用的通用功能。因此,可消除應用 10開發(fā)商重復開發(fā)通用功能的需求。以公共庫的形式(例如以Microsoft Windows (商標名)的動態(tài)鏈接庫(DDL)格式)提供中間件20。更具體地,中間件20具有由應用IO共同使用的應用程序接口 (API),以 便向應用10提供這些API。這些API的每一個是一組用于便于每個應用10 的開發(fā)的命令和功能。簡單地通過調用API,應用10可以執(zhí)行與IC卡3的 使用相關的基本功能(例如,用于執(zhí)行命令的請求)。另外,中間件20具有經由OS 30和設備驅動器40來控制讀取器/記錄器 2和IC卡3的能力。更具體地,中間件20響應于來自應用10的命令生成指 令而生成各種命令,并且將所生成的命令輸出到設備驅動器40,以便請求命讀取器/記錄器2向IC卡3傳輸命令)。此外,中間件20 經由讀取器/記錄器2和設備驅動器40,接收由IC卡3響應于該命令而返回 的響應消息。隨后,中間件20將所接收的響應消息輸出到應用10。從而, 中間件20經由設備驅動器40訪問讀取器/記錄器2。另外,預定義每個應用10可以訪問的讀取器/記錄器2。例如,在圖4 所示的例子中,確定應用IOA、 IOB和10C使用讀取器/記錄器2A,而應用10D 和10E使用讀取器/記錄器2B。中間件20具有指示每個應用10和一個或多 個可用的讀取器/記錄器2之間的對應關系的列表(即,每個應用10可訪問 的讀取器/記錄器2的列表)。中間件20可以使用此列表來掃描讀取器/記錄 器2,以便確定應用10可使用的讀取器/記錄器2。另外,應用10可以指定 應用10使用的讀取器/記錄器2,并且中間件20可以將指定的讀取器/記錄 器2分配給應用10。中間件20的這種功能允許當多個讀取器/記錄器2連接 到多個信息處理裝置1時,每個應用10順利地通過合適的讀取器/記錄器2 來執(zhí)行命令傳輸和響應消息接收。OS 30是執(zhí)行信息處理裝置1的整體控制的基本軟件。0S 30向應用10 和中間件20提供基本功能,如由輸入單元108和輸出單元109執(zhí)行的輸入/ 輸出功能以及管理存儲單元110的功能。設備驅動器40是操作讀取器/記錄器2之一的軟件。響應從中間件20 接收的命令,設備驅動器40控制讀取器/記錄器2之一。為每個讀取器/記錄 器2提供設備驅動器40。在圖4所示的例子中,提供對應于讀取器/記錄器 2A的設備驅動器40A以及對應于讀取器/記錄器2B的設備驅動器40B。然而, 設備驅動器40的配置不限于此??商峁┮粋€設備驅動器40或者三個或更多 個設備驅動器40。當讀取器/記錄器2之一連接到信息處理裝置1時,OS 30 加載對應于所連接的讀取器/記錄器2的設備驅動器40,并且創(chuàng)建設備驅動 器40的實例。設備驅動器40處理從應用10經由中間件20接收的命令,并且向讀取器 /記錄器2輸出經處理的命令。當接收到命令后,讀取器/記錄器2傳送命令 到IC卡3。另外,設備驅動器40分析從IC卡3經由讀取器/記錄器2接收 的響應消息,并且將響應消息輸出到中間件20。如果設備驅動器40經由中間件20從多個應用10接收多個命令,則設備 驅動器40以接收命令的次序來順序地處理這些命令。更具體地,當從中間件20接收命令執(zhí)行請求后,設備驅動器40確定其是否處理從應用10之一接收 的命令。如果設備驅動器40不處理任何命令,則設備驅動器40執(zhí)行由所接 收的命令請求的處理。然而,如果設備驅動器40正在處理任何命令,則設備 驅動器40將接收的命令置于等待模式。在當前處理的命令已經完成之后,設 備驅動器40處理所接收的命令。以此方法,設備驅動器40以接收命令的次 序來順序地處理從多個應用IO接收的多個命令。因此,多個應用10可以同 時使用一個讀取器/記錄器2。從而,可以適當地實現多應用環(huán)境。另夕卜,設備驅動器40可以在共享模式和專用模式之間切換,共享模式中 多個應用10可以同時訪問一個讀取器/記錄器2,專用模式中僅僅一個應用 10可以訪問一個讀取器/記錄器2。在共享模式中,即使當一個應用IOA使用 讀取器/記錄器2A的時候,另一應用10B也可以訪問讀取器/記錄器2A。相 反,在專用模式中,當一個應用10A使用讀取器/記錄器2A時,另一應用10B 不被允許訪問讀取器/記錄器2A。例如,設備驅動器40可以根據由應用10 經由中間件20請求的模式選擇,在共享模式和專用模式之間切換。當設備驅動器40從專用模式切換到共享模式時,如上所述,信息處理裝 置1中的多個應用10可同時使用一個讀取器/記錄器2。因此,可適宜地提 供多應用環(huán)境。相反,在專用模式中,因為一個應用IO獨占性地使用一個讀 取器/記錄器2,并且向該一個讀取器/記錄器2發(fā)送命令和從該一個讀取器/ 記錄器2接收響應消息,所以一個應用10可穩(wěn)定地執(zhí)行IC卡3自身的功能。此外,在共享模式中,當從一個應用IO接收到訪問權請求后,設備驅動 器40向一個應用10提供訪問讀取器/記錄器2的獨占性訪問權。另外,當接 收從具有訪問權的該一個應用IO訪問權終止請求后,設備驅動器40從該一 個應用IO撤回訪問權。即使在共享模式中,訪問權的這種使用創(chuàng)建從訪問權 的撤回的提供開始的臨界部分(critical section)。在臨界部分期間,設備 驅動器40僅連續(xù)處理從該一個應用IO接收的命令,并且將從除了該一個應 用IO之外的應用IO接收的命令置于等待模式,而不處理這些命令。后面更"^"細;l也iJt明i方問^又。設備驅動器40將同時可訪問對應于設備驅動器40的讀取器/記錄器2 的應用10的數量限制為預定的最大訪問數或者更少。從而,可以防止在比最 大訪問數更多的應用10訪問讀取器/記錄器2時發(fā)生的信息處理裝置1或者 讀取器/記錄器2的過載。 接下來參考圖4說明IC卡3的軟件配置。如圖4所示,IC卡3僅僅包 括操作系統(tǒng)(OS)32。 IC卡3不包括任何IC卡的應用。另外,用戶無法以 后在IC卡3上安裝應用。IC卡3的存儲器308存儲具有目錄結構的數據文 件。這種數據文件存儲各種信息,諸如電子貨幣信息、轉帳費用支付日志信 息、積分點信息、電子票信息、以及贈券信息。OS 32根據從信息處理裝置1 經由讀取器/記錄器2接收的命令而讀取和寫入這樣的信息。如上所述,根據本實施例,IC卡3不包括任何IC卡的應用。從而,IC 卡3具有簡單的配置,以便根據從信息處理裝置1接收的命令僅僅從存儲器 308讀取數據和寫入數據到存儲器308。另外,IC卡3無法修改由0S 32確 定的命令(無法改變命令的含義或者增加新的命令)。因此,當在信息處理裝 置l中安裝了多個應用10時,需要適當地設計中間件20和設備驅動器40, 以便實現充分的多應用環(huán)境。下面參考圖5更詳細地說明根據本實施例的中間件20和設備驅動器40 的配置。圖5是根據本實施例的中間件20和設備驅動器40的配置的框圖。首先說明中間件20的配置。如圖5所示,中間件20包括API 22、中間 件內核24、以及通信信息存儲模塊26、以及設備控制模塊28。API 22是在應用10使用讀取器/記錄器2和IC卡3時由應用10使用的 一組命令和功能。因為由中間件20提供的API22是多個應用10共同使用的 一組基本功能,所以可利于應用10的開發(fā)。接下來說明由中間件20提供的API 22的具體的例子。例如,中間件20 提供用于生成用于將數據傳輸到IC卡3的命令的API 22。因此,通過使用 這種API 22,每個應用10可以命令中間件20生成這種命令。另外,中間件20提供用于允許應用10指定讀取器/記錄器2的(將被訪 問的目標讀取器/記錄器2)連接端口名(例如,USB端口名)和數據傳送速 率的API 22。因此,通過使用這種API 22, 一個應用IO可以命令中間件20 識別要訪問的目標讀取器/記錄器2、以及該一個應用10和讀取器/記錄器2 之間的數據傳送速率。另外,中間件20提供用于允許應用IO在上述共享模式和專用模式之間 選擇的API 22。因此,通過使用這種API 22, —個應用10在訪問讀耳又器/ 記錄器2時可以選擇共享模式和專用模式中的一個。根據該一個應用10的模 式選擇,設備驅動器40在共享模式和專用模式之間切換。
此外,中間件20提供用于允許一個應用10請求設備驅動器40對該一個應用10授予或者撤回用于訪問讀取器/記錄器2的訪問權的API 22。因此, 當一個應用IO需要連續(xù)處理一連串命令時,該一個應用IO通過使用這種API 22,經由中間件20請求設備驅動器40授予或者撤回訪問權。從而,該一個 應用10可具有用于訪問讀取器/記錄器2的獨占性訪問權或者終止該訪問權。中間件內核24是中間件20的心臟。響應于來自一個應用IO的指令,中 間件內核24生成諸如上述命令的各種命令,并請求設備驅動器40執(zhí)行該命 令。另外中間件內核24編碼和解碼該命令。此外,中間件內核24執(zhí)行實用 (utility)處理。另外,中間件內核24將所生成的命令輸出到設備控制模塊 28,并且將從設備控制模塊28輸入的響應消息輸出到該一個應用10。另外,為使得一個讀取器/記錄器2對應用10可用(使得一個讀取器/ 記錄器2開啟),中間件內核24掃描讀取器/記錄器2,并且選擇可用于應用 10的一個讀取器/記錄器2。為選取一個可用的讀取器/記錄器2,中間件內 核24可根據來自應用10的指令選擇一個讀取器/記錄器2??商鎿Q地,應用 10可使用可用讀取器/記錄器2的列表來順序地選擇一個讀取器/記錄器2。此外,中間件內核24管理在通信信息存儲模塊26中存儲的通信信息。 例如,通信信息存儲模塊26由信息處理裝置1的存儲單元110組成。通信信 息存儲模塊26存儲分別對應于應用IOA、 10B和10C的通信信息表27A、 27B 和27C (在下文中有時統(tǒng)稱"通信信息表27")。通信信息表27包含關于在每 個應用IOA、 10B和10C與讀取器/記錄器2之間的通信狀態(tài)的信息。通信信 息的例子包括驅動器句柄(hand 1 e)、訪問權請求超時間隔、通信超時間隔、 錯誤代碼、以及交易信息。后面更詳細地說明此通信信息。設備控制模塊28請求設備驅動器40的命令接收模塊42執(zhí)行由中間件內 核24生成的命令,以便控制讀取器/記錄器2和IC卡3。另外,設備控制模 塊28從設備驅動器40的響應分析模塊45接收響應消息,并且將響應消息輸 出到中間件內核24?,F在在此說明設備驅動器40的配置。如圖5所示,設備驅動器40包括 命令接收模塊42、命令執(zhí)行模塊44、響應分析模塊45、通信信息存儲模塊 46和總線控制模塊48。命令接收模塊42從中間件20接收請求命令,并請求命令執(zhí)行模塊44 執(zhí)行該命令。命令執(zhí)行模塊44執(zhí)行由命令接收模塊42請求的命令,以便請
求總線控制模塊48經由讀取器/記錄器2而將該命令傳輸到IC卡3。響應分 析模塊45分析經由總線控制模塊48從讀取器/記錄器2接收的響應消息。隨 后,響應分析模塊45將響應消息輸出到中間件20。總線控制模塊48遵照來自命令執(zhí)行模塊44和響應分析模塊45的指令, 以便控制與信息處理裝置1裝置中的讀取器/記錄器2通信的硬件。硬件的例 子包括外部總線106、接口 1Q7和連接端口 111。總線控制模塊48允許命令 執(zhí)行模塊44和響應分析模塊45與讀取器/記錄器2交換命令和響應消息。在具有這種配置的設備驅動器40中,命令接收模塊42可以根據來自一 個應用IO的模式設置來將命令接收模式設置為上述共享模式或專用模式。當 命令接收模式設置為專用模式時,命令接收模塊42僅從已請求專用模式的一 個應用接受命令。此后,命令接收模塊42請求命令執(zhí)行模塊44執(zhí)行命令。 命令接收模塊42不從除該一個應用IO之外的應用IO接受命令。相反,當命令接收模式設置為共享模式時,命令接收模塊42從多個應用 IO接受命令。當命令接收模塊42以共享模式從多個應用IO接收命令時,命 令接收模塊42請求命令執(zhí)行模塊44按照接收命令的次序來順序地執(zhí)行命令。更具體地,在從一個應用10接收到命令執(zhí)行請求后,命令接收模塊42 確定其是否處于信號狀態(tài)其中不執(zhí)行除了該一個應用10之外的一個應用 IO的處理。如果命令接收模塊42處于信號狀態(tài),則命令接收模塊42請求命 令執(zhí)行模塊44執(zhí)行所接收的命令。然而,如果命令接收模塊42處于非信號 狀態(tài),其中執(zhí)行除了該一個應用IO之外的一個應用IO的處理,則命令接收 模塊42將所接收的命令置于等待模式。當除了該一個應用10之外的一個應 用IO的處理被完成、以及在放置所接收的命令之前被置于等待模式的所有命 令處理被完成時,命令接收模塊42請求命令執(zhí)行模塊44執(zhí)行所接收的命令。 如上所述,當完成所有置于等待模式的命令處理時,命令接收模塊42從非信 號模式切換到信號模式,使得可處理從該一個應用IO接收的連續(xù)命令。以這 種方法,可確保每個命令的原子性(atomicity),也就是說,可明確地確定每 個命令的成功執(zhí)行或者不成功執(zhí)行。此外,在共享模式中,命令接收模塊42可以響應于來自一個應用10的 訪問權獲取或者終止請求,向和從一個應用10授予或撤回對讀取器/記錄器 2的訪問權。/人而,從一個應用10的訪問權的獲取到終止的時間段(即,乂人 該一個應用10獲得訪問權的時間到一個應用10失去訪問權的時間的時間段)
充當臨界部分。在此臨界部分中,命令接收模塊42僅執(zhí)行從具有訪問權的一個應用IO接收的命令,并且將從除了該一個應用IO之外的應用IO接收的命 令置于等待模式。以這種方法,在此臨界部分中,命令接收模塊42可以允許 執(zhí)行從具有訪問權的應用IO發(fā)送的命令,并且禁止執(zhí)行從除了具有訪問權的 應用IO之外的應用IO發(fā)送的命令。如果多個命令執(zhí)行請求被同時從多個應用10發(fā)送到一個讀取器/記錄器 2,則命令的處理被延遲。從而,應用10的功能可能具有消極影響。因此, 當命令接收模塊42從一個應用10接收命令、同時命令接收模塊42正處理從 除了該一個應用10 (在非信號模式)之外的一個應用10發(fā)送的命令時,從 命令接收模塊42接收命令的時間到當已經經過由應用10指定的預定超時間 隔的時間中,命令接收模塊42將所接收的命令置于等待模式。如果在達到超 時之前完成之前的命令處理,則命令接收模塊42開始處理從處于等待模式的 一個應用IO接收的命令。然而,如果在完成之前的命令處理之前已經達到超 時,則命令接收模塊42將超時錯誤消息發(fā)送到該一個應用10。以這種方法,命令接收模塊42可以確定在命令接收模塊42開始執(zhí)行從 每個應用IO接收的命令之前是否達到超時。因此,每個應用IO的等待時間 可以降低為少于或等于訪問權等待超時間隔。從而,當多個命令執(zhí)行請求被 同時從多個應用10發(fā)送到讀取器/記錄器2時,可消除由于命令的處理延遲 而引起的對應用IO的消極影響。從設備驅動器40接收到超時錯誤消息的每 個應用IO可以重試發(fā)送相同的命令執(zhí)行請求,或者可以向用戶顯示指示該命 令還未被執(zhí)行的錯誤信息。另外,在命令的執(zhí)行期間,如果當總線控制模塊48正與讀取器/記錄器 2通信時在總線控制模塊48中發(fā)生通信超時,則向每個應用IO通知此通信 超時。因此,如果在由于設備驅動器40和讀取器/記錄器2之間的通信錯誤 而達到預定通信超時時未完成命令的執(zhí)行,則每個應用IO可檢測通信錯誤。另外,設備驅動器40的命令執(zhí)行模塊44和響應分析模塊45管理在通信 信息存儲模塊46存儲的通信信息。例如,通信信息存儲模塊46由信息處理 裝置1的存儲單元110組成。通信信息存儲^f莫塊46存儲分別對應于可訪問讀 取器/記錄器2的應用IOA、 IOB和10C的通信表47A、 47B和47C(在下文中 有時統(tǒng)稱"通信表47")。通信表47包含關于讀取器/記錄器2與每個用IOA、 10B和10C之間通信的信息。在通信表47中包含的通信信息的例子包括請求
者應用ID、響應數據、訪問權等待超時間隔、通信超時間隔、錯誤代碼、讀 取器/記錄器模式信息、以及交易信息。請求者應用ID是用于識別請求執(zhí)行命令的一個應用IO的標識(ID)。通 過使用請求者應用ID,通信表47A、 47B以及47C可以分別與應用IOA、 10B 以及10C相關聯(lián)。響應數據是響應于從讀取器/記錄器2傳輸到IC卡3的命令而從IC卡3 返回到讀取器/記錄器2的數據。此響應數據根據由讀取器/記錄器2從IC卡 3接收的響應消息而生成,并且被存儲在設備驅動器40的通信表47中。因 為與一個應用10相關聯(lián)的響應數據被存儲在對應于該一個應用IO的通信表 47中,所以即使當設備驅動器40與多個應用10交換多個命令和響應消息時, 設備驅動器40也可以識別什么類型的響應消息被返回到該一個應用10。訪問權等待超時間隔是等待執(zhí)行從一個應用10接收的命令的最大時間 間隔??蓪γ總€應用10設置不同的訪問權等待超時間隔。每個應用10可以 設置其自己的訪問權等待超時間隔。在最初階段,設備驅動器40在每個通信 表47中存儲訪問權等待超時間隔的缺省值(例如五秒)。當一個應用10指定 訪問權等待超時間隔時,設備驅動器40將訪問權等待超時間隔從缺省值改變 為指定值(例如十秒)。如上所述,通信超時間隔是用于限制設備驅動器40和讀取器/記錄器2 之間的通信時間的最大時間間隔。如同訪問權等待超時間隔,可以對每個應 用IO設置不同的通信超時間隔。如果在設備驅動器40向讀取器/記錄器2輸 出命令之后、設備驅動器40在大于或等于預定通信超時間隔的時期內沒有接 收到任何響應消息,則設備驅動器40確定通信超時發(fā)生,并且將通信超時通 知纟合該一個應用10。錯誤代碼表示在設備驅動器40中發(fā)生的錯誤的類型。由設備驅動器40 生成錯誤代碼。通過保存(hold)錯誤代碼,設備驅動器40可以識別在應用 10的操作中發(fā)生哪種錯誤。讀取器/記錄器模式信息指示一個應用10是否可訪問讀取器/記錄器2。 為了允許一個應用10訪問讀取器/記錄器2 (即,允許一個應用IO開啟讀取 器/記錄器2),需要在該一個應用10和讀取器/記錄器2之間執(zhí)行偽相互驗 證。根據本實施例,因為設備驅動器40具有偽相互驗證能力,所以設備驅動 器40保存關于是否在讀取器/記錄器模式信息字段中成功執(zhí)行偽相互驗證的
信息。從而,設備驅動器40可識別哪一個應用10可以訪問讀取器/記錄器2。交易信息是關于在設備驅動器40和讀取器/記錄器2之間的通信的信息。至此,已經說明在設備驅動器40的通信表47中包含的各種通信信息。 因為在中間件20的通信表27中包含的各種通信信息類似于在通信表47中包 含的通信信息,不再重復描述通信表27中通信信息。然而注意到通信信息表 27中的驅動器句柄指示一個應用10的ID經由中間件20來訪問設備驅動器 40。因此,此驅動器句柄指示哪個設備驅動器40正由該一個應用IO訪問。如前所述,設備驅動器40和中間件20為可以訪問讀取器/記錄器2的每 個應用IO保存通信信息,如超時間隔和與讀取器/記錄器2通信的結果。從 而,每個應用10可隨時從中間件20獲取通信結果。此外,設備驅動器40可 為每個應用IO設置任何超時間隔。至此,已經說明根據本實施例的信息處理裝置1的配置,以及具體地, 設備驅動器40和中間件20的配置。接下來說明用于協(xié)調具有這種配置的信 息處理裝置1中的應用的方法。首先說明本實施例的用于協(xié)調應用的方法中讀取器/記錄器2的開啟處 理。當一個應用10使用讀取器/記錄器2發(fā)送命令和接收響應消息時,讀取 器/記錄器2需要對該一個應用IO開啟。如在此使用的,術語"讀取器/記錄 器2的開啟,,是指如下操作,其中在一個應用10和讀取器/記錄器2之間經 由裝置驅動器40執(zhí)行偽相互驗證,使得該一個應用10可使用讀取器/記錄器 2 (例如,可以發(fā)送命令到讀取器/記錄器2以及從讀取器/記錄器2接收響應 消息)。此開啟過程由中間件20執(zhí)行,以協(xié)同讀取器/記錄器2工作。中間件20響應于從一個應用10發(fā)送的讀取器/記錄器2的開啟請求(使 用請求)而選擇要開啟的一個讀取器/記錄器2。隨后,中間件20請求對應 于所選擇的讀取器/記錄器2的設備驅動器40開啟讀取器/記錄器2 (即,允 許該一個應用10使用要開啟的讀取器/記錄器2)。如果多個讀取器/記錄器2連接到信息處理裝置1,則中間件20使用以 下兩種方法之一,從多個讀取器/記錄器2之中選擇要開啟的一個讀取器/記 錄器2: ( 1 )選擇由該一個應用10指定的讀取器/記錄器2;以及(2 )在由 中間件20保存的列表中自動地并順序地選擇可用于該一個應用10的多個讀 取器/記錄器2之一。接下來參考圖6說明由使用上述選擇方法(1)的中間件20執(zhí)行的處理 流。圖6是根據本實施例的、當中間件20開啟由一個應用IO指定的一個讀 取器/記錄器2時由中間件20執(zhí)行的處理的流程圖。如圖6所示,中間件20從一個應用IO接收由該一個應用IO指定的讀取 器/記錄器2的開啟請求(RWi)(步驟SIO)。每個應用IO保存關于每個應用 10可以使用的讀取器/記錄器2的標識信息(例如端口名或者讀取器/記錄器 ID)。當該一個應用IO發(fā)送開啟請求到中間件20時,該一個應用10將關于 要開啟的讀取器/記錄器2(RWi)的標識信息附加到該開啟請求,以便指定要 開啟的讀取器/記錄器2。中間件20選擇由該一個應用10指定的讀取器/記 錄器2(RWi),作為要開啟的讀取器/記錄器2。隨后,中間件20請求對應于由該一個應用10指定的讀取器/記錄器 2 (RWi)的設備驅動器40開啟該讀取器/記錄器2 (RWi)(步驟S12 )。在接收到 開啟執(zhí)行請求后,設備驅動器40根據預定條件確定該一個應用IO是否可訪 問所指定的讀取器/記錄器2(RWi)。如果該一個應用IO可訪問所指定的讀取 器/記錄器2(RWi),則設備驅動器40開啟讀取器/記錄器2(RWi)。然而,如 果該一個應用10不可以訪問指定的讀取器/記錄器2 (RWi),則設備驅動器40 不開啟讀取器/記錄器2 (RWi)。由設備驅動器40執(zhí)行的這個操作隨后參考圖 8更詳細地-沈明。此后,中間件20基于從設備驅動器40發(fā)送的指示開啟成功或者不成功 的消息,確定讀取器/記錄器2(RWi)的開啟處理是否已經成功(步驟S14)。 如果讀取器/記錄器2 (RWi)的開啟處理成功,則中間件20執(zhí)行各種設置(例 如,通信信息表27的設置),使得發(fā)送開啟請求的該一個應用IO可以使用讀 取器/記錄器2(RWi)。然后中間件20向該一個應用IO發(fā)送指示成功開啟的 消息(步驟S16)。在此情況下,該一個應用10可以使用讀取器/記錄器WRWi), 并且可以向讀取器/記錄器2發(fā)送命令以及從讀取器/記錄器2接收應答信息。 然而,如果讀取器/記錄器2(RWi)的開啟處理不成功,則中間件20向發(fā)送開 啟請求的該一個應用IO發(fā)送指示開啟不成功的消息(步驟S18)。在此情況下,該一個應用10無法使用讀取器/記錄器2(RWi),因此,該 一個應用10無法向讀取器/記錄器2(RWi)發(fā)送命令以及從讀取器/記錄器 2(RWi)接收響應消息。如圖6中的處理流所示,中間件20執(zhí)行控制以便開啟由一個應用IO指 定的一個讀取器/記錄器2。 接下來參考圖7說明由使用上述選擇方法(2)的中間件20執(zhí)行的處理 流。圖7是根據本實施例的當中間件20順序地掃描多個讀取器/記錄器2并 且開啟可用讀取器/記錄器2時由中間件20執(zhí)行的處理的流程圖。如圖7所示,中間件20從一個應用10接收讀取器/記錄器2的開啟請求 (即,對使用讀取器/記錄器2的請求)(步驟S20)。在圖7所示的處理中, 該一個應用10不能指定對中間件20的特定的一個讀取器/記錄器2,并且請 求該中間件20開啟連接到信息處理裝置1的讀取器/記錄器2中的一些。如 下所述,在接收到請求后,中間件20自動地搜索對該一個應用IO可用的讀 取器/記錄器2,并且順序地開啟這些可用的讀取器/記錄器2。隨后,中間件20獲取包括自動地搜索到的一個或多個讀取器/記錄器2 的列表(步驟S22 )。中間件20以讀取器/記錄器2的列表的形式預存關于每 個應用10可用的讀取器/記錄器2的標識信息,以供自動搜索。以這種方法, 為每個應用10預定義要由中間件20自動搜索的讀取器/記錄器2。注意到, 讀取器/記錄器2的列表可隨著每個應用10而變化。在從該一個應用IO接收到開啟請求(如步驟S20所述)后,中間件20 讀出對應于發(fā)送開啟請求的該一個應用IO的列表,以便獲取自動搜索的讀取 器/記錄器2的標識信息(步驟S22)。在圖7所示的例子中,列出n個讀取 器/記錄器2(RWl、 RW2、 ...RWn),作為要開啟的讀取器/記錄器2。在以下 說明中,以此次序選擇RW1、 RW2、 ...RWn,并對所選的一個執(zhí)行開啟處理。更具體地,中間件20將變量i設置為零,作為初始值(步驟S24 )。此 后,中間件20對變量i加一 (步驟S26)。隨后,中間件20確定變量i是否 小于或等于n (步驟S28)。從而,中間件20選擇讀取器/記錄器2 (RW1 )作 為要開啟的讀取器/記錄器2。隨后,中間件20請求對應于讀取器/記錄器2 (RW1)的設備驅動器40 開啟該讀取器/記錄器2 (RW1)(步驟S30)。步驟S30中的處理類似于步驟 S12。中間件20基于從設備驅動器40接收的、指示開啟成功或者不成功的消 息來確定是否已經成功地開啟讀取器/記錄器2 ( RW1 )(步驟S32 )。如果讀取 器/記錄器2 (RW1 )的開啟處理成功,則處理過程進行到步驟S34,其中中間 件20執(zhí)行各種設置,使得發(fā)送開啟請求的該一個應用10可以使用讀取器/ 記錄器2 ( RW1 )。中間件20然后發(fā)送指示成功開啟讀取器/記錄器2 ( RW1 ) 的消息到該一個應用10 (步驟S34)。然而,如果讀取器/記錄器2 (RW1)的 開啟處理不成功,則處理過程返回到步驟S26,其中中間件20選擇列表中的 下一讀取器/記錄器2 (RW2)作為要開啟的一個讀取器/記錄器2。隨后,中 間件20以與對讀取器/記錄器2 (RW1 )所說明的相同的方式嘗試開啟讀取器 /記錄器2 ( RW2 )。中間件20重復這樣的處理過程,直到任一個讀取器/記錄器2的開啟處 理成功為止(步驟S32 )。如果對所有n個讀取器/記錄器2(RW1、 RW2、 . . . RWn ) 的開啟處理處理不成功,則在步驟S28確定變量i〉n,因此,處理過程進行 到步驟S36。中間件20向發(fā)送開啟請求的該一個應用10發(fā)送指示所有讀取 器/記錄器2不能被開啟的消息(步驟S36 )。如上所述,在圖7所示的處理流中,中間件20以由列表確定的預定次序 來從應用10可用的讀取器/記錄器2 (RW1、 RW2、 ...RWn)之中自動地并順 序地選擇要開啟的一個讀取器/記錄器2。隨后,通過順序地請求對應于所選 擇的讀取器/記錄器2的設備驅動器40開啟選擇的讀取器/記錄器2,中間件 20嘗試開啟所選擇的一個讀取器/記錄器2。以這種方法,中間件20可以自 動地搜索適合于一個應用10的讀取器/記錄器2,以便開啟一個讀取器/記錄 器2。在圖7所示的上述處理流中,如果任一個讀取器/記錄器2開啟處理成功, 則開啟處理完成,不再嘗試開啟另一個讀取器/記錄器2。然而本發(fā)明不限于 此。例如,中間件20可嘗試開啟由中間件20保存的列表中包含的讀取器/ 記錄器2(RW1、 RW2、 ...RWn),以便同時為應用10開啟多個讀取器/記錄器 2。使用同時開啟的多個讀取器/記錄器2的應用10的例子包括具有用于從多 個選項中選擇用戶答案的調查表能力或者測驗能力的應用。這種類型的應用 10可以通過確定IC卡3連接到與選項相關聯(lián)的哪一個讀取器/記錄器2來識 別用戶答案。接下來參考圖8說明根據本實施例的設備驅動器40開啟由中間件20請 求的一個讀取器/記錄器2的處理流。圖8是根據本實施例的設備驅動器40 開啟由中間件20請求的一個讀取器/記錄器2的處理的流程圖。如圖8所示,設備驅動器40從中間件20接收讀取器/記錄器2 (RWi)的 開啟執(zhí)行請求(步驟S40)。讀取器/記錄器2(RWi)的此開啟執(zhí)行請求是在圖 6所示的處理流的步驟S12、或在圖7所示的處理流的步驟S30發(fā)出的一個。在接收到開啟執(zhí)行請求后,設備驅動器40獲取由自身保存的關于讀取器 /記錄器2 ( RWj )的標識信息(步驟S42 )。隨后,設備驅動器40確定此標識 信息(RWj )是否等于由中間件20請求的一個讀取器/記錄器2的標識信息(RWi) (步驟S44 )。因為設備驅動器40和讀取器/記錄器2之間具有一一對應關系,因此,設備驅動器40比較標識信息(RWj)和標識信息(RWi)。如果標識信息 (RWj )等于標識信息(RWi),則設備驅動器40可以確定其接收到對應于自身 的一個讀取器/記錄器2的有效開啟請求,因此,處理過程進行到步驟S46。 然而,如果標識信息(RWj )不等于標識信息(RWi),則其確定設備驅動器40 已經接收到該設備驅動器40不支持的、對一個讀取器/記錄器2 (RWi)的開啟 請求。從而,處理進行到步驟S56,其中確定讀取器/記錄器2(RWi)的開啟處 理不成功,并且設備驅動器40將該信息通知給中間件20。隨后,在步驟S46,設備驅動器40確定是否已經以專用模式為了除了該 一個應用10之外的一個應用10開啟了讀取器/記錄器2 (RWi-RWj)(步驟 S46)。在專用模式下,因為僅僅一個應用10可以使用讀取器/記錄器2(RWi), 所以需要禁止來自后續(xù)的一個應用10的開啟請求。因此,如果在步驟S46, 確定讀取器/記錄器2(RWi)是以專用模式開啟的,則處理進行到步驟S56。在 步驟S56,確定讀取器/記錄器2(RWi)的開啟是不成功的,并且設備驅動器 40向中間件20通知該信息。相反,如果確定讀取器/記錄器2(RWU沒有以專 用模式開啟(例如,讀取器/記錄器2(RWi)沒有由除了該一個應用IO之外的 一個應用IO開啟,或者由除了該一個應用IO之外的應用10以共享模式開啟 讀取器/記錄器2 (RWi)),則處理進行到步驟S48。在步驟S48,設備驅動器40確定已訪問讀取器/記錄器2(RWi)的應用10 的數量是否達到預定的最大訪問數(步驟S48)。如上所述,在共享模式中, 多個應用10可以同時訪問一個讀取器/記錄器2。此時,為降低信息處理裝 置l的處理單元(例如CPU 101)的處理負荷,可同時訪問一個讀取器/記錄 器2的應用10的數量被限制為小于或等于預定最大數(例如8)的值。因此, 在步驟S46,設備驅動器40確定已訪問讀取器/記錄器2 (RWi)的應用10的數 量是否達到預定的最大訪問數。如果已訪問讀取器/記錄器2(RWi)的應用10 的數量達到預定的最大訪問數,則處理進行到步驟S56。在步驟S56,設備驅 動器40確定讀取器/記錄器2(RWi)的開啟處理不成功,并且向中間件20通 知此信息。此操作可防止盡管最大數量的應用10已訪問讀取器/記錄器2(RWi)而在允許請求開啟處理的一個應用10訪問讀取器/記錄器2時發(fā)生的處理單元的過度處理負荷。然而,如果已訪問讀取器/記錄器2(RWi)的應用10的數 量沒有達到預定的最大訪問數,則處理進行到步驟S50。在步驟S50,中間件20將發(fā)送開啟請求的該一個應用10連接到讀取器/ 記錄器2(RWi),隨后檢查讀取器/記錄器2(RWi)的操作(步驟S50)。從而, 中間件20確定讀取器/記錄器2 (RWi)是否無問題地操作(步驟S52 )。如果確 定讀取器/記錄器2(RWi)的操作不正常,則處理進行到步驟S56。在步驟S56, 設備驅動器40確定讀取器/記錄器2(RWi)的開啟處理是不成功的,并且向中 間件20通知該信息。從而,當讀取器/記錄器2(RWi)操作異常時,該一個應 用10不開啟讀取器/記錄器2(RWi)。如果確定讀取器/記錄器2(RWi)的操作 正常,則處理進行到步驟S54。在步驟S54,設備驅動器40確定對于發(fā)送開 啟請求的該一個應用10的讀取器/記錄器2(RWi)的開啟處理成功。設備驅動 器40執(zhí)行各種設置(例如,通信信息表27的設置),使得發(fā)送開啟請求的該 一個應用10可以使用讀取器/記錄器2(RWi)。設備驅動器40然后將指示成 功開啟的消息發(fā)送到中間件20 (步驟S54)。如上所述,響應于來自中間件20的開啟請求,設備驅動器40根據上述 各種條件(步驟S44、 S46、 S48和S52),確定是否可以從發(fā)送開啟請求的該 一個應用IO訪問由中間件20指定的讀取器/記錄器2(RWi)。如果讀取器/記 錄器2 (RWi)是可訪問的,則設備驅動器40可開啟讀取器/記錄器2 (RWi)。至此,已經說明根據本實施例的用于協(xié)調應用的方法中的一個讀取器/ 記錄器2的開啟處理。接下來參考圖9A到9C以及圖10到12具體地說明根 據本實施例的用于協(xié)調應用的方法中的命令處理方法。如上所述,當設備驅動器40設置到共享模式時,設備驅動器40的命令 接收模塊42從多個應用10順序地接收多個命令,并且請求命令執(zhí)行模塊44 按照接收命令的次序來執(zhí)行命令。更具體地,在共享模式下,在經由中間件 20從一個應用IO接收到命令執(zhí)行請求后,命令接收模塊42確定命令執(zhí)行模 塊44是否正在處理從除了該一個應用IO之外的應用IO接收的前一命令。如 果確定命令執(zhí)行模塊44處于命令執(zhí)行模塊44沒有執(zhí)行任何命令的信號模式, 則命令接收模塊42請求命令執(zhí)行模塊44立即執(zhí)行所接收的命令,并將信號 模式改變?yōu)榉切盘柲J?。然而,如果確定命令執(zhí)行模塊44處于命令執(zhí)行模塊 44正在執(zhí)行其他命令的非信號模式,則命令接收模塊42將所接收的命令置
于等待模式,并請求命令執(zhí)行模塊44在完成所述其他命令的執(zhí)行且命令執(zhí)行模塊44進入信號模式之后立即執(zhí)行該命令。現在在此參考圖9A到9C具體說明命令處理。圖9A到9C是使用根據本 實施例的、用于處理從多個應用IO接收的命令的方法的具體例子的示意圖。在圖9A到9C中,三個應用IOA、 IOB和10C按以下次序向設備驅動器 40發(fā)送六個命令執(zhí)行請求l)命令A, 2)命令A', 3 )命令A〃 , 4 )命令 B, 5)命令B',和6)命令B"。在此情況下,如圖9A所示,設備驅動器40從應用IOA接收第一命令A, 并且執(zhí)行命令A以便控制對應的一個讀取器/記錄器2。在執(zhí)行命令A期間, 設備驅動器40從應用10B接收命令A',從應用10C接收命令A'',并且將這 些命令置于執(zhí)行等待模式。注意到,此時,還沒有發(fā)出命令B、 B'和B〃。隨后,如圖9B所示,在完成第一命令A的執(zhí)行以后,設備驅動器40執(zhí) 行第二命令A'以便控制一個讀取器/記錄器2。在執(zhí)行命令A'期間,設備驅 動器40從應用IOC接收命令A〃并從應用IOA接收命令B,并且將這些命令 置于執(zhí)行等待模式。在從設備驅動器40接收到命令A終止消息后,應用10A 請求設備驅動器40執(zhí)行后續(xù)的命令B。然而,如上所述,設備驅動器40比 命令B更早地執(zhí)行從應用10B接收的命令A'和從應用10C接收的命令A''。此后,如圖9C所示,在完成第二命令A'的執(zhí)行以后,設備驅動器40執(zhí) 行第三命令A〃以便控制一個讀取器/記錄器2。在命令A〃的執(zhí)行期間,設 備驅動器40從應用10A接收命令B以及從應用10B接收命令B',并且將這 些命令置于執(zhí)行等待模式。隨后,設備驅動器40按上述方式,以接收這些命 令的次序來順序地執(zhí)行命令B、命令B'、以及命令B〃。接下來參考圖IO更詳細地說明在圖9A到9C中說明的例子中命令執(zhí)行序 列。圖IO是圖解了根據本實施例的信息處理裝置1的命令處理流的具體例子 的序列圖。如圖10所示,在從應用IOA接收到開啟請求后,中間件20和設備驅動 器40執(zhí)行圖6到8所示的上述步驟,以便為應用10A開啟對應的一個讀取器 /記錄器2 (步驟S60和S61 )。類似地,為應用10B開啟該一個讀取器/記錄 器2 (步驟S62和S63 ),并且為應用10C開啟該一個讀取器/記錄器2 (步驟 S64和S65)。從而,應用IOA、 IOB和10C可以使用該一個讀取器/記錄器2, 以便經由該一個讀取器/記錄器2發(fā)送命令到IC卡3,并且從IC卡3接收響應消息。隨后,應用10A經由中間件20向設備驅動器40發(fā)送命令A的執(zhí)行請求 (步驟S66)。設備驅動器40立即執(zhí)行命令A,并且經由一個讀取器/記錄器 2向IC卡3傳輸命令A (步驟S67 )。此后,設備驅動器40經由一個讀取器/ 記錄器2接收響應于來自IC卡3的命令A的響應消息A,并且將此響應消息 A輸出到應用10A (步驟S70)。在命令A的執(zhí)行期間(即在步驟S67到步驟 S70的時間段期間),應用10B將命令A'的執(zhí)行請求發(fā)送到設備驅動器40(步 驟S68)。此外,應用10C將命令A〃的執(zhí)行請求發(fā)送到設備驅動器40 (步驟 S69)。然而,設備驅動器40將這些命令A'和A〃置于執(zhí)行等待模式,以便讓 應用IOB和IOC待命(standby)。在完成命令A的執(zhí)行以后(步驟S70),設 備驅動器40執(zhí)行命令A'以便將此命令傳輸到IC卡3 (步驟S71 )。設備驅動 器40然后從IC卡3接收響應于命令A'的響應消息A'(步驟S73)。此外, 在完成命令A'的執(zhí)行以后(步驟S73 ),設備驅動器40執(zhí)行命令A''(步驟 S74),并且從IC卡3接收響應消息A〃 (步驟S76)。類似地,設備驅動器40分別從應用IOA、 IOB和IOC順序地接收命令B、 B'和B"的執(zhí)行請求(步驟S72、 S75和S78)。此時,設備驅動器40使得應 用IOA、 10B和10C進入待命模式直到前面的命令A'' 、 B和B'的執(zhí)行完成(步 驟S76、 S79和S81)當前面的命令A〃、 B和B'的執(zhí)行完成時,分別執(zhí)行命 令B、 B'和B〃 (步驟S77、 S80和S82)。當設備驅動器40接收到響應于最 后接收的命令B〃的響應消息B〃,并且將響應消息B〃輸出到應用IOC時, 整個處理過程完成。如上所述,在根據本實施例的用于處理命令的方法中,設備驅動器40 以接收命令的次序來順序地執(zhí)行,人應用IO接收的命令。以此方法,多個應用 10可同時使用一個讀取器/記錄器2,因此,可適當地提供多應用環(huán)境。然而,如果在完成特定命令之后執(zhí)行用于IC卡3的一些命令,則這些命 令改變IC卡3的狀態(tài)。因此,考慮一個應用10以共享模式開啟一個讀取器/ 記錄器2,并且執(zhí)行需要連續(xù)執(zhí)行的一系列命令。此時,如果來自除了該一 個應用IO之外的一個應用IO的命令中斷了執(zhí)行,并且執(zhí)行該命令,則該一 系列命令的執(zhí)行可能失敗。從而,該一個應用10以不希望的方式操作。例如,如果命令A是應用IOA和IC卡3之間的相互驗證命令,并且來自 應用IOB的命令A'(例如,輪詢命令或者讀/寫命令)中斷了命令A的執(zhí)行,
則盡管依賴于命令A〃的種類,驗證也可能被強制復位。在這種情況下,如果命令B被設計為要求驗證過程的完成,則命令B的執(zhí)行失敗。根據本實施例,如上所述,中間件20向應用1G提供用于獲取和終止一 個讀取器/記錄器2的訪問權的API 22。此外,響應于訪問權的獲取和終止 請求,設備驅動器40可以向和從請求者應用IO授予和撤回用于訪問一個讀 取器/記錄器2的訪問權。從而,從請求者應用10接收到訪問權的時刻到請 求者應用10終止訪問權的時刻(即在臨界部分期間),設備驅動器40可以允 許僅從該一個應用IO接收的命令的執(zhí)行,并且禁止從除了該一個應用10之 外的應用IO接收的命令的執(zhí)行。另外,當一個應用10得到訪問權且設備驅動器40從除了該一個應用10 之外的一個應用IO接收到命令時,在從設備驅動器40接收該命令的時刻到 達到預定訪問權等待超時的時刻中,設備驅動器40將從除了該一個應用10 之外的應用10接收的命令置于執(zhí)行等待模式。當達到預定訪問權等待超時 時,設備驅動器40將超時錯誤消息發(fā)送到除了該一個應用IO之外的一個應 用10。參考圖11具體地說明授予和撤回訪問權的處理以及訪問權等待超時的 處理。圖11是根據本實施例的授予訪問權給一個應用IO和從一個應用10撤 回訪問權的處理以及訪問權等待超時的處理的示意圖。在圖ll所示的例子中,三個應用IOA、 IOB和IOC按以下次序向設備驅 動器40發(fā)出命令執(zhí)行請求l)訪問權獲取命令,2)命令A, 3)命令A', 4) 命令B, 5)命令B',和6)命令A〃, 7)命令C, 8)命令D, 9)命令C', 10)命令B〃,和ll)訪問權終止命令。命令A、 B、 C和D形成了需要被連 續(xù)執(zhí)行的一系列命令。在此情況下,應用IOA在發(fā)送第一命令A執(zhí)行請求前將用于獲取訪問權 的命令(訪問權獲取命令)輸出到設備驅動器40。另外,應用IOA在完成最 后命令D的執(zhí)行之后將用于終止訪問權的命令(訪問權終止命令)輸出到設 備驅動器40。在收到訪問權獲取請求后,設備驅動器40向應用IOA授予訪 問權。相反,在收到訪問權終止請求后,設備驅動器40撤回向應用IOA授予 的訪問權。設備驅動器40保存關于向應用IOA授予的訪問權的信息,因此, 設備驅動器40可以將應用IOA從沒有訪問權的應用IOB或10C區(qū)分開。以這種方法,在從應用IOA取得訪問權的時刻到應用IOA終止訪問權的
時刻的臨界部分,設備驅動器40可以禁止執(zhí)行從應用10B和1OC發(fā)送的命令, 并且僅僅允許連續(xù)地執(zhí)行從應用IOA發(fā)送的一系列命令A、 B、 C和D。另夕卜, 在終止訪問權以后,以接收命令的次序來執(zhí)行命令。結果,在圖ll所示的例 子中,命令按以下次序執(zhí)行命令A,命令B,命令C,命令D,命令A',命 令B',命令A〃,命令C、以及命令B"。此外,在圖ll所示的例子中,在執(zhí)行從應用IOA接收的命令B期間,從 應用IOB接收的命令A'以及從應用IOC接收的命令A"的執(zhí)行被置于訪問權 等待模式。此時,設備驅動器40已接收到命令A'和A"的執(zhí)行請求的時刻開 始對經過的時間進行計數。如果在完成命令B的執(zhí)行之前達到由應用IOB或 者10C指定的訪問權等待超時,則設備驅動器40將訪問權等待超時錯誤消息 發(fā)送到應用IOB或IOC。以此方法,設備驅動器40可限制應用10B和10C的 等待時間,從而防止由于收到過多的命令執(zhí)行請求而51起一個讀取器/記錄器 2的過載。接下來參考圖12更詳細地說明授予和終止訪問權的命令處理以及訪問 權等待超時的處理。圖12是圖解了根據本實施例的信息處理裝置1中授予和 終止訪問權的命令處理的具體例子的序列圖。如圖12所示,如同圖IO所示的例子,為應用IOA、 10B和10C開啟一個 讀取器/記錄器2 (步驟S100至步驟S105 )。隨后,應用10A經由中間件20請求設備驅動器40向自己授予訪問權。 從而,應用IOA獲取訪問權(步驟S106)。在設備驅動器40向應用IOA授予 訪問權之后,設備驅動器40不能執(zhí)行從應用IOB和IOC接收的命令。當訪問 權被授予應用10A或者被終止時,中間件20僅作用為設備驅動器40和每個 應用IOA到IOC之間的接口。當API 22由一個應用IO調用時,中間件20向 設備驅動器40輸出用于獲取或者終止訪問權的命令。收到訪問權獲取請求或 者訪問權終止請求后,設備驅動器40確定其是否可以授予或者終止訪問權以 便授予或者終止該訪問權。設備驅動器40然后經由中間件20將授予或者終 止訪問權的結果發(fā)送到應用10。隨后,具有授予的訪問權的應用10A經由中間件20將一系列命令A、 B 和C的執(zhí)行請求發(fā)送到設備驅動器40 (步驟S107、 Slll和S115 )。設備驅動 器40立即執(zhí)行這些命令A、 B和C,并且經由一個讀取器/記錄器2將這些命 令A、 B和C傳輸到IC卡3 (步驟S108、 S112和S116)。此后,設備驅動器40經由一個讀取器/記錄器2從IC卡3接收響應消息A、 B和C,并且將這些 響應消息A、 B和C輸出到應用IOA (步驟SllO、 S114和S118)。在完成一系列命令A、 B和C的執(zhí)行以后(步驟S118),應用IOA經由中 間件20請求設備驅動器40終止訪問權。從而,訪問權被終止(步驟S119)。 在終止訪問權之后,設備驅動器40可以執(zhí)行從應用IOB和IOC發(fā)送的命令。在上述從應用IO取得訪問權的時刻到應用10終止訪問權的時刻的臨界 部分中(步驟S106至步驟S119),應用IOA具有獨占性的訪問權。因此,即 使在應用10B將命令A'和C'的執(zhí)行請求發(fā)送到設備驅動器40時(步驟S109 和S117 ),設備驅動器40也將命令A'和C'的執(zhí)行置于訪問權等待模式,并 且讓應用IOB待命。當為應用10B設置的、并且在收到被請求首先執(zhí)行的命令A'時(步驟 S109)開始的訪問權等待超時達到時(步驟S113),上述訪問權仍沒有終止。 因此,設備驅動器40將關于命令A'的訪問權等待超時錯誤發(fā)送到應用10B (步驟S113)。相反,當為應用IOB設置的、并且在收到被請求下一個執(zhí)行的命令(7時 (步驟S117)開始的訪問權等待超時達到時,上述訪問權已經被終止(步驟sii9 )。因此,設備驅動器40執(zhí)行命令cy以便經由一個讀取器/記錄器2將命令CM專輸到IC卡3 (步驟S120)。隨后,設備驅動器40經由一個讀取器/ 記錄器2從ic卡3接收對命令cy的響應消息C',并且將響應消息C'輸出到 應用10B (步驟S121 )。另外,在終止了向應用IOA授予的訪問權之后,應用IOC可以獲取用于 訪問一個讀取器/記錄器2的訪問權(步驟S122)。從而,在從應用10C取得 訪問權的時刻到應用10C終止訪問權的時刻的臨界部分中(步驟S122至步驟 S128 ),設備驅動器40僅僅執(zhí)行從具有訪問權的應用10C接收的命令D''(步 驟S125和S126),并且將從應用IOA接收的命令D置于訪問權等待模式(步 驟S123至S127)。隨后,當為應用10A設置的、并且在接收到命令D時(步 驟S123 )開始的訪問權等待超時達到時(步驟S127 ),設備驅動器40將關于 命令D的訪問權等待超時錯誤發(fā)送到應用10A (步驟S127 )。如上所述,在根據本實施例的命令處理中,當一個應用IO請求訪問權時, 向該一個應用10授予對一個讀取器/記錄器2的獨占性訪問權。從而可禁止 由除了該一個應用10之外的應用10執(zhí)行的命令中斷,因此,可以可靠地并
成功地實現需要連續(xù)執(zhí)行的一系列命令的執(zhí)行。因此,可以可靠地操作一個 應用10。另外,通過提供訪問權等待超時能力,當除了一個應用IO之外的一個應 用IO保存訪問權時, 一個應用10的等待時間間隔可以限制為小于或者等于 預定時間段。因此,從多個應用10請求的過多處理不會集中在一個讀取器/記錄器2上,因此,可以防止信息處理裝置1的過載。此外,當一個應用10 接收到訪問權等待超時錯誤消息時,該一個應用10可以重試相同命令的執(zhí) 行,或者在信息處理裝置1的監(jiān)視器上顯示該信息。至此,已經具體說明了根據本實施例的信息處理裝置1和用于為信息處 理裝置l中IC卡3協(xié)調多個應用IO的方法。根據本實施例,用于IC卡3的 中間件20和設備驅動器40可以適宜地提供多應用環(huán)境。因此,即使當用于 IC卡3的多個應用10在連接到用于IC卡3的一個讀取器/記錄器2的信息 處理裝置1中同時運行、并且多個應用10在連接了多個讀取器/記錄器2的 信息處理裝置1中運行時,應用IO可以沒有任何問題地運行。也就是說,因為設備驅動器40順序地處理從多個應用10發(fā)送的命令執(zhí) 行請求,所以可由多個應用10同時使用一個讀取器/記錄器2,因此,多個 應用10的功能可以同時有效。例如,當一個應用IO顯示在IC卡3中的關于 電子貨幣的余額信息和購物記錄信息時,除了該一個應用IO之外的一個應用 IO可以顯示IC卡3中關于轉帳支付日志的信息。此外,即使當多個讀取器/記錄器2連接到信息處理裝置1時,中間件 20也可以適當地分配從應用10到讀取器/記錄器2的訪問。從而,數據訪問 不集中在任何一個讀取器/記錄器2上,因此,可以增加同時操作的多個應用 10的處理效率。此外,用于訪問IC卡3的軟件具有三層(tier)結構,即應用10、中間 件20和設備驅動器40。因此,即使當修改了用于讀取器/記錄器2的命令的 結構時,中間件20和設備驅動器40也可以補償讀取器/記錄器2中的變化。 因此,現行應用10可以不需任何修改地操作。此外,即使當使用僅包括OS 32以及不包括用于IC卡3的應用的IC卡 3、或者不允許預定IC卡命令被后來修改的IC卡3的時候,信息處理裝置1 也可以適當地提供多應用環(huán)境。已經參考具體實施例說明了本發(fā)明,而本發(fā)明不限于此。本領域技術人 員應理解,可以根據設計要求和其他因素進行各種修改、組合、子組合和替 換,只要它們處于所附權利要求或者等同物的范圍內即可。例如,雖然已參考連接了多個讀取器/記錄器2的信息處理裝置1來說明 上述示范性實施例,但本發(fā)明不限于此。例如,可將僅僅一個讀取器/記錄器 2連接到信息處理裝置1。另外,已經參考非接觸IC卡3和以非接觸方式與該IC卡3通信的讀取 器/記錄器2來說明了上述示范性實施例,但本發(fā)明不限于此。例如,IC卡3 可以是接觸IC卡(例如,磁卡),并且可采用以接觸方式從IC卡3讀取信息 以及向IC卡3寫入信息的讀取器/記錄器2。此外,可將包括IC卡3的上述 能力的信息處理裝置嵌入各種單元,如移動設備(例如蜂窩電話)以及手表。 可替換地,可將包括IC卡3的上述能力的信息處理裝置附加到各種產品、促 銷玩偶、輔助設備以及活頁印刷品,使得這些產品和貨物可以代替IC卡3使 用。也就是說,這些產品和貨物在根據本發(fā)明的IC卡的范圍之內。相關申請的交叉引用本文件包含與于2006年4月5日在日本特許廳申請的日本專利申請 JP2006-104308相關的主題,其全部內容作為參考合并于此。
權利要求
1.一種能夠經由讀取器/記錄器連接到IC卡的信息處理裝置,包括中間件,用于向用于IC卡的多個應用提供由所述應用共享的基本功能;以及被提供為對應于讀取器/記錄器的設備驅動器,該設備驅動器以接收命令的次序來順序地處理經由中間件而從所述多個應用接收的多個命令,以便控制相應的讀取器/記錄器,使得應用同時訪問讀取器/記錄器。
2. 如權利要求1所述的信息處理裝置,其中設備驅動器在共享模式和專 用模式之間切換,其中在共享模式中,允許多個應用同時訪問讀取器/記錄器, 在專用模式中,僅僅允許一個應用訪問讀取器/記錄器。
3. 如權利要求2所述的信息處理裝置,其中所述中間件向應用提供用于 每個應用的應用編程接口,以選擇共享模式和專用模式中的一個,并且其中 所述設備驅動器根據為每個應用選擇的模式來在共享模式和專用模式之間切 換。
4. 如權利要求2所述的信息處理裝置,其中,當設置了共享模式時,設 備驅動器響應于從一個應用接收的請求,而向該一個應用授予對讀取器/記錄 器的訪問權,以及其中,當訪問權被授予該一個應用時,設備驅動器僅僅執(zhí) 行從該一個應用接收的命令,并且將從除了該一個應用之外的應用接收的命令置于執(zhí)行等待模式。
5. 如權利要求4所述的信息處理裝置,其中所述中間件向該一個應用提 供用于該一個應用的應用編程接口 ,以請求設備驅動器向該一個應用4受予訪 問權。
6. 如權利要求1所述的信息處理裝置,其中,當在執(zhí)行從一個其他應用 接收的命令的同時從一個應用接收到命令時,設備驅動器在從接收到命令的 時刻到已經過預定超時間隔的時刻中,將所接收的命令置于執(zhí)行等待模式, 并且其中,當已經過預定超時間隔時,設備驅動器將超時錯誤消息發(fā)送到該 一個應用。
7. 如權利要求6所述的信息處理裝置,其中所述設備驅動器能夠為每個 應用設置超時間隔。
8. 如權利要求1所述的信息處理裝置,其中所述設備驅動器將同時可訪 問讀取器/記錄器的數量限制為預定的最大訪問數或者更少。
9. 如權利要求1所述的信息處理裝置,其中所述設備驅動器包括通信信 息存儲模塊,用于存儲關于每個應用和用于每個應用的讀取器/記錄器之間的 通信的信息。
10. 如權利要求1所述的信息處理裝置,其中多個讀取器/記錄器連接到信息處理裝置,并且其中,所述中間件根據從每個應用接收的使用請求來選 擇一個讀取器/記錄器,并請求與所選擇的讀取器/記錄器相對應的設備驅動器將所選擇的讀取器/記錄器設置為可用,并且其中,所述設備驅動器響應于 來自中間件的請求,確定是否可從每個應用訪問所選擇的讀取器/記錄器,并 且其中,如果所選擇的讀取器/記錄器是可訪問的,則設備驅動器將所選擇的 讀取器/記錄器設置為對每個應用可用。
11. 如權利要求IO所述的信息處理裝置,其中所述中間件保存與每個應 用兼容的一個或多個讀取器/記錄器的列表,并且順序地選擇列表中的一個讀 取器/記錄器,以便順序地請求與所選擇的讀取器/記錄器相對應的設備驅動 器將所選擇的讀取器/記錄器設置為對每個應用可用。
12. —種用于為在能夠經由讀取器/記錄器連接到IC卡的信息處理裝置 中使用的IC卡協(xié)調多個應用的方法,該方法包括如下步驟由被提供為對應于讀取器/記錄器的設備驅動器從中間件接收多個命令, 所述中間件向多個應用提供由所述應用共享的基本功能,使得所述應用可同 時訪問讀取器/記錄器;以及以接收命令的次序來順序地處理由設備驅動器接收的多個命令,以便控 制讀取器/記錄器。
13. 如權利要求12所述的協(xié)調多個應用的方法,其中設備驅動器在共享 模式和專用模式之間切換,其中在共享模式中,允許多個應用同時訪問讀取 器/記錄器,在專用模式中,僅僅允許一個應用訪問讀取器/記錄器。
14. 如權利要求13所述的協(xié)調多個應用的方法,其中所述中間件向應用 提供用于每個應用的應用編程接口 ,以選擇共享模式和專用模式中的 一個, 并且其中所述設備驅動器根據為每個應用選擇的模式來在共享模式和專用模 式之間切才灸。
15. 如權利要求13所述的協(xié)調多個應用的方法,其中,當設置了共享模 式時,設備驅動器響應于從一個應用接收的請求,而向該一個應用授予對讀取器/記錄器的訪問權,以及其中,當訪問權被授予該一個應用時,設備驅動 器僅僅執(zhí)行從該一個應用接收的命令,并且將從除了該一個應用之外的應用 接收的命令置于執(zhí)行等待模式。
16. 如權利要求15所述的協(xié)調多個應用的方法,其中所述中間件向該一 個應用提供用于該一個應用的應用編程接口 ,以請求設備驅動器向該一個應 用授予訪問權。
17. 如權利要求12所述的協(xié)調多個應用的方法,其中,當在執(zhí)行從一個 其他應用接收的命令的同時從一個應用接收到命令時,設備驅動器在從接收 到命令的時刻到已經過預定超時間隔的時刻中,將所接收的命令置于執(zhí)行等 待模式,并且其中,當已經過預定超時間隔時,設備驅動器將超時錯誤消息 發(fā)送到該一個應用。
18. 如權利要求17所述的協(xié)調多個應用的方法,其中所述設備驅動器能 夠為每個應用設置超時間隔。
19. 如權利要求12所述的協(xié)調多個應用的方法,其中所述設備驅動器將 同時可訪問讀取器/記錄器的數量限制為預定的最大訪問數或者更少。
20. 如權利要求12所述的協(xié)調多個應用的方法,其中所述設備驅動器包 括通信信息存儲模塊,用于存儲關于每個應用和用于每個應用的讀取器/記錄 器之間的通信的信息。
21. 如權利要求12所述的協(xié)調多個應用的方法,其中多個讀取器/記錄器 連接到信息處理裝置,并且其中,所述中間件根據從每個應用接收的使用請 求來選擇一個讀取器/記錄器,并請求與所選擇的讀取器/記錄器相對應的設 備驅動器將所選擇的讀取器/記錄器設置為可用,并且其中,所述設備驅動器 響應于來自中間件的請求,確定是否可從每個應用訪問所選擇的讀取器/記錄器,并且其中,如果所選擇的讀取器/記錄器是可訪問的,則設備驅動器將所 選擇的讀取器/記錄器設置為可用。
22. 如權利要求21所述的協(xié)調多個應用的方法,其中所述中間件保存與 每個應用兼容的一個或多個讀取器/記錄器的列表,并且順序地選擇列表中的 一個讀取器/記錄器,以便順序地請求與所選擇的讀取器/記錄器相對應的設備驅動器將所選擇的讀取器/記錄器設置為可用。
23. —種程序包括用于使得計算機作用為能夠經由讀取器/記錄器連接到卡片的信息處理裝置的程序代碼,該信息處理裝置包括用于向用于IC卡的多個應用提供由所 述應用共享的基本功能的中間件,以及被提供為對應于讀取器/記錄器的設備多個應用接收的多個命令,以便控制對應的讀取器/記錄器,使得應用同時訪 問讀取器/記錄器。
全文摘要
一種信息處理裝置能夠經由讀取器/記錄器而連接到IC卡。該信息處理裝置包括中間件和被提供為對應于讀取器/記錄器的設備驅動器。中間件向用于IC卡的多個應用提供由應用共享的基本功能。設備驅動器以接收命令的次序來順序地處理經由中間件而從多個應用接收的多個命令,以便控制相應的讀取器/記錄器。以這種方法,應用同時訪問讀取器/記錄器。
文檔編號G06K7/00GK101149782SQ20071012925
公開日2008年3月26日 申請日期2007年4月5日 優(yōu)先權日2006年4月5日
發(fā)明者米田好博, 若月玲 申請人:索尼株式會社
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
金秀| 彩票| 将乐县| 新干县| 永泰县| 玉田县| 正定县| 凤台县| 忻城县| 巍山| 三河市| 酒泉市| 宜城市| 宾川县| 治多县| 交口县| 类乌齐县| 永春县| 通道| 西乡县| 新密市| 江川县| 大埔县| 琼结县| 临邑县| 临海市| 丹寨县| 邳州市| 阳曲县| 林州市| 辽源市| 伽师县| 澎湖县| 蒲城县| 泰来县| 姜堰市| 定西市| 银川市| 鸡西市| 佛冈县| 米林县|