JP2022552435A - モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体 - Google Patents

モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体 Download PDF

Info

Publication number
JP2022552435A
JP2022552435A JP2022539032A JP2022539032A JP2022552435A JP 2022552435 A JP2022552435 A JP 2022552435A JP 2022539032 A JP2022539032 A JP 2022539032A JP 2022539032 A JP2022539032 A JP 2022539032A JP 2022552435 A JP2022552435 A JP 2022552435A
Authority
JP
Japan
Prior art keywords
attribute
subscription
attribute element
device data
condition
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.)
Pending
Application number
JP2022539032A
Other languages
English (en)
Inventor
シア,ヤンヤン
ジョウ,シャオミン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Envision Digital Co Ltd
Envision Digital International Pte Ltd
Original Assignee
Shanghai Envision Digital Co Ltd
Envision Digital International Pte Ltd
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 Shanghai Envision Digital Co Ltd, Envision Digital International Pte Ltd filed Critical Shanghai Envision Digital Co Ltd
Publication of JP2022552435A publication Critical patent/JP2022552435A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/75Information technology; Communication
    • 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)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本開示は、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置に関する。この方法には:サブスクリプション条件セットの受信に応じて、サブスクリプション条件セットを第1の属性セットに解析し;デバイスデータを取得し;デバイスデータを第2の属性セットに解析し;第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の属性要素に対して所定の順序で1つずつブルームフィルタリングを実行し;各属性要素のうちの1つのブルームフィルタリング結果がミスマッチの発生を示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止し;デバイスデータを取得するステップに戻る、が含まれる。【選択図】図7

Description

本開示は、モノのインターネットの技術分野に関し、特に、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体に関する。
モノのインターネット技術の大規模な適用により、モノとモノの間、および人とモノの間の情報相互作用がより頻繁になり、サブスクリプションデータをプッシュする処理の際に、サブスクリプションサーバ内のデータをサブスクリプション条件に従ってマッチングさせる必要がある。
関連技術では、データベース内のデータが一般にサブスクリプション条件とマッチングされ、マッチングの結果、データがサブスクリプション条件を満たしているか否かによって、データをユーザに送信するか否かが決定されていた。
関連技術では、データ構造に異なる属性値が一般的に含まれているため、データの特定の属性値がサブスクリプション条件を満たさないと判定された場合、データの他の属性値をマッチングすることは意味がない。その結果、サブスクリプションサーバのマッチングリソースが浪費され、サブスクリプションサーバのマッチング効率が低下する。
本開示の実施形態は、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのコンピュータデバイスおよび非一時的コンピュータ可読記憶媒体を提供し、これにより、照合処理における照合リソースの浪費を削減することができ、照合効率が向上する。
一態様において、モノのインターネットにおいてサブイメージデータをプッシュするための方法が提供される。この方法は、サブスクリプションサーバによって実行され、以下が含まれる:
サブスクリプション条件セットの受信に応じて、サブスクリプション条件セットを第1の属性セットに解析すること、ここで、第1の属性セットには、少なくとも1つの属性要素セットが含まれ、サブスクリプション条件セットには、少なくとも1つのサブスクリプション条件が含まれ;
デバイスデータを取得すること、ここで、デバイスデータは、サブスクリプションサーバに記憶されており;
デバイスデータを第2の属性セットに解析すること、ここで、第2の属性セット内の各属性要素は、第1の属性セット内の属性要素セットと同じタイプであり;
第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行すること;
第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止すること;
デバイスデータを取得するステップに戻ること。
別の態様において、モノのインターネットにおいてサブイメージデータをプッシュするための装置が提供される。この装置は、サブスクリプションサーバに適用することが可能であり、以下が含まれる:
サブスクリプション条件セットの受信に応じて、サブスクリプション条件セットを第1の属性セットに解析するように構成された、第1の解析モジュール、ここで、第1の属性セットには、少なくとも1つの属性要素セットが含まれ、サブスクリプション条件セットには、少なくとも1つのサブスクリプション条件が含まれ;
デバイスデータを取得するように構成された、取得モジュール、ここで、デバイスデータは、サブスクリプションサーバに記憶されており;
デバイスデータを第2の属性セットに解析するように構成された、第2の解析モジュール、ここで、第2の属性セット内の各属性要素は、第1の属性セット内の属性要素セットと同じタイプであり;
第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行するように構成された、ブルームフィルタリングモジュール;
第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止するように構成された、停止モジュール;
デバイスデータを取得するステップに戻るように構成された、リターンモジュール。
幾つかの実施形態において、ブルームフィルタリングモジュールには、以下が含まれる:
第1の属性セット内の各属性要素の属性値に対してそれぞれハッシュ演算を実行することによって、第1の属性セット内の属性要素セットに対応するバイナリベクトルセットを取得するように構成された、第1の計算サブモジュール;
第2の属性セット内の各属性要素の属性値に対してそれぞれハッシュ演算を実行することによって、第2の属性セット内の各属性要素に対応するバイナリベクトルを取得するように構成された、第2の計算サブモジュール;
ここで、停止モジュールは、第2の属性セット内の各属性要素に対応する各バイナリベクトルのうちの1つが第1の属性セット内の各属性要素に対応する各バイナリベクトルセットのうちの1つとのマッチングに失敗した場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止するように更に構成される。
幾つかの実施形態において、サブスクリプション条件の数が1つの場合、前記装置には、以下が更に含まれる:
第2の属性セット内の各属性要素のブルームフィルタリング結果が第1の属性セット内の属性要素セットとの対応マッチングを示す場合に、デバイスデータをクライアントに送信するように構成された、第1の送信モジュール、ここで、クライアントは、サブスクリプション条件を送信する端末である。
幾つかの実施形態において、サブスクリプション条件の数が1つより多い場合、前記装置には、以下が更に含まれる:
第2の属性セット内の各属性要素のブルームフィルタリング結果が第1の属性セット内の属性要素セットとの対応マッチングの成功を示す場合に、マッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差(intersect;積集合演算)させることによって、統合サブスクリプション条件を取得するように構成された、計算モジュール;
統合サブスクリプション条件に対応する属性セットを第2の属性セットとマッチングすることによって、マッチング結果を取得するように構成された、マッチングモジュール;
第2の属性セットが統合サブスクリプション条件に対応する属性セットとのマッチングに成功したことを示すマッチング結果に応じて、デバイスデータをクライアントに送信するように構成された、第2の送信モジュール。
幾つかの実施形態において、計算モジュールは、第1の属性セット内の属性要素セットに対応するバイナリベクトルセットが第2の属性セット内の各属性要素に対応するバイナリベクトルとのマッチングに成功した場合に、第1の属性セット内のマッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差させることによって、統合サブスクリプション条件を取得するように構成される。
幾つかの実施形態において、第1の属性セット内の属性要素セットは、モデル、デバイス、測定ポイントのうちの少なくとも1つである。
別の態様において、コンピュータデバイスが提供される。コンピュータデバイスは、プロセッサと、少なくとも1つの命令、少なくとも1つのプログラム、コードセット、または命令セットを記憶したメモリとを含む。少なくとも1つの命令、少なくとも1つのプログラム、コードセット、または命令セットは、プロセッサによってロードおよび実行されると、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法をプロセッサに実行させる。
別の態様において、少なくとも1つの命令、少なくとも1つのプログラム、コードセット、または命令セットを記憶した非一時的コンピュータ可読記憶媒体が提供される。少なくとも1つの命令、少なくとも1つのプログラム、コードセット、または命令セットは、コンピュータデバイスのプロセッサによってロードおよび実行されると、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法をコンピュータデバイスに実行させる。
本開示による技術的解決策は、以下の有益な効果を達成することができる。
サブスクリプション条件セットが受信されると、サブスクリプション条件セットが第1の属性セットに解析され、デバイスデータを取得して、第1の属性セット内の属性要素セットと同じタイプの属性要素を有する第2の属性セットに解析される。そして、第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行し、第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングが停止される。この時点で、デバイスデータを取得するステップに戻る。このように、サブスクリプションデータをプッシュする処理の際に、属性要素に従ってデバイスデータとサブスクリプション条件セットとのマッチングを実行し、1つの属性要素がサブスクリプション条件セットを満たさない場合にデバイスデータのマッチングを停止させることで、サブスクリプションサーバのマッチングリソースの浪費を削減し、サブスクリプションサーバのマッチング効率を向上させることができる。
前述の一般的な説明と以下の詳細な説明の両方は、例示的かつ説明的なものに過ぎず、本開示を限定することを意図していないことを理解されたい。
本明細書の図面は、明細書に組み込まれ、明細書の一部を構成する。それらは、本開示と一致する実施形態を示しており、本開示の原理を説明するために明細書と併せて使用される。
図1~図6は、ブルームフィルタのワークフローの模式図である。
図7は、本開示の例示的な実施形態に関する、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法のフローチャートである。
図8は、本開示の例示的な実施形態に関する、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法のフローチャートである。
図9は、本開示の一実施形態に関する、複数のサブスクリプション条件の下で異なる属性要素の属性値に対してハッシュ演算を実行した後の対応するバイナリベクトルの概略図である。
図10は、本開示の例示的な実施形態に関する、モノのインターネットにおいてサブスクリプションデータをプッシュするための装置のブロック図である。
図11は、例示的な実施形態に関する、コンピュータデバイスの構造の概略ブロック図である。
次に、添付の図面に例示されている例示的な実施形態について詳細に言及する。以下の説明は、添付の図面について言及しており、異なる図面の同じ番号は、特に示さない限り、同じまたは類似の要素を表す。以下の例示的な実施形態の説明に示される実施形態は、本開示と一致するすべての実施形態を表すものではない。むしろ、それらは、添付の特許請求の範囲に記載されるような本開示に関連する態様と一致する装置および方法の例に過ぎない。
本開示で使用される「幾つかの」という用語は、1つまたは複数を意味し、「複数」という用語は、2つ以上を意味し、「および/または」という用語は、関連するオブジェクトの関連関係を説明し、3つの関係が存在する可能性があることを示す。例えば、Aおよび/またはBは、Aが単独で存在、AとBが同時に存在、Bが単独で存在の3つの状況を示す可能性がある。また、文字「/」は一般に、前後に関連付けられたオブジェクト間に「OR(または)」の関係にあることを示す。
モノのインターネット技術の大規模な普及に伴い、サブスクリプション条件の精度や、サブスクリプション条件をプッシュする処理の際のサブスクリプションサーバにおけるデータマッチングに対して、より高い要求が求められている。本開示は、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法を提供することで、サブスクリプションサーバのマッチングリソースの浪費を削減し、サブスクリプションサーバのマッチング効率を向上させることができる。理解を容易にするために、本開示に含まれる幾つかの用語を以下に説明する。
1)モノのインターネット(IoT)
IoTは、インターネットや従来の電気通信ネットワークなどの情報媒体に基づいて、独立した機能を持つ全ての通常のオブジェクトを接続できるようにするネットワークであり、輸送および物流、工業生産、ヘルスケア、スマート環境(家庭、オフィス、または工場)などの分野に主に適用される。したがって、IoTは、市場で大きな可能性を秘めている。
2)ブルームフィルタ
ブルームフィルタは、非常に長いバイナリベクトルと一連のランダムマッピング関数から構成され、要素がセット内にあるか否かを検索するために使用することができる。その利点は、ブルームフィルタが一般的なアルゴリズムよりも空間効率が高く、クエリ時間が短いことであり、欠点は、ブルームフィルタが特定の誤認識率(つまり、要素がセット内にないという事実と矛盾して、ブルームフィルタがセット内の要素の存在を報告する可能性があることを意味する誤検知)および削除の困難性であるが、認識エラーの状況が発生しない(つまり、要素がセット内にない場合に、ブルームフィルタがセット内の要素の存在を報告しない可能性があることを意味する偽陰性であり、過小報告が防止される)。
図1~図6を参照すると、ブルームフィルタのワークフローの概略図が示されている。図1~図6に示すように、一例としてURL(Uniform Resource Locator)を取り上げると、URLに対して実行されるブルームフィルタリングは、以下のようになる。
(1)第1、第2、第3のURLをフィルタ条件として、3つの異なるハッシュ関数に応じて3つの異なるハッシュ値をそれぞれ生成する。
URLa、URLb、URLcに対してハッシュ演算を実行する模式図である図1~図3に示すように、3つの異なるハッシュ関数は、それぞれ、HashA、HashB、HashCである。また、URLaに対応する3つのハッシュ値は4、16、8であり、URLbに対応する3つのハッシュ値は9、11、7であり、URLcに対応する3つのハッシュ値は3、15、10である。
(2)フィルタ条件を空のビットマップセットにマッピングする。
図4は、空のビットマップセットを示している。URLaに対応する3つのハッシュ値は4、16、8であるため、ビットマップセット内の4、16、8に対応する位置は1であると判断され、4、16、8に対応する位置に1がセットされる。URLbに対応する3つのハッシュ値は9、11、7であるため、ビットマップセット内の9、11、7に対応する位置は1であると判断され、9、11、7に対応する位置に1がセットされる。URLcに対応する3つのハッシュ値は3、15、10であるため、ビットマップセット内の3、15、10に対応する位置は1であると判断され、3、15、10に対応する位置に1がセットされる。図5は、セッティング完了後のビットマップセットを示している。
(3)ブルームフィルタに第4のURLを追加する場合、第4のURLを同じブルームフィルタ条件で3つのハッシュ関数に従ってハッシュ演算を実行し、3つの異なるハッシュ値をそれぞれ生成する。
図6に示すように、4番目のURLxに対応するハッシュ値は4、16、8である。
(4)セッティング後のビットマップセットにおける第4のURLのハッシュ値に対応する位置が1であるか否かが判定される。3つの値の位置が同時に1である場合に、そのURLは重複URLであると判定される。3つの値の位置が同時に1ではない場合に、そのURLは重複URLでないと判定される。
図6に示す第4のURLxによって生成された3つのハッシュ値4、16、8を図5のビットマップセットに対応させることで、4、16、8の位置が同時に1であれば、図6に示すURLxは重複URLであり、URLxはURLaと重複していると判定される。
第4のURLが重複URLでないと判定された場合、ビットマップセットにおけるURLの3つのハッシュ値に対応する位置のうち、1がセットされていない位置に1がセットされて、次のURLに対してブルームフィルタリングを実行するためのブルームフィルタ条件とされる。
ビットマップセットのサイズは、前述の図に示したセットのサイズに限定されず、ビットマップセット内の各位置に対応するサイズは1ビットである。ユーザは、異なるニーズに応じて対応するセッティングを行うことができ、1のセット操作をビットマップセット内の各位置に対して1回だけ行うことができる。
幾つかの実施形態において、ブルームフィルタは、サブスクリプションデータがサブスクリプション条件を満たしているか否かを判定するように構成されている。サブスクリプション条件は各属性セットに分割され、各属性セットはブルームフィルタ条件として取得され、ハッシュ演算が実行され、ビットマップセットにマッピングされる。ここで、異なる属性に対応するハッシュ演算で採用されるハッシュアルゴリズムは、同じでもよいし、異なっていてもよい。サブスクリプションデータは、サブスクリプション条件に新たに対応する属性セットに分割され、サブスクリプション条件内の異なる属性に対して実行されるハッシュ演算で対応して採用されるハッシュアルゴリズムに従って、サブスクリプションデータ内の異なる属性に対してハッシュ演算が実行される。次に、ビットマップセットにおける同じサブスクリプションデータの異なる属性のハッシュ値に対応する位置に全て1がセットされているか否かによって、サブスクリプションデータがサブスクリプション条件を満たしているか否かが判定される。ビットマップセットにおける同じサブスクリプションデータの異なる属性のハッシュ値に対応する全ての位置に1がセットされている場合は、サブスクリプションデータはサブスクリプション条件を満たしており、ビットマップセットにおける同じサブスクリプションデータの異なる属性のハッシュ値に対応する全ての位置に1がセットされているのではない場合は、サブスクリプションデータはサブスクリプション条件を満たしていない。
図7を参照すると、本開示の例示的な実施形態に関する、IoTにおいてサブスクリプションデータをプッシュするための方法のフローチャートが示されている。IoTにおいてサブスクリプションデータをプッシュするための方法は、サブスクリプションサーバによって実行される。図7に示すように、この方法には、以下のステップが含まれ得る。
ステップ710において、サブスクリプション条件セットの受信に応じて、サブスクリプション条件セットを解析して第1の属性セットが得られる。第1の属性セットには、少なくとも1つの属性要素セットが含まれ、サブスクリプション条件セットには、少なくとも1つのサブスクリプション条件が含まれる。
サブスクリプション条件は、サブスクリプションサーバでサブスクリプションデータをフィルタリングするためのカスタマイズ条件を指す。サブスクリプション条件は、カスタマイズ条件をサブスクリプションサーバに入力することによってユーザに定義されてもよいし、サブスクリプションサーバ内のラベルコントロールを制御することによってユーザに定義されてもよい。
幾つかの実施形態において、可能な状況では、クライアントは検索ボックスを有してもよく、ユーザは、クライアントに接続された外部デバイスによってテキストを入力して、カスタマイズ条件をサブスクリプションサーバに送信することができる。あるいは、クライアントが音声認識機能を有することを前提として、ユーザは、カスタマイズ条件を音声入力によってサブスクリプションサーバに送信することができる。あるいは、サブスクリプションデータをフィルタリングするためのラベルコントロールをクライアントに提供することもできます。例えば、モデルa、デバイスB、または測定ポイントCなどのラベルコントロールをサブスクリプションサーバのタッチインターフェース上に表示してもよく、これらラベルコントロールはサブスクリプションデータの記述を含み、ユーザは、単一の選択または複数の選択によって、カスタマイズ条件をサブスクリプションサーバに送信することができる。
幾つかの実施形態において、サブスクリプション条件は、少なくとも1つの属性をフィルタリングするためのサブスクリプション条件を含み得る。例えば、ユーザに入力されるカスタマイズ条件は、「IoT機能付き電球」である。カスタマイズ条件は、サブスクリプションサーバで解析して異なる属性セットが得られる場合があり、属性セットは、電球を識別するシリーズ番号、電球に対応するモデル、モデル内の対応する測定ポイント、またはその他の関連する内容であり得る。属性セット内の異なる属性要素に対して、対応するサブ-サブスクリプション条件が定義され、異なる属性要素を説明または制限する。例えば、「IoT機能付き電球」という解析条件に対応する測定ポイントAは、電球モデルの電流または電圧を説明するための属性値を有し得る。
幾つかの実施形態において、サブスクリプション条件セットを解析する処理において、サブスクリプション条件セット内の各サブスクリプション条件は、対応する解析結果に関連付けられるものとする。すなわち、各サブスクリプション条件は、それに対応する第1の属性サブセットを有し、第1の属性サブセットは、第1の属性セット内にある。例えば、サブスクリプション条件1は、それに対応する第1の属性サブセット1を有することができ、第1の属性サブセット1は、モデル1、デバイス1、測定ポイント1などの対応する属性要素を含むことができる。
ステップ720において、デバイスデータが取得され、デバイスデータはサブスクリプションサーバに記憶される。
サブスクリプションサーバは、生成されたデバイスデータをサブスクリプションサーバに送信することができるデータ生成デバイスに接続される。サブスクリプション条件を受信すると、サブスクリプションサーバは、それに記憶されたデバイスデータからデバイスデータを抽出することができる。
ステップ730において、デバイスデータを解析して第2の属性セットが得られる。第2の属性セット内の属性要素は、第1の属性セット内の属性要素セットと同じタイプである。
デバイスデータが取得された後、デバイスデータは、サブスクリプション条件の解析ルールに従って解析され得る。例えば、サブスクリプション条件が解析されて、デバイス、モデル、測定ポイントの3つの属性要素で構成された属性セットが得られた場合、データ間の比較可能性を確保できるように、デバイスデータも同じ解析ルールに従って解析して、デバイス、モデル、測定ポイントの3つの属性要素で構成された属性セットを得る必要がある。
ステップ740において、第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングが実行される。
この処理は、第1の属性セット内の属性要素セットの属性値に基づいて、第2の属性セット内の各属性要素の属性値に対して所定の順序で1つずつブルームフィルタリングを実行し、第2の属性セット内の前の属性要素のブルームフィルタリングの結果がマッチングの成功を示している場合に、次の属性要素のブルームフィルタリングが実行される。例えば、所定のマッチング順序がモデル、デバイス、測定ポイントである場合、サブスクリプション条件の属性セット内のモデルの属性値が、デバイスデータの属性セット内のモデルの属性値に対してブルームフィルタリングを実行するためのフィルタ条件として最初に取得され得る。モデルの属性値のブルームフィルタリングの結果がマッチングの成功を示す場合、サブスクリプション条件の属性セット内のデバイスの属性値をフィルタ条件として、デバイスデータの属性セット内のデバイスの属性値に対してブルームフィルタリングが実行される。デバイスの属性値のブルームフィルタリングの結果がマッチングの成功を示す場合、サブスクリプション条件の属性セット内の測定ポイントの属性値をフィルタ条件として、測定ポイントの属性値に対してブルームフィルタリングが実行される。
ステップ750において、第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングが停止される。
デバイスデータのマッチング処理の際に、各属性要素の属性値のブルームフィルタリング結果がサブスクリプション条件セット内の対応する属性要素の属性値とのミスマッチを示す限り、デバイスデータがサブスクリプション条件を満たしていないと判定され、属性要素の属性値に対してブルームフィルタリングを実行する意味がない。このように、各属性要素の属性値のブルームフィルタリング結果がサブスクリプション条件セット内の各属性要素の属性値とのミスマッチを示す場合に、それ以降の他の属性要素に対するブルームフィルタリングを停止することができ、マッチング処理におけるマッチングリソースの浪費を削減できる。
ステップ760において、デバイスデータを取得するステップに処理が戻る。
サブスクリプションデータをプッシュする処理の際に、特定のデバイスデータがサブスクリプション条件セット内のサブスクリプション条件を満たさないと判定された場合、そのデバイスデータとサブスクリプション条件のマッチングを停止して、サブスクリプション条件セット内の少なくとも1つのサブスクリプション条件を満たすサブスクリプションサーバ内の少なくとも1つのデバイスデータを取得するために、次のデバイスデータとサブスクリプション条件のマッチングを開始する必要がある。
幾つかの実施形態において、サブスクリプションサーバ内のデバイスデータがサブスクリプション条件セット内のサブスクリプション条件を満たさない場合は、サブスクリプション条件は不適切であると判断され、判断結果がサブスクリプション条件を送信するクライアントにフィードバックされる。
要約すると、本開示の実施形態によって提供されるIoTにおけるサブスクリプションデータをプッシュするための方法によれば、サブスクリプション条件セットが受信されると、サブスクリプション条件セットを解析して第1の属性セットが得られ、デバイスデータを取得して解析され、第1の属性セット内の属性要素セットと同じタイプの属性要素を有する第2の属性セットが得られる。そして、第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行し、第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングが停止される。この時点で、デバイスデータを取得するステップに戻る。このように、サブスクリプションデータをプッシュする処理の際に、属性要素に従ってデバイスデータとサブスクリプション条件セットとのマッチングを実行し、1つの属性要素がサブスクリプション条件セットを満たさない場合にデバイスデータのマッチングが停止させることで、サブスクリプションサーバのマッチングリソースの浪費を削減し、サブスクリプションサーバのマッチング効率を向上させることができる。
図8を参照すると、本開示の例示的な実施形態に関する、IoTにおいてサブスクリプションデータをプッシュするための方法のフローチャートが示されている。IoTにおいてサブスクリプションデータをプッシュするための方法は、サブスクリプションサーバによって実行される。図8に示すように、この方法には、以下のステップが含まれ得る。
ステップ801において、サブスクリプション条件セットの受信に応じて、サブスクリプション条件セットを解析して第1の属性セットが得られる。第1の属性セットには、少なくとも1つの属性要素セットが含まれ、サブスクリプション条件セットには、少なくとも1つのサブスクリプション条件が含まれる。
幾つかの実施形態において、第1の属性セット内の属性要素セットは、モデル、デバイス、測定ポイントのうちの少なくとも1つである。各属性要素セットには、それに相応して、サブスクリプション条件セット内の全てのサブスクリプション条件を解析することによって取得された対応する属性要素が含まれる。例えば、モデルセットには、サブスクリプション条件セット内の全てのサブスクリプション条件を解析することによって取得されたモデル要素が含まれ得る。
幾つかの実施形態において、各サブスクリプション条件は、対応するサブスクリプションアカウントを有しており、サブスクリプションアカウントは、対応するサブスクリプション条件を満たすデバイスデータをサブスクリプションアカウントに送信するように指示するために使用される。
幾つかの実施形態において、IoTにおいてサブスクリプションデータをプッシュするプロセスの際に、サブスクリプションサーバは、同じ期間にユーザによって送信された複数のサブスクリプション条件を受信することができ、サブスクリプション条件の数が1つより多い場合、サブスクリプションサーバは、複数のサブスクリプション条件を同時に解析して、1つのサブスクリプション条件が1つのサブスクライバアカウントに対応する、第1の属性セットを形成する。
ステップ802において、デバイスデータが取得され、デバイスデータはサブスクリプションサーバに記憶される。
ステップ803において、デバイスデータを解析して第2の属性セットが得られる。第2の属性セット内の各属性要素は、第1の属性セット内の属性要素セットと同じタイプである。
ステップ804において、第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行する。このステップには、以下の内容が含まれ得る。
1)第1の属性セット内の各属性要素の属性値に対してハッシュ演算を実行して、第1の属性セット内の属性要素セットに対応するバイナリベクトルセットを取得する。このプロセスには、以下のステップが含まれ得る。
ステップS810において、第1の属性セット内の属性要素セットの属性値に対してハッシュ演算することによって、第1の属性セット内の属性要素セットにそれぞれ対応する演算結果が取得される。
ステップ820において、空のビットマップセットが準備される。
ステップS830において、第1の属性セット内の属性要素セットにそれぞれ対応する演算結果に対応するビットマップセット内の位置に1をセットすることによって、第1の属性セット内の属性要素セットに対応するバイナリベクトルが得られる。
1のセット操作は、各位置に対して1回だけ実行できるため、ビットマップセット内の1が設定された位置は、ハッシュ演算の特性により、複数のサブスクリプション条件に対応する可能性がある。したがって、1が設定された位置とサブスクリプション条件との間の相関を確立することが可能であり、1が設定された位置と属性要素との間の相関を最初に確立することによって実現され得る。
2)第2の属性セット内の各属性要素の属性値に対してハッシュ演算を実行して、第2の属性セット内の各属性要素に対応するバイナリベクトルを取得する。
第2の属性セット内の各属性要素に対応するバイナリベクトルを取得するプロセスは、ステップS810~S830を参照することができ、本明細書ではこれ以上説明しない。
各属性要素の属性値に対してハッシュ演算を実行する処理は、図1~図6に示したブルームフィルタのワークフローを参照することができる。ハッシュ演算の際に、同じサブスクリプション条件または同じデバイスデータの異なる属性要素の属性値に対してハッシュ演算を実行するためのハッシュ関数は、同一であってもよく、そうでなくてもよく、その一方で、サブスクリプション条件とデバイスデータの対応する属性要素の属性値は、同一である必要がある。例えば、サブスクリプション条件の解析に、デバイス、モデル、測定ポイントの3つの属性要素が含まれる場合、対応するデバイスデータの解析にも、デバイス、モデル、測定ポイントの3つの属性要素が含まれる。属性要素に対してブルームフィルタリングを実行する処理の際に、サブスクリプション条件の3つの属性要素の属性値に対してハッシュ演算を実行するためのハッシュ関数が全てHashAである場合、デバイスデータの3つの属性要素の属性値に対してハッシュ演算を実行するためのハッシュ関数も全てHashAとなり;サブスクリプション条件の属性要素であるモデル、デバイス、測定ポイントの属性値をハッシュ演算するためのハッシュ関数がHashA、HashB、HashCである場合、デバイスデータのモデル、デバイス、測定ポイントである属性要素の属性値に対するハッシュ演算もHashA、HashB、HashCとなる。
3)第1の属性セット内の属性要素セットに対応するバイナリベクトルセットを、第2の属性セット内の各属性要素に対応するバイナリベクトルとそれぞれマッチングする。
幾つかの実施形態において、マッチング処理の際に、デバイスデータの各属性要素に対応するバイナリベクトルとサブスクリプション条件の各属性要素に対応するバイナリベクトルとの量的積(quantitative product)が計算されてもよく、その計算結果に応じて、デバイスデータの各属性要素がサブスクリプション条件を満たしているか否かが判定される。計算結果が1の場合、デバイスデータの属性要素がサブスクリプション条件を満たしていると判定され;計算結果が0の場合、デバイスデータの属性要素がサブスクリプション条件を満たさないと判定される。
幾つかの実施形態において、サブスクリプション条件の数が1つより多い場合、本開示の一実施形態に関する、複数のサブスクリプション条件のうちの異なる属性要素の属性値に対してハッシュ演算を実行した後の対応するバイナリベクトルの概略図である、図9を参照する。図9に示すように、ビットマップセットのサイズは64ビットである。ハッシュ演算後の図9のサブスクリプション条件の各属性要素の属性値について、出力されるハッシュ値は0~63の整数範囲内の値であり、ハッシュ値に対応するビットマップセット内の位置に1がセットされる。
図9に示すように、サブスクリプション条件全体のモデル属性に対応するバイナリベクトルは[1,0,1,0,0,1,1,0,0,1...1,0]であり、デバイスデータのモデル属性に対応するバイナリベクトルは[0,0,1,0,0,0,0,0,0,0...0,0]である。このため、計算されたそれらの間の量的積は、[1,0,1,0,0,1,1,0,0,1...1,0]×[0,0,1,0,0,0,0,0,0,0...0,0]=1となる。
デバイスデータとサブスクリプション条件全体との間でマッチするモデルに対応する各バイナリベクトルの積結果は1であるので、デバイスデータのモデルの属性値はサブスクリプション条件を満たすと判定される。
デバイスデータのモデル属性に対応するバイナリベクトルを[0,1,0,0,0,0,0,0,0,0...0,0]とすると、計算された量的積は、[1,0,1,0,0,1,1,0,0,1...1,0]×[0,1,0,0,0,0,0,0,0,0...0,0]=0となる。
デバイスデータとサブスクリプション条件全体との間でマッチするモデル属性に対応する各バイナリベクトルの積結果が0であるため、デバイスデータのモデルの属性値がサブスクリプション条件を満たしていないと判定される。
マッチング結果に従って、ステップ805またはステップ807が実行される。
ステップ805において、第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングが停止される。
幾つかの実施形態において、このプロセスには:第2の属性セット内の各属性要素に対応する各バイナリベクトルのうちの1つが第1の属性セット内の各属性要素に対応する各バイナリベクトルセットのうちの1つとのマッチングに失敗した場合に、第2の属性セット内の属性要素に対するマッチングを停止すること、その後、ステップ806を実行すること、が含まれ得る。
ステップ806において、デバイスデータを取得するステップに処理が戻る。
ステップ807において、第2の属性セット内の各属性要素のブルームフィルタリング結果が第1の属性セット内の属性要素セットとの対応マッチングを示す場合に、デバイスデータがクライアントに送信される。クライアントは、サブスクリプション条件を送信する端末である。
サブスクリプション条件の数が1つの場合、サブスクリプションサーバは、第2の属性セット内の各属性要素のブルームフィルタリング結果が第1の属性セット内の属性要素セットとのマッチングを示す場合、これはデバイスデータがサブスクリプション条件とのマッチングに成功したことも意味しており、サブスクリプション条件に対応するクライアントにデバイスデータを継続的に送信することができ、ここで、デバイスデータは、時間の経過に伴って変化するデータである。例えば、サブスクリプション条件が「光発電モジュールモデル内の光発電モジュール1の発電電力を取得すること」である場合には、光発電モジュールモデル内の光発電モジュール1の光発電電力値は、日射量の影響で増加または減少する可能性があり;デバイスデータがサブスクリプション条件とのマッチングに成功した場合に、サブスクリプションサーバは、光発電モジュール1によってアップロードされた光発電電力値をクライアントに継続的に送信することができる。
サブスクリプション条件の数が1つより多い場合、ハッシュ関数の出力は一定の範囲内の整数であるため、異なるサブスクリプション条件の各属性要素の属性値に対してハッシュ演算を実行することで得られるハッシュ値が重複する可能性があり、これにより、第1の属性セット内の1つの属性要素が複数のサブスクリプション条件に対応することができる。例えば、ハッシュ関数は、以下のように定義され得る:
H(x)=h
Hは、所定のハッシュ関数を表し、xは、可変サイズを有するデータを表し、hは、計算された固定長のハッシュ値を表す。
ハッシュ関数が剰余2を取る関数である場合、サブスクリプション条件1のモデル属性の属性値は13であり、サブスクリプション条件2のモデル属性では5であり、以下の結果が生じ得る:
H(13)=1
H(5)=1
5の剰余2の結果は1であり、13の剰余2の結果と同じである。一方、5は13と等しくなく、サブスクリプション条件1がサブスクリプション条件2と異なることを示している。更に、ハッシュ演算の結果は両方とも1であるため、ビットマップセットの対応する位置1で両方とも1がセットされる。但し、1のセット操作は同じ位置で1回しか実行できないため、1のセット操作に関連する2つのサブスクリプション条件が位置1に存在する。そこで、ハッシュ演算の結果の衝突による判断結果の不正確性を回避するために、以下のステップが実行される。
1)第2の属性セット内の各属性要素のブルームフィルタリング結果が第1の属性要素セットとの対応マッチングを示す場合に、各第1の属性セット内のマッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差させることによって、統合サブスクリプション条件を取得する。
幾つかの実施形態において、第1の属性セット内の属性要素セットに対応するバイナリベクトルセットが第2の属性セット内の各属性要素に対応するバイナリベクトルとのマッチングに成功した場合に、各第1の属性セット内のマッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差させて統合サブスクリプション条件を取得する。
各サブスクリプション条件は、対応するサブスクリプション条件マークを有し得る。サブスクリプション条件セットを交差させると、各第1の属性セット内のマッチングに成功した各属性要素に対応するサブスクリプション条件マークを取得することができ、各第1の属性セット内の各属性要素に対応する各サブスクリプション条件マークを交差させることによって、統合サブスクリプション条件に対応する各サブスクリプション条件マークを取得することができ、これにより統合サブスクリプション条件を取得する。
2)統合サブスクリプション条件に対応する属性セットを第2の属性セットとマッチングし、マッチング結果を取得する。
統合サブスクリプション条件に対応する属性セット内の各属性要素の属性値が、第2の属性セット内の各属性要素の属性値と1つずつマッチングされる。
3)デバイスデータは、第2の属性セットが統合サブスクリプション条件に対応する属性セットとのマッチングに成功したことを示すマッチング結果に応じてクライアントに送信される。クライアントは、サブスクリプション条件を送信するクライアントである。
幾つかの実施形態において、デバイスデータのモデル属性の属性値に対応するバイナリベクトルと、サブスクリプション条件全体のモデル属性に対応するバイナリベクトルとの積の結果が1となる位置を位置0とし、位置0に関連付けられたサブスクリプション条件で構成されたサブスクリプション条件セットは、[サブスクリプション条件1、サブスクリプション条件2]であり;デバイスデータのデバイス属性の属性値に対応するバイナリベクトルと、サブスクリプション条件全体のデバイス属性に対応するバイナリベクトルとの積の結果が1となる位置を位置2とし、位置2に関連付けられたサブスクリプション条件で構成されたサブスクリプション条件セットは、[サブスクリプション条件3、サブスクリプション条件4]であり;デバイスデータの測定ポイント属性の属性値に対応するバイナリベクトルと、サブスクリプション条件全体の測定ポイントに対応するバイナリベクトルとの積の結果が1となる位置を位置1とし、位置1に関連付けられたサブスクリプション条件で構成されたサブスクリプション条件セットは、「サブスクリプション条件4、サブスクリプション条件2」である。上記3つのサブスクリプション条件セットを交差させることによって、統合サブスクリプション条件を[サブスクリプション条件2]のセットとして取得することができる。
次に、統合サブスクリプション条件に対応する属性セットが第2の属性セットとマッチングされ、統合サブスクリプション条件に対応するユーザの数は、1人または2人以上であり得る。IoTの環境では、異なるユーザが異なるデバイスデータにマッチングするように異なるサブスクリプション条件を同時に入力してもよく、異なるユーザが同じデバイスデータにマッチングするように同じサブスクリプション条件を入力してもよい。更に、異なるユーザによって入力されたサブスクリプション条件は、ユーザのアカウントに対応してもよい。従って、データデバイスの属性セットと統合サブスクリプション条件に対応する属性セットとの間のマッチング結果がマッチングの成功を示す場合に、サブスクリプションサーバは、異なるサブスクリプション条件に対応する1つまたは複数のアカウントに従って、対応するアカウントによって示されるクライアントにデバイスデータを送信することができる。
要約すると、本開示の実施形態に関する、IoTにおいてサブスクリプションデータをプッシュするための方法では、サブスクリプション条件セットが受信されると、サブスクリプション条件セットを解析して第1の属性セットが得られ、デバイスデータを取得して解析され、第1の属性セット内の属性要素セットと同じタイプの属性要素を有する第2の属性セットが得られる。そして、第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行し、第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングが停止される。この時点で、デバイスデータを取得するステップに戻る。このように、サブスクリプションデータをプッシュする処理の際に、属性要素に従ってデバイスデータとサブスクリプション条件セットとをマッチングし、1つの属性要素がサブスクリプション条件セットを満たさない場合にデバイスデータのマッチングが停止させることで、サブスクリプションサーバのマッチングリソースの浪費を削減し、サブスクリプションサーバのマッチング効率を向上させることができる。
図10を参照すると、本開示の例示的な実施形態に関する、IoTにおいてサブスクリプションデータをプッシュするための装置のブロック図が示されている。この装置は、図7または図8および対応する実施形態に示される方法のステップの全てまたは一部を実装するソフトウェアの形式のデータ照合サーバの全てまたは一部として実施され得る。図10に示すように、この装置は、第1の解析モジュール1010と、取得モジュール1020と、第2の解析モジュール1030と、ブルームフィルタリングモジュール1040と、停止モジュール1050と、リターンモジュール1060とを含み得る。
第1の解析モジュール1010は、サブスクリプション条件セットの受信に応じて、サブスクリプション条件セットを解析して第1の属性セットを得るように構成され、ここで、第1の属性セットには、少なくとも1つの属性要素セットが含まれる。
取得モジュール1020は、デバイスデータを取得するように構成され、ここで、デバイスデータは、サブスクリプションサーバに記憶されている。
第2の解析モジュール1030は、デバイスデータを解析して第2の属性セットを得るように構成され、ここで、第2の属性セット内の各属性要素は、第1の属性セット内の属性要素セットと同じタイプである。
ブルームフィルタリングモジュール1040は、第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルーム・フィルタリングを実行するように構成される。
停止モジュール1050は、第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止するように構成される。
リターンモジュール1060は、デバイスデータを取得するステップに戻るように構成される。
幾つかの実施形態において、ブルームフィルタリングモジュール1040は、第1の計算サブモジュールと、第2の計算サブモジュールとを含む。
第1の計算サブモジュールは、第1の属性セット内の各属性要素の属性値に対してハッシュ演算を実行することによって、第1の属性セット内の属性要素セットに対応するバイナリベクトルセットを取得するように構成される。
第2の計算サブモジュールは、第2の属性セット内の各属性要素の属性値に対してハッシュ演算を実行することによって、第2の属性セット内の各属性要素に対応するバイナリベクトルを取得するように構成される。
ここで、停止モジュール1050は、第2の属性セット内の各属性要素に対応する各バイナリベクトルのうちの1つが第1の属性セット内の各属性要素に対応する各バイナリベクトルセットのうちの1つとのマッチングに失敗した場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止するように構成される。
幾つかの実施形態において、サブスクリプション条件の数が1つの場合、この装置は更に、第1の送信モジュールを含む。
第1の送信モジュールは、第2の属性セット内の各属性要素のブルームフィルタリング結果が第1の属性セット内の属性要素セットとの対応マッチングを示す場合に、デバイスデータをクライアントに送信するように構成され、ここで、クライアントは、サブスクリプション条件を送信する端末である。
幾つかの実施形態において、サブスクリプション条件の数が1つより多い場合、この装置は更に、計算モジュールと、照合モジュールと、第2の送信モジュールとを含む。
計算モジュールは、第2の属性セット内の各属性要素のブルームフィルタリング結果が第1の属性セット内の属性要素セットとの対応マッチングの成功を示す場合に、マッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差させることによって、統合サブスクリプション条件を取得するように構成される。
マッチングモジュールは、統合サブスクリプション条件に対応する属性セットを第2の属性セットとマッチングすることによって、マッチング結果を取得するように構成される。
第2の送信モジュールは、第2の属性セットが統合サブスクリプション条件に対応する属性セットとのマッチングに成功したことを示すマッチング結果に応じて、デバイスデータをクライアントに送信するように構成される。
幾つかの実施形態において、計算モジュールは、第1の属性セット内の属性要素セットに対応するバイナリベクトルセットが第2の属性セット内の各属性要素に対応するバイナリベクトルとのマッチングに成功した場合に、第1の属性セット内のマッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差させることによって、統合サブスクリプション条件を取得するように構成される。
幾つかの実施形態において、第1の属性セット内の属性要素セットは、モデル、デバイス、測定ポイントのうちの少なくとも1つである。
要約すると、本開示の実施形態に関する、ソフトウェアの形式でサブスクリプションサーバの全部または一部として実装される、IoTにおけるサブスクリプションデータをプッシュするための装置では、サブスクリプション条件セットが受信されると、サブスクリプション条件セットを解析して第1の属性セットが得られ、デバイスデータを取得して解析され、第1の属性セット内の属性要素セットと同じタイプの属性要素を有する第2の属性セットが得られる。そして、第1の属性セット内の属性要素セットをフィルタ条件として、第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行し、第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、第2の属性セット内の他の属性要素に対するブルームフィルタリングが停止される。この時点で、デバイスデータを取得するステップに戻る。このように、サブスクリプションデータをプッシュする処理の際に、属性要素に従ってデバイスデータとサブスクリプション条件セットとのマッチングを実行し、1つの属性要素がサブスクリプション条件セットを満たさない場合にデバイスデータのマッチングが停止させることで、サブスクリプションサーバのマッチングリソースの浪費を削減し、サブスクリプションサーバのマッチング効率を向上させることができる。
図11を参照すると、例示的な実施形態に関する、コンピュータデバイス1100の構造の概略図が示されている。コンピュータデバイスは、本開示の前述の解決策で述べたサブスクリプションサーバとして実装され得る。コンピュータデバイス1100は、中央処理装置(CPU)1101と、ランダムアクセスメモリ(RAM)1102および読み出し専用メモリ(ROM)1103を含むシステムメモリ1104と、システムメモリ1104および中央処理装置1101に接続されたシステムバス1105とを含む。コンピュータデバイス1100は更に、コンピュータ内のそれぞれのデバイス間の情報転送を容易にする基本入出力システム(I/Oシステム)1106と、オペレーティングシステム1113、アプリケーションプログラム1114、およびその他のプログラムモジュール1115を記憶した大容量記憶装置1107とを含む。
基本入出力システム1106は、情報を表示するためのディスプレイ1108と、ユーザが情報を入力するためのマウスまたはキーボードなどの入力装置1109とを含む。ディスプレイ1108および入力装置1109は両方とも、システムバス1105に接続された入出力コントローラ1110を介してCPU1101に接続される。基本I/Oシステム1106は更に、キーボード、マウス、または電子スタイラスなどの複数の他のデバイスからの入力を受信および処理するための入出力コントローラ1110を含み得る。同様に、入出力コントローラ1110は更に、ディスプレイ画面、プリンタ、または他のタイプの出力デバイスへの出力を提供する。
大容量記憶装置1107は、システムバス1105に接続された大容量記憶装置コントローラ(図示せず)によってCPU1101に接続される。大容量記憶装置1107および関連するコンピュータ可読媒体は、サーバ1100に不揮発性記憶装置を提供する。すなわち、大容量記憶装置1107は、ハードディスクまたはCD-ROM(Compact Disk Read-Only Memory)ドライブなどのコンピュータ可読媒体(図示せず)を含み得る。
一般性を失うことなく、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含み得る。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術によって実装された、揮発性および不揮発性、並びに取り外し可能および取り外し不可能な媒体を含む。コンピュータ記憶媒体には、RAM、ROM、EPROM(Erasable Programmable Read-Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュメモリ、またはその他のソリッドステートストレージ技術、CD-ROM、DVD(Digital Versatile Disc)、またはその他の光ストレージデバイス、テープカセット、磁気テープ、ディスクストレージ、またはその他の磁気ストレージデバイスが含まれる。当業者は、コンピュータ記憶媒体が上記のものに限定されないことを理解するであろう。前述のシステムメモリ1104および大容量記憶装置1107は、まとめてメモリと呼ばれることがある。
本開示の様々な実施形態によれば、コンピュータデバイス1100は更に、インターネットなどのネットワークを介してネットワークに接続されたリモートコンピュータによって操作され得る。すなわち、コンピュータデバイス1100は、システムバス1105に接続されたネットワークインターフェースユニット1111によってネットワーク1112に接続されてもよく、ネットワークインターフェースユニット1111によって他のタイプのネットワークまたはリモートコンピュータシステム(図示せず)に接続されてもよい。
メモリは更に、1つまたは複数のプログラムを記憶しており、メモリに記憶された1つまたは複数のプログラムは、CPU1101によって実行されると、図7または図8に示した方法のステップの全部または一部をCPU1101に実行させる。
当業者は、上記の1つまたは複数の実施例において、本開示の実施形態で説明された機能が、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせによって実装され得ることを理解するであろう。機能がソフトウェアで実装される場合、それらはコンピュータ可読媒体に記憶されてもよく、またはコンピュータ可読媒体上の1つまたは複数の命令またはコードとして送信されてもよい。コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体が含まれ、ここで、通信媒体には、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体が含まれ、記憶媒体は、汎用または専用のコンピュータによってアクセスされ得る任意の利用可能な媒体であってもよい。
本開示の一実施形態は、少なくとも1つの命令、少なくとも1つのプログラム、コードセット、または命令セットを記憶した非一時的コンピュータ可読記憶媒体を更に提供する。少なくとも1つの命令、少なくとも1つのプログラム、コードセット、または命令セットは、コンピュータデバイスのプロセッサによってロードおよび実行されると、IoTにおいてサブスクリプションデータをプッシュするための方法をコンピュータデバイスに実行させる。例えば、コンピュータ可読記憶媒体は、ROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、光データ記憶装置などであり得る。
本開示の他の実施形態は、明細書および本開示の実施を考慮すれば、当業者には明らかである。本開示は、本開示の一般原則に従った本開示の任意の変形、使用、または適応をカバーし、本明細書に開示されていない公知または一般的に使用される技術的手段を含むことを意図している。明細書および実施形態は、単なる例示として考慮されるべきであり、本開示の範囲および精神は、添付の特許請求の範囲に従うものである。
本開示は、上記で説明し、添付の図面に示した正確な構造に限定されず、その範囲から逸脱することなく、様々な修正および変更を行うことができることを理解されたい。本開示の範囲は、添付の特許請求の範囲によってのみ限定されることを意図している。

Claims (10)

  1. モノのインターネットにおいてサブスクリプションデータをプッシュするための方法であって、サブスクリプションサーバによって実行される方法において、
    サブスクリプション条件セットの受信に応じて、前記サブスクリプション条件セットを解析して第1の属性セットを得ること、ここで、前記第1の属性セットには、少なくとも1つの属性要素セットが含まれ、前記サブスクリプション条件セットには、少なくとも1つのサブスクリプション条件が含まれ、
    デバイスデータを取得すること、ここで、前記デバイスデータは、前記サブスクリプションサーバに記憶されており、
    前記デバイスデータを解析して第2の属性セットを得ること、ここで、前記第2の属性セット内の各属性要素は、前記第1の属性セット内の属性要素セットと同じタイプであり、
    前記第1の属性セット内の属性要素セットをフィルタ条件として、前記第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行すること、
    前記第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が前記第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、前記第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止すること、
    前記デバイスデータを取得するステップに戻ること、
    を含むことを特徴とする方法。
  2. 請求項1に記載の方法において、
    前記第1の属性セット内の属性要素セットをフィルタ条件として、前記第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行することは、
    前記第1の属性セット内の各属性要素の属性値に対してそれぞれハッシュ演算を実行することによって、前記第1の属性セット内の属性要素セットに対応するバイナリベクトルセットを取得すること、
    前記第2の属性セット内の各属性要素の属性値に対してそれぞれハッシュ演算を実行することによって、前記第2の属性セット内の各属性要素に対応するバイナリベクトルを取得すること、
    前記第1の属性セット内の属性要素セットに対応するバイナリベクトルセットと、前記第2の属性セット内の各属性要素に対応するバイナリベクトルとを所定のマッチング順序でマッチングすること、
    を含み、
    前記第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が前記第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、前記第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止することは、
    前記第2の属性セット内の各属性要素に対応する各バイナリベクトルのうちの1つが前記第1の属性セット内の各属性要素に対応する各バイナリベクトルセットのうちの1つとのマッチングに失敗した場合に、前記第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止すること、
    を含むことを特徴とする方法。
  3. 請求項1に記載の方法において、
    サブスクリプション条件の数が1つの場合、
    前記方法は更に、
    前記第2の属性セット内の各属性要素のブルームフィルタリング結果が前記第1の属性セット内の属性要素セットとの対応マッチングを示す場合に、前記デバイスデータをクライアントに送信するように構成され、ここで、前記クライアントは、前記サブスクリプション条件を送信する端末である、
    を含むことを特徴とする方法。
  4. 請求項1に記載の方法において、
    サブスクリプション条件の数が1つより多い場合、
    前記方法は更に、
    前記第2の属性セット内の各属性要素のブルームフィルタリング結果が前記第1の属性セット内の属性要素セットとの対応マッチングの成功を示す場合に、マッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差させることによって、統合サブスクリプション条件を取得すること、
    前記統合サブスクリプション条件に対応する属性セットを前記第2の属性セットとマッチングすることによって、マッチング結果を取得すること、
    前記第2の属性セットが前記統合サブスクリプション条件に対応する属性セットとのマッチングに成功したことを示すマッチング結果に応じて、前記デバイスデータをクライアントに送信すること、
    を含むことを特徴とする方法。
  5. 請求項4に記載の方法において、
    前記第2の属性セット内の各属性要素のブルームフィルタリング結果が前記第1の属性セット内の属性要素セットとの対応マッチングの成功を示す場合に、マッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差させることによって、統合サブスクリプション条件を取得することは、
    前記第1の属性セット内の属性要素セットに対応するバイナリベクトルセットが前記第2の属性セット内の各属性要素に対応するバイナリベクトルとのマッチングに成功した場合に、前記第1の属性セット内のマッチングに成功した各属性要素に対応する各サブスクリプション条件セットを交差させることによって、前記統合サブスクリプション条件を取得すること、
    を含むことを特徴とする方法。
  6. 請求項1~請求項5のいずれかに記載の方法において、
    前記第1の属性セット内の属性要素セットは、モデル、デバイス、測定ポイントのうちの少なくとも1つである、
    ことを特徴とする方法。
  7. モノのインターネットにおいてサブイメージデータをプッシュするための装置であって、サブスクリプションサーバに適用可能な装置において、
    サブスクリプション条件セットの受信に応じて、前記サブスクリプション条件セットを解析して第1の属性セットを得るように構成された、第1の解析モジュールと、ここで、前記第1の属性セットには、少なくとも1つの属性要素セットが含まれ、前記サブスクリプション条件セットには、少なくとも1つのサブスクリプション条件が含まれ、
    デバイスデータを取得するように構成された、取得モジュールと、ここで、前記デバイスデータは、前記サブスクリプションサーバに記憶されており、
    前記デバイスデータを解析して第2の属性セットを得るように構成された、第2の解析モジュールと、ここで、前記第2の属性セット内の各属性要素は、前記第1の属性セット内の属性要素セットと同じタイプであり、
    前記第1の属性セット内の属性要素セットをフィルタ条件として、前記第2の属性セット内の各属性要素に対して所定の順序で1つずつブルームフィルタリングを実行するように構成された、ブルームフィルタリングモジュールと、
    前記第2の属性セット内の各属性要素のうちの1つのブルームフィルタリング結果が前記第1の属性セット内の対応する属性要素セットとのミスマッチを示す場合に、前記第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止するように構成された、停止モジュールと、
    前記デバイスデータを取得するステップに戻るように構成された、リターンモジュールと、
    を備えたことを特徴とする装置。
  8. 請求項7に記載の装置において、
    前記ブルームフィルタリングモジュールは、
    前記第1の属性セット内の各属性要素の属性値に対してハッシュ演算を実行することによって、前記第1の属性セット内の属性要素セットに対応するバイナリベクトルセットを取得するように構成された、第1の計算サブモジュールと、
    前記第2の属性セット内の各属性要素の属性値に対してそれぞれハッシュ演算を実行することによって、前記第2の属性セット内の各属性要素に対応するバイナリベクトルを取得するように構成された、第2の計算サブモジュールと、
    を備え、
    前記停止モジュールは、前記第2の属性セット内の各属性要素に対応する各バイナリベクトルのうちの1つが前記第1の属性セット内の各属性要素に対応する各バイナリベクトルセットのうちの1つとのマッチングに失敗した場合に、前記第2の属性セット内の他の属性要素に対するブルームフィルタリングを停止するように更に構成される、
    ことを特徴とする装置。
  9. プロセッサと、少なくとも1つの命令、少なくとも1つのプログラム、コードセット、または命令セットを記憶したメモリとを備えたコンピュータデバイスであって、
    前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセット、または前記命令セットは、前記プロセッサによってロードおよび実行されると、請求項1~請求項6のいずれかに定義された、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法を前記プロセッサに実行させる、
    ことを特徴とするコンピュータデバイス。
  10. 少なくとも1つの命令、少なくとも1つのプログラム、コードセット、または命令セットを記憶した非一時的コンピュータ可読記憶媒体であって、
    前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセット、または前記命令セットは、コンピュータデバイスのプロセッサによってロードおよび実行されると、請求項1~請求項6のいずれかに定義された、モノのインターネットにおいてサブスクリプションデータをプッシュするための方法を前記コンピュータデバイスに実行させる、
    ことを特徴とする非一時的コンピュータ可読記憶媒体。
JP2022539032A 2019-12-26 2020-12-22 モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体 Pending JP2022552435A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201911370689.6A CN111026972B (zh) 2019-12-26 2019-12-26 物联网中的订阅数据推送方法、装置、设备及存储介质
CN201911370689.6 2019-12-26
PCT/SG2020/050768 WO2021133251A1 (en) 2019-12-26 2020-12-22 Method and apparatus for pushing subscription data in internet of things, device and storage medium thereof

Publications (1)

Publication Number Publication Date
JP2022552435A true JP2022552435A (ja) 2022-12-15

Family

ID=70214033

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022539032A Pending JP2022552435A (ja) 2019-12-26 2020-12-22 モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体

Country Status (12)

Country Link
US (1) US11856071B2 (ja)
EP (1) EP4081915A4 (ja)
JP (1) JP2022552435A (ja)
KR (1) KR102481162B1 (ja)
CN (1) CN111026972B (ja)
AU (1) AU2020414275A1 (ja)
BR (1) BR112022012662A2 (ja)
CA (1) CA3166090A1 (ja)
CL (1) CL2022001748A1 (ja)
MX (1) MX2022008020A (ja)
WO (1) WO2021133251A1 (ja)
ZA (1) ZA202208274B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111859127A (zh) * 2020-07-13 2020-10-30 海尔优家智能科技(北京)有限公司 消费数据的订阅方法、装置及存储介质
CN114390015A (zh) * 2021-12-08 2022-04-22 天翼物联科技有限公司 一种基于物模型的数据推送系统、方法、设备及存储介质

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958251B2 (en) * 2000-08-04 2011-06-07 Goldman Sachs & Co. Method and system for processing raw financial data streams to produce and distribute structured and validated product offering data to subscribing clients
US7200675B2 (en) * 2003-03-13 2007-04-03 Microsoft Corporation Summary-based routing for content-based event distribution networks
EP2160867B1 (en) * 2007-06-29 2011-08-10 Telefonaktiebolaget LM Ericsson (publ) Method of processing event notifications and event subscriptions
CN101295311B (zh) * 2008-06-17 2011-08-31 浙江大学 一种大规模发布订阅系统的语义匹配算法
US8266506B2 (en) * 2009-04-18 2012-09-11 Alcatel Lucent Method and apparatus for multiset membership testing using combinatorial bloom filters
EP2407900B1 (en) * 2010-07-16 2013-07-03 Google Inc. Batch prospective searching
US8880880B2 (en) * 2011-07-29 2014-11-04 Qualcomm Incorporated Facilitating access control in peer-to-peer overlay networks
US9652511B2 (en) * 2013-03-13 2017-05-16 International Business Machines Corporation Secure matching supporting fuzzy data
CN103561442B (zh) * 2013-11-04 2017-01-04 中国科学院计算机网络信息中心 一种发布/订阅式系统中移动接收者数据传输方法
CN104021216B (zh) * 2014-06-20 2017-05-10 北京邮电大学 消息代理服务器及信息发布订阅方法和系统
JP6090253B2 (ja) * 2014-07-18 2017-03-08 トヨタ自動車株式会社 無線通信システムにおける通信方法、無線通信システム、および無線接続提供装置
US10860604B1 (en) * 2014-12-10 2020-12-08 Amazon Technologies, Inc. Scalable tracking for database udpates according to a secondary index
US10104173B1 (en) * 2015-09-18 2018-10-16 Amazon Technologies, Inc. Object subscription rule propagation
WO2018093351A1 (en) * 2016-11-15 2018-05-24 Intel Corporation Neworking internet of things (iot) devices
US11196623B2 (en) * 2016-12-30 2021-12-07 Intel Corporation Data packaging protocols for communications between IoT devices
KR101837184B1 (ko) 2017-03-13 2018-03-09 (주)세인시스 스마트 기기의 앱 연동이 가능한 p2p 서버를 구비하는 보안용 dvr 시스템 및 그 방법
US20190095448A1 (en) * 2017-09-22 2019-03-28 Microsoft Technology Licensing, Llc System of mobile notification delivery utilizing bloom filters
CN108197138A (zh) * 2017-11-21 2018-06-22 北京邮电大学 在发布/订阅系统中发布信息匹配订阅信息的方法及系统
CN108366096A (zh) * 2018-01-17 2018-08-03 深圳市金立通信设备有限公司 一种信息订阅方法、终端及计算机可读存储介质
CN108566299B (zh) * 2018-04-20 2021-02-19 浪潮集团有限公司 一种物联网云平台终端组管理方法
CN109067878A (zh) * 2018-08-07 2018-12-21 长沙拓扑陆川新材料科技有限公司 一种在物联网中发布-订阅消息的电子设备及方法
CN109862063A (zh) * 2018-11-12 2019-06-07 平安科技(深圳)有限公司 基于mqtt的发布订阅匹配方法、装置及存储介质
USD997952S1 (en) * 2018-12-21 2023-09-05 Streamlayer, Inc. Display screen with transitional graphical user interface
CN110287406A (zh) * 2019-05-21 2019-09-27 深圳壹账通智能科技有限公司 渠道用户推荐方法、服务器及计算机可读存储介质
CN110245191B (zh) * 2019-06-18 2021-07-02 政采云有限公司 数据处理方法及装置
CN110413927B (zh) * 2019-07-24 2021-10-15 上海交通大学 在发布订阅系统中基于匹配实时性的优化方法及系统
US10791421B1 (en) * 2019-09-03 2020-09-29 Cox Communications, Inc. Hyper-localization based edge-converged telemetry

Also Published As

Publication number Publication date
AU2020414275A1 (en) 2022-07-21
CN111026972A (zh) 2020-04-17
KR20220108190A (ko) 2022-08-02
EP4081915A4 (en) 2023-01-18
WO2021133251A1 (en) 2021-07-01
CA3166090A1 (en) 2021-07-01
US20220400164A1 (en) 2022-12-15
US11856071B2 (en) 2023-12-26
CL2022001748A1 (es) 2022-11-25
EP4081915A1 (en) 2022-11-02
CN111026972B (zh) 2023-07-28
MX2022008020A (es) 2022-10-07
KR102481162B1 (ko) 2022-12-26
BR112022012662A2 (pt) 2022-09-06
ZA202208274B (en) 2023-03-29

Similar Documents

Publication Publication Date Title
US11645471B1 (en) Determining a relationship recommendation for a natural language request
CN108989397B (zh) 数据推荐方法、装置及存储介质
CN108259598B (zh) 一种基于异构融合及云解析技术的感知设备统一接入方法
CN108268529B (zh) 一种基于业务抽象和多引擎调度的数据汇总方法和系统
EP3480704A1 (en) Method and apparatus for information interaction
US11330035B2 (en) Method and server for HTTP protocol-based data request
JP2022552435A (ja) モノのインターネットにおいてサブスクリプションデータをプッシュするための方法および装置、並びにそれらのデバイスおよび記憶媒体
CN110781180B (zh) 一种数据筛选方法和数据筛选装置
US20170032052A1 (en) Graph data processing system that supports automatic data model conversion from resource description framework to property graph
US20210397646A1 (en) Method, electronic device, and storage medium for processing visual data of deep model
CN108959294B (zh) 一种访问搜索引擎的方法和装置
US20220350685A1 (en) Data distribution system and data distribution method
CN115333943B (zh) 确定性网络资源配置系统、方法、设备及存储介质
CN111917848A (zh) 基于边缘计算和云计算协同的数据处理方法及云服务器
US11997168B2 (en) Connecting devices for communication sessions
US11526926B2 (en) Service data processing method and device
US20200241946A1 (en) Graphical management of big data pipelines
Fan [Retracted] Mobile Internet of Things Dynamic Grid QoS Service Matching Mechanism and Simulation Analysis
CN109960695A (zh) 云计算系统中数据库的管理方法和装置
US9984136B1 (en) System, method, and program product for lightweight data federation
US20230027581A1 (en) System and method for selecting a tax return from multiple tax return processors
US20240119383A1 (en) Centralized orchestration of workflow component executions across software services
CN118013125A (zh) 信息查询方法、装置、电子设备、存储介质和程序产品
CN116431343A (zh) 联邦计算方法、装置、设备以及存储介质
CN117011035A (zh) 一种基于区块链网络的资产管理方法、装置及相关设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220929

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230124

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230622

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20231108

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20231127

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20231208