理解を助けるために、本明細書は以下のように構成されている。先ず、ユーザのアクティビティに応答して、ユーザのパーソナルネットワークを管理するパラメータを用いてリモートWi-Fiアクセスポイントを設定する、例示的なポータビリティプロバイダと例示的なプロダクトプロバイダとの間の例示的なコラボレーションについて、図1を参照しながら簡単に紹介する。次に、図2を参照して、ユーザがIoTデバイスのバーコードのシリアル番号をスキャンすることに応答して、ユーザのパーソナルネットワークを管理するパラメータで、ユーザのインターネットオブシングス(IoT)デバイスを設定する、例示的なポータビリティプロバイダと例示的なプロダクトプロバイダとの間のコラボレーションを示す例示的な実施形態を説明する。その後、図3Aおよび図3Bを参照しながら、ユーザのパーソナルネットワークを管理するパラメータを用いてリモートWi-Fiアクセスポイントを設定する、例示的なプロダクトプロバイダ、ポータビリティプロバイダおよびユーザ間の例示的な通信を、ユーザの観点から説明する。次に、図4を参照して、例示的なプロダクトプロバイダおよびポータビリティプロバイダにアクセス可能な例示的なエンティティデータベースレコードを提示する。次に、図5A-図5Dを参照しながら、ポータブルWi-Fiサービスを管理する、例示的なモバイルデバイスの構造および例示的なモバイルアプリケーションのユーザインターフェースについて説明する。次に、図6を参照して、ポータビリティ管理エンジン(PME)を有する例示的なアクセスポイントの構造を提示する。次に、図7を参照しながら、例示的なポータビリティ管理エンジン(PME)のプロセスフローを説明する。その後、図8を参照して、ユーザとプロダクトプロバイダとの間のトランザクションに基づいて、ユーザのパーソナルネットワークを管理するパラメータを用いてリモートWi-Fiアクセスポイントを設定する、例示的なプロダクトプロバイダとポータビリティプロバイダとの間のインタラクションを、ポータビリティプロバイダの観点から説明する。次に、図9を参照して、ユーザの到着に応答して、かつユーザとプロダクトプロバイダとの間の関係に基づいて、ポータビリティプロバイダにより生成されるパラメータでリモートWi-Fiアクセスポイントを設定する、例示的なプロダクトプロバイダとポータビリティプロバイダとの間のインタラクションを、プロダクトプロバイダの観点から説明する。続いて、図10を参照しながら、プロダクトプロバイダとユーザの関係に基づいて、かつプロダクトプロバイダとユーザのトランザクションに応答して、ポータビリティプロバイダにより生成されるパラメータでリモートWi-Fiアクセスポイントを設定する、例示的なプロダクトプロバイダとポータビリティプロバイダとの間のインタラクションを説明する。その後、図11を参照して、少なくとも1のポータビリティプロバイダとユーザの関係に基づいて予め定められたパラメータを用いて、リモートWi-Fiアクセスポイントを設定する、少なくとも1の例示的なポータビリティプロバイダと、これと協働する例示的なプロダクトプロバイダとの間の例示的なインタラクションを説明する。次に、図12を参照しながら、ユーザがIoTデバイス識別子をポータビリティプロバイダに提供することに応答して、ユーザのパーソナルネットワークを管理するパラメータを用いてユーザのIoTデバイスを設定する、例示的なポータビリティプロバイダおよび例示的なインターネットオブシングス(IoT)デバイスベンダの間の例示的なインタラクションを、ポータビリティプロバイダの観点から説明する。最後に、図13を参照しながら、ユーザがIoTデバイス識別子をポータビリティプロバイダに提供することに応答して、ユーザのパーソナルネットワークを管理するパラメータを用いてユーザのIoTデバイスを設定する、例示的なポータビリティプロバイダ、例示的なIoTデバイスベンダおよび例示的なIoTデバイスの間の例示的なインタラクションを、IoTデバイスの観点から説明する。
図1は、ユーザのアクティビティに応答して、ユーザのパーソナルネットワークを管理するパラメータを用いて、リモートWi-Fiアクセスポイントを設定する例示的なコラボレーションネットワークを示している。図1では、例示的なモバイルデバイス110上でホストされている例示的なモバイルアプリケーション105のユーザ100は、インターネットにアクセスするために例示的なパーソナルネットワーク115を使用している。一実施例では、ユーザ100のパーソナルネットワーク115が、ユーザ100のパーソナルSSID120によって管理されている。例示的な実施形態では、ユーザ100がレストランで予約125をする。レストランは、ユーザ100のパーソナルネットワーク115から離れた例示的なWi-Fiネットワーク130によってサービス提供されている。いくつかの実施形態では、Wi-Fiネットワーク130が、Wi-Fiアクセスポイント135によって有効にされる。ユーザ100は予約125の時間にレストランに到着する。一実施例では、ユーザの予約125に応答して、かつ予約125に基づく場所および時間に、ユーザのパーソナルネットワーク115を管理するパラメータを用いて、Wi-Fiアクセスポイント135を設定することにより、ポータブルインターネットアクセスが予約125中にユーザ100にプロビジョニングされる。一実施例では、Wi-Fiアクセスポイント135が、ユーザ100のパーソナルSSID120で設定されている。いくつかの実施形態では、ユーザ100のパーソナルSSID120が、モバイルデバイス110またはモバイルアプリケーション105に既に設定されており、その結果、ユーザ100は、予約125中にリモートネットワーク130を介してシームレスにかつ安全にインターネットにアクセスすることができる。
いくつかの例では、Wi-Fiアクセスポイント135が、Wi-Fiアクセスポイント135におけるユーザのパーソナルSSID120をアクティベートするように、ポータビリティ管理エンジン140によって設定されている。いくつかの実施形態では、ポータビリティ管理エンジン140が、予約125に基づく時間に、ユーザ100のパーソナルSSID120をアクティベートするように、Wi-Fiアクセスポイント135を設定する。いくつかの実施形態では、ポータビリティ管理エンジン140が、予約125に基づく時間に、ユーザ100のパーソナルSSID120をディアクティベートするように、Wi-Fiアクセスポイント135を設定する。一実施例では、プロダクトプロバイダ145が、プロダクトプロバイダデータベース150におけるユーザ100の予約125を確認する。様々な実施形態では、プロダクトプロバイダデータベース150が、顧客プロファイル、予約データ、プロダクト情報、およびプロダクトプロバイダ145により予約またはプロダクトが提示される場所を含む。一実施例では、プロダクトプロバイダ150が、ネットワーククラウド155を介してポータビリティプロバイダ160と通信する。様々な実施形態では、ネットワーククラウド155をインターネットとすることができる。いくつかの実施形態では、ネットワーククラウド155をプライベートネットワークとすることができる。いくつかの例では、ネットワーククラウドを仮想プライベートネットワーク(VPN)とすることができる。
一実施例では、ポータビリティプロバイダ160が、ポータビリティプロバイダデータベース165内の情報をプロダクトプロバイダデータベース150からのデータに関連付けることにより、利用可能なWi-Fiポータビリティの場所および時間を判定して、ユーザ100のためのWi-Fiポータビリティをアクティベートすることができる。様々な実施態様では、ポータビリティプロバイダデータベース160が、Wi-Fiユーザデータ、予約データ、Wi-Fiポータビリティサービスを利用可能な場所および時間、並びに、ポータビリティサービスに登録されたユーザのパーソナルネットワークパラメータを含む。いくつかの設計では、ポータビリティプロバイダデータベース160内のプロビジョニング情報が、Wi-Fiポータビリティについて設定することが可能であるか、または既に設定されている、Wi-Fiアクセスポイントの時間および場所の割り当てを含むことができる。いくつかの実施形態では、ポータビリティプロバイダ160が、ポータビリティ管理エンジンアプリケーションプログラミングインタフェース(PME API)170により、ネットワーククラウド155を介してプロダクトプロバイダ145からユーザ100へのWi-Fiポータビリティサービスの要求を受信することができる。様々な実施形態では、PME API170が、アクセスポイント135の特徴および機能への管理アクセスを提供することができる。いくつかの実施形態では、ポータビリティプロバイダ160が、様々な場所にある複数のアクセスポイントを管理することができる。様々な設計では、PME API 170がアクセスポイント135上のシステムサービスとしてホストされるものであってもよい。他の実施形態においては、PME API170がクラウドサービスとして実装されるものであってもよい。
いくつかの例では、ユーザ100へのWi-Fiポータビリティサービスのためにポータビリティプロバイダ160によりPME API170を介して受信された要求は、顧客プロファイルデータ、予約情報、並びに、ユーザ100のための予約125の場所および時間を含むことができる。一実施例では、ポータビリティプロバイダ160が、ユーザ100の予約125の要求された場所および時間を、Wi-Fiポータビリティサービスの利用可能な場所および時間と関連付けて、Wi-Fiポータビリティサービスをユーザ100に提供することができる場所および時間を判定することができる。いくつかの実施形態では、予約125の場所および時間にWi-Fiポータビリティサービスをユーザ100に提供することができるというポータビリティプロバイダ160による判定のときに、ポータビリティプロバイダ160が、PME API170を介してプロダクトプロバイダ160から受信したユーザ100の顧客プロファイルデータを、ポータビリティサービスのために登録されたユーザのパーソナルネットワークパラメータと関連付ける。様々な実施形態では、ユーザ100がWi-Fiポータビリティサービスに登録されているというポータビリティプロバイダ160による判定のときに、ポータビリティプロバイダ160が、ユーザ100のためのWi-Fiポータビリティサービスをアクティベートするように、プロビジョニングされた場所および時間175に、パーソナルSSID120を含むユーザ100のパーソナルネットワークパラメータを用いて、アクセスポイント135を設定する。いくつかの設計では、ポータビリティプロバイダ160が、既にユーザ100に関連付けられているインターネットサービスプロバイダ(ISP)180からユーザ100のパーソナルネットワークパラメータを要求することができる。
いくつかの実施例では、アクセスポイント135が、1または複数のデバイス識別子の存在またはアクティビティを監視するようにポータビリティプロバイダ160によって設定される。様々な実施例では、アクセスポイント135が、監視対象デバイスがアクティブである時間または場所をポータビリティプロバイダ160に通知することができる。一実施例では、監視対象のデバイスがアクティブである時間または場所の報告が、デバイスがアクセスポイント135により最初に確認された時間およびデバイスが最後に確認された時間を含むことができる。他の例では、アクセスポイント135が、これまで未知のデバイスがアクティブである時間または場所をポータビリティプロバイダ160に通知する。いくつかの例では、ポータビリティプロバイダ160が、PME API170を通じて、プロダクトプロバイダ145とデバイスアクティビティの報告を共有することができる。他の実施例では、ポータビリティプロバイダ160が、アクセスポイント135からユーザ100によるネットワーク使用状況の統計を収集することができる。様々な設計では、ポータビリティプロバイダ160が、PME API170を通じて、ユーザ100によるネットワーク使用状況の収集した統計を共有することができる。他の実施形態では、プロダクトプロバイダ145が、PME API170を介して、ポータビリティプロバイダ160からユーザ100によるネットワーク使用状況の統計を要求することができる。様々な例では、プロダクトプロバイダ145が、デバイスがアクセスポイント135により最初に確認された時間およびデバイスが最後に確認された時間を含むデバイスアクティビティの報告を、ポータビリティプロバイダ160からPME API170を介して要求することができる。
一実施例では、ユーザ100の友人が、ユーザ100のパーソナルネットワークによってサービス提供される場所を訪れることがある。いくつかの設計では、アクセスポイント135が、その友人のこれまで未知の無線デバイス識別子をポータビリティプロバイダ160に通知することができる。様々な実施形態では、ポータビリティプロバイダ160が、ユーザ100のパーソナルネットワークパラメータを要求するという不便さを回避して、その友人のパーソナライズされたWi-Fi SSIDを展開するようにアクセスポイント135を設定することができる。いくつかの設計では、ポータビリティプロバイダ160が、テキストメッセージまたは他のリアルタイム通信によって、ユーザ100の友人にWi-Fiポータビリティサービスを提示することができる。いくつかの例では、ユーザ100の友人によるWi-Fiポータビリティサービスの承諾の際に、その友人は適切なポータビリティアプリをダウンロードして、ユーザ100のパーソナルネットワークに展開されたWi-Fiポータビリティサービスに登録することができる。
様々な実施形態において、プロダクトプロバイダ145が、無線デバイスが最初に確認された時間を用いて、カスタマーサービスエクスペリエンスを改善することができる。例えば、プロダクトプロバイダ145は、Wi-Fiアクセスポイント135が位置する、オープンテーブルロケーションのようなレストラン内のテーブルまたはホテルとすることができる。一実施例では、ホテルのフロントデスクまたはオープンテーブルロケーションにあるアクセスポイント135が、ユーザ100に関連付けられた無線デバイス識別子の存在を監視するようにポータビリティ管理エンジン140によって設定されるものであってもよい。いくつかの設計では、プロダクトプロバイダ145が、フロントデスクまたはレストランのテーブルでのユーザ100の正確な待ち時間を、ユーザ100に関連付けられた無線デバイス識別子の最初に確認された時間およびアクセスポイント135の位置IDの関数として求めることができる。例えば、いくつかの実施形態では、ポータビリティ管理エンジン140が、最初に確認した時間を記録してプロダクトプロバイダ145に通知することができ、ユーザ100のチェックインを行うホテルのフロントデスクまたはオープンテーブルのロケーションオペレータが、チェックインのタイムスタンプを記録することができる。ポータビリティ管理エンジン140によって記録された最初に確認された時間と、ホテルのフロントデスクまたはオープンテーブルオペレータにより記録されたチェックインのタイムスタンプとを比較することによって、会社は、ユーザ100のチェックインのためのより正確な待機時間を計算することができる。いくつかの例では、会社が、ユーザ100がチェックインを待つ間、顧客サービスを改善するためにより正確な待ち時間を使用することができる。いくつかの設計では、プロダクトプロバイダ145が、ホテルのフロントデスクまたはオープンテーブルロケーションでユーザ100のWi-Fiポータビリティサービスをアクティベートするように、ユーザ100のパーソナルSSID120を含むパーソナルネットワークパラメータで、アクセスポイント135を設定することができる。一実施例では、プロダクトプロバイダ145が、ホテルのフロントデスクまたはオープンテーブルロケーションでユーザ100に提供されるWi-Fiポータビリティサービスを使用して、プロダクトのオファー、割引、メッセージ、ニュース、またはユーザ100の関係に関連する通知を1または複数のプロダクトプロバイダ145に伝達することができる。様々な例では、プロダクトプロバイダ145が、チェックインを待っている間にユーザ100を忙しい状態としておくために、ユーザ100に伝達されるプロダクトのオファー、割引、メッセージ、ニュースまたは通知をカスタマイズすることができる。いくつかの設計では、プロダクトプロバイダ145が、様々な無線デバイスおよびユーザに関連する位置ID、最初の確認、最後の確認を収集し、それらをWi-Fiポータビリティプロバイダと共有することができる。いくつかの例では、プロダクトプロバイダ145が、収集した最初の確認、最後の確認および位置IDのデータを統計的に評価して、顧客サービス、物流およびプロセスフローの改善を促進することができる。
いくつかの設計では、プロダクトプロバイダ145が、1または複数のアクセスポイント135を含むモバイルロケーションを運営することができる。例えば、様々な実施形態では、プロダクトプロバイダ145をライドシェアリングサービスとすることができる。さまざまな状況において、乗客が荷物を持っている場合に、ライドシェアリングサービスの運転手は潜在的な乗客を拒否することができる。他の状況では、ライドシェアリングサービスの運転手は、荷物を有していない追加の乗客を乗せることを選択して、荷物を持っている潜在的な乗客を拒否することができる。いくつかのシナリオでは、ライドシェアリングサービスが、積極的に乗車を要求している潜在的な乗客が運転手によっていつ拒否されるのかを判定する能力を持たない場合もある。いくつかの状況では、ライドシェアリングサービスが、GPS対応のモバイルアプリケーションを潜在的な乗客のデバイスに展開することができるが、GPS位置データは、利用可能な乗客のキャパシティを持つ運転手が、潜在的な乗客と交渉することなく、潜在的な乗客の十分に近くを通り過ぎたか否かを判断するのに必要な非常に近い範囲まで正確でない可能性がある。様々な設計において、プロダクトプロバイダ145は、1または複数のアクセスポイント135をライドシェアリングサービスの1または複数のモバイルユニットに展開することができる。いくつかの例では、プロダクトプロバイダ145を、Uberなどのライドシェアリングサービスとすることができる。様々な例では、ライドシェアリングサービスまたはプロダクトプロバイダ145が、1または複数の無線デバイス識別子の存在を監視するように、ポータビリティ管理エンジン140を介して1または複数のアクセスポイント135を設定することができる。いくつかの実施形態では、プロダクトプロバイダ145をレンタカー会社とすることができる。いくつかの設計では、プロダクトプロバイダ145またはレンタカー会社が、運転距離と比較してどれだけの時間ユーザが自動車に乗っているのかについての統計を収集して報告するように、ポータビリティ管理エンジン140を介して1または複数のアクセスポイント135を設定することができる。いくつかの設計では、プロダクトプロバイダ145またはレンタカー会社が、接続されているデバイスの数および車で移動するユーザの数に関する統計を収集および報告するように、ポータビリティ管理エンジン140を介して1または複数のアクセスポイント135を設定することができる。他の設計では、ライドシェアリングサービスまたはプロダクトプロバイダ145が、1または複数のこれまで未知の無線デバイス識別子の存在を監視および報告するように、ポータビリティ管理エンジン140を介して1または複数のアクセスポイント135を設定することができる。いくつかの設計では、ライドシェアリングサービスが、様々な無線デバイスおよびユーザに関連付けられた位置ID、最初の確認、最後の確認を収集し、それらをWi-Fiポータビリティプロバイダと共有することができる。いくつかの実施形態では、ライドシェアリングサービスが、ライドシェアリングサービスのモバイルユニットにおいてユーザ100のためのWi-Fiポータビリティサービスをアクティベートするように、ユーザ100のパーソナルSSID120を含むパーソナルネットワークパラメータを用いて、1または複数のアクセスポイント135を設定することができる。いくつかの設計では、カーシェアリングサービスが、1つのアカウントに接続されているデバイスが多過ぎる(これは、借り手がWi-Fiパラメータまたはレンタルコードを多くの人に共有していることを示している)か否かを判定するように、1または複数のアクセスポイント135を設定することができる。一実施例では、プロダクトプロバイダ145またはライドシェアリングサービスのモバイルユニットにおいてユーザ100のパーソナルSSID120をアクティベートすることによって、ライドシェアリングサービスの運転手の潜在的な乗客への近接を確認することができる。いくつかの設計では、プロダクトプロバイダ145またはライドシェアリングサービスが、最初の確認、最後の確認および位置IDの関数として、潜在的な乗客へのライドシェアリングサービス運転手の近接性を判定することができる。
いくつかの設計では、プロダクトプロバイダ145が、1または複数のアクセスポイント135を含むモバイルロケーションを運営することができる。例えば、様々な実施形態では、プロダクトプロバイダ145を、列車、地下鉄またはバスなどの輸送車両の輸送オペレータとすることができる。さまざまな状況において、列車、地下鉄、バスは遅れることがある。いくつかのシナリオでは、輸送オペレータまたはプロダクトプロバイダ145が、一部の乗客が購入したチケットに対応する区間、完全に乗車しなかったことを判定する能力を持たない場合がある。他のシナリオでは、一部の乗客が、購入したチケットに対応する区間の予想時間よりも長く乗ることがある。様々なシナリオでは、輸送オペレータまたはプロダクトプロバイダ145が、輸送車両の1または複数のモバイルユニットに1または複数のアクセスポイント135を配置することができる。様々な例では、輸送オペレータまたはプロダクトプロバイダ145が、1または複数の無線デバイス識別子の存在を監視するように、ポータビリティ管理エンジン140を介して1または複数のアクセスポイント135を設定することができる。他の設計では、輸送オペレータまたはプロダクトプロバイダ145が、1または複数のこれまで未知の無線デバイス識別子の存在を監視および報告するように、ポータビリティ管理エンジン140を介して1または複数のアクセスポイント135を設定することができる。いくつかの設計では、輸送オペレータまたはプロダクトプロバイダ145が、様々な無線デバイスおよびユーザに関連する最初の確認、最後の確認および位置IDを収集し、それらをWi-Fiポータビリティプロバイダと共有することができる。様々な例では、輸送オペレータまたはプロダクトプロバイダ145が、様々な無線デバイスおよびユーザに関連する最初の確認、最後の確認および位置IDを収集してWi-Fiポータビリティプロバイダと共有することに基づいて、ある都市へのチケットを購入した乗客であって異なる都市まで続けて列車に乗ったままの乗客を特定および追跡することができる。いくつかの実施形態では、輸送オペレータまたはプロダクトプロバイダ145が、輸送車両のモバイルユニットにおいてユーザ100のためのWi-Fiポータビリティサービスをアクティベートするように、ユーザ100のパーソナルSSID120を含むパーソナルネットワークパラメータを用いて、1または複数のアクセスポイント135を設定することができる。一実施例では、ユーザ100のパーソナルSSID120をアクティベートすること、または輸送車両のモバイルユニットの1または複数の無線デバイス識別子の存在を監視および報告することによって、車両内の乗客の位置を確認することができる。いくつかの設計では、輸送オペレータまたはプロダクトプロバイダ145が、車両内の乗客の位置、および特定の列車に対する到着時間または出発時間、または列車またはバス内の特定の座席を判定することができる。いくつかの例では、輸送オペレータまたはプロダクトプロバイダ145が、アクセスポイント135によって報告された最初の確認、最後の確認および位置IDに基づいて、乗客が輸送車両内で座席から座席または車両から車両に移動する際に乗客を追跡することができる。様々な実施形態では、輸送オペレータまたはプロダクトプロバイダ145が、最初に確認された平均および最後に確認された平均を計算し、予約の予想サービス時間と比較して、顧客が通常よりも長く乗っているか否かを理解することができる。いくつかの設計では、輸送オペレータまたはプロダクトプロバイダ145が、アクセスポイント135によって報告された最初の確認、最後の確認および位置IDに基づいて、どの顧客が遅延したのかを判定することができる。いくつかの例では、輸送オペレータまたはプロダクトプロバイダ145が、アクセスポイント135によって報告された最初の確認、最後の確認および位置IDに基づいて、どの顧客が遅れたかを判定することに基づいて、遅れた顧客に返金または補償することができる。いくつかの例では、アクセスポイント135が、列車の車両への無線アクセスを局所にとどめることができる。いくつかの設計では、2以上のアクセスポイント135が、無線方向探知アンテナおよびビームフォーミングなどの技術を使用して、無線デバイスの位置を座席レベルまで判定するように設定することができる。さまざまなシナリオでは、保守または安全上の問題が、輸送車両の一部だけに限定される1または複数の分野でのカスタマーエクスペリエンスに悪影響を及ぼす可能性がある。いくつかの実施形態において、輸送オペレータまたはプロダクトプロバイダ145は、列車またはバス内の無線デバイスの位置に基づいて、乗客が乗客の指定席から離れたときを判定することにより、列車またはバス内の特定の領域に局在する保守または安全上の問題を検出することができる。例えば、列車やバスの壊れた窓によって顧客が雨でびしょ濡れになる場合に、窓が壊れた列車の車両または座席にはおそらく乗客がいなくなるであろう。いくつかの設計では、輸送オペレータまたはプロダクトプロバイダ145が、アクセスポイント135によって報告された無線デバイスの位置に基づいて判定される、予想外に空いている車両領域によって示される潜在的な問題を本社に報告することができる。
図2は、ユーザのアクティビティに応答して、ユーザのパーソナルネットワークを管理するパラメータを用いて、インターネットオブシングス(IoT)デバイスを設定する例示的なコラボレーションネットワークを示している。図2に示すように、一実施例では、ユーザ100が、IoTデバイス200を購入し、ユーザ100が、ユーザ100のパーソナルネットワーク115を介してインターネットにアクセスするようにIoTデバイス200を設定している。いくつかの実施形態では、ユーザ100が、モバイルデバイス110上でホストされているモバイルアプリケーション105を使用して、ユーザ100のパーソナルネットワークを管理するパラメータ120で、IoTデバイス200を設定することができる。一実施例では、ユーザのIoTデバイス200が、セキュリティシステム205、HVAC210およびプールポンプ215を含むことができる。いくつかの設計では、各IoTデバイスが、IoTデバイスのシリアル番号を表示するバーコードラベルを有することができる。様々な実施例では、ユーザ100が、モバイルアプリケーション105を使用して、IoTデバイス200のうちの1つのバーコードのシリアル番号ラベルをスキャンすることができる。いくつかの設計では、モバイルアプリケーション105が、IoTデバイス200のうちの1つのシリアル番号をポータビリティプロバイダ160に送信することができる。いくつかの例では、各IoTデバイス205,210,215が、IoTデバイスベンダ225によるIoTデバイスへのアクセスを管理するネットワークパラメータ220で、工場出荷時に設定される。様々な実施形態では、スキャンされたシリアル番号のバーコードで識別されるIoTデバイスがユーザ100のパーソナルネットワーク115上でアクティベートされていない場合、ポータビリティプロバイダ160が、ユーザ100のパーソナルネットワークを管理するパラメータ120でIoTデバイスを設定するように、IoTデバイスベンダ225と協働することができる。様々な例では、ポータビリティプロバイダ160が、ユーザ100によるIoTデバイスの所有権を証明する情報とともに、IoTデバイスのシリアル番号をIoTデバイスベンダ225に提示することができる。いくつかの設計では、IoTデバイスの所有権を確認した後、IoTデバイスベンダ225が、ユーザ100のパーソナルネットワークを管理するネットワークパラメータ120の設定を受け入れるように、IoTデバイスを設定することができる。様々な実施形態では、ユーザ100のパーソナルネットワークを管理するネットワークパラメータ120で動作させるためのIoTデバイスの設定が、ネットワークパラメータ120をIoTデバイスベンダ225に公開することなく完了することができる。
いくつかの例では、各IoTデバイス、IoTデバイスベンダおよびユーザ100のモバイルデバイス110が、1または複数の広帯域移動無線アクセス(BWA)ネットワークを装備することができる。いくつかの設計では、1または複数のIoTデバイスとの通信が、SSHなどのセキュアトンネルを介したものであってもよい。様々な実施例では、ユーザ100が、ポータビリティプロバイダ160およびIoTデバイスベンダ225と協働して、ユーザ100のパーソナルネットワーク115を管理するパラメータで、各IoTデバイス205,210,215を設定することができる。一実施例では、ユーザ100が、ポータビリティプロバイダ160およびIoTデバイスベンダ225と協働するモバイルデバイス110上でホストされるモバイルアプリケーション105を用いて、ユーザ100のパーソナルネットワーク115を管理するパラメータで各IoTデバイス205,210,215を設定することができる。いくつかの実施形態では、IoTデバイスベンダ225が、各IoTデバイスのシリアル番号230および初期ネットワークパラメータ235を含む、IoTデバイスに関するIoTデバイスインベントリ情報を保持する。様々な例では、IoTデバイスベンダが、各デバイスの所有者を識別するIoTデバイスユーザ識別情報240を格納する。いくつかの設計では、Wi-Fiポータビリティプロバイダ160が、ユーザ100のパーソナルネットワークを管理するネットワークパラメータ120でアクティベートされたIoTデバイスのシリアル番号を保持することができる。いくつかの例では、IoTデバイスの所有権に変更があったときに、IoTデバイスベンダ225がユーザ識別情報240を更新することができる。他の例では、ユーザ識別情報240に記録されたIoTデバイスの所有権が、IoTデバイスが販売されるときに、小売またはクレジットカードプロバイダと協働してIoTデバイスベンダ225によって更新されるものであってもよい。様々な実施形態において、IoTデバイスベンダが、ユーザ識別情報240に記録されたIoTデバイスの所有権の暗号学的に安全な証明書を格納することができる。いくつかの設計では、ユーザ識別情報240に記録されたIoTデバイスの所有権の暗号学的に安全な証明書が、IoTデバイスの新しい所有者の身元を確認するように、Wi-Fiポータビリティプロバイダと協働して使用されるものであってもよい。
一実施例では、ユーザ100が、ユーザ100のパーソナルネットワーク115を管理するネットワークパラメータ120をWi-Fiポータビリティプロバイダ160に提供することによって、IoTポータビリティサービスをWi-Fiポータビリティプロバイダ160により登録することができる。いくつかの例では、ユーザ100が、ユーザ100を識別する情報をWi-Fiポータビリティプロバイダ160に供給することができる。様々な実施形態では、ユーザ100が、モバイルアプリケーション105を用いてIoTデバイス200のうちの1つのバーコードのシリアル番号ラベルをスキャンして、ユーザ100のパーソナルネットワーク115へのアクセスを管理するネットワークパラメータ120を有するIoTデバイスの設定を呼び出すことができる。いくつかの実施形態では、モバイルアプリケーション105が、ユーザ100によりスキャンされたIoTデバイスのシリアル番号をWi-Fiポータビリティプロバイダ160に送信することができる。いくつかの実施例では、Wi-Fiポータビリティプロバイダ160が、シリアル番号を比較することによって、モバイルアプリケーション105から受信したIoTデバイスのシリアル番号が、ユーザ100のパーソナルネットワーク115へのアクセスを管理するネットワークパラメータ120で設定されているか否かを判定することができる。いくつかの実施形態では、モバイルアプリケーション105から受信したIoTデバイスのシリアル番号が、ユーザ100のパーソナルモバイルネットワーク115へのアクセスを管理するネットワークパラメータ120で設定されていないと、Wi-Fiポータビリティプロバイダ160が判定すると、Wi-Fiポータビリティプロバイダ160が、IoTデバイスのシリアル番号をIoTデバイスベンダ225に送信することができる。いくつかの設計では、Wi-Fiポータビリティプロバイダ160が、IoTデバイスの所有権の暗号学的に安全な証明書をIoTデバイスベンダ225にIoTデバイスのシリアル番号とともに送信することができる。様々な実施例では、IoTデバイスベンダ225が、ユーザ100に代わってWi-Fiポータビリティプロバイダ160によるIoTデバイスの所有権のアサーションが、暗号学的に安全な所有権の証明書、ユーザ識別情報およびPGPのような1または複数のセキュリティプロトコルに基づいて有効であると、判定することができる。様々な設計では、Wi-Fiポータビリティプロバイダ160、IoTデバイスベンダ225、ユーザ100、モバイルアプリ105またはモバイルデバイス110のうちの1または複数が、信頼関係を示す、暗号学的に安全な所有権の証明書にサインを付すことができる。
いくつかの実施例では、ユーザ100に代わってWi-Fiポータビリティプロバイダ160によるIoTデバイスの所有権のアサーションが有効であるというIoTデバイスベンダ225による判定の際に、IoTデバイスベンダが、Wi-Fiポータビリティプロバイダ160を介して、ユーザ100にIoTデバイスの制御を解放することができる。いくつかの実施形態では、IoTデバイスベンダが、IoTデバイスのWi-Fiポータビリティプロバイダ160における暗号学的にサインが付された安全な信頼証明書を格納することができる。様々な設計において、IoTデバイスベンダ225が、IoTデバイスベンダ225によるIoTデバイスへのアクセスを管理するネットワークパラメータ220をWi-Fiポータビリティプロバイダ160に送信することができる。いくつかの実施形態では、IoTデバイスベンダが、IoTデバイスベンダ225のネットワークパラメータ220とともに、Wi-Fiポータビリティプロバイダ160における暗号学的にサインが付された安全な信頼証明書を、Wi-Fiポータビリティプロバイダ160に送信することもできる。一実施例では、現在のIoTデバイスベンダ225のネットワークパラメータ220によって管理されるネットワークへのその後の接続時に、IoTデバイスのネットワークパラメータを再設定するように、IoTデバイスベンダ225がIoTデバイスを設定することができる。
様々な例では、Wi-Fiポータビリティプロバイダ160が、現在のIoTデバイスベンダ225のネットワークパラメータ220により管理されているネットワークをアクセスポイント135でアクティベートするようにポータビリティ管理エンジン140に指示することができる。いくつかの例では、アクセスポイント135でアクティベートされて、現在のIoTデバイスベンダ225のネットワークパラメータ220によって管理されているネットワークが、ユーザ100のパーソナルネットワーク115へのアクセスを管理するネットワークパラメータ120でIoTデバイスの設定を完了するために使用される。いくつかの設計では、Wi-Fiポータビリティプロバイダ160が、現在のIoTデバイスベンダ225のネットワークパラメータ220によって管理されているネットワーク上で、アクセスポイント135上でホストされている認証済み設定サービスをアクティベートするように、アクセスポイント135上でホストされているポータビリティ管理エンジン140に指示することができる。様々な実施形態では、その後の接続時に新しいネットワークパラメータ220を受け入れるように設定されたIoTデバイスと協働して、認証済み設定サービスが、ユーザ100のパーソナルネットワーク115へのアクセスを管理するネットワークパラメータ120により、IoTデバイスネットワークパラメータ220を再設定することができる。
一実施例では、IoTデバイスベンダ225は、IoTデバイスとの接続を絶つことができ、IoTデバイスは、現在のIoTデバイスベンダ225のネットワークパラメータ220によって管理されているアクセスポイント135でアクティベートされたネットワークに再接続することができる。いくつかの設計では、アクセスポイント135でアクティベートされ、現在のIoTデバイスベンダ225のネットワークパラメータ220によって管理されるネットワークへの接続時に、アクセスポイント135上でホストされるポータビリティ管理エンジン140が、Wi-Fiポータビリティプロバイダ160における暗号学的にサインが付された安全な信頼証明書とともに、ユーザ100のパーソナルネットワーク115へのアクセスを管理するネットワークパラメータ120をIoTデバイスに提示することができる。様々な実施形態では、Wi-Fiポータビリティプロバイダ160における暗号学的にサインが付された安全な信頼証明書が有効であるとのIoTデバイスによる判定に基づいて、IoTデバイスは、ユーザ100のパーソナルネットワーク115へのアクセスを管理するネットワークパラメータ120と一致するようにIoTデバイスネットワークパラメータを設定することができる。いくつかの実施例では、IoTデバイスは、アクセスポイント135でアクティベートにされたネットワークとの接続を絶って、ユーザ100のパーソナルネットワーク115上にIoTデバイスを設定することができる。いくつかの設計では、ポータビリティ管理エンジン140が、アクセスポイント135でアクティベートされたネットワークをディアクティベートして、ユーザ100のパーソナルネットワーク115上にIoTデバイスを設定することができる。様々な実施形態では、IoTデバイスが、ユーザ100のパーソナルネットワーク115へのアクセスを管理するネットワークパラメータ120を用いて再接続することができる。様々な設計では、ポータビリティプロバイダ160が、アクティベートされたIoTデバイスのシリアル番号をユーザ100のIoTデバイス200に追加することができる。いくつかの例では、IoTデバイスベンダ225が、IoTデバイスのシリアル番号を参照して、ユーザ識別情報240に記録されたIoTデバイスの所有権の暗号学的に安全な証明書を更新して、IoTデバイスの制御の移管を記録することができる。
図3Aおよび図3Bは、ユーザのアクティビティに応答して、ユーザのパーソナルネットワークを管理するパラメータを用いてリモートWi-Fiアクセスポイントを設定する例示的なコラボレーションネットワークによる通信を、ユーザの観点から示している。図3Aに示すように、一実施例では、ユーザのアクティビティに応答して、ユーザのパーソナルネットワークを管理するパラメータでリモートWi-Fiアクセスポイントを設定することを目的とした様々な例示的なメッセージングシナリオが示されている。一実施例では、シナリオ300において、ユーザ100がプロダクトプロバイダ145とのトランザクションを開始する。様々な例では、トランザクションが、購入、予約、または予約なしのチェックインである。いくつかの実施形態では、ユーザ100が、ユーザ100とプロダクトプロバイダ145との関係を識別する情報をトランザクションに提示することができる。いくつかの例では、識別する情報が、ログイン、会員証、報酬カード、支払いカード、識別カード、または交換されるクーポンである。様々な実施形態では、プロダクトプロバイダ145が、ユーザ100からのトランザクションを受け入れて予約または購入を生成するか、またはユーザ100によるチェックインを処理することができる。いくつかの例では、プロダクトプロバイダ145が、PME API170を介して、ユーザ100によるトランザクションに関連する場所または時間に、Wi-FiポータビリティプロバイダからのWi-Fiポータビリティを要求することができる。様々な設計では、プロダクトプロバイダ145が、Wi-Fiポータビリティをユーザ100に提供するために、要求とともに様々な情報をポータビリティプロバイダに送信することができ、それには、サービスまたはプロダクトプロバイダ識別子、ユーザ100によるトランザクションを識別する情報、ユーザ100を識別する情報、サービスを要求しているユーザの数、ユーザ100によるトランザクションに関連する場所の詳細、並びに、トランザクションに基づく時間窓が含まれる。一実施例では、ユーザ100によるトランザクションに関連する場所の詳細が、所在地、座標、または1または複数のドア、トランジットゲート、フロアまたは建物を識別する情報を含むことができる。いくつかの実施例では、Wi-Fiポータビリティプロバイダが、PME API170を介して要求を受信することができる。いくつかの実施形態では、要求とともにプロダクトプロバイダによって送信された情報に基づいて、Wi-Fiポータビリティプロバイダが、ユーザ100によるトランザクションに関連する場所で利用可能なWi-Fiポータビリティを検索することができる。一実施例では、シナリオ305において、Wi-Fiポータビリティプロバイダが、ユーザ100によるトランザクションに関連する場所ではWi-Fiポータビリティを利用することができないと判定した場合、Wi-Fiポータビリティプロバイダは、利用可能なアクセスポイントがないためにWi-Fiポータビリティサービスを提供する機会を逃したことをPME API170を介してプロダクトプロバイダ145に通知することができる。様々な実施形態において、Wi-Fiポータビリティプロバイダは、Wi-Fiポータビリティサービスを提供する機会を逃した理由をPME API170を介してプロダクトプロバイダ145に通知することができる。
いくつかの例では、シナリオ310において、Wi-Fiポータビリティプロバイダが、ユーザ100によるトランザクションに関連する場所でWi-Fiポータビリティが利用可能であると判定した場合、Wi-Fiポータビリティプロバイダは、その場所に基づいて利用可能なSSIDスロットと、その場所でのWi-Fiポータビリティのために利用可能な時間窓とをさらにチェックすることができる。様々な実施形態では、シナリオ315において、Wi-Fiポータビリティプロバイダが、ユーザ100によるトランザクションに関連する場所および時間において、要求されたSSIDスロットについてWi-Fiポータビリティが利用可能ではないと判定した場合に、Wi-Fiポータビリティプロバイダは、利用可能なSSIDタイムスロットがないために、Wi-Fiポータビリティサービスを提供する機会を逃したことをPME API170を介してプロダクトプロバイダ145に通知することができる。いくつかの設計では、Wi-Fiポータビリティプロバイダは、Wi-Fiポータビリティサービスを提供する機会を逃した理由をPME API170を介してプロダクトプロバイダ145に通知することができる。
いくつかの例では、シナリオ320において、Wi-Fiポータビリティプロバイダが、ユーザ100によるトランザクションに関連する場所および時間にWi-Fiポータビリティが利用可能であり、かつ要求されたSSIDスロットも利用可能であると判定し場合、Wi-Fiポータビリティプロバイダはさらに、要求された場所で利用可能なSSIDスロットについて、インターネットクラウド155を介してネットワーク保守管理者(図示省略)への接続性をテストすることによって、ネットワークが動作可能であることを確認することができる。いくつかの実施形態では、要求されたSSIDスロットがユーザ100によるトランザクションに関連する場所および時間に利用可能であるとWi-Fiポータビリティプロバイダにより判定された際に、ネットワークが動作可能である場合、Wi-Fiポータビリティプロバイダは、ユーザ100へのWi-Fiポータビリティサービスのための場所および時間175で、要求されたSSIDスロットをアクティベートするように、アクセスポイント135をプロビジョニングすることができる。様々な実施態様では、アクセスポイント135は、Wi-FiポータビリティプロバイダへのSSIDタイムスロットのアクティべーションを確認することができる。いくつかの設計では、Wi-Fiポータビリティプロバイダが、要求されたSSIDスロットがユーザ100へのWi-Fiポータビリティサービスのための場所および時間175でプロビジョニングされたことをPME API170を通してプロダクトプロバイダ145に通知することができる。いくつかの例では、プロダクトプロバイダ145が、要求されたWi-Fiポータビリティサービスがアクティベートされたことをユーザ100に通知することができる。様々な実施形態では、カスタムパラメータがユーザ100に対して生成されて、ユーザ100へのポータビリティサービスのためにアクセスポイント135においてプロビジョニングされた場合に、プロダクトプロバイダ145が、ユーザ100にカスタムパラメータを提供することができる。
いくつかの設計では、シナリオ325において、ユーザ100が、プロダクトプロバイダ145を介してそれらのWi-Fiポータビリティを管理することができる。いくつかの実施形態では、ユーザ100が、ユーザとポータビリティプロバイダとの関係に基づいて、デフォルトネットワークパラメータを規定することができる。他の実施形態では、ユーザ100がカスタムネットワークパラメータを選択するようにしてもよい。様々な実施例では、プロダクトプロバイダ145が、ユーザ100により選択されたカスタムネットワークパラメータをポータビリティプロバイダに送信して、ユーザ100のカスタムパラメータに基づいてWi-Fiポータビリティサービスをプロビジョニングすることができる。
図3Bには、一実施例において、ユーザのアクティビティに応答して、ユーザのパーソナルネットワークを管理するパラメータで、リモートWi-Fiアクセスポイントを設定することを目的とした様々な例示的なメッセージングシナリオが示されている。一実施例では、シナリオ330において、ユーザ100が、プロダクトプロバイダ145を通じて、SSID、パスワードまたはパスフレーズおよび暗号化タイプを含むネットワークパラメータを変更することができる。様々な実施例では、プロダクトプロバイダ145が、ユーザ100によって変更されたネットワークパラメータをポータビリティプロバイダに送信して、変更されたパラメータに基づくWi-Fiポータビリティサービスをユーザ100にプロビジョニングすることができる。様々な実施形態では、ユーザ100またはプロダクトプロバイダ145が、ユーザ100が加入しているインターネットサービスプロバイダ(ISP)180から、ユーザ100の忘れられたネットワークパラメータを要求することができる。一実施例では、シナリオ335において、Wi-Fiポータビリティプロバイダが、ユーザ100にWi-Fiポータビリティサービスをプロビジョニングする要求をPME API170で受信することができる。いくつかの実施形態では、Wi-Fiポータビリティプロバイダが、要求された場所についてインターネットクラウド155を介してネットワーク保守管理者(図示省略)への接続性をテストすることによって、ポータビリティサービスのために要求された場所でネットワークが動作可能であることの確認を試みることができる。いくつかの例では、要求された場所でのネットワーク接続性が許容できないと判定されるときに、ポータビリティプロバイダは、PME API170を介して一時的なネットワーク障害をプロダクトプロバイダ145に通知することができる。様々な例では、プロダクトプロバイダ145が、要求された場所におけるネットワークが利用できないことをユーザ100に通知することができる。一実施例では、シナリオ340において、Wi-Fiポータビリティプロバイダが、PME API170において、ユーザ100にWi-Fiポータビリティサービスをプロビジョニングする要求を受信することができる。いくつかの実施形態では、Wi-Fiポータビリティプロバイダが、要求された場所におけるポータビリティサービスのためのネットワークが動作可能であることを確認することができる。様々な設計において、Wi-Fiポータビリティプロバイダは、要求されたSSIDタイムスロットがプロビジョニングされる場所および時間175で利用可能であることを確認することができる。いくつかの例では、Wi-Fiポータビリティプロバイダがさらに、アクセスポイント135にアンテナの状態を問い合わせることによって、ポータビリティロケーション175におけるアンテナが動作可能であるかの確認を試みることができる。いくつかの例では、アクセスポイント135のアンテナが動作していないと判定されると、ポータビリティプロバイダは、PME API170を介して一時的なネットワーク障害をプロダクトプロバイダ145に通知することができる。様々な例では、要求された場所にあるアンテナが使用不可であることを、プロダクトプロバイダ145がユーザ100に通知することができる。いくつかの実施形態では、シナリオ345において、Wi-Fiポータビリティプロバイダは、PME API170で、ユーザ100にWi-Fiポータビリティサービスをプロビジョニングする要求を受け取ることができる。いくつかの実施形態では、Wi-Fiポータビリティプロバイダが、要求された場所におけるポータビリティサービスのためのネットワークが動作可能であることを確認することができる。様々な設計では、Wi-Fiポータビリティプロバイダが、要求されたSSIDタイムスロットがプロビジョニングされる場所および時間175で利用可能であることを確認することができる。いくつかの例では、Wi-Fiポータビリティプロバイダがさらに、アクセスポイント135にアンテナの状態を問い合わせることによって、ポータビリティロケーション175におけるアンテナが動作可能であるかの確認を試みることができる。一実施例では、ポータビリティロケーション175でアンテナが動作可能であることを確認するためのWi-Fiポータビリティプロバイダによる試みは、アクセスポイント135の追加の動作特性または設定のステータスを判定することを含むことができる。様々な実施形態では、アクセスポイント135の追加の動作特性または設定は、アクセスポイント135に局所的にある又はアクセスポイント135の外部にあるソフトウェアサービスまたはハードウェア要素のステータスまたは改訂レベルを含むことができる。例えば、ポータビリティロケーション175におけるアンテナの動作ステータス判定は、アクセスポイント135におけるセキュリティ機能、改訂レベルまたはパッチレベルの利用可能性に基づくものであってもよい。いくつかの実施形態では、アクセスポイント135において利用可能なセキュリティ機能、改訂レベルまたはパッチレベルが、ユーザプロファイルに格納されている同様の機能に選択的に一致させることができる。一実施例では、ユーザプロファイルは、特定レベルのセキュリティ機能を有するポータビリティロケーションのみをユーザが検討することを指定することができる。例えば、ユーザは、少なくとも特定のタイプまたは改訂レベルの暗号化または認証を提供するために許容可能なポータビリティロケーションを要求するようにしてもよい。他の例では、ユーザは、アクセスポイント135における特定のソフトウェアライブラリまたはセキュリティプロトコルの最小限の改訂またはパッチレベルを要求することができる。いくつかの設計では、アクセスポイント135のアンテナが動作可能であると判定したときに、Wi-Fiポータビリティプロバイダは、ユーザ100へのWi-Fiポータビリティサービスのための場所および時間175で要求されたSSIDスロットをアクティベートするように、アクセスポイント135をプロビジョニングすることができる。様々な実施例では、アクセスポイント135が、Wi-FiポータビリティプロバイダへのSSIDタイムスロットのアクティベーションを確認することができる。いくつかの設計では、Wi-Fiポータビリティプロバイダは、要求されたSSIDスロットがユーザ100へのWi-Fiポータビリティサービスのための場所および時間175でプロビジョニングされたことをPME API170を通してプロダクトプロバイダ145に通知することができる。いくつかの例では、プロダクトプロバイダ145が、要求されたWi-Fiポータビリティサービスがアクティベートされたことをユーザ100に通知することができる。様々な実施形態では、カスタムパラメータがユーザ100に対して生成されて、ユーザ100へのポータビリティサービスのためにアクセスポイント135においてプロビジョニングされた場合、プロダクトプロバイダ145はユーザ100にカスタムパラメータを提供することができる。
様々な実施形態では、シナリオ350において、Wi-Fiポータビリティプロバイダが、ユーザ100へのWi-Fiポータビリティサービスのための場所および時間175で、要求されたSSIDスロットをアクティベートするように、アクセスポイント135を首尾よくプロビジョニングすることができる。様々な実施形態では、アクセスポイント135が、プロビジョニングされた場所および時間175でアクティブデバイスのデバイス識別子を監視することができる。いくつかの実施形態では、アクセスポイント135は、各アクティブデバイスがプロビジョニングされた場所および時間175で最初に確認された時間とともにアクティブデバイス識別子を報告することができる。様々な例では、アクティブデバイス識別子および最初に確認された時間の報告が、インターネットクラウド155を介してアクセスポイント135によってポータビリティプロバイダに送信されるようにしてもよい。いくつかの例では、ポータビリティプロバイダによって受信されたアクティブデバイス識別子および最初に確認された時間の報告が、PME API170を介してプロダクトプロバイダ145に転送されるようにしてもよい。
いくつかの例では、シナリオ355において、Wi-Fiポータビリティプロバイダが、ユーザ100へのWi-Fiポータビリティサービスのためにプロビジョニングされた場所および時間175で、要求されたSSIDスロットをアクティベートするように、アクセスポイント135を首尾よくプロビジョニングすることができる。様々な実施形態では、ディアクティべーション時刻が、ユーザ100へのWi-Fiポータビリティサービスのためにプロビジョニングされた場所および時間175に切迫していることがある。いくつかの例では、Wi-Fiポータビリティプロバイダは、PME API170を介してプロダクトプロバイダ145に、ユーザ100へのWi-Fiポータビリティサービスのための差し迫ったディアクティべーションを通知することができる。様々な例では、プロダクトプロバイダが、プロビジョニングされた場所および時間に対するWi-Fiポータビリティサービスが間もなくディアクティベートされることをユーザ100に通知することができる。様々な実施例では、Wi-Fiポータビリティプロバイダが、ユーザ100へのWi-Fiポータビリティサービスのためにプロビジョニングされた場所およびディアクティベート時刻175において、要求されたSSIDスロットをディアクティベートするようにアクセスポイント135に命令することができる。いくつかの設計では、アクセスポイント135が、ユーザ100へのWi-Fiポータビリティサービスのためにプロビジョニングされた場所およびディアクティベート時刻175において、要求されたSSIDスロットを自動的にディアクティベートすることができる。様々な実施形態では、シナリオ360において、Wi-Fiポータビリティプロバイダが、ユーザ100へのWi-Fiポータビリティサービスのためにプロビジョニングされた場所およびディアクティベート時刻175において、要求されたSSIDスロットを首尾よくディアクティベートすることができる。様々な実施形態では、アクセスポイント135が、プロビジョニングされた場所および時間175でアクティブデバイスのデバイス識別子を監視することができる。いくつかの実施形態では、アクセスポイント135は、各アクティブデバイスがプロビジョニングされた場所および時間175で最後に確認された時間とともにアクティブデバイス識別子を報告することができる。様々な例では、アクティブデバイス識別子および最後に確認された時間の報告が、ディアクティベーションの後に、インターネットクラウド155を介してアクセスポイント135によってポータビリティプロバイダに送信されるようにしてもよい。いくつかの例では、ポータビリティプロバイダによって受信されたアクティブデバイス識別子および最後に確認された時間の報告が、PME API170を介してプロダクトプロバイダ145に転送されるようにしてもよい。
図4は、ユーザのアクティビティに応答して、ユーザのパーソナルネットワークを管理するパラメータを用いてリモートネットワークを設定するために例示的なポータビリティプロバイダおよびプロダクトプロバイダによって使用される例示的なデータベースレコードを示している。図4には、ユーザ情報レコード405、プロダクトプロバイダレコード410、アクセスポイントレコード415およびポータビリティプロバイダレコード420を含む、ユーザにポータビリティサービスを提供するためにポータビリティプロバイダおよびプロダクトプロバイダによって使用される様々なデータを示す例示的なデータベースレコードが記載されている。
一実施例では、ユーザ情報レコード405が、ユーザプロファイル、登録プロバイダおよびプライベートネットワークパラメータを含むことができる。いくつかの例では、ユーザプロファイルが、ユーザ識別子、住所、電子メール、ソーシャルメディア、電話番号、支払い情報およびサービスまたはプロダクトの履歴を含むことができる。様々な例では、登録されたプロバイダのレコードが、ユーザが加入しているポータビリティプロバイダおよびプロダクトプロバイダのアイデンティティ、連絡方法、ネットワークロケーションおよびサービス機能を含むことができる。他の例では、プライベートネットワークパラメータが、ユーザのパーソナルネットワークについての暗号化タイプ、SSIDおよびパスワードを含むことができる。
様々な実施形態では、プロダクトプロバイダのレコード410が、登録ユーザ、ポータビリティプロバイダ、およびプロダクトプロバイダAPIに対するデータベースサポートを含むことができる。いくつかの例では、登録ユーザが、プロダクトプロバイダに知られているユーザの識別情報およびプロファイル情報を含むことができる。他の例では、ポータビリティプロバイダのレコードが、プロダクトプロバイダが加入しているポータビリティプロバイダのアイデンティティ、連絡方法、ネットワークロケーションおよびサービス機能を含むことができる。様々な実施態様では、プロダクトプロバイダAPIのレコードが、トランザクション処理についてのデータベースサポート、注文履歴、価格設定および顧客統計を含むことができる。
他の実施形態では、アクセスポイントのレコード415が、アクセスポイントにおけるアクティベートされたWi-Fiネットワークについての設定されたSSIDおよびパスワードレコードを含むことができる。様々な設計において、アクセスポイントのレコード415が、アクセスポイントにおけるポータブルWi-Fiネットワークのアクティベーションおよびディアクティベーションのための時間窓を示すアクティベーションスケジュールレコードおよびディアクティベーションスケジュールレコードも含むことができる。いくつかの設計では、アクセスポイントのレコード415が、ポータブルWi-Fiサービスの場所および時間におけるアクティブデバイスのデバイス識別子を示す接続デバイスリストのレコードも含むことができる。さらに、アクセスポイントのレコード415は、最初に確認のレコードおよび最後に確認のレコードで示される、デバイスがアクティブである時間を含むデバイス統計レコードと、Wi-Fiポータビリティサービスが提供されるデバイスのネットワーク使用状況を示すトラフィック使用状況レコードとを含むことができる。
いくつかの例では、ポータビリティプロバイダレコード420は以下のものを含むことができる。
i.アクセスポイント:ポータビリティプロバイダによって制御され、ポータビリティプロバイダのネットワーク内で一意の識別子、例えばロケーションIDによって識別されるアクセスポイントのリスト
ii.ロケーション:ポータビリティプロバイダのアクセスポイントによってサービス提供される場所であって、ポータブルWi-Fiサービスがポータビリティプロバイダによって提示される場所のリスト
iii.プロダクトプロバイダ:連絡方法、API情報および各プロダクトプロバイダのアクセス方法を含む、ポータビリティプロバイダが関係するプロダクトプロバイダのリスト
iv.予約スケジュール:ポータビリティプロバイダがWi-Fiポータビリティサービスをアクティベートするようにアクセスポイントをプロビジョニングした時間と場所のリスト
v.ポータビリティプロバイダAPI:プロダクトプロバイダが使用するプライマリインタフェースのためのデータベースレコードサポートには、ユーザ使用統計、最初の確認および最後の確認、以前は未知のデバイス、ユーザ情報が含まれる。
vi.MACアドレス:ポータビリティプロバイダのアクセスポイントによって検出され、最初の確認、最後の確認およびアクティビティ時間とともに保存されたMACアドレスのすべて(または他の無線デバイス識別子)。無線デバイス識別子は、(無線イーサネットインターフェースを識別する)MACアドレス、(Bluetoothインタフェースを識別する)Bluetoothデバイスアドレス、(Bluetoothインタフェースを含む任意のデバイスまたはエンティティを識別する)汎用一意識別子(UUID)または(広帯域移動無線アクセスデバイスを含む任意のデバイスを識別する)モバイル機器識別子(MEID)を含むことができる。
vii.ユーザ(アカウントの関係):各ユーザのプロダクトプロバイダおよびポータビリティプロバイダのアカウント情報を持つすべてのユーザのリスト
viii.アンテナ:利用可能なアンテナと各アンテナのステータスのリスト。追加のネットワークプロビジョニング用の各アンテナの使用可能容量も含まれる。
ix.ユーザに関連するネットワークパラメータ:登録されているすべてのユーザと各ユーザのパーソナルネットワークパラメータのリスト
x.ネットワーク利用可能スケジュール:各アクセスポイント位置でWi-Fiポータビリティに利用可能な時間窓のリスト
xi.プロダクトプロバイダの位置に配置されているアンテナ:プロダクトプロバイダによる管理のためにプロダクトプロバイダの位置に配置されているすべてのアンテナとアクセスポイントのリスト
図5A、図5B、図5Cおよび図5Dは、例示的なモバイルデバイスおよび例示的なモバイルアプリケーションのユーザインターフェースの構造の様々な図面を示している。図5Aにおいて、例示的なモバイルデバイス110のブロック図は、プロセッサ505と動作可能に接続されたユーザインタフェース500を含む。プロセッサ505は、Wi-Fiインタフェース510と通信可能に接続されている。Wi-Fiインターフェース510は、アンテナ515を介してネットワークと通信するように構成されている。プロセッサ505は、メモリ520と電気的に通信する。図示されたメモリ520は、プログラムメモリ525およびデータメモリ535を含む。プログラムメモリ525は、モバイルアプリケーション105を実行するプロセッサ実行可能プログラム命令を含む。図5Bでは、例示的なモバイルアプリケーション105のスクリーンショットが、メインネットワークポータビリティおよびプロダクト管理画面540を含む。いくつかの設計では、メインネットワークポータビリティおよびプロダクト管理画面540から、ユーザは、Wi-Fiポータビリティの管理、Wi-Fiスポットの追加およびIoTデバイスの追加を含むモバイルアプリケーション105へのリンクから選択することにより、Wi-FiおよびIoTネットワークポータビリティを能動的に管理することができる。いくつかの実施形態では、モバイルアプリケーション105が、プロダクトプロバイダからの1または複数のオファー545をユーザ100に提示することができる。いくつかの例では、プロダクトプロバイダからのオファーが、ユーザ100へのWi-Fiポータビリティサービスを含むことができる。様々な設計では、ユーザ100へのWi-Fiポータビリティサービスのオファーが、ユーザ識別情報を、ユーザ名およびパスワードログイン画面550を介して供給されるユーザ登録情報と関連付けることができる。一実施例では、ユーザ100が、Wi-Fiスポット追加画面555を介して利用可能なポータビリティロケーションを識別することができる。いくつかの例では、Wi-Fiスポット追加画面555が、プロダクトプロバイダの位置でポータビリティサービスのためにクーポンを引き換えるためのユーザ100のためのオプションを含むことができる。様々な例では、ユーザ100が、Wi-Fiスポット画面555を使用して、ユーザ100の現在位置付近のポータビリティロケーションを閲覧することができる。様々な実施形態では、1または複数のプロダクトプロバイダによって提示されるポータビリティサービス558をユーザ100に提示することができる。いくつかの設計では、ポータビリティサービスとプロダクトオファリングの表示を組み合わせたマップ561をユーザ100に提示することができる。一実施例では、ユーザ100が、ポータビリティおよびプロダクトオファリングを閲覧し、組合せオファーを選択し、ユーザのWi-Fiポータビリティプロファイルにポータビリティおよびプロダクトプリファレンスの選択した組合せを追加すること(564)ができる。
図5Cにおいて、例示的なモバイルアプリケーション105のスクリーンショットは、ユーザ100がWi-Fiポータビリティを管理するためのインターフェース567を含む。いくつかの実施形態では、Wi-Fiポータビリティ管理インターフェース567から、ユーザ100は、それらの設定されたWi-Fiポータビリティロケーションを閲覧することができる。いくつかの設計では、Wi-Fiポータビリティロケーションが、ユーザ100に対する1または複数のプロダクトプロバイダの関係に関連付けられる。様々な実施例では、ユーザ100が、マイデバイス画面573で携帯用に設定されたデバイスを閲覧および設定することができる。いくつかの設計では、ユーザが各ユーザデバイスを閲覧および設定すること(577)を可能にするために、マイデバイス画面573を拡大することができる。いくつかの設計では、ユーザが、ユーザのIoTデバイスを閲覧し、そのポータビリティを設定することができる。
図5Dにおいて、例示的なモバイルアプリケーション105のスクリーンショットが、IoTデバイス追加メニュー580を含む。いくつかの例では、IoTデバイス追加メニュー580が、すべての適合するIoTデバイスの閲覧、IoTデバイスの探索、およびデバイスのバーコードのスキャンといったオプションをユーザに提示することができる。様々な設計では、適合するすべてのデバイスを閲覧するオプションが、IoTデバイスベンダ、製造業者またはIoTデバイス機能によって分類された適合するIoTデバイスのリストを表示すること(585)ができる。
図6は、ポータビリティ管理エンジン(PME)を有する例示的なアクセスポイントの構造図を示している。図6では、例示的なアクセスポイント135が、メモリ605と電気的に通信するプロセッサ600を含む。図示のメモリ605は、埋め込みO/S610、アクセスポイントシステムソフトウェア615およびポータビリティ管理エンジン(PME)140を実行するためのデータおよびプログラム命令も含む。いくつかの設計では、アクセスポイントシステムソフトウェア615が、ポータビリティ管理エンジン(PME)140に動作可能に接続されたアプリケーションプログラミングインタフェース(API)を含むことができる。プロセッサ600は、ユーザ入力を受信し、ユーザ出力を提供するためにユーザインタフェース625に通信可能に接続されている。プロセッサ600は、Wi-Fiインターフェース630を介して無線ネットワークと通信するように構成されている。いくつかの例では、プロセッサ600が、他のインターフェースを介して無線ネットワークと通信するように構成されるものであってもよい。一実施例では、プロセッサ600が、複数のインターフェースを介して複数の無線ネットワークと通信するように構成されるものであってもよい。様々な実施形態では、アクセスポイント135が広帯域移動無線アクセス(BWA)インターフェースを含むことができる。いくつかの設計では、アクセスポイントがBluetoothインターフェースを含むことができる。
図7は、例示的なポータビリティ管理エンジン(PME)のプロセスフローを示している。図7に示す方法は、図6に示すプロセッサ600上でプログラム命令として実行するポータビリティ管理エンジン(PME)140の観点から与えられている。いくつかの実施形態では、ポータビリティ管理エンジン(PME)140が、アクセスポイント135のローカルおよび/または外部のシステムサービス、ハードウェアリソースまたはソフトウェア要素に通信可能に接続されたクラウドサービスとして実行することができる。図示された方法700は、ポータビリティ管理エンジン140が処理するコマンドを有しているか否かをプロセッサ600が判定すること(705)から始まる。ポータビリティ管理エンジン(PME)140を制御するエンティティから様々なタイプのコマンドを受信することができる。例えば、データをWi-Fiインターフェース630を介して受信することができ、プロセッサ600は、受信データを分析して、コマンドが受信データに存在するか否かを判定することができる。例えば、ステータスを検索する、パラメータを設定する、またはポータブルWi-Fiネットワークをプロビジョニングするためのコマンドは、Wi-Fiインターフェース630を介して受信され、プロセッサ600によって処理されるものであってもよい。コマンドを処理すべきであるとプロセッサ600が判定した場合、プロセッサは、そのコマンドがネットワークをアクティベートするものであるか否かを判定する(710)。プロセッサ600が、コマンドがネットワークをアクティベートするものであると判定した場合(715)、プロセッサ600は、1または複数のWi-Fiネットワークをアクティベートする(715)。様々な例では、プロセッサ600が、1または複数のWi-Fiインターフェースを予め設定されたネットワークパラメータで設定して、Wi-Fi無線がネットワークのSSIDをブロードキャスト可能とすることによって、1または複数のネットワークをアクティベートすることができる。様々な実施態様では、ネットワークのアクティべーションが、スケジュールされたディアクティベーション時刻を設定することを含むことができる。様々な実施形態では、ディアクティベーション時刻が、アクティべーションコマンドとともに供給されるようにしてもよい。いくつかの例では、予め設定されたネットワークパラメータが、ユーザのパーソナルネットワークを管理するために予め設定された、SSID、パスワードおよび暗号化パラメータを含むことができる。いくつかの実施形態では、プロセッサ600は、アクティベートされたネットワークを使用してネットワーク使用状況およびデバイスのアクティビティのキャプチャを開始することができる。様々な例では、プロセッサ600が、アクティベートされたネットワークを使用してキャプチャしたネットワーク使用状況およびデバイスのアクティビティを監視し、ログを取り、またはデータベースに格納することができる。
プロセッサ600が1または複数のネットワークをアクティベートしたとき、この方法はステップ705に続く。処理すべきコマンドがないとプロセッサ600が判定した場合、プロセッサは、1または複数のプロビジョニングされたWi-Fiネットワークのスケジュールされたディアクティベーション時刻に達しているか否かを判定する(720)。プロセッサ600が、1または複数のプロビジョニングされたWi-Fiネットワークのスケジュールされたディアクティベーション時刻に達していると判定した場合、プロセッサ600は1または複数のWi-Fiネットワークをディアクティベートする(725)。いくつかの実施形態では、プロセッサ600が、ネットワーク用にWi-Fi無線によりブロードキャストされたSSIDを無効にして、Wi-Fiインターフェースからネットワークの設定されたパラメータを削除することによって、Wi-Fiネットワークをディアクティベートすることができる。いくつかの例では、パスワードおよびSSIDを含むディアクティベートされたネットワークパラメータ、並びに、アカウント情報および使用履歴などのユーザ識別可能情報は、安全に削除、暗号化、またはリサイクルされて別のユーザへのプロビジョニングに利用可能とされる。様々な実施形態では、ディアクティベートされたネットワークの使用状況を示す使用状況データまたは統計量を、ログに記録し、データベースに格納し、またはパートナーエンティティと共有することができる。
プロセッサ600が、1または複数のネットワークのスケジュールされたディアクティベーション時刻に達していないと判定した場合、プロセッサ600は、1または複数のプロビジョニングされたWi-Fiネットワークのスケジュールされたアクティベーション時刻に達したかどうかを判定する(728)。プロセッサ600が、1または複数のプロビジョニングされたWi-Fiネットワークのスケジュールされたアクティベーション時刻に達したと判定した場合、プロセッサ600は1または複数のWi-Fiネットワークをアクティベートする(731)。様々な例では、プロセッサ600は、1または複数のWi-Fiインターフェースを予め設定されたネットワークパラメータで設定して、Wi-Fi無線がネットワークのSSIDをブロードキャスト可能とすることによって、1または複数のネットワークをアクティベートすることができる。様々な設計では、アクティベートされたネットワークが、ユーザにVLANプライベートにおいて設定される。いくつかの例では、ディアクティベーション時刻が設定されるものであってもよい。様々な実施例では、ディアクティベーション時刻が設定されていない場合、ネットワークのアクティベーションが、スケジュールされたディアクティベーション時刻を設定することを含むことができる。様々な実施形態において、ディアクティベーション時刻はアクティベーション時にスケジュールされるものであってもよい。いくつかの実施形態では、デフォルトのディアクティベーション時刻が、ネットワーク使用レベルに基づいて決定されるようにしてもよい。例えば、ネットワークの負荷が高く、多くのユーザがアクセスを待っている場合は、ネットワークがアイドル状態の場合よりもデフォルトのディアクティべーション時刻を早く設定することができる。いくつかの例では、予め設定されたネットワークパラメータが、ユーザのパーソナルネットワークを管理するために予め設定された、SSID、パスワードおよび暗号化パラメータを含むことができる。いくつかの実施形態では、プロセッサ600が、アクティベートされたネットワークを使用してネットワーク使用状況およびデバイスのアクティビティのキャプチャを開始することができる。様々な例では、プロセッサ600が、アクティベートされたネットワークを使用してキャプチャしたネットワーク使用状況およびデバイスのアクティビティを監視し、ログを取り、またはデータベースに格納することができる。プロセッサ600が、1または複数のプロビジョニングされたWi-Fiネットワークのスケジュールされたアクティベーション時刻に達していないと判定した場合、プロセッサ600は、監視対象のMACアドレスが初めて出現したか否かを判定する(734)。いくつかの例では、PME140が、Wi-Fi無線範囲内で、1または複数のMACアドレスまたは他の無線デバイス識別子の存在について監視するように設定されるようにしてもよい。いくつかの実施形態では、PME140が、デバイスの存在が検出されたときに、監視対象のMACアドレスまたは他の無線デバイス識別子を用いてデバイスのユーザのためにネットワークをアクティベートにするように設定される。様々な設計では、PME140が、PME140が検出したMACアドレスのためにネットワークをアクティベートするように設定されているか否かにかかわらず、監視対象のMACアドレスの検出を制御エンティティに直ちに報告するように設定される。監視対象のMACアドレスが初めて出現したとプロセッサ600が判定し、かつ監視対象のMACアドレスのユーザに対してネットワークをアクティベートするようにPME140が設定されている場合、プロセッサ600は、1または複数のWi-Fiインターフェースを予め設定されたネットワークパラメータを用いて設定して、Wi-Fi無線がネットワークのSSIDをブロードキャスト可能とすることによって、MACアドレスのユーザに対して1または複数のWi-Fiネットワークをアクティベートすることができる(731)。いくつかの例では、予め設定されたネットワークパラメータが、ユーザのパーソナルネットワークを管理するために予め設定されたSSID、パスワードおよび暗号化パラメータを含むことができる。様々な設計では、アクティベートされたネットワークがユーザにVLANプライベートにおいて設定される。いくつかの例では、ディアクティベーション時刻が設定されるものであってもよい。様々な実施例では、ディアクティベーション時刻が設定されていない場合、ネットワークのアクティベーションが、スケジュールされたディアクティベーション時刻を設定することを含むことができる。様々な実施形態において、ディアクティベーション時刻はアクティベーション時にスケジュールされるものであってもよい。いくつかの実施形態では、デフォルトのディアクティベーション時刻が、ネットワーク使用レベルに基づいて決定されるようにしてもよい。例えば、ネットワークの負荷が高く、多くのユーザがアクセスを待っている場合は、ネットワークがアイドル状態の場合よりもデフォルトのディアクティべーション時刻を早く設定することができる。様々な実施形態では、ディアクティベーション時刻がデバイスのアクティビティまたは不存在によって動的に決定されるものであってもよい。例えば、MACアドレスまたは他の無線識別子のアクティビティの検出に応答してアクティベートされたネットワークの場合、ディアクティベーション時刻は、ネットワークからのデバイスの消失に基づいて動的に決定することができる。例えば、監視対象デバイスが出現したときにネットワークをアクティベートし、監視対象デバイスが消滅したときに同じネットワークをディアクティベートすることができる。いくつかの実施形態では、プロセッサ600が、アクティベートされたネットワークを使用してネットワーク使用状況およびデバイスのアクティビティのキャプチャを開始することができる。様々な例では、プロセッサ600が、アクティベートされたネットワークを使用してキャプチャしたネットワーク使用状況およびデバイスのアクティビティを監視し、ログを取り、またはデータベースに格納することができる。プロセッサ600が、監視対象のMACアドレスが初めて出現したものではないと判定した場合、プロセッサ600は、未だ知られていないMACアドレスが出現したか否かを判定する(737)。いくつかの例では、PME140が、これまで知られていないMACアドレスの検出を制御エンティティに直ちに報告するように設定される。これまで知られていないMACアドレスが出現した場合、プロセッサ600は、未知のMACアドレスをログに記録し(740)、既に確認されたMACアドレスのリストを新しいアドレスで更新し、接続されたアクティブネットワークデバイスのネットワーク統計およびネットワーク使用データをログに記録し、この方法は、ステップ705に進んで、プロセッサ600が、ポータビリティ管理エンジン(PME)140が処理するコマンドを有しているか否かを判定する。
ステップ705で、プロセッサ600が、コマンドを処理すべきであると判定した場合、プロセッサは、そのコマンドがネットワークをアクティベートするためのものであるか否かを判定する(710)。プロセッサ600が、コマンドがネットワークをアクティベートするためのものではないと判定した場合(715)、プロセッサ600は、コマンドがネットワークをティアクティベートするためのものか否かを判定する。いくつかの実施形態では、ディアクティベーションが、設定されたディアクティベーション時刻に基づいて自動的に呼び出されるものであってもよい。様々な実施例では、ディアクティベーションが、制御エンティティからのディアクティベーションコマンドに応答するものとすることができる。いくつかの設計では、ディアクティベーションコマンドが、ディアクティベートされるべき1または複数のWi-Fiネットワークを識別するようにしてもよい。プロセッサ600が、コマンドがネットワークをディアクティベートすることであると判定した場合、プロセッサ600は1または複数のWi-Fiネットワークをディアクティベートする(746)。いくつかの実施形態では、プロセッサ600が、ネットワーク用のWi-Fi無線によりブロードキャストされるSSIDを無効にして、Wi-Fiインターフェースからネットワークの設定されたパラメータを削除することによって、Wi-Fiネットワークをディアクティベートすることができる。様々な実施形態では、ディアクティベートされたネットワークの使用状況を示す使用状況データまたは統計量をログに記録し、データベースに格納し、またはパートナーエンティティと共有することができる。いくつかの設計では、パスワードおよびSSIDを含むディアクティベートされたネットワークパラメータ、並びに、アカウント情報および使用履歴などのユーザ識別可能情報は、安全に削除、暗号化、またはリサイクルされて別のユーザへのプロビジョニングに利用可能とされる。
プロセッサ600が、コマンドがネットワークをディアクティベートするためのものではないと判定した場合、プロセッサ600は、コマンドがMACアドレスまたは他の無線デバイス識別子を監視するためのものであるか否かを判定する(749)。プロセッサ600が、コマンドがMACアドレスまたは他の無線デバイス識別子を監視するためのものあると判定した場合、プロセッサ600は、監視対象識別子のリストにMACアドレスまたは他の無線デバイス識別子を組み込み(752)、その識別子の監視を開始する。様々な実施例では、ワイヤレス識別子を監視するためのコマンドが、1または複数の識別子、および識別子を監視するための時間窓を指定することができる。いくつかの設計では、PME140が、設定された監視時間窓の間にいくつかの無線識別子の存在を監視し、ログに記録し、または報告し、設定された監視時間窓の外の無線識別子の存在を無視することができる。その後、この方法はステップ705に進んで、プロセッサ600が、ポータビリティ管理エンジン(PME)140が処理するコマンドを有するか否かを判定する。
ステップ705において、プロセッサ600が、コマンドを処理すべきであると判定した場合、プロセッサは、そのコマンドがネットワークをアクティベートするためのものであるか否かを判定する(710)。プロセッサ600が、コマンドがネットワークをアクティベートするためのものではないと判定した場合(715)、プロセッサ600は、コマンドがネットワークをディアクティベートするためのものであるか否かを判定する。プロセッサ600が、コマンドがネットワークをディアクティベートするためのものではないと判定した場合、プロセッサ600は、コマンドがMACアドレスまたは他の無線デバイス識別子を監視するためのものであるか否かを判定する(749)。プロセッサ600が、コマンドがMACアドレスまたは他の無線デバイス識別子を監視するためのものではないと判定した場合、プロセッサ600は、コマンドがユーザにポータビリティサービスをプロビジョニングするためのものであるか否かを判定する(755)。プロセッサ600が、コマンドがユーザにポータビリティサービスをプロビジョニングするためのものであると判定した場合、プロセッサ600は、PME140を制御するエンティティから、要求されたアクティべーション時刻、ディアクティベーション時刻およびネットワークパラメータを受信する(758)。いくつかの実施形態では、PME140を制御するエンティティが、ポータビリティプロバイダである。様々な実施例では、PME140を制御するエンティティが、プロダクトプロバイダである。いくつかの例では、要求されたネットワークパラメータが、暗号化タイプ、パスワードおよびSSIDを含むことができる。様々な設計では、ユーザにポータビリティサービスをプロビジョニングするためのコマンドが、ユーザを識別するようにしてもよい。いくつかの実施形態では、ユーザにポータビリティサービスをプロビジョニングするためのコマンドが、ネットワークパラメータを指定するようにしてもよい。一実施例では、ユーザにポータビリティサービスをプロビジョニングするためのコマンドが、ユーザプロファイル情報に基づいてカスタムパラメータを生成するようにPME140に要求することができる。いくつかの例では、カスタムネットワークパラメータが、プロダクトプロバイダに対するユーザの関係に基づいて、PME140によって生成されるものであってもよい。その後、プロセッサ600は、要求されたネットワークパラメータ、アクティべーション時刻およびディアクティベーション時刻が、要求されたポータビリティネットワークについて利用可能であるか否かを判定する(782)。いくつかの実施形態において、サービスが利用可能であるか又は利用不可能であるかの判定は、プロセッサ600が、アクセスポイント135によってホストされるネットワークについて、要求されたアクティベーション時刻またはディアクティベーション時刻を以前にプロビジョニングまたはスケジュールされたアクティベーションおよびディアクティベーション時刻と相関させることに基づくものであってもよい。いくつかの設計において、サービスが利用可能であるか又は利用不可能であるかの判定は、プロセッサ600が、要求されたネットワークパラメータを以前にプロビジョニングまたはスケジュールされたネットワークパラメータと相関させることに基づくものであってもよい。様々な実施例では、サービスが利用可能であるか又は利用不可能であるかの判定は、プロセッサ600が、アクセスポイント135のハードウェア、システムソフトウェアまたはオペレーティングシステムのリソースのうちの1または複数の動作ステータスを判定することに基づくものとすることができる。いくつかの例では、サービスが利用可能であるか又は利用不可能であるかの判定は、プロセッサ600が、アクセスポイント135に通信可能に接続された1または複数のネットワークの動作ステータスを判定することに基づくものとすることができる。プロセッサ600が、要求されたネットワークパラメータ、アクティベーション時刻およびディアクティベーション時刻が利用可能ではないと判定した場合、プロセッサ600は、要求されたサービスが利用可能ではないことをPME140を制御するエンティティに通知する(788)。ステップ782で、プロセッサ600が、要求されたネットワークパラメータ、アクティベーション時刻およびディアクティベーション時刻が利用可能であると判定した場合、プロセッサは、プロビジョニングされたネットワークアクティベーション時刻、ディアクティベーション時刻およびネットワークパラメータを組み込む(785)。様々な実施例では、PME140が時間を監視し、アクティベーション時刻にプロビジョニングされたネットワークをアクティベートし、ディアクティベーション時刻にプロビジョニングされたネットワークをディアクティベートすることができる。その後、この方法はステップ705に進み、プロセッサ600は、ポータビリティ管理エンジン(PME)140が処理するコマンドを有するか否かを判定する。
ステップ705で、プロセッサ600が、コマンドを処理すべきであると判定した場合、プロセッサは、そのコマンドがネットワークをアクティベートするためのものであるか否かを判定する(710)。プロセッサ600が、コマンドがネットワークをアクティベートするためのものではないと判定した場合(715)、プロセッサ600は、コマンドがネットワークをディアクティベートするためのものであるか否かを判定する。プロセッサ600が、コマンドがネットワークをディアクティベートするためのものではないと判定した場合、プロセッサ600は、コマンドがMACアドレスまたは他の無線デバイス識別子を監視するためのものあるか否かを判定する(749)。プロセッサ600が、コマンドがMACアドレスまたは他の無線デバイス識別子を監視するためのものではないと判定した場合、プロセッサ600は、コマンドがユーザにポータビリティサービスをプロビジョニングするためのものであるか否かを判定する(755)。プロセッサ600が、コマンドがユーザにポータビリティサービスをプロビジョニングするためのものではないと判定した場合、プロセッサ600は、コマンドがユーザのIoTデバイスにポータビリティサービスをプロビジョニングするものであるか否かを判定し(761)、プロセッサ600は、PME140を制御するエンティティから、セキュアトークンと、IoTベンダのネットワークを管理するネットワークパラメータとを受け取る(764)。様々な例では、ユーザのパーソナルネットワークへのポータビリティサービスがプロビジョニングされるIoTデバイスが、その時点で、IoTベンダのネットワーク上で排他的にアクティベートされる。いくつかの例では、PME140を制御するエンティティが、ポータビリティプロバイダである。様々な設計では、PME140を制御するエンティティがプロダクトプロバイダである。いくつかの実施例では、セキュアトークンが、ポータビリティサービスをプロビジョニングされるIoTデバイスのユーザの所有権を証明することができる。様々な実施例では、セキュアトークンがPGPキーである。いくつかの設計では、セキュアトークンがユーザによって暗号学的にサインを付されるものであってもよい。いくつかの例では、セキュアトークンが、IoTデバイスベンダによって暗号学的にサインを付されるものであってもよい。その後、プロセッサ600は、ユーザのIoTデバイスにポータビリティサービスをプロビジョニングするように適合された認証済みネットワークサービスをアクセスポイント135上でホストするようにPME140を設定する(767)。その後、プロセッサ600は、IoTベンダのネットワークを管理するのと同じネットワークパラメータによって管理されるネットワークを設定して、一時的にアクティベートする(770)。いくつかの設計では、認証されたネットワークサービスが、IoTベンダのネットワークを管理するのと同じネットワークパラメータによって管理される一時的なネットワーク上に、リスニングSSHサーバポートを提供するように設定される。その後、プロセッサ600は、IoTデバイスが認証されたネットワークサービスに接続するときにユーザのパーソナルネットワークパラメータとともにセキュアトークンを提示することによって、ユーザのパーソナルネットワーク上でのポータビリティアクセスのためにIoTデバイスを設定する(778)。いくつかの設計では、IoTデバイスが、認証されたネットワークサービスへの接続の前に、有効なセキュアトークンとともに提示された新しいネットワークパラメータを受け入れるように設定されるものであってもよい。様々な実施例では、認証されたネットワークサービスが、1または複数のIoTデバイスがユーザのパーソナルネットワーク上にプロビジョニングされた後にディアクティベートされるようにしてもよい。いくつかの実施形態では、IoTベンダのネットワークを管理するネットワークパラメータによって管理される一時的なネットワークが、IoTデバイスがプロビジョニングされた後に、ディアクティベートされるようにしてもよい。ステップ761において、プロセッサ600が、コマンドがユーザのIoTデバイスにポータビリティサービスをプロビジョニングするためのものではないと判定した場合、プロセッサ600は、コマンドが統計を取り出すためのものであるか否かを判定する(776)。コマンドが統計を取り出すためのものである場合、プロセッサ600は、統計および使用データを、PME140を制御するエンティティに通知する。様々な実施例では、統計を取り出すコマンドは、取り出して通知する統計を指定することができる。その後、この方法はステップ705に進み、プロセッサ600は、ポータビリティ管理エンジン140が処理するコマンドを有しているか否かを判定する。
図8は、ユーザとプロダクトプロバイダとの間のトランザクションに応答して、ユーザのパーソナルネットワークを管理するパラメータを用いてリモートWi-Fiアクセスポイントを設定する例示的なポータビリティプロバイダのプロセスフローを示している。図8に示す方法は、例示的なポータビリティプロバイダ160の観点から与えられており、このポータビリティプロバイダは、クラウドサービスとして実行され、例示的なプロダクトプロバイダ145とやりとりするものであり、それらはともに図1に示されている。図示の方法800は、ポータビリティプロバイダ160が、ユーザ100へのWi-Fiポータビリティサービスの登録をユーザ100から受け取ること(805)から始まる。様々な実施形態では、ユーザ100に対するポータブルWi-Fiサービスへの登録が、ユーザ100の識別を含むことができる。いくつかの例では、ユーザ100へのポータブルWi-Fiサービスの登録が、ユーザ100のパーソナルネットワークを管理するネットワークパラメータも含むことができる。この方法は、ユーザ100とプロダクトプロバイダ145との間のトランザクションに基づく場所および時間での要求を、ポータビリティプロバイダ160がプロダクトプロバイダ145から受信して(810)、ユーザ100にWi-Fiポータビリティサービスを提供することに続く。いくつかの例では、ユーザ100とプロダクトプロバイダ145との間のトランザクションが、購入トランザクション、予約、または予約なしの到着であってもよい。一実施例では、ユーザ100とプロダクトプロバイダ145との間のトランザクションに基づく場所と時間が、ユーザ100の単一の物理的な場所と時間であってもよい。いくつかの例では、ユーザ100とプロダクトプロバイダ145との間のトランザクションに基づく場所と時間が、予約または一群の予約に基づく一連の場所および時間である。例えば、旅行者は、数週間にわたる予約を手配することができ、それには、ホテル、クルーズ船のキャビン、飛行機の座席、空港のゲートおよびレンタカーが含まれ、その各々が少なくとも1の関連する場所および時間を有する。様々な実施形態では、プロダクトプロバイダ145の要求が特定の場所および時間を含むことができる。いくつかの実施形態では、プロダクトプロバイダ145の要求が場所および時間の範囲を含むことができる。いくつかの設計では、プロダクトプロバイダ145の要求が、Wi-Fiポータビリティサービスをユーザ100に提供することができる場所または時間から除外される場所または時間を含むことができる。この方法は、ポータビリティプロバイダ160が、ユーザ100の登録、Wi-Fiポータビリティサービスのためのプロダクトプロバイダ145の要求、およびWi-Fiポータビリティサービスを提供するために利用可能な場所および時間を関連付けること(815)に続く。いくつかの実施形態では、ポータビリティプロバイダ160が、プロダクトプロバイダ145から受け取った要求された場所および時間でWi-Fiネットワークをホストするために、利用可能なキャパシティ、機能または性能を有するアクセスポイントのマッチングに基づいて、Wi-Fiポータビリティサービスをユーザ100に提供するための利用可能な場所および時間を決定するようにしてもよい。いくつかの実施形態では、ポータビリティプロバイダ160が、プロダクトプロバイダ145から受け取った要求された場所および時間およびユーザ100から登録とともに受け取ったネットワークパラメータでWi-Fiネットワークをホストするために、利用可能な時間枠を有するアクセスポイントのマッチングに基づいて、Wi-Fiポータビリティサービスをユーザ100に提供するための利用可能な場所および時間を決定するようにしてもよい。この方法は、プロダクトプロバイダ145から受け取った要求された場所および時間に、ユーザ100から登録とともに受け取ったネットワークパラメータでアクセスポイントが利用可能であるか否かをポータビリティプロバイダ160が判定すること(820)に続く。いくつかの実施形態では、ポータビリティプロバイダ160が、Wi-Fiポータビリティサービスを提供するために、図1に示す1または複数のアクセスポイント135を利用することができる。様々な例では、ポータビリティプロバイダ160によって利用されるアクセスポイント135が、図1および図7に示すポータビリティ管理エンジン140を含むことができる。いくつかの設計では、ポータビリティプロバイダ160が、1または複数のアクセスポイント135およびポータビリティ管理エンジン140を使用することによって、利用可能な場所および時間を判定することを含む、Wi-Fiポータビリティサービスのプロビジョニングを容易にすることができる。ポータビリティプロバイダ160が、ユーザ100のネットワークパラメータでアクティベートされる要求された場所および時間で利用可能なアクセスポイントが存在しないと判定した場合、ポータビリティプロバイダ160は、ユーザ100に代替的なネットワークパラメータを提示することができる(830)。この方法は、ユーザ100が代替的なネットワークパラメータを受け入れるか否かをポータビリティプロバイダ160が判定すること(835)に続く。ユーザが代替的なネットワークパラメータを受け入れないとポータビリティプロバイダ160が判定した場合、この方法は終了する。ユーザが代替的なネットワークパラメータを受け入れるとポータビリティプロバイダ160が判定した場合、ポータビリティプロバイダ160は、予約した時間に代替的なネットワークパラメータをアクティベートして予約した終了時間にディアクティベートするように予約した場所でアクセスポイントをプロビジョニングすること(825)に続く。
ステップ820で、ユーザ100のネットワークパラメータを用いてアクティベートされる要求された場所および時間に、少なくとも1のアクセスポイントが利用可能であるとポータビリティプロバイダ160が判定した場合、ポータビリティプロバイダ160、ポータビリティプロバイダ160は、ユーザ100のパーソナルネットワークを管理するネットワークパラメータで予約された時間にアクティベートして予約された終了時間にディアクティベートするように予約された場所でアクセスポイントをプロビジョニングする(825)。
図9は、ユーザのチェックインに応答して、ユーザと例示的なプロダクトプロバイダとの関係に基づいて、ポータビリティプロバイダによって生成されたパラメータでリモートWi-Fiアクセスポイントを設定する例示的なポータビリティプロバイダのプロセスフローを示している。図9に示す方法は、クラウドサービスとして実行される図1に示すポータビリティプロバイダ160の観点から与えられている。図示の方法900は、ポータビリティプロバイダ160がユーザ100へのWi-Fiポータビリティサービスの登録をユーザ100から受信すること(905)から始まる。様々な実施形態では、ユーザ100へのポータブルWi-Fiサービスの登録が、ユーザ100の識別子を含むことができる。いくつかの例では、ユーザ100へのポータブルWi-Fiサービスの登録が、ユーザ100のパーソナルネットワークを管理するネットワークパラメータを含むことができる。様々な設計では、ユーザ100へのポータブルWi-Fiサービスの登録が、ユーザ100によって制御されるデバイスの無線デバイス識別子のリストを含むことができる。いくつかの実施例では、無線デバイス識別子がMACアドレスを含むことができる。この方法は、ユーザとプロダクトプロバイダとの関係に基づいて、ポータビリティプロバイダ160がユーザ100のためにパーソナルネットワークパラメータを生成すること(910)に続く。いくつかの例では、生成されたパーソナルネットワークパラメータが、カスタマイズされたSSIDおよびパスワードを含むことができる。様々な例では、カスタマイズされたSSIDおよびパスワードが、他のユーザ用に選択されたネットワークパラメータとの衝突を回避するために選択される。この方法は、ポータビリティプロバイダ160が、生成したパーソナルネットワークパラメータをユーザ登録に関連付けること(915)に続く。様々な例では、生成したネットワークパラメータとユーザ100の登録との関連付けが、ユーザ100のMACアドレスリストをユーザ100の識別子、SSIDおよびパスワードとともに格納することを含むことができる。この方法は、ユーザのデバイスにおける設定のために、ポータビリティプロバイダ160が生成したネットワークパラメータをユーザ100に提供すること(920)に続く。一実施例では、ポータビリティプロバイダ160が、モバイルアプリケーション105を介してユーザにネットワークパラメータを提供することができる。いくつかの実施形態では、モバイルアプリケーション105が、モバイルアプリケーション105をホスティングするデバイスにおいて、生成したネットワークパラメータを設定することができる。いくつかの例では、モバイルアプリケーション105が、ポータビリティプロバイダ160と協働して、共有秘密に応じて決定されるネットワークパラメータを生成することができる。いくつかの設計では、モバイルアプリケーション105が、ポータビリティプロバイダ160と協働して、暗号学的に安全なワンタイムパスワードに基づいて決定されるネットワークパラメータを生成することができる。例えば、暗号学的に安全なワンタイムパスワードは、共有秘密およびOATHフレームワークに基づいて二者間で生成されるものであってもよい。この方法は、ポータビリティプロバイダ160が、ユーザのデバイスのMACアドレスを監視するためにプロダクトプロバイダ145の位置に少なくとも1のアクセスポイント135を設定すること(925)に続く。ポータビリティプロバイダ160は、ユーザのデバイスのMACアドレスが最初に検出されたときにポータビリティプロバイダ160に報告するようにアクセスポイント135を設定する。この方法は、ユーザのMACアドレスがプロダクトプロバイダ145の位置でアクセスポイント135によって検出されたか否かをポータビリティプロバイダ160が判定すること(930)に続く。様々な例では、ユーザのMACアドレスが検出されたという判定が、監視対象のMACアドレス検出のアクセスポイント135からの自律的報告に基づくものであってもよい。いくつかの設計では、ユーザのMACアドレスが検出されたという判定が、監視対象のMACアドレスの検出ステータスについての、アクセスポイント135上でホストされているポータビリティ管理エンジン140への問合せコマンドの結果に基づくものであってもよい。ユーザのMACアドレスが検出されていないとポータビリティプロバイダ160が判定した場合、この方法はステップ925に進む。ユーザのMACアドレスが検出されたとポータビリティプロバイダ160が判定した場合、ポータビリティプロバイダ160は、ユーザのMACアドレスが検出された場所で、ユーザのパーソナルSSIDおよびパスワードを用いてアクセスポイントをアクティベートする(935)。いくつかの例では、ポータビリティプロバイダ160が、ユーザのMACアドレスの継続的な存在またはアクティビティを定期的に監視するようにアクセスポイントを設定することができる。様々な設計では、ポータビリティプロバイダ160が、監視対象のMACアドレスがアクセスポイントで検出されなくなったときに、ポータビリティプロバイダに報告するようにアクセスポイントを設定することができる。いくつかの実施例では、ポータビリティプロバイダ160が、設定期間にわたってユーザのMACアドレスの継続的な存在またはアクティビティを監視するようにアクセスポイントを設定することができる。この方法は、プロダクトプロバイダ145の位置でアクセスポイント135によって検出されたときにユーザのMACアドレスがアクティブなままであるか否かをポータビリティプロバイダ160が判定すること(940)に続く。ポータビリティプロバイダ160がユーザのMACアドレスがアクティブのままであると判定した場合、この方法はステップ940に進む。ユーザのMACアドレスがアクティブではないとポータビリティプロバイダ160が判定した場合、ポータビリティプロバイダ160は、ユーザのMACアドレスが最初に検出された場所でユーザのパーソナルSSIDおよびパスワードによって管理されるネットワークをディアクティベートする。
図10は、プロダクトプロバイダとのユーザのトランザクションに応答して、ユーザとプロダクトプロバイダとの関係に基づいて、ポータビリティプロバイダにより生成されたパラメータを用いてリモートWi-Fiアクセスポイントを設定する例示的なプロダクトプロバイダのプロセスフローを示している。図10に示す方法は、クラウドサービスとして実行される図1に示すプロダクトプロバイダ145の観点から与えられている。図示の方法1000は、プロダクトプロバイダ145がユーザ100とある場所および時間に実現するのためのトランザクションを完了すること(1005)から始まる。いくつかの例では、ユーザ100とプロダクトプロバイダ145との間のトランザクションが、購入トランザクション、予約、または予約なしの到着であってもよい。一実施例では、ユーザ100とプロダクトプロバイダ145との間のトランザクションに基づく場所と時間が、ユーザ100の単一の物理的な場所と時間であってもよい。いくつかの例では、ユーザ100とプロダクトプロバイダ145との間のトランザクションに基づく場所と時間が、予約または一群の予約に基づく一連の場所および時間である。例えば、旅行者は、数週間にわたる予約を手配することができ、それには、ホテル、クルーズ船のキャビン、飛行機の座席、空港のゲートおよびレンタカーが含まれ、その各々が少なくとも1の関連する場所および時間を有する。この方法は、ユーザ100とプロダクトプロバイダ145との間のトランザクションに基づく場所および時間に、プロダクトプロバイダ145が、ポータビリティプロバイダ160からユーザ100へのWi-Fiポータビリティサービスを要求すること(1010)に続く。様々な実施形態において、プロダクトプロバイダ145が、ポータビリティプロバイダ160への要求とともにユーザ100の識別情報を含むことができる。例えば、ユーザ識別情報は、ユーザ100のアカウント識別子を含むことができる。様々な設計では、ユーザ100のアカウント識別子が、プロダクトプロバイダ145とポータビリティプロバイダ160の両方に知られている。いくつかの例では、プロダクトプロバイダ145が、ユーザ100とプロダクトプロバイダ145との関係を示す情報をポータビリティプロバイダ160への要求とともに含むことができる。例えば、プロダクトプロバイダ145は、購入履歴、プロダクトプロバイダのアカウント番号またはユーザ100のプロダクト嗜好を含むかまたはそれを参照する、ユーザプロファイル情報を要求とともに含むことができる。いくつかの実施形態では、ユーザプロファイル情報が支払い方法を含むことができる。様々な実施例では、ユーザ100へのWi-Fiポータビリティサービスの要求に対するポータビリティプロバイダ160の1または複数の応答が、ユーザアカウント識別子および関連するポータビリティプロバイダのレコードを、ポータビリティプロバイダ160のレコードにおいて同じユーザ100に既に関連付けられているネットワークパラメータと関連付けることに部分的に基づくことができる。この方法は、要求されたWi-Fiポータビリティサービスが要求された場所および時間にユーザ100に利用可能であるか否かをプロダクトプロバイダ145が判定すること(1015)に続く。様々な実施例では、要求された場所および時間におけるユーザ100のためのWi-Fiポータビリティサービスの利用可能性のプロダクトプロバイダ145による判定が、ポータビリティプロバイダ160からの応答に基づくものであってもよい。いくつかの設計において、プロダクトプロバイダ145は、プロダクトプロバイダ145によるポータビリティ管理エンジンアプリケーションプログラミングインタフェース(PME API)170への1または複数の要求に基づいて、Wi-Fiポータビリティサービスが利用可能であるか否かを判定することができる。要求された場所および時間でユーザ100のために要求されたWi-Fiポータビリティサービスが利用可能であるとプロダクトプロバイダ145が判定した場合、この方法は、プロダクトプロバイダ145がポータビリティプロバイダ160からカスタムネットワークパラメータを受け取ること(1020)に続く。ポータビリティプロバイダ160から受信したカスタムネットワークパラメータは、ユーザ100のデバイスに設定されることになる。ポータビリティプロバイダ160から受信したカスタムネットワークパラメータも、ポータビリティプロバイダ160によってプロビジョニングされ、トランザクションに応じて決定される場所および時間中にユーザ100のためにアクセスポイントでアクティベートされる。一実施例では、カスタムネットワークパラメータが、アカウント名、好みまたは履歴を含むユーザ情報に基づいて、ポータビリティプロバイダ160によって生成されるものであってもよい。この方法は、プロダクトプロバイダ145がポータビリティプロバイダ160から受信したカスタムネットワークパラメータをユーザ100に提供すること(1025)に続く。様々な例では、ユーザ100がカスタムネットワークパラメータを用いてユーザデバイスを設定することができる。いくつかの実施形態では、ユーザ100のデバイス上でホストされているモバイルアプリケーション105が、ユーザ100のデバイスにカスタムネットワークパラメータを設定することができる。この方法は、プロダクトプロバイダ145がユーザ100に関連するネットワーク使用データをポータビリティプロバイダ160から受信すること(1030)に続く。様々な実施形態では、ネットワーク使用データが、PME API170を介してポータビリティプロバイダ160から受信されるものであってもよい。ステップ1015で、要求されたWi-Fiポータビリティサービスが要求された場所および時間にユーザ100に利用可能ではないとプロダクトプロバイダ145が判定した場合、プロダクトプロバイダ160は、ユーザ100にWi-Fiポータビリティサービスを提供するために利用可能な代替の場所または時間が存在するか否かを判定する(1035)。いくつかの実施形態では、利用可能な代替の場所または時間のプロダクトプロバイダ145の判定が、プロダクトプロバイダ160によって保持されている独自のユーザ知識に基づくものであってもよい。例えば、プロダクトプロバイダのレコードは、ユーザ100がポータビリティサービスのための場所と時間の好みの順位を指定したことを示すものであってもよい。いくつかの例では、プロダクトプロバイダ145が、PME API170を介してポータビリティプロバイダ160から代替の場所または時間を要求することができる。例えば、PME API170を使用して、プロダクトプロバイダ145は、現在、要求された場所または近くの場所で、SSIDが1時間ユーザに利用可能であると判定することができる。ユーザ100にWi-Fiポータビリティサービスを提供するために利用可能な代替の場所または時間が存在しないとプロダクトプロバイダ160が判定した場合、プロダクトプロバイダ145は、利用可能なWi-Fiポータビリティサービスがないことをユーザに通知し(1055)、この方法はステップ1005に進む。ユーザ100にWi-Fiポータビリティサービスを提供するために利用可能な代替の場所または時間が存在するとプロダクトプロバイダ160が判定した場合、プロダクトプロバイダ160はユーザに代替の場所または時間を提示する(1040)。この方法は、ユーザが代替の場所または時間を受け入れたか否かをプロダクトプロバイダ145が判定することに続く。ユーザが代替の場所または時間を受け入れた場合、プロダクトプロバイダ145は、ユーザが代替の場所または時間の提示を受け入れたことをポータビリティプロバイダ160に通知し(1050)、この方法はステップ1020に進む。ユーザ100が代替の場所または時間の提示を受け入れなかった場合、この方法はステップ1055に進む。
図11は、少なくとも1つのポータビリティプロバイダとのユーザの関係に基づいて予め設定されたパラメータでリモートWi-Fiアクセスポイントを設定するために少なくとも1のポータビリティプロバイダと協働する例示的なプロダクトプロバイダのプロセスフローを示している。図11に示す方法は、クラウドサービスとして実行される図1に示すプロダクトプロバイダ145の観点から与えられている。図示の方法1100は、プロダクトプロバイダ145との関係を有するユーザに関連付けられていないMACアドレスをプロダクトプロバイダ145が検出すること(1105)から始まる。様々な実施形態では、プロダクトプロバイダ145が、PME API170を介したユーザ情報およびMACアドレスリストに対する1または複数の要求により、MACアドレスを検出することができる。いくつかの実施形態では、プロダクトプロバイダ145が、プロダクトプロバイダのレコードからのユーザ識別子を、PME API170を介した1または複数の要求で取得されたポータビリティ履歴データと関連付けることによって、ユーザとの関係を判定することができる。いくつかの例では、プロダクトプロバイダ145が、1または複数のポータビリティプロバイダとの関係および連絡方法を保持することができる。この方法はステップ1110に進み、プロダクトプロバイダ145は、少なくとも1のポータビリティプロバイダからユーザのためのWi-Fiポータビリティサービスを要求する。一実施例では、プロダクトプロバイダ145が、複数のポータビリティプロバイダからユーザのためのWi-Fiポータビリティサービスを要求することができる。いくつかの実施例では、プロダクトプロバイダ145が、Wi-Fiポータビリティサービスをプロビジョニングするためにアクセスポイントを制御することができる。この方法はステップ1115に進み、プロダクトプロバイダ145は、ユーザがポータビリティプロバイダと関係があるか否かを判定する。いくつかの例では、ユーザがポータビリティプロバイダと関係を有すると判定された場合、そのポータビリティプロバイダが、ユーザのためのポータビリティサービスを手配する際に優先されるようにしてもよい。ユーザがポータビリティプロバイダと関係がないとプロダクトプロバイダ145が判定した場合、この方法はステップ1140に進み、プロダクトプロバイダ145は、ポータビリティサービスを提供する試みが失敗したことをログに記録し、この方法は終了する。いくつかの例では、プロダクトプロバイダ145が、MACアドレスを1または複数のポータビリティプロバイダに通知することができる。ユーザが少なくとも1のポータビリティプロバイダと関係があるとプロダクトプロバイダ145が判定した場合、この方法はステップ1120に進み、プロダクトプロバイダ145は、ユーザのデバイスのMACアドレスが検出された場所と時間でWi-Fiポータビリティサービスをユーザに提供するために、ユーザと関係があるポータビリティプロバイダとネゴシエーションを行う。ユーザにWi-Fiポータビリティサービスを提供するためのポータビリティプロバイダとのネゴシエーションが成功しなかった場合、この方法はステップ1140に進み、プロダクトプロバイダ145は、ポータビリティサービスを提供する試みが失敗したことをログに記録し、この方法が終了する。ネゴシエーションが成功してユーザにWi-Fiポータビリティサービスを提供するために少なくとも1のポータビリティプロバイダを指名する場合、この方法はステップ1130に進み、プロダクトプロバイダ145は、ユーザのポータビリティプロバイダとの関係に基づいて、予め設定されたユーザのカスタムネットワークパラメータを含むセキュアトークンを、指名されたポータビリティプロバイダから受け取る。様々な例では、ユーザのカスタムネットワークパラメータを含むセキュアトークンが、ユーザおよび指名されたポータビリティプロバイダによって暗号学的にサインが付されたものであってもよい。いくつかの設計では、サインが付されたセキュアトークンが、ユーザのネットワークパラメータのプロダクトプロバイダへの転送を容易にするために当事者間の信頼関係を証明することができる。いくつかの実施形態において、セキュアトークンがPGPキーを含むことができる。この方法はステップ1135に進み、プロダクトプロバイダは、ユーザのカスタムネットワークパラメータを用いてアクセスポイントをアクティベートし、ユーザのエクスペリエンスに基づく時間にカスタムネットワークパラメータをディアクティベートする。一実施例では、カスタムネットワークが、プロダクトプロバイダ145にとって未知のイベントの到着時にユーザに対してアクティベートされるものであってもよい。いくつかの例では、ユーザがアクティベートされたネットワークの使用を停止したときに、ネットワークがディアクティベートされるものであってもよい。
図12は、ユーザがIoTデバイス識別子をポータビリティプロバイダに提供することに応答して、ユーザのパーソナルネットワークを管理するパラメータを用いてユーザのインターネットオブシングス(IoT)デバイスを設定する例示的なポータビリティプロバイダのプロセスフローを示している。図12に示す方法は、クラウドサービスとして実行される図1に示すポータビリティプロバイダ160の観点から与えられている。
図示の方法1200は、ポータビリティプロバイダ160が、ユーザ100から、ユーザのパーソナルネットワーク115を管理するユーザのパーソナルネットワークパラメータ120を含むユーザ100の登録を受け取ること(1205)から始まる。
この方法は、IoTデバイスとIoTデバイスベンダ225との通信接続を管理するネットワークパラメータ235で設定されたIoTデバイス215のシリアル番号230をユーザ100からポータビリティプロバイダ160が受信すること(1210)に続く。
この方法は、IoTデバイス215がユーザ100に登録されているか否かをポータビリティプロバイダ160が判定すること(1215)に続く。様々な設計では、ポータビリティプロバイダ160が、IoTデバイスベンダ225に対する要求において、IoTデバイス215のシリアル番号230およびユーザ100を識別するセキュアトークンを提供することによって、IoTデバイス215がユーザ100に登録されていることを判定することができる。
IoTデバイス215がユーザ100に登録されていないとポータビリティプロバイダ160が判定した場合、この方法は、IoTデバイス215のシリアル番号、ユーザ100の登録、およびユーザ100を識別するセキュアトークンを含む設定要求をポータビリティプロバイダ160がIoTデバイスベンダ225に送信すること(1220)に続く。
この方法は、ポータビリティプロバイダ160がIoTデバイスベンダ225から設定要求に対する応答を受信すること(1225)に続く。IoTデバイスベンダ225からの応答は、IoTデバイスベンダ225がユーザ100のIoTポータビリティ登録を承認したという確認を含むことができる。いくつかの設計では、IoTデバイスベンダ225が、ポータビリティプロバイダ160によって提供されたセキュアトークンを暗号学的に認証することに基づいて、ユーザ100のIoTポータビリティ登録の承認を決定することができる。様々な実施形態において、設定要求への応答は、ユーザのパーソナルネットワーク115からアクセス可能な認証されたネットワークサービスへのその後の接続時にセキュアトークンとともに受信される新しいネットワークパラメータでアクティベートされるようにIoTデバイス215が設定されているというIoTデバイスベンダ225からの確認を含むことができる。
この方法は、IoTデバイスベンダ225がユーザ100のIoTポータビリティ登録を承認したか否かをポータビリティプロバイダ160が判定すること(1230)に続く。IoTデバイスベンダ225がIoTポータビリティ登録を承認しない場合、ポータビリティプロバイダ160は、利用可能なポータビリティが存在しないことをユーザに通知する(1235)。IoTデバイスベンダ225がIoTポータビリティ登録を承認すると、ポータビリティプロバイダ160は、IoTデバイスベンダ225からIoTデバイスネットワークパラメータの第1のセットを受信する(1240)。いくつかの実施形態では、IoTデバイスネットワークパラメータの第1のセットが、IoTデバイスベンダ225にアクセス可能なネットワークへのIoTデバイス215の接続を管理することができる。ステップ1215において、IoTデバイス225がユーザ100に登録されているとポータビリティプロバイダ160が判定した場合、ポータビリティプロバイダ160は、ポータビリティプロバイダデータベース165からIoTデバイスネットワークパラメータの第1のセットを取り出すことができる。
この方法は、ポータビリティプロバイダ160がユーザ100のパーソナルネットワーク115上のIoTデバイス215ネットワークパラメータの第1のセットをアクティベートすること(1250)に続く。その後、ポータビリティプロバイダ160は、ユーザのパーソナルネットワーク115からアクセス可能な認証済みネットワーク設定サービスをアクティベートする(1255)。いくつかの設計では、認証済みのネットワーク設定サービスが、新しいネットワークパラメータを用いたIoTデバイスの設定を容易にするように適合されている。様々な実施例では、IoTデバイス215が認証済みのネットワーク設定サービスに接続するときに、セキュアトークンと、ユーザ100のパーソナルネットワーク115を管理するパーソナルネットワークパラメータ120とをIoTデバイス215に提示することができる。この方法は、IoTデバイス215がポータビリティ設定を承認したか否かをポータビリティプロバイダ160が判定すること(1260)に続く。IoTデバイス215がポータビリティ設定を受け入れる場合、IoTデバイス215は、ユーザ100のパーソナルネットワーク115上のWi-Fiポータビリティのためにアクティベートされ、ポータビリティプロバイダ160は、ユーザ100へのIoTデバイス215の登録で、IoTデバイスベンダ225のデータベースを更新する(1265)。IoTデバイスがIoTポータビリティ登録を受け入れない場合、ポータビリティプロバイダ160は、ユーザにポータビリティが利用できないことを通知する(1235)。
図13は、ユーザがIoTデバイス識別子をポータビリティプロバイダに提供することに応答して、ユーザのパーソナルネットワークを管理するパラメータで設定される例示的なインターネットオブシングス(IoT)デバイスによるプロセスフローを示している。図13に示す方法は、図1に示すIoTデバイス215の観点から与えられている。図示の方法1300は、バーコードのシリアル番号で識別可能であり、かつIoTデバイスベンダ225と通信可能に接続されるIoTデバイス215が、ネットワークパラメータの第1のセット235により管理される第1のネットワークを介して接続されること(1305)から始まる。IoTデバイス215は、ネットワークパラメータの第2のセット120により管理される第2のネットワーク上でアクティベートされる設定とともに、IoTデバイスベンダ225からセキュアトークンを受信する(1310)。IoTデバイス215は、ネットワークパラメータの第1のセット235を使用して第2のネットワークに接続する(1315)。いくつかの例では、第2のネットワークを、ユーザ100のパーソナルネットワーク115とすることができる。第2のネットワークへの接続が失敗したとIoTデバイス215が判定した場合(1320)、IoTデバイス215は、以前のネットワークパラメータを用いたIoTデバイスとしてサービスを継続する(1325)。ステップ1320において、IoTデバイス215が第2のネットワークへの接続が成功したと判定した場合、IoTデバイス215は、第2のネットワーク上でホストされる認証された設定サービスから、ユーザを識別するセキュアトークンおよび第2のネットワークパラメータセットを受信する(1330)。
この方法は、IoTデバイスベンダ225からのセキュアトークンが認証された設定サービスから受信したセキュアトークンと一致するか否かをIoTデバイス215が判定すること(1335)に続く。セキュアトークンが一致しない場合、IoTデバイス215は、以前のネットワークパラメータを用いたIoTデバイスとしてサービスを継続する(1325)。セキュアトークンが一致する場合、IoTデバイス215は第2のネットワークパラメータを記憶する(1340)。その後、IoTデバイス215は、第2のネットワークパラメータを使用して第2のネットワークに接続する(1345)。ステップ1350において、IoTデバイス215は、第2のネットワークパラメータを用いたIoTデバイスとしてサービスを継続する。
図面を参照して様々な実施形態を説明してきたが、他の実施形態も可能である。例えば、いくつかの実施形態では、ネットワークを広帯域無線またはセルラーデータネットワークとすることができる。ユーザのパーソナルネットワークは、例えば、ユーザが加入している、広帯域移動無線アクセス(BWA)またはHSPA、LTE、3G、4GまたはWiMAX無線データネットワークである。様々な実施形態において、ネットワークがBluetoothネットワークを含むことができる。いくつかの設計では、Bluetoothネットワークを、1または複数の非Bluetoothネットワークと同時に使用することができる。一実施例では、無線デバイス識別子が、(無線イーサネットインターフェースを識別する)MACアドレス、(Bluetoothインタフェースを識別する)Bluetoothデバイスアドレス、(Bluetoothインタフェースを含む任意のデバイスまたはエンティティを識別する)汎用一意識別子(UUID)または(広帯域移動無線アクセスデバイスを含む任意のデバイスを識別する)モバイル機器識別子(MEID)を含むことができる。
いくつかの実施形態では、パーソナルネットワークパラメータが、期限付きの暗号学的に安全なワンタイムパスワードに基づいて生成されるものであってもよい。例えば、ユーザは、自身のモバイルアプリケーションとポータビリティプロバイダとの間で擬似乱数生成器を同期させることができる。その同期に基づいて、ポータビリティプロバイダとモバイルアプリケーションは、同じ(SSID、パスワード)パラメータを生成することができる。その後、ポータビリティプロバイダは、ユーザのMACアドレスが現れる場所および時間に、ユーザのために生成したネットワークパラメータをアクティベートすることができる。ユーザは、彼らの判断で、対応する(SSID、パスワード)パラメータを生成して、ネットワークに参加するように、モバイルアプリケーションに指示することができる。いくつかの例では、ユーザのデバイスが、ユーザの介入なしに、各場所および時間に異なるネットワークパラメータを用いて彼らのパーソナルネットワークに自動的に接続することができる。
いくつかの例では、近距離無線通信(NFC)プロトコルを使用して通信リンクを確立することができる。例えば、ユーザとポータビリティプロバイダまたはプロダクトプロバイダとの間の通信リンクは、NFCプロトコルを使用して設定されるものであってもよい。例示的な一実施形態では、ユーザはプロダクトプロバイダのホテルに入ることができる。その後、ユーザは、プロダクトプロバイダのルータまたは他の無線デバイスに近づき、ユーザデバイスをプロダクトプロバイダのルータまたは他の無線デバイスのNFC範囲内に配置して、NFC通信リンクを形成することができる。NFC通信リンクを介して、ポータビリティプロバイダがユーザデバイスのユーザと関係があると判定すると、ユーザのデバイス識別子が検出された場所および時間にユーザにポータビリティサービスを提供するために、ネゴシエーションが行われる。ネゴシエーションが成功すると、NFC通信リンクを介して、ポータビリティプロバイダは、ユーザとポータビリティプロバイダとの関係に基づいて、ユーザのカスタムネットワークパラメータを含むセキュアトークンを受け取ることができる。その後、ユーザのカスタムネットワークパラメータによって管理されるWi-Fiネットワークは、ユーザのWi-Fiデバイス識別子が検出された場所および時間にアクティベートされる。次いで、ユーザのカスタムネットワークパラメータによって管理されるWi-Fiネットワークは、ユーザのエクスペリエンスに基づくときにディアクティベートされるようにしてもよい。
数多くの実施形態を説明してきた。しかしながら、様々な変更を加えることができることが理解されるであろう。例えば、開示された技術のステップが異なる順序で実行された場合、または開示されたシステムの構成要素が異なる方法で組み合わされた場合、あるいはそれら構成要素が他の構成要素で補足された場合には、有利な結果が達成される可能性がある。したがって、特許請求の範囲内において他の実施形態も考えられる。