JP2022126651A - インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション - Google Patents
インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション Download PDFInfo
- Publication number
- JP2022126651A JP2022126651A JP2022084386A JP2022084386A JP2022126651A JP 2022126651 A JP2022126651 A JP 2022126651A JP 2022084386 A JP2022084386 A JP 2022084386A JP 2022084386 A JP2022084386 A JP 2022084386A JP 2022126651 A JP2022126651 A JP 2022126651A
- Authority
- JP
- Japan
- Prior art keywords
- subscription
- client device
- data
- objects
- particular client
- 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
Links
- 230000003993 interaction Effects 0.000 title description 10
- 230000004048 modification Effects 0.000 claims abstract description 15
- 238000012986 modification Methods 0.000 claims abstract description 15
- 238000004891 communication Methods 0.000 claims description 193
- 238000012508 change request Methods 0.000 claims description 79
- 238000004590 computer program Methods 0.000 claims description 18
- 230000005055 memory storage Effects 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 5
- 230000015654 memory Effects 0.000 description 24
- 230000006870 function Effects 0.000 description 22
- 230000004044 response Effects 0.000 description 22
- 238000012545 processing Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 238000009826 distribution Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008520 organization Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 239000000654 additive Substances 0.000 description 3
- 230000000996 additive effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 235000014510 cooky Nutrition 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 206010022528 Interactions Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000001154 acute effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
この特許出願は、2018年9月10日に出願された米国仮出願番号62/729,180の優先権を主張する、2018年10月31日に出願された米国出願番号16/176,851の継続出願であり、これらの両方は、ここでその全体を参照によって援用される。
ライアントデバイスに通信接続を介してリアルタイムで送信するように全体として構成される1つ以上のプロセッサとを備える。
さまざまな実施形態において、前記特定のクライアントデバイスについてのサブスクリプションデータを動的に保持することは、サブスクライブリクエストとして実現されたサブスクリプション変更リクエストを前記特定のクライアントデバイスから受け取ることであって、前記サブスクライブリクエストは、前記複数のオブジェクトのうち1つ以上の新しいオブジェクトを特定することによって前記サブスクリプションデータに追加する、サブスクリプション変更リクエストを受け取ることをさらに含み、前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることは、1つ以上の特定のオブジェクトのそれぞれに対応するオブジェクト識別子を、前記クライアントデバイスについての前記サブスクリプションデータから削除した後に、前記1つ以上の新しいオブジェクトのそれぞれに対応するオブジェクト識別子を、前記特定のクライアントデバイスについて前記サブスクリプションデータに結合することをさらに含む。
ブジェクトのそれぞれに対応するオブジェクト識別子を、前記特定のクライアントデバイスについての前記サブスクリプションデータに結合することを含む。さらに、前記特定のクライアントデバイスについてのサブスクリプションデータを動的に保持することは、アンサブスクライブリクエストとして実現されたサブスクリプション変更リクエストを前記特定のクライアントデバイスから受け取ることであって、前記アンサブスクライブリクエストは、前記複数のオブジェクトのうち1つ以上の特定のオブジェクトを特定することによって前記サブスクリプションデータから削除する、サブスクリプション変更リクエストを受け取ることと、前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることによって前記1つ以上の特定のオブジェクトを削除することとを含む。さまざまな実施形態においては、前記複数のオブジェクトのそれぞれは、対応するオブジェクト識別子を有し、前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることは、前記1つ以上の特定のオブジェクトのそれぞれに対応するオブジェクト識別子を、前記特定のクライアントデバイスについての前記サブスクリプションデータから削除することを含む。さらに、前記特定のクライアントデバイスについてのサブスクリプションデータを動的に保持することは、サブスクライブリクエストとして実現されたサブスクリプション変更リクエストを前記特定のクライアントデバイスから受け取ることであって、前記サブスクライブリクエストは、前記複数のオブジェクトのうち1つ以上の新しいオブジェクトを特定することによって前記サブスクリプションデータに追加する、サブスクリプション変更リクエストを受け取ることをさらに含み、前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることは、1つ以上の特定のオブジェクトのそれぞれに対応するオブジェクト識別子を、前記クライアントデバイスについての前記サブスクリプションデータから削除した後に、前記1つ以上の新しいオブジェクトのそれぞれに対応するオブジェクト識別子を、前記特定のクライアントデバイスについて前記サブスクリプションデータに結合することをさらに含む。
グループベースの通信プラットフォームの個々のユーザによってモニタされるオブジェクト(例えばユーザ、ファイル、トピック、及び/又はその他)の個数が増すと、それらユーザによって用いられるクライアントデバイスに課せられる処理の負担も増し、ユーザのクライアントデバイスがモニタされているオブジェクトに関する全てのアップデートを受け取ることを確実にするために、ユーザのクライアントデバイス及びグループベースの通信プラットフォームの間のネットワークトラフィックも増す。これらの技術的問題は、実時間メッセージングの文脈で特に深刻であり、そこではこれらオブジェクトベースのアップデートは、アップデートが発生するたびにクライアントデバイスに配信される。単一のユーザ(及び関連付けられたクライアントデバイス)が多数のオブジェクトをモニタする、もっとも極端な場合において、オブジェクトアップデートは、クライアントデバイスにほとんど常時、送信され得る。
eractions)に基づき得て、したがってクライアントデバイスは、さまざまなオブジェク
トに関するサブスクライブリクエスト及びアンサブスクライブリクエストのような、サブスクリプション変更リクエスト(subscription modification requests)を、クライアントデバイスにおける1つ以上のトリガイベントの発生に基づいて生成するよう構成され得る。それらトリガイベントは、ユーザインタラクションベースであり得て、特定のオブジェクトに対するユーザの関心レベルについてのプロキシと考えられ得る。例えばクライアントデバイス上で、オブジェクトをユーザインタフェースの可視の視野の境界を越えて移動すること(例えばオブジェクトが見えるようになるまでスクロールすること)によって、例えば、特定のオブジェクトをユーザインタフェースの可視の視野内に移動することは、オブジェクトについてのサブスクライブリクエストを生成及び送信するためにクライアントデバイスによって利用されるトリガイベントであると考えられ得て、例えばオブジェクトをユーザインタフェースの可視視野の境界を越えて移動させること(例えばオブジェクトがもはや可視ではないまでスクロールすること)によって、オブジェクトをユーザインタフェースの可視視野の外に移動する結果は、オブジェクトについてのアンサブスクライブリクエストを生成及び送信するためにクライアントデバイスによって利用されるトリガイベントであると考えられ得る。適切な状況の下ではバックグラウンドオブジェクト(例えば可視視野に現在存在しないオブジェクト)についてのアップデートがクライアントデバイスに送信され得るようにするためには、他のトリガイベントも同様に利用され得る。それらサブスクライブ/アンサブスクライブのリクエストは、正確でかつ最新のオブジェクトサブスクリプションがグループベースのコミュニケーションプラットフォームにおいて維持されることを確実にするために、クライアントデバイスによってリアルタイムで生成及び送信され得る。結果として、特定のユーザにとって関心があると現在みなされているオブジェクトに関するオブジェクトアップデートだけが、任意の与えられた時刻においてユーザのクライアントデバイスに送信される。
ここで用いられるように、「データ」、「コンテンツ」、「情報」という語、及び同様の語は、本発明の実施形態によって送信され、受信され、及び/又は記憶されることが可能なデータを表すために交換可能に用いられ得る。よって、このような語の使用は、本発明の実施形態の精神及び範囲を限定するようには解釈されるべきではない。さらに、計算デバイスが他の計算デバイスからデータを受け取るとここで記載される場合においては、データは、他の計算デバイスから直接に受け取られてもよく、又は、例えば、1つ以上のサーバ、リレー、ルータ、ネットワークアクセスポイント、ベースステーション、ホスト等のような1つ以上の中間計算デバイスを介して間接的に受け取られてもよい。同様に、計算デバイスが他の計算デバイスにデータを送るとここで記載される場合においては、データは、他の計算デバイスに直接に送られてもよく、又は、例えば、1つ以上のサーバ、リレー、ルータ、ネットワークアクセスポイント、ベースステーション、ホスト等のような1つ以上の中間計算デバイスを介して間接的に送られてもよい。
ーザに送信されたジョインするためのインビテーションによってさらに促進され得る。グループ識別子(Group identifiers)(以下に定義される)がデータ、情報、メッセージ
等を特定のグループと関連付けるのに用いられる。
ルは、グループの全てのユーザの間でメッセージを共有するための、クライアントデバイス(及びそれら各々のユーザ)のうちの選ばれたグループの間で確立された「グループベース通信チャネル」であり得る。この通信チャネルは、追加で及び/又は代替として、それら2つのユーザの間だけでメッセージを共有するための、2つのクライアントデバイスの間で確立された1対1の直接メッセージ通信チャネルであり得る。
ルインタフェースの他のコンテンツは、ユーザの視野から隠され得る。具体的な例として、コンテンツの長いフィードは、スクロール可能であり得て、それによりコンテンツの長いフィードの一部しか、所与の時刻においてグループベース通信チャネルインタフェース内には表示されない。ユーザがコンテンツのフィードを通してスクロールしていくと、可視部分は、グループベース通信チャネルインタフェースに対してするユーザのスクロールするインタラクションと同期して変化し、したがってさまざまなオブジェクトは、可視視界とグループベース通信チャネルインタフェースの隠された部分との間の可視視界境界を越えて移動する。
されたメッセージの全てを表示することを含む。センターペインのコンテンツは、ある実施形態では、コンテンツがペインの不可視部分(例えば可視部分の上又は下にスクロールされる)と、ペインの可視部分との間でスクロールがされ得るように、スクロール可能なフィードとして提示され得る。メインディスプレイウィンドウが3ペインを備える実施形態では、最も右のペインは、特定の選択されたメッセージ、チャネル等に関する追加のデータを備え得る。
クトのそれぞれのアップデートと共に増加する。しかし他の構成も可能であること(例えばアルファニューメリック値、ハッシュ値、及び/又はその他)が理解されるべきである。
れるプロジェクトの説明のような、グループベース通信チャネルの説明は、グループベース通信チャネル識別子に関連付けられ得る)。
えばインタフェース計算エンティティを介して)よう構成された計算デバイスである。メッセージ配信サーバは、ユーザから受信された及び/又はユーザに配信された(例えば対応するクライアントデバイスを介して)メッセージを受信し、生成し、記憶し(関連付けられたデータベース内に)、及び/又は仕向ける(direct)よう構成され得る。メッセージ配信サーバの機能は、単一のサーバ又は共通の機能を有するサーバ群の集合体を介して提供され得て、又はメッセージ配信サーバの機能は、メッセージ配信サーバの記載された機能のサブセットを実行する複数のサーバ又はサーバ群の集合体の中で分割され得る。例えば、メッセージ配信サーバの第1サブセット--ゲートウェイサーバ--は、インタフェース計算エンティティを介してクライアントデバイスからのメッセージを受信し、クライアントデバイスへのメッセージを送信するよう構成され得る。これらのゲートウェイサーバは、通信チャネル内で配信されるメッセージを収集し、これらメッセージをインデキシング及びアーカイビングのためにメッセージリポジトリデータベース内に記憶するよう構成された、メッセージ配信サーバの第2サブセット--チャネルサーバ--と通信し得る。ある実施形態では、チャネルサーバは、クライアントデバイスにさまざまなメッセージを提供するためにインタフェース計算エンティティと通信し得る。
削除され得る。ある実施形態では、インタフェース計算エンティティは、ここで説明されるように、さまざまなクライアントデバイスに配信されるべきメッセージ(例えばオブジェクトアップデート)を獲得するために、1つ以上のメッセージ配信サーバとのバックエンド接続を生成及び維持し、メッセージ配信サーバは、適切なクライアントデバイスへの配信のために、サブスクリプション管理システムの機能を通して、サブスクライブされたオブジェクトに関するメッセージ(例えばオブジェクトアップデート)をインタフェース計算エンティティに提供する。
本発明の方法、装置、及びコンピュータプログラム製品は、さまざまなデバイスの任意のものによって実現され得る。例えば、例示的実施形態の方法、装置、及びコンピュータプログラム製品は、1つ以上のクライアントデバイスのような1つ以上のデバイスと通信するよう構成されるサーバ又は他のネットワークエンティティのようなネットワークデバイスによって実現され得る。ある好ましい非限定的な実施形態において、計算デバイスは、パーソナルコンピュータ又はコンピュータワークステーションのような固定された計算デバイスを含み得る。さらに例示的実施形態は、携帯デジタルアシスタント(PDA)、携帯電話、スマートフォン、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブルデバイス、又は前述のデバイスの任意の組合せのような、さまざまなモバイルデバイスの任意のものによって実現され得る。
ンターネットのような公衆ネットワーク、イントラネットのようなプライベートネットワーク、又はそれらの組合せを含み得て、TCP/IPベースのネットワーキングプロトコルを含むがこれには限定されない、現在利用可能な又は将来開発されるさまざまなネットワーキングプロトコルを利用し得る。ここで議論されるように、ネットワーキングプロトコルは、ウェブソケット通信を介したデータ送信を可能にするよう構成される。例えば、ネットワーキングプロトコルは、グループベース通信システムの要求に合うようにカスタマイズされ得る。ある実施形態では、プロトコルは、ウェブソケットチャネルを介して送られるJSONオブジェクトのカスタムプロトコルである。ある実施形態では、データは、JSON-RPC、JSON-REST/HTTP等のような、複数のプロトコルを介して送信され得る。
サービス回路、有線及び無線ネットワークインタフェース、ユーザコンタクト、及び他のアプリケーションと相互作用するためのフレームワークを提供する。アプリの外で動作するハードウェア及びソフトウェアモジュールとの通信は、モバイルデバイスオペレーティングシステムによって提供されるアプリケーションプログラミングインタフェース(API)を介して典型的には提供される。よって、クライアントデバイス101A-101N上で動作するアプリを介して、これらクライアントデバイス101A-101Nは、1つ以上のウェブソケットを介して、グループベース通信プラットフォーム105と通信するよう構成される。
Host: www.server.com
Content-Type: Application/XML
Content-Length: 667
<?XML version = “1.0” encoding = “UTF-8”?>
<auth_request>
<timestamp>2020-12-31 23:59:59</timestamp>
<user_accounts_details>
<user_account_credentials>
<user_name>ID_user_1</user_name>
<password>abc123</password>
//OPTIONAL <cookie>cookieID</cookie>
//OPTIONAL <digital_cert_link>www.mydigitalcertificate.com/ JohnDoeDaDoeDo
e@gmail.com/mycertifcate.dc</digital_cert_link>
//OPTIONAL <digital_certificate>_DATA_</digital_certificate>
</user_account_credentials>
</user_accounts_details>
<client_details> //iOS Client with App and Webkit
//it should be noted that although several client details
//sections are provided to show example variants of client
//sources, further messages will include only on to save
//space
<client_IP>10.0.0.123</client_IP>
<user_agent_string>Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D201 Safari/9537.53</user_agent_string>
<client_product_type>iPhone6,1</client_product_type>
<client_serial_number>DNXXX1X1XXXX</client_serial_number>
<client_UDID>3XXXXXXXXXXXXXXXXXXXXXXXXD</client_UDID>
<client_OS>iOS</client_OS>
<client_OS_version>7.1.1</client_OS_version>
<client_app_type>app with webkit</client_app_type>
<app_installed_flag>true</app_installed_flag>
<app_name>MSM.app</app_name>
<app_version>1.0 </app_version>
<app_webkit_name>Mobile Safari</client_webkit_name>
<client_version>537.51.2</client_version>
</client_details>
<client_details> //iOS Client with Webbrowser
<client_IP>10.0.0.123</client_IP>
<user_agent_string>Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D201 Safari/9537.53</user_agent_string>
<client_product_type>iPhone6,1</client_product_type>
<client_serial_number>DNXXX1X1XXXX</client_serial_number>
<client_UDID>3XXXXXXXXXXXXXXXXXXXXXXXXD</client_UDID>
<client_OS>iOS</client_OS>
<client_OS_version>7.1.1</client_OS_version>
<client_app_type>web browser</client_app_type>
<client_name>Mobile Safari</client_name>
<client_version>9537.53</client_version>
</client_details>
<client_details> //Android Client with Webbrowser
<client_IP>10.0.0.123</client_IP>
<user_agent_string>Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; Nexus S Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30</user_agent_string>
<client_product_type>Nexus S</client_product_type>
<client_serial_number>YXXXXXXXXZ</client_serial_number>
<client_UDID>FXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX</client_UDID>
<client_OS>Android</client_OS>
<client_OS_version>4.0.4</client_OS_version>
<client_app_type>web browser</client_app_type>
<client_name>Mobile Safari</client_name>
<client_version>534.30</client_version>
</client_details>
<client_details> //Mac Desktop with Webbrowser
<client_IP>10.0.0.123</client_IP>
<user_agent_string>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14</user_agent_string>
<client_product_type>MacPro5,1</client_product_type>
<client_serial_number>YXXXXXXXXZ</client_serial_number>
<client_UDID>FXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX</client_UDID>
<client_OS>Mac OS X</client_OS>
<client_OS_version>10.9.3</client_OS_version>
<client_app_type>web browser</client_app_type>
<client_name>Mobile Safari</client_name>
<client_version>537.75.14</client_version>
</client_details>
<message>
<message_identifier>ID_message_10</message_identifier>
<team_identifier>ID_team_1</team_identifier>
<channel_identifier>ID_channel_1</channel_identifier>
<contents>That is an interesting invention. I have attached a copy our
patent policy.</contents>
<attachments>patent_policy.pdf</attachments>
</message>
</auth_request>
図示された実施形態では、グループベース通信プラットフォーム105は、チャネル識別子及び/又はグループ識別子によって特定されたチャネル内の複数のクライアントデバイス101A-101Nの間で及び/又はそれら複数のクライアントデバイス101A-101Nに送信されたメッセージを受信及び/又は配布(disseminate)し、通信チャネ
ルのメンバーシップを集合的に形成するクライアントデバイス101A-101Nの間でのこれらメッセージの配布を促進するよう構成された複数のメッセージ配信サーバ107A-107Nを備える。
タベースコマンドを介して取り出され得る。
FROM MSM_Message
WHERE messageID = ID_message_10.
例えば、メッセージへの応答に関するデータは、メッセージについてのコンテキスト(例えばメッセージについての、あるユーザの視点からのソーシャルスコア)を決定するのに用いられ得る。他の例では、メッセージへの応答に関連するデータは、ユーザに関するコンテキストを決定するために分析され得る(例えばあるトピックにおけるユーザの経験は、そのトピックに関するユーザのメッセージに対する応答に基づいて決定され得る)。
それぞれのメッセージ配信サーバ107は、図2に示される装置200のような1つ以上の計算システムによって実現され得る。装置200は、プロセッサ202、メモリ204、入力/出力回路206、通信回路208、及びメッセージ増幅器回路210を含み得る。装置200は、図1-6についてここで説明された操作を実行するよう構成され得る。これら要素202-210は、機能的な限定について記載されているが、具体的な実現
例は、特定のハードウェアの使用を必然的に含むことを理解されたい。これらの要素202-210のいくつかは、同様の又は共通のハードウェアも含み得ることも理解されたい。例えば、回路のうちの2つのセットが同じプロセッサ、ネットワークインタフェース、記憶媒体等の使用を活用することで、それらの関連付けられた機能を実行し、重複するハードウェアが回路群のそれぞれのセットごとには必要がないようにする。
度は、出力をユーザに提供するために、またある実施形態では、ユーザ入力の表示を受け取るためにプロセッサ202と通信し得る。入力/出力回路206は、ユーザインタフェースを備え得て、ディスプレイを含み得て、ウェブユーザインタフェース、モバイルアプリケーション、クライアントデバイス、キオスク等を備え得る。ある実施形態では、入力/出力回路206は、キーボード、マウス、ジョイスティック、タッチスクリーン、タッチエリア、ソフトキー、マイクロホン、スピーカ、又は他の入力/出力機構を含み得る。プロセッサを備えるプロセッサ及び/又はユーザインタフェース回路は、プロセッサにアクセス可能であるメモリ(例えばメモリ204及び/又はその他)上に記憶されたコンピュータプログラム命令(例えばソフトウェア及び/又はファームウェア)を通して1つ以上のユーザインタフェース要素の1つ以上の機能を制御するよう構成され得る。
図5-6は、個々のクライアントデバイス101A-101N及びグループベース通信プラットフォーム105を示すフロー図である。上述のように、さまざまな実施形態は、グループベース通信プラットフォーム105が、オブジェクトアップデートについてのサブスクリプションベースのデータ送信スキームの使用を通してクライアントデバイス101A-101Nに送信されるネットワークトラフィックの量を最小化できるようにする。これらサブスクリプションベースのデータ送信スキームは、クライアントデバイス101A-101Nによるユーザアクティビティに基づいて動作することによって、クライアントデバイス101A-101Nが、特定のオブジェクトが現在ユーザによって見られているか、又はそうでなければユーザの現在の関心の対象であると考えられていると判断されると、特定のオブジェクトのアップデートをサブスクライブするようリクエストし得る。クライアントデバイス101A-101Nは、1つ以上のトリガイベントを利用することによって、サブスクライブリクエスト又はアンサブスクライブリクエストをいつ生成すべきかを決定し得る。
さまざまな実施形態によれば、個別のクライアントデバイス101A-101Nは、それに対してオブジェクトアップデートを提供するためにグループベース通信プラットフォーム105からそれらクライアントデバイス101A-101Nに送信されるネットワークトラフィックのレベルを求める。クライアントデバイス101A-101Nは、ある種の定義されたトリガイベントの検出に依拠して、どのオブジェクトアップデートがグループベース通信プラットフォーム105から個別のクライアントデバイス101A-101Nに送信されなければならないかを決定し、それらクライアントデバイス101A-101Nは、オブジェクトアップデートについてクライアントデバイス101A-101Nの決定された必要を反映させるために、サブスクライブリクエスト及びアンサブスクライブリクエストとして実現されるサブスクリプション変更リクエストの形態をとるデータをグループベース通信プラットフォーム105に提供する。個別のクライアントデバイス101A-101Nは、ユーザによる使用を常にモニタすることによって、クライアントデバイス101A-101Nのグラフィカルインタフェースとのユーザのインタラクションに基づいて、どのオブジェクトアップデートサブスクリプションが中止され、どのオブジェクトアップデートサブスクリプションが開始される必要があるかを決定するよう構成される。
れていないディスプレイ内の1つ以上のオブジェクトについてアンサブスクライブリクエストを開始するようにさせること)。その中に1つ以上のオブジェクトを有するチャネルを選択すること、オブジェクトの統合されたリスティングを選択すること、クライアントデバイスにおいて特定のデータタイプを受信する(例えばウェブソケット接続、RTM接続、及び/又はその他を介して)こと、及び/又はその他のような、他のトリガイベントは、サブスクリプション変更リクエストを開始するのに利用され得るトリガイベントのさらなる例である。
アントデバイスのサブスクリプションリストの中に残っている任意の外部の(extraneous)サブスクリプションをクリーンアップするよう動作し得て、それによりクライアントデバイス101がグループベース通信プラットフォーム105と再接続する時に、関連するサブスクリプションだけが更新される。図5に関連して説明される方法に従って示されるように、再接続すると、クライアントデバイス101は、トリガイベントが検出される(例えばオブジェクトインジケータがディスプレイの視野の中にあることを検出すること及び/又はその他)オブジェクトについてだけ、サブスクリプションリクエストを生成する。
図6は、ある実施形態によるサブスクリプション変更リクエストについてメッセージ配信サーバ107A-107Nによって実行されるステップの例示的セットを示す。ブロック601で示されるように、メッセージ配信サーバ107A-107Nは、サブスクリプション変更リクエストを1つ以上のクライアントデバイス101A-101Nから受信する。これらリクエストは、送信元クライアントデバイス101の身元を示すメタデータと共に受信され、それによってメッセージ配信サーバ107A-107Nは、送信元クライアントデバイス101A-101Nについてのサブスクリプションリストを適切にアップデートし得る。さらに、それらサブスクリプション変更リクエストは、リクエスト識別子(メッセージ配信サーバ107A-107Nにおいて生成されたレスポンスを、クライアントデバイス101において生成された初期リクエストと関連付けるのに用いられ得る)、リクエストタイプ(例えば、中でも、そのリクエストがサブスクライブ又はアンサブスクライブリクエストのどちらであるか、及びどのタイプのオブジェクトにそのリクエストが関するのかを示し得る)、及びリクエストが関連するオブジェクトのリスティングを備えるアレイを備え得る。具体的な例として、リクエストタイプは、リクエストがファイルアップデートについてのサブスクライブリクエストであることを示し得て、含まれるアレイは、リクエストが関連する特定のファイル(群)を特定するデータを備え得る。さらに他の例として、リクエストは、そのリクエストがユーザアップデートについてのアンサブスクライブリクエストであることを示し得て、含まれるアレイは、そのリクエストが関連する特定のユーザ(群)を特定するデータを備え得る。オブジェクトアップデートは、アップデートが関連するオブジェクトのタイプ及びアップデートが関連するオブジェクトの身元を特定する1つ以上の識別子と共に配信サーバ107A-107Nから送信されるので、リクエストの中に含まれるデータは、メッセージ配信サーバ107A-107Nが、クライアントデバイス101A-101Nに送信されたオブジェクトアップデートにフィルタを適用させるのに十分であり得る。
存のサブスクリプションリストが、クライアントデバイス101がオブジェクトAをサブスクライブしていることを示すなら、メッセージ配信サーバ107A-107Nは、オブジェクトAに関連するアンサブスクライブリクエスト及びサブスクライブリクエストの両方をそれから受け取り、これらは全体としては、オブジェクトAのアップデートへの連続したアンサブスクリプション(unsubscription)に続くリサブスクリプション(resubscription)を結果として生じ、メッセージ配信サーバ107A-107Nは、これらリクエストをキャンセルし得るが、それは、アンサブスクライブ及びサブスクライブイベントの正味の結果は、オブジェクトAについてのサブスクリプションの現状を維持することになるからである。
て固有である。例えば、クライアントデバイス101がグループベース通信プラットフォーム105を持つ1つ以上のウェブソケット接続を介してデータを受け取る実施形態においては、サブスクリプション変更リクエストは、1つ以上のウェブソケット接続のそれぞれについて独立してクライアントデバイス101において生成される。よってクライアントデバイス101及びグループベース通信プラットフォーム105が全体として複数のウェブソケット通信をそれらの間に維持する実施形態においては(例えば別個のディスプレイ、チャネル、及び/又はその他をサポートする)、それぞれのウェブソケット接続は、クライアントデバイス101から送信され、メッセージ配信サーバ107A-107Nによって処理されたサブスクリプション変更リクエストに基づいて維持される対応するサブスクリプションリストを有し得る。
一般に、インタフェース計算エンティティ109は、メッセージ、オブジェクトアップデート、及び/又はその他をクライアントデバイス101A-101N及びメッセージ配信サーバ107A-107Nの間でリレーするよう構成される。メッセージが、クライアントデバイス101A-101Nに配布されるべくメッセージ配信サーバ107A-107Nから受信される時、インタフェース計算エンティティ109は、宛先クライアントデバイス101A-101Nとの適切なウェブソケット接続を特定し、それらメッセージを適切なクライアントデバイス101A-101Nに渡すよう構成される。ある実施形態では、アサインされた宛先クライアントデバイス101A-101Nでインタフェース計算エンティティ109において受信されたメッセージ(オブジェクトアップデート)は、ここで説明されたサブスクリプション方法に従って既にフィルタリングされていて、よってインタフェース計算エンティティ109は、特定のクライアントデバイス101が、インタフェース計算エンティティ109において受信されたオブジェクトアップデートをサブスクライブしたかを判断する必要がない。さらに、インタフェース計算エンティティ109は、特定のクライアントデバイス101がその特定のクライアントデバイス101に宛先が設定されたメッセージを既に受信したかを判断する必要がない。そのような実施形態では、インタフェース計算エンティティ109は、メッセージをメッセージ配信サーバ1
07A-107N及びクライアントデバイス101A-101Nの間で単に届けるよう動作する。
多くの改変及び他の実施形態には、本開示が関連する技術における当業者なら、前述の記載及び関連する図面において提示された教示を利用し、想到することができよう。したがって、本開示は、開示された特定の実施形態に限定されるべきではなく、改変及び他の実施形態は、添付の特許請求の範囲の範囲内に含まれるよう意図されていると理解されるべきである。ここでは特定の語が採用されているが、それらは一般的な叙述的な意味で用いられているのに過ぎず、限定を目的としたものではない。
Claims (29)
- オブジェクトアップデートをクライアントデバイスに提供する動的サブスクリプション管理システムであって、
複数のオブジェクトについての最新のオブジェクトデータを保持する1つ以上のメモリ記憶領域と、
1つ以上のプロセッサであって、
サブスクリプション変更リクエストを1つ以上のクライアントデバイスのうちのそれぞれから受け取り、前記サブスクリプション変更リクエストは、前記1つ以上のクライアントデバイスのうちの対応する1つのグラフィカルユーザインタフェースの視野の境界を横切って動かされるオブジェクトを特定するデータをそれぞれ備え、
前記1つ以上のクライアントデバイスのうちのそれぞれから受け取られたサブスクリプション変更リクエストに少なくとも一部は基づいて、前記1つ以上のクライアントデバイスのうちのそれぞれについてのサブスクリプションデータを動的に保持し、前記サブスクリプションデータは、1つ以上のクライアントデバイスのうちのそれぞれの前記グラフィカルユーザインタフェースの視野の中の前記複数のオブジェクトのうちの可視オブジェクトを特定し、
前記1つ以上のクライアントデバイスのうちの特定のクライアントデバイスが、前記特定のクライアントデバイスについてのサブスクリプションデータに反映されるそれぞれの可視オブジェクトに対応する最新のオブジェクトデータを備えるかを判断し、
前記特定のクライアントデバイスが、前記特定のクライアントデバイスについてのサブスクリプションデータに反映される1つ以上の可視オブジェクトに対応する最新のオブジェクトデータを備えないと判断するとき、前記サブスクリプションデータに反映される前記可視オブジェクトのアップデートを前記特定のクライアントデバイスに通信接続を介してリアルタイムで送信する
ように全体として構成される1つ以上のプロセッサと
を備える動的サブスクリプション管理システム。 - 前記動的サブスクリプション管理システムは、前記特定のクライアントデバイスとウェブソケット接続を介して通信する
請求項1に記載の動的サブスクリプション管理システム。 - 前記特定のクライアントデバイスから受け取られた前記サブスクリプション変更リクエストは、前記特定のクライアントデバイスにおいて記憶されるオブジェクトに対応するバージョン識別子を備え、
前記特定のクライアントデバイスが、前記特定のクライアントデバイスについてのサブスクリプションデータに反映されるそれぞれの可視オブジェクトに対応する最新のオブジェクトデータを備えるかを判断することは、1つ以上のオブジェクトについての前記サブスクリプション変更リクエストに反映される前記バージョン識別子が、前記1つ以上のメモリ記憶領域に記憶される最新のオブジェクトデータのバージョン識別子と対応するかを判断することを含む
請求項1に記載の動的サブスクリプション管理システム。 - 前記特定のクライアントデバイスについてのサブスクリプションデータを動的に保持することは、
サブスクライブリクエストとして実現されたサブスクリプション変更リクエストを前記特定のクライアントデバイスから受け取ることであって、前記サブスクライブリクエストは、前記複数のオブジェクトのうち1つ以上の新しいオブジェクトを特定することによって前記サブスクリプションデータに追加する、サブスクリプション変更リクエストを受け取ることと、
前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることによって前記1つ以上の新しいオブジェクトを含むことと
を含む、請求項1に記載の動的サブスクリプション管理システム。 - 前記複数のオブジェクトのそれぞれは、対応するオブジェクト識別子を有し、
前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることは、前記1つ以上の新しいオブジェクトのそれぞれに対応するオブジェクト識別子を、前記特定のクライアントデバイスについての前記サブスクリプションデータに結合することを含む
請求項4に記載の動的サブスクリプション管理システム。 - 前記特定のクライアントデバイスについてのサブスクリプションデータを動的に保持することは、
アンサブスクライブリクエストとして実現されたサブスクリプション変更リクエストを前記特定のクライアントデバイスから受け取ることであって、前記アンサブスクライブリクエストは、前記複数のオブジェクトのうち1つ以上の特定のオブジェクトを特定することによって前記サブスクリプションデータから削除する、サブスクリプション変更リクエストを受け取ることと、
前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることによって前記1つ以上の特定のオブジェクトを削除することと
を含む、請求項1に記載の動的サブスクリプション管理システム。 - 前記複数のオブジェクトのそれぞれは、対応するオブジェクト識別子を有し、
前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることは、前記1つ以上の特定のオブジェクトのそれぞれに対応するオブジェクト識別子を、前記特定のクライアントデバイスについての前記サブスクリプションデータから削除することを含む
請求項6に記載の動的サブスクリプション管理システム。 - 前記特定のクライアントデバイスについてのサブスクリプションデータを動的に保持することは、
サブスクライブリクエストとして実現されたサブスクリプション変更リクエストを前記特定のクライアントデバイスから受け取ることであって、前記サブスクライブリクエストは、前記複数のオブジェクトのうち1つ以上の新しいオブジェクトを特定することによって前記サブスクリプションデータに追加する、サブスクリプション変更リクエストを受け取ることをさらに含み、
前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることは、1つ以上の特定のオブジェクトのそれぞれに対応するオブジェクト識別子を、前記クライアントデバイスについての前記サブスクリプションデータから削除した後に、前記1つ以上の新しいオブジェクトのそれぞれに対応するオブジェクト識別子を、前記特定のクライアントデバイスについて前記サブスクリプションデータに結合することをさらに含む、請求項7に記載の動的サブスクリプション管理システム。 - 前記サブスクリプションデータは、前記サブスクリプションデータ内に反映されたオブジェクトの最大個数を規定する
請求項8に記載の動的サブスクリプション管理システム。 - 複数のオブジェクトについての最新のオブジェクトデータを保持することは、
前記複数のオブジェクトの1つ以上に関連するオブジェクトアップデートデータを受け取ることであって、前記オブジェクトアップデートデータは、1つ以上のクライアントデ
バイスにおいて生成される、オブジェクトアップデートデータを受け取ることと、
前記オブジェクトアップデートデータに少なくとも一部は基づいて、前記複数のオブジェクトのうちの1つ以上に対応する前記1つ以上のメモリ記憶領域内に記憶された前記オブジェクトデータをアップデートすること
を含む、請求項1に記載の動的サブスクリプション管理システム。 - クライアントデバイスへのオブジェクトアップデートデータストリームを保持するコンピュータプログラム製品であって、前記コンピュータプログラム製品は、その中に記憶されたコンピュータ読み取り可能なプログラムコード部分を有する、少なくとも1つの非一時的コンピュータ読み取り可能な記憶媒体を備え、前記コンピュータ読み取り可能なプログラムコード部分は、
サブスクリプション変更リクエストを1つ以上のクライアントデバイスのうちのそれぞれから受け取り、前記サブスクリプション変更リクエストは、前記1つ以上のクライアントデバイスのうちの対応する1つのグラフィカルユーザインタフェースの視野の境界を横切って動かされるオブジェクトを特定するデータをそれぞれ備え、
前記1つ以上のクライアントデバイスのうちのそれぞれから受け取られたサブスクリプション変更リクエストに少なくとも一部は基づいて、前記1つ以上のクライアントデバイスのうちのそれぞれについてのオブジェクトサブスクリプションデータを動的に保持し、前記サブスクリプションデータは、1つ以上のクライアントデバイスのうちのそれぞれの前記グラフィカルユーザインタフェースの視野の中の前記複数のオブジェクトのうちの可視オブジェクトを特定し、
前記1つ以上のクライアントデバイスのうちの特定のクライアントデバイスが、前記特定のクライアントデバイスについてのサブスクリプションデータに反映されるそれぞれの可視オブジェクトに対応する最新のオブジェクトデータを備えるかを判断し、
前記特定のクライアントデバイスが、前記特定のクライアントデバイスについてのサブスクリプションデータに反映される1つ以上の可視オブジェクトに対応する最新のオブジェクトデータを備えないと判断するとき、前記サブスクリプションデータに反映される前記可視オブジェクトのアップデートを前記特定のクライアントデバイスに通信接続を介してリアルタイムで送信する
よう構成された実行可能な部分を備える、コンピュータプログラム製品。 - 前記特定のクライアントデバイスから受け取られた前記サブスクリプション変更リクエストは、前記特定のクライアントデバイスにおいて記憶されるオブジェクトに対応するバージョン識別子を備え、
前記特定のクライアントデバイスが、前記特定のクライアントデバイスについてのサブスクリプションデータに反映されるそれぞれの可視オブジェクトに対応する最新のオブジェクトデータを備えるかを判断することは、1つ以上のオブジェクトについての前記サブスクリプション変更リクエストに反映される前記バージョン識別子が、前記1つ以上のメモリ記憶領域に記憶される最新のオブジェクトデータのバージョン識別子と対応するかを判断することを含む
請求項11に記載のコンピュータプログラム製品。 - 前記特定のクライアントデバイスについてのサブスクリプションデータを動的に保持することは、
サブスクライブリクエストとして実現されたサブスクリプション変更リクエストを前記特定のクライアントデバイスから受け取ることであって、前記サブスクライブリクエストは、前記複数のオブジェクトのうち1つ以上の新しいオブジェクトを特定することによって前記サブスクリプションデータに追加する、サブスクリプション変更リクエストを受け取ることと、
前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデ
ートすることによって前記1つ以上の新しいオブジェクトを含むことと
を含む、請求項11に記載のコンピュータプログラム製品。 - 前記複数のオブジェクトのそれぞれは、対応するオブジェクト識別子を有し、
前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることは、前記1つ以上の新しいオブジェクトのそれぞれに対応するオブジェクト識別子を、前記特定のクライアントデバイスについての前記サブスクリプションデータに結合することを含む
請求項13に記載のコンピュータプログラム製品。 - 前記特定のクライアントデバイスについてのサブスクリプションデータを動的に保持することは、
アンサブスクライブリクエストとして実現されたサブスクリプション変更リクエストを前記特定のクライアントデバイスから受け取ることであって、前記アンサブスクライブリクエストは、前記複数のオブジェクトのうち1つ以上の特定のオブジェクトを特定することによって前記サブスクリプションデータから削除する、サブスクリプション変更リクエストを受け取ることと、
前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることによって前記1つ以上の特定のオブジェクトを削除することと
を含む、請求項11に記載のコンピュータプログラム製品。 - 前記複数のオブジェクトのそれぞれは、対応するオブジェクト識別子を有し、
前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることは、前記1つ以上の特定のオブジェクトのそれぞれに対応するオブジェクト識別子を、前記特定のクライアントデバイスについての前記サブスクリプションデータから削除することを含む
請求項15に記載のコンピュータプログラム製品。 - 前記特定のクライアントデバイスについてのサブスクリプションデータを動的に保持することは、
サブスクライブリクエストとして実現されたサブスクリプション変更リクエストを前記特定のクライアントデバイスから受け取ることであって、前記サブスクライブリクエストは、前記複数のオブジェクトのうち1つ以上の新しいオブジェクトを特定することによって前記サブスクリプションデータに追加する、サブスクリプション変更リクエストを受け取ること
をさらに含み、
前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることは、1つ以上の特定のオブジェクトのそれぞれに対応するオブジェクト識別子を、前記クライアントデバイスについての前記サブスクリプションデータから削除した後に、前記1つ以上の新しいオブジェクトのそれぞれに対応するオブジェクト識別子を、前記特定のクライアントデバイスについて前記サブスクリプションデータに結合することをさらに含む、請求項16に記載のコンピュータプログラム製品。 - 複数のオブジェクトについての最新のオブジェクトデータを保持することは、
前記複数のオブジェクトの1つ以上に関連するオブジェクトアップデートデータを受け取ることであって、前記オブジェクトアップデートデータは、1つ以上のクライアントデバイスにおいて生成される、オブジェクトアップデートデータを受け取ることと、
前記オブジェクトアップデートデータに少なくとも一部は基づいて、前記複数のオブジェクトのうちの1つ以上に対応する前記1つ以上のメモリ記憶領域内に記憶された前記オブジェクトデータをアップデートすること
を含む、請求項11に記載のコンピュータプログラム製品。 - オブジェクトアップデートをクライアントデバイスに提供する動的サブスクリプション管理システムであって、
複数のオブジェクトについての最新のオブジェクトデータを保持する1つ以上のメモリ記憶領域と、
1つ以上のプロセッサであって、
サブスクリプション変更リクエストを1つ以上のクライアントデバイスのうちのそれぞれから受け取り、前記サブスクリプション変更リクエストは、前記1つ以上のクライアントデバイスのうちの対応する1つのグラフィカルユーザインタフェースの視野の中に表示される特定されたオブジェクトに対する変化を特定するデータをそれぞれ備え、
前記1つ以上のクライアントデバイスのうちのそれぞれから受け取られたサブスクリプション変更リクエストに少なくとも一部は基づいて、前記1つ以上のクライアントデバイスのうちのそれぞれについてのサブスクリプションデータを動的に保持し、前記サブスクリプションデータは、1つ以上のクライアントデバイスのうちのそれぞれの前記グラフィカルユーザインタフェースの視野の中の前記複数のオブジェクトのうちの可視オブジェクトを特定し、
前記1つ以上のクライアントデバイスのうちの特定のクライアントデバイスが、前記特定のクライアントデバイスについてのサブスクリプションデータに反映されるそれぞれの可視オブジェクトに対応する最新のオブジェクトデータを備えるかを判断し、
前記特定のクライアントデバイスが、前記特定のクライアントデバイスについてのサブスクリプションデータに反映される1つ以上の可視オブジェクトに対応する最新のオブジェクトデータを備えないと判断するとき、前記サブスクリプションデータに反映される前記可視オブジェクトのアップデートを前記特定のクライアントデバイスに通信接続を介してリアルタイムで送信する
ように全体として構成される1つ以上のプロセッサと
を備える動的サブスクリプション管理システム。 - 前記特定のクライアントデバイスから受け取られた前記サブスクリプション変更リクエストのうちの少なくとも1つは、前記複数のオブジェクトのうちの複数の新しいオブジェクトを特定し、前記複数の新しいオブジェクトは、前記特定のクライアントデバイスのグラフィカルユーザインタフェースの視野に追加される
請求項19に記載の動的サブスクリプション管理システム。 - 前記複数の新しいオブジェクトは、前記クライアントデバイスにアクセス可能な複数のチャネルインタフェースの間で切り替えが行われると、特定される
請求項20に記載の動的サブスクリプション管理システム。 - 前記特定のクライアントデバイスから受け取られた前記サブスクリプション変更リクエストは、前記特定のクライアントデバイスにおいて記憶されるオブジェクトに対応するバージョン識別子を備え、
前記特定のクライアントデバイスが、前記特定のクライアントデバイスについてのサブスクリプションデータに反映されるそれぞれの可視オブジェクトに対応する最新のオブジェクトデータを備えるかを判断することは、1つ以上のオブジェクトについての前記サブスクリプション変更リクエストに反映される前記バージョン識別子が、前記1つ以上のメモリ記憶領域に記憶される最新のオブジェクトデータのバージョン識別子と対応するかを判断することを含む
請求項19に記載の動的サブスクリプション管理システム。 - 前記特定のクライアントデバイスについてのサブスクリプションデータを動的に保持す
ることは、
サブスクライブリクエストとして実現されたサブスクリプション変更リクエストを前記特定のクライアントデバイスから受け取ることであって、前記サブスクライブリクエストは、前記複数のオブジェクトのうち1つ以上の新しいオブジェクトを特定することによって前記サブスクリプションデータに追加する、サブスクリプション変更リクエストを受け取ることと、
前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることによって前記1つ以上の新しいオブジェクトを含むことと
を含む、請求項19に記載の動的サブスクリプション管理システム。 - 前記複数のオブジェクトのそれぞれは、対応するオブジェクト識別子を有し、
前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることは、前記1つ以上の新しいオブジェクトのそれぞれに対応するオブジェクト識別子を、前記特定のクライアントデバイスについての前記サブスクリプションデータに結合することを含む
請求項22に記載の動的サブスクリプション管理システム。 - 前記特定のクライアントデバイスについてのサブスクリプションデータを動的に保持することは、
アンサブスクライブリクエストとして実現されたサブスクリプション変更リクエストを前記特定のクライアントデバイスから受け取ることであって、前記アンサブスクライブリクエストは、前記複数のオブジェクトのうち1つ以上の特定のオブジェクトを特定することによって前記サブスクリプションデータから削除する、サブスクリプション変更リクエストを受け取ることと、
前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることによって前記1つ以上の特定のオブジェクトを削除することと
を含む、請求項19に記載の動的サブスクリプション管理システム。 - 前記複数のオブジェクトのそれぞれは、対応するオブジェクト識別子を有し、
前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることは、前記1つ以上の特定のオブジェクトのそれぞれに対応するオブジェクト識別子を、前記特定のクライアントデバイスについての前記サブスクリプションデータから削除することを含む
請求項24に記載の動的サブスクリプション管理システム。 - 前記特定のクライアントデバイスについてのサブスクリプションデータを動的に保持することは、
サブスクライブリクエストとして実現されたサブスクリプション変更リクエストを前記特定のクライアントデバイスから受け取ることであって、前記サブスクライブリクエストは、前記複数のオブジェクトのうち1つ以上の新しいオブジェクトを特定することによって前記サブスクリプションデータに追加する、サブスクリプション変更リクエストを受け取ることをさらに含み、
前記特定のクライアントデバイスについての前記サブスクリプションデータをアップデートすることは、1つ以上の特定のオブジェクトのそれぞれに対応するオブジェクト識別子を、前記クライアントデバイスについての前記サブスクリプションデータから削除した後に、前記1つ以上の新しいオブジェクトのそれぞれに対応するオブジェクト識別子を、前記特定のクライアントデバイスについて前記サブスクリプションデータに結合することをさらに含む、請求項25に記載の動的サブスクリプション管理システム。 - 複数のオブジェクトについての最新のオブジェクトデータを保持することは、
前記複数のオブジェクトの1つ以上に関連するオブジェクトアップデートデータを受け取ることであって、前記オブジェクトアップデートデータは、1つ以上のクライアントデバイスにおいて生成される、オブジェクトアップデートデータを受け取ることと、
前記オブジェクトアップデートデータに少なくとも一部は基づいて、前記複数のオブジェクトのうちの1つ以上に対応する前記1つ以上のメモリ記憶領域内に記憶された前記オブジェクトデータをアップデートすること
を含む、請求項19に記載の動的サブスクリプション管理システム。 - クライアントデバイスへのオブジェクトアップデートデータストリームを保持するコンピュータプログラム製品であって、前記コンピュータプログラム製品は、その中に記憶されたコンピュータ読み取り可能なプログラムコード部分を有する、少なくとも1つの非一時的コンピュータ読み取り可能な記憶媒体を備え、前記コンピュータ読み取り可能なプログラムコード部分は、
サブスクリプション変更リクエストを1つ以上のクライアントデバイスのうちのそれぞれから受け取り、前記サブスクリプション変更リクエストは、前記1つ以上のクライアントデバイスのうちの対応する1つのグラフィカルユーザインタフェースの視野の中に表示される特定されたオブジェクトに対する変化を特定するデータをそれぞれ備え、
前記1つ以上のクライアントデバイスのうちのそれぞれから受け取られたサブスクリプション変更リクエストに少なくとも一部は基づいて、前記1つ以上のクライアントデバイスのうちのそれぞれについてのオブジェクトサブスクリプションデータを動的に保持し、前記サブスクリプションデータは、1つ以上のクライアントデバイスのうちのそれぞれの前記グラフィカルユーザインタフェースの視野の中の前記複数のオブジェクトのうちの可視オブジェクトを特定し、
前記1つ以上のクライアントデバイスのうちの特定のクライアントデバイスが、前記特定のクライアントデバイスについてのサブスクリプションデータに反映されるそれぞれの可視オブジェクトに対応する最新のオブジェクトデータを備えるかを判断し、
前記特定のクライアントデバイスが、前記特定のクライアントデバイスについてのサブスクリプションデータに反映される1つ以上の可視オブジェクトに対応する最新のオブジェクトデータを備えないと判断するとき、前記サブスクリプションデータに反映される前記可視オブジェクトのアップデートを前記特定のクライアントデバイスに通信接続を介してリアルタイムで送信する
よう構成された実行可能な部分を備える、コンピュータプログラム製品。
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862729180P | 2018-09-10 | 2018-09-10 | |
US62/729,180 | 2018-09-10 | ||
US16/176,851 US10972795B2 (en) | 2018-09-10 | 2018-10-31 | Dynamic object update subscriptions based on user interactions with an interface |
US16/176,851 | 2018-10-31 | ||
US16/206,553 | 2018-11-30 | ||
US16/206,553 US10397624B1 (en) | 2018-09-10 | 2018-11-30 | Dynamic object update subscriptions based on user interactions with an interface |
US16/509,231 US10863221B2 (en) | 2018-09-10 | 2019-07-11 | Dynamic object update subscriptions based on user interactions with an interface |
US16/509,231 | 2019-07-11 | ||
JP2020111603A JP6933757B2 (ja) | 2018-09-10 | 2020-06-29 | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション |
JP2021133951A JP7080384B2 (ja) | 2018-09-10 | 2021-08-19 | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021133951A Division JP7080384B2 (ja) | 2018-09-10 | 2021-08-19 | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022126651A true JP2022126651A (ja) | 2022-08-30 |
JP7367120B2 JP7367120B2 (ja) | 2023-10-23 |
Family
ID=70107444
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019163496A Active JP6726793B2 (ja) | 2018-09-10 | 2019-09-09 | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション |
JP2020111603A Active JP6933757B2 (ja) | 2018-09-10 | 2020-06-29 | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション |
JP2021133951A Active JP7080384B2 (ja) | 2018-09-10 | 2021-08-19 | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション |
JP2022084386A Active JP7367120B2 (ja) | 2018-09-10 | 2022-05-24 | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019163496A Active JP6726793B2 (ja) | 2018-09-10 | 2019-09-09 | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション |
JP2020111603A Active JP6933757B2 (ja) | 2018-09-10 | 2020-06-29 | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション |
JP2021133951A Active JP7080384B2 (ja) | 2018-09-10 | 2021-08-19 | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP4130979A1 (ja) |
JP (4) | JP6726793B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6726793B2 (ja) * | 2018-09-10 | 2020-07-22 | スラック テクノロジーズ, インコーポレイテッド | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション |
CN114785864B (zh) * | 2022-06-16 | 2022-09-02 | 联宝(合肥)电子科技有限公司 | 一种数据交互方法、系统、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080103854A1 (en) * | 2006-10-27 | 2008-05-01 | International Business Machines Corporation | Access Control Within a Publish/Subscribe System |
JP2009519509A (ja) * | 2005-12-03 | 2009-05-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | リモート監視方法及び装置 |
US20140297766A1 (en) * | 2013-03-07 | 2014-10-02 | Allure Energy, Inc. | Non-cloud based communication platform for an environment control system |
CN105610959A (zh) * | 2016-01-14 | 2016-05-25 | 中电长城网际系统应用有限公司 | 一种信息发布订阅平台及方法和信息发布订阅系统 |
US9577836B1 (en) * | 2011-06-20 | 2017-02-21 | Google Inc. | Chat-enabled social circles |
US20170237785A1 (en) * | 2016-02-16 | 2017-08-17 | LinkTime Corp. | System and method for managing online group chat |
US20170289289A1 (en) * | 2000-10-20 | 2017-10-05 | Jonathan Wu | Real-time information feed |
JP2018013960A (ja) * | 2016-07-21 | 2018-01-25 | 株式会社リコー | リソース管理システム、通信システム、リソース管理方法、及びプログラム |
JP2020057376A (ja) * | 2018-09-10 | 2020-04-09 | スラック テクノロジーズ, インコーポレイテッド | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100058248A1 (en) * | 2008-08-29 | 2010-03-04 | Johnson Controls Technology Company | Graphical user interfaces for building management systems |
JP5458944B2 (ja) * | 2010-02-22 | 2014-04-02 | 富士通株式会社 | メッセージ処理プログラム |
CN102479362B (zh) * | 2010-11-24 | 2016-08-03 | 上海掌门科技有限公司 | 利用电子书阅读器自动订阅未完本电子书的方法 |
US20150149305A1 (en) * | 2013-11-26 | 2015-05-28 | Jack Ke Zhang | Triggered presentation of third-party interactive content channels on electronic devices |
US9955444B1 (en) * | 2014-11-05 | 2018-04-24 | PubNub Inc. | Data synchronization across multiple devices connecting to multiple data centers |
US9413708B1 (en) * | 2015-12-31 | 2016-08-09 | Dropbox, Inc. | User notifications for interaction information |
-
2019
- 2019-09-09 JP JP2019163496A patent/JP6726793B2/ja active Active
- 2019-09-10 EP EP22198050.1A patent/EP4130979A1/en active Pending
-
2020
- 2020-06-29 JP JP2020111603A patent/JP6933757B2/ja active Active
-
2021
- 2021-08-19 JP JP2021133951A patent/JP7080384B2/ja active Active
-
2022
- 2022-05-24 JP JP2022084386A patent/JP7367120B2/ja active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170289289A1 (en) * | 2000-10-20 | 2017-10-05 | Jonathan Wu | Real-time information feed |
JP2009519509A (ja) * | 2005-12-03 | 2009-05-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | リモート監視方法及び装置 |
US20080103854A1 (en) * | 2006-10-27 | 2008-05-01 | International Business Machines Corporation | Access Control Within a Publish/Subscribe System |
US9577836B1 (en) * | 2011-06-20 | 2017-02-21 | Google Inc. | Chat-enabled social circles |
US20140297766A1 (en) * | 2013-03-07 | 2014-10-02 | Allure Energy, Inc. | Non-cloud based communication platform for an environment control system |
CN105610959A (zh) * | 2016-01-14 | 2016-05-25 | 中电长城网际系统应用有限公司 | 一种信息发布订阅平台及方法和信息发布订阅系统 |
US20170237785A1 (en) * | 2016-02-16 | 2017-08-17 | LinkTime Corp. | System and method for managing online group chat |
JP2018013960A (ja) * | 2016-07-21 | 2018-01-25 | 株式会社リコー | リソース管理システム、通信システム、リソース管理方法、及びプログラム |
JP2020057376A (ja) * | 2018-09-10 | 2020-04-09 | スラック テクノロジーズ, インコーポレイテッド | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション |
Non-Patent Citations (1)
Title |
---|
中村 太一: "ラズパイ実験室 はじめてのIoT 2017", INTERFACE 第43巻 第7号, vol. 第43巻, JPN6023022361, 1 July 2017 (2017-07-01), JP, ISSN: 0005077896 * |
Also Published As
Publication number | Publication date |
---|---|
JP2020184354A (ja) | 2020-11-12 |
JP2021185509A (ja) | 2021-12-09 |
JP6933757B2 (ja) | 2021-09-08 |
JP7367120B2 (ja) | 2023-10-23 |
JP6726793B2 (ja) | 2020-07-22 |
EP4130979A1 (en) | 2023-02-08 |
JP2020057376A (ja) | 2020-04-09 |
JP7080384B2 (ja) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6911189B2 (ja) | 外部と共有されたコミュニケーションチャンネルを生成するための方法、装置、及びコンピュータプログラム製品 | |
US10402371B2 (en) | Method, apparatus and computer program product for generating externally shared communication channels | |
US10397624B1 (en) | Dynamic object update subscriptions based on user interactions with an interface | |
US20220231870A1 (en) | Multiplexing message distribution within group-based communication system | |
JP7367120B2 (ja) | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション | |
EP3623937B1 (en) | Dynamic object update subscriptions based on user interactions with an interface | |
US11797573B2 (en) | Dynamic and selective object update for local storage copy based on network connectivity characteristics | |
US11582500B2 (en) | Updating object subscriptions based on trigger events | |
JP7376553B2 (ja) | グループベース通信システムにおいてプッシュベース通信コネクションが存在しない場合の最小のインタフェース機能の維持 | |
AU2021101081B4 (en) | Method, apparatus and computer program product for generating externally shared communication channels | |
WO2020113162A1 (en) | Method, apparatus and computer program product for generating externally shared communication channels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220526 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220526 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20221228 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230413 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230601 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230606 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230823 |
|
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: 20231010 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231011 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7367120 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |