(57)【要約】【課題】第１の場所にある第１の情報機器で第１に情報コンテンツを表示し、第２に表示する前に、第２の場所にある第２の情報機器で情報コンテンツをプレロードするようにシステムに指示することが可能な、システムおよび方法を提供すること。【解決手段】プレローディングは、複数の場所にある複数の情報機器に関連付けられた複数のプロキシ・サーバと、プロキシ・サーバを情報機器に関連付ける情報を含む複数のプロキシ・ディレクトリと、情報コンテンツを含むサーバと、料金請求を生成するための課金サーバとによって達成される。プレロード要求は、情報機器それ自体から、またはＷｅｂページなどの場所に関連付けられた通信手段から実行することができる。要求は、本システムによって提供されるユーザ・カレンダ・インターフェースによっても実行することができる。カレンダは、複数のスケジュール済みイベントおよびプレローディングが実行される場所を格納することができる。【選択図】　　　図１
2004005447.tif 000002
【特許請求の範囲】
【請求項１】
情報機器用のキャッシュへの情報コンテンツのプレローディングを容易にするための方法であって、
ユーザの指示により、新しいスケジュール済みプレローディングを作成するＲステップと、
スケジュール済みプレローディングに関連付けられた少なくとも１つのイベントに関する情報を格納するステップを含み、情報が、
イベントの場所と、
イベントのタイプと、
イベントが実施される日付および時刻とのうち、
少なくとも１つを含む方法。
【請求項２】
ユーザの指示により、既存のスケジュール済みプレローディングを削除するステップをさらに含む、請求項１に記載の方法。
【請求項３】
削除ステップが、
イベントに関連付けられた、スケジュール済みプレローディングを削除する要求を受け取るステップ、
プロキシ・サーバのネットワーク・アドレスおよびスケジュール済みプレローディングに固有のトランザクション識別子を取り出すステップ、
トランザクション識別子を含む、スケジュール済みプレローディングを削除する要求を、プロキシ・サーバに伝送するステップ、
プロキシ・サーバのネットワーク・アドレスおよびトランザクション識別子を削除するステップをさらに含む、請求項２に記載の方法。
【請求項４】
プレローディングがスケジューリングされたときにイベントに関連付けられた宛先が指定されなかった場合、一時プロキシ・サーバのネットワーク・アドレスを取り出すステップをさらに含む、請求項３に記載の方法。
【請求項５】
作成ステップが、
イベントに関連付けられた、スケジュール済みプレローディングを作成する要求を受け取るステップ、
第１の情報機器から情報コンテンツのネットワーク・アドレスを受け取るステップ、
イベントに関連付けられた第２の情報機器に関連付けられたキャッシュを含むプロキシ・サーバの、ネットワーク・アドレスを受け取るステップ、
情報コンテンツをプレロードする要求を、プロキシ・サーバに伝送するステップ、
要求に固有のトランザクション識別子を含む肯定応答メッセージを、プロキシ・サーバから受け取るステップ、および
イベントに関連して、プロキシ・サーバのネットワーク・アドレスとトランザクション識別子を格納するステップをさらに含む、請求項１に記載の方法。
【請求項６】
イベントに関連付けられた宛先がまだ指定されていない場合に、一時プロキシ・サーバのネットワーク・アドレスを受け取るステップをさらに含む、請求項５に記載の方法。
【請求項７】
複数のプロキシ・ディレクトリ用の格納手段が、プレロード済み情報コンテンツが使用可能な複数の場所に関連付けられた複数のプロキシ・アドレスを含む、請求項５に記載の方法。
【請求項８】
プレロード済み情報コンテンツが使用可能な複数の場所が、
航空機と、
ホテルと、
レンタカーと、
大学内の場所と、
インターネット・サービス・プロバイダと、
自動車のうち、少なくとも１つを含む、請求項７に記載の方法。
【請求項９】
航空機用のプロキシ・ディレクトリが、
航空会社の名前と、
フライト番号と、
フライト番号に関連付けられた出発の日付および時刻と、
関連付けられたプロキシ・アドレスとを含む、請求項８に記載の方法。
【請求項１０】
ホテル用のプロキシ・ディレクトリが、
ホテルの名前と、
ユーザが行った予約に固有に関連付けられた識別子と、
関連付けられたプロキシ・アドレスとを含む、請求項８に記載の方法。
【請求項１１】
レンタカー用のプロキシ・ディレクトリが、
ユーザが行ったレンタカーの予約に固有に関連付けられた識別子と、
関連付けられたプロキシ・アドレスとを含む、請求項８に記載の方法。
【請求項１２】
大学内の場所用のプロキシ・ディレクトリが、
大学の名前と、
大学内の建物の名前と、
建物内の部屋番号と、
関連付けられたプロキシ・アドレスとを含む、請求項８に記載の方法。
【請求項１３】
インターネット・サービス・プロバイダ用のプロキシ・ディレクトリが、
インターネット・サービス・プロバイダに加入したユーザを識別するインジケータと、
関連付けられたプロキシ・アドレスとを含む、請求項８に記載の方法。
【請求項１４】
自動車用のプロキシ・ディレクトリが、
自動車に固有に関連付けられた識別子と、
関連付けられたプロキシ・アドレスとを含む、請求項８に記載の方法。
【請求項１５】
情報機器用のキャッシュへの情報コンテンツのプレローディングを容易にするための方法であって、
新しいスケジュール済みプレローディングを作成する要求を処理するステップ、
スケジュール済みテーブルに従って、１つまたは複数のプレローディングを実行するステップを含む方法。
【請求項１６】
既存のスケジュール済みプレローディングを削除する要求を処理するステップをさらに含む、請求項１５に記載の方法。
【請求項１７】
プレローディングを削除する要求を処理するステップが、
プレローディングに関連付けられた固有の識別子を含む、プレローディングを削除する要求を受け取るステップ、
合致する固有の識別子を備えたエントリを識別するために、スケジュール済みテーブルを読み取るステップ、
識別されたエントリをスケジュール済みテーブルから削除するステップ、および
要求元に肯定応答を伝送するステップをさらに含む、請求項１６に記載の方法。
【請求項１８】
プレローディングを作成する要求を処理するステップが、
プレローディングを作成する要求を受け取るステップ、
プレローディング要求に関連付けられた固有の識別子を生成するステップ、
スケジュール済みテーブルに要求を追加するステップ、および
プレローディング要求に関連付けられた固有の識別子とプレローディングが実行されるプロキシ・アドレスとを、要求元に伝送するステップをさらに含む、請求項１５に記載の方法。
【請求項１９】
スケジュール済みテーブルが、
プレローディングに関連付けられた固有の識別子と、
プレローディング要求を出したユーザを識別するインジケータと、
情報コンテンツのアドレスと、
情報コンテンツにおけるプレローディングの開始位置と、
プレロードされる情報コンテンツの持続時間と、
プレローディングの状況に関するインジケーションとを含み、インジケーションが、
プレローディング開始前、
プレローディング進行中、および
プレローディング完了のインジケータのうち少なくとも１つを含む、請求項１５に記載の方法。
【請求項２０】
スケジュール済みテーブルに従って１つまたは複数のプレローディングを実行するステップが、
所定の時間の間アイドル状態でいるステップ、
カウンタをスケジュール済みテーブルのエントリ数に等しく設定するステップ、
カウンタに等しい位置にあるスケジュール済みテーブルのエントリを読み取るステップ、および
プレローディングの状況に関するインジケーションを読み取るステップを含む、請求項１５に記載の方法。
【請求項２１】
インジケーションがプレローディングが開始されていないことを示す場合、スケジュール済みテーブルに従って１つまたは複数のプレローディングを実行するステップが、
プレロードされる情報コンテンツの持続時間が現在時刻より後であることを判定するために、持続時間を読み取るステップ、
情報コンテンツをプレローディングするステップ、
プレローディングの状況に関するインジケーションを、プレローディング完了に設定するステップ、
カウンタを減分するステップ、
カウンタを読み取ることをさらに含み、カウンタがゼロ未満の値を読み取った場合は所定の時間の間アイドル状態でいることに戻るステップ、ならびにカウンタがゼロ未満の値を読み取らなかった場合は、カウンタに等しい位置にあるスケジュール済みテーブルのエントリを読み取ることに戻るステップをさらに含む、請求項２０に記載の方法。
【請求項２２】
プレロードされる情報コンテンツの持続時間が現在時刻よりも後であると判定された場合、即時にカウンタを減分する、請求項２１に記載の方法。
【請求項２３】
複数のプロキシ・サーバのアクティビティを監視するステップ、および
アクティビティに応じてユーザに請求書を生成するステップを含む、
情報コンテンツのプレローディングに関する料金請求を生成するための方法をさらに含む、請求項１５に記載の方法。
【請求項２４】
情報機器用のキャッシュに情報コンテンツをプレローディングするためのシステムであって、
複数の情報機器と、
情報コンテンツのプレローディングを受信および要求するステップができるユーザ・インターフェースと、
複数のキャッシュを備えた複数のプロキシ・サーバを含むネットワーク・アクセス・ノードとを含み、複数のプロキシ・サーバは情報コンテンツを複数のキャッシュにプレロードする要求を処理することが可能であって、前記要求がユーザ・インターフェースから受け取られるものであり、さらに前記システムが、
複数の情報機器によって使用される情報コンテンツを格納するための格納手段と、
複数のプロキシ・サーバに関連付けられ、それぞれが情報機器の場所にも関連付けられた、複数のネットワーク・アドレスを格納するための格納手段と、
プロキシ・サーバを監視し、ユーザに請求書を生成することが可能な課金手段とを含むシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、リモートのオンライン・コンテンツ・プロバイダからのマルチメディアを含む、情報機器に情報コンテンツを提供するためのシステムに関し、さらに詳細には、情報機器に容易にアクセス可能な中間位置で情報コンテンツをキャッシュするためのシステムに関する。
【０００２】
【従来の技術】
情報コンテンツを顧客に提供することが可能な情報機器には様々なものがある。顧客は出張中の販売員の場合のように、移動可能であり、様々な場所へ行き、複数の情報機器を使用する可能性がある。こうした情報機器には、テレビジョン、ポータブル・コンピュータ、および車両用ナビゲーション・エイドなどが含まれる。従来のシステムでは、情報機器は、相互接続されたサーバのネットワークのアクセス・ノードに接続され、次にこのサーバが情報コンテンツを提供するマルチメディア・サーバに接続される。移動顧客は、情報機器を使用して、ニュース、映画、ラジオ、書籍、ならびに様々なタイプおよびフォーマットの情報を含む他のファイルを再検討するために、マルチメディア情報コンテンツをダウンロードすることができる。ただし通常は、移動顧客が要求／所望した情報コンテンツを再検討するには、ファイル全体またはファイルのかなりの部分が情報機器で受信されるまで待たなければならない。この遅延はかなり大きい場合があり、それは、例えば、情報機器が、相互接続されたサーバの膨大なネットワークを介して、リモートに配置された情報コンテンツ・プロバイダにアクセスする必要があるときである。さらに、伝送時のパケット損失により、移動顧客に表示されるリアルタイムの情報コンテンツの受信結果が、低品質なものとなる場合がある。さらに、伝送距離が長くなるほど、また伝送経路に沿って対話する相互接続されたサーバの数が多くなるほど、遅延およびパケット損失も大きくなる。
【０００３】
情報機器およびネットワークの中には、情報コンテンツ受信時の遅延およびパケット損失を減らすためにキャッシュ・メモリを備えているものもある。キャッシュとは、ある程度の情報を一時的に格納するための場所を提供するものであり、格納された情報をリモート位置からネットワークを介して再取得する時間が節約され、その労力が削減される。たとえば、従来のＷｅｂブラウザによって要求されてきたＷｅｂページは、情報機器のハード・ディスク上にあるブラウザのキャッシュ・ディレクトリに格納される。この方法では、移動顧客が最近表示したページに戻る場合、ブラウザはオリジナル・サーバではなくキャッシュからＷｅｂページを取得することが可能であり、これによって時間が節約され、ネットワーク・トラフィックが削減される。
【０００４】
同様に、キャッシュは、ほとんどのユーザの情報の取得先である複数のキャッシュ・サーバに情報コンテンツを分散し、それぞれのキャッシュ・サーバで格納された情報コンテンツを定期的にリフレッシュすることによって、ネットワーク上で実施することができる。キャッシュ・サーバは、比較的情報機器に近い場所、典型的にはサーバ・ユーザが要求した情報コンテンツを保存する企業内に配置されるため、以前に要求された情報コンテンツを連続して要求しても、ネットワークの拡張利用を要求するのではなくキャッシュ・サーバによってこれに応じることができる。キャッシュ・サーバは、より迅速に情報を取得することによってユーザに対処するだけでなく、ネットワーク・トラフィックも減らすものである。したがって、キャッシュ・サーバは、情報コンテンツ送達の速度および信頼性を向上させるものであり、情報コンテンツが輻輳するネットワークを介して伝送されないため、高品質のサービスを提供することができる。
【０００５】
ただし、移動顧客のための従来のキャッシュ・システムには、非キャッシュ・システムの場合と同様に、様々な欠点がある。第１に、ある場所の情報機器に格納されたコンテンツは、別の場所の情報機器では使用できない。第２に、ある場所のキャッシュに格納されたコンテンツは他のサイトのキャッシュに格納できない。その結果、移動顧客は、リモートの情報コンテンツ・プロバイダから情報コンテンツをダウンロードする間、待機しなければならない場合がある。こうした配置構成が、移動顧客が所望の情報コンテンツの低品質バージョンを受け取る原因になる可能性もある。さらに悪いことに、移動顧客が所望の情報コンテンツにアクセスできない可能性もある。これらの欠点は、移動顧客が特定の場所および回数で情報を必要とする場合にはさらに悪化される。
【０００６】
【発明が解決しようとする課題】
本発明の一目的は、ユーザが将来使用する可能性のある情報機器に対応するキャッシュに、情報コンテンツをプレローディングするためのシステムおよび方法によって、現在の従来のシステムの欠点を克服することである。
【０００７】
【課題を解決するための手段】
情報コンテンツをキャッシュにプレローディングするための方法の一例には、情報機器を使用して情報コンテンツを表示またはアクセスすることが含まれる。次に、他の情報機器に関連付けられたキャッシュに情報コンテンツをプレロードするための要求を送信することが含まれる。さらに、他の情報機器で情報コンテンツの表示またはアクセスを継続させることが含まれる。
【０００８】
この様式では、情報コンテンツは、ユーザが特定の情報機器に到着する前に、その機器に着信することになる。ユーザが情報コンテンツを待つことはなくなる。さらに、プレローディングは、情報コンテンツの許容可能なデータ転送時間を大幅に増やすことになる。データ転送時間が増加された本発明の情報コンテンツは、現在の従来型システムの同じ情報コンテンツよりも高い品質で、特定の情報機器に着信する場合があり、その結果、高品質バージョンの情報コンテンツは、現在の従来型システムではデータ転送時間が極端に長くなる可能性がある。
【０００９】
ユーザ向け情報コンテンツのプレローディングを容易にする本発明の一実施形態の他の特徴が、ユーザ・カレンダ・インターフェースである。たとえばこのインターフェースは、コンピュータ上で実行中のアプリケーション、個人用携帯型情報端末（ＰＤＡ）、または任意の他のいくつかのインターフェースであってよい。ユーザ・カレンダは、複数のイベントおよび場所を所与の日数だけ格納するものである。たとえば、ユーザが出張に出かける場合に、典型的な日に関するフライト、ホテル、およびレンタカーなどのイベントおよび場所をユーザ・カレンダに格納することができる。これらのイベントおよび場所に、これらのイベントが実施される期間も関連付けられる。本発明では、ユーザは、ユーザの訪問先となる様々な場所に情報コンテンツをプレロードするように、システムに指示することができる。その後システムは、場所に関連付けられた情報機器のネットワーク・アドレス、ならびに情報機器に関連付けられたキャッシュおよびプロキシ・サーバのネットワーク・アドレスにある情報を取り出す。その後、情報コンテンツはユーザによって指定された場所に転送される。本発明の他の態様は、以下の説明を読み、添付の図面を参照することによって明らかになろう。
【００１０】
【発明の実施の形態】
本発明の一実施形態によれば、移動顧客用のキャッシュおよび情報機器に情報コンテンツをプレロードするシステムが提供される。システムは、移動顧客用のカレンダを調べて、特定の時刻に指定された情報コンテンツをプレロードするためのプロキシ・サーバのアイデンティティを決定することが好ましい。
【００１１】
図１は、本発明の一実施形態の様々な構成要素を示す図である。この図に示される情報コンテンツのタイプは、例示的なものとしてマルチメディア情報である。ただし、本発明は、他のタイプの情報コンテンツに対処するように適合可能であることを理解されたい。情報機器１０２は、情報コンテンツを表示するためにユーザによって使用される。ユーザが使用できる情報機器には、Ｗｅｂブラウザ、情報コンテンツを適切に処理できる１つまたは複数のメディア・プレーヤまたは他のアプリケーション、ならびにその詳細について下記に論じるユーザ・カレンダが含まれることが好ましい。メディア・プレーヤはＭＰＥＧムービー・プレーヤ、ＭＰ３ミュージック・プレーヤ、または他のタイプのメディアを処理することのできるプレーやであってよい。情報機器１０２は有線または無線であってよく、これも有線または無線であってよいアクセス・ネットワーク１０４と通信可能である。アクセス・ネットワーク１０４は、情報機器１０２と、情報コンテンツをプレローディングするためのキャッシュを備えたプロキシ・サーバを含むアクセス・ノード１０６との間に通信チャネルを提供する。それぞれのキャッシュまたはキャッシュの区画は、１つまたは複数の情報機器１０２に関連付けることができる。情報コンテンツは、それぞれストリーミング・タイプおよび非ストリーミング・タイプとして、マルチメディア・サーバ１１２および１１４に格納される。プロキシ・ディレクトリ１１６は、各情報機器１０２を、キャッシュを含むプロキシ・サーバ１０６のネットワーク・アドレスに関連付けるサーバである。ユーザが、情報コンテンツを特定の情報機器１０２にプレロードするように要求すると、適切なキャッシュにプレロードできるように情報コンテンツがプロキシ・ディレクトリ１１６から取り出される。課金サーバ１１０は、アクセス・ノード１０６でのプロキシ・サーバのアクティビティを監視し、これらのアクティビティに基づいて各ユーザの課金情報を生成する。データ・ネットワーク１０８は、課金サーバ１１０、プロキシ・ディレクトリ１１６、マルチメディア・サーバ１１２および１１４、ならびにプロキシ・サーバ１０６を含む、様々なシステム構成要素をまとめてリンクする。データ・ネットワーク１０８はインターネット、イントラネット、または任意の他の好適なネットワークであってよく、前述の構成要素間での通信を実行可能にする。
【００１２】
図２は、本発明のユーザによって実行されるアクション・シーケンスの一例を示す流れ図である。ステップ２１０では、ユーザは第１の情報機器で情報コンテンツを表示する。ユーザが後に同じ情報コンテンツを引き続き第２の情報機器で表示することを決定した場合、ステップ２２０で、スケジュール済みイベント、ならびにそのイベントの場所およびユーザがそのイベントにいる間の期間を決定するために、個人用カレンダを表示することができる。イベントは、たとえば航空会社のフライトであってよい。次にユーザは、ステップ２３０でイベントを選択し、その後ステップ２４０で、カレンダが、イベントに関連付けられたプロキシ・サーバに情報コンテンツをプレロードするようにプロキシ・サーバに対してコマンドを発行することになる。
【００１３】
図３は、本発明のユーザによって実行されるアクション・シーケンスの他の例を示す流れ図である。ステップ３１０では、ユーザが第１の情報機器で情報コンテンツを表示する。ユーザが後に同じ情報コンテンツを引き続き表示することを決定した場合、ステップ３２０でユーザは、ユーザがユーザ・カレンダでスケジュール済みイベントを知っているか否かに関わらず、ユーザ・カレンダで次のスケジュール済みイベントに関連付けられたキャッシュに情報コンテンツをプレロードするために必要なコマンドを発行するように、情報機器に指示することができる。情報機器によって発行されるコマンドは、ユーザ・カレンダと通信すること、次のイベントを決定するためにイベントの持続期間と現在時刻とを比較すること、および情報コンテンツをプレロードするためにプロキシ・サーバと通信するようにユーザ・カレンダに指示することを含むことができる。
【００１４】
図４は、本発明のユーザによって実行されるアクション・シーケンスの他の例を示す流れ図である。ステップ４１０では、ユーザは第１に第１の情報機器で情報コンテンツを表示する。ユーザが後に同じ情報コンテンツを引き続き第２の情報機器で表示することを決定した場合、ユーザはステップ４２０で、第２の場所に関連付けられた組織によって供給されるユーザ・インターフェースを表示する。たとえばユーザが、ユーザが搭乗する予定のフライトに関する情報機器に関連付けられたキャッシュに情報コンテンツをプレロードしようとする場合、次にユーザは航空会社によって提供されるＷｅｂページを表示する。次にステップ４３０では、ユーザはインターフェースを使用して、第２の情報機器に関連付けられたキャッシュに情報コンテンツをプレロードするよう要求を出す。次に組織は、情報コンテンツを適切なキャッシュにプレロードするようにコマンドを発行する。コマンドは、第２の場所に関連付けられたプロキシ・サーバと通信すること、および第２の場所に関連付けられたキャッシュに情報コンテンツをプレロードするようにプロキシ・サーバに指示することを含むことができる。
【００１５】
図５は、本発明のユーザ・カレンダの一態様を示す図である。月次カレンダ５１０として具体化され、その月の各日に関連付けられたメモリ区画を備えたユーザ・インターフェースがユーザに提供される。図では１カ月だけが表示されているが、本発明のユーザ・カレンダは数カ月分のカレンダ情報を格納できることに留意されたい。ユーザ・カレンダは、例示的に２００１年２月６日に関連付けられているように図５に示され、たとえば月次カレンダのその日付上にマウス・ポインタを配置してダブルクリックすることによって、ユーザがアクセスすることが可能な、メモリ区画５２０も含む。メモリ区画５２０には、その日のユーザに関して任意のスケジュール済みイベント５２２および５２４のリストが含まれる。イベント５２２および５２４などの各イベントに関連付けられるのは、イベントの持続期間、イベントのタイプ、およびイベントが発生する特定の場所であることに留意されたい。ユーザ・カレンダは、スケジュール済みイベントに関連付けられたキャッシュを含むプロキシ・サーバ用のネットワーク・アドレス、およびスケジュール済みイベントを識別するために本発明が使用する固有の識別子などの、各スケジュール済みイベントに関連付けられるがユーザはアクセスすることのできない他のデータも格納する。この追加データにより、ユーザ要求に応答して、情報コンテンツを適切なキャッシュにロードすることができる。
【００１６】
ユーザ・カレンダはユーザが様々な機能を実行できるようにするものでもある。第１にユーザは、スケジュール済みイベントのリストを下方にスクロールし、四角で囲まれたイベント５２２が示すように、リストからイベントを選択することができる。カレンダには、ユーザが選択したスケジュール済みイベントを追加し５２５、選択したスケジュール済みイベントに関連付けられたデータを変更し５２６、選択したスケジュール済みイベントを削除し５２７、選択したスケジュール済みイベントに関連付けられたキャッシュにコンテンツをプレローディングするように要求する５２８ことができる、いくつかのインターフェース「ボタン」も含まれる。ユーザがコンテンツ・プレローディング・ボタンを選択したときのユーザ・カレンダのオペレーションについては、図６に関連して以下で詳細に論じる。
【００１７】
図６は、本発明のユーザ・カレンダの他の機能を示す図である。ユーザが、たとえば図５に示されたコンテンツ・プレロード・ボタン５２８をクリックすることによって、選択したスケジュール済みイベントに情報コンテンツをプレロードすることを選択すると、新しいウィンドウ６１０がユーザに表示される。新しいウィンドウは１つの選択したスケジュール済みイベントにのみ関連付けられており、この場合は飛行機のフライトＣＯ　１５００である。ユーザがコンテンツ・プレロード・ボタンを選択すると、カレンダは情報機器が現在処理中の情報コンテンツを取得し、コンテンツ・プレローディング要求をスケジュール済みイベントに関連付けられたプロキシ・サーバに伝送し、プレロードされた情報コンテンツの名前をウィンドウ６１０に表示する。
【００１８】
たとえば図６では、映画Ｒａｉｄｅｒｓ　ｏｆ　ｔｈｅ　Ｌｏｓｔ　Ａｒｋがブラウザ２０を介してダウンロードされ、メディア・プレーヤ６２２で再生される。ユーザがフライトＣＯ　１５００での渡航で使用するためにこの映画をプレロードするように選択すると、カレンダはフライトＣＯ　１５００に関連付けられたプロキシ・サーバに、この映画をプロキシ・サーバのキャッシュにプレロードするように指示し、コンテンツのプレローディングをエントリ６１２としてウィンドウ６１０に表示する。ウィンドウ６１０のエントリ６１４および６１６で示されるように、複数項目の情報コンテンツが同じキャッシュにプレロード可能であることに留意されたい。ウィンドウ６１０には、コンテンツのプレロードを格納するために現在使用されている、ユーザに割り振られたキャッシュ部分の割合を表示するための使用率インジケータ６１８も提供される。削除ボタン６１９も提供されているため、ユーザは選択された情報コンテンツの１つまたは複数項目をキャンセルすることができる。ユーザがコンテンツの項目をキャンセルするか、あるいはイベントがキャンセルまたは再スケジューリングされる場合、ユーザ・カレンダは関連付けられたサーバにメッセージを伝送し、その結果スケジューリングされたプレロードまたは情報コンテンツを削除することができる。
【００１９】
図７は、ユーザ・カレンダのデータ構造の一実施形態を示す図である。カレンダ７１０は、図５で項目５１０として示された月次カレンダである。月次カレンダ７１０の各日には、いくつかのスケジュール済みイベントが格納された、カレンダに関連付けられたメモリ区画がある。この関連付けは、月次カレンダ７１０の日を第１のスケジュール済みイベント７２０に接続するポインタによって達成される。第１のスケジュール済みイベントが、次に第２のスケジュール済みイベント７２２を指すとなっていく。スケジュール済みイベント７２０および７２２は図５のスケジュール済みイベント５２２および５２４に対応し、残りの７２４〜７２８はユーザによって追加される任意の追加のスケジュール済みイベントに対応する。
【００２０】
図８は、ユーザが、選択したスケジュール済みイベントに関連付けられたキャッシュに情報コンテンツをプレロードするように要求した場合、ユーザ・カレンダが実行するオペレーション例を示す流れ図である。ステップ８０２で、ユーザ・カレンダは、ユーザの情報コンテンツのプレロード要求を待つ。要求を受け取った後、ステップ８０４で、ユーザ・カレンダは、プレロードされる情報コンテンツのネットワーク・アドレスをユーザの情報機器に要求する。ステップ８０６で、ユーザ・カレンダは情報コンテンツのネットワーク・アドレスを受け取り、ステップ８０８で、図１の項目１１６に示されるようなプロキシ・ディレクトリと通信して、格納されたスケジュール済みイベントに関連付けられたプロキシ・サーバのプロキシ・アドレスを要求する。ステップ８１０で、ユーザ・カレンダはプロキシ・サーバ・アドレスを受け取り、ステップ８１２で、情報コンテンツをプレロードするようにプロキシ・サーバに要求する。ステップ８１４で、ユーザ・カレンダはプロキシ・サーバから肯定応答を受け取るが、この肯定応答には、プレローディング要求に関連付けられた固有のトランザクション識別子が含まれる。次にステップ８１６で、ユーザ・カレンダはプロキシ・サーバ・アドレスおよび固有の識別子を格納し、データとスケジュール済みイベントとの関連付けを維持する。データが格納された後、ユーザ・カレンダはプロセスの最初のステップに戻り、ユーザからの指示を待つことができる。
【００２１】
図９は、ユーザが情報コンテンツのプレロードを削除する要求を出したときに、ユーザ・カレンダによって実行される他のオペレーション例を示す流れ図である。ステップ９０２で、ユーザ・カレンダは、ユーザがコンテンツ・プレロードを削除する要求を出すのを待つ。要求を受け取った後、ステップ９０４でユーザ・カレンダは、削除が求められたプレローディングに関連付けられたプロキシ・サーバ・アドレスおよび固有のトランザクション識別子を読み取る。次にステップ９０６で、ユーザ・カレンダは、トランザクション識別子によって識別されたコンテンツ・プレローディングを削除する要求をプロキシ・サーバに伝送する。ステップ９０８でユーザ・カレンダは、プロキシ・サーバからの肯定応答を受け取り、ステップ９１０で、削除されたコンテンツ・プレロードに関連付けられたプロキシ・アドレスおよび固有のトランザクション識別子を削除する。
【００２２】
ユーザ・カレンダは、本発明の精神を逸脱することなく、いくつかの実施形態で提示可能であることに留意されたい。一実施形態では、ユーザ・カレンダは、個人用携帯型情報端末（ＰＤＡ）、すなわち、プロキシ・サーバとの無線通信における本発明の情報機器および他の構成要素などのスタンドアロン型ハードウェア・デバイスにインストールされたソフトウェア・プログラムであってよい。他の実施形態では、ユーザ・カレンダは、図４に関して述べた航空会社によって提供されるユーザ・インターフェースなどの、より大規模なソフトウェア・プログラムの一部としてインストールされた、ソフトウェア構成要素またはモジュールであってよい。こうした実施形態では、ユーザ・カレンダは、プロキシ・サーバとの有線通信における本発明の情報機器および他の構成要素である。
【００２３】
図１０Ａは、本発明のプロキシ・サーバがプレローディング要求を処理する際に使用する方法の一例を示す流れ図である。ステップ１０１０では、プロキシ・サーバがインターフェースから要求を受け取る。ステップ１０２０および１０３０では、プロキシ・サーバが、スケジュール済みコンテンツ・プレローディングを作成する要求であるか、スケジュール済みコンテンツ・プレローディングを削除する要求であるかを判別するために、要求を検査する。要求がコンテンツ・プレロードを作成するものであれば、プロキシ・サーバのオペレーションは図１０Ｂに進む。ただし、要求がコンテンツ・プレロード要求を削除するものであれば、プロキシ・サーバは図１０Ｃに進む。
【００２４】
図１０Ｂに示されるように、要求がプレロードを作成するものであれば、ステップ１０４０でプロキシ・サーバは要求に関する固有のトランザクション識別子を生成する。ステップ１０５０で、サーバはスケジュール済みプレロード・テーブル（ＳＰＴ）に要求を追加する。これには、情報コンテンツのネットワーク・アドレスと共に、情報コンテンツが使用されることになるスケジュール済みイベントの日付および時刻を含む、コンテンツ・プレローディングを発生させるのに必要なすべての情報を追加することが含まれる。プロキシ・サーバは、要求を受け取ると同時にコンテンツをプレロードするのではなく、すべての要求をＳＰＴに格納し、スケジュール済みイベントより前の何らかの時に、要求されたすべてのプレロードをまとめて実行することができる。ＳＰＴの詳細およびそのオペレーションについては、図１３に関連して以下で詳細に論じる。ステップ１０６０では、要求をＳＰＴにローディングした後、プロキシ・サーバは、有利な実施形態ではユーザ・カレンダである要求元に固有のトランザクション識別子およびプロキシ・サーバ・アドレスを伝送し、ステップ１０１０に戻って他のプレローディング要求を待つ。
【００２５】
図１０Ｃに示されるように、プロキシ・サーバが受け取った要求が以前のコンテンツ・プレローディング要求を削除するものであれば、ステップ１０７０でプロキシ・サーバは、第１にＳＰＴを検索し、削除要求と共に伝送されたものと合致する固有のトランザクション識別子を備えたエントリを識別する。ステップ１０８０では、合致するエントリが見つかるとＳＰＴから削除される。ステップ１０９０では、プロキシ・サーバが、エントリが削除されたことを示す肯定応答を要求の発信元（たとえばユーザ・カレンダ）に伝送し、プロキシ・サーバはステップ１０１０に戻って他の要求を待つ。
【００２６】
図１１は、本発明のプロキシ・サーバがプレローディングを実施する際に使用する方法の一例を示す流れ図である。図１０に関連して上記で述べたように、スケジュール済みプレロード・テーブル（ＳＰＴ）にはコンテンツ・プレロードの各要求のエントリが含まれる。各エントリには、固有のトランザクション識別子、要求を出したユーザのアイデンティティ、プレロードが求められる情報コンテンツのネットワーク・アドレス、プレローディングが開始される情報コンテンツ内のポイント、情報コンテンツが使用されるスケジュール済みイベントの日付および時刻、ならびにプレローディングの状況が含まれる。プレローディング状況は、プレローディング開始前、プレローディング進行中、またはプレローディング完了の、いずれかを示すことができる。
【００２７】
図１１を参照すると、ステップ１１０２で、プロキシ・サーバはＴ秒間待つが、ここでＴ秒とは、プレローディング要求の実施間隔である。ステップ１１０４では、Ｔ秒間経過した後にメモリ位置がカウンタとして指定され、整数Ｎがカウンタに格納されるが、ここでＮはＳＰＴ内にあるエントリの合計数である。ステップ１１０６で、プロキシ・サーバは、カウンタに格納された整数Ｎに対応するエントリ（すなわちＮ番目のエントリ）を読み取る。ステップ１１０８では、プレローディングの状況が読み取られる。この状況が、プレローディングがまだ開始されていないことを示すものであれば、次にステップ１１１０でプロキシ・サーバは、現在の日付および時刻がスケジュール済みイベントの日付および時刻よりもＭ分未満前であるかどうかを判定するが、ここでＭは所定の数である。スケジュール済みイベントの時刻が現在時刻よりも後であれば、ステップ１１１２でプレローディングが実行され、ステップ１１１４で、プレローディングが進行中であるかまたは完了したかのいずれかであることを示すように、要求の状況が変更される。ステップ１１１６では、プレローディングが完了した後に、カウンタが「１」だけ減分される。ステップ１１１８で、カウンタの値がゼロよりも小さい（ＳＰＴ内のすべての要求が実行されたことを示す）場合、プロセスはステップ１１０２に戻り、プロキシ・サーバは再度プレローディング要求が出されるまでＴ秒間待つ。カウンタの値がゼロより大きいかまたは等しい（ＳＰＴ内の要求がすべて実行されたのではないことを示す）場合、プロセスはステップ１１０６に戻り、プロキシ・サーバは次のプレローディング要求を実行する。
【００２８】
図１１の流れ図にはいくつかのポイントがあり、プロキシ・サーバは要求のプレローディングを実行すべきでないと決定し、その要求を飛ばして次のエントリについて考慮することが可能である。たとえばステップ１１０８で、プレローディング要求の状況が、再ローディングが進行中であるかまたは完了したことを示す場合、プロキシ・サーバはステップ１１１０〜１１１４を飛ばしてステップ１１１６に進み、カウンタは減分され、それによって次の要求を考慮すべきであるという信号が発信される。ステップ１１１０で、現在の日付および時刻がスケジュール済みイベントの日付および時刻よりもＭ分前以下である場合、ステップ１１１２〜１１１４は飛ばされ、プロセスはステップ１１１６に進む。
【００２９】
図１に関連して上記で述べたように、図１に示されたプロキシ・ディレクトリ１１６は、システムで使用されるすべてのプロキシ・サーバのネットワーク・アドレスを格納する。図１２〜１７に関連して詳細に論じるように、プロキシ・ディレクトリ１１６は、それぞれのカテゴリが異なる業界またはサービス・プロバイダを表すような様々なカテゴリに区分することができる。
【００３０】
図１２は、航空会社用の本発明のプロキシ・ディレクトリの一例を示す図である。ディレクトリには１つまたは複数のエントリが含まれ、それぞれが特定の航空機に関連付けられる。フィールド１２１０には、Ａｍｅｒｉｃａｎ　Ａｉｒｌｉｎｅｓなどの、航空機を運行する航空会社の名前が含まれる。フィールド１２２０には、ＣＯ　１５００などのフライト番号が格納される。フィールド１２３０には、フライトの日付および出発時刻が含まれる。最後のフィールド１２４０には、フライトに割り当てられた航空機に関連付けられたプロキシ・アドレスが含まれる。図では、プロキシ・アドレスはＩＰアドレスによって表されている。ただし、プロキシ・ディレクトリの一実施形態では、任意数のアドレス・フォーマットを使用してプロキシ・アドレスを指定することができる。航空会社は、航空機のプロキシ・アドレス要求を受け取るプロキシ・ディレクトリを維持することが好ましい。航空機のプロキシ・アドレスの要求は、航空会社名１２１０、フライト番号１２２０、および出発の日付および時刻１２３０を含むことができる。ディレクトリの検索が実行され、関連付けられた航空機のプロキシ・アドレス１２４０を含む応答が、要求元（たとえばユーザ・カレンダ）に返される。プロキシ・ディレクトリは任意数の方法で構成することができる。たとえば、航空機のプロキシ・ディレクトリは、１つのキャッシュを使用して航空機のすべての搭乗者に関するコンテンツを格納することが可能であり、このような場合には、１つの航空機のプロキシ・アドレス１２４０のみがフライトに関連付けられることになる。
【００３１】
図１３は、ホテル用の本発明のプロキシ・ディレクトリの一例を示す図である。フィールド１３１０には、ニューヨーク市のＳｔ．Ｒｅｇｉｓホテルなどのホテルの名前が含まれる。フィールド１３２０には、ユーザが行った予約に関連付けられた固有の予約番号が含まれる。予約番号には任意の長さの英数字シーケンスが使用できるが、この図では一例として６桁の数字が示されている。フィールド１３３０には、ホテル予約に関連付けられたプロキシ・サーバのプロキシ・アドレスが含まれる。この図では、プロキシ・アドレスはＩＰアドレスによって表されている。ただし、プロキシ・ディレクトリの一実施形態では、任意数のアドレス・フォーマットを使用してプロキシ・アドレスを指定することができる。ホテルは１つのキャッシュを使用して、１つの予約番号１３２０に関連付けられた情報コンテンツを格納することができる。ホテルは、ホテルのプロキシ・アドレス要求を受け取るプロキシ・ディレクトリを維持することが好ましい。ホテルのプロキシ・アドレス要求は、ホテル名１３１０および予約番号１３２０を含むことができる。ディレクトリの検索が実行され、関連付けられたホテルのプロキシ・アドレス１３３０を含む応答が、要求元（たとえばユーザ・カレンダ）に返される。
【００３２】
図１４は、レンタカー会社用の本発明のプロキシ・ディレクトリの一例を示す図である。フィールド１４１０には、ユーザがレンタカー用に行った予約に関連付けられた固有の予約番号が含まれる。予約番号には任意の長さの英数字シーケンスが使用できるが、この図では一例として６桁の数字が示されている。フィールド１４２０には、予約番号に関連付けられたプロキシ・アドレスが含まれる。この図では、プロキシ・アドレスはＩＰアドレスによって表されている。ただし、プロキシ・ディレクトリの一実施形態では、任意数のアドレス・フォーマットを使用してプロキシ・アドレスを指定することができる。レンタカー会社は、レンタカーのプロキシ・アドレス要求を受け取るプロキシ・ディレクトリを維持することが好ましい。レンタカーのプロキシ・アドレス要求は、予約番号１４１０を含むことができる。ディレクトリの検索が実行され、関連付けられたレンタカーのプロキシ・アドレス１４２０を含む応答が、要求元（たとえばユーザ・カレンダ）に返される。
【００３３】
図１５は、大学内の場所用の本発明のプロキシ・ディレクトリの一例を示す図である。本発明のユーザの大部分を大学生が構成することになると予想されるため、プロキシ・ディレクトリが大学の場所用に作成される。その理由の１つは、大学が学生に対して、電子情報の利用をより便利にする高帯域幅のネットワーク接続を提供するためである。また大学生は、歴史的に見て電子情報の使用に熱心であり、電子情報をより使いやすくする本発明のようなシステムを歓迎する可能性が最も高い。フィールド１５１０には、Ｔｈｅ　Ｃｏｏｐｅｒ　Ｕｎｉｏｎなどの大学の名前が含まれる。フィールド１５２０には、「Ｈｅｗｉｔｔ」などの大学内の建物の名前が含まれる。フィールド１５３０には、部屋番号２０７などの建物内の部屋番号が含まれる。この部屋は、ユーザが映画を見たい寮の一室であるか、またはユーザがマルチメディアのプレゼンテーションをしたい教室であってよい。フィールド１５４０は、フィールド１５３０で指定された部屋に関連付けられたプロキシ・アドレスである。この図では、プロキシ・アドレスはＩＰアドレスによって表されている。ただし、プロキシ・ディレクトリの一実施形態では、任意数のアドレス・フォーマットを使用してプロキシ・アドレスを指定することができる。大学は、プロキシ・アドレス要求を受け取るプロキシ・ディレクトリを維持することが好ましい。プロキシ・アドレス要求は、大学名１５１０、建物名１５２０、および部屋番号１５３０を含むことができる。ディレクトリの検索が実行され、関連付けられたプロキシ・アドレス１５４０を含む応答が、要求元（たとえばユーザ・カレンダ）に返される。
【００３４】
図１６は、インターネット・サービス・プロバイダ用の本発明のプロキシ・ディレクトリの一例を示す図である。本発明は、ユーザが情報コンテンツを物理的な場所にある物理的な情報機器にプレローディングできるようにするだけではなく、ユーザが情報コンテンツを仮想上のネットワーク位置にもプレローディングできるようにするものである。ユーザがインターネット・サービス・プロバイダによって運営されているネットワーク接続を介して情報コンテンツを表示する場合は、情報コンテンツをインターネット・サービス・プロバイダにプレローディングするように選択することが可能であり、別の場所で別のネットワーク接続を確立したときには、同じインターネット・サービス・プロバイダを介して同じ情報コンテンツを表示することができる。フィールド１６１０のインターネット・サービス・プロバイダのプロキシ・ディレクトリには、ユーザ識別子が含まれる。予約番号には任意の長さの英数字シーケンスが使用できるが、この図では一例として６桁の数字が示されている。フィールド１６２０には、ユーザに対処するプロキシのアドレスが含まれる。この図では、プロキシ・アドレスはＩＰアドレスによって表されている。ただし、プロキシ・ディレクトリの一実施形態では、任意数のアドレス・フォーマットを使用してプロキシ・アドレスを指定することができる。
【００３５】
図１７は、自動車製造業者によって維持される本発明のプロキシ・ディレクトリの一例を示す図である。フィールド１７１０には、車両識別番号（ＶＩＮ）が含まれる。予約番号には任意の長さの英数字シーケンスが使用できるが、この図では一例として６桁の数字が示されている。フィールド１７２０には、自動車に関連付けられたプロキシ・アドレスが含まれる。この図では、プロキシ・アドレスはＩＰアドレスによって表されている。ただし、プロキシ・ディレクトリの一実施形態では、任意数のアドレス・フォーマットを使用してプロキシ・アドレスを指定することができる。自動車製造業者は、プロキシ・アドレス要求を受け取るプロキシ・ディレクトリを維持することが好ましい。プロキシ・アドレス要求は、ＶＩＮ　１７１０を含むことができる。ディレクトリの検索が実行され、関連付けられたプロキシ・アドレス１７２０を含む応答が、要求元（たとえばユーザ・カレンダ）に返される。
【００３６】
プレローディング要求が行われるときに、プレローディングが実行される情報機器の実際の物理的場所が特定できていない場合があることに留意することが重要である。たとえば、フライトの場合、ユーザは特定の航空会社の特定のフライト番号にプレローディングを要求することができるが、航空会社は要求時にはまだそのフライトに航空機を割り当てていない場合がある。同様の状況が、レンタカー、ホテルの部屋、および他の場所でも考えられる。こうした場合に本発明は、情報コンテンツを一時プロキシにプレローディングすることになる。プレローディング用の情報機器の物理的場所に関する情報が利用できる場合、一時プロキシのスケジュール済みプレロード・テーブル（ＳＰＴ）は情報機器に関連付けられたプロキシ・サーバに転送され、その結果情報コンテンツは、情報機器に関連付けられたキャッシュに転送されることになる。
【００３７】
図１８は、情報コンテンツのプレロードに対して発生する料金を記録するために課金サーバと通信することのできるプロキシ・サーバが使用する、メッセージ・フォーマットの一例を示す図である。メッセージのフィールド１８１０には、固有のユーザ識別子が含まれる。フィールド１８２０には、フィールド２０１０で識別されたユーザの要求時にプレロードされた、情報コンテンツに関するネットワーク・アドレスが含まれる。フィールド１８３０には、プレローディングが実行された日付および時刻が含まれる。プレローディングが実行された時間に大いに依存して料金が請求されるので、フィールド１８３０は重要である。たとえば、プレロードの料金は午後などのピーク・トラフィック時間が最も高く、早朝が最も安い場合がある。
【００３８】
以上、本発明の例示的な実施形態および様々な修正形態について、添付の図面を参照しながら本明細書で詳細に述べてきたが、本発明はこれらの詳細な実施形態および記載された修正形態に限定されるものではなく、当分野の技術者であれば、添付の特許請求の範囲に定義されたように本発明の範囲および精神を逸脱することなく、様々な変更および他の修正形態が実行可能であることを理解されよう。
【図面の簡単な説明】
【図１】本発明の一実施形態の様々な構成要素を示す図である。
【図２】本発明のユーザによって実行されるアクション・シーケンスの一例を示す流れ図である。
【図３】本発明のユーザによって実行されるアクション・シーケンスの他の例を示す流れ図である。
【図４】本発明のユーザによって実行されるアクション・シーケンスの他の例を示す流れ図である。
【図５】本発明のユーザ・カレンダの一態様を示す図である。
【図６】本発明のユーザ・カレンダの他の機能を示す図である。
【図７】ユーザ・カレンダのデータ構造の一実施形態を示す図である。
【図８】ユーザ・カレンダによって実行されるオペレーションの一例を示す流れ図である。
【図９】ユーザ・カレンダによって実行されるオペレーションの他の例を示す流れ図である。
【図１０Ａ】本発明のプロキシ・サーバによって実行されるオペレーションの一例を示す流れ図である。
【図１０Ｂ】本発明のプロキシ・サーバによって実行されるオペレーションの一例を示す流れ図である。
【図１０Ｃ】本発明のプロキシ・サーバによって実行されるオペレーションの一例を示す流れ図である。
【図１１】プロキシ・サーバによって実行されるオペレーションの他の例を示す流れ図である。
【図１２】航空会社用の本発明のプロキシ・ディレクトリの一例を示す図である。
【図１３】ホテル用の本発明のプロキシ・ディレクトリの一例を示す図である。
【図１４】レンタカー用の本発明のプロキシ・ディレクトリの一例を示す図である。
【図１５】大学内の場所用の本発明のプロキシ・ディレクトリの一例を示す図である。
【図１６】インターネット・サービス・プロバイダ用の本発明のプロキシ・ディレクトリの一例を示す図である。
【図１７】自動車用の本発明のプロキシ・ディレクトリの一例を示す図である。
【図１８】本発明の一実施形態で使用される課金サーバへの通信例を示す図である。
【図１】
2004005447.tif 000003
【図２】
2004005447.tif 000004
【図３】
2004005447.tif 000005
【図４】
2004005447.tif 000006
【図５】
2004005447.tif 000007
【図６】
2004005447.tif 000008
【図７】
2004005447.tif 000009
【図８】
2004005447.tif 000010
【図９】
2004005447.tif 000011
【図１０Ａ】
2004005447.tif 000012
【図１０Ｂ】
2004005447.tif 000013
【図１０Ｃ】
2004005447.tif 000014
【図１１】
2004005447.tif 000015
【図１２】
2004005447.tif 000016
【図１３】
2004005447.tif 000017
【図１４】
2004005447.tif 000018
【図１５】
2004005447.tif 000019
【図１６】
2004005447.tif 000020
【図１７】
2004005447.tif 000021
【図１８】
2004005447.tif 000022