JP6373489B2 - カスケーディングスタイルシートファイルの圧縮 - Google Patents

カスケーディングスタイルシートファイルの圧縮 Download PDF

Info

Publication number
JP6373489B2
JP6373489B2 JP2017513126A JP2017513126A JP6373489B2 JP 6373489 B2 JP6373489 B2 JP 6373489B2 JP 2017513126 A JP2017513126 A JP 2017513126A JP 2017513126 A JP2017513126 A JP 2017513126A JP 6373489 B2 JP6373489 B2 JP 6373489B2
Authority
JP
Japan
Prior art keywords
selector
property
css file
value
compressed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017513126A
Other languages
English (en)
Other versions
JP2017532655A (ja
Inventor
ハオ,リシン
Original Assignee
アリババ グループ ホウルディング リミテッド
アリババ グループ ホウルディング リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アリババ グループ ホウルディング リミテッド, アリババ グループ ホウルディング リミテッド filed Critical アリババ グループ ホウルディング リミテッド
Priority claimed from PCT/US2015/055590 external-priority patent/WO2016061269A1/en
Publication of JP2017532655A publication Critical patent/JP2017532655A/ja
Application granted granted Critical
Publication of JP6373489B2 publication Critical patent/JP6373489B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/146Coding or compression of tree-structured data
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound
    • H03M7/707Structured documents, e.g. XML

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

背景
分野
本出願は、コンピュータ技術の分野に関し、より具体的には、ネットワーク通信のためのデータ圧縮の方法およびシステムに関する。
関連技術
コンピュータおよびネットワーク技術の進歩と共に、異なるアプリケーションからユーザによって実行される様々な動作は、ウェブサービスへの広範囲に及ぶアクセスをもたらす。例えば、複数のユーザが、異なるプラットフォーム上で実行しているモバイルアプリケーションや、異なるオペレーティングシステムの異なるブラウザ上で実行しているウェブインタフェースなどの異なるアプリケーションを介して、電子商取引ウェブサイト上で同時に買い物をする場合がある。ウェブサービスをホストするサーバは、異なるユーザに対応する買い物用のウェブページを提示し、それにより、電子商取引サービスを促進する。
しかし、異なるアプリケーションによるシステムへの同時アクセスは、ユーザ活動数を増加させ、その結果、サーバからのウェブページへのアクセス量が増大する。大多数のこれらのウェブページは、カスケーディングスタイルシート(CSS)を使用して表すことができる。CSSファイルは、クライアントデバイスのブラウザのウェブページに対する提示スタイルを提供するために、通常、ウェブページと共にネットワーク上で送信される。CSSファイルは、通常、テキストフォーマットである。CSSファイルが圧縮されれば、CSSファイルのサイズはより小さくなる。その結果、圧縮済みCSSファイルは、ネットワーク上でより効率的に送信することができる。
CSSファイル圧縮に対して多くの方法が利用可能であるが、依然として、CSSファイルの広範囲に及ぶ圧縮における問題がいくつか残っている。
概要
本発明の一実施形態は、カスケーディングスタイルシート(CSS)ファイルの圧縮を容易にするためのシステムを提供する。動作の間、システムは、CSSファイルをローカル記憶装置に格納し、CSSファイルのマージパラメータを識別する。マージパラメータは、繰り返されるセレクタ、セレクタの繰り返されるプロパティ、および異なるセレクタのプロパティの同じ値のうちの1つであり得る。次いで、システムは、マージパラメータに対してマージ条件が満たされているかどうかを判断し、圧縮済みマージパラメータを得るために、CSSファイルのマージパラメータをマージする。マージ条件は、マージパラメータのマージがCSSファイルのオリジナルのスタイルと一致しているかどうかを示す。
この実施形態の変形形態では、システムは、圧縮済みマージパラメータの長さに基づいて、圧縮済みマージパラメータが有効であるかどうかを判断する。
この実施形態の変形形態では、システムは、第1のセレクタと第2のセレクタが隣接しているかどうかを判断することによって、マージ条件が満たされているかどうかを判断する。第1のセレクタと第2のセレクタが隣接していない場合は、システムは、第1のセレクタと第2のセレクタとの間の第3のセレクタが第1および第2のセレクタに含まれるプロパティを含むかどうかを判断する。
さらなる変形形態では、システムは、プロパティが次の、すなわち、(i)第1、第2および第3のセレクタの同じ値、ならびに、(ii)第1、第2および第3のセレクタの異なる優先順位のうちの1つまたは複数を有するかどうかを判断することによって、マージ条件が満たされているかどうかをさらに判断する。
この実施形態の変形形態では、システムは、(i)マージパラメータのプロパティの後値はプロパティの前値を上書きし、後値は等しいまたはより高い優先順位を有する、あるいは、(ii)プロパティの前値はプロパティの後値を上書きし、前値はより高い優先順位を有すると判断することによって、マージ条件が満たされているかどうかを判断する。
この実施形態の変形形態では、システムは、セレクタのプロパティの第2の値を除去することによって、マージパラメータをマージする。第2の値は、(i)第1の値の前に現れること、(ii)第1の値より低い優先順位を有すること、または、(iii)第1の値との上書き関係を有することができる。
この実施形態の変形形態では、システムは、CSSファイルのセレクタおよび対応するプロパティをテーブルで表し、テーブルにおいてそれぞれのプロパティに対する共通エリアを決定する。
さらなる変形形態では、システムは、テーブルにおいてプロパティに対する現在の最大共通エリアを識別し、共通因子として当該プロパティを抽出し、当該プロパティを含むそれぞれのセレクタにわたって共通因子をマージする。
この実施形態の変形形態では、システムは、複数の圧縮済みマージパラメータに基づいて、圧縮済みCSSファイルを生成する。
この実施形態の変形形態では、システムは、圧縮に備えて、CSSファイルのすべてのセレクタのプロパティをアルファベット順に組織化することによって、CSSファイルを準備する。
図面の簡単な説明
本明細書に組み込まれ、本明細書の一部を構成する本明細書の添付の図面は、本出願のいくつかの例示的な実施形態を示し、説明と共に、本出願を示す上で役立つものであり、本出願を制限するものではないと解釈する。
本出願の実施形態による、ネットワーク全域での例示的な圧縮済みCSSファイル送信を示す。 本出願の実施形態による、例示的なCSSファイル圧縮強化プロセスを示す。 本出願の実施形態による、データ圧縮システムのCSSファイル圧縮強化プロセスを示すフローチャートを提示する。 本出願の実施形態による、CSSファイル圧縮強化のためのデータ圧縮システムの検証プロセスを示すフローチャートを提示する。 本出願の実施形態による、CSSファイル圧縮強化のためのデータ圧縮システムの上書き検証プロセスを示すフローチャートを提示する。 本出願の実施形態による、CSSファイル圧縮強化のための共通因子の例示的なグラフ選択を示す。 本出願の実施形態による、共通因子に基づくデータ圧縮システムのCSSファイル圧縮強化プロセスを示すフローチャートを提示する。 本出願の実施形態による、例示的なデータ圧縮システムの概略構造図である。
図中、同様の参照番号は、同じ図要素を指す。
詳細な説明
本発明の実施形態は、圧縮完全性を保証しながら、CSSファイルの繰り返されるセレクタ、繰り返されるプロパティおよび値をマージすることによって、CSSファイルを効率的に圧縮する問題を解決する。この方法では、CSSファイルの圧縮強化により、サイズはより小さくなり、より小さくなったサイズは、ネットワーク上で好都合に送信される。
既存の技術では、CSSファイルの圧縮は、ファイルのサイズを低減するために、CSSファイルのマージン、注釈および繰り返される文字を除去する。その上、いくつかのコンプレッサは、無効な文字を除去することもできる。しかし、そのような圧縮は、CSSファイルのセレクタ内でおよびCSSファイルのセレクタにわたって、冗長性をそれほど低減しない。特に、CSSファイルの前処理は、直接圧縮することができない大量の冗長CSSコードを生成し得る。ネットワーク全域でのそのようなCSSファイルの送信は、非効率的となる。
この問題を解決するため、本発明の実施形態は、CSSファイルの圧縮強化を容易にするためのシステムを提供する。システムは、繰り返されるセレクタ(例えば、同じセレクタの多重宣言)をマージし、同じセレクタの繰り返されるプロパティを除去することによって、CSSファイルを圧縮する。次いで、システムは、同じセレクタの上書きスタイルの記載(例えば、プロパティの上書き値)を除去し、同じプロパティを含むセレクタを統合する。システムは、さらに、共通因子を抽出してマージする。これらの5つのステップは、以前のステップに基づいてそれぞれのステップを実行すべきであるため、順次的なものであり得ることに留意すべきである。
図1Aは、本出願の実施形態による、ネットワーク全域での例示的な圧縮済みCSSファイル送信を示す。この例では、CSSファイル圧縮のためのデータ圧縮システム102は、サーバ112でのCSSファイル122の圧縮強化のために、サーバ112に配備される。サーバ112は、CSSファイルをローカル記憶装置に格納することができる。CSSファイル122は、クライアントデバイス114のブラウザのウェブページ130に対する提示スタイルを提供するために、ウェブページ130と共に、ネットワーク150(例えば、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット)上で送信されると仮定する。提示スタイルは、ブラウザにおいてウェブページ130がどのようにユーザ101に提示されるかを決定する。
既存の技術では、圧縮技法は、ネットワーク150上での送信前にCSSファイル122に適用される。通常、CSSファイル122の圧縮は、CSSファイル122のマージン、注釈、繰り返されるおよび無効な文字の除去を含む。しかし、そのような圧縮は、CSSファイル122のセレクタ内でおよびCSSファイル122のセレクタにわたって、冗長性をそれほど低減しない。従って、ネットワーク150全域でのCSSファイル122の送信は、非効率的となる。この問題を解決するため、システム102は、CSSファイル122を圧縮して、圧縮済みCSSファイル124を生成する。いくつかの実施形態では、システム102は、圧縮に備えて、すべてのセレクタのプロパティをアルファベット順に組織化することによって、CSSファイルを準備する。また、サーバ112は、圧縮済みCSSファイル124をローカル記憶装置に格納する。クライアントデバイス114がウェブページ130を要求する際は常に、サーバ112は、ネットワーク150上でクライアントデバイス114に圧縮済みCSSファイル124を送信する。
図1Bは、本出願の実施形態による、例示的なCSSファイル圧縮強化プロセスを示す。システム102は、多くのステップに基づいて圧縮済みCSSファイル124を生成する。強化された圧縮プロセスの間、システム102は、繰り返されるセレクタをマージする(動作S152)。例えば、.a{margin:0}.a{padding:0}のセレクタは同じである。従って、それらのセレクタは、.a{margin:0;padding:0}としてマージすることができる。また、システム102は、同じセレクタの同じプロパティの繰り返される値の割り当てを除去する(動作S154)。プロパティ「margin」の値が.a{margin:0;margin:1px}で繰り返されているため、システム102は、そのプロパティ「margin」を.a{margin:1px}として圧縮する。次いで、システム102は、同じセレクタ内の同じプロパティの上書き値の割り当て(例えば、プロパティの上書き値)を除去する(動作S156)。例えば、「background」は「background-color」も含むため、.a{background-color:#FFF; background:#000 url(xxx.jpg)}は、.a{background:#000 url(xxx.jpg)}として圧縮することができる。
システム102は、同じプロパティの同じ値の割り当てを含むセレクタを統合する(動作S158)。プロパティ「margin」および「color」は、.a{margin:0;color:#000} .b{margin:0;color:#000}において同じ値を有する。従って、セレクタ.aおよび.bは、.a,.b{margin;0;color:#000}としてマージすることができる。システム102は、さらに、CSSファイル122の共通因子を抽出してマージする(動作S160)。例えば、システム102は、.a{margin:0;padding:0} .b{margin:0;padding:1}から共通因子「margin」を抽出し、それらを.a,.b{margin:0}.a{padding:0}.b{padding:1}としてマージすることができる。このように、システム102は、圧縮済みCSSファイル124を生成する。
図2Aは、本出願の実施形態による、データ圧縮システムの強化されたCSSファイル圧縮プロセスを示すフローチャートを提示する。動作の間、システムは、CSSファイルの候補マージパラメータを識別する(動作S201)。CSSファイルは、圧縮されていないオリジナルのいかなるCSSファイルでもあり得る。また、CSSファイルは、従来の圧縮方法を使用して圧縮されている圧縮済みCSSファイルでもあり得る(例えば、マージン、注釈文字、無効なおよび繰り返される文字は除去されている可能性がある)。動作S201では、システムは、CSSファイルでマージできるパラメータを決定する。パラメータは、CSSファイルにおいて繰り返し存在している要素である。
パラメータは、繰り返されるセレクタ、セレクタの繰り返されるプロパティ、または異なるセレクタのプロパティの同じ値であり得る。例えば、.a{margin:0}.b{padding:0}.a{padding:0}は、繰り返されるセレクタ.aを含む。従って、セレクタ.aは、候補マージパラメータとして識別することができる。他方では、.a{margin:0;margin:1px}は、繰り返されるプロパティ「margin」をセレクタ.aに含む。その上、.a{margin:0;padding:0}.b{margin:0;padding:1}は、プロパティ「margin」の同じ値をセレクタ.aおよび.bに含む。同様に、.a{margin:0;padding:0;color:#FFF;padding:1}.b{margin:0;padding:1}.a{margin:0;padding:1;color:#FFF}は、同じプロパティ「padding」を含む同じセレクタ.aを含み、セレクタ.aおよび.bは、プロパティ「margin」および「padding」の同じ値0および1をそれぞれ含む。
次いで、システムは、マージ条件が満たされているかどうかをチェックする(動作S202)。マージ条件は、マージパラメータのマージがオリジナルのCSSファイルのオリジナルのスタイル(すなわち、プロパティのオリジナルの値)と一致しているかどうかを判断するために使用される。一致している場合は、マージ条件は満たされている。マージ条件が満たされている場合は、システムは、CSSファイルの識別されたマージパラメータをマージし(動作S203)、すべてのパラメータを調べたかどうかをチェックする(動作S204)。マージ条件が満たされていない場合もまた、システムは、すべてのパラメータを調べたかどうかをチェックする(動作S204)。すべてのパラメータを調べたわけではない場合は、システムは、CSSファイルの候補マージパラメータを識別する(動作S201)ことを続行する。いくつかの実施形態では、システムは、マージされたセレクタの長さが長くなったか否かもチェックすることができる。マージされたセレクタの長さが長くなった場合は、システムは、マージャを処分することができる。例えば、セレクタが.aaaaaaaaa{margin:0;padding:0}.bbbbbbbbbb{margin:0;padding:1}においてマージされる場合は、得られるセレクタは、より長い名称.aaaaaaaaa,.bbbbbbbbbb{margin:0}.aaaaaaaaa{padding:0}.bbbbbbbbbb{padding:1}を有する。長さが長くなったため、システムは、マージャを処分する。
すべてのパラメータを調べた場合は、システムは、マージされたパラメータに基づいて圧縮済みCSSファイルを得る(動作S205)。次いで、システムは、圧縮済みCSSファイルがオリジナルのCSSファイルより低減されたファイル長さを有するかどうかをチェックする(動作S206)。圧縮済みCSSファイルが低減されたファイル長さを有する場合は、システムは、圧縮済みCSSファイルを使用する(動作S207)。そうでなければ、システムは、圧縮済みCSSファイルを処分し、オリジナルのCSSファイルを使用する(動作S208)。それぞれのマージ動作の後にシステムが長さをチェックする場合、圧縮済みCSSファイルは、より大きなファイルサイズを有さない可能性があることに留意すべきである。
図2Bは、本出願の実施形態による、CSSファイル圧縮強化のためのデータ圧縮システムの検証プロセスを示すフローチャートを提示する。検証プロセスは、候補マージパラメータに対するマージ条件が満たされているかどうかを判断する。システムは、2つのセレクタAおよびBが互いに隣接しているかどうかを判断する(動作S221)。例えば、.a{margin:0}.a{padding:0}において、2つのセレクタは互いに隣接している。他方では、.a{margin:0}.b{padding:1px}.a{padding:0}において、セレクタ.aは互いに隣接していない。
AとBが隣接していない(動作S222)場合は、システムは、中間セレクタCがセレクタAおよびBと同じプロパティを含むかどうかを判断する(動作S223)。中間セレクタCに含まれるプロパティが、セレクタAおよびBのプロパティと異なる場合は、セレクタAおよびBのマージは、セレクタCのプロパティに影響を及ぼすことはなく、マージ条件は満たされている。セレクタCが、セレクタAには含まれるがセレクタBには含まれないプロパティを含む場合は、セレクタBをセレクタAとマージしても、中間セレクタCには影響が及ばない。同様に、セレクタCが、セレクタBには含まれるがセレクタAには含まれないプロパティを含む場合は、セレクタAをセレクタBとマージしても、中間セレクタCには影響が及ばない。これらの2つの状況下では、マージ条件は満たされている。
セレクタが同じプロパティを有する(動作S224)場合は、システムは、セレクタA、BおよびCのプロパティが同じ値を有するかどうかをチェックする(動作S225)。プロパティが同じ値を有さない(動作S226)場合は、システムは、プロパティがセレクタCにおいてセレクタAおよびBとは異なる優先順位を有するかどうかをチェックする(動作S227)。プロパティが異なる優先順位を有さない(動作S228)場合は、システムは、マージ条件が満たされていないと判断する(動作S230)。セレクタAとBが隣接している(動作S222)場合、セレクタCがセレクタAおよびBとは同じプロパティを有さない(動作S224)場合、セレクタA、BおよびCのプロパティが同じ値を有する(動作S226)場合、または、セレクタCのプロパティが異なる優先順位を有する(動作S228)場合は、システムは、マージ条件が満たされていると判断する(動作S230)。
例えば、.a{margin:0;padding:1}.b{padding:1px}.a{padding:0}において、それぞれのセレクタは、プロパティ「padding」を含むが、値は異なる。従って、システムは、マージ条件が満たされていないと判断する。他方では、.a{margin:0;padding:1 }.b{padding:1px !important}.a{padding:0}、.a{margin:0;padding:1 }.b{padding:1px }.a{padding:0 !important}または.a{margin:0;padding:1 !important}.b{padding:1px }.a{padding:0}において、中間セレクタのプロパティ「padding」は異なる優先順位を有する。従って、システムは、マージ条件が満たされていると判断する。
CSSファイル122では、同じプロパティの値が同じ優先順位を有する場合は、圧縮済みCSSファイルを得るために、後値は、前値を上書きする。プロパティの値が異なる優先順位を有する場合は、圧縮済みCSSファイルを得るために、より高い優先順位を有する値は、より低い優先順位を有する値を上書きする。図2Cは、本出願の実施形態による、CSSファイル圧縮強化のためのデータ圧縮システムの上書き検証プロセスを示すフローチャートを提示する。動作の間、システムは、同じセレクタ内で異なる値を有するプロパティを識別する(動作S241)。
次いで、システムは、後値が前値を上書きするかどうかをチェックする(動作S242)。後値が前値を上書きする場合は、システムは、後値の方が高い優先順位を有するかどうかをチェックする(動作S243)。そうでなければ、システムは、前値の方が高い優先順位を有するかどうかをチェックする(動作S244)。後値が、前値を上書きし、より高い優先順位を有する場合は、システムは、マージ条件が満たされていると判断する(動作S246)。同様に、前値が、後値を上書きし、より高い優先順位を有する場合は、システムは、マージ条件が満たされていると判断する(動作S246)。そうでなければ、システムは、マージ条件が満たされていないと判断する(動作S245)。
同じセレクタのプロパティ間で上書き関係がない場合は、マージ条件は満たされていることに留意すべきである。そうでなければ、プロパティの値が同じ優先順位を有する場合は、後値は前値を直接上書きすることができる。例えば、.a{margin:0;margin:1px}は、.a{margin:1px}として直接マージすることができる。ここでは、.a{margin:1px}は、圧縮済みマージパラメータと見なすことができる。同じプロパティの値が異なる優先順位を有する場合は、より高い優先順位を有する値は、より低い優先順位を有する値を上書きする。例えば、.a{margin:0 !important;margin:1px}は、.a{margin:0 !important}としてマージすることができるか、または、.a{margin:0;margin:1px !important }は、.a{ margin:1px !important}としてマージすることができる。
後値が前値を上書きし、後値が前値と同じまたはより高い優先順位を有する場合は、マージ条件は満たされている。この事例では、後値が、マージのために前値を上書きする。例えば、.a{background-color:#FFF;background:#000 url(xxx.jpg)}は、.a{background:#000 url(xxx.jpg)}としてマージされる。他方では、前値が後値を上書きし、前値が後値より高い優先順位を有する場合は、マージ条件は満たされている。この事例では、より高い優先順位を有する前値が後値を上書きする。例えば、.a{ background:#000 url(xxx.jpg) !important; background-color:#FFF }は、.a{ background:#000 url(xxx.jpg) !important }としてマージされる。
いくつかのシナリオでは、マージ決定は複雑であり得る。例えば、.a{margin:0;padding:0;color:#FFF}.b{margin:0;padding:1;color:#FFF}.c{margin:0;padding:1;color:#000}において、3つのセレクタの各々は、同じ値および異なる値を有する同じプロパティを有する。すべての可能性を注意深く検討し、すべての結果を計算してそれぞれの長さを比較すれば、最も短いマージされたセレクタを選択することができる。しかし、n個のセレクタおよびm個のプロパティがあれば、n!m!の可能性がある。そのような広範囲に及ぶ演算は、実際には、実現可能ではない場合がある。この問題を解決するため、本発明の実施形態は、共通因子の選択のためのグラフ選択アルゴリズムを提供する。
図3Aは、本出願の実施形態による、CSSファイル圧縮強化のための共通因子の例示的なグラフ選択を示す。n個のセレクタ302、304および306(例えば、セレクタ.a、.b、.cのそれぞれ)ならびにm個のプロパティ312、314および316(例えば、プロパティ「margin」、「padding」、「color」のそれぞれ)があると仮定する。グラフ選択アルゴリズムは、n個の行とm個の列を有する二次元テーブル300を生成する。動作の間、システムは、最初に、マージを最大化するプロパティを選択する。言い換えれば、システムは、共通エリア(例えば、プロパティに対する同じ値を有するグリッドの数)を最大化するプロパティを選択する。
テーブル300では、プロパティ312の値は、それぞれのセレクタに対して同じである。従って、プロパティ312に対してマージできるグリッドの数は3である。従って、システムは、プロパティ312に対する共通エリアを3と決定する。同じように、システムは、プロパティ314および316に対する共通エリアを2および2のそれぞれに決定する。テーブル300を使用するグラフ選択プロセスの間、システムは、最初に、共通エリアが3である列を選択し、対応する共通因子(すなわち、対応するプロパティ)を抽出する。システムは、それぞれのセレクタに対する共通因子をマージする。図3Aの例では、共通因子「margin」の抽出およびマージにより、.a,.b,.c{margin:0}が得られる。
次いで、システムは、共通エリアが2である列を選択してマージする。2つの列が同じ共通エリアを有するため、マージのためにどちらを選択してもよい(例えば、ランダム選択)。テーブル300の一連のグリッドがマージされた時点で、それらのグリッドは、さらなる計算において除外される。図2Bと併せて説明されるように、グリッドのマージャは検証を必要とすることに留意すべきである。マージャの後、共通因子の長さが低減されていない場合は、共通因子に対する抽出は実行されない。図3Aの例では、グラフ選択アルゴリズムを使用する共通因子の抽出およびマージにより、a,.b,.c{margin:0}.a,.b{color:#FFF}.a{padding:0}.b,.c{padding:1}.c{color:#000}が得られる。ここでは、長さは、21文字低減される。
図3Bは、本出願の実施形態による、共通因子に基づくデータ圧縮システムの強化されたCSSファイル圧縮プロセスを示すフローチャートを提示する。動作の間、システムは、図3Aと併せて説明されるように、グラフ表現(例えば、テーブル)からCSSファイルの各プロパティに対する共通エリアを計算する(動作S351)。システムは、最大共通エリアを有する、マージされていないプロパティを識別する(動作S352)。次いで、システムは、マージ条件が満たされているかどうかをチェックする(動作S353)。マージ条件は、マージパラメータのマージがオリジナルのスタイルと一致しているかどうかを判断するために使用される。それらが一致している場合は、マージ条件は満たされている。いくつかの実施形態では、マージ条件は、マージ時の長さの低減も含み得る。
マージ条件が満たされている場合は、システムは、CSSファイルの識別されたプロパティをマージし(動作S354)、グラフ表現のすべてのプロパティを調べたかどうかをチェックする(動作S355)。マージ条件が満たされていない場合は、システムは、すべてのプロパティを調べたかどうかをチェックする(動作S355)。すべてのパラメータを調べたわけではない場合は、システムは、最大共通エリアを有する次のプロパティに進む(動作S352)。すべてのパラメータを調べた場合は、システムは、マージされたプロパティに基づいて圧縮済みCSSファイルを得る(動作S356)。次いで、システムは、圧縮済みCSSファイルがオリジナルのCSSファイルより低減されたファイル長さを有するかどうかをチェックする(動作S357)。圧縮済みCSSファイルが低減されたファイル長さを有する場合は、システムは、圧縮済みCSSファイルを使用する(動作S358)。そうでなければ、システムは、圧縮済みCSSファイルを処分し、オリジナルのCSSファイルを使用する(動作S359)。
図4は、本出願の実施形態による、例示的なデータ圧縮システムの概略構造図である。データ圧縮システム400は、CSSファイルを圧縮するために使用することができる。システム400は、プロセッサ410、メモリ420および記憶装置430を含む。記憶装置430は、通常、命令を格納し、命令は、上記で説明される方法を実行するために、メモリ420にロードし、プロセッサ410によって実行することができる。一実施形態では、記憶装置430内の命令は、パラメータ識別モジュール432、評価モジュール434、マージモジュール436およびグラフ選択モジュール438を実装することができ、それらはすべて、様々な手段を通じて互いに連通することができる。
いくつかの実施形態では、モジュール432、434、436および438は、ハードウェアにおいて部分的にまたは全体的に実装することができ、プロセッサ410の一部であり得る。さらに、いくつかの実施形態では、システムは、別々のプロセッサおよびメモリを含まない場合がある。代わりに、それらの特定のタスクを実行することに加えて、モジュール432、434、436および438は、別々にまたは共同で、特殊用途演算エンジンの一部であり得る。
記憶装置430は、プロセッサ410によって実行されるプログラムを格納する。具体的には、記憶装置430は、CSSファイルの強化された圧縮のためのシステム(アプリケーション)を実装するプログラムを格納する。動作の間、アプリケーションプログラムは、記憶装置430からメモリ420にロードし、プロセッサ410によって実行することができる。その結果、システム400は、上記で説明される機能を実行することができる。システム400は、さらに、任意選択のディスプレイ480、キーボード460およびポインティングデバイス470と結合することができ、1つまたは複数のネットワークインタフェースを介してネットワーク482と結合することができる。
動作の間、プロパティ識別モジュール432は、図2Aと併せて説明されるように、CSSファイルのマージパラメータを決定する。マージパラメータは、セレクタ、プロパティ、および異なるプロパティに割り当てられた値を含み得る。評価モジュール434は、決定されたマージパラメータがマージ条件を満たしているかどうかを判断する。マージモジュール436は、圧縮済みCSSファイルを得るために、CSSファイルのマージパラメータをマージする。いくつかの実施形態では、グラフ選択モジュール438は、図3Bと併せて説明されるように、グラフ表現で(例えば、テーブルで)CSSファイルのプロパティを表し、グラフ表現に基づいて、CSSファイルの共通因子を抽出してマージする。
この詳細な説明で説明されるデータ構造およびコンピュータ命令は、通常、コンピュータ可読記憶媒体上に格納され、コンピュータ可読記憶媒体は、コンピュータシステムによる使用のためにコードおよび/またはデータを格納できるいかなるデバイスまたは媒体でもあり得る。コンピュータ可読記憶媒体は、これらに限定されないが、揮発性メモリ、不揮発性メモリ、磁気および光学記憶装置(ディスクドライブ、磁気テープ、CD(コンパクトディスク)、DVD(デジタル多用途ディスクまたはデジタルビデオディスク)など)、または、現在知られているかもしくは後に開発されるコンピュータ可読媒体の格納が可能な他の媒体を含む。
詳細な説明の項目で説明される方法およびプロセスは、コードおよび/またはデータとして具体化することができ、コードおよび/またはデータは、上記で説明されるように、コンピュータ可読記憶媒体に格納することができる。コンピュータシステムがコンピュータ可読記憶媒体上に格納されたコードおよび/またはデータを読み取って実行する際は、コンピュータシステムは、データ構造およびコードとして具体化されてコンピュータ可読記憶媒体内に格納された方法およびプロセスを実行する。
その上、本明細書で説明される方法およびプロセスは、ハードウェアモジュールまたは装置に含めることができる。これらのモジュールまたは装置は、これらに限定されないが、特定用途向け集積回路(ASIC)チップ、フィールドプログラマブルゲートアレイ(FPGA)、特定の時間に特定のソフトウェアモジュールもしくはコード片を実行する専用もしくは共有プロセッサ、および/または、現在知られているかもしくは後に開発される他のプログラム可能論理デバイスを含み得る。ハードウェアモジュールまたは装置が起動されると、ハードウェアモジュールまたは装置は、それらの中に含まれる方法およびプロセスを実行する。
上記の説明は、当業者が実施形態を作成して使用できるように提示され、特定の応用およびその要件の文脈において提供される。開示される実施形態の様々な変更は、当業者には容易に明らかであり、本明細書で定義される一般的な原理は、本開示の精神および範囲から逸脱することなく、他の実施形態および応用に適用することができる。従って、本発明は、示される実施形態に限定されないが、本明細書で開示される原理および特徴と一致する最も広い範囲に添うものとする。

Claims (18)

  1. カスケーディングスタイルシート(CSS)ファイルの圧縮を容易にするための方法であって、
    前記CSSファイルに関連づけられたウェブページをホストするサーバにより、前記CSSファイルの第1のセレクタおよび第2のセレクタの繰り返されるコードを識別することによって、前記第1のセレクタおよび前記第2のセレクタを識別するステップであって、前記繰り返されるコードは前記第1のセレクタおよび前記第2のセレクタのそれぞれに現れる、ステップと、
    前記第1のセレクタおよび前記第2のセレクタが前記CSSファイルにおいて隣接しているかどうかを判断するステップと、
    前記第1のセレクタおよび前記第2のセレクタが隣接していないことに応じて、前記第1のセレクタと前記第2のセレクタとの間の第3のセレクタが前記第1のセレクタおよび前記第2のセレクタに含まれるプロパティを含むかどうかを判断するステップと、
    前記第3のセレクタが前記プロパティを含まないことに応じて、前記第1のセレクタおよび前記第2のセレクタの前記繰り返されるコードをマージすることが、前記ウェブページについて前記CSSファイルのオリジナルのスタイルと同じスタイルを生じさせると判断するステップと、
    圧縮済みCSSファイルを得るために、前記CSSファイルの前記第1のセレクタおよび前記第2のセレクタの前記繰り返されるコードをマージするステップと
    前記ウェブページの要求を受信することに応じて、前記ウェブページおよび前記圧縮済みCSSファイルを含むウェブレスポンスを生成するステップと、
    を含む、方法。
  2. 前記マージされた繰り返されるコードの長さに基づいて、前記圧縮済みCSSファイルが有効であるかどうかを判断するステップをさらに含む、請求項1に記載の方法。
  3. 前記第3のセレクタが前記プロパティを含むことに応じて、前記方法はさらに、
    前記繰り返されるコードが、
    前記第1、第2および第3のセレクタの同じ値
    前記第1、第2および第3のセレクタの異なる優先順位
    のうちの1つまたは複数を有するかどうかを判断するステップをさらに含む、請求項1に記載の方法。
  4. 前記繰り返されるコードのプロパティの後値は前記プロパティの前値を上書きし、前記後値は等しいまたはより高い優先順位を有する、あるいは、
    前記プロパティの前値は前記プロパティの後値を上書きし、前記前値はより高い優先順位を有する
    と判断することに応答して、前記第1のセレクタおよび前記第2のセレクタの前記繰り返されるコードをマージすることが、前記ウェブページについて前記CSSファイルのオリジナルのスタイルと同じスタイルをつくると判断するステップをさらに含む、請求項1に記載の方法。
  5. 前記繰り返されるコードをマージするステップが、プロパティの第2の値を除去するステップを含み、前記第2の値が、第1の値の前に現れるか、前記第1の値より低い優先順位を有するか、または、前記第1の値との上書き関係を有する、請求項1に記載の方法。
  6. 前記CSSファイルのセレクタおよび対応するプロパティをテーブルで表すステップと、
    前記テーブルにおいてそれぞれのプロパティに対する共通エリアを決定するステップとをさらに含む、請求項1に記載の方法。
  7. 前記テーブルにおいてプロパティに対する現在の最大共通エリアを識別するステップと、
    共通因子として前記プロパティを抽出するステップと、
    前記プロパティを含むそれぞれのセレクタにわたって前記共通因子をマージするステップと
    をさらに含む、請求項6に記載の方法。
  8. 複数の、マージされた繰り返されるコードに基づいて、前記圧縮済みCSSファイルを生成するステップをさらに含む、請求項1に記載の方法。
  9. 前記圧縮済みCSSファイルを生成する前に、前記CSSファイルのすべてのセレクタのプロパティをアルファベット順に組織化するステップをさらに含む、請求項1に記載の方法。
  10. プロセッサによって実行されると、ダイナミックロードベースのマージを容易にするための方法を前記プロセッサに実行させる命令を格納する非一時的な記憶媒体であって、前記方法が、
    前記CSSファイルに関連づけられたウェブページをホストするサーバにより、前記CSSファイルの第1のセレクタおよび第2のセレクタの繰り返されるコードを識別することによって、前記第1のセレクタおよび前記第2のセレクタを識別するステップであって、前記繰り返されるコードは前記第1のセレクタおよび前記第2のセレクタのそれぞれに現れる、ステップと、
    前記第1のセレクタおよび前記第2のセレクタが前記CSSファイルにおいて隣接しているかどうかを判断するステップと、
    前記第1のセレクタおよび前記第2のセレクタが隣接していないことに応じて、前記第1のセレクタと前記第2のセレクタとの間の第3のセレクタが前記第1のセレクタおよび前記第2のセレクタに含まれるプロパティを含むかどうかを判断するステップと、
    前記第3のセレクタが前記プロパティを含まないことに応じて、前記第1のセレクタおよび前記第2のセレクタの前記繰り返されるコードをマージすることが、前記ウェブページについて前記CSSファイルのオリジナルのスタイルと同じスタイルを生じさせると判断するステップと、
    圧縮済みCSSファイルを得るために、前記CSSファイルの前記第1のセレクタおよび前記第2のセレクタの前記繰り返されるコードをマージするステップと
    前記ウェブページの要求を受信することに応じて、前記ウェブページおよび前記圧縮済みCSSファイルを含むウェブレスポンスを生成するステップと、
    を含む、非一時的な記憶媒体。
  11. 前記方法が、前記マージされた繰り返されるコードの長さに基づいて、前記圧縮済みCSSファイルが有効であるかどうかを判断するステップをさらに含む、請求項10に記載の非一時的な記憶媒体。
  12. 前記第3のセレクタが前記プロパティを含むことに応じて、前記方法はさらに、
    前記繰り返されるコードが、
    前記第1、第2および第3のセレクタの同じ値
    前記第1、第2および第3のセレクタの異なる優先順位
    のうちの1つまたは複数を有するかどうかを判断するステップをさらに含む、請求項10に記載の非一時的な記憶媒体。
  13. 前記方法が、
    前記繰り返されるコードのプロパティの後値は前記プロパティの前値を上書きし、前記後値は等しいまたはより高い優先順位を有する、あるいは、
    前記プロパティの前値は前記プロパティの後値を上書きし、前記前値はより高い優先順位を有する
    と判断することに応答して、前記第1のセレクタおよび前記第2のセレクタの前記繰り返されるコードをマージすることが、前記ウェブページについて前記CSSファイルのオリジナルのスタイルと同じスタイルをつくると判断するステップをさらに含む、請求項10に記載の非一時的な記憶媒体。
  14. 前記繰り返されるコードをマージするステップが、プロパティの第2の値を除去するステップを含み、前記第2の値が、第1の値の前に現れるか、前記第1の値より低い優先順位を有するか、または、前記第1の値との上書き関係を有する、請求項10に記載の非一時的な記憶媒体。
  15. 前記方法が、
    前記CSSファイルのセレクタおよび対応するプロパティをテーブルで表すステップと、
    前記テーブルにおいてそれぞれのプロパティに対する共通エリアを決定するステップとをさらに含む、請求項10に記載の非一時的な記憶媒体。
  16. 前記方法が、
    前記テーブルにおいてプロパティに対する現在の最大共通エリアを識別するステップと、
    共通因子として前記プロパティを抽出するステップと、
    前記プロパティを含むそれぞれのセレクタにわたって前記共通因子をマージするステップと
    をさらに含む、請求項15に記載の非一時的な記憶媒体。
  17. 前記方法が、複数の、マージされた繰り返されるコードに基づいて、前記圧縮済みCSSファイルを生成するステップをさらに含む、請求項10に記載の非一時的な記憶媒体。
  18. 前記方法が、前記圧縮済みCSSファイルを生成する前に、前記CSSファイルのすべてのセレクタのプロパティをアルファベット順に組織化するステップをさらに含む、請求項10に記載の非一時的な記憶媒体。
JP2017513126A 2014-10-15 2015-10-14 カスケーディングスタイルシートファイルの圧縮 Active JP6373489B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201410545554.XA CN105577719B (zh) 2014-10-15 2014-10-15 一种数据压缩方法和装置
CN201410545554.X 2014-10-15
US14/881,066 US9747385B2 (en) 2014-10-15 2015-10-12 Compression of cascading style sheet files
US14/881,066 2015-10-12
PCT/US2015/055590 WO2016061269A1 (en) 2014-10-15 2015-10-14 Compression of cascading style sheet files

Publications (2)

Publication Number Publication Date
JP2017532655A JP2017532655A (ja) 2017-11-02
JP6373489B2 true JP6373489B2 (ja) 2018-08-15

Family

ID=55749207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017513126A Active JP6373489B2 (ja) 2014-10-15 2015-10-14 カスケーディングスタイルシートファイルの圧縮

Country Status (7)

Country Link
US (1) US9747385B2 (ja)
EP (1) EP3207461A4 (ja)
JP (1) JP6373489B2 (ja)
KR (1) KR102018445B1 (ja)
CN (1) CN105577719B (ja)
SG (1) SG11201701997UA (ja)
TW (1) TW201617940A (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9632991B2 (en) 2014-09-15 2017-04-25 Oracle International Corporation High performant and high fidelity previews for CSS preprocessing frameworks
US10613885B2 (en) * 2017-02-24 2020-04-07 International Business Machines Corporation Portable aggregated information calculation and injection for application containers
US10691816B2 (en) 2017-02-24 2020-06-23 International Business Machines Corporation Applying host access control rules for data used in application containers
CN109558138A (zh) * 2018-11-20 2019-04-02 北京小米移动软件有限公司 后代选择器处理方法及装置
CN109582654B (zh) * 2018-11-30 2021-09-03 万兴科技股份有限公司 Pdf文档压缩方法、装置、计算机设备及存储介质
CN110688118B (zh) * 2019-10-28 2023-05-05 郑州阿帕斯科技有限公司 一种网页优化方法及装置
CN111459537A (zh) * 2020-04-03 2020-07-28 深圳前海微众银行股份有限公司 冗余代码去除方法、装置、设备与计算机可读存储介质
CN114385167A (zh) * 2022-01-12 2022-04-22 平安普惠企业管理有限公司 前端页面生成方法、装置、设备及介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7299411B2 (en) * 2002-09-27 2007-11-20 Liberate Technologies Providing a presentation engine adapted for use by a constrained resource client device
US7769773B1 (en) * 2004-08-31 2010-08-03 Adobe Systems Incorporated Relevant rule inspector for hierarchical documents
US7562070B2 (en) * 2005-04-01 2009-07-14 Microsoft Corporation Method and system for aggregating rules that define values for the same property associated with the same document element
US7827481B1 (en) * 2005-07-25 2010-11-02 Adobe Systems Incorporated Defining style values as objects
US7685513B2 (en) * 2006-04-18 2010-03-23 Xerox Corporation Optimization of storage and delivery of markup language files
US7836396B2 (en) * 2007-01-05 2010-11-16 International Business Machines Corporation Automatically collecting and compressing style attributes within a web document
NZ566291A (en) 2008-02-27 2008-12-24 Actionthis Ltd Methods and devices for post processing rendered web pages and handling requests of post processed web pages
US8204964B2 (en) 2008-08-06 2012-06-19 Microsoft Corporation Efficient size optimization of visual information or auditory information
US8788577B2 (en) * 2010-06-22 2014-07-22 Akamai Technologies, Inc. Method and system for automated analysis and transformation of web pages
US8739023B2 (en) 2011-07-20 2014-05-27 International Business Machines Corporation Utilizing a graphical transition to sort an interface element independently of a document object model
US20130159839A1 (en) * 2011-12-14 2013-06-20 Microsoft Corporation Semantic compression of cascading style sheets
CN104025068B (zh) * 2012-01-02 2017-06-13 国际商业机器公司 来自多个来源的css定义的冲突解决
US20140095579A1 (en) 2012-09-28 2014-04-03 Verizon Patent And Licensing Inc. System and method for increasing web site serving performance
US9785621B2 (en) * 2012-11-26 2017-10-10 Akamai Technologies, Inc. Progressive consolidation of web page resources
US9087070B2 (en) * 2013-01-31 2015-07-21 Yahoo! Inc. System and method for applying an efficient data compression scheme to URL parameters
CN104063401B (zh) 2013-03-22 2018-02-02 阿里巴巴集团控股有限公司 一种网页样式地址合并的方法和装置

Also Published As

Publication number Publication date
CN105577719A (zh) 2016-05-11
US20160110324A1 (en) 2016-04-21
EP3207461A4 (en) 2018-06-13
TW201617940A (zh) 2016-05-16
CN105577719B (zh) 2019-11-05
KR20170072203A (ko) 2017-06-26
EP3207461A1 (en) 2017-08-23
US9747385B2 (en) 2017-08-29
JP2017532655A (ja) 2017-11-02
SG11201701997UA (en) 2017-04-27
KR102018445B1 (ko) 2019-09-04

Similar Documents

Publication Publication Date Title
JP6373489B2 (ja) カスケーディングスタイルシートファイルの圧縮
CN108595583B (zh) 动态图表类页面数据爬取方法、装置、终端及存储介质
CN107609186B (zh) 信息处理方法及装置、终端设备及计算机可读存储介质
CN107766328B (zh) 结构化文本的文本信息提取方法、存储介质和服务器
WO2015027932A1 (en) Multi-dimensional decomposition computing method and system
CN110008419B (zh) 网页去重方法、装置及设备
US8549309B1 (en) Asymmetric content fingerprinting with adaptive window sizing
WO2022105497A1 (zh) 文本筛选方法、装置、设备及存储介质
WO2016171709A1 (en) Text restructuring
CN114139040A (zh) 一种数据存储及查询方法、装置、设备及可读存储介质
US9454568B2 (en) Method, apparatus and computer storage medium for acquiring hot content
CN111898036A (zh) 一种行为数据收集处理系统及方法
CN108897858B (zh) 分布式集群索引分片的评估方法及装置、电子设备
CN109213972B (zh) 确定文档相似度的方法、装置、设备和计算机存储介质
US8984028B2 (en) Systems and methods for storing data and eliminating redundancy
CN111324725B (zh) 一种话题获取方法、终端、计算机可读存储介质
JP5890340B2 (ja) 画像分類装置及び画像分類プログラム
US20230188162A1 (en) Quantum data compression
CN107317892B (zh) 一种网络地址的处理方法、计算设备及可读存储介质
CN113722572B (zh) 一种分布式深度爬取的方法、装置及介质
CN105528414B (zh) 一种搜集深网数据全集的爬虫方法和系统
CN114070844A (zh) 一种文件下载方法、装置、计算设备及存储介质
US20170060998A1 (en) Method and apparatus for mining maximal repeated sequence
WO2016061269A1 (en) Compression of cascading style sheet files
WO2021257195A1 (en) Topic graph-based comment generation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170501

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180614

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180717

R150 Certificate of patent or registration of utility model

Ref document number: 6373489

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250