JP6594579B2 - モバイル・デバイス上のアプリケーションからリモート・ウェブ・クライアントを扱うための技法 - Google Patents

モバイル・デバイス上のアプリケーションからリモート・ウェブ・クライアントを扱うための技法 Download PDF

Info

Publication number
JP6594579B2
JP6594579B2 JP2019087561A JP2019087561A JP6594579B2 JP 6594579 B2 JP6594579 B2 JP 6594579B2 JP 2019087561 A JP2019087561 A JP 2019087561A JP 2019087561 A JP2019087561 A JP 2019087561A JP 6594579 B2 JP6594579 B2 JP 6594579B2
Authority
JP
Japan
Prior art keywords
messaging
user account
web browser
remote web
messaging application
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
JP2019087561A
Other languages
English (en)
Other versions
JP2019149193A (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.)
WhatsApp LLC
Original Assignee
WhatsApp 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 WhatsApp LLC filed Critical WhatsApp LLC
Publication of JP2019149193A publication Critical patent/JP2019149193A/ja
Application granted granted Critical
Publication of JP6594579B2 publication Critical patent/JP6594579B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • 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
    • 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/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)

Description

スマートフォンなどのモバイル・デバイスのユーザは、自分のモバイル・デバイスを使用して、アプリケーションを実行することができる。これらのアプリケーションは、そのユーザに代わって、通信およびネットワーク・タスクを実施することができる。アプリケーションは、ユーザ間でメッセージを送るためのメッセージング・アプリケーションを含むことがある。ユーザは、メッセージング・アプリケーションを使用して友達と会話することができ、メッセージング・アプリケーションにアクセスできることに価値を見出すことができる。
以下は、本明細書に記載されるいくつかの新規の実施形態の基本的な理解を提供するために、簡単な概要を提示する。この概要は、包括的な概観ではなく、本発明の主要/重要要素を特定することも、本発明の範囲を画定することも意図していない。この概要の唯一の目的は、後に提示されるより詳細な説明への前置きとして、いくつかの概念を簡単な形態で提示することである。
さまざまな実施形態は、一般に、モバイル・デバイス上のアプリケーションからリモート・ウェブ・クライアントを扱うための技法を対象とする。いくつかの実施形態は特に、モバイル・デバイス上のメッセージング・アプリケーションから、メッセージング・サービスのためにリモート・ウェブ・クライアントを扱うための技法を対象とし、ここでメッセージング・アプリケーションは、メッセージング・サービスとのユーザの対話のための信頼できる情報源である。1実施形態において、たとえば、装置が、メッセージング・アプリケーションを含むことができ、メッセージング・アプリケーションは、リモート・ウェブ・ブラウザがメッセージング・アプリケーションからメッセージング更新を受信するための要求を、リモート・ウェブ・ブラウザから受信する工程、メッセージング・アプリケーションとリモート・ウェブ・ブラウザとの間に暗号化された接続を確立する工程、メッセージング更新をメッセージング・アプリケーションで受信する工程、およびメッセージング更新をメッセージング・アプリケーションからリモート・ウェブ・ブラウザに送信する工程を行うように、プロセッサ回路上で動作する。他の実施形態が説明され、特許請求される。
上記を達成するために、および関連する目的のために、ある特定の例示的な態様が、以下の説明および添付の図面に関連して本明細書において記載される。これらの態様は、本明細書において開示される原理を実行することができる様々な方法を示し、全ての態様およびその均等物が、特許請求される主題の範囲内にあることが意図される。他の利点および新規の特徴は、以下の詳細な説明を図面と併せて検討することにより明らかとなるであろう。
本発明による実施形態は、特に、方法、記憶媒体、システム、およびコンピュータ・プログラム製品を対象とする添付の特許請求の範囲において開示され、1つの請求項のカテゴリ、たとえば、方法において言及される任意の特徴は、別の請求項のカテゴリ、たとえば、システムにおいても同様に特許請求され得る。添付の特許請求の範囲における従属関係またはそこに戻る参照は、形式的な理由のために選ばれているにすぎない。しかしながら、(特定の多数項従属関係において)任意の先行する請求項に戻る意図的な参照から生じる任意の主題も同様に特許請求されてよく、それにより、添付の特許請求の範囲において選ばれた従属関係に関わらず、請求項およびその特徴の任意の組合せが開示され、特許請求され得る。特許請求され得る主題は、添付の特許請求の範囲において述べられる特徴の組合せだけでなく、特許請求の範囲における特徴の任意の他の組合せもまた含み、特許請求の範囲において言及される各特徴は、特許請求の範囲における任意の他の特徴と、または他の特徴の組合せと、組み合わせられてよい。さらに、本明細書で説明または図示される実施形態および特徴のうちのいずれかは、別個の請求項において特許請求されてもよく、および/または、本明細書で説明もしくは図示される任意の実施形態もしくは特徴との任意の組合せにおいて、または添付の特許請求の範囲の特徴のうちのいずれかとの任意の組合せにおいて、特許請求されてもよい。
本発明による1実施形態において、コンピュータにより実行される方法が、
リモート・ウェブ・ブラウザがメッセージング・アプリケーションからメッセージング更新を受信するための要求を、リモート・ウェブ・ブラウザから、モバイル・デバイス上のメッセージング・アプリケーションで受信する工程と、
メッセージング・アプリケーションとリモート・ウェブ・ブラウザとの間に暗号化された接続を確立する工程と、
メッセージング更新をメッセージング・アプリケーションで受信する工程と、
メッセージング更新をメッセージング・アプリケーションからリモート・ウェブ・ブラウザに送信する工程と、を含む。
本発明による1実施形態において、方法は、暗号化された接続がリモート・ウェブ・サーバを介して送信されることをさらに含むことができる。
本発明による1実施形態において、メッセージング・アプリケーションは、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられていてよく、リモート・ウェブ・サーバは、今後のウェブ・ブラウザ・セッションのために第1のユーザ・アカウントについてのメッセージング状態をキャッシュするように動作してよく、方法は、リモート・ウェブ・サーバ上でキャッシュされたメッセージング状態へのアクセスが、モバイル・デバイス上のメッセージング・アプリケーションによって制御されることをさらに含むことができる。
本発明による1実施形態において、メッセージング・アプリケーションは、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられていてよく、メッセージング更新は、第1のユーザ・アカウントと第2のユーザ・アカウントとの間のメッセージング会話に対応してよく、方法は、
第1のユーザ・アカウントに関連付けられているメッセージング状態を、モバイル・デバイス上のローカル・ストアから取り出す工程であって、メッセージング状態が、第1のユーザ・アカウントについての連絡先リストの少なくとも一部分を含み、メッセージング状態が、第1のユーザ・アカウントと第2のユーザ・アカウントとの間のメッセージング会話の履歴を含む、取り出す工程と、
メッセージング状態をリモート・ウェブ・ブラウザに送信する工程と、をさらに含むことができる。
本発明による1実施形態において、方法は、
第1のユーザ・アカウントについての連絡先リストを取り出す工程と、
連絡先リストにおける連絡先のメッセージング・アクティビティに基づいて、連絡先リストの少なくとも一部分を決定する工程と、をさらに含むことができる。
本発明による1実施形態において、方法は、
リモート・ウェブ・ブラウザによって表示されるマシン可読光ラベルを、モバイル・デバイスのカメラ・デバイスを使用して取り込む工程と、
マシン可読光ラベルからウェブ・セッション識別子を抽出する工程と、
ウェブ・セッション識別子に基づいて、暗号化された接続の確立のためにリモート・ウェブ・ブラウザを識別する工程と、をさらに含むことができる。
本発明による1実施形態において、メッセージング・アプリケーションは、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられていてよく、方法は、
メッセージング・サービスの第2のユーザ・アカウントとのメッセージング会話に関連付けられている送出メッセージを、暗号化された接続上でリモート・ウェブ・ブラウザから受信する工程と、
送出メッセージを、第2のユーザ・アカウントに関連付けられている第2のメッセージング・アプリケーションに送信する工程と、をさらに含むことができる。
同様に特許請求され得る本発明によるさらなる実施形態において、装置が、
モバイル・デバイス上のプロセッサ回路と、
リモート・ウェブ・ブラウザがメッセージング・アプリケーションからメッセージング更新を受信するための要求を、リモート・ウェブ・ブラウザから受信する工程、
メッセージング・アプリケーションとリモート・ウェブ・ブラウザとの間に暗号化された接続を確立する工程、
メッセージング更新をメッセージング・アプリケーションで受信する工程、および
メッセージング更新をメッセージング・アプリケーションからリモート・ウェブ・ブラウザに送信する工程、を行うように、プロセッサ回路上で動作するメッセージング・アプリケーションと、を含む。
本発明によるさらなる実施形態において、装置は、暗号化された接続がリモート・ウェブ・サーバを介して送信され得ることを含むことができる。
本発明によるさらなる実施形態において、メッセージング・アプリケーションは、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられていてよく、リモート・ウェブ・サーバは、今後のウェブ・ブラウザ・セッションのために第1のユーザ・アカウントについてのメッセージング状態をキャッシュするように動作してよく、装置はさらに、リモート・ウェブ・サーバ上でキャッシュされたメッセージング状態へのアクセスが、モバイル・デバイス上のメッセージング・アプリケーションによって制御され得ることを含むことができる。
本発明によるさらなる実施形態において、メッセージング・アプリケーションは、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられていてよく、メッセージング更新は、第1のユーザ・アカウントと第2のユーザ・アカウントとの間のメッセージング会話に対応していてよく、メッセージング・アプリケーションはさらに、第1のユーザ・アカウントに関連付けられているメッセージング状態を、モバイル・デバイス上のローカル・ストアから取り出すように動作してよく、メッセージング状態は、第1のユーザ・アカウントについての連絡先リストの少なくとも一部分を含むことができ、メッセージング状態は、第1のユーザ・アカウントと第2のユーザ・アカウントとの間のメッセージング会話の履歴を含むことができ、装置はさらに、メッセージング状態をリモート・ウェブ・ブラウザに送信することができる。
本発明によるさらなる実施形態において、メッセージング・アプリケーションはさらに、第1のユーザ・アカウントについての連絡先リストを取り出すように動作してよく、装置はさらに、連絡先リストにおける連絡先のメッセージング・アクティビティに基づいて、連絡先リストの少なくとも一部分を決定することができる。
本発明によるさらなる実施形態において、メッセージング・アプリケーションはさらに、マシン可読光ラベルをモバイル・デバイスのカメラ・デバイスを使用して取り込むように動作してよく、マシン可読光ラベルは、リモート・ウェブ・ブラウザによって表示されてよく、装置はさらに、マシン可読光ラベルからウェブ・セッション識別子を抽出することができ、ウェブ・セッション識別子に基づいて、暗号化された接続の確立のためにリモート・ウェブ・ブラウザを識別することができる。
本発明によるさらなる実施形態において、メッセージング・アプリケーションは、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられていてよく、メッセージング・アプリケーションはさらに、送出メッセージを暗号化された接続上でリモート・ウェブ・ブラウザから受信するように動作してよく、送出メッセージは、メッセージング・サービスの第2のユーザ・アカウントとのメッセージング会話に関連付けられていてよく、装置はさらに、送出メッセージを第2のメッセージング・アプリケーションに送信することができ、第2のメッセージング・アプリケーションは、第2のユーザ・アカウントに関連付けられていてよい。
同様に特許請求され得る本発明によるさらなる実施形態において、少なくとも1つのコンピュータ可読記憶媒体が、実行されるとき、システムに、
リモート・ウェブ・ブラウザがメッセージング・アプリケーションからメッセージング更新を受信するための要求を、リモート・ウェブ・ブラウザから、モバイル・デバイス上のメッセージング・アプリケーションで受信する工程と、
メッセージング・アプリケーションとリモート・ウェブ・ブラウザとの間に暗号化された接続を確立する工程と、
メッセージング更新をメッセージング・アプリケーションで受信する工程と、
メッセージング更新をメッセージング・アプリケーションからリモート・ウェブ・ブラウザに送信する工程と、を行わせる命令を含む。
本発明による1実施形態において、コンピュータ可読記憶媒体はさらに、暗号化された接続がリモート・ウェブ・サーバを介して送信されることを含むことができる。
本発明による1実施形態において、メッセージング・アプリケーションは、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられていてよく、リモート・ウェブ・サーバは、今後のウェブ・ブラウザ・セッションのために第1のユーザ・アカウントについてのメッセージング状態をキャッシュするように動作してよく、コンピュータ可読記憶媒体はさらに、リモート・ウェブ・サーバ上でキャッシュされたメッセージング状態へのアクセスが、モバイル・デバイス上のメッセージング・アプリケーションによって制御されることを含むことができる。
本発明による1実施形態において、メッセージング・アプリケーションは、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられていてよく、メッセージング更新は、第1のユーザ・アカウントと第2のユーザ・アカウントとの間のメッセージング会話に対応してよく、コンピュータ可読記憶媒体はさらに、実行されるとき、システムに、
第1のユーザ・アカウントについての連絡先リストを取り出す工程、および
連絡先リストにおける連絡先のメッセージング・アクティビティに基づいて、連絡先リストの一部分を決定する工程、または、
第1のユーザ・アカウントに関連付けられているメッセージング状態を、モバイル・デバイス上のローカル・ストアから取り出す工程であって、メッセージング状態が、第1のユーザ・アカウントについての連絡先リストの少なくとも一部分を含み、メッセージング状態が、第1のユーザ・アカウントと第2のユーザ・アカウントとの間のメッセージング会話の履歴を含む、取り出す工程、および
メッセージング状態をリモート・ウェブ・ブラウザに送信する工程、を行わせる命令を含むことができる。
本発明による1実施形態において、コンピュータ可読記憶媒体はさらに、実行されるとき、システムに、
リモート・ウェブ・ブラウザによって表示されるマシン可読光ラベルを、モバイル・デバイスのカメラ・デバイスを使用して取り込む工程と、
マシン可読光ラベルからウェブ・セッション識別子を抽出する工程と、
ウェブ・セッション識別子に基づいて、暗号化された接続の確立のためにリモート・ウェブ・ブラウザを識別する工程と、を行わせる命令を含むことができる。
本発明による1実施形態において、メッセージング・アプリケーションは、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられていてよく、コンピュータ可読記憶媒体はさらに、実行されるとき、システムに、
メッセージング・サービスの第2のユーザ・アカウントとのメッセージング会話に関連付けられている送出メッセージを、暗号化された接続上でリモート・ウェブ・ブラウザから受信する工程と、
送出メッセージを、第2のユーザ・アカウントに関連付けられている第2のメッセージング・アプリケーションに送信する工程と、を行わせる命令を含むことができる。
本発明によるさらなる実施形態において、1つまたは複数のコンピュータ可読非一時的記憶媒体が、実行されるとき、本発明または上述した実施形態のうちのいずれかによる方法を実施するように動作可能であるソフトウェアを具体化する。
本発明によるさらなる実施形態において、システムが、1つまたは複数のプロセッサと、プロセッサに結合され、プロセッサによって実行可能な命令からなる少なくとも1つのメモリとを含み、プロセッサは、命令を実行するとき、本発明または上述した実施形態のうちのいずれかによる方法を実施するように動作可能である。
本発明によるさらなる実施形態において、好ましくはコンピュータ可読非一時的記憶媒体を含むコンピュータ・プログラム製品が、データ処理システム上で実行されるとき、本発明または上述した実施形態のうちのいずれかによる方法を実施するように動作可能である。
メッセージング・ウェブ・アクセス・システムの1実施形態を示す図。 ローカル・ウェブ・サーバがモバイル・デバイス上で実行されるメッセージング・ウェブ・アクセス・システムの1実施形態を示す図。 リモート・ウェブ・サーバが別個のウェブ・サーバ・デバイス上で実行されるメッセージング・ウェブ・アクセス・システムの1実施形態を示す図。 メッセージング・システムの1実施形態を示す図。 メッセージング・ウェブ・アクセス・システムについての論理フローの1実施形態を示す図。 図1のシステムのための集中型システムの1実施形態を示す図。 図1のシステムのための分散型システムの1実施形態を示す図。 コンピューティング・アーキテクチャの1実施形態を示す図。 通信アーキテクチャの1実施形態を示す図。 無線デバイス・アーキテクチャの1実施形態を示す図。
さまざまな実施形態は、モバイル・デバイス上のメッセージング・アプリケーションへのアクセス・ポイントとして、ウェブ・ブラウザを確立することを対象とする。メッセージング・アプリケーションは、メッセージング・サービスの一環として、他のユーザに対してメッセージを送る権限をユーザに与えることができる。いくつかの実装形態において、モバイル・デバイス上のメッセージング・アプリケーションは、メッセージング・サービスへのユーザのアクセスのための認可として、メッセージング・サービスを用いるユーザのための信頼できる単一ポイントとして、およびメッセージング・サービスのユーザの使用のための情報の多くのリポジトリ(repository)として使用され得る。したがって、モバイル・メッセージング・アプリケーションは、メッセージング・サービスと対話するためのユーザの主要なエンドポイントを含み得る。
メッセージング・サービスのユーザは、メッセージング・サービスにアクセスするために、時にはデスクトップ・コンピュータまたはラップトップ・コンピュータなどのパーソナル・コンピュータを使用したいと思うことがある。しかしながら、メッセージング・アプリケーションが、メッセージング・サービスとのユーザの対話のための制御エンドポイントとしての働きをするので、パーソナル・コンピュータは、モバイル・デバイスが行うのと同じやり方でメッセージング・サービスを使用するのに、メッセージング・サービスのサーバに簡単には接続しないことがある。代わりに、制御エンドポイントとしてのメッセージング・アプリケーションの役割を維持しながら、パーソナル・コンピュータ上でメッセージング・サービスへのアクセスを提供するために、パーソナル・コンピュータ上のウェブ・ブラウザを使用して、モバイル・デバイス上のメッセージング・アプリケーションにアクセスすることができる。結果として、メッセージング・サービスへのアクセスは、メッセージング・サービスによるモバイル・デバイスの優位性を維持しながら、パーソナル・コンピュータに拡張され得る。
次に、図面への参照がなされ、ここで同様の参照番号は、全体を通して同様の要素を指すために使用されている。以下の説明において、解説の目的のために、その徹底した理解を提供するために多数の特定の詳細が述べられる。しかしながら、新規な実施形態は、これらの特定の詳細なしに実施可能であることが明らかであってよい。他の事例において、その説明を円滑にするために、よく知られた構造およびデバイスがブロック図形式で示される。その意図は、特許請求される主題と一致するすべての修正形態、均等形態、および代替形態を包含することである。
本明細書で使用されるとき、「a」および「b」および「c」ならびに同様の指示子が任意の正の整数を表す変数であるように意図されることは、注目に値する。したがって、たとえば、ある実装形態がa=5の値を設定した場合、コンポーネント122−1から122−aまでとして示されるコンポーネント122の完全な組は、コンポーネント122−1、122−2、122−3、122−4、および122−5を含むことができる。実施形態は、この説明に限定はされない。
図1は、メッセージング・ウェブ・アクセス・システム100についてのブロック図を示す。1実施形態において、メッセージング・ウェブ・アクセス・システム100は、1つまたは複数のコンポーネントを含むソフトウェア・アプリケーションを有するコンピュータ実装システムを含むことができる。図1に示すメッセージング・ウェブ・アクセス・システム100は、一定のトポロジにおける限定された数の要素を有するが、メッセージング・ウェブ・アクセス・システム100は、所与の実装形態の所望に応じて、代替トポロジにおいてより多い、またはより少ない要素を含んでもよいことが認識され得る。図1に示すように、パーソナル・コンピュータ・デバイス180上のリモート・ウェブ・ブラウザ(remote web browser)190は、リモート・メッセージング・クライアント170なしにメッセージング会話を行っているモバイル・デバイス120上のメッセージング・アプリケーションへのインタフェースとして使用され得る。
モバイル・デバイス120は、ワイヤレス伝送を使用して他のデバイスと通信して、ネットワーク・トラフィックをやり取りすることができる。メッセージング更新110のやり取りなどに含まれ得るネットワーク・トラフィックをやり取りすることは、ネットワーク・インタフェース・コントローラ(NIC:network interface controller)を介して、ネットワーク・トラフィックを送信すること、および受信することを含んでよい。NICは、モバイル・デバイス120などのコンピュータ・デバイスをコンピュータ・ネットワークに接続するハードウェア・コンポーネントを含む。NICは、NICにアクセスし、NICを使用する権限をソフトウェア・アプリケーションに与えるソフトウェア・ネットワーク・インタフェースに関連付けられていてよい。ネットワーク・トラフィックは、データ・リンク上で送信される信号として、コンピュータ・ネットワーク上で受信されてよい。ネットワーク・トラフィックは、これらの信号を取り込み、解釈することによって受信され得る。NICは、ネットワーク・インターフェース・アプリケーション・プログラミング・インタフェース(API)を使用して、コンピュータ・ネットワーク上でネットワーク・トラフィックを受信し、ネットワーク・トラフィックを、ソフトウェア・アプリケーションにとってアクセス可能なメモリ・ストレージに移すことができる。
モバイル・デバイス120は、ネットワーク上でアクセスされるネットワーク・データを使用して、さまざまな動作を実施することができる。モバイル・デバイス120は、セルラー信号135を使用して、セルラー・システム130にアクセスすることができる。セルラー・システム130は、データ・アクセスを含むセルラー・ネットワークであってよく、セルラー・システム130はセルラー・プロバイダによって提供され、モバイル・デバイス120のユーザはこのセルラー・プロバイダと、モバイル・デバイス120に対するセルラー・データ・サーバのサービス契約を有する。モバイル・デバイス120は、セルラー・システム130を使用して、1つまたは複数の他のデバイスと対話するために公共インターネット150にアクセスすることができる。
モバイル・デバイス120は、Wi−Fi信号145を使用して、1つまたは複数のWi−Fiアクセス・ポイント140にアクセスすることができる。Wi−Fiアクセス・ポイント140は、複数の異なるオペレータによって提供されてよい。Wi−Fiアクセス・ポイント140のうちのいくつかは、家庭用インターネット接続に基づいてモバイル・デバイス120のユーザによって操作されるホームWi−Fiネットワークなどの、性質上私的なものであってもよい。Wi−Fiアクセス・ポイント140のうちのいくつかは、コーヒー・ショップ、ホテル、および他の公共宿泊施設におけるフリーWi−Fiサービスなど、無料で、またはサービスの優待部分として提供されてもよい。モバイル・デバイス120は、Wi−Fiアクセス・ポイント140を使用して、1つまたは複数の他のデバイスと対話するために公共インターネット150にアクセスすることができる。インターネット150とモバイル・デバイス120との間の破線は、インターネット150にアクセスするための媒体としての役目をするセルラー・システム130およびWi−Fiアクセス・ポイント140のうちの1つにより、最終的にはインターネット150を使用して、メッセージング更新110が他のデバイスとやり取りされ得ることを指し示している。
モバイル・デバイス120は、リモート又はローカル・メッセージング・アプリケーション220,170を用いたメッセージング会話に関わることができる。メッセージング会話は、メッセージング更新110などのメッセージング更新のやり取りを含むことができる。メッセージング更新は、メッセージ、メッセージ・ステータス更新、およびメッセージング会話のステータスに対する他の更新を含んでよい。
モバイル・デバイス120の同じユーザが、パーソナル・コンピュータ・デバイス180を所有し、操作することがある。パーソナル・コンピュータ・デバイス180は、Mac OS(登録商標)デバイス、Windows(登録商標)デバイス、Linux(登録商標)デバイス、または別のオペレーティング・システムを稼働する他のコンピュータ・デバイスを含んでよい。パーソナル・コンピュータ・デバイス180は、イーサネット接続を介してインターネット150に接続することが可能なイーサネット・デバイスであってよい。いくつかの実施形態およびいくつかのケースにおいて、パーソナル・コンピュータ・デバイス180は、追加として、または代替として、インターネット150までの、セルラー、Wi−Fi、または他のネットワーキング技術を使用することができる。パーソナル・コンピュータ・デバイス180は、ウェブ・ブラウザ190を実行して、モバイル・デバイス120上のメッセージング・アプリケーションにアクセスし、モバイル・デバイス120上のメッセージング・アプリケーションからメッセージング更新110などのメッセージング更新を受信することができる。
メッセージング・ウェブ・アクセス・システム100は、認可サーバ(または他の好適なコンポーネント)を含むことができ、これにより、ユーザは、たとえば、適切なプライバシー設定を設定することによって、ユーザのアクションを、メッセージング・ウェブ・アクセス・システム100によってログさせる、または他のシステム(たとえば、サードパーティ・システム)と共有させるオプトイン(opt in)、またはオプトアウト(opt out)することが可能になる。ユーザのプライバシー設定は、ユーザに関連付けられている何の情報がログされ得るか、ユーザに関連付けられている情報がどのようにログされ得るか、ユーザに関連付けられている情報がいつログされ得るか、ユーザに関連付けられている情報を誰がログできるか、ユーザに関連付けられている情報が誰と共有し得るか、およびユーザに関連付けられている情報が何の目的でログされ得るか、または共有され得るかを決定することができる。認可サーバ、または他の認可コンポーネントは、必要に応じて、ブロッキング、データ・ハッシュ化、匿名化、または他の好適な技法を通して、メッセージング・ウェブ・アクセス・システム100のユーザの1つまたは複数のプライバシー設定、およびソーシャル・ネットワーキング・システムの他の要素を実施するために使用されてよい。
図2は、ローカル・ウェブ・サーバ250がモバイル・デバイス120上で実行される、メッセージング・ウェブ・アクセス・システム100の1実施形態を示す。
図2に示すように、モバイル・デバイス120は、ローカル・メッセージング・アプリケーション220を実行することができる。ローカル・メッセージング・アプリケーション220は、他のユーザのそれぞれのデバイスとのメッセージのやり取りを介して他のユーザとメッセージをやり取りするために、モバイル・デバイス120のユーザによって操作され得る。メッセージは、テキスト・シーケンス、画像ファイル、映像ファイル、サウンド・ファイル、およびメディア・ファイルの任意の他の形式のうちの1つまたは複数を含むことができる。ローカル・メッセージング・アプリケーション220は、他のユーザから受信したメッセージを表示するために、モバイル・デバイス120のユーザによるメッセージのエントリを受信するために、およびメッセージングに関連した他のユーザ・インタフェース要素を表示するために、モバイル・デバイス120上のインタフェースを使用することができる。
ローカル・メッセージング・アプリケーション220は、メッセージングが主要な目的である専用のローカル・メッセージング・アプリケーション220であってよい。専用のローカル・メッセージング・アプリケーション220は、メッセージング・サーバを含むメッセージング・プラットフォームを管理するメッセージング・プロバイダにとりわけ関連付けられてもよいし、またはメッセージング・サーバ110を含むメッセージング・プラットフォームを管理するメッセージング・プロバイダを含む複数の異なるメッセージング・プロバイダと連携するように動作する一般のクライアントであってもよい。
代替として、ローカル・メッセージング・アプリケーション220は、追加の機能性を提供するアプリケーションのコンポーネントであってもよい。たとえば、ソーシャル・ネットワーキング・サービスは、ソーシャル・ネットワーキング・サービスにアクセスし、ソーシャル・ネットワーキング・サービスを使用するために、モバイル・デバイス上で使用するためのソーシャル・ネットワーキング・アプリケーションを提供することができる。ローカル・メッセージング・アプリケーション220が、ソーシャル・ネットワーキング・サービスのメッセージング機能性へのアクセスをモバイル・デバイス120のユーザに提供していることにより、ソーシャル・ネットワーキング・サービスは、メッセージング機能性を含むことができる。
ローカル・メッセージング・アプリケーション220は、リモート・ウェブ・ブラウザ190がローカル・メッセージング・アプリケーション220からメッセージング更新を受信するための要求を、リモート・ウェブ・ブラウザ190から受信するように動作してよい。この要求は、ローカル・メッセージング・アプリケーション220のメッセージング機能性へのウェブ・インタフェースに関連付けられているウェブ・ページに対するハイパーテキスト・トランスポート・プロトコル(HTTP)要求を介して受信され得る。HTTP要求は、ハイパーテキスト・トランスポート・プロトコル・セキュア(HTTPS)、またはHTTP標準に対する他のセキュアなバリエーションとして受信されてよい。この要求は、ウェブ・ページ上のウェブベースのメッセージング・オプションの選択を介して受信され得る。
ローカル・メッセージング・アプリケーション220は、メッセージング更新を受信するための要求に応答して、ローカル・メッセージング・アプリケーション220とリモート・ウェブ・ブラウザ190との間に暗号化された接続を確立することができる。ローカル・メッセージング・アプリケーション220は、ローカル・メッセージング・アプリケーション220でメッセージング更新110を受信し、メッセージング更新を、メッセージング・アプリケーションからリモート・ウェブ・ブラウザに送信することができる。リモート・ウェブ・ブラウザ190をメッセージング会話で最新に保つために、メッセージング更新110は、ローカル・メッセージング・アプリケーション220がメッセージング更新110を受信することに応答して、自動的に送信されてよい。
会話および更新の適正なフローを維持するために、リモート・ウェブ・ブラウザ190およびローカル・メッセージング・アプリケーション220は、メッセージング更新に対する厳密な順序付けを維持することから利益を得ることができる。ローカル・メッセージング・アプリケーション220は、順序付けのための制御のポイントとしての働きをすることができ、更新が受信され、ローカル・メッセージング・アプリケーション220の観点から生成される順序に基づいて、メッセージング更新に順序付けを割り当てることができる。したがって、メッセージング更新110が受信されるごとに、ローカル・メッセージング・アプリケーション220は、メッセージング更新110をリモート・ウェブ・ブラウザ190に送信する前に、メッセージング更新110にシーケンス番号を割り当てることができる。いくつかの実施形態において、ローカル・メッセージング・アプリケーション220が唯一のメッセージング・エンドポイントであるときには、厳密な順序付けの維持が利益にならないことがある。したがって、ローカル・メッセージング・アプリケーション220がリモート・ウェブ・ブラウザ190へのメッセージング更新の転送を実施することに基づいて、ローカル・メッセージング・アプリケーション220は、メッセージング更新110にシーケンス番号を割り当てることができる。
ローカル・メッセージング・アプリケーション220からメッセージング更新を受信するためにリモート・ウェブ・ブラウザ190から受信した要求に応答して、ローカル・メッセージング・アプリケーション220は、ローカル・ウェブ・サーバ250とリモート・ウェブ・ブラウザ190との間に暗号化された接続がある状態で、モバイル・デバイス120上のローカル・ウェブ・サーバ250を始動することができる。ローカル・ウェブ・サーバ250は、ローカル・メッセージング・アプリケーション220の一部であってもよいし、ローカル・メッセージング・アプリケーション220の一部として実行する装置であってもよいし、またはローカル・メッセージング・アプリケーション220によるコマンドに応答して起動する、モバイル・デバイス120上の異なったアプリケーションを含んでもよい。
いくつかのケースにおいて、ローカル・ウェブ・サーバ250およびリモート・ウェブ・ブラウザ190は、公共インターネット150のインフラストラクチャを使用して通信することができる。しかしながら、いくつかのケースにおいては、暗号化された接続は、ピア・ツー・ピア・ネットワーク接続を介して送信されてもよい。ピア・ツー・ピア・ネットワーク接続は、限定はせずに、モバイル・デバイス120とパーソナル・コンピュータ・デバイス180との間のブルートゥース接続および直接Wi−Fi接続のうちの1つを含むことができる。
ローカル・メッセージング・アプリケーション220は、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられていてよい。メッセージング更新は、第2のモバイル・デバイス上の第2のメッセージング・アプリケーションから受信されていることがあり、第2のメッセージング・アプリケーションは、メッセージング・サービスによる第2のユーザ・アカウントに関連付けられている。メッセージング更新110は、したがって、第1のユーザ・アカウントと第2のユーザ・アカウントとの間のメッセージング会話におけるメッセージを含むことができる。これは、第1のユーザ・アカウントから第2のユーザ・アカウントに送られたメッセージ、または第2のユーザ・アカウントから第1のユーザ・アカウントに送られたメッセージであり得る。メッセージは、テキスト・セグメント、画像、映像セグメント、およびオーディオ・セグメントのうちの1つまたは複数を含んでよい。
いくつかのケースにおいて、メッセージは、映像セグメントまたはオーディオ・セグメントなどのメディア・セグメントを含んでもよい。ローカル・ウェブ・サーバ250などのウェブ・サーバは、メッセージング更新110をリモート・ウェブ・ブラウザ190に送信する前に、メディア・セグメントを、リモート・ウェブ・ブラウザ190によってサポートされるメディア・フォーマットにコード変換することができる。いくつかの実施形態において、リモート・ウェブ・ブラウザ190は、サポートされたフォーマットをローカル・ウェブ・サーバ250に送信することができ、ローカル・ウェブ・サーバ250は、受信したサポートされたフォーマットを使用して、メディア・セグメントをコード変換するためのフォーマットを決定する。他の実施形態において、ローカル・ウェブ・サーバ250は、ウェブ互換性のあるメディア・フォーマットのリストと共に構成されてよく、メディア・セグメントを、構成されたウェブ互換性のあるメディア・フォーマットのうちの1つにコード変換することができる。
リモート・ウェブ・ブラウザ190は、モバイル・デバイス120またはリモート・メッセージング・クライアント170から発信するメッセージングを見るために使用されるだけでなく、メッセージを発信するために使用されてもよい。ローカル・メッセージング・アプリケーション220は、暗号化された接続上でリモート・ウェブ・ブラウザ190からの送出メッセージを受信することができ、送出メッセージは、メッセージング・サービスの第2のユーザ・アカウントとのメッセージング会話に関連付けられている。ローカル・メッセージング・アプリケーション220は、送出メッセージを、第2のユーザ・アカウントに関連付けられている第2のメッセージング・アプリケーションに送信することができる。この第2のメッセージング・アプリケーションは、リモート・メッセージング・クライアント170に対応することができる。
いくつかの実施形態において、発信エンドポイントから送られたメッセージが宛先メッセージング・エンドポイント上に表示されるとき、その発信メッセージング・エンドポイントに通知されてよい。したがって、ローカル・メッセージング・アプリケーション220は、送出メッセージの確認応答を第2のメッセージング・アプリケーションから受信し、送出メッセージの確認応答に従って、リモート・ウェブ・ブラウザ190による送出メッセージを更新することができる。リモート・ウェブ・ブラウザ190による送出メッセージを更新することは、アイコン、シンボル、または送出メッセージに隣接する他のビジュアル要素を表示することを含んでよく、ビジュアル要素は、その受信者によって見られるメッセージに視覚的に関連付けられている。
ローカル・メッセージング・アプリケーション220にアクセスするためのエンドポイントとしてリモート・ウェブ・ブラウザ190を確立する一環として、リモート・ウェブ・ブラウザ190のウェブ・セッションに、ローカル・メッセージング・アプリケーション220に関連付けられているユーザ・アカウントについてのメッセージング状態がロードされ得る。ローカル・メッセージング・アプリケーション220は、ユーザ・アカウントに関連付けられているメッセージング状態を、モバイル・デバイス120上のローカル・ストアから取り出し、メッセージング状態をリモート・ウェブ・ブラウザ190に送信することができる。
メッセージング更新は、第1のユーザ・アカウントと第2のユーザ・アカウントとの間のメッセージング会話に対応してよい。メッセージング状態は、第1のユーザ・アカウントと第2のユーザ・アカウントとの間のメッセージング会話の履歴を含むことができる。たとえば、モバイル・デバイス120のユーザは、リモート・メッセージング・クライアント170のユーザとのメッセージング会話に関わることがある。最初に、この会話は、モバイル・デバイス120上のローカル・メッセージング・アプリケーション220のユーザによる直接使用を伴ってよい。しかしながら、ある時点で、ユーザは、会話を継続するために自分のパーソナル・コンピュータ・デバイス180を使用し始めたいと望むことがある。たとえば、ユーザは、モバイル・デバイス120を使用しながら自分の家に向かって移動しており、その後、家に戻ってパーソナル・コンピュータ・デバイス180を使用したいと思うことがある。パーソナル・コンピュータ・デバイス180上のリモート・ウェブ・ブラウザ190に履歴を送信することによって、ユーザは、会話を継続することができるだけでなく、その会話の、および他の会話の履歴を思い出すこともできる。
メッセージング状態は、第1のユーザ・アカウントについての連絡先リストなどの、追加の、または代替の情報を含むことができる。いくつかのケースにおいて、ユーザ・アカウントの全連絡先リストは、効率的に送るには長すぎることがあり、したがって、メッセージング状態は、第1のユーザ・アカウントについての連絡先リストのある部分を含むことができる。ローカル・メッセージング・アプリケーション220は、第1のユーザ・アカウントについての連絡先リストを、モバイル・デバイス120上のローカル・ストアから取り出し、連絡先リストにおける連絡先のメッセージング・アクティビティに基づいて、連絡先リストのその部分を決定することができる。
図3は、リモート・ウェブ・サーバ350が別個のウェブ・サーバ・デバイス355上で実行される、メッセージング・ウェブ・アクセス・システム100の1実施形態を示す。図3に示すように、リモート・メッセージング・クライアント170の間の対話は、メッセージング・サーバ320を介して実施され得る。メッセージング・サーバ320およびウェブ・サーバ・デバイス355の両方は、ローカル・メッセージング・アプリケーション220を含むメッセージング・プラットフォームを管理するメッセージング・サービス・プロバイダによって管理されてよい。いくつかの実施形態においては、メッセージング・サーバ320およびウェブ・サーバ・デバイス355のうちの1つのみが使用されてもよいことが認識されるであろう。
いくつかの実施形態において、ローカル・メッセージング・アプリケーション220とリモート・ウェブ・ブラウザ190との間の暗号化された接続は、リモート・ウェブ・サーバ350を介して送信されてよい。リモート・ウェブ・サーバ350は、リモート・ウェブ・ブラウザ190のためのウェブ・セッションをホストすることができ、ウェブ・セッションは、そのウェブ・セッションを介したメッセージングの実施のために、モバイル・デバイス120上のローカル・メッセージング・アプリケーション220へのアクセスを可能にする。したがって、暗号化された接続の第1の部分は、ローカル・メッセージング・アプリケーション220とウェブ・サーバ・デバイス355との間の、暗号化された伝送制御プロトコル/インターネット・プロトコル(TCP/IP)接続などのセキュアな接続を含むことができる。暗号化された接続の第2の部分は、リモート・ウェブ・ブラウザ190とリモート・ウェブ・サーバ350との間の、HTTPS接続を含むことができる。したがって、リモート・ウェブ・サーバ350は、通信の全長にわたるセキュアな接続を維持するために、ローカル・メッセージング・アプリケーション220とリモート・ウェブ・ブラウザ190との間でブリッジとしての働きをすることができる。
いくつかの実施形態において、リモート・ウェブ・サーバ350またはウェブ・サーバ・デバイス355が暗号化された接続のプレーンテキスト(すなわち、暗号化されていない)コンテンツにアクセスするのを防ぐために、ローカル・メッセージング・アプリケーション220とリモート・ウェブ・ブラウザ190との間の暗号化された接続は、リモート・ウェブ・サーバ350を通して維持されてよい。リモート・ウェブ・サーバ350は、暗号化されたウェブ・ページおよび暗号化されたウェブ要素(たとえば、フレーム、画像、および個々のHTTPS対話として送られる他の要素)のための中継としての働きをすることができ、暗号化されたウェブ・ページおよび暗号化されたウェブ要素は、ローカル・メッセージング・アプリケーション220によって暗号化され、リモート・ウェブ・サーバ350またはウェブ・サーバ・デバイス355が暗号化されたウェブ・ページおよびエンド暗号化されたウェブ要素のための復号鍵にアクセスする必要なしに、リモート・ウェブ・ブラウザ190によって復号化される。
ローカル・メッセージング・アプリケーション220は、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられていてよい。リモート・ウェブ・サーバ350は、今後のウェブ・ブラウザ・セッションのために第1のユーザ・アカウントについてのメッセージング状態をキャッシュするように動作してよい。いくつかのケースにおいて、リモート・ウェブ・ブラウザ190は、第1のユーザ・アカウントについての状態を受信することができる。ローカル・メッセージング・アプリケーション220がモバイル・デバイス120上に格納された状態を再送信しなくてはならないのを避けるために、リモート・ウェブ・サーバ350は、この状態をキャッシュすることができる。
リモート・ウェブ・サーバ350上でキャッシュされたメッセージング状態へのアクセスは、モバイル・デバイス120上のローカル・メッセージング・アプリケーション220によって制御され得る。ローカル・メッセージング・アプリケーション220のユーザは、認可解除命令をリモート・ウェブ・サーバ350に送信するように、ローカル・メッセージング・アプリケーション220に指示する権限を与えられてよく、認可解除命令は、リモート・ウェブ・サーバ350によりリモート・ウェブ・ブラウザ190を認可解除する。これにより、リモート・ウェブ・ブラウザ190がローカル・メッセージング・アプリケーション220によって再認可されない限り、キャッシュされた状態がリモート・ウェブ・ブラウザ190によって今後使用されるのを防ぐことができる。同様に、これにより、リモート・ウェブ・ブラウザ190がローカル・メッセージング・アプリケーション220によって再認可されない限り、第1のユーザ・アカウントのためのメッセージング・エンドポイントとしてリモート・ウェブ・ブラウザ190が今後確立されるのを防ぐことができる。リモート・ウェブ・サーバ350は、認可解除命令の受信に応答して、認可されたエンドポイントのリストからリモート・ウェブ・ブラウザ190を取り除くように、認可されたエンドポイントの記録を修正することができる。リモート・ウェブ・サーバ350は、認可解除命令の受信に応答して、リモート・ウェブ・ブラウザ190のためにキャッシュされた状態を削除することができる。
リモート・ウェブ・ブラウザ190は、ユーザがモバイル・デバイス120上で接続確立動作を実施する必要なしに、ローカル・メッセージング・アプリケーション220への接続を素早く再確立する権限を与えるための認証情報を提供されてよい。ローカル・メッセージング・アプリケーション220は、リモート・ウェブ・ブラウザ190に認証情報を送信し、リモート・ウェブ・ブラウザがメッセージング・アプリケーションからメッセージング更新を再び受信するための第2の要求を、リモート・ウェブ・ブラウザ190から、モバイル・デバイス120上のローカル・メッセージング・アプリケーション220で受信し、認証情報を使用して、ローカル・メッセージング・アプリケーション220とリモート・ウェブ・ブラウザ190との間に第2の暗号化された接続を確立することができる。認証情報は、限定はせずに、セキュアなトークンを含むことができる。
暗号化された接続の確立のためにリモート・ウェブ・ブラウザ190を識別するために、さまざまな技法を使用することができる。いくつかのケースにおいて、マシン可読光ラベル(たとえば、QRコード)が、リモート・ウェブ・ブラウザ190上に表示されてもよい。このマシン可読光ラベルは、リモート・ウェブ・ブラウザ190がメッセージング・エンドポイントとして動作し始める試行に応答して、モバイル・デバイス120上のローカル・メッセージング・アプリケーション220が識別される前に、リモート・ウェブ・サーバ350によって表示され得る。モバイル・デバイス120がマシン可読光ラベルを取り込み、それをメッセージング・サーバ320、ウェブ・サーバ・デバイス355、またはメッセージング・ウェブ・アクセス・システム100のなんらかの他のコンポーネントに送信することに基づいて、モバイル・デバイス120は、リモート・ウェブ・ブラウザ190に接続され得る。
したがって、ローカル・メッセージング・アプリケーション220は、モバイル・デバイス120のカメラ・デバイスを使用して、リモート・ウェブ・ブラウザ190によって表示されるマシン可読光ラベルを取り込むことができる。ローカル・メッセージング・アプリケーション220は、マシン可読光ラベルからウェブ・セッション識別子を抽出することができる。ローカル・メッセージング・アプリケーション220は、ウェブ・セッション識別子に基づいて、暗号化された接続の確立のためにリモート・ウェブ・ブラウザ190を識別することができる。
マシン可読光ラベルは、ウェブ・サーバ・デバイス355によって生成され、リモート・ウェブ・サーバ350によってリモート・ウェブ・ブラウザ190に送信され得る。ウェブ・サーバ・デバイス355は、ローカル・メッセージング・アプリケーション220などのローカル・メッセージング・アプリケーションのフロント・エンドに、マシン可読光ラベルによって符号化されたデータを登録することができる。ローカル・メッセージング・アプリケーション220は、マシン可読光ラベルによって符号化されたデータをフロント・エンドに報告して、ローカル・メッセージング・アプリケーション220と、マシン可読光ラベルを表示するリモート・ウェブ・ブラウザ190にサービス提供するリモート・ウェブ・サーバ350との間に、接続を確立することができる。
図4は、メッセージング・システム400のさまざまな機能を実装する複数のサーバの1実施形態を示す。メッセージング・システム400のさまざまな実施形態において、働きおよび機能の異なる分散が使用され得ることが認識されるであろう。メッセージング・システム400は、メッセージング・ウェブ・アクセス・システム100を含むことができ、メッセージング・ウェブ・アクセス・システム100の動作は、メッセージング・システム400の全体の動作の一部を含んでいる。
メッセージング・システム400は、ドメイン・ネーム・フロント・エンド410を含むことができる。ドメイン・ネーム・フロント・エンド410は、ドメイン・ネーム・システム(DNS)においてメッセージング・システム400に関連付けられている1つまたは複数のドメイン・ネームを割り当てられてよい。ドメイン・ネーム・フロント・エンド410は、着信接続を受信し、その接続を、さまざまなメッセージング・サービスを提供するサーバに分散することができる。
メッセージング・システム400は、1つまたは複数のチャット・サーバ415を含むことができる。チャット・サーバ415は、チャット・メッセージなどの、ユーザ・ツー・ユーザのメッセージング更新を受信し、送信するためのフロント・エンド・サーバを含むことができる。着信接続は、作業負荷バランスに基づいて、ドメイン・ネーム・フロント・エンド410によってチャット・サーバ415に割り当てられてよい。
メッセージング・システム400は、バックエンド・サーバ430を含むことができる。バックエンド・サーバ430は、フロント・エンド・チャット・サーバ415のチャット動作のサポートに特化したタスクを実施することができる。複数の異なるタイプのバックエンド・サーバ430が使用されてよい。異なるバックエンド・サーバ430へのタスクのタイプの割り当ては、異なる実施形態において多様であってよいことが認識されるであろう。いくつかの実施形態において、専用のサーバによって提供されるバックエンド・サービスのうちのいくつかは、本明細書で説明される実施形態において異なるサーバ間で分割された多数のタスクをそれぞれ実施する、単一のサーバ、または一組のサーバに組み合わされてよい。同様に、いくつかの実施形態において、本明細書で説明する専用のバックエンド・サーバのうちのいくつかのタスクは、異なるサーバ・グループの異なるサーバ間で分割されてよい。
メッセージング・システム400は、1つまたは複数のオフライン・ストレージ・サーバ431を含むことができる。1つまたは複数のオフライン・ストレージ・サーバ431は、メッセージング・エンドポイントが再接続するときのために保留中の、現在オフラインのメッセージング・エンドポイントのために、メッセージング・コンテンツを格納することができる。
メッセージング・システム400は、1つまたは複数のセッション・サーバ432を含むことができる。1つまたは複数のセッション・サーバ432は、接続されたメッセージング・エンドポイントのセッション状態を維持することができる。
メッセージング・システム400は、1つまたは複数のプレゼンス・サーバ433を含むことができる。1つまたは複数のプレゼンス・サーバ433は、メッセージング・システム400のためのプレゼンス情報を維持することができる。プレゼンス情報は、所与のユーザが、オンラインのメッセージング・エンドポイントを有してチャットに応じられるかどうか、オンラインのメッセージング・エンドポイントを有するが現在はそこから離れているかどうか、オンラインのメッセージング・エンドポイントは有さないか、および任意の他のプレゼンス状態を指し示す、ユーザ固有の情報に対応してよい。
メッセージング・システム400は、1つまたは複数のプッシュ・ストレージ・サーバ434を含むことができる。1つまたは複数のプッシュ・ストレージ・サーバ434は、プッシュ要求をキャッシュし、プッシュ要求をメッセージング・エンドポイントに送信することができる。プッシュ要求は、メッセージング・エンドポイントを立ち上げるために、メッセージング更新が利用可能であることをメッセージング・エンドポイントに通知するために、および別のやり方でメッセージング・エンドポイントとのサーバ・サイド・ドリブンな対話を実施するために使用されてよい。
メッセージング・システム400は、1つまたは複数のグループ・サーバ435を含むことができる。1つまたは複数のグループ・サーバ435は、グループのリストを維持する、グループにユーザを追加する、グループからユーザを取り除く、ならびにグループ・チャット・メッセージの受信、キャッシング、および転送を実施することができる。
メッセージング・システム400は、1つまたは複数のブロック・リスト・サーバ436を含むことができる。1つまたは複数のブロック・リスト・サーバ436は、ユーザ固有のブロック・リストを維持することができ、ユーザ固有の着信ブロック・リストは、ユーザごとに、そのユーザにメッセージを送信することを禁じられている1人または複数の他のユーザを指し示す。代替として、または追加として、1つまたは複数のブロック・リスト・サーバ436は、ユーザ固有の送出ブロック・リストを維持することができ、これはユーザごとに、そのユーザがメッセージを送信することを禁じられている1人または複数の他のユーザを指し示す。着信ブロック・リストおよび送出ブロック・リストは、ブロック情報という同じリポジトリの異なる見方を表しており、着信ブロック・リストおよび送出ブロック・リストは、たとえば、データベースにおいて組み合わせて格納され得ることが認識されるであろう。
メッセージング・システム400は、1つまたは複数の最後に確認された情報サーバ437を含むことができる。1つまたは複数の最後に確認された情報サーバ437は、最後に確認された、ロケーション、ステータス、メッセージング・エンドポイント、およびユーザの最後に確認されたメッセージング・システム400への接続の他の要素を指し示す情報を、受信し、格納し、維持することができる。
メッセージング・システム400は、1つまたは複数の鍵サーバ438を含むことができる。1つまたは複数の鍵サーバは、公開鍵/秘密鍵暗号化通信のための公開鍵をホストすることができる。
メッセージング・システム400は、1つまたは複数のプロフィール写真サーバ439を含むことができる。1つまたは複数のプロフィール写真サーバ439は、メッセージング・システム400の複数のユーザのために、プロフィール写真を格納し、取り出すために利用可能にすることができる。
メッセージング・システム400は、1つまたは複数のスパム・ロギング・サーバ440を含むことができる。1つまたは複数のスパム・ロギング・サーバ440は、知られている疑わしいスパム(たとえば、望まれないメッセージ、特に販売促進的性質のもの)をログすることができる。1つまたは複数のスパム・ロギング・サーバ440は、メッセージがスパムであるかどうかを判定するためにメッセージを分析し、いくつかの実施形態においては、疑わしいスパム発信者(スパム・メッセージを送るユーザ)に対して罰則処置を実施するように動作してよい。
メッセージング・システム400は、1つまたは複数の統計値サーバ441を含むことができる。1つまたは複数の統計値サーバは、メッセージング・システム400の動作、およびメッセージング・システム400のユーザの言動に関連した統計値情報をまとめ、格納することができる。
メッセージング・システム400は、1つまたは複数のウェブ・サーバ442を含むことができる。1つまたは複数のウェブ・サーバ442は、ウェブ・ブラウザによるハイパーテキスト・トランスポート・プロトコル(HTTP)接続およびハイパーテキスト・トランスポート・プロトコル・セキュア(HTTPS)接続に関わることができる。1つまたは複数のウェブ・サーバ442は、いくつかの実施形態において、メッセージング・ウェブ・アクセス・システム100の動作の一環としてリモート・ウェブ・サーバ350をホストすることができる。
メッセージング・システム400は、1つまたは複数のチャット・アクティビティ・モニタリング・サーバ443を含むことができる。1つまたは複数のチャット・アクティビティ・モニタリング・サーバ443は、メッセージング・システム400のユーザによる非認可の、または非推奨の(discouraged)言動を判定するために、ユーザのチャットをモニタすることができる。1つまたは複数のチャット・アクティビティ・モニタリング・サーバ443は、スパム・ロギング・サーバ440およびブロック・リスト・サーバ436と協同して働くことができ、1つまたは複数のチャット・アクティビティ・モニタリング・サーバ443は、スパムまたは他の非推奨の言動を識別し、スパム情報をスパム・ロギング・サーバ440に提供し、適切な場合には、ブロッキング情報をブロック・リスト・サーバ436に提供する。
メッセージング・システム400は、1つまたは複数の同期サーバ444を含むことができる。1つまたは複数の同期サーバ444は、メッセージング・システム400を、モバイル電話上のアドレス帳などの、メッセージング・エンドポイントからの連絡先情報と同期させて、メッセージング・システム400におけるユーザのための連絡先を決定することができる。
メッセージング・システム400は、1つまたは複数のマルチメディア・サーバ445を含むことができる。1つまたは複数のマルチメディア・サーバは、メッセージング・エンドポイント間の移行におけるマルチメディア(たとえば、画像、映像、オーディオ)、オフラインのエンドポイントのためにキャッシュされたマルチメディアを格納することができ、マルチメディアのコード変換を実施することができる。
メッセージング・システム400は、1つまたは複数の支払いサーバ446を含むことができる。1つまたは複数の支払いサーバ446は、ユーザからの支払いを処理することができる。1つまたは複数の支払いサーバ446は、支払いの実施のために、外部サードパーティ・サーバに接続することができる。
メッセージング・システム400は、1つまたは複数の登録サーバ447を含むことができる。1つまたは複数の登録サーバ447は、メッセージング・システム400の新しいユーザを登録することができる。
メッセージング・システム400は、1つまたは複数の音声中継サーバ448を含むことができる。1つまたは複数の音声中継サーバ448は、ボイス・オーバ・インターネット・プロトコル(VoIP)コールの実施のために、メッセージング・エンドポイント間でVoIP音声通信を中継することができる。
本明細書には、開示されたアーキテクチャの新規な態様を実施するための例示的な方法論を表す一組のフロー・チャートが含まれる。解説を単純化する目的のために、本明細書で示される1つまたは複数の方法論は、たとえば、フロー・チャートまたはフロー図の形式で一連の作用として示され説明されるが、いくつかの作用が、本明細書で示され説明されるものとは異なる順序で発生する、および/または本明細書で示され説明されるものからの他の作用と同時に発生することがあるので、それに従って、方法論は作用の順序によって限定されないことが理解され、認識されるべきである。たとえば、当業者は、方法論が、状態図などにおいて、一連の相関した状態またはイベントとして代替的に表され得ることを理解し、認識するであろう。その上、方法論に示されたすべての作用が、新規の実装形態のために必要とされるわけではないことがある。
図5は、論理フロー500の1実施形態を示す。論理フロー500は、本明細書で説明される1つまたは複数の実施形態によって実行される動作のいくつか、または全部を表すことができる。
図5に示す図示された実施形態において、論理フロー500は、ブロック502で、リモート・ウェブ・ブラウザ190がローカル・メッセージング・アプリケーション220からメッセージング更新を受信するための要求を、リモート・ウェブ・ブラウザ190から、モバイル・デバイス120上のローカル・メッセージング・アプリケーション220で受信することができる。
論理フロー500は、ブロック504で、ローカル・メッセージング・アプリケーション220とリモート・ウェブ・ブラウザ190との間に暗号化された接続を確立することができる。
論理フロー500は、ブロック506で、メッセージング更新110をローカル・メッセージング・アプリケーション220で受信することができる。
論理フロー500は、ブロック508で、メッセージング更新110を、ローカル・メッセージング・アプリケーション220からリモート・ウェブ・ブラウザ190に送信することができる。
実施形態は、この例に限定はされない。
図6は、集中型システム600のブロック図を示す。集中型システム600は、もっぱら単一のデバイス620内部などの単一のコンピューティング・エンティティにおいて、メッセージング・ウェブ・アクセス・システム100の構造および/または動作のいくつか、または全部を実装することができる。
デバイス620は、システム100のための情報を、受信し、処理し、送ることが可能な任意の電子デバイスを含むことができる。電子デバイスの例には、限定はせずに、ウルトラ・モバイル・デバイス、モバイル・デバイス、携帯情報端末(PDA)、モバイル・コンピューティング・デバイス、スマートフォン、電話、デジタル電話、セルラー電話、電子書籍リーダ、ハンドセット、単方向ページャ、双方向ページャ、メッセージング・デバイス、コンピュータ、パーソナル・コンピュータ(PC)、デスクトップ・コンピュータ、ラップトップ・コンピュータ、ノートブック・コンピュータ、ネットブック・コンピュータ、ハンドヘルド・コンピュータ、タブレット・コンピュータ、サーバ、サーバ・アレイもしくはサーバ・ファーム、ウェブ・サーバ、ネットワーク・サーバ、インターネット・サーバ、ワーク・ステーション、ミニコンピュータ、メイン・フレーム・コンピュータ、スーパーコンピュータ、ネットワーク・アプライアンス、ウェブ・アプライアンス、分散型コンピューティング・システム、マルチプロセッサ・システム、プロセッサベースのシステム、家庭用電化製品、プログラマブル家庭用電化製品、ゲーム・デバイス、テレビ、デジタル・テレビ、セット・トップ・ボックス、ワイヤレス・アクセス・ポイント、基地局、サブスクライバ局、モバイル・サブスクライバ・センタ、無線ネットワーク・コントローラ、ルータ、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、またはそれらの組合せが含まれてよい。実施形態は、このコンテキストに限定はされない。
デバイス620は、処理コンポーネント630を使用して、システム100のための処理動作または処理論理を実行することができる。処理コンポーネント630は、さまざまなハードウェア要素、ソフトウェア要素、またはその両方の組合せを含むことができる。ハードウェア要素の例には、デバイス、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサ回路、回路素子(たとえば、トランジスタ、レジスタ、キャパシタ、インダクタ、およびその他)、集積回路、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップ・セット、およびその他が含まれてよい。ソフトウェア要素の例には、ソフトウェア・コンポーネント、プログラム、アプリケーション、コンピュータ・プログラム、アプリケーション・プログラム、システム・プログラム、ソフトウェア開発プログラム、マシン・プログラム、オペレーティング・システム・ソフトウェア、ミドルウェア、ファームウェア、ソフトウェア・モジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャ、ソフトウェア・インタフェース、アプリケーション・プログラム・インタフェース(API)、命令セット、コンピューティング・コード、コンピュータ・コード、コード・セグメント、コンピュータ・コード・セグメント、単語、値、シンボル、またはそれらの任意の組合せが含まれてよい。ある実施形態が、ハードウェア要素を使用して実装されるか、および/またはソフトウェア要素を使用して実装されるかの判定は、所与の実装形態の所望に応じた、所望の計算レート、電力レベル、熱耐性、処理サイクル・バジェット、入力データ・レート、出力データ・レート、メモリ・リソース、データ・バス速度、および他の設計制約または性能制約などの、任意の数の要因に従って多様であってよい。
デバイス620は、通信コンポーネント640を使用して、システム100のための通信動作または通信論理を実行することができる。通信コンポーネント640は、パケット交換ネットワーク(たとえば、インターネットなどの公共ネットワーク、企業イントラネットなどの私設ネットワーク、およびその他)、回路交換ネットワーク(たとえば、公衆交換電話網)、またはパケット交換ネットワークと回路交換ネットワークとの(好適なゲートウェイおよび変換器を備えた)組合せでの使用に好適な技法などの、任意のよく知られた通信技法および通信プロトコルを実装することができる。通信コンポーネント640は、1つまたは複数の通信インタフェース、ネットワーク・インタフェース、ネットワーク・インタフェース・カード(NIC)、無線、ワイヤレス送信機/受信機(トランシーバ)、ワイヤードおよび/またはワイヤレス通信媒体、物理的コネクタ、およびその他などの、さまざまなタイプの標準通信要素を含むことができる。限定ではなく例として、通信媒体612、642は、ワイヤード通信媒体およびワイヤレス通信媒体を含む。ワイヤード通信媒体の例には、ワイヤ、ケーブル、金属リード、プリント回路基板(PCB)、バックプレーン、スイッチ・ファブリック、半導体材料、ツイストペア・ワイヤ、同軸ケーブル、光ファイバ、伝播信号、およびその他が含まれてよい。ワイヤレス通信媒体の例には、アコースティック、無線周波数(RF)スペクトル、赤外線、および他のワイヤレス媒体が含まれてよい。
デバイス620は、通信コンポーネント640を介して、通信媒体612上で通信信号614を使用して他のデバイス610と、通信媒体642上で通信信号644を使用して他のデバイス650と、それぞれ、通信することができる。デバイス610、650は、所与の実装形態の所望に応じて、デバイス620の内部であっても、外部であってもよい。デバイス610は、モバイル・デバイス120上のローカル・メッセージング・アプリケーション220などの、メッセージング・エンドポイントを含むことができる。デバイス650は、パーソナル・コンピュータ・デバイス180上のリモート・ウェブ・ブラウザ190などの、第2のメッセージング・エンドポイントを含むことができる。信号614および644は、ローカル・メッセージング・アプリケーション220とリモート・ウェブ・ブラウザ190との間で、暗号化された接続を共同して搬送することができる。
図7は、分散型システム700のブロック図を示す。分散型システム700は、多数のコンピューティング・エンティティにわたって、システム100の構造および/または動作の部分を分散することができる。分散型システム700の例には、限定はせずに、クライアント・サーバ・アーキテクチャ、3層アーキテクチャ、N層アーキテクチャ、密結合またはクラスタ・アーキテクチャ、ピア・ツー・ピア・アーキテクチャ、マスター・スレーブ・アーキテクチャ、共有データベース・アーキテクチャ、および他のタイプの分散型システムが含まれてよい。実施形態は、このコンテキストに限定はされない。
分散型システム700は、クライアント・デバイス710と、サーバ・デバイス750とを含むことができる。一般に、クライアント・デバイス710およびサーバ・デバイス750は、図6を参照して説明されたクライアント・デバイス820と、同じまたは同様であってよい。たとえば、クライアント・デバイス710およびサーバ・デバイス750は、処理コンポーネント730および通信コンポーネント740を各々含むことができ、これらのコンポーネントは、図6を参照して説明された処理コンポーネント630および通信コンポーネント640と、それぞれ、同じまたは同様である。別の例において、デバイス710、750は、通信コンポーネント740を介して、通信信号714を使用して、通信媒体712上で通信することができる。
クライアント・デバイス710は、説明された実施形態に従ってさまざまな方法論を実施するように動作する、1つまたは複数のクライアント・プログラムを含む、または利用することができる。1実施形態において、たとえば、クライアント・デバイス710は、ローカル・メッセージング・アプリケーション220を実装することができる。
サーバ・デバイス750は、説明された実施形態に従ってさまざまな方法論を実施するように動作する、1つまたは複数のサーバ・プログラムを含む、または利用することができる。1実施形態において、たとえば、サーバ・デバイス750は、リモート・ウェブ・サーバ350を実装することができる。
図8は、上記に記載の様々な実施形態を実施するのに適した例示的なコンピューティング・アーキテクチャ800の1実施形態を示す。1つの実施形態では、コンピューティング・アーキテクチャ800は、電子デバイスを備えるか、電子デバイスの一部として実施されることが可能である。電子デバイスの例は、中でも、図1を参照して説明したものを含むことができる。実施形態はこの文脈に限定されない。
本出願において用いられるとき、「システム」および「コンポーネント」という語は、ハードウェア、ハードウェアおよびソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかである、コンピュータに関係したエンティティを指すことを意図され、それらの例が、例示的なコンピューティング・アーキテクチャ800によって提供される。例えば、コンポーネントは、限定ではないが、プロセッサにおいて実行されるプロセス、プロセッサ、ハードディスク・ドライブ、(光学および/または磁気記録媒体の)マルチ記録・ドライブ、オブジェクト、実行ファイル、実行スレッド、プログラムおよび/またはコンピュータであり得る。例示のために、サーバ上で実行されるアプリケーションおよびサーバの双方がコンポーネントであり得る。1つまたは複数のコンポーネントがプロセスおよび/または実行スレッド内に常駐することができ、コンポーネントは、1つのコンピュータ上に局在することができ、および/または2つ以上のコンピュータ間で分散され得る。更に、コンポーネントは、動作を協調させるように、様々なタイプの通信媒体によって互いに通信可能に結合され得る。協調は、情報の一方向または双方向の交換を含むことができる。例えば、コンポーネントは、通信媒体により通信される信号の形態で情報を通信することができる。情報は、様々な信号線に割り当てられる信号として実施され得る。そのような割り当てにおいて、各メッセージは信号である。一方、更なる実施形態は、代替的にデータ・メッセージを用いることができる。そのようなデータ・メッセージは、様々な接続にわたって送信され得る。例示的な接続は、パラレル・インタフェース、シリアル・インタフェースおよびバス・インタフェースを含む。
コンピューティング・アーキテクチャ800は、1つまたは複数のプロセッサ、マルチコア・プロセッサ、コプロセッサ、メモリユニット、チップ・セット、コントローラ、周辺機器、インタフェース、オシレータ、タイミング・デバイス、ビデオ・カード、オーディオ・カード、マルチメディア入出力(I/O)コンポーネント、電源等の様々な一般的なコンピューティング要素を含む。しかしながら、実施形態は、コンピューティング・アーキテクチャ800による実施に限定されない。
図8に示すように、コンピューティング・アーキテクチャ800は、処理ユニット804、システム・メモリ806およびシステム・バス808を備える。処理ユニット804、限定ではないが、AMD(登録商標)プロセッサ、Athlon(登録商標)プロセッサ、Duron(登録商標)プロセッサおよびOpteron(登録商標)プロセッサ;ARM(登録商標)のアプリケーションプロセッサ、組込み型プロセッサおよびセキュアプロセッサ;IBM(登録商標)およびMotorola(登録商標)のDragonBall(登録商標)プロセッサおよびPowerPC(登録商標)プロセッサ;IBMおよびSony(登録商標)のセル・プロセッサ;Intel(登録商標)のCeleron(登録商標)プロセッサ、Core(2)Duo(登録商標)プロセッサ、Itanium(登録商標)プロセッサ、Pentium(登録商標)プロセッサ、Xeon(登録商標)プロセッサおよびXScale(登録商標)プロセッサ;ならびに同様なプロセッサを含む様々な市販のプロセッサのうちの任意のものであり得る。デュアル・マイクロプロセッサ、マルチコア・プロセッサおよび他のマルチプロセッサアーキテクチャも処理ユニット804として用いられることが可能である。
システム・バス808は、限定ではないがシステム・メモリ806を含むシステム・コンポーネントのためのインタフェースを処理ユニット804に提供する。システム・バス808は、多岐にわたる市販のバス・アーキテクチャのうちの任意のものを用いてメモリ・バス(メモリ・コントローラを有するかまたは有しない)、周辺バスおよびローカルバスに更に相互接続することができるいくつかのタイプのバス構造のうちの任意のものとすることができる。インタフェース・アダプタは、スロット・アーキテクチャを介してシステム・バス808に接続することができる。例示的なスロット・アーキテクチャは、限定ではないが、アクセラレーテッド・グラフィックス・ポート(AGP:Accelerated Graphics Port)、カード・バス、(拡張)業界標準アーキテクチャ((E)ISA:(Extended)Industry Standard Architecture)、マイクロ・チャネル・アーキテクチャ(MCA:Micro Channel Architecture)、NuBus、周辺コンポーネント相互接続(拡張)(PCI(X):Peripheral Component Interconnect(Extended))、PCIエクスプレス、パーソナル・コンピュータ・メモリ・カード国際組織(PCMCIA:Personal Computer Memory Card International Association)等を含むことができる。
コンピューティング・アーキテクチャ800は、様々な製造品を含むかまたは実装することができる。製造品は、ロジックを記憶するためのコンピュータ可読記録媒体を含むことができる。コンピュータ可読記録媒体の例は、揮発性メモリまたは不揮発性メモリ、取外し可能または非取外し可能メモリ、消去可能または非消去可能メモリ、書き込み可能または書き換え可能メモリ等を含む、電子データを記憶することが可能な任意の有形媒体を含むことができる。ロジックの例は、ソース・コード、コンパイルされたコード、解釈実行されたコード、実行可能コード、スタティック・コード、ダイナミック・コード、オブジェクト指向コード、視覚コード等の任意の適切なタイプのコードを用いて実施される実行可能なコンピュータ・プログラム命令を含むことができる。実施形態はまた、1つまたは複数のプロセッサによって読出しおよび実行されて、本明細書に記載の動作の実行を可能にすることができる、非一時的コンピュータ可読媒体に含まれるかまたは非一時的コンピュータ可読媒体上にある命令として少なくとも部分的に実施されることが可能である。
システム・メモリ806は、読出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、ダブル・データ・レートDRAM(DDRAM:Double−Data−Rate DRAM)、同期DRAM(SDRAM:synchronous DRAM)、スタティックRAM(SRAM:static RAM)、プログラマブルROM(PROM:programmable ROM)、消去可能なプログラマブルROM(EPROM:erasable programmable ROM)、電気的に消去可能なプログラマブルROM(EEPROM:electrically erasable programmable ROM)、フラッシュ・メモリ、強誘電性ポリマ・メモリ等のポリマ・メモリ、オーボニック・メモリ(ovonic memory)、相変化または強誘電性メモリ、シリコン−酸化物−窒化物−酸化物−シリコン(SONOS:silicon−oxide−nitride−oxide−silicon)メモリ、磁気カードまたは光カード、独立ディスクの冗長アレイ(RAID:Redundant Array of Independent Disks)ドライブ等のデバイスのアレイ、ソリッド・ステート・メモリ・デバイス(例えば、USBメモリ、ソリッド・ステート・ドライブ(SSD:solid state drive)および情報を記憶するのに適した任意の他のタイプの記録媒体等の1つまたは複数の高速メモリユニットの形態の様々なタイプのコンピュータ可読記録媒体を含むことができる。図8に示す例示される実施形態では、システム・メモリ806は、不揮発性メモリ810および/または揮発性メモリ812を含むことができる。基本入出力システム(BIOS:basic input/output system)を不揮発性メモリ810に記憶することができる。
コンピュータ802は、内部(または外部)ハードディスク・ドライブ(HDD)814、取外し可能な磁気ディスク818に対し読出しまたは書き込みを行うための磁気フロッピー・ディスク・ドライブ(FDD)816、および取外し可能な光ディスク822(例えば、CD−ROMまたはDVD)に対し読出しまたは書き込みを行うための光ディスク・ドライブ820を含む1つまたは複数の低速メモリユニットの形態で様々なタイプのコンピュータ可読記録媒体を備えることができる。HDD814、FDD816および光ディスク・ドライブ820は、それぞれHDDインタフェース824、FDDインタフェース826、および光ドライブ・インタフェース828によってシステム・バス808に接続されることが可能である。外部ドライブ実装のためのHDDインタフェース824は、ユニバーサル・シリアル・バス(USB)およびIEEE1394インタフェース技術の少なくとも一方または双方を含むことができる。
ドライブおよび関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令等の揮発性記録および/または不揮発性記録を提供する。例えば、オペレーティング・システム830、1つまたは複数のアプリケーション・プログラム832、他のプログラム・モジュール834およびプログラム・データ836を含む複数のプログラム・モジュールがドライブおよびメモリユニット810、812に記憶され得る。1つの実施形態では、1つまたは複数のアプリケーション・プログラム832、他のプログラム・モジュール834およびプログラム・データ836は、例えば、メッセージング・ウェブ・アクセス・システム100の様々なアプリケーションおよび/またはコンポーネントを含むことができる。
ユーザは、1つまたは複数の有線/無線入力デバイス、例えば、キーボード838、およびマウス840等のポインティング・デバイスを通じてコンピュータ802にコマンドおよび情報を入力することができる。他の入力デバイスは、マイクロフォン、赤外線(IR)リモート・コントロール、無線周波数(RF)リモート・コントロール、ゲーム・パッド、スタイラス・ペン、カード・リーダ、ドングル、指紋リーダ、グローブ、グラフィック・タブレット、ジョイスティック、キーボード、網膜リーダ、タッチ・スクリーン(例えば、容量型、抵抗型等)、トラックボール、トラックパッド、センサ、スタイラス等を含むことができる。これらのおよび他の入力デバイスは、多くの場合に、システム・バス808に結合された入力デバイス・インタフェース842を通じて処理ユニット804に接続されるが、パラレル・ポート、IEEE1394シリアル・ポート、ゲーム・ポート、USBポート、IRインタフェース等の他のインタフェースによって接続されてもよい。
モニタ844または他のタイプの表示デバイスも、ビデオ・アダプタ846等のインタフェースを介してシステム・バス808に接続される。モニタ844は、コンピュータ802に対し内部または外部にあり得る。モニタ844に加えて、コンピュータは通常、スピーカ、プリンタ等の他の周辺出力デバイスを備える。
コンピュータ802は、リモート・コンピュータ848等の1つまたは複数のリモート・コンピュータへの有線および/または無線通信を介して論理接続を用いてネットワーク化された環境において動作することができる。リモート・コンピュータ848は、ワークステーション、サーバ・コンピュータ、ルータ、パーソナル・コンピュータ、ポータブル・コンピュータ、マイクロプロセッサに基づく娯楽機器、ピア・デバイス、または他の共通ネットワーク・ノードであり得、通常、コンピュータ802について記載した要素のうちの多くまたは全てを備えるが、簡潔にするために、メモリ/記録・デバイス850のみが示されている。描かれる論理接続は、ローカル・エリア・ネットワーク(LAN)852および/またはより大きなネットワーク、例えば広域ネットワーク(WAN)854への有線/無線接続を含む。そのようなLANおよびWANネットワーキング環境は、事務所および会社において一般的であり、イントラネット等の、企業規模のコンピュータ・ネットワークを容易にする。これらは全て、グローバル通信ネットワーク、例えばインターネットに接続することができる。
LANネットワーキング環境において用いられるとき、コンピュータ802は、有線および/または無線通信ネットワーク・インタフェースまたはアダプタ856を通じてLAN852に接続される。アダプタ856は、LAN852への有線および/または無線通信を容易にすることができる。LAN852も、アダプタ856の無線機能と通信するために配置された無線アクセス・ポイントを含むことができる。
WANネットワーキング環境において用いられるとき、コンピュータ802は、モデム858を含むことができるか、またはWAN854の通信サーバに接続されるか、またはインターネット等によってWAN854を介して、通信を確立する他の手段を有する。内部または外部の、有線および/または無線デバイスであり得るモデム858は、入力デバイス・インタフェース842を介してシステム・バス808に接続する。ネットワーク化された環境では、コンピュータ802について述べられたプログラム・モジュールまたはその一部分をリモート・メモリ/記録・デバイス850に記憶することができる。示されるネットワーク接続は例示であり、コンピュータ間で通信リンクを確立する他の手段が用いられてもよいことが理解されよう。
コンピュータ802は、IEEE802系規格を用いて、無線通信(例えば、IEEE802.5オーバー・ザ・エアー変調技法)において動作可能に配置される無線デバイス等の、有線および無線デバイスまたはエンティティと通信するように動作可能である。これは、少なくとも、中でも、Wi−Fi(または無線フィデリティ)、WiMaxおよびBluetooth(商標)の無線通信技術を含む。このため、この通信は従来のネットワークと同じように予め定義された通信構造であり得るか、または、単に少なくとも2つの装置の間におけるアドホック通信であり得る。Wi−Fiネットワークは、安全で信頼性が高く高速なワイヤレス接続を提供するIEEE802.5x(a、b、g、n等)と称される無線技術を用いる。Wi−Fiネットワークはコンピュータを互いに、インターネットに、および有線ネットワーク(IEEE802.3関連の媒体および機能を用いる)に接続するのに用いられ得る。
図9は上記の様々な実施形態を実施するのに適した例示的な通信アーキテクチャ900のブロック図を示す。この通信アーキテクチャ900は、トランスミッタ、レシーバ、トランシーバ、無線通信装置、ネットワーク・インタフェース、ベースバンド・プロセッサ、アンテナ、増幅器、フィルタ、電源等の様々な一般的な通信要素を含む。しかしながら、本発明の実施形態は通信アーキテクチャ900による実施に限定されない。
図9に示されるように、通信アーキテクチャ900は1つまたは複数のクライアント902およびサーバ904を含む。クライアント902はクライアント・デバイス810を実装することができる。サーバ904は、メッセージング・サーバ320またはウェブ・サーバ・デバイス等のサーバ・デバイスを実装することができる。クライアント902およびサーバ904は、1つまたは複数のそれぞれのクライアント・データ・ストア908およびサーバ・データ・ストア910に動作可能に接続されている。これらは、クッキーおよび/または関連付けられた文脈情報等のそれぞれのクライアント902およびサーバ904にローカルな情報を記憶するために利用されることが可能である。
クライアント902およびサーバ904は通信フレームワーク906を用いて互いの間で情報を通信することができる。通信フレームワーク906は任意の既知の通信技法およびプロトコルを実装することができる。通信フレームワーク906は、パケット交換網(例えば、インターネット等の公衆ネットワーク、社内イントラネット等のプライベート・ネットワーク等)、回線交換網(例えば、公衆交換電話網)、またはパケット交換網と回線交換網との組合せ(適切なゲートウェイおよびトランスレータを備える)として実装されることが可能である。
通信フレームワーク906は、通信ネットワークを受け入れ、通信ネットワークと通信し、通信ネットワークに接続するように構成される様々なネットワーク・インタフェースを実施することができる。ネットワーク・インタフェースは、特殊な形態の入出力インタフェースと見なされ得る。ネットワーク・インタフェースは、限定ではないが、直接接続、イーサネット(例えば、シック、シン、ツイスト・ペア10/100/1000BaseT等)、トークン・リング、無線ネットワーク・インタフェース、セルラ・ネットワーク・インタフェース、IEEE802.11a−xネットワーク・インタフェース、IEEE802.16ネットワーク・インタフェース、IEEE802.20ネットワーク・インタフェース等を含む接続プロトコルを用いることができる。更に、様々な通信ネットワークタイプと関わるために複数のネットワーク・インタフェースが用いられ得る。例えば、ブロードキャスト、マルチキャストおよびユニキャスト・ネットワークによる通信を可能にするために、複数のネットワーク・インタフェースが用いられることが可能である。処理要件がより高い速度およびより多くの容量を指示する場合、クライアント902およびサーバ904によって必要とされる通信帯域幅をプールし、負荷分散し、他の形で増大させるために、分散ネットワーク・コントローラ・アーキテクチャが同様に利用されることが可能である。通信ネットワークは、限定ではないが、直接相互接続、セキュア化されたカスタム接続、プライベート・ネットワーク(例えば、社内イントラネット)、公衆ネットワーク(例えば、インターネット)、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネット上のノードとして動作しているミッション(OMNI:Operating Missions as Nodes on the Internet)、広域ネットワーク(WAN)、無線ネットワーク、セルラ・ネットワークおよび他の通信ネットワークを含む有線および/または無線ネットワークのうちの任意の1つまたはそれらの組合せであり得る。
図10は、メッセージング・ウェブ・アクセス・システム100のようなマルチキャリアOFDMシステムで使用するためのデバイス1000の実施形態を示している。デバイス1000は、例えば、メッセージング・ウェブ・アクセス・システム100を参照して説明したようなソフトウェアコンポーネント1060、および/または論理回路1030を実装することができる。論理回路1030は、メッセージング・ウェブ・アクセス・システム100について説明したオペレーションを実行するための物理回路を含み得る。図10に示すように、デバイス1000は、無線インタフェース1010と、ベースバンド回路1020と、コンピューティングプラットフォーム1030とを備え得るが、ただし実施形態は、この構成に限定されない。
デバイス1000は、完全に単一のデバイス内にあるなどの単一のコンピューティング・エンティティにおいて、メッセージング・ウェブ・アクセス・システム100および/または論理回路1030について、その構造および/またはオペレーションの一部またはすべてを具体化することができる。あるいは、デバイス1000は、クライアント・サーバアーキテクチャ、3層アーキテクチャ、N層アーキテクチャ、密結合またはクラスタアーキテクチャ、ピアツーピアアーキテクチャ、マスタ・スレーブアーキテクチャ、共有データベースアーキテクチャ、および他のタイプの分散型システムのような分散システムアーキテクチャを用いて、メッセージング・ウェブ・アクセス・システム100および/または論理回路1030について、その構造および/またはオペレーションのいくつかの部分を複数のコンピューティング・エンティティに分散させることができる。実施形態は、この文脈に限定されない。
一実施形態では、無線インタフェース1010は、(例えば、相補型符号変調(CCK)および/または直交周波数分割多重(OFDM)シンボルを含む)シングルキャリアまたはマルチキャリア変調信号を送信および/または受信するように構成されたコンポーネントもしくはコンポーネントの組み合わせを有し得るが、ただし実施形態は、いずれかの特定の空中(over−the−air)インタフェースまたは変調方式に限定されない。無線インタフェース1010は、例えば、受信機1012、送信機1016、および/または周波数シンセサイザ1014を有し得る。無線インタフェース1010は、バイアスコントロール、水晶発振器、および/または1つ以上のアンテナ1018を有し得る。他の実施形態では、無線インタフェース1010は、必要に応じて、外部の電圧制御発振器(VCO)、弾性表面波フィルタ、中間周波数(IF)フィルタ、および/またはRFフィルタを使用することができる。可能なRFインタフェース構成は多様であるため、その広範な説明は省略する。
ベースバンド回路1020は、受信信号および/または送信信号を処理するために無線インタフェース1010と通信することができ、例えば、受信信号をダウンコンバートするためのアナログ・デジタル変換器1022、信号を送信用にアップコンバートするためのデジタル・アナログ変換器1024を有し得る。さらに、ベースバンド回路1020は、個々の受信/送信信号のPHYリンク層処理のためのベースバンドまたは物理層(PHY)処理回路1026を有し得る。ベースバンド回路1020は、例えば、メディアアクセス制御(MAC)/データリンク層処理のための処理回路1028を有し得る。ベースバンド回路1020は、例えば、1つ以上のインタフェース1034を介した処理回路1028および/またはコンピューティングプラットフォーム1030による通信のためのメモリコントローラ1032を有し得る。
いくつかの実施形態では、PHY処理回路1026は、無線フレームのような通信フレームを構築および/または分解するために、バッファメモリのような追加回路と組み合わせて、フレーム構築および/または検出モジュールを含み得る。代替的または追加的に、MAC処理回路1028は、これらの機能のうちのいくつかの処理を共有するか、またはこれらのプロセスをPHY処理回路1026とは独立に実行することができる。
コンピューティングプラットフォーム1030は、デバイス1000にコンピューティング機能を提供し得る。図示のように、コンピューティングプラットフォーム1030は、処理コンポーネント1040を有し得る。デバイス1000は、ベースバンド回路1020に対して追加的または代替的に、処理コンポーネント1040を用いて、メッセージング・ウェブ・アクセス・システム100および/または論理回路1030について、その処理オペレーションまたはロジックを実行することができる。処理コンポーネント1040(および/またはPHY 1026および/またはMAC 1028)は、各種ハードウェア要素、ソフトウェア要素、またはその両方の組み合わせを含み得る。ハードウェア要素の例として、デバイス、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサ回路、回路素子(例えば、トランジスタ、抵抗器、キャパシタ、インダクタなど)、集積回路、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含むことができる。ソフトウェア要素の例として、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、ソフトウェア開発プログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース(API)、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、またはその任意の組み合わせを含むことができる。ハードウェア要素および/またはソフトウェア要素を用いて実施形態を実現するかどうかの判断は、所望の計算速度、電力レベル、熱耐性、処理サイクルバジェット、入力データレート、出力データレート、メモリ資源、データバス速度、および他の設計制約または性能制約など、所与のインプリメンテーションで要求される任意の数のファクタに応じて異なる判断となり得る。
コンピューティングプラットフォーム1030は、さらに、他のプラットフォームコンポーネント1050を有し得る。他のプラットフォームコンポーネント1050は、1つ以上のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インタフェース、発振器、タイミング装置、ビデオカード、オーディオカード、マルチメディア入力/出力(I/O)コンポーネント(例えば、デジタルディスプレイ)、パワーサプライなどのような、一般的な計算要素を含む。メモリユニットの例として、限定するものではないが、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、ダブルデータレートDRAM(DDRAM)、同期DRAM(SDRAM)、スタティックRAM(SRAM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、強誘電性ポリマーメモリのようなポリマーメモリ、オボニックメモリ、相変化または強誘電体メモリ、シリコン/酸化膜/窒化膜/酸化膜/シリコン(SONOS)メモリ、磁気または光カード、独立ディスクの冗長アレイ(RAID)ドライブのようなデバイスアレイ、ソリッドステートメモリデバイス(例えば、USBメモリ、ソリッドステートドライブ(SSD))、および情報を保存するのに適した他の任意のタイプの記憶媒体のような、1つ以上のより高速のメモリユニットの形態の各種タイプのコンピュータ可読およびマシン可読記憶媒体を含むことができる。
デバイス1000は、例えば、ウルトラモバイルデバイス、モバイルデバイス、固定デバイス、マシンツーマシン(M2M)デバイス、パーソナルデジタルアシスタント(PDA)、モバイルコンピューティングデバイス、スマートフォン、電話機、デジタル電話機、セルラ電話機、ユーザ装置、電子書籍リーダ、ハンドセット、一方向ページャ、双方向ページャ、メッセージング装置、コンピュータ、パーソナルコンピュータ(PC)、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ、サーバ、サーバアレイまたはサーバファーム、ウェブサーバ、ネットワークサーバ、インターネットサーバ、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、スーパーコンピュータ、ネットワークアプライアンス、ウェブアプライアンス、分散コンピューティングシステム、マルチプロセッサシステム、プロセッサベースのシステム、家電機器、プログラマブル家電機器、ゲーム機、テレビ、デジタルテレビ、セットトップボックス、ワイヤレスアクセスポイント、基地局、ノードB、発展型ノードB(eNB)、加入者局、モバイル加入者センタ、無線ネットワークコントローラ、ルータ、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、またはその組み合わせであり得る。従って、本明細書に記載のデバイス1000の機能および/または具体的な構成は、要求に応じて適宜、デバイス1000の種々の実施形態に含むことも、または省くこともできる。いくつかの実施形態では、デバイス1000は、3GPP LTE仕様および/またはWMAN用のIEEE1002.16規格および/または本明細書で引用される他の広帯域ワイヤレスネットワークの1つ以上に関連したプロトコルおよび周波数に準拠するように構成することができるが、実施形態は、この点に関して限定されない。
デバイス1000の実施形態は、単入力単出力(SISO)アーキテクチャを用いて実現することができる。一方、いくつかの実現形態では、ビームフォーミングまたは空間分割多重アクセス(SDMA)のための適応アンテナ技術、および/またはMIMO通信技術を用いた送信および/または受信用のマルチアンテナ(例えば、アンテナ1018)を備えることができる。
デバイス1000のコンポーネントおよび機能は、ディスクリート回路、特定用途向け集積回路(ASIC)、論理ゲート、および/またはシングルチップアーキテクチャの任意の組み合わせを用いて実装することができる。さらに、デバイス1000の機能は、必要に応じて適宜、マイクロコントローラ、プログラマブルロジックアレイ、および/またはマイクロプロセッサ、またはその任意の組み合わせを用いて実装することができる。なお、本明細書において、ハードウェア、ファームウェア、および/またはソフトウェア要素を、「ロジック」または「回路」と総称または個称する場合があるということに留意すべきである。
図10のブロック図に示す例示的なデバイス1000は、多くの可能性のある実現形態の1つの機能的説明例を表し得るということは理解されるべきである。従って、添付の図面に示す機能ブロックの分割、欠落、または組み込みは、必ずしも、実施形態における、それらの機能を実装するためのハードウェアコンポーネント、回路、ソフトウェア、および/または要素の分割、欠落、または組み込みを推測させるものではない。 コンピュータにより実行される方法は、リモート・ウェブ・ブラウザがメッセージング・アプリケーションからメッセージング更新を受信するための要求を、リモート・ウェブ・ブラウザから、モバイル・デバイス上のメッセージング・アプリケーションで受信する工程と、メッセージング・アプリケーションとリモート・ウェブ・ブラウザとの間に暗号化された接続を確立する工程と、メッセージング更新をメッセージング・アプリケーションで受信する工程と、メッセージング更新をメッセージング・アプリケーションからリモート・ウェブ・ブラウザに送信する工程とを含むことができる。
コンピュータにより実行される方法は、メッセージング・アプリケーションがメッセージング更新を受信することに応答して、メッセージング更新が自動的に送信されることをさらに含むことができる。
コンピュータにより実行される方法は、ウェブ・サーバとリモート・ウェブ・ブラウザとの間に暗号化された接続がある状態で、モバイル・デバイス上のウェブ・サーバを始動する工程をさらに含むことができる。
コンピュータにより実行される方法は、暗号化された接続がリモート・ウェブ・サーバを介して送信されることをさらに含むことができる。
コンピュータにより実行される方法は、メッセージング・アプリケーションが、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられており、リモート・ウェブ・サーバが、今後のウェブ・ブラウザ・セッションのために第1のユーザ・アカウントについてのメッセージング状態をキャッシュするように動作することをさらに含むことができる。
コンピュータにより実行される方法は、リモート・ウェブ・サーバ上でキャッシュされたメッセージング状態へのアクセスが、モバイル・デバイス上のメッセージング・アプリケーションによって制御されることをさらに含むことができる。
コンピュータ実装方法は、リモート・ウェブ・サーバによりリモート・ウェブ・ブラウザを認可解除する認可解除命令を、リモート・ウェブ・サーバに送信する工程をさらに含むことができる。
コンピュータ実装方法は、メッセージング・アプリケーションが、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられており、メッセージング更新が、第2のモバイル・デバイス上の第2のメッセージング・アプリケーションから受信され、第2のメッセージング・アプリケーションが、メッセージング・サービスによる第2のユーザ・アカウントに関連付けられており、メッセージング更新が、第1のユーザ・アカウントと第2のユーザ・アカウントとの間のメッセージング会話におけるメッセージを含むことをさらに含むことができる。
コンピュータ実装方法は、メッセージが第1のユーザ・アカウントから第2のユーザ・アカウントに送られる、またはメッセージが第2のユーザ・アカウントから第1のユーザ・アカウントに送られることをさらに含むことができる。
コンピュータ実装方法は、メッセージが、テキスト・セグメント、画像、映像セグメント、およびオーディオ・セグメントのうちの1つまたは複数を含むことをさらに含むことができる。
コンピュータ実装方法は、メッセージが、メディア・セグメントを含み、メディア・セグメントが、映像セグメントおよびオーディオ・セグメントのうちの1つを含むことをさらに含むことができ、メッセージング更新をリモート・ウェブ・ブラウザに送信する前に、メディア・セグメントを、リモート・ウェブ・ブラウザによってサポートされるメディア・フォーマットにコード変換する工程をさらに含むことができる。
コンピュータ実装方法は、メッセージング・アプリケーションが、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられていることをさらに含むことができ、第1のユーザ・アカウントに関連付けられているメッセージング状態を、モバイル・デバイス上のローカル・ストアから取り出す工程と、メッセージング状態をリモート・ウェブ・ブラウザに送信する工程とをさらに含むことができる。
コンピュータ実装方法は、メッセージング更新が、第1のユーザ・アカウントと第2のユーザ・アカウントとの間のメッセージング会話に対応し、メッセージング状態が、第1のユーザ・アカウントと第2のユーザ・アカウントとの間のメッセージング会話の履歴を含むことをさらに含むことができる。
コンピュータ実装方法は、メッセージング状態が、第1のユーザ・アカウントについての連絡先リストの少なくとも一部分を含むことをさらに含むことができる。
コンピュータ実装方法は、第1のユーザ・アカウントについての連絡先リストを取り出す工程と、連絡先リストにおける連絡先のメッセージング・アクティビティに基づいて、連絡先リストの一部分を決定する工程とをさらに含むことができる。
コンピュータ実装方法は、暗号化された接続がピア・ツー・ピア・ネットワーク接続を介して送信されることをさらに含むことができる。
コンピュータ実装方法は、ピア・ツー・ピア・ネットワーク接続が、ブルートゥース接続およびWi−Fi接続のうちの1つを含むことをさらに含むことができる。
コンピュータ実装方法は、リモート・ウェブ・ブラウザによって表示されるマシン可読光ラベルを、モバイル・デバイスのカメラ・デバイスを使用して取り込む工程と、マシン可読光ラベルからウェブ・セッション識別子を抽出する工程と、ウェブ・セッション識別子に基づいて、暗号化された接続の確立のためにリモート・ウェブ・ブラウザを識別する工程とをさらに含むことができる。
コンピュータ実装方法は、メッセージング・アプリケーションが、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられていることをさらに含むことができ、メッセージング・サービスの第2のユーザ・アカウントとのメッセージング会話に関連付けられている送出メッセージを、暗号化された接続上でリモート・ウェブ・ブラウザから受信する工程と、送出メッセージを、第2のユーザ・アカウントに関連付けられている第2のメッセージング・アプリケーションに送信する工程とをさらに含むことができる。
コンピュータ実装方法は、送出メッセージの確認応答を第2のメッセージング・アプリケーションから受信する工程と、送出メッセージの確認応答に従って、リモート・ウェブ・ブラウザによる送出メッセージを更新する工程とをさらに含むことができる。
コンピュータ実装方法は、メッセージング更新をリモート・ウェブ・ブラウザに送信する前に、メッセージング更新にシーケンス番号を割り当てる工程をさらに含むことができる。
コンピュータ実装方法は、リモート・ウェブ・ブラウザに認証情報を送信する工程と、リモート・ウェブ・ブラウザがメッセージング・アプリケーションからメッセージング更新を再び受信するための第2の要求を、リモート・ウェブ・ブラウザから、モバイル・デバイス上のメッセージング・アプリケーションで受信する工程と、認証情報を使用して、メッセージング・アプリケーションとリモート・ウェブ・ブラウザとの間に第2の暗号化された接続を確立する工程とをさらに含むことができる。
装置は、モバイル・デバイス上のプロセッサ回路と、メッセージング・アプリケーションとを含むことができ、メッセージング・アプリケーションは、リモート・ウェブ・ブラウザがメッセージング・アプリケーションからメッセージング更新を受信するための要求を、リモート・ウェブ・ブラウザから受信する工程、メッセージング・アプリケーションとリモート・ウェブ・ブラウザとの間に暗号化された接続を確立する工程、メッセージング更新をメッセージング・アプリケーションで受信する工程、およびメッセージング更新をメッセージング・アプリケーションからリモート・ウェブ・ブラウザに送信する工程を行うように、プロセッサ回路上で動作する。装置は、本明細書で説明されたコンピュータ実装方法のいずれかを実装するように動作してよい。
少なくとも1つのコンピュータ可読記憶媒体は、実行されるとき、システムに、本明細書で説明されたコンピュータ実装方法のうちのいずれかを実施させる命令を含むことができる。
いくつかの実施形態は、「1つの実施形態」または「実施形態」という表現と、それらの派生語とを用いて説明され得る。これらの用語は、実施形態に関して説明される特定の特徴、構造または特性が少なくとも1つの実施形態に含まれることを意味している。本明細書の様々な箇所に現れる「1つの実施形態において」というフレーズは、必ずしも全てが同じ実施形態を指しているわけではない。更に、いくつかの実施形態は、「結合された」および「接続された」という表現と、それらの派生語とを用いて説明され得る。これらの表現は必ずしも互いの同義語として意図されているわけではない。例えば、いくつかの実施形態は、「接続された」および/または「結合された」という表現を用いることにより、2つ以上の要素が直接物理的にまたは電気的に相互接触していることを示すように説明され得る。一方、「結合された」という用語は、2つ以上の要素が互いに直接接触していないが、それでも互いに協働またはインタラクトしていることを意味する場合もある。
本明細書において用いられる表記および専門用語を全体的に参照すると、本明細書における詳細な説明は、コンピュータまたはコンピュータのネットワーク上で実行されるプログラム・プロシージャの観点で表され得る。これらの手続き的(procedural)記載および表現は、当業者によって、当該技術分野における他の当業者に自身の研究の本質を最も効果的に伝えるために用いられている。
プロシージャとは、ここでは、また一般的に、所望の結果をもたらすオペレーションの首尾一貫したシーケンスであると考えられる。これらのオペレーションは、物理的量の物理的操作を必要とするものである。必須ではないが通例、これらの量は、記憶、転送、組合せ、比較および他の形で操作されることが可能な電気信号、磁気信号または光信号の形態をとる。場合によっては、主に一般的用法の理由から、これらの信号を、ビット、値、要素、シンボル、文字、語、数等と呼ぶことが好都合であることがわかっている。しかしながら、これらの用語および同様の用語は全て適切な物理的量に関連付けられ、これらの量に適用される好都合なラベルにすぎないことに留意されたい。
更に、実行される操作は、多くの場合、人間のオペレータによって実行される知的オペレーションに一般的に関連付けられる、追加または比較等の用語で参照される。1つまたは複数の実施形態の一部を形成する、本明細書に説明されるオペレーションのいずれにおいても、人間のオペレータのそのような能力は必要でないか、ほとんどの場合に望ましくない。むしろ、オペレーションは機械オペレーションである。様々な実施形態のオペレーションを実行するための有用な機械は、汎用デジタル・コンピュータまたは同様のデバイスを含む。
様々な実施形態は、これらのオペレーションを実行するための装置またはシステムにも関する。この装置は、必要とされる目的のために特に構築されることが可能であるか、またはコンピュータに記憶されるコンピュータ・プログラムによって選択的にアクティベートまたは再構成される汎用コンピュータを含むことができる。本明細書において提示されるプロシージャは、特定のコンピュータまたは他の装置に本質的に関係しない。様々な汎用機械は、本明細書における教示に関連して書かれたプログラムと共に用いられ得るか、または、必要とされる方法ステップを実行する、より特殊な装置を構築することが好都合であるとわかる場合がある。様々なこれらの機械のために必要とされる構造は、与えられる説明から明らかとなるであろう。
本開示の要約書は、読み手が技術的開示の本質を迅速に理解できるようにするために提供されていることを強調しておく。要約書は、特許請求の範囲の範囲または意味を解釈または限定することに用いられないという理解のもとに提出されている。更に、上記した「発明を実施するための形態」においては、開示を効率化するために様々な特徴がまとめて単一の実施形態にされていることを見てとることができる。このような開示方法は、特許請求される実施形態が各請求項に明示的に記された特徴以外のものを必要とする意図を表していると解釈されるべきではない。むしろ、以下の特許請求の範囲が表しているように、本発明の主題は、開示されている単一の実施形態の全特徴よりも少ない特徴にある。このため、以下の特許請求の範囲は本明細書において「発明を実施するための形態」に組み込まれ、各請求項は独立した1つの実施形態に基づく。添付の特許請求の範囲において「including(含む、備える)」および「in which」という表現はそれぞれ、平易な英語に相当する表現である「comprising(含む、備える)」および「wherein」として用いられている。また、「第1の」、「第2の」、「第3の」等の用語は単にラベルとして用いられており、それらの対象物に数的限定を課すことを意図したものではない。
上記で説明したものは、開示されているアーキテクチャの例を含む。当然ながら、コンポーネントおよび/または方法の全ての考え得る組合せを記載することは不可能であるが、当業者であれば、多くの更なる組合せおよび置き換えが可能であることを認識することができる。したがって、新規のアーキテクチャは、添付の特許請求の範囲の趣旨および範囲内にある全ての変化、変更および変形を包含することが意図される。

Claims (17)

  1. コンピュータにより実行される方法であって、
    リモート・ウェブ・ブラウザで発信される要求をモバイル・デバイス上のメッセージング・アプリケーションに送信する工程であって、前記要求は、前記リモート・ウェブ・ブラウザがメッセージング・サービスによる第1のユーザ・アカウントに関連付けられているメッセージング・アプリケーションからのメッセージング更新を受信することを要求するものである、要求を送信する工程と、
    ウェブ・サーバで、前記第1のユーザ・アカウントについてのメッセージング状態をキャッシュする工程であって、前記ウェブ・サーバ上でキャッシュされた前記メッセージング状態へのアクセスは、前記モバイル・デバイス上のメッセージング・アプリケーションによって制御される、前記キャッシュする工程と、
    前記メッセージング・アプリケーションと前記リモート・ウェブ・ブラウザとの間に暗号化された接続を確立する工程であって、
    モバイル・デバイスのローカル・メッセージング・アプリケーションとウェブ・サーバとの間に第1の暗号化された接続を確立すること、及び
    リモート・ウェブ・ブラウザと前記ウェブ・サーバとの間に第2の暗号化された通信セッションを確立すること
    を含む、前記暗号化された接続を確立する工程と、
    前記ウェブ・サーバで、前記メッセージング・アプリケーションからメッセージ更新を受信する工程と、
    前記キャッシュで前記メッセージング更新をキャッシュする工程と、
    前記ウェブ・サーバによって、前記メッセージング更新を前記リモート・ウェブ・ブラウザに送信する工程と
    を含む、方法。
  2. 前記暗号化された接続が、前記ウェブ・サーバを介して送信される、請求項1に記載の方法。
  3. 前記メッセージング・アプリケーションが、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられ、前記メッセージング更新が、該第1のユーザ・アカウントと第2のユーザ・アカウントとの間のメッセージング会話に対応し、
    前記方法が、
    該第1のユーザ・アカウントに関連付けられているメッセージング状態を、前記モバイル・デバイス上のローカル・ストアから取り出す工程であって、該メッセージング状態が、該第1のユーザ・アカウントについての連絡先リストの少なくとも一部分を含み、該メッセージング状態が、該第1のユーザ・アカウントと該第2のユーザ・アカウントとの間のメッセージング会話の履歴を含む、前記取り出す工程と、
    該メッセージング状態を前記リモート・ウェブ・ブラウザに送信する工程と
    をさらに含む、請求項1に記載の方法。
  4. 前記第1のユーザ・アカウントについての連絡先リストを取り出す工程と、
    前記連絡先リストにおける連絡先のメッセージング・アクティビティに基づいて、前記連絡先リストの前記一部分を決定する工程と
    をさらに含む、請求項3に記載の方法。
  5. 前記リモート・ウェブ・ブラウザによって表示されるマシン可読光ラベルを、前記モバイル・デバイスのカメラ・デバイスを使用して取り込む工程と、
    該マシン可読光ラベルからウェブ・セッション識別子を抽出する工程と、
    該ウェブ・セッション識別子に基づいて、前記暗号化された接続の確立のために前記リモート・ウェブ・ブラウザを識別する工程と
    をさらに含む、請求項1に記載の方法。
  6. 前記メッセージング・アプリケーションが、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられ、
    前記方法が、
    該メッセージング・サービスの第2のユーザ・アカウントとのメッセージング会話に関連付けられている送出メッセージを、前記暗号化された接続上で前記リモート・ウェブ・ブラウザから受信する工程と、
    該送出メッセージを、該第2のユーザ・アカウントに関連付けられている第2のメッセージング・アプリケーションに送信する工程と
    をさらに含む、請求項1に記載の方法。
  7. 装置であって、
    プロセッサ回路と、
    前記プロセッサ回路上で動作可能なウェブ・サーバと
    を備え、前記ウェブ・サーバは、リモート・ウェブ・ブラウザ発信の要求をモバイル・デバイス上のメッセージング・アプリケーションに送信し、前記リモート・ウェブ・ブラウザがメッセージング・サービスによる第1のユーザ・アカウントに関連付けられているメッセージング・アプリケーションからのメッセージング更新を受信することを要求するものであり、
    前記ウェブ・サーバで、前記第1のユーザ・アカウントについてのメッセージング状態をキャッシュし、前記ウェブ・サーバ上でキャッシュされた前記メッセージング状態へのアクセスは、前記モバイル・デバイス上のメッセージング・アプリケーションによって制御され、
    モバイル・デバイスのローカル・メッセージング・アプリケーションとウェブ・サーバとの間に第1の暗号化された接続を確立すること、及び、リモート・ウェブ・ブラウザと前記ウェブ・サーバとの間に第2の暗号化された通信セッションを確立することを含み、前記メッセージング・アプリケーションと前記リモート・ウェブ・ブラウザとの間に暗号化された接続を確立し、
    前記ウェブ・サーバで、前記メッセージング・アプリケーションからメッセージ更新を受信し、
    前記キャッシュで前記メッセージング更新をキャッシュし、
    前記ウェブ・サーバから、前記メッセージング更新を前記リモート・ウェブ・ブラウザに送信する、装置。
  8. 前記暗号化された接続が、前記ウェブ・サーバを介して送信される、請求項7に記載の装置。
  9. 前記メッセージング・アプリケーションが、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられ、
    前記メッセージング更新が、該第1のユーザ・アカウントと第2のユーザ・アカウントとの間のメッセージング会話に対応し、
    前記メッセージング・アプリケーションがさらに、
    該第1のユーザ・アカウントに関連付けられているメッセージング状態を、前記モバイル・デバイス上のローカル・ストアから取り出す工程であって、該メッセージング状態が、該第1のユーザ・アカウントについての連絡先リストの少なくとも一部分を含み、該メッセージング状態が、該第1のユーザ・アカウントと該第2のユーザ・アカウントとの間のメッセージング会話の履歴を含む、前記取り出す工程と、
    該メッセージング状態を前記リモート・ウェブ・ブラウザに送信する工程と、を行うように動作する、請求項7に記載の装置。
  10. 前記メッセージング・アプリケーションがさらに、
    前記第1のユーザ・アカウントについての連絡先リストを取り出す工程と、
    前記連絡先リストにおける連絡先のメッセージング・アクティビティに基づいて、前記連絡先リストの前記一部分を決定する工程と、を行うように動作する、請求項9に記載の装置。
  11. 前記メッセージング・アプリケーションがさらに、
    前記リモート・ウェブ・ブラウザによって表示されるマシン可読光ラベルを、前記モバイル・デバイスのカメラ・デバイスを使用して取り込む工程と、
    該マシン可読光ラベルからウェブ・セッション識別子を抽出する工程と、
    該ウェブ・セッション識別子に基づいて、前記暗号化された接続の確立のために前記リモート・ウェブ・ブラウザを識別する工程と、を行うように動作する、請求項7に記載の装置。
  12. 前記メッセージング・アプリケーションが、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられ、
    前記メッセージング・アプリケーションがさらに、
    該メッセージング・サービスの第2のユーザ・アカウントとのメッセージング会話に関連付けられている送出メッセージを、前記暗号化された接続上で前記リモート・ウェブ・ブラウザから受信する工程と、
    該送出メッセージを、該第2のユーザ・アカウントに関連付けられている第2のメッセージング・アプリケーションに送信する工程と、を行うように動作する、請求項7に記載の装置。
  13. 実行されるとき、システムに、
    リモート・ウェブ・ブラウザで発信される要求をモバイル・デバイス上のメッセージング・アプリケーションに送信する工程であって、前記要求は、前記リモート・ウェブ・ブラウザがメッセージング・サービスによる第1のユーザ・アカウントに関連付けられているメッセージング・アプリケーションからのメッセージング更新を受信することを要求するものである、要求を送信する工程と、
    ウェブ・サーバで、前記第1のユーザ・アカウントについてのメッセージング状態をキャッシュする工程であって、前記ウェブ・サーバ上でキャッシュされた前記メッセージング状態へのアクセスは、前記モバイル・デバイス上のメッセージング・アプリケーションによって制御される、前記キャッシュする工程と、
    前記メッセージング・アプリケーションと前記リモート・ウェブ・ブラウザとの間に暗号化された接続を確立する工程であって、
    モバイル・デバイスのローカル・メッセージング・アプリケーションとウェブ・サーバとの間に第1の暗号化された接続を確立すること、及び
    リモート・ウェブ・ブラウザと前記ウェブ・サーバとの間に第2の暗号化された通信セッションを確立すること
    を含む、前記暗号化された接続を確立する工程と、
    前記ウェブ・サーバで、前記メッセージング・アプリケーションからメッセージ更新を受信する工程と、
    前記キャッシュで前記メッセージング更新をキャッシュする工程と、
    前記ウェブ・サーバによって、前記メッセージング更新を前記リモート・ウェブ・ブラウザに送信する工程と
    を行わせる命令を備える少なくとも1つのコンピュータ可読記憶媒体。
  14. 前記暗号化された接続が、リモート・ウェブ・サーバを介して送信される、請求項13に記載の少なくとも1つのコンピュータ可読記憶媒体。
  15. 前記メッセージング・アプリケーションが、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられ、前記メッセージング更新が、該第1のユーザ・アカウントと第2のユーザ・アカウントとの間のメッセージング会話に対応し、
    実行されるとき、システムに、
    該第1のユーザ・アカウントについての連絡先リストを取り出す工程、
    該連絡先リストにおける連絡先のメッセージング・アクティビティに基づいて、該連絡先リストの一部分を決定する工程、
    該第1のユーザ・アカウントに関連付けられているメッセージング状態を、前記モバイル・デバイス上のローカル・ストアから取り出す工程であって、該メッセージング状態が、該第1のユーザ・アカウントについての連絡先リストの少なくとも一部分を含み、該メッセージング状態が、該第1のユーザ・アカウントと該第2のユーザ・アカウントとの間のメッセージング会話の履歴を含む、前記取り出す工程、
    該メッセージング状態を前記リモート・ウェブ・ブラウザに送信する工程
    を行わせる命令をさらに備える、請求項13に記載の少なくとも1つのコンピュータ可読記憶媒体。
  16. 実行されるとき、システムに、
    前記リモート・ウェブ・ブラウザによって表示されるマシン可読光ラベルを、前記モバイル・デバイスのカメラ・デバイスを使用して取り込む工程と、
    該マシン可読光ラベルからウェブ・セッション識別子を抽出する工程と、
    該ウェブ・セッション識別子に基づいて、前記暗号化された接続の確立のために前記リモート・ウェブ・ブラウザを識別する工程と
    を行わせる命令をさらに備える、請求項13に記載の少なくとも1つのコンピュータ可読記憶媒体。
  17. 前記メッセージング・アプリケーションが、メッセージング・サービスによる第1のユーザ・アカウントに関連付けられ、
    実行されるとき、システムに、
    該メッセージング・サービスの第2のユーザ・アカウントとのメッセージング会話に関連付けられている送出メッセージを、暗号化された接続上で前記リモート・ウェブ・ブラウザから受信する工程と、
    該送出メッセージを、該第2のユーザ・アカウントに関連付けられている第2のメッセージング・アプリケーションに送信する工程と
    を行わせる命令をさらに備える、請求項13に記載の少なくとも1つのコンピュータ可読記憶媒体。
JP2019087561A 2015-01-13 2019-05-07 モバイル・デバイス上のアプリケーションからリモート・ウェブ・クライアントを扱うための技法 Active JP6594579B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562102815P 2015-01-13 2015-01-13
US62/102,815 2015-01-13
US14/676,881 US9992258B2 (en) 2015-01-13 2015-04-02 Techniques for managing a remote web client from an application on a mobile device
US14/676,881 2015-04-02

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017536935A Division JP6526208B6 (ja) 2015-01-13 2015-04-03 モバイル・デバイス上のアプリケーションからリモート・ウェブ・クライアントを扱うための技法

Publications (2)

Publication Number Publication Date
JP2019149193A JP2019149193A (ja) 2019-09-05
JP6594579B2 true JP6594579B2 (ja) 2019-10-23

Family

ID=56368376

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017536935A Active JP6526208B6 (ja) 2015-01-13 2015-04-03 モバイル・デバイス上のアプリケーションからリモート・ウェブ・クライアントを扱うための技法
JP2019087561A Active JP6594579B2 (ja) 2015-01-13 2019-05-07 モバイル・デバイス上のアプリケーションからリモート・ウェブ・クライアントを扱うための技法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017536935A Active JP6526208B6 (ja) 2015-01-13 2015-04-03 モバイル・デバイス上のアプリケーションからリモート・ウェブ・クライアントを扱うための技法

Country Status (11)

Country Link
US (2) US9992258B2 (ja)
EP (2) EP3576355A1 (ja)
JP (2) JP6526208B6 (ja)
KR (1) KR102276159B1 (ja)
CN (1) CN108419452B (ja)
AU (1) AU2015377217B2 (ja)
BR (1) BR112017014984A2 (ja)
CA (1) CA2973559A1 (ja)
IL (1) IL253379B (ja)
MX (1) MX370797B (ja)
WO (1) WO2016114806A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9992258B2 (en) * 2015-01-13 2018-06-05 Whatsapp Inc. Techniques for managing a remote web client from an application on a mobile device
US9559995B1 (en) * 2015-10-19 2017-01-31 Meteors Information Systems Limited System and method for broadcasting contents from web-based browser to a recipient device using extensible messaging and presence protocol (XMPP)
WO2018027059A1 (en) 2016-08-03 2018-02-08 KryptCo, Inc. Systems and methods for delegated cryptography
CN106790341B (zh) * 2016-09-08 2019-11-22 大连海事大学 移动Web服务应用的自适应部署方法
US10582036B2 (en) 2017-02-17 2020-03-03 Whatsapp Inc. Methods and systems for generating an ephemeral content message
EP3364330B8 (en) * 2017-02-17 2021-04-21 WhatsApp LLC Methods and systems for processing an ephemeral content message
US10706843B1 (en) * 2017-03-09 2020-07-07 Amazon Technologies, Inc. Contact resolution for communications systems
EP3382624A1 (en) * 2017-03-28 2018-10-03 WhatsApp, Inc. Techniques for templated messages
US10547577B2 (en) 2017-03-28 2020-01-28 Whatsapp Inc. Techniques for templated messages
US10536521B2 (en) * 2017-07-12 2020-01-14 Sap Se Web share
US10671375B1 (en) * 2018-11-09 2020-06-02 Capital One Services, Llc Tokenized mobile device update systems and methods
US11646983B1 (en) 2019-07-16 2023-05-09 Whatsapp Llc Methods and systems for transmitting an image with thumbnail data
US11425205B1 (en) * 2019-07-16 2022-08-23 Whatsapp Inc. Methods and systems for transmitting an image in chunks
US11651099B2 (en) * 2021-03-19 2023-05-16 Cloudflare, Inc. Persisting encrypted remote browser data at a local browser for use in a remote browser

Family Cites Families (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983308B1 (en) * 1998-11-19 2006-01-03 Openwave Systems, Inc. Mail synchronization of remote and local mail systems
US6999912B2 (en) * 2001-03-13 2006-02-14 Microsoft Corporation Provisioning computing services via an on-line networked computing environment
US6968362B2 (en) 2001-12-28 2005-11-22 Bellsouth Intellectual Property Corp. Systems and methods for remote access to a display-based bulletin board in a shared user environment
US7747561B1 (en) * 2002-05-02 2010-06-29 Palmsource Inc. Synchronization protocol for synchronizing data between nodes
US8150922B2 (en) * 2002-07-17 2012-04-03 Research In Motion Limited Voice and text group chat display management techniques for wireless mobile terminals
US7640293B2 (en) 2002-07-17 2009-12-29 Research In Motion Limited Method, system and apparatus for messaging between wireless mobile terminals and networked computers
KR100516504B1 (ko) * 2003-09-30 2005-09-26 (주)잉카엔트웍스 네트워크를 통하여 개인 휴대 단말기와 데이터 동기화를수행하기 위한 방법 및 그 시스템
KR100557192B1 (ko) * 2004-04-06 2006-03-03 삼성전자주식회사 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된경우 데이터 전송 방법 및 그 시스템.
US7707292B2 (en) * 2005-03-18 2010-04-27 Yahoo! Inc. Method for signing into a mobile device over a network
US8392836B1 (en) * 2005-07-11 2013-03-05 Google Inc. Presenting quick list of contacts to communication application user
US9479468B2 (en) * 2005-07-11 2016-10-25 Google Inc. Presenting instant messages
US7506029B2 (en) 2005-08-03 2009-03-17 Yahoo! Inc. Establishing communication between a messaging client and a remote device running a browsing application
US8751582B1 (en) * 2005-08-22 2014-06-10 Google Inc. Managing presence subscriptions for messaging services
JP2007133743A (ja) * 2005-11-11 2007-05-31 Nippon Telegr & Teleph Corp <Ntt> サービス提供サーバおよび認証システム
US8185644B2 (en) * 2005-12-30 2012-05-22 Honeywell International Inc. Method and apparatus for using SMS short code messaging to facilitate the transmission of a status update for a security system
US20080120696A1 (en) * 2006-11-21 2008-05-22 Aditya Desaraju Method and Product for Generating Network and Server Analytics
US7774356B2 (en) * 2006-12-04 2010-08-10 Sap Ag Method and apparatus for application state synchronization
US8850451B2 (en) * 2006-12-12 2014-09-30 International Business Machines Corporation Subscribing for application messages in a multicast messaging environment
US20080155112A1 (en) * 2006-12-22 2008-06-26 Nokia Corporation System and method for updating information feeds
CN101257375B (zh) * 2006-12-31 2012-08-08 华为技术有限公司 实现多终端的消息同步的方法及装置
JP2008171035A (ja) * 2007-01-05 2008-07-24 Hewlett-Packard Development Co Lp サービス提供システム、サービス提供装置およびその方法。
US20080248834A1 (en) 2007-04-03 2008-10-09 Palm, Inc. System and methods for providing access to a desktop and applications of a mobile device
US20080267067A1 (en) * 2007-04-30 2008-10-30 Gabriel Salazar Controlling the flow of data updates between a receiving station and a sending station
ES2333633B1 (es) * 2007-05-07 2011-02-10 Vodafone España, S.A. Acceso desde un terminal remoto a la informacion de un terminal movil.
KR101351821B1 (ko) * 2007-06-11 2014-01-16 에스케이플래닛 주식회사 이동단말기로 콘텐츠리스트 전송을 통한 콘텐츠 전송 방법,및 그를 위한 서버
JP5065482B2 (ja) * 2007-06-19 2012-10-31 クゥアルコム・インコーポレイテッド 無線環境においてデータセットを同期するための方法および機器
US20090006559A1 (en) * 2007-06-27 2009-01-01 Bhogal Kulvir S Application Message Subscription Tracking In A High Speed, Low Latency Data Communications Environment
EP2232812B1 (en) * 2007-12-05 2018-02-21 Koninklijke KPN N.V. Method and system for synchronizing the output of terminals
CN101494534A (zh) * 2008-01-21 2009-07-29 华为技术有限公司 一种数据同步方法、装置及系统
CN101257431B (zh) * 2008-03-11 2010-09-08 网经科技(苏州)有限公司 逆向安全通道远程设备管理模式
CA2665803C (en) * 2008-05-14 2015-12-29 Canamex Corporation Method for establishing bi-directional messaging communications with wireless devices and with remote locations over a network
US8407338B2 (en) * 2008-09-12 2013-03-26 Salesforce.Com Methods and systems for polling an on demand service
US8112537B2 (en) * 2008-09-29 2012-02-07 Apple Inc. Trickle sync protocol
JP2012523629A (ja) * 2009-04-07 2012-10-04 エモーション グループ, インク. 同期通信装置を備えたソーシャルネットワーキングプラットフォーム
EP2251801A3 (en) * 2009-05-13 2010-12-29 Huawei Technologies Co., Ltd. Method, terminal and server for transcoding data
CN101925047B (zh) * 2009-06-11 2014-09-10 中兴通讯股份有限公司 用户数据融合网络系统及订阅通知的实现方法
US20110010643A1 (en) * 2009-07-07 2011-01-13 Samsung Electronics Co., Ltd. Device and method for performing reomote internet browsing between portable devices
CN101635728B (zh) * 2009-09-02 2012-09-26 中兴通讯股份有限公司 内容分发网络中数据同步的方法及系统
US8195824B2 (en) * 2009-10-28 2012-06-05 Samsung Electronics Co., Ltd User service profile-based plug-in update method and apparatus for internet protocol television service
US8990404B2 (en) * 2009-11-16 2015-03-24 Apple Inc. Directing data in a web browser from a portable electronic device
CA2889724C (en) * 2009-12-21 2021-06-08 Kik Interactive Inc. Systems and methods for accessing and controlling media stored remotely
US8577895B2 (en) * 2010-03-19 2013-11-05 Microsoft Corporation Dynamic contacts list management
US20110289155A1 (en) * 2010-05-20 2011-11-24 Kambiz David Pirnazar Method and Apparatus for the Implementation of a Real-Time, Sharable Browsing Experience
US20110319056A1 (en) * 2010-06-29 2011-12-29 Enterproid Hk Ltd Remote access to a mobile device
US8954515B2 (en) * 2010-06-30 2015-02-10 Alcatel Lucent Method and apparatus for reducing application update traffic in cellular networks
US20120028615A1 (en) 2010-08-02 2012-02-02 Microsoft Corporation Two-way communication of events between a mobile device and remote client
GB201014613D0 (en) * 2010-09-02 2010-10-13 Skype Ltd Instant messaging
US20120059875A1 (en) * 2010-09-07 2012-03-08 Daniel Matthew Clark Control of computing devices and user interfaces
US20120079043A1 (en) * 2010-09-27 2012-03-29 Research In Motion Limited Method, apparatus and system for accessing an application across a plurality of computers
US8464324B2 (en) * 2010-12-06 2013-06-11 Mobilesphere Holdings LLC System and method for identity verification on a computer
KR20130035603A (ko) * 2011-09-30 2013-04-09 삼성전자주식회사 적어도 하나의 어플리케이션 데이터를 동기화하기 위한 장치 및 방법
US9294307B2 (en) * 2011-10-07 2016-03-22 Microsoft Technology Licensing, Llc Synchronization of conversation data
EP2777183B1 (en) * 2011-11-11 2016-08-10 Telefonaktiebolaget LM Ericsson (publ) Sync interval determination
CN103152266B (zh) * 2011-12-07 2016-08-03 华为技术有限公司 一种网络设备间的同步方法、网络设备及系统
CN103327037B (zh) * 2012-03-20 2017-09-29 中兴通讯股份有限公司 数据同步方法及装置
KR102001544B1 (ko) * 2012-03-27 2019-07-18 삼성전자주식회사 통신 시스템에서 사용자 인증을 대행하는 장치 및 방법
US9113283B2 (en) * 2012-04-03 2015-08-18 Telefonaktiebolaget L M Ericsson (Publ) Systems and methods for event notification framework in a machine-to-machine (M2M) context
KR101263423B1 (ko) * 2012-10-19 2013-05-10 김봉주 이동 사용자 단말기를 이용한 로그인 확인 및 승인 서비스 구현 방법
US9215195B2 (en) * 2012-11-12 2015-12-15 Tencent Technology (Shenzhen) Company Limited Method and apparatus for message synchronization in instant messaging applications
CN103118085A (zh) * 2012-12-04 2013-05-22 上海师范大学 一种基于互联网的串口服务器系统
KR101487583B1 (ko) 2012-12-07 2015-01-30 주식회사 다음카카오 퍼스널 컴퓨터를 활용하는 모바일 인스턴트 메시징 서비스 방법
KR102015534B1 (ko) * 2012-12-24 2019-08-28 삼성전자주식회사 복수의 단말들간의 메시지 싱크 방법, 기계로 읽을 수 있는 저장 매체 및 서버
US9471697B2 (en) * 2012-12-27 2016-10-18 Intel Corporation URI-Based host to mobile device setup and pairing
CN103916373A (zh) * 2013-01-07 2014-07-09 腾讯科技(深圳)有限公司 数据更新的方法、服务器、客户端以及系统
CN104065561B (zh) * 2013-04-28 2015-11-25 腾讯科技(深圳)有限公司 一种即时通讯方法、终端和系统
US9559992B2 (en) * 2013-04-28 2017-01-31 Tencent Technology (Shenzhen) Company Limited System and method for updating information in an instant messaging application
US9582561B2 (en) * 2013-07-16 2017-02-28 Sap Se Size-based data synchronization
US9197612B2 (en) * 2013-08-08 2015-11-24 Symbol Technologies, Llc Apparatus and method for deploying encrypted mobile off-line web applications
US9264890B2 (en) * 2013-09-05 2016-02-16 Htc Corporation Mobile device configuration system and method
US9426140B2 (en) * 2013-09-09 2016-08-23 Layer, Inc. Federated authentication of client computers in networked data communications services callable by applications
US20150088763A1 (en) * 2013-09-23 2015-03-26 MobilePoint Corporation Conversation and opportunity message sharing
CN104581611A (zh) * 2013-10-25 2015-04-29 中兴通讯股份有限公司 一种基于m2m的信息处理方法和m2m业务平台
US9274828B2 (en) * 2013-11-03 2016-03-01 Maestrano Pty Ltd. Systems and methods for event driven object management and distribution among multiple client applications
CN106790676B (zh) * 2013-12-05 2020-07-07 华为技术有限公司 订阅通知的实现方法和装置
CN104754560B (zh) * 2013-12-30 2018-11-30 华为终端(东莞)有限公司 一种位置隐私保护方法、装置及系统
US10122665B2 (en) * 2014-03-06 2018-11-06 Dropbox, Inc. Distributed synchronization data in a message management service
CN105100906A (zh) * 2014-04-17 2015-11-25 海信集团有限公司 一种播放控制方法和设备
US20160043981A1 (en) * 2014-08-11 2016-02-11 Facebook, Inc. Techniques for a persistent queue for message syncing
US20160088064A1 (en) * 2014-09-19 2016-03-24 Google Inc. Storing and transferring application data between devices
US11477261B2 (en) * 2014-09-29 2022-10-18 D2L Corporation System and method for rendering electronic content
US9992258B2 (en) * 2015-01-13 2018-06-05 Whatsapp Inc. Techniques for managing a remote web client from an application on a mobile device
US9882862B2 (en) * 2015-05-01 2018-01-30 Facebook, Inc. Techniques for coordinating a messaging experience across platforms

Also Published As

Publication number Publication date
IL253379A0 (en) 2017-09-28
WO2016114806A1 (en) 2016-07-21
US20160205169A1 (en) 2016-07-14
IL253379B (en) 2019-10-31
CN108419452B (zh) 2020-12-11
KR102276159B1 (ko) 2021-07-12
EP3046292A1 (en) 2016-07-20
CA2973559A1 (en) 2016-07-21
BR112017014984A2 (pt) 2018-03-20
CN108419452A (zh) 2018-08-17
EP3046292B1 (en) 2019-08-28
JP2018511844A (ja) 2018-04-26
JP2019149193A (ja) 2019-09-05
JP6526208B2 (ja) 2019-06-05
MX370797B (es) 2020-01-03
MX2017009096A (es) 2018-04-20
JP6526208B6 (ja) 2019-07-24
US9992258B2 (en) 2018-06-05
EP3576355A1 (en) 2019-12-04
AU2015377217A1 (en) 2017-08-03
US10212213B1 (en) 2019-02-19
KR20170115059A (ko) 2017-10-16
AU2015377217B2 (en) 2019-05-02

Similar Documents

Publication Publication Date Title
JP6594579B2 (ja) モバイル・デバイス上のアプリケーションからリモート・ウェブ・クライアントを扱うための技法
US11005708B1 (en) Techniques to perform the dynamic configuration of load-balanced relay operations
US10348557B1 (en) Techniques to dynamically configure target bitrate for streaming network connections
US10917374B2 (en) Techniques to visualize messaging flow
US9912373B1 (en) Techniques to detect echoes using audio fingerprinting
US11165899B1 (en) Techniques to manage contact records
JP2018502502A (ja) コンテキストモバイルデータアクセスのための技術
US10412779B2 (en) Techniques to dynamically configure jitter buffer sizing
US10511569B2 (en) Techniques for providing multi-modal multi-party calling
US10887641B2 (en) Techniques to dynamically configure a sender bitrate for streaming media connections
US20190068678A1 (en) Techniques to dynamically engage an all-intra-coded mode for streaming video encoding
US10313503B2 (en) Techniques to reconfigure messaging clients during contact information changes
US9900372B2 (en) Techniques to detect and react to proxy interference
US11171900B1 (en) Techniques for media endpoint configuration
JP7030128B2 (ja) 複数のステップサイズによる鍵ラチェットのための技法

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190606

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190606

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190606

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190801

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: 20190813

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190912

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190924

R150 Certificate of patent or registration of utility model

Ref document number: 6594579

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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