JP6726793B2 - インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション - Google Patents
インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション Download PDFInfo
- Publication number
- JP6726793B2 JP6726793B2 JP2019163496A JP2019163496A JP6726793B2 JP 6726793 B2 JP6726793 B2 JP 6726793B2 JP 2019163496 A JP2019163496 A JP 2019163496A JP 2019163496 A JP2019163496 A JP 2019163496A JP 6726793 B2 JP6726793 B2 JP 6726793B2
- 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.)
- Active
Links
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)
Description
この特許出願は、2018年9月10日に出願された米国仮出願番号62/729,180の優先権を主張する、2018年10月31日に出願された米国出願番号16/176,851の継続出願であり、これらの両方は、ここでその全体を参照によって援用される。
グループベースの通信プラットフォームの個々のユーザによってモニタされるオブジェクト(例えばユーザ、ファイル、トピック、及び/又はその他)の個数が増すと、それらユーザによって用いられるクライアントデバイスに課せられる処理の負担も増し、ユーザのクライアントデバイスがモニタされているオブジェクトに関する全てのアップデートを受け取ることを確実にするために、ユーザのクライアントデバイス及びグループベースの通信プラットフォームの間のネットワークトラフィックも増す。これらの技術的問題は、実時間メッセージングの文脈で特に深刻であり、そこではこれらオブジェクトベースのアップデートは、アップデートが発生するたびにクライアントデバイスに配信される。単一のユーザ(及び関連付けられたクライアントデバイス)が多数のオブジェクトをモニタする、もっとも極端な場合において、オブジェクトアップデートは、クライアントデバイスにほとんど常時、送信され得る。
ここで用いられるように、「データ」、「コンテンツ」、「情報」という語、及び同様の語は、本発明の実施形態によって送信され、受信され、及び/又は記憶されることが可能なデータを表すために交換可能に用いられ得る。よって、このような語の使用は、本発明の実施形態の精神及び範囲を限定するようには解釈されるべきではない。さらに、計算デバイスが他の計算デバイスからデータを受け取るとここで記載される場合においては、データは、他の計算デバイスから直接に受け取られてもよく、又は、例えば、1つ以上のサーバ、リレー、ルータ、ネットワークアクセスポイント、ベースステーション、ホスト等のような1つ以上の中間計算デバイスを介して間接的に受け取られてもよい。同様に、計算デバイスが他の計算デバイスにデータを送るとここで記載される場合においては、データは、他の計算デバイスに直接に送られてもよく、又は、例えば、1つ以上のサーバ、リレー、ルータ、ネットワークアクセスポイント、ベースステーション、ホスト等のような1つ以上の中間計算デバイスを介して間接的に送られてもよい。
本発明の方法、装置、及びコンピュータプログラム製品は、さまざまなデバイスの任意のものによって実現され得る。例えば、例示的実施形態の方法、装置、及びコンピュータプログラム製品は、1つ以上のクライアントデバイスのような1つ以上のデバイスと通信するよう構成されるサーバ又は他のネットワークエンティティのようなネットワークデバイスによって実現され得る。ある好ましい非限定的な実施形態において、計算デバイスは、パーソナルコンピュータ又はコンピュータワークステーションのような固定された計算デバイスを含み得る。さらに例示的実施形態は、携帯デジタルアシスタント(PDA)、携帯電話、スマートフォン、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブルデバイス、又は前述のデバイスの任意の組合せのような、さまざまなモバイルデバイスの任意のものによって実現され得る。
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/ JohnDoeDaDoeDoe@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つのセットが同じプロセッサ、ネットワークインタフェース、記憶媒体等の使用を活用することで、それらの関連付けられた機能を実行し、重複するハードウェアが回路群のそれぞれのセットごとには必要がないようにする。
図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のグラフィカルインタフェースとのユーザのインタラクションに基づいて、どのオブジェクトアップデートサブスクリプションが中止され、どのオブジェクトアップデートサブスクリプションが開始される必要があるかを決定するよう構成される。
図6は、ある実施形態によるサブスクリプション変更リクエストについてメッセージ配信サーバ107A−107Nによって実行されるステップの例示的セットを示す。ブロック601で示されるように、メッセージ配信サーバ107A−107Nは、サブスクリプション変更リクエストを1つ以上のクライアントデバイス101A−101Nから受信する。これらリクエストは、送信元クライアントデバイス101の身元を示すメタデータと共に受信され、それによってメッセージ配信サーバ107A−107Nは、送信元クライアントデバイス101A−101Nについてのサブスクリプションリストを適切にアップデートし得る。さらに、それらサブスクリプション変更リクエストは、リクエスト識別子(メッセージ配信サーバ107A−107Nにおいて生成されたレスポンスを、クライアントデバイス101において生成された初期リクエストと関連付けるのに用いられ得る)、リクエストタイプ(例えば、中でも、そのリクエストがサブスクライブ又はアンサブスクライブリクエストのどちらであるか、及びどのタイプのオブジェクトにそのリクエストが関するのかを示し得る)、及びリクエストが関連するオブジェクトのリスティングを備えるアレイを備え得る。具体的な例として、リクエストタイプは、リクエストがファイルアップデートについてのサブスクライブリクエストであることを示し得て、含まれるアレイは、リクエストが関連する特定のファイル(群)を特定するデータを備え得る。さらに他の例として、リクエストは、そのリクエストがユーザアップデートについてのアンサブスクライブリクエストであることを示し得て、含まれるアレイは、そのリクエストが関連する特定のユーザ(群)を特定するデータを備え得る。オブジェクトアップデートは、アップデートが関連するオブジェクトのタイプ及びアップデートが関連するオブジェクトの身元を特定する1つ以上の識別子と共に配信サーバ107A−107Nから送信されるので、リクエストの中に含まれるデータは、メッセージ配信サーバ107A−107Nが、クライアントデバイス101A−101Nに送信されたオブジェクトアップデートにフィルタを適用させるのに十分であり得る。
一般に、インタフェース計算エンティティ109は、メッセージ、オブジェクトアップデート、及び/又はその他をクライアントデバイス101A−101N及びメッセージ配信サーバ107A−107Nの間でリレーするよう構成される。メッセージが、クライアントデバイス101A−101Nに配布されるべくメッセージ配信サーバ107A−107Nから受信される時、インタフェース計算エンティティ109は、宛先クライアントデバイス101A−101Nとの適切なウェブソケット接続を特定し、それらメッセージを適切なクライアントデバイス101A−101Nに渡すよう構成される。ある実施形態では、アサインされた宛先クライアントデバイス101A−101Nでインタフェース計算エンティティ109において受信されたメッセージ(オブジェクトアップデート)は、ここで説明されたサブスクリプション方法に従って既にフィルタリングされていて、よってインタフェース計算エンティティ109は、特定のクライアントデバイス101が、インタフェース計算エンティティ109において受信されたオブジェクトアップデートをサブスクライブしたかを判断する必要がない。さらに、インタフェース計算エンティティ109は、特定のクライアントデバイス101がその特定のクライアントデバイス101に宛先が設定されたメッセージを既に受信したかを判断する必要がない。そのような実施形態では、インタフェース計算エンティティ109は、メッセージをメッセージ配信サーバ107A−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つ以上の可視オブジェクトに対応する最新のオブジェクトデータを備えないと判断するとき、前記サブスクリプションデータに反映される前記可視オブジェクトのアップデートを前記特定のクライアントデバイスに通信接続を介してリアルタイムで送信する
よう構成された実行可能な部分を備える、コンピュータプログラム製品。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020111603A JP6933757B2 (ja) | 2018-09-10 | 2020-06-29 | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション |
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862729180P | 2018-09-10 | 2018-09-10 | |
US62/729,180 | 2018-09-10 | ||
US16/176,851 | 2018-10-31 | ||
US16/176,851 US10972795B2 (en) | 2018-09-10 | 2018-10-31 | Dynamic object update subscriptions based on user interactions with an interface |
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 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020111603A Division JP6933757B2 (ja) | 2018-09-10 | 2020-06-29 | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020057376A JP2020057376A (ja) | 2020-04-09 |
JP6726793B2 true JP6726793B2 (ja) | 2020-07-22 |
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 After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション |
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 | 联宝(合肥)电子科技有限公司 | 一种数据交互方法、系统、电子设备及存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020087630A1 (en) | 2000-10-20 | 2002-07-04 | Jonathan Wu | Enhanced information and presence service |
GB0524742D0 (en) | 2005-12-03 | 2006-01-11 | Ibm | Methods and apparatus for remote monitoring |
GB0621409D0 (en) | 2006-10-27 | 2006-12-06 | Ibm | Access control within a publish/subscribe system |
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 | 上海掌门科技有限公司 | 利用电子书阅读器自动订阅未完本电子书的方法 |
US8832190B1 (en) * | 2011-06-20 | 2014-09-09 | Google Inc. | Chat-enabled social circles |
US10063499B2 (en) | 2013-03-07 | 2018-08-28 | Samsung Electronics Co., Ltd. | Non-cloud based communication platform for an environment control system |
US20150149585A1 (en) * | 2013-11-26 | 2015-05-28 | Jack Ke Zhang | Channel-content management system for controlling dynamic-content transmissions for passive display on computing 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 |
CN105610959B (zh) | 2016-01-14 | 2019-02-19 | 中电长城网际系统应用有限公司 | 一种信息发布订阅平台及方法和信息发布订阅系统 |
US10616289B2 (en) | 2016-02-16 | 2020-04-07 | LinkTime Corp. | System and method for managing online group chat |
JP6729123B2 (ja) | 2016-07-21 | 2020-07-22 | 株式会社リコー | 通信システム、リソース管理方法、及びプログラム |
JP6726793B2 (ja) | 2018-09-10 | 2020-07-22 | スラック テクノロジーズ, インコーポレイテッド | インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション |
-
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
Also Published As
Publication number | Publication date |
---|---|
JP7080384B2 (ja) | 2022-06-03 |
JP2020184354A (ja) | 2020-11-12 |
JP2020057376A (ja) | 2020-04-09 |
JP2021185509A (ja) | 2021-12-09 |
EP4130979A1 (en) | 2023-02-08 |
JP7367120B2 (ja) | 2023-10-23 |
JP6933757B2 (ja) | 2021-09-08 |
JP2022126651A (ja) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10852916B2 (en) | System, method, and apparatus for maintaining and updating a common message user interface in a group based communication system | |
JP6911189B2 (ja) | 外部と共有されたコミュニケーションチャンネルを生成するための方法、装置、及びコンピュータプログラム製品 | |
US11586584B2 (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 | |
US11582500B2 (en) | Updating object subscriptions based on trigger events | |
JP7376553B2 (ja) | グループベース通信システムにおいてプッシュベース通信コネクションが存在しない場合の最小のインタフェース機能の維持 | |
WO2020113162A1 (en) | Method, apparatus and computer program product for generating externally shared communication channels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20191204 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191206 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20191206 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20191213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20191204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200424 |
|
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: 20200602 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200629 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6726793 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
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 |