(57)【特許請求の範囲】
【請求項１】
短縮ユニフォームリソースロケータ(URL)の対象に関するメタデータを取得するためのユーザ機器(UE)によって実行される方法であって、
前記短縮URLをサーバに送信するステップと、
実際のURLへのポインタを含む応答を前記サーバから受信するステップと、
前記実際のURLに関連するヘッダ情報を求める要求を前記サーバに送信することによって、前記実際のURLに関するメタデータを前記サーバに要求するステップと、
前記実際のURLの前記ヘッダ情報を前記サーバから受信するステップとを含む、方法。
【請求項２】
前記サーバは、URL短縮サーバである、請求項1に記載の方法。
【請求項３】
前記ヘッダ情報を求める前記要求は、前記実際のURLへの前記ポインタを含むハイパーテキストトランスポートプロトコル(HTTP)メッセージを含む、請求項1に記載の方法。
【請求項４】
前記HTTPメッセージはHTTP HEADメッセージである、請求項3に記載の方法。
【請求項５】
前記メタデータを受信する前記ステップは、前記メタデータを含むHTTPメッセージを受信するステップを含む、請求項1に記載の方法。
【請求項６】
前記HTTPメッセージはHTTP 200メッセージである、請求項5に記載の方法。
【請求項７】
前記メタデータは、
前記実際のURL、
前記実際のURLに位置するコンテンツのタイプ、
前記実際のURLに位置するコンテンツのサイズ、または
前記実際のURLに位置するコンテンツに関連するホスト名
のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項８】
前記実際のURLに位置するコンテンツを、前記コンテンツをホスティングするコンテンツサーバに要求するステップと、
前記コンテンツサーバから前記コンテンツを受信するステップとをさらに含む、請求項1に記載の方法。
【請求項９】
プロセッサと、
前記プロセッサに結合されるメモリと
を備え、
前記メモリが、請求項1から8のいずれか一項に記載の方法を前記プロセッサに実行させるための少なくとも1つの命令を含む、ユーザ機器(UE)。
【請求項１０】
請求項1から8のいずれか一項に記載の方法を通信エンティティに実行させるための少なくとも1つの命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、短縮URLにアクセスするためのプリエンプティブフレームワークを提供することを対象とする。
【背景技術】
【０００２】
ショートメッセージサービス(SMS)、マイクロブロギングサービスなどの特定のメッセージングシステムは、メッセージにおいて送信することのできる文字の数を制限する。短縮ユニフォームリソースロケータ(URL)は、そのようなシステムにおいてURLを表す好都合な方法である。ユーザは、完全な長さのURLを送信するのではなく、実際のURLの実質的により短いバージョンであるが、それにもかかわらず同じ位置に向けられる短縮URLを送信してよい。ユーザが短縮URLを作成するのを可能にするいくつかのURL短縮サービスがある。
【０００３】
たとえば、URL http://example.com/index.asp?mod=profiles&id=193はhttp://examp.le/3plcydxに変換されてよい。実際のURLは48文字の長さであり、一方、短縮URLは23文字の長さである。
【０００４】
短縮URLは実際のURLを曖昧にする。したがって、ユーザは、短縮URLを受信したときに、短縮URLをクリックするまでその短縮URLの対象を知ることができない。その結果、短縮URLは、予期せぬサイト、詐欺(scam)ページ、またはマルウェアもしくはクロスサイトスクリプティング(XSS)アタックを含むページに転送するために使用されることがある。マルウェアまたはXSSアタックを含むページは、短縮URLを使用してURLブラックリストをバイパスすることが多い。このため、いくつかのウェブサイトは短縮URLがポスティングされるのを妨げている。
【発明の概要】
【課題を解決するための手段】
【０００５】
本開示は、短縮ユニフォームリソースロケータ(URL)の対象に関するメタデータを取得することを対象とする。一実施形態は、短縮URLをサーバに送信し、実際のURLへのポインタを含む応答をサーバから受信し、実際のURLに関するメタデータをサーバに要求し、実際のURLのメタデータをサーバから受信する。一実施形態は、短縮URLの対象を確認する。この実施形態は、短縮URLを受信し、短縮URLに基づいて実際のURLに関するメタデータを取得し、メタデータからホストウェブサイトを抽出し、実際のURLがホストウェブサイトを指すかどうかを判定し、判定の結果の通知を送信する。
【０００６】
本発明の実施形態およびその付随する利点の多くのより完全な理解は、以下の詳細な説明を参照し、本発明を限定するためではなく単に例示するために提示される添付の図面とともに考察することによってよりよく理解されれば、容易に得られるであろう。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態によるワイヤレス通信システムのハイレベルシステムアーキテクチャを示す図である。
【図２】本発明の一実施形態によるユーザ機器(UE)の例を示す図である。
【図３】本発明の実施形態による、機能を実行するように構成された論理を含む通信デバイスを示す図である。
【図４】例示的な短縮URLコールフローを示す図である。
【図５】一実施形態によるに例示的な短縮URLコールフローを示す図である。
【図６】一実施形態によるUEの例示的なスクリーンショットを示す図である。
【図７】UEまたはサーバによって実行できる実施形態の例示的なフローを示す図である。
【図８】短縮URLの対象が確認される一実施形態の例示的なフローを示す図である。
【発明を実施するための形態】
【０００８】
本発明の特定の実施形態を対象とする以下の説明および関連する図面で、本発明の態様が開示される。本発明の範囲から逸脱することなく、代替の実施形態が考案され得る。さらに、本発明の関連する詳細を不明瞭にしないように、本発明のよく知られている要素は詳細に記載されないか、または省略される。
【０００９】
「例示的」および/または「例」という用語は、本明細書では「例、事例、または例示として機能すること」を意味するために使用される。本明細書で「例示的」および/または「例」として説明されるいかなる実施形態も、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されるべきではない。同様に、「本発明の実施形態」という用語は、本発明のすべての実施形態が、論じられた特徴、利点または動作モードを含むことを必要としない。
【００１０】
さらに、多くの実施形態について、たとえばコンピューティングデバイスの要素によって実行されるべき、一連の動作に関して説明する。本明細書で説明される様々な動作は、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つまたは複数のプロセッサによって実行されるプログラム命令によって、あるいは両方の組合せによって実行され得ることを認識されよう。さらに、本明細書で説明されるこれらの一連の動作は、実行時に、関連するプロセッサに本明細書で説明される機能を実行させるコンピュータ命令の対応するセットを記憶した、任意の形式のコンピュータ可読記憶媒体内で全体として具現化されるものと見なされ得る。したがって、本発明の様々な態様は、請求する主題の範囲内にすべて入ることが企図されているいくつかの異なる形式で具現化され得る。さらに、本明細書で説明される実施形態ごとに、任意のそのような実施形態の対応する形式は、本明細書では、たとえば、説明されるアクションを実行する「ように構成された論理」として記述されることがある。
【００１１】
本明細書ではユーザ機器(UE)と呼ばれるクライアントデバイスは、モバイルであってもまたは固定されていてもよく、かつ無線アクセスネットワーク(RAN)と通信してよい。本明細書で使用する「UE」という用語は、「アクセス端末」または「AT」、「ワイヤレスデバイス」、「加入者デバイス」、「加入者端末」、「加入者局」、「ユーザ端末」、またはUT、「モバイル端末」、「移動局」、およびそれらの変化形と互換的に参照されてよい。一般に、UEは、RANを介してコアネットワークと通信してよく、コアネットワークを通じてインターネットなどの外部ネットワークに接続されてよい。もちろん、UEには、有線アクセスネットワーク、(たとえば、IEEE 802.11などに基づく)WiFiネットワークなど、コアネットワークおよび/またはインターネットに接続する他の機構も考えられる。UEは、限定はしないが、PCカード、コンパクトフラッシュ（登録商標）デバイス、外付けまたは内蔵のモデム、あるいはワイヤレスまたは有線の電話などを含むいくつかのタイプのデバイスのうちの任意のものによって具体化されてよい。UEが信号をRANに送ることができる通信リンクは、アップリンクチャネル(たとえば、逆方向トラフィックチャネル、逆方向制御チャネル、アクセスチャネルなど)と呼ばれる。RANが信号をUEに送ることができる通信リンクは、ダウンリンクまたは順方向リンクチャネル(たとえば、ページングチャネル、制御チャネル、ブロードキャストチャネル、順方向トラフィックチャネルなど)と呼ばれる。トラフィックチャネル(TCH)という用語は、本明細書で使用される場合、アップリンク/逆方向またはダウンリンク/順方向トラフィックチャネルのいずれかを指し得る。
【００１２】
図1は、本発明の一実施形態によるワイヤレス通信システム100のハイレベルシステムアーキテクチャを示す図である。ワイヤレス通信システム100はUE 1...Nを含む。UE 1...Nは、携帯電話、携帯情報端末(PDA)、ページャ、ラップトップコンピュータ、デスクトップコンピュータなどを含んでよい。たとえば、図1において、UE 1...2は発呼側携帯電話として示され、UE 3...5はタッチスクリーン携帯電話またはスマートフォンとして示され、UE NはデスクトップコンピュータまたはPCとして示されている。
【００１３】
図1を参照すると、UE 1...Nは、図1にエアインターフェース104、106、108および/または直接的な有線接続として示されている物理通信インターフェースまたはレイヤを介してアクセスネットワーク(たとえば、RAN120、アクセスポイント125など)と通信するように構成される。エアインターフェース104および106は、所与の携帯通信プロトコル(たとえば、CDMA、EVDO、eHRPD、GSM（登録商標）、EDGE、W-CDMA、LTEなど)に準拠してよく、一方、エアインターフェース108はワイヤレスIPプロトコル(たとえば、IEEE 802.11)に準拠してよい。RAN120は、エアインターフェース104および106などのエアインターフェースを介してUEにサービスする複数のアクセスポイントを含む。RAN120内のアクセスポイントは、アクセスノードまたはAN、アクセスポイントまたはAP、基地局またはBS、Node B、eNode Bなどと呼ばれてよい。これらのアクセスポイントは、地上アクセスポイント(もしくは地上局)または衛星アクセスポイントであってよい。RAN120は、RAN120によってサービスされるUEとRAN120または異なるRANによってサービスされる他のUEとの間の回線交換(CS)呼を完全にブリッジすることを含む様々な機能を実行することができ、かつインターネット175などの外部ネットワークとのパケット交換(PS)データの交換を仲介することもできるコアネットワーク140に接続するように構成される。インターネット175は、いくつかのルーティングエージェントおよび処理エージェント(便宜上図1には示されていない)を含む。図1において、UE Nはインターネット175に直接接続する(すなわち、WiFiまたは802.11ベースネットワークのイーサネット（登録商標）接続を介するなど、コアネットワーク140から分離される)ように示されている。それによって、インターネット175は、コアネットワーク140を介してUE NとUE 1...Nとの間のパケット交換データ通信をブリッジするように働いてよい。図1には、RAN120から分離されたアクセスポイント125も示されている。アクセスポイント125は、コアネットワーク140とは無関係に(たとえば、FiOS、ケーブルモデムなどの光通信システムを介して)インターネット175に接続されてよい。エアインターフェース108は、一例ではIEEE 802.11などのローカルワイヤレス接続を介してUE4またはUE5にサービスしてよい。UE Nは、一例では(たとえば、有線接続性とワイヤレス接続性の両方を有するWiFiルータ用の)アクセスポイント125自体に相当してよいモデムまたはルータとの直接接続などのインターネット175との有線接続を含むデスクトップコンピュータとして示されている。
【００１４】
図1を参照すると、アプリケーションサーバ170は、インターネット175、コアネットワーク140、またはその両方に接続されるように示されている。アプリケーションサーバ170は、構造的に分離された複数のサーバとして実装されてよく、または代替として単一のサーバに相当してもよい。以下により詳しく説明するように、アプリケーションサーバ170は、コアネットワーク140および/またはインターネット175を介してアプリケーションサーバ170に接続することのできるUEについて1つまたは複数の通信サービス(たとえば、Voice-over-Internet Protocol(VolP)セッション、Push-to-Talk(PTT)セッション、グループ通信セッション、ソーシャルネットワーキングサービスなど)をサポートするように構成される。
【００１５】
図2は、本発明の実施形態によるUEの例を示す。図2を参照すると、UE200Aは発呼側電話として示され、UE200Bはタッチスクリーンデバイス(たとえば、スマートフォン、タブレットコンピュータなど)として示されている。図2に示すように、UE200Aの外部ケーシングは、当技術分野で知られているように、アンテナ205A、ディスプレイ210A、少なくとも1つのボタン215A(たとえば、PTTボタン、電源ボタン、音量調節ボタンなど)、キーパッド220Aなどの構成要素を備える。また、UE200Bの外部ケーシングは、当技術分野で知られているように、タッチスクリーンディスプレイ205B、周辺ボタン210B、215B、220B、および225B(たとえば、電力調節ボタン、音量または振動調節ボタン、飛行機モードトグルボタンなど)、少なくとも1つのフロントパネルボタン230B(たとえば、ホームボタン)などの構成要素を備える。UE200Bの一部として明示的に示されてはいないが、UE200Bは、限定はしないが、WiFiアンテナ、携帯アンテナ、衛星位置システム(SPS)アンテナ(例えば、全地球測位システム(GPS)アンテナ)などを含む1本もしくは複数の外部アンテナおよび/またはUE200Bの外部ケーシングに内蔵された1本または複数の集積アンテナを含んでよい。
【００１６】
UE200AおよびUE200BなどのUEの内部構成要素は、それぞれに異なるハードウェア構成によって具体化されてよいが、内部ハードウェア構成要素のための基本的なハイレベルUE構成は図2にプラットフォーム202として示されている。プラットフォーム202は、最終的にコアネットワーク140、インターネット175、および/または他のリモートサーバおよびネットワーク(たとえば、アプリケーションサーバ170、ウェブURLなど)から得ることのできるRAN120から送信されたソフトウェアアプリケーション、データ、および/またはコマンドを受信し実行してよい。プラットフォーム202は、ローカルに記憶されたアプリケーションをRAN対話なしで独立して実行してよい。プラットフォーム202は、特定用途向け集積回路(ASIC)208または他のプロセッサ、マイクロプロセッサ、論理回路、または他のデータ処理デバイスに動作可能に結合された送受信機206を含み得る。ASIC208または他のプロセッサは、ワイヤレスデバイスのメモリ212中の任意の常駐プログラムとインターフェースするアプリケーションプログラミングインターフェース(API)210レイヤを実行する。メモリ212は、読取り専用メモリ(ROM)もしくはランダムアクセスメモリ(RAM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュカード、またはコンピュータプラットフォームに共通する任意のメモリから構成されてよい。プラットフォーム202は、メモリ212中でアクティブに使用されないアプリケーションならびに他のデータを記憶することができるローカルデータベース214も含み得る。ローカルデータベース214は、一般にフラッシュメモリセルであるが、磁気媒体、EEPROM、光学媒体、テープ、ソフトまたはハードディスクなど、当技術分野で知られている任意の二次記憶デバイスであってもよい。
【００１７】
したがって、本発明のある実施形態は、本明細書で説明された機能を実行する能力を含むUE(たとえば、UE200A、200Bなど)を含み得る。当業者が了解するように、様々な論理要素は、本明細書で開示される機能を達成するために、個別の要素、プロセッサ上で実行されるソフトウェアモジュール、またはソフトウェアとハードウェアとの任意の組合せで具現化され得る。たとえば、ASIC208、メモリ212、API210およびローカルデータベース214がすべて協働的に使用されて、本明細書で開示される様々な機能をロードし、記憶し、実行することができ、したがってこれらの機能を実行するための論理は様々な要素にわたって分散され得る。代替的に、機能は、1つの個別コンポーネントに組み込まれ得る。したがって、図2のUE200AおよびUE200Bの特徴は、単に例示にすぎないものと見なされ、本発明は、示された特徴または構成に限定されない。
【００１８】
UE200Aおよび/またはUE200BとRAN120との間のワイヤレス通信は、たとえばCDMA、W-CDMA、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交周波数分割多元(OFDM)、GSM（登録商標）、またはワイヤレス通信ネットワークもしくはデータ通信ネットワークで使用され得る他のプロトコルのような、様々な技術に基づき得る。上で説明し、かつ当技術分野で知られているように、音声送信、および/またはデータは、様々なネットワークおよび構成を使用してRANからUEに送信され得る。したがって、本明細書で提供される例は、本発明の実施形態を限定するためのものではなく、単に本発明の実施形態の態様の説明を助けるためのものにすぎない。
【００１９】
図3は、本発明のある実施形態による、機能を実行するように構成された論理を含む通信デバイス300を示す。通信デバイス300は、限定はしないが、UE200Aまたは200B、RAN120の任意の構成要素、コアネットワーク140の任意の構成要素、コアネットワーク140および/またはインターネット175に結合された任意の構成要素(たとえば、アプリケーションサーバ170)などを含む、上記の通信デバイスのうちのいずれかに相当してよい。したがって、通信デバイス300は、図1のワイヤレス通信システム100を通じて1つまたは複数の他のエンティティと通信する(または通信を容易にする)ように構成された任意の電子デバイスに対応し得る。
【００２０】
図3を参照すると、通信デバイス300は、情報を受信しかつ/または送信するように構成された論理305を含む。ある例では、通信デバイス300がワイヤレス通信デバイス(たとえば、UE200Aまたは200B)に対応する場合、情報を受信および/または送信するように構成された論理305は、ワイヤレス送受信機および関連するハードウェア(たとえば、RFアンテナ、モデム、変調器および/または復調器など)のようなワイヤレス通信インターフェース(たとえば、Bluetooth（登録商標）、WiFi、2G、CDMA、W-CDMA、3G、4G、LTEなど)を含み得る。別の例では、情報を受信および/または送信するように構成された論理305は、有線通信インターフェース(たとえば、インターネット175にアクセスする手段となり得るシリアル接続、USBまたはFirewire接続、イーサネット（登録商標）接続など)に対応し得る。したがって、通信デバイス300が何らかのタイプのネットワークベースのサーバ(たとえば、アプリケーションサーバ170)に対応する場合、情報を受信および/または送信するように構成された論理305は、一例では、ネットワークベースのサーバをイーサネット（登録商標）プロトコルを介して他の通信エンティティに接続するイーサネット（登録商標）カードに対応し得る。さらなる一例では、情報を受信および/または送信するように構成された論理305は、通信デバイス300がそのローカル環境を監視する手段となり得る知覚または測定ハードウェア(たとえば、加速度計、温度センサ、光センサ、ローカルRF信号を監視するためのアンテナなど)を含んでよい。情報を受信および/または送信するように構成された論理305は、実行されると、その受信および/または送信機能を実施するための、情報を受信および/または送信するように構成された論理305の関連ハードウェアを許可するソフトウェアも含み得る。ただし、情報を受信および/または送信するように構成された論理305は、ソフトウェア単体に対応するのではなく、情報を受信および/または送信するように構成された論理305は、その機能を遂行するためのハードウェアに少なくとも部分的に依拠する。
【００２１】
図3を参照すると、通信デバイス300は、情報を処理するように構成された論理310をさらに含む。ある例では、情報を処理するように構成された論理310は、少なくともプロセッサを含み得る。情報を処理するように構成された論理310によって実施することができる処理タイプの例示的実装形態は、判断を実施すること、接続を確立すること、異なる情報選択肢の間での選択を行うこと、データに関連した評価を実施すること、測定動作を実施するための、通信デバイス300に結合されたセンサと対話すること、ある形式から別の形式に(たとえば、.wmvから.aviなど、異なるプロトコルの間で)情報を変換することなどを含むが、それに限定されない。たとえば、情報を処理するように構成された論理310に含まれるプロセッサは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、ASIC、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明する機能を実施するように設計されたそれらの任意の組合せに相当し得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。情報を処理するように構成された論理310は、実行されると、その処理機能を実施するための、情報を処理するように構成された論理310の関連ハードウェアを許可するソフトウェアも含み得る。ただし、情報を処理するように構成された論理310は、ソフトウェア単体に対応するのではなく、情報を処理するように構成された論理310は、その機能を遂行するためのハードウェアに少なくとも部分的に依拠する。
【００２２】
図3を参照すると、通信デバイス300は、情報を記憶するように構成された論理315をさらに含む。ある例では、情報を記憶するように構成された論理315は、少なくとも非一時的メモリおよび関連ハードウェア(たとえば、メモリコントローラなど)を含み得る。たとえば、情報を記憶するように構成された論理315に含まれる非一時的メモリは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体に相当し得る。情報を記憶するように構成された論理315は、実行されると、その記憶機能を実施するための、情報を記憶するように構成された論理315の関連ハードウェアを許可するソフトウェアも含み得る。ただし、情報を記憶するように構成された論理315は、ソフトウェア単体に対応するのではなく、情報を記憶するように構成された論理315は、その機能を遂行するためのハードウェアに少なくとも部分的に依拠する。
【００２３】
図3を参照すると、通信デバイス300はさらに、情報を提示するように構成された論理320を任意選択で含む。一例では、情報を提示するように構成された論理320は、少なくとも出力デバイスおよび関連ハードウェアを含んでよい。たとえば、出力デバイスは、ビデオ出力デバイス(たとえば、ディスプレイスクリーン、USB、HDMI（登録商標）など、ビデオ情報を搬送することができるポートなど)、オーディオ出力デバイス(たとえば、スピーカー、マイクロフォンジャック、USB、HDMI（登録商標）など、オーディオ情報を搬送することができるポートなど)、振動デバイス、および/または情報が出力のためにフォーマットされるか、通信デバイス300のユーザもしくはオペレータによって実際に出力される手段となり得る任意の他のデバイスを含んでよい。たとえば、通信デバイス300が図2に示すようにUE200AまたはUE200Bに相当する場合、情報320を提示するように構成された論理は、UE200Aのディスプレイ210AまたはUE200Bのタッチスクリーンディスプレイ205Bを含んでよい。さらに別の例では、情報を提示するように構成された論理320は、ローカルユーザをもたないネットワーク通信デバイス(たとえば、ネットワークスイッチやルータ、リモートサーバなど)など、いくつかの通信デバイスに関しては省いてもよい。情報を提示するように構成された論理320は、実行されると、その提示機能を実施するための、情報を提示するように構成された論理320の関連ハードウェアを許可するソフトウェアも含み得る。ただし、情報を提示するように構成された論理320は、ソフトウェア単体に対応するのではなく、情報を提示するように構成された論理320は、その機能を遂行するためのハードウェアに少なくとも部分的に依拠する。
【００２４】
図3を参照すると、通信デバイス300はさらに、ローカルユーザ入力を受け取るように構成された論理325を任意選択で含む。ある例では、ローカルユーザ入力を受け取るように構成された論理325は、少なくともユーザ入力デバイスおよび関連ハードウェアを含み得る。たとえば、ユーザ入力デバイスは、ボタン、タッチスクリーンディスプレイ、キーボード、カメラ、オーディオ入力デバイス(たとえば、マイクロフォンジャックのようなオーディオ情報を搬送することができるマイクロフォンもしくはポートなど)、および/または、通信デバイス300のユーザまたは操作者から情報を受け取る際の手段となり得る任意の他のデバイスを含み得る。たとえば、通信デバイス300が図2に示すようにUE200AまたはUE200Bに相当する場合、ローカルユーザ入力325を受信するように構成された論理は、キーパッド220A、ボタン215Aまたは210B〜225Bのうちのいずれか、タッチスクリーンディスプレイ205Bを含んでよい。さらに別の例では、ローカルユーザ入力を受け取るように構成された論理325は、ローカルユーザをもたないネットワーク通信デバイス(たとえば、ネットワークスイッチやルータ、リモートサーバなど)のような、いくつかの通信デバイスに対しては省略されてよい。ローカルユーザ入力を受け取るように構成された論理325は、実行されると、ローカルユーザ入力を受け取るように構成された論理325の関連ハードウェアがその入力受取機能を実行することを可能にする、ソフトウェアも含み得る。しかしながら、ローカルユーザ入力を受け取るように構成された論理325は、ソフトウェア単体に対応するのではなく、ローカルユーザ入力を受け取るように構成された論理325は、その機能を達成するためのハードウェアに少なくとも部分的に依拠する。
【００２５】
図3を参照すると、305〜325の構成された論理は、図3では別個または相異なるブロックとして示されているが、それぞれの構成された論理がその機能を実施するためのハードウェアおよび/またはソフトウェアは、部分的に重複し得ることが了解されよう。たとえば、305〜325の構成された論理の機能を容易にするのに使われるどのソフトウェアも、情報を記憶するように構成された論理315に関連付けられた非一時的メモリに記憶することができ、そうすることによって、305〜325の構成された論理は各々、その機能(すなわち、この場合、ソフトウェア実行)を、情報を記憶するように構成された論理315によって記憶されたソフトウェアの動作に部分的に基づいて実施する。同様に、構成された論理のうちの1つに直接関連付けられたハードウェアは、他の構成された論理によって時々借り、または使うことができる。たとえば、情報を処理するように構成された論理310のプロセッサは、データを、情報を受信および/または送信するように構成された論理305によって送信される前に、適切な形式にフォーマットすることができ、そうすることによって、情報を受信および/または送信するように構成された論理305は、その機能(すなわち、この場合、データの送信)を、情報を処理するように構成された論理310に関連付けられたハードウェア(すなわち、プロセッサ)の動作に部分的に基づいて実施する。
【００２６】
概して、別段に明示的に記載されていない限り、本開示全体にわたって使用される「ように構成された論理」という句は、ハードウェアにより少なくとも部分的に実施される実施形態を呼び出すものとし、ハードウェアから独立したソフトウェアだけの実施形態に位置づけるものではない。様々なブロックにおける構成された論理または「ように構成された論理」は、特定の論理ゲートまたは論理要素に限定されるのではなく、概して、本明細書に記載した機能を、(ハードウェアまたはハードウェアとソフトウェアの組合せのいずれかを介して)実施するための能力を指すことが了解されよう。したがって、様々なブロックに示す構成された論理または「ように構成された論理」は、「論理」という言葉を共有するにもかかわらず、必ずしも論理ゲートまたは論理要素として実装されるわけではない。様々なブロックのロジック間の他の対話または協働が、後でより詳しく説明する実施形態の検討から、当業者には明らかになるであろう。
【００２７】
ショートメッセージサービス(SMS)、マイクロブロギングサービスなどの特定のメッセージングシステムは、メッセージにおいて送信することのできる文字の数を制限する。短縮ユニフォームリソースロケータ(URL)は、そのようなシステムにおいてURLを表す好都合な方法である。ユーザは、完全な長さのURLを送信するのではなく、実際のURLの実質的により短いバージョンであるが、それにもかかわらず同じ位置に向けられる短縮URLを送信してよい。ユーザが短縮URLを作成するのを可能にするいくつかのURL短縮サービスがある。
【００２８】
たとえば、URL http://example.com/index.asp?mod=profiles&id=193は、http://examp.le/3plcydxに変換されてよい。実際のURLは48文字の長さであり、一方、短縮URLは23文字の長さである。
【００２９】
あるURLに位置するコンテンツは通常、ハイパーテキストトランスポートプロトコル(HTTP)を使用して取得される。HTTPは、クライアントサーバコンピューティングモデルの要求応答プロトコルである。クライアントは、特定のURLに位置するウェブページなどのコンテンツを取得したいとき、URLによって特定されるサーバにHTTP GET要求を送信する。サーバは、HTTP応答ヘッダおよびコンテンツによって応答する。応答ヘッダは、Location、Host、Content-Type、Content-Length、Serverなど、サーバおよびURLによって特定されるコンテンツへのさらなるアクセスに関する情報を与えるヘッダフィールドを含む。
【００３０】
図4は、例示的な短縮URLコールフローを示す。410において、UE405は短縮URLを受信する。短縮URLは、たとえば、マイクロブロギングサービスからマイクロポストで受信されてもよい。420において、UE405は、短縮URLに位置するコンテンツを要求するHTTP GETメッセージをURL短縮サーバ415に送信する。URL短縮サーバ415は、実際のURLから短縮URLを作成したサーバであり、短縮URLによって特定される。430において、URL短縮サーバ415は、応答ヘッダのLocationフィールドに実際のURLへのポインタを含む、HTTP 301 "Moved Permanently"応答によって応答する。このポインタは通常、実際のURLを含む転送URLである。440において、UE405は、実際のURLに位置するコンテンツを要求するHTTP GETメッセージを、実際のURLで特定されるコンテンツサーバ425に送信する。450において、コンテンツサーバ425は、HTTP 200 "OK"応答によって応答する。この応答は、コンテンツヘッダと実際のURLに位置するコンテンツとを含む。
【００３１】
短縮URLは実際のURLを曖昧にする。したがって、ユーザは、短縮URLを受信したときに、短縮URLをクリックするまでその短縮URLの対象を知ることができない。その結果、短縮URLは、予期せぬサイト、詐欺ページ、またはマルウェアもしくはクロスサイトスクリプティング(XSS)アタックを含むページに転送するために使用されることがある。マルウェアまたはXSSアタックを含むページは、短縮URLを使用してURLブラックリストをバイパスすることが多い。このため、いくつかのウェブサイトは短縮URLがポスティングされるのを妨げている。
【００３２】
短縮URLによる問題のいくつかに対処する現行の解決策がある。あるサービスでは、ユーザは短縮URLを探索フィールドに入力し、実際のURLを回復する。別のサービスでは、URLストリング自体に「プレビュー」フィールドを有する短縮URLを生成する。これらの短縮URLによって、ユーザは、短縮URLをクリックする前に実際のURLを見ることができる。さらに別のサービスでは、ユーザは、短縮URLの末尾に疑問符を付加して実際のURLを見ることができる。別の種類のサービスでは、短縮URLを生成する前に様々な安全チェックを実行して実際のURLが検証される。
【００３３】
様々な実施形態では、実際のURLに関連付けられたコンテンツを実際にダウンロードせずに、短縮URLに関連付けられたメタデータを事前に取り込む。メタデータは、コンテンツタイプ、コンテンツのサイズ、コンテンツに関連するホスト名、および/または短縮URLに後続する実際のURLなどの、実際のURLに関連するコンテンツを含んでよい。特定のウェブサイトに関するユーザ定義ブラックリストなどの他のローカルディテールが組み込まれてもよい。ユーザにこのメタデータを提示すると、ユーザが短縮URLに従うかどうかを決定する前に実際のURLのプレビューがユーザに示される。
【００３４】
図5は、一実施形態によるに例示的な短縮URLコールフローを示す。510において、UE505は短縮URLを受信する。短縮URLは、たとえば、マイクロブロギングサービスからマイクロポストで受信されてもよい。520において、UE505は、URL短縮サーバ515にHTTP HEADメッセージを送信する。HEADメッセージは、GET要求に対して受信される応答と同一であるがコンテンツを有さない応答を要求する。すなわち、HEADメッセージへの応答はHTTP応答ヘッダにすぎない。したがって、530において、URL短縮サーバ515は、Locationヘッダフィールドに実際のURLへのポインタを有するHTTP 301 "Moved Permanently"メッセージによって応答する。
【００３５】
540において、UE505は、この時点で、301応答のLocationヘッダフィールドに存在したポインタURLを含む、別のHTTP HEADメッセージをURL短縮サーバに送信する。ポインタURLは実際のURLを含む。550において、URL短縮サーバ515は、実際のURLの応答ヘッダを含む200"OK"メッセージによって応答する。
【００３６】
UE505は、実際のURLおよび関連するコンテンツに関するメタデータを応答ヘッダから抽出してユーザに表示してよく、それによって、ユーザはコンテンツをダウンロードするか否かを決定することができる。メタデータは、Locationフィールドから抽出された実際のURL、Serverフィールドから抽出されたホスト名、Content-Typeフィールドから抽出されるコンテンツの多目的インターネットメール拡張(MIME)タイプ、Content-Lengthフィールドから抽出されるコンテンツのサイズなどを含んでよい。
【００３７】
560において、ユーザは、返ってきたメタデータを見た後、実際のURLにあるコンテンツをダウンロードすることを決定する。570において、UE505は、実際のURLに位置するコンテンツを要求するHTTP GETメッセージを、実際のURLで特定されるコンテンツサーバ525に送信する。580において、コンテンツサーバ525は、HTTP 200 "OK"応答によって応答する。この応答は、応答ヘッダと実際のURLに位置するコンテンツとを含む。
【００３８】
図6は、一実施形態によるUE600の例示的なスクリーンショット610Aおよび610Bを示す図である。図6の例では、ユーザは、Amy Smithという名前の人とテキストメッセージングで会話を行う。会話の間に、Amy Smithは、SMSメッセージ620でユーザに短縮URLを送る。スクリーンショット610Aに示すように、SMSメッセージ620は最初、任意の他のSMSメッセージと同様に表示される。しかしながら、スクリーンショット610Bに示すように、ユーザが短縮URLまたは短縮URLを含むSMSメッセージ620をそれに触れることによって選択すると、実際のURLの詳細を示す情報ボックス630が表示される。ユーザは次いで、短縮URLに再び触れることによって短縮URLに従うか否かを決定してよい。
【００３９】
図6は、短縮URLがSMSメッセージで受信される実施形態を示すが、様々な実施形態がそのように限定されないことは明らかである。様々な実施形態は、短縮URLがどのように受信されるかにかかわらずに短縮URLに適用される。たとえば、短縮URLは、マイクロブロギングサービスメッセージ(たとえば、マイクロポスト)、モバイル電子メールサービスメッセージなどで受信されてよい。また、モバイルウェブブラウザについて最適化されたウェブページが完全な長さのURLではなく短縮URLを表示してもよい。場合によっては、様々な理由で、デスクトップ環境について最適化されたウェブページおよび電子メールサービスが短縮URLを使用してよい。
【００４０】
図7は、UEまたはサーバによって実行できる一実施形態の例示的なフローを示す。710において、UEまたはサーバは短縮URLを受信する。UEは、テキストメッセージ、マイクロポスト、電子メール、ウェブページなどで短縮URLを受信してよい。サーバは短縮URLをUEから受信してよい。720において、UEまたはサーバは、短縮URLを生成したURL短縮サーバに短縮URLを送信する。730において、UEまたはサーバは、実際のURLへのポインタを含む応答を受信する。740において、UEまたはサーバは、実際のURLに関するメタデータを求める要求をURL短縮サーバに送信する。750において、UEまたはサーバはURL短縮サーバからメタデータを受信する。760において、UEまたはサーバは、実際のURLに位置するコンテンツを要求する要求を、実際のURLで特定されるコンテンツサーバに送信する。770において、UEまたはサーバはコンテンツサーバからコンテンツを受信する。
【００４１】
図8は、短縮URLの対象が確認される一実施形態の例示的なフローを示す。図8の実施形態はサーバまたはUEにおいて実施されてよい。サーバは、URL短縮サーバまたは何らかの他のプロキシサーバであってよい。810において、サーバまたはUEは短縮URLを受信する。UEは、テキストメッセージ、マイクロポスト、電子メール、ウェブページなどで短縮URLを受信してよい。サーバは短縮URLをUEから受信してよい。
【００４２】
820において、サーバまたはUEは、短縮URLに基づいて実際のURLに関するメタデータを取得する。このことは、図7の実施形態に応じて実現されてよい。830において、サーバまたはUEは、取得されたメタデータからホストウェブサイトを抽出する。ホストウェブサイトはホストウェブサイトを含むHTTP応答ヘッダ内のフィールドまたはLocationフィールド内のポインタURLから抽出されてよい。
【００４３】
実際のURLは、実際にはこのホストウェブサイトを示さないことがある。したがって、840において、サーバまたはUEは、実際のURLが実際にホストウェブサイトを指しているかどうかを判定する。850において、サーバまたはUEは次いで、この判定の結果の通知を送信する。実際のURLがホストウェブサイトを指す場合、通知は確認であってよく、実際のURLがホストウェブサイトを指していない場合、通知はエラーメッセージであってよい。UEが図8の実施形態を実施する場合、モバイルデバイスは、通知をUEのユーザインターフェース上に表示することによってユーザに通知を送信する。サーバが図8の実施形態を実施する場合、サーバは、サーバが短縮URLを受信したUEに通知を送信する。
【００４４】
情報および信号は、多種多様な技術および技法のいずれかを使用して表され得ることを当業者は了解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【００４５】
さらに、本明細書で開示した実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装できることを、当業者は了解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【００４６】
本明細書で開示された実施形態に関連して説明された様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェアコンポーネント、または、本明細書で説明された機能を実行するように設計されたそれらの任意の組合せで、実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、または、任意の他のそのような構成として実装され得る。
【００４７】
本明細書で開示された実施形態と関連して説明された方法、シーケンス、および/またはアルゴリズムは、ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはその2つの組合せで直接具現化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体はASIC中に常駐し得る。ASICはユーザ端末(たとえば、UE)中に常駐し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末中に個別構成要素として常駐し得る。
【００４８】
1つまたは複数の例示的な実施形態では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、命令もしくはデータ構造の形態の所望のプログラムコードを搬送もしくは記憶するために使用でき、コンピュータによってアクセスできる、任意の他の媒体を含み得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク(DVD)、フロッピー（登録商標）ディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【００４９】
上記の開示は本発明の例示的な実施形態を示すが、添付の特許請求の範囲によって規定される本発明の範囲から逸脱することなく、本明細書において様々な変更および修正を行えることに留意されたい。本明細書で説明された本発明の実施形態による方法クレームの機能、ステップおよび/または動作は、特定の順序で実行されなくてもよい。さらに、本発明の要素は、単数形で説明または請求されていることがあるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。
【符号の説明】
【００５０】
1、2、3、4、5、N  UE
100  ワイヤレス通信システム
104、106、108  エアインターフェース
120  RAN
125  アクセスポイント
140  コアネットワーク
170  アプリケーションサーバ
175  インターネット
200A、200B  UE
202  プラットフォーム
205A  アンテナ
205B  タッチスクリーンディスプレイ
206  送受信機
208  特定用途向け集積回路(ASIC)
210  アプリケーションプログラミングインターフェース(API)
210A  ディスプレイ
210B、215B、220B、225B  周辺ボタン
212  メモリ
214  ローカルデータベース
215A  ボタン
230B  フロントパネルボタン
300  通信デバイス
305  情報を受信しかつ/または送信するように構成された論理
310  情報を処理するように構成された論理
315  情報を記憶するように構成された論理
320  情報を提示するように構成された論理
325  ローカルユーザ入力を受信するように構成された論理
405  UE
415  URL短縮サーバ
425  コンテンツサーバ
505  UE
515  URL短縮サーバ
525  コンテンツサーバ
600  UE
610A、610B  スクリーンショット
620  SMSメッセージ
630  情報ボックス
【図１】
0006356136.tif 000002
【図２】
0006356136.tif 000003
【図３】
0006356136.tif 000004
【図４】
0006356136.tif 000005
【図５】
0006356136.tif 000006
【図６】
0006356136.tif 000007
【図７】
0006356136.tif 000008
【図８】
0006356136.tif 000009