JP7087277B2 - 情報処理装置、情報処理システム、情報処理プログラム及び情報処理方法 - Google Patents

情報処理装置、情報処理システム、情報処理プログラム及び情報処理方法 Download PDF

Info

Publication number
JP7087277B2
JP7087277B2 JP2017099958A JP2017099958A JP7087277B2 JP 7087277 B2 JP7087277 B2 JP 7087277B2 JP 2017099958 A JP2017099958 A JP 2017099958A JP 2017099958 A JP2017099958 A JP 2017099958A JP 7087277 B2 JP7087277 B2 JP 7087277B2
Authority
JP
Japan
Prior art keywords
data
unit
information processing
cache
acquired data
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
JP2017099958A
Other languages
English (en)
Other versions
JP2018195182A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017099958A priority Critical patent/JP7087277B2/ja
Publication of JP2018195182A publication Critical patent/JP2018195182A/ja
Application granted granted Critical
Publication of JP7087277B2 publication Critical patent/JP7087277B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理装置、情報処理システム、情報処理プログラム及び情報処理方法に関する。
近年、通信装置間のデータの転送方法として、例えば、Content Defined Chunking処理が広く知られている。Content Defined Chunking処理は、データのフォーマット等を知ることなく、バイナリデータのみから過去のデータとの重複転送を回避することでデータ転送量を削減して高速転送を実現するものである。
転送装置等の情報処理装置では、データに対して高速ハッシュ計算を実行することで可変長のチャンク単位に分割し、チャンクに対してSHA1ハッシュ計算を実行することでチャンクにチャンクIDを付加する。情報処理装置は、チャンクIDが第1のキャッシュに登録済みであるか否かを判定する。情報処理装置は、チャンクIDが第1のキャッシュに登録済みでないため、そのチャンクID及び実データを第1のキャッシュに登録し、チャンクID及び実データを対向装置に転送する。そして、対向装置は、受信したチャンクID及び実データを第2のキャッシュに登録する。
更に、情報処理装置は、次のチャンクIDを検出し、チャンクIDが第1のキャッシュに登録済みの場合に、チャンクIDのみを対向装置に転送する。その結果、情報処理装置は、チャンクIDが第1のキャッシュに登録済みの場合、チャンクIDのみを対向装置に転送するため、実データの重複転送を回避することで、データ転送量を削減して高速転送を実現できる。
更に、情報処理装置は、可変長のチャンクを使用するため、途中でデータの挿入や削除が発生した場合でも、データの比較開始位置を意識せず、データの重複検知を実現できる。
特開2007-299019号公報 特開2006-178270号公報
しかしながら、情報処理装置では、データの比較開始位置を意識しないため、図17に示すように、等しいバイト列が連続せず、例えば、チャンク長が1KB未満と短い場合には、データを重複検知できない。図17は、実データの比較の一例を示す説明図である。
一つの側面では、チャンク長が短い場合でも、重複検知を可能にする情報処理装置等を提供することを目的とする。
一つの案では、情報処理装置が、登録部と、記憶部と、第1の判定部と、設定部と、第2の判定部と、出力部とを有する。登録部は、過去のデータをキャッシュ内に登録する。記憶部は、指定項目を検索条件とするルールを変更可能に記憶した。第1の判定部は、新規のデータを取得した場合に、取得したデータが前記キャッシュ内に登録済みであるか否かを判定する。第2の判定部は、取得したデータが前記キャッシュ内に登録済みでない場合に、取得したデータ内に前記指定項目があるか否かを判定する。設定部は、前記取得したデータ内に前記指定項目がある場合に、前記記憶部から当該指定項目の前記ルールを設定する。出力部は、設定されたルールに基づき、取得したデータから前記指定項目を除去した差分データ及び、前記取得したデータを識別する識別情報を対向装置に出力する。
チャンク長が短い場合でも、重複検知を可能にする。
図1は、実施例1の高速転送システムの一例を示す説明図である。 図2は、第1の透過プロキシの一例を示す説明図である。 図3は、第2の透過プロキシの一例を示す説明図である。 図4は、第1の差分処理に関わる第1の透過プロキシ内の第1のCPUの処理動作の一例を示すフローチャートである。 図5は、重複検知処理に関わる第1の透過プロキシ内の第1のCPUの処理動作の一例を示すフローチャートである。 図6は、実データの一例を示す説明図である。 図7は、有効性チェック関数処理に関わる第1の透過プロキシ内の第1のCPUの処理動作の一例を示すフローチャートである。 図8は、データ区切り関数処理に関わる第1の透過プロキシ内の第1のCPUの処理動作の一例を示すフローチャートである。 図9は、重複判定処理に関わる第1の透過プロキシ内の第1のCPUの処理動作の一例を示すフローチャートである。 図10は、復元処理に関わる第2の透過プロキシ内の第2のCPUの処理動作の一例を示すフローチャートである。 図11は、実施例2の高速転送システムの一例を示す説明図である。 図12は、サーバの一例を示す説明図である。 図13は、設定処理に関わるサーバ内の第3のCPUの処理動作の一例を示すフローチャートである。 図14は、実施例3の第1の透過プロキシの一例を示す説明図である。 図15は、第2の差分処理に関わる第1の透過プロキシ内の第1のCPUの処理動作の一例を示すフローチャートである。 図16は、情報処理プログラムを実行する情報処理装置の一例を示す説明図である。 図17は、実データの比較の一例を示す説明図である。
以下、図面に基づいて、本願の開示する情報処理装置等の実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
図1は、実施例1の高速転送システム1の一例を示す説明図である。図1に示す高速転送システム1は、送信装置2と、受信装置3と、第1の透過プロキシ4と、第2の透過プロキシ5と、WAN(Wide Area Network)6とを有する。送信装置2は、受信装置3宛のデータを送信する端末装置である。受信装置3は、送信装置2からのデータを受信する端末装置である。第1の透過プロキシ4は、送信装置2からのデータをWAN6上に転送する第1の情報処理装置である。第2の透過プロキシ5は、WAN6から第1の透過プロキシ4からのデータを受信装置3に転送する第2の情報処理装置である。第1の透過プロキシ4は、例えば、Content Defined Chunking処理を実行することで送信装置2からのバイナリデータから過去のデータの重複を検知し、その重複部分を除去したデータを転送する。更に、第2の透過プロキシ5は、例えば、Content Defined Chunking処理を実行することで第1の透過プロキシ4からのチャンクIDに対応するデータを復元出力する。
図2は、第1の透過プロキシ4の一例を示す説明図である。図2に示す第1の透過プロキシ4は、入力部11と、入力バッファ12と、第1のキャッシュ13と、第1の記憶部14と、第1の送信部15と、第1のCPU16とを有する。入力部11は、送信装置2からのデータを入力するインタフェースである。入力バッファ12は、入力部11からのデータを一時記憶する領域である。第1のキャッシュ13は、送信装置2からの実データ及びチャンクIDを登録する領域である。第1の記憶部14は、複数の検知モジュールを記憶する領域である。尚、検知モジュールは、Content Defined Chunking処理の実行時に使用する重複チャンクを検知するルールを定義したモジュールである。検知モジュールは、例えば、スクリプト形式、dll(dynamic link library)形式や共有ライブラリ形式とする。
第1の記憶部14は、検知モジュールに使用する有効性チェック関数及びデータ区切り関数を記憶する領域である。有効性チェック関数は、受信データの検知モジュールが有効であるか否かを判定する関数である。有効性チェック関数には、例えば、実データ内にxmlのタグが含まれている否かを判定する関数や、例えば、実データ内にCADのフォーマットのヘッダが含まれている否かを判定する関数等がある。また、有効性チェック関数には、例えば、実データ内にhttp等のヘッダが含まれている否かを判定する関数等である。また、有効性チェック関数には、例えば、実データの開始位置を識別する開始項目、すなわち開始タグもある。データ区切り関数は、有効性チェック関数が有効の場合に、受信データの区切りを識別するための関数、つまり、実データの最後尾を識別する最後尾タグである。尚、第1の記憶部14に記憶中の検知モジュール、復元モジュール、有効性チェック関数及びデータ区切り関数を適宜設定変更可能である。
送信部15は、WAN6上に受信装置3宛のデータを送信する。第1のCPU16は、第1の透過プロキシ4全体を制御する。第1のCPU16は、第1の差分処理部21と、第2の差分処理部22と、第1の登録部23とを有する。第1の登録部23は、第1のキャッシュ13を記憶制御する。第1の差分処理部21は、第1の判定部21Aと、第1の出力部21Bとを有する。第1の判定部21Aは、入力バッファ12に記憶中の受信データに対して、例えば、10ビット~12ビットの高速ハッシュ計算を実行し、その計算結果に基づき、受信データをチャンク単位に分割する。尚、チャンクの平均長は、例えば、1KB~4KBである。更に、第1の差分処理部21は、チャンクに対して、例えば、160ビットのSHA1ハッシュ計算を実行し、その計算結果に基づき、チャンクのチャンクIDを算出する。第1の判定部21Aは、チャンクIDが第1のキャッシュ13内にあるか否かを判定する。第1の判定部21Aは、チャンクIDが第1のキャッシュ13内にある場合、チャンクIDの実データと第1のキャッシュ13内のチャンクIDのデータとを比較し、差分を検出したか否かを判定する。第1の登録部23は、差分を検出した場合、チャンクID及び実データを第1のキャッシュ13に登録する。更に、第1の出力部21Bは、差分を検出した場合、第1の送信部15経由でチャンクID及び実データをWAN6経由で第2の透過プロキシ5に送信する。
また、第1の出力部21Bは、差分を検出しなかった場合、第1の送信部15経由でチャンクIDをWAN6経由で第2の透過プロキシ5に送信する。つまり、第1の透過プロキシ4は、差分を検出しなかった場合、実データではなく、チャンクIDのみを第2の透過プロキシ5に出力するため、第2の透過プロキシ5との間のデータ転送量を削減することで高速転送を図るものである。
第2の差分処理部22は、第1の設定部22Aと、第2の判定部22Bと、第2の出力部22Cとを有する。第1の登録部23は、チャンクIDが第1のキャッシュ13内にない場合、チャンクID及び実データを第1のキャッシュ13に登録する。更に、第2の差分処理部22は、チャンクIDに基づき、重複チャンクを検知する重複検知処理を実行する。第1の設定部22Aは、重複チャンクを検知する検知モジュールを特定するための有効性チェック関数処理を実行し、有効性チェック関数が有効の場合、有効の有効性チェック関数に対応した検知モジュールを第1の記憶部14から特定する。第1の設定部22Aは、実データの開始タグを特定する。更に、第1の設定部22Aは、データ区切り関数を実行し、実データから最後尾タグを特定し、開始タグから最後尾タグを特定することで、実データの区切りを特定する。第1の設定部22Aは、有効の検知モジュールを第1の記憶部14から特定した場合、その有効の検知モジュールを設定する。
第2の判定部22Bは、特定の検知モジュールを設定し、実データ内のタグを検索し、検索タグが特定の検知モジュールの指定タグであるか否かを判定する。第2の判定部22Bは、検索タグが指定タグの場合、次のタグを検索し、検索タグが指定タグであるか否かを判定する。第2の判定部22Bは、検索タグが指定タグでない場合、検索タグが第1のキャッシュ13に登録済みのタグと一致するか否かを判定する。第2の判定部22Bは、検索タグが第1のキャッシュ13に登録済みのタグと一致する場合、検索タグが最後尾タグであるか否かを判定する。第2の判定部22Bは、検索タグが最後尾タグの場合、指定タグの差分データを算出する。第1の登録部23は、指定タグの差分データ及びチャンクIDを第1のキャッシュ13に登録する。第2の出力部22Cは、結果送信部15Aを通じて、差分データ及びチャンクIDを第2の透過プロキシ5に送信する。
第1の登録部23は、検索タグがキャッシュ済みのタグと一致しない場合、実データ及びチャンクIDを第1のキャッシュ13に登録する。第2の出力部22Cは、結果送信部15Aを通じて、チャンクID及び実データに新規ヘッダを付加して第2の透過プロキシ5に送信する。第1の送信部15は、結果送信部15Aと、モジュール送信部15Bとを有する。結果送信部15Aは、第1の差分処理部21及び第2の差分処理部22のチャンク結果、例えば、チャンクID及び差分データ等をWAN6経由で第2の透過プロキシ5に送信する。モジュール送信部15Bは、有効の検知モジュールに対応する復元モジュール及び有効性チェック関数を第2の透過プロキシ5に送信する。
図3は、第2の透過プロキシ5の一例を示す説明図である。図3に示す第2の透過プロキシ5は、受信部31と、第2のキャッシュ32と、第2の記憶部33と、第2の送信部34と、第2のCPU35とを有する。第2のCPU35は、復元部36と、第2の登録部37とを有する。復元部36は、第2の設定部36Aと、第2の実行部36Bとを有する。受信部31は、WAN6経由で第1の透過プロキシ4からのデータを受信する。尚、第1の透過プロキシ4からのデータは、チャンクIDや実データの他に、例えば、復元モジュール及び有効性チェック関数である。
第2のキャッシュ32は、チャンクID及び実データを対応付けて登録する領域である。第2の記憶部33は、使用可能な複数の復元モジュールを記憶する領域である。復元モジュールは、有効性チェック関数に対応したルールである。第2の送信部34は、実データ又は復元データを受信装置3に転送する出力インタフェースである。第2のCPU35は、第2の透過プロキシ5全体を制御する。
復元部36は、第1の透過プロキシ4からのチャンクIDを受信した場合、チャンクIDに対応する実データを第2のキャッシュ32から復元し、復元した実データを出力する。第2の設定部36Aは、有効性チェック関数処理を実行することで、実データに対する有効の復元モジュールを第2の記憶部33から特定する。第2の設定部36Aは、特定された復元モジュールを設定する。
第2の実行部36Bは、第1の透過プロキシ4から受信データを受信した場合、受信データに新規ヘッダがあるか否かを判定する。第2の実行部36Bは、受信データ内に新規ヘッダがある場合、受信データから実データ及びチャンクIDを取得する。第2の登録部37は、実データ及びチャンクIDを取得した後、実データ及びチャンクIDを第2のキャッシュ32に登録する。第2の送信部34は、実データを受信装置3に送信する。
第2の実行部36Bは、受信データ内に新規ヘッダがない場合、第2のキャッシュ32からチャンクIDに対応するデータを取得し、差分データがあるか否かを判定する。第2の送信部34は、差分データがある場合、チャンクIDに対応するデータと差分データとを加算出力し、受信装置3に送信する。第2の送信部34は、差分データがない場合、チャンクIDに対応するデータを受信装置3に送信する。
次に実施例1の高速転送システム1の動作について説明する。図4は、第1の差分処理に関わる第1の透過プロキシ4内の第1のCPU16の処理動作の一例を示すフローチャートである。図4において第1のCPU16内の第1の差分処理部21は、入力部11を通じてデータを受信したか否かを判定する(ステップS11)。第1の差分処理部21内の第1の判定部21Aは、データを受信した場合(ステップS11肯定)、受信データに対して高速ハッシュ計算を実行し(ステップS12)、その計算結果に基づき、受信データを可変長のチャンク単位に分割する(ステップS13)。
第1の判定部21Aは、チャンクに対してSHA1ハッシュ計算を実行し(ステップS14)、その計算結果に基づき、チャンク単位にチャンクIDを付与する(ステップS15)。第1の判定部21Aは、チャンクIDが第1のキャッシュ13内にあるか否かを判定する(ステップS16)。第1の判定部21Aは、チャンクIDが第1のキャッシュ13内にある場合(ステップS16肯定)、チャンクIDの実データと第1のキャッシュ13内のチャンクIDのキャッシュ済みデータとを比較する(ステップS17)。
第1の判定部21Aは、その比較結果に基づき、差分を検出したか否かを判定する(ステップS18)。第1の差分処理部21内の第1の出力部21Bは、差分を検出した場合(ステップS18肯定)、結果送信部15Aを通じて、チャンクID及び実データを第2の透過プロキシ5に送信する(ステップS19)。第1の登録部23は、チャンクID及び実データを第1のキャッシュ13に登録し(ステップS20)、図4に示す処理動作を終了する。第1の出力部21Bは、差分を検出したのでない場合(ステップS18否定)、結果送信部15Aを通じて、チャンクIDを第2の透過プロキシ5に送信し(ステップS21)、図4に示す処理動作を終了する。
第1のCPU16内の第2の差分処理部22は、チャンクIDが第1のキャッシュ13内にない場合(ステップS16否定)、チャンクID及び実データを第1のキャッシュ13に登録し(ステップS22)、後述する重複検知処理を実行する(ステップS23)。そして、第2の差分処理部22は、重複検知処理を実行後、図4に示す処理動作を終了する。
第1のCPU16は、チャンクIDが第1のキャッシュ13内にあり、差分を検出した場合に、チャンクID及び実データを第2の透過プロキシ5に送信すると共に、チャンクID及び実データを第1のキャッシュ13に登録する。その結果、第1の透過プロキシ4は、第1のキャッシュ13内のキャッシュ内容を使用して高速転送を実現できる。
第1のCPU16は、チャンクIDが第1のキャッシュ13内にあり、差分を検出しなかった場合に、チャンクIDを第2の透過プロキシ5に送信する。その結果、第1の透過プロキシ4は、第2の透過プロキシ5に対してチャンクIDのみを転送するため、データ転送量を削減して高速転送を実現できる。
第1のCPU16は、チャンクIDが第1のキャッシュ13内にない場合に、チャンクID及び実データを第1のキャッシュ13に登録し、重複検知処理を実行する。その結果、第1の透過プロキシ4は、チャンクIDが第1のキャッシュ13内にない場合でも、重複検知処理を実行できる。
図5は、重複検知処理に関わる第1の透過プロキシ4内の第1のCPU16の処理動作の一例を示すフローチャートである。図5において第1のCPU16内の第2の差分処理部22は、後述する有効性チェック関数処理を実行し(ステップS31)、有効性チェック関数が有効であるか否かを判定する(ステップS32)。第2の差分処理部22は、有効性チェック関数が有効の場合(ステップS32肯定)、有効の検知モジュールを特定し(ステップS33)、モジュール送信部15Bを通じて、第2の透過プロキシ5に対して有効の検知モジュールを送信する(ステップS34)。更に、第2の差分処理部22は、検知モジュールを第2の透過プロキシ5に送信した後、後述するデータ区切り関数処理を実行する(ステップS35)。第2の差分処理部22は、後述する重複判定処理を実行し(ステップS36)、図5に示す処理動作を終了する。
図6は、実データの一例を示す説明図である。図6に示す実データは、xmlタグのデータ構造である。尚、説明の便宜上、有効性チェック関数は、例えば、<?xml version=“1.0”?><catalog>のタグとする。更に、データ区切り関数は、例えば、</catalog>のタグとする。有効の検知モジュールの指定タグは、例えば、<price>タグとする。
図7は、有効性チェック関数処理に関わる第1の透過プロキシ4内の第1のCPU16の処理動作の一例を示すフローチャートである。図7において第1のCPU16内の第2の差分処理部22内の第1の設定部22Aは、入力バッファ12内の実データが有効性チェック関数の開始タグで開始であるか否かを判定する(ステップS41)。尚、開始タグとは、図6に示す実データの場合、例えば、<?xml version=“1.0”?><catalog>のタグである。第1の設定部22Aは、実データが開始タグで開始の場合(ステップS41肯定)、有効性チェック関数の有効を設定し(ステップS42)、図7に示す処理動作を終了する。第1の設定部22Aは、実データを開始タグで開始でない場合(ステップS41否定)、無効を設定し(ステップS43)、図7に示す処理動作を終了する。
第1のCPU16は、実データが有効性チェック関数の開始タグで開始の場合、その有効性チェック関数に対応した検知モジュールを有効にして設定する。その結果、第1のCPU16は、実データに対応した検知モジュールを設定できる。
図8は、データ区切り関数処理に関わる第1の透過プロキシ4内の第1のCPU16の処理動作の一例を示すフローチャートである。図8において第1のCPU16内の第1の設定部22Aは、データ区切り関数の最後尾タグで入力バッファ12内の実データを検索し(ステップS51)、実データ内に最後尾タグがあるか否かを判定する(ステップS52)。尚、最後尾タグとは、図6に示す実データの場合、例えば、</catalog>のタグである。第1の設定部22Aは、実データ内に最後尾タグがある場合(ステップS52肯定)、入力バッファ12へのデータ追加を待機し(ステップS53)、最後尾タグで実データを検索すべく、ステップS51に移行する。第1の設定部22Aは、実データ内に最後尾タグがない場合(ステップS52否定)、先頭から最後尾までの実データの区切りを特定し(ステップS54)、図8に示す処理動作を終了する。
第1のCPU16は、検知モジュールを有効設定した後、実データ内に最後尾タグがある場合、開始タグと最後尾タグとで実データ内の区切りを特定する。その結果、第1のCPU16は、実データ内のデータ区切りを特定できる。
図9は、重複判定処理に関わる第1の透過プロキシ4内の第1のCPU16の処理動作の一例を示すフローチャートである。図9において第1のCPU16内の第2の差分処理部22内の第2の判定部22Bは、特定の検知モジュールを設定し(ステップS61)、実データ内のタグを検索する(ステップS62)。第2の判定部22Bは、検索タグが特定の検知モジュールの指定タグであるか否かを判定する(ステップS63)。
第2の判定部22Bは、検索タグが指定タグの場合(ステップS63肯定)、次のタグを検索し(ステップS64)、検索タグが指定タグであるか否かを判定すべく、ステップS63に移行する。第2の判定部22Bは、検索タグが指定タグでない場合(ステップS63否定)、検索タグが第1のキャッシュ13に登録済みのタグと一致するか否かを判定する(ステップS65)。第2の判定部22Bは、検索タグが第1のキャッシュ13に登録済みのタグと一致する場合(ステップS65肯定)、検索タグが最後尾タグであるか否かを判定する(ステップS66)。
第2の判定部22Bは、検索タグが最後尾タグの場合(ステップS66肯定)、指定タグの差分データを算出する(ステップS67)。第1の登録部23は、指定タグの差分データ及びチャンクIDを第1のキャッシュ13に登録する(ステップS68)。第2の出力部22Cは、結果送信部15Aを通じて、差分データ及びチャンクIDを第2の透過プロキシ5に送信し(ステップS69)、図9に示す処理動作を終了する。第2の判定部22Bは、検索タグが最後尾タグでない場合(ステップS66否定)、次のタグを検索すべく、ステップS64に移行する。
第1の登録部23は、検索タグが登録済みのタグと一致しない場合(ステップS65否定)、実データ及びチャンクIDを第1のキャッシュ13に登録する(ステップS70)。第2の出力部22Cは、結果送信部15Aを通じて、チャンクID及び実データに新規ヘッダを付加して第2の透過プロキシ5に送信し(ステップS71)、図9に示す処理動作を終了する。
第1のCPU16は、実データのタグを検索し、その検索タグが検知モジュールの指定タグであるか否かを判定する。第1のCPU16は、その検索タグが指定タグの場合、検索タグが第1のキャッシュ13の登録済みのタグでない場合、実データ及びチャンクIDを第1のキャッシュ13に登録する。第1のCPU16は、チャンクID及び実データに新規ヘッダを付加して第2の透過プロキシ5に送信する。その結果、第2の透過プロキシ5は、新規ヘッダで新規のチャンクID及び実データを認識できる。
第1のCPU16は、検索タグが最後尾タグの場合、指定タグの差分データを算出し、指定タグの差分データ及びチャンクIDを第1のキャッシュ13に登録する。更に、第1のCPU16は、差分データ及びチャンクIDを第2の透過プロキシ5に送信する。その結果、第2の透過プロキシ5は、差分データ及びチャンクIDを取得できる。
図10は、復元処理に関わる第2の透過プロキシ5内の第2のCPU35の処理動作の一例を示すフローチャートである。図10において第2のCPU35内の復元部36は、第1の透過プロキシ4から受信データを受信したか否かを判定する(ステップS81)。復元部36内の第2の設定部36Aは、受信データを受信した場合(ステップS81肯定)、受信データに新規ヘッダがあるか否かを判定する(ステップS82)。復元部36内の第2の実行部36Bは、受信データ内に新規ヘッダがある場合(ステップS82肯定)、受信データから実データ及びチャンクIDを取得する(ステップS83)。第2の登録部37は、実データ及びチャンクIDを取得した後、実データ及びチャンクIDを第2のキャッシュ32に登録する(ステップS84)。第2の送信部34は、実データを受信装置3に送信し(ステップS85)、図10に示す処理動作を終了する。
第2の実行部36Bは、受信データ内に新規ヘッダがない場合(ステップS82否定)、第2のキャッシュ32からチャンクIDに対応するデータを取得し(ステップS86)、差分データがあるか否かを判定する(ステップS87)。第2の送信部34は、差分データがある場合(ステップS87肯定)、チャンクIDに対応するデータと差分データとを加算して受信装置3に送信し(ステップS88)、図10に示す処理動作を終了する。第2の送信部34は、差分データがない場合(ステップS87否定)、チャンクIDに対応するデータを受信装置3に送信し(ステップS89)、図10に示す処理動作を終了する。
第2のCPU35は、第1の透過プロキシ4の受信データに新規ヘッダがある場合、受信データからチャンクID及び実データを取得し、チャンクID及び実データを第2のキャッシュ32に登録し、実データを受信装置3に出力する。その結果、第2のCPU35は、チャンクID及び実データを第2のキャッシュ32に登録するため、キャッシュ内容を利用して、高速転送を実現できる。
第2のCPU35は、受信データに新規ヘッダがなく、かつ、差分データがない場合、第2のキャッシュ32からチャンクIDに対応する実データを復元出力する。その結果、第2のCPU35は、第1の透過プロキシ4からのチャンクIDで実データを復元出力できる。
第2のCPU35は、受信データに新規ヘッダがなく、かつ、差分データがある場合、チャンクIDに対応するデータを第2のキャッシュ32から特定し、当該データと差分データとを加算して復元出力する。その結果、第2のCPU35は、第1の透過プロキシ4からの差分データ及びチャンクIDで実データを復元出力できる。
実施例1の第1の透過プロキシ4では、新規のデータを取得した場合に、取得したデータが第1のキャッシュ13内に登録済みの場合に、取得したデータを識別するチャンクIDを第2の透過プロキシ5に出力する。その結果、第1の透過プロキシ4と第2の透過プロキシ5との間のデータ転送量を削減できる。
第1の透過プロキシ4は、取得したデータが第1のキャッシュ13内に登録済みでない場合に、取得したデータ内に検知モジュール対応の指定タグがあるか否かを判定する。第1の透過プロキシ4は、取得したデータ内に検知モジュール対応の指定タグがある場合に、第1の記憶部14から当該指定タグの検知モジュールを設定する。第1の透過プロキシ4は、検知モジュールに基づき、取得したデータから指定タグを除去した差分データ及び、取得したデータを識別するチャンクIDを第2の透過プロキシ5に出力する。つまり、第1の透過プロキシ4は、実データから検知モジュールの指定タグを除去した差分データ及び、実データのチャンクIDを第2の透過プロキシ5に出力する。その結果、チャンク長が短い場合でも、指定タグを用いて高精度な重複検知を実現することで重複データを除去してデータ転送量を削減することで高速転送を実現できる。
しかも、第1の透過プロキシ4は、データ構造に適した検知モジュールを動的に設定可能にし、検知モジュールの指定タグで実データを検索することで、チャンク長が短い場合でも、高精度な重複検知を実現する。その結果、重複データを除去してデータ転送量を削減することで高速転送を実現できる。
第1の透過プロキシ4は、取得した実データ内に検知モジュールの指定タグがない場合に、取得した実データ及び、実データを識別するチャンクIDを第1のキャッシュ13に登録し、実データ及びチャンクIDを第2の透過プロキシ5に出力する。その結果、第1の透過プロキシ4は、第1のキャッシュ13のキャッシュ内容を利用して高速転送を実現できる。
第1の透過プロキシ4は、取得した実データ内に指定の開始タグがある場合に、当該開始タグに対応する検知モジュールを第1の記憶部14から特定して設定する。その結果、第1の透過プロキシ4は、検知モジュールを設定できる。
第1の透過プロキシ4は、検知モジュールが設定された場合、設定された検知モジュールを第2の透過プロキシ5に通知する。その結果、第2の透過プロキシ5は、第1の透過プロキシ4で設定中の検知モジュールに対応した復元モジュールを設定できる。
第2の透過プロキシ5は、第1の透過プロキシ4から受信したチャンクIDが第2のキャッシュ32内に登録済みの場合に、当該チャンクIDに対応したデータを第2のキャッシュ32から復元出力する。その結果、第1の透過プロキシ4と第2の透過プロキシ5との間のデータ転送量を削減することで高速転送を実現できる。
本実施例では、データ構造に着目した比較開始位置を識別できる検知モジュール(重複除去ルール)を設定することで、比較開始位置を意識しながら、バイト列としてチャンク長が短い場合でも、データ構造に着目した重複検知を実現する。その結果、データの重複検知を実現することで重複データの転送を回避して高速転送を実現できる。しかも、プログラムの改変なしに柔軟な高速化が容易に実現できる。
上記実施例では、検知モジュール、復元モジュール、有効性チェック関数及びデータ区切り関数を第1の記憶部14に記憶したが、所定操作に応じて適宜変更可能である。検知モジュール及び復元モジュールを動的にロードすることで、検知モジュール及び復元モジュールを再構成できる。
上記実施例1の第1の透過プロキシ4は、検知モジュールを第1の記憶部14に記憶したが、第1の透過プロキシ4に接続する管理装置から所望の検知モジュールを変更、追加又は削除しても良く、その内容は適宜設定変更可能である。
また、第1の透過プロキシ4及び第2の透過プロキシ5を管理するサーバが、検知モジュールを第1の透過プロキシ4に通知、復元モジュールを第2の透過プロキシ5に通知しても良く、その実施の形態につき、実施例2として以下に説明する。
図11は、実施例2の高速転送システム1Aの一例を示す説明図である。尚、実施例1の高速転送システム1と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。図11に示す高速転送システム1Aは、送信装置2、受信装置3、第1の透過プロキシ4、第2の透過プロキシ5及びWAN6の他に、サーバ7を有する。サーバ7は、送信装置2から第1の透過プロキシ4へのデータをキャプチャし、キャプチャされたデータから有効の検知モジュール及び復元モジュールを特定する。
図12は、サーバ7の一例を示す説明図である。図12に示すサーバ7は、通信部41と、記憶部42と、第3のCPU43とを有する。通信部41は、例えば、送信装置2、第1の透過プロキシ4及び第2の透過プロキシ5と通信接続する。記憶部42は、有効性チェック関数、データ区切り関数、検知モジュール及び復元モジュール等を記憶する領域である。
第3のCPU43は、キャプチャ部43Aと、特定部43Bと、通知部43Cとを有する。キャプチャ部43Aは、送信装置2から第1の透過プロキシ4へのデータをキャプチャする。特定部43Bは、キャプチャされたデータに対応する有効の検知モジュール及び復元モジュールを記憶部42から特定する。通知部43Cは、特定された検知モジュールを、通信部41を通じて第1の透過プロキシ4に送信する。更に、通知部43Cは、特定された復元モジュールを、通信部41を通じて第2の透過プロキシ5に送信する。
次に実施例2の高速転送システム1Aの動作について説明する。図13は、設定処理に関わるサーバ7内の第3のCPU43の処理動作の一例を示すフローチャートである。図13における第3のCPU43内のキャプチャ部43Aは、送信装置2から第1の透過プロキシ4までのパケットをキャプチャする(ステップS101)。第3のCPU43内の特定部43Bは、記憶部42に記憶中の検知モジュールを特定し(ステップS102)、特定の検知モジュールの有効性チェック関数を実行する(ステップS103)。
特定部43Bは、有効性チェック関数に基づき、検知モジュールが有効であるか否かを判定する(ステップS104)。通知部43Cは、検知モジュールが有効の場合(ステップS104肯定)、有効の検知モジュール及び有効性チェック関数を第1の透過プロキシ4に通知する(ステップS105)。
更に、特定部43Bは、有効の復元モジュールを第2の透過プロキシ5に通知し(ステップS106)、図13に示す処理動作を終了する。また、特定部43Bは、検知モジュールが有効でない場合(ステップS104否定)、記憶部42から次の検知モジュールを指定し(ステップS107)、指定の検知モジュールでの有効性チェック関数を実行すべく、ステップS103に移行する。
サーバ7は、送信装置2から第1の透過プロキシ4へのデータをキャプチャし、データに対して有効性チェック関数処理を実行し、有効性チェック関数に基づき、有効の検知モジュール及び復元モジュールを記憶部42から特定する。そして、サーバ7は、特定した有効の検知モジュールを第1の透過プロキシ4に通知すると共に、特定した有効の復元モジュールを第2の透過プロキシ5に通知する。その結果、サーバ7は、第1の透過プロキシ4に対して検知モジュールを設定すると共に、第2の透過プロキシ5に対して復元モジュールを設定できる。
上記実施例の第1の透過プロキシ4は、第1のCPU16の負荷量が高くなることも予想されるため、第1のCPU16の負荷量に応じて同一種別の検知モジュールの内、負荷の異なる検知モジュールを設定しても良い。従って、その実施の形態につき、実施例3として以下に説明する。
図14は、実施例3の第1の透過プロキシ4Aの一例を示す説明図である。尚、実施例1の高速転送システム1と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。図14に示す第1の透過プロキシ4A内の第2の差分処理部22には、第1の設定部22A、第2の判定部22B及び第2の出力部22Cの他に、計測部22Dを有する。計測部22Dは、第1のCPU16の負荷量を計測する。第1の設定部22Aは、計測部22Dの計測結果である第1のCPU16の負荷量に対応する検知モジュールを第1の記憶部14から特定する。第1の記憶部14には、同一種別の検知モジュールの内、負荷の異なる検知モジュールを記憶している。第1の記憶部14には、例えば、第1のCPU16の負荷量が所定レベル以上の場合に使用する低負荷の検知モジュールと、第1のCPU16の負荷量が所定レベル以上でない場合に使用する高負荷の検知モジュールとを記憶しているものとする。
第1の設定部22Aは、第1のCPU16の負荷量が所定レベル以上の場合に低負荷の検知モジュールを第1の記憶部14から特定し、特定された低負荷の検知モジュールを設定する。第1の設定部22Aは、第1のCPU16の負荷量が所定レベル以上でない場合に高負荷の検知モジュールを第1の記憶部14から特定し、特定された高負荷の検知モジュールを設定する。
次に実施例3の高速転送システム1の動作について説明する。図15は、第2の差分処理に関わる第1の透過プロキシ4A内の第1のCPU16の処理動作の一例を示すフローチャートである。図15において第1のCPU16は、チャンクIDが第1のキャッシュ13内にない場合(ステップS16否定)、ステップS22にてチャンクID及び実データを第1のキャッシュ13に登録する。そして、第1のCPU16内の第1の設定部22Aは、計測部22Dの計測結果である第1のCPU16の負荷量が所定レベル以上であるか否かを判定する(ステップS111)。第1の設定部22Aは、負荷量が所定レベル以上の場合(ステップS111肯定)、低負荷の検知モジュールを第1の記憶部14から特定して設定し(ステップS112)、重複検知処理を実行すべく、ステップS23に移行する。
また、第1の設定部22Aは、第1のCPU16の負荷量が所定レベル以上でない場合(ステップS111否定)、高負荷の検知モジュールを第1の記憶部14から特定して設定し(ステップS113)、重複検知処理を実行すべく、ステップS23に移行する。
第1のCPU16は、計測部22Dを通じて負荷量を計測し、負荷量が所定レベル以上の場合、同一種別の検知モジュールの中から低負荷の検知モジュールを第1の記憶部14から特定して設定する。その結果、第1のCPU16は、負荷量が高い場合に負荷量が小の検知モジュールを設定できる。
第1のCPU16は、負荷量が所定レベル以上でない場合、同一種別の検知モジュールの中から高負荷の検知モジュールを第1の記憶部14から特定して設定する。その結果、第1のCPU16は、負荷量が小さい場合に負荷量が大の検知モジュールを設定できる。
第1の透過プロキシ4は、負荷量に応じた検知モジュールを第1の記憶部14から特定し、当該特定された当該検知モジュールを設定する。その結果、第1の透過プロキシ4は、負荷量に応じた検知モジュールを設定できる。
上記実施例3では、同一種別の検知モジュールの中から、第1の透過プロキシ4内の第1のCPU16の負荷量に応じた検知モジュールを設定した。しかしながら、第2の透過プロキシ5においても、同一種別の復元モジュールの中から、第2のCPU35の負荷量に応じた復元モジュールを設定しても良く、適宜設定変更可能である。
上記実施例の第1の透過プロキシ4は、送信装置2と別体としたが、送信装置2内に内蔵しても良い。また、送信装置2は、第1の透過プロキシ4に内蔵する送信アプリケーションであっても良い。第2の透過プロキシ5は、受信装置3と別体としたが、受信装置3内に内蔵しても良い。また、受信装置3は、第2の透過プロキシ5に内蔵する受信アプリケーションであっても良い。
上記実施例の第1の透過プロキシ4には、第1の差分処理部21及び第2の差分処理部22を内蔵したが、第1の差分処理部21及び第2の差分処理部22に加えて、第2の透過プロキシ5からのデータを復元する復元部36を内蔵しても良い。同様に、第2の透過プロキシ5は、復元部36を内蔵したが、復元部36に加えて、第1の透過プロキシ4にデータ等を出力する第1の差分処理部21及び第2の差分処理部22を内蔵しても良い。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
更に、各装置で行われる各種処理機能は、CPU(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
ところで、本実施例で説明した各種の処理は、予め用意されたプログラムを情報処理装置内のCPU等のプロセッサで実行させることによって実現できる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行する情報処理装置の一例を説明する。図16は、情報処理プログラムを実行する情報処理装置の一例を示す説明図である。
図16に示す情報処理プログラムを実行する情報処理装置100は、通信部110と、ROM120と、RAM130と、CPU140とを有する。更に、通信部110、ROM120、RAM130及びCPU140は、バス150を介して接続される。
そして、通信部110は、対向装置と通信接続する。ROM120には、上記実施例と同様の機能を発揮する情報処理プログラムが予め記憶されている。ROM120には、情報処理プログラムとして登録プログラム120A、記憶プログラム120B及び第1の判定プログラム120Cが記憶されている。更に、ROM120には、情報処理プログラムとして、第2の判定プログラム120E、設定プログラム120F及び出力プログラム120Gが記憶されている。尚、ROM120ではなく、図示せぬドライブでコンピュータ読取可能な記録媒体に情報処理プログラムが記録されていても良い。また、記録媒体としては、例えば、CD-ROM、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。
そして、CPU140は、登録プログラム120AをROM120から読み出して登録プロセス140Aとして機能する。CPU140は、第1の記憶プログラム120BをROM120から読み出して第1の記憶プロセス140Bとして機能する。CPU140は、第1の判定プログラム120CをROM120から読み出して第1の判定プロセス140Cとして機能する。CPU140は、第2の判定プログラム120EをROM120から読み出して第2の判定プロセス140Eとして機能する。CPU140は、設定プログラム120FをROM120から読み出して設定プロセス140Fとして機能する。CPU140は、出力プログラム120GをROM120から読み出して出力プロセス140Gとして機能する。RAM130には、図示せぬキャッシュ及び記憶部を有する。
CPU140は、過去のデータをキャッシュ内に登録する。CPU140は、指定項目を検索条件とするルールを変更可能に記憶部に記憶した。CPU140は、新規のデータを取得した場合に、取得したデータが前記キャッシュ内に登録済みであるか否かを判定する。CPU140は、取得したデータが前記キャッシュ内に登録済みでない場合に、取得したデータ内に前記指定項目があるか否かを判定する。CPU140は、取得したデータ内に前記指定項目がある場合に、前記記憶部から当該指定項目の前記ルールを設定する。CPU140は、前記設定されたルールに基づき、取得したデータから前記指定項目を除去した差分データ及び、前記取得したデータを識別する識別情報を対向装置に出力する。その結果、チャンク長が短い場合でも、重複検知を可能にする。
1 高速転送システム
4 第1の透過プロキシ
5 第2の透過プロキシ
7 サーバ
13 第1のキャッシュ
14 第1の記憶部
16 第1のCPU
21A 第1の判定部
22A 第1の設定部
22B 第2の判定部
22C 第2の出力部
22D 計測部
23 第1の登録部
32 第2のキャッシュ
36A 第2の設定部
36B 第2の実行部
37 第2の登録部

Claims (10)

  1. 過去のデータをキャッシュ内に登録する登録部と、
    指定項目を検索条件とするルールを変更可能に記憶した記憶部と、
    新規のデータを取得した場合に、取得したデータが前記キャッシュ内に登録済みであるか否かを判定する第1の判定部と、
    取得したデータが前記キャッシュ内に登録済みでない場合に、取得したデータ内に前記指定項目があるか否かを判定する第2の判定部と、
    前記取得したデータ内に前記指定項目がある場合に、前記記憶部から当該指定項目の前記ルールを設定する設定部と、
    前記設定されたルールに基づき、取得したデータから前記指定項目を除去した後の残りのデータである差分データ及び、前記取得したデータを識別する識別情報を対向装置に出力する出力部と
    を有することを特徴とする情報処理装置。
  2. 前記登録部は、
    前記取得したデータ内に前記指定項目がない場合に、前記取得したデータ及び、前記取得したデータを識別する前記識別情報を前記キャッシュ内に登録し、
    前記出力部は、
    前記取得したデータ及び、前記取得したデータを識別する前記識別情報を前記対向装置に出力することを特徴とする請求項1に記載の情報処理装置。
  3. 前記情報処理装置自体を制御する制御部の負荷量を計測する計測部を有し、
    前記記憶部は、
    前記負荷量に対応した同一種別で負荷が異なるルールを記憶しておき、
    前記設定部は、
    前記計測部にて計測された前記負荷量に応じた前記ルールを前記記憶部から特定し、当該特定された当該ルールを設定することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記記憶部は、
    前記ルール毎に異なる開始項目を記憶しておき、
    前記設定部は、
    前記取得したデータ内に前記開始項目があるか否かを判定し、前記開始項目がある場合に、当該開始項目に対応する前記ルールを前記記憶部から特定して設定することを特徴とする請求項1~3の何れか一つに記載の情報処理装置。
  5. 前記設定部にて前記ルールが設定された場合に、当該設定された前記ルールを前記対向装置に出力する出力部を有することを特徴とする請求項1~4の何れか一つに記載の情報処理装置。
  6. 前記対向装置から受信した前記識別情報が前記キャッシュ内に登録済みの場合に、当該識別情報に対応したデータを前記キャッシュから復元出力する復元部を有することを特徴とする請求項1~5の何れか一つに記載の情報処理装置。
  7. 第1の情報処理装置と、第2の情報処理装置とを有し、前記第1の情報処理装置から前記第2の情報処理装置にデータを伝送する情報処理システムであって、
    前記第1の情報処理装置は、
    過去のデータを第1のキャッシュ内に登録する第1の登録部と、
    指定項目を検索条件とするルールを変更可能に記憶した記憶部と、
    新規のデータを取得した場合に、取得したデータが前記第1のキャッシュ内に登録済みであるか否かを判定する第1の判定部と、
    取得したデータが前記第1のキャッシュ内に登録済みでない場合に、取得したデータ内に前記指定項目があるか否かを判定する第2の判定部と、
    前記取得したデータ内に前記指定項目がある場合に、前記記憶部から当該指定項目の前記ルールを設定する設定部と、
    前記設定されたルールに基づき、取得したデータから前記指定項目を除去した後の残りのデータである差分データ及び、前記取得したデータを識別する識別情報を前記第2の情報処理装置に出力する出力部と
    を有し、
    前記第2の情報処理装置は、
    前記第1の情報処理装置から前記データ及び前記識別情報を受信した場合に、当該データ及び前記識別情報を第2のキャッシュに登録する第2の登録部と、
    前記第1の情報処理装置から受信した前記識別情報が前記第2のキャッシュ内に過去に登録済みの場合に、当該識別情報に対応したデータを前記第2のキャッシュから復元出力する復元部と
    を有することを特徴とする情報処理システム。
  8. 前記第1の情報処理装置及び前記第2の情報処理装置を管理するサーバを有し、
    前記サーバは、
    前記ルール及び、前記ルール毎に異なる開始項目を記憶する記憶部と、
    前記第1の情報処理装置へ入力するデータをキャプチャするキャプチャ部と、
    前記キャプチャ部にてキャプチャされた前記データから前記開始項目に対応した前記ルールを特定する特定部と、
    特定された前記ルールを前記第1の情報処理装置及び前記第2の情報処理装置に通知する通知部と
    を有することを特徴とする請求項7に記載の情報処理システム。
  9. 過去のデータをキャッシュ内に登録し、
    指定項目を検索条件とするルールを記憶部に変更可能に記憶し、
    新規のデータを取得した場合に、取得したデータが前記キャッシュ内に登録済みであるか否かを判定し、
    取得したデータが前記キャッシュ内に登録済みでない場合に、取得したデータ内に前記指定項目があるか否かを判定し、
    前記取得したデータ内に前記指定項目がある場合に、前記記憶部から当該指定項目の前記ルールを設定し、
    前記設定されたルールに基づき、取得したデータから前記指定項目を除去した後の残りのデータである差分データ及び、前記取得したデータを識別する識別情報を対向装置に出力する
    処理をコンピュータに実行させる情報処理プログラム。
  10. 情報処理装置が、
    過去のデータをキャッシュ内に登録し、
    指定項目を検索条件とするルールを記憶部に変更可能に記憶し、
    新規のデータを取得した場合に、取得したデータが前記キャッシュ内に登録済みであるか否かを判定し、
    取得したデータが前記キャッシュ内に登録済みでない場合に、取得したデータ内に前記指定項目があるか否かを判定し、
    前記取得したデータ内に前記指定項目がある場合に、前記記憶部から当該指定項目の前記ルールを設定し、
    前記設定されたルールに基づき、取得したデータから前記指定項目を除去した後の残りのデータである差分データ及び、前記取得したデータを識別する識別情報を対向装置に出力する
    処理を実行することを特徴とする情報処理方法。
JP2017099958A 2017-05-19 2017-05-19 情報処理装置、情報処理システム、情報処理プログラム及び情報処理方法 Active JP7087277B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017099958A JP7087277B2 (ja) 2017-05-19 2017-05-19 情報処理装置、情報処理システム、情報処理プログラム及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017099958A JP7087277B2 (ja) 2017-05-19 2017-05-19 情報処理装置、情報処理システム、情報処理プログラム及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2018195182A JP2018195182A (ja) 2018-12-06
JP7087277B2 true JP7087277B2 (ja) 2022-06-21

Family

ID=64571424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017099958A Active JP7087277B2 (ja) 2017-05-19 2017-05-19 情報処理装置、情報処理システム、情報処理プログラム及び情報処理方法

Country Status (1)

Country Link
JP (1) JP7087277B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299019A (ja) 2004-06-24 2007-11-15 Nec Corp データ通信システム、サーバ装置及びそれに用いるデータ通信方法並びにそのプログラム
JP2011039766A (ja) 2009-08-11 2011-02-24 Ricoh Co Ltd 情報配信サーバ、情報配信システム、情報配信プログラム、及び情報配信方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299019A (ja) 2004-06-24 2007-11-15 Nec Corp データ通信システム、サーバ装置及びそれに用いるデータ通信方法並びにそのプログラム
JP2011039766A (ja) 2009-08-11 2011-02-24 Ricoh Co Ltd 情報配信サーバ、情報配信システム、情報配信プログラム、及び情報配信方法

Also Published As

Publication number Publication date
JP2018195182A (ja) 2018-12-06

Similar Documents

Publication Publication Date Title
CN104933056B (zh) 统一资源定位符去重方法及装置
JP6435398B2 (ja) 端末識別子を促進する方法及びシステム
JP5520291B2 (ja) ファイル分類を特定する方法およびシステム
US9881099B2 (en) System, method and computer program product for data transfer management
CN105095760A (zh) 用于检测恶意软件的方法和系统
CN110175278B (zh) 网络爬虫的检测方法及装置
CN107004015A (zh) 用于计算滚动散列的技术
US7987153B2 (en) Apparatus and method for automatically migrating user's working data
US9256519B2 (en) Using linked data to determine package quality
JP2015508543A (ja) 店舗訪問データを処理すること
US9898386B2 (en) Detecting byte ordering type errors in software code
US20190102165A1 (en) Method and system for identifying open-source software package based on binary files
US11036479B2 (en) Devices, systems, and methods of program identification, isolation, and profile attachment
CN107766467B (zh) 一种信息检测方法、装置、电子设备及存储介质
US10423495B1 (en) Deduplication grouping
US20170309298A1 (en) Digital fingerprint indexing
CN109977675B (zh) 一种开源软件识别方法及装置
US10346700B1 (en) Object recognition in an adaptive resource management system
JP6182275B2 (ja) セッションディザスタ・リカバリのための方法およびシステム
US9996447B2 (en) Automated identification of redundant method calls
US20170351461A1 (en) Non-transitory computer-readable storage medium, and data compressing device
JP7087277B2 (ja) 情報処理装置、情報処理システム、情報処理プログラム及び情報処理方法
CN111368128A (zh) 目标图片的识别方法、装置和计算机可读存储介质
JP2018182639A (ja) 送信プログラム、送信方法および情報処理装置
US10949617B1 (en) System for differentiating encoding of text fields between networked services

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220523

R150 Certificate of patent or registration of utility model

Ref document number: 7087277

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150