特許第6054484号(P6054484)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クゥアルコム・インコーポレイテッドの特許一覧

特許6054484割り当てられたネットワークアドレスを有するデバイスにアクセスするクライアントローカルプロキシサーバを使用したシステムおよび方法
<>
  • 特許6054484-割り当てられたネットワークアドレスを有するデバイスにアクセスするクライアントローカルプロキシサーバを使用したシステムおよび方法 図000002
  • 特許6054484-割り当てられたネットワークアドレスを有するデバイスにアクセスするクライアントローカルプロキシサーバを使用したシステムおよび方法 図000003
  • 特許6054484-割り当てられたネットワークアドレスを有するデバイスにアクセスするクライアントローカルプロキシサーバを使用したシステムおよび方法 図000004
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6054484
(24)【登録日】2016年12月9日
(45)【発行日】2016年12月27日
(54)【発明の名称】割り当てられたネットワークアドレスを有するデバイスにアクセスするクライアントローカルプロキシサーバを使用したシステムおよび方法
(51)【国際特許分類】
   H04W 76/02 20090101AFI20161219BHJP
   H04L 12/70 20130101ALI20161219BHJP
【FI】
   H04W76/02
   H04L12/70 B
   H04L12/70 A
【請求項の数】18
【外国語出願】
【全頁数】26
(21)【出願番号】特願2015-147049(P2015-147049)
(22)【出願日】2015年7月24日
(62)【分割の表示】特願2013-557914(P2013-557914)の分割
【原出願日】2012年3月9日
(65)【公開番号】特開2016-6982(P2016-6982A)
(43)【公開日】2016年1月14日
【審査請求日】2015年8月24日
(31)【優先権主張番号】61/452,031
(32)【優先日】2011年3月11日
(33)【優先権主張国】US
(31)【優先権主張番号】61/588,007
(32)【優先日】2012年1月18日
(33)【優先権主張国】US
(31)【優先権主張番号】61/588,030
(32)【優先日】2012年1月18日
(33)【優先権主張国】US
(31)【優先権主張番号】13/415,604
(32)【優先日】2012年3月8日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】595020643
【氏名又は名称】クゥアルコム・インコーポレイテッド
【氏名又は名称原語表記】QUALCOMM INCORPORATED
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100109830
【弁理士】
【氏名又は名称】福原 淑弘
(74)【代理人】
【識別番号】100158805
【弁理士】
【氏名又は名称】井関 守三
(74)【代理人】
【識別番号】100194814
【弁理士】
【氏名又は名称】奥村 元宏
(72)【発明者】
【氏名】ユバル・コレイ・ヘルシコ
(72)【発明者】
【氏名】ニル・ストラウス
【審査官】 望月 章俊
(56)【参考文献】
【文献】 国際公開第2010/043440(WO,A1)
【文献】 特開2008−236073(JP,A)
【文献】 米国特許出願公開第2010/0215035(US,A1)
【文献】 国際公開第2010/050643(WO,A1)
【文献】 特表2012−505579(JP,A)
【文献】 特開2008−11073(JP,A)
【文献】 J. Rosenberg et al., ,SIP: Session Initiation Protocol,RFC 3261 SIP: Session Initiation Protocol,2002年 6月,p. 23, 56-60,URL,https://tools.ietf.org/html/rfc3261
(58)【調査した分野】(Int.Cl.,DB名)
H04W4/00−H04W99/00
H04B7/24−H04B7/26
H04L12/70
3GPP TSG RAN WG1−4
SA WG1−4
CT WG1、4
(57)【特許請求の範囲】
【請求項1】
割り当てられたアドレスを有するデバイスにアクセスする方法であって、
メモリロケーションに前記割り当てられたアドレスを格納することと、
前記デバイスにアクセスするための要求をクライアントローカルプロキシサーバにおいて受信することと、
ここで、前記要求は、前記デバイスを固有に識別するデバイス識別子を備える、
前記デバイスにアクセスするための前記要求に応じて、前記デバイス識別子に基づいて前記デバイスの格納されたアドレスを識別することと
を備え、前記プロキシサーバは、前記格納されたアドレスに基づいて、前記要求の送信者と前記デバイスとの間のデータパスを確立するために仲介者として動作し、ここにおいて、前記クライアントローカルプロキシサーバは、前記要求の送信者に対してローカルであり、前記動作は、現状のままでという要求を通過させること、特定の要求を許可するためにコンテンツに依存する要求をフィルタに掛けること、またはコンテンツに依存する要求を前記デバイスと異なるエンドウェブサーバに送ることを備える、
方法。
【請求項2】
前記割り当てられたアドレスは、動的に割り当てられたアドレスを備え、
更新された動的に割り当てられたアドレスを受信し、前記メモリロケーションに格納することをさらに備える、
請求項1に記載の方法。
【請求項3】
前記デバイス識別子は、電話番号、モバイルID番号、国際モバイル加入者アイデンティティ、または国際モバイル機器アイデンティティを備える、
請求項2に記載の方法。
【請求項4】
前記クライアントローカルプロキシサーバは、TCP/IPプロキシサーバを備える、請求項1に記載の方法。
【請求項5】
前記クライアントローカルプロキシサーバは、静的なアドレスを有するURLを備え、
前記要求は、前記URLにおいて受信される、
請求項1に記載の方法。
【請求項6】
前記デバイスは、ウェブサーバソフトウェアを有するモバイルデバイスを備え、
前記データパスは、クライアントサーバセッションを備える、
請求項1に記載の方法。
【請求項7】
ネットワーク上のデバイスの仮想ロケーションを識別する割り当てられたアドレスをデバイスにおいて受信することと、
ここで、前記デバイスは、ウェブクライアントから前記デバイスにアクセスする要求を受信するクライアントローカルプロキシサーバに前記受信した割り当てられたアドレスを送信するように構成され、
前記要求は、前記デバイスを固有に識別するデバイス識別子を備える、
前記ウェブクライアントと前記デバイスとの間の仲介者として動作する、前記割り当てられたアドレスを使用する前記クライアントローカルプロキシサーバによって確立された通信パスを通じて前記デバイスから前記ウェブクライアントへデータを配信することと
を備え、
前記クライアントローカルプロキシサーバは、前記ウェブクライアントに対してローカルであり、前記動作は、現状のままでという要求を通過させること、特定の要求を許可するためにコンテンツに依存する要求をフィルタに掛けること、またはコンテンツに依存する要求を前記デバイスと異なるエンドウェブサーバに送ることを備える、
方法。
【請求項8】
前記割り当てられたアドレスは、動的に割り当てられたアドレスを備え、
前記割り当てられたアドレスを変更することに応じて更新された割り当てられたアドレスを前記クライアントローカルプロキシサーバに送信することを備える、
請求項7に記載の方法。
【請求項9】
前記デバイス識別子は、電話番号、モバイルID番号、国際モバイル加入者アイデンティティまたは国際モバイル機器アイデンティティを備える、
請求項7に記載の方法。
【請求項10】
前記デバイスは、ウェブサーバソフトウェアを有するモバイルデバイスを備え、
前記通信パスは、クライアントサーバセッションを備える、
請求項7に記載の方法。
【請求項11】
デバイスに通信パスを開けるための装置であって、
前記デバイスに割り当てられたアドレスを受信し、メモリロケーションに前記割り当てられたアドレスを格納するクライアントローカルプロキシサーバを備え、
前記クライアントローカルプロキシサーバは、前記デバイスにアクセスするための要求を受信するURLを含み、
前記要求は、前記デバイスを固有に識別するデバイス識別子を備え、
前記デバイスにアクセスするための前記要求に応じて、前記クライアントローカルプロキシサーバは、前記デバイス識別子に基づいて前記デバイスの格納されたアドレスを識別し、前記格納された割り当てられたアドレスに基づいて、前記要求の送信者と前記デバイスとの間の通信パスを開くために仲介者として動作し、ここにおいて、前記クライアントローカルプロキシサーバは、前記要求の送信者に対してローカルであり、前記動作は、現状のままでという要求を通過させること、特定の要求を許可するためにコンテンツに依存する要求をフィルタに掛けること、またはコンテンツに依存する要求を前記デバイスと異なるエンドウェブサーバに送ることを備える、
装置。
【請求項12】
前記デバイスは、ウェブサーバソフトウェアを有するモバイルデバイスを備え、
前記通信パスは、クライアントサーバセッションを備える、
請求項11に記載の装置。
【請求項13】
前記クライアントローカルプロキシサーバは、ウェブプロキシサーバソフトウェアを備え、
前記ウェブプロキシサーバソフトウェアは、前記デバイス識別子に基づいて前記デバイスの格納された割り当てられたアドレスを識別し、前記要求の送信者と前記格納され割り当てられたアドレスとの間の前記通信パスを開くように構成される、
請求項11に記載の装置。
【請求項14】
ネットワーク上のデバイスの仮想位置を識別する割り当てられたアドレスを受信するデバイスを備え、
前記デバイスは、ウェブクライアントから前記デバイスにアクセスするための要求を受信するクライアントローカルプロキシサーバに前記割り当てられたアドレスを送信するように構成された商業的に利用可能な、実質的に非独自仕様モバイルウェブサーバソフトウェアを備え、
前記要求は、前記デバイスを固有に識別するデバイス識別子を備え、
前記モバイルウェブサーバソフトウェアは、前記割り当てられたアドレスに基づいて前記ウェブクライアントと前記デバイスとの間の仲介者として動作する前記クライアントローカルプロキシサーバによって確立された通信リンクを通じて前記デバイスから前記ウェブクライアントへのデータを配信するようにさらに構成され、ここにおいて、前記クライアントローカルプロキシサーバは、前記ウェブクライアントに対してローカルであり、前記動作は、現状のままでという要求を通過させること、特定の要求を許可するためにコンテンツに依存する要求をフィルタに掛けること、またはコンテンツに依存する要求を前記デバイスと異なるエンドウェブサーバに送ることを備える、
システム。
【請求項15】
前記モバイルウェブサーバソフトウェアは、前記割り当てられたアドレスを変更することに応じて前記割り当てられたアドレスの更新を前記クライアントローカルプロキシサーバに送信するようにさらに構成される、
請求項14に記載のシステム。
【請求項16】
前記モバイルウェブサーバソフトウェアは、
前記割り当てられたアドレスを前記デバイス識別子と結び付け、
前記クライアントローカルプロキシサーバに前記デバイス識別子および前記割り当てられたアドレスを送信する
ようにさらに構成される、請求項15に記載のシステム。
【請求項17】
前記通信リンクは、クライアントサーバセッションを備える、
請求項16に記載のシステム。
【請求項18】
前記ウェブクライアントは、前記クライアントローカルプロキシサーバからリモートに位置付けられたリモートウェブクライアントを備える、
請求項16に記載のシステム。
【発明の詳細な説明】
【関連出願】
【0001】
米国特許法の下の優先権主張
本特許協力条約による特許出願は次の優先権を主張する。
「REMOTE MOBILE ADMINISTRATION AND LOGGING USING HTTP PROTOCOL」と題され、2011年3月11日に出願され、ここでの譲受人に対して譲渡され、ここにおける参照によりここによって明示的に組み込まれた仮出願第61/452,031号、および
「REMOTE ACCESS AND ADMINISTRATION OF DEVICE CONTENT AND CONFIGURATION USING HTTP PROTOCOL」と題され、2012年1月18日に出願され、ここでの譲受人に対して譲渡され、ここにおける参照によりここによって明示的に組み込まれた仮出願第61/588,007号、および
「SYSTEM AND METHOD USING A CLIENT-LOCAL PROXY-SERVER TO ACCESS A DEVICE HAVING AN ASSIGNED ADDRESS」と題され、2012年1月18日に出願され、ここでの譲受人に対して譲渡され、ここにおける参照によりここによって明示的に組み込まれた仮出願第61/588,030号、および
「SYSTEM AND METHOD USING A WEB PROXY-SERVER TO ACCESS A DEVICE HAVING AN ASSIGNED NETWORK ADDRESS」と題され、2012年3月8日に出願され、ここでの譲受人に対して譲渡され、ここにおける参照によりここによって明示的に組み込まれた同時係属中の仮出願ではない出願第13/415,614号。
【0002】
同時係属中の特許出願への参照
本特許出願は、下記の同時係属中の米国特許出願に関する:
ここで同時に出願され、ここでの譲受人に対して譲渡され、ここにおける参照により明示的に組み込まれた、代理人整理番号103234を有する、Yuval Corey HershkoおよびNir Strauss著「REMOTE ACCESS AND ADMINISTRATION OF DEVICE CONTENT AND CONFIGURATION USING HTTP PROTOCOL」および、
ここで同時に出願され、ここでの譲受人に対して譲渡され、ここにおける参照により明示的に組み込まれた、代理人整理番号110525を有する、Yuval Corey HershkoおよびNir Strauss著「SYSTEM AND METHOD USING A WEB PROXY-SERVER TO ACCESS A DEVICE HAVING AN ASSIGNED NETWORK ADDRESS」および、
ここで同時に出願され、ここでの譲受人に対して譲渡され、ここにおける参照により明示的に組み込まれた、代理人整理番号110526を有するYuval Corey HershkoおよびNir Strauss著「SYSTEM AND METHOD USING FOR ACCESSING A DEVICE HAVING AN ASSIGNED NETWORK ADDRESS」。
【技術分野】
【0003】
開示された実施形態は、一般的に、通信ネットワークで動作しているデバイスにアクセスすることを対象としている。より具体的には、開示された実施形態は、インターネットプロトコル(IP)ネットワークにわたってデバイスを位置づけ、ルート指定し、アクセスするためのシステムおよび方法を対象としており、ここにおいて、デバイスアドレスは変更できる。
【背景技術】
【0004】
通信ネットワークにおいて、アドレスは、ネットワーク上で各デバイスに割り当てられた識別子である。インターネットに適用されるように、デバイスのアドレスは、その「インターネットプロトコルアドレス」(IPアドレス)として一般的には知られており、それは、インターネット上のデバイスの仮想ロケーションの数値表現である。デバイスがウェブサイトをホストする場合には、ホストデバイスのIPアドレスは、ホストデバイスを位置づけ、ウェブサイトからのコンテンツへのアクセスを提供するために使用される。例えば、ウェブドメインgoogle.comは、実際には数値IPアドレスを表しており、例えば73.14.213.99であることができる。ウェブクライアントがそれらのウェブブラウザにおいてドメイン名でタイプする場合、ダウンストリームDNSシステムは、IPアドレスに対し入力されたドメイン名に一致するまたはルート指定し、そのあとで、数値IPアドレスを使用して、そのアドレスと関連づけられたホストサーバを位置づけ、アクセスを提供する。
【0005】
デバイスのIPアドレスは、ネットワーク内のエンティティによってそれに一般的に割り当てられる。例えば、CDMAネットワークでは、アドレス割り当てエンティティは、パケットデータサービングノード(PDSN)である。IPアドレスは、静的にまたは動的に割り当てられうる。静的なIPアドレッシングスキームは1つの顧客/デバイスにつき1つのIPアドレスを割り当て、動的なIPアドレッシングスキームは、選択されたまたはランダムな間隔において、所与の顧客/デバイスに異なるIPアドレスを割り当てる。例えば、いくつかのインターネットサービスプロバイダ(ISP)は、顧客が自身のコンピュータにログインするたびに、所与の顧客に異なるIPアドレスを割り当てる。静的で固有IPアドレスを有するホストデバイス上のウェブサイトは、信頼してアクセスされ、安定したクライアントサーバセッションを維持する。対照的に、動的に割り当てられたIPアドレッシングスキーム下では、コンピュータは、そのネットワーク上で他のコンピュータとIPアドレスを共有する可能性があることになる。したがって、動的に割り当てられたIPアドレスでウェブサイトをホストすることは、ウェブクライアントが動的に割り当てられたアドレスにどの程度信頼してアクセスできるか、と同様に、ウェブクライアントと動的に割り当てられたアドレスとの間で確立されたクライアントサーバセッションの安定性を妥協する傾向がある。
【0006】
ウェブクライアントをより幅広いウェブ対応コンピューティングデバイスへルート指定する方法を提供することが望ましい、それによって、より多数のデバイスからのコンテンツおよび特徴への遠隔ウェブベースのアクセスを許容する。より具体的には、動的にアドレス指定された、モバイルコンピューティングデバイス(例えば、携帯電話、PDA、タブレットおよび同様なもの)を、1つが静的にアドレス指定されたウェブサーバにおいてウェブサイトコンテンツにルート指定しアクセスする可能性がある同じ簡易性、安定性および信頼性を有するIPネットワーク上でウェブクライアントに対しアクセス可能であるウェブサーバとして利用することは有利であるであろう。例えば、PDAおよびスマートフォンの技術が改良されると、ユーザは、これらのデバイス上にますます多くの情報を格納する。増加は、情報の量とそのタイプの範囲の両方に関する。例えば、タイプは、限定されていないが、過去および現在の物理的ロケーション、ビデオ、ミュージック、および他のマルチメディアファイル、ワード処理ドキュメント、および連絡先、ならびに、さまざまなインタラクティブゲームを含むことができる。
【0007】
しかしながら、モバイルデバイスアプリケーション分野の当業者およびユーザに対して既知であるように、自身のモバイルデバイス上の情報を共有したいユーザは、限定オプションセットを有する。ユーザは、例えば、意図した受信者に選択したファイルを電子メール送信できる。添付ファイル(複数含む)を伴う電子メールはモバイルデバイスのリンクのうち1つまたは複数を通じてインターネットへ、例えばセルラワイヤレスアップリンクを通じてセルラワイヤレスネットワークへ、送信されることができ、そのあとで、そのインタフェースを通じてインターネット、またはWi−Fiリンク、ローカルアクセスポイント、インターネットへ送信されることができる。しかしながら、ファイルを共有する電子メール添付手段は、実質的な制限を有することができる。1つのこのような制限は、ユーザがモバイルデバイスの物理的所有を有することを要すること、そしてさらに、一般的にユーザによる直接的なアクションを要すること、例えば、ファイルを選択し添付すること、また、電子メールメッセージのアドレスリストを記入すること、を要すること、である。
【0008】
あるいは、ユーザは、ユーザのモバイルデバイスからユーザのソーシャルネットワークページ(例えばFacebook(登録商標)またはMySpace(登録商標))に選択されたファイルを投稿することができる。しかしながら、ユーザのモバイルデバイス上でファイルを共有するための手段としてこれらのソーシャルネットワークを利用することは、電子メール共有手段と、同じ要件、および制限、の多くを有する。例えば、ユーザが彼/または彼女のモバイルデバイス上にのみあるファイルを共有すると決定するたびに、ユーザは、そのデバイスの物理的所有物を有さなくてはならない。また、ユーザがファイルのアップロードおよび投稿を手動で実行することを要する。さらに、ソーシャルネットワークは、アクセスされることができるファイルの種類に対し、ならびに、ヒューマンインタフェースメカニズムに対し、制限を課すことができる。モバイルデバイスユーザがデバイス上で格納されたファイルを共有するための1つの従来の方法は、例えばソーシャルネットワーク投稿について説明された同じリンクを使用して、Apple(登録商標)社のMobile MeまたはApple社のiCloud(登録商標)のような「クラウド」ディスクに選択されたファイルをアップロードすることである。しかしながら、この方法もまた、彼または彼女がファイルを共有したいと思うたびに、ユーザがモバイルデバイスの物理的所有物を有することを要する。
【0009】
動的アドレッシングスキームの存在は、モバイル電話およびワイヤレスPDAのようなモバイルコンピューティングデバイスからIPネットワーク上でアクセスすることに対する著しい障害である。前述されるように、CDMA、UMTS、GPRS、Wi−Fiおよび同様なもののようなネットワークでは、モバイル電話およびワイヤレスPDAは静的でルート指定可能なIPアドレスを割り当てられない。代わりに、それらのアドレスは動的に割り当てられ、ネットワークの要件およびデバイスのモビリティおよびワイヤレス接続に主に関連するいくつもの理由について通常またはランダムの時間で変更しうる。IPおよびプライベートネットワークにおける多くの複雑かつ独自仕様システムのため、動的にアドレス指定されたデバイスにおいて位置づけられたコンテンツにアクセスし検索するためのこのようなネットワーク上でのまたはその内の試みは、かなりの費用、エンジニアリングマンアワー(engineering man-hours)および設計の複雑さ、ならびに、DNSサーバ、従来のゲートウェイおよび複雑なトンネリング構成のような独自仕様システムへのアクセスおよび変更を必要とすることが予期される。
【0010】
本開示は、他の特徴および利点のうち、変更できる割り当てられたアドレスを有するデバイスにスタンダードな既製のウェブクライアントを信頼してルート指定するためのシステムおよび方法を提供するさまざまな例示的な実施形態を説明する。開示された実施形態はまた、他のさらなる特徴および利点のうち、商業的に利用可能な既製のシステムを使用し、そしてこれらの商業的に利用可能な既製のシステム内でターゲット化され相対的に簡易に実装された構成を行うことによって、費用、エンジニアリングマンアワー、設計の複雑さ、独自仕様システムへのアクセスの必要性を最小化することを支援できる。
【発明の概要】
【0011】
本発明の例示的な実施形態は、割り当てられたアドレスを有するデバイスにアクセスするためのシステムおよび方法を対象とし、それらは、メモリロケーションに割り当てられたアドレスを格納することと、デバイスにアクセスするための要求をクライアントローカルプロキシサーバにおいて受信することとを備える。要求は、デバイスを固有に識別するデバイス識別子を備える。デバイスにアクセスするための要求に応じて、デバイスの格納されたアドレスがデバイス識別子に基づいて識別され、クライアントローカルプロキシサーバは、要求の送信者と格納されたアドレスとの間のデータパスを確立するために仲介者として動作する。
【0012】
開示されたシステムは、モバイルコンピューティングデバイスにおいてモバイルウェブサーバソフトウェアの使用を容易にするので、モバイルコンピューティングデバイスアドレスが動的で変更することができたとしても、送信者は、モバイルウェブサーバソフトウェアに信頼してアクセスすることができる。開示された実施形態は、商業的に利用可能なコンポーネント(例えば、モバイルウェブサーバソフトウェアおよびウェブクライアント)を使用することと、あるコンポーネントに対しターゲットにする構成タイプ変更を行うことと(例えば、スクリプト、拡張子および同様なものを追加すること)を開示したシステムを実装する。
【図面の簡単な説明】
【0013】
図面は、開示された実施形態の説明を支援するために提示されており、実施形態の制限ではなく、実施形態の単なる説明のために提供されている。
図1図1は、開示された実施形態の図である。
図2図2は、図1に示されるモバイルコンピューティングデバイス28、30、およびクライアントローカルプロキシサーバ32、34に提供される方法を例証するフローチャートである。
図3図3は、図1に示される実施形態によって実行される動作ステップの具体的な例である。
【発明を実施するための形態】
【0014】
本発明の態様は、本発明の具体的な実施形態を対象とする下記の説明および関連図面において開示されている。代替的な実施形態は、本発明の範囲を逸脱することなく、考案される。さらに、本発明の周知エレメントは、本発明の関連詳細を不明瞭にしないように、詳述されない、または、省略されるであろう。
【0015】
用語「例示的な(exemplary)」は、「例(example)、インスタンス(instance)、または例証(illustration)として機能している」を意味するように、ここでは使用されている。「例示的(exemplary)」としてここに記載されるいずれの実施形態も、他の実施形態よりも好まれるまたは有利であると必ずしも解釈されない。同様に、「本発明の実施形態」という用語は、本発明のすべての実施形態が記載される特徴、利益、または動作モードを含むということを必要としない。
【0016】
ここで使用される用語は、特定の実施形態を説明する目的だけのためであり、本発明の実施形態を制限することを意図していない。ここにおいて使用されているように、単数形「a」、「an」、および「the」は、明示的に文脈が他のものを示していないかぎり、複数形も含むように意図されている。用語「備える(comprises)」、「備えている(comprising)」「含む(includes)」および/または「含んでいる(including)」は、ここにおいて使用されるとき、述べられた特徴、整数、ステップ、動作、エレメントおよび/またはコンポーネントの存在を特定しているが、1つまたは複数の他の特徴、整数、ステップ、動作、エレメント、コンポーネント、および/または、そのグループの存在または追加を除外しない。
【0017】
さらに、多くの実施形態は、例えばコンピューティングデバイスのエレメントによって実行されるべきアクションのシーケンスの観点から説明されている。ここにおいて説明される様々なアクションは、特定の回路(例えば、特定用途集積回路(ASICS))によって、1つまたは複数のプロセッサによって実行されるプログラム命令によって、または、それらの組み合わせによって、実行されることができるということが認識されるであろう。さらに、これらのここにおいて記載されているアクションのシーケンスは、実行時に、関連プロセッサにここにおいて記載されている機能を実行させる対応するセットのコンピュータ命令を格納したいずれの形態のコンピュータ可読媒体内で全体的に具現化されるとみなされることができる。したがって、本発明の様々な態様は、多数の異なる形式で具現化され、それらのすべては、特許請求された主題の事柄の範囲内にあるように予期される。さらに、ここにおいて記載された実施形態のそれぞれについて、いずれのそのような実施形態の対応する形態は、例えば記載されたアクションを実行するように「構成された論理」としてここに記載されうる。
【0018】
関連の動作環境の概要に戻ると、開示された実施形態は、パブリックインターネットおよびプライベートネットワークの両方にわたるまたはその内のメッセージ/情報転送を含む従来の通信システムにおいて機能する。TCP(送信制御プロトコル)およびIP(インターネットプロトコル)は、総称的にTCP/IPとして知られており、インターネットの基本通信プロトコルである。TCP/IPはしばしば「下位レイヤ」プロトコルと呼ばれる、なぜならば、他のいわゆる「高位レイヤ」アプリケーションプロトコルは、インターネットをできるようにするために、TCP/IPを一般的に使用するからである。このような高位レイヤアプリケーションプロトコルはワールドワイドウェブのハイパーテキスト転送プロトコル(HTTP)http://whatis.techtarget.com/definition/0,289893,sid9_gci214004,00.html、ファイル転送プロトコル(FTP)、テルネット(Telnet)、そしてそれはユーザに遠隔コンピュータにログオンさせる、および簡易メール転送プロトコル(SMTP)を含む。これらおよび他のプロトコルはしばしば、「スイート」としてTCP/IPと一緒にパッケージされる。TCP/IPはパブリックインターネットおよびプライベートネットワークの両方において通信プロトコルとして使用されることができるので、仮想的にパブリックインターネットへのダイレクトアクセスを有するすべてのコンピュータおよび他の同様なデバイスはTCP/IPプログラムを使用してメッセージ/情報を通信し交換する。
【0019】
TCP/IPは二次レイヤプロトコルとして動作する。最上位レイヤである、TCPは、インターネット上で送信され、オリジナルメッセージにパケットをリアセンブルするTCPレイヤによって受信された小さいパケットにメッセージまたはファイルをアセンブルすることを扱う(manages)。下位レイヤである、IPは、それが正しい仮想目的地に着くように、各パケットのアドレス部分を扱う(handles)。ネットワーク上の各ゲートウェイコンピュータはこのアドレスをチェックして、メッセージをどこに転送するかを決定する。同じメッセージからのいくつかのパケットが他とは異なってルート指定されたとしても、パケットのすべては仮想目的地でリアセンブルされる。
【0020】
高位レイヤアプリケーション(例えば、HTTP、FTP等)は、コンピュータユーザ(すなわち、クライアント)が要求し、ネットワーク内の別のコンピュータ(例えば、サーバ)によってサービスを提供する(例えば、ウェブページを送信すること)通信のクライアント/サーバモデルにおいてTCP/IPを利用する。TCP/IP通信は主にポイントツーポイントである、そしてそれは、各通信がネットワーク内の1つのポイント(またはホストコンピュータ)からネットワーク内の別のポイント(またはホストコンピュータ)までであることを意味する。TCP/IPおよびそれを使用する高位レイヤアプリケーション(例えば、HTTP、FTP等)は、総称的に「ステートレス」と呼ばれる、なぜならば、各クライアント要求は、(呼び出し持続時間の間専用接続を要する通常の電話の会話とは異なり)前のものと関連のない新規要求とみなされるためである。ステートレスであることは、クライアントおよびサーバがそれらを継続して使用することができるように、ネットワークパスを解放する。TCPレイヤ自体は、個々のメッセージについてステートレスではない、なぜならば、接続は、少なくともメッセージ内のすべてのパケットが受信されるのに必要な間、依然として有効でなくてはならないためである(must remain in place)。
【0021】
上述の動作環境において、PDAおよびモバイルスマートフォンのようなモバイルコンピューティングデバイスは一般的に、ウェブサーバからのコンテンツにアクセスし要求し受信するウェブクライアントとしてパブリックインターネットとインタフェース接続する。しかしながら、モバイルコンピューティングデバイスの技術が向上すると、ユーザはこのようなデバイス上により多くの情報を格納し、IPネットワーク上でモバイルコンピューティングデバイスにウェブクライアントをルート指定する方法を提供することがより望ましくなっている。モバイルスマートフォン、PDA、ラップトップおよびタブレットに加え、一般的に人間ユーザによって物理的にアクセスされない他のモバイルコンピューティングデバイスがある。このようなモバイルコンピューティングデバイスの例は、家庭でヒータおよび同様なものを自動的にオンまたはオフにするトラッキングデバイス、自動メータリーダ、および制御装置を含む。これらのモバイル/遠隔コンピューティングデバイスとの通信は一般的には、マシンツーマシン(M2M)と呼ばれる、なぜならば、データを検索するためのインタフェースは一般的に別の遠隔マシンであるためである。IPネットワークで動作しているモバイル/遠隔コンピューティングデバイスはいくつもの理由について通常またはランダムな時間で変更する動的に割り当てられたアドレスを一般的に有するので、パブリックインターネット上でこのようなコンピューティングデバイスからのコンテンツにルート指定しアクセスするいずれの試みも、動的に割り当てられたアドレスへのクライアントサーバインターネット接続は不安定で信頼性がない可能性があるという制約を克服しなくてはならない。
【0022】
開示された実施形態は、変更できる動的に割り当てられたアドレスを有するモバイルコンピューティングデバイス(例えば、モバイルスマートフォン、PDA、ラップトップ、タブレット、トラッキングデバイス等)へウェブクライアントを信頼してルート指定する仲介ルーティングシステムおよび方法を提供することにより、簡潔でコストパフォーマンスのよい方法で上述された限定に取り組む。開示された実施形態は、商業的に利用可能なシステムを使用し、そして既存のソフトウェアプロセッサにターゲット化され相対的に簡易に実装された構成タイプ変更を行うことによって、費用、エンジニアリングマンアワー、設計の複雑さを最小化することを支援できる。したがって、開示された仲介ルーティングシステムおよび方法は、動的にアドレス指定されたデバイスの機能およびコンテンツの両方の使用およびアクセスを許容するさまざまな有用なシステムの実装を容易にする。例えば、開示された仲介ルーティングシステムの実装は、ユーザが、ユーザの動的にアドレス指定されたデバイスに対して、ユーザ構成可能な制約にしたがって、信頼性のある遠隔アクセスをユーザに提供する。このような遠隔アクセスは、他に特別なハードウェアまたはソフトウェアを有することを要求せずに、代わりにInternet Explorer(登録商標)、Safari(登録商標)、Firefox(登録商標)またはChrome(登録商標)のような従来のウェブブラウザ程度のものを要求して、達成されうる。
【0023】
1つの例示的な実施形態によれば、開示された仲介ルーティングシステムおよび方法は、プライベートIPネットワーク内のモバイルコンピューティングデバイスがファイアウォールを通じてパブリックインターネットにワイヤレスに接続される通信システムにおいて実装される。ファイアウォールネットワークサーバは、プライベートIPネットワークのための従来のセキュリティ機能を実行する。開示された実施形態に関して、ファイアウォールネットワークサーバは、ここに記述される通信がパブリックインターネットにおけるコンポーネントとプライベートIPネットワークにおけるコンポーネントとの間に生じることを許容する従来の方法で構成される。望ましくは、ファイアウォールネットワークサーバは、モバイルコンピューティングデバイスにアクセスすることを希望するウェブクライアントによってアクセス可能な安定し信頼できる静的にアドレスされたURLを含む。一般的には従来のコンピュータ(例えば、PC、Macまたは別のプラットフォーム)であるウェブクライアントは、パブリックインターネットに接続され、クライアントサーバセッションにおけるクライアントとしてHTTPプロトコルを介して参加するためのウェブブラウザを有する。ウェブクライアントは、ウェブクライアントに組み込まれる、またはウェブクライアントから離れたクライアントプロキシサーバを含む。クライアントローカルプロキシサーバがウェブクライアントに組み込まれる場合、単一のデバイス(例えばPC、Mac、または別のプラットフォーム)は、上述したウェブクライアント機能性および上述したクライアントローカルプロキシサーバ機能性の両方を格納する。いずれか一方のシナリオの下で、クライアントローカルプロキシサーバは、プロキシサーバソフトウェアを含み、パブリックインターネットに接続される。クライアントローカルプロキシサーバソフトウェアは、好ましくは、インターネットの基本通信プロトコルを利用する、TCP/IP プロキシサーバソフトウェアである。好ましくは、プロキシサーバソフトウェアの機能性は、プロキシサーバソフトウェアに拡張子、スクリプト等を加えることによって容易にそして比較的安価に構成されることができる。モバイルコンピューティングデバイスは、例えば、プロセッサ、汎用動作ソフトウェア、命令メモリおよびデータメモリを有するiPhone(登録商標)またはBlackberry(登録商標)でありうる。モバイルコンピューティングデバイス、変更することができる動的に割り当てられたアドレスを有する。前に記述した汎用動作ソフトウェアに加えて、モバイルコンピューティングデバイスはさらに、モバイルコンピューティングデバイスがHTMLウェブサイトをホストし、いったん確立されるとクライアントローカルプロキシサーバを介するクライアントウェブブラウザとのクライアントサーバセッションにおいてサーバとして参加することを許容する従来のハードウェアおよびモバイルウェブサーバソフトウェア(例えば、Apache(登録商標))を含む。好ましくは、モバイルサーバソフトウェアは、実質的に非独自仕様である。実質的に非独自仕様という用語は、モバイルウェブサーバソフトウェアの機能がモバイルウェブサーバのソフトウェアに拡張子、スクリプトおよび同様なものを付加することによって容易にかつ相対的に安価で構成されうるということを説明するためにここでは使用される。好ましくは、モバイルウェブサーバソフトウェアはさらに、ウェブクライアントがモバイルコンピューティングデバイスコンテンツにアクセスすることを許容する十分な機能を含む。モバイルコンピューティングデバイスのモバイルウェブサーバソフトウェアとモバイルコンピューティングデバイスの汎用動作ソフトウェアとの間のインタフェースのさらなる詳細は、上記で参照されている「REMOTE MOBILE ADMINISTRATION AND LOGGING USING HTTP PROTOCOL」と題され、2011年3月11日に出願され、ここでの譲受人に対して譲渡され、ここにおける参照によりここによって明示的に組み込まれた仮出願第61/452,031号、および「REMOTE ACCESS AND ADMINISTRATION OF DEVICE CONTENT AND CONFIGURATION USING HTTP PROTOCOL」と題され、2012年1月18日に出願され、ここでの譲受人に対して譲渡され、ここにおける参照によりここによって明示的に組み込まれた仮出願第61/588,007号、およびここで同時に出願され、ここでの譲受人に対して譲渡され、ここにおける参照により明示的に組み込まれた、Attorney Docket No.103234を有する、「REMOTE ACCESS AND ADMINISTRATION OF DEVICE CONTENT AND CONFIGURATION USING HTTP PROTOCOL」と題された同時係属中の米国特許出願において開示されている。
【0024】
開示された仲介ルーティングシステムおよび方法によれば、次の構成は、上述された通信システムのウェブサーバソフトウェアおよびクライアントローカルプロキシサーバで実装される。開示された実施形態の特徴は、ここにおいて説明された構成が新規モバイルウェブサーバソフトウェアまたは新規プロキシサーバソフトウェアの生成を要求しない、ということである。代わりに、構成は、既存のモバイルウェブサーバソフトウェアおよび既存のプロキシサーバソフトウェアに適用される従来の拡張子、スクリプトおよび同様なものによって実装される。モバイルウェブサーバソフトウェアは、クライアントローカルプロキシサーバに対するパブリックインターネット上にモバイルコンピューティングデバイスの仮想ロケーションを固有に識別することになるデバイス識別データ(DID)を生成し格納し送信するように構成される。動作において、DIDは、一方(「サーチキー」)が他方(「サーチ結果」)を見つけるために使用される識別子のペアである。したがって、最低でも、DIDは、スマートフォンであるモバイルコンピューティングデバイスの場合、10桁電話番号でありうる、デバイス識別子(すなわち、サーチキー)とともに、デバイスのIPアドレスのようなアドレスデータ(すなわち、サーチ結果)を含む。したがって、モバイルコンピューティングデバイスがモバイルスマートフォンである場合、モバイルデバイスDIDは、モバイルデバイスの動的アドレスの現行バージョンと一緒にスマートフォンの10桁の電話番号であることができる。デバイス識別子の他の例は、「モバイルID番号」(MIN)、「国際モバイル加入者アイデンティティ」(MDN)、「国際モバイル機器アイデンティティ」(IMEI)、またはモバイルネットワークを共有する各モバイルコンピューティングデバイスに固有であるいずれの他のIDを含む。開示された仲介ルーティングシステムおよび方法の下で、モバイルコンピューティングデバイスは、クライアントローカルプロキシサーバにそのDIDを登録し、所定の間隔で、または、そのDIDの動的アドレスコンポーネントが変更するとき、クライアントローカルプロキシサーバにそのDIDの更新を送信するように構成される。
【0025】
さらに開示された仲介ルーティングシステムおよび方法によれば、クライアントローカルプロキシサーバは、とくにモバイルコンピューティングデバイスDIDのアドレスコンポーネントへのいずれの更新も含む、モバイルコンピューティングデバイスから受信されたDIDを受信および格納するように構成される。クライアントローカルプロキシサーバは、仲介機能を実行するようにさらに構成され、それによって、モバイルコンピューティングデバイスにアクセスするためのクライアントローカルプロキシサーバにおいて受信された要求は、クライアントローカルプロキシサーバにおいて格納されたDIDを使用して現在のモバイルコンピューティングデバイスアドレスへクライアントローカルプロキシサーバを通じてルート指定される。クライアントローカルプロキシサーバは、ウェブクライアントから上述された要求を一般的に受信し、そしてそれは好ましくは、通信システム上でクライアントサーバセッションのクライアント側としてサービス提供することができるいずれのハードウェア/ソフトウェアコンポーネントまたは従来のウェブブラウザ(図示されず)である。ウェブクライアントは、好ましくは、ウェブクライアントからの要求を送信するためにプロキシサーバを使用するようにそのウェブブラウザを構成することによって、クライアントローカルプロキシサーバに達する。あるいは、プロキシサーバは、モバイルコンピューティングデバイスにアクセスすることを望むウェブクライアントによってアクセス可能な静的にアドレス指定されたURLを含むように構成されることができる。プロキシサーバは、いずれの要求も取り、それをクライアントローカルプロキシサーバへ自動的に転送し(好ましくはユーザ認証後等)、そして、クライアントローカルプロキシサーバは、開示された実施形態のメカニズムを利用して、さらにモバイルコンピューティングデバイスへ要求を転送する。クライアントローカルプロキシサーバは、ウェブクライアントがHTML通信に使用する、並列または直接バス接続を介してそのURL上でリッスンするようにさらに構成される。
【0026】
一般に、通信ネットワークは、ウェブクライアントが他のネットワークサービスへの間接ネットワーク接続を行うことを許容することを望むとき、プロキシサーバを利用する。ウェブクライアントは、プロキシサーバへ接続し、そのあとで接続、ファイル、または異なるサーバ上で利用可能な他のリソースを要求する。そしてそれは、開示された実施形態では、モバイルコンピューティングデバイスである。ここにおいて開示されたクライアントローカルプロキシサーバは、好ましくは、拡張エンジニアリングマンアワーを必要とすることなく、(例えば、既存のプロキシサーバソフトウェアにスクリプト、拡張子等を付加することを通じて)構成されることができる。開示されたクライアントローカルプロキシサーバは、格納されたDIDを使用することによってその仲介接続機能を実行するように構成され、それによって、モバイルコンピューティングデバイスにアクセスするためのクライアントローカルプロキシサーバにおいて受信された要求は、クライアントローカルプロキシサーバにおいて格納された現在のDIDを使用して現在のモバイルコンピューティングデバイスアドレスへ中継される。クライアントローカルプロキシサーバは、モバイルコンピューティングデバイスウェブサーバに接続すること、または、キャッシュから要求されたリソースにサービス提供することのいずれかによって要求されたリソースを提供する。いくつかの場合では、クライアントローカルロキシサーバは、ウェブクライアントの要求またはサーバの応答をさまざまな目的のために変更しうる。
【0027】
したがって、開示された実施形態のクライアントローカルプロキシサーバは、ウェブクライアントからモバイルコンピューティングデバイスへの要求の仲介者として動作する。クライアントローカルプロキシサーバは、通常変更しない少なくとも1つの静的なアドレスを含む。したがって、クライアントローカルプロキシサーバハードウェアは、さらにパブリックインターネットに接続された別のデバイス(例えば、ウェブクライアント)によって信頼してアクセスすることができる従来のウェブサーバホストデバイスの機能性を含む。上述されるように、クライアントローカルプロキシサーバは、プロキシサーバハードウェアに組み込まれたまたは別個のデバイスでありうるデータベースに沿った、プロキシサーバソフトウェアを含む。上述されるように、ウェブクライアントは、好ましくは、通信システム上のクライアントサーバセッションのクライアント側としてサービス提供することができるいずれのハードウェア/ソフトウェアコンポーネントまたは従来のウェブブラウザ(図示されず)である。ウェブクライアントは、ユーザによって動作されうる、または、それは、HTTP(または他の)サーバに自動的にアクセスするためにHTTPプロトコル(または他)を使用する自動化ツール/スクリプト/マシンによって動作されうる。このような自動化ツールは、「HTTPエージェント」と通常呼ばれる。さまざまなデータフローパスは、矢印44および46によって図1で図示される。それらは、モバイルコンピューティングデバイス、ネットワークファイアウォールサーバ、クライアントローカルプロキシサーバ、データベースおよびウェブクライアントの間での通信を表す。
【0028】
開示された実施形態による仲介ルーティングシステムおよび方法の全体の動作がこれから説明されることになる。仲介ルーティングシステムおよび方法の動作をより良く理解するために、3つのIPアドレスの跡を追うことは有用である。1つ目は、IPアドレスが動的に割り当てられ変更することができる、モバイルコンピューティングデバイスのIPアドレスである。2つ目は、プライベートIPネットワークおよびモバイルコンピューティングデバイスにアクセスを提供するファイアウォールサーバのIPアドレスである。好ましくは、プライベートネットワークのファイアウォールサーバのIPアドレスは、モバイルデバイスにアクセスすることを望むウェブクライアントによって信頼してアクセスすることができる静的に割り当てられたIPアドレスである。3つ目は、ウェブクライアントにおけるクライアントローカルプロキシサーバ機能性のIPアドレスである。クライアントローカルプロキシサーバIPアドレスは、好ましくは、モバイルコンピューティングデバイスにアクセスすることを望むウェブクライアントによって信頼してアクセスすることができる静的に割り当てられたIPアドレスである。
【0029】
開示される仲介ルーティングシステムおよび方法の全体の動作を続けて、モバイルコンピューティングデバイスにアクセスすることを望むウェブクライアントは、クライアントローカルプロキシサーバを通じて、モバイルコンピューティングデバイスを有するクライアントサーバセッションにクライアントとして参加する(好ましくは、HTTPプロトコルを介して)要求を通信する。クライアントローカルプロキシサーバ機能性は、好ましくは、ウェブクライアントに対してローカルである。さらに、リモートウェブクライアントは、リモートウェブクライアントのウェブブラウザおよびローカルクライアントローカルプロキシサーバIPアドレスをリモートに使用して、クライアントローカルプロキシサーバ機能性にアクセスすることができる。ウェブクライアントの要求は、上述された「デバイス識別子」を含む。それは、クライアントローカルプロキシサーバが特定のモバイルコンピューティングデバイスを固有に識別することを許容する。例えば、モバイルコンピューティングデバイスがモバイル電話である場合、デバイス識別子は、モバイル電話の固有の10桁の電話番号を含むことができる。要求を満たすために、クライアントローカルプロキシサーバは、モバイルコンピューティングデバイスの仮想ロケーションをただちに識別しなくてはならない。モバイルコンピューティングデバイスの仮想ロケーションを識別することは、モバイルコンピューティングデバイスのIPアドレスが動的であるという事実によってより複雑になるので、主に、デバイスのモビリティ、ワイヤレス接続およびその通信ネットワークの要件に関連したさまざまな理由のために任意の時間で変更することに従う。したがって、開示された仲介ルーティングシステムおよび方法によれば、モバイルコンピューティングデバイスは、モバイルコンピューティングデバイスIPアドレスが変更するとき、それがプライベートファイアウォールサーバを介して、またはいくつかの他の通信パスを介してクライアントローカルプロキシサーバに、そのサーチキー(すなわち、上述されたデバイス識別子)に沿って、その現在のIPアドレス(すなわち上述されたデバイスアドレス)の更新を送るように構成される。あるいは、モバイルコンピューティングデバイスは、DIDのIPアドレスコンポーネントが実際に変更したかどうかに関わらず、選択間隔でその現在のDIDを送ることができる。いずれの手法の下でも、クライアントローカルプロキシサーバは、モバイルコンピューティングデバイスの現在のIPアドレスをDIDとして受信し、格納し、そして維持する。
【0030】
クライアントローカルプロキシサーバに参加するための要求を受信すると、クライアントローカルプロキシサーバは、クライアントローカルプロキシサーバに格納されたDIDを要求と従来の方法で比較する。要求と格納されたDIDとの間で一致がある(すなわち、要求の「サーチキー」が格納されたDIDの「キー」部分に一致する)場合、クライアントローカルプロキシサーバは、格納されたDIDから現在のモバイルコンピューティングデバイスアドレスを抽出し、クライアントサーバセッションの要求およびプライベートネットワークファイアウォールサーバIPアドレスに現在のモバイルコンピューティングデバイスIPアドレスを転送する。プライベートネットワークファイアウォールサーバは、モバイルコンピューティングデバイスを見つけ、モバイルコンピューティングデバイスアドレスにクライアントローカルプロキシサーバおよびウェブクライアント(それはローカルであるかリモートであるかのいずれかである)を接続するために現在のモバイルコンピューティングデバイスIPアドレスを使用することによって、クライアントサーバセッションを開始する。一旦クライアントサーバセッションが確立されれば、クライアントローカルプロキシサーバは、クライアントローカルプロキシサーバおよびプライベートネットワークファイアウォールサーバ通じてウェブクライアントとモバイルコンピューティングデバイスとの間の間接的なクライアントサーバセッションを行なうために従来のプロキシの仲介ルーティング技術を使用する。
【0031】
従来のネットワーク動作の下で、ネットワークは、上記したようにクライアントサーバセッションがアクティブである限り、モバイルコンピューティングデバイスの動的アドレスを普通に変更するべきでない。何らかの理由で、ネットワークがクライアントサーバセッションの間にモバイルコンピューティングデバイスの動的アドレスを変更する場合、クライアントサーバセッションの再接続は、新規要求を送信するウェブクライアントを通じて開始されなくてはならない。しかしながら、このような再接続を容易にするために、現在のモバイルコンピューティングデバイスDIDは、クライアントローカルプロキシサーバにおいて利用可能であるので、クライアントローカルプロキシサーバは、次の再接続要求に迅速に反応する。
【0032】
したがって、開示された実施形態の仲介ルーティングシステムおよび方法は、動的にアドレス指定されたデバイスのコンテンツおよび機能の両方の使用およびアクセスを提供するためのさまざまな有用なシステムの実装を容易にする。例えば、開示された仲介ルーティングシステムの実装時に、ユーザの動的にアドレス指定されたモバイルコンピューティングデバイス(例えば、モバイルスマートフォン、PDA、ラップトップ、タブレット等)への信頼性のある遠隔アクセスを、ユーザ構成可能な制約にしたがって、潜在的に無制限数の他のものにユーザが提供することができる幅広いシステムが実装されうる。このような遠隔アクセスは、他に特別なハードウェアまたはソフトウェアを有することを要求しないが、代わりにInternet Explorer(登録商標)、Safari(登録商標)、Firefox(登録商標)またはChrome(登録商標)のような従来のウェブブラウザ程度のものを要求して、達成されうる。例示的な実施形態によるプロセスの一例では、モバイルコンピューティングデバイス上でホストされたモバイルウェブページは、例えば休暇に撮った写真のセットのような特定のコンテンツをモバイルウェブページで閲覧するブラウザにアクセス可能にする従来の方法で構成されることができる。例えば、モバイルウェブページは、「Rob’s Beach Vacation, 2010」とあらわされる従来のHTMLコーディングにしたがったテキストまたはグラフィクスを有するクリックフィールドを含むことができるであろう。モバイルコンピューティングデバイスの、この「Rob’s Beach Vacation, 2010」コンテンツにアクセスすることを願うパブリックインターネットに接続されたPCまたはモバイルコンピューティングデバイスにおけるユーザまたはウェブクライアントは、クライアントローカルプロキシサーバURLを、彼/彼女のウェブブラウザフィールドにタイプし、「入力」または「送信」をヒットする。クライアントローカルプロキシサーバは、ユーザによって要求された任意の認証データをウェブクライアントが入力する特定のウェブページにウェブクライアントを連れて行き、認証時に例えばモバイルコンピューティングデバイスと関連づけられた10桁の電話番号を提供することによってモバイルコンピューティングデバイスのアクセスを要求する。クライアントローカルプロキシサーバは、上述された仲介ルーティングシステムおよび方法にしたがい、10桁の電話番号を使用して、クライアントローカルウェブプロキシサーバで現在格納されたモバイルコンピューティングデバイスIPアドレスをサーチしフェッチする、そのあとで、モバイルコンピューティングデバイスと間接的なまたはバーチャルな通信にウェブクライアントURLをルート指定する。ウェブクライアントは、モバイルウェブページ「Rob’s Beach Vacation, 2010」を通じてモバイルコンピューティングデバイス上に格納された写真にすぐにアクセスしうる。
【0033】
前述の概要および例から、仲介ルーティングシステムおよび方法の開示された実施形態は、他の特徴および利点のうち、仲介ルーティングシステムおよび方法を商業的に利用可能な、実質的に非独自仕様コンポーネント(例えば、モバイルコンピューティングデバイス、ウェブクライアント、ウェブブラウザなど)で実装し、これらのコンポーネントに対してターゲット化され、相対的に簡易に実装された構成を行うこと(例えば、上述されるように構成されたモバイルコンピューティングデバイスおよびプロキシサーバ機能)によって、費用、エンジニアリングマンアワー、設計の複雑さおよび独自仕様システムへのアクセスの必要を最小化することを支援することができる。
【0034】
次に開示された実施形態の仲介ルーティングシステムおよび方法のより詳細な説明に戻ると、図1は、ファイアウォールサーバ31を通じてパブリックインターネット24と通信するプライベートIPネットワーク22を含む通信システム20を図示する。ファイアウォールサーバ31は、プライベートIPネットワーク22のための従来のセキュリティ機能をサービス提供する。開示された実施形態に関して、ファイアウォールサーバ31は、ここに記述された通信がパブリックインターネット24におけるコンポーネントとプライベートIPネットワーク22におけるコンポーネントとの間に生じることを許容する従来の方法で構成される。ファイアウォールサーバ31、好ましくは、変更しない静的なIPアドレスを有する。モバイルコンピューティングデバイス28は、システム20に接続し、通信する。モバイルコンピューティングデバイス28は、セルラ電話、ハンドヘルドPDA、タブレット、ラップトップコンピュータ、トラッキングデバイスまたは同様なものでありうる、また、ワイヤレスおよび/またはハードワイヤまたはケーブルを通じて、システム20と通信しうる。モバイルコンピューティングデバイス28は、いったんウェブクライアント40とモバイルコンピューティングデバイス28との間でクライアントサーバセッションが確立されると、ウェブクライアント40がモバイルコンピューティングデバイスのコンテンツおよび特徴に遠隔でアクセスすること(例えば、イメージ、グラフィクスおよび他の情報をモバイルコンピューティングデバイス28から検索すること)を許容する十分な機能を有する。このようなデバイス機能の一例は、インターネットウェブサイトおよび従来のホストデバイスの機能をモバイルコンピューティングデバイス28に提供するモバイルコンピューティングデバイスウェブサーバソフトウェア30を含む。一般に、ウェブサイトは、ウェブサーバハードウェア上でホストされ、ウェブサーバソフトウェアはウェブサーバハードウェア上に存在する。ウェブサーバソフトウェアは、外部クライアントウェブブラウザがウェブサーバハードウェアからイメージ、グラフィクスおよび他の情報を検索するためのメカニズムを提供する。モバイルコンピューティングデバイス28のアドレスは、動的に割り当てられうる。
【0035】
図1は、単一のプライベートIPネットワーク22を示すが、開示される実施形態は、パブリックインターネット24とのインターフェースがあるいくつかのプライベートIPネットワーク(例えばベライゾン(踏力商標)、AT&T(登録商標)など)を有する通信システムで実施されることができる。さらに、単一のモバイルコンピューティングデバイス28hが示されるが、各プライベートIPネットワーク22が多数のモバイルコンピューティングデバイスを含むことが理解される。モバイルコンピューティングデバイス28のデバイス識別子(つまりDIDの「サーチキー」コンポーネント)は、グローバルにユニークであり、モバイルコンピューティングデバイス28のIPアドレス(つまり、DIDの「サーチ結果」コンポーネント)は、プライベートIPネットワーク22内の全体で固有である。開示された実施形態は、通信システムで実施される。ここで、コンポーネント(モバイルコンピューティングデバイス、クライアントローカルプロキシサーバ、ウェブクライアントなど)の全ては、パブリックインターネット24内にある。
【0036】
通信システム20は、ウェブクライアントサーバ40でローカルに実装される、クライアントローカルプロキシサーバ機能性32をさらに含む。クライアントローカルプロキシサーバ32は、プロキシサーバソフトウェア34およびデータベース36を含む。クライアントローカルプロキシサーバ32およびクライアントローカルプロキシサーバソフトウェア34は、ウェブクライアント40に組み込まれる、またはウェブクライアント40とクライアントローカルプロキシサーバ32、34との間のローカル通信パス42を有するスタンドアロンとして実装されることができる。データベース36は、クライアントローカルプロキシサーバ32に組み込まれる、またはクライアントローカルプロキシサーバ32と分離されることができる。好ましくは、クライアントローカルプロキシサーバ32は、普通変化しない静的アドレスを有する。リモートウェブクライアント41は、通信パス42aによって図に示されたその静的なアドレスでクライアントローカルプロキシサーバ32にアクセスするためにそのウェブブラウザを使用することができる。したがって、クライアントローカルプロキシサーバ32は、パブリックインターネット24に接続された別のデバイス(例えば、ウェブクライアント40またはリモートウェブクライアント41)によって信頼してアクセスすることができる従来のサーバホストデバイスの機能性を有する。さらに、クライアントローカルプロキシサーバ32は、従来プロキシサーバの機能性を提供する。一般に、プロキシサーバは、クライアントが他のネットワークサービスに対する間接的ネットワーク接続行うことを可能にする。クライアントは、プロキシサーバに接続し、その後、接続、ファイルまたは異なるサーバ上で利用可能な他のリソースを要求する。プロキシサーバは指定されたサーバに接続すること、または、キャッシュからそれにサービス提供することのいずれかによってリソースを提供する。いくつかの場合では、プロキシサーバは、クライアントの要求またはサーバの応答をさまざまな目的のために変更しうる。
【0037】
ウェブクライアント40は、好ましくは、通信システム20上のクライアントサーバセッションのクライアント側としてサービス提供することができるいずれのハードウェア/ソフトウェアコンポーネントまたは従来のウェブブラウザ(図示である)である。ウェブクライアント40は、ユーザによって動作されうる、または、それは、HTTP(または他の)サーバに自動的にアクセスするためにHTTPプロトコル(または他)を使用する自動化ツール/スクリプト/マシンによって動作されうる。このような自動化ツールは、「HTTPエージェント」と通常呼ばれる。さまざまなデータフローパスは、矢印42、44および46によって図1で図示され、そしてそれらは、モバイルコンピューティングデバイス28、30、クライアントローカルプロキシサーバ32、34、データベース36、ウェブクライアント40、およびリモートウェブクライアント41の間での通信を表す。
【0038】
開示された実施形態のシステムおよび方法は、ウェブクライアント40(またはリモートウェブクライアント41)と動的に割り当てられたアドレスを有するモバイルコンピューティングデバイス(例えば、モバイルコンピューティングデバイス28)との間のデータパスを信頼して開く。開示されたシステムおよび方法の重要な態様は、コンポーネント(例えば、モバイルコンピューティングデバイス、モバイルウェブサーバソフトウェア、データベース、ウェブクライアントブラウザ等)の多くが商業的に利用可能な既製のアイテムであるということである。開示された実施形態は、コンポーネントを選択するためにある構成タイプ変更を必要とし、そのような構成(例えば、方法50、70)の例は、図2および図3で図示化される。しかしながら、開示された構成変更によって提供される追加された機能は、ターゲット化され、関連技術分野の当業者の能力の内にある既知の設計技法(例えば、既存ソフトウェアに拡張子、スクリプト、および同様なものを付加すること)を通じて実装されうる。
【0039】
開示された実施形態によれば、モバイルコンピューティングデバイスウェブサーバソフトウェア30は、図2のモバイルコンピューティングデバイス方法50によって図示された機能を含むように構成され、それによって、モバイルコンピューティングデバイス28は、モバイルコンピューティングデバイスの現在のIPアドレスおよびデバイス識別子を含むDID(「デバイス識別データ」と前述される)をクライアントローカルプロキシサーバハードウェア32へ通信する。クライアントローカルプロキシサーバハードウェア32はクライアントローカルプロキシサーバ方法70(図2でも図示されている)によって図示された機能を提供するように構成されたクライアントローカルプロキシサーバソフトウェア34を含み、それによって、クライアントローカルプロキシサーバハードウェア32は、モバイルコンピューティングデバイスのIPアドレスを含む周期的に更新されたDIDをモバイルコンピューティングデバイス28から受信する。クライアントローカルプロキシサーバハードウェア32は、データベース36にモバイルコンピューティングデバイス28の現在のDIDを格納する。上述されるように、DIDはまた、デバイス識別子(または「サーチキー」)を含み、そしてそれは簡単に覚えられタイプされる従来の識別子であることができ(例えば、「johndoephone」、または「555−123−4567」)、ウェブサイトドメイン名と同様に機能する。クライアントローカルプロキシサーバ32は、パブリックインターネット24内のウェブクライアント40とプライベートIPネットワーク22内のモバイルコンピューティングデバイス28(ならびに他のプライベートIPネットワーク内の他のモバイルコンピューティングデバイス‐図示されず)の間でインタフェース接続するので、デバイス識別子はグローバルに固有である。クライアントローカルプロキシサーバ32は、ウェブクライアント40またはリモートウェブクライアント41からアクセス・デバイス28に対して要求(典型的にウェブクライアントブラウザによる)を受信することができるURL(図示せず)を含んでいる。クライアントローカルプロキシサーバ32は、ウェブクライアント40に組み込まれる、または(ワイヤードまたはワイヤレスである)ローカルデータ通信パス42を介してウェブクライアントと通信するように、ウェブクライアント40にローカルに位置することができる。さらに、クライアントローカルプロキシサーバ32は、静的なアドレスを有し、そしてそれは、リモートウェブクライアント41がクライアントローカルプロキシサーバに対する信頼できるインターネット接続を確立することを可能にする。
【0040】
次に図2に戻ると、モバイルコンピューティングデバイス方法50およびクライアントローカルプロキシサーバ方法70のインタラクションおよび動作を図示する説明のためのフローチャートがある。方法50、70は、直接ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで(例えば、仮想マシンまたはスクリプトインタプリタで実行しているスクリプト)、またはそれらのいずれの組み合わせで具現化されうる。方法50は、モバイルコンピューティングデバイス28内のモバイルコンピューティングデバイスウェブサーバソフトウェア30によって実装され、方法70は、クライアントローカルプロキシサーバ32内のクライアントローカルプロキシサーバソフトウェア34によって実装される。図2で図示されるように、方法50のブロック52で、モバイルコンピューティングデバイス28は、図1で図示される通信システム20内のネットワークエンティティからデバイスアドレス(DA)を従来の方法で受信する。例えばシステム20がCDMAネットワークを含む場合、DAは、パケットデータサービングノード(PDSN)(図示されず)によって割り当てられたデバイスIPアドレスであるであろう。ブロック54における方法50は、そのデバイスについての固有デバイス識別子(DI)とデバイスアドレス(DA)を含むDIDを生成する。固有デバイス識別子(「サーチキー」と前述されている)は簡単に覚えられタイプされる従来の識別子であることができ(例えば、「johndoephone」または「555−123−4567」)、ウェブサイトドメイン名と同様に機能することができる。ブロック56は、クライアントローカルプロキシサーバ32へ通信パス58を介してDIDを送信する。図2の通信パス58は、モバイルコンピューティングデバイス28、30からクライアントローカルプロキシサーバ32、34へとDIDをパスするためのさまざまな方法の仮想表示である。例えば、通信パス58は図1で図示されたデータフローパス44によって確立された通信リンクを介して実装されることができるであろう。あるいは、通信パス58は、小さい「自動化」ウェブクライアントをモバイルコンピューティングデバイスに実行させることによって、また、クライアントローカルプロキシサーバにDIDを通信するためにその自動化ウェブクライアントを使用して、達成されることができるであろう。自動化ウェブクライアントはクライアントローカルプロキシサーバにおいて指定されたページにブラウズすることができ、そのページは、「あなたのDIDを提出し、提出(SUBMIT)ボタンを押してください」とモバイルコンピューティングデバイスに尋ねるフォームを含む。自動化ウェブクライアントはそのフォームに「記入」して提出を押す。クライアントローカルプロキシサーバは、そのあとでDIDを受信しそれを格納する。方法50は、モバイルコンピューティングデバイス28、30が更新されたデバイスアドレスを受信したかを決定ブロック60で問い合わせる。方法50が、新規デバイスアドレスが受信しなかったということを決定ブロック60で決定する場合、方法はブロック60への入力に戻り、問い合わせを繰り返す。方法50が、新規デバイスアドレスが受信されたということを決定ブロック60で決定するとき、方法は、ブロック54への入力に戻り、更新されたデバイスアドレスを含む新規IDを生成し、クライアントローカルプロキシサーバ32、34へ更新されたDIDを、通信パス58を介して送信する。決定ブロック60は、DAが実際に変更したかを検出する、または、DIDのDAコンポーネントが実際に変更されなかったとしても、クライアントローカルプロキシサーバ32、34にDIDを周期的に更新し送信するタイマ機能に基づく、のようなさまざまな方法でトリガされうる。
【0041】
次にクライアントローカルプロキシサーバ方法70に戻ると、方法70は、見出し「DIDを格納する」および「位置づけおよびリダイレクト」の下に図で識別された2つの主要コンポーネントを含む。方法70の格納DIDコンポーネントでは、ブロック72は、モバイルコンピューティングデバイス28からのDIDを含むさまざまなモバイルコンピューティングデバイスから現在および更新されたDIDを、通信パス58を介して受信する。ブロック72で受信されたDIDは、クライアントローカルプロキシサーバ32、34と通信するさまざまなモバイルコンピューティングデバイスの各々のための現在のおよび更新されたアドレス(DA)および固有のデバイス識別子(DI)を含む。ブロック74は、データベース36に受信されたDIDを格納し、そのあとで、ブロック76で任意のDID更新を受信するために待機する。決定ブロック78は、更新されたDIDが受信されたかを決定するためにチェックする。更新されたDIDが受信されなかった場合には、方法70は、ブロック76への入力に戻り、DID更新を待機する。決定ブロック78で更新されたDIDが受信された場合、方法70は、ブロック74への入力に戻り、データベース36に受信された更新されたDIDを格納する。
【0042】
次に方法70の「位置づけおよび転送」部分に戻ると、クライアントローカルプロキシサーバ32、34は、モバイルコンピューティングデバイスにアクセスするためウェブクライアントから(一般的にはウェブクライアントのブラウザを介して)要求を受信するためにポータルまたは仮想ロケーションまたはURLとして機能する「スタート」または「ホーム」ウェブページ(図示されず)を含む。クライアントローカルプロキシサーバスタートページは、静的アドレスを有し、そしてそれは、ウェブクライアント40がクライアントローカルプロキシサーバへのインターネット接続を信頼して一貫して確立することを許容する。方法70は、モバイルコンピューティングデバイスにアクセスするための要求がクライアントローカルプロキシサーバスタートページにおいて受信されたかどうかを決定ブロック80で評価する。要求が受信されなかった場合には、決定ブロック80は、その入力に戻り、問い合わせを繰り返す。モバイルコンピューティングデバイスにアクセスするための要求が決定ブロック80で受信された場合、開示された実施形態によるブロック82は、要求からデバイス識別子を抽出し、データベース36をサーチして、(データベース36を介して)クライアントローカルプロキシサーバ32に格納されたDIDと抽出されたデバイス識別子を比較する。方法70は、抽出されたデバイス識別子が格納されたDIDエントリに一致するかどうかを決定ブロック84で評価する。一致が見つからない場合には、ブロック86は、失敗報告を生成し、決定ブロック80への入力に戻る。決定ブロック84で、抽出されたデバイス識別子が格納されたDIDエントリに一致する場合には、ブロック88は、ファイアウォールを介して要求者(例えば、ウェブクライアントと40またはリモートウェブクライアント41)からモバイルコンピューティングデバイスウェブサーバ28、30への通信パスを開くために、一致したDIDのデバイスアドレスコンポーネントを使用する。仲介の、クライアントローカルプロキシサーバとして動作することは、クライアントローカルプロキシサーバURL「スタート」または「ホーム」ページの静的なアドレスからモバイルコンピューティングデバイス28の現在格納されるアドレスに要求を中継する。したがって、方法50および70はともに機能して、プライベートIPネットワーク22内のモバイルコンピューティングデバイス(例えば、モバイルコンピューティングデバイス28)の各割り当てられたアドレスの現行バージョンは、データベース36で利用可能であるということを確実にする。
【0043】
ブロック88における仲介動作は、開示される実施形態の下で新規の方法で適用され、限定されないが以下の方法を含む、様々な方法で実施される。
【0044】
a.クライアントローカルプロキシサーバは、「現状のまま」でという要求を通過(pass)させることができる(したがって「トランスペアレントな」プロキシである)。
【0045】
b.クライアントローカルプロキシサーバは、そのコンテンツに依存して要求を翻訳することができる:例えば、「my_long_url_name.html」から「p12.htm」へ。そのような翻訳は、応答コンテンツのさらなる編集を要求することがある。
【0046】
c.クライアントローカルプロキシサーバは、それらのコンテンツに依存する要求をフィルタに掛けることができる:例えば、「index.html」の要求を許可するが、「data.txt」の要求を拒否する。
【0047】
d.クライアントローカルプロキシサーバは、それらのコンテンツに依存する要求をルート指定することができる:例えば、異なるエンドウェブサーバに要求を送るがモバイルウェブサーバに送る必要がない。これは、要求がモバイルウェブサーバからのみ応答されるように見えることをもたらすのだが、実際にはいくつかのソースから応答される。このアプローチを使用する利点は、以下のものを含む:
【0048】
(i) より下位のネットワーク使用:モバイル特有ではないデータ、またはまれに変更されるデータは、任意のウェブサーバにおいて格納され、例えば、画像およびクライアント側のスクリプトのための、モバイル帯域幅を使用しないで検索される。
【0049】
(ii) 履歴データまたはオフラインデータを格納する:あるデータは、モバイルメモリからセブ(seb)サーバに移動することができる(例えば、古い記録)。要求された場合、このデータは、オフラインサーバから検索され、ウェブサーバから検索されないことができる。さらに、そのような記録は、モバイルコンピューティングデバイスが電源を切られるまたはネットワークカバレージ内にいない場合でさえも利用可能である。
【0050】
図3は、図1に示される実施形態によって実行される動作ステップのより詳細な例である。この例において、クライアントローカルプロキシサーバは、TCP/IP プロキシサーバである。図3に示される動作ステップは、1乃至15の番号が付されている。
【0051】
ステップ1 − モバイルデバイスはIPアドレスを割り当てられる。このことは、特定のネットワークの必要性によって決定されるときに、さまざまな時間で、そしてモバイルデバイスが電源を入れられた後で行われる。したがって、IPアドレスは、時間ごとに変更できる。図3では、IPアドレスは、「1.2.3.4」と表わされる。これは実際のIPアドレスではなく、説明の目的のためだけにこの例において使用される。ここにおいて開示された例がIPv4アドレスフォーマットを使用しているにも関わらず、開示された実施形態もまた、IPv6のような他のアドレッシングスキームに適用する。
【0052】
ステップ2 − モバイルデバイスは図2で示されている方法(50)を実装して、モバイルデバイスのDID(「デバイス識別データ」と前述されている)の更新をクライアントローカルTCP/IPプロキシサーバに送る。この例では、モバイルデバイスDIDは、モバイルID(「デバイス識別子」と前述されている)および新規IPアドレスを含む。ステップ2は、いくつかの方法で達成されうる。例えば、モバイルデバイスは、HTTPプロトコルを使用してクライアントローカルTCP/IPプロキシサーバと通信することができる、したがって、HTTP「POST」または「GET」の方法を使用して情報を提出することができるであろう。ウェブサーバ側スクリプティングを使用するクライアントローカルTCP/IPプロキシサーバは、データベース(DB)にこの情報を格納するであろう。あるいは、モバイルデバイスは、IP通信に基づいて独自仕様プロトコルを使用してDBと通信することができるであろう。
【0053】
ステップ3 − パブリックインターネットのユーザは、ウェブブラウザをアクティブ化し、モバイルID、例えば、「55512312354」と同様に、クライアントローカルTCP/IPプロキシサーバの「プロキシポート」(例えば、「http://www.service.com」)をタイプし、「入力」をクリックする。
【0054】
ステップ4 − (ウェブブラウザの内、の下で、または関連して起動しプロキシポートをリッスンする)クライアントローカルTCP/IPプロキシサーバは、ユーザ入力を検出する。クライアントローカルTCP/IPプロキシサーバがウェブクライアントに組み込まれる場合、プロキシサーバの機能性は、ウェブブラウザ自身の修正を必要としないようにインストールされ、TCP/IPプロキシサーバがローカルであることを知る必要がないことに注意すべきである。
【0055】
ステップ5 − ウェブブラウザとTCP/IPプロキシサーバとの間の「接続」が確立される。
【0056】
ステップ6 − ウェブブラウザは、TCP/IPプロキシサーバにHTTP GET要求を「送る」。クライアントローカルTCP/IPプロキシサーバは、HTTP GET要求からモバイルIDを抽出し、DBにクエリするためにそれを使用し、モバイルIDをモバイルIDアドレスに変換する。
【0057】
ステップ7、8、9および10 − クライアントローカルプロキシサーバは、HTTP GET要求をモバイルウェブサーバに送り、要求されたコンテンツは、モバイルウェブサーバからクライアントローカルTCP/IPプロキシサーバに送られる。これは、いくつかの従来の方法で行われることができるであろう。
【0058】
a.クライアントローカルプロキシサーバは、要求を「そのまま(as−is)」通過(pass)させることができる:したがって、「トランスパレント」プロキシとして動作する。
【0059】
b.クライアントローカルプロキシサーバは、要求をそのコンテンツに依存して変換することができる:例えば「my_long_url_name.html」から「p12.htm」に変換することができる。このような変換は、返答コンテンツのさらなる編集を要求することがある。
【0060】
c.クライアントローカルプロキシサーバは、要求をそれらのコンテンツに依存してフィルタすることができる:例えば、「index.html」についての要求を許可し、「data.txt」に関する要求を拒否する。
【0061】
d.クライアントローカルプロキシサーバは、要求をそれらのコンテンツに依存してルート指定することができる:例えば、異なるエンドウェブサーバに要求を送信し、必ずしもモバイルウェブサーバに送信しない。このことは、要求がモバイルウェブサーバのみから返答されることをもたらし、実際にはそれはいくつかのソースから返答されている。このアプローチを使用する利点は以下のものを含む:
(i)より低いネットワーク使用量: モバイル−特有でないデータ、またはまれに変更されるデータは、任意のウェブサーバにおいて格納されることができ、例えばピクチャおよびクライアント側スクリプトのようなモバイル帯域幅を使用することなく検索されることができる。
【0062】
(ii)履歴またはオフラインデータを格納する:いくらかのデータは、モバイルメモリからウェブサーバ(例えば、古い記録)へ移動されることができる。要求されたとき、このデータは、モバイルのウェブサーバではなくオフラインサーバから検索されることができる。また、このような記録は、モバイルデバイスが電源が入れられていない、または、ネットワークカバレッジ内にない場合でさえも利用可能であることになる。
【0063】
ステップ11 − TCP/IP プロキシサーバは、ウェブクライアントに要求されたコンテンツ(「そのまま」あるいは変更されたのいずれか)を返送する。ウェブクライアントのユーザにとって、エクスペリエンスは、シームレスである。
【0064】
ステップ12、13、14および15−ウェブクライアントは、TCP/IPプロキシサーバがモバイルウェブサーバに転送するという別のHTTP要求を発行する。モバイルウェブサーバからの返答は、その後で、ウェブクライアントへ転送される。
【0065】
上述された特定のステップ2および7乃至10は、ユーザが「シームレス」な方法で動的に変更することができるIPアドレスを有するモバイルウェブサーバにコンタクトすることを可能にするということに留意されたい。ウェブクライアントは、(プロキシサーバ機能性以外の)特別なカスタム化を必要とせず、また、ユーザのモバイルウェブサーバとのインタラクションは静的ウェブサイトにおける一般的な経験とまったく変わりはないので、ユーザエクスペリエンスは「ナチュラル」である。
【0066】
前述の開示は、本発明の説明のための実施形態を示しており、様々な変更および修正は、特許請求の範囲によって規定されているような本発明の範囲から逸脱することなくここにおいてなされることができるということに留意されるべきである。例えば、ここにおいて記載される本発明の実施形態による方法の請求項の機能、ステップ、および/またはアクションは、いずれの特定の順序で実行される必要はない。さらに、本発明の構成要素は、単数形で説明または特許請求されているが、単数形の限定が明示的に述べられていない限り、複数形が意図されている。
【0067】
さらに、ここにおいて説明される「ユーザ」は、人間のオペレータ、および、HTTP(または他の)サーバに自動的にアクセスするためにHTTPプロトコル(または他)を使用する自動化ツール/スクリプト/マシンの両方を含む。このような自動化されたツールは、「HTTPエージェント」と通常呼ばれる。
【0068】
「IPアドレス」という用語は、どのようにパブリックインターネットがホストデバイスを識別するかを説明するためにその最も広い意味で使用される。したがって、IPアドレスという用語は、現在知られているインターネット上でデバイスを識別する方法、ならびに、今後開発および/または使用されうるデバイス識別方法を含む。また、覚えやすいDIDを有するデバイス識別子を含むことが有益である一方で、デバイスアドレスがデバイス識別子で結合されることは必要要件ではない。
【0069】
モバイルコンピューティングデバイスのIPアドレスが割り当てられるまたは変更されるときに、モバイルコンピューティングデバイス28は、クライアントローカルプロキシサーバ32を更新する。あるいは、デバイスアドレスが割り当てられるまたは変更されるとき、アドレスを割り当てるネットワークエンティティは、クライアントローカルプロキシサーバ32を更新することができる。
【0070】
図3の具体的な例は、デバイス識別子としてモバイルid番号(例えば、「555−123−1234」)を使用する。デバイスIDのより複雑なスキームは、2つ(またはそれより多い)の階層で使用されることができる。システムにおいてデータベース(例えば、データベース36)を使用して、次のスキームが実装されることができるであろう:
1.モバイルモバイルコンピューティングデバイスは、そのアドレスおよびデバイス識別子でデータベースを更新する、そしてそれは「モバイルID番号」(MIN);「国際モバイル加入者アイデンティティ」(MDN);「国際モバイル機器アイデンティティ」(IMEI);モバイルネットワークを共有するモバイルデバイスに固有であるいずれの他のIDであることができる、または、
【0071】
2.ユーザが、いずれの種類のID(例えば、「ユーザ名」および「パスワード」)を使用して、クライアントローカルプロキシサーバURLに接続するとき、そのIDは、モバイルデバイスのIPアドレスに変換されることができる。
【0072】
さらに当業者は、情報と信号が様々な異なる方法および技法のうちのいずれかを使用して表わされうるということを理解するであろう。例えば、上記の説明の全体にわたって参照されうる、データ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場あるいは磁粒子、光場あるいは光学粒子、あるいはそれらのいずれの組み合わせ、によって表わされうる。
【0073】
当業者は、ここに開示された実施形態に関連して説明された、様々な説明のための論理ブロック、モジュール、回路、および、アルゴリズムステップは、電子ハードウェア、コンピュータソフトウェアあるいは両方の組合せとして実装されうる、ということをさらに理解するであろう。このハードウェアとソフトウェアの互換性を明瞭に説明するために、様々な説明のためのコンポーネント、ブロック、モジュール、回路およびステップが、一般に、それらの機能性という観点から、上述されてきた。そのような機能が、ハードウェアまたはソフトウェアとして実装されるかどうかは、特定のアプリケーションと全体のシステムに課された設計制約によって決まる。当業者は、各特定のアプリケーションについての様々な方法で、説明された機能性を実装しうるが、そのような実装の決定は、本発明の範囲からの逸脱を生じさせるものとして解釈されるべきでない。
【0074】
ここにおいて開示された実施形態に関して記載された方法、シーケンスおよび/またはアルゴリズムは、直接ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、または、それらの2つの組み合わせにおいて、具現化されうる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROMあるいは当技術分野において知られているいずれの他の形態の記憶媒体、において存在しうる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取ることができ、また記憶媒体に情報を書き込むことができるように、プロセッサに結合される。あるいは、記憶媒体は、プロセッサに一体化されうる。したがって、本発明の実施形態は、開示され、特許請求された実施形態を実行するための方法を具現化するコンピュータ可読媒体を含むことができる。したがって、本発明は、説明された例に限定されておらず、ここにおいて説明された機能を実行するためのいずれの手段も本発明の実施形態に含まれる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
割り当てられたアドレスを有するデバイスにアクセスする方法であって、
メモリロケーションに前記割り当てられたアドレスを格納することと、
前記デバイスにアクセスするための要求をクライアントローカルプロキシサーバにおいて受信することと、
ここで、前記要求は、前記デバイスを固有に識別するデバイス識別子を備える、
前記デバイスにアクセスするための前記要求に応じて、前記デバイス識別子に基づいて前記デバイスの格納されたアドレスを識別することと
を備え、前記プロキシサーバは、前記要求の送信者と前記格納されたアドレスとの間のデータパスを確立するために仲介者として動作する、方法。
[C2]
前記割り当てられたアドレスは、動的に割り当てられたアドレスを備え、
更新された動的に割り当てられたアドレスを受信し、前記メモリロケーションに格納することをさらに備える、C1に記載の方法。
[C3]
前記デバイス識別子は、電話番号、モバイルID番号、国際モバイル加入者アイデンティティ、または国際モバイル機器アイデンティティを備える、C2に記載の方法。
[C4]
前記クライアントプロキシサーバは、TCP/IPプロキシサーバを備える、C1に記載の方法。
[C5]
前記クライアントローカルプロキシサーバは、静的なアドレスを有するURLを備え、
前記要求は、前記URLにおいて受信される、C1に記載の方法。
[C6]
前記デバイスは、ウェブサーバソフトウェアを有するモバイルデバイスを備え、
前記データパスは、クライアントサーバセッションを備える、C1に記載の方法。
[C7]
ネットワーク上の前記デバイスの仮想ロケーションを識別する割り当てられたアドレスをデバイスにおいて受信することと、
ここで、前記デバイスは、ウェブクライアントから前記デバイスにアクセスする要求を受信するクライアントローカルプロキシサーバに前記受信した割り当てられたアドレスを送信するように構成され、
前記要求は、前記デバイスを固有に識別するデバイス識別子を備える、
前記ウェブクライアントと前記デバイスとの間の仲介者として動作する、前記割り当てられたアドレスを使用する前記クライアントプロキシサーバによって確立された通信パスを通じて前記デバイスから前記ウェブクライアントへデータを配信することとを備える、方法。
[C8]
前記割り当てられたアドレスは、動的に割り当てられたアドレスを備え、
前記割り当てられたアドレスに応じて更新された割り当てられたアドレスを前記クライアントローカルプロキシサーバに送信することを備える、C7に記載の方法。
[C9]
電話番号、モバイルID番号、国際モバイル加入者アイデンティティまたは国際モバイル機器アイデンティティを備える、C2に記載の方法。
[C10]
前記デバイスは、ウェブソフトウェアを有するモバイルデバイスを備え、
前記通信パスは、クライアントサーバセッションを備える、C7に記載の方法。
[C11]
デバイスに通信パスを開けるための装置であって、
前記デバイスに割り当てられたアドレスを受信し、メモリロケーションに前記割り当てられたアドレスを格納するクライアントローカルプロキシサーバを備え、
前記クライアントローカルサーバは、前記デバイスにアクセスするための要求を受信するURLを含み、
前記要求は、前記デバイスを固有に識別するデバイス識別子を備え、
前記デバイスにアクセスするための前記要求に応じて、前記クライアントローカルプロキシサーバは、前記デバイス識別子に基づいて前記デバイスの格納されたアドレスを識別し、前記要求の送信者と前記格納された割り当てられたアドレスとの間の通信パスを開くために仲介者として動作する、装置。
[C12]
前記デバイスは、ウェブサーバソフトウェアを有するモバイルデバイスを備え、
前記通信パスは、クライアントサーバセッションを備える、C11に記載の装置。
[C13]
前記クライアントローカルプロキシサーバは、ウェブプロキシサーバソフトウェアを備え、
前記ウェブプロキシサーバソフトウェアは、前記デバイス識別子に基づいて前記デバイスの格納された割り当てられたアドレスを識別し、前記要求の送信者と前記格納され割り当てられたアドレスとの間の前記通信パスを開くように構成される、C11に記載の装置。
[C14]
ネットワーク上の前記デバイスの仮想位置を識別する割り当てられたアドレスを受信するデバイスを備え、
前記デバイスは、ウェブクライアントから前記デバイスにアクセスするための要求を受信するクライアントローカルプロキシサーバに前記割り当てられたアドレスを送信するように構成された商業的に利用可能な、実質的に非独自仕様モバイルウェブサーバを備え、
前記要求は、前記デバイスを固有に識別するデバイス識別子を備え、
前記モバイルウェブサーバソフトウェアは、前記割り当てられたアドレスに基づいて前記ウェブクライアントと前記デバイスとの間の仲介者として動作する前記クライアントローカルプロキシサーバによって確立された通信パスを通じて前記デバイスから前記クライアントへのデータを配信するようにさらに構成される、システム。
[C15]
前記モバイルウェブサーバソフトウェアは、前記割り当てられたアドレスを変更することに応じて前記割り当てられたアドレスの更新を前記クライアントローカルプロキシサーバに送信するようにさらに構成される、C14に記載のシステム。
[C16]
前記モバイルウェブサーバソフトウェアは、
前記割り当てられたアドレスを前記デバイス識別子と結び付け、
前記クライアントローカルプロキシサーバに前記デバイス識別子および前記割り当てられたアドレスを送信するようにさらに構成される、C15に記載のシステム。
[C17]
前記通信リンクは、クライアントサーバセッションを備える、C16に記載のシステム。
[C18]
前記ウェブクライアントは、前記クライアントサーバセッションからリモートに位置付けられたリモートウェブクライアントを備える、C16に記載のシステム。
図1
図2
図3