(58)【調査した分野】(Int.Cl.,DB名)
第1のモバイル・デバイスが電話通信サービスへの接続を有しないことに応答して、第2のモバイル・デバイスを制御するためのブローカ・サービス装置であって、前記第1のモバイル・デバイスは、識別子を前記第2のモバイル・デバイスに、モバイル・デバイスを接続するように動作可能であるネットワーク接続を使用して送信するように動作可能であり、前記第1のモバイル・デバイスおよび前記第2のモバイル・デバイスは、第1のグループに参加するように動作可能であり、前記ブローカ・サービス装置は、
一意的な識別子をグループに割り当てることと、
前記電話通信サービスに、前記一意的な識別子を通知することと、
電話通信サービスからの、第1の一意的な識別子を含む第1の制御信号、およびデータの受信であって、前記データは前記第1のモバイル・デバイスを目標にされる、前記受信に応答して、前記第1の一意的な識別子を使用して、前記第1のグループを識別することと、
前記第1のモバイル・デバイスが前記ブローカ・サービスに接続されていないことに応答して、前記第2のモバイル・デバイスが前記ブローカ・サービスに接続されているかどうかを決定することと、
前記第2のモバイル・デバイスが前記ブローカ・サービスに接続されていることに応答して、前記データを前記第2のモバイル・デバイスに転送するために、第2の制御信号を前記第2のモバイル・デバイスに発行することであって、前記第2の制御信号は、前記第1のモバイル・デバイスの前記識別子を含む、前記発行することと
を行うように構成され、
前記第2の制御信号は、前記第2のモバイル・デバイスに、前記データを前記第1のモバイル・デバイスに転送するために、前記第1のモバイル・デバイスの前記識別子、および前記ネットワーク接続を使用させるように動作可能である、ブローカ・サービス装置。
モバイル・デバイスは、グループに参加することを、前記グループ内の別のモバイル・デバイスに要求すること、前記グループ内の別のモバイル・デバイスにより選定されること、および、前記グループ内の別のモバイル・デバイスに対して近接して位置していることのうちの少なくとも1つにより行うように構成される、請求項1または2に記載の装置。
前記第1のモバイル・デバイスおよび前記第2のモバイル・デバイスは、前記一意的な識別子を通話転送番号として使用するように構成される、請求項1ないし4のいずれかに記載の装置。
前記ブローカ・サービスは、前記データが前記第1のモバイル・デバイスを目標にされると決定することを、前記ブローカ・サービスから接続を断たれている1つまたは複数のモバイル・デバイスを詳細に表す記憶機構を調査すること、通信ヘッダを調査することのうちの少なくとも1つにより行うように動作可能である、請求項1ないし5のいずれかに記載の装置。
前記ブローカ・サービスは、複数のモバイル・デバイスが前記ブローカ・サービスに接続されていることに応答して、前記モバイル・デバイスの間の最適経路を選択するように構成される、請求項1ないし6のいずれかに記載の装置。
前記第1のモバイル・デバイスは、前記第2のモバイル・デバイスが前記ブローカ・サービスに接続されていることに応答して、通話発信要求を前記第2のモバイル・デバイスに、前記ネットワーク接続を使用して転送するように構成され、前記第2のモバイル・デバイスは応答して、前記通話発信要求を前記ブローカ・サービスに転送するように構成される、請求項1ないし7のいずれかに記載の装置。
第1のモバイル・デバイスが電話通信サービスへの接続を有しないことに応答して、第2のモバイル・デバイスを制御するための方法であって、前記第1のモバイル・デバイスは、識別子を前記第2のモバイル・デバイスに、モバイル・デバイスを接続するように動作可能であるネットワーク接続を使用して送信するように動作可能であり、前記第1のモバイル・デバイスおよび前記第2のモバイル・デバイスは、第1のグループに参加するように動作可能であり、前記方法は、
ブローカ・サービスにより、
一意的な識別子をグループに割り当てるステップと、
前記電話通信サービスに、前記一意的な識別子を通知するステップと、
電話通信サービスから、第1の一意的な識別子を含む第1の制御信号、およびデータを受信することであって、前記データは前記第1のモバイル・デバイスを目標にされる、前記受信することに応答して、前記第1の一意的な識別子を使用して、前記第1のグループを識別するステップと、
前記第1のモバイル・デバイスが前記ブローカ・サービスに接続されていないことに応答して、前記第2のモバイル・デバイスが前記ブローカ・サービスに接続されているかどうかを決定するステップと、
前記第2のモバイル・デバイスが前記ブローカ・サービスに接続されていることに応答して、前記データを前記第2のモバイル・デバイスに転送するために、第2の制御信号を前記第2のモバイル・デバイスに発行するステップであって、前記第2の制御信号は、前記第1のモバイル・デバイスの前記識別子を含む、前記発行するステップと
を含み、
前記第2の制御信号は、前記第2のモバイル・デバイスに、前記データを前記第1のモバイル・デバイスに転送するために、前記第1のモバイル・デバイスの前記識別子、および前記ネットワーク接続を使用させる、方法。
コンピュータ・プログラムであって、コンピュータ・システム内にロードされ、前記コンピュータ・システム上で実行されるときに、前記コンピュータ・システムに、請求項9に記載の方法のすべてのステップを実行させるための、コンピュータ・プログラム・コードを含む、コンピュータ・プログラム。
【発明を実施するための形態】
【0014】
図1を参照すると、データを受信するための受信器(102)と、データを送信するための送信器(104)と、Wi−Fi(R)(106)およびBluetooth(R)(108)などの、1つまたは複数のワイヤレス・ネットワーク接続と、スピーカ(110)と、マイクロホン(112)と、ディスプレイ(114)と、メモリ(116)とを備える、好ましい実施形態による使用のためのモバイル・デバイス(100)が示されている。好ましくは、モバイル・デバイスは、電話通信サービスに、例えば、サービス・プロバイダ、VOIPシステム、などを使用して、アクセスするように動作可能である。
【0015】
図2を参照すると、好ましい実施形態が実装され得るシステム(200)が図示されており、その場合、複数のユーザが複数のモバイル・デバイスを有し、それらのモバイル・デバイスは、異なる電話通信サービス、例えばサービス・プロバイダに登録され得る(例えばモバイル・デバイスAは、サービス・プロバイダGに登録され、モバイル・デバイスBおよびCは、サービス・プロバイダEに登録され、モバイル・デバイスDは、サービス・プロバイダFに登録される)。
【0016】
好ましくは、モバイル・デバイスが、そのサービス・プロバイダのネットワークとのネットワーク接続を確立することが可能であるとき、モバイル・デバイスは、通話またはデータあるいはその両方に関して、送信または受信あるいはその両方を行うように動作可能である。同じく、モバイル・デバイスが、VOIPシステムなどの電話通信サービスへのネットワーク接続を確立することが可能であるとき、モバイル・デバイスは、通話またはデータあるいはその両方に関して、送信または受信あるいはその両方を行うように動作可能である。
【0017】
これに対して、モバイル・デバイスが、電話通信サービスへのネットワーク接続を確立することが可能でないとき、例えば、モバイル・デバイスが、そのサービス・プロバイダのネットワークから接続を断たれているとき、データは、モバイル・デバイスとサービス・プロバイダとの間で交換され得ない。例えば
図3を参照すると、モバイル・デバイスBおよびCは、サービス・プロバイダEのネットワークへの接続を確立することが可能であり、モバイル・デバイスDは、サービス・プロバイダFのネットワークへの接続を確立することが可能である。これに対してモバイル・デバイスAは、サービス・プロバイダGのネットワークへの接続を確立することが可能でない。現在、通話転送などの知られている解決策が使用され得るが、この機構は、上記の背景技術セクションで述べた欠点を有する。
【0018】
好ましい実施形態によれば、電話通信サービス、例えば、そのサービス・プロバイダのネットワークと接続することが可能でないモバイル・デバイスは、それでもなお、本明細書で説明するように、通話またはデータあるいはその両方に関して、送信または受信あるいはその両方を行うことが可能である。
【0019】
好ましくは、モバイル・デバイスは、それ自体を別のモバイル・デバイスに対して識別することを、送信器(104)を使用して、識別子を含むデータを、例えば、Wi−Fi(R)(106)およびBluetooth(R)(108)などのワイヤレス・ネットワーク接続を使用して送信することにより行うように動作可能である。互いに対して識別される複数のモバイル・デバイスは、本明細書でさらに詳細に説明するように、モバイル・デバイスのグループを形成するように動作可能である。モバイル・デバイスが、例えば、そのサービス・プロバイダとの接続を失うとき、モバイル・デバイスは、それでもなお、そのグループ内の他の複数のモバイル・デバイスの少なくともサブセットとの(デバイス、例えばモバイル・デバイスを接続するように動作可能である、Bluetooth(R)などのネットワーク接続を使用する)接続性を保持し得るということが想到可能である。例えば、テザリングおよびモバイルhotspot(R)の知られている機構、例えば、http://en.wikipedia.org/wiki/Tethering、および、http://en.wikipedia.org/wiki/Hotspot_(Wi-Fi)を参照されたい。好ましい実施形態によれば、各々のモバイル・デバイスに関連付けられるメモリ(116)は、
図4で図示されるように構成される。メモリ(116)は、モバイル・デバイスの識別子のレコード(402)を記憶するように動作可能である。
【0020】
好ましくは、モバイル・デバイスの2つ以上が、モバイル・デバイスのグループに含まれ得るものであり、したがってメモリ(116)はさらには、グループ・データ(406)を記憶するための、モバイル・デバイスのグループに関連付けられるグループ・メモリ区画(404)を含み、そのグループ・データ(406)は、プライベートまたはパブリックにされるように動作可能であるグループ識別子(例えば、グループ1、グループ2)と、2つ以上のモバイル・デバイスの関連付けられるモバイル・デバイス識別子(例えば、モバイル・デバイスA、モバイル・デバイスB、モバイル・デバイスC、モバイル・デバイスD)と、1つまたは複数のグループ・プリファレンス(例えば、帯域幅、プライバシー)とを含む。モバイル・デバイスは、モバイル・デバイスの複数のグループに関連付けられるデータを記憶し得るということに留意されたい。
【0021】
好ましくは、モバイル・デバイスの識別子のレコード(402)、およびグループ・メモリ区画(404)は、前処理ステップで構成される。
【0022】
好ましくは、モバイル・デバイスの各々は、グループ内の別のモバイル・デバイスとの間のデータ伝達をイネーブル(enable)するための許可を与えることを、内部フラグをイネーブルすることにより行うように動作可能であり、このようにして、グループの内部のモバイル・デバイスは、互いに対するデータ伝達をイネーブルする。
【0023】
好ましくは、モバイル・デバイスの間のデータ伝達に関連付けられるデータは、グループ・メモリ区画(404)に記憶される。
【0024】
好ましくは、(本明細書で、より詳細に説明するような)モバイル・デバイスのグループの成功裏の構成を基に、グループに含まれる各々のモバイル・デバイスは、グループに含まれる少なくとも1つの他のモバイル・デバイスに接続することを、例えば、Wi−Fi(R)またはBluetooth(R)などのワイヤレス・ネットワーク接続を使用して(あるいは、ケーブルなどの物理接続が使用され得る)行うことが可能である。他のモバイル・デバイスの1つまたは複数へのワイヤレス・ネットワーク接続が行われ得ないとき、好ましくは、知られている経路構成アルゴリズム(例えば、ラウンド・ロビン、優先度ベース)が、利用可能なモバイル・デバイスとのワイヤレス接続を確立することを試行するために使用される。
【0025】
好ましくは、グループ内のモバイル・デバイスに送信されるいずれの通知も、キューイングされるように動作可能であり、そのことによって、現在は利用可能でないモバイル・デバイスは、そのようなモバイル・デバイスが利用可能になるとすぐに、例えば、SMSメッセージ、プッシュ通知、トピックに関するメッセージをパブリッシュすること、などを使用して通知される。
【0026】
動作のセットが、下記で説明するような好ましい実施形態により提供される。
【0027】
モバイル・デバイスは、モバイル・デバイスのグループに参加するように動作可能である。好ましくは、グループは、何らかの形で関連付けられる、「トラステッド(trusted)」モバイル・デバイスのセットを含むものであり、何らかの形とは例えば、モバイル・デバイスが、互いに知られているユーザに属する、モバイル・デバイスが、過去のインタラクションを有していた、などである。
【0028】
1つの例ではモバイル・デバイスは、グループに参加することを要求することを、例えば、要求を、グループに含まれるモバイル・デバイスに送信することにより行い得る。モバイル・デバイスは、要求を認可するように動作可能であり、これに応答して、モバイル・デバイスは、認可の通知を、グループ内の他のモバイル・デバイスの各々に送信し、関連付けられるグループ・データを、要求するモバイル・デバイスに送信するように動作可能である。別の例ではモバイル・デバイスは、モバイル・デバイスのグループに含まれるように(例えば、別のモバイル・デバイスが、選定されるモバイル・デバイスに要求を送信することにより)選定され得る。選定されるモバイル・デバイスは、要求を認可するように動作可能であり、これに応答して、要求するモバイル・デバイスは、認可の通知を、グループ内の他のモバイル・デバイスの各々に送信し、関連付けられるグループ・データを、選定されるモバイル・デバイスに送信するように動作可能である。他のモバイル・デバイスのいずれも、それまでに、選定されるモバイル・デバイスのモバイル・デバイス識別子を、それらのモバイル・デバイスの識別子のレコード(402)に記憶しないとき、他のモバイル・デバイスは、そうすることを、要求するモバイル・デバイスにより促される。さらに別の例では、好ましくは、モバイル・デバイスは、例えば、グループまたはモバイル・デバイスに関連付けられるフラグをイネーブルすることにより、例えば、含まれるモバイル・デバイスが近接しているグループに自動的に参加するように構成され得る。
【0029】
モバイル・デバイスは、グループを任意の時間に離脱することを、例えば、要求を、グループに含まれるモバイル・デバイスに送信することにより行い得る。好ましくは、グループ内のモバイル・デバイスは、要求を認可するように動作可能である。あるいはモバイル・デバイスは、グループを、モバイル・デバイスの認可なしに離脱し得る。モバイル・デバイスがグループを離脱することに応答して、好ましくは、グループ内のモバイル・デバイス(例えば、離脱するモバイル・デバイス)は、離脱の通知を、グループ内の他のモバイル・デバイスの各々に送信するように動作可能であり、好ましくは、グループ内のモバイル・デバイスの各々は、そのメモリ(116)を更新して、離脱を反映することを、例えば、離脱するモバイル・デバイスの識別子を、関連付けられるグループ・データから除去することにより行うように動作可能である。
【0030】
好ましくは、最大許容共有帯域幅などの1つまたは複数のグループ・プリファレンスが、グループに含まれるモバイル・デバイスに利用可能にされ、(例えば、モバイル・デバイスにより)デフォルト、優先度、などによりセットされ得る。好ましくは、最大帯域幅に関連付けられる数値が、グループ・データ(406)に記憶される。
【0031】
好ましくは、モバイル・デバイスは、1つまたは複数のフラグをセットして、許可されるルーティング・データ・タイプおよび方向を指定し得る。例えばデータ・タイプは、「通話およびデータ」、「通話のみ」、または「データのみ」を含み得るものであり、方向は、「インバウンドおよびアウトバウンド」、「インバウンドのみ」、または「アウトバウンドのみ」を含み得る。
【0032】
好ましくは、グループに関連付けられる管理セッティングが、各々のモバイル・デバイスに対して提供され、そのことによって例えば、1人または複数のユーザは、どのグループのデータが維持されるべきか、削除されるべきか、などを判断し得る。
【0033】
好ましくは、プライバシー・プリファレンスは、グループ識別子に関連付けられ、例えばそのようなグループ識別子(および、関連付けられるモバイル・デバイス識別子)は、プライベートまたはパブリックに、フラグの使用によりセットされ得る。
【0034】
好ましくは、上記の動作は、グループの確立、および後続の使用に関連付けられる。グループが確立されると、ユーザは、自分のモバイル・デバイスといつものようにインタラクトすることを、何らかの追加的なアクションを実行する必要性なしに行い得る。
【0035】
好ましい実施形態によれば、モバイル・デバイスは、(例えば、Wi−Fi(R)、Bluetooth(R)、GPRS、などの接続を使用して)ブローカ・サービスに接続し得る。ブローカ・サービスは、サービス・プロバイダと別個に、または、サービス・プロバイダと一体でのいずれかで、モバイル・デバイスのグループに対してリモートに位置し得る。あるいはブローカ・サービスは、モバイル・デバイスの1つまたは複数上にローカルに在り得る。
【0036】
ブローカ・サービス(500)は、
図5で示されており、利用可能な電話番号であって、それらの電話番号上で、着信する通話が受け付けられ得る、利用可能な電話番号のリスト(502)と、ブローカ・サービス(500)に接続されているモバイル・デバイスのリスト(504)と、1つまたは複数のアクティブ・グループ(すなわち、下記で説明するようにアクティブ化されているグループ)内のモバイル・デバイスのリスト(506)と、割り当てられる電話番号のリスト(508)と、アクティブ・グループのリスト(514)と、関連付けられる、グループ詳細のリスト(512)およびグループ・プリファレンスのリスト(516)とを、それぞれ含む。
【0037】
アクティブ・グループ内のモバイル・デバイスは、互いに接続されており、そのことは、例えば、Wi−Fi(R)もしくはBluetooth(R)などのワイヤレス・ネットワーク接続を使用して、または、接続が、グループ内で、接続を断たれているモバイル・デバイスと、1つの他のモバイル・デバイスとの間で形成されるという、最小限の要件として、行われるということが想定されている。
【0038】
好ましくは、ブローカ・サービス(500)は、接続をモバイル・デバイスから受け付けることが可能であり、例えばその場合、接続は、Wi−Fi(R)またはGPRSなどのワイヤレス・データ接続である。接続が受け付けられると、ブローカ・サービス(500)は、モバイル・デバイスに関連付けられる識別子を、接続されているモバイル・デバイスのリスト(504)に追加する。さらに、モバイル・デバイスとブローカ・サービス(500)との間の接続が切られるとき、ブローカ・サービス(500)は、接続されているモバイル・デバイスのリスト(504)に対する、モバイル・デバイスに関連付けられる識別子を除去する。
【0039】
好ましくは、ブローカ・サービス(500)への接続を有するグループ内の各々のモバイル・デバイスは、周期的に通知を、グループ内の他のモバイル・デバイスの各々にブロードキャストして、他のモバイル・デバイスに接続を告知し、その場合、グループ内の各々のモバイル・デバイスは、通知をそのメモリ(116)に記憶するように動作可能である。
【0040】
グループのアクティブ化を、ここで説明する。
【0041】
好ましくは、グループに関連付けられる、いずれかの(例えば、アクティブ化する最初のものの規則、ラウンド・ロビン規則、などを使用しての)モバイル・デバイスが、要求をブローカ・サービス(500)に行うことにより、グループをアクティブ化するように動作可能であり、ただし好ましくは、グループ内の少なくとも1つのモバイル・デバイスは、アクティブ化機能がイネーブルされるために、ブローカ・サービス(500)に接続されていることを要される。グループをアクティブ化するモバイル・デバイスが、ブローカ・サービス(500)への接続を有するとき、好ましくは、アクティブ化をイネーブルするための機能がディセーブルされる(disabled)ことが、(例えば、グループをアクティブ化するモバイル・デバイスにより、または、グループに関連付けられる任意のモバイル・デバイスにより)グループ内の残りのモバイル・デバイスの各々に対して行われる。アクティブ化が1回行われることのみを必要とするからである。グループをアクティブ化するモバイル・デバイスが、ブローカ・サービス(500)への接続を有しないとき、モバイル・デバイスは、アクティブ化に対する要求を、(例えば、Bluetooth(R)データ・チャネルを使用して)ブローカ・サービス(500)への接続を有するグループ内の別のモバイル・デバイスに渡し、別のモバイル・デバイスは、要求をブローカ・サービス(500)に(例えば、WiFi(R)チャネルを使用して)転送する。別のモバイル・デバイスは、接続を断たれているモバイル・デバイスのメモリ(116)を調査することにより、優先度順序で、ラウンド・ロビン技法を使用して(その場合モバイル・デバイスは、以下のようなチェーンを形成するものであり、矢印は、要求が渡されるべきである、チェーン内の進行するモバイル・デバイスを指すものを表す:A→B→C→D→A)、などで見出され得る。
【0042】
図6を参照すると、モバイル・デバイスが、グループをアクティブ化するために、要求をブローカ・サービス(500)に行う(ステップ600)ことに応答して、ブローカ・サービス(500)は、その、利用可能な電話番号のリスト(502)をクエリする(ステップ605)。電話番号が利用可能でないとき、1つの実装形態では、グループをアクティブ化するための機能は不成功であり、要求は拒否される(ステップ610)。別の実装形態では、要求は(例えば、電話番号が利用可能になるまで)キューイングされる。
【0043】
電話番号が利用可能であるとき、ブローカ・サービス(500)は、利用可能な電話番号を確保し、利用可能な電話番号を、利用可能な電話番号のリスト(502)から除去し、利用可能な電話番号を、割り当てられる電話番号のリスト(508)に移す(ステップ615)。割り当てられる電話番号は、ブローカ・サービス(500)に関連付けられ、そのブローカ・サービス(500)は、情報をサービス・プロバイダに渡すことを(例えば、割り当てられる電話番号を、サービス・プロバイダに関連付けられる加入者レコードに記憶することにより)行う。リモート・ブローカ・サービスは、割り当てられる電話番号を、モバイル・デバイスのグループに対する一意的なキーとして使用し得る。
【0044】
モバイル・デバイスは、グループを非アクティブ化することを要求し得るものであり、そのことは、ブローカ・サービス(500)が、グループをアクティブ・グループのリスト(514)から除去し、グループに関連付けられる、割り当てられる電話番号を、割り当てられる電話番号のリスト(508)から解放することを結果として生じさせ、そのことによって電話番号は、要されるときに別のグループにより使用されるように利用可能にされるということに留意されたい。
【0045】
ブローカ・サービス(500)は、要求するモバイル・デバイスを、アクティブ化されることを要求されるグループに関連付けられるグループ・データ(400)に対してクエリする(ステップ620)。受信されると、ブローカ・サービス(500)は、グループ・データ(400)を使用して、アクティブ・グループのリスト514、および、グループ・プリファレンスのリスト516をポピュレートする。
【0046】
ステップ625で、割り当てられる電話番号が、要求するモバイル・デバイスに返され、その要求するモバイル・デバイスは、割り当てられる電話番号を、グループに関連付けられる他のモバイル・デバイスの各々に配布する(ステップ630)。
【0047】
グループに関連付けられる各々のモバイル・デバイスは、その自動化された通話転送番号、および、他に回す際の電話番号を、割り当てられる電話番号になるように構成する(ステップ635)ことを、好ましくは、割り当てられる電話番号を、関連付けられる加入者レコード内に入力することにより行う。あるいは、グループ内の各々のモバイル・デバイスは、ブローカ・サービス(500)により割り当てられる一意的な電話番号を有してもよいが、代替的実施形態は、ブローカ・サービス(500)に利用可能にされるための、著しく、より多くの電話番号を要する。
【0048】
好ましくは、ブローカ・サービス(500)は、本明細書で説明するように、グループに関連付けられるデータを監視および更新する(ステップ640)。好ましくは、グループ内のモバイル・デバイスに関連付けられる各々の識別子が、アクティブ・グループ内のモバイル・デバイスのリスト(506)に追加される。ブローカ・サービス(500)は、ブローカ・サービス(500)への接続を有する1つまたは複数のモバイル・デバイス、および、アクティブ・グループの内部にある1つまたは複数のモバイル・デバイスに関連付けられるデータを記憶することを、接続されているモバイル・デバイスのリスト504、および、アクティブ・グループのリスト514を使用して行うものであり、グループ詳細のリスト512で反映されるような、ブローカ・サービス(500)への接続を有し、アクティブ・グループの内部にある、モバイル・デバイスを表すのは、これらのデータ・セットの結合体であるということに留意されたい。好ましくは、ブローカ・サービス(500)は、結合体を監視し、そのことによって、モバイル・デバイスがブローカ・サービス(500)へのその接続を絶つとき、ブローカ・サービス(500)は、グループ詳細のリスト(512)を更新する。好ましくは、グループ内の各々のモバイル・デバイスが、ブローカ・サービス(500)へのその接続を絶つとき、ブローカ・サービス(500)は、何らかのアクションを起動する前に、あらかじめ構成可能な時間の間待機するものである。モバイル・デバイスの各々が、一時的に、それらのそれぞれのサービス・プロバイダへの接続を失ったというのが実情であり得るからである。
【0049】
モバイル・デバイスであって、電話通信サービス、例えばそのサービス・プロバイダへの接続を有しない、モバイル・デバイスで電話通話を受信するためのプロセスに含まれる動作ステップを示すフローチャートを、ここで、
図8を参照して説明する。同じく、モバイル・デバイスは、例えば、VOIPシステムなどの電話通信サービスとのインターネット接続を確立することが可能でないことがある。
【0050】
ステップ700で、サービス・プロバイダは、(例えば、コンピュータ、固定電話、モバイル電話、などを使用する)外部の相手からの、
図3でのモバイル・デバイスAに対する通話を受信するものであり、その通話は、好ましくは、外部の相手に関連付けられるデータ(例えば、関連付けられるモバイル・デバイスの電話番号)を含む。通話は、モバイル・デバイスAに関連付けられる識別子をさらに含む。
【0051】
ステップ705で、モバイル・デバイスAが、電話通信サービスに、例えばサービス・プロバイダGに接続されているとき、そのことは、サービス・プロバイダGにより保有されるモバイル・デバイスAに対する加入者レコードを使用して検出可能であるが、その接続されているとき、電話通話が、モバイル・デバイスAに、例えばサービス・プロバイダGによりルーティングされる(ステップ710)。
【0052】
ステップ705で、モバイル・デバイスAが、サービス・プロバイダGに接続されていないとき、サービス・プロバイダGは、モバイル・デバイスAに関連付けられる識別子を使用して、モバイル・デバイスAに関連付けられる加入者レコードを、ステップ635で説明したようにモバイル・デバイスにより記憶される、割り当てられる電話番号に対してクエリする。
【0053】
ステップ715で、サービス・プロバイダGは、割り当てられる電話番号を第1の制御信号に含め、その第1の制御信号をサービス・プロバイダGは、ブローカ・サービス(500)に発行することを、通話をブローカ・サービス(500)に転送するために、例えば、GSM、3G、またはLTE、または任意の数の他のプロトコルを使用して行う。
【0054】
ステップ720で、通話を受信することに応答して、ブローカ・サービス(500)は、どのグループが、割り当てられる電話番号に関連付けられるかを識別するために、割り当てられる電話番号を、割り当てられる電話番号のリスト(508)に対するキーとして使用する。グループを決定することに応答して、ブローカ・サービス(500)は、ブローカ・サービス(500)に接続されている、グループ内の少なくとも1つのモバイル・デバイスが存するかどうかを決定するために、ブローカ・サービス(500)への接続を有する、および、グループの内部にある、モバイル・デバイスの、グループ詳細のリスト(512)をチェックする。
【0055】
グループ内の少なくとも1つのモバイル・デバイスが、ブローカ・サービス(500)に接続されていないとき、サービス・プロバイダGおよびブローカ・サービス(500)のうちの少なくとも1つは、1つまたは複数のアクションを実行し(ステップ725)、例えばサービス・プロバイダGは、通話をモバイル・デバイスAのボイスメール・サービスに転送することを試行することがあり、サービス・プロバイダGが、通話をモバイル・デバイスAのボイスメール・サービスに転送することが可能でないとき、サービス・プロバイダGは、サービス拒否通知(例えば、ビープ音のトーン)を外部の相手に発行する、通話の送信を延期する、などを行うことがある。
【0056】
グループ内の少なくとも1つのモバイル・デバイスが、ブローカ・サービス(500)に接続されているとき、ブローカ・サービス(500)は、1つまたは複数のアクションを実行して、通話が向けられる、グループ内のモバイル・デバイスを識別する。識別は、いくつかの方途で行われ得るものであり、例えばサービス・プロバイダGは、モバイル・デバイスAに関連付けられる識別子を、第1の制御信号に含めることがある。あるいは、グループ内の各々のモバイル・デバイスが、一意的な割り当てられる電話番号を有するとき、ブローカ・サービス(500)は、関連付けられるモバイル・デバイスを識別するために、受信される通話に関連付けられる、一意的な割り当てられる電話番号のルックアップを実行する。これに対して本明細書の例では、受信される通話は、グループ内のモバイル・デバイスの各々の間で共有される、割り当てられる電話番号を含む。そのような例では、および例えば、サービス・プロバイダGが、モバイル・デバイスAに関連付けられる識別子を提供していないとき、ブローカ・サービス(500)は、ブローカ・サービス(500)への接続を有するモバイル・デバイスの、グループ詳細のリスト(512)を、アクティブ・グループ内のモバイル・デバイスのリスト506によるグループ内のモバイル・デバイスに対してチェックし、グループ内の1つのモバイル・デバイスのみが、ブローカ・サービス(500)に接続されていないとき、ブローカ・サービス(500)は、接続を断たれているモバイル・デバイスが、通話が向けられるべきであるモバイル・デバイスであると決定する。あるいは、外部の相手による通話が、例えばVOIPを使用して発信される(placed)とき、関連付けられるセッション開始プロトコル(SIP)が、通信のために使用され、その通信によりモバイル・デバイスは、その電話番号を、SIPヘッダに含まれるものに対して識別することがあり、または識別しないことがある。通話の目標であるモバイル・デバイスが、その電話番号を、SIPヘッダに含まれるものに対して識別するとき、ブローカ・サービス(500)は、どのモバイル・デバイスに通話が向けられるべきであるかを決定するために、SIPヘッダをクエリする。
【0057】
通話が向けられるべきであるモバイル・デバイス(この例では、モバイル・デバイスA)を決定することに応答して、グループ内の1つのモバイル・デバイスのみが、ブローカ・サービス(500)に接続されているとき、ブローカ・サービス(500)は、通話を、接続されているモバイル・デバイスに、例えば関連付けられるVOIPデータ・パケットを、インターネットを介してルーティングすることにより転送する(ステップ730)ために、割り当てられる電話番号を使用して、第2の制御信号を、接続されているモバイル・デバイスに発行するものであり、例えばデータ・パケットは、通話が向けられるべきであるモバイル・デバイスの識別子を含む。接続されているモバイル・デバイスは応答して、通話を、モバイル・デバイスAの受信器(102)に転送する(ステップ735)ために、第3の制御信号を、電話通信サービスへの接続を有しないモバイル・デバイス、例えばモバイル・デバイスAに発行する。接続されているモバイル・デバイスは、関連付けられるデータ・パケットを、モバイル・デバイスを接続するように動作可能であるネットワーク接続、例えばBluetooth(R)、Wi−Fi(R)、などを使用してルーティングする。有利には、電話通信サービスへの接続を有しないモバイル・デバイスは、それでもなお、そのモバイル・デバイスが、接続されているモバイル・デバイスに、モバイル・デバイスを接続するように動作可能であるネットワーク接続を使用して接続することが可能であるとき、通話またはデータあるいはその両方を受信するように動作可能である。
【0058】
グループ内の2つ以上のモバイル・デバイスが、ブローカ・サービス(500)に接続されているとき、好ましくは、ブローカ・サービス(500)は、接続されているモバイル・デバイスと、接続を断たれているモバイル・デバイスとの間の最適経路を選択する。例えば、最も少ないモバイル・デバイスを内包する経路が選択され得るものであり、そのことによって有利には、グループ内のモバイル・デバイスの間で要されるデータ伝達の量が最小になる。別の例では、経路の選択は、負荷平衡技法またはユーザ・プリファレンスあるいはその両方を使用することにより行われ得るものであり、例えば、複数個の最適経路が決定されるとき、最も大きな利用可能な帯域幅を有する最適経路が選択される。複数個の最適経路は有益である。それらの経路は、既存の経路のサービス提供が廃止されることがあるときに選択され得る代替的経路を表すからである。好ましくは、代替的経路は、ユーザに対するサービスでの見かけの損失が存しないように切り替えられ得る。そのような自動的な切り替え機構は、当技術分野で知られており、例えば、ワイヤレス・メッシュ・ネットワークの使用である。
【0059】
ステップ735の後に続いて、いくつかのアクションが実行され得るものであり、例えば、接続を断たれているモバイル・デバイス(例えば、モバイル・デバイスA)の所有者は、通話に応じて出ることがあり、ブローカ・サービス(500)は、通話がモバイル・デバイスAに成功裏に伝達されないとき、サービス拒否通知を外部の相手に発行することがある。
【0060】
モバイル・デバイスであって、それ自体のサービス・プロバイダまたはインターネットへの接続を有しない、モバイル・デバイスから電話通話を行うためのプロセスに含まれる動作ステップを示すフローチャートを、ここで、
図9を参照して説明する。
【0061】
ステップ800で、モバイル・デバイスAは、(例えば、コンピュータ、固定電話、モバイル電話、などを有する)外部の相手への通話を行うことを試行する。
【0062】
ステップ805で、モバイル・デバイスAが、サービス・プロバイダGまたはインターネットあるいはその両方に接続されているとき、電話通話はルーティングされ(ステップ810)、電話通話は、例えば、サービス・プロバイダGによる、またはVOIPを使用しての、外部の相手へのものである。
【0063】
ステップ805で、モバイル・デバイスAが、サービス・プロバイダGに接続されていないとき、モバイル・デバイスAは、その記憶機構をチェックして、グループ内のモバイル・デバイスのいずれかが、ブローカ・サービス(500)への接続を有するかどうかを決定する(ステップ815)。
【0064】
グループ内の少なくとも1つのモバイル・デバイスが、ブローカ・サービス(500)に接続されていないとき、モバイル・デバイスAは、1つまたは複数のアクションを実行し、例えばモバイル・デバイスAは、ステップ800を再試行する前に、あらかじめ構成可能な時間の期間の間待機する。
【0065】
グループ内の少なくとも1つのモバイル・デバイスが、ブローカ・サービス(500)に接続されているとき、モバイル・デバイスAは、そのモバイル電話番号と、外部の相手の電話番号とを含む第4の制御信号を、(例えば、Bluetooth(R)チャネルを使用して)その送信器(104)を使用して、少なくとも1つの接続されているモバイル・デバイスに発行し、その少なくとも1つの接続されているモバイル・デバイスは応答して、通話発信(call placement)要求を含む第5の制御信号を、(例えば、Wi−Fi(R)チャネルを使用して)ブローカ・サービス(500)に発行する(ステップ825)ものであり、その第5の制御信号は、外部の相手の電話番号と、モバイル・デバイスAの電話番号とをさらに含む。
【0066】
複数のモバイル・デバイスが、ブローカ・サービス(500)に接続されているとき、モバイル・デバイスAは、第4の制御信号を、複数のモバイル・デバイス、または、複数のモバイル・デバイスの選択されるサブセットの各々に発行するように動作可能であるということに留意されたい。複数のモバイル・デバイス、または、複数のモバイル・デバイスの選択されるサブセットの各々は、それぞれ、第5の制御信号を発行する(ステップ825)ように動作可能である。好ましくは、どの第5の制御信号に優位性があるかに関する判断が、例えば、規則のセット(第5の制御信号を発行する最初のモバイル・デバイス、ラウンド・ロビン、など)に従って行われる。あるいはブローカ・サービス(500)は、複数のモバイル・デバイスと、接続を断たれているモバイル・デバイスAとの間の最適経路を選択するように動作可能である。
【0067】
第5の制御信号を受信することに応答して、ブローカ・サービス(500)は、通話を外部の相手に転送する(ステップ830)ために第6の制御信号を応答して発行することを、例えば、第5の制御信号に含まれる外部の相手の電話番号を使用することにより、例えば、関連付けられるデータ・パケットを、インターネットを介してルーティングすることで行う。好ましくは、ブローカ・サービス(500)は、モバイル・デバイスAの電話番号を指定するように動作可能である。
【0068】
外部の相手は、通話に応じて出ることがあり、そうでなければ、1つまたは複数のアクションが実行され、例えばブローカ・サービス(500)は、サービス拒否通知を、接続されているモバイル・デバイスを使用して発行し、その接続されているモバイル・デバイスは、引き続いて、通知をモバイル・デバイスAの受信器(102)に渡す。
【0069】
好ましい実施形態は、いくつかの技術的利点を提供する。例えば、好ましい実施形態によって、通話または他のデータあるいはその両方が、サービス・プロバイダなどの電話通信サービスへの、または、VOIPなどのシステムへの接続を有しないモバイル・デバイスとの間で、送信/受信されることが可能となる。さらに、好ましい実施形態によって、通話または他のデータあるいはその両方が、通話または他のデータあるいはその両方の、送信元であるモバイル・デバイスから送信され、または目標であるモバイル・デバイスに受信され、あるいはその両方が行われることが可能となり、そのことは、通話または他のデータあるいはその両方を、送信元/目標とは別個のデバイスに回す、従来技術のシステムに対する改善を提供する。有利には、好ましい実施形態は、(上記で説明したような)いくつかの制御信号を使用して、いくつかのシステム構成要素(例えば、ブローカ・サービスに対して外部に位置するシステム構成要素、例えば、電話通信サービスに接続されていない別個のモバイル・デバイス、および、ブローカ・サービスに接続されている別個のモバイル・デバイスを含む)の制御を開始することを、通話または他のデータあるいはその両方が、送信元デバイスから送信され、または目標モバイル・デバイスに受信され、あるいはその両方が行われるように行う。さらに、好ましい実施形態は、電話通信ネットワークでの通信の構成を変化させることを、例えば、通話を、電話通信サービスに接続されていないモバイル・デバイスにルーティングするように行うように動作可能である。換言すれば、好ましい実施形態は、電話通信サービスから接続を断たれているモバイル・デバイスの外側で続けられるプロセスへの技術的効果を有する。有利には、好ましい実施形態は、モバイル・デバイスのグループを管理するためのいくつかのポリシーを提供する。好ましい実施形態は、モバイル・デバイスがグループに参加すると(その場合、参加するプロセスは、関連付けられる低いオーバヘッドを有する)、モバイル・デバイスが電話通信サービスから接続を断たれているとき、モバイル・デバイスが、通話または他のデータあるいはその両方の送信/受信を引き起こすために引き受ける必要がある、最小限の数のプロセス・ステップが存するという点で、スケーラブルである。さらに、好ましい実施形態は、モバイル・デバイスのグループが、(利用可能なネットワーク収容能力などの要因)に従うべきものである任意の数のモバイル・デバイスを含み得るという点で、スケーラブルである。有利には、好ましい実施形態はさらには、例えば負荷平衡機構を活用して、電話通信サービスから接続を断たれているモバイル・デバイスと、ブローカ・サービスに接続されている1つまたは複数のモバイル・デバイスとの間の最適ルートを提供する。
【0070】
図10を参照すると、好ましい実施形態の態様を実装するための例示的なシステムは、直接的または間接的にメモリ要素に、バス・システム903を介して結合される、少なくとも1つのプロセッサ901を含む、プログラム・コードに関して記憶または実行あるいはその両方を行うのに適したデータ処理システム900を含む。メモリ要素は、プログラム・コードの実際の実行の間に用いられるローカル・メモリ、バルク記憶装置、および、コードが実行の間にバルク記憶装置から検索されなければならない回数を低減するために、少なくとも一部のプログラム・コードの一時的な記憶を提供するキャッシュ・メモリを含み得る。
【0071】
メモリ要素は、読み出し専用メモリ(ROM)904およびランダム・アクセス・メモリ(RAM)905の形式での、システム・メモリ902を含み得る。基本入出力システム(BIOS)906が、ROM904に記憶され得る。システム・ソフトウェア907が、RAM905に、オペレーティング・システム・ソフトウェア908を含めて記憶され得る。ソフトウェア・アプリケーション910がさらには、RAM905に記憶され得る。
【0072】
データ処理システム900はさらには、磁気ハード・ディスク・ドライブなどの1次記憶手段911と、磁気ディスク・ドライブおよび光ディスク・ドライブなどの2次記憶手段912とを含み得る。ドライブ、および、それらの関連付けられるコンピュータ可読媒体は、コンピュータ実行可能命令、データ構造、プログラム・モジュール、および他のデータの不揮発性記憶を、データ処理システム900に対して提供する。ソフトウェア・アプリケーションは、システム・メモリ902と同様に、1次記憶手段911および2次記憶手段912上に記憶され得る。
【0073】
データ処理システム900は、ネットワーク化された環境で、1つまたは複数のリモート・コンピュータへの、ネットワーク・アダプタ916を介した論理接続を使用して動作し得る。
【0074】
入出力デバイス913が、システムに、直接的に、または、介在するI/Oコントローラを介してのいずれかで結合され得る。ユーザは、コマンドおよび情報をデータ処理システム900内に入れることを、キーボード、ポインティング・デバイスなどの入力デバイス、または、他の入力デバイス(例えば、マイクロホン、ジョイ・スティック、ゲーム・パッド、サテライト・ディッシュ、スキャナ、または類するもの)を介して行い得る。出力デバイスは、スピーカ、プリンタ、などを含み得る。ディスプレイ・デバイス914がさらには、バス・システム903に、ビデオ・アダプタ915などのインターフェイスを介して接続される。
【0075】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであり得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるための、コンピュータ可読プログラム命令を有する、コンピュータ可読記憶媒体(または、複数の媒体)を含み得る。
【0076】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶し得る有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または、上述のものの任意の適した組合せであり得るが、それらに制限されない。コンピュータ可読記憶媒体の、より具体的な例の非網羅的な列挙としては、以下のもの、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD−ROM)、デジタル・バーサタイル・ディスク(DVD)、memory stick(R)、フロッピー(R)・ディスク、命令が記録されるパンチ・カードまたは溝内の一段高い構造などの機械的に符号化されるデバイス、および、上述のものの任意の適した組合せを含む。コンピュータ可読記憶媒体を、本明細書では、本質的には、電波もしくは他の自由伝搬する電磁波、導波路もしくは他の伝送媒体を介して伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または、電線を介して伝送される電気信号などの、一時的な信号であると解釈すべきではない。
【0077】
本明細書で説明するコンピュータ可読プログラム命令は、それぞれのコンピューティング/処理デバイスにコンピュータ可読記憶媒体から、あるいは、外部のコンピュータ、または外部の記憶デバイスに、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくはワイヤレス・ネットワーク、またはその組合せを介してダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備え得る。各々のコンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイスの内部のコンピュータ可読記憶媒体での記憶のために転送する。
【0078】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態セッティング・データ、または、1つもしくは複数のプログラミング言語の任意の組合せで書き記される、ソース・コードもしくはオブジェクト・コードのいずれかであり得るものであり、それらのプログラミング言語は、Smalltalk(R)、C++、または類するものなどのオブジェクト指向プログラミング言語、および、「C」プログラミング言語または同様のプログラミング言語などの従来型の手続き型プログラミング言語を含む。コンピュータ可読プログラム命令は、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンド・アローン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上、および部分的にリモート・コンピュータ上で、または、全体的にリモート・コンピュータもしくはサーバ上で実行し得る。後の方のシナリオでは、リモート・コンピュータは、ユーザのコンピュータに、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介して接続され得るものであり、または接続は、外部のコンピュータに対して(例えば、インターネットを介して、インターネット・サービス・プロバイダを使用して)行われ得る。一部の実施形態では、例えば、プログラマブル論理回路網、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路網が、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して、電子回路網をパーソナライズすることにより、コンピュータ可読プログラム命令を実行し得る。
【0079】
本発明の態様を、本明細書では、本発明の実施形態による、方法、装置(システム)、およびコンピュータ・プログラム製品の、フローチャート図またはブロック図あるいはその両方を参照して説明している。フローチャート図またはブロック図あるいはその両方の各々のブロック、および、フローチャート図またはブロック図あるいはその両方でのブロックの組合せが、コンピュータ可読プログラム命令により実装され得るということが理解されよう。
【0080】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサによって実行する命令が、フローチャートまたはブロック図あるいはその両方の、1つまたは複数のブロックで指定される機能/行為を実装するための手段を創出するように、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて、マシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令はさらには、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の、1つまたは複数のブロックで指定される機能/行為の態様を実装する命令を含む製造品を構成するように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはその組合せに、特定の方式で機能するように指示するものであってもよい。
【0081】
コンピュータ可読プログラム命令はさらには、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行する命令が、フローチャートまたはブロック図あるいはその両方の、1つまたは複数のブロックで指定される機能/行為を実装するように、コンピュータ実装プロセスを生み出すために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行せせるものであってもよい。
【0082】
図でのフローチャートおよびブロック図は、本発明の様々な実施形態による、システム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能性、および動作を図解するものである。この点に関して、フローチャートまたはブロック図での各々のブロックは、指定される論理機能を実装するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または一部分を表し得る。一部の代替的実装形態では、ブロックで記される機能は、図で記される順序から外れて行われることがある。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行されることがあり、または、ブロックは時には、必然的に含まれる機能性に応じて、逆の順序で実行されることがある。ブロック図またはフローチャート図あるいはその両方の各々のブロック、および、ブロック図またはフローチャート図あるいはその両方でのブロックの組合せは、指定される機能もしくは行為を実行する、または、専用ハードウェアおよびコンピュータ命令の組合せを実行する、専用ハードウェア・ベースのシステムにより実装され得るということが、さらには留意されよう。
【0083】
改善および変更が、上述のものに対して、本発明の範囲から逸脱することなく行われ得る。