JP2018532283A - デバイスクラウドの管理 - Google Patents

デバイスクラウドの管理 Download PDF

Info

Publication number
JP2018532283A
JP2018532283A JP2018505021A JP2018505021A JP2018532283A JP 2018532283 A JP2018532283 A JP 2018532283A JP 2018505021 A JP2018505021 A JP 2018505021A JP 2018505021 A JP2018505021 A JP 2018505021A JP 2018532283 A JP2018532283 A JP 2018532283A
Authority
JP
Japan
Prior art keywords
user
certain embodiments
protocol
packet size
computing device
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.)
Granted
Application number
JP2018505021A
Other languages
English (en)
Other versions
JP6815382B2 (ja
Inventor
タル、エラン
レーヴァルト、マーティン
ペノフ、フランシスラフ
ヤン、シーイン
コバレフスキ、ダミアン
ヤコブレフ、ゲオルギー
チャブラ、アヌプマ
チー−ピン ローレンス、ザカリー
チー−ピン ローレンス、ザカリー
アフマド、リズワン
グエン ティエン、デュン
グエン ティエン、デュン
エステファニア エスカレノ、アンジェリカ
エステファニア エスカレノ、アンジェリカ
ビージョ、アイディマール
Original Assignee
フェイスブック,インク.
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 フェイスブック,インク. filed Critical フェイスブック,インク.
Publication of JP2018532283A publication Critical patent/JP2018532283A/ja
Application granted granted Critical
Publication of JP6815382B2 publication Critical patent/JP6815382B2/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/53Network services using third party service providers
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • 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
    • 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/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/21Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Primary Health Care (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

ゲートウェイ演算装置の特定の実施形態は、制限されたネットワークのためのアクセスクレデンシャルのプロビジョニングサービスを提供することができる。ゲートウェイ演算装置は、アクセスクレデンシャルに対する要求をクライアント装置から受信することができる。要求は、制限されたパケットサイズのプロトコルを使用してオープンネットワーク上で送信されたものである。そのプロトコルは、プロトコルを使用してメッセージを送信する装置による電力使用量を制限するように設計されている。ゲートウェイ演算装置は、アクセスクレデンシャルを含むデータを複数のパケットにセグメント化することができる。複数のパケットは、制限されたパケットサイズのプロトコルに準拠している。ゲートウェイ演算装置は、オープンネットワーク上において、制限されたパケットサイズのプロトコルを使用して、セグメント化されたデータをクライアント装置に送信することができる。

Description

本開示は、概して、オブジェクトがシステムとデータを交換できるようにするために電子回路及びソフトウェアが埋め込まれたオブジェクトのネットワークに関する。
ソーシャルネットワーキングシステム(ソーシャルネットワーキングウェブサイトを含むことができる)は、そのソーシャルネットワーキングシステムのユーザ(人または組織など)がそのソーシャルネットワーキングシステムと、およびそのソーシャルネットワーキングシステムを通じて互いに対話することを可能にすることができる。ソーシャルネットワーキングシステムは、ユーザからの入力を用いて、そのユーザに関連付けられているユーザプロフィールを作成して、ソーシャルネットワーキングシステム内に格納することができる。ユーザプロフィールは、人口統計学的情報、通信チャネル情報、およびユーザの個人的な関心に関する情報を含むことができる。ソーシャルネットワーキングシステムは、ユーザからの入力を用いて、そのユーザと、ソーシャルネットワーキングシステムのその他のユーザとの関係のレコードを作成および格納すること、ならびにサービス(たとえば、ウォールポスト、写真共有、イベント編成、メッセージング、ゲーム、または広告)を提供して、ユーザ同士の間における社会的な交流を容易にすることも可能である。
ソーシャルネットワーキングシステムは、そのサービスに関連したコンテンツまたはメッセージを、1つまたは複数のネットワークを介して、ユーザのモバイルまたはその他のコンピューティングデバイスへ送信することができる。ユーザは、自分のユーザプロフィールおよびソーシャルネットワーキングシステム内のその他のデータにアクセスするためにソフトウェアアプリケーションを自分のモバイルまたはその他のコンピューティングデバイス上にインストールすることもできる。ソーシャルネットワーキングシステムは、ユーザにつながっているその他のユーザの集約されたストーリのニュースフィードなど、ユーザに表示するためのコンテンツオブジェクトのパーソナライズされたセットを生成することができる。
スマートフォン、タブレットコンピュータ、あるいはラップトップコンピュータなどのモバイルコンピューティングデバイスは、GPSレシーバ、コンパス、ジャイロスコープ、または加速度計のような、そのロケーション、方向、あるいは配向を測定するための機能を備える。この装置は、ブルートゥース(BLUETOOTH(登録商標)(BT))通信、ニアフィールドコミュニケーション(NFC)、赤外線(IR)通信、あるいはワイヤレスローカルエリアネットワーク(WLAN)や携帯電話ネットワークとの通信などの無線通信用の機能をさらに含む。この装置は、1つ以上のカメラ、スキャナ、タッチスクリーン、マイクロフォン、あるいはスピーカをさらに含む。モバイルコンピューティングデバイスは、ゲーム、ウェブブラウザや、ソーシャルネットワーキングアプリケーションなどのソフトウェアアプリケーションの実行も行う。ソーシャルネットワーキングアプリケーションにより、ユーザはソーシャルネットワークにおける他のユーザとつながり、情報を通信し、共有する。
特定の実施形態では、接続装置のデバイスクラウドは、例えば、ブルートゥースローエナジー(BLUETOOTH LOW ENERGY)(「BTLE」)、WIFI、ジグビー(ZIGBEE)、Zウェーブ(ZWAVE)などの複数のネットワークプロトコル上でローカルゲートウェイと通信することができる。特定の実施形態では、ネットワークプロトコルの1つは、有効なクレデンシャルを提示した装置に対するアクセスを制限することができる。特定の実施形態では、ネットワークプロトコルの1つは、有効なクレデンシャルのペアリング及び/又は提示前に情報の送信を許容することができ、この場合、送信される情報は、サイズが制限されたパケットを使用した送信に制限される。
特定の実施形態では、ゲートウェイは、そのプロビジョニングサービスに関する情報をブロードキャストすることができ、ゲートウェイは、複数の制限されたサイズのパケットのペイロードにフィットするように、有効なクレデンシャルを含むデータをセグメント化することにより、制限されたサイズのパケットを使用して有効なクレデンシャルを装置の1つに提供することができる。送信されると、制限されたサイズのパケットは、有効なクレデンシャルを含むデータとして再組み立てされ得る。
制限されたサイズのパケットは、それぞれヘッダとペイロードとを含むことができる。制限されたサイズのパケットのそれぞれのパケットのヘッダは、有効なクレデンシャルを含むデータがセグメント化された、制限されたサイズのパケットの合計数及び制限されたサイズのパケットの組内におけるその特定の制限されたサイズのパケットの順序などのシーケンシング情報を含むことができる。それぞれの制限されたサイズのパケットをネットワーク上で送信した後、それぞれのヘッダ内の情報を使用してそれぞれのペイロード内の情報を識別することにより、有効なクレデンシャルを含むデータは再組み立てされ得る。
特定の実施形態では、ゲートウェイは、装置から要求を受信した場合、有効なクレデンシャルを受け取るための装置の認可をリアルタイムで評価することができる。特定の実施形態では、ゲートウェイは、要求を受け取る前に、1つ又は複数の装置に関する認可情報を予め受信又は取得し、且つキャッシュしておくことができる。
以下で開示される実施形態は例に過ぎず、本開示の範囲はこれらに限定されない。特定の実施形態は、以上で開示される実施形態のコンポーネント、要素、特徴、機能、動作、又はステップのすべて又はいくつかを含むことができ、又はこれらを含まないことができる。本発明による実施形態は、具体的には、方法、記憶媒体、システム、及びコンピュータプログラム製品を対象とした添付の請求項で開示され、この場合、例えば、方法などの1つの請求項カテゴリで言及される任意の特徴は、例えば、システムなどの別の請求項カテゴリで同様に特許請求され得る。添付の請求項における依存性又は後方参照は、公的な理由からのみ選択される。但し、請求項及びその特徴の任意の組合せが、添付の請求項で選択される従属性とは無関係に開示及び特許請求項され得るように、任意の以前の請求項に対する意図的な後方参照(特に複数の従属性)の結果として得られる任意の主題も同様に特許請求され得る。特許請求され得る主題は、添付の請求項で記述される特徴の組合せのみならず、請求項中の特徴の任意の他の組合せも有し、この場合、請求項で言及されるそれぞれの特徴は、請求項における任意の他の特徴又は他の特徴の組合せと組み合わせることができる。更に、本明細書で記述又は図示される実施形態及び特徴の任意のものは、別個の請求項及び/又は本明細書で記述又は図示される任意の実施形態若しくは特徴、又は添付の請求項の特徴の任意のものとの任意の組合せで特許請求され得る。
ソーシャルネットワーキングシステムと関連した例示的なネットワーク環境を示す。 例示的なソーシャルグラフを示す。 デバイスクラウドを管理するための例示的なアーキテクチャを示す。 クレデンシャルネットワークに対する新しい装置アクセスを確立するためのデータフローの例示的な相互作用図を示す。 例示的なコンピュータシステムを示す。
図1は、ソーシャルネットワーキングシステムに関連付けられている例示的なネットワーク環境100を示している。ネットワーク環境100は、ネットワーク110によって互いにつながっているクライアントシステム130、ソーシャルネットワーキングシステム160、およびサードパーティシステム170を含む。図1は、クライアントシステム130、ソーシャルネットワーキングシステム160、サードパーティシステム170、およびネットワーク110の特定の構成を示しているが、本開示は、クライアントシステム130、ソーシャルネットワーキングシステム160、サードパーティシステム170、およびネットワーク110の任意の適切な構成を想定している。限定ではなく、例として、クライアントシステム130、ソーシャルネットワーキングシステム160、およびサードパーティシステム170のうちの複数は、ネットワーク110を迂回して、互いに直接つながることが可能である。別の例として、クライアントシステム130、ソーシャルネットワーキングシステム160、およびサードパーティシステム170のうちの複数は、物理的にまたは論理的に、全体としてまたは部分的に互いに同一場所に配置されることが可能である。その上、図1は、特定の数のクライアントシステム130、ソーシャルネットワーキングシステム160、サードパーティシステム170、およびネットワーク110を示しているが、本開示は、任意の適切な数のクライアントシステム130、ソーシャルネットワーキングシステム160、サードパーティシステム170、およびネットワーク110を想定している。限定ではなく、例として、ネットワーク環境100は、複数のクライアントシステム130、ソーシャルネットワーキングシステム160、サードパーティシステム170、およびネットワーク110を含むことができる。
本開示は、任意の適切なネットワーク110を想定している。限定ではなく、例として、ネットワーク110の1つまたは複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、ローカルエリアネットワーク(LAN)、ワイヤレスLAN(WLAN)、ワイドエリアネットワーク(WAN)、ワイヤレスWAN(WWAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、セルラー電話ネットワーク、またはこれらのうちの複数の組合せを含むことができる。ネットワーク110は、1つまたは複数のネットワーク110を含むことができる。
リンク150は、クライアントシステム130、ソーシャルネットワーキングシステム160、およびサードパーティシステム170を通信ネットワーク110に、または互いに接続することができる。本開示は、任意の適切なリンク150を想定している。特定の実施形態においては、1つまたは複数のリンク150は、1つもしくは複数の有線リンク(たとえば、デジタルサブスクライバライン(DSL)もしくはデータオーバケーブルサービスインターフェース仕様(DOCSIS)など)、ワイヤレスリンク(たとえば、Wi−Fiもしくはワールドワイドインターオペラビリティーフォーマイクロウェーブアクセス(WiMAX)など)、または光リンク(たとえば、同期光ネットワーク(SONET)もしくは同期デジタル階層(SDH)など)を含む。特定の実施形態においては、1つまたは複数のリンク150はそれぞれ、アドホックネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラーテクノロジーベースのネットワーク、衛星通信テクノロジーベースのネットワーク、別のリンク150、または複数のそのようなリンク150の組合せを含む。リンク150は、ネットワーク環境100の全体を通じて必ずしも同じである必要はない。1つまたは複数の第1のリンク150は、1つまたは複数の点において1つまたは複数の第2のリンク150とは異なることが可能である。
特定の実施形態においては、クライアントシステム130は、クライアントシステム130によって実装またはサポートされる適切な機能を実行することができる、ハードウェア、ソフトウェア、もしくは組み込みロジックコンポーネント、または複数のそのようなコンポーネントの組合せを含む電子デバイスであることが可能である。限定ではなく、例として、クライアントシステム130は、デスクトップコンピュータ、ノートブックコンピュータもしくはラップトップコンピュータ、ネットブック、タブレットコンピュータなどのコンピュータシステム、eブックリーダ、GPSデバイス、カメラ、携帯情報端末(PDA)、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、拡張現実デバイス/仮想現実デバイス、その他の適切な電子デバイス、またはそれらの任意の適切な組合せを含むことができる。本開示は、任意の適切なクライアントシステム130を想定している。クライアントシステム130は、クライアントシステム130のネットワークユーザがネットワーク110にアクセスすることを可能にすることができる。クライアントシステム130は、自分のユーザがその他のクライアントシステム130のその他のユーザと通信することを可能にすることができる。
特定の実施形態においては、クライアント130は、MICROSOFT INTERNET EXPLORER、GOOGLE CHROME、またはMOZILLA FIREFOX(いずれも登録商標)などのウェブブラウザ132を含むことができ、1つまたは複数のアドオン、プラグイン、またはTOOLBARもしくはYAHOO TOOLBAR(登録商標)などのその他の拡張を有することができる。クライアントシステム130のユーザは、ウェブブラウザ132を特定のサーバ(サーバ162、またはサードパーティシステム170に関連付けられているサーバなど)へ導くユニフォームリソースロケータ(URL)またはその他のアドレスを入力することができ、ウェブブラウザ132は、ハイパーテキスト転送プロトコル(HTTP)要求を生成して、そのHTTP要求をサーバに通信することができる。サーバは、そのHTTP要求を受け入れて、そのHTTP要求に応答して1つまたは複数のハイパーテキストマークアップ言語(HTML)ファイルをクライアントシステム130に通信することができる。クライアントシステム130は、ユーザに提示するためにサーバからのHTMLファイルに基づいてウェブページをレンダリングすることができる。本開示は、任意の適切なウェブページファイルを想定している。限定ではなく、例として、ウェブページは、特定のニーズに従って、HTMLファイル、拡張可能ハイパーテキストマークアップ言語(XHTML)ファイル、または拡張可能マークアップ言語(XML)ファイルからレンダリングすることができる。そのようなページは、限定ではなく、例として、JAVASCRIPT(登録商標)、JAVA(登録商標)、MICROSOFT SILVERLIGHTで書かれたスクリプトなどのスクリプト、AJAX(Asynchronous JAVASCRIPT(登録商標) and XML)などのマークアップ言語とスクリプトの組合せなどを実行することもできる。本明細書においては、ウェブページへの参照は、適切な場合には、(そのウェブページをレンダリングするためにブラウザが使用することができる)1つまたは複数の対応するウェブページファイルを含み、その逆もまた同様である。
特定の実施形態においては、ソーシャルネットワーキングシステム160は、オンラインソーシャルネットワークをホストすることができるネットワークアドレス可能なコンピューティングシステムであることが可能である。ソーシャルネットワーキングシステム160は、たとえば、ユーザプロフィールデータ、コンセプトプロフィールデータ、ソーシャルグラフ情報、またはオンラインソーシャルネットワークに関連したその他の適切なデータなどのソーシャルネットワーキングデータを生成すること、格納すること、受け取ること、および送信することが可能である。ソーシャルネットワーキングシステム160は、ネットワーク環境100のその他のコンポーネントによって直接、またはネットワーク110を介してアクセスされることが可能である。限定ではなく一例として、クライアントシステム130は、ウェブブラウザ132、またはソーシャルネットワーキングシステム160に関連するネイティブアプリケーション(例えば、モバイルソーシャルネットワーキングアプリケーション、メッセージングアプリケーション、別の適切なアプリケーション、またはそれらの任意の組み合わせ)を用いてソーシャルネットワーキングシステム160に直接的にまたはネットワーク110を介してアクセスすることができる。特定の実施形態においては、ソーシャルネットワーキングシステム160は、1つまたは複数のサーバ162を含むことができる。それぞれのサーバ162は、単一のサーバ、または複数のコンピュータもしくは複数のデータセンターにわたる分散サーバであることが可能である。サーバ162は、限定ではなく、例として、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、Exchangeサーバ、データベースサーバ、プロキシサーバ、本明細書において記述されている機能もしくはプロセスを実行するのに適している別のサーバ、またはそれらの任意の組合せなど、さまざまなタイプのものであることが可能である。特定の実施形態においては、それぞれのサーバ162は、サーバ162によって実装またはサポートされる適切な機能を実行するためのハードウェア、ソフトウェア、もしくは組み込みロジックコンポーネント、または複数のそのようなコンポーネントの組合せを含むことができる。特定の実施形態においては、ソーシャルネットワーキングシステム160は、1つまたは複数のデータストア164を含むことができる。データストア164は、さまざまなタイプの情報を格納するために使用されることが可能である。特定の実施形態においては、データストア164内に格納されている情報は、特定のデータ構造に従って編成されることが可能である。特定の実施形態においては、それぞれのデータストア164は、リレーショナルデータベース、行のデータベース、相関関係データベース、あるいはその他の適切なデータベースであることが可能である。本開示は特定のタイプのデータベースを記述し、例示するが、本開示においては、任意の適切なタイプのデータベースが考えられる。特定の実施形態は、クライアントシステム130、ソーシャルネットワーキングシステム160、またはサードパーティシステム170が、データストア164内に格納されている情報を管理すること、取り出すこと、修正すること、追加すること、または削除することを可能にするインターフェースを提供することができる。
特定の実施形態においては、ソーシャルネットワーキングシステム160は、1つまたは複数のソーシャルグラフを1つまたは複数のデータストア164内に格納することができる。特定の実施形態においては、ソーシャルグラフは、複数のノード(複数のユーザノード(それぞれが、特定のユーザに対応している)、または複数のコンセプトノード(それぞれが、特定のコンセプトに対応している)を含むことができる)と、ノード同士をつなげる複数のエッジとを含むことができる。ソーシャルネットワーキングシステム160は、オンラインソーシャルネットワークのユーザに、その他のユーザと通信および対話する能力を提供することができる。特定の実施形態においては、ユーザたちは、ソーシャルネットワーキングシステム160を介してオンラインソーシャルネットワークに参加し、次いで、自分たちがつながりたいと望むソーシャルネットワーキングシステム160のその他の複数のユーザにつながり(すなわち、関係)を付加することができる。本明細書においては、「友達」という用語は、ユーザがソーシャルネットワーキングシステム160を介して、つながり、関連付け、または関係を形成しているソーシャルネットワーキングシステム160のその他の任意のユーザを指すことができる。
特定の実施形態においては、ソーシャルネットワーキングシステム160は、ソーシャルネットワーキングシステム160によってサポートされるさまざまなタイプのアイテムまたはオブジェクトに関してアクションを取る能力をユーザに提供することができる。限定ではなく、例として、それらのアイテムおよびオブジェクトは、ソーシャルネットワーキングシステム160のユーザが属することが可能であるグループもしくはソーシャルネットワーク、ユーザが関心を抱く可能性があるイベントもしくはカレンダーエントリー、ユーザが使用することができるコンピュータベースのアプリケーション、ユーザがサービスを介してアイテムを購入もしくは販売することを可能にするトランザクション、ユーザが実行することができる広告との対話、またはその他の適切なアイテムもしくはオブジェクトを含むことができる。ユーザは、ソーシャルネットワーキングシステム160において、またはサードパーティシステム170の外部システム(ソーシャルネットワーキングシステム160とは別個のものであって、ネットワーク110を介してソーシャルネットワーキングシステム160に結合されている)によって表されることが可能である任意のものと対話することができる。
特定の実施形態においては、ソーシャルネットワーキングシステム160は、さまざまなエンティティ同士をリンクできることが可能である。限定ではなく、例として、ソーシャルネットワーキングシステム160は、ユーザたちが互いに対話すること、ならびにサードパーティシステム170もしくはその他のエンティティからのコンテンツを受け取ることを可能にすることができ、またはユーザたちがアプリケーションプログラミングインターフェース(API)もしくはその他の通信チャネルを通じてこれらのエンティティと対話することを可能にすることができる。
特定の実施形態においては、サードパーティシステム170は、1つもしくは複数のタイプのサーバ、1つもしくは複数のデータストア、1つもしくは複数のインターフェース(APIを含むが、それには限定されない)、1つもしくは複数のウェブサービス、1つもしくは複数のコンテンツソース、1つもしくは複数のネットワーク、またはその他の任意の適切なコンポーネントを含むことができる。サードパーティシステム170は、ソーシャルネットワーキングシステム160を運営しているエンティティとは異なるエンティティによって運営されることが可能である。しかしながら、特定の実施形態においては、ソーシャルネットワーキングシステム160およびサードパーティシステム170は、ソーシャルネットワーキングシステム160またはサードパーティシステム170のユーザにソーシャルネットワーキングサービスを提供するために互いに連携して機能することができる。この意味において、ソーシャルネットワーキングシステム160は、サードパーティシステム170などのその他のシステムがインターネットを介してソーシャルネットワーキングサービスおよび機能をユーザに提供するために使用することができるプラットフォーム、またはバックボーンを提供することができる。
特定の実施形態においては、サードパーティシステム170は、サードパーティコンテンツオブジェクトプロバイダを含むことができる。サードパーティコンテンツオブジェクトプロバイダは、コンテンツオブジェクトの1つまたは複数のソースを含むことができ、それらのソースは、クライアントシステム130に通信されることが可能である。限定ではなく、例として、コンテンツオブジェクトは、ユーザにとって関心がある物またはアクティビティに関する情報、たとえば、映画の開始時刻、映画のレビュー、レストランのレビュー、レストランのメニュー、製品の情報およびレビュー、またはその他の適切な情報などを含むことができる。限定ではなく、別の例として、コンテンツオブジェクトは、インセンティブコンテンツオブジェクト、たとえば、クーポン、ディスカウントチケット、ギフト券、またはその他の適切なインセンティブオブジェクトを含むことができる。
特定の実施形態においては、ソーシャルネットワーキングシステム160はまた、ユーザによって生成されたコンテンツオブジェクトを含み、それらのコンテンツオブジェクトは、ソーシャルネットワーキングシステム160とのユーザの対話を高めることができる。ユーザによって生成されたコンテンツは、ユーザがソーシャルネットワーキングシステム160に付加、アップロード、送信、または「ポスト」することができる任意のものを含むことができる。限定ではなく、例として、ユーザは、クライアントシステム130からソーシャルネットワーキングシステム160へポストを通信する。ポストは、ステータス更新もしくはその他のテキストデータ、ロケーション情報、写真、ビデオ、リンク、音楽、またはその他の類似したデータもしくはメディアなどのデータを含むことができる。コンテンツは、ニュースフィードまたはストリームなどの「通信チャネル」を通じてサードパーティによってソーシャルネットワーキングシステム160に付加されることも可能である。
特定の実施形態においては、ソーシャルネットワーキングシステム160は、さまざまなサーバ、サブシステム、プログラム、モジュール、ログ、およびデータストアを含むことができる。特定の実施形態においては、ソーシャルネットワーキングシステム160は、ウェブサーバ、アクションロガー、API要求サーバ、関連性およびランキングエンジン、コンテンツオブジェクト分類子、通知コントローラ、アクションログ、サードパーティコンテンツオブジェクト露出ログ、推測モジュール、認可/プライバシーサーバ、検索モジュール、広告ターゲティングモジュール、ユーザインターフェースモジュール、ユーザプロフィールストア、つながりストア、サードパーティコンテンツストア、またはロケーションストアのうちの1つまたは複数を含むことができる。ソーシャルネットワーキングシステム160は、適切なコンポーネント、たとえば、ネットワークインターフェース、セキュリティーメカニズム、ロードバランサ、フェイルオーバサーバ、管理およびネットワークオペレーションコンソール、その他の適切なコンポーネント、またはそれらの任意の適切な組合せを含むこともできる。特定の実施形態においては、ソーシャルネットワーキングシステム160は、ユーザプロフィールを格納するための1つまたは複数のユーザプロフィールストアを含むことができる。ユーザプロフィールは、たとえば、経歴情報、人口統計学的情報、挙動情報、ソーシャルな情報、またはその他のタイプの記述的情報、たとえば、職業経験、学歴、趣味もしくは好み、関心、親近感、またはロケーションを含むことができる。関心情報は、1つまたは複数のカテゴリに関連した関心を含むことができる。カテゴリは、一般的または具体的であることが可能である。限定ではなく、例として、ユーザが、あるブランドの靴に関する記事に対して「いいね!」を表明した場合には、カテゴリは、そのブランド、または「靴」もしくは「衣類」という一般的なカテゴリであることが可能である。ユーザに関するつながり情報を格納するために、つながりストアが使用されることが可能である。つながり情報は、類似のもしくは共通の職業経験、グループメンバーシップ、趣味、学歴を有しているか、または何らかの形で関連しているか、もしくは共通の属性を共有しているユーザ同士を示すことができる。つながり情報は、さまざまなユーザおよびコンテンツ(内部および外部の両方)の間におけるユーザ定義のつながりを含むこともできる。ネットワーク110を介してソーシャルネットワーキングシステム160を1つもしくは複数のクライアントシステム130または1つもしくは複数のサードパーティシステム170にリンクさせるために、ウェブサーバが使用されることが可能である。ウェブサーバは、ソーシャルネットワーキングシステム160と、1つまたは複数のクライアントシステム130との間においてメッセージを受け取って回送するためにメールサーバまたはその他のメッセージング機能を含むことができる。API要求サーバは、サードパーティシステム170が、1つまたは複数のAPIを呼び出すことによってソーシャルネットワーキングシステム160からの情報にアクセスすることを可能にすることができる。ソーシャルネットワーキングシステム160の上のまたは外のユーザのアクションに関してウェブサーバから通信を受け取るために、アクションロガーが使用されることが可能である。アクションログとともに、サードパーティコンテンツオブジェクトへのユーザの露出についてのサードパーティコンテンツオブジェクトログが保持されることが可能である。通知コントローラは、コンテンツオブジェクトに関する情報をクライアントシステム130に提供することができる。情報は、通知としてクライアントシステム130へ押し出されることが可能であり、または情報は、クライアントシステム130から受け取られた要求に応答してクライアントシステム130から引き出されることが可能である。ソーシャルネットワーキングシステム160のユーザの1つまたは複数のプライバシー設定を実施するために、認可サーバが使用されることが可能である。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有されることが可能であるかを特定する。認可サーバは、ユーザが、たとえば、適切なプライバシー設定を設定することなどによって、自分のアクションをソーシャルネットワーキングシステム160によって記録されること、またはその他のシステム(たとえば、サードパーティシステム170)と共有されることのオプトインまたはオプトアウトを行うことを可能にすることができる。サードパーティシステム170などのサードパーティから受け取られたコンテンツオブジェクトを格納するために、サードパーティコンテンツオブジェクトストアが使用されることが可能である。ユーザに関連付けられているクライアントシステム130から受け取られたロケーション情報を格納するために、ロケーションストアが使用されることが可能である。広告価格設定モジュールが、ソーシャルな情報、現在時刻、ロケーション情報、またはその他の適切な情報を組み合わせて、関連がある広告を、通知の形式でユーザに提供することができる。
図2は、例示的なソーシャルグラフ200を示している。特定の実施形態においては、ソーシャルネットワーキングシステム160は、1つまたは複数のソーシャルグラフ200を1つまたは複数のデータストア内に格納することができる。特定の実施形態においては、ソーシャルグラフ200は、複数のノード(複数のユーザノード202、または複数のコンセプトノード204を含むことができる)と、ノード同士をつなげる複数のエッジ206とを含むことができる。図2において示されている例示的なソーシャルグラフ200は、教示上の目的から、2次元のビジュアルマップ表示で示されている。特定の実施形態においては、ソーシャルネットワーキングシステム160、クライアントシステム130、またはサードパーティシステム170は、適切なアプリケーションに関してソーシャルグラフ200および関連したソーシャルグラフ情報にアクセスすることができる。ソーシャルグラフ200のノードおよびエッジは、データオブジェクトとして、たとえば(ソーシャルグラフデータベースなどの)データストア内に格納されることが可能である。そのようなデータストアは、ソーシャルグラフ200のノードまたはエッジの1つまたは複数の検索可能なまたはクエリ可能なインデックスを含むことができる。
特定の実施形態においては、ユーザノード202は、ソーシャルネットワーキングシステム160のユーザに対応することができる。限定ではなく、例として、ユーザは、ソーシャルネットワーキングシステム160と、またはソーシャルネットワーキングシステム160を介して対話または通信する個人(人間のユーザ)、エンティティ(たとえば、企業、ビジネス、もしくはサードパーティアプリケーション)、または(たとえば、個人もしくはエンティティの)グループであることが可能である。特定の実施形態においては、あるユーザがソーシャルネットワーキングシステム160とのアカウントに登録した場合には、ソーシャルネットワーキングシステム160は、そのユーザに対応するユーザノード202を作成し、そのユーザノード202を1つまたは複数のデータストア内に格納することができる。本明細書において記述されているユーザおよびユーザノード202は、適切な場合には、登録されているユーザ、および登録されているユーザに関連付けられているユーザノード202を指すことができる。追加として、または代替として、本明細書において記述されているユーザおよびユーザノード202は、適切な場合には、ソーシャルネットワーキングシステム160に登録されていないユーザを指すことができる。特定の実施形態においては、ユーザノード202は、ユーザによって提供された情報、またはソーシャルネットワーキングシステム160を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、ユーザは、自分の名前、プロフィール画像、連絡先情報、生年月日、性別、婚姻状況、家族状況、勤務先、学歴、好み、関心、またはその他の人口統計学的情報を提供することができる。特定の実施形態においては、ユーザノード202は、ユーザに関連付けられている情報に対応する1つまたは複数のデータオブジェクトに関連付けられることが可能である。特定の実施形態においては、ユーザノード202は、1つまたは複数のウェブページに対応することができる。
特定の実施形態においては、コンセプトノード204は、コンセプトに対応することができる。限定ではなく、例として、コンセプトは、場所(たとえば、映画館、レストラン、ランドマーク、もしくは都市など)、ウェブサイト(たとえば、ソーシャルネットワークシステム160に関連付けられているウェブサイト、もしくはウェブアプリケーションサーバに関連付けられているサードパーティウェブサイトなど)、エンティティ(たとえば、人、企業、グループ、スポーツチーム、もしくは有名人など)、ソーシャルネットワーキングシステム160内に、もしくはウェブアプリケーションサーバなどの外部サーバ上に配置されることが可能であるリソース(たとえば、オーディオファイル、ビデオファイル、デジタル写真、テキストファイル、構造化されたドキュメント、もしくはアプリケーションなど)、物的もしくは知的財産(たとえば、彫塑、絵画、映画、ゲーム、曲、アイディア、写真、もしくは執筆作品など)、ゲーム、アクティビティ、アイディア、理論、拡張現実環境/仮想現実環境におけるオブジェクト、別の適切なコンセプト、または複数のそのようなコンセプトに対応することができる。コンセプトノード204は、ユーザによって提供されたコンセプトの情報、またはソーシャルネットワーキングシステム160を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、コンセプトの情報は、名前もしくはタイトル、1つもしくは複数のイメージ(たとえば、本の表紙のイメージ)、ロケーション(たとえば、住所もしくは地理的ロケーション)、ウェブサイト(URLに関連付けられることが可能である)、連絡先情報(たとえば、電話番号もしくは電子メールアドレス)、その他の適切なコンセプト情報、またはそのような情報の任意の適切な組合せを含むことができる。特定の実施形態においては、コンセプトノード204は、コンセプトノード204に関連付けられている情報に対応する1つまたは複数のデータオブジェクトに関連付けられることが可能である。特定の実施形態においては、コンセプトノード204は、1つまたは複数のウェブページに対応することができる。
特定の実施形態においては、ソーシャルグラフ200内のノードは、ウェブページ(「プロフィールページ」と呼ばれる場合もある)を表すこと、またはウェブページによって表されることが可能である。プロフィールページは、ソーシャルネットワーキングシステム160によってホストされること、またはソーシャルネットワーキングシステム160にとってアクセス可能であることが可能である。プロフィールページは、サードパーティサーバ170に関連付けられているサードパーティウェブサイト上にホストされることも可能である。限定ではなく、例として、特定の外部ウェブページに対応するプロフィールページは、その特定の外部ウェブページであることが可能であり、そのプロフィールページは、特定のコンセプトノード204に対応することができる。プロフィールページは、その他のユーザのうちのすべてまたは選択されたサブセットによって閲覧できることが可能である。限定ではなく、例として、ユーザノード202は、対応するユーザプロフィールページを有することができ、そのユーザプロフィールページにおいては、対応するユーザが、コンテンツを付加すること、言明を行うこと、またはその他の形で自分自身を表現することが可能である。限定ではなく、別の例として、コンセプトノード204は、対応するコンセプトプロフィールページを有することができ、そのコンセプトプロフィールページにおいては、1人または複数のユーザが、特にコンセプトノード204に対応するコンセプトに関連して、コンテンツを付加すること、言明を行うこと、または自分自身を表現することが可能である。
特定の実施形態においては、コンセプトノード204は、サードパーティシステム170によってホストされているサードパーティウェブページまたはリソースを表すことができる。サードパーティウェブページまたはリソースは、数ある要素の中でも、コンテンツ、選択可能なもしくはその他のアイコン、または、アクションもしくはアクティビティを表す(たとえば、JAVASCRIPT(登録商標)、AJAX、もしくはPHPコードで実装されることが可能である)その他の対話可能なオブジェクトを含むことができる。限定ではなく、例として、サードパーティウェブページは、「いいね!」、「チェックイン」、「食べる」、「推奨する」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含むことができる。サードパーティウェブページを閲覧しているユーザは、それらのアイコンのうちの1つ(たとえば、「チェックイン」)を選択することによってアクションを実行して、クライアントシステム130に、そのユーザのアクションを示すメッセージをソーシャルネットワーキングシステム160へ送信させることができる。そのメッセージに応答して、ソーシャルネットワーキングシステム160は、ユーザに対応するユーザノード202と、サードパーティウェブページまたはリソースに対応するコンセプトノード204との間においてエッジ(たとえば、「チェックインタイプ」エッジ)を作成して、エッジ206を1つまたは複数のデータストア内に格納することができる。
特定の実施形態においては、ソーシャルグラフ200内の1対のノードが、1つまたは複数のエッジ206によって互いにつながることが可能である。1対のノードをつなげるエッジ206は、それらの1対のノードの間における関係を表すことができる。特定の実施形態においては、エッジ206は、1対のノードの間における関係に対応する1つまたは複数のデータオブジェクトまたは属性を含むことまたは表すことが可能である。限定ではなく、例として、第1のユーザは、第2のユーザが第1のユーザの「友達」であることを示すことができる。この表示に応答して、ソーシャルネットワーキングシステム160は、「友達要求」を第2のユーザに送信することができる。第2のユーザがその「友達要求」を承認した場合には、ソーシャルネットワーキングシステム160は、ソーシャルグラフ200内で第1のユーザのユーザノード202を第2のユーザのユーザノード202につなげるエッジ206を作成して、エッジ206をソーシャルグラフ情報としてデータストア164のうちの1つまたは複数の中に格納することができる。図2の例においては、ソーシャルグラフ200は、ユーザ「A」のユーザノード202と、ユーザ「B」のユーザノード202との間における友達関係を示すエッジ206と、ユーザ「C」のユーザノード202と、ユーザ「B」のユーザノード202との間における友達関係を示すエッジとを含む。本開示は、特定のユーザノード202同士をつなげる特定の属性を伴う特定のエッジ206を記述している、または示しているが、本開示は、ユーザノード202同士をつなげる任意の適切な属性を伴う任意の適切なエッジ206を想定している。限定ではなく、例として、エッジ206は、友達関係、家族関係、ビジネスもしくは雇用関係、ファン関係(例えば、お気に入りを表明することを含む)、フォロワー関係、ビジター関係(例えば、アクセスすること、視聴すること、チェックすること、共有することを含む)、サブスクライバ関係、上下関係、互恵的関係、非互恵的関係、別の適切なタイプの関係、または複数のそのような関係を表すことができる。その上、本開示は一般に、ノード同士をつながっているものとして記述しているが、本開示はまた、ユーザ同士またはコンセプト同士をつながっているものとして記述している。本明細書においては、つながっているユーザ同士またはコンセプト同士への言及は、適切な場合には、1つまたは複数のエッジ206によってソーシャルグラフ200内でつながっているそれらのユーザ同士またはコンセプト同士に対応するノード同士を指すことができる。
特定の実施形態においては、ユーザノード202とコンセプトノード204との間におけるエッジ206は、ユーザノード202に関連付けられているユーザによって、コンセプトノード204に関連付けられているコンセプトに対して実行された特定のアクションまたはアクティビティを表すことができる。限定ではなく、例として、図2において示されているように、ユーザは、コンセプトに対して「いいね!を表明すること」、「通うこと」、「プレイすること」、「聴くこと」、「料理すること」、「勤務すること」、または「観ること」を行った可能性があり、それらのそれぞれは、エッジタイプまたはサブタイプに対応することができる。コンセプトノード204に対応するコンセプトプロフィールページは、たとえば、選択可能な「チェックイン」アイコン(たとえば、クリック可能な「チェックイン」アイコンなど)、または選択可能な「お気に入りに追加」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後に、ソーシャルネットワーキングシステム160は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。限定ではなく、別の例として、あるユーザ(ユーザ「C」)が、特定のアプリケーション(オンライン音楽アプリケーションであるSPOTIFY)を使用して特定の曲(「イマジン」)を聴く場合がある。このケースにおいては、ソーシャルネットワーキングシステム160は、そのユーザに対応するユーザノード202と、その曲およびアプリケーションに対応するコンセプトノード204との間において、「聴いた」エッジ206(図2に示されている)および「使用した」エッジを作成して、そのユーザがその曲を聴いてそのアプリケーションを使用したことを示すことができる。その上、ソーシャルネットワーキングシステム160は、その曲に対応するコンセプトノード204と、そのアプリケーションに対応するコンセプトノード204との間において、「再生した」エッジ206(図2に示されている)を作成して、その特定の曲がその特定のアプリケーションによって再生されたことを示すことができる。このケースにおいては、「再生した」エッジ206は、外部アプリケーション(SPOTIFY)によって外部オーディオファイル(「イマジン」という曲)に関して実行されたアクションに対応する。本開示は、ユーザノード202とコンセプトノード204とをつなげる特定の属性を伴う特定のエッジ206について記述しているが、本開示は、ユーザノード202とコンセプトノード204とをつなげる任意の適切な属性を伴う任意の適切なエッジ206を想定している。その上、本開示は、単一の関係を表すユーザノード202とコンセプトノード204との間におけるエッジについて記述しているが、本開示は、1つまたは複数の関係を表すユーザノード202とコンセプトノード204との間におけるエッジを想定している。限定ではなく、例として、エッジ206は、ユーザが特定のコンセプトに対して「いいね!」を表明していること、およびその特定のコンセプトを使用したことの両方を表すことができる。あるいは、別のエッジ206は、ユーザノード202とコンセプトノード204との間におけるそれぞれのタイプの関係(または、単一の関係が複数集まったもの)を表すことができる(図2において、ユーザ「E」を表すユーザノード202と、「SPOTIFY」を表すコンセプトノード204との間において示されているように)。
特定の実施形態においては、ソーシャルネットワーキングシステム160は、ソーシャルグラフ200内でユーザノード202とコンセプトノード204との間においてエッジ206を作成することができる。限定ではなく、例として、(たとえば、ユーザのクライアントシステム130によってホストされているウェブブラウザまたは専用のアプリケーションを使用することなどによって)コンセプトプロフィールページを閲覧しているユーザは、「いいね!」アイコンをクリックまたは選択することにより、コンセプトノード204によって表されているコンセプトを自分が気に入っていることを示すことができ、その「いいね!」アイコンをクリックまたは選択することは、ユーザのクライアントシステム130に、そのコンセプトプロフィールページに関連付けられているそのコンセプトをそのユーザが気に入っていることを示すメッセージをソーシャルネットワーキングシステム160へ送信させることができる。そのメッセージに応答して、ソーシャルネットワーキングシステム160は、そのユーザとコンセプトノード204との間における「いいね!」エッジ206によって示されているように、そのユーザに関連付けられているユーザノード202とコンセプトノード204との間においてエッジ206を作成することができる。特定の実施形態においては、ソーシャルネットワーキングシステム160は、エッジ206を1つまたは複数のデータストア内に格納することができる。特定の実施形態においては、エッジ206は、特定のユーザアクションに応答してソーシャルネットワーキングシステム160によって自動的に形成されることが可能である。限定ではなく、例として、第1のユーザが、画像をアップロードすること、映画を観ること、または曲を聴くことを行った場合には、エッジ206は、第1のユーザに対応するユーザノード202と、それらのコンセプトに対応するコンセプトノード204との間において形成されることが可能である。本開示は、特定の様式で特定のエッジ206を形成することについて記述しているが、本開示は、任意の適切な様式で任意の適切なエッジ206を形成することを想定している。
特定の実施形態では、広告は、(HTMLのリンクが張られ得る)テキスト、(HTMLのリンクが張られ得る)1つもしくは複数のイメージ、1つもしくは複数のビデオ、オーディオ、他の適切なデジタルオブジェクトファイル、これらの適切な組合せ、あるいは1つもしくは複数のウェブページで、1つもしくは複数の電子メールで、またはユーザによって要求された検索結果に関連して提示される任意の適切なデジタルフォーマットの任意の他の適切な広告であり得る。加えて、または代替として、広告は、1つまたは複数のスポンサー付きの記事(例えば、ニュースフィード、またはソーシャルネットワーキングシステム160のティッカーアイテム)であり得る。スポンサー付きの記事は、例えば、ソーシャルアクションをユーザのプロファイルページもしくは他のページの予め決められた領域内に示されるか、広告主に関連する追加の情報と共に示されるか、他のユーザのニュースフィードもしくはティッカー内で大きくされるかもしくは他の方法で強調されるか、または他の方法でプロモーションされるようにすることによって、広告主がプロモーションするユーザによるソーシャルアクション(ページに対して「いいね」を表明する、ページの投稿に対して「いいね」を表明するかもしくはコメントする、ページに関連するイベントへの出欠の返事をする(RSVP)、ページに投稿された質問に投票する、ある場所にチェックインする、アプリケーションを使用するかもしくはゲームをする、またはウェブサイトに対して「いいね」を表明するかもしくはウェブサイトを共有するなど)であり得る。広告主は、ソーシャルアクションをプロモーションさせるために料金を支払い得る。ソーシャルアクションは、ソーシャルネットワーキングシステム160内でまたはソーシャルネットワーキングシステム160上でプロモーションされ得る。加えて、または代替として、ソーシャルアクションは、適切な場合、ソーシャルネットワーキングシステム160の外部またはソーシャルネットワーキングシステム160から外れてプロモーションされ得る。特定の実施形態では、ページは、会社、組織、またはブランドが記事を共有することおよび人とつながることを容易にする会社、組織、またはブランドの(ソーシャルネットワーキングシステム160の中または外のウェブページまたはウェブサイトなど)オンラインプレゼンスであり得る。ページは、例えば、アプリケーションを追加すること、記事を投稿すること、またはイベントをホストすることによってカスタマイズされ得る。
スポンサー付きの記事は、ユーザのニュースフィードの記事から生成され、ソーシャルネットワーキングシステム160に関連するウェブページを閲覧するときに、ユーザのウェブブラウザの表示内の特定の領域にプロモーションされ得る。スポンサー付きの記事が、一般に、ユーザの友達、ファンページ、または他のつながりによるインタラクションもしくは提案を少なくとも部分的に含むので、スポンサー付きの記事は、ユーザによって閲覧される可能性がより高い。スポンサー付きの記事に関連して、特定の実施形態は、「Sponsored Stories Unit Creation from Organic Activity Stream」と題された、2011年12月15日に出願された米国特許出願第13/327557号、「Sponsored Stories Unit Creation from Organic Activity Stream」と題された、米国特許出願第13/020745号として2012年2月3日に出願された米国特許出願公開第2012/0203831号、または「Endorsement Subscriptions for Sponsored Stories」と題された、米国特許出願第13/044506号として2011年3月9日に出願された米国特許出願公開第2012/0233009号に開示された1つまたは複数のシステム、構成要素、要素、機能、方法、動作、またはステップを利用してもよく、これらの特許出願および特許出願公開は、すべて、限定ではなく例として本願明細書に援用する。特定の実施形態では、スポンサー付きの記事は、限定ではなく例として本願明細書に援用する「Computer−Vision Content Detection for Sponsored Stories」と題された、2011年8月18日に出願された米国特許出願第13/212356号に開示されたように、広告主と明示的なつながりのないアップロードされたイメージまたはフォトの中の製品を検出するためにコンピュータビジョンアルゴリズムを利用し得る。
上述のように、広告は、(HTMLのリンクが張られ得る)テキスト、(HTMLのリンクが張られ得る)1つもしくは複数のイメージ、1つもしくは複数のビデオ、オーディオ、1つもしくは複数のADOBE FLASHファイル、これらの適切な組合せ、または任意の適切なデジタルフォーマットの任意の他の適切な広告であり得る。特定の実施形態では、広告は、サードパーティのウェブページ、ソーシャルネットワーキングシステムのウェブページ、または他のページ内に表示するために要求され得る。広告は、ページの1番上のバナー領域内、ページの横のカラム内、ページのGUI内、ポップアップウィンドウ内、ページのコンテンツの上、またはページに関連する他の場所などのページ内の専用の部分に表示することができる。加えて、または代替として、広告は、アプリケーション内またはゲーム内に表示することができる。広告は、専用のページ内に表示され、ユーザがページにアクセスするかアプリケーションを利用するか、またはゲームをプレイし得る前にユーザが広告と対話するかまたは広告を見ることを要求し得る。ユーザは、例えば、ウェブブラウザを通じて広告を閲覧し得る。
ユーザは、任意の適切な方式で広告と対話することができる。ユーザは、広告をクリックあるいは選択することができ、広告は、広告に関連するページにユーザ(またはユーザが使用中のブラウザもしくは他のアプリケーション)を導くことができる。広告に関連するページで、ユーザは、広告に関連する製品またはサービスを購入すること、広告に関連する情報を受信すること、広告に関連するニュースレターを購読することなどの追加のアクションを取ることができる。広告の構成要素(「再生ボタン」など)を選択することによってオーディオまたはビデオ付きの広告を再生することができる。特定の実施形態では、広告は1つまたは複数のゲームを含むことができ、ユーザまたは他のアプリケーションは、広告に関連してそのゲームをプレイすることができる。広告は、広告内の調査または質問に応答する機能を含むことができる。
広告は、ユーザが対話することができるソーシャルネットワーキングシステム機能を含み得る。例えば、広告は、ユーザが承認に関連するアイコンまたはリンクを選択することによって広告に対して「いいね」を表明するかまたは他の方法で承認することを可能にし得る。同様に、ユーザは、(例えば、ソーシャルネットワーキングシステム160を通じて)別のユーザと広告を共有するか、または(例えば、ソーシャルネットワーキングシステム160を通じて)広告に関連するイベントへの出欠の返事をし得る。加えて、または代替として、広告は、ユーザを対象とするソーシャルネットワーキングシステムのコンテキストを含むことができる。例えば、広告は、広告の対象に関連するアクションを取ったソーシャルネットワーキングシステム160内のユーザの友達についての情報を表示し得る。
ソーシャルネットワーキングシステム機能またはコンテンツが、任意の適切な方法で広告に関連付けられ得る。例えば、(広告に関する入札を受信し、それに応じて広告を選択するためのハードウェア、ソフトウェア、またはその両方を含み得る)広告システムが、ユーザに広告を提供する前に、ソーシャルネットワーキングシステム160からソーシャルネットワーキング機能またはコンテンツを取り出し、取り出されたソーシャルネットワーキング機能またはコンテンツを広告に組み込むことができる。ソーシャルネットワーキングシステムの機能またはコンテンツを選択し、広告と共に提供する例は、「Providing Social Endorsements with Online advertising」と題された、米国特許出願第12/898662号として2010年10月5日に出願された米国特許出願公開第2012/0084160号、および「Selecting Social Endorsement Information for an Advertisement for Display to a Viewing User」と題された、米国特許出願第13/043424号として2011年3月8日に出願された米国特許出願公開第2012/0232998号に開示されており、これらの特許出願および特許出願公開は、限定ではなく単に例として本願明細書に援用する。ソーシャルネットワーキングシステムの機能またはコンテンツに関連付けられる広告とインタラクションすることは、インタラクションについての情報を、ソーシャルネットワーキングシステム160内のユーザのプロファイルページ内に表示させ得る。
特定の実施形態は、広告をより関連性が高く、または有用であると感じる可能性がより高いユーザへの広告の配信を容易にすることができる。例えば、広告主は、その広告主の広告をより関連性があるかまたは有用であると思う可能性がより高いユーザを特定し、目標に定めることによって、より高いコンバージョン率(および広告からのより高い投資収益率(ROI))を実現し得る。広告主は、ソーシャルネットワーキングシステム160内のユーザプロファイル情報を使用して、そうしたユーザを特定することができる。加えて、または代替として、ソーシャルネットワーキングシステム160は、ソーシャルネットワーキングシステム160内のユーザプロファイル情報を使用して、広告主のためのそうしたユーザを特定することができる。限定ではなく例として、特定の実施形態は、イベントの招待または提案、クーポン、取引、またはウィッシュリストアイテムに関する提案、友達の生活の出来事に関する提案、グループに関する提案、広告、またはソーシャル広告を用いて、ユーザを目標に定め得る。そのような目標を定めることは、適切な場合、ソーシャルネットワーキングシステム160上もしくはソーシャルネットワーキングシステム160内で、ソーシャルネットワーキングシステム160から外れてもしくはソーシャルネットワーキングシステム160の外部で、またはユーザのモバイルコンピューティングデバイス上で行われ得る。ソーシャルネットワーキングシステム160上でまたはソーシャルネットワーキングシステム160内であるとき、そのように目標を定めることは、ユーザのニュースフィード、検索結果、電子メールもしくは他の受信箱、または通知のチャネルを対象としてもよく、また(同じ概念、ノード、もしくはオブジェクトに関連する右側のレールの広告に沿ってグループ化し得る)コンシェルジュもしくはグルーパ領域、または(ユーザがウェブページで閲覧しているものおよびユーザの現在のニュースフィードに基づき得る)ネットワークエゴ領域のウェブページの右側などのソーシャルネットワーキングシステム160のウェブページの特定の領域に現れ得る。ソーシャルネットワーキングシステム160から外れてまたはソーシャルネットワーキングシステム160の外部であるとき、そのように目標を定めることは、例えば、広告交換またはソーシャルプラグインを含むサードパーティウェブサイトを通じて提供されてもよい。ユーザのモバイルコンピューティングデバイス上のとき、そのように目標を定めることは、モバイルコンピューティングデバイスへのプッシュ通知を通じて提供されてもよい。
ユーザを特定し、目標に定めるために使用される目標決定基準は、ソーシャルネットワーキングシステム160上の明示的な明言されたユーザの関心、またはソーシャルネットワーキングシステム160上のノード、オブジェクト、エンティティ、ブランド、もしくはページへのユーザの明示的なつながりを含み得る。加えて、または代替として、そのような目標決定基準は、(ユーザの履歴、人口統計、ソーシャルなもしくは他の活動、友達のソーシャルなもしくは他の活動、加入、または(例えば、共有された関心、つながり、もしくはイベントに基づく)ユーザに似た他のユーザの前述の項目のいずれかを分析することを含み得る))明示的なまたは推測されるユーザの関心またはつながりを含み得る。特定の実施形態は、プラットフォーム、および「いいね」インプレッションデータ、コンテキストの信号(例えば、「COCA−COLAに関するページを現在誰が閲覧しているかまたは最近閲覧したか?」)、薄いつながり(例えば、「チェックイン」)、つながりに似たもの、ファン、抽出されたキーワード、EMU広告、推定広告、係数、アフィニティ、もしくは他のソーシャルグラフ情報、友達の友達のつながり、ピンニングもしくはブースティング、取引、投票、世帯収入、社会的集団もしくはグループ、イメージもしくは他の媒体内で検出された製品、ソーシャルまたはオープングラフのエッジタイプ、地理的予測、プロファイルもしくはページのビュー、最新の近況もしくは他のユーザの投稿(それらの分析は、自然言語処理もしくはキーワードの抽出を伴い得る)、イベント情報、または協調フィルタリングを含み得るプラットフォームの目標決定を利用してもよい。ユーザを特定し、目標に定めることは、適宜、(ユーザのオプトアウトなどの)プライバシー設定、データハッシュ、またはデータの匿名化をも含んでもよい。
ユーザを広告の目標に定めるために、特定の実施形態は、「Social Advertisements and Other informational Messages on a Social Networking Website and Advertising Model for Same」と題された、米国特許出願第12/193702号として2008年8月18日に出願された米国特許出願公開第2009/0119167号、「Targeting Advertisement in a Social Network」と題された、米国特許出願第12/195321号として2008年8月20日に出願された米国特許出願公開第2009/0070219号、「Targeting Social Advertising to Friends of Users Who Have Interacted With an Object Associated with the Advertising」と題された、米国特許出願第12/968786号として2010年12月15日に出願された米国特許出願公開第2012/0158501号、または「Contextually Relevant Affinity Prediction in a Social−Networking System」と題された、米国特許出願第12/978265号として2010年12月23日に出願された米国特許出願公開第2012/0166532号で開示された1つまたは複数のシステム、構成要素、要素、機能、方法、動作、またはステップを利用してもよく、これらの特許出願および特許出願公開は、すべて、限定ではなく例として本願明細書に援用する。
広告は、ウェブブラウザもしくは他のアプリケーションのプラグイン、iframe要素、ニュースフィード、ティッカー、(例えば、電子メール、ショートメッセージサービス(SMS)メッセージ、もしくは通知を含み得る)通知、または他の手段を用いて示されるか、またはそうでなければ配信され得る。広告は、ユーザのモバイルまたは他のコンピューティングデバイスでユーザに示されるか、またはそうでなければ配信され得る。広告を配信することに関連して、特定の実施形態は、以下、すなわち「Comment Plug−In for Third−Party System」と題された、米国特許出願第12/969368号として2010年12月15日に出願された米国特許出願公開第2012/0159635号、「Comment Ordering System」と題された、米国特許出願第12/969408号として2010年12月15日に出願された米国特許出願公開第2012/0158753号、「Dynamically Providing a News Feed About a User of a Social Network」と題された、米国特許出願第11/503242号として2006年8月11日に出願された米国特許第7,669,123号、「Providing a Newsfeed Based on User Affinity for Entities and Monitored Actions in a Social Network Environment」と題された、米国特許出願第11/503093号として2006年8月11日に出願された米国特許第8,402,094号、「Action Clustering for News Feeds」と題された、米国特許出願第12/884010号として2010年9月16日に出願された米国特許出願公開第2012/0072428号、「Gathering Information about Connections in a Social Networking Service」と題された、米国特許出願第12/496606号として2009年7月1日に出願された米国特許出願公開第2011/0004692号、「Method and System for Tracking Changes to User Content in an Online Social Network」と題された、米国特許出願第11/531154号として2006年9月12日に出願された米国特許出願公開第2008/0065701号、「Feeding Updates to Landing Pages of Users of an Online Social Network from External Sources」と題された、米国特許出願第11/624088号として2007年1月17日に出願された米国特許出願公開第2008/0065604号、「Integrated Social−Network Environment」と題された、米国特許出願第12/763171号として2010年4月19日に出願された米国特許第8244848号、「Sharing of Location−Based Content Item in Social−Networking Service」と題された、米国特許出願第12/574614号として2009年10月6日に出願された米国特許出願公開第2011/0083101号、「Location Ranking Using Social−Graph Information」と題された、米国特許出願第12/858718号として2010年8月18日に出願された米国特許第8150844号、「Sending Notifications to Users Based on Users’ Notification Tolerance Levels」と題された、2011年3月18日に出願された米国特許出願第13/051286号、「Managing Notifications Pushed to User Devices」と題された、2011年4月28日に出願された米国特許出願第13/096184号、「Platform−Specific Notification Delivery Channel」と題された、2011年10月18日に出願された米国特許出願第13/276248号、または「Mobile Advertisement with Social Component for Geo−Social Networking System」と題された、米国特許出願第13/019061号として2011年2月1日に出願された米国特許出願公開第2012/0197709号で開示された1つまたは複数のシステム、構成要素、要素、機能、方法、動作、またはステップを利用することができ、これらの特許出願および特許出願公開は、すべて、限定ではなく例として本願明細書に援用する。本開示は、特定の広告が特定の方式で特定のコンテンツに関連して配信される特定の広告を説明または図示するが、本開示は、任意の適切な方式で、任意の適切なコンテンツに関連して配信される任意の適切な広告を企図している。
特定の実施形態において、ソーシャルネットワーキングシステム160は、互いに対するさまざまなソーシャルグラフのエンティティのソーシャルグラフアフィニティ(本明細書においては「アフィニティ」と呼ばれることがある)を決定し得る。アフィニティは、ユーザ、コンセプト、コンテンツ、アクション、広告、オンラインソーシャルネットワークに関連付けられているその他のオブジェクト、またはこれらの任意の好適な組み合わせなどのオンラインソーシャルネットワークに関連付けられている特定のオブジェクトの間の関係の強さまたは関心のレベルを表し得る。また、アフィニティは、サードパーティシステム170またはその他の好適なシステムに関連付けられているオブジェクトに関連して決定され得る。各ユーザ、対象、またはコンテンツの種類に対するソーシャルグラフのエンティティに関する全体的なアフィニティが、確立されることが可能である。全体的なアフィニティは、ソーシャルグラフのエンティティに関連付けられているアクションまたは関係の継続的な監視に基づいて変わり得る。本開示は、特定のやり方で特定のアフィニティを決定することを説明するが、任意の好適なやり方で任意の好適なアフィニティを決定することを想定する。
特定の実施形態において、ソーシャルネットワーキングシステム160は、アフィニティ係数(affinity coefficient)(本明細書においては「係数」と呼ばれることがある)を使用してソーシャルグラフアフィニティを測定または定量化し得る。係数は、オンラインソーシャルネットワークに関連付けられている特定のオブジェクトの間の関係の強さを表すかまたは定量化し得る。また、係数は、ユーザがアクションに対するユーザの関心に基づいて特定のアクションを実行する予想された確率を測定する確率または関数を表すことが可能である。このようにして、ユーザの将来のアクションが、ユーザの以前のアクションに基づいて予想される可能性があり、係数が、ユーザのアクションの履歴に少なくとも部分的に基づいて計算され得る。係数は、オンラインソーシャルネットワークの中または外にある可能性がある任意の数のアクションを予想するために使用され得る。限定ではなく例として、これらのアクションは、メッセージを送信すること、コンテンツをポストすること、もしくはコンテンツにコメントすることなどのさまざまな種類の通信、プロファイルページ、メディア、もしくはその他の好適なコンテンツにアクセスするかもしくはそれを閲覧することなどのさまざまな種類の観測アクション、同じグループにいること、同じ写真にタグ付けされること、同じ位置にチェックインされること、もしくは同じイベントに参加することなどの2つ以上のソーシャルグラフのエンティティについてのさまざまな種類の一致情報、またはその他の好適なアクションを含み得る。本開示は、特定のやり方でアフィニティを測定することを説明するが、任意の好適なやり方でアフィニティを測定することを想定する。
特定の実施形態において、ソーシャルネットワーキングシステム160は、さまざまな因子を使用して係数を計算し得る。これらの因子は、たとえば、ユーザのアクション、オブジェクトの間の関係の種類、位置情報、その他の好適な因子、またはこれらの任意の組み合わせを含み得る。特定の実施形態においては、係数を計算するときに、異なる因子が異なるように重み付けされることが可能である。各因子に関する重みは、静的であることが可能であり、または重みは、たとえば、ユーザ、関係の種類、アクションの種類、ユーザの位置などに従って変わり得る。因子に関するレーティングが、ユーザに関する全体的な係数を決定するためにそれらの因子の重みに従って組み合わされ得る。限定ではなく例として、特定のユーザのアクションが、レーティングと重みとの両方を割り振られ得る一方、特定のユーザのアクションに関連付けられている関係は、レーティングおよび相関重み(correlating weight)を割り当てられる(たとえば、したがって、重みは合計で100%になる)。特定のオブジェクトに対するユーザの係数を計算するために、ユーザのアクションに割り振られるレーティングが、たとえば、全体的な係数の60%を含み得る一方、ユーザとオブジェクトとの間の関係は、全体的な係数の40%を含み得る。特定の実施形態において、ソーシャルネットワーキングシステム160は、係数を計算するために使用されるさまざまな因子に関する重みを決定するときに、たとえば、情報がアクセスされてからの時間、減衰因子、アクセスの頻度、情報との関係もしくは情報がアクセスされたオブジェクトとの関係、オブジェクトに接続されたソーシャルグラフのエンティティとの関係、ユーザのアクションの短期的もしくは長期的平均、ユーザのフィードバック、その他の好適な変数、またはこれらの任意の組み合わせなどのさまざまな変数を考える可能性がある。限定ではなく例として、係数は、係数を計算するときにより最近のアクションがより関連性を持つように、特定のアクションによって提供される信号の強度を時間とともに減衰させる減衰因子を含むことが可能である。レーティングおよび重みは、係数が基づくアクションの継続的な追跡に基づいて継続的に更新され得る。各因子に関するレーティングおよび因子に割り振られる重みの割り振り、組み合わせ、平均などのために任意の種類のプロセスまたはアルゴリズムが採用され得る。特定の実施形態において、ソーシャルネットワーキングシステム160は、履歴的アクションおよび過去のユーザの応答、またはユーザをさまざまなオプションに露出し、応答を測定することによってユーザから養われたデータで訓練された機械学習アルゴリズムを使用して係数を決定し得る。本開示は、特定のやり方で係数を計算することを説明するが、任意の好適なやり方で係数を計算することを想定する。
特定の実施形態において、ソーシャルネットワーキングシステム160は、ユーザのアクションに基づいて係数を計算し得る。ソーシャルネットワーキングシステム160は、オンラインソーシャルネットワーク、サードパーティシステム170、その他の好適なシステム、またはこれらの任意の組み合わせでそのようなアクションを監視し得る。任意の好適な種類のユーザのアクションが、追跡または監視され得る。典型的なユーザのアクションは、プロファイルページを閲覧すること、コンテンツを作成またはポストすること、コンテンツとインタラクションすること、画像をタグ付けすることまたは画像でタグ付けされること、グループに参加すること、イベントへの出席をリストに載せることおよび確認すること、位置にチェックインすること、特定のページに「いいね!」を表明すること、ページを作成すること、ならびにソーシャルアクションを容易にするその他のタスクを実行することを含む。特定の実施形態において、ソーシャルネットワーキングシステム160は、特定の種類のコンテンツとのユーザのアクションに基づいて係数を計算し得る。コンテンツは、オンラインソーシャルネットワーク、サードパーティシステム170、または別の好適なシステムに関連付けられることが可能である。コンテンツは、ユーザ、プロファイルページ、ポスト、ニュース記事、ヘッドライン、インスタントメッセージ、チャットルームの会話、電子メール、広告、ピクチャ、ビデオ、音楽、その他の好適なオブジェクト、またはこれらの任意の組み合わせを含み得る。ソーシャルネットワーキングシステム160は、ユーザのアクションを分析して、アクションのうちの1つまたは複数が対象、コンテンツ、その他のユーザなどに関するアフィニティを示すかどうかを決定し得る。限定ではなく例として、ユーザが「コーヒー」またはそれに類するものに関わりのあるコンテンツを頻繁にポストする可能性がある場合、ソーシャルネットワーキングシステム160は、ユーザがコンセプト「コーヒー」に関連する高い係数を有すると決定し得る。特定のアクションまたはアクションの種類が、その他のアクションよりも重い重みおよび/またはレーティングを割り振られる可能性があり、そのことが、全体的な計算される係数に影響を与える可能性がある。限定ではなく例として、第1のユーザが第2のユーザに電子メールを送る場合、アクションに関する重みまたはレーティングは、第1のユーザが単に第2のユーザに関するユーザプロファイルページを閲覧する場合よりも高いことが可能である。
特定の実施形態において、ソーシャルネットワーキングシステム160は、特定のオブジェクトの間の関係の種類に基づいて係数を計算し得る。ソーシャルグラフ200を参照すると、ソーシャルネットワーキングシステム160は、係数を計算するときに、特定のユーザノード202とコンセプトノード204とを接続するエッジ206の数および/または種類を分析し得る。限定ではなく例として、配偶者タイプのエッジ(2人のユーザが結婚していることを表す)によって接続されるユーザノード202は、友達タイプのエッジによって接続されるユーザノード202よりも高い係数を割り振られることが可能である。言い換えると、特定のユーザに関するアクションおよび関係に割り振られた重みに依存して、全体的なアフィニティが、ユーザの友達についてのコンテンツに関してよりもユーザの配偶者についてのコンテンツに関してより高いと決定されることが可能である。特定の実施形態においては、ユーザが有する別のオブジェクトとの関係が、そのオブジェクトに関する係数を計算することに関連するユーザのアクションの重みおよび/またはレーティングに影響を与えることが可能である。限定ではなく例として、ユーザが第1の写真にタグ付けされるが、第2の写真にしか「いいね!」を表明しない場合、ソーシャルネットワーキングシステム160は、コンテンツとタグ付けタイプの関係を有することがコンテンツと「いいね!」タイプの関係を有することよりも重い重みおよび/またはレーティングを割り振られる可能性があるので、ユーザが第2の写真よりも第1の写真に関連してより高い係数を有すると決定し得る。特定の実施形態において、ソーシャルネットワーキングシステム160は、1人または複数の第2のユーザが有する特定のオブジェクトとの関係に基づいて第1のユーザに関する係数を計算し得る。言い換えると、その他のユーザが有するオブジェクトとの接続および係数が、オブジェクトに関する第1のユーザの係数に影響を与えることが可能である。限定ではなく例として、第1のユーザが1人もしくは複数の第2のユーザに接続されるかまたは1人もしくは複数の第2のユーザに関する高い係数を有し、それらの第2のユーザが特定のオブジェクトに接続されるかまたは特定のオブジェクトに関する高い係数を有する場合、ソーシャルネットワーキングシステム160は、第1のユーザも特定のオブジェクトに関する比較的高い係数を有するべきであると決定し得る。特定の実施形態において、係数は、特定のオブジェクトの間の隔たりの度合いに基づくことが可能である。より低い係数は、第1のユーザがソーシャルグラフ200の第1のユーザに間接的に接続されるユーザのコンテンツオブジェクトへの関心を共有する減少する見込みを表し得る。限定ではなく例として、ソーシャルグラフ200内でより近いソーシャルグラフのエンティティ(例えば、隔たりのより低い度合い)は、ソーシャルグラフ200内でさらに離れているエンティティよりも高い係数を有することが可能である。
特定の実施形態において、ソーシャルネットワーキングシステム160は、位置情報に基づいて係数を計算し得る。地理的に互いにより近いオブジェクトは、より遠いオブジェクトよりも互いにより関わりがあるかまたはより関心があると考えられる可能性がある。特定の実施形態において、特定のオブジェクトに対するユーザの係数は、ユーザに関連付けられている現在位置(またはユーザのクライアントシステム130の位置)に対するオブジェクトの位置の近さに基づくことが可能性である。第1のユーザは、第1のユーザにより近いその他のユーザまたはコンセプトにより関心がある可能性がある。限定ではなく例として、ユーザが空港から1.6キロメートル(1マイル)およびガソリンスタンドから3.2キロメートル(2マイル)の距離にある場合、ソーシャルネットワーキングシステム160は、ユーザがユーザに対する空港の近さに基づいてガソリンスタンドよりも空港に関してより高い係数を有すると決定し得る。
特定の実施形態において、ソーシャルネットワーキングシステム160は、係数情報に基づいてユーザに関連する特定のアクションを実行し得る。係数は、アクションへのユーザの関心に基づいてユーザが特定のアクションを実行するかどうかを予想するために使用され得る。係数は、広告、検索リザルト、ニュース記事、メディア、メッセージ、通知、またはその他の好適なオブジェクトなどの任意の種類のオブジェクトを生じるかまたはユーザに提示するときに使用され得る。係数は、必要に応じてそのようなオブジェクトにランクを付け、順序付けするためにも利用され得る。このようにして、ソーシャルネットワーキングシステム160は、ユーザの関心および現在の事情に関連性を持っている情報を提供し、それらのユーザが関心のあるそのような情報を見つける見込みを増やすことが可能である。特定の実施形態において、ソーシャルネットワーキングシステム160は、係数情報に基づいてコンテンツを生じ得る。コンテンツオブジェクトは、ユーザに固有の係数に基づいて提供または選択されることが可能である。限定ではなく例として、係数は、ユーザのためのメディアを生じるために使用されることが可能であり、ユーザは、ユーザがメディアオブジェクトに関連する高い全体的な係数を有するメディアを提示されることが可能である。限定ではなく別の例として、係数は、ユーザのための広告を生じるために使用されることが可能であり、ユーザは、ユーザが広告されるオブジェクトに関連する高い全体的な係数を有する広告を提示されることが可能である。特定の実施形態において、ソーシャルネットワーキングシステム160は、係数情報に基づいて検索リザルトを生じ得る。特定のユーザのための検索リザルトが、問い合わせしているユーザに関連する検索リザルトに関連付けられている係数に基づいてスコアを付けられるかまたはランクを付けられることが可能である。限定ではなく例として、より高い係数を持つオブジェクトに対応する検索リザルトが、より低い係数を有するオブジェクトに対応するリザルトよりも検索リザルトページでより高くランクを付けられることが可能である。
特定の実施形態において、ソーシャルネットワーキングシステム160は、特定のシステムまたはプロセスからの係数のリクエストに応答して係数を計算し得る。所与の局面でユーザがとり得る(または対象になり得る)ありそうなアクションを予想するために、任意のプロセスが、ユーザに関する計算された係数をリクエストすることが可能である。このリクエストは、係数を計算するために使用されるさまざまな因子に関して使用する重みの集合を含むことが可能である。このリクエストは、オンラインソーシャルネットワークで実行されるプロセスから、(APIもしくはその他の通信チャネルを介して)サードパーティシステム170から、または別の好適なシステムから来ることが可能である。リクエストに応答して、ソーシャルネットワーキングシステム160は、係数を計算し得る(または係数情報が既に計算され、記憶されている場合、その係数情報にアクセスし得る)。特定の実施形態において、ソーシャルネットワーキングシステム160は、特定のプロセスに関連するアフィニティを測定し得る。異なるプロセス(オンラインソーシャルネットワークの内部と外部との両方)が、特定のオブジェクトまたはオブジェクト集合に関する係数をリクエストすることが可能である。ソーシャルネットワーキングシステム160は、アフィニティの測定値をリクエストした特定のプロセスと関連性を持っているアフィニティの測定値を提供し得る。このようにして、各プロセスは、プロセスがアフィニティの測定値を使用する異なるコンテキストのために仕立てられたアフィニティの測定値を受信する。
ソーシャルグラフアフィニティおよびアフィニティ係数に関係して、特定の実施形態は、2006年8月11日に出願された米国特許出願第11/503093号、2010年12月22日に出願された米国特許出願第12/977027号、2010年12月23日に出願された米国特許出願第12/978265号、および2012年10月1日に出願された米国特許出願第13/632869号で開示された1つまたは複数のシステム、構成要素、要素、機能、方法、動作、または工程を利用することが可能であり、これらの特許出願のそれぞれは、参照により援用される。
特定の実施形態においては、オンラインソーシャルネットワークの1つもしくは複数のコンテンツオブジェクトは、プライバシー設定と関連付けられる。オブジェクトに関するプライバシー設定(または「アクセス設定」)は、例えば、オブジェクトと関連して、認可サーバ上のインデックスにおいて、別の適切な方法で、またはこれらの任意の組み合わせによってなど、任意の適切な方法で格納される。オブジェクトのプライバシー設定は、オンラインソーシャルネットワークを利用して、オブジェクト(またはオブジェクトに関連付けられている特定の情報)がどのようにアクセスされ得る(例えば、閲覧される、または共有される)のかを設定する。オブジェクトに関するプライバシー設定が、特定のユーザがオブジェクトにアクセスすることを許可する場合、オブジェクトはユーザに対して「可視状態」として記述される。限定ではなく、例として、オンラインソーシャルネットワークのユーザは、ユーザのプロフィールページ上の職歴情報にアクセスし得る一組のユーザを識別するユーザのプロフィールページに関するプライバシー設定を設定し、このようにすることで他のユーザを情報にアクセスすることから除外する。特定の実施形態においては、プライバシー設定は、オブジェクトに関連付けられているある情報にアクセスすることを許可すべきでないユーザの「ブロックリスト」を設定する。換言すれば、ブロックリストは、オブジェクトが不可視状態となる1人もしくは複数のユーザまたはエンティティを設定にする。限定ではなく、例として、ユーザは、ユーザに関連付けられている写真アルバムにアクセスできない一組のユーザを設定にすることで、これらのユーザを写真アルバムにアクセスすることから除外する(同時に場合によっては、一組のユーザに含まれないあるユーザが写真アルバムにアクセスすることを許可する)。特定の実施形態においては、プライバシー設定は、特定のソーシャルグラフ要素と関連付けられる。ノードまたはエッジなどのソーシャルグラフ要素のプライバシー設定は、ソーシャルグラフ要素、ソーシャルグラフ要素に関連付けられている情報、またはソーシャルグラフ要素に関連付けられているコンテンツオブジェクトがオンラインソーシャルネットワークを使用してどのようにアクセスすることができるのかを設定にする。限定ではなく、例として、特定の写真に対応する特定のコンセプトノード204は、写真が写真にタグ付けされたユーザ及びユーザの友人のみによってアクセスされ得ることを設定にするプライバシー設定を有する。特定の実施形態においては、プライバシー設定は、ユーザのアクションがソーシャルネットワーキングシステム160によってロギングされるか、または他のシステム(例えば、サードパーティシステム170)と共有されることについてユーザがオプトインまたはオプトアウトすることを可能にする。特定の実施形態においては、オブジェクトに関連付けられているプライバシー設定は、任意の適切な許可アクセスまたはアクセスの拒否の精度を設定にする。限定ではなく、例として、アクセスまたはアクセスの拒否は、特定のユーザ(例えば、自分のみ、自分のルームメイト、及び自分の上司)、特定の程度の広がりの中にいるユーザ(例えば、友人、または友人の友人)、ユーザのグループ(例えば、ゲームクラブ、家族)、ユーザのつながり(例えば、特定の雇用者の従業員、特定の大学の学生または同窓生)、全てのユーザ(「パブリック」)、ユーザなし(「プライベート」)、サードパーティシステム170のユーザ、特定のアプリケーション(例えば、サードパーティアプリケーション、外部のウェブサイト)、他の適切なユーザまたはエンティティ、もしくはこれらの任意の組み合わせに関して設定にされる。本開示は、特定の方法による特定のプライバシー設定の使用を説明するが、本開示は、任意の適切な方法による任意の適切なプライバシー設定の使用を想定している。
特定の実施形態においては、1つもしくは複数のサーバ162は、プライバシー設定を実行するための認可サーバまたはプライバシーサーバである。データストア164に格納された特定のオブジェクトに関するユーザ(または他のエンティティ)からの要求に応じて、ソーシャルネットワーキングシステム160は、オブジェクトに関する要求をデータストア164に送信する。認可サーバが、オブジェクトに関連付けられているプライバシー設定に基づいて、ユーザがオブジェクトにアクセスすることが許可されていると判定した場合、要求によって、要求と関連付けられているユーザが識別され、その要求がユーザ(またはユーザのクライアントシステム130)にのみ送信される。要求するユーザがオブジェクトにアクセスすることが許可されない場合、認可サーバは、要求されたオブジェクトがデータストア164から取り出されることを防止するか、または要求されたオブジェクトがユーザに送信されることを防止する。検索クエリのコンテキストにおいて、クエリを行うユーザがオブジェクトにアクセスすることが許可される場合、オブジェクトは検索結果としてのみ生成される。換言すれば、オブジェクトは、クエリを行うユーザに対して可視である視認性を有し得る。オブジェクトが、ユーザに対して不可視である視認性を有する場合、オブジェクトは検索結果から除外される。本開示は、特定の方法によるプライバシー設定の実行を説明するが、本開示は、任意の適切な方法によるプライバシー設定の実行を想定している。
接続装置管理及びゲートウェイに基づくシステムの概要
特定の実施形態では、システムは、非限定的な利益を消費者/供給者/小売業者などに提供することができる。特定の実施形態では、システムは、潜在的にローカルな(且つ必ずしもクラウドではない)ストレージを使用することにより、自宅監視及び家族との通信のために写真及び/又はビデオを提供し得、且つ接続される場合、オンラインシステム内に保存された写真及びビデオにアクセスすることができる。更なる実施形態では、システムは、ソーシャルWIFIを提供することができ、この場合、システムは、ログインを必要とすることなく、ユーザの友人が特定のWIFIに加入することを認可し得る。更なる実施形態では、システムは、安定したプライバシー制御を提供することができ、この場合、システムは、人々が理解し得、データ共有の利益を認識し得、且つ同意を提供し得るコンテキストにおいて、人々が(ソーシャルネットワーキングシステム/パートナ/第三者アプリケーションに対する)データを共有できるようにし得る。更なる実施形態では、システムは、自宅にいる人物及び特定の人物が外出した際に関する情報を提供することができ、これは、近隣の友人にも拡張することができる。更なる実施形態では、システムは、仮想的なセキュリティを提供することができ、これにより、システムは、ウイルス、マルウェア、フィッシングなどから保護するため、ゲートウェイ(「GW」:gateway)に対する常時更新を提供することができる。更なる実施形態では、システムは、任意のタイプの自宅イベントに基づいて更新するための通知と、更にサイレンをリモートトリガし且つ/又は(例えば、911をダイヤルすることによって)緊急事態サービスにコンタクトするための能力とを使用することができる。
完全な自宅エクスペリエンス:特定の実施形態では、製品の任意の組合せにより、自宅におけるよりシームレスなエクスペリエンスを提供することができる。特定の実施形態では、自宅におけるユーザの注意及び労力を必要とする代わりに、場所認識を提供し、複数の個人を識別し、且つ機械学習サポートを内蔵することができるシステムを提供することにより、ユーザは、その家がそれ自体を構成及び適合させ、並びにユーザコマンドに応答するようにさせ得る。更に、システムは、カメラ、ドアセンサ、ドアロック、及びモーションセンサなどのセキュリティに関係した装置の自動化機能を使用及び構成するための相対的にシームレスなエクスペリエンスを提供することもできる。
特定の実施形態では、システムは、自宅をシームレスな無線エクスペリエンスに接続するためのオープンプラットフォームを生成することができる。特定の実施形態では、システムは、自宅及びその自宅との間でやり取りする家族のエクスペリエンスを改善するため、ソーシャルネットワークの主要資産(例えば、アイデンティティ、ソーシャルグラフ、セキュリティ、オープン且つ手頃な参照設計を推進する専門知識)を利用した解決策を提供することができる。特定の実施形態では、システムは、オープンプラットフォームがモノのインターネット(IoT:Internet of Things)装置プロバイダをサポートし、且つそれに価値を提供できるようにし得る。
図3は、規定された装置の組を含むデバイスクラウドを管理するための例示的なアーキテクチャを示す。特定の実施形態では、システム300は、いくつかの接続装置305及び1つの制御装置315と通信する(特定の物理場所に存在する)ゲートウェイ装置310を含むことができる。接続装置305は、複雑な組込み型の演算装置から単純なセンサに対するスイッチに至るまでの任意のものを含むことができ、例えば、図3に示される接続装置は、デスクトップコンピュータ、ラップトップ、冷蔵庫、ホームセキュリティシステム、テレビ、車両、及び一眼レフ(「SLR」:single−lens reflex)カメラを含む。これらは例として提供されたものに過ぎず、当業者は、多くの他の適切なタイプの装置について理解するであろう。制御装置315は、ゲートウェイ装置310及び(ゲートウェイ装置310を通じて)接続装置305と相互作用するための(例えば、インストールされたアプリケーション、ブラウザ、SMSテキスト作成インターフェース、又は装置のオペレーティングシステムによって提供されるインターフェースを通じた)ユーザインターフェースを提示することができる。特定の実施形態では、システム300は、互いに通信する複数のゲートウェイ装置310を含むことができる。特定の実施形態では、制御装置315は、1つ又は複数のUIクライアント(例えば、メッセージングサービスアプリケーション)を含むことができ、これらのUIクライアントは、主要なユーザエクスペリエンス(「UX」:user experience)地点として機能する。制御装置315は、ソーシャルネットワーキングアプリケーション、又は初期プロビジョニング、ブルートゥース(BLUETOOTH)、及び場所発見、並びに一般にサービスアプリケーションが実行できないメッセージングアプリケーションに関係した任意の許可のために使用される他のモバイルアプリケーション(ヘルパアプリケーション)を含むことができる。
ゲートウェイ装置310は、バックエンドシステム320とインターフェースすることができ、バックエンドシステム320は、リモートサーバ又はサーバのグループ上でホスティングすることができる。バックエンドシステム320は、(例えば、制御装置315と通信するための)メッセージングインフラストラクチャ325と、バックエンドシステム320の要素とゲートウェイ装置310(及び/若しくは制御装置315)との間(且つ/又は直接的に接続装置305との間)をインターフェースするための統合層330(例えば、パース(PARSE)などの接続装置の多様なアレイとインターフェースするためのプラットフォーム及び/又はAPI)とを含むことができる。バックエンドシステム320は、ゲートウェイ装置310及び接続装置305のそれぞれから受信されたデータのみならず、これらから導出されたデータも有する、装置イベントのデータストア332を維持することができる。また、バックエンドシステム320は、1つ又は複数の装置グラフのためのデータストア334を維持することもでき、装置グラフでは、ゲートウェイ装置310及び接続装置305のそれぞれは、それぞれ装置ノードを接続するエッジを含む装置ノードによって表され得る。バックエンドシステム320は、装置イベントを処理及び分析し、装置グラフを更新し、且つフィードバック及び/又は命令を接続装置305及び/又は制御装置315に提供するための装置グラフインテリジェントインフラストラクチャ335を含むことができる。また、バックエンドシステム320は、ソーシャルネットワーキングシステム160と通信することもできる。特定の実施形態では、ゲートウェイ装置310により、バックエンドシステム320により、又はこれらの組合せにより特定の機能を提供することができる。
このようなアーキテクチャは、定義された物理空間(例えば、家、事務所建物、又は公園)内に存在する装置のために、或いは特定のユーザ若しくはエンティティに関係した装置の組(例えば、その自宅、その自動車、及びその小規模小売企業内の接続装置を有するユーザと関連したもの、又は建物の群のためのドアロック及びアラームセキュリティシステムを管理する不動産管理企業に属するもの)と共に使用され得、この後者のシナリオでは、物理場所(例えば、家、自動車、及び企業)のそれぞれは、それぞれその独自のゲートウェイ装置を必要とし得る。
特定の実施形態では、システム300は、自宅の中央コンピュータ及びIoTハブとして機能するようにゲートウェイ装置の能力を拡張することができる。更なる実施形態では、システムは、ローカルストレージを提供し得、且つ外部世界に対する広帯域アクセスのためのすべての重要な有線及び無線プロトコル並びに自宅内の装置間の通信を例外的な品質でサポートし得る。更なる実施形態では、システムは、接続された第三者装置及びブロードバンド装置のための分析ツールを開発することができる。更なる実施形態では、システムは、標準的プロトコル、汎用ハードウェア、オープンソースオペレーティングシステム、オープンAPI(Open API)上などで稼働する開かれた原理を確立することができる。更なる実施形態では、システムは、ハードウェア及びファームウェア無線技術の潜在的な改善により、ハードウェア構築者のコミュニティに寄与することができる。
特定の実施形態では、ゲートウェイ装置は、1つ又は複数のスマート/接続装置のローカルネットワーク制御を促進し、且つクラウド内で稼働し得るサービスのためのローカルゲートウェイとして機能するように、必要とされる機能をサポートする能力を有する任意の演算装置を意味し得る。特定の実施形態では、サービスは、ユーザとの通信を促進することができる。特定の実施形態では、システム及びユーザは、自然言語を使用して通信することができる(これは後に解析され得る)。特定の実施形態では、ユーザは、ゲートウェイ装置と通信するために且つ/又は(ゲートウェイ装置を通じて)接続装置のいずれかと通信するために、メッセージングアプリケーションを使用することができる。
特定の実施形態では、制御装置315上で稼働する制御アプリケーションは、制御装置315にインストールされたブラウザに基づくアプリケーション又は別のアプリケーションを意味し得る。特定の実施形態では、制御アプリケーションは、装置をプロビジョニングするためにユーザによって使用され得る。更なる実施形態では、アプリケーションは、特定のシナリオに基づいてユーザのための特定の電話ユーザエクスペリエンスを提供することができる。
特定の実施形態では、装置は、ブルートゥース(BLUETOOTH)、NFC、又は接続装置305とゲートウェイ装置310との間の通信の任意の他の適切な形態を使用してプロビジョニングすることができる。
ゲートウェイに基づくシステムを使用した接続装置管理の特徴
通信:家又は地球上の任意の場所における人々と容易に接続するため、ソーシャルネットワーキンググラフを活用する(VOIP、ビデオ通話)。また、ソーシャルネットワーキンググラフから到来する写真通話者IDプリング(ID pulling)も可能にする(ソーシャルネットワーキングアプリケーションは、電話機上の同期信号(sync)にコンタクトすることができる)。
エネルギー効率:サーモスタット、通気口、ライト制御、ブラインド制御、選択的な電力時間調節(自動車の充電、洗濯、食洗機)、及び監視。
オーディオ及びビデオ:任意の装置間におけるユニキャスト又はマルチキャスト。
パーソナルアシスタント:自宅と口頭で通信できるように自然言語処理技術を活用する。
天候センサ:問題がある場合に警告を送信する能力を伴って温度、湿度、空気品質などを追跡する。
ハウスフィード(HouseFeed):表示装置を有する家の内部のそれぞれの表面ごとに、時刻に基づいて最も適切なソーシャルネットワーキングシステム又は第三者情報/ストーリ(天候、誕生日、関連するニュース/パブリックコンテンツ、オファー/取引、広告など)を表示する。事実上、オーディエンスネットワークの概念であるが、広告のみを超える拡張であり、且つすべての関連する表面上に情報を表示する。
容易な共有:ソーシャルネットワーキングアプリケーション、ソーシャルメディア写真共有アプリケーション、メッセージングアプリケーションなどを介して、家の内部の任意の表示装置上に表示される任意のコンテンツの共有を容易にし得る。
特定の実施形態では、システムは、自動化された買物エクスペリエンスを提供することができ、この場合、システムは、消耗品について繰り返し発生する購入の自動化をサポートするために購入及び消費の習慣を追跡することができる。
特定の実施形態では、システムは、すべてのIoT装置のための優れた自宅内部の接続性を提供することができる(製品としてのプラットフォーム)。更なる実施形態では、異なる自宅制御装置ごとの専用のハブの必要性をなくすことができる。
特定の実施形態では、システムは、ユーザの購入決定に対する洞察を提供することができる。更なる実施形態では、自宅及びその居住者の認識により、人物が購入決定に正確にどの程度関わっているかについての更に詳細な洞察を提供することができる。購入決定を下す場合に人々が綿密に調べるステップに対する相対的に深い理解を得る際に、且つ(広告費用ROIを計測するのに重要である)物理的購入に至るデジタル広告に関するループを閉じる際に、自宅内の物理場所、使用される装置、品目を観察する家族メンバの数、会話、観察中の時間などのすべてが検知及び使用され得る。
更なる実施形態では、システムは、システム内で発生しているものの活動に基づいて広告及びコンテンツを最適化するための方法を提供することができる。例えば、自宅内の現時点の環境を理解することにより、(フェイスブック又は自宅内のメディアコンテンツを通じてかどうかとは無関係に)家族のメンバに対する相対的に適切な消費コンテンツの提供と、母親及び父親が動き回っており、且つ子供たちに食事を取らせることと寝かしつけることとの間に通知をチェックしているのみである場合ではなく、むしろ、TVで両親の一方のみが熱心に視聴しているショーが放送されている間、両親がくつろいでニュースフィードをスクロールしている際に、自宅で損失した又は損壊したものについての広告のような簡単なものから魅力的な自動車広告の表示まで、広告を表示するための最も適切なタイミングの判定との両方をサポートすることができる。
特定の実施形態では、システムは、ソーシャルネットワーキングシステム、ソーシャルネットワーキングシステムと関連したソーシャルグラフ、ソーシャルグラフ内の特定のアイデンティティ、ユーザに提供される通知、及び「オープンプラットフォーム」方式を活用することができる。
特定の実施形態では、ゲートウェイは、ユーザの自宅ネットワークに接続されたローカルゲートウェイ装置上で稼働しているアプリケーションであり得る。その責任は、限定を伴うことなく、ブルートゥース(BLUETOOTH)、ジブジー(ZIBGEE)、Zウェーブ(ZWAVE)、WIFI(アクセスポイント及びダイレクト)上における新しい装置の発見及びプロビジョニング、装置タイプ及び装置IDに対する物理装置のマッピング、利用可能な能力に対する装置タイプのマッピング、垂直方向における装置のグループ化/関連付け(例えば、「ライト」又は「ドアロック」などの同一の能力)、例えば、オールジョイン(ALLJOYN)、スレッド(THREAD)、ウィーブ(WEAVE)、ジグビー(ZIGBEE)などの様々な産業プロトコルを理解するためのサポート、バックエンドシステム320から伝達された(例えば、特定の装置IDと関連した)特定の意図の直接制御及びクエリメッセージへの変換(例えば、ゲートウェイ装置上で伝達される「1つ又は複数の装置ID XXXがオンである」→「フィリップス・ヒュー(Phillips Hue)の装置ID XXXがオンになる」)、特定の装置通知のバックエンドシステム320によって解釈可能である論理通知への変換(例えば、「オーガストスマートロック(August SmartLock)の装置id XXXがアンロックされた状態にある」→「装置id XXXがアンロックされた状態にある」)を含む、ユーザが所有する様々なスマート/接続装置を理解し且つ「物理」レベルで取り扱うことから構成される。特定の実施形態では、ゲートウェイ装置は、物理装置と論理装置との間である程度のマッピングを実行するが、そのマッピングでは、依然としてこれらが機械可読構造化フォーマットに変換される。
特定の実施形態では、ゲートウェイアプリケーションをホスティングするため、(例えば、ラスピアンリナックス(RASPIAN Linux(登録商標))を稼働させ、且つWIFI、ブルートゥース(BLUETOOTH)、Zウェーブ(ZWAVE)、及びジグビー(ZIGBEE)ドングルをサポートするラズベリーPI(RASPBERRY PI)プラットフォームに基づく)ゲートウェイ装置を使用することができる。特定の実施形態では、ゲートウェイアプリケーションは、限られた数の装置によりサポートされ、特に、限定を伴うことなく、複数のベンダからの2つ以上の接続されたライトの発見及びプロビジョニングをサポートし(例えば、フィリップス・ヒュー(PHILLIPS HUE)、ベルキン・ウェモ(BELKIN WEMO)WIFIスイッチ、ジグビー(ZIGBEE)又はZウェーブ(ZWAVE)スマートスイッチ)、1つ又は複数のプレプロビジョニングされたスマートロックを制御し(例えば、ロッキトロン(LOCKITRON)、オーガスト(AUGUST))、WIFI接続されたスピーカ及び/又はスマートTV、並びにゲートウェイ装置自体上の複数のターゲットに対する音楽及び/又はビデオの制御及びストリーミングする(例えば、HDMI(登録商標)ポート)ようにサポートされる。
特定の実施形態では、バックエンドシステム320は、クラウド内で稼働し、且つゲートウェイ装置310にトークするアプリケーション/サービスを含む。これは、メッセージングアプリケーション及び自然言語処理システム(NLP:natural language processing)、(例えば、NLP及びコンテキスト認識を使用した)特定の論理装置制御意図に対するユーザの意図の変換、及び機械学習(ML:machine learning)との統合を取り扱って複数の装置を伴う複雑な挙動規則を推定することができる。特定の実施形態では、バックエンドシステム320は、ゲートウェイ装置310を通じて、接続装置305の個々の1つとのみインターフェースすることができる。特定の実施形態では、バックエンドシステム320は、論理装置(例えば、「ライト」対「フィリップス・ヒュー(PHILLIPS HUE)」)、ユーザによって割り当てられたエイリアス(例えば、「フロントポーチライト」)、及び装置グループ(例えば、「すべてのライト」)を取り扱うことができる。従って、バックエンドシステム320は、以下のインターフェース及び能力の1つ又は複数を提供することができる。
・装置と、ホームゲートウェイによって提供される論理IDとの間の人間による命名の関連付け(例えば、ユーザが装置idの名前「フロントドアライト」を選択する)、水平方向における装置のグループ化/関連付け(例えば、「リビングルーム」又は「フロントドア」などの同一の場所)、
・人間による入力/出力コマンドに対する装置能力をマッピングすること、
・ユーザが装置に割り当てた特定の名前と関連したユーザから伝達された特定の意図を装置IDに基づく動作に変換すること(例えば、「フロントポーチライトを点灯する」→「1つ又は複数の装置id XXXがオンである」)、
・ホームゲートウェイによって伝達された特定の装置通知を人間可読フォーマットに変換すること(例えば、「装置ID XXXがアンロックされた状態にある」→「フロントドアがアンロックされた状態にある」)。
特定の実施形態では、システム300によって提供される更なる特徴は、メッセージングアプリケーションを通じた1つ又は複数の装置のNLP制御及び通知と、ユーザによる装置の明示的なグループ化と、及びマルチ装置命令(例えば、「フロントドアがアンロックされた際にその上部のライトを点灯する」)の生成及び実行とを含み得る。
特定の実施形態では、コンテキスト認識方式によってコマンドを解釈できるように、論理は、ユーザID(動作の実行を所望するユーザ)及び/又は(例えば、GPS座標を介した強力な局所化に加えて、周りのモバイルネットワークのセルID、WIFIジオロケーション、可視状態のSSIDなどの信号に基づく)場所情報に基づく装置グラフ上におけるビューに依存する。例えば、ユーザは、複数のホームゲートウェイ(例えば、第1の家族の自宅、週末のためのマンション、第2の自宅)と関連付けられ得、この場合、場所情報により、特定のコマンドが適用されるべき装置を判定することができる。特定の実施形態では、システムは、装置グラフ内で(ユーザ、コマンド、及び場所に基づく)ユーザロール(user role)設定の構成を提供することができる(例えば、許可モデルは、フル制御のためのアドミンロール(admin role)と、限定された許可を伴う限られたユーザロールとの構成を許容することができる)。例えば、ユーザは、その自宅オフィス内で作業している間、(ステレオシステムが配置されたリビングルームで遊んでいる)子供が、ユーザが現時点で楽しんでいる音楽を変更することを所望しない場合がある。
オブジェクトタイプ:特定の実施形態では、(そのうちの1つ又は複数がノードにより又は装置グラフ内のノードの属性として表され得る)様々なオブジェクトタイプは、装置、装置グループ、ホームゲートウェイ、ユーザ、ゾーン(オブジェクトではないが、装置とゲートウェイとの間の関連付けで使用されるホームゲートウェイ及びゾーンIDにおける属性としてのシリアル化されたデータであり得る)、装置能力セットを含むことができる。
関連付け(これらのいくつかは装置グラフ内でエッジとして表され得る):
・装置←→GW:n:1であり、n:mの可能性があり、これにより1つの装置を複数のゲートウェイによって制御することができる。上述のように、任意選択によりゾーンIDを有し得る。
・ユーザ←→ホームGW:n:mであり、アドミン、プライマリユーザ、ゲストのようなロールについて考える必要がある。
・ユーザ←→装置:n:mであり、関連付けは、データとして許可を有し得る。
・装置←→装置グループ:データモデル内における永続的な関連付けとしてこれを必要とするかどうか、又はコマンドコンテキスト解釈エンジン内でグループ化を動的に生成する必要があるかどうかについては、依然として確かではない。
・装置←→装置能力セット。
例示的なプロビジョニングフロー:制御アプリケーションを制御装置315にインストールした後、スマート装置の電源投入により、モバイルアプリケーション上で通知を生成するためのトリガを誘発することができる(特定の実施形態では、アプリケーションは、明示的/手動的なペアリング(任意のユーザ動作)を伴わないデータの転送を許容するBTLEサービスを提供することができる)。次いで、制御アプリケーションは、一意のセッショントークンを生成するWIFIクレデンシャルの入力を必要とする単一クリックプロビジョニングステップをユーザに提示することができる(WIFIクレデンシャルは、バックエンドシステムに接続するオンラインアプリケーションにユーザがログインした場合、自動的に提供され得る)。認証後、装置は、ゲートウェイ装置310に接続することができる。特定の装置の場合、第三者アプリケーション内へのディープリンクが提示され得る。最後に、ユーザは、ユーザがアプリケーションに開示することを所望する(サーバに保存された)情報のタイプを選択するように要求され得る。
例示的な制御アプリケーション:特定の実施形態では、アプリケーションは、接続装置の閲覧、規則のセットアップ、及び接続装置から制御装置上のメッセージングアプリケーションに対する状態更新のプッシュを可能にし得る。
ログイン及びプロビジョニング:特定の実施形態では、ユーザログインを実行するための複数の選択肢が存在し得る。特定の実施形態では、システムは、関連するユーザ情報をユーザのオンラインプロファイルページから転送することができる。更なる実施形態では、システムは、プロファイルを生成し得、例えば、ユーザは、プロファイルが以前にシステム上に存在しない場合、プロファイル生成を一度実行しておく必要があり得る。更なる実施形態では、システムは、開発者独自のユーザサインインプロセスを生成するためにプロファイルフレームワークのプロプライエタリな使用を得ることもできる。
人の情報の転送:特定の実施形態では、システムは、個人情報の転送を可能にし得る。更なる実施形態では、システムは、ユーザ認証トークンを含むことができる。更なる実施形態では、ユーザトークンによってインターネットに接続されると、識別されたアカウント情報を装置によってフェッチすることができる。特定の実施形態では、ユーザは、限定を伴うことなく、名前、プロファイル名、電子メール、電話番号、又は家族サークルにより認証され得る。更なる実施形態では、情報は、WIFIネットワーク、ブルートゥースマック(BLUETOOTH MAC)、又は他の関連したIoT装置により転送され得る。
IoT装置の関連付け:特定の実施形態では、システムは、購入の時点(販売の時点)でユーザ及び接続情報を特定の製品と関連付けることにより、プレプロビジョニングを可能にし得る。更なる実施形態では、システムは、異なるインターフェース間における関連付けを可能にし得るパッケージを含むことができる。例えば、限定を伴うことなく、WIFIネットワーク(IoT装置へのネットワークログイン情報の伝達及び任意選択のユーザトークン)、ブルートゥース(BLUETOOTH)(モバイル装置とIoT装置とのペアリング及び任意選択のユーザトークン)、イーサネット(登録商標)(Ethernet)(任意選択のユーザトークン)、並びにジグビー(ZIGBEE)及びZウェーブ(ZWAVE)ペアリングの有効化がある。
第三者プラットフォームの統合:特定の実施形態では、システムは、他のスマートプラットフォームと通信するために構築されたIoT製品の統合の有効化を提供することができる。
特定の実施形態では、システムは、IoT製品に伴うシームレスな追加設定なし(out−of−the−box)エクスペリエンスと、異なる製造元からのIoT装置をインテリジェントに接続するための能力とを提供することができる。特定の実施形態では、システムは、IoT製品のための基礎的なインフラストラクチャを構築するための必要なリソース投資の低減を提供することができる。特定の実施形態では、システムは、プラットフォーム制限を伴うことなく、他のIoT装置とインテリジェントに相互接続するための可能性を提供することができる。
接続された自宅サービス:ゲートウェイ装置のセットアップ
例示的な一実施形態では、ゲートウェイ装置は、任意の標準的な演算装置又はサーバ及びUSBパワーケーブル、マイクロSDカード及びマイクロSDカード−標準SDカードアダプタ、WIFIドングル、及びブルートゥース(BLUETOOTH)ドングル、HDMIケーブル及びモニタ、並びにZウェーブ(ZWAVE)ドングルに基づくものであり得る。特定の実施形態では、ゲートウェイ装置は、プロセッサ、近距離ネットワーキング能力、及び本明細書で記述される機能のいくつか又はすべてを実行する能力を含む任意の演算装置を含むことができる。
セットアップイメージ:特定の実施形態では、方法は、ホームゲートウェイメージを取得し、且つゲートウェイ装置にアプリケーションをインストールすることにより開始することができる。特定の実施形態では、(マイクロSDカードアダプタを使用して)マイクロSDカードをゲートウェイ装置に挿入することができる。その結果、特定の実施形態では、ゲートウェイ装置は、アプリケーションを稼働させ得、且つホームゲートウェイメージをマイクロSDカード内にリストアし得る。更なる実施形態では、マイクロSDカードは、マイクロSDカードをゲートウェイ装置から除去する前に(アプリケーションを通じて)排出され得る。
ホームゲートウェイのプロビジョニング:特定の実施形態では、特定のステップの出力を閲覧するためにHDMIケーブルがゲートウェイ装置に挿入され得るが、出力の閲覧は必須ではない。特定の実施形態では、HDMIケーブル/モニタは、ゲートウェイ装置内にプラグ結合され得るUSB−シリアルケーブルによって置換され得、USBシリアルケーブルは、115200のボーレートを有する/dev/cu.usbserial−***へのスクリーニングのために使用することができる。特定の実施形態では、この方法でゲートウェイ装置に接続する場合、(1)「ps−A|grey node」に見出されるpidを停止させることができ、且つ/又は(2)「node /user/sharegateway/start.js」を稼働させることができる。
次いで、特定の実施形態では、マイクロSDカードをゲートウェイ装置に挿入することができる。更なる実施形態では、すべてのドングルが装着され且つ電源が投入されたことを確認することができる。特定の実施形態では、ゲートウェイ装置は、複数回にわたってリブートする場合があり、これらの時点でWIFIへのプロビジョニングを待機することができる。更なる実施形態では、ホームゲートウェイを見出すために制御アプリケーションが使用され得る。更なる実施形態では、SSID及びパスワードクレデンシャルがホームゲートウェイに伝達され得る。次いで、更なる実施形態では、ゲートウェイ装置がリブートし、且つWIFIネットワークへの加入を試みることができる。
特定の実施形態では、ゲートウェイ装置のリブート時にホームゲートウェイを新しい装置として追加することができる。更なる実施形態では、許可をアプリケーションに付与する必要があり得る。特定の実施形態では、この段階でホームゲートウェイをWIFIネットワーク上にプロビジョニングすることができる。更なる実施形態では、サーバは、メッセージを演算装置又はクライアントに送信することにより、新しく確立されたゲートウェイについてユーザに警告することができる。
以下の例示的なシナリオは、一人称の観点から様々な使用ケースについて説明するものである。
シナリオ1:新しいサムスン(Samsung)TVをセットアップした後、スマートフォン上の規定されたアプリケーションを使用することにより、自らの装置にログインするための要求に従った。要求に対して電話番号をタイプ入力することによって時間を浪費しそうになったときに、任意選択のQRコード(登録商標)に気付き、クリックを完全に回避した。電話機上の規定されたアプリケーションを使用してコードを撮影したところ、電話機を使用してTVにログインすることができた。また、その後、規定されたアプリケーションは、必要に応じて、何らの更なるQRコードを伴うことなくTV上の他のアプリケーションにログインするための選択肢も付与した。これはパスワード又はいかなるものも伴わずに容易であっただけでなく、TV上で興味深いアプリケーションを発見した。数回のタップのみにより、TV上におけるフールー(Hulu)、ネットフリックス(Netflix)、ユーエスエートゥデイ(USA Today)、及びファンダンゴ(Fandango)の構成を完了した。友人が到着すると、ときおり、規定されたアプリケーションを使用して写真アルバムの1つに基づいてTVをスライドショーに設定した。
シナリオ2:規定されたアプリケーションによってログインするための選択肢に気付いたときは、退屈でありSLRカメラ上のメニューをクリックしていた。その選択肢をクリックすると、電話機の背面上の画面が電話機上の規定されたアプリケーションを使用してログインするための指示とともにQRコードに変化した。実行すると、電話機は、私がログインしていたカメラのブランドを知っており、オンライン写真アルバムに対するカメラのアクセスを付与することを希望するかどうかについて問い合わせた。この結果、カメラがWIFI上にある際、写真は、自らのみが閲覧できるように設定した規定されたアプリケーション内のアルバム内に自動的にロードされる。また、この結果、ストーリをオンラインでポスティングすると、カメラによって撮影した写真をストーリコンポーザが認識し、電話機又はデスクトップコンピュータからポスティングしている場合にもそれらをポスティングに付加させることに気付いた。これにより、高品質写真の共有が極めて簡単になる。
シナリオ3:友人がゲームオブスローンズ(Game of Thrones)を一緒に視聴するためにアパートに立ち寄る。通常、友人がHBOに加入しているために友人の家で視聴するが、今日は友人がそのiPadを家に持参するため、それでHBOを視聴できる。友人がHBOを起動すると、友人は、そのソーシャル接続の1つ(ミー!(Me!))によって所有されたTVが部屋内に存在するという通知を取得し、その(私の)装置上でショーをストリーミングすることを希望した(友人は、場所情報の考慮に起因して、その近傍のテレビについて通知されなかった)。友人は、ショーを私の装置上でストリーミングすることを確認し、二人で満足に視聴した。
特定の実施形態では、ホームゲートウェイのプロビジョニングは、ブルートゥースLE(BLUETOOTH LE)上で実行され得る。特定の実施形態では、以下のように、いくつかの特性を有するサービスが実施され得る。
・(読み出し専用)装置パブリックキー:任意の書き込み特性に書き込まれたすべてのデータは、このパブリックキーによって暗号化される必要がある。
・(書き込み専用)パスワード:当初はブランクであるが、特定の実施形態では別のものに設定され得る。特定の実施形態では、パスワードは、決してプレーンテキストで送信されない。更なる実施形態では、設定されると、任意の書き込み特性に書き込まれたすべてのデータは、パブリックキーによって暗号化される前にパスワードによってハッシュ化又はプレペンドされる。更なる実施形態では、初期パスワードが製造時点で設定され得、且つ装置ラベル上に印刷され得る。
・(読み出し専用)装置名:初期値は「ホームゲートウェイXXXXX」であり、この場合、XXXXXは、イーサネット(Ethernet)カードのMACアドレスの最後の6桁である。
・(読み出し専用)バージョン
・(読み出し専用)IPアドレス
・(読み出し−書き込み)WIFI SSID
・(書き込み専用)WIFIパスワード
・(書き込み専用)コマンド:特定の実施形態では、「リブート」、「リセット」、「更新」などの1つであり得る。
・(読み出し−書き込み)エコー:特定の実施形態では、BTクライアントがパスワードによって装置に接続し得るかどうかを試験するために使用され得る。
特定の実施形態では、ユーザがログインしている際、アプリケーションは、接続された自宅サービス装置について周期的なBTスキャンを実行することができる。更なる実施形態では、近傍の未知の接続された自宅サービス装置について、システムは、その装置がパスワード保護されているかどうかをチェックするためにエコー特性を試験し、装置についてユーザに通知を表示することができ、ユーザが通知をクリックした場合、ユーザがその追加を所望するかどうかについて問い合わせることができ、装置がパスワード保護されている場合にはパスワードについてユーザに問い合わせ、パスワード保護されていない場合には単純に装置を追加する。
特定の実施形態では、近傍の既知の接続された自宅サービス装置の場合、その装置が接続された場合、状態をキャッシングし、エコー特性によってキャッシングされたパスワードを試験し、パスワードが変更される場合にはユーザに通知を表示し、装置が接続されていない場合にはユーザに通知を表示し、ユーザが通知をクリックした場合にはWIFIクレデンシャルのパスワードについて問い合わせる。特定の実施形態では、これらのすべては、装置詳細画面を通じて実行することができる。更なる実施形態では、詳細画面は、装置をリネイムし、パスワードを設定/変更し、WIFIを明示的に切断/更新し、又はサポートされるコマンドのいずれかを実行する能力を提供する。
特定の実施形態では、システム300の要素は、
・ゲートウェイ装置310:その自宅のすべての装置とインターフェースし、且つローカルアクセスのみならずオフラインエクスペリエンスも提供する自宅内の中央エンティティ、
・バックエンドシステム320:メッセージングアプリケーションから自然言語によって自宅を制御する、
・自宅を管理するためのモバイルアプリケーション又はブラウザ(制御装置315上で稼働する)に基づく管理インターフェース
など、システム300とインターフェースするアプリケーションのためのアクセスプロファイルを提供するためのAPIを含むことができる。
特定の実施形態では、システムは、(1)プラットフォームAPIメソッドの組を開放し、且つ上述のインターフェースのためのアプリケーションIDに基づいて、アプリケーション能力を有するプロファイルを管理し得る。異なるクライアントが、データストアに保存される情報との関係において同期状態から逸脱する可能性を回避するため、特定の実施形態は、トランザクションキューを監視することができる。トランザクションは、「トランザクション」テーブルに書き込まれ得、「トランザクション」テーブルは、インストールIDを自動的に入力する。アプリケーションによって提供されるパラメータは、以下を含むことができる。
・ユーザ:ユーザがログインする場合、ユーザのアクセス権限を評価するためにこれを伝達することができる。空/ヌルである場合、ゲートウェイに関連してトランザクションを実行する。
・ゲートウェイID:ユーザ、ゲートウェイ、又はこれらの両方が既知である必要がある。空である場合、ゲートウェイがトークしているかどうかをインストールIDからチェックする必要があり、バックエンドシステム320によって提供されたサービス又はクラウドにトークしているネイティブアプリケーションからコマンドを受信した場合、ゲートウェイが一意であるかどうかをユーザIDからチェックする必要があり、又はゲートウェイのリストをユーザに提供し、且つ動作を実行するべき対象を確認する必要がある。
・シーケンス番号:空である/提供されていない場合、ゼロを取得する。シーケンス番号は、クライアントが非同期方式で応答を待機しつつ、(複数のトランザクションをキューに投入する)複数のコマンドを発行することを許容するために非常に推奨される。
・バージョン:APIバージョンに関連してコマンドを評価するある程度の柔軟性を付与するためにこれを付加し、且つこれにより下位互換性を破壊することなく主要なAPI変更を許容する。
・コマンド:コマンド名及びパラメータを含むジェイソン(JSON)エンコーディングされたアレイである。パラメータはコマンドに依存し、APIの詳細の節で詳細に後述される。基本的な構文は、{“command”:”<command>”,“paramname1”:”<paramvalue1>”,...,“paramnameN”:”<paramvalueN>”}である。
特定の実施形態では、トランザクションを保存するためのリターンコードは、トランザクションキュー内への正常なキューイングについて通知することができる。
特定の実施形態では、システム300は、以下のインターフェースを提供することができる。
ゲートウェイ装置の相互作用:セットアップ及び構成
1.新しいホームGWの初期化(「新しいスマート自宅をセットアップすることを希望する」→POST gw/id)
2.ホームGWの削除(「スマートホームを削除する」→DELETE /gw/gw_id)
3.ホームGWの再初期化(「スマートホームを再起動する」):現時点ではdelete
4.ホームGWへの(ロールを有する)ユーザの追加(「ユーザを自らのスマートホームに追加する」→POST /gw/user)
5.ホームGWからのユーザの削除(「ユーザUSERNAMEを削除する」→DELETE /gw/user/user_id)
6.ユーザのロールの変更:許可を維持する
7.ホームGWのユーザのリストの取得(例えば、アドミンページについて)
8.装置のリストの取得
9.装置の追加
10.装置の削除
11.装置の更新:装置メタデータ
12.部屋のリストの取得
13.部屋の追加:装置を追加するためのダイアログ内において、現時点の部屋に加えて「znew room」を提供し、且つ保存時に新しい部屋内に配置された装置を黙示的に生成する。
14.部屋の削除:特定の時間超にわたって任意の装置と共に使用されていない場合、使用されていない部屋を自動失効させる。
15.シーンの取得(学習及び管理されたシーンのユーザ固有のリスト)
16.シーンの追加
17.シーン/規則の削除
18.シーン/規則の更新
19.装置イベントの報告(これは、装置から受信されたイベントのストリームであり得る)。
接続装置305とのゲートウェイ装置の相互作用(これは、ホームGW上のパブリックIP又はクラウド内への永久的な接続を必要とし得る)
1.装置状態の取得
2.装置情報の取得
3.装置へのコマンドの送信
a.装置能力プロファイルから(取得する装置情報に基づいてバックエンドにおける能力を管理し、この複雑性はユーザから隠蔽される)
b.ホームゲートウェイバックエンドメッセージングアプリケーション(相互作用はメッセージングアプリケーション統合APIからトリガされる)
i.getContext(意図を判定するために使用され、初期入力分析から、コマンド内で使用される能力を有するすべての装置を取得する)
ii.getScenes/rules:ユーザ意図の更なる改善のため
iii.triggerScene/rule。
(制御装置315上における)制御UI(基本的なセットアップ、装置のペアリング、及び接続されるものの管理のために使用される)
1.これは、ホームGWを介してすべてのコマンドを間接的に使用し得るように、ホームGWとローカルで相互作用することもできる。
ゲートウェイ装置の実装
特定の実施形態では、ゲートウェイ装置上で稼働するメインプロセスは、(a)統合層330からのプッシュを聴取し得、且つ(b)受信されたプッシュデータをstdoutに書き込み得る。特定の実施形態では、ハブプロセスはCで記述され得る。
特定の実施形態では、規則ランタイムインタープリタは、(a)統合層330から受信されたプッシュされたデータを解析し、且つ(b)解析された情報に基づいて、規則の更新、新しい規則のローカルな保存、装置制御の実行、クエリの実行、装置の発見、規則の解析、規則によって通知されたトリガ(時間又はセンサ)の待機、トリガに対するイベントの実行、装置制御の実行、ローカルネットワークを介した規則のトリガを許容するローカルウェブサーバの実行の1つ又は複数を実行するため、ローカルに保存された規則を読み取り、メインプロセスを生成し、且つその出力を監視するジャバスクリプト(JAVASCRIPT)アプリケーションを含むことができる。
例示的なプッシュプロトコル
装置の動作
ゲートウェイの初期化:特定の実施形態では、(梱包を解き且つ/又は電源に接続した後の)第1ステップは、ホームゲートウェイ(Home Gateway)(ホームゲートウェイ)を自宅ネットワーク及びインターネットに接続された状態にすることである。これを目的として、「home gateway BLUETOOTH provisioning/commannd flow」に記述されるプロビジョニングを有する。更なる実施形態では、次のステップにおいて、ホームGWは、クラウドエンドポイントに接続することを試みることができ、且つ一意の装置ID’を取得し、装置を所有者(systemid)と関連付け/オンライン認証のために装置をログインさせ(装置フローを参照されたい)、装置のためのメタデータ(自宅名や場所情報など)を維持する。特定の実施形態では、この時点において、ホームGWは、自宅内で装置を発見し、且つGWに自動的に又は手動で追加された装置に対する制御を取得する準備が整っている。例示的な機能は、自宅ネットワークへのゲートウェイの接続、メッセージングアプリケーションのチャットサービス、スマートホームボットの導入を含むことができる。
装置及びユーザ管理:特定の実施形態では、最初の初期化後にGWが動作可能状態となると、自宅内で装置及びユーザを追加/管理し、且つ規則の生成/学習をサポートすることが必要となる。例示的な機能には、追加、削除、置換、メタデータの管理、装置のグループ化、並びにタグの関連付け及び変更などが含まれ得る。
装置管理:特定の実施形態では、プロセスを手動でトリガすることによる又は自動検出された装置について通知されることによる自宅への装置の追加には、以下のものが伴い得る。
・一意のクラウド装置IDを生成すること。
・装置IDによって識別され、且つホームゲートウェイ(HomeGateway)との関連付けられたコネクッテドデバイス(ConnectedDevice)のためのクラウドオブジェクトを生成すること。
・ゲートウェイにクラウド装置IDを追加すること(クラウドはこのIDを使用して装置を参照する)。
・クラウド内に基本装置データを追加すること。
○デバイステンプレート(DeviceTemplate)テーブル(すべての既知の装置のプロトタイプを含む)との関連付け、
○デバイスファンクション(DeviceFunction)との関連付け。これは、デバイステンプレート(DeviceTemplate)から一意に関連付けられてはいないユーザインタラクションidを必要とし得る。デバイスファンクション(DeviceFunction)は、ユーザが自宅を制御するレベルである。従って、例えば、スマートスイッチは、自動的に検出できないスイッチの背後の実際の装置に応じて、「ライトの点灯/消灯」又は「ファンのオン/オフ」機能などと関連付けられ得る(一般に、クールシング(cool thing)は、オン/オフのトグル時に電流を計測し、且つこの曲線の特性から装置を識別するものとなり、これはフェーズ5である)。
○タグからコネクッテドデバイス(ConnectedDevice)へのメタデータの追加。タグは、タイプ及び値を有し、且つホームGWに関連して存在する(従って、(コネクッテドデバイス(ConnectedDevice)に直接的に保存される解決策との比較において)それぞれの自宅内の「リビングルーム」を使用する他の全員に影響を及ぼすことなく、自らのリビングルームを本日は「リビングルーム」と命名することが可能であり、且つ明日、これを「mywasomelivingroom」と変更することが可能であり、且つこれを1つの場所でのみ変更することができる)。
ユーザ管理:アドミンの追加(従って、アドミンは装置を追加することができる)。ホームGW(HomeGW)は、1つの所有者を有することができる。自宅(又はその一部分)を制御するためにユーザを追加する。
日常的な使用:特定の実施形態では、これには、自宅の制御と、更に過去の行動に基づいて規則を示唆するために使用し、且つスマートホームエクスペリエンスを個人化するクラウド内の装置からのイベントフィードの取得とが伴い得る。
特定の実施形態では、装置ログイン機能により、装置の認証の提供をサポートすることができる。特定の実施形態では、フローは、(1)装置がアプリケーションid、クライアントキーにより第三者システムの認証エンドポイントに接触し、(2)装置が長い及び短いコードを受信し、(3)装置が短いコードをユーザに表示し、(4)ユーザが装置ウェブサイトに移動し、同一のアプリケーションidによってソーシャルネットワーキングシステムログインを実行し、(5)ユーザが第三者システムページに導かれ、そこでユーザが短いコードを入力し、(6)第三者システムページが、要求された許可を有するダイアログを示し、且つアプリケーションをTOSするようにユーザに要求し、(7)その一方で、装置が、長いコードによる第三者システムサーバに対するピンギングを維持し、これにより、その認証が完了したかどうかを問い合わせる(5秒ごとに1回以下、コードは10分以内に失効し得る)というものであり得る。
特定の実施形態では、短いコードを表示する代わりに、装置は、コードのブロードキャストを開始し得る(ブルートゥース(BLUETOOTH)、mDNS、ジグビー(ZIGBEE))。特定の実施形態では、これは、装置固有のウェブサイト又はアプリケーションを通じてではなく、信頼されたアプリケーションを通じて機能することができる。従って、ログイン承認は、装置アプリケーションidと異なるアプリケーションidから到来する。更なる実施形態では、許可ダイアログは、信頼されたアプリケーションのUXフローと統合され得る(例えば、メッセージングアプリケーションチャットウィンドウ内に何らかの形態で埋め込まれる)。
これは、新しいエンドポイントを必要とし得る。
非ペアリングモードにおけるEデータ転送プロトコル
特定の実施形態は、ブルートゥース(BLUETOOTH)接続上でのWIFIログイン情報の転送を許容する。特定の実施形態では、接続は、TCP様のBTLE接続として考えられ得、この場合、ゲートウェイ装置は、接続のために利用可能であるサービスをブロードキャストし得、それぞれのサービスは一意のUUIDによって定義され得、且つサービスは1つ又は複数の読み出し/書き込み特性を有し得る。次いで、クライアント装置は、ゲートウェイ装置上のサービスとの専用の接続を確立することができる。
更なる実施形態は、データを送信及び書き込むことによるデータの転送を許容する。特定の実施形態では、BTLE4.0は、非常に小さいデータバースト(例えば、最大で20バイト)の送信をサポートする。更なる実施形態では、20バイトよりも長いデータを送信する際には最初の20バイトのみが転送される。
特定の実施形態では、20バイトよりも長いデータを転送する際、データは、それぞれ20バイトのサイズを有するパケットに分離され得、この場合、それぞれのパケットの受信は、通知パケットによってアクノリッジされ得る。パケットのペイロードデータは、パケットヘッダに基づいて宛先で組み立てられる。特定の実施形態では、パケットのフォーマットは、ヘッダが6バイトの情報を含むものであり得る。ヘッダの最初の2バイトは、それが受信対象である(例えば、値=1を設定することによって表記された)最初のパケットであるか、(値=0を設定することによって表記された)中間パケットであるか、又は(値=2を設定することによって表記された)最後に受信されたパケットであるかを識別することができる。ヘッダの次の2バイトは、論理パケットIDを識別することができる。ヘッダの最後の2バイトは、任意選択であり、且つ将来の拡張性のために使用することができる。
特定の実施形態は、ユーザの装置とWIFIネットワークとの間のシームレスなペアリングのためのシステムについて記述する。従来、ラズベリーPI(RASPBERRY PI)WIFI構成コマンドラインを使用することにより、ユーザは、まず利用可能なネットワークをスキャンし、ネットワーク構成をオープンし、且つWIFIネットワークに接続するためのクレデンシャルを手動で追加し得る。特定の実施形態では、WIFI構成は、BTLE上で自動になり得る。
特定の実施形態では、システムは、ラズベリーPI(RASPBERRY PI)システム、制御アプリケーション(例えば、ソーシャルネットワーキングアプリケーション又はモバイルアプリケーション電話アプリケーション)、及びホームゲートウェイメージを含むことができる。特定の実施形態では、ユーザがオープンする必要があるのは制御アプリケーションのみであり得、制御アプリケーションは、ユーザの装置の範囲内の無線ネットワークを自動的に検出し得、且つWIFI SSID及びパスワードを入力し得る。特定の実施形態では、WIFI SSID及びパスワードを入力した際、ラズベリーPI(RASPBERRY PI)コマンドラインを使用する必要性を伴うことなくログインが完了する。
特定の実施形態では、ラズベリーPI(RASPBERRY PI)は、接続のために利用可能なプロビジョニングサービスをブロードキャストし得、この場合、サービスは一意のUUIDによって定義され得、且つサービスは読み出し/書き込み特性を有する。更なる実施形態では、ユーザの装置の電話アプリケーションは、ラズベリーPI(RASPBERRY PI)上のサービスとの専用の接続を確立することができる。特定の実施形態では、システムは、販売の時点で特定の個人に割り当てられ得る。即ち、システムをオープンし、且つシステムをネットワークに接続した際、システムは、この特定の装置がこの特定のユーザに属することを認識し得、且つユーザの装置がシステムに接続することを自動的に許容し得る。
例えば、以下では、装置アクセスの認可及び割当の一実装形態を見出す。ロバートの自宅管理人であるシェリーは、ロバートに「こんにちは。明日、通常の時刻に訪問できません。本日訪問してもいいですか?」と伝える。ロバートは、そのフロントドアを制御する装置に対応する連絡先を有するメッセージングアプリケーション(例えば、ホームゲートウェイ)を開き、「フロントドアに対するキーアクセスをシェリー・ブラウンに付与する」と伝える。装置は、「シェリー・ブラウン及び私をグループチャットに追加し、且つグループチャット内で「はい」と回答するように相手に要求してください」とメッセージングダイアログを介して回答する。ロバートはグループチャットを起動し、「シェリー、キーアクセスの付与を受け入れるためにはいと回答してください」と伝えた。シェリーは「はい」と回答する。シェリーは、装置から「こんにちは。本日、ドアを開くためのアクセスを有しています。訪問を希望する時刻を教えてください」という(ロバートの自宅フロントドアを表す連絡先として提示された)メッセージを受け取る。自宅に到着すると、シェリーは、「ロバートの自宅のフロントドアを開く」というメッセージをタイプ入力し、ドアが開けられたという「開く」メッセージがロバートに送信される。ロックがアンロックされる。
特定の実施形態では、上述の使用ケースの場合、Zウェーブ(ZWAVE)装置通信、メッセージングアプリケーション内におけるフルダイアログのサポート、規則エンジンを含むコントローラ内のロジック、及びキー失効ロジックが存在し得る。
例えば、以下では、装置アクセスの認可及び割当の一実装形態を見出す。ナニー及びロバートの娘であるアリスが自宅に到着する。残念ながら、ナニーはキーを見つけることができない。ナニーは、ロバートに「こんにちは。キーを見つけることができません」と伝える。ロバートは、ホームゲートウェイバックエンドのためのメッセージングアプリケーションダイアログをオープンし、「フロントドアに対するキーアクセスをシェリー・ブラウンに付与する」と伝える。ナニーは、ホームゲートウェイバックエンドから、(ロバートの自宅のフロントドアのための連絡先として提示された)「こんにちは。ドアを開くためのアクセスを有しています。そのようにお伝えください!」というメッセージを受け取る。ナニーは、「開く」メッセージをタイプ入力する。ロックがアンロックされる。
特定の実施形態では、上述の使用ケースの場合、Zウェーブ(ZWAVE)装置通信、メッセージングアプリケーション内におけるフルダイアログのサポート、規則エンジンを含むコントローラ内のロジック、及びキー失効ロジックが存在し得る。
例えば、以下では、潜在的にジグビー(ZIGBEE)又はZウェーブ(ZWAVE)を使用する装置プロビジョニングの一実装形態を見出す。ロバートは、郵送で新しいスマートライトを取得する。ロバートは、箱を開き、ライトを捩じ込む。特定の実施形態では、モバイルアプリケーション上でのスキャンを開始するためにZウェーブ(ZWAVE)プロビジョニングが必要とされ得る。このような状況では、ロバートは、スキャンを開始する必要があり得る。ロバートは、ホームゲートウェイバックエンドを表す連絡先から、「こんにちは。最近購入したXXXライトが電源投入され、ネットワークに加入する準備が整いました。アクセスを付与しますか?」というメッセージを受け取る。ロバートは、「はい」と回答する。ホームゲートウェイバックエンドは、「このライトをどのような名称にしますか?」と問い合わせる。ロバートは、「アリスルームライト」と回答する。ホームゲートウェイバックエンドは、「わかりました。XXXプラグをアリスルームライトと命名します」と回答する。アプリケーションは、「スイッチを使用して装置を制御することを希望しますか?1つのスイッチを選択するには、(1)アリスルームスイッチ及び(2)バックストリートスイッチのうちからインデックスを回答してください。取り消す場合には何も回答しないでください。」と回答する。ロバートは、「1」と伝える。
ホームゲートウェイアプリケーションに対応する連絡先は、「現在、アリスルームスイッチはアリスルームライトを制御しています(記録が保存された)」と回答する。ロバートは、「アリスルームライトを点灯する」と伝える。ホームゲートウェイに対応する連絡先は、「アリスルームライトを点灯します」と回答し、ライトが点灯する。その後、アリスは、就寝した後に起床してライトを手動で点灯する。アリスが押下したライトスイッチは、予めプロビジョニングされたウェモ(WEMO)WIFIスマートスイッチ(Smart Switch)である。ホームゲートウェイに対応する連絡先は、「ロバート、アリスルームライトが点灯されました」と応答する。(代替として)「ロバート、アリスルームライトは点灯していますか」と応答する。ホームゲートウェイに対応する連絡先は、「アリスルームライトは点灯しています」と伝える。ロバートは、「アリスルームライトを消灯する」と伝える。ロバートは、「明日9時にアリスルームライトを点灯する」と伝える。ホームゲートウェイに対応する連絡先は、「規則が保存されました」と伝える。
特定の実施形態では、上述の使用ケースの場合、特定のライト/プラグサポートのためのAPIが存在し得、メッセージングアプリケーション内でフルダイアログをサポートするためにサポートが存在し得、WIFIにサインオンするためにエニーデバイス(AnyDevice)が有効化され得、規則エンジン及びZウェーブ(ZWAVE)装置通信含むコントローラ内のロジック、並びにプロビジョニングフローが実施され得る。
例えば、以下では、ラズベリーPI(RASPBERRY PI)、BT/WIFIを使用した上述の使用ケースの代替肢を見出す。ロバートは、郵送で新しいスマートプラグを取得する。ロバートは箱を開き、リビングルームライトをスマートプラグに接続する。ロバートは、ホームゲートウェイバックエンドから、「こんにちは。最近購入したXXXスマートプラグが電源投入され、ネットワークに加入する準備が整いました。アクセスを付与しますか?」というメッセージを受け取る。ロバートは、「はい」と回答する。ホームゲートウェイバックエンドは、「このプラグをどのような名称にしますか?」と問い合わせる。ロバートは、「アリスルームライト」と回答する。ホームゲートウェイバックエンドは、「わかりました。XXXプラグをアリスルームライトと命名します」と回答する。ロバートは、「アリスルームライトを点灯する」と伝える。ホームゲートウェイバックエンドは、「アリスルームライトを点灯します」と回答し、ライトは点灯する。その後、アリスは、就寝した後に起床してライトを手動で点灯する。ホームゲートウェイバックエンドが「ロバート、アリスルームライトが点灯されました」と伝える。(代替として)ロバート:「アリスルームライトは点灯していますか?」ホームゲートウェイバックエンドは、「アリスルームライトは点灯しています」と伝える。ロバートは「消灯する」と伝える。
特定の実施形態では、上述の使用ケースの場合、BT/WIFI装置プロビジョニングフローを実装することができる(ホームゲートウェイブルートゥース(BLUETOOTH)プロビジョニング/コマンドフロー)。加えて、ラズベリーPI(RASPBERRY PI)イメージが完全に機能可能であり得、WIFI、規則エンジンを含むコントローラ内のロジック、及びラズベリーPI(RASPBERRY PI)に有線接続されたプラグフィクスチャにサインオンするために、メッセージングアプリケーション内のフルダイアログをサポートする特定のライト/プラグサポートのためのAPIであるエニーデバイス(AnyDevice)を有効にすることもできる。
使用ケース:招待を送信すること。招待された人々は、イベントのエリアに到着すると、(ビーコンを使用してトリガされた)「無線アクセスポイントが加入のために利用可能です。接続を希望しますか?」という通知を受け取る。応諾した場合、招待された人々は、イベントWIFIネットワークに自動的に移行される。イベントにおける音楽再生リストは、イベント出席者の全体的な趣味及び好みに基づいて選択される。イベント所有者は、ホームゲートウェイバックエンドに「イベント音楽の再生を開始する」と伝えることにより、音楽を起動する。人々が音楽/写真に対する明示的な要求を実施できるように、(イベントにちなんで命令された)グループチャットが自動的に生成される。イベント出席者が写真をグループチャットにポスティングすると、それは、イベントにおいて表示される画面に基づく装置に転送される。更なる実施形態では、アプリケーションに基づくブートストラッピングが存在し得る。更なる実施形態では、インストールされたアプリケーションを有さない参加者のために、イベントへの加入を確認した際、アプリケーションに対するリンクにより、ユーザの装置上のメッセージングアプリケーションにメッセージを送信し得、且つサインインするようにユーザに要求し得る。更なる実施形態では、存在検出が存在し得る。特定の実施形態では、制御アプリケーションは、iビーコン(iBeacon)を聴取することができる。特定の実施形態では、アプリケーション又はサービスは、BTLEスキャンをバックグラウンドで実行する。スキャンは、イベントの開始5分前に統合層330からのプッシュ通知によってトリガされ、且つユーザが通知に応答すると、又は(遅くとも)イベントの終了時点でアプリケーション又はサービスによって停止される。特定の実施形態では、アプリケーションは、iビーコン(iBeacon)をOSに登録し、OSは、ビーコンが検出された際にアプリケーションをトリガする。更なる実施形態では、アプリケーションは、iビーコン(iBeacon)を検出し、且つ機能可能状態となると、イベントのために一意のIDによってブロードキャストされた特定のBTサービスについてスキャンする。特定の実施形態では、システムは、このために重力回転コード(Gravity rotating code)を使用し得、且つイベントページをポイントする重力ビーコンと関連したURLを取得するためにグラフQL(GraphQL)エンドポイントを呼び出し得る。更なる実施形態では、システムは、ホームゲートウェイからイベント固有のIDをブロードキャストすることができる。また、更なる実施形態では、アプリケーションは、WIFIクレデンシャルと共にブロードキャストされたBTを読み取ることもできる。
特定の実施形態では、上述の使用ケースの場合、イベントから選択された出席者へのフローをグループチャットに実装することができる。加えて、新しいWIFIネットワークへの通知及び転送のためのUI(エニーデバイス(AnyDevice))、「好み」に関する再生リストの生成、(音楽プレーヤと統合される)音楽のストリーミング、第2画面へのグループチャット写真のリダイレクト、第2画面上における表示を許容する。
メッセージングアプリケーションを使用したスマート装置の制御、管理、及び起動
特定の実施形態は、ユーザが、ユーザのスマート装置を制御、管理、又は起動するため、メッセージングアプリケーションを介して通信することを許容する。更なる実施形態では、ユーザが、ユーザのスマート装置を制御、管理、又は起動しつつ、自然言語を使用できるように、人間様のインテリジェンスをメッセージングアプリケーションに実装することができる。特定の実施形態では、ユーザが、特定のライトが点灯されることを求めた際、メッセージングアプリケーションは、点灯を要するライトについて正確に通知される必要性を伴うことなく、周囲の要因に基づいて、点灯するべきライトを推定可能であり得る。例えば、メッセージングアプリケーションが、活動に起因して台所ライトが点灯されたとユーザに通知した際、ユーザは、ユーザが消灯を所望するものが台所ライトであることを通知することなく、「ライトを消灯する」というメッセージを、照明を制御する装置に対応する連絡先に送信するのみでよい。メッセージングアプリケーションは、ユーザのメッセージを受信することに応答して、台所ライトを消灯することを知ることができる。
更なる実施形態では、ユーザは、メッセージングアプリケーションを使用することにより、スマート装置に問い合わせ、これをプログラムし、且つこれを管理する能力を有することができる。例えば、「自宅装置をリストに加える」。更なる実施形態では、ユーザは、メッセージングアプリケーションの入力を使用することによってスマート装置を制御する能力を有する。
更なる実施形態では、ユーザは、メッセージングアプリケーションの入力を使用することにより、スマート装置からデータ、通知、及び警告を受け取る能力を有する。例えば、「フロントドアが開かれている」。更なる実施形態では、メッセージングアプリケーションは、スマート装置に関連して、人間の自然言語によるユーザとのチャットを理解する能力を有する。特定の実施形態では、メッセージングアプリケーションからのテキストを解析することにより、これを実行することができる。更なる実施形態では、メッセージングアプリケーションは、以前に使用された装置からコンテキストを構築し、且つ使用するべきものを推定する能力を有する。即ち、メッセージングアプリケーション及びユーザからの過去のコンテキストに基づいて、メッセージングアプリケーションは、ユーザがいずれの装置から制御又は管理することを所望するかを推定することができる。
更なる実施形態では、(いくつかの実施形態ではソーシャルグラフに含まれ得る)装置グラフは、スマート装置と関連したノードを含むことができる。特定の実施形態では、スマート装置は、ユーザの自宅内に配置された装置であり得る。更なる実施形態では、ユーザの自宅内に配置されたそれぞれの装置は、装置グラフ内でノードによって表され得る。更なる実施形態では、新しい接続を生成した際、ノードは、ノードと新しい接続との間にエッジを生成することができる。更なる実施形態では、ユーザ装置は、グラフ内の他のユーザ又は場合により他の装置との間にエッジを含むことができる。
特定の実施形態では、メッセージングアプリケーションを使用した接続装置に対する一時的なアクセスを利用することができる。特定の実施形態では、システムは、二人のユーザが、予め定義された閾値を上回るフレンドシップ係数を有すると判定し得、この場合、装置に対する一時的なアクセスがユーザに許容され得る。例えば、ソーシャルネットワーク上の二人の関係者が、予め定義された閾値を上回るフレンドシップ係数を有する場合、システムは、友人がユーザの近所にいる際にその友人がユーザの家に立ち寄り、且つフロントドアから自由に入り得るように、メッセージングアプリケーションを介して一時的なドアオープントークンを送信することができる。更なる実施形態では、ハブに対するバックエンド接続は、トークンの使用のためのチャネル認可であり得る(例えば、トークンの送信者は、共有のための許可を有する必要がある)。
特定の実施形態では、アクセス及び認可は、メッセージングチャットセッションに対する友人の追加を通じて実施され得る。特定の実施形態では、メッセージングアプリケーションを認可のための理解が容易なグループフレームワークとして使用することにより、相対的に一般化されたバージョンを利用することができる。特定の実施形態では、システムは、一時的なWIFIネットワークを生成し、且つその後、時間限度においてそれらを削除することにより、ネットワークに対する時間制限されたアクセスを付与することができる。更なる実施形態では、一時的なWIFI SSIDを、帯域外(out of bound)メカニズムを通じて(例えば、イベント招待又はプッシュ通知を通じて)ブロードキャストすることにより、特定のユーザがWIFIの近傍に到達した際、又は(例えば、SSIDが隠蔽される場合に)特定の場所に到達した際に自動的な接続を許容することができる。
特定の実施形態では、システムは、ユーザの習慣及び行動を学習し得、その時点でシステムは自動的な規則を生成し得る。例えば、ユーザが自宅に帰ってきた際には常に、ユーザは、ステレオをオンにする。システムは、ユーザが自宅に到達した際に常にステレオをオンにするものと判定し得、この時点で、システムは、ユーザが自宅に帰ってくるとステレオをオンにするという規則を生成するであろう。
特定の実施形態では、システムは、ユーザの傾向及び習慣を学習し得、且つ特定の規則のスコアを算出し得る。スコアが特定の閾値に到達すると、システムによる規則の利用を開始することができる。特定の実施形態では、システムは、環境的な懸念事項を考慮することができる(例えば、外が明るい又は暗い、冷たい又は熱いなど)。更なる実施形態では、規則は、それぞれのイベントに固有のものとなり、且つそれぞれのイベントに例外が存在する。特定の実施形態では、ハブからの条件の組は、ユーザの家の内部に配置されるすべてのスマート装置(例えば、音楽プレーヤ、ドアのロック、電気製品など)を処理することができる。
特定の実施形態では、イベントは、接続装置によって生成される(例えば、ドアの開閉、浴室のライトの点灯)。特定の実施形態では、条件は環境に属する。特定の実施形態では、デルタはイベント中の時間スライスを意味する。
特定の実施形態では、イベントが発生するごとに、シーケンスと呼称されるデルタ(Dmaxは、例えば、1分に等しく、実験によって判定される)内のイベント(例えば、イベント1、イベント2など)が評価される。更なる実施形態では、シーケンスSsequence=1−Π(Dmax−min(deltaN,Dmax))/Dmaxについてスコアが生成される。更なる実施形態では、このSsequenceは、以前のシーケンス及び条件に照らして評価され得る。更なる実施形態では、同一の条件を有するシーケンスが発生すると考えられる場合、スコアに現時点のSsequenceを乗算することができる。更なる実施形態では、後の計算を利用することにより、スコアが特定の閾値に到達するかどうかを判定することができる。
ゲートウェイアプリケーションAPI
特定の実施形態では、ホームゲートウェイアプリケーションは、制御する物理的ハードウェア装置と、ユーザが装置を制御するためにインターフェースするバックエンドとの間に位置する。従って、ゲートウェイは、バックエンドから自らに送信されるコマンドの取得と、物理的装置を制御する命令へのそれらの変換とを担当する。
入力:統合層330からのプッシュ:特定の実施形態では、一般的なプッシュ構造は、以下のようにcurlフォーマットであり得る。
特定の実施形態では、アプリケーションID(例えば、装置ID)及びレスト(REST)キーは、使用される特定の装置から取得する必要がある。現時点のアプリケーションのid/キーは、「ro2sqHypZCVs4qe6dwvj31gOYLaux6hBFGd6J54g」、「dl5gBnYcsubgJtG91dGPYi0x40rFWu2ZyNxJ6inZ」である。特定の実施形態では、プッシュを単一装置まで導くことを所望する際、「ウエア(where)」クローズが使用される。特定の実施形態では、すべての装置に対するプッシュの送信を省略することができる。特定の実施形態では、ゲートウェイインストールIDは、それぞれの装置ごとに生成される一意の識別子である。また、これは、ホームゲートウェイ/インスタレーション(HomeGateway/Installation)テーブル内で統合層330に保存され得る。特定の実施形態では、コマンドは、規則、発見、クエリ、制御、更新の1つであり得る。これらのコマンドのそれぞれは、特定のフィールドが、以下で概説されるコマンドキーに準拠するものと予測する。
規則:特定の実施形態では、以下は、規則コマンドが規定される場合のプッシュデータフィールドの例示的な構造を概説する。
特定の実施形態では、コマンド(command)は上述したものに等しい。この場合、これは、現時点のプッシュが規則を取り扱うものと規定する。特定の実施形態では、アクション(action)フィールドは、規則に伴って発生するもの(「更新」又は「削除」)を規定する。規定されない場合、その既定値は更新となる。更新は、規則を生成又は更新するために使用する必要があり、且つ削除は規則を削除する。特定の実施形態では、ルール_id(rule_id)フィールドは、作用する対象の規則を規定する。これは、新しい規則が生成される場合にも常に規定されなければならない(この場合、これは、新しい規則のidとして使用される)。また、これは一意であり得る。特定の実施形態では、ルール_データ(rule_data)フィールドは、更新動作のためにのみ使用され、且つ削除動作のために使用されない。これは、規則を更新/保存するために使用されるデータを含む。特定のフィールドは、以下のとおりである。更なる実施形態では、ネーム(name)フィールドは、規則の名前を規定する。これは、通常、ユーザがそれを参照するために使用し得る規則の相対的にフレンドリーな名前である必要がある。更なる実施形態では、トリガ(trigger)フィールドは、規則のトリガを規定するために使用される。装置が特定の状態に入る際に起動される装置に基づくトリガと、クーロン(cron)ジョブを起動するために使用される時間に基づくトリガとの2つのタイプのトリガがサポートされる。特定の実施形態では、トリガフィールドは、以下のような外観を有するべきである。イベント(event)フィールドは、「時間」をサポートしないことを除いて、状態に関する「ステート(state)」フィールドと同一の方式によって構造化される。更なる情報については、その節を参照されたい。
特定の実施形態では、クーロン(cron)フィールドは、規則が特定の時点で実行されるようにする規則のためのクーロン(cron)ジョブを規定する。これは、トリガのイベントフィールドが「タイム(time)」というストリングである場合にのみ参照される。特定の実施形態では、コンディションズ(conditions)フィールドは、規則の実行前に更なる条件が規定されることを許容する。これは、アンド(AND)、オア(OR)、及びノット(NOT)論理演算子をサポートするジェイソン(JSON)ツリーとして形成される。これは、現時点の時刻と、装置が特定の状態にあるかどうかとをチェックするために更に使用することができる。コンディションズ(conditions)フィールドの一例が以下に示される。
更なる実施形態では、タイプ(type)フィールドは、これが状態チェックであるか、又は論理演算であるかを規定する。上述のように、サポートされる論理演算は、アンド(AND)、オア(OR)、及びノット(NOT)である。値、範囲、及び時刻の3つの状態チェックがサポートされる。
更なる実施形態では、定義される状態チェックのタイプを規定するため、チェック_タイプ(check_type)フィールドが使用される。これは、論理演算には不要である。値チェックは、装置が特定の状態にあることを確認するために使用される。範囲チェックは、値の範囲が規定されることを許容することを除いて、値チェックと同一の機能を提供する。時刻チェックは、規則が実行されるべき時刻を規定するために使用される。特定の実施形態では、範囲及び時刻チェックが定義される場合、レンジ_ミン(range_min)及びレンジ_マックス(range_max)フィールドを規定しなければならない。特定の実施形態では、値チェックが定義される場合、バリュー(value)を規定しなければならない。
更なる実施形態では、ステート_ネーム(state_name)フィールドは、チェックされる特定のパラメータを規定するために使用される。範囲及び値チェックの場合、これらは、チェックされる装置の値である。時刻チェックの場合、これは、分、時間、日付、日、又は月であり得る。(値チェックと同様に、但し、時刻のために)時刻チェックのための正確な値を規定するには、レンジ_ミン(range_min)及びレンジ_マックス(range_max)フィールドで同一の数値を使用する必要がある。
特定の実施形態では、アクションズ(actions)フィールドは、規則がトリガされ、且つ条件が充足された場合に発生するものについて、規則に対して正確に通知する。一例は、以下のとおりである。更なる実施形態では、デバイスID(deviceID)フィールドは、動作が実行される対象の装置を規定する。更なる実施形態では、アクションズ(actions)フィールドは、装置上で変更されることを要するパラメータと、それぞれのパラメータが設定されるべき内容とを示す。現時点では、これらは、1つのパラメータのみをアレイ内の単一の要素内で規定する必要があることを除いて、コントロール(Control)コマンドが使用するものと同一のフォーマットであるべきであることに留意されたい。
特定の実施形態では、以下のものが完全な規則の一例である。
発見:特定の実施形態では、発見コマンドは、更なる引数を必要としない。従って、完全な発見コマンドは以下のような外観を有する。
クエリ:特定の実施形態では、コマンドは、クエリされた装置のIDのみならず、その装置のタイプも必要とする。クエリコマンドの一例は以下のような外観を有する。
制御:特定の実施形態では、コマンドは、伝達されたパラメータが付与された場合、ゲートウェイに所与の装置の現時点の状態を変更させる。パラメータは、制御される装置のタイプに対応し、従って、現時点では万能の制御コマンドは存在しない。それぞれのサポートされる装置の例が以下に付与される。
特定の実施形態では、(例えば、自宅内の)デバイスクラウドは、対応するインスタンスをクラウド内に有することができる。それぞれの装置動作(ユーザコマンドや装置警告など)は記録され得、且つデバイスクラウドインスタンスのメッセージングキューで送信され得る。レシピは、1つ又は複数の規則を含むことができる。規則は装置動作を有し得、この装置動作は、タイミング設定によって実行することが可能であり、又は別の動作によってトリガすることもできる。特定のデバイスクラウドインスタンスは、装置動作メッセージングキューを要約する規則実行エンジンを有し得、且つ規則を実行し得る。
特定の実施形態では、ベース規則は以下のようなものであり得る。
特定の実施形態では、スケジュール規則は以下のようなものであり得る。
特定の実施形態では、トリガ規則は以下のようなものであり得る。
特定の実施形態では、実行エンジンは以下のようなものであり得る。
更なる実施形態では、許可、能力、イベント、及び動作を内蔵する規則が存在し得る。
特定の実施形態では、システムは、専用のハードウェア存在地点(POP:Point Of Presence)を有することから利益を受け得る。更なる実施形態では、これは、モバイルアプリケーションを通じて実行することができる。専用のハードウェアPOPの利益には以下ものが含まれ得る。
・WIFIのシームレスプロビジョニング:装置が両方でアクセスポイント(AP:access point)として機能するBリンク(Blink)シナリオの場合。
・新しい装置の連続的なスキャニング:通常、電話アプリケーションは、出現する新しい装置についてBT又はWIFIを連続的にスキャニングすることができず、且つ従って、これらはユーザがスキャニングを明示的に要求することを必要とする。
・デュアル帯域WIFIネットワーク:電話機が5GHzに接続され、且つ装置が2.4GHzに接続される場合、発見及び制御が問題となり得る。
・BTペアリング:BT装置とペアリングされた複数の電話機は、優先順位を有し、且つこれらの間のスイッチングは容易でもシームレスでもない。POPを通じて任意の電話機からの装置制御をプロキシングすることにより、専用のPOPのみがこの問題を解決する。
・ファームウェア更新のスケジューリング及びハンドリング:装置アプリケーションを通じたファームウェア更新は、ユーザがアプリケーションをオープンした際に発生するが、これは、ユーザが装置の使用を所望した時点に対応する。常にオン状態にあるPOPを有する場合、装置のタイプに基づいて便利な時点でスケジューリングされ得るファームウェアOTA更新が可能となるであろう。例えば、ライトは、例えば必要とされていない日中に更新され、コーヒー機械は、まったく使用されない可能性が高い夜間に更新され、サーモスタットは、低温についてスケジューリングされた時点で更新される。
・使用する時点/応答性:それほど頻繁に使用されない接続装置を制御するための電話アプリケーションは、OSによって停止させることができる。ユーザによってアクセスされた際、コールドスタートは、使用する時点に影響を及ぼし(アプリケーションは、ユーザが装置を制御できない瞬間に起動する)、これにより、不満をもたらす遅延及び相対的に低い応答性をもたらし得る。常にオン状態にある音声制御されたハードウェアPOPは、使用する時点/応答性を向上させることができる。
図4は、オープンネットワーク(例えば、BTLEネットワーク)上でアクセスクレデンシャルを要求することにより、アクセスクレデンシャルを必要とする制限されたネットワーク(例えば、WIFIネットワーク)に対して装置アクセスを確立するためのデータフロー400の例示的な相互作用図を示す。図4は、バックエンドシステム320と、ゲートウェイ装置310と、装置305との間のデータフロー400を示す。ゲートウェイ装置310は、バックエンドシステム320とインターフェースすることができ、バックエンドシステム320は、リモートサーバ又はサーバのグループ上でホスティングされ得る。ゲートウェイ装置310には、様々なクレデンシャルを提供することができる。特定の実施形態では、ゲートウェイ装置310には、WIFIクレデンシャル(例えば、WIFI SSID及びパスワード)を提供することができる。
特定の実施形態では、ゲートウェイ装置310は、いくつかのサービスを提供し得、且つ場合により、利用可能なサービスに関する情報をオープンネットワーク上でブロードキャストし得る(402)。それぞれのサービスは、異なる読み出し/書き込み特性を有し得、且つ一意の識別子(UUID)によって識別し得る。特定の実施形態では、制限されたネットワークのためのアクセスクレデンシャルを装置に提供するためのプロビジョニングサービスは、パケットサイズを高度に制限(例えば、最大で20B)する任意の高周波通信プロトコル上で提供することができる。特定の実施形態では、プロビジョニングサービスは、BTLE、ジグビー(ZIGBEE)、Zウェーブ(ZWAVE)、NFCを使用することができる。
特定の実施形態では、装置305は、ゲートウェイ装置310に接続するように要求することができ(404)、この場合、要求は、高度に制限されたマイクロパケット高周波データプロトコル(例えば、パケットサイズを20Bの最大サイズに制限するBTLEプレペアリングプロトコル)を使用して送信することができる。
特定の実施形態では、装置305から要求を受信した際、ゲートウェイ装置310は、装置305が制限されたネットワークに接続するように認可されるかどうかを判定することができる。特定の実施形態では、ゲートウェイ装置310は、装置305が制限されたネットワークとの接続を確立するように認可されるかどうかを判定するために、装置305の識別情報にアクセスすることができる(406)。
いくつかの実施形態では、ゲートウェイ装置310は、装置305の識別情報を送信することにより、バックエンドシステム320に認可検証を要求することができる(408)。バックエンドシステム320は、装置305の識別情報にアクセスし得、且つ(例えば、認可を確認する)認可検証を送信するか、又は認可の拒絶を送信することにより、ゲートウェイ装置310からの認可要求に応答し得る(410)。
いくつかの実施形態では、ゲートウェイ装置310は、予め受信され、且つアクセスクレデンシャルについてのクライアント装置からの任意の要求を受信する前にキャッシュされた認可情報に基づいて、装置305の認可を評価することができる(406)。例えば、ゲートウェイ装置310は、販売の時点で特定の個人に割り当てることができる。即ち、ゲートウェイ装置310をオープンし、且つゲートウェイ装置310を制限されたネットワークに接続した際、ゲートウェイ装置310は、装置305が認可されたユーザによって既に所有されていることを認識することができ、且つゲートウェイ装置310は、制限されたネットワークに接続するためにアクセスクレデンシャルを装置305に即座に送信することができる。
特定の実施形態では、ゲートウェイ装置310は、ゲートウェイ装置310がデータ特性を書き込むことにより、アクセスクレデンシャル(例えば、WIFI SSID及びパスワード)を装置305に送信することができ(412)、この場合、アクセスクレデンシャルを表すデータは、高度に制限されたマイクロパケット高周波データプロトコル上で送信されるために小さいサイズのパケットにセグメント化することができる。一例では、WIFIクレデンシャルを表すデータは、BTLE上で転送可能となるように、20Bパケットにセグメント化することができる。
特定の実施形態では、アクセスクレデンシャルを表すデータは、20バイトのパケットにセグメント化することができ、この場合、パケットのフォーマットは、6バイトヘッダと、14バイトペイロードとから構成される。この数値的な構成は、一例として提供されたものに過ぎない。当業者は、20バイトの多くの他の適切な構成を認識するであろう。特定の実施形態では、ヘッダを更に分離することができる。6バイトヘッダの一例では、バイト1及び2は、パケットが連続体中で最初のパケットであるか、中間パケットであるか、又は最後のパケットであるかを識別することができ、バイト3及び4は、論理的なパケット識別情報を識別することができ、バイト5及び6は、拡張性のために利用可能であり得る。当業者は、パケットのペイロードからのアクセスクレデンシャルを表すデータの再組立を促進するため、ヘッダ内におけるシーケンシング情報の任意の適切な表現を使用し得ることを理解するであろう。
特定の実施形態では、クライアント装置は、それぞれのマイクロパケットの受信をアクノリッジするためにゲートウェイ装置310にメッセージを送信することができる。特定の実施形態では、パケットヘッダ内のシーケンシング情報を使用することにより、高度に制限されたマイクロパケット高周波データプロトコル上で転送可能な小さいデータパケットを装置305で組み立てることができる。特定の実施形態では、高度に制限されたマイクロパケット高周波データプロトコル上で転送されたアクセスクレデンシャルは、組み立てられることで装置305を構成するように使用され得、これにより、装置305は、制限されたネットワーク(例えば、WIFIネットワーク)に接続する(414)ことができる。
特定の実施形態では、装置305が制限されたネットワーク(例えば、衛星、ブルートゥース(BLUETOOTH)、WIFI)に対する接続を確立すると、ゲートウェイ装置310及び装置305は、制限されたネットワークウエイで情報を交換することができる。例えば、特定の実施形態では、制限されたネットワークは、WIFIネットワークであり得、且つゲートウェイ装置310及び装置305は、WIFIネットワークプロトコル(例えば、802.11)上で情報を交換し得る。いくつかの例示的な実施形態では、装置305が新品の装置である場合、交換される情報は、ユーザの新しい装置をプロビジョニングするための通常の情報を含むことができる。限定ではなく、且つ例として、装置305は、他のサービスのためのユーザ認証クレデンシャル、ユーザの好み及びプライバシー設定、並びにユーザに関係した履歴情報のみならず、ユーザのデバイスクラウド内の他の装置に関する情報、他の装置にアクセスし且つ/又はこれを制御するためのクレデンシャルなどの他の関連情報など、ユーザコンテキスト情報を要求することができる(416)。このような要求を受信した際、ゲートウェイ装置310は、ユーザコンテキスト及び任意の他の要求された情報を装置305に送信することができる(418)。
図5は、例示的なコンピュータシステム500を示す。特定の実施形態では、1つ又は複数のコンピュータシステム500は、本明細書で記述及び図示される1つ又は複数の方法の1つ又は複数のステップを実行する。特定の実施形態では、1つ又は複数のコンピュータシステム500は、本明細書で記述又は図示される機能を提供する。特定の実施形態では、1つ又は複数のコンピュータシステム500上で稼働するソフトウェアは、本明細書で記述又は図示される1つ又は複数の方法の1つ又は複数のステップを実行するか、又は本明細書で記述又は図示される機能を提供する。特定の実施形態は、1つ又は複数のコンピュータシステム500の1つ又は複数の部分を含む。本明細書では、コンピュータシステムに対する参照は演算装置を包含し、且つ適宜、逆も又真である。更に、コンピュータシステムに対する参照は、適宜、1つ又は複数のコンピュータシステムを包含することができる。
本開示は、任意の適切な数のコンピュータシステム500を想定している。本開示は、任意の適切な物理的な形態を取るコンピュータシステム500を想定している。限定ではなく、例として、コンピュータシステム500は、組み込みコンピュータシステム、システムオンチップ(SOC)、シングルボードコンピュータシステム(SBC)(たとえば、コンピュータオンモジュール(COM)もしくはシステムオンモジュール(SOM)など)、デスクトップコンピュータシステム、ラップトップもしくはノートブックコンピュータシステム、インタラクティブキオスク、メインフレーム、コンピュータシステムのメッシュ、モバイル電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、拡張現実デバイス/仮想現実デバイスまたはこれらのうちの複数の組合せであることが可能である。適切な場合には、コンピュータシステム500は、1つもしくは複数のコンピュータシステム500を含むこと、単一型もしくは分散型であること、複数のロケーションにわたること、複数のマシンにわたること、複数のデータセンターにわたること、または、クラウド(1つもしくは複数のネットワーク内の1つもしくは複数のクラウドコンポーネントを含むことができる)内に常駐することが可能である。適切な場合には、1つまたは複数のコンピュータシステム500は、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を、実質的な空間上のまたは時間上の制限を伴わずに実行することができる。限定ではなく、例として、1つまたは複数のコンピュータシステム500は、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程をリアルタイムで、またはバッチモードで実行することができる。1つまたは複数のコンピュータシステム500は、適切な場合には、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を別々の時点で、または別々のロケーションで実行することができる。
特定の実施形態においては、コンピュータシステム500は、プロセッサ502、メモリ504、ストレージ506、入力/出力(I/O)インターフェース508、通信インターフェース510、およびバス512を含む。本開示は、特定の数の特定のコンポーネントを特定の構成で有する特定のコンピュータシステムについて記述し、示しているが、本開示は、任意の適切な数の任意の適切なコンポーネントを任意の適切な構成で有する任意の適切なコンピュータシステムを想定している。
特定の実施形態においては、プロセッサ502は、コンピュータプログラムを構成している命令などの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ502は、内部レジスタ、内部キャッシュ、メモリ504、またはストレージ506から命令を取り出し(またはフェッチし)、それらの命令をデコードして実行し、次いで、1つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ504、またはストレージ506に書き込むことができる。特定の実施形態においては、プロセッサ502は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ502を想定している。限定ではなく、例として、プロセッサ502は、1つまたは複数の命令キャッシュ、1つまたは複数のデータキャッシュ、および1つまたは複数の変換ルックアサイドバッファ(TLB)を含むことができる。命令キャッシュ内の命令は、メモリ504またはストレージ506内の命令のコピーであることが可能であり、命令キャッシュは、プロセッサ502によるそれらの命令の取り出しを高速化することができる。データキャッシュ内のデータは、プロセッサ502において実行される命令が機能する際に基づくメモリ504もしくはストレージ506内のデータのコピー、プロセッサ502において実行される後続の命令によるアクセスのための、もしくはメモリ504もしくはストレージ506への書き込みのためのプロセッサ502において実行された以前の命令の結果、またはその他の適切なデータであることが可能である。データキャッシュは、プロセッサ502による読み取り動作または書き込み動作を高速化することができる。TLBは、プロセッサ502のための仮想アドレス変換を高速化することができる。特定の実施形態においては、プロセッサ502は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ502を想定している。適切な場合には、プロセッサ502は、1つまたは複数の演算ロジックユニット(ALU)を含むこと、マルチコアプロセッサであること、または1つもしくは複数のプロセッサ502を含むことが可能である。本開示は、特定のプロセッサについて記述し、示しているが、本開示は、任意の適切なプロセッサを想定している。
特定の実施形態においては、メモリ504は、プロセッサ502が実行するための命令、またはプロセッサ502が機能する際に基づくデータを格納するためのメインメモリを含む。限定ではなく、例として、コンピュータシステム500は、命令をストレージ506または別のソース(たとえば、別のコンピュータシステム500など)からメモリ504にロードすることができる。次いでプロセッサ502は、命令をメモリ504から内部レジスタまたは内部キャッシュにロードすることができる。命令を実行するために、プロセッサ502は、命令を内部レジスタまたは内部キャッシュから取り出し、それらの命令をデコードすることができる。命令の実行中または実行後に、プロセッサ502は、1つまたは複数の結果(それらは、中間の結果または最終的な結果である場合がある)を内部レジスタまたは内部キャッシュに書き込むことができる。次いでプロセッサ502は、それらの結果のうちの1つまたは複数をメモリ504に書き込むことができる。特定の実施形態においては、プロセッサ502は、(ストレージ506またはその他の場所ではなく)1つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ504内の命令のみを実行し、(ストレージ506またはその他の場所ではなく)1つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ504内のデータ上でのみ機能する。1つまたは複数のメモリバス(それらはそれぞれ、アドレスバスおよびデータバスを含むことができる)は、プロセッサ502をメモリ504に結合することができる。バス512は、以降で記述されているような1つまたは複数のメモリバスを含むことができる。特定の実施形態においては、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ502とメモリ504との間に常駐し、プロセッサ502によって要求されるメモリ504へのアクセスを容易にする。特定の実施形態においては、メモリ504は、ランダムアクセスメモリ(RAM)を含む。このRAMは、適切な場合には、揮発性メモリであることが可能である。適切な場合には、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であることが可能である。その上、適切な場合には、このRAMは、シングルポートRAMまたはマルチポートRAMであることが可能である。本開示は、任意の適切なRAMを想定している。メモリ504は、適切な場合には、1つまたは複数のメモリ504を含むことができる。本開示は、特定のメモリについて記述し、示しているが、本開示は、任意の適切なメモリを想定している。
特定の実施形態においては、ストレージ506は、データまたは命令のためのマスストレージを含む。限定ではなく、例として、ストレージ506は、ハードディスクドライブ(HDD)、フロッピー(登録商標)ディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサルシリアルバス(USB)ドライブ、またはこれらのうちの複数の組合せを含むことができる。ストレージ506は、適切な場合には、取り外し可能なまたは取り外し不能な(すなわち、固定された)媒体を含むことができる。ストレージ506は、適切な場合には、コンピュータシステム500の内部または外部に存在することが可能である。特定の実施形態においては、ストレージ506は、不揮発性のソリッドステートメモリである。特定の実施形態においては、ストレージ506は、読み取り専用メモリ(ROM)を含む。適切な場合には、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書替え可能ROM(EAROM)、またはフラッシュメモリ、またはこれらのうちの複数の組合せであることが可能である。本開示は、任意の適切な物理的な形態を取るマスストレージ506を想定している。ストレージ506は、適切な場合には、プロセッサ502とストレージ506との間における通信を容易にする1つまたは複数のストレージコントロールユニットを含むことができる。適切な場合には、ストレージ506は、1つまたは複数のストレージ506を含むことができる。本開示は、特定のストレージについて記述し、示しているが、本開示は、任意の適切なストレージを想定している。
特定の実施形態においては、I/Oインターフェース508は、コンピュータシステム500と1つまたは複数のI/Oデバイスとの間における通信のための1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム500は、適切な場合には、これらのI/Oデバイスのうちの1つまたは複数を含むことができる。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータシステム500との間における通信を可能にすることができる。限定ではなく、例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチルカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の適切なI/Oデバイス、またはこれらのうちの複数の組合せを含むことができる。I/Oデバイスは、1つまたは複数のセンサを含むことができる。本開示は、任意の適切なI/Oデバイス、およびそれらのI/Oデバイスのための任意の適切なI/Oインターフェース508を想定している。適切な場合には、I/Oインターフェース508は、プロセッサ502がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイスドライバまたはソフトウェアドライバを含むことができる。I/Oインターフェース508は、適切な場合には、1つまたは複数のI/Oインターフェース508を含むことができる。本開示は、特定のI/Oインターフェースについて記述し、示しているが、本開示は、任意の適切なI/Oインターフェースを想定している。
特定の実施形態においては、通信インターフェース510は、コンピュータシステム500と、1つもしくは複数のその他のコンピュータシステム500または1つもしくは複数のネットワークとの間における通信(たとえば、パケットベースの通信など)のための1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、通信インターフェース510は、イーサネット(登録商標)もしくはその他の有線ベースのネットワークと通信するためのネットワークインターフェースコントローラ(NIC)もしくはネットワークアダプタ、またはWI−FIネットワークなどのワイヤレスネットワークと通信するためのワイヤレスNIC(WNIC)もしくはワイヤレスアダプタを含むことができる。本開示は、任意の適切なネットワーク、およびそのネットワークのための任意の適切な通信インターフェース510を想定している。限定ではなく、例として、コンピュータシステム500は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットの1つまたは複数の部分、またはこれらのうちの複数の組合せと通信することができる。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、有線またはワイヤレスであることが可能である。例として、コンピュータシステム500は、ワイヤレスPAN(WPAN)(たとえば、ブルートゥースWPANなど)、WI−FIネットワーク、WI−MAXネットワーク、セルラー電話ネットワーク(たとえば、グローバルシステムフォーモバイルコミュニケーションズ(GSM(登録商標))ネットワークなど)、またはその他の適切なワイヤレスネットワーク、またはこれらのうちの複数の組合せと通信することができる。コンピュータシステム500は、適切な場合には、これらのネットワークのうちの任意のネットワークのための任意の適切な通信インターフェース510を含むことができる。通信インターフェース510は、適切な場合には、1つまたは複数の通信インターフェース510を含むことができる。本開示は、特定の通信インターフェースについて記述し、示しているが、本開示は、任意の適切な通信インターフェースを想定している。
特定の実施形態においては、バス512は、コンピュータシステム500のコンポーネント同士を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、バス512は、アクセラレイティッドグラフィックスポート(AGP)もしくはその他のグラフィックスバス、エンハンストインダストリースタンダードアーキテクチャ(EISA)バス、フロントサイドバス(FSB)、ハイパートランスポート(HT)インターコネクト、インダストリースタンダードアーキテクチャ(ISA)バス、インフィニバンドインターコネクト、ローピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、ペリフェラルコンポーネントインターコネクト(PCI)バス、PCIエクスプレス(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクススタンダーズアソシエーションローカル(VLB)バス、または別の適切なバス、またはこれらのうちの複数の組合せを含むことができる。バス512は、適切な場合には、1つまたは複数のバス512を含むことができる。本開示は、特定のバスについて記述し、示しているが、本開示は、任意の適切なバスまたはインターコネクトを想定している。
本明細書においては、1つまたは複数の非一時的なコンピュータ可読記憶媒体は、適切な場合には、1つもしくは複数の半導体ベースのもしくはその他の集積回路(IC)(たとえば、フィールドプログラマブルゲートアレイ(FPGA)もしくは特定用途向け集積回路(ASIC)など)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)ディスケット、フロッピー(登録商標)ディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、セキュアデジタルカードもしくはドライブ、その他の任意の適切な非一時的なコンピュータ可読記憶媒体、またはこれらのうちの複数の組合せを含むことができる。非一時的なコンピュータ可読記憶媒体は、適切な場合には、揮発性、不揮発性、または揮発性と不揮発性の組合せであることが可能である。
本明細書においては、「または(もしくは)」は、包含的であり、排他的ではない(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AまたはB」は、「A、B、またはその両方」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。その上、「および(ならびに)」は、包括的および個別的の両方である(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AおよびB」は、「まとめて、または個別に、AおよびB」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。
本開示の範囲は、当技術分野における標準的な技術者が理解するであろう、本明細書において記述されているまたは示されている例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書において記述されているまたは示されている例示的な実施形態に限定されない。その上、本開示は、本明細書におけるそれぞれの実施形態を、特定のコンポーネント、要素、特徴、機能、動作、または工程を含むものとして記述し、示しているが、これらの実施形態のいずれも、当技術分野における標準的な技術者が理解するであろう、本明細書の任意の箇所において記述されているまたは示されているコンポーネント、要素、特徴、機能、動作、または工程のうちの任意のものの任意の組合せまたは順列を含むことができる。さらに、特定の機能を実行するように適合されている、実行するようにアレンジされている、実行することができる、実行するように構成されている、実行することを可能にされている、実行するように機能できる、または実行するように機能する装置もしくはシステム、または装置もしくはシステムのコンポーネントへの添付の特許請求の範囲における言及は、その装置、システム、コンポーネント、またはその特定の機能が、アクティブ化されているか否か、オンにされているか否か、またはロック解除されているか否かを問わず、その装置、システム、またはコンポーネントが、そうするように適合されている、そうするようにアレンジされている、そうすることができる、そうするように構成されている、そうすることを可能にされている、そうするように機能できる、またはそうするように機能する限り、その装置、システム、コンポーネントを包含する。さらに、本開示は、特定の利点を提供するものとして特定の実施形態を記載または例示しているが、特定の実施形態は、これらの利点のどれか、いくつか、またはすべてを提供しないことがある。

Claims (20)

  1. 方法であって、
    ゲートウェイ演算装置が、アクセスクレデンシャルのプロビジョニングサービスを提供するステップと、
    前記ゲートウェイ演算装置が、前記アクセスクレデンシャルに対する要求をクライアント装置から受信するステップであって、前記要求は、制限されたパケットサイズのプロトコルを使用して送信されたものである、前記受信するステップと、
    前記ゲートウェイ演算装置が、前記アクセスクレデンシャルを含むデータを複数のパケットにセグメント化するステップであって、前記複数のパケットは、前記制限されたパケットサイズのプロトコルに準拠している、前記セグメント化するステップと、
    前記ゲートウェイ演算装置が、制限されたパケットサイズのプロトコルを使用して、セグメント化されたデータを前記クライアント装置に送信するステップと
    を含む方法。
  2. 前記アクセスクレデンシャルは、前記制限されたパケットサイズのプロトコルと異なるプロトコルを使用してメッセージを送信するための認可クレデンシャルを含む、請求項1に記載の方法。
  3. 前記制限されたパケットサイズのプロトコルは、前記制限されたパケットサイズのプロトコルを使用してメッセージを送信する装置による電力使用量を制限するように設計されている、請求項2に記載の方法。
  4. 前記制限されたパケットサイズのプロトコルは、ブルートゥースローエナジー(BLUETOOTH(登録商標) LOW ENERGY)であり、及び前記異なるプロトコルは、WIFIである、請求項3に記載の方法。
  5. 前記要求は、前記プロビジョニングサービスの汎用一意識別子(UUID)を規定する、請求項4に記載の方法。
  6. 前記クライアント装置は、前記ゲートウェイ演算装置との最初のペアリングなしに、前記制限されたパケットサイズのプロトコルを使用してメッセージを前記ゲートウェイ演算装置に送信することができる、請求項1に記載の方法。
  7. 前記複数のパケットのそれぞれは、ヘッダとペイロードとを含み、前記パケットの前記ペイロードは、前記セグメント化されたデータを含み、前記パケットの前記ヘッダは、前記セグメント化されたデータが再組み立てされるべき順序を規定するシーケンシング情報を含む、請求項1に記載の方法。
  8. 1つ又は複数のプロセッサと、前記プロセッサに結合されたメモリであって、前記プロセッサによって実行可能な命令を含むメモリとを備えるゲートウェイ演算装置であって、前記プロセッサは、前記命令を実行すると、
    アクセスクレデンシャルのプロビジョニングサービスを提供すること、
    前記アクセスクレデンシャルに対する要求をクライアント装置から受信することであって、前記要求は、制限されたパケットサイズのプロトコルを使用して送信されたものである、前記受信すること、
    前記アクセスクレデンシャルを含むデータを複数のパケットにセグメント化することであって、前記複数のパケットは、制限されたパケットサイズのプロトコルに準拠している、前記セグメント化すること、
    前記制限されたパケットサイズのプロトコルを使用して、セグメント化されたデータを前記クライアント装置に送信すること
    を行うように動作可能である、ゲートウェイ演算装置。
  9. 前記アクセスクレデンシャルは、前記制限されたパケットサイズのプロトコルと異なるプロトコルを使用してメッセージを送信するための認可クレデンシャルを含む、請求項8に記載のゲートウェイ演算装置。
  10. 前記制限されたパケットサイズのプトロコルは、前記制限されたパケットサイズのプロトコルを使用してメッセージを送信する装置による電力使用量を制限するように設計されている、請求項9に記載のゲートウェイ演算装置。
  11. 前記制限されたパケットサイズのプロトコルは、ブルートゥースローエナジー(BLUETOOTH LOW ENERGY)であり、及び前記異なるプロトコルは、WIFIである、請求項10に記載のゲートウェイ演算装置。
  12. 前記要求は、前記プロビジョニングサービスの汎用一意識別子(UUID)を規定する、請求項11に記載のゲートウェイ演算装置。
  13. 前記クライアント装置は、前記ゲートウェイ演算装置との最初のペアリングなしに、前記制限されたパケットサイズのプロトコルを使用してメッセージを前記ゲートウェイ演算装置に送信することができる、請求項8に記載のゲートウェイ演算装置。
  14. 前記複数のパケットのそれぞれは、ヘッダとペイロードとを含み、前記パケットの前記ペイロードは、前記セグメント化されたデータを含み、前記パケットの前記ヘッダは、前記セグメント化されたデータが再組み立てされるべき順序を規定するシーケンシング情報を含む、請求項8に記載のゲートウェイ演算装置。
  15. ソフトウェアを具現化する1つ又は複数のコンピュータ可読非一時的記憶媒体であって、前記ソフトウェアは、ゲートウェイ演算装置の1つ又は複数のプロセッサによって実行されると、
    アクセスクレデンシャルのプロビジョニングサービスを提供すること、
    前記アクセスクレデンシャルに対する要求をクライアント装置から受信することであって、前記要求は、制限されたパケットサイズのプロトコルを使用して送信されたものである、前記受信すること、
    前記アクセスクレデンシャルを含むデータを複数のパケットにセグメント化することであって、前記複数のパケットは、制限されたパケットサイズのプロトコルに準拠している、前記セグメント化すること、
    前記制限されたパケットサイズのプロトコルを使用して、セグメント化されたデータを前記クライアント装置に送信すること
    を行うように動作可能である、1つ又は複数のコンピュータ可読非一時的記憶媒体。
  16. 前記アクセスクレデンシャルは、前記制限されたパケットサイズのプロトコルと異なるプロトコルを使用してメッセージを送信するための認可クレデンシャルを含む、請求項15に記載のゲートウェイ演算装置。
  17. 前記制限されたパケットサイズのプロトコルは、前記制限されたパケットサイズのプロトコルを使用してメッセージを送信する装置による電力使用量を制限するように設計されている、請求項16に記載のゲートウェイ演算装置。
  18. 前記制限されたパケットサイズのプロトコルは、ブルートゥースローエナジー(BLUETOOTH LOW ENERGY)であり、及び前記異なるプロトコルは、WIFIである、請求項17に記載のゲートウェイ演算装置。
  19. 前記要求は、前記プロビジョニングサービスの汎用一意識別子(UUDI)を規定する、請求項18に記載のゲートウェイ演算装置。
  20. 前記クライアント装置は、前記ゲートウェイ演算装置との最初のペアリングなしに、前記制限されたパケットサイズのプロトコルを使用してメッセージを前記ゲートウェイ演算装置に送信することができる、請求項15に記載のゲートウェイ演算装置。
JP2018505021A 2015-08-05 2016-08-05 デバイスクラウドの管理 Active JP6815382B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562201496P 2015-08-05 2015-08-05
US62/201,496 2015-08-05
US15/228,010 US10567479B2 (en) 2015-08-05 2016-08-04 Managing a device cloud
US15/228,010 2016-08-04
PCT/US2016/045689 WO2017024195A1 (en) 2015-08-05 2016-08-05 Managing a device cloud

Publications (2)

Publication Number Publication Date
JP2018532283A true JP2018532283A (ja) 2018-11-01
JP6815382B2 JP6815382B2 (ja) 2021-01-20

Family

ID=56609771

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018505021A Active JP6815382B2 (ja) 2015-08-05 2016-08-05 デバイスクラウドの管理

Country Status (11)

Country Link
US (1) US10567479B2 (ja)
EP (1) EP3128476A1 (ja)
JP (1) JP6815382B2 (ja)
KR (1) KR20180027600A (ja)
CN (1) CN107925654B (ja)
AU (1) AU2016301400B2 (ja)
BR (1) BR112018002093A2 (ja)
CA (1) CA2993620A1 (ja)
IL (1) IL256908A (ja)
MX (1) MX2018001419A (ja)
WO (1) WO2017024195A1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140379390A1 (en) 2013-06-20 2014-12-25 Live Nation Entertainment, Inc. Location-based presentations of ticket opportunities
US9762685B2 (en) 2005-04-27 2017-09-12 Live Nation Entertainment, Inc. Location-based task execution for enhanced data access
US8214494B1 (en) 2009-05-18 2012-07-03 Alarm.Com Incorporated Network device management technology
US9781170B2 (en) 2010-06-15 2017-10-03 Live Nation Entertainment, Inc. Establishing communication links using routing protocols
US10027758B2 (en) * 2015-10-05 2018-07-17 International Business Machines Corporation Distributed load processing using location-based internet of things device clusters
US10673646B1 (en) * 2018-12-09 2020-06-02 Olibra Llc System, device, and method of multi-path wireless communication
US10382530B2 (en) * 2016-02-11 2019-08-13 International Business Machines Corporation Distributed load processing using drift-based dynamic clusters of Internet of Things devices
US9954953B2 (en) * 2016-02-11 2018-04-24 International Business Machines Corporation Distributed load processing using forecasted location-based internet of things device clusters
US9990234B2 (en) * 2016-02-11 2018-06-05 International Business Machines Corporation Distributed load processing using clusters of interdependent internet of things devices
WO2017155874A1 (en) * 2016-03-08 2017-09-14 Eileen Chu Hing Methods and systems for providing a customized network
US10171506B2 (en) * 2016-03-21 2019-01-01 Fortinet, Inc. Network security management via social media network
CN105847099B (zh) * 2016-05-30 2019-12-06 北京百度网讯科技有限公司 基于人工智能的物联网实现系统和方法
US20230185608A1 (en) * 2016-08-11 2023-06-15 Rescale, Inc. Compute recommendation engine
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
GB201707050D0 (en) * 2017-05-03 2017-06-14 British American Tobacco Investments Ltd Data communication
US10834113B2 (en) * 2017-07-25 2020-11-10 Netskope, Inc. Compact logging of network traffic events
GB201722278D0 (en) 2017-12-29 2018-02-14 British American Tobacco Investments Ltd Device identification and method
US11165866B2 (en) * 2018-01-09 2021-11-02 Stel Life, Inc. Secure wireless communication platform
US10834170B2 (en) * 2018-03-19 2020-11-10 Citrix Systems, Inc. Cloud authenticated offline file sharing
US11140659B2 (en) * 2018-08-21 2021-10-05 Signify Holding B.V. Wireless organization of electrical devices by sensor manipulation
US10477390B1 (en) * 2018-09-27 2019-11-12 Palo Alto Networks, Inc. Service-based security per user location in mobile networks
US10944796B2 (en) 2018-09-27 2021-03-09 Palo Alto Networks, Inc. Network slice-based security in mobile networks
US10574670B1 (en) 2018-09-27 2020-02-25 Palo Alto Networks, Inc. Multi-access distributed edge security in mobile networks
US10462653B1 (en) * 2018-09-27 2019-10-29 Palo Alto Networks, Inc. Service-based security per data network name in mobile networks
US11153147B2 (en) * 2019-04-15 2021-10-19 Motorola Mobility Llc Dynamic event notification routing and delivery device and corresponding systems and methods
US11695843B2 (en) * 2019-09-06 2023-07-04 Johnson, J.R. User advanced media presentations on mobile devices using multiple different social media apps
US11595488B2 (en) 2019-10-07 2023-02-28 Oracle International Corporation Systems and methods for securely using cloud services on on-premises data
US11489686B2 (en) 2020-01-14 2022-11-01 Citrix Systems, Inc. Virtual meetings in ad-hoc networks
US11706682B2 (en) 2020-12-22 2023-07-18 Google Llc Switchable communication transport for communication between primary devices and vehicle head units
US11477626B2 (en) * 2020-12-22 2022-10-18 Google Llc Method and system for segmenting and transmiting data between computing devices and vehicle head units
CN113850984B (zh) * 2021-02-18 2024-04-16 天翼数字生活科技有限公司 一种支持蓝牙协议设备自动采集设备数据的方法
CN113142807A (zh) * 2021-04-20 2021-07-23 杭州市肿瘤医院 一种闭环管理智能保温送餐车系统以及方法
WO2023217396A1 (en) 2022-05-13 2023-11-16 Telefonaktiebolaget Lm Ericsson (Publ) Test channel scheduling using artificial intelligence

Family Cites Families (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6513006B2 (en) 1999-08-26 2003-01-28 Matsushita Electronic Industrial Co., Ltd. Automatic control of household activity using speech recognition and natural language
CN1411259A (zh) 2001-09-21 2003-04-16 国际商业机器公司 基于无线消息业务的远程控制系统和方法
KR100477513B1 (ko) 2002-11-25 2005-03-17 전자부품연구원 이기종 프로토콜간 상호 데이터 전송을 위한 공통프로토콜 계층 구조 및 방법과 공통 프로토콜 패킷
JP2005056207A (ja) 2003-08-05 2005-03-03 Sanyo Electric Co Ltd ネットワークシステム、宅内機器制御サーバおよび仲介サーバ
US7352997B2 (en) 2003-08-14 2008-04-01 Nokia Corporation Method, apparatus and system for hosting a group of terminals
US20050096913A1 (en) 2003-11-05 2005-05-05 Coffman Daniel M. Automatic clarification of commands in a conversational natural language understanding system
US8024487B2 (en) * 2003-12-01 2011-09-20 Microsoft Corporation Smart scan for wireless devices
US7403838B2 (en) 2004-12-16 2008-07-22 General Instrument Corporation Messaging system based building control
DE102006018238A1 (de) 2005-04-20 2007-03-29 Logitech Europe S.A. System und Verfahren zur adaptiven Programmierung einer Fernbedienung
US7539882B2 (en) 2005-05-30 2009-05-26 Rambus Inc. Self-powered devices and methods
US20070030848A1 (en) * 2005-07-28 2007-02-08 Yokogawa Electric Corporation Network communication system
US8402094B2 (en) 2006-08-11 2013-03-19 Facebook, Inc. Providing a newsfeed based on user affinity for entities and monitored actions in a social network environment
US7669123B2 (en) 2006-08-11 2010-02-23 Facebook, Inc. Dynamically providing a news feed about a user of a social network
EP1898563B1 (fr) 2006-09-07 2010-11-24 France Telecom Procédé et système de commande à distance d'équipements domestiques
US8037093B2 (en) 2006-09-12 2011-10-11 Facebook, Inc. Feeding updates to landing pages of users of an online social network from external sources
US9798789B2 (en) 2006-09-12 2017-10-24 Facebook, Inc. Method and system for tracking changes to user content in an online social network
US8447814B2 (en) 2006-12-07 2013-05-21 Microsoft Corporation Remote control using instant messaging
US7813697B2 (en) * 2007-01-05 2010-10-12 Apple Inc. Power efficient high speed communication systems and methods
US20080268882A1 (en) 2007-04-30 2008-10-30 Palm, Inc. Short message service enhancement techniques for added communication options
CA2695794C (en) 2007-08-20 2016-07-05 Facebook, Inc. Targeting advertisements in a social network
US9990652B2 (en) 2010-12-15 2018-06-05 Facebook, Inc. Targeting social advertising to friends of users who have interacted with an object associated with the advertising
US8700636B2 (en) 2010-09-16 2014-04-15 Facebook, Inc. Action clustering for news feeds
US8799068B2 (en) 2007-11-05 2014-08-05 Facebook, Inc. Social advertisements and other informational messages on a social networking website, and advertising model for same
US20120203831A1 (en) 2011-02-03 2012-08-09 Kent Schoen Sponsored Stories Unit Creation from Organic Activity Stream
FI121618B (fi) 2007-11-09 2011-01-31 Capricode Oy Mobiilin laitteen laitehallintamenetelmä ja -järjestely
US20090204578A1 (en) 2008-02-12 2009-08-13 Microsoft Corporation Targeted queries using an oma dm protocol
US8984615B2 (en) 2009-04-08 2015-03-17 At&T Mobility Ii, Llc Web to IMS registration and authentication for an unmanaged IP client device
US20110004692A1 (en) 2009-07-01 2011-01-06 Tom Occhino Gathering Information about Connections in a Social Networking Service
US8626344B2 (en) 2009-08-21 2014-01-07 Allure Energy, Inc. Energy management system and method
US9119027B2 (en) 2009-10-06 2015-08-25 Facebook, Inc. Sharing of location-based content item in social networking service
US8175617B2 (en) 2009-10-28 2012-05-08 Digimarc Corporation Sensor-based mobile search, related methods and systems
US20110106779A1 (en) 2009-10-30 2011-05-05 Research In Motion Limited System and method to implement operations, administration, maintenance and provisioning tasks based on natural language interactions
US8473743B2 (en) 2010-04-07 2013-06-25 Apple Inc. Mobile device management
GB2479596B (en) * 2010-04-16 2013-01-30 Toshiba Res Europ Ltd Communications system
US8244848B1 (en) 2010-04-19 2012-08-14 Facebook, Inc. Integrated social network environment
US8150844B2 (en) 2010-08-18 2012-04-03 Facebook, Inc. Location ranking using social graph information
US8499245B1 (en) 2010-08-24 2013-07-30 Amazon Technologies, Inc. Multi-source profiling for adaptive device operation
US9401178B2 (en) 2010-08-26 2016-07-26 Blast Motion Inc. Event analysis system
US8849246B2 (en) * 2010-08-27 2014-09-30 Wherepro, Llc Operation of a computing device involving wireless tokens
US8849610B2 (en) 2010-09-30 2014-09-30 Fitbit, Inc. Tracking user physical activity with multiple devices
US8560856B2 (en) * 2010-10-01 2013-10-15 Futurewei Technologies, Inc. Lightweight secure neighbor discovery protocol for low-power and lossy networks
US20120084160A1 (en) 2010-10-05 2012-04-05 Gregory Joseph Badros Providing Social Endorsements with Online Advertising
US9183307B2 (en) 2010-12-15 2015-11-10 Facebook, Inc. Comment ordering system
US9311678B2 (en) 2010-12-15 2016-04-12 Facebook, Inc. Comment plug-in for third party system
US20120166532A1 (en) 2010-12-23 2012-06-28 Yun-Fang Juan Contextually Relevant Affinity Prediction in a Social Networking System
US8751435B2 (en) 2010-12-23 2014-06-10 Intel Corporation System and method for determining client-based user behavioral analytics
US20120197709A1 (en) 2011-02-01 2012-08-02 Timothy Kendall Mobile Advertisement with Social Component for Geo-Social Networking System
US9948730B2 (en) 2011-02-08 2018-04-17 S-Printing Solution Co., Ltd. Social network system with access provision mechanism and method of operation thereof
EP2498250B1 (en) 2011-03-07 2021-05-05 Accenture Global Services Limited Client and server system for natural language-based control of a digital network of devices
US20120232998A1 (en) 2011-03-08 2012-09-13 Kent Schoen Selecting social endorsement information for an advertisement for display to a viewing user
US20120233009A1 (en) 2011-03-09 2012-09-13 Jon Bernhard Fougner Endorsement Subscriptions for Sponsored Stories
US20120284785A1 (en) * 2011-05-05 2012-11-08 Motorola Mobility, Inc. Method for facilitating access to a first access nework of a wireless communication system, wireless communication device, and wireless communication system
US8832284B1 (en) 2011-06-16 2014-09-09 Google Inc. Virtual socializing
US8954362B2 (en) 2011-06-29 2015-02-10 Infosys Limited System and method for predictive analytics in an electrical grid network
US9445305B2 (en) 2011-09-12 2016-09-13 Microsoft Corporation Low energy beacon encoding
US20130080520A1 (en) 2011-09-22 2013-03-28 Nokia Corporation Method and apparatus for provisioning resource credentials based on social networking data
US20130080898A1 (en) 2011-09-26 2013-03-28 Tal Lavian Systems and methods for electronic communications
WO2013071305A2 (en) 2011-11-10 2013-05-16 Inventime Usa, Inc. Systems and methods for manipulating data using natural language commands
US8825020B2 (en) 2012-01-12 2014-09-02 Sensory, Incorporated Information access and device control using mobile phones and audio in the home environment
US9288674B2 (en) 2012-04-24 2016-03-15 Time Warner Cable Enterprises Llc Convenient WiFi network access using unique identifier value
US9465668B1 (en) * 2012-04-30 2016-10-11 Google Inc. Adaptive ownership and cloud-based configuration and control of network devices
US8875265B2 (en) 2012-05-14 2014-10-28 Qualcomm Incorporated Systems and methods for remote credentials management
US8880398B1 (en) 2012-07-13 2014-11-04 Google Inc. Localized speech recognition with offload
US20140041055A1 (en) 2012-08-06 2014-02-06 Avaya Inc. System and method for online access control based on users social network context
CA2828258C (en) 2012-09-25 2016-11-29 Blackberry Limited Smart plug or cradle
CN103713586A (zh) 2012-10-01 2014-04-09 夏普株式会社 消息发送服务器、消息发送方法、终端、电气设备控制系统、电气设备及电气设备控制方法
US9043703B2 (en) 2012-10-16 2015-05-26 Facebook, Inc. Voice commands for online social networking systems
US9198401B2 (en) 2012-10-24 2015-12-01 Aspects, Inc. Nectar feeder with float
US9439050B2 (en) 2012-10-27 2016-09-06 Logical Concepts, Inc. Wireless electronic device configuration system
KR20140077489A (ko) 2012-12-14 2014-06-24 삼성전자주식회사 사용자 단말 장치, 네트워크 장치 및 그 제어 방법
EP2939495A4 (en) * 2012-12-26 2016-08-17 Ict Res Llc MOBILITY EXPANSIONS FOR WIRELESS SENSOR NETWORKS WITH INDUSTRIAL STRENGTH
US9367607B2 (en) 2012-12-31 2016-06-14 Facebook, Inc. Natural-language rendering of structured search queries
JP6047017B2 (ja) 2013-01-11 2016-12-21 キヤノン株式会社 パターン抽出装置および制御方法
US9465369B2 (en) 2013-01-31 2016-10-11 Sony Corporation System method for sending messages and commands to a device at a location distanced from the sending device
US9413827B2 (en) 2013-02-25 2016-08-09 Qualcomm Incorporated Context aware actions among heterogeneous internet of things (IOT) devices
US9047271B1 (en) 2013-02-28 2015-06-02 Google Inc. Mining data for natural language system
US9398490B2 (en) * 2013-03-15 2016-07-19 Trane International Inc. Method of fragmenting a message in a network
WO2014172567A1 (en) 2013-04-17 2014-10-23 Systech Corporation Gateway device for machine-to-machine communication with dual cellular interfaces
EP2992663B1 (en) * 2013-04-30 2020-01-01 Assa Abloy AB Method for mobile provisioning of nfc credentials
US9367536B2 (en) 2013-05-03 2016-06-14 Facebook, Inc. Using inverse operators for queries on online social networks
CN103281752A (zh) * 2013-05-28 2013-09-04 北京推博信息技术有限公司 Wifi网络接入方法、装置、电子设备及通信系统
US9071967B1 (en) * 2013-05-31 2015-06-30 Amazon Technologies, Inc. Wireless credential sharing
US9503835B2 (en) 2013-06-13 2016-11-22 Microsoft Technology Licensing, Llc Service provisioning through a smart personal gateway device
US9372922B2 (en) 2013-07-11 2016-06-21 Neura, Inc. Data consolidation mechanisms for internet of things integration platform
US9305554B2 (en) 2013-07-17 2016-04-05 Samsung Electronics Co., Ltd. Multi-level speech recognition
WO2015020975A1 (en) 2013-08-05 2015-02-12 Ameer Sami System and method for automating electrical devices at a building structure
US20150058226A1 (en) 2013-08-26 2015-02-26 My City Tag Llc Token for short range rf transaction notification
WO2015034295A1 (en) 2013-09-05 2015-03-12 Samsung Electronics Co., Ltd. Method and apparatus for configuring and recommending device action using user context
KR102084507B1 (ko) 2013-09-05 2020-03-04 삼성전자주식회사 홈 네트워크 시스템에서 홈 디바이스를 원격으로 제어하는 방법 및 장치
FR3010364B1 (fr) * 2013-09-09 2015-12-11 Valeo Securite Habitacle Procede de declenchement d'une commande sur un vehicule automobile par un echange de donnees entre un equipement de controle et un element identifiant
US9356819B2 (en) * 2013-09-27 2016-05-31 Ebay Inc. Systems and methods for checking a user into a location using a packet sequence including location information
CN105830414B (zh) 2013-10-01 2019-07-12 阿里斯企业有限责任公司 使用凭证的安全的网络接入
US9451434B2 (en) 2013-11-27 2016-09-20 At&T Intellectual Property I, L.P. Direct interaction between a user and a communication network
US9753796B2 (en) 2013-12-06 2017-09-05 Lookout, Inc. Distributed monitoring, evaluation, and response for multiple devices
US10827417B2 (en) * 2013-12-10 2020-11-03 Beijing Zhigu Rui Tuo Tech Co., Ltd. Wireless network access method and access apparatus
CN103747503A (zh) * 2013-12-10 2014-04-23 北京智谷睿拓技术服务有限公司 无线网络接入方法及接入装置
US9363736B2 (en) 2013-12-16 2016-06-07 Qualcomm Incorporated Methods and apparatus for provisioning of credentials in network deployments
WO2015092484A1 (en) 2013-12-17 2015-06-25 Sony Corporation Method and apparatus for facilitating use of services available via wireless connection
US11651258B2 (en) 2014-01-08 2023-05-16 Yechezkal Evan Spero Integrated docking system for intelligent devices
US9743449B2 (en) 2014-01-14 2017-08-22 Qualcomm Incorporated Bluetooth low energy secondary data channel with multi-rate streaming
US9111214B1 (en) 2014-01-30 2015-08-18 Vishal Sharma Virtual assistant system to remotely control external services and selectively share control
EP2906001B1 (en) * 2014-02-06 2017-03-22 Sony Corporation Devices and methods for multi bearer network communication
DK3117577T3 (da) 2014-03-12 2019-09-23 Tencent Tech Shenzhen Co Ltd Fremgangsmåde og indretning til at kontrollere perifere indretninger via en social netværksplatform.
US9515875B2 (en) * 2014-03-14 2016-12-06 Cisco Technology, Inc. Zero touch deployment of multi-tenant services in a home network environment
RU2014111971A (ru) 2014-03-28 2015-10-10 Юрий Михайлович Буров Способ и система голосового интерфейса
US9210192B1 (en) * 2014-09-08 2015-12-08 Belkin International Inc. Setup of multiple IOT devices
US10656607B2 (en) 2014-04-29 2020-05-19 Cox Communications, Inc Systems and methods for intelligent automation control services
US9900774B2 (en) * 2014-05-30 2018-02-20 Paypal, Inc. Shared network connection credentials on check-in at a user's home location
EP3167586B1 (en) * 2014-07-07 2023-01-25 Ascensia Diabetes Care Holdings AG Improved device pairing taking into account at least one condition
US20160021039A1 (en) 2014-07-21 2016-01-21 Alcatel-Lucent Usa Inc. Message control functions within communication systems
US9800615B2 (en) 2014-09-09 2017-10-24 Bank Of America Corporation Real-time security monitoring using cross-channel event processor
US10116596B2 (en) 2014-09-29 2018-10-30 International Business Machines Corporation Personalizing data system components and data sources as chatbots in a group chat session
US9763063B2 (en) * 2014-10-06 2017-09-12 Derek D. Kumar Secure broadcast beacon communications
GB2531247B (en) * 2014-10-07 2021-10-06 Arm Ip Ltd Method, hardware and digital certificate for authentication of connected devices
US9563431B2 (en) * 2014-12-26 2017-02-07 Intel Corporation Techniques for cooperative execution between asymmetric processor cores
US9378467B1 (en) 2015-01-14 2016-06-28 Microsoft Technology Licensing, Llc User interaction pattern extraction for device personalization
US9767091B2 (en) 2015-01-23 2017-09-19 Microsoft Technology Licensing, Llc Methods for understanding incomplete natural language query
CN104660308A (zh) * 2015-01-26 2015-05-27 武汉健坤科技有限公司 基于蓝牙低功耗技术的文件传输方法和系统
US20160225372A1 (en) 2015-02-03 2016-08-04 Samsung Electronics Company, Ltd. Smart home connected device contextual learning using audio commands
CN107667545B (zh) * 2015-06-05 2021-06-22 德国电信股份公司 一种通信方法、系统、网络、通信装置及计算机可读介质
US9924342B2 (en) * 2015-06-16 2018-03-20 Google Llc Establishing a connection over a low power communication type
CN107924437A (zh) * 2015-06-17 2018-04-17 瑞典爱立信有限公司 用于使得能够实现凭证的安全供应的方法以及相关无线装置和服务器
US10274911B2 (en) 2015-06-25 2019-04-30 Intel Corporation Conversational interface for matching text of spoken input based on context model
US9806900B2 (en) * 2015-10-05 2017-10-31 Savant Systems, Llc Wireless provisioning and configuring of hardware elements of a home automation system
US10044674B2 (en) * 2016-01-04 2018-08-07 Afero, Inc. System and method for automatic wireless network authentication in an internet of things (IOT) system

Also Published As

Publication number Publication date
MX2018001419A (es) 2018-04-20
AU2016301400B2 (en) 2020-03-26
US20170041381A1 (en) 2017-02-09
CA2993620A1 (en) 2017-02-09
WO2017024195A1 (en) 2017-02-09
US10567479B2 (en) 2020-02-18
IL256908A (en) 2018-03-29
AU2016301400A1 (en) 2018-03-08
KR20180027600A (ko) 2018-03-14
CN107925654A (zh) 2018-04-17
CN107925654B (zh) 2021-03-19
JP6815382B2 (ja) 2021-01-20
EP3128476A1 (en) 2017-02-08
BR112018002093A2 (pt) 2018-09-18

Similar Documents

Publication Publication Date Title
JP6815382B2 (ja) デバイスクラウドの管理
JP6909204B2 (ja) デバイス・クラウドの管理
US10412160B2 (en) Controlling a device cloud
KR102551524B1 (ko) 디바이스 클라우드 제어
US10348798B2 (en) Rules engine for connected devices

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190517

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190716

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201222

R150 Certificate of patent or registration of utility model

Ref document number: 6815382

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