以下,本実施の形態について,図を用いて説明する。
図1は,携帯電話機における複数電話番号サービスの例を説明する図である。
図1において,携帯電話機10は,電話の発信者が所有する携帯電話機である。発信者の携帯電話機10は,通信事業者が提供する複数電話番号サービスを実現する機能を有している。通信事業者システム20は,複数電話番号サービスを提供している,発信者の携帯電話機10に対応する通信事業者の設備である。電話機30は,発信者が携帯電話機10で電話発信する相手先の電話機である。携帯電話機10と通信事業者システム20との間,通信事業者システム20と電話機30との間は,それぞれ通信網40,通信網50で接続されている。
発信者の携帯電話機10では,2つの電話番号090-AAA-AAAA,090-BBB-BBBBが利用可能であるものとする。ここでは,電話番号090-AAA-AAAAが主番号であり,電話番号090-BBB-BBBBが副番号であるものとする。相手先の電話機30の電話番号は,090-XXX-XXXXであるものとする。なお,複数電話番号サービスで発信者の携帯電話機10で利用できる電話番号が,3つ以上であってもよい。
発信者は,携帯電話機10で電話発信を行うときに,携帯電話機10のユーザインタフェースで発信モードを指定する。本実施の形態では,複数電話番号サービスにおいて,発信電話番号を使い分けるためのモード分類を,発信モードと呼ぶ。ここでは,主番号090-AAA-AAAAを発信電話番号として電話発信を行う発信モードをAモードとし,副番号090-BBB-BBBBを発信電話番号として電話発信を行う発信モードをBモードとする。発信者は,携帯電話機10で電話発信を行うときに,発信モードとしてAモードかBモードを指定して電話発信を行う。なお,発信モードの指定がない場合には,自動的にAモードが指定されたものとして,電話発信が行われる。
携帯電話機10は,電話発信を行うときに,発信モードの情報を含めた発信を行う。このとき,携帯電話機10は,選択された発信モードにかかわらず,主番号090-AAA-AAAAで発信を行う。発信モードに応じた発信電話番号の管理・制御は,通信事業者システム20で行われる。
通信事業者システム20は,携帯電話機10で利用可能な複数電話番号の組合せを,複数電話番号紐付け情報21で管理する。図1に示す複数電話番号紐付け情報の例では,携帯電話機10の電話番号(主番号)090-AAA-AAAAに対して,Aモードの発信電話番号090-AAA-AAAAと,Bモードの発信電話番号090-BBB-BBBBとが紐付けられている。
通信事業者システム20は,複数電話番号紐付け情報21を参照し,携帯電話機10からの電話発信に含まれる発信モードの情報に応じて,携帯電話機10からの電話発信の発信電話番号を書き換える。また,通信事業者システム20は,発信モードに応じた電話番号ごとの課金処理を行う。相手先の電話機30では,発信モードに応じて書き換えられた携帯電話機10の発信電話番号が,着信電話番号として通知される。
例えば,図1に示すように,携帯電話機10において,発信者が発信モードとしてAモードを指定して,電話機30に対して電話発信を行うものとする。このとき,携帯電話機10から通信事業者システム20に発信される電話発信の信号では,発信電話番号(From)として主番号090-AAA-AAAAが,発信モードとしてAモードが,相手先電話番号(To)として電話機30の電話番号090-XXX-XXXXが指定されている。なお,発信者に指定された発信モードが携帯電話機10の主番号である場合には,携帯電話機10から通信事業者システム20に発信される電話発信の信号において,発信モードの情報が省略される場合もある。
通信事業者システム20は,携帯電話機10からの電話発信の信号に含まれる発信モードの指定がAモードであるので,複数電話番号紐付け情報21からAモードに応じた電話番号090-AAA-AAAAを取得する。通信事業者システム20は,取得された電話番号090-AAA-AAAAで,携帯電話機10からの電話発信の信号の発信電話番号(From)を書き換える。この例では,Aモードは主番号での発信モードであるので,書き換え前後の発信電話番号は変わらない。また,通信事業者システム20は,この電話発信による通話料金の課金処理は,Aモードの電話番号090-AAA-AAAAに対して行う。
電話機30は,発信電話番号(From)がAモードの電話番号090-AAA-AAAAである電話発信の信号を着信する。
また,例えば,図1に示すように,携帯電話機10において,発信者が発信モードとしてBモードを指定して,電話機30に対して電話発信を行うものとする。このとき,携帯電話機10から通信事業者システム20に発信される電話発信の信号では,発信電話番号(From)として主番号090-AAA-AAAAが,発信モードとしてBモードが,相手先電話番号(To)として電話機30の電話番号090-XXX-XXXXが指定されている。
通信事業者システム20は,携帯電話機10からの電話発信の信号に含まれる発信モードの指定がBモードであるので,複数電話番号紐付け情報21からBモードに応じた電話番号090-BBB-BBBBを取得する。通信事業者システム20は,取得された電話番号090-BBB-BBBBで,携帯電話機10からの電話発信の信号の発信電話番号(From)を書き換える。また,通信事業者システム20は,この電話発信による通話料金の課金処理は,Bモードの電話番号090-BBB-BBBBに対して行う。
電話機30は,発信電話番号(From)がBモードの電話番号090-BBB-BBBBである電話発信の信号を着信する。
本実施の形態では,通信事業者による複数電話番号サービスは,このような仕組みで行われているものとする。
以下,複数電話番号サービスに非対応のオープンな携帯電話OSからでも複数電話番号を利用した電話発信が可能となる,本実施の形態の携帯電話機の技術について,説明する。
〔実施の形態1〕
図2は,本実施の形態1による携帯電話機の構成例を示す図である。
図2に示す携帯電話機100は,通信事業者が提供する複数電話番号サービスに対応する携帯電話機であり,図1に示す携帯電話機10に相当する。携帯電話機100には,仮想化技術が導入されている。携帯電話機100は,仮想マシン110,仮想マシン120,ハイパーバイザ130,ハードウェア140を備える。
携帯電話機100のコンピュータのハードウェア140としては,SIM(Subscriber Identity Module)141,CPU(Central Processing Unit )142,RAM(Random Access Memory)やROM(Read Only Memory)などのメモリ143,外部との通信を行うための通信機能部144等が備えられている。仮想マシン110,仮想マシン120,ハイパーバイザ130は,携帯電話機100のコンピュータが備えるCPU142,メモリ143等のハードウェアと,ソフトウェアプログラムとによって実現される。
SIM141は,主番号となる電話番号が記録されたデバイスである。例えば,SIMカードは,携帯電話の電話番号を特定するための固有のIDが記録されたICカードである。本実施の形態では,SIM141に,主番号“090-AAA-AAAA”が記録されている。
図2に示すように,本実施の形態1では,携帯電話機100に,仮想マシン110,仮想マシン120の2つの仮想マシンが用意されている。ハイパーバイザ130は,携帯電話機100上で動作する,2つの仮想マシンの管理・制御を行う。
仮想マシン110は,携帯電話機100に対応する通信事業者固有のクローズドな携帯電話OSの仮想マシンである。仮想マシン110のOSは,通信事業者が提供する複数電話番号サービスに対応する複数番号対応OSである。仮想マシン110は,ユーザが発信モードを選択して電話発信を行うことが可能なユーザインタフェースを有している。
仮想マシン120は,ソースコードが公開されたオープンな携帯電話OSの仮想マシンである。仮想マシン120のOSは,通信事業者が提供する複数電話番号サービスに対応していない複数番号非対応OSである。仮想マシン120は,ユーザが電話発信を行うことが可能なユーザインタフェースを有している。ただし,仮想マシン120におけるユーザインタフェースでは,ユーザが発信モードを選択することはできない。
複数番号対応OSの仮想マシン110は,発信機能操作部111,発信機能部114を備える。また,複数番号非対応OSの仮想マシン120は,発信API(Application Programming Interface )部121を備える。
仮想化技術において装置で唯一のリソースを利用する場合には,そのリソースを複数のOSで共有するために,デバイスへの要求を一個所に集約し,そこで排他制御などの適切な制御を行う手法が用いられる。本実施の形態1では,ハードウェア140の通信機能部144を利用して外部への電話発信の制御を行う発信機能部114が,複数番号対応OSの仮想マシン110のみに配置されている。発信機能部114は,通信事業者が提供する複数電話番号サービスに対応する電話発信の制御を行うため,通信事業者固有のクローズドな携帯電話OSの仮想マシン110上に配置される。
仮想マシン110の発信機能部114が提供する電話発信機能を,仮想マシン120から共有して利用可能とするために,仮想マシン110と仮想マシン120とには,それぞれ電話発信機能を共有するための発信共有機構が配置される。仮想マシン120には,フロントエンドの発信共有機構として,発信API部121が備えられている。発信API部121は,仮想マシン120のOSから電話発信APIにより受けた電話の発信要求をVM(Virtual Machine )間通信に変換し,仮想マシン110上にある発信機能操作部111に送信する。仮想マシン110には,バックエンドの発信共有機構として,発信機能操作部111が備えられている。発信機能操作部111は,仮想マシン120の発信API部121からのVM間通信による発信要求を実際の発信操作に変換し,発信機能部114への発信要求を行う。
ユーザが仮想マシン120上で電話発信の操作を行うと,仮想マシン120から発行される発信要求は,仮想マシン120の発信API部121から仮想マシン110の発信機能操作部111に通知される。仮想マシン110の発信機能操作部111は,仮想マシン120からの発信要求を発信機能部114に渡す。発信機能部114は,発信機能操作部111から受けた発信要求に応じて,電話の発信制御を行う。
ただし,仮想マシン120のOSは複数番号非対応OSであるので,仮想マシン120のユーザインタフェースでは,ユーザは複数の電話番号から発信電話番号を選択することができない。そのため,仮想マシン120における電話の発信要求には,発信電話番号を示す情報である発信モードが付与されない。発信機能部114は,発信モードの指定がない発信要求に対して,主番号“090-AAA-AAAA”を発信電話番号とした発信を行う。すなわち,仮想マシン120から発行された発信モードの情報を含まない発信要求がそのまま発信機能部114に渡されるものとすると,仮想マシン120からの電話発信は,すべて主番号“090-AAA-AAAA”を発信電話番号とした発信となってしまう。これでは,仮想マシン120では,複数電話番号サービスで利用できる副番号“090-BBB-BBBB”を利用できないことになる。
本実施の形態1では,複数番号非対応OSの仮想マシン120からも,副番号“090-BBB-BBBB”を用いた電話発信を可能とするために,仮想マシン110の発信機能操作部111に,電話の発信要求に適切な発信モードを付与する機能を持たせる。発信機能操作部111は,発信要求に適切な発信モードを付与する機能として,発信モード付与部112,付与モード情報記憶部113を備える。
発信モード付与部112は,付与モード情報記憶部113に記憶された情報に基づいて,発信機能操作部111が受け取った発信要求に対して,発信電話番号を示す情報である発信モードを付与する。付与モード情報記憶部113は,仮想マシンに応じた発信モードの情報である付与モード情報を記憶する,コンピュータがアクセス可能な記憶装置である。
発信機能操作部111は,発信モード付与部112と付与モード情報記憶部113とによって,複数番号非対応OSの仮想マシン120からの発信要求に対して適切な発信モードを付与し,その発信モードを付与した発信要求を発信機能部114に渡す。これにより,本実施の形態1では,複数番号非対応OSの仮想マシン120からでも,副番号“090-BBB-BBBB”を用いた電話発信が可能となる。
図3は,本実施の形態1による付与モード情報の例を示す図である。
図3に示す本実施の形態1による付与モード情報は,図2に示す仮想マシン110が備える発信機能操作部111の付与モード情報記憶部113に記憶された,仮想マシンに応じた発信モードの情報の例である。図3に示すように,本実施の形態1による付与モード情報は,携帯電話機100上で動作する各仮想マシンを一意に識別するための識別情報である仮想マシンIDと,発信電話番号を示す発信モードとの対応情報である。
本実施の形態1では,仮想マシン110の仮想マシンIDは“VM1”であるものとし,仮想マシン120の仮想マシンIDは“VM2”であるものとする。また,複数番号非対応OSの仮想マシン120は,副番号“090-BBB-BBBB”での電話発信専用の仮想マシンに設定されているものとする。このとき,図3に示すように,付与モード情報記憶部113に記憶された付与モード情報では,仮想マシン120の仮想マシンID“VM2”と,副番号“090-BBB-BBBB”での電話発信を示す発信モード“Bモード”との対応が記録される。
なお,図3に示す付与モード情報に,仮想マシン110についての発信モードの情報がない。これは,仮想マシン110のOSが複数番号対応OSであり,発信機能部114が仮想マシン110に備えられているため,図2に示すように,仮想マシン110で発行された発信要求は,発信機能操作部111を介さずに,直接に発信機能部114に渡されるからである。
また,図3には示されていないが,付与モード情報において,例えば複数番号対応OSの仮想マシンの仮想マシンIDなどに対して,発信モードの“付与なし”が指定される場合がある。これは,複数番号対応OSの仮想マシンでは,発信電話番号として副番号を選択することが可能であり,わざわざ発信モード付与部112で副番号の発信モードを付与する必要がないからである。例えば,3つ目の仮想マシンとして複数番号対応OSの仮想マシンがあった場合に,付与モード情報において,その3つ目の仮想マシンの仮想マシンIDに対して,発信モードの“付与なし”が指定される。
図4は,本実施の形態1の発信モード付与部による発信モード付与処理フローチャートである。
発信モード付与部112は,電話の発信要求を受け付ける(ステップS10)。発信モード付与部112は,受け付けた発信要求の要求元仮想マシンの仮想マシンIDを取得する(ステップS11)。例えば,仮想マシンIDは,VM間通信で取得することができる。また,要求元仮想マシンが,発信要求に自身の仮想マシンIDを付加して送信するようにしてもよい。
発信モード付与部112は,付与モード情報記憶部113に記憶された付与モード情報を参照し,取得された仮想マシンIDに応じた発信モードを取得する(ステップS12)。発信モード付与部112は,付与モード情報において,発信要求に付与する発信モードがあるかを判定する(ステップS13)。
付与する発信モードがあれば(ステップS13のYES),発信モード付与部112は,仮想マシンから受け付けた発信要求に,付与モード情報から得られた発信モードを付与する(ステップS14)。発信モード付与部112は,発信機能部114に発信要求を渡す(ステップS15)。
以下,図2を用いて,本実施の形態1の携帯電話機100による電話発信の動作例を説明する。
携帯電話機100において,ユーザが仮想マシン110から,電話番号が“090-XXX-XXXX”である相手先の電話機30に対して,電話発信を行ったものとする。このとき,ユーザは,仮想マシン110のOSが複数番号対応OSであるので,発信モードを自由に選択して,電話発信を行うことができる。ユーザは,仮想マシン110において,主番号“090-AAA-AAAA”を発信電話番号としたい場合にはAモードを,副番号“090-BBB-BBBB”を発信電話番号としたい場合にはBモードを選択して,電話発信を行う。
仮想マシン110による発信要求には,ユーザに指定された発信モードが付与されている。仮想マシン110において,発信機能部114には,ユーザに指定された発信モードが付与された,相手先電話番号“090-XXX-XXXX”への電話の発信要求が渡される。
発信機能部114は,SIM141から主番号“090-AAA-AAAA”を取得する。発信機能部114は,ハードウェア140の通信機能部144を利用して,発信要求に付与された発信モードの情報を含む,主番号“090-AAA-AAAA”を用いた,相手先電話番号“090-XXX-XXXX”への電話発信の信号を出力する。
携帯電話機100において,ユーザが仮想マシン120から,電話番号が“090-XXX-XXXX”である相手先の電話機30に対して,電話発信を行ったものとする。このとき,ユーザは,仮想マシン120のOSが複数番号非対応OSであるので,発信モードを選択して電話発信を行うことができない。
仮想マシン120による発信要求には,発信モードの情報がない。仮想マシン120において,発信API部121は,発信モードを含まない,相手先電話番号“090-XXX-XXXX”への電話の発信要求を,ハイパーバイザ130を介して,仮想マシン110の発信機能操作部111に送る。
仮想マシン110の発信機能操作部111において,発信モード付与部112は,仮想マシン120からの発信要求を受け取る。発信モード付与部112は,仮想マシン120の仮想マシンID“VM2”を取得する。発信モード付与部112は,取得した仮想マシンID“VM2”で,付与モード情報記憶部113に記憶された,図3に示す付与モード情報を参照し,仮想マシン120に応じた発信モードとして“Bモード”を取得する。発信モード付与部112は,取得した発信モード“Bモード”を,仮想マシン120から受けた発信要求に付与する。発信モード付与部112は,その発信モード“Bモード”が付与された,相手先電話番号“090-XXX-XXXX”への電話の発信要求を,発信機能部114に渡す。
発信機能部114は,SIM141から主番号“090-AAA-AAAA”を取得する。発信機能部114は,ハードウェア140の通信機能部144を利用して,発信要求に付与された発信モード“Bモード”の情報を含む,主番号“090-AAA-AAAA”を用いた,相手先電話番号“090-XXX-XXXX”への電話発信の信号を出力する。
このように,本実施の形態1による携帯電話機100では,複数番号非対応OSの仮想マシン120からでも,複数電話番号サービスによって利用可能となった副番号“090-BBB-BBBB”を使用した電話発信が可能となる。これにより,通信事業者の独自実装の複数電話番号サービスを,オープンな携帯電話OSから利用することが可能となり,携帯電話機100を利用するユーザの利便性が増す。
〔実施の形態2〕
上述の実施の形態1では,複数番号非対応OSの仮想マシンから発行された発信要求に対して発信モードを付与する機能が,発信機能を有する複数番号対応OSの仮想マシンに配置されていた。
本実施の形態2では,発信要求に対して発信モードを付与する機能が,複数番号非対応OSの仮想マシンに配置される例を説明する。
図5は,本実施の形態2による携帯電話機の構成例を示す図である。
図5に示す携帯電話機200は,図2に示す携帯電話機100と同様に,通信事業者が提供する複数電話番号サービスに対応する携帯電話機であり,図1に示す携帯電話機10に相当する。携帯電話機200は,仮想マシン210,仮想マシン220,ハイパーバイザ230,ハードウェア240を備える。
また,携帯電話機200のコンピュータのハードウェア240として,SIM241,CPU242,メモリ243,通信機能部244等が備えられている。仮想マシン210,仮想マシン220,ハイパーバイザ230は,携帯電話機200のコンピュータが備えるCPU242,メモリ243等のハードウェアと,ソフトウェアプログラムとによって実現される。
携帯電話機200における仮想マシン210は,図2に示す携帯電話機100の仮想マシン110に相当し,ユーザが発信モードを選択して電話発信を行うことが可能なユーザインタフェースを有する,クローズドな複数番号対応OSの仮想マシンである。すなわち,仮想マシン210は,図2に示す仮想マシン110と同様に,発信機能操作部211,発信機能部214を備える。ただし,仮想マシン210の発信機能操作部211は,図2に示す仮想マシン110の発信機能操作部111とは異なり,他の仮想マシンから受けた発信要求に発信モードを付与する機能を持たない。
携帯電話機200における仮想マシン220は,図2に示す携帯電話機100の仮想マシン120に相当し,発信モードを選択することはできないが,ユーザが電話発信を行うことが可能なユーザインタフェースを有する,オープンな複数番号非対応OSの仮想マシンである。すなわち,仮想マシン220は,図2に示す仮想マシン120と同様に,発信API部221を備える。ただし,仮想マシン220の発信API部221は,図2に示す仮想マシン120の発信API部121とは異なり,発信要求に発信モードを付与する機能として,発信モード付与部222,付与モード情報記憶部223を備える。
発信モード付与部222は,付与モード情報記憶部223に記憶された情報に基づいて,仮想マシン220で発行される発信要求に対して,発信電話番号を示す情報である発信モードを付与する。付与モード情報記憶部223は,仮想マシン220に応じた発信モードの情報である付与モード情報を記憶する,コンピュータがアクセス可能な記憶装置である。
図5に示すように,本実施の形態2による付与モード情報には,仮想マシン220自身に応じた発信モードのみが記録されている。ここでは,複数番号非対応OSの仮想マシン220は,副番号“090-BBB-BBBB”での電話発信専用の仮想マシンに設定されているものとする。図5に示すように,付与モード情報には,仮想マシン220自身に応じた発信モードとして,副番号“090-BBB-BBBB”での電話発信を示す“Bモード”が記録されている。
なお,本実施の形態2の発信モード付与部222による発信モード付与処理は,図4のフローチャートに示す上述の実施の形態1の発信モード付与部112による発信モード付与処理から,ステップS11の仮想マシンID取得の処理を除いたものとなる。発信モード付与部222による発信モード付与処理では,図4に示すフローチャートのステップS12の処理で,付与モード情報記憶部223に記憶された付与モード情報に記録された発信モードを,そのまま取得する。
発信API部221は,発信モード付与部222と付与モード情報記憶部223とによって,仮想マシン220による発信要求に対して適切な発信モードを付与し,その発信モードを付与した発信要求を,仮想マシン210の発信機能操作部211に送る。
仮想マシン210の発信機能操作部211は,仮想マシン220から受けた,発信モードが付与された発信要求を,そのまま発信機能部214に渡す。これにより,本実施の形態2では,複数番号非対応OSの仮想マシン220からでも,副番号“090-BBB-BBBB”を用いた電話発信が可能となる。
以下,図5を用いて,本実施の形態2の携帯電話機200による電話発信の動作例を説明する。
複数番号対応OSの仮想マシン210からの電話発信時の動作については,図2に示す仮想マシン110からの電話発信時の動作と同様である。
携帯電話機200において,ユーザが仮想マシン220から,電話番号が“090-XXX-XXXX”である相手先の電話機30に対して,電話発信を行ったものとする。このとき,ユーザは,仮想マシン220のOSが複数番号非対応OSであるので,発信モードを選択して電話発信を行うことができない。
仮想マシン220による発信要求には,発信モードの情報がない。仮想マシン220の発信API部221において,発信モード付与部222は,仮想マシン220による発信要求を受け付ける。発信モード付与部222は,付与モード情報記憶部223に記憶された,図5に示す付与モード情報を参照し,仮想マシン220に応じた発信モードとして“Bモード”を取得する。発信モード付与部222は,取得した発信モード“Bモード”を,仮想マシン220による発信要求に付与する。発信モード付与部222は,その発信モード“Bモード”が付与された,相手先電話番号“090-XXX-XXXX”への電話の発信要求を仮想マシン210の発信機能操作部211に送る。
仮想マシン210の発信機能操作部211は,仮想マシン220から受けた,発信モード“Bモード”が付与された,相手先電話番号“090-XXX-XXXX”への電話の発信要求を,発信機能部214に渡す。
発信機能部214は,SIM241から主番号“090-AAA-AAAA”を取得する。発信機能部214は,ハードウェア240の通信機能部244を利用して,発信要求に付与された発信モード“Bモード”の情報を含む,主番号“090-AAA-AAAA”を用いた,相手先電話番号“090-XXX-XXXX”への電話発信の信号を出力する。
このように,本実施の形態2による携帯電話機200では,複数番号非対応OSの仮想マシン220からでも,複数電話番号サービスによって利用可能となった副番号“090-BBB-BBBB”を使用した電話発信が可能となる。これにより,通信事業者の独自実装の複数電話番号サービスを,オープンな携帯電話OSから利用することが可能となり,携帯電話機200を利用するユーザの利便性が増す。
〔実施の形態3〕
本実施の形態3では,電話発信のユーザインタフェースを持たない仮想マシンに電話の発信機能を持たせ,その仮想マシンの発信要求に対して発信モードを付与する機能が配置される例を説明する。
図6は,本実施の形態3による携帯電話機の構成例を示す図である。
図6に示す携帯電話機300は,図2に示す携帯電話機100と同様に,通信事業者が提供する複数電話番号サービスに対応する携帯電話機であり,図1に示す携帯電話機10に相当する。携帯電話機300は,発信機能用仮想マシン310,仮想マシン320,仮想マシン330,ハイパーバイザ340,ハードウェア350を備える。
また,携帯電話機300のコンピュータのハードウェア350として,SIM351,CPU352,メモリ353,通信機能部354等が備えられている。発信機能用仮想マシン310,仮想マシン320,仮想マシン330,ハイパーバイザ340は,携帯電話機300のコンピュータが備えるCPU352,メモリ353等のハードウェアと,ソフトウェアプログラムとによって実現される。ハイパーバイザ340は,携帯電話機300上で動作する,3つの仮想マシンの管理・制御を行う。
携帯電話機300における仮想マシン320は,図2に示す携帯電話機100の仮想マシン110に相当し,ユーザが発信モードを選択して電話発信を行うことが可能なユーザインタフェースを有する,クローズドな複数番号対応OSの仮想マシンである。ただし,仮想マシン320は,図2に示す仮想マシン110とは異なり,発信機能部を持たない。そのため,仮想マシン320には,フロントエンドの発信共有機構として,発信API部321が備えられている。
携帯電話機300における仮想マシン330は,図2に示す携帯電話機100の仮想マシン120に相当し,発信モードを選択することはできないが,ユーザが電話発信を行うことが可能なユーザインタフェースを有する,オープンな複数番号非対応OSの仮想マシンである。すなわち,仮想マシン330は,図2に示す仮想マシン120と同様に,発信API部331を備える。
携帯電話機300において,発信機能用仮想マシン310は,電話発信のためのユーザインタフェースを持たずに,外部への電話発信の制御を行う発信機能に特化した仮想マシンである。そのため,本実施の形態3では,発信機能用仮想マシン310に,発信機能部314が配置されている。また,発信機能用仮想マシン310が発信機能部314を備えるので,発信機能用仮想マシン310には,バックエンドの発信共有機構として,発信機能操作部311が備えられる。
発信機能部314は,通信事業者が提供する複数電話番号サービスに対応する電話発信の制御を行う。このような複数電話番号サービスに対応する発信機能部314を備える発信機能用仮想マシン310のOSは,通信事業者固有のクローズドな携帯電話OSとなる。すなわち,発信機能用仮想マシン310は,電話発信のユーザインタフェースを持たない複数番号対応OSの仮想マシンであると言える。
発信機能用仮想マシン310の発信機能操作部311は,電話の発信要求に適切な発信モードを付与する機能を持つ。すなわち,発信機能操作部311は,発信要求に適切な発信モードを付与する機能として,発信モード付与部312,付与モード情報記憶部313を備える。
発信モード付与部312は,付与モード情報記憶部313に記憶された情報に基づいて,発信機能操作部311が受け取った発信要求に対して,発信電話番号を示す情報である発信モードを付与する。付与モード情報記憶部313は,仮想マシンに応じた発信モードの情報である付与モード情報を記憶する,コンピュータがアクセス可能な記憶装置である。
発信機能操作部311は,発信モード付与部312と付与モード情報記憶部313とによって,複数番号非対応OSの仮想マシン330からの発信要求に対して適切な発信モードを付与し,その発信モードを付与した発信要求を発信機能部314に渡す。これにより,本実施の形態3では,複数番号非対応OSの仮想マシン330からでも,副番号“090-BBB-BBBB”を用いた電話発信が可能となる。
図7は,本実施の形態3による付与モード情報の例を示す図である。
図7に示す本実施の形態3による付与モード情報は,図6に示す発信機能用仮想マシン310が備える発信機能操作部311の付与モード情報記憶部313に記憶された,仮想マシンに応じた発信モードの情報の例である。図7に示すように,本実施の形態3による付与モード情報は,携帯電話機300上で動作する各仮想マシンを一意に識別するための識別情報とである仮想マシンIDと,発信電話番号を示す情報である発信モードとの対応情報である。本実施の形態3では,仮想マシン320の仮想マシンIDは“VM1”であるものとし,仮想マシン330の仮想マシンIDは“VM2”であるものとする。
仮想マシン320のOSは複数番号対応OSであるので,仮想マシン320ではユーザは副番号を選択することも可能であり,仮想マシン320から送られる発信要求には,ユーザに選択された発信モードの情報が含まれている。そのため,図7に示すように,付与モード情報記憶部313に記憶された付与モード情報では,仮想マシン320の仮想マシンID“VM1”に対する発信モードが“付与なし”となる。
複数番号非対応OSの仮想マシン330は,副番号“090-BBB-BBBB”での電話発信専用の仮想マシンに設定されているものとする。このとき,図7に示すように,付与モード情報記憶部313に記憶された付与モード情報では,仮想マシン330の仮想マシンID“VM2”と,副番号“090-BBB-BBBB”での電話発信を示す発信モード“Bモード”との対応が記録される。
なお,本実施の形態3の発信モード付与部312による発信モード付与処理は,図4のフローチャートに示す上述の実施の形態1の発信モード付与部112による発信モード付与処理と同様である。
以下,図6を用いて,本実施の形態3の携帯電話機300による電話発信の動作例を説明する。
携帯電話機300において,ユーザが仮想マシン320から,電話番号が“090-XXX-XXXX”である相手先の電話機30に対して,電話発信を行ったものとする。このとき,ユーザは,仮想マシン320のOSが複数番号対応OSであるので,発信モードを自由に選択して,電話発信を行うことができる。ユーザは,仮想マシン320において,主番号“090-AAA-AAAA”を発信電話番号としたい場合にはAモードを,副番号“090-BBB-BBBB”を発信電話番号としたい場合にはBモードを選択して,電話発信を行う。
仮想マシン320による発信要求には,ユーザに指定された発信モードが付与されている。仮想マシン320の発信API部321は,ユーザに指定された発信モードが付与された,相手先電話番号“090-XXX-XXXX”への電話の発信要求を,ハイパーバイザ340を介して,発信機能用仮想マシン310の発信機能操作部311に送る。
発信機能用仮想マシン310の発信機能操作部311において,発信モード付与部312は,仮想マシン320からの発信要求を受け取る。発信モード付与部312は,仮想マシン320の仮想マシンID“VM1”を取得する。発信モード付与部312は,取得した仮想マシンID“VM1”で,付与モード情報記憶部313に記憶された,図7に示す付与モード情報を参照し,発信モードが“付与なし”であることを確認する。発信モード付与部312は,仮想マシン320から受けた,ユーザに指定された発信モードが付与された,相手先電話番号“090-XXX-XXXX”への電話の発信要求を,発信機能部314に渡す。
発信機能部314は,SIM351から主番号“090-AAA-AAAA”を取得する。発信機能部314は,ハードウェア350の通信機能部354を利用して,発信要求に付与された発信モードの情報を含む,主番号“090-AAA-AAAA”を用いた,相手先電話番号“090-XXX-XXXX”への電話発信の信号を出力する。
複数番号非対応OSの仮想マシン330からの電話発信時の動作については,電話の発信要求の送り先が発信機能用仮想マシン310になること以外は,図2に示す仮想マシン120からの電話発信時の動作と同様である。
なお,本実施の形態3については,発信機能用仮想マシン310のOSが複数電話番号サービスに対応する通信事業者固有のクローズドな携帯電話OSである。そのため,それ以外の電話発信のユーザインタフェースを持つ仮想マシンが,すべてオープンな複数番号非対応OSの仮想マシンであってもよい。
このように,本実施の形態3による携帯電話機300では,複数番号非対応OSの仮想マシン330からでも,複数電話番号サービスによって利用可能となった副番号“090-BBB-BBBB”を使用した電話発信が可能となる。これにより,通信事業者の独自実装の複数電話番号サービスを,オープンな携帯電話OSから利用することが可能となり,携帯電話機300を利用するユーザの利便性が増す。
なお,上述の実施の形態1と,本実施の形態3については,発信要求に発信モードを付与する機能を,複数電話番号サービスに対応する通信事業者固有のクローズドな携帯電話OSの仮想マシンが備えている。このようなケースでは,オープンな携帯電話OSに,通信事業者の機密情報を搭載する必要がなくなり,通信事業者側の安全性も確保できる。上述の実施の形態2のように,発信要求に発信モードを付与する機能をオープンな携帯電話OSの仮想マシンに持たせる場合には,通信事業者の機密情報が保持できない状態になる可能性がある。
〔実施の形態4〕
本実施の形態4では,発信要求に発信モードを付与する処理において,付与モード情報で指定された発信モード以外の発信モードが発信要求に含まれていた場合に,その発信要求に対して発信モードを付け直す,またはその発信要求を棄却する例を説明する。
複数番号非対応OSの仮想マシンからの電話の発信要求に,付与モード情報で対応付けが指定されていない発信モードが付与されている場合には,不正なプログラムの改造などにより,不正な発信モードの付与が行われている可能性がある。本実施の形態4では,指定外の発信モードを含む発信要求に対して,上述の発信モードの付け直し,棄却等の対応を行うことにより誤った課金が行われてしまうことなどを抑止する。
ここでは,上述の実施の形態1の説明でも用いた図2に示す携帯電話機100の例を用いて,本実施の形態4による処理の例を説明する。
図8は,本実施の形態4の発信モード付与部による発信モード付与処理フローチャートである。
発信モード付与部112は,電話の発信要求を受け付ける(ステップS20)。発信モード付与部112は,受け付けた発信要求の要求元仮想マシンの仮想マシンIDを取得する(ステップS21)。
発信モード付与部112は,付与モード情報記憶部113に記憶された付与モード情報を参照し,取得された仮想マシンIDに応じた発信モードを取得する(ステップS22)。発信モード付与部112は,付与モード情報において,発信要求に付与する発信モードがあるかを判定する(ステップS23)。
付与する発信モードがなければ(ステップS23のNO),発信モード付与部112は,仮想マシンから受け付けた発信要求をそのまま発信機能部114に渡す(ステップS28)。
付与する発信モードがあれば(ステップS23のYES),発信モード付与部112は,仮想マシンから受け付けた発信要求に,すでに発信モードが含まれているかを判定する(ステップS24)。
仮想マシンから受け付けた発信要求にまだ発信モードが含まれていなければ(ステップS24のNO),発信モード付与部112は,仮想マシンから受け付けた発信要求に,付与モード情報から得られた発信モードを付与する(ステップS25)。発信モード付与部112は,発信機能部114に発信要求を渡す(ステップS28)。
仮想マシンから受け付けた発信要求にすでに発信モードが含まれていれば(ステップS24のYES),発信モード付与部112は,その発信要求に含まれる発信モードが付与モード情報記憶部113に記憶された付与モード情報で指定された発信モードであるかを判定する(ステップS26)。
発信要求に含まれる発信モードが付与モード情報で指定された発信モードであれば(ステップS26のYES),発信モード付与部112は,仮想マシンから受け付けた発信要求をそのまま発信機能部114に渡す(ステップS28)。
発信要求に含まれる発信モードが付与モード情報で指定された発信モードでなければ(ステップS26のNO),発信モード付与部112は,仮想マシンから受け付けた発信要求を棄却する(ステップS27)。なお,発信要求に含まれる発信モードが付与モード情報で指定された発信モードと異なる場合に,棄却するのではなく,発信要求に含まれる発信モードを付与モード情報で指定された発信モードで上書きするようにしてもよい。
以下,図2を用いて,本実施の形態4の携帯電話機100による電話発信の動作例を説明する。
携帯電話機100において,ユーザが仮想マシン120から,電話番号が“090-XXX-XXXX”である相手先の電話機30に対して,電話発信を行ったものとする。このとき,ユーザは,仮想マシン120のOSが複数番号非対応OSであるので,発信モードを選択して電話発信を行うことができない。すなわち,本来,仮想マシン120では,発信要求には発信モードが付与されない。しかし,ここでは,仮想マシン120において,何らかの不正なプログラムによって,主番号“090-AAA-AAAA”での電話発信を示す発信モード“Aモード”が,発信要求に付与されたものとする。
仮想マシン120において,発信API部121は,発信モード“Aモード”が付与された,相手先電話番号“090-XXX-XXXX”への電話の発信要求を,ハイパーバイザ130を介して,仮想マシン110の発信機能操作部111に送る。
仮想マシン110の発信機能操作部111において,発信モード付与部112は,仮想マシン120からの発信要求を受け取る。発信モード付与部112は,仮想マシン120の仮想マシンID“VM2”を取得する。発信モード付与部112は,取得した仮想マシンID“VM2”で,付与モード情報記憶部113に記憶された,図3に示す付与モード情報を参照し,仮想マシン120に応じた発信モードとして“Bモード”を取得する。
ここで,発信モード付与部112は,仮想マシン120から受けた発信要求に,発信モード“Aモード”が含まれていることを確認する。図3に示す付与モード情報において,仮想マシン120の仮想マシンID“VM2”に対応する発信モードは“Bモード”であるので,発信モード付与部112は,発信モード“Aモード”が含まれた仮想マシン120からの発信要求が異常な発信要求であると判断する。発信モード付与部112は,異常であると判断した仮想マシン120からの発信要求を棄却する。
なお,異常であると判断した発信要求に含まれる誤った発信モードを,正しい発信モードに書き換えるようにしてもよい。このとき,発信モード付与部112は,仮想マシン120からの発信要求に含まれる発信モード“Aモード”を,図3に示す付与モード情報で指定された発信モード“Bモード”で上書きし,その発信要求を発信機能部114に渡す。
このように,本実施の形態4による携帯電話機100では,複数番号非対応OSの仮想マシン120で発信要求に対して不正に発信モードが付与されても,そのまま不正な発信モードが指定された電話発信が行われることを防止することができる。これにより,意図しない課金を防ぐことができるようになる。
〔実施の形態5〕
本実施の形態5では,発信要求に発信モードを付与する処理において,発信機能部に渡す発信要求に含まれる発信モードに対応する仮想マシンに対して,その発信モードでの電話発信が行われた旨を示す通知を行う例を説明する。
例えば,各仮想マシンにおいて,それぞれ自仮想マシンが利用する発信電話番号での発信履歴を,記憶部(図示省略)で管理する場合がある。このとき,自仮想マシンで使用可能な発信電話番号で他の仮想マシンが電話発信を行った場合に,そのことを自仮想マシンが知らないでいると,ユーザが自仮想マシン上でその電話番号の発信履歴を参照した場合に,自仮想マシンはユーザに対して正確な発信履歴を提示することができない。このような状況を踏まえて,本実施の形態5では,発信要求に発信モードを付与する機能が,ある仮想マシンで電話発信が行われたことを,同じ電話番号で電話発信が可能な他の仮想マシンに通知する。
ここでは,上述の実施の形態3の説明でも用いた図6に示す携帯電話機300の例を用いて,本実施の形態5による処理の例を説明する。
本実施の形態では,発信モード付与部312は,電話の発信要求を発信機能部314に渡した後に,付与モード情報記憶部313に記憶された付与モード情報を参照し,発信機能部314に渡した発信要求の発信モードに対応する仮想マシンを抽出する。発信モード付与部312は,抽出された仮想マシンに対して,発信機能部314に渡した発信要求の発信モードでの電話発信があった旨を示す通知を行う。通知を受けた仮想マシンでは,発信履歴を更新するなどの処理を行う。
以下,図6を用いて,本実施の形態5の携帯電話機300による電話発信の動作例を説明する。
携帯電話機300において,ユーザが仮想マシン320から,電話番号が“090-XXX-XXXX”である相手先の電話機30に対して,電話発信を行ったものとする。このとき,ユーザは,仮想マシン320のOSが複数番号対応OSであるので,発信モードを自由に選択して,電話発信を行うことができる。ここでは,ユーザは,仮想マシン320において,副番号“090-BBB-BBBB”での電話発信を示すBモードを選択して,電話発信を行う。
仮想マシン320による発信要求には,発信モードとして“Bモード”が付与されている。仮想マシン320の発信API部321は,発信モード“Bモード”が付与された,相手先電話番号“090-XXX-XXXX”への電話の発信要求を,ハイパーバイザ340を介して,発信機能用仮想マシン310の発信機能操作部311に送る。
発信機能用仮想マシン310の発信機能操作部311において,発信モード付与部312は,仮想マシン320からの発信要求を受け取る。発信モード付与部312は,仮想マシン320の仮想マシンID“VM1”を取得する。発信モード付与部312は,取得した仮想マシンID“VM1”で,付与モード情報記憶部313に記憶された,図7に示す付与モード情報を参照し,発信モードの“付与なし”であることを確認する。発信モード付与部312は,仮想マシン320から受けた,発信モード“Bモード”が付与された,相手先電話番号“090-XXX-XXXX”への電話の発信要求を,発信機能部314に渡す。
このとき,発信モード付与部312は,付与モード情報記憶部313に記憶された,図7に示す付与モード情報を参照し,発信機能部314に渡した発信要求の発信モード“Bモード”に対応する仮想マシンを抽出する。このとき,付与モード情報において発信モードが“付与なし”となっている仮想マシンは,複数番号対応OSの仮想マシンを示しているので,発信モード“Bモード”に対応する仮想マシンとして抽出される。発信モード付与部312は,図7に示す付与モード情報を参照し,発信モード“Bモード”に対応する仮想マシンとして,仮想マシンID“VM1”の仮想マシン320と仮想マシンID“VM2”の仮想マシン330とを抽出する。発信モード付与部312は,抽出された仮想マシン320と仮想マシン330とに,発信モード“Bモード”が指定された,相手先電話番号“090-XXX-XXXX”への電話発信があった旨を,ハイパーバイザ340を介して通知する。なお,この例では,仮想マシン320が電話発信の要求元の仮想マシンであるので,あえて要求元の仮想マシン320に通知しなくてもよい。
例えば,仮想マシン330の発信API部331は,発信機能用仮想マシン310から通知を受け取り,自らが保持する電話の発信履歴に,電話番号“090-XXX-XXXX”に電話発信したことを記録する。
このように,本実施の形態5による携帯電話機300では,ある仮想マシンから行われた電話発信を,同じ電話番号を用いて電話発信が可能な仮想マシンに通知することができるようになる。これにより,ある仮想マシンから行われた電話発信を,同じ電話番号を用いて電話発信が可能な仮想マシンの発信履歴に反映することが可能となり,携帯電話機300を利用するユーザの利便性が増す。
以上説明した本実施の形態の携帯電話機による処理は,コンピュータが備えるCPU,メモリ等のハードウェアとソフトウェアプログラムとにより実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも,ネットワークを通して提供することも可能である。
以上,本実施の形態について説明したが,本発明はその主旨の範囲において種々の変形が可能であることは当然である。
例えば,本実施の形態では,電話発信が可能なユーザインタフェースを持つ仮想マシンは携帯電話機に2つであるが,電話発信が可能なユーザインタフェースを持つ仮想マシンが携帯電話機に3つ以上あってもよい。
また,本実施の形態1では,図2に示すように,発信機能部114を備える仮想マシン110での発信要求は,発信機能操作部111を介さずに直接に発信機能部114に渡されている。実際には,発信機能部114を備える仮想マシン110での発信要求を,発信機能操作部111を介して発信機能部114に渡すようにしてもよい。
また,本実施の形態では,複数の発信番号を利用した通信を行う通信装置として,携帯電話機の例について説明をした。例えばデータ通信を行うデータ通信装置などの他の通信装置に,本実施の形態による複数の発信番号を利用した通信に関する技術を適用してもよい。