(57)【要約】  2つのクライアントデバイス間でデータを交換するためのシステムおよび方法が開示される。方法は、コンピュータシステムで、第1のクライアントデバイスから第1のデータ取得要求を取得するステップであって、第1のデータ取得要求が、(i)第1のクライアントデバイスとは異なる第2のクライアントデバイスを識別するデバイス識別子と、(ii)検索パラメータ識別子とを含む、ステップと、デバイス識別子に従って、複数のクライアントデバイスから第2のクライアントデバイスを識別するステップとを含む。
2015517706.tif 000002
【特許請求の範囲】
【請求項１】
2つのクライアントデバイス間でデータを交換するための方法であって、
プロセッサと、前記プロセッサによって実行される1つまたは複数のプログラムを記憶するためのメモリとを有するコンピュータシステムで、
第1のクライアントデバイスから第1のデータ取得要求を取得するステップであって、前記第1のデータ取得要求が、(i)前記第1のクライアントデバイスとは異なる第2のクライアントデバイスを識別するデバイス識別子と、(ii)検索パラメータを識別する検索パラメータ識別子とを含む、ステップと、
前記デバイス識別子に従って、複数のクライアントデバイスから前記第2のクライアントデバイスを識別するステップと、
第2のデータ取得要求を前記第2のデバイスに発行するステップであって、前記第2のデータ取得要求が前記検索パラメータ識別子を含む、ステップと、
前記検索パラメータ識別子に従って、前記第2のクライアントデバイスから前記検索パラメータを取得するステップと、
前記検索パラメータに従って、1つまたは複数の検索結果を取得するステップと、
前記第1のクライアントデバイスのユーザに表示するために、前記1つまたは複数の検索結果内の少なくとも1つの検索結果を前記第1のクライアントデバイスに提供するステップと
を含む、方法。
【請求項２】
前記検索パラメータが、前記第2のクライアントデバイスに関連付けられ、前記第1のクライアントデバイスで前記少なくとも1つの検索結果と共に表示される、請求項1に記載の方法。
【請求項３】
前記第2のデータ取得要求に応答して、前記第2のクライアントデバイスが、前記検索パラメータと、前記第1のクライアントデバイスに関連する識別子とを、第2のクライアントデバイスで表示し、前記第2のクライアントデバイスのユーザからの承認後に、前記検索パラメータを前記コンピュータシステムに返す、請求項1に記載の方法。
【請求項４】
前記第2のクライアントデバイスが、前記第2のデータ取得要求での指定に従って前記検索パラメータを取得する、請求項1に記載の方法。
【請求項５】
前記第2のデータ取得要求に応答して、前記第2のクライアントデバイスが、リアルタイムで前記検索パラメータを取得するために、前記第2のクライアントデバイス内のデータ取得装置を呼び出す、請求項1に記載の方法。
【請求項６】
前記第1のクライアントデバイスおよび前記第2のクライアントデバイスが、異なる地理的領域に位置する、請求項1に記載の方法。
【請求項７】
ユーザの介入なしに、前記少なくとも1つの検索結果を前記第1のクライアントデバイスに自動的に送信するステップをさらに含む、請求項1に記載の方法。
【請求項８】
前記検索パラメータが、地理的位置、ビデオブレークポイント、オーディオブレークポイント、写真、電子メール、バーコード、およびメディアコンテンツアイテムの一部から成るグループから選択された1つである、請求項1に記載の方法。
【請求項９】
前記第2のクライアントデバイスが、タブレット、ラップトップコンピュータ、およびスマートフォンから成るグループから選択された1つである、請求項1に記載の方法。
【請求項１０】
前記コンピュータシステムから前記第2のクライアントデバイスでデータを受信しながら、前記コンピュータシステムが、前記コンピュータシステムから前記第1のクライアントデバイスでデータを受信することを続けるために、ユーザによって開始された前記第1のクライアントデバイスからの前記第1のデータ取得要求を受信する、請求項1に記載の方法。
【請求項１１】
1つまたは複数のプロセッサと、
メモリと、
1つまたは複数のプログラムと
を備えるコンピュータシステムであって、前記1つまたは複数のプログラムが、前記メモリに記憶され、前記1つまたは複数のプロセッサによって実行されるように構成され、前記1つまたは複数のプログラムが、
第1のクライアントデバイスから第1のデータ取得要求を取得するための命令であって、前記第1のデータ取得要求が、(i)前記第1のクライアントデバイスとは異なる第2のクライアントデバイスを識別するデバイス識別子と、(ii)検索パラメータを識別する検索パラメータ識別子とを含む、命令と、
前記デバイス識別子に従って、複数のクライアントデバイスから前記第2のクライアントデバイスを識別するための命令と、
第2のデータ取得要求を前記第2のデバイスに発行するための命令であって、前記第2のデータ取得要求が前記検索パラメータ識別子を含む、命令と、
前記検索パラメータ識別子に従って、前記第2のクライアントデバイスから検索パラメータを取得するための命令と、
前記検索パラメータに従って、1つまたは複数の検索結果を取得するための命令と、
前記第1のクライアントデバイスのユーザに表示するために、前記1つまたは複数の検索結果内の少なくとも1つの検索結果を前記第1のクライアントデバイスに提供するための命令と
を含む、コンピュータシステム。
【請求項１２】
前記第2のクライアントデバイスに関連する前記検索パラメータが、前記第1のクライアントデバイスで前記少なくとも1つの検索結果と共に表示される、請求項11に記載のコンピュータシステム。
【請求項１３】
前記第2のデータ取得要求に応答して、前記第2のクライアントデバイスが、前記検索パラメータと、前記第1のクライアントデバイスに関連する識別子とを、第2のクライアントデバイスで表示し、前記第2のクライアントデバイスのユーザからの承認後に、前記検索パラメータを前記コンピュータシステムに返す、請求項11に記載のコンピュータシステム。
【請求項１４】
前記第2のクライアントデバイスが、前記第2のデータ取得要求での指定に従って前記検索パラメータを取得する、請求項11に記載のコンピュータシステム。
【請求項１５】
前記第2のデータ取得要求に応答して、前記第2のクライアントデバイスが、リアルタイムで前記検索パラメータを取得するために、前記第2のクライアントデバイス内のデータ取得装置を呼び出す、請求項11に記載のコンピュータシステム。
【請求項１６】
前記第1のクライアントデバイスおよび前記第2のクライアントデバイスが、異なる地理的領域に位置する、請求項11に記載のコンピュータシステム。
【請求項１７】
前記命令が、ユーザの介入なしに、前記少なくとも1つの検索結果を前記第1のクライアントデバイスに自動的に送信するための命令をさらに含む、請求項11に記載のコンピュータシステム。
【請求項１８】
前記検索パラメータが、地理的位置、ビデオブレークポイント、オーディオブレークポイント、写真、電子メール、バーコード、およびメディアコンテンツアイテムの一部から成るグループから選択された1つである、請求項11に記載のコンピュータシステム。
【請求項１９】
前記第2のクライアントデバイスが、タブレット、ラップトップコンピュータ、およびスマートフォンから成るグループから選択された1つである、請求項11に記載のコンピュータシステム。
【請求項２０】
前記コンピュータシステムから前記第2のクライアントデバイスでデータを受信しながら、ユーザが、前記コンピュータシステムから前記第1のクライアントデバイスでデータを受信することを続けるために、前記第1のクライアントデバイスから前記第1のデータ取得要求を開始する、請求項11に記載のコンピュータシステム。
【請求項２１】
1つまたは複数のプログラムを記憶する非一時的なコンピュータ可読記憶媒体であって、前記1つまたは複数のプログラムが命令を含み、前記命令が、1つまたは複数のプロセッサを有するコンピュータシステムによって実行されたとき、前記コンピュータシステムに、
第1のクライアントデバイスから第1のデータ取得要求を取得させ、前記第1のデータ取得要求が、(i)前記第1のクライアントデバイスとは異なる第2のクライアントデバイスを識別するデバイス識別子と、(ii)検索パラメータを識別する検索パラメータ識別子とを含み、
前記デバイス識別子に従って、複数のクライアントデバイスから前記第2のクライアントデバイスを識別させ、
第2のデータ取得要求を前記第2のデバイスに対して発行させ、前記第2のデータ取得要求が前記検索パラメータ識別子を含み、
前記検索パラメータ識別子に従って、前記第2のクライアントデバイスから検索パラメータを取得させ、
前記検索パラメータに従って、1つまたは複数の検索結果を取得させ、
前記第1のクライアントデバイスで表示するために、前記1つまたは複数の検索結果内の少なくとも1つの検索結果をフォーマットさせる、非一時的なコンピュータ可読記憶媒体。
【請求項２２】
前記第2のクライアントデバイスに関連する前記検索パラメータが、前記第1のクライアントデバイスで前記少なくとも1つの検索結果と共に表示される、請求項21に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２３】
前記第2のデータ取得要求に応答して、前記第2のクライアントデバイスが、前記検索パラメータと、前記第1のクライアントデバイスに関連する識別子とを、第2のクライアントデバイスで表示し、前記第2のクライアントデバイスのユーザからの承認後に、前記検索パラメータを前記コンピュータシステムに返す、請求項21に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２４】
前記第2のクライアントデバイスが、前記第2のデータ取得要求での指定に従って前記検索パラメータを取得する、請求項21に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２５】
前記第2のデータ取得要求に応答して、前記第2のクライアントデバイスが、リアルタイムで前記検索パラメータを取得するために、前記第2のクライアントデバイス内のデータ取得装置を呼び出す、請求項21に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２６】
前記第1のクライアントデバイスおよび前記第2のクライアントデバイスが、異なる地理的領域に位置する、請求項21に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２７】
ユーザの介入なしに、前記少なくとも1つの検索結果を前記第1のクライアントデバイスに自動的に送信するステップをさらに含む、請求項21に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２８】
前記検索パラメータが、地理的位置、ビデオブレークポイント、オーディオブレークポイント、写真、電子メール、バーコード、およびメディアコンテンツアイテムの一部から成るグループから選択された1つである、請求項21に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２９】
前記第2のクライアントデバイスが、タブレット、ラップトップコンピュータ、およびスマートフォンから成るグループから選択された1つである、請求項21に記載の非一時的なコンピュータ可読記憶媒体。
【請求項３０】
前記コンピュータシステムから前記第2のクライアントデバイスでデータを受信しながら、ユーザが、前記コンピュータシステムから前記第1のクライアントデバイスでデータを受信することを続けるために、前記第1のクライアントデバイスから前記第1のデータ取得要求を開始する、請求項21に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、参照によりその全体が本明細書に組み込まれている、2012年6月20日に出願した「METHOD,  SYSTEM,  AND  APPARATUS  FOR  EXCHANGING  DATA  BETWEEN  CLIENT  DEVICES」と題する中国特許出願第201210204586.6号の優先権を主張するものである。
【０００２】
開示される実施態様は、全体的には、データ交換技術に関し、具体的には、クライアントデバイス間でデータを交換するための方法、システム、および装置に関する。
【背景技術】
【０００３】
従来、ワイヤレス端末(例えば、携帯電話)からパーソナルコンピュータ(personal  computer:PC)にデータを伝送するために、2つの方法が採用されている。第1の方法では、ユーザは、データケーブルを使用してPCをワイヤレス端末に接続し、第2の方法では、データケーブルを使用せずに、ユーザは、初めにデータをワイヤレス端末からサーバにアップロードし、次いで、PCからサーバにダウンロード要求を提出することによって、データを取得する。
【０００４】
第1の方法では、ユーザは、その都度データケーブルを抜き差しする必要があり、それは、不便であり、第2の方法では、ユーザは、データを取得するために2つの要求を含むプロセスを開始する必要があり、それも厄介である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
したがって、より簡単な方法でクライアントデバイス間のデータ交換を実現することができる、クライアントデバイス間でデータを交換するための方法、システム、および装置を提供することが必要である。
【課題を解決するための手段】
【０００６】
2つのクライアントデバイス間でデータを交換するためのシステム、方法、および命令を含む非一時的なコンピュータ可読記憶媒体が開示される。
【０００７】
いくつかの実施態様では、2つのクライアントデバイス間でデータを交換するための方法は、プロセッサと、プロセッサによって実行される1つまたは複数のプログラムを記憶するためのメモリとを有するコンピュータシステムで、第1のクライアントデバイスから第1のデータ取得要求を取得するステップであって、第1のデータ取得要求が、(i)第1のクライアントデバイスとは異なる第2のクライアントデバイスを識別するデバイス識別子と、(ii)検索パラメータを識別する検索パラメータ識別子とを含む、ステップと、デバイス識別子に従って、複数のクライアントデバイスから第2のクライアントデバイスを識別するステップと、第2のデータ取得要求を第2のデバイスに発行するステップであって、第2のデータ取得要求が検索パラメータ識別子を含む、ステップと、検索パラメータ識別子に従って、第2のクライアントデバイスから検索パラメータを取得するステップと、検索パラメータに従って、1つまたは複数の検索結果を取得するステップと、第1のクライアントデバイスのユーザに表示するために、1つまたは複数の検索結果内の少なくとも1つの検索結果を第1のクライアントデバイスに提供するステップとを含む。
【０００８】
いくつかの実施態様では、2つのクライアントデバイス間でデータを交換するためのコンピュータシステムが開示される。いくつかの実施態様では、コンピュータシステムは、1つまたは複数のプロセッサと、メモリと、1つまたは複数のプログラムとを備える。1つまたは複数のプログラムは、メモリに記憶され、1つまたは複数のプロセッサによって実行されるように構成される。いくつかの実施態様では、1つまたは複数のプログラムは、第1のクライアントデバイスから第1のデータ取得要求を取得するための命令であって、第1のデータ取得要求が、(i)第1のクライアントデバイスとは異なる第2のクライアントデバイスを識別するデバイス識別子と、(ii)検索パラメータを識別する検索パラメータ識別子とを含む、命令と、デバイス識別子に従って、複数のクライアントデバイスから第2のクライアントデバイスを識別するための命令と、第2のデータ取得要求を第2のデバイスに発行するための命令であって、第2のデータ取得要求が検索パラメータ識別子を含む、命令と、検索パラメータ識別子に従って、第2のクライアントデバイスから検索パラメータを取得するための命令と、検索パラメータに従って、1つまたは複数の検索結果を取得するための命令と、第1のクライアントデバイスのユーザに表示するために、1つまたは複数の検索結果内の少なくとも1つの検索結果を第1のクライアントデバイスに提供するための命令とを含む。
【０００９】
いくつかの実施態様では、2つのクライアントデバイス間でデータを交換するための命令を記憶する非一時的なコンピュータ可読記憶媒体が開示される。いくつかの実施態様では、非一時的なコンピュータ可読記憶媒体は、1つまたは複数のプログラムを記憶し、1つまたは複数のプログラムは、1つまたは複数のプロセッサを有するコンピュータシステムによって実行されたとき、コンピュータシステムに、第1のクライアントデバイスから第1のデータ取得要求を取得させ、第1のデータ取得要求が、(i)第1のクライアントデバイスとは異なる第2のクライアントデバイスを識別するデバイス識別子と、(ii)検索パラメータを識別する検索パラメータ識別子とを含み、デバイス識別子に従って、複数のクライアントデバイスから第2のクライアントデバイスを識別させ、第2のデータ取得要求を第2のデバイスに対して発行させ、第2のデータ取得要求が検索パラメータ識別子を含み、検索パラメータ識別子に従って、第2のクライアントデバイスから検索パラメータを取得させ、検索パラメータに従って、1つまたは複数の検索結果を取得させ、第1のクライアントデバイスのユーザに表示するために、1つまたは複数の検索結果内の少なくとも1つの検索結果を第1のクライアントデバイスに提供させる命令を含む。
【００１０】
クライアントデバイス間でデータを交換するための方法、システム、および装置によって、ユーザが第1のクライアントデバイスを用いて第2のクライアントデバイス内のデータにアクセスするプロセスは、ユーザが第1のクライアントデバイス内のデータにアクセスするプロセスとほとんど同じであり、両方とも1ステップの操作のみを必要とする。従来のデータケーブル接続、またはアップロードおよびダウンロードと比較して、操作プロセスは、より簡単であり、使用経験は、より滑らかである。本出願の上記および他の目的、特徴、および利点をより理解可能にするために、例示的な実施態様は、詳細な説明のために添付図面を参照して以下に取り入れられる。
【００１１】
本発明の前述の実施態様、ならびに追加の実施態様は、図面と併せて取り入れられたとき、本発明の様々な態様の以下の詳細な説明の結果としてより明らかに理解されるであろう。同様の参照番号は、図面のいくつかの図を通して対応する部分を指す。
【図面の簡単な説明】
【００１２】
【図１】本出願の第1の実施態様による、クライアントデバイス間でデータを交換するための方法のフローチャートである。
【図２】本発明の第1の実施態様による、クライアントデバイス間でデータを交換するための方法の別のフローチャートである。
【図３】本出願の第1の実施態様による、クライアントデバイス間でデータを交換するための方法の具体的な用途例の概略図である。
【図４】本出願の第2の実施態様による、クライアントデバイス間でデータを交換するための方法のフローチャートである。
【図５】本出願の第3の実施態様による、クライアントデバイス間でデータを交換するための方法のフローチャートである。
【図６】本出願の第4の実施態様による、クライアントデバイス間でデータを交換するためのシステムの構造ブロック図である。
【図７】本出願の第5の実施態様による、クライアントデバイス間でデータを交換するための装置の構造ブロック図である。
【図８】本出願の第6の実施態様による、クライアントデバイス間でデータを交換するための装置の構造ブロック図である。
【図９】いくつかの実施態様による、コンピュータシステムを示すブロック図である。
【図１０】いくつかの実施態様による、例示的なクライアントデバイスを示すブロック図である。
【図１１】いくつかの実施態様による、例示的なクライアントデバイスを示すブロック図である。
【図１２】いくつかの実施態様による、例示的なサーバシステムを示すブロック図である。
【図１３】いくつかの実施態様による、コンピュータシステムにおいて、クライアントデバイス間でデータを交換するための方法を示すフローチャートである。
【図１４Ａ】いくつかの実施態様による、コンピュータシステムにおいて、クライアントデバイス間でデータを交換するための方法を示すフローチャートである。
【図１４Ｂ】いくつかの実施態様による、コンピュータシステムにおいて、クライアントデバイス間でデータを交換するための方法を示すフローチャートである。
【発明を実施するための形態】
【００１３】
所定の目的を実現するための、本出願によって採用された技術的手段および機能をさらに説明するために、本出願による、クライアントデバイス間でデータを交換するための方法、システム、および装置の具体的な実施方法、構造、特徴、および機能を、図面および例示的な実施態様を参照して、以下に詳細に説明する。
【００１４】
図1は、本出願の第1の実施態様による、クライアントデバイス間でデータを交換するための方法のフローチャートである。クライアントデバイスは、例えば、パーソナルコンピュータ、携帯電話、タブレットコンピュータ、などである。図1に示すように、方法は、以下のステップを含む。
【００１５】
ステップS110:第1のクライアントデバイスは、第1のデータ取得要求をサーバに送る。
【００１６】
ステップS120:サーバは、第1のデータ取得要求に従って、第2のデータ取得要求を生成し、第2のデータ取得要求を第2のクライアントデバイスにプッシュする。
【００１７】
ステップS130:第2のクライアントデバイスは、第2のデータ取得要求に従って、データを取得し、取得されたデータをサーバにアップロードする。
【００１８】
ステップS140:サーバは、第2のクライアントデバイスによってアップロードされたデータ、またはデータのメッセージダイジェストを第1のクライアントデバイスに返す。
【００１９】
より詳細な説明のために、さらに図2を参照する。図2は、図1に示すクライアントデバイス間でデータを交換するための方法のより詳細な概略図である。
【００２０】
図2に示すように、ステップS110の前に、方法は、例えば、さらに、ユーザが第1のクライアントデバイスを用いて、サーバによって提供されるネットワークサービスにアクセスすることを含む。ネットワークサービスは、例えば、電子メールサービス、マイクロブログ(中国では、「weibo」として知られる)などのソーシャルネットワーキングサービス、電子地図サービス、情報探索および検索サービス、オンラインショッピングサービス、およびビデオオンデマンドサービスなどの、様々な形態である。ネットワークサービスの使用中、ユーザの身元を認証するために、ユーザ認証動作を実行することが必要である場合がある。
【００２１】
ユーザがネットワークサービスを使用するとき、例えば、情報を検索、閲覧、または公開するとき、ユーザは、第2のクライアントデバイス内のデータを使用する必要がある場合がある。データは、例えば、画像、オーディオファイル、ビデオファイル、2Dバーコード、および、アプリケーションの使用中に生成されたデータを含む。アプリケーションの使用中に生成されたデータは、例えば、アプリケーションのブレークポイント情報、地理的位置情報、および、電子地図アプリケーションの使用中に記録された関心点を含む。ブレークポイント情報は、例えば、ビデオファイルもしくはオーディオファイルが再生された時間、複数のページを有するウェブページの特定の閲覧位置、または、電子書籍の閲覧進捗状況である。言い換えれば、データのフォーマットおよび具体的な記憶形態は、限定されない。
【００２２】
このとき、ユーザは、サーバによって提供されたページにおいて、第2のクライアントデバイス内のデータを選択することができる。具体的には、例えば、選択は、ネットワークサービスページで提供される特定の入口を選択することによって実行されてよい。このとき、第1のクライアントデバイスは、第1のデータ取得要求をサーバに送るために、ステップS110を実行する。
【００２３】
第1のデータ取得要求は、第2のクライアントデバイス内のデータが取得される必要があることをサーバに通知する。第1のデータ取得要求は、取得されるデータを明示的に指定しなくてよいが、取得されるデータのタイプを指定することができる。このとき、データは、第2のクライアントデバイスによって決定される。加えて、第1のデータ取得要求は、さらに、取得されるデータを直接指定することができ、例えば、最近撮影された写真、または再生中のオーディオファイルもしくはビデオファイルを取得することを直接指定することができ、あるいは、リアルタイムでデータを取得することを直接指定することができる。例えば、イエローストーン国立公園を訪れる観光客の家族は、リアルタイムで観光客のスマートフォンを介して公園を見るために、この技術を使用することができる。別の例では、ティーンエイジャーの親は、特定のアプリケーションがティーンエイジャーのスマートフォンにインストールされるのを防ぐために、この方法を使用することができる。
【００２４】
サーバは、第1のデータ取得要求を受信した後、ステップS120を実行する。具体的には、ステップS120では、サーバは、例えば、取得されるデータのタイプ、およびデータが指定されているかどうかなどの情報を取得するために、第1のデータ取得要求を解析することができる。データのタイプは、例えば、画像、オーディオファイル、ビデオファイル、2Dバーコード、および、アプリケーションの使用中に生成されたデータを含む。次に、サーバは、取得されるデータのタイプ、およびデータが指定されているかどうかなどの情報に従って、第2のデータ取得要求を生成する。第2のデータ取得要求は、事前定義されたフォーマットに準拠するか、事前設定されたプロトコルを採用することによってカプセル化される。
【００２５】
次に、サーバは、第2のデータ取得要求を第2のクライアントデバイスにプッシュする。監視モジュールは、第2のクライアントデバイスに設けられ、サーバによってプッシュされた第2のデータ取得要求を監視するように構成される。複数の特定のプッシュ方法が採用され得る。例えば、第2のデータ取得要求は、ショートメッセージ、マルチメディアメッセージ、もしくはサービス情報を介して携帯電話番号にプッシュされてよく、電子メールボックスにプッシュされてよく、インスタントメッセージングアカウントにプッシュされてよく、他のアプリケーションアカウントにプッシュされてよく、または、監視モジュールによって監視されるネットワークポートに直接プッシュされてよい。
【００２６】
第2のデータ取得要求が監視モジュールによって監視されると、データは、第2のデータ取得要求に従って取得され、すなわち、ステップS130が実行され始める。具体的には、第2のデータ取得要求が取得されるデータのタイプを指定し、データを直接指定しないとき、第2のクライアントデバイスは、第2のデータ取得要求に従って、ユーザによる選択のために選択されるデータを提示することができ、例えば、ユーザが画像を選択するための画像ライブラリ選択インターフェース、または、ユーザがオーディオファイルを選択するための音楽ライブラリ選択インターフェースを提示することができる。第2のデータ取得要求が取得されるデータを直接指定するとき、例えば、最近撮影された写真または再生中のオーディオファイルを指定するとき、対応する写真またはオーディオファイルが直接取得されてよい。第2のデータ取得要求は、さらに、リアルタイムでデータを取得することを要求することができ、例えば、音声セグメント、ビデオセグメント、または写真を記録することを要求することができる。このとき、第2のクライアントデバイスは、それに応じて、リアルタイムでデータ入力を取得するために、マイクロホンまたはカメラなどの異なるデータ取得装置を起動する。必要なデータを取得した後、第2のクライアントデバイスは、データをサーバにアップロードする。
【００２７】
次に、ステップS140が実行される。サーバは、第2のクライアントデバイスによってアップロードされたデータ、またはデータのメッセージダイジェストを第1のクライアントデバイスに返す。サーバは、第2のクライアントデバイスによってアップロードされたデータをクライアントに直接返すことができ、クライアントは、データを出力し、または、さらにデータを処理する。出力は、例えば、画像を表示すること、または、オーディオファイルもしくはビデオファイルを再生することを含む。さらなる処理は、例えば、編集または転送を含む。しかしながら、いくつかの場合では、第2のクライアントデバイスによってアップロードされたデータは、第1のクライアントデバイスに返される必要がない。例えば、ユーザが電子メールサービスを使用するとき、第2のクライアントデバイスによってアップロードされたデータは、添付ファイルとして直接取得され、第1のクライアントデバイスは、データを表示する必要もない。この場合、サーバは、メッセージダイジェストを生成することができ、例えば、第2のクライアントデバイスによってアップロードされたデータのファイル名またはサムネイルを生成することができ、生成されたメッセージダイジェストを第1のクライアントデバイスに返すことができ、第1のクライアントデバイスは、メッセージダイジェストを表示し、そのため、ユーザは、対応するデータ操作が完了したことを確認する。
【００２８】
クライアントデバイス間でデータを交換するための方法をより具体的に説明するために、具体的な用途例を、図3を参照して以下に紹介する。
【００２９】
第1のクライアントデバイスは、パーソナルコンピュータ(PC)であり、第2のクライアントデバイスは、ユーザによって使用されるスマートフォンであり、電子メールクライアントアプリケーションが、スマートフォン上で実行される。加えて、電子メールクライアントアプリケーションは、事前設定されたフォーマットに準拠した電子メール、すなわち、第2のデータ取得要求を監視するように構成された組込み監視モジュールを有する。
【００３０】
ユーザは、パーソナルコンピュータ上で実行されるブラウザを介して、サーバによって提供される電子メールサービスにアクセスし、新しい電子メールを編集する際に写真を追加するために、スマートフォンで写真をアップロードすることが選択される。このとき、サーバは、第2のデータ取得要求を、ユーザの電子メールボックスにプッシュする。これに対応して、第2のデータ取得要求は、電子メールクライアントアプリケーション内の監視モジュールによって監視される。このとき、監視モジュールは、アップロードされる写真を選択するために、ユーザのための写真選択インターフェースを呼び出す。選択後、スマートフォンは、選択された画像をサーバに自動的にアップロードする。サーバは、アップロードされた画像を受信し、次いで、画像をパーソナルコンピュータに返し、ブラウザに画像を表示する。
【００３１】
この実施態様の具体的な用途例を、電子メールおよびスマートフォンとの組み合わせで上記に紹介した。この実施態様の具体的な用途シナリオは、上記の電子メールサービスに限定されない。
【００３２】
例えば、別の用途例では、ユーザは、パーソナルコンピュータ上で実行されるブラウザを介して、サーバによって提供されるオンラインショッピングサービスにアクセスし、身元の認証の間、スマートフォンを介して2Dバーコードをアップロードすることが選択される。このとき、サーバは、スマートフォン上で実行される2Dバーコードアプリケーションに第2のデータ取得要求をプッシュする。これに対応して、第2のデータ取得要求は、2Dバーコードアプリケーション内の監視モジュールによって監視される。このとき、スマートフォンは、2Dバーコードをサーバに自動的にアップロードする。サーバは、アップロードされた2Dバーコードを受信し、次いで、2Dバーコードを、身元の認証のためにパーソナルコンピュータに返す。
【００３３】
加えて、1人の同じユーザが第1のクライアントデバイスおよび第2のクライアントデバイスを使用することは、制限されないことが理解され得る。
【００３４】
例えば、別の用途例では、第1のユーザは、例えば、近くのレストランまたはホテルを検索するために、パーソナルコンピュータ上で実行されるブラウザを介して、地理的位置に基づく、サーバによって提供されるネットワークサービスにアクセスする。指定された位置において、第2のユーザによって使用されるスマートフォンによるアップロードが実行されることが選択される。このとき、サーバは、第2のデータ取得要求を、第2のユーザによって使用されるスマートフォンにプッシュする。これに対応して、第2のユーザによって使用されるスマートフォンは、その位置情報をサーバに自動的にアップロードする。サーバは、位置情報を受信し、次いで、検索を実行し、第1のユーザによって使用されるパーソナルコンピュータに結果を返す。
【００３５】
加えて、ユーザが、ブラウザを介して、サーバによって提供されるネットワークサービスにアクセスすることも制限されない。
【００３６】
例えば、別の用途例では、ユーザは、ビデオオンデマンドソフトウェアを介してビデオオンデマンドサービスにアクセスし、再生されるビデオファイルが指定されたとき、タブレットコンピュータでの進捗状況に基づいて再生を継続することが選択される。このとき、サーバは、第2のデータ取得要求を、ユーザによって使用されるタブレットコンピュータにプッシュする。タブレットコンピュータは、タブレットコンピュータによって再生されているビデオファイルのリソースロケータおよび再生時間を記録し、リソースロケータおよび再生時間をサーバにアップロードする。サーバは、リソースロケータおよび再生時間をビデオオンデマンドソフトウェアに返す。このとき、ビデオオンデマンドソフトウェアは、リソースロケータに従って、対応するビデオファイルを取得することができ、タブレットコンピュータでの進捗状況を自動的に突きとめることができる。
【００３７】
クライアントデバイスでデータを交換するための方法では、ユーザが第1のクライアントデバイスを用いて第2のクライアントデバイス内のデータにアクセスするプロセスは、ユーザが第1のクライアントデバイス内のデータにアクセスするプロセスとほとんど同じであり、両方とも1ステップの操作のみを必要とする。従来のデータケーブル接続、またはアップロードおよびダウンロードと比較して、操作プロセスは、より簡単であり、使用経験は、より滑らかである。
【００３８】
図4は、本出願の第2の実施態様による、クライアントデバイス間でデータを交換するための方法のフローチャートである。クライアントデバイスは、例えば、パーソナルコンピュータ、携帯電話、タブレットコンピュータ、などである。方法は、例えば、ネットワークサービスを提供するサーバによって実行される。図4に示すように、方法は、以下のステップを含む。
【００３９】
ステップS210:第1のクライアントデバイスによって送られた第1のデータ取得要求を受信し、ここで、第1のデータ取得要求は、第2のクライアントデバイスによってアップロードされる必要があるデータをサーバに知らせる。第1のデータ取得要求は、取得されるデータを明示的に指定しなくてよく、このとき、データは、第2のクライアントデバイスによって決定される。加えて、第1のデータ取得要求は、さらに、取得されるデータを直接指定することができ、例えば、最近撮影された写真、または再生中のオーディオファイルもしくはビデオファイルを取得することを直接指定することができ、あるいは、リアルタイムでデータを取得することを直接指定することができる。
【００４０】
ステップS220:第1のデータ取得要求に従って、第2のデータ取得要求を生成し、ここで、第2のデータ取得要求は、第2のクライアントデバイスが対応するデータを取得し、アップロードすることを可能にするために使用される。
【００４１】
ステップS230:第2のデータ取得要求を第2のクライアントデバイスにプッシュする。複数の特定のプッシュ方法が採用され得る。例えば、第2のデータ取得要求は、ショートメッセージ、マルチメディアメッセージ、もしくはサービス情報を介して携帯電話番号にプッシュされてよく、電子メールボックスにプッシュされてよく、インスタントメッセージングアカウントにプッシュされてよく、または、監視モジュールによって監視されるネットワークポートに直接プッシュされてよい。
【００４２】
ステップS240:第2のクライアントデバイスによってアップロードされたデータを受信する。
【００４３】
ステップS250:第2のクライアントデバイスによってアップロードされたデータ、またはデータのメッセージダイジェストを第1のクライアントデバイスに返す。サーバは、第2のクライアントデバイスによってアップロードされたデータをクライアントに直接返すことができ、クライアントは、データを出力するか、さらに処理する。出力は、例えば、画像を表示すること、または、オーディオファイルもしくはビデオファイルを再生することを含む。さらなる処理は、例えば、編集または転送を含む。しかしながら、いくつかの場合では、第2のクライアントデバイスによってアップロードされたデータは、第1のクライアントデバイスに返される必要がない。例えば、ユーザが電子メールサービスを使用するとき、第2のクライアントデバイスによってアップロードされたデータは、添付ファイルとして直接取得され、第1のクライアントデバイスは、データを表示する必要もない。この場合、サーバは、メッセージダイジェストを生成することができ、例えば、第2のクライアントデバイスによってアップロードされたデータのファイル名またはサムネイルを生成することができ、生成されたメッセージダイジェストを第1のクライアントデバイスに返すことができ、第1のクライアントデバイスは、メッセージダイジェストを表示し、そのため、ユーザは、対応するデータ操作が完了したことを確認する。
【００４４】
この実施態様のクライアントデバイスでデータを交換するための方法によって、ユーザが第1のクライアントデバイスを用いて第2のクライアントデバイス内のデータにアクセスするプロセスは、ユーザが第1のクライアントデバイス内のデータにアクセスするプロセスとほとんど同じであり、両方とも1ステップの操作のみを必要とする。従来のデータケーブル接続、またはアップロードおよびダウンロードと比較して、操作プロセスは、より簡単であり、使用経験は、より滑らかである。
【００４５】
図5は、本出願の第3の実施態様による、クライアントデバイス間でデータを交換するための方法のフローチャートである。クライアントデバイスは、例えば、パーソナルコンピュータ、携帯電話、タブレットコンピュータ、などである。図5に示すように、方法は、以下のステップを含む。
【００４６】
ステップS310:サーバによってプッシュされたデータ取得要求を監視する。複数の特定のプッシュ方法が採用され得る。例えば、データ取得要求は、ショートメッセージ、マルチメディアメッセージ、もしくはサービス情報を介して携帯電話番号にプッシュされてよく、電子メールボックスにプッシュされてよく、インスタントメッセージングアカウントにプッシュされてよく、または、特定のネットワークポートに直接プッシュされてよい。したがって、ステップS310では、異なる方法が、相応して採用される必要がある。例えば、それは、独立して実行される監視モジュール、または、他のアプリケーションに依存して実行される監視モジュールによって実施されてよい。
【００４７】
ステップS320:データ取得要求が監視された後、対応するデータを取得する。具体的には、データ取得要求が、取得されるデータのタイプを指定し、データを直接指定しないとき、選択されるデータが、ユーザによる選択のためにデータ取得要求に従って提示されてよい。例えば、画像ライブラリ選択インターフェースが、ユーザが画像を選択するために提示され、または、音楽ライブラリ選択インターフェースが、ユーザがオーディオファイルを選択するために提示される。データ取得要求が、取得されるデータを直接指定するとき、例えば、最近撮影された写真、または再生中のオーディオファイルを指定するとき、対応する写真またはオーディオファイルは、直接取得されてよい。データ取得要求は、さらに、リアルタイムでデータを取得することを要求することができ、例えば、音声セグメント、ビデオセグメント、または写真を記録することを要求することができる。このとき、それに応じて、リアルタイムでデータ入力を取得するために、マイクロホンまたはカメラなどの異なるデータ取得装置が起動される。
【００４８】
ステップS330:取得されたデータをサーバにアップロードする。
【００４９】
この実施態様のクライアントデバイス間でデータを交換するための方法では、サーバによってプッシュされたデータ取得要求を監視することによって、対応するデータが、必要なときにサーバにアップロードされ得、サーバの処理プロセスと組み合わせて、他のクライアントデバイスを用いてこの実施態様のクライアントデバイス内のデータにアクセスする操作プロセスは、より簡単であり、使用経験は、より滑らかである。
【００５０】
図6は、本出願の第4の実施態様による、クライアントデバイス間でデータを交換するためのシステムの構造ブロック図である。図6に示すように、交換システム400は、第1のクライアントデバイス10と、サーバ20と、第2のクライアントデバイス30とを含む。
【００５１】
第1のクライアントデバイス10は、第1のデータ取得要求をサーバに送るように構成されたデータ要求モジュール11を含む。
【００５２】
サーバ20は、第1のデータ取得要求に従って第2のデータ取得要求を生成するように構成されたデータ要求生成モジュール21と、第2のデータ取得要求を第2のクライアントデバイスにプッシュするように構成されたプッシュモジュール22とを含む。
【００５３】
第2のクライアントデバイス30は、第2のデータ取得要求に従ってデータを取得するように構成されたデータ取得モジュール31と、取得されたデータをサーバにアップロードするように構成されたアップロードモジュール32とを含む。
【００５４】
データ取得モジュール31は、例えば、第2のデータ取得要求に従って、選択されるデータを提示するように構成された提示ユニット311(図8参照)と、選択されたデータを取得するように構成された取得ユニット312(図8参照)とを含むことができる。加えて、データ取得モジュール31は、第2のデータ取得要求での指定に従って、対応するデータを直接取得するように構成されてよく、さらに、リアルタイムでデータ入力を取得するために、第2のクライアントデバイス30内のデータ取得装置を起動するように構成されてよい。
【００５５】
サーバ20は、さらに、第2のクライアントデバイスによってアップロードされたデータ、またはデータのメッセージダイジェストを第1のクライアントデバイスに返すように構成されたリターンモジュール23を含む。
【００５６】
第1のクライアントデバイス10は、さらに、サーバによって返されたデータ、またはデータのメッセージダイジェストに従って結果を表示するように構成された出力モジュール12を含むことができる。
【００５７】
交換システム400の他の詳細について、図1〜図3および関連する説明をさらに参照することができる。
【００５８】
この実施態様のクライアントデバイス間でデータを交換するためのシステムでは、ユーザが第1のクライアントデバイスを用いて第2のクライアントデバイス内のデータにアクセスするプロセスは、ユーザが第1のクライアントデバイス内のデータにアクセスするプロセスとほとんど同じであり、両方とも1ステップの操作のみを必要とする。従来のデータケーブル接続、またはアップロードおよびダウンロードと比較して、操作プロセスは、より簡単であり、使用経験は、より滑らかである。
【００５９】
図7は、本出願の第5の実施態様による、クライアントデバイス間でデータを交換するための装置の構造ブロック図である。図7に示すように、交換装置20aは、データ要求生成モジュール21と、プッシュモジュール22と、リターンモジュール23と、第1の受信モジュール24と、第2の受信モジュール25とを含む。
【００６０】
データ要求生成モジュール21、プッシュモジュール22、およびリターンモジュール23は、第4の実施態様のものと同じであり、互いに参照することができる。
【００６１】
第1の受信モジュール24は、第1のクライアントデバイスによって送られた第1のデータ取得要求を受信するように構成され、データ要求生成モジュール21は、第1のデータ取得要求に従って第2のデータ取得要求を生成するように構成され、ここで、第2のデータ取得要求は、第2のクライアントデバイスが対応するデータを取得し、アップロードすることを可能にするために使用され、プッシュモジュール22は、第2のデータ取得要求を第2のクライアントデバイスにプッシュするように構成され、第2の受信モジュール25は、第2のクライアントデバイスによってアップロードされたデータを受信するように構成され、リターンモジュール23は、第2のクライアントデバイスによってアップロードされたデータ、またはデータのメッセージダイジェストを第1のクライアントデバイスに返すように構成される。
【００６２】
交換装置20aのさらなる詳細について、図4および関連する説明をさらに参照することができる。
【００６３】
この実施態様のクライアントデバイスでデータを交換するための装置によって、ユーザが第1のクライアントデバイスを用いて第2のクライアントデバイス内のデータにアクセスするプロセスは、ユーザが第1のクライアントデバイス内のデータにアクセスするプロセスとほとんど同じであり、両方とも1ステップの操作のみを必要とする。従来のデータケーブル接続、またはアップロードおよびダウンロードと比較して、操作プロセスは、より簡単であり、使用経験は、より滑らかである。
【００６４】
図8は、本出願の第6の実施態様による、クライアントデバイス間でデータを交換するための装置の構造ブロック図である。図8に示すように、交換装置30aは、データ取得モジュール31と、アップロードモジュール32と、監視モジュール33とを含む。
【００６５】
データ取得モジュール31およびアップロードモジュール32は、第4の実施態様のものと同じであり、互いに参照することができる。
【００６６】
監視モジュール33は、サーバによってプッシュされたデータ取得要求を監視するように構成され、データ取得モジュール31は、データ取得要求が監視モジュールによって監視された後、対応するデータを取得するように構成され、アップロードモジュール32は、取得されたデータをサーバにアップロードするように構成される。
【００６７】
データ取得モジュール31は、例えば、第2のデータ取得要求に従って、選択されるデータを提示するように構成された提示ユニット311と、選択されたデータを取得するように構成された取得ユニット312とを含むことができる。加えて、データ取得モジュール31は、第2のデータ取得要求での指定に従って対応するデータを直接取得するように構成されてよく、さらに、リアルタイムでデータ入力を取得するために、第2のクライアントデバイス30内のデータ取得装置を起動するように構成されてよい。
【００６８】
この実施態様のクライアントデバイス間でデータを交換するための装置では、サーバによってプッシュされたデータ取得要求を監視することによって、対応するデータが、必要なときにサーバにアップロードされ得、第5の実施態様の交換装置と組み合わせて、他のクライアントデバイスを用いてこの実施態様の交換装置内のデータにアクセスする操作プロセスは、より簡単であり、使用経験は、より滑らかである。
【００６９】
加えて、本出願の一実施態様は、さらに、コンピュータ実行可能命令を記憶するコンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、例えば、光ディスク、ハードディスク、またはフラッシュメモリなどの不揮発性メモリである。
【００７０】
コンピュータ実行可能命令は、コンピュータまたは同様の動作装置が以下の動作を実行することを可能にするために使用される。
【００７１】
第1のクライアントデバイスが、第1のデータ取得要求をサーバに送る。
【００７２】
サーバは、第1のデータ取得要求に従って第2のデータ取得要求を生成し、第2のデータ取得要求を第2のクライアントデバイスにプッシュする。
【００７３】
第2のクライアントデバイスは、第2のデータ取得要求に従ってデータを取得し、取得されたデータをサーバにアップロードする。
【００７４】
サーバは、第2のクライアントデバイスによってアップロードされたデータ、またはデータのメッセージダイジェストを第1のクライアントデバイスに返す。
【００７５】
さらに、第1のクライアントデバイスは、第2のクライアントデバイスによってアップロードされたデータ、またはデータのメッセージダイジェストに従って、結果を表示する。
【００７６】
さらに、第2のクライアントデバイスが第2のデータ取得要求に従ってデータを取得することは、第2のデータ取得要求に従って、選択されるデータを提示するステップと、選択されたデータを取得するステップとを含む。
【００７７】
さらに、第2のクライアントデバイスが第2のデータ取得要求に従ってデータを取得することは、第2のデータ取得要求での指定に従って、対応するデータを直接取得するステップを含む。
【００７８】
さらに、第2のクライアントデバイスが第2のデータ取得要求に従ってデータを取得することは、リアルタイムでデータ入力を取得するために、第2のクライアントデバイス内のデータ取得装置を起動するステップを含む。
【００７９】
コンピュータ実行可能命令は、さらに、コンピュータまたは同様の動作装置が以下の動作を実行することを可能にするために使用される。
【００８０】
第1のクライアントデバイスによって送られた第1のデータ取得要求を受信する。
【００８１】
第1のデータ取得要求に従って第2のデータ取得要求を生成し、ここで、第2のデータ取得要求は、第2のクライアントデバイスが対応するデータを取得し、アップロードすることを可能にするために使用される。
【００８２】
第2のデータ取得要求を第2のクライアントデバイスにプッシュする。
【００８３】
第2のクライアントデバイスによってアップロードされたデータを受信する。
【００８４】
第2のクライアントデバイスによってアップロードされたデータ、またはデータのメッセージダイジェストを第1のクライアントデバイスに返す。
【００８５】
さらに、第2のデータ取得要求は、第2のクライアントデバイス内のデータを直接指定する。
【００８６】
コンピュータ実行可能命令は、さらに、コンピュータまたは同様の動作装置が以下の動作を実行することを可能にするために使用される。
【００８７】
サーバによってプッシュされたデータ取得要求を監視する。
【００８８】
データ取得要求が監視された後、対応するデータを取得する。
【００８９】
取得されたデータをサーバにアップロードする。
【００９０】
さらに、データ取得要求が監視された後、対応するデータを取得するステップは、データ取得要求に従って、選択されるデータを提示するステップと、選択されたデータを取得するステップとを含む。
【００９１】
さらに、データ取得要求が監視された後、対応するデータを取得するステップは、データ取得要求での指定に従ってデータを直接取得するステップを含む。
【００９２】
さらに、データ取得要求が監視された後、対応するデータを取得するステップは、リアルタイムでデータ入力を取得するために、クライアントデバイス内のデータ取得装置を起動するステップを含む。
【００９３】
図9は、いくつかの実施態様によるコンピュータシステム900を示すブロック図である。コンピュータシステム900は、クライアントデバイス902-Aと、通信ネットワーク904と、サーバシステム906と、クライアントデバイス902-Bとを含む。
【００９４】
クライアントデバイス902-Aは、入力デバイス910と、検索要求処理モジュール912と、検索結果処理モジュール914と、任意選択で検索モジュール924-Aと、任意選択でメディアプレーヤ916とを含む。図12に関連して以下に説明するように、クライアントデバイス902-Aがサーバシステム906内の検索モジュール924から検索結果を受信する場合、クライアントデバイス902-A内の検索モジュール924-Aは、任意選択である。1つまたは複数の入力デバイス910は、キーボードと、マウスと、トラックパッドと、タッチスクリーンとを含む。検索要求処理モジュール912は、ユーザ入力(例えば、ユーザ選択された検索パラメータ、例えば、検索パラメータ識別子903、または、ユーザ指定されたデバイス識別子、例えば、デバイス識別子901)に従って、データ取得要求を決定し、サーバ906に発行する。任意選択の検索モジュール924-Aは、サーバ906から、またはクライアントデバイス902-Bから得られた検索パラメータ(例えば、検索パラメータ905)に従って検索結果を生成する。検索結果処理モジュール914は、クライアントデバイス902-Aによって生成された検索結果、またはサーバ906から受信した検索結果を選択的に取得し(例えば、フィルタリングし)、提示する(例えば、表示またはフォーマットする)。いくつかの実施態様では、任意選択のメディアプレーヤ916は、検索結果に含まれるメディアコンテンツ(例えば、YOUTUBE(登録商標)またはYOUKU(登録商標)ビデオ、またはMP3ソング)を表示する。
【００９５】
いくつかの実施態様では、通信ネットワーク904は、コンピューティングクラウドである。通信ネットワーク904は、任意選択で、インターネット、1つもしくは複数のローカルエリアネットワーク(LAN:local  area  network)、1つもしくは複数のワイドエリアネットワーク(WAN:wide  area  network)、他のタイプのネットワーク、またはそのようなネットワークの組み合わせを含む。
【００９６】
いくつかの実施態様では、サーバシステム906は、デバイス識別モジュール920と、デバイスデータベース922と、検索モジュール924と、検索データベース926とを含む。デバイス識別モジュール920は、デバイス識別子901に従って、デバイスのセットの中からデバイス(例えば、クライアント902-B)を一意的に識別する。デバイスデータベース922は、デバイス(例えば、携帯電話、タブレット、および、APPLE(登録商標)のIPAD(登録商標)またはIPHONE(登録商標)などのスマートフォン)のセットに対応する情報(例えば、携帯電話番号、電子メールアドレス、SIMカード番号、IMEI番号、MACアドレス、およびデバイスのシリアル番号)を記憶する。検索モジュール924は、クライアントデバイス902-Bから取得した検索パラメータ(例えば、クライアント902-Bの位置)に従って、検索結果(例えば、近くのホテルまたはレストランの情報)を生成する。
【００９７】
いくつかの実施態様では、検索データベース926は、検索可能な情報(例えば、ホテルの住所、ビデオもしくはオーディオファイル、レストランのメニュー、および電話番号)、またはそのインデックスを記憶する。いくつかの実施態様では、検索データベース926は、インターネット、またはその一部(例えば、「Baidu.com」、「SOHU.com」、または「Yahoo.com.cn」などの特定のドメイン下のコンテンツ)である。
【００９８】
いくつかの実施態様では、クライアントデバイス902-Bは、プライバシー制御モジュール932と、検索パラメータ取得モジュール934と、検索モジュール924-Bとを含む。プライバシー制御モジュール932は、1つまたは複数のプライバシー設定に従って、クライアント902-Bに記憶された、クライアント902-Bによって生成された、またはクライアント902-Bから取得された1つまたは複数の検索パラメータ(例えば、クライアント902-Bの位置または高度、ユーザの活動履歴、クライアント902-Bのユーザの閲覧履歴)へのアクセスを制御する。例えば、クライアントデバイス902-Bによって生成された特定の情報に対する要求に応答して、プライバシー制御モジュール932は、要求および関連情報(例えば、要求が誰からまたはどのクライアントデバイスから来るのか)を、そのディスプレイに表示するようにトリガされる。クライアントデバイス902-Bは、クライアントデバイス902-Bのユーザからの承認を受信するまでは、要求された情報を送らない。
【００９９】
時には、あるユーザが別のユーザに関連する情報にアクセスすることが必要である。例えば、家でデスクトップの前に座っている主婦は、スマートフォンを有する、現在ニューヨークからサンフランシスコまで国を車で横断している彼女の夫のためのホテルを予約することに興味がある場合がある。この場合、妻は、夫を妨害することなく、夫の現在の位置を知る必要がある。検索パラメータ取得モジュール934は、検索パラメータ識別子に従って検索パラメータを取得する(例えば、データ取得要求に含まれる位置識別子に従ってクライアント902-Bの位置を取得する)。いくつかの実施態様では、検索モジュール924-Bは、検索パラメータ取得モジュール934から得られた検索パラメータに従って検索結果(例えば、クライアント902-Bの位置に近い近くのホテルまたはレストランの位置)を生成する。
【０１００】
図10は、いくつかの実施態様による第1のクライアントデバイス(例えば、クライアントデバイス902-A)を示すブロック図である。クライアントデバイス902-Aは、いくつかの実施態様では、1つまたは複数の処理ユニットCPU1002(本明細書ではプロセッサとも呼ばれる)と、1つまたは複数のネットワークインターフェース1004と、1つまたは複数の入力デバイス910と、メモリ1006と、ディスプレイ1003と、これらの構成要素を相互接続するための1つまたは複数の通信バス1008とを含む。通信バス1008は、任意選択で、システム構成要素間を相互接続し、通信を制御する回路網(時にはチップセットと呼ばれる)を含む。メモリ1006は、典型的には、DRAM、SRAM、または他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリを含み、任意選択で、1つまたは複数の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、または他の不揮発性固体記憶デバイスなどの不揮発性メモリを含む。メモリ1006は、任意選択で、CPU1002から離れて配置された1つまたは複数の記憶デバイスを含む。メモリ1006、または代替的に、メモリ1006内の不揮発性メモリデバイスは、非一時的なコンピュータ可読記憶媒体を備える。いくつかの実施態様では、メモリ1006、または代替的に、非一時的なコンピュータ可読記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそのサブセットを記憶し、すなわち、
・様々な基本システムサービスを処理し、ハードウェア依存のタスクを実行するための手順を含むオペレーティングシステム1010と、
・1つまたは複数のネットワークインターフェース1004(ワイヤードもしくはワイヤレス)、または通信ネットワーク904(図9)を介して、クライアントデバイス902-Aと他のデバイス(例えば、サーバ906、もしくはクライアントデバイス902-B)とを接続するためのネットワーク通信モジュール(または命令)1012と、
・ユーザ入力に従って、異なるユーザインターフェース制御(例えば、検索パラメータ識別子およびデバイス識別子を入力するためのテキストボックスまたはドロップダウンリスト)ならびにユーザデータ(例えば、検索結果)を表示するためのユーザインターフェースモジュール1014と、
・ユーザ入力(例えば、ユーザ選択された検索パラメータまたはデバイス識別子)に従って、1つまたは複数のデータ取得要求を生成し、サーバ906に発行するための検索要求処理モジュール912と、
・任意選択で、検索パラメータ(例えば、サーバ906から、またはクライアントデバイス902-Bから受信した)に従って検索結果を生成するための検索モジュール924と、
・クライアントデバイス902-Aによって生成された検索結果、およびサーバ906から受信した検索結果を選択的に取得する(例えば、フィルタリングする)、または、提示する(例えば、それらを表示し、フォーマットする)ための検索結果処理モジュール914と、
・任意選択で、検索結果に含まれるメディアコンテンツ(例えば、YOUTUBE(登録商標)またはYOUKUビデオ、MP3ソング)を表示するためのメディアプレーヤ916と、
・クライアントデバイス902-Aに記憶されたデータ1016であって、データ1016は、
○いくつかのデバイスからデバイスを一意的に識別するためのデバイス識別子901と、
○いくつかのパラメータから検索パラメータを一意的に識別するための検索パラメータ識別子903と、
○ユーザによって発行されたデータ取得要求に応答して取得された1つまたは複数の検索結果907と
を含む。
【０１０１】
いくつかの実施態様では、1つまたは複数のユーザ入力デバイス910は、キーボードと、マウスと、トラックパッドと、タッチスクリーンとを含む。
【０１０２】
図11は、いくつかの実施態様による第2のクライアントデバイス(例えば、クライアントデバイス902-B)を示すブロック図である。クライアントデバイス902-Bは、いくつかの実施態様では、1つまたは複数の処理ユニットCPU1102(本明細書ではプロセッサとも呼ばれる)と、1つまたは複数のネットワークインターフェース1104と、位置識別デバイス1105(例えば、GPS)と、1つまたは複数の入力デバイス1107と、メモリ1106と、ディスプレイ1103と、これらの構成要素を相互接続するための1つまたは複数の通信バス1108とを含む。通信バス1108は、任意選択で、システム構成要素間を相互接続し、通信を制御する回路網(時にはチップセットと呼ばれる)を含む。メモリ1106は、典型的には、DRAM、SRAM、または他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリを含み、任意選択で、1つまたは複数の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、または他の不揮発性固体記憶デバイスなどの不揮発性メモリを含む。メモリ1106は、任意選択で、CPU1102から離れて配置された1つまたは複数の記憶デバイスを含む。メモリ1106、または代替的に、メモリ1106内の不揮発性メモリデバイスは、非一時的なコンピュータ可読記憶媒体を備える。いくつかの実施態様では、メモリ1106、または代替的に、非一時的なコンピュータ可読記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそのサブセットを記憶し、すなわち、
・様々な基本システムサービスを処理し、ハードウェア依存のタスクを実行するための手順を含むオペレーティングシステム1110と、
・1つまたは複数のネットワークインターフェース1104(ワイヤードもしくはワイヤレス)、または通信ネットワーク904(図9)を介して、クライアントデバイス902-Bと他のデバイス(例えば、サーバ906、もしくはクライアントデバイス902-A)とを接続するためのネットワーク通信モジュール(または命令)1112と、
・1つまたは複数のプライバシー設定(プライバシー設定1181-1...1118-n)に従って、クライアント902-Bに記憶された、クライアント902-Bによって生成された、またはクライアント902-Bから取得可能な検索パラメータ(例えば、クライアント902-Bの位置または高度、ユーザの活動履歴、クライアント902-Bのユーザの閲覧履歴)へのアクセスを制御するためのプライバシー制御モジュール932と、
・検索パラメータ識別子に従って検索パラメータを取得するための、例えば、位置識別子(例えば、文字列「LOCATION」)に従って、クライアント902-B内のデータ取得装置935(例えば、GPSモジュール)を呼び出すことによってクライアント902-Bの位置(例えば、カリフォルニア州サンフランシスコ)を取得するための、検索パラメータ取得モジュール934と、
・任意選択で、検索パラメータに従って検索結果(例えば、クライアント902-Bの位置に近い近くのホテルまたはレストランの住所)を生成する、または他の方法で取得するための検索モジュール924-Bと、
・クライアントデバイス902-Bに記憶されたデータ1114であって、データ1114は、
○いくつかのデバイスからデバイスを一意的に識別するためのデバイス識別子901と、
○いくつかのパラメータから検索パラメータを一意的に識別するための検索パラメータ識別子903と、
○ユーザによって発行されたデータ取得要求に応答して取得された1つまたは複数の検索結果907と、
○クライアント902-Bに記憶された、クライアント902-Bによって生成された、またはクライアント902-Bから取得可能な1つまたは複数の検索パラメータにアクセスするとき他のデバイス(例えば、クライアント902-Aまたはサーバ906)に割り当てられ、アクセス特権、またはその程度を指定する(例えば、書き込みまたは読み取りアクセスを制限または有効にする)ための1つまたは複数のプライバシー設定1116(1181-1...1118-n)と、
○様々な精度レベルでクライアントデバイス906-Bのおおよそのまたは正確な位置を識別する(例えば、ストリートレベルの位置が望まれるとき、94306カリフォルニア州パロアルト、11メインストリート、または、都市レベルの位置が望まれるとき、カリフォルニア州パロアルト)ための位置データ1120と
を含む。
【０１０３】
いくつかの実施態様では、位置識別デバイス1105は、GPSと、高度センサと、高精度コンパスとを含む。いくつかの実施態様では、1つまたは複数のユーザ入力デバイス1107は、キーボードと、マウスと、トラックパッドと、タッチスクリーンとを含む。
【０１０４】
図12は、いくつかの実施態様によるサーバシステム(例えば、サーバ906)を示すブロック図である。サーバ906は、いくつかの実施態様では、1つまたは複数の処理ユニットCPU1202(本明細書ではプロセッサとも呼ばれる)と、1つまたは複数のネットワークインターフェース1204と、メモリ1206と、これらの構成要素を相互接続するための1つまたは複数の通信バス1208とを含む。通信バス1208は、任意選択で、システム構成要素間を相互接続し、通信を制御する回路網(時にはチップセットと呼ばれる)を含む。メモリ1206は、典型的には、DRAM、SRAM、または他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリを含み、任意選択で、1つまたは複数の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、または他の不揮発性固体記憶デバイスなどの不揮発性メモリを含む。メモリ1206は、任意選択で、CPU1202から離れて配置された1つまたは複数の記憶デバイスを含む。メモリ1206、または代替的に、メモリ1206内の不揮発性メモリデバイスは、非一時的なコンピュータ可読記憶媒体を備える。いくつかの実施態様では、メモリ1206、または代替的に、非一時的なコンピュータ可読記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそのサブセットを記憶し、すなわち、
・様々な基本システムサービスを処理し、ハードウェア依存のタスクを実行するための手順を含むオペレーティングシステム1210と、
・1つまたは複数のネットワークインターフェース1204(ワイヤードもしくはワイヤレス)、または通信ネットワーク904(図9)を介して、サーバ106と他のデバイス(例えば、クライアントデバイス902-Aおよび902-B)とを接続するためのネットワーク通信モジュール(または命令)1212と、
・デバイス識別子に従って、デバイスのセットまたは集合(例えば、多数の携帯電話)の中でデバイス(例えば、携帯電話であるクライアント902-B)を一意的に識別するためのデバイス識別モジュールと、
・デバイス(例えば、携帯電話、タブレット、および、APPLEのIPADまたはIPHONEなどのスマートフォン)のセットに対応する情報(例えば、携帯電話番号、電子メールアドレス、SIMカード番号、IMEI番号、MACアドレス、およびデバイスのシリアル番号)、またはそのインデックスを記憶するためのデバイスデータベース922と、
・検索パラメータ(例えば、クライアント902-Bが現在位置しているカリフォルニア州パロアルトの都市における)に従って、検索結果(例えば、近くのCOSTCO(登録商標)倉庫の場所および時間)を生成または取得するための検索モジュール924と、
・検索可能な情報(例えば、ホテルの住所、ビデオもしくはオーディオファイル、レストランのメニュー、電話番号、および弁護士ディレクトリ)、またはそのインデックスを含む検索データベース926であって、いくつかの実施態様では、検索データベース926は、インターネット、またはその一部(例えば、「Baidu.com」、「SOHU.com」、または「Yahoo.com.cn」などの特定のドメイン下のコンテンツ)である、検索データベース926と、
・クライアントデバイス902-Bに記憶されたデータ1214であって、データ1214は、
○いくつかのデバイスの中で特定のクライアントデバイスを一意的に識別するためのデバイス識別子901(例えば、SIMカード番号、IMEI番号、携帯電話番号、デバイス名、ユーザ名、メーカー製デバイスシリアル番号)と、
○いくつかのパラメータ(例えば、いくつかのホテルの位置、時間、価格、および利用可能性情報)から検索パラメータ(例えば、位置)を一意的に識別するための検索パラメータ識別子903と、
○どの検索結果が最も関連するか、またはユーザによって望まれるかを指定するための検索パラメータ905と、
○検索パラメータ905に従って(例えば、検索データベース926から、インターネットもしくはその一部から、または、内部または外部のユーザ指定のネットワーク上の場所から)引き出された1つまたは複数の検索結果907と
を含む。
【０１０５】
いくつかの実施態様では、1つまたは複数の上記の識別した要素は、1つまたは複数の前述のメモリデバイスに記憶され、上記で説明した機能を実行するための命令のセットに対応する。上記の識別したモジュールまたはプログラム(例えば、命令のセット)は、別々のソフトウェアプログラム、プロシージャ、またはモジュールとして実現される必要はなく、したがって、これらのモジュールの様々なサブセットは、様々な実施態様で組み合わされてよく、または他の方法で再配置されてよい。いくつかの実施態様では、メモリ1006、1106、または1206は、任意選択で、上記で識別したモジュールおよびデータ構造のサブセットを記憶する。さらに、メモリ1006、1106、または1206は、上記で説明していない追加のモジュールおよびデータ構造を記憶することができる。
【０１０６】
図12は、サーバとも呼ばれる「サーバシステム906」を示しているが、図12は、本明細書に記載の実施態様の構造概略図としてよりも、サーバシステム内に存在し得る様々な特徴の機能的な説明として意図されている。実際には、当業者によって認識されるように、別々に示す項目は、組み合わされてよく、いくつかの項目は、分離されてよい。
【０１０７】
図13は、いくつかの実施態様による、コンピュータシステムにおいて、クライアントデバイス間でデータを交換するための方法を示すフローチャートである。
【０１０８】
いくつかの実施態様では、第1のクライアントデバイスは、第1のデータ取得要求をサーバ106(例えば、クラウド)に送信する(1302)。いくつかの実施態様では、第1のデータ取得要求を取得した後(1304)、サーバ106(例えば、クラウド)は、複数のデバイス(例えば、すべてのATTスマートフォン)の中で、そこから検索(例えば、位置から4マイル以内のホテルの検索)を実行するために必要な検索パラメータ(例えば、位置)が引き出されることになる第2のクライアントデバイス(例えば、スマートフォン)を識別する(1304)。いくつかの実施態様では、検索パラメータを取得するために、サーバ106(例えば、クラウド)は、第2のデータ取得要求を、識別された第2のクライアントデバイスに発行する(1302)。
【０１０９】
いくつかの実施態様では、第2のクライアントデバイスは、サーバ106(例えば、クラウド)から第2のデータ取得要求を取得し(1310)、サーバ106によって望まれるが(例えば、サーバ906も第1のクライアントデバイス902-Aもクライアントデバイス902-Bの位置を知らないので)以前は利用できなかった検索パラメータ(例えば、位置)を返す(1312)。
【０１１０】
いくつかの実施態様では、サーバ106は、次いで、検索パラメータ(例えば、クライアント902-Bの位置)を取得し(1314)、それに従って検索結果を取得する(1318)。他の実施態様では、サーバ106は、検索パラメータを第1のクライアントデバイス902-Aに送信し(1314)、第1のクライアントデバイス902-Aは、検索結果を取得する(1316)。いくつかの実施態様では、検索結果は、例えば、負荷分散を達成するために、サーバ106によって部分的に生成されており、第1のクライアントデバイスによって部分的に生成されている。
【０１１１】
いくつかの実施態様では、サーバ106は、第1のクライアントデバイスで表示するために、1つまたは複数の検索結果中の少なくとも1つの検索結果をフォーマットする(1320)。いくつかの実施態様では、少なくとも1つの検索結果は、次いで、ユーザが検討するために、第1のクライアントデバイスで表示される(1332)。
【０１１２】
図14A〜図14Bは、いくつかの実施態様による、(例えば、サーバまたはクラウド906における)コンピュータシステムで実施される、クライアントデバイス間でデータを交換するための方法1400を示すフローチャートである。
【０１１３】
いくつかの実施態様では、コンピュータシステムは、最初に、第1のクライアントデバイス(例えば、デスクトップコンピュータなどのクライアント902-A)から、ホテルの住所についてのユーザ要求などの第1のデータ取得要求を取得する(1402)。いくつかの実施態様では、データ取得要求は、ブラウザ内のウェブアプリケーションなどのグラフィカルユーザインターフェース、または、サーバまたはクラウド906との接続を有するソフトウェアアプリケーションのためのインターフェースを介して入力された検索要求である。
【０１１４】
第1のデータ取得要求(例えば、検索要求)は、(i)第1のクライアントデバイスから第2のクライアントデバイスを識別するデバイス識別子と、(ii)検索パラメータを識別する検索パラメータ識別子とを含む(1404)。例えば、近くのホテルの住所についての検索要求は、(i)電話番号(例えば、「650-785-5985」)と、(ii)特定の携帯電話(番号650-785-5982を有する携帯電話)の位置が近くのホテルの住所を検索するための検索パラメータとして使用されるべきことを指定する文字列(「LOCATION」)とを含む。いくつかの実施態様では、コンピュータシステムは、コンピューティングクラウド、またはその一部(例えば、クラウド内のサーバ、もしくはクラウドによって提供される特定のタイプのサービス)である。例えば、コンピュータシステムは、IaaS、PaaS、SaaS、NaaS、DaaS、もしくはDBaaSなどの公衆または私設クラウド、またはその一部(例えば、クラウド内のサーバ)である。いくつかの実施態様では、コンピューティングクラウドへのアクセスは、サブスクリプションベース(例えば、有料)または無料である。いくつかの実施態様では、クラウドは、IBM(登録商標)クラウド、DELL(登録商標)クラウド、Amazon(登録商標)クラウド、ORACLE(登録商標)クラウド、またはGoogle(登録商標)クラウドである。
【０１１５】
第1のデータ取得要求を取得した後、コンピュータシステムは、最初に、デバイス識別子に従って、複数のクライアントデバイスから第2のクライアントデバイスを識別する(1408)。例えば、デスクトップコンピュータのユーザから検索要求を受信した後、クラウドは、検索要求を分解し(例えば、分析または解析し)、いくつかの携帯電話、またはそれに関連するユーザの中で特定の携帯電話を識別するために、検索要求に含まれるデバイス識別子(例えば、電話番号)を使用する。時には、ユーザは、特定のデバイスまたはそのユーザに関連する検索結果により興味があるので、いくつかのデバイスの中で特定のデバイスを識別することは、重要である。例えば、郊外への旅行中の自分の夫のためのホテルを探している主婦は、自分の子供の携帯電話の位置よりも、(携帯電話が夫と共にあると仮定して)自分の夫の携帯電話の位置を知ることに興味がある。
【０１１６】
いくつかの実施態様では、第2のクライアントデバイスは、APPLEのIPADもしくはIPHONE、GOOGLEのタブレット、またはSAMSUNG(登録商標)の携帯電話などの、タブレット、ラップトップコンピュータ、スマートフォン、カーラジオ、およびGPSデバイスから成るグループから選択された1つである(1410)。いくつかの実施態様では、第2のクライアントデバイスは、携帯型もしくは移動型デバイス(例えば、携帯電話もしくはハンドヘルドウォーキートーキー)であるが、例えば、(第1のクライアントデバイスを持ち運ぶことを困難にするか、さもなければ不便にする)そのサイズのため、または、携帯電話もしくはWIFIネットワークなどのワイヤレス接続を介するのではなく、ケーブルもしくは他のワイヤード接続を介するような、第1のクライアントデバイスがクラウドと接続される方法のため、第1のクライアントデバイスは、あまり(または、まったく)携帯型もしくは移動型ではない。いくつかの実施態様では、第1のクライアントデバイスは、デスクトップコンピュータ、クラウド対応工業プリンタ、情報家電(例えば、台所用レンジ、エアコン、冷蔵庫、またはホームセキュリティシステム)である。
【０１１７】
第2のクライアントデバイスを識別した後、コンピュータシステムは、第2のデータ取得要求を第2のデバイスに発行し(1412)、第2のデータ取得要求は、検索パラメータ識別子を含む。例えば、携帯電話の位置の近くのホテルについての要求を受信した後、クラウドは、携帯電話の位置を取得するために、携帯電話に要求を送る。
【０１１８】
いくつかの実施態様では、第1のクライアントデバイスおよび第2のクライアントデバイスは、直接接続されない。例えば、クライアント902-Aは、ケーブル線路、ADSL回線、または電話回線を介して通信ネットワーク104(例えば、クラウド)に接続されるが、クライアント902-Aから離れて配置された携帯電話であるクライアント902-Bと直接接続されないデスクトップコンピュータである。いくつかの実施態様では、第1のクライアントデバイスおよび第2のクライアントデバイスは、コンピュータシステム(例えば、クラウド)のみを介して接続される。いくつかの実施態様では、例えば、クライアントデバイス902-Aおよび902-Bは、共通の接続容量を共有しないので、クライアントデバイス902-Aとクライアントデバイス902-Bとの間の直接接続は存在しない。例えば、クライアント902-Aは、Bluetooth(登録商標)アダプタのないデスクトップコンピュータであり、クライアント902-Bは、Bluetooth(登録商標)対応タブレットである。
【０１１９】
他の実施態様では、クライアント902-Aおよびクライアント902-Bが1つまたは複数の接続を介して(例えば、クラウドを介して、ならびに、データケーブル、WIFI、Bluetooth(登録商標)、および赤外線接続を介して)接続されるが、例えば、(例えば、クラウドが自動的に入力および出力データのバックアップを作成するとき)強化されたセキュリティを提供するために、または、(例えば、クラウドが高度な暗号化/復号化アルゴリズムを装備し、入力および出力データに適用するとき)機密性を保護するために、しきい値量(例えば、90%)または事前定義されたタイプ(例えば、機密情報)の、クライアント902-Aとクライアント902-Bとの間のデータ伝送が、サーバ106(または、クラウド)を介して行われる。
【０１２０】
いくつかの実施態様では、第1のクライアントデバイスおよび第2のクライアントデバイスは、異なる地理的領域に位置する(1418)。例えば、クライアント902-Aは、カリフォルニア州パロアルトに位置するデスクトップコンピュータであるが、クライアント902-Bは、ニューヨーク州ニューヨークに位置する別のデスクトップコンピュータである。例えば、クライアント902-Aは、大手法律事務所のテキサス州ヒューストンのオフィスに位置するプリンタであるが、クライアント902-Bは、同じ法律事務所のカリフォルニア州ロスアンゼルスのオフィスに位置するウェブカメラである。いくつかの実施態様では、サーバ906、またはクラウドは、事前定義されたユーザ要求(例えば、接続速度、価格、安定性、性能、および安全性)のセットを満たす、クライアント902-Aとクライアント902-Bとの間の接続を提供する。
【０１２１】
第2のデータ取得要求を第2のクライアントデバイスに発行した後、コンピュータシステム(例えば、サーバ106またはクラウド)は、検索パラメータ識別子に従って、第2のクライアントデバイスから検索パラメータを取得する(1420)。いくつかの実施態様では、第2のクライアントデバイスは、第2のデータ取得要求での指定に従って、検索パラメータを取得する(1417)。例えば、第2のクライアントデバイスの位置を取得するためのユーザ要求に応答して、クラウドは、第2のクライアントデバイスから位置(例えば、町、市、郡、または州の名前)を取得する。第2のデータ取得要求に応答して、第2のクライアントデバイスは、リアルタイムで検索パラメータを取得するために、第2のクライアントデバイス内のデータ取得装置を呼び出す(1419)。例えば、第2のクライアントデバイス(例えば、スマートフォン)は、第2のクライアントデバイスの現在の位置を決定するためのGPSモジュールを含むことができる。別の例では、第2のクライアントデバイス(例えば、インターネット対応DVDプレーヤ)からビデオのブレークポイント(例えば、ユーザによるユーザが見ていないビデオの部分についてのインジケータ)を取得するためのユーザ要求に応答して、クラウドは、第2のクライアントデバイスからブレークポイント(例えば、ユーザが直前に見ることをやめたDVDビデオの分および秒)を取得する。さらに別の例では、帰宅途中に自分のスマートフォンからオンラインビデオを見る人は、例えば、自宅のデバイスは、よりよい解像度およびオーディオ品質でビデオを再生することができるので、自宅の別の装置(例えば、インターネットへのワイヤード接続を有するデスクトップ)にビデオの再生を切り替えたい。この場合には、自宅のデバイスは、ビデオのブレークポイントに対する要求をリモートサーバに送る。リモートサーバは、次いで、スマートフォン上で再生されているビデオに関連する情報(例えば、人がビデオの再生を停止したブレークポイント)についてスマートフォンに要求を送る。スマートフォンから返された情報に基づいて、リモートサーバは、ビデオを再生するための開始点を決定し、開始点を自宅のデバイスに返す。開始点を使用して、自宅のデバイスは、ビデオの再生を再開することができる。いくつかの実施態様では、リモートサーバ
または自宅のデバイスは、人のビデオ視聴体験の連続性を改善するために、開始点をブレークポイントから事前定義された時間量(例えば、10秒)だけ自動的にロールバックすることができる。
【０１２２】
いくつかの実施態様では、検索パラメータは、以下、すなわち、地理的位置、ビデオブレークポイント、オーディオブレークポイント、写真、電子メール、バーコード、またはメディアコンテンツアイテムの一部のうちの1つを指定する(1422)。例えば、検索パラメータ(例えば、ブレークポイント)は、ユーザがビデオを見ること、オーディオを聴くこと、電子フォトアルバム(例えば、Yahoo(登録商標)のFLICKR(登録商標)アルバム)を見ることをやめた場所を指定する。別の例では、検索パラメータ(例えば、「未読」メッセージフラグ)は、ユーザがレビューしていない、電子メールストリームまたは電子メールボックス内の電子メールを示す。これらのアプローチは、有利であり、それらは、同じユーザまたは別のユーザが直前に停止した場所をユーザが再開することを可能にし、それによって、効率を改善し、(例えば、ビデオを見るときの)視聴体験を強化する。
【０１２３】
上述のように、第2のクライアントデバイスのユーザのプライバシーを保護するために、第2のクライアントデバイスは、例えば、第2のクライアントデバイスの現在の位置、または第2のクライアントデバイス上で現在実行されているアプリケーションを含む任意の機密情報を開放する前に、ユーザの承認を求めるメカニズムを含むことができる。第2のデータ取得要求に応答して、第2のクライアントデバイスは、検索パラメータ、および第1のクライアントデバイスに関連する識別子(例えば、ユーザによって開始された第1のデータ取得要求に含まれる第1のクライアントデバイスのユーザの名前)を第2のクライアントデバイスで表示し(1421)、第2のクライアントデバイスのユーザからの承認の後に、検索パラメータをコンピュータシステムに返す。
【０１２４】
いくつかの実施態様では、コンピュータシステム(例えば、サーバ106またはクラウド)は、次いで、検索パラメータに従って1つまたは複数の検索結果を取得する(1424)。いくつかの実施態様では、コンピュータシステム(例えば、クラウド)は、検索データベース922に対して検索パラメータ905を使用する検索クエリを実行することによって、1つまたは複数の検索結果を生成する。他の実施態様では、クライアント902-Bは、適切な処理能力を備えたとき、(例えば、図9に示す検索データベース922に対して、または、クライアント902-Bに存在する、もしくはクライアント902-Bと接続された別のデータベースに対して検索パラメータ905を使用する検索クエリを実行することによって)1つまたは複数の検索結果を生成する。
【０１２５】
いくつかの実施態様では、1つまたは複数の検索結果を取得した後、コンピュータシステム(例えば、サーバ106またはクラウド)は、第1のクライアントデバイスで表示するために、1つまたは複数の検索結果内の少なくとも1つの検索結果をフォーマットする(1428)。いくつかの実施態様では、例えば、(例えば、第1のクライアントと第2のクライアントとの間の接続がADSL接続であるとき)帯域幅を節約するため、または、第1のクライアントデバイス(例えば、INTEL486(商標)プロセッサを有する10年前のデスクトップ)が、事前定義された数(例えば、20、50、100、または200)より多い検索結果を処理するために限定された処理能力を有するとき、第1のクライアントデバイスの過負荷を回避するために、コンピュータシステム(例えば、クラウド)は、1つまたは複数のフィルタリング基準を1つまたは複数の検索結果に適用し、フィルタリングされた検索結果を第1のクライアントデバイスに選択的に送信する。いくつかの実施態様では、1つまたは複数のフィルタリング基準は、価格情報(例えば、一泊のホテル滞在につき50ドルより高い)と、利用可能性(例えば、指定された日付または時間のホテルの部屋)と、ユーザの好み(例えば、4つ星のホテル、モーテル、または朝食付き宿泊設備での予約)と、位置制約(例えば、事前定義された距離以内)、時間制約(例えば、チェックイン時間要件)と、設備制約(例えば、スイミングプールありまたはなし)とを含む。いくつかの実施態様では、第2のクライアントデバイスに関連する検索パラメータ(例えば、その位置情報)は、第1のクライアントデバイスで少なくとも1つの検索結果と共に表示される(1430)。
【０１２６】
いくつかの実施態様では、コンピュータシステムは、例えば、(第1のデータ取得要求に追加の)ユーザの努力を必要としないように、ユーザの介在なしに、検索結果を第1のクライアントデバイスに自動的に送信する。これらのアプローチは、ユーザの負担を精神的および物理的の両方で軽減するので、有利である。第1のクライアントデバイスのユーザは、どの検索パラメータがどのデバイスから選択されるべきであるのかを指定することのみを必要とし、それに従う検索結果は、次いで、ユーザに自動的に提供され、それによって、検索効率およびユーザ利便性を改善する。
【０１２７】
いくつかの実施態様では、第2のクライアントデバイスに関連する検索パラメータ(例えば、その位置情報)は、第1のクライアントデバイスで少なくとも1つの検索結果と共に表示される(1430)。いくつかの実施態様では、第2のクライアントデバイスおよび第1のクライアントデバイスのユーザは、同じ人である。第2のクライアントデバイスでコンピュータシステムからデータを受信しながら、ユーザは、第1のクライアントデバイスでコンピュータシステムからデータを受信することを続けるために、第1のクライアントデバイスから第1のデータ取得要求を開始する。例えば、ユーザが帰宅途中に自分のスマートフォンを使用してビデオを見ながら、ユーザは、同じビデオを見続けたいが、小さい画面および遅いデータダウンロード速度を有するスマートフォンから、自宅の大きい画面および速いデータダウンロード速度を有するデスクトップコンピュータに一度移動したい場合がある。この場合、ユーザは、スマートフォンからデスクトップにビデオの再生を移行するために、要求を送ることができる。しかし、ビデオを最初から再生する代わりに、デスクトップは、スマートフォンによって提供されたブレークポイント情報に基づいてビデオの再生を続ける。時には、デスクトップは、ビデオストリームの再生の連続性を改善するために、自動的にブレークポイントから数秒ロールバックすることができる。
【０１２８】
上記の説明は、本出願をいかなる形で制限するものでもなく、単に本出願の例示的な実施態様である。本出願は、例示的な実施態様を参照して上記で詳細に開示されているが、本出願は、これに限定されない。いかなる当業者も、本出願の技術的解決策の範囲から逸脱することなく、等しい変更で同等の実施態様を形成するために、上記で開示した技術的内容にいくつかの変更または修正を行うことができる。本出願の技術的解決策の内容から逸脱することなく、本出願の技術的本質に従って上記の実施態様に行われたいかなる形状の修正、等しい変更、または修正は、すべて本出願の技術的解決策の範囲に属するものとする。
【０１２９】
特定の実施態様を上記で説明したが、本発明をこれらの特定の実施態様に限定することを意図していないことが理解されるであろう。それどころか、本発明は、添付の特許請求の範囲の要旨および範囲内にある代替形態、修正形態、および等価形態を含む。本明細書で提示される主題の完全な理解を提供するために、多数の特定の詳細を述べた。しかし、主題は、これらの特定の詳細なしに実施され得ることが、当業者には明らかであろう。他の例では、実施態様の態様を不必要に曖昧にしないために、周知の方法、手順、構成要素、および回路は、詳細に説明されていない。
【０１３０】
第1、第2などの用語は、本明細書では、様々な要素を記述するために使用される場合があり、これらの要素は、これらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素から区別するためにのみ使用される。例えば、本出願の範囲から逸脱することなく、第1のクライアントデバイスは、第2のクライアントデバイスと呼ばれてよく、同様に、第2のクライアントデバイスは、第1のクライアントデバイスと呼ばれてよい。第1のクライアントデバイスおよび第2のクライアントデバイスは、両方ともクライアントデバイスであるが、それらは、同じクライアントデバイスではない。
【０１３１】
本明細書で発明の説明で使用される用語法は、特定の実施態様を説明する目的のためだけのものであり、本発明を限定することを意図するものではない。本発明の説明および添付の特許請求の範囲で使用されるとき、単数形「a」、「an」、および「the」は、文脈が別途明確に示さない限り、同様に複数形を含むことを意図している。「および/または」という用語は、本明細書では、1つまたは複数の関連する記載項目の任意のおよびすべての可能な組み合わせを指し、包含することも理解されるであろう。さらに、「含む」、「含んでいる」、「備える」、および/または「備えている」という用語は、本明細書で使用されるとき、述べられた特徴、動作、要素、および/または構成要素の存在を指定するが、1つまたは複数の他の特徴、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことが理解されるであろう。
【０１３２】
本明細書で使用されるとき、「場合(if)」という用語は、文脈に応じて、述べられた停止条件が真であるとき、「とき(when)」、または「際し(upon)」、または「決定に応答して」、または「決定に従って」、または「検出に応答して」を意味すると解釈され得る。同様に、「[述べられた停止条件が真である]と決定された場合」、または「[述べられた停止条件が真である]場合」、または「[述べられた停止条件が真である]とき」という句は、文脈に応じて、停止条件が真であることの「決定に際して」、または「決定に応答して」、または「決定に従って」、または「検出に際して」、または「検出に応答して」を意味すると解釈され得る。
【０１３３】
様々な図面のいくつかは、いくつかの論理段階を特定の順序で示しているが、順序に依存しない段階は、並べ替えられてよく、他の段階は、結合または分解されてよい。いくらかの並べ替え、または他のグループ分けが、具体的に言及されているが、他のものは、当業者には明らかであるので、代替形態の網羅的なリストを提示しない。さらに、段階は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組み合わせで実施され得ることを認識すべきである。
【０１３４】
以上の説明を、説明の目的のために、特定の実施態様を参照して説明した。しかしながら、上記の例示的な議論は、網羅的であることを意図するものではなく、また、開示された正確な形態に本発明を限定することを意図するものでもない。多くの修正形態および変形形態が、上記の教示に鑑みて可能である。実施態様は、本発明の原理、およびその実際的応用を最良に説明し、それによって、本発明、および、考えられる特定の使用に適したような様々な修正による様々な実施態様を、他の当業者が最良に利用することを可能にするために、選択され、説明された。実施態様は、添付の特許請求の要旨および範囲内にある代替形態、修正形態、および等価形態を含む。本明細書で提示される主題の完全な理解を提供するために、多数の特定の詳細を述べた。しかし、主題は、これらの特定の詳細なしに実施され得ることが、当業者には明らかであろう。他の例では、実施態様の態様を不必要に曖昧にしないために、周知の方法、手順、構成要素、および回路は、詳細に説明されていない。
【符号の説明】
【０１３５】
10  第1のクライアントデバイス
11  データ要求モジュール
12  出力モジュール
20  サーバ
20a  交換装置
21  データ要求生成モジュール
22  プッシュモジュール
23  リターンモジュール
24  第1の受信モジュール
25  第2の受信モジュール
30  第2のクライアントデバイス
30a  交換装置
31  データ取得モジュール
32  アップロードモジュール
33  監視モジュール
32  アップロードモジュール
311  提示ユニット
312  取得ユニット
400  交換システム
900  コンピュータシステム
901  デバイス識別子
902-A  クライアントデバイス
902-B  クライアントデバイス
903  検索パラメータ識別子
904  通信ネットワーク
905  検索パラメータ
906  サーバシステム
907  検索結果
910  入力デバイス
912  検索要求処理モジュール
914  検索結果処理モジュール
916  メディアプレーヤ
920  デバイス識別モジュール
922  デバイスデータベース
924  検索モジュール
924-A  検索モジュール
924-B  検索モジュール
926  検索データベース
932  プライバシー制御モジュール
934  検索パラメータ取得モジュール
935  データ取得装置
1002  CPU
1003  ディスプレイ
1004  ネットワークインターフェース
1006  入力デバイス
1008  通信バス
1010  オペレーティングシステム
1012  ネットワーク通信モジュール
1014  ユーザインターフェースモジュール
1016  データ
1102  CPU
1103  ディスプレイ
1104  ネットワークインターフェース
1105  位置識別デバイス
1106  メモリ
1107  入力デバイス
1108  通信バス
1110  オペレーティングシステム
1112  ネットワーク通信モジュール
1114  データ
1116  プライバシー設定
1118-1〜1118-n  プライバシー設定
1120  位置データ
1202  CPU
1204  ネットワークインターフェース
1206  メモリ
1208  通信バス
1210  オペレーティングシステム
1212  ネットワーク通信モジュール
1214  データ
【図１】
2015517706.tif 000003
【図２】
2015517706.tif 000004
【図３】
2015517706.tif 000005
【図４】
2015517706.tif 000006
【図５】
2015517706.tif 000007
【図６】
2015517706.tif 000008
【図７】
2015517706.tif 000009
【図８】
2015517706.tif 000010
【図９】
2015517706.tif 000011
【図１０】
2015517706.tif 000012
【図１１】
2015517706.tif 000013
【図１２】
2015517706.tif 000014
【図１３】
2015517706.tif 000015
【図１４Ａ】
2015517706.tif 000016
【図１４Ｂ】
2015517706.tif 000017
【国際調査報告】
2015517706.tif 000018
2015517706.tif 000019