JP7161270B2 - クラウド・コンピューティング・ストレージおよびコミュニケーション・ツール内のファイルの重複排除 - Google Patents

クラウド・コンピューティング・ストレージおよびコミュニケーション・ツール内のファイルの重複排除 Download PDF

Info

Publication number
JP7161270B2
JP7161270B2 JP2020527740A JP2020527740A JP7161270B2 JP 7161270 B2 JP7161270 B2 JP 7161270B2 JP 2020527740 A JP2020527740 A JP 2020527740A JP 2020527740 A JP2020527740 A JP 2020527740A JP 7161270 B2 JP7161270 B2 JP 7161270B2
Authority
JP
Japan
Prior art keywords
cloud storage
storage system
attachment
communication
same file
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
JP2020527740A
Other languages
English (en)
Other versions
JP2021503660A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2021503660A publication Critical patent/JP2021503660A/ja
Application granted granted Critical
Publication of JP7161270B2 publication Critical patent/JP7161270B2/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/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/063Content adaptation, e.g. replacement of unsuitable content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、一般的にコンピューティング・システムに関し、より詳細には、プロセッサによる通信メッセージ内のファイルの重複排除のための様々な実施形態に関する。
今日の社会において、消費者、ビジネス・パーソン、教育者、および他の人々は、様々な場面においてより高い頻度で様々なコンピューティング・ネットワーク・システムを使用する。コンピュータおよびネットワーク技術の出現により、日々の活動を活発化させつつ、生活の質を向上することが可能となってきた。コンピューティング・システムは、既存のインターネットのインフラストラクチャを使用して全世界にわたって分散しているコンピューティング・デバイスの相互接続である、モノのインターネット(IoT)を含むことができる。IoTデバイスは、様々な物理的なデバイスまたは製品に埋め込むことができる。技術における大きな進歩および前進の結実に伴い、これらのシステムで社会における効率性、通信、および改善を有利にするため大きく進歩させることが必要である。
1つまたは複数のプロセッサを使用する通信メッセージ内のファイルの重複排除のための様々な実施形態を提供する。一実施形態において、単に例として、また、プロセッサによる、クラウド・ストレージおよびコミュニケーション・ツールの両方におけるファイルの重複排除のための方法が提供される。通信メッセージの添付ファイルがクラウド・ストレージ・システム内に存在するものと判断することができる。添付ファイルのクラウド・ストレージ・システム上の同一ファイルにアクセスするためにリンクを通信クライアントに送信することができる。
本発明の利点が容易に理解されるべく、簡易に上述した本発明のより具体的な説明を、添付の図面において図示される特定の実施形態を参照して解説する。これらの図面は本発明の典型的な実施形態のみを描写しており、よってその範囲を限定しているものと見なされないと理解して、本発明を添付の図面の使用を通じて、さらなる具体性および詳細とともに説明し、解説する。
図1は、本発明の実施形態による、例示的なコンピューティング・ノードを描写するブロック図である。 図2は、本発明の実施形態による、例示的なクラウド・コンピューティング環境を描写する、追加的なブロック図である。 図3は、本発明の実施形態による、抽象的なモデル・レイヤを描写する追加的なブロック図である。 図4は、本発明の態様がやはり実現され得る、プロセッサによるクラウド・ストレージ・システムおよびコミュニケーション・ツール内のファイルの重複排除のための追加的な例示の方法を描写するフローチャート図である。 図5は、本発明の様々な態様間の例示的な機能上の関係性を描写する、追加的なブロック図である。 図6は、本発明の態様がやはり実現され得る、プロセッサによるクラウド・ストレージ・システムおよびコミュニケーション・ツール内でファイルの重複排除のための追加的な例示の方法を描写するフローチャート図である。 図7は、本発明の態様がやはり実現され得る、プロセッサによるクラウド・ストレージ・サーバによるファイルの重複排除のための追加的な例示の方法を描写するフローチャート図である。 図8は、本発明の態様がやはり実現され得る、プロセッサによる電子メール・クライアントによるファイルの重複排除のための追加的な例示の方法を描写するフローチャート図である。
前置きとして、コンピューティング・システムは、コンピュータ・ネットワークなどの通信システムを介してリソースが相互作用することができるか、またはアクセスされ得るか、あるいはその両方である、「クラウド・コンピューティング」と呼ばれる大規模コンピューティングを含むことができる。リソースは、ソフトウェアレンダリングのシミュレーション、またはコンピューティング・デバイス、ストレージ・デバイス、アプリケーション、もしくは他のコンピュータ関連のデバイスまたはその組合せ、もしくはサーバなどの1つもしくは複数のコンピューティング・デバイス上で実行するサービスまたはその組合せのエミュレーション、あるいはその組合せ、を含むことができる。例えば、複数のサーバは、リクエストされたタスクを遂行するために必要な処理能力の量、ストレージ容量、または他のコンピューティング・リソースあるいはその組合せに応じて、複数のサーバにわたって拡大することができるか、または縮小することができるか、あるいはその両方である情報を、通信し、共有し、あるいはその両方を行うことができる。語句「クラウド」は、コンピューティング・デバイス、コンピュータ・ネットワーク、またはそのような構成配置で相互作用する他のコンピュータ関連のデバイスあるいはその組合せの間の相互接続の図の雲形状の見かけをそれとなく指している。追加的に、モノのインターネット(IoT)は、物体、殊に家電製品に埋め込んでネットワークを通じて接続することができるコンピューティング・デバイスの新興の概念である。IoTネットワークは1つまたは複数のIoTデバイスまたは「スマート・デバイス」を含むことができるが、それらはコンピューティング・デバイスを埋め込まれた家電製品などの物理的な物体である。これらの物体の多くは、独立的に動作可能なデバイスであるが、制御システム、または代替的にクラウド・コンピューティング環境上で実行するもののような分散制御システムと組みにすることもできる。
多くの事業者(例えば、会社、組織、グループ、政府団体など)は、電子メールすなわち(「email」)または、オンライン・チャット、インスタント・メッセージなどのコミュニケーション・ツールをインハウスで所有している。追加的に、事業者は、例えば、クラウド・コンテンツ管理ファイル共有サービスである「Box(登録商標)」などを使用するなど、チーム・メンバがファイルを共有できるようにするサービスまたはコミュニケーション・ツールを使用するなど、従業員用にプライベートなクラウド・ストレージ・サービスを展開していることがある。
例えば、あるユーザが、サービスまたはコミュニケーション・ツールを使用して、クラウド・ストレージ内に存在するファイルを関係者に、電子メール・メッセージを介して彼らまたは彼女のレビューのために送信することを考える。ユーザがその電子メール・メッセージに添付ファイルとしてファイルを添付する場合、同じファイルがコミュニケーション・ツール・サービスと電子メール・システムとの両方に存在するようになる。これらのファイルは、しばしば電子メール内の添付ファイルとして送信される。同じファイルのコピーを複数有することは、不要なストレージ消費に起因してストレージ管理者の観点から問題になり得る。これは事業者またはストレージ管理者あるいはその両方にコストを負わせることになり、一方でコンピューティング効率を低下させる。しかしながら、これはユーザの観点からは問題に見えることはない。この理由により、ユーザが是正を必要とするよう動機づけられる可能性は低い。さらには、電子メールがファイルを含んでおらず、かつ電子メールの受信者がファイルを取り出すためにコミュニケーション・ツールにログインすることが必要とされる場合、受信者は、ファイルを取り出すためだけに時間、努力、または手間あるいはその組合せを負担する。また、ユーザはコミュニケーション・ツール内でファイルへアクセスするためのリンクを開くために適当な閲覧権限を有することを必要とされることがあり、したがって共有のためにファイルごとのアクセス権を設定するためのさらなる時間が必要とされる。これらと同じ課題が、電子メール・メッセージへのファイル添付だけではなく、通信媒体、および例えばオンライン・チャット、wikiページなどの機能へのファイル添付にも当てはまる。すなわち、これらの状況において、まったく同じファイルが、クラウド・ストレージ・システムと、例えば電子メール・システムなどのコミュニケーション・ツールのバックエンドのデータベース(DB)との両方に存在する。例えば、1か月に一度10メガバイト(「MB」)のファイルでそれぞれ1万ユーザが上述の動作を行うと、1年間で1164ギガバイト(「GB」)の重複ファイルが生成される。
クラウド・ストレージとコミュニケーション・ツールとが同じストレージ上にある場合、既存の重複排除技術を使用して重複するデータ・ブロックを削除することができる。しかしながら、クラウド・ストレージとコミュニケーション・ツールは、通常、別個のシステムであり、ファイルは、別個のストレージ・デバイスに記憶される。したがって、既存の重複排除技術を使用することができない。
それに応じて、本発明は、同じファイルがクラウド・ストレージおよび別個のコミュニケーション・ツール内に存在する場合に、重複する容量消費を排除する解決策を提供する。一態様において、図示される実施形態のメカニズムは、1つまたは複数のプロセッサまたはコンピューティング・システムにより、クラウド・ストレージとコミュニケーション・ツールとの両方のファイルの重複排除を提供する。通信メッセージの添付ファイルがクラウド・ストレージ・システム内に存在するものと判断することができる。添付ファイルのクラウド・ストレージ・システム上の同一ファイルにアクセスするためにリンクを通信クライアントに送信することができる。
例えば、事業者が従業員同士でデータ/情報を共有するために、プライベートなクラウド・ストレージおよび例えば電子メール・システムなどのコミュニケーション・ツールの両方を使用すると仮定する。ユーザは、電子メールを介してクラウド・ストレージ内に記憶されたファイルを共有することを意図することがある。そのため、ユーザは、追加的なストレージ容量が消費されるのを防ぐために、クラウド・ストレージ内に記憶されるファイルにリンク(例えば、Hypertext Transfer Protocol「HTTP」リンク)を提供することがある。しかしながら、ファイルが電子メールに添付されている場合、本発明は、同じファイルがクラウド・ストレージおよび別個のコミュニケーション・ツール内に存在する際、重複する容量消費を排除する解決策を提供する。
より具体的には、ファイルがクラウド・ストレージ・システムにアップロードされる時、クラウド・ストレージ・システムがそのファイルについてのハッシュ値を計算することができる。ファイルが電子メールに添付され送信されるよう必要とされる際、コミュニケーション・ツール(例えば、電子メール・システム、チャット、wiki)は、添付ファイルのハッシュ値を計算する。電子メール・システムは、クラウド・ストレージ・システムによって提供され得るアプリケーション・プログラム・インターフェース(「API」)を使用して、クラウド・ストレージ・システム内にあるファイルをルックアップするためにルックアップ動作を実施し、クラウド・ストレージ・システム内のファイルの同じハッシュ値が添付ファイルのハッシュ値と同一かどうかを判断することができる。同じファイルが見つかる場合、電子メール・システムは、添付ファイルへのリンクをクラウド・ストレージ内の同一ファイルへのリンクで置き換えることができる。したがって、添付ファイルについてのストレージ消費を削減することができる。
一態様において、本発明を、コミュニケーション・ツールとして電子メール・システムに対し適用することができる。wikiシステムを考える場合、「電子メール」を「wikiページ」と読み替えることができ、「電子メール・メッセージを送信する」を「wikiページを保存する」と読み替えることができる。
1つまたは複数の数学的演算(例えば、微分方程式または偏微分方程式を分析的にまたは計算機科学的に解くこと、加算、減算、除算、乗算、標準偏差、平均値、算術平均値、百分率、結合変数についての最小値、最大値、または類似の閾値を見つけることにより統計分布を使用する統計的モデルを使用することなど)を伴い得る様々な数学的演算または関数を使用して、1つまたは複数の計算を実施することができることに留意されたい。
図示される実施形態の様々な態様の他の例、および対応する利点を本明細書においてさらに説明する。
本開示は、クラウド・コンピューティングについての詳細な説明を含むが、本明細書で説明される教示の実装形態は、クラウド・コンピューティング環境、または1つもしくは複数の手段に関連付けられるコンピューティング・システムあるいはその両方に限定されないことを、前もって理解されたい。むしろ本発明の実施形態は、現在知られている、または今後開発される、あらゆる他のタイプのコンピューティング環境と併せて実装することができる。
クラウド・コンピューティングは、最小限の管理努力またはサービスのプロバイダとの対話で迅速にプロビジョニングおよびリリースされ得る、便利でオン・デマンドの構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有されるプールへのネットワーク・アクセスを可能とするためのサービス提供のモデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つの展開モデルを含むことができる。
特徴は以下のとおりである:
オン・デマンド・セルフサービス:クラウド消費者は、サービスのプロバイダとの人間対話を要求することなく必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピュータ機能を一方的にプロビジョニングすることができる。
幅広いネットワーク・アクセス:機能はネットワーク上で利用可能であり、異質なシンまたはシックなクライアントのプラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的なメカニズムを通じてアクセスされる。
リソース・プール:プロバイダのコンピューティング・リソースは、マルチテナントのモデルを使用する複数の消費者にサービス提供するためにプールされ、異なる物理的および仮想的なリソースが要求にしたがって動的に割り当ておよび再割り当てされる。消費者が提供されるリソースの正確な場所についての制御または情報を一般的に持たない点で、場所の独立性の意味があるが、より高レベルの抽象化(例えば、国、州、またはデータセンタ)において場所を特定できることもある。
迅速な拡張性:機能は迅速かつ拡張可能にプロビジョニングすることができ、いくつかの場合において、自動的に、素早くスケール・アウトされ、迅速にリリースされて素早くスケール・インされる。消費者にとって、プロビジョニングのために利用可能な機能は、しばしば無制限なようで、いつでもいくらでも購入することができる。
サービスが計測される:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザ・アカウント)に適当な抽象化のいくつかのレベルにおいて計測機能を活用することによりリソースの使用を自動的に制御し、最適化する。リソースの使用量は監視され、制御され、かつ報告され得、利用されるサービスのプロバイダおよび消費者の両方にとって透明性を与えている。
サービス・モデルは以下のとおりである:
サービスとしてのソフトウェア(Software as a Service)(SaaS):消費者に提供される機能は、クラウド・インフラストラクチャで実行するプロバイダのアプリケーションを使用する。アプリケーションは、ウェブ・ブラウザなどのシン・クライアント・インターフェース(例えば、ウェブ・ベースの電子メール)を通じて様々なクライアント・デバイスからアクセス可能である。消費者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、またはさらには個々のアプリケーション機能を含む基礎となるクラウド・インフラストラクチャを管理または制御することはなく、例外として限定されたユーザ固有アプリケーションの構成設定が可能である。
サービスとしてのプラットフォーム(Platform as a Service)(PaaS):消費者に提供される機能は、プロバイダによって供給されるプログラミング言語およびツールを使用した消費者作成の、または取得されたアプリケーション作成のクラウド・インフラストラクチャに展開する。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎となるクラウド・インフラストラクチャの管理または制御をしないが、展開されたアプリケーション、および場合によっては環境構成をホストするアプリケーションについての制御を有する。
サービスとしてのインフラストラクチャ(Infrastructure as a Service)(IaaS):消費者に提供される機能は、消費者がオペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを展開および実行することができる処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングする。消費者は、基礎となるクラウド・インフラストラクチャの管理または制御をしないが、オペレーティング・システム、ストレージ、展開されたアプリケーション、および場合によっては選択ネットワーク・コンポーネント(例えば、ホスト・ファイヤウォール)の限定された制御についての制御を有する。
展開モデルは以下のとおりである:
プライベート・クラウド:クラウド・インフラストラクチャはある組織のためだけに運用される。その組織またはサード・パーティによって管理され得、オンプレミスまたはオフプレミスで存在することができる。
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、共有される事案(例えば、ミッション、セキュリティ要件、ポリシ、およびコンプライアンス懸案事項)を有する特定のコミュニティをサポートする。その組織またはサード・パーティによって管理され得、オンプレミスまたはオフプレミスで存在することができる。
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆または大規模な業界団体に対して利用可能とされ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、一意なエンティティのままである2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)を組合せたものであるが、データおよびアプリケーションのポータビリティを可能にする標準化された、または専有的な技術(例えば、クラウド間でロード・バランシングを行うためのクラウド・バースト)によって結合される。
クラウド・コンピューティング環境は、無国籍、低い結合性、モジュール性、および意味論的な相互運用性に集中するサービス指向である。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
次に図1を参照すると、クラウド・コンピューティング・ノードの例の概略図が示されている。クラウド・コンピューティング・ノード10は、適切なクラウド・コンピューティング・ノードのただの一例であり、本明細書で説明される本発明の実施形態の使用または機能の範囲に関していかなる限定を示唆するように意図されていない。とにかく、クラウド・コンピューティング・ノード10は、本明細書で上述の機能のあらゆるものを実装または実施あるいはその両方を行うことができる。
クラウド・コンピューティング・ノード10内には、多くの他の汎用または特殊目的の、コンピューティング・システム環境または構成で動作可能である、コンピュータ・システム/サーバ12が存在する。コンピュータ・システム/サーバ12での使用に適切であり得る良く知られているコンピューティング・システム、環境、または構成あるいはそれらの組合せの例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップのデバイス、マルチ・プロセッサ・システム、マイクロ・プロセッサベースのシステム、セット・トップ・ボックス、プログラム可能家庭用電子機器、ネットワークPC、ミニ・コンピュータ・システム、メインフレーム・コンピュータ・システム、および上記システムまたはデバイスのいずれかを含む分散クラウド・コンピューティング環境などを含むがそれに限定しない。
コンピュータ・システム/サーバ12は、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム-実行可能命令の一般的なコンテキストで説明され得る。一般的に、プログラム・モジュールは、特定のタスクを実施するか、または特定の抽象的なデータ・タイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含むことができる。コンピュータ・システム/サーバ12、タスクが通信ネットワークを通じてリンクされたリモート処理デバイスによって実施される分散クラウド・コンピューティング環境において実用化することができる。分散クラウド・コンピューティング環境において、プログラム・モジュールはローカルおよびリモートの両方のメモリ記憶デバイスを含むコンピュータ・システム記憶媒体に配置することができる。
図1において示されるように、クラウド・コンピューティング・ノード10におけるコンピュータ・システム/サーバ12が汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ12のコンポーネントは、1つまたは複数のプロセッサまたは処理ユニット16、システム・メモリ28、およびシステム・メモリ28を含む様々なシステム・コンポーネントをプロセッサ16に連結するバス18を含むことができるが、それに限定されない。
バス18は、バス構造のいくつかのタイプのうちの任意の1つまたは複数を表しており、メモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、およびプロセッサまたは様々なバス・アーキテクチャの任意のものを使用するローカル・バスを含む。限定ではなく例として、そのようなアーキテクチャはインダストリ・スタンダード・アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、エンハンストISA(EISA)バス、Video Electronics Standards Association(VESA)ローカル・バス、およびPeripheral Component Interconnect(PCI)バスを含む。
コンピュータ・システム/サーバ12は、典型的には様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ12によってアクセス可能なあらゆる利用可能な媒体であることができ、揮発性および非揮発性の媒体、ならびにリムーバブルおよび非リムーバブルの媒体の両方を含む。
システム・メモリ28は、ランダム・アクセス・メモリ(RAM)30またはキャッシュ・メモリ32あるいはその両方などの揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ12は、他のリムーバブル/非リムーバブルの、揮発性/非揮発性のコンピュータ・システム記憶媒体をさらに含むことができる。単なる例として、非リムーバブル、非揮発性の磁気媒体(典型的には「ハード・ドライブ」と称され、図示せず)からの読み取りおよびそれへの書き込みのためのストレージ・システム34を設けることができる。図示していないが、リムーバブル、非揮発性の磁気ディスク(例えば、「フロッピー(R)・ディスク」)からの読み取りおよびそれへの書き込みのための磁気ディスク・ドライブ、CD-ROM、DVD-ROMまたは他の光学媒体などのリムーバブル、非揮発性の光学ディスクからの読み取りおよびそれへの書き込みのための光学ディスク・ドライブを設けることができる。そのような事例において、それぞれは1つまたは複数のデータ媒体インターフェースによってバス18へ接続することができる。以下でさらに描写され説明されるように、システム・メモリ28は、本発明の実施形態の機能を実行するように構成されるプログラム・モジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含むことができる。
プログラム・モジュール42のセット(少なくとも1つ)を有するプログラム/ユーティリティ40は、限定ではなく例として、システム・メモリ28に記憶することができ、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データも同様である。オペレーティング・システムのそれぞれ、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データまたはそのいくつかの組合せは、ネットワーク環境の実装を含むことができる。プログラム・モジュール42は、一般的に本明細書において説明されるような本発明の実施形態の機能または方法あるいはその両方を実行する。
コンピュータ・システム/サーバ12はまた、キーボード、ポインティング・デバイス、ディスプレイ24、などの1つもしくは複数の外部デバイス14、ユーザがコンピュータ・システム/サーバ12と対話できるようにする1つもしくは複数のデバイス、またはコンピュータ・システム/サーバ12が1つもしくは複数の他のコンピューティング・デバイスと通信できるようにするあらゆるデバイス(例えば、ネットワーク・カード、モデムなど)あるいはその組合せと通信することができる。そのような通信は入力/出力(I/O)インターフェース22を介して行うことができる。さらになお、コンピュータ・システム/サーバ12は、ローカル・エリア・ネットワーク(LAN)、一般的なワイド・エリア・ネットワーク(WAN)、またはネットワーク・アダプタ20を介するパブリック・ネットワーク(例えば、インターネット)あるいはその組合せなどの1つまたは複数のネットワークと通信することができる。描写されるように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム/サーバ12の他のコンポーネントと通信する。図示していないが、他のハードウェアまたはソフトウェアあるいはその両方のコンポーネントが、コンピュータ・システム/サーバ12と併せて使用することができることが理解されるべきである。例として、マイクロコード、デバイス・ドライバ、冗長化処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが挙げられるが、それに限定されない。
次に図2を参照すると、例示的なクラウド・コンピューティング環境50が描写されている。示されるように、クラウド・コンピューティング環境50は、例えば、携帯情報端末(PDA)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54Nあるいはその組合せなどのクラウド消費者によって使用されるローカルのコンピューティング・デバイスと通信することができる1つまたは複数のクラウド・コンピューティング・ノード10を備える。ノード10は互いに通信することができる。本明細書において上述のようなプライベート、コミュニティ、パブリック、もしくはハイブリッドのクラウドまたはその組合せなどの1つまたは複数のネットワークにおいて、それらは物理的または仮想的にグループ化することができる(図示せず)。これにより、クラウド・コンピューティング環境50は、クラウド消費者がローカルのコンピューティング・デバイス上でリソースを維持する必要のない、インフラストラクチャ、プラットフォーム、またはソフトウェアあるいはその組合せをサービスとして与えることができる。図2に示されるコンピューティング・デバイス54A~Nのタイプは、図示のみを意図されており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、あらゆるタイプのネットワーク上またはネットワーク・アドレス可能接続で(例えば、ウェブ・ブラウザを使用して)あるいはその両方であらゆるタイプのコンピュータ化されたデバイスと通信することができることが理解される。
次に図3を参照すると、クラウド・コンピューティング環境50(図2)によって提供される機能的な抽象化レイヤのセットが示されている。図3に示されるコンポーネント、レイヤ、および機能は、図示のみを意図されており、本発明の実施形態はそれに限定されないことが、まず理解されるべきである。描写されるように、以下のレイヤおよび対応する機能が提供される。
デバイス・レイヤ55は物理的または仮想的あるいはその両方のデバイスを含み、クラウド・コンピューティング環境50内で様々なタスクを実施するために電子機器、センサ、アクチュエータ、および他の物体を埋め込まれているか、またはスタンドアロンあるいはその両方である。デバイス・レイヤ55内のデバイスのそれぞれは、デバイスから取得された情報を他の抽象レイヤに与えることができるように、または他の抽象レイヤからの情報をデバイスに与えることができるように、あるいはその両方ができるように、他の機能的な抽象レイヤへのネットワーク機能を組み込んでいる。一実施形態において、デバイス・レイヤ55を含めて様々なデバイスは総じて「モノのインターネット」(IoT)として知られるエンティティのネットワークを組み込むことができる。そのようなエンティティのネットワークは、データの相互通信、収集、伝播を可能にし、当業者であれば理解するような多種多様な目的を達成する。
示されるようなデバイス・レイヤ55は、示されるようなセンサ52、アクチュエータ53、集積処理、センサ、およびネットワーク用電子機器を有する「学習」サーモスタット56、カメラ57、制御可能な家庭用コンセント/レセプタクル58、ならびに制御可能な電気的スイッチ59を含む。他の可能なデバイスとして、様々な追加的なセンサ・デバイス、ネットワーク用デバイス、電子機器デバイス(リモート・コントロール・デバイスなど)、追加的なアクチュエータ・デバイス、冷蔵庫または洗濯機/乾燥機などのいわゆる「スマート」家電、および広範囲な他の可能な相互接続された物体を含むことができるが、それに限定はしない。
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、以下が挙げられる:メインフレーム61、RISC(縮小命令セット・コンピュータ(Reduced Instruction Set Computer))アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーク・コンポーネント66。いくつかの実施形態において、ソフトウェア・コンポーネントはネットワーク・アプリケーション・サーバ・ソフトウェア67、およびデータベース・ソフトウェア68を含む。
仮想化レイヤ70は、仮想エンティティの以下の例を提供することができる抽象化レイヤを与える:仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、および仮想クライアント75。
一例において、管理レイヤ80は、以下で説明される機能を提供することができる。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実施するために利用されるコンピューティング・リソースおよび他のリソースの動的な調達を提供する。計測および課金82は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびこれらのリソースの消費についての課金または請求書発行を提供する。一例において、これらのリソースはアプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド消費者およびタスクについての識別情報の検証、ならびにデータおよび他のリソースについての保護を提供する。ユーザ・ポータル83は、クラウド・コンピューティング環境へのアクセスを消費者およびシステム管理者に提供する。サービス水準管理84は、要求されるサービス水準が満たされるように、クラウド・コンピューティング・リソースの割り当ておよび管理を提供する。サービス水準合意(SLA)計画および遂行85は、将来的な要求がSLAにしたがって予期されるクラウド・コンピューティング・リソースについての事前申し合わせ、およびクラウド・コンピューティング・リソースの調達を提供する。
ワークロード・レイヤ90はクラウド・コンピューティング環境が利用され得る機能の例を提供する。このレイヤからもたらされ得るワークロードおよび機能の例として以下を挙げることができる:マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想授業教育配信93、データ分析処理94、取引処理95、ならびに本発明の図示される実施形態のコンテキストにおいては、通信メッセージのワークロードおよび機能内のファイルの様々な重複排除96。加えて、通信メッセージ内のファイルの重複排除のためのワークロードおよび機能96は、そのような動作をデータ分析論、データ分析として、およびさらに説明するように通知機能として含むことができる。当業者であれば、通信メッセージ内のファイルの重複排除のためのワークロードおよび機能96は、ハードウェアおよびソフトウェア60、仮想化70、管理80、および他のワークロード90(例えばデータ分析処理94など)におけるものなどの様々な抽象レイヤの他の部分と併せて作用することもでき、本発明の図示される実施形態の様々な目的を達成することを理解されよう。
一態様において、図示される実施形態のメカニズムは、通信メッセージ内のファイルの重複排除のための新奇な手法を提供する。前置きとして、本発明によって実現される重複排除機能は、ファイル・システムのレベルでは実装されないかもしれず、むしろ、クラウド・ストレージ・システムおよびコミュニケーション・ツール・システム(例えば、電子メール・システム)のアプリケーション・レベルで実装され得る。追加的な態様において、本発明によって実現される重複排除機能は、ファイル・システムのレベルにおいて、ならびにクラウド・ストレージ・システムおよびコミュニケーション・ツール・システムのアプリケーション・レベルにおいて、実装することができる。具体的には、重複排除機能は、これらの2つのシステム(例えば、クラウド・ストレージ・システムおよびコミュニケーション・ツール・システム)に機能を追加すること、およびこれらの機能をAPIを介して互いに通信できるように設定することにより、実装することができる。APIの使用により、2つのアプリケーションのバックエンド・システムの広範囲な統合を排除または削減あるいはその両方を行って重複排除機能の実装が可能となる。この方法において、本発明のメカニズムが事業者または組織の既存のシステムに適用可能となり得る。
次に図4を見ると、図示される実施形態の様々な態様が実装され得る、プロセッサを使用する通信メッセージ内のファイルの重複排除のための方法400が描写されている。機能400は、マシン上で命令として実行される方法として実装することができ、ここで命令は、少なくとも1つのコンピュータ可読媒体または1つの非一過性のマシン可読記憶媒体に含まれる。機能400は、ブロック402において開始することができる。ブロック404におけるように、クラウド・ストレージ・システムにアップロードされたそれぞれのファイルごとにハッシュ値(例えば、「SHA256」など)を計算し、保存することができる。ブロック406におけるように、添付ファイルを伴う通信メッセージが送信または保存されると、送信されたまたは保存されたあるいはその両方の通信メッセージ(例えば、電子メール・メッセージ)内の添付ファイルのハッシュ値(例えば、SHA256)を計算することができ、同じ/同一のハッシュ値(例えば、SHA256)を有するファイル「F」をクラウド・ストレージ・システム上に配置されたファイルから見つけ出すことができる。ブロック408におけるように、添付ファイルは(通信メッセージから)削除することができ、通信メッセージ内に置かれたリンクが開かれるとファイル「F」を開くことができるように、通信メッセージ内のファイル「F」に添付ファイルの代わりにリンクを与えることができる。機能400は、ブロック410におけるように終了することができる。
次に図5を見ると、クラウド・ストレージ・システムおよびコミュニケーション・ツール内のファイルを重複排除するための重複排除システム500を描写する概略図が描かれている。見て分かるように、図1~図3で先に説明してきたのと同じ説明的な意味合いにおいて、機能ブロックの多くは、機能の「モジュール」として考えることもできる。機能ブロック500の多くは、分散コンピューティング・コンポーネントもしくはユーザ・デバイスのいずれか、またはそれ以外の様々なコンポーネントでバックグラウンド処理として実行することができ、一般的には本発明の一般化されたタスクを実施するユーザには認識されない。さらには、図4の機能400の動作は、図5の機能の様々なブロックに実装することができる。また、図1~図3の1つまたは複数の態様は、図4にも含まれるか、または図4にも実装されるか、あるいはその両方であってもよい。
重複排除システム500は、クラウド・ストレージ・システム502および電子メール・システム504を含むことができる。クラウド・ストレージ・システム502は、公開ファイル・ストレージ・システム518、隠し(例えば、非公開)ファイル・ストレージ・システム520、および1つまたは複数のAPI514を含むことができる。
電子メール・システム504は、電子メール・メッセージ506に添付される添付ファイル508を有することがある電子メール・メッセージ506(例えば、電子メール・メッセージ本文)を含むことができる。電子メール・システム504は、電子メール・メッセージ送信コンポーネント510および電子メール・メッセージ削除コンポーネント512を含むことができる。動作においては、電子メール・メッセージ送信コンポーネント510または電子メール・メッセージ削除コンポーネント512あるいはその両方は、電子メール・メッセージ本文506または添付ファイル508あるいはその両方を、1つまたは複数のAPI514を介して、クラウド・ストレージ・システム502に通信すること、送信すること、または送受信すること、あるいはその組合せを行うことができる。
前置きとして、電子メール・システム504において、電子メール・メッセージ内の添付ファイル508は、電子メール・メッセージ本文506にバイナリ・データとして埋め込まれず、電子メール・メッセージ本文506の受信後、HTTPを介してダウンロードすることができる。一態様において、電子メール・システムは、様々な電子メール・システムのタイプを含むことができる。
クラウド・ストレージ・システムのファイル・ストレージ・エリア
クラウド・ストレージ・システム502において、他のシステムおよびストレージとは別個に、隠しファイル・ストレージ・システム520を設けることができる。公開ファイル・ストレージ・システム518は、アップロードされたファイルを保存するストレージ・システムであり得る。一般的に、それぞれのファイルは、例えば名称、サイズなどの1つまたは複数の属性を有し、加えてクラウド・ストレージ・システム502内でのバージョン情報を有している。公開ファイル・ストレージ・システム518とは異なり、隠しファイル・ストレージ・システム520に記憶されたファイルは、一般的にはクラウド・ストレージのユーザからアクセス可能ではない。むしろ、公開ファイル・ストレージ・システム518は、電子メール・メッセージからリンクされたファイルを記憶する。
クラウド・ストレージ・システムのAPI
API514の1つまたは複数において、1つまたは複数のAPI関数が実装され得る。例えば、以下の4つのAPI関数を実装することができる。1)名称およびバージョンのパラメータによって指定されるファイルのハッシュ値(例えばSHA256値)を返すことができる「get_sha256_of(名称,バージョン)」関数。SHA256値は、既に計算されているので、API関数の実行時間は「O(1)」(例えば、セット内のデータの量に関わらず、例えば14ナノ秒または3分などの一定時間を必要とすることがある)である。2)名称およびバージョンのパラメータによって指定されるファイルの「ref_count」(例えば、対象ファイルを参照する、添付する、または含む、あるいはその組合せを行う電子メールの数を意味する参照回数)をインクリメントする「increment_ref_count_of(名称,バージョン)」関数。3)認証なしに名称およびバージョンのパラメータによって指定されるファイルにアクセスを可能とするHTTPリンクを作成して返す「get_special_link_to(名称,バージョン)」API関数。4)名称およびバージョンのパラメータによって指定されるファイルの「ref_count」をデクリメントする「decrement_ref_count_of(名称,バージョン)」関数。ref_countが0になると、関数は指定されたファイルを削除することができる。
クラウド・ストレージ・システムへのファイルのアップロード
クラウド・ストレージ・システム502へファイルをアップロードする場合、クラウド・ストレージ・システム502は、あらゆる既存の処理に加えて、以下を実施することができる。クラウド・ストレージ・システム502は、アップロードされたファイルのハッシュ値(例えばSHA256値)を計算し、メタデータsha256として値を保存することができる。クラウド・ストレージ・システム502は、メタデータ「ref_count」を0で初期化することができる。アップロード処理が完了したファイルは、クラウド・ストレージ・システム502の公開ファイル・ストレージ・システム518に保存することができる。
添付物として、アップロードされたファイルと同じファイルを伴う電子メール・メッセージの送信
送信ボタンをアクティブ化すると、電子メール・メッセージ送信コンポーネント510は、次のように動作することができる。ステップ1)電子メール・メッセージ送信コンポーネント510は、添付ファイル508のハッシュ値(例えば、SHA256値)を決定すること、または計算すること、あるいはその両方を行うことができ、本明細書において以降SHA256値は「S」と表記することがある。ステップ2)電子メール・メッセージ送信コンポーネント510は、電子メール・メッセージ(例えば電子メール・メッセージ本文506および添付ファイル508)を送信することができる。ステップ3)電子メール・メッセージ送信コンポーネント510は、添付ファイル508が記憶され得るコミュニケーション・ツール内で/上で、ファイル、フォルダ、およびコンテナの一覧を作成すること、または作ることあるいはその両方を行うことができる。コミュニケーション・ツール内の/上のすべてのファイルが検索される場合、ハッシュ値の比較により競合が起こる可能性がある。したがって、検索されるファイルは、定義された程度まで狭めることができるか、または狭められた検索クエリであってもよい。例えば、検索は次によって行うことができる:a)電子メール・メッセージ(電子メール・メッセージ本文506または添付ファイル508あるいはその両方を含み得る)を作成したユーザによってアップロードされたファイルを一覧にすること、または、b)最近アップロードされたファイル(例えば定義された期間内に、または期間の範囲内に最近アップロードされたもの)だけに検索を制限すること、あるいはその両方。ステップ4)ステップ3で一覧になされたファイルとバージョンのすべての組合せの、それぞれのファイル「F」およびバージョン「V」ごとに、電子メール・メッセージ送信コンポーネント510はa)API514の1つまたは複数(例えばクラウド・ストレージのAPI関数get_sha256_of(F,V))をコールすることができ、このAPIのコールは、ファイルFのバージョンVのメタデータsha256の値を返すことができ、本明細書において以降結果の値を「s1」と表記することがある。また、電子メール・メッセージ送信コンポーネント510は、b)s1==Sの場合、i)API514の1つまたは複数をコールし(例えばクラウド・ストレージのAPI関数increment_ref_count_of(F,V)をコールする)、ii)クラウド・ストレージのAPI関数get_special_link_to(F,V)をコールし(本明細書において以降その結果の値をslink()と表記する)、iii)送信された電子メール・メッセージから添付ファイル508を削除し、その代わりそこにはセクション・リンク(「slink」)を挿入し、iv)コンピューティング動作を終了することができる。
一態様において、電子メール・メッセージの送信(電子メール・メッセージ本文506または添付ファイル508あるいはその両方を含むことができる)は、ステップ4の後に実施することができる。しかしながら、電子メールの送信および重複したファイルの検索を非同期的に実施されることを可能にして、ステップ3において、増加し続けるファイルの検索を容易にするために、一覧にした現在のステップの順序が推奨される。したがって、添付物として、アップロードされたファイルと同じファイルを伴う電子メール・メッセージの送信のためのステップの与えられた順序により、重複したファイルを見つける機会および確率が大きくなる。さらには、不利なことに重複排除動作のタイミングは遅延することがある。しかしながら、個々の添付ファイルについての重複排除動作により削減することができるファイル容量消費量は、あまり大きくなるべきではないと考えられる。
ステップ4-b-iiの追加的かつ補足的な態様において、ファイル「F」は重複したファイルと認識され得、クラウド・ストレージにアップロードされ得る(例えば公開アクセス可能)。そのため、ファイル「F」に対して何らかのアクセス制限が必要となり、課されることがある。この理由のため、電子メール・メッセージの受信者がファイルにアクセスすることを可能にするために、プライベートなリンク(例えばアクセス権が設定されておらず、誰でもアクセスすることができるリンク)を、slinkとして使用することができる。また、コンピューティング・セキュリティの高まりで、クラウド・ストレージ・システム502は、新しいAPI関数(例えばAPI関数add permission(ファイル,バージョン,電子メール・アドレス))を有するように構成することができ、これは電子メール・アドレス・パラメータに関連付けられるユーザにファイルへのアクセス権を与え、電子メール・メッセージの受信者は新しいAPI関数を使用してファイルにアクセスするパーミッションが与えられる。
先ほどの説明では、どのように重複排除動作が実施されるかを図示した。前述の代わりに、以下は、クラウド・ストレージ上のリンクされたファイルまたはslinkを含む電子メール・メッセージに対する動作が行われる際の、本発明の振る舞いを提供する。
クラウド・ストレージからのファイルの削除
ファイルのバージョン(例えばFile_1 version:1、File_1 version:2、またはFile_2 version:1あるいはその組合せ)がクラウド・ストレージ・システム502から削除される場合、ref_count>0の場合、ファイルは削除され、ファイルを電子メール・メッセージからアクセス不可能にすることができる。それにより、本発明は、クラウド・ストレージ・システム502のファイルを以下の状態におくことができる:状態1)ファイルは、クラウド・ストレージの通常のインターフェースからアクセスすることができない(ファイルはフェイクになるように作成され、削除され得る)、または状態2)ファイルは選択されたHTTPリンクを介してのみアクセス可能である、あるいはその両方の状態。そのため、隠しファイル・ストレージ・システム520を、そのような特徴を有するフォルダ/コンテナとして導入すること/提供することができ、ファイルを状態1または状態2あるいはその両方の状態におくことを可能とする。隠しファイル・ストレージ・システム520は、1)クラウド・ストレージのあらゆるユーザがアクセスすることを禁止されるフォルダを用意すること、および2)電子メール・システム504の選択されたまたは識別されたユーザを、フォルダ(例えば、隠しファイル・ストレージ・システム520)にアクセスすることができる唯一のユーザとしてそれぞれ登録すること、によって提供され得る。クラウド・ストレージ・システム502(例えば公開ファイル・ストレージ・システム518から)からファイルのあるバージョンを削除することは、次のように実施することができる。また、参照回数がゼロに等しい場合(例えば「ref_count==0」)、1つまたは複数の削除動作を使用してファイルを削除することができるか、またはファイルを公開ファイル・ストレージ・システム518から隠しファイル・ストレージ・システム520に移動することができるか、あるいはその両方である。
Slinkを含む電子メール・メッセージの削除
Slinkを含む電子メール・メッセージが削除される場合、またslinkからリンクされるファイルが隠しファイル・ストレージ・システム520に存在する場合で、かつそのファイルを参照する電子メール・メッセージが1つだけである場合、ファイルは、クラウド・ストレージ・システム502から(例えば隠しファイル・ストレージ・システム520から)削除される。すなわち、slinkを含む電子メール・メッセージが削除される場合、電子メール・メッセージ送信コンポーネント510は、次のように動作する。ステップ1)slinkがリンクされているファイルの名称FおよびバージョンVを取り出す。第1のステップ(「ステップ1」)として、リンクされるファイルの名称およびバージョンがslinkから直接認識され得るように、slinkをフォーマットすることができるか、または例えばget_filename_and_version_of(slink)などの、1つまたは複数のAPI関数514の他のAPI関数を実装することができるか、あるいはその両方である。第2のステップ(「ステップ2」)として、電子メール・メッセージ送信コンポーネント510は、API514の1つまたは複数をコールすることができる(例えばクラウド・ストレージのAPI decrement_ref_count_of(F,V)をコールする)。やはり、前述のように、「クラウド・ストレージのAPI decrement_ref_count_of(F,V)」APIのコールは、参照回数「ref_count」をデクリメントし、参照回数「ref_count」が0に達すると、ファイルをクラウド・ストレージ・システム502から削除することができる。第3のステップ(「ステップ3」)として、電子メール・メッセージ送信コンポーネント510は電子メール・メッセージを削除することができる。
本発明の本明細書において説明したように、ファイルが初めにクラウド・ストレージ・システム(例えば、クラウド・ストレージ・システム502)にアップロードされ、次に電子メール・メッセージにおいて添付ファイル(例えば、添付ファイル508)として使用される場合、ファイルの重複排除動作が可能であることに留意されたい。しかしながら、ファイルが初めに添付物として電子メール・メッセージに添付され、次にクラウド・ストレージ・システム(例えば、クラウド・ストレージ・システム502)にアップロードされる場合、重複排除動作は許可されない/可能ではない。しかしながら、クラウド・ストレージ・システム(例えば、クラウド・ストレージ・システム502)へのアップロードは、時間的により早期に実施されることがあり、これはクラウド・ストレージがローカルのファイル・システムと同期されている場合に起こりやすい。
次に図6を見ると、図示される実施形態の様々な態様が実装され得る、プロセッサを使用するクラウド・ストレージ・サーバによる重複排除のための方法600が描写されている。機能600は、マシン上で命令として実行される方法として実装することができ、ここで命令は、少なくとも1つのコンピュータ可読媒体または1つの非一過性のマシン可読記憶媒体に含まれる。一態様において、図1~図5の機能、動作、またはアーキテクチャ上の設計あるいはその組合せを、図6において、すべてまたは一部あるいはその両方で実装することができる。
機能600は、ブロック602において開始することができる。ブロック604におけるように、通信メッセージ(例えば、電子メール)の添付ファイルがクラウド・ストレージ・システム内に存在するものと判断するために、判断動作を実施することができる。ブロック606におけるように、添付ファイルのクラウド・ストレージ・システム上の同一ファイルにアクセスするためにリンクを通信クライアント(例えば、電子メール・クライアントの受信者)に送信することができる。機能600は、ブロック608におけるように終了することができる。
一態様において、図6の少なくとも1つのブロックと併せて、または図6の少なくとも1つのブロックの一部として、あるいはその両方で、方法600の動作は、次のそれぞれを含むことができる。方法600の動作は、通信クライアントから添付ファイルを有する通信メッセージを送信または受信あるいはその両方を行うことができる。方法600の動作は、クラウド・ストレージ・サーバまたは通信クライアントを使用してクラウド・ストレージ・システム内に添付ファイルが存在すると判断することができ、この場合、通信クライアントは、電子メール・クライアントである。通信メッセージの送信者からアップロードされたファイルの一覧は、検索され得る。
追加的な態様において、方法600の動作は、アプリケーション・プログラム・インターフェース(API)のコールを使用して通信クライアントを介して同一ファイルのハッシュ値を取得すること、同一ファイルのハッシュ値を通信メッセージ中の添付ファイル内のハッシュ値と比較すること、またはクラウド・ストレージ・システム内の同一ファイルが通信メッセージ中の添付ファイルと同一のハッシュ値を有していると判断すること、あるいはその組合せを行うことができる。また、同一ファイルの削除の際、同一ファイルを、リンクを介してのみアクセス可能なクラウド・ストレージ・システムの選択されたエリアに再配置することもできる。
次に図7を見ると、図示される実施形態の様々な態様が実装され得る、プロセッサを使用するクラウド・ストレージ・サーバによる重複排除のための方法700が描写されている。機能700は、マシン上で命令として実行される方法として実装することができ、ここで命令は、少なくとも1つのコンピュータ可読媒体または1つの非一過性のマシン可読記憶媒体に含まれる。一態様において、図1~図5の機能、動作、またはアーキテクチャ上の設計あるいはその組合せを、図7において、すべてまたは一部あるいはその両方で実装することができる。
機能700は、ブロック702において開始することができる。ブロック704におけるように、クラウド・コンピューティング・サーバによって、電子メール・クライアントから添付ファイルを有する電子メール・メッセージを受け取ることができる。ブロック706におけるように、クラウド・コンピューティング・サーバによって、クラウド・ストレージ・システム上に添付ファイルが存在するものと判断するために、判断動作を実施することができる。ブロック708におけるように、クラウド・ストレージ・システム上に添付ファイルが存在するとの判断に応じて、クラウド・ストレージ・システム上の同一ファイルにアクセスするためにクラウド・ストレージ・サーバによって電子メール・クライアントにリンクを送信することができる。機能700は、ブロック710におけるように終了することができる。
次に図8を見ると、図示される実施形態の様々な態様が実装され得る、プロセッサを使用する電子メール・クライアントによる重複排除のための方法800が描写されている。機能800は、マシン上で命令として実行される方法として実装することができ、ここで命令は、少なくとも1つのコンピュータ可読媒体または1つの非一過性のマシン可読記憶媒体に含まれる。一態様において、図1~図5の機能、動作、またはアーキテクチャ上の設計あるいはその組合せを、図8において、すべてまたは一部あるいはその両方で実装することができる。
機能800は、ブロック802において開始することができる。ブロック804におけるように、電子メール・クライアントから添付ファイルを有する電子メール・メッセージを送信することができる。ブロック806におけるように、クラウド・ストレージ・システム上に添付ファイルが存在すると判断するために、判断動作を実施することができる。ブロック808におけるように、クラウド・ストレージ上に添付ファイルが存在するとの判断に応じて、クラウド・ストレージ・システム上の同一ファイルにアクセスするためにクラウド・ストレージ・システムからリンクを取得することができる。ブロック810におけるように、電子メール・メッセージの添付ファイルを削除することができ、削除されたファイルはリンクで置き換えることができる。機能800はブロック812におけるように終了することができる。
一態様において、図6~図8の少なくとも1つのブロックと併せて、または図6~図8の少なくとも1つのブロックの一部として、あるいはその両方で、方法600、700または800あるいはその組合せの動作は次のそれぞれを含むことができる。方法600、700または800あるいはその組合せの動作は、クラウド・ストレージ・システム上に添付ファイルが存在するかどうかを判断するために、クラウド・ストレージ上のファイルが添付ファイルのハッシュ値と同一のハッシュ値を有しているかどうかを判断することができる。クラウド・ストレージ上に記憶されたファイルのハッシュ値は、1つまたは複数のAPIコール(例えば、「get_sha256」)を使用することにより電子メール・クライアントによって取得され得る。ファイルが同じかまたは同一かあるいはその両方かどうかを判断/確認するために、クラウド・ストレージ内のハッシュ値と添付ファイルのハッシュ値との間で比較動作を実施することができる。添付ファイルがクラウド・ストレージ上に存在するかどうかを判断するために、電子メール・メッセージの送信者によってアップロードされたファイルを含む一覧に対して、検索が実施されるか、もしくは行われるか、またはその両方であってもよく、あるいは電子メール・メッセージの送信者によって最近アップロードされたファイル(例えば、選択された、または定義された期間内の)を含む一覧に対して実施されるか、もしくは行われるか、またはその両方であってもよく、あるいはその組合せであってもよい。
一態様において、方法600、700または800あるいはその組合せの動作は、電子メール・システムまたはクラウド・ストレージ・システムあるいはその両方のあらゆるユーザからアクセス可能であり得るクラウド・ストレージ上のファイルにリンクを提供することができる。追加的な態様において、クラウド・ストレージ上のファイルが削除される際、削除されるファイルをクラウド・ストレージ(隠しファイル・エリア)上のエリアに除去して選択されたリンクを介してのみアクセス可能としてもよく、電子メール・システムまたはクラウド・ストレージ・システムあるいはその両方の選択されたまたは識別されたユーザに制限することができる。電子メール・クライアントは1つまたは複数のAPIのコール(例えば、「get_special_link」APIコール関数)を使用することによりクラウド・ストレージからリンクを取得することができる
本発明は、システム、方法、またはコンピュータ・プログラム製品あるいはその組合せであり得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体を含むことができる。
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイスまたは前述のあらゆる適切な組合せであってもよいが、それに限定はしない。コンピュータ可読記憶媒体のより具体的な例の非網羅的な列挙としては、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、静的ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、命令を記録されて有するパンチカードまたは溝に刻まれた構造などの機械的にエンコードされたデバイス、および前述のあらゆる適切な組合せ、を含む。本明細書において使用される場合、コンピュータ可読記憶媒体は、電波または他の自由に伝搬する電磁波、導波路もしくは他の送信媒体を介して伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または電線を介して送信される電気的信号など、一過性の信号そのものであると解釈されてはならない。
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、個別のコンピューティング/処理デバイスに、あるいは、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはその組合せなどのネットワークを介して、外部のコンピュータもしくは外部のストレージ・デバイスに、ダウンロードすることができる。ネットワークは、銅の送信ケーブル、光学送信ファイバ、無線送信、ルータ、ファイヤウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバあるいはその組合せを備えることができる。それぞれのコンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、個別のコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはスモールトーク(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語などの従来的な手続き型プログラミング言語もしくは類似するプログラミング言語、を含む1つまたは複数のプログラミング言語のあらゆる組合せで記述された、ソース・コードまたはオブジェクト・コードのいずれかであってもよい。コンピュータ可読プログラム命令は、すべてユーザのコンピュータ上で、一部はユーザのコンピュータ上でスタンドアロンのソフトウェア・パッケージとして、一部はユーザのコンピュータ上かつ一部は遠隔のコンピュータ上で、またはすべて遠隔のコンピュータ上もしくはサーバ上で、実行することができる。後者のシナリオにおいて、遠隔のコンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含むあらゆるタイプのネットワークを介してユーザのコンピュータに接続することができ、または接続は外部のコンピュータ(例えば、インターネット・サービス・プロバイダを使用するインターネットを介して)に対してなされてもよい。一部の実施形態において、例えば、プログラマブル論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行して電子回路を個別化することができる。
本発明の態様は本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら本明細書において説明される。フローチャート図またはブロック図あるいはその両方のそれぞれのブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実装され得ることが理解されよう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実装する手段を作成すべく、汎用コンピュータ、特殊目的コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作るものであってよい。これらのコンピュータ可読プログラム命令はまた、命令を記憶して有するコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実装する命令を含む製造物品を備えるべく、特定のやり方で機能するようにコンピュータ、プログラム可能なデータ処理装置、または他のデバイスあるいはその組合せに指示することができるコンピュータ可読記憶媒体に記憶されてもよい。
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能な装置、または他のデバイスで実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実装するように、コンピュータ実装処理を作るべく、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイス上にロードされ、コンピュータ、他のプログラム可能な装置、または他のデバイス上で一連の動作可能なステップを実施させるものであってもよい。
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態にしたがって、システム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能、および動作を図示している。この点において、フローチャートまたはブロック図のそれぞれのブロックは、指定される論理機能を実装するための1つまたは複数の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表現することができる。一部の代替的な実装形態において、ブロックにおいて示した機能は図面で示した順とは異なって発生してもよい。例えば、連続して示される2つのブロックは、実際には実質的に同時に実行されてもよく、またはブロックは関与する機能によっては、時に逆の順で実行されてもよい。ブロック図またはフローチャート図あるいはその両方のそれぞれのブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、指定される機能もしくは動作を実施する、または特殊目的ハードウェアおよびコンピュータ命令の組合せを実行する、特殊目的ハードウェア・ベースのシステムによって実装され得ることにも留意されたい。

Claims (17)

  1. プロセッサによる通信メッセージ内のファイルの重複排除のための方法であって、プロセッサが、
    クラウド・ストレージ・システム内に通信メッセージの添付ファイルが存在すると判断することと、
    前記添付ファイルの前記クラウド・ストレージ・システム上の同一ファイルにアクセスするためにリンクを通信クライアントに送信することと
    前記同一ファイルの削除の際、前記同一ファイルを、前記リンクを介してのみアクセス可能な前記クラウド・ストレージ・システムの選択されたエリアに再配置することと
    を実行する、方法。
  2. プロセッサによる通信メッセージ内のファイルの重複排除のための方法であって、プロセッサが、
    クラウド・ストレージ・システム内に通信メッセージの添付ファイルが存在すると判断することと、
    前記添付ファイルの前記クラウド・ストレージ・システム上の同一ファイルにアクセスするためにリンクを通信クライアントに送信することと、
    記通信クライアントから、前記添付ファイルを有する前記通信メッセージを送信すること、または受信すること
    実行する、方法。
  3. プロセッサによる通信メッセージ内のファイルの重複排除のための方法であって、プロセッサが、
    クラウド・ストレージ・システム内に通信メッセージの添付ファイルが存在すると判断することと、
    前記添付ファイルの前記クラウド・ストレージ・システム上の同一ファイルにアクセスするためにリンクを通信クライアントに送信することと、
    記クラウド・ストレージ・システムまたは前記通信クライアントを使用して前記クラウド・ストレージ・システム内に前記添付ファイルが存在すると判断すること
    実行し、前記通信クライアントは、電子メール・クライアントである、方法。
  4. プロセッサが、
    アプリケーション・プログラム・インターフェース(API)のコールを使用して前記通信クライアントを介して前記同一ファイルのハッシュ値を取得することと、
    前記同一ファイルの前記ハッシュ値を前記通信メッセージ中の前記添付ファイル内の前記ハッシュ値と比較することと
    をさらに実行する、請求項1に記載の方法。
  5. プロセッサが、前記クラウド・ストレージ・システム内の前記同一ファイルが前記通信メッセージ中の前記添付ファイルと同一のハッシュ値を有していると判断することをさらに実行する、請求項1に記載の方法。
  6. プロセッサによる通信メッセージ内のファイルの重複排除のための方法であって、プロセッサが、
    クラウド・ストレージ・システム内に通信メッセージの添付ファイルが存在すると判断することと、
    前記添付ファイルの前記クラウド・ストレージ・システム上の同一ファイルにアクセスするためにリンクを通信クライアントに送信することと、
    記通信メッセージの送信者からアップロードされたファイルの一覧を検索すること
    実行する、方法。
  7. 通信メッセージ内のファイルの重複排除のためのシステムであって、
    実行されると前記システムに
    クラウド・ストレージ・システム内に通信メッセージの添付ファイルが存在すると判断することと、
    前記添付ファイルの前記クラウド・ストレージ・システム上の同一ファイルにアクセスするためにリンクを通信クライアントに送信することと
    前記同一ファイルの削除の際、前記同一ファイルを、前記リンクを介してのみアクセス可能な前記クラウド・ストレージ・システムの選択されたエリアに再配置することと
    を行わせる、実行可能命令を有する1つまたは複数のコンピュータ
    を備える、システム。
  8. 通信メッセージ内のファイルの重複排除のためのシステムであって、
    実行されると前記システムに
    クラウド・ストレージ・システム内に通信メッセージの添付ファイルが存在すると判断することと、
    前記添付ファイルの前記クラウド・ストレージ・システム上の同一ファイルにアクセスするためにリンクを通信クライアントに送信することと、
    記通信クライアントから前記添付ファイルを有する前記通信メッセージをさらに送信、または受信することと
    を行わせる、実行可能命令を有する1つまたは複数のコンピュータ
    を備える、システム。
  9. 通信メッセージ内のファイルの重複排除のためのシステムであって、
    実行されると前記システムに
    クラウド・ストレージ・システム内に通信メッセージの添付ファイルが存在すると判断することと、
    前記添付ファイルの前記クラウド・ストレージ・システム上の同一ファイルにアクセスするためにリンクを通信クライアントに送信することと、
    記クラウド・ストレージ・システムまたは前記通信クライアントを使用して前記クラウド・ストレージ・システム内に前記添付ファイルが存在するとさらに判断することと
    を行わせる、実行可能命令を有する1つまたは複数のコンピュータ
    を備え、前記通信クライアントは電子メール・クライアントである、システム。
  10. 前記実行可能命令は、さらに
    アプリケーション・プログラム・インターフェース(API)のコールを使用して前記通信クライアントを介して前記同一ファイルのハッシュ値を取得し、
    前記同一ファイルの前記ハッシュ値を前記通信メッセージ中の前記添付ファイル内の前記ハッシュ値と比較する、
    請求項に記載のシステム。
  11. 前記実行可能命令は、前記クラウド・ストレージ・システム内の前記同一ファイルが前記通信メッセージ中の前記添付ファイルと同一のハッシュ値を有しているとさらに判断する、請求項に記載のシステム。
  12. 通信メッセージ内のファイルの重複排除のためのシステムであって、
    実行されると前記システムに
    クラウド・ストレージ・システム内に通信メッセージの添付ファイルが存在すると判断することと、
    前記添付ファイルの前記クラウド・ストレージ・システム上の同一ファイルにアクセスするためにリンクを通信クライアントに送信することと、
    記通信メッセージの送信者からアップロードされたファイルの一覧を検索することと
    を行わせる、実行可能命令を有する1つまたは複数のコンピュータ
    を備える、システム。
  13. プロセッサによる通信メッセージ内のファイルの重複排除のためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、コンピュータを
    クラウド・ストレージ・システム内に通信メッセージの添付ファイルが存在すると判断する手段
    前記添付ファイルの前記クラウド・ストレージ・システム上の同一ファイルにアクセスするためにリンクを通信クライアントに送信する手段、および、
    前記同一ファイルの削除の際、前記同一ファイルを、前記リンクを介してのみアクセス
    可能な前記クラウド・ストレージ・システムの選択されたエリアに再配置する手段
    として機能させるためのコンピュータ・プログラム。
  14. プロセッサによる通信メッセージ内のファイルの重複排除のためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、コンピュータを
    クラウド・ストレージ・システム内に通信メッセージの添付ファイルが存在すると判断する手段、
    前記添付ファイルの前記クラウド・ストレージ・システム上の同一ファイルにアクセスするためにリンクを通信クライアントに送信する手段、および、
    前記通信クライアントから、前記添付ファイルを有する前記通信メッセージを送信する、または受信する手段
    として機能させるためのコンピュータ・プログラム。
  15. プロセッサによる通信メッセージ内のファイルの重複排除のためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、コンピュータを
    クラウド・ストレージ・システム内に通信メッセージの添付ファイルが存在すると判断する手段、
    前記添付ファイルの前記クラウド・ストレージ・システム上の同一ファイルにアクセスするためにリンクを通信クライアントに送信する手段、および、
    前記クラウド・ストレージ・システムまたは前記通信クライアントを使用して前記クラウド・ストレージ・システム内に前記添付ファイルが存在すると判断する手段
    として機能させ、前記通信クライアントは、電子メール・クライアントである、コンピュータ・プログラム。
  16. 前記コンピュータ・プログラムは、コンピュータを
    アプリケーション・プログラム・インターフェース(API)のコールを使用して前記通信クライアントを介して前記同一ファイルのハッシュ値を取得する手段、
    前記同一ファイルの前記ハッシュ値を前記通信メッセージ中の前記添付ファイル内の前記ハッシュ値と比較する手段、および、
    前記クラウド・ストレージ・システム内の前記同一ファイルが前記通信メッセージ中の前記添付ファイルと同一の前記ハッシュ値を有していると判断する手段
    としてさらに機能させる、請求項13に記載のコンピュータ・プログラム。
  17. プロセッサによる通信メッセージ内のファイルの重複排除のためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、コンピュータを
    クラウド・ストレージ・システム内に通信メッセージの添付ファイルが存在すると判断する手段、
    前記添付ファイルの前記クラウド・ストレージ・システム上の同一ファイルにアクセスするためにリンクを通信クライアントに送信する手段、および、
    前記通信メッセージの送信者からアップロードされたファイルの一覧を検索する手段
    として機能させるためのコンピュータ・プログラム。
JP2020527740A 2017-11-20 2018-11-05 クラウド・コンピューティング・ストレージおよびコミュニケーション・ツール内のファイルの重複排除 Active JP7161270B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/817,594 US10691643B2 (en) 2017-11-20 2017-11-20 Deduplication for files in cloud computing storage and communication tools
US15/817,594 2017-11-20
PCT/IB2018/058670 WO2019097352A1 (en) 2017-11-20 2018-11-05 Deduplication for files in cloud computing storage and communication tools

Publications (2)

Publication Number Publication Date
JP2021503660A JP2021503660A (ja) 2021-02-12
JP7161270B2 true JP7161270B2 (ja) 2022-10-26

Family

ID=66534570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020527740A Active JP7161270B2 (ja) 2017-11-20 2018-11-05 クラウド・コンピューティング・ストレージおよびコミュニケーション・ツール内のファイルの重複排除

Country Status (6)

Country Link
US (1) US10691643B2 (ja)
JP (1) JP7161270B2 (ja)
CN (1) CN111373387B (ja)
DE (1) DE112018005283T5 (ja)
GB (1) GB2582099A (ja)
WO (1) WO2019097352A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112257104A (zh) * 2020-10-10 2021-01-22 北京字跳网络技术有限公司 权限控制方法、装置和电子设备
CN113641520B (zh) * 2021-08-20 2024-04-05 北京百度网讯科技有限公司 数据处理方法、***、设备以及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004220259A (ja) 2003-01-14 2004-08-05 Seiko Epson Corp 添付ファイル管理システム、プログラム、情報記憶媒体および添付ファイル管理方法
JP2012249101A (ja) 2011-05-27 2012-12-13 Hde Inc プログラム
CN103595615A (zh) 2012-08-15 2014-02-19 腾讯科技(深圳)有限公司 电子邮件的发送和接收方法、终端
US20150169599A1 (en) 2013-11-12 2015-06-18 Iii Holdings 1, Llc System and method for electronic mail attachment processing, offloading, retrieval, and grouping

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8407190B2 (en) * 2009-06-30 2013-03-26 Commvault Systems, Inc. Performing data storage operations with a cloud environment, including containerized deduplication, data pruning, and data transfer
US20110137947A1 (en) * 2009-12-03 2011-06-09 International Business Machines Corporation Dynamic access control for documents in electronic communications within a cloud computing environment
CN103108008B (zh) 2011-11-14 2017-09-22 腾讯科技(深圳)有限公司 一种下载文件的方法及文件下载***
CN103475564B (zh) * 2012-06-06 2018-11-23 腾讯科技(深圳)有限公司 网络附件传送方法及其***
US9262429B2 (en) * 2012-08-13 2016-02-16 Microsoft Technology Licensing, Llc De-duplicating attachments on message delivery and automated repair of attachments
US20160241499A1 (en) 2013-09-30 2016-08-18 Hewlett Packard Enterprise Development Lp Delivering an email attachment as a summary
US9614796B2 (en) 2014-03-13 2017-04-04 Sap Se Replacing email file attachment with download link
US10164920B2 (en) * 2014-05-30 2018-12-25 Apple Inc. Message attachment management
US9825925B2 (en) 2014-06-11 2017-11-21 Bijit Hore Method and apparatus for securing sensitive data in a cloud storage system
US10911380B2 (en) 2014-11-07 2021-02-02 Quest Software Inc. Automated large attachment processing during migration
CN106933872A (zh) 2015-12-30 2017-07-07 阿里巴巴集团控股有限公司 一种通过传统文件***接口访问云存储服务的方法及装置
US20180196609A1 (en) * 2017-01-12 2018-07-12 Qualcomm Incorporated Data Deduplication Using Multi-Chunk Predictive Encoding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004220259A (ja) 2003-01-14 2004-08-05 Seiko Epson Corp 添付ファイル管理システム、プログラム、情報記憶媒体および添付ファイル管理方法
JP2012249101A (ja) 2011-05-27 2012-12-13 Hde Inc プログラム
CN103595615A (zh) 2012-08-15 2014-02-19 腾讯科技(深圳)有限公司 电子邮件的发送和接收方法、终端
US20150169599A1 (en) 2013-11-12 2015-06-18 Iii Holdings 1, Llc System and method for electronic mail attachment processing, offloading, retrieval, and grouping

Also Published As

Publication number Publication date
US10691643B2 (en) 2020-06-23
JP2021503660A (ja) 2021-02-12
US20190155920A1 (en) 2019-05-23
DE112018005283T5 (de) 2020-07-30
CN111373387A (zh) 2020-07-03
WO2019097352A1 (en) 2019-05-23
GB202007989D0 (en) 2020-07-15
CN111373387B (zh) 2024-04-16
GB2582099A (en) 2020-09-09

Similar Documents

Publication Publication Date Title
US10776221B2 (en) Avoiding inode number conflict during metadata restoration
US11188499B2 (en) Storing and retrieving restricted datasets to and from a cloud network with non-restricted datasets
US20190245912A1 (en) Optimizing internet data transfers using an intelligent router agent
US9251241B2 (en) Self provisioning and applying role-based security to teamspaces in content repositories
US11188828B2 (en) Set-centric semantic embedding
JP7161270B2 (ja) クラウド・コンピューティング・ストレージおよびコミュニケーション・ツール内のファイルの重複排除
US10216836B2 (en) Protocol based user data management
US20190354576A1 (en) Atom-based sensible synchronization for information indexing
US20190303011A1 (en) Optimized data replication in multi-tier storage environment
US20190155919A1 (en) Performing deduplication on cloud-resident encrypted data
US11275755B2 (en) Automatically capturing lineage data in distributed systems
US10205768B2 (en) Facility for initiating automatic exchange of file(s) between mobile devices
US10404274B2 (en) Space compression for file size reduction
US20190392079A1 (en) Holistic mapping and relocation of social media assets
US9619476B2 (en) Parallel container and record organization
US11250527B2 (en) Providing near real-time and effective litigation management for multiple remote content systems using asynchronous bi-directional replication pipelines
US11205042B2 (en) System and method to transform content and to generate a visual indicator of that transformation
US10719483B2 (en) Remote copy with data deduplication functionality
US20210157832A1 (en) Differential processing mechanism for spark-based graph computing background
US20210089499A1 (en) Dynamic electronic folder interaction with software applications

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200603

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20200930

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220426

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220721

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20221006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221012

R150 Certificate of patent or registration of utility model

Ref document number: 7161270

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150