JP5291240B2 - 複数デバイス間におけるブラウジング・コンテキストの継続 - Google Patents

複数デバイス間におけるブラウジング・コンテキストの継続 Download PDF

Info

Publication number
JP5291240B2
JP5291240B2 JP2012267286A JP2012267286A JP5291240B2 JP 5291240 B2 JP5291240 B2 JP 5291240B2 JP 2012267286 A JP2012267286 A JP 2012267286A JP 2012267286 A JP2012267286 A JP 2012267286A JP 5291240 B2 JP5291240 B2 JP 5291240B2
Authority
JP
Japan
Prior art keywords
web
data
session data
clients
session
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012267286A
Other languages
English (en)
Other versions
JP2013120603A (ja
Inventor
クロード ウェバー,アルノー
ニーリィ エーンズリー,アレックス
ラジーニ シャー,ローマ
マーフィー,グレン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2013120603A publication Critical patent/JP2013120603A/ja
Application granted granted Critical
Publication of JP5291240B2 publication Critical patent/JP5291240B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、1つまたは複数のウェブ・クライアントからのセッション・データを同期させる技術に関する。
所与のウェブ・クライアント(web client)(たとえば、ウェブ・ブラウザ)では、ウェブ・コンテンツ(web content)をウェブ・クライアントに表示することができる。たとえば、ウェブ・コンテンツはテキストとグラフィックス(たとえば、画像または写真など)の混合物を含むことができる。ウェブ・コンテンツを表示するために、種々のウェブ・クライアントが使用可能である。たとえば、デスクトップ・ウェブ・クライアントはウェブ・コンテンツを表示することができる。他の例では、モバイル・デバイス上のモバイル・ウェブ・クライアントがウェブ・コンテンツを表示することができる。
主題技術は、1つまたは複数のウェブ・クライアントからのセッション・データ(session data)を自動的に同期させることを提供する。主題技術は、1つまたは複数のウェブ・クライアントからの更新済みセッション・データが使用可能であるかどうかをモバイル・デバイス上で判断する。更新済みセッション・データは、1つまたは複数のウェブ・クライアント上のそれぞれのセッションにおけるブラウジング・アクティビティ(browsing activity)を示し、それぞれのセッション中に1つまたは複数のウェブ・クライアントより受信したユーザ入力に基づくウェブ・ページ・フォームエレメント・データ(web page form element data)を含む。次に主題技術は、更新済みセッション・データが使用可能である場合に、ネットワークにより1つまたは複数のウェブ・クライアントから更新済みセッション・データをモバイル・デバイス上で受信する。このとき更新済みセッション・データが、1つまたは複数のウェブ・クライアント上のそれぞれのセッションにおけるブラウジング・アクティビティの現在の状態を含み、ブラウジング・アクティビティの現在の状態は、1つまたは複数のウェブ・クライアント上のそれぞれのセッション中における、閲覧したウェブ・ページのタブ付きウィンドウ・アクティビティを含み、1つまたは複数のウェブ・クライアントのうち少なくとも1つはデスクトップ・コンピューティング・デバイス上で動作するデスクトップ・ウェブ・クライアントを含む。次に主題技術は、モバイル・ウェブ・クライアントがモバイル・デバイス上で起動された後に、モバイル・デバイス上のモバイル・ウェブ・クライアントのウィンドウ内に、受信した更新済みセッション・データを表示する。このときモバイル・ウェブ・クライアントのウィンドウ内に表示される更新済みセッション・データは、1つまたは複数のウェブ・クライアント上のそれぞれのセッションにおけるブラウジング・アクティビティの現在の状態に対応し、表示される更新済みセッション・データは、1つまたは複数のウェブ・クライアント上のそれぞれのセッション中に1つまたは複数のウェブ・クライアントより受信した、閲覧したウェブ・ページのタブ付きウィンドウ・アクティビティおよびユーザ入力に基づくウェブ・ページ・フォームエレメント・データを含む。
主題技術は、第1のウェブ・クライアントと同期させるために1つまたは複数のウェブ・クライアントからのセッション・データを保存することをさらに提供する。主題技術は、更新済みセッション・データが1つまたは複数のウェブ・クライアントのそれぞれのセッションで使用可能であるかどうかを判断し、更新済みセッション・データはそれぞれのセッション中に1つまたは複数のウェブ・クライアントより受信したユーザ入力に基づくウェブ・ページ・フォームエレメント・データを含む。次に主題技術は、更新済みセッション・データが使用可能である場合に、更新済みセッション・データに関する要求をネットワークにより1つまたは複数のウェブ・クライアントに伝送する。次に更新済みセッション・データがネットワークにより1つまたは複数のウェブ・クライアントから受信される。ここで更新済みセッション・データが、1つまたは複数のウェブ・クライアント上のそれぞれのセッションにおけるブラウジング・アクティビティの現在の状態を含み、ブラウジング・アクティビティの現在の状態は、1つまたは複数のウェブ・クライアントでのそれぞれのセッション中に閲覧したウェブ・ページのタブ付きウィンドウ・アクティビティを含み、1つまたは複数のウェブ・クライアントのうち少なくとも1つはデスクトップ・コンピューティング・デバイス上で動作するデスクトップ・ウェブ・クライアントを含む。次に主題技術は、更新済みセッション・データをネットワークによりモバイル・デバイス上のモバイル・ウェブ・クライアントに伝送してモバイル・デバイス上のモバイル・ウェブ・クライアント上で表示させる。ここで伝送された更新済みセッション・データは、1つまたは複数のウェブ・クライアントでのそれぞれのセッションにおけるブラウジング・アクティビティの現在の状態に対応し、伝送された更新済みセッション・データは、1つまたは複数のウェブ・クライアントでのそれぞれのセッション中に1つまたは複数のウェブ・クライアントから受信した、閲覧したウェブ・ページのタブ付きウィンドウ・アクティビティおよびユーザ入力に基づくウェブ・ページ・フォームエレメント・データを含む。
主題技術のさらに他の態様は、1つまたは複数のウェブ・クライアントからのセッション・データを自動的に同期させるためのシステムを提供する。このシステムは、メモリと、1つまたは複数のプロセッサと、メモリ内に保存され、1つまたは複数のプロセッサによる実行のために構成された1つまたは複数のモジュールとを含む。このシステムは、更新済みセッション・データが1つまたは複数のウェブ・クライアント上のそれぞれのセッションで使用可能であるかどうかを判断するように構成されたセッション・モニタリング・モジュール(session monitoring module)を含み、更新済みセッション・データは1つまたは複数のウェブ・クライアント上のブラウジング・アクティビティを示し、それぞれのセッション中に1つまたは複数のウェブ・クライアントから受信したユーザ入力に基づくウェブ・ページ・フォームエレメント・データを含み、更新済みセッション・データが、1つまたは複数のウェブ・クライアント上のそれぞれのセッションにおけるブラウジング・アクティビティの現在の状態を含み、ブラウジング・アクティビティの現在の状態は、1つまたは複数のウェブ・クライアント上のそれぞれのセッション中における、閲覧したウェブ・ページのタブ付きウィンドウ・アクティビティを含み、1つまたは複数のウェブ・クライアントのうち少なくとも1つはデスクトップ・コンピューティング・デバイス上で動作するデスクトップ・ウェブ・クライアントを含む。このシステムは、更新済みセッション・データが使用可能である場合に第1のウェブ・クライアントに通知を伝送するように構成された通知モジュール(notification module)をさらに含む。さらに、このシステムは、ネットワークにより第1のウェブ・クライアントに更新済みセッション・データを伝送して第1のウェブ・クライアント上で表示させるように構成された同期モジュール(synchronization module)を含み、伝送された更新済みセッション・データは、1つまたは複数のウェブ・クライアント上のそれぞれのセッションにおけるブラウジング・アクティビティの現在の状態に対応し、伝送された更新済みセッション・データは、1つまたは複数のウェブ・クライアント上のそれぞれのセッション中に1つまたは複数のウェブ・クライアントから受信した、閲覧したウェブ・ページのタブ付きウィンドウ・アクティビティおよびユーザ入力に基づくウェブ・ページ・フォームエレメント・データを含む。
主題技術は、更新済みセッション・データが1つまたは複数のウェブ・クライアントでのそれぞれのセッションで使用可能であるかどうかを判断することをさらに提供し、更新済みセッション・データはそれぞれのセッション中に1つまたは複数のウェブ・クライアントより受信したユーザ入力に基づくウェブ・ページ・フォームエレメント・データを含む。主題技術は、更新済みセッション・データが使用可能である場合に、ネットワークにより1つまたは複数のウェブ・クライアントに更新済みセッション・データに関する要求を伝送する。次に更新済みセッション・データがネットワークにより1つまたは複数のウェブ・クライアントから受信される。ここで更新済みセッション・データが、1つまたは複数のウェブ・クライアントでのそれぞれのセッションにおけるブラウジング・アクティビティの現在の状態を含み、ブラウジング・アクティビティの現在の状態は、1つまたは複数のウェブ・クライアント上のそれぞれのセッション中における、閲覧したウェブ・ページのタブ付きウィンドウ・アクティビティを含み、1つまたは複数のウェブ・クライアントのうち少なくとも1つはデスクトップ・コンピューティング・デバイス上で動作するデスクトップ・ウェブ・クライアントを含む。さらに、主題技術は、ネットワークにより第1のウェブ・クライアントに更新済みセッション・データを伝送して第1のウェブ・クライアント上で表示させる。ここで伝送された更新済みセッション・データは、1つまたは複数のウェブ・クライアント上のそれぞれのセッションにおけるブラウジング・アクティビティの現在の状態に対応し、伝送された更新済みセッション・データは、1つまたは複数のウェブ・クライアント上のそれぞれのセッション中に1つまたは複数のウェブ・クライアントから受信した、閲覧したウェブ・ページのタブ付きウィンドウ・アクティビティおよびユーザ入力に基づくウェブ・ページ・フォームエレメント・データを含む。
主題技術の様々な構成が例示として示され記載されている以下の詳細な説明から主題技術のその他の構成が当業者にとって容易に明らかになることは言うまでもない。認識されるように、主題技術はその他の種々の構成が可能であり、そのいくつかの詳細は、いずれも主題技術の範囲を逸脱せずに、様々なその他の点で変更可能である。したがって、図面および詳細な説明は、限定的なものとしてではなく、本質的に例示的なものと見なすべきである。
主題技術の新規の特徴は特許請求の範囲に明記されている。しかし、説明のために、主題技術のいくつかの構成が以下の図面に明記されている。
デスクトップ・ウェブ・クライアントからのセッション・データをモバイル・デバイスに自動的に同期させるためのプロセスの一例を概念的に示す図である。 モバイル・ウェブ・クライアントと同期させるためにデスクトップ・ウェブ・クライアントからのセッション・データを保存するためのプロセスの一例を概念的に示す図である。 主題技術のいくつかの構成を実現可能なグラフィカル・ユーザ・インターフェースを概念的に示す図である。 コンピューティング環境の一例を概念的に示す図である。 アプリケーション・プログラミング・インターフェース(API)のアーキテクチャの一例を概念的に示す図である。 モバイル・デバイス・アーキテクチャの一例である。 主題技術のいくつかの実現例を実現可能なシステムを概念的に示す図である。
以下に明記されている詳細な説明は、主題技術の様々な構成の説明として意図されており、主題技術を実践可能な唯一の構成を表すためのものではない。添付図面は本明細書に組み込まれ、詳細な説明の一部を構成する。詳細な説明は、主題技術の詳細な理解を可能にするための特定の詳細を含む。しかし、主題技術が本明細書に明記されている特定の詳細に限定されず、このような特定の詳細なしで実践可能であることは、当業者にとって明確かつ明らかになるであろう。場合によっては、主題技術の概念を不明瞭にするのを回避するために、周知の構造およびコンポーネントがブロック図形式で示されている。
主題技術は、デスクトップ・ウェブ・クライアント(たとえば、デスクトップ・ウェブ・ブラウザ)からのブラウザ・データをモバイル・デバイス上のウェブ・クライアントに自動同期させることを提供する。デスクトップ・ウェブ・クライアントとのセッション中に、ユーザは、1つまたは複数の異なるページに移動する(navigate)ことによりデスクトップ・ウェブ・クライアントと対話することができ、1つまたは複数のタブ付きウィンドウ(tabbed window)が前述のページを表示することができる。一例では、ユーザは検索エンジンに検索クエリをサブミットし、検索結果項目は、デスクトップ・ウェブ・クライアントによって、対応するタブ付きウィンドウ内に表示することができる。ユーザは、その後、検索結果項目の1つを異なるタブ付きウィンドウで開くことができる。場合によっては、ユーザは、タブ付きウィンドウ・アクティビティ(tabbed window activity)を含むセッションの状態を、モバイル・デバイス(たとえば、携帯電話、スマートフォン、タブレットなど)上のモバイル・ウェブ・クライアント(たとえば、モバイル・ウェブ・ブラウザ)など、他のデバイスに同期させたいと希望する可能性がある。しかし、モバイル・ウェブ・クライアントが(たとえば、デスクトップ・ウェブ・クライアント上のセッションからの)タブ付きウィンドウ・アクティビティを再表示できるように、デスクトップ・ウェブ・クライアントから閲覧したウェブ・ページのタブ付きウィンドウ・アクティビティに関するユーザのセッション・データがモバイル・ウェブ・クライアントと同期することは、容易ではない。
前述の問題(複数も可)に対処するために、デスクトップ・ウェブ・クライアントからのセッション・データをモバイル・デバイスに同期させるためのプロセスが提供される。一例では、モバイル・デバイスは、デスクトップ・ウェブ・クライアントのセッション・データに対する更新が行われたときに(たとえば、ユーザが異なるウェブ・ページをブラウズしたときに)通知サーバから通知を受信するよう申し込むことができる。たとえば、ユーザは、1つまたは複数のウェブ・ページに移動することによりデスクトップ・ウェブ・クライアントと対話するので、デスクトップ・ウェブ・クライアントは保存のために更新済みセッション・データをリモート・サーバ(たとえば、ストレージ・サーバ)に伝送することができる。いくつかの構成の通知サーバは、リモート・サーバ上のセッション・データに対する更新を追跡し、更新済みセッション・データが使用可能であることを示す1つまたは複数の通知をモバイル・デバイスに定期的に伝送することができる。次にモバイル・デバイスは、通知を受信した後にリモート・サーバから更新済みセッション・データを受信することができる。モバイル・ウェブ・クライアントがモバイル・デバイス上で起動されると、更新済みセッション・データは、ユーザがアクセスするためにモバイル・ウェブ・クライアント上で(たとえば、1つまたは複数のタブ付きウィンドウで)使用可能になる。更新済みセッション・データは、デスクトップ・ウェブ・クライアントから閲覧したウェブ・ページのナビゲーション履歴(navigation history)を含むことができる。
上記のデータに加えて、主題技術は、ブラウジング・コンテキストまたはセッション内のデータをモバイル・デバイスに同期させるための追加のタイプのデータを含むことができる。たとえば、ウェブ・ページ・フォームエレメントを持続するためのデータを同期させることができる。一例では、(たとえば、ウェブ検索エンジンのウェブ・ページ上のテキストボックス・フォームエレメントに1つまたは複数の検索クエリのキーワードを入力することにより)デスクトップ・ウェブ・クライアント上においてウェブ検索エンジンでウェブ検索を実行することができる。その場合、モバイル・デバイス上に示されたウェブ検索エンジンのウェブ・ページ上のテキストボックス・フォームエレメントに(たとえば、デスクトップ・ウェブ・クライアントに入力されたように)同じキーワードが自動入力されるように、ウェブ検索エンジンのウェブ・ページ内のテキストボックス・フォームエレメントに入力された1つまたは複数の検索クエリのキーワードをモバイル・デバイスに同期させることができる。さらに、ブックマーク、パスワード/オートフィル・データ、オムニボックス・データ(たとえば、タイプ入力したURLに関する統計、前のクエリなど)、テキスト・フィールド、テキスト領域、選択ポップアップなどを含む、その他のタイプのデータをモバイル・デバイスに同期させることができる。本明細書で具体的に言及されていないその他のタイプのデータは、モバイル・デバイスに同期させることができ、依然として主題技術の範囲内に含まれる。
上記の例ではデスクトップ・ウェブ・クライアントからのセッション・データをモバイル・ウェブ・クライアントに同期させることについて説明しているが、1つまたは複数のウェブ・クライアント間でセッション・データを同期させることができることを理解されたい。たとえば、モバイル・ウェブ・クライアントからのセッション・データは、上記と同様にデスクトップ・ウェブ・クライアントに同期させることができる。さらに、モバイル・ウェブ・クライアントおよび/またはデスクトップ・ウェブ・クライアントを1つまたは複数の他のウェブ・クライアント(たとえば、1つまたは複数のデスクトップ・ウェブ・クライアント、1つまたは複数のモバイル・ウェブ・クライアントなど)と同期させることができる。その上、構成によっては、更新済みセッション・データを示すための通知がモバイル・デバイスに伝送されない。その代わりに、モバイル・デバイスは、リモート・ストレージ・サーバから更新済みセッション・データ(ある場合)を要求することができる。構成によっては、リモート・ストレージ・サーバおよび通知サーバは、モバイル・デバイスおよび/またはデスクトップ・ウェブ・クライアントと通信するための単一サーバとして実現される。
図1は、1つまたは複数のウェブ・クライアントからのセッション・データを自動的に同期させるためのプロセス100の一例を概念的に示している。一例では、デスクトップ・ウェブ・クライアントおよび/または他のウェブ・クライアントからのセッション・データを同期させるために、モバイル・デバイスによってプロセス100を実現することができる。構成によっては、プロセス100は、セッション・データを同期させるために、定期的に以下に記載する動作を実行する。たとえば、プロセス100は、モバイル・デバイス上で実行されるモバイル・ウェブ・クライアントを更新するために1つまたは複数のウェブ・クライアントからの更新済みセッション・データが使用可能であることを検出することができる。
プロセス100は、1つまたは複数のウェブ・クライアントからの更新済みセッション・データが使用可能であるかどうかを判断することにより、105から始まる。一例では、通知サーバから更新済みセッション・データの通知を受信したときに、更新済みセッション・データが使用可能である。通知サーバは、デスクトップ・ウェブ・クライアントからのセッション・データをモニターする、ネットワーク上のリモート・サーバにすることができる。更新済みセッション・データが使用可能であるかどうかを判断することは、モバイル・ウェブ・クライアントが起動された後に行うことができる。一例では、モバイル・ウェブ・クライアントはモバイル・ウェブ・ブラウザである。更新済みセッション・データは、デスクトップ・ウェブ・クライアント(複数も可)上の1つまたは複数の閲覧したウェブ・ページのナビゲーション履歴データを含む。さらに、更新済みセッション・データは、1つまたは複数のウェブ・サイト(たとえば、デスクトップ・ウェブ・クライアント(複数も可)によって保存されたもの)に対応するブックマーク・データ(たとえば、ローカルに保存されたユニフォーム・リソース・アイデンティファイア(Uniform Resource Identifier))を含むことができる。また、更新済みセッション・データは、デスクトップ・ウェブ・クライアント(複数も可)(または任意のその他のウェブ・クライアント)からのタブ・ウィンドウ・データ(またはその他のウィンドウ・データ)も含むことができる。構成によっては、タブ・ウィンドウ・データは、リソースの場所を示すユニバーサル・リソース・ロケータを指定する。このリソースは、ウェブ・コンテンツ、画像データ、オーディオ、ビデオなどを含むことができる。一例では、更新済みセッション・データは、(たとえば、上述のように、ユーザがテキストボックス・フォームエレメントに対する入力を提供したときに)ユーザ入力に基づくウェブ・ページ・フォームエレメント・データを含む。
上述のように、その他のタイプのデータは、更新済みセッション・データに含めることができ、依然として主題技術の範囲内に含まれる。たとえば、ウェブ・ページ・フォームエレメントを持続するためのデータ、1つまたは複数のブックマーク、パスワード/オートフィル・データ、オムニボックス・データ(たとえば、タイプ入力したURLに関する統計、前のクエリなど)、テキスト・フィールド、テキスト領域、選択ポップアップなどはモバイル・デバイスに同期させることができる。本明細書で具体的に言及されていないその他のタイプのデータは、モバイル・デバイスに同期させることができ、依然として主題技術の範囲内に含まれる。
次にプロセス100は110で、更新済みセッション・データが使用可能である場合にネットワークにより1つまたは複数のウェブ・クライアントから更新済みセッション・データを受信する。上述のように、更新済みセッション・データを受信することは、受信側ウェブ・クライアント(たとえば、モバイル・デバイス上のモバイル・ウェブ・ブラウザ)内で行うことができる。プロセス100は115で、受信側ウェブ・クライアントのウィンドウ内に受信した更新済みセッション・データを表示する。表示されたセッション・データの一例については以下の図3に関連してより詳細に説明する。その後、プロセス100は終了する。
図2は、第1のウェブ・クライアントと同期させるために1つまたは複数のウェブ・クライアントからのセッション・データを保存するためのプロセス200の一例を概念的に示している。構成によっては、プロセス200は、デスクトップ・ウェブ・クライアントおよび/または他のウェブ・クライアントからのセッション・データを受信するストレージ・サーバによって実現することができる。ストレージ・サーバは、構成によっては、ネットワークによりデスクトップ・ウェブ・クライアントおよび第1のウェブ・クライアント(たとえば、モバイル・ウェブ・クライアント)と通信することができる。
プロセス200は、更新済みセッション・データが1つまたは複数のウェブ・クライアントで使用可能であるかどうかを判断することにより、205から始まる。プロセス200は210で、更新済みセッション・データが使用可能である場合に更新済みセッション・データに関する要求を伝送する。一例では、プロセス200は、使用可能な更新済みセッション・データを取り出すために1つまたは複数のウェブ・クライアントに要求を伝送する。プロセス200は215で、1つまたは複数のウェブ・クライアントから更新済みセッション・データを受信する。次にプロセス200は220で、更新済みセッション・データを保存する。
構成によっては、プロセス200は225で、更新済みセッション・データを示す通知をネットワークにより第1のウェブ・クライアントに伝送する。一例では、第1のウェブ・クライアントはモバイル・デバイス上のモバイル・ウェブ・クライアントである。たとえば、プロセス200はモバイル・デバイス上のモバイル・ウェブ・クライアントに通知をプッシュすることができる。次にプロセス200は230で、ネットワークにより第1のウェブ・クライアントに更新済みセッション・データを伝送する。一例では、更新済みセッション・データは、デスクトップ・ウェブ・クライアント上の1つまたは複数の閲覧したウェブ・ページのナビゲーション履歴データを含む。その後、プロセス200は終了する。
プロセス200は、210で更新済みセッション・データに関する要求を伝送する動作と、225で通知を伝送する動作を含むが、主題技術はプロセス200で前述の動作のすべてを実行する必要はない。たとえば、プロセス200のいくつかの構成では、210の要求の伝送および/または225の通知の伝送を行わずに済ますことができる。このような場合(複数も可)、プロセス200は、210の要求なしに215でセッション・データを受信するか、および/または225の通知なしに230でセッション・データを伝送するか、を行うことができる。
図3は、主題技術のいくつかの構成を実現可能なグラフィカル・ユーザ・インターフェース(GUI)300を概念的に示している。より具体的には、GUI300は、ウェブ・クライアント(たとえば、デスクトップ・ウェブ・クライアント)から受信したかまたは同期させたセッション・データを表示するための図形要素の種々のセットを含むことができる。図形要素は、ボタン、チェック・ボックス、ラジオ・ボタン、スライダ、リスト・ボックス、ドロップダウン・リスト、メニュー、コンボ・ボックス、アイコン、テキストボックス、スクロールバーなどを含むことができるが、これらに限定されない。一例では、GUI300は、図1のプロセス100の動作を実行した後にウェブ・クライアントに表示される。特に、GUI300は、モバイル・デバイス上のモバイル・ウェブ・クライアントのウィンドウ内に(たとえば、モバイル・ウェブ・ブラウザのタブ・ウィンドウ内に)表示することができる。他の例では、GUI300は、デスクトップ・ウェブ・クライアントおよび/または任意のその他のウェブ・クライアントのウィンドウ内に表示することができる。
図3に示されているように、GUI300は1つまたは複数のタブを含む。特に、GUI300は、1つまたは複数の異なる表示領域310、320、330、および340を表示するためのタブ305を含む。表示領域310、320、330、および340は、それぞれ、デスクトップ・ウェブ・クライアントからのセッション・データによるウェブ・サイトを含む。表示領域のそれぞれでは、ウェブ・サイトは、それぞれのウェブ・サイトを示すためのアイコン370、372、374、または376を含むことができる。さらに、デスクトップ・ウェブ・クライアントからのセッション・データに含まれるウェブ・サイトを示すために、GUI300はセッション・データのソースを示すアイコン350を含むことができる。示されているように、表示領域310、320、330、および340のそれぞれは、セッション・データのソースを示すためにこのようなアイコンを含む。たとえば、GUI300は、あるウェブ・サイトについて「ウェブ・サイト4」と呼ばれる特定のウェブ・サイトがモバイル・ウェブ・クライアントからのものである(たとえば、モバイル・ウェブ・クライアント上で開かれた)ことを示すアイコン360(たとえば、モバイル・デバイスを表す)を含む。
ユーザはモバイル・ウェブ・クライアント上のGUI300と対話することができる。一例として、ユーザは、表示領域310、320、330、および340のいずれかを選択して、それぞれの表示領域にリストされた選択済みウェブ・サイトを開くかまたはブラウズすることができる。一例では、モバイル・ウェブ・クライアントは、デスクトップ・ウェブ・クライアントからのセッション・データに含まれる1つまたは複数のウェブ・サイトを自動的に開くことができる。このように、モバイル・ウェブ・クライアントは、デスクトップ・ウェブ・クライアント内のユーザ・セッションを反映することができる。
図3に関する上記の説明はGUI300内の種々の図形要素の例を含むが、実現例によっては、GUI300内に他の図形要素を含むことができ、依然として主題技術の範囲内に含まれる。さらに、GUI300は前述の図形要素のすべてを含む必要はない。たとえば、GUI300は、デスクトップ・ウェブ・クライアントおよび/またはモバイル・ウェブ・クライアントからのセッション・データを表示するときにアイコン(複数も可)またはタブ(複数も可)を省略することができる。
図4は、システムを含むコンピューティング環境400の一例を概念的に示している。特に、図4は図2の上記のプロセスを実現するためのシステム405を示している。構成によっては、システム405は特定の機械(たとえば、サーバ)を実行させる実現例の一部である。
図4に示されているように、システム405は、異なる機能を提供するためのいくつかのモジュールを含む。システム405は、セッション・モニタリング・モジュール410と、通知モジュール415と、同期モジュール420とを含むように構成される。セッション・モニタリング・モジュール410は、更新済みセッション・データが1つまたは複数のウェブ・クライアント上で使用可能であるかどうかを判断するように構成される。セッション・モニタリング・モジュール410は、更新済みセッション・データが使用可能であるかどうかを判断するための要求を1つまたは複数のウェブ・クライアントに伝送するようにさらに構成され、更新済みセッション・データは1つまたは複数のウェブ・クライアント上のブラウジング・アクティビティを示し、ユーザ入力に基づくウェブ・ページ・フォームエレメント・データを含む。通知モジュール415は、更新済みセッション・データが使用可能である場合に第1のウェブ・クライアントに通知を伝送するように構成される。一例では、第1のウェブ・クライアントはモバイル・デバイス上のモバイル・ウェブ・クライアントにすることができる。通知モジュール415は、更新済みセッション・データが使用可能である場合に異なるウェブ・クライアント(たとえば、デスクトップ・ウェブ・クライアント、他のモバイル・ウェブ・クライアントなど)に1つまたは複数の通知を伝送するように構成される。構成によっては、1つまたは複数の通知は、モバイル・ウェブ・クライアントおよび/またはその他のウェブ・クライアントに定期的に伝送される。同期モジュール420は、1つまたは複数のウェブ・クライアントから更新済みセッション・データを受信することができる。同期モジュール420は、ネットワークにより第1のウェブ・クライアント(たとえば、モバイル・デバイス上のモバイル・ウェブ・クライアント)に更新済みセッション・データを伝送するように構成される。同期モジュールは、構成によっては、更新済みセッション・データの伝送を抑制するようにさらに構成される。
図4にさらに示されているように、前述のモジュールのそれぞれは、相互に通信するように構成することができる。たとえば、システム405内の異なるモジュール間で異なるデータ、メッセージ、API呼び出し、および戻り値を渡すことができる。
システム405は、ネットワーク450により、デスクトップ・クライアント460およびモバイル・デバイス470ならびに1つまたは複数の異なるクライアント480と通信することができる。デスクトップ・クライアント460、モバイル・デバイス470および1つまたは複数の異なるクライアント480はそれぞれ、システム405の前述のモジュールと通信するように構成することができる。たとえば、デスクトップ・クライアント460は、ネットワーク450によりシステム405にセッション・データを伝送することができる。次にシステム405は、ネットワーク450によりモバイル・デバイス470および/またはその他のクライアント480にセッション・データを伝送することができる。
上述の特徴および適用例の多くは、機械可読記憶媒体(コンピュータ可読媒体ともいう)上に記録された1組の命令として規定されるソフトウェア・プロセスとして実現される。これらの命令が1つまたは複数の処理装置(たとえば、1つまたは複数のプロセッサ、プロセッサのコア、あるいはその他の処理装置)によって実行される場合、これらの命令はその命令に示されているアクションを処理装置(複数も可)に実行させる。機械可読媒体の例としては、CD−ROM、フラッシュ・ドライブ、RAMチップ、ハード・ドライブ、EPROMなどを含むが、これらに限定されない。機械可読媒体は、無線によるかまたは有線接続により通過する電子信号ならびに搬送波を含まない。
本明細書では、「ソフトウェア」という用語は、読み取り専用メモリに常駐するファームウェアおよび/または磁気記憶装置に保存されたアプリケーションを含むものであり、どちらもプロセッサによる処理のためにメモリに読み込むことができる。また、実現例によっては、複数のソフトウェア・コンポーネントは、別個のソフトウェア・コンポーネントでありながら、より大きいプログラムのサブパートとして実現することができる。また、実現例によっては、複数のソフトウェア・サブジェクト・コンポーネントを別々のプログラムとして実現することもできる。最後に、ここに記載したソフトウェア・コンポーネント(複数も可)を一緒に実現する別々のプログラムの任意の組み合わせは主題技術の範囲内に含まれる。実現例によっては、ソフトウェア・プログラムは、1つまたは複数のシステム上で動作するようにインストールされると、ソフトウェア・プログラムの動作を実行する1つまたは複数の特定の機械実現例を定義する。
コンピュータ・プログラム(プログラム、ソフトウェア、ソフトウェア・アプリケーション、スクリプト、またはコードとしても知られている)は、コンパイル済みまたは解釈済み(interpreted)言語、宣言形または手続き形言語を含む、任意の形のプログラミング言語で作成することができ、スタンドアロン・プログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、あるいはコンピューティング環境での使用に適したその他のユニットとしてを含む、任意の形で配備することができる。コンピュータ・プログラムは、ファイル・システム内のファイルに対応することができるが、対応する必要はない。プログラムは、その他のプログラムまたはデータ(たとえば、マークアップ言語文書に保存された1つまたは複数のスクリプト)を保持するファイルの一部分に保存するか、当該プログラムに専用の単一ファイル内に保存するか、あるいは複数の協調ファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの一部分を保存するファイル)内に保存することができる。コンピュータ・プログラムは、1つのコンピュータ上で実行するか、あるいは1つの場所または複数の場所に分散されて位置し通信ネットワークによって相互接続された複数のコンピュータ上で実行するように配備することができる。
いくつかの構成は、呼び出しプログラム・コードが1つまたは複数のインターフェースを介して呼び出される他のプログラム・コードと対話する環境において、1つまたは複数のアプリケーション・プログラミング・インターフェース(API)を含むソフトウェア・プロセスとして実現される。様々なファンクション呼び出し、メッセージ、またはその他のタイプの呼び出しは、様々な種類のパラメータを含むことができ、呼び出しプログラムと呼び出されるコードとの間でAPIを介して伝送することができる。加えて、APIは、APIで定義され、呼び出されるプログラム・コードで実現されるデータ型またはクラスを使用する能力を呼び出しプログラム・コードに提供することができる。
構成によっては、1つまたは複数のAPIを使用することができる。APIは、プログラム・コード・コンポーネントまたはハードウェア・コンポーネント(「API実装コンポーネント(API implementing component)」)によって実装されるインターフェースであって、種々のプログラム・コード・コンポーネントまたはハードウェア・コンポーネント(「API呼び出しコンポーネント(API calling component)」)がAPI実装コンポーネントによって提供される1つまたは複数のファンクション、メソッド、プロシージャ、データ構造、クラス、あるいはその他のサービス、またはこれらの組み合わせにアクセスし使用できるようにするものである。APIは、API呼び出しコンポーネントとAPI実装コンポーネントとの間で渡される1つまたは複数のパラメータを定義することができる。
APIは、API呼び出しコンポーネントの開発者(サードパーティ開発者である可能性がある)がAPI実装コンポーネントによって提供された特定の機能を使用できるようにするものである。API呼び出しコンポーネントが1つである場合もあれば、このようなコンポーネントが2つ以上ある場合もある。APIは、アプリケーションからのサービスに関する要求をサポートするためにコンピューティング・システムまたはプログラム・ライブラリが提供するソース・コード・インターフェースにすることができる。オペレーティング・システム(OS)はそのOS上で実行されるアプリケーションがAPIのうちの1つまたは複数を呼び出せるようにするために複数のAPIを有することができ、サービス(プログラム・ライブラリなど)はそのサービスを使用するアプリケーションがAPIのうちの1つまたは複数を呼び出せるようにするために複数のAPIを有することができる。APIは、アプリケーションが構築されるときに解釈またはコンパイルすることができるプログラミング言語に関して規定することができる。
構成によっては、API実装コンポーネントは2つ以上のAPIを提供することができ、そのそれぞれは、API実装コンポーネントによって実現される機能の異なる態様にアクセスするように異なるビューまたは異なる態様を提供する。たとえば、API実装コンポーネントの1つのAPIは、第1の機能セットを提供することができ、サードパーティ開発者に公開される可能性があり、API実装コンポーネントのもう1つのAPIは、隠され(公開されず)、第1の機能セットのサブセットを提供し、さらに第1の機能セットに含まれないテストまたはデバッグ機能などのもう1つの機能セットも提供することができる。他の構成では、API実装コンポーネントは、基礎をなすAPIを介して1つまたは複数のその他のコンポーネントを自分で呼び出すことができ、したがって、API呼び出しコンポーネントおよびAPI実装コンポーネントのどちらにもなり得る。
APIは、API実装コンポーネントの指定の機能にアクセスして使用するときにAPI呼び出しコンポーネントが使用する言語およびパラメータを定義する。たとえば、API呼び出しコンポーネントは、APIによって公開される(たとえば、ファンクション呼び出しまたはメソッド呼び出しによって実施される)1つまたは複数のAPI呼び出しまたは起動によりAPI実装コンポーネントの指定の機能にアクセスし、API呼び出しまたは起動を介して、パラメータを使用するデータおよび制御情報を渡す。API実装コンポーネントは、API呼び出しコンポーネントからのAPI呼び出しに応答してAPIを介して値を返すことができる。APIはAPI呼び出しの構文および結果(たとえば、API呼び出しを起動する方法およびAPI呼び出しが実行すること)を定義するが、APIはAPI呼び出しによって指定された機能をAPI呼び出しがどのように達成するかを明らかにしない可能性がある。様々なAPI呼び出しは、呼び出し側(API呼び出しコンポーネント)とAPI実装コンポーネントとの間で1つまたは複数のアプリケーション・プログラミング・インターフェースを介して伝送される。API呼び出しの伝送は、ファンクション呼び出しまたはメッセージの発行、開始、起動、呼び出し、受信、戻り、または応答を含むことができる。換言すれば、伝送は、API呼び出しコンポーネントまたはAPI実装コンポーネントのいずれかによるアクションを表すことができる。APIのファンクション呼び出しまたはその他の呼び出しは、パラメータ・リストまたはその他の構造により1つまたは複数のパラメータを送信または受信することができる。パラメータは、定数、キー、データ構造、オブジェクト、オブジェクト・クラス、変数、データ型、ポインタ、配列、リスト、もしくはAPIを介して渡すべきデータまたはその他の項目を参照するための関数またはメソッドあるいは他の方法を指すポインタにすることができる。
さらに、データ型またはクラスは、APIによって提供し、API実装コンポーネントによって実現することができる。したがって、API呼び出しコンポーネントは、APIで提供された定義を使用することにより、変数を宣言し、ポインタを使用し、このような型またはクラスの定数値を使用するかまたはインスタンス化することができる。
一般に、APIを使用して、API実装コンポーネントによって提供されるサービスまたはデータにアクセスするか、あるいはAPI実装コンポーネントによって提供される動作または計算の実行を開始することができる。一例として、API実装コンポーネントおよびAPI呼び出しコンポーネントはそれぞれ、オペレーティング・システム、ライブラリ、デバイス・ドライバ、API、アプリケーション・プログラム、またはその他のモジュールのいずれかにすることができる(API実装コンポーネントおよびAPI呼び出しコンポーネントは同じタイプまたは互いに異なるタイプのモジュールにすることができることを理解されたい)。場合によっては、API実装コンポーネントは、少なくとも部分的に、ファームウェア、マイクロコード、またはその他のハードウェア・ロジックで実施することができる。構成によっては、APIにより、クライアント・プログラムはソフトウェア開発キット(SDK)ライブラリによって提供されるサービスを使用することができる。他の構成では、アプリケーションまたはその他のクライアント・プログラムは、アプリケーション・フレームワークによって提供されるAPIを使用することができる。このような構成では、アプリケーションまたはクライアント・プログラムは、SDKによって提供され、APIによって提供されるファンクションまたはメソッドに対する呼び出しを取り入れるか、あるいはSDKで定義され、APIによって提供されるデータ型またはオブジェクトを使用することができる。このような構成では、アプリケーション・フレームワークは、そのフレームワークによって定義される様々なイベントに応答するプログラムに関する主要イベント・ループを提供することができる。APIによりアプリケーションは、アプリケーション・フレームワークを使用して、イベントおよびイベントに対する応答を規定することができる。実現例によっては、API呼び出しは、入力機能および状態、出力機能および状態、処理機能、電力状態、記憶容量および状態、通信機能などの諸態様に関連するものを含む、ハードウェア・デバイスの諸機能または状態をアプリケーションに対して報告することができ、APIは、ファームウェア、マイクロコード、または部分的にハードウェア・コンポーネント上で実行されるその他の低レベルなロジックによって部分的に実現することができる。
API呼び出しコンポーネントは、ネットワークによりAPIを介してAPI実装コンポーネントと通信するローカル・コンポーネント(すなわち、API実装コンポーネントと同じデータ処理システム上にある)またはリモート・コンポーネント(すなわち、API実装コンポーネントとは異なるデータ処理システム上にある)にすることができる。API実装コンポーネントはAPI呼び出しコンポーネントとしても動作可能であり(すなわち、異なるAPI実装コンポーネントによって公開されたAPIに対してAPI呼び出しを行うことができる)、API呼び出しコンポーネントは異なるAPI呼び出しコンポーネントに対して公開されるAPIを実装することによりAPI実装コンポーネントとしても動作可能であることを理解されたい。
APIにより、異なるプログラミング言語で作成された複数のAPI呼び出しコンポーネントがAPI実装コンポーネントと通信することができる(したがって、APIはAPI実装コンポーネントとAPI呼び出しコンポーネントとの間の呼び出しおよび戻り値を変換するための機能を含むことができる)。しかし、APIは、特定のプログラミング言語に関して実現することができる。ある構成では、API呼び出しコンポーネントは、OSの提供者からの1組のAPIと、プラグインの提供者からのもう1組のAPIと、他の提供者(たとえば、ソフトウェア・ライブラリの提供者)あるいはもう1組のAPIの作成者からのもう1組のAPIなど、種々の提供者からのAPIを呼び出すことができる。
以下の説明では、主題技術のいくつかの構成を実現可能なAPIアーキテクチャの一例について記載する。
図5は、主題技術のいくつかの構成で使用可能なAPIアーキテクチャの一例を示すブロック図である。図5に示されているように、APIアーキテクチャ500は、API510を実装するAPI実装コンポーネント515(たとえば、オペレーティング・システム、ライブラリ、デバイス・ドライバ、API、アプリケーション・プログラム、ソフトウェア、またはその他のモジュール)を含む。API510は、API呼び出しコンポーネント505によって使用可能なAPI実装コンポーネントの1つまたは複数のファンクション、メソッド、クラス、オブジェクト、プロトコル、データ構造、フォーマット、あるいはその他の特徴、またはこれらの組み合わせを規定する。API510は、API実装コンポーネント内の1つのファンクションがどのようにAPI呼び出しコンポーネントからパラメータを受信するか、ならびにそのファンクションがどのようにAPI呼び出しコンポーネントに結果を返すかを規定する、少なくとも1つの呼び出し規則を規定することができる。API呼び出しコンポーネント505(たとえば、オペレーティング・システム、ライブラリ、デバイス・ドライバ、API、アプリケーション・プログラム、ソフトウェア、またはその他のモジュール)は、API510によって規定されるAPI実装コンポーネント515のファンクションにアクセスして使用するために、API510によりAPI呼び出しを行う。API実装コンポーネント515は、API呼び出しに応答して、API510によりAPI呼び出しコンポーネント505に値を返すことができる。
API実装コンポーネント515は、API510により規定されておらず、API呼び出しコンポーネント505にとって使用可能ではない追加のファンクション、メソッド、クラス、データ構造、あるいはその他の特徴、またはこれらの組み合わせを含むことができることが認識されるであろう。また、API呼び出しコンポーネント505は、API実装コンポーネント515と同じシステム上にある場合もあれば、リモートに位置する場合もあり、ネットワークによりAPI510を使用してAPI実装コンポーネント515にアクセスすることを理解されたい。図5はAPI510と対話する単一のAPI呼び出しコンポーネント505を示しているが、API呼び出しコンポーネント505とは異なる言語(または同じ言語)で作成可能なその他のAPI呼び出しコンポーネントもAPI510を使用できることを理解されたい。
API実装コンポーネント515、API510、およびAPI呼び出しコンポーネント505は機械可読媒体に保存することができ、この機械可読媒体は、機械(たとえば、コンピュータまたはその他のデータ処理システム)によって読み取り可能な形式で情報を保存するための任意のメカニズムを含む。たとえば、機械可読媒体は、磁気ディスク、光ディスク、ランダム・アクセス・メモリ、読み取り専用メモリ、フラッシュ・メモリ・デバイスなどを含む。
図6は、モバイル・デバイス・アーキテクチャ600の一例である。モバイル・デバイスの実現例は、1つまたは複数の処理装置605と、メモリ・インターフェース610と、周辺装置インターフェース615とを含むことができる。コンピューティング・デバイス・アーキテクチャを構成するこれらのコンポーネントのそれぞれは、別々のコンポーネントにするか、あるいは1つまたは複数の集積回路内に統合することができる。また、これらの様々なコンポーネントは、1つまたは複数の通信バスまたは信号線によって一緒に連結することもできる。
周辺装置インターフェース615は、カメラ・サブシステム620、無線通信サブシステム(複数も可)625、オーディオ・サブシステム630、および入出力サブシステム635を含む、様々なセンサおよびサブシステムに連結することができる。周辺装置インターフェース615はプロセッサと周辺装置との間の通信を可能にする。周辺装置はモバイル・デバイスにそれぞれ異なる機能を提供する。方位センサ645または加速センサ650などの周辺装置は、方位機能および加速機能を容易にするために周辺装置インターフェース615に連結することができる。さらに、モバイル・デバイスは種々の位置データを提供するための位置センサ675を含むことができる。特に、位置センサは、経度、緯度、および高度などの種々の位置データを提供するために全地球測位システム(GPS)を使用することができる。
カメラ・サブシステム620は、電荷結合素子(CCD)光センサまたは相補形金属酸化膜半導体(CMOS)光センサなどの1つまたは複数の光センサに連結することができる。センサに連結されたカメラ・サブシステム620は、画像および/またはビデオ・データの取り込みなどのカメラ機能を容易にすることができる。無線通信サブシステム625は、通信機能を容易にするように働くことができる。無線通信サブシステム625は、無線周波受信機および送信機、ならびに光受信機および送信機を含むことができる。前述の受信機および送信機は、ロング・ターム・エボリューション(LTE)、移動体通信用グローバル・システム(GSM(登録商標))ネットワーク、Wi−Fiネットワーク、ブルートゥース・ネットワークなどの1つまたは複数の通信ネットワークにより動作するように実現することができる。オーディオ・サブシステム630は、音声認識、デジタル記録などの音声対応機能を容易にするために、スピーカおよびマイクロホンに連結される。
入出力サブシステム635は、周辺装置インターフェースを介した、ディスプレイ、タッチスクリーンなどの入出力周辺装置と、プロセッサ605のデータ・バスとの間の伝送に関わる。入出力サブシステム635は、これらの機能を容易にするためにタッチスクリーン・コントローラ655とその他の入力コントローラ660を含むことができる。タッチスクリーン・コントローラ655は、タッチスクリーン665に連結することができ、複数のタッチセンス技術のいずれかを使用してスクリーン上の接触および移動を検出することができる。その他の入力コントローラ660は、1つまたは複数のボタンなど、その他の入力制御装置に連結することができる。
メモリ・インターフェース610はメモリ670に連結することができ、そのメモリは、高速ランダム・アクセス・メモリおよび/またはフラッシュ・メモリなどの不揮発性メモリを含むことができる。メモリ670はオペレーティング・システム(OS)を保存することができる。OSは、基本的なシステム・サービスを処理し、ハードウェア依存タスクを実行するための命令を含むことができる。
一例として、メモリは、1つまたは複数の追加のデバイスとの通信を容易にするための通信命令、グラフィック・ユーザ・インターフェース処理を容易にするためのグラフィカル・ユーザ・インターフェース命令、画像/ビデオ関連の処理および機能を容易にするための画像/ビデオ処理命令、電話関連のプロセスおよび機能を容易にするための電話命令、メディア通信および処理関連のプロセスおよび機能を容易にするためのメディア交換処理命令、カメラ関連のプロセスおよび機能を容易にするためのカメラ命令、ならびにビデオ会議のプロセスおよび機能を容易にするためのビデオ会議命令も含むことができる。上記の命令は、別々のソフトウェア・プログラムまたはモジュールとして実現する必要はない。モバイル・デバイスの様々な機能は、1つまたは複数の信号処理集積回路および/または特定用途向け集積回路を含む、ハードウェアおよび/またはソフトウェアで実現することができる。
以下の説明では、主題技術の諸態様を実現可能なシステムの一例について記載する。
図7は、それにより主題技術のいくつかの実現例を実現可能なシステム700を概念的に示している。システム700は、コンピュータ、電話、PDA、または任意のその他の種類の電子デバイスにすることができる。このようなシステムは、様々なタイプのコンピュータ可読媒体と、様々な他のタイプのコンピュータ可読媒体用のインターフェースとを含む。システム700は、バス705と、処理装置(複数も可)710と、システム・メモリ715と、読み取り専用メモリ720と、記憶装置725と、任意選択の入力インターフェース730と、任意選択の出力インターフェース735と、ネットワーク・インターフェース740とを含む。
バス705は、システム700の多数の内部デバイスを通信可能に接続する、システム・バス、周辺機器用バス、およびチップセット・バスのすべてをひとまとめにして表している。たとえば、バス705は、処理装置(複数も可)710を、読み取り専用メモリ720、システム・メモリ715、および記憶装置725と通信可能に接続する。
これらの様々なメモリ・ユニットから、処理装置(複数も可)710は、主題技術のプロセスを実行するために、実行すべき命令および処理すべきデータを取り出す。処理装置(複数も可)は、種々の実現例において単一プロセッサまたはマルチコア・プロセッサにすることができる。
読み取り専用メモリ(ROM)720は、システム700の処理装置(複数も可)710およびその他のモジュールが必要とする静的データおよび命令を保存する。これに対して、記憶装置725は読み取り書き込みメモリ・デバイスである。このデバイスは、システム700がオフのときでも命令およびデータを保存する不揮発性メモリ・ユニットである。主題技術のいくつかの実現例では、記憶装置725として大容量記憶装置(磁気ディスクまたは光ディスクおよびそれに対応するディスク・ドライブなど)を使用する。
他の実現例では、記憶装置725として取り外し可能記憶装置(フラッシュ・ドライブ、フロッピー(登録商標)・ディスク、およびそれに対応するディスク・ドライブなど)を使用する。記憶装置725のように、システム・メモリ715は読み取り書き込みメモリ・デバイスである。しかし、記憶装置725とは異なり、システム・メモリ715は、ランダム・アクセス・メモリなどの揮発性読み取り書き込みメモリである。システム・メモリ715は、プロセッサが実行時に必要とする命令およびデータの一部を保存する。実現例によっては、主題技術のプロセスは、システム・メモリ715、記憶装置725、あるいは読み取り専用メモリ720、またはこれらの組み合わせに保存される。たとえば、いくつかの実現例によりマルチメディア項目を処理するための命令を様々なメモリ・ユニットが含んでいる。これらの様々なメモリ・ユニットから、処理装置(複数も可)710は、いくつかの実現例のプロセスを実行するために、実行すべき命令および処理すべきデータを取り出す。
また、バス705は、任意選択の入力インターフェース730および任意選択の出力インターフェース735にも接続する。任意選択の入力インターフェース730により、ユーザはシステムに対して情報を伝達し、コマンドを選択することができる。任意選択の入力インターフェース730は、英数字キーボードおよびポインティング・デバイス(「カーソル制御装置」ともいう)とインタフェース接続することができる。任意選択の出力インターフェース735は、システム700によって生成された表示画像を提供することができる。任意選択の出力インターフェース735は、プリンタならびに陰極線管(CRT)または液晶ディスプレイ(LCD)などの表示装置とインタフェース接続することができる。いくつかの実現例は、入力装置および出力装置の両方として機能する、タッチスクリーンなどのデバイスとインタフェース接続することができる。
最後に、図7に示されているように、バス705はネットワーク・アダプタ(図示せず)によりシステム700をネットワーク・インターフェース740にも連結する。このように、コンピュータは、ローカル・エリア・ネットワーク(「LAN」)、広域ネットワーク(「WAN」)、またはイントラネットなどの複数コンピュータからなるネットワークの一部にするか、あるいはインターネットなどの複数ネットワークからなる相互接続ネットワークの一部にすることができる。システム700のコンポーネントの一部または全部は主題技術に併せて使用することができる。
上記のこれらの機能は、デジタル電子回路、コンピュータ・ソフトウェア、ファームウェア、またはハードウェアで実現することができる。これらの技法は1つまたは複数のコンピュータ・プログラム・プロダクトを使用して実現することができる。プログラム可能プロセッサおよびコンピュータはモバイル・デバイスに含まれるかまたはモバイル・デバイスとしてパッケージ化することができる。プロセスおよびロジック・フローは、1つまたは複数のプログラム可能プロセッサならびに1つまたは複数のプログラム可能論理回路によって実行することができる。汎用および特殊目的のコンピューティング・デバイスならびに記憶装置は、通信ネットワークにより相互接続することができる。
いくつかの実現例は、機械可読媒体またはコンピュータ可読媒体(代わって、コンピュータ可読記憶媒体、機械可読メディア、または機械可読記憶媒体ともいう)にコンピュータ・プログラム命令を保存する、マイクロプロセッサ、ストレージ、およびメモリなどの電子部品を含む。このようなコンピュータ可読媒体のいくつかの例としては、RAM、ROM、読み取り専用コンパクト・ディスク(CD−ROM)、記録可能コンパクト・ディスク(CD−R)、書き換え可能コンパクト・ディスク(CD−RW)、読み取り専用デジタル多用途ディスク(たとえば、DVD−ROM、二層DVD−ROM)、様々な記録可能/書き換え可能DVD(たとえば、DVD−RAM、DVD−RW、DVD+RWなど)、フラッシュ・メモリ(たとえば、SDカード、ミニSDカード、マイクロSDカードなど)、磁気および/またはソリッドステートのハード・ドライブ、読み取り専用および記録可能Blu−Ray(登録商標)ディスク、超高密度光ディスク、任意のその他の光または磁気メディア、フロッピー・ディスクを含む。コンピュータ可読媒体は、少なくとも1つの処理装置によって実行可能であって、様々な動作を実行するための複数の命令セットを含む、コンピュータ・プログラムを保存することができる。コンピュータ・プログラムまたはコンピュータ・コードの例としては、コンパイラによって生成されるような機械コード、ならびに、インタプリタを使用してコンピュータ、電子部品、またはマイクロプロセッサによって実行される高レベルのコードを含むファイルを含む。
上記の考察では主にソフトウェアを実行するマイクロプロセッサまたはマルチコア・プロセッサに言及しているが、いくつかの実現例は、特定用途向け集積回路(ASIC)またはフィールド・プログラマブル・ゲート・アレイ(FPGA)などの1つまたは複数の集積回路によって実行される。実現例によっては、このような集積回路は集積回路自体に保存された命令を実行する。
本明細書ならびに本出願のいずれかの請求項で使用されるように、「コンピュータ」、「サーバ」、「プロセッサ」、および「メモリ」という用語はいずれも、電子デバイスまたはその他の技術的デバイスを指している。これらの用語は人または人のグループを除外するものである。本明細書のために、ディスプレイまたは表示という用語は、電子デバイス上で表示することを意味する。本明細書ならびに本出願のいずれかの請求項で使用されるように、「コンピュータ可読媒体」および「コンピュータ可読メディア」という用語は、コンピュータによって読み取り可能な形で情報を保存する、有形かつ物理的な対象物に完全に限定される。これらの用語は、任意の無線信号、有線ダウンロード信号、および任意のその他の一過性の信号を除外するものである。
ユーザとの対話を可能にするために、本明細書に記載された主題の実現例は、ユーザに対して情報を表示するための表示装置、たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニターと、それによりユーザがコンピュータに対して入力を行うことができるキーボードおよびポインティング・デバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上で実現することができる。ユーザとの対話を可能にするために、その他の種類のデバイスを使用することもでき、たとえば、ユーザに提供されるフィードバックは任意の形の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックにすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形で受け取ることができる。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そのデバイスから文書を受信することによって、ユーザと対話することができ、たとえば、ウェブ・ブラウザから受信した要求に応答してユーザのクライアント・デバイス上のウェブ・ブラウザにウェブ・ページを送信することによって対話することができる。
本明細書に記載された主題の構成は、バックエンド・コンポーネント、たとえば、データ・サーバを含むか、ミドルウェア・コンポーネント、たとえば、アプリケーション・サーバを含むか、あるいはフロントエンド・コンポーネント、たとえば、ユーザが本明細書に記載された主題の一実現例と対話することができるグラフィカル・ユーザ・インターフェースまたはウェブ・ブラウザを有するクライアント・コンピュータを含むか、1つまたは複数のこのようなバックエンド・コンポーネント、ミドルウェア・コンポーネント、またはフロントエンド・コンポーネントの任意の組み合わせを含む、コンピュータ・システムで実現することができる。システムのコンポーネントは、任意の形または手段のデジタル・データ通信、たとえば、通信ネットワークによって相互接続することができる。通信ネットワークの例としては、ローカル・エリア・ネットワーク(「LAN」)および広域ネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、ならびにピアツーピア・ネットワーク(たとえば、アドホック・ピアツーピア・ネットワーク)を含む。
コンピューティング・システムはクライアントとサーバを含むことができる。クライアントとサーバは一般に相互に遠く離れており、典型的に通信ネットワークにより対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行され、相互にクライアント・サーバの関係を有するコンピュータ・プログラムによって発生する。実現例によっては、サーバはクライアント・デバイスにデータ(たとえば、HTMLページ)を伝送する(たとえば、クライアント・デバイスと対話するユーザにデータを表示し、そのユーザからユーザ入力を受信するため)。クライアント・デバイスで生成されたデータ(たとえば、ユーザ対話の結果)はサーバ側でクライアント・デバイスから受信することができる。
開示されているプロセスにおける諸ステップの任意の特定の順序または階層は手法例の例示であることは言うまでもない。設計上の好みに基づいて、プロセスにおける諸ステップの特定の順序または階層を再編成できることあるいは例示されているすべてのステップを実行できることは言うまでもない。諸ステップのうちのいくつかは同時に実行することができる。たとえば、特定の状況では、多重タスク処理および並列処理が有利である可能性がある。その上、上記の構成における様々なシステム・コンポーネントの分離はすべての構成においてこのような分離を要求するものと理解すべきではなく、上記のプログラム・コンポーネントおよびシステムは一般に単一ソフトウェア・プロダクトに一緒に統合できるかまたは複数のソフトウェア・プロダクトにパッケージ化できることを理解されたい。
上記の説明は、当業者が本明細書に記載された様々な態様を実践できるように提供されたものである。これらの態様に対する様々な変更は当業者にとって容易に明らかになり、本明細書に定義された包括的原理はその他の態様に適用することができる。したがって、特許請求の範囲は本明細書に示されている諸態様に限定するためのものではなく、請求項の表現と一致した全範囲が授与されるべきであり、その請求項においては単数形の要素に対する言及は、特にそのように指定されない限り、「唯一のもの(one and only one)」を意味するものではなく、むしろ「1つまたは複数(one or more)」を意味するものである。特に他の指定がない限り、「いくつかの(some)」という用語は1つまたは複数を指している。男性形の代名詞(たとえば、彼の(his))は女性形および中性形(たとえば、彼女の(her)およびそれの(its))を含み、逆もまた同様である。見出しおよび小見出しがある場合、便宜上使用されているだけであり、主題技術を限定するものではない。
「態様(aspect)」などの語句は、このような態様が主題技術にとって不可欠であることまたはこのような態様が主題技術のすべての構成に適用されることを意味するものではない。一態様に関連する開示内容はすべての構成に適用される場合もあれば、1つまたは複数の構成に適用される場合もある。一態様などの語句は1つまたは複数の態様を指す可能性があり、逆もまた同様である。「構成(configuration)」などの語句は、このような構成が主題技術にとって不可欠であることまたはこのような構成が主題技術のすべての構成に適用されることを意味するものではない。一構成に関連する開示内容はすべての構成に適用される場合もあれば、1つまたは複数の構成に適用される場合もある。一構成などの語句は1つまたは複数の構成を指す可能性があり、逆もまた同様である。
「例(example)」という単語は、「一例または例示として機能すること」を意味するために本明細書で使用されている。「例」として本明細書に記載されている任意の態様または設計は必ずしも他の態様または設計より好ましいものまたは有利なものと解釈すべきではない。
本明細書全体を通して記載されている様々な態様の諸要素と構造上および機能上同等のものであって、当業者に知られているものまたは今後知られることになるものはいずれも、参照により本明細書に明白に組み込まれ、特許請求の範囲によって包含されるものである。その上、本明細書に開示されているものはいずれも、このような開示内容が明示的に特許請求の範囲に列挙されているかどうかにかかわらず、公衆に捧げられるものではない。

Claims (26)

  1. 1つまたは複数のウェブ・クライアントからのセッション・データを自動的に同期させる、機械で実現される方法であって、
    前記1つまたは複数のウェブ・クライアントからの更新済みセッション・データが使用可能であるかどうかをモバイル・デバイス上で判断することであって、前記更新済みセッション・データが前記1つまたは複数のウェブ・クライアント上のそれぞれのセッションにおけるブラウジング・アクティビティを示すものであって前記それぞれのセッション中に前記1つまたは複数のウェブ・クライアントより受信したユーザ入力に基づくウェブ・ページ・フォームエレメント・データを含むことと、
    前記更新済みセッション・データが使用可能である場合に、ネットワークにより前記1つまたは複数のウェブ・クライアントから前記更新済みセッション・データを前記モバイル・デバイス上で受信することであって、前記更新済みセッション・データが、前記1つまたは複数のウェブ・クライアント上の前記それぞれのセッションにおけるブラウジング・アクティビティの現在の状態を含み、前記ブラウジング・アクティビティの現在の状態は、前記1つまたは複数のウェブ・クライアント上の前記それぞれのセッション中における、閲覧したウェブ・ページのタブ付きウィンドウ・アクティビティを含み、前記1つまたは複数のウェブ・クライアントのうち少なくとも1つはデスクトップ・コンピューティング・デバイス上で動作するデスクトップ・ウェブ・クライアントを含むことと、
    モバイル・ウェブ・クライアントが前記モバイル・デバイス上で起動された後に、前記モバイル・デバイス上の前記モバイル・ウェブ・クライアントのウィンドウ内に、受信した前記更新済みセッション・データを表示することであって、前記モバイル・ウェブ・クライアントの前記ウィンドウ内に表示される前記更新済みセッション・データは、前記1つまたは複数のウェブ・クライアント上の前記それぞれのセッションにおけるブラウジング・アクティビティの現在の状態に対応し、表示される前記更新済みセッション・データは、前記1つまたは複数のウェブ・クライアント上の前記それぞれのセッション中に前記1つまたは複数のウェブ・クライアントより受信した、閲覧したウェブ・ページの前記タブ付きウィンドウ・アクティビティおよびユーザ入力に基づく前記ウェブ・ページ・フォームエレメント・データを含むこと
    を含む、方法。
  2. 前記更新済みセッション・データが使用可能であるかどうかを判断することが、通知サーバから前記更新済みセッション・データの通知を受信することを含む、請求項1記載の方法。
  3. 前記更新済みセッション・データが使用可能であるかどうかを判断することが、前記モバイル・ウェブ・クライアントが起動された後に行われる、請求項1記載の方法。
  4. 前記1つまたは複数のウェブ・クライアント上の前記それぞれのセッションにおけるブラウジング・アクティビティが、デスクトップ・ウェブ・クライアント上の1つまたは複数の閲覧したウェブ・ページのナビゲーション履歴データを含む、請求項1記載の方法。
  5. 前記更新済みセッション・データが前記デスクトップ・ウェブ・クライアントからのタブ・ウィンドウ・データを含む、請求項1記載の方法。
  6. 前記タブ・ウィンドウ・データが、リソースの場所を示すユニバーサル・リソース・ロケータを指定する、請求項5記載の方法。
  7. 前記リソースがウェブ・コンテンツを含む、請求項5記載の方法。
  8. 受信した前記更新済みセッション・データを前記モバイル・ウェブ・クライアントのウィンドウ内に表示すること
    をさらに含む、請求項1記載の方法。
  9. 前記更新済みセッション・データが、デバイス上で開いた1つまたは複数のタブに対応するそれぞれのデータを含み、1つまたは複数のタブに対応する前記それぞれのデータが、それぞれのタブのナビゲーション履歴を含む、請求項1記載の方法。
  10. 前記モバイル・ウェブ・クライアントはモバイル・ウェブ・ブラウザである、請求項1記載の方法。
  11. ユーザ入力に基づく前記ウェブ・ページ・フォームエレメント・データが、ウェブ検索エンジンにおける検索クエリに対応する、ユーザによって入力された1つまたは複数の検索クエリの語である、請求項1記載の方法。
  12. 第1のウェブ・クライアントと同期させるために1つまたは複数のウェブ・クライアントからのセッション・データを保存する、機械で実現される方法であって、
    更新済みセッション・データが前記1つまたは複数のウェブ・クライアントのそれぞれのセッションで使用可能であるかどうかを判断することであって、前記更新済みセッション・データが前記それぞれのセッション中に前記1つまたは複数のウェブ・クライアントより受信したユーザ入力に基づくウェブ・ページ・フォームエレメント・データを含むことと、
    前記更新済みセッション・データが使用可能である場合に、前記更新済みセッション・データに関する要求をネットワークにより前記1つまたは複数のウェブ・クライアントに伝送することと、
    前記更新済みセッション・データをネットワークにより前記1つまたは複数のウェブ・クライアントから受信することであって、前記更新済みセッション・データが、前記1つまたは複数のウェブ・クライアント上の前記それぞれのセッションにおけるブラウジング・アクティビティの現在の状態を含み、前記ブラウジング・アクティビティの現在の状態は、前記1つまたは複数のウェブ・クライアントでの前記それぞれのセッション中に閲覧したウェブ・ページのタブ付きウィンドウ・アクティビティを含み、前記1つまたは複数のウェブ・クライアントのうち少なくとも1つはデスクトップ・コンピューティング・デバイス上で動作するデスクトップ・ウェブ・クライアントを含むことと、
    前記更新済みセッション・データをネットワークによりモバイル・デバイス上のモバイル・ウェブ・クライアントに伝送して前記モバイル・デバイス上の前記モバイル・ウェブ・クライアント上で表示させることであって、伝送された前記更新済みセッション・データは、前記1つまたは複数のウェブ・クライアントでの前記それぞれのセッションにおけるブラウジング・アクティビティの現在の状態に対応し、伝送された前記更新済みセッション・データは、前記1つまたは複数のウェブ・クライアントでの前記それぞれのセッション中に前記1つまたは複数のウェブ・クライアントから受信した、閲覧したウェブ・ページの前記タブ付きウィンドウ・アクティビティおよびユーザ入力に基づく前記ウェブ・ページ・フォームエレメント・データを含むこと
    を含む、方法。
  13. 前記更新済みセッション・データを示す通知をネットワークによりモバイル・デバイス上のモバイル・ウェブ・クライアントに伝送すること
    をさらに含む、請求項12記載の方法。
  14. 前記通知が前記モバイル・デバイス上の前記モバイル・ウェブ・クライアントにプッシュされる、請求項13記載の方法。
  15. ネットワークにより前記モバイル・デバイス上の前記モバイル・ウェブ・クライアントに前記更新済みセッション・データを伝送することであって、前記更新済みセッション・データが前記デスクトップ・ウェブ・クライアント上の1つまたは複数の閲覧したウェブ・ページのナビゲーション履歴データを含むこと
    をさらに含む、請求項13記載の方法。
  16. 前記1つまたは複数のウェブ・クライアントでの前記それぞれのセッションにおけるブラウジング・アクティビティが、前記デスクトップ・ウェブ・クライアントによって閲覧された1つまたは複数の異なるウェブ・サイトを含んだ前記ナビゲーション履歴データを含む、請求項15記載の方法。
  17. ユーザ入力に基づく前記ウェブ・ページ・フォームエレメント・データが、ウェブ検索エンジンにおける検索クエリに対応する、ユーザによって入力された1つまたは複数の検索クエリの語である、請求項12記載の方法。
  18. 1つまたは複数のウェブ・クライアントからのセッション・データを自動的に同期させるシステムであって、
    メモリと、
    1つまたは複数のプロセッサと、
    メモリ内に保存され、前記1つまたは複数のプロセッサによる実行のために構成された1つまたは複数のモジュールとを含み、前記モジュールが、
    更新済みセッション・データが前記1つまたは複数のウェブ・クライアント上のそれぞれのセッションで使用可能であるかどうかを判断するように構成されたセッション・モニタリング・モジュールであって、前記更新済みセッション・データが、前記1つまたは複数のウェブ・クライアント上のブラウジング・アクティビティを示すものであって前記それぞれのセッション中に前記1つまたは複数のウェブ・クライアントから受信したユーザ入力に基づくウェブ・ページ・フォームエレメント・データを含み、前記更新済みセッション・データが、前記1つまたは複数のウェブ・クライアント上の前記それぞれのセッションにおけるブラウジング・アクティビティの現在の状態を含み、前記ブラウジング・アクティビティの現在の状態は、前記1つまたは複数のウェブ・クライアント上の前記それぞれのセッション中における、閲覧したウェブ・ページのタブ付きウィンドウ・アクティビティを含み、前記1つまたは複数のウェブ・クライアントのうち少なくとも1つはデスクトップ・コンピューティング・デバイス上で動作するデスクトップ・ウェブ・クライアントを含むセッション・モニタリング・モジュールと、
    前記更新済みセッション・データが使用可能である場合に第1のウェブ・クライアントに通知を伝送するように構成された通知モジュールと、
    ネットワークにより前記第1のウェブ・クライアントに前記更新済みセッション・データを伝送して前記第1のウェブ・クライアント上で表示させるように構成された同期モジュールであって、伝送された前記更新済みセッション・データは、前記1つまたは複数のウェブ・クライアント上の前記それぞれのセッションにおけるブラウジング・アクティビティの現在の状態に対応し、伝送された前記更新済みセッション・データは、前記1つまたは複数のウェブ・クライアント上の前記それぞれのセッション中に前記1つまたは複数のウェブ・クライアントから受信した、閲覧したウェブ・ページの前記タブ付きウィンドウ・アクティビティおよびユーザ入力に基づく前記ウェブ・ページ・フォームエレメント・データを含む同期モジュールと
    を含む、システム。
  19. 前記セッション・モニタリング・モジュールが、前記更新済みセッション・データが使用可能であるかどうかを判断するために前記1つまたは複数のウェブ・クライアントに要求を伝送するようにさらに構成される、請求項18記載のシステム。
  20. 1つまたは複数の通知がモバイル・デバイス上のモバイル・ウェブ・クライアントに定期的に伝送される、請求項18記載のシステム。
  21. 前記同期モジュールが、前記更新済みセッション・データの前記伝送を抑制するようにさらに構成される、請求項18記載のシステム。
  22. ユーザ入力に基づく前記ウェブ・ページ・フォームエレメント・データが、ウェブ検索エンジンにおける検索クエリに対応する、ユーザによって入力された1つまたは複数の検索クエリの語である、請求項18記載のシステム。
  23. 保存された命令を含む機械可読媒体であって、前記命令が機械によって実行されたときに、
    更新済みセッション・データが1つまたは複数のウェブ・クライアントでのそれぞれのセッションで使用可能であるかどうかを判断することであって、前記更新済みセッション・データが前記それぞれのセッション中に前記1つまたは複数のウェブ・クライアントより受信したユーザ入力に基づくウェブ・ページ・フォームエレメント・データを含むことと、
    前記更新済みセッション・データが使用可能である場合にネットワークにより前記1つまたは複数のウェブ・クライアントに前記更新済みセッション・データに関する要求を伝送することと、
    前記1つまたは複数のウェブ・クライアントからネットワークにより前記更新済みセッション・データを受信することであって、前記更新済みセッション・データが、前記1つまたは複数のウェブ・クライアントでの前記それぞれのセッションにおけるブラウジング・アクティビティの現在の状態を含み、前記ブラウジング・アクティビティの現在の状態は、前記1つまたは複数のウェブ・クライアント上の前記それぞれのセッション中における、閲覧したウェブ・ページのタブ付きウィンドウ・アクティビティを含み、前記1つまたは複数のウェブ・クライアントのうち少なくとも1つはデスクトップ・コンピューティング・デバイス上で動作するデスクトップ・ウェブ・クライアントを含むことと、
    ネットワークにより第1のウェブ・クライアントに前記更新済みセッション・データを伝送して前記第1のウェブ・クライアント上で表示させることであって、伝送された前記更新済みセッション・データは、前記1つまたは複数のウェブ・クライアント上の前記それぞれのセッションにおけるブラウジング・アクティビティの現在の状態に対応し、伝送された前記更新済みセッション・データは、前記1つまたは複数のウェブ・クライアント上の前記それぞれのセッション中に前記1つまたは複数のウェブ・クライアントから受信した、閲覧したウェブ・ページの前記タブ付きウィンドウ・アクティビティおよびユーザ入力に基づく前記ウェブ・ページ・フォームエレメント・データを含むこと
    を含む工程を前記機械に実行させる、機械可読媒体。
  24. 前記1つまたは複数のウェブ・クライアントでの前記それぞれのセッションにおけるブラウジング・アクティビティが前記1つまたは複数のウェブ・クライアント上の1つまたは複数の閲覧したウェブ・ページのナビゲーション履歴データを含む、請求項23記載の機械可読媒体。
  25. 前記第1のウェブ・クライアントがモバイル・デバイス上のモバイル・ウェブ・クライアントである、請求項23記載の機械可読媒体。
  26. ユーザ入力に基づく前記ウェブ・ページ・フォームエレメント・データが、ウェブ検索エンジンにおける検索クエリに対応する、ユーザによって入力された1つまたは複数の検索クエリの語である、請求項23記載の機械可読媒体。
JP2012267286A 2011-12-06 2012-12-06 複数デバイス間におけるブラウジング・コンテキストの継続 Active JP5291240B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/312,950 US8392617B1 (en) 2011-12-06 2011-12-06 Browsing context continuation across multiple devices
US13/312,950 2011-12-06

Publications (2)

Publication Number Publication Date
JP2013120603A JP2013120603A (ja) 2013-06-17
JP5291240B2 true JP5291240B2 (ja) 2013-09-18

Family

ID=47559094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012267286A Active JP5291240B2 (ja) 2011-12-06 2012-12-06 複数デバイス間におけるブラウジング・コンテキストの継続

Country Status (8)

Country Link
US (1) US8392617B1 (ja)
EP (1) EP2639712A3 (ja)
JP (1) JP5291240B2 (ja)
KR (1) KR101277462B1 (ja)
CN (2) CN103220319A (ja)
AU (1) AU2012258293B2 (ja)
BR (1) BR102012030997A8 (ja)
CA (1) CA2797384C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7058338B2 (ja) 2018-09-12 2022-04-21 株式会社Kokusai Electric 基板処理装置、基板保持部、半導体装置の製造方法およびプログラム

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938422B1 (en) * 2011-09-02 2015-01-20 Google Inc. Delay retrieval of synchronization information
US8769624B2 (en) 2011-09-29 2014-07-01 Apple Inc. Access control utilizing indirect authentication
US9002322B2 (en) 2011-09-29 2015-04-07 Apple Inc. Authentication with secondary approver
US9313100B1 (en) 2011-11-14 2016-04-12 Amazon Technologies, Inc. Remote browsing session management
US9330188B1 (en) * 2011-12-22 2016-05-03 Amazon Technologies, Inc. Shared browsing sessions
US9336321B1 (en) 2012-01-26 2016-05-10 Amazon Technologies, Inc. Remote browsing and searching
US9680927B2 (en) * 2012-02-05 2017-06-13 Apple Inc. Cloud tabs
US9589541B2 (en) 2012-02-28 2017-03-07 Ebay Inc. Location-based display of pixel history
WO2014143776A2 (en) 2013-03-15 2014-09-18 Bodhi Technology Ventures Llc Providing remote interactions with host device using a wireless device
CN105593783A (zh) * 2013-09-26 2016-05-18 谷歌公司 用于将导航数据提供至车辆的系统和方法
US9740777B2 (en) 2013-12-20 2017-08-22 Ebay Inc. Systems and methods for saving and presenting a state of a communication session
RU2580392C2 (ru) * 2013-12-31 2016-04-10 Общество С Ограниченной Ответственностью "Яндекс" Способ синхронизации первой и второй сессии просмотра страниц для пользователя и сервер
US9549028B2 (en) 2014-02-18 2017-01-17 Ebay Inc. Systems and methods for automatically saving a state of a communication session
RU2646351C2 (ru) * 2014-03-27 2018-03-02 Общество С Ограниченной Ответственностью "Яндекс" Способ передачи пользователю уведомления о непрочитанном сообщении электронной почты (варианты ) и электронное устройство, используемое в нем
US9967401B2 (en) 2014-05-30 2018-05-08 Apple Inc. User interface for phone call routing among devices
EP3149554B1 (en) 2014-05-30 2024-05-01 Apple Inc. Continuity
CN104270336B (zh) * 2014-07-30 2018-10-30 深信服科技股份有限公司 远程应用运行终端的迁移方法、装置及系统
US10339293B2 (en) 2014-08-15 2019-07-02 Apple Inc. Authenticated device used to unlock another device
KR101594149B1 (ko) * 2014-08-19 2016-02-15 네이버 주식회사 사용자 단말 장치,서버 장치 및 이들에 의한 이어보기 서비스 제공 방법
JP6397312B2 (ja) 2014-11-06 2018-09-26 キヤノン株式会社 ネットワークシステム、及び、ネットワークシステムの制御方法
US9912758B2 (en) * 2014-12-16 2018-03-06 Yahoo Holdings, Inc. Continuing an application session on a different device
US10275116B2 (en) 2015-06-07 2019-04-30 Apple Inc. Browser with docked tabs
JP6005887B1 (ja) 2016-04-12 2016-10-12 株式会社Cygames プログラム、情報処理装置、情報処理方法及び情報処理システム
DK179186B1 (en) 2016-05-19 2018-01-15 Apple Inc REMOTE AUTHORIZATION TO CONTINUE WITH AN ACTION
DK201670622A1 (en) 2016-06-12 2018-02-12 Apple Inc User interfaces for transactions
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
US20220279063A1 (en) 2017-05-16 2022-09-01 Apple Inc. Methods and interfaces for home media control
CN111343060B (zh) 2017-05-16 2022-02-11 苹果公司 用于家庭媒体控制的方法和界面
US11070630B2 (en) 2018-05-04 2021-07-20 Citrix Systems, Inc. Computer system providing SAAS application session state migration features and related methods
US10924545B2 (en) * 2018-10-10 2021-02-16 Citrix Systems, Inc. Computer system providing mirrored SAAS application sessions and related methods
US11556699B2 (en) * 2019-02-04 2023-01-17 Citrix Systems, Inc. Data migration across SaaS applications
US10996917B2 (en) 2019-05-31 2021-05-04 Apple Inc. User interfaces for audio media control
US11620103B2 (en) 2019-05-31 2023-04-04 Apple Inc. User interfaces for audio media control
US11669291B2 (en) * 2019-10-23 2023-06-06 Co-Commerce Shopping Platform Ltd. System and method for sharing altered content of a web page between computing devices
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11847378B2 (en) 2021-06-06 2023-12-19 Apple Inc. User interfaces for audio routing

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976094B1 (en) * 2000-05-09 2005-12-13 Nortel Networks Limited Automated web browser synchronization by using session initiation protocol during a real-time session
US6874037B1 (en) * 2000-06-19 2005-03-29 Sony Corporation Method and apparatus for synchronizing device information
US8707185B2 (en) * 2000-10-10 2014-04-22 Addnclick, Inc. Dynamic information management system and method for content delivery and sharing in content-, metadata- and viewer-based, live social networking among users concurrently engaged in the same and/or similar content
US7225225B2 (en) * 2001-03-30 2007-05-29 Sharp Laboratories Of America, Inc. Selective synchronization of web browsers
US20040044799A1 (en) * 2002-09-03 2004-03-04 Nokia Corporation Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process
US7925698B2 (en) * 2004-08-18 2011-04-12 Siemens Enterprise Communications, Inc. Apparatus and method for a synchronized mobile communication client
US7865571B2 (en) * 2007-01-08 2011-01-04 Mspot, Inc. Method and apparatus for transferring digital content from a personal computer to a mobile handset
US7937451B2 (en) * 2007-01-08 2011-05-03 Mspot, Inc. Method and apparatus for transferring digital content from a computer to a mobile handset
CN101431814B (zh) * 2007-11-05 2012-11-14 网秦无限(北京)科技有限公司 基于中间件的手机与pc互操作的方法与系统
US7917521B2 (en) 2008-03-10 2011-03-29 International Business Machines Corporation User/browser state information sharing between browser applications
US20090307376A1 (en) * 2008-06-06 2009-12-10 Mccarthy Brendan A Synchronization improvements
US8135769B2 (en) * 2008-06-06 2012-03-13 Apple Inc. Synchronization improvements
CN101924779B (zh) * 2009-06-15 2014-10-08 北京搜狗科技发展有限公司 浏览器客户端共享资源的方法、设备及系统
KR101590357B1 (ko) * 2009-06-16 2016-02-01 엘지전자 주식회사 휴대 단말기, 휴대 단말기 동작방법 및 휴대 단말기 싱크 시스템
CN101969636B (zh) * 2009-12-31 2013-10-30 优视科技有限公司 一种用于移动通讯用户终端的书签管理系统及其应用方法
US20110239133A1 (en) * 2010-03-29 2011-09-29 Microsoft Corporation Shared resource computing collaboration sessions management

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7058338B2 (ja) 2018-09-12 2022-04-21 株式会社Kokusai Electric 基板処理装置、基板保持部、半導体装置の製造方法およびプログラム

Also Published As

Publication number Publication date
KR20130063462A (ko) 2013-06-14
BR102012030997A8 (pt) 2018-01-02
AU2012258293A1 (en) 2013-06-20
CN103220319A (zh) 2013-07-24
CA2797384C (en) 2013-11-05
BR102012030997A2 (pt) 2014-03-18
AU2012258293B2 (en) 2015-04-16
EP2639712A3 (en) 2013-11-06
KR101277462B1 (ko) 2013-06-21
CA2797384A1 (en) 2013-05-09
CN103761320B (zh) 2017-09-08
CN103761320A (zh) 2014-04-30
US8392617B1 (en) 2013-03-05
JP2013120603A (ja) 2013-06-17
EP2639712A2 (en) 2013-09-18

Similar Documents

Publication Publication Date Title
JP5291240B2 (ja) 複数デバイス間におけるブラウジング・コンテキストの継続
US8352903B1 (en) Interaction with partially constructed mobile device applications
US9348921B2 (en) Determining access to comments
US8413046B1 (en) System and method for optimizing rich web applications
US20170289338A1 (en) Enabling stateful dynamic links in mobile applications
US20140040761A1 (en) Providing an update associated with a user-created point of interest
JP2017513137A (ja) ネイティブ・ウェブベース・アプリケーション
US9075884B2 (en) Collecting web pages/links from communications and documents for later reading
TW201606631A (zh) 利用關聯指示器及浮動選單列的關聯選單
JP6047687B2 (ja) オープン・ウィンドウおよびオープン・タブの提示
AU2013205143B2 (en) System for suggesting activities based on contacts
US10257342B2 (en) Validating stateful dynamic links in mobile applications
US8907927B2 (en) Camera based hover detection for touch-based mobile devices
US8200833B1 (en) Security mode based management of cookie data stores
CN110268377B (zh) 用于在计算系统中提供用户帮助的装置和方法
US20120331411A1 (en) Cross process accessibility
US20150019994A1 (en) Contextual reference information on a remote device
US7912924B1 (en) Adding functionality with respect to one or more web pages
US9436762B1 (en) Sharing a plug-in instance in a web client
US11200287B2 (en) Global address list
KR20150004817A (ko) 사용자 인터페이스 웹 서비스
US8607251B1 (en) Dynamic accessibility behavior
CN113835571A (zh) 一种终端设备、信息展示方法和存储介质
US20130332806A1 (en) Collecting Web Pages/Links from Communications and Documents for Later Reading
KR20150116875A (ko) 네트워크를 거치는 애드-혹 디바이스 공유

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130318

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20130404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130416

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130528

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130606

R150 Certificate of patent or registration of utility model

Ref document number: 5291240

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250