JP5058492B2 - 分散情報管理方法および分散情報管理装置 - Google Patents

分散情報管理方法および分散情報管理装置 Download PDF

Info

Publication number
JP5058492B2
JP5058492B2 JP2006032953A JP2006032953A JP5058492B2 JP 5058492 B2 JP5058492 B2 JP 5058492B2 JP 2006032953 A JP2006032953 A JP 2006032953A JP 2006032953 A JP2006032953 A JP 2006032953A JP 5058492 B2 JP5058492 B2 JP 5058492B2
Authority
JP
Japan
Prior art keywords
artifact
server
encrypted
request
site
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.)
Expired - Fee Related
Application number
JP2006032953A
Other languages
English (en)
Other versions
JP2006279933A (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006279933A publication Critical patent/JP2006279933A/ja
Application granted granted Critical
Publication of JP5058492B2 publication Critical patent/JP5058492B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D24/00Filters comprising loose filtering material, i.e. filtering material without any binder between the individual particles or fibres thereof
    • B01D24/02Filters comprising loose filtering material, i.e. filtering material without any binder between the individual particles or fibres thereof with the filter bed stationary during the filtration
    • B01D24/10Filters comprising loose filtering material, i.e. filtering material without any binder between the individual particles or fibres thereof with the filter bed stationary during the filtration the filtering material being held in a closed container
    • B01D24/16Upward filtration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Description

本発明は、一般的には情報管理システムに関し、より詳細には分散情報管理システムに関する。
情報管理システムは広く使用されている。このようなシステムは、しばしば「アーティファクト」を蓄積するデータベースを含んでいる。アーティファクトは、情報管理システムによって処理された、編成された形式(organized form)におけるデータの集合である。アーティファクトはしばしばコンピュータファイルである。情報管理システムの一般的な種類は、ソフトウェアを開発している企業においてコンピュータソースコードの管理ファイルとして使用されることができるような、バージョンコントロールシステムである。
情報管理システムは、しばしばネットワーク接続されて、企業内の複数の人々がアーティファクトを扱う仕事ができるようにする。ソースコード管理システムの例では、プログラム開発者、プロジェクト管理者、テスト技術者、その他企業内の他の人々全てがソースコードファイルにアクセスすることができる。これらのファイルを中央のデータベースに格納することができる。企業内を通じたファイルの利用を促進するために、情報管理システムはしばしばデータベースとリンクしたサーバを含んでいる。サーバは、ネットワークに接続され、情報管理システムにおける情報の個々のユーザのワークステーションがデータベースからアーティファクトのコピーを取得することを許可する。ユーザがアーティファクトを要求すると、ワークステーションはサーバに要求を送信し、サーバはネットワークを介してアーティファクトのコピーを提供する。
情報管理システムのネットワークアーキテクチャは、企業が比較的広い地域に分布した複数のワークサイトを有している場合にさえも使用されることがありえる。場合によりインターネットを含む広域ネットワークは、分散した位置にある個々のワークステーションが、アーティファクトのデータベースにアクセスするサーバと通信を行うことができるようにする。
クライアントとサーバとの間の通信回線のいずれかの部分がアンセキュアな場合、たとえネットワークがアンセキュアであっても、セキュアなチャネルがネットワーク上に生成される可能性がある。インターネットはアンセキュアな通信回線の例である。アンセキュアなネットワーク上に生成されるセキュアなチャネルの例は、SSL(Secure Socket Layer)接続またはVPN(Virtual Private Network)である。
セキュアなチャネルにおいて、通信プロトコルは、たとえ伝送路が傍受されたとしても、意図しない受取人がネットワークを介して送信された情報の内容を判断することが困難なプロトコルである。例えば、SSLチャネルを介して送信するデバイスは、情報が送信される際に情報を暗号化する。また、情報は、送信される情報の関連性が容易に検出できないように断片化される場合がある。結果として、意図しない受信者は、ファイルや他の論理的に関連するデータブロックを表す伝達の一部を識別することさえもできない可能性があり、暗号化のメカニズムの「解読」を図ることをより難しくしている。
セキュアチャネルを使用する欠点は、セキュアチャネルを介してユーザが情報をダウンロードするのにかかる時間の量と、クライアント−サーバ環境において課されるオーバーヘッドである。SSLは、それぞれのユーザのセッションに対して、固有の非対称キーペアを使用する。固有の非対称キーは、チャネルを介して送信される際のデータの暗号化に使用される。サーバ上の情報が複数のクライアントに配信される場合に、SSLチャネルはサーバに高いオーバーヘッドを与える。アンセキュアなチャネルで接続された地理的に分布したサイトをもつ企業が操作できる等の、情報管理システムのための改良された方法および装置を提供することが望まれる。
本発明は、コンピューティングデバイスがセキュアチャネルを介してアーティファクトに関する情報を得ることができる情報管理システムに関する。この情報を使用して、アンセキュアなチャネルを介して、暗号化されたアーティファクトのバージョンを取得し復号化する。
1つの態様では、本発明は、複数のアーティファクトにアクセスしているサーバと、プロキシサーバに関連付けられたキャッシュであって、アーティファクトのコピーを格納するキャッシュを有するプロキシサーバにアクセスしているクライアントと、の間の通信方法に関する。この方法は、クライアントからサーバへの第1の要求を通信すること、要求に応答して、アーティファクトに関する暗号化された情報をサーバからクライアントに通信すること、暗号化された情報を用いてクライアントからプロキシサーバへの第2の要求を生成すること、及び、アーティファクトのコピーがキャッシュに格納された時に、第2の要求に応答してキャッシュからアーティファクトのコピーを提供することを備える。
さらなる態様として、本発明は、アーティファクトにアクセスするためのコンピューティングデバイスの動作方法に関する。セキュアなチャネル及びアンセキュアなチャネルを通じてネットワークに接続されているデバイスを形成することができる。この方法は、セキュアチャネルを使用してアーティファクトに関する情報を受信すること、アーティファクトに関する情報を使用してアンセキュアなチャネルを使用し、アーティファクトのコピーを要求すること、暗号化された形式でアーティファクトを受信すること、及び、アーティファクトに関する情報を使用して、アーティファクトを暗号化された形式から復号化された形式に変換することを備える。
さらなる態様として、本発明は、第1のサイトにある装置と、第2のサイトにある装置と、第1のサイト及び第2のサイトを相互に接続するネットワークと、を有する種類のソースコードコントロールシステムに関する。第1のサイトにある装置は、複数のソースコードファイルの複数のバージョンを格納するメモリストレージデバイス、暗号化されたアーティファクトを生成するために、ソースコードファイルのバージョンを暗号化するためのコンピュータ実行可能命令を格納するコンピュータ読取可能な媒体を備えるサーバ、暗号化されたアーティファクトをネットワークを介して通信すること、及び、暗号化されたアーティファクトに関する暗号化情報をネットワークを介して通信すること、を備える。第2のサイトにある装置はクライアントコンピュータを備える。このクライアントコンピュータは、暗号化情報を取得するためのコンピュータ実行可能な命令を格納するコンピュータ読取可能な媒体、ネットワークを介して暗号化されたアーティファクトを受信すること、及び、暗号化情報を使用して暗号化されたアーティファクトを復号し、ソースコードファイルのバージョンを生成すること、を備えている。
添付図面は実物大であることを意図していない。図において、様々な形で描かれている各々の同一の部分又はほとんど同一の部分は同等の符号で表されている。簡明にするために、各図の全ての部分に符号が付されていない場合がある。
改良された情報管理システムは、アンセキュアなチャネルを介してアーティファクトのセキュアな通信を可能とすることによって提供される。アーティファクトは暗号化形式で通信され、アーティファクトを受信するワークステーションのある地域のプロキシサーバに格納される可能性がある。セキュアチャネルを使用して、それぞれのアーティファクトについての比較的少量の情報を送信する。このようなシステムを使用して、例えば、企業のリモートサイトを、インターネットのようなアンセキュアなチャネルを使用しているセントラルサイトと接続することができる。ソースコード管理システムは、ここでは情報管理システムの例として使用される。
図1は、本発明の実施形態に係る情報管理システムを示している。情報管理システムは、セントラルサイト110とリモートサイト112とを含んでいる。セントラルサイト110とリモートサイト112とはネットワークを介して接続されている。このネットワークはインターネット114であってもよい。
セントラルサイト110はデータベース120を含む。データベース120は、コンピュータ読み書き可能な記録媒体から構成されている。データベース120は、アーティファクトの格納と検索を執り行うコントローラを含む。記載の実施形態では、それぞれのアーティファクトはソースコードを含むファイルであり、このソースコードファイルはセントラルサイト110及びリモートサイト112を運営する企業によって遂行されている開発プロジェクトの一部である。この例では、データベース120の中のそれぞれのファイルはファイル名で記述され、それぞれのファイルの複数バージョンをデータベース120に格納することができる。データベース120は公知技術のデータベースであってもよいが、任意の適切な様式のデータベースを使用することができる。
セントラルサイト110は、複数のクライアントワークステーション1261、1262、・・・、1264を含む。使用の際は、セントラルサイト110及びリモートサイト112を管理する企業内の人が、それぞれのクライアントワークステーションを使用して、データベース120からのアーティファクトを処理することができる。それぞれのワークステーションは、例えば、データベース120に格納されているソースコードファイルを作成するコード開発者によって使用されてもよい。あるいは、クライアントワークステーションは、データベース120からソースコードファイルを取得しそれをテストするコードテスターによって利用されてもよい。それぞれのクライアントワークステーションは、例えば、パーソナルコンピュータか同等のコンピューティングデバイスであってもよい。
セントラルサイト110はサーバ122を含む。サーバ122はデータベース120に接続されている。サーバ122は、広域ネットワーク124を介してクライアントワークステーション1261、1262、・・・、1264それぞれにアクセスすることが可能である。サーバ122は、クライアントワークステーション1261、1262、・・・、1264から、データベース120に格納されているアーティファクトをクライアントワークステーションに渡すよう要求する伝達(communication)を受信する、ハードウェア及びソフトウェア要素の組み合わせとすることができる。サーバ122は、このような要求を受信し、データベース120にアクセスして要求されたアーティファクトのコピーをワークステーションに供給する、ハードウェア及びソフトウェア要素を含む。サーバ122は公知技術であるHTTPメッセージを利用して通信を行うファイルサーバであってもよいが、任意の適切な実装を用いることができる。
リモートサイト112は、1又は複数のリモートクライアントワークステーション156を含む。ここでは、簡単のために1つのリモートクライアントワークステーション156を図示しているが、複数のクライアントワークステーションがリモートサイトからデータベース120の中のアーティファクトにアクセスした場合に、発明は最も有用になる。リモートクライアントワークステーション156は、クライアントワークステーション1261、1262、・・・、1264と同じ種類のワークステーションであり、同じ目的で使用することができる。このため、リモートクライアントワークステーション156は、クライアントワークステーション1261、1262、・・・、1264と同じ様にデータベース120に格納されたアーティファクトにアクセスすべきである。しかしながら、リモートクライアントワークステーション156とデータベース120との間の情報が流れる経路はインターネット114を経由しており、このインターネット114がアンセキュアなネットワークである。
セキュアチャネルは、公知技術によりリモートクライアントワークステーション156とサーバ122との間に形成することができる。しかしながら、セキュアチャネルを使用する必要なしに、データベース120内のアーティファクトをリモートクライアントワークステーション156に直接転送する。データベース120に格納されているアーティファクトへのより速いアクセスを可能にするために、リモートクライアントワークステーション156とセントラルサイト110にあるサーバとの間のセキュアチャネルを使用して、比較的少量の情報を転送する。この情報は、インターネット114を介してアンセキュアなチャネル上を送信される暗号化されたアーティファクトのアクセスに使用され、かつ、その暗号化されたアーティファクトの使用を可能とする。アーティファクトは、ネットワークを介して情報を転送するために使用されるプロトコルの外側で暗号化されてもよい。これによりアーティファクトをより効率的に転送することが可能となる。
たとえアンセキュアな位置であったとしても、アンセキュアなチャネルを介したアーティファクトの送信効率が増加する方向においては、暗号化されたアーティファクトはキャッシュされる可能性がある。任意の適切なハードウェア及びソフトウェアを使用して、アーティファクトをキャッシュすることができる。図示した実施形態のように、リモートサイト112はプロキシサーバ150を含むが、このプロキシサーバ150はアーティファクトをキャッシュすることができるデバイスの一例である。プロキシサーバ150は公知技術のプロキシサーバであってもよい。プロキシサーバ150はリモートクライアント156とインターネット114との間を接続している。リモートクライアントワークステーション156がインターネット114を介してファイルやウェブページのようなアーティファクトのダウンロードを要求すると、プロキシサーバ150はアーティファクトのコピーを受信し、プロキシサーバ150に関連付けられたコンピュータ読み書き可能なメモリに格納することができる。格納された情報はアーティファクトのキャッシュを形成する。それに続くアーティファクトについての要求はキャッシュから実行することが可能であり、ネットワーク上のトラヒックを減少させることができる。
リモートクライアントワークステーション156がさらなる要求を生成すると、これらの要求はまずプロキシサーバ150を経由してもよい。プロキシサーバ150が、要求されたアーティファクトを自サーバのキャッシュに格納した場合に、プロキシサーバ150はそのアーティファクトを自サーバのキャッシュからリモートクライアントワークステーション156に提供する。そして、その要求はインターネット114には転送されない。プロキシサーバ150に関連付けられたキャッシュから情報を提供することで、リモートクライアントワークステーション156に提供可能なアーティファクトの速度を増加させることができる。アクセスが1つのリモートクライアントワークステーションから行われるか、複数の異なるリモートクライアントワークステーションから行われるに関わらず、同じアーティファクトが頻繁にアクセスされた時にスピードの増加は最も高くなる。ソースコードマネジメントシステムにおいては、現在開発中のソースコードの一部を含むアーティファクトがしばしば頻繁にアクセスされる。
従来においては、インターネット114はセキュアなチャネルを提供するものと考えられていなかった。プロキシサーバは通常アンセキュアなチャネルを介して取得された情報を格納していたため、プロキシサーバはしばしばセキュアでなかった。リモートクライアントワークステーション156とサーバ122との間のセキュアな通信を提供するために、送信されるべきアーティファクトが暗号化される。プロキシサーバ150がセキュアでない場合には、アーティファクトを暗号化された形式でプロキシサーバ150にキャッシュすることができる。
さらに、暗号化されたアーティファクトをセントラルサイト110に格納することによって効果が得られる場合がある。図示した実施形態では、セントラルサイト110は、暗号化されたアーティファクトのコピーをも格納しているリバースプロキシサーバ140を含む。リバースプロキシサーバ140は、アーティファクトをキャッシュするのに使用される可能性のあるデバイスの一例である。リバースプロキシサーバ140は公知技術である規定に従ったキャシュの作動を含む公知技術のプロキシサーバであってもよい。リバースプロキシサーバ140はアーティファクトを暗号化してもよいし、又は、暗号化された形式でアーティファクトを受信してもよい。
図示した実施形態において、インターネット114上でアーティファクトについての要求が送信されると、これらの要求はリバースプロキシサーバ140に到達する。もし、リバースプロキシサーバ140が自サーバのキャッシュに要求されたアーティファクトの暗号化されたバージョンを格納している場合には、サーバ140は暗号化されたアーティファクトのコピーを提供する。リバースプロキシサーバ140がまだ自サーバのキャッシュに暗号化されたアーティファクトのコピーを格納していない場合には、サーバ140はサーバ122からアーティファクトを要求することができる。サーバ122は、暗号化されたアーティファクトを広域ネットワーク124を介して提供することができる。リバースプロキシサーバ140は自サーバのキャッシュに暗号化されたアーティファクトを格納し、インターネット114を介してその暗号化されたアーティファクトを送信することができる。
図2Aは、図1で図示した情報管理システムの要素間における通信シーケンスを示している。情報の交換は、リモートクライアントワークステーション156がサーバ122とセキュアチャネルを確立することから始まる。図2Aの実施形態においては、通信はセキュアチャネル210において初期化される。セキュアチャネル210は、現在知られているか今後開発されるかに関わらず、従来のセキュアプロトコルを用いて形成することができる。記載の実施形態においては、セキュアチャネル210はSSLプロトコルを用いて生成される。要求212はセキュアチャネルを介してサーバ122に送信されるため、プロキシサーバ150及びリバースプロキシサーバ140のいずれも、要求の内容にはアクセスしない。本実施形態においては、要求212はサーバ122に直接送信される。
要求212は、リモートクライアントワークステーション156に提供されるべき1又は複数のアーティファクトを識別する。本実施形態では、それぞれのアーティファクトはファイル名で識別される。データベース120がファイルをバージョンコントロールシステムの一部として格納する場合には、ファイル名はファイルの特定のバージョンを特定することができる。セントラルサイト110にあるサーバ122は、要求212にバンドル(bundle)214で応答する。
バンドル214も、セキュアチャネル210を介して送信される。バンドル214は、リモートクライアントワークステーション156が、要求されたアーティファクトを取得し利用できるように、情報を提供する。本実施形態においては、バンドル214はアーティファクトの暗号化されたバージョンに対する識別子を含む。バンドル214は、アーティファクトの暗号化されたバージョンの復号化に用いることのできる暗号化キーを含む。また、バンドル214は、ハッシュコードなどの、要求されたアーティファクトのために用意されたエラー検知コードを含むことができる。
本実施形態では、識別子はアーティファクトに割り当てられたコードである。データベース120の中のそれぞれのアーティファクトは、サーバ122に割り当てられた一意の識別子を有している。望ましくは、識別子はアーティファクトの機能又は構造についての情報を示していない。対照的に、ファイル名はしばしばアーティファクトの機能を説明するものが選択される。記載の実施形態では、識別子を使用して、アンセキュアなチャネルを介して送信される通信において、アーティファクトを引用する(refer)。ファイル名の代わりに説明的でない識別子を使用することで、セキュリティを増加させることができる。アンセキュアなチャネルを介した伝送の権限の無い受信者は、アーティファクトの暗号化を「解読」するために使用可能な、減少された(reduced)情報を受信する。各々の識別子をなんらかの適切な方法で割り当てることができる。例えば、識別子はランダムに割り当てられてもよいし、又は、アーティファクトがデータベース120に追加された順に割り当てられてもよい。データベース120が複数のファイルのバージョンを格納した場合、それぞれのバージョンは固有の識別子を有することとなる。
バンドル214に関連付けられている暗号化キーは、アーティファクトの暗号化されたバージョンの復号化に使用されるキーである。多くの暗号化様式が知られており、任意の適切な暗号化様式を使用することができる。記載の実施形態では、アーティファクトの暗号化に使用されるキーがアーティファクトの復号化に使用されるキーと同一である対称暗号化アルゴリズムが使用される。記載の実施形態では、少なくとも64ビットのキーを有する暗号化アルゴリズムが使用される。適切なアルゴリズムの例はAES128及びAES256暗号化アルゴリズムである。それぞれのアーティファクトは固有の暗号化キーを保持していてもよい。データベース120がファイルの複数のバージョンを格納している場合、それぞれのバージョンは固有の暗号化キーを有することができる。
バンドル214と関連付けられているエラーチェックコードは、セキュリティのさらなる対策(measure)を提供する。エラーチェックコードは、セントラルサイト110でアーティファクトへの操作が実行されることによって生成される。エラーチェックコードに対して生成される値は、アーティファクトを表すファイルの内容に依存する。リモートクライアントワークステーション156は、受信したアーティファクトに同じ操作を実行してもよい。バンドル214に関連付けられたエラーチェックコードがリモートクライアントワークステーション156によって生成されたエラーチェックコードと一致しない場合には、リモートクライアントワークステーション156は、改ざんの結果としてファイルが破損又は変更されたと同定することができる。記載の実施形態においては、エラーチェックコードはハッシュアルゴリズムを通じて生成される。使用できるハッシュアルゴリズムの一例はSHA1ハッシュアルゴリズムであるが、エラーチェックコードを生成する任意の適切な方法を使用することができる。
一旦、バンドル214がリモートクライアントワークステーション156で受信されると、リモートクライアントワークステーション156は暗号化されたアーティファクトのコピーに対する要求216を生成することができる。実施形態の例では、バンドル214の一部として提供される識別子は、アーティファクトのページアドレスとして供給される。リモートサイト112がインターネット114上でリモートサイト110と接続されている場合の例では、インターネット上で従来から使用されていたように、通信はHTTPメッセージ形式とすることができる。要求216は、HTTP GET要求とすることができる。この例では、バンドル214で送信される識別子は、アーティファクトを含むファイルに対するURLの一部であってもよい。従って、要求216は「HTTP://server/identifier.」という形式とすることができる。「HTTP://server」として表されるURLの一部は、サーバ122に対するwebアドレスを識別する。「identifier」として識別されるURLの一部は、データベース120に格納されているファイルのような、サーバ122がアクセスできる特定のファイルを表している。
図1に示す情報管理システムがオペレーションを開始した時には、プロキシサーバ150はキャッシュにアーティファクトを含んでいない。このシナリオは図2Aに示されている。従って、要求216は要求218としてプロキシサーバ150を通過する。
要求218は、インターネット114を通過してリバースプロキシサーバ140に送信される。図1の情報管理システムがオペレーションを開始した時には、リバースプロキシサーバ140もアーティファクトに関する情報を含んでいない。要求218は、要求220としてリバースプロキシサーバ140を通過する。
要求220は広域ネットワーク124を通過してサーバ122に到る。サーバ122は、リモートクライアントワークステーション156によって送信された要求の中の識別子を用いて、データベース120中の特定のアーティファクトを識別する。サーバ122は、データベース120からアーティファクトを取得する。アーティファクトは、暗号化アルゴリズムを実行するためにプログラムされた任意の適切なハードウェアの中で暗号化できる。このシナリオにおいては、サーバ122はバンドル214と共に送信されたキーを用いてアーティファクトを暗号化する。しかしながら、サーバ122が暗号化を実行する必要はない。別の例として、データベース120はそれぞれのアーティファクトの暗号化されたバージョンを格納し、サーバ122は、要求されたアーティファクトの暗号化されたバージョンを単に取得してもよい。
どのようにアーティファクトが格納され暗号化されたかに関わらず、サーバ122は、リモートクライアントワークステーション156により起動されたGET要求への応答222を準備している。リモートクライアントワークステーション156とサーバ122との間の通信がHTTPプロトコルを使用したインターネット114上で行われる例では、HTTPプロトコルによって規定された形式によれば、暗号化されたアーティファクトは応答222に含まれている。
応答222は、まずリバースプロキシサーバ140に渡される。リバースプロキシサーバ140は、ここでのポリシーに従って、応答222に含まれている暗号化されたアーティファクトのコピーをキャッシュすることができる。暗号化されたアーティファクトは、サーバ122からアーティファクトを要求するために使用されるURLにより索引がつけられたリバースプロキシサーバ140に関連付けられているキャッシュに格納することができる。後続の同じアーティファクトに対するどの要求も、get要求においては同じURLを使用するであろう。従って、暗号化されていないアーティファクトがリバースプロキシサーバ140にキャッシュされている間、リバースプロキシサーバ140はこのアーティファクトに対する後続の要求を認識しかつ応答することができる。
暗号化されたアーティファクトを含む応答224は、インターネット114を介してリバースプロキシサーバ140からプロキシサーバ150に送信される。プロキシサーバ150もまた、そのポリシーに従って、暗号化されたアーティファクトを自サーバのキャッシュに格納することができる。暗号化されたアーティファクトは、アーティファクトを要求するために使用されるURLにより索引がつけられたプロキシサーバ150に関連付けられているキャシュに同様に格納することができる。もし、リモートクライアントワークステーション156が、プロキシサーバ150に関連付けられているキャッシュに格納されている間に同じアーティファクトのコピーを続いて要求した場合、プロキシサーバ150は自サーバのキャッシュから暗号化されたアーティファクトのコピーを提供することによって応答することができる。
暗号化されたアーティファクトは、応答226に含まれてプロキシサーバ150からリモートクライアントワークステーション156へ送信される。リモートクライアントワークステーション156は、バンドル214に含まれる暗号化キーを使用する復号化ソフトウェアによってプログラミングされていてもよい。このため、応答226に含まれる暗号化されたアーティファクトのコピーは、リモートクライアントワークステーション156において復号化できる。バンドル214で送信されたエラーチェックコードは、復号化されたアーティファクトのコピーに適用され、アーティファクトが適切に送信されたことを検証する。
リモートクライアントワークステーション156で実行されているソフトウェアプログラムは、リモートクライアントワークステーション156が、要求されたアーティファクトの妥当なコピーを自装置が受信したことを判断すると、肯定応答(acknowledgement)230を送信することができる。本実施形態においては、肯定応答230はセキュアチャネル228を介して送信される。しかしながら、肯定応答を通信するための任意の適切な手段を使用することができる。
サーバ122は、肯定応答230を利用して、リモートクライアントワークステーション156に通信されるアーティファクトの数を減少させることができる。例えば、リモートクライアントワークステーション156が関連のあるグループファイルを要求した場合、サーバ122は、以前の肯定応答からの情報を使用して、グループ内のファイルの一部がリモートクライアントワークステーション156に既に提供されたかを決定することができる。従って、サーバ122は、グループファイルに対する要求への適切な応答によって、グループ内の全てのファイルよりも少ないファイルの送信が要求されていることを判断することができる。しかしながら、肯定応答230は全ての実施態様に含まれていなくてもよい。
図2Bは、起こりうる別の情報交換を図示している。図2Aで図示した情報交換が起こると、リモートクライアントワークステーション156により送信された要求252と共に対話が始まる。要求252はセキュアチャネル250を介して送信される。サーバ122は要求252に対してバンドル254で応答する。バンドル254は、要求252において識別されるファイル又は複数のファイルに対する識別子を含むことができる。要求254はまた、それぞれの要求されたファイルに関連付けられている暗号化キー及びエラーチェックコードを含むことができる。この情報はセキュアチャネル250を介してリモートクライアントワークステーション156から返信される。
リモートクライアントワークステーション156は、バンドル254に含まれる識別子を使用して、アンセキュアなチャネルを介してアーティファクトを要求するための要求256を発行する。要求256はプロキシサーバ150に送信される。図2Bに示される情報交換では、プロキシサーバ150は既に要求されたアーティファクトをキャッシュしている。アーティファクトのコピーは、以前のリモートクライアントワークステーション156との対話の結果として、又は、プロキシサーバ150を介して接続されているリモートサイト113に存在する他のいずれかのワークステーションとの対話の結果として、キャッシュされていてもよい。
プロキシサーバ150は、サーバ122への要求を生成することなく、暗号化形式で、要求されたアーティファクトを提供する。プロキシサーバ150は、暗号化形式のアーティファクトのコピーを含む応答258を生成する。
図2Aに関連して上述したように、リモートクライアントワークステーション156は、バンドル254に含まれている暗号化キーを使用してアーティファクトを暗号化する。そして、リモートクライアントワークステーション156は、バンドル254に含まれているエラーチェックコードを適用して、自装置が、改ざんされていない要求されたアーティファクトのコピーを正確に受信したことを検証する。応答として、リモートクライアントワークステーション156は肯定応答262を生成することができる。この例では、肯定応答262はセキュアチャネル260を使用してサーバ122に送信される。このようにして、サーバ122が、要求されたアーティファクトのコピーを直接リモートクライアントワークステーション156に供給しないにもかかわらず、サーバ122はリモートクライアントワークステーション156が要求されたアーティファクトのコピーを有していることを確かめることができる。
図2Bに示されているこのシナリオは、リモートサイト112がより大きい企業の開発部門である場合に起きる典型的な情報交換であり得る。リモートサイト112は、特定製品のための開発下にあるソースコードファイルの最新バージョンにアクセスする複数の開発者全てを含むことができる。従って、それぞれの開発者は、毎日ソースファイル各々のコピーがロードされるリモートクライアントワークステーション156のようなリモートクライアントワークステーションを使用することができる。ファイルを送信するためにHTTP等のアンセキュアなプロトコルを使用することによって、特定のファイルがリモートクライアントワークステーションに送信される時及びそれらのコピーをキャッシュする時に、プロキシサーバ150はそれらのファイルを識別することができる。たとえプロキシサーバ150がアンセキュアなサーバであったとしても、アーティファクトは暗号化されているため、アーティファクトに対する不正なアクセスでアーティファクトについての情報が漏洩することはない。しかし、プロキシサーバ150はアーティファクトが送信されたことを認識できるため、プロキシサーバ150はそれらのアーティファクトをキャッシュし、アーティファクトに対する後続の要求に対して応答する。このようにして、インターネット114上、又は、他のリモートサイト112とセントラルサイト110との間のなんらかの他の接続で送信された情報の量をかなり減少させることができる。
図2Cは、リモートクライアントワークステーション156から送信されたアーティファクトに対する要求に応答して発生する可能性のある別の処理である。この図において、要求272はリモートクライアントワークステーション156から送信される。要求272は、インターネット114を通じて形成できるセキュアチャネル270を介して送信される。要求272は、直接サーバ122に送信され、リモートクライアントワークステーション156に提供すべき1又は複数のアーティファクトを識別する。
サーバ122は、バンドル274を送信することによって要求272に応答する。バンドル274は、リモートクライアントワークステーション156が適切なアーティファクトに対する要求を形成することができる識別子を含む。また、バンドル274は、暗号化キー及びエラーチェックコードなどの、アーティファクトに関係する他の情報も含む。
リモートクライアントワークステーション156は、バンドル274に含まれているアーティファクトについての情報を使用して、要求276を生成する。要求276は、バンドル274中の識別子を使用して、アーティファクトに対する要求をフォーマットする。要求276は、ここではプロキシサーバ150を通過するように示されている。
この例では、プロキシサーバ150は、要求されたアーティファクトのコピーを自サーバのキャッシュに保持していない。従って、要求278はプロキシサーバ150から生成される。要求278はインターネット114を介してリバースプロキシサーバ140へ送信される。
図2Cで図示した例では、リバースプロキシサーバ140は、要求されたアーティファクトのコピーを自サーバのキャッシュに格納している。従って、リバースプロキシサーバ140は、要求278に応答して応答280を生成する。応答280は、要求されたアーティファクトのコピーを含む。このアーティファクトは任意の適切なプロトコルにおいて送信できるが、ここで記載される実施形態においてはHTTPプロトコルが使用される。アーティファクトは暗号化形式で送信される。
応答280はインターネット114を介してプロキシサーバ150に送信される。プロキシサーバ150は、要求されたアーティファクトを自サーバのキャッシュに保持していないため、プロキシサーバ150は応答280の中のアーティファクトのコピーを格納する。アーティファクトは、要求276において使用されたURLによって索引がつけられたプロキシサーバ150に関連付けられているキャシュに格納できる。要求276で使用されるURLは、実際のファイル名というよりはむしろ、バンドル274から提供された識別子を使用する。
プロキシサーバ150は、暗号化されたアーティファクトのコピーを応答282の一部として転送する。リモートクライアントワークステーション156は、応答282を受信する。リモートクライアントワークステーション156は、バンドル274の一部として提供された暗号化キーを使用することによって、応答282に含まれている暗号化されたアーティファクトのコピーを復号化することができる。リモートクライアントワークステーション156は、また、復号化されたファイルにエラーチェックコードを適用して、ファイルがリモートサイト112とセントラルサイト110との間のアンセキュアなネットワーク接続部分を送信されている間に破損され又は改ざんされていないことを判断することもできる。
次に、リモートクライアントワークステーション156は、肯定応答286をサーバ122に送信する。この例では、肯定応答286はセキュアチャネル284上を転送される。
プロキシサーバ150及びリバースプロキシサーバ140は必要とされていないが(not Required)、図2Cは、リバースプロキシサーバ140を、企業における情報管理システムの一部として含むことの利点を示している。リバースプロキシサーバ140は広域ネットワーク124を介して送信される情報量を減少させている。これは、また、サーバ122がデータベース120からのアーティファクトを暗号化するのに費やす時間をも減少させている。
図3は、情報管理システムが実行することのできる処理を図示している。処理は、クライアントがサーバとのセキュアなコネクションを起動するブロック310において開始される。クライアントは、図1で図示した156のようなリモートクライアントワークステーションであってもよい。しかしながら、同じ処理は、セントラルサイトに位置している1261、1262、1263、1264のようなクライアントで使用できる。
ブロック312においては、クライアントは1又は複数のサーバを要求する。ブロック312において送信される要求は、1又は複数のファイルで識別することができる。要求はセキュアなチャネルを介して送信されるため、たとえ名称又は何らかの識別形式が、企業内で安全を維持するのに好ましいファイルについての情報を表しているとしても、要求は、名称又は何らかの識別形式によってそれぞれのファイルを識別することができる。1又は複数のファイルを要求するために任意の適切なフォーマットを用いることができる。例えば、複数のファイルに対する要求を、個別のファイルに対する要求の連続として形成(format)することができる。しかしながら、任意の適切な形式(format)を使用することができる。
ブロック314においては、サーバは、要求されたファイルに関する情報を提供するバンドルで応答する。バンドルは、アンセキュアなチャネル上において安全な方式でファイルへのアクセスを要求する情報を含む。この例では、バンドルは、ファイルを要求するためのネットワークアドレスを形成するために使用できる、それぞれのファイルに対する識別子を含む。バンドルはまた、それぞれのファイルに対する暗号化キーを含む。望ましくは、暗号化キーはそれぞれのファイルで異なっている。それぞれのファイルに別の暗号化キーを使用することによって、たとえ1つの暗号化キーが危険にさらされた(compromise)としても、情報管理システムに格納されている全情報のうち比較的少ない割合のみが危険にさらされることを保障する。バンドルは、さらに、要求されたファイルについての他の情報を含むことができる。上述した例においては、追加情報がエラーチェックコードに含まれているため、通信エラー又はファイルの改ざんを識別することが可能である。バンドルに含むことができる他の情報は、ファイルのサイズ、ファイルがデータベース120に格納された日、又は、クライアントにとってファイルを要求するのに有用な他の情報があり得る。もし、バンドルが複数のファイルに関する情報を提供する場合、何らかの適切な形式でその情報を提供することができる。例えば、それぞれのファイルに対して1セットの状態で、データセットのストリームとして形成して、その情報を提供することが可能である。
ブロック316においては、クライアントはバンドルで提供された情報を使用して、アンセキュアな通信チャネルを介して1又は複数のファイルを要求する。
判定ブロック318においては、クライアントがアクセスするプロキシサーバから、ファイルが利用可能であるか否かの判定がなされる。もし利用可能である場合には、処理は、プロキシがファイルを提供するブロック320に進む。ファイルは暗号化された形式で提供される。
もし、判定ブロック318において、ファイルが場所的に(locally)クライアントに利用可能でないと判定された場合には、処理はブロック330に進む。ブロック330では、プロキシはセントラルロケーションにファイル要求を送信する。
判定ブロック322においては、セントラルロケーションにあるリザーブプロキシは、要求されたファイルのコピーを自装置がキャッシュしているかを判定する。もしキャッシュしている場合には、処理はリザーブプロキシがファイルを提供するブロック338に進む。
リザーブプロキシがファイルをキャッシュしていない場合には、処理はブロック334に進む。ブロック334においては、データベース管理サーバは、要求されたファイルを取得する。暗号化は任意の適切なコンピュータプロセッサにおいて実行され、このコンピュータプロセッサはサーバ122であってもよいが、他のサーバ又はコンピュータが暗号化実行のために使用されてもよい。処理ブロック336においては、ファイルが暗号化される。
処理はブロック338に継続して進む。リザーブプロキシサーバが、そのキャッシュからファイルを取得するか、セントラルロケーションにあるサーバによって提供されたファイルのバージョンを暗号化するかに関わらず、ブロック338では、リザーブプロキシサーバはクライアントにファイルを提供する。
ファイルがクライアントに提供されると、処理はブロック340に継続して進む。暗号化されたファイルがリザーブプロキシによって提供されようと、クライアントの近くのプロキシから提供されようと、処理はブロック340へと進む。ブロック340においては、リモートクライアントはファイルを復号化する。そして、復号化ファイルをリモートクライアントで動作しているアプリケーションに提供することができる。
図3により示した処理は、任意の適切な方法で実行できる。例えば、ファイル管理システムとのやりとりを制御するリモートクライアントワークステーション上のソフトウェアを、プロトコルスタックのアプリケーションレイヤーにおけるソフトウェアとして使用することができる。
ファイルがHTTPなどの標準的なプロトコルを用いて送信される実施形態においては、プロキシサーバ及びリザーブプロキシサーバ140は、何らかの現在知られている又はこれから開発されるアプリケーションにおいてプロキシサーバのために使用される等の、従来のハードウェア及びソフトウェア要素であることができる。同様に、サーバ122及びデータベース120は、現在知られている又はこれから開発される慣習的なサーバとデータベースハードウェアとソフトウェアアクセスとを使用して実装できる。サーバ122又はリザーブプロキシサーバ140は、ソフトウェアでプログラムを行うことで、リモートクライアントによって発行された要求に応答してファイルを暗号化しバンドルを提供することができる。このようなソフトウェアは、セントラルサイトにあるサーバ、又は、セントラルサイトにアクセス可能な、どのような使い勝手がよいハードウェア及びソフトウェアに組み込まれてもよい。このようなプログラムは、例えば、プロトコルスタックのアプリケーションレベルに組み込まれてもよい。
様々な別の実施形態が可能である。例えば、アーティファクトは、アンセキュアなネットワークを介してコード識別子を用いて要求されると説明したが、これはアンセキュアなネットワークにおいて危険にさらされる何れのアーティファクトについての情報量をも減らすことが可能である。名前又はアーティファクトに対する他の識別子を使用しても、望ましくない情報量を開示することがない場合、要求にコード識別子を利用することは必要でない。
他の例として、暗号化ファイルの復号化は、リモートクライアントワークステーションで行われるとして説明した。その復号化処理は、どのような適切なプロセッサにおいて実行されてもよい。プロキシサーバ150への不正なアクセスが懸念されない場合、プロキシサーバ150は復号化を実行し、復号化されたアーティファクトのコピーを自サーバのキャッシュに格納してもよい。代替として、リモートサイト112にある別個のプロセッサをアーティファクトの復号化の実行に使用してもよい。
同様に、暗号化が起こる時間と場所も変形可能である。例えば、暗号化されたアーティファクトはデータベース120に格納されてもよい。このような実施形態においては、サーバ122は、クライアントワークステーション1261、・・・、1264又はセキュアなネットワークを介してサーバ122に接続されている他のプロセッサにファイルを提供する前に、そのファイルを復号化することができる。代替として、クライアントワークステーション1261、・・・、1264は、使用する前に、暗号化されたアーティファクトを受信し復号化してもよい。例えば、リモートサイトに配信される情報量がセントラルサイト110で使用される情報量に比較して多い場合に、このように処理負荷を再配分することが望ましい。それに関連して、「セントラル」及び「リモート」は、アーティファクトを格納するデータベースと、使用するアーティファクトを受信するプロセッサとの間のネットワーク接続の性質を示す用語である。データベース120は、情報管理システムを使用する企業のセントラルの位置に格納される必要はない。
従って、本発明の少なくとも1つの実施形態で説明され、いくつかの態様において説明したように、様々な代替、変更及び改良は、当業者が容易に想到するであろうことは理解される。
このような代替、変更及び改良はこの開示の一部を意図しており、発明の精神及び範囲内であることを意図している。従って、上記の記述及び図面はほんの一例である。
上述した本発明の諸実施形態は、数々の方法のうちいずれを使用しても実施することが可能である。例えば、諸実施形態は、ハードウェア、ソフトウェア、又はこれらの組み合わせを使用して実現することが可能である。ソフトウェアによって実現する場合、プロセッサが単一のコンピュータで提供されるとしても又は複数のコンピュータの中に分布するとしても、ソフトウェアコードは任意の適切なプロセッサ又は一群のプロセッサの上で実行可能である。
また、ここで概説した様々な方法又は処理は、様々なオペレーティングシステム又はプラットホームのいずかを使用する1又は複数のプロセッサ上で実行可能なソフトウェアでコーディングすることができる。さらに、このようなソフトウェアは、適切なプログラミング言語、及び/又は、従来のプログラミングツール又はスクリプトツールのいずかを使用して記述することができ、また実行可能なマシン言語のコードとしてコンパイルすることもできる。
この点において、発明は、1又は複数のプログラムでエンコードされたコンピュータ読取可能な媒体(又は複数のコンピュータ読取可能な媒体)(例えば、コンピュータメモリ、1又は複数のフロッピー(登録商標)ディスク、コンパクトディスク、光ディスク、磁気テープ等)として実現することができる。このプログラムは、1又は複数のコンピュータ又は他のプロセッサ上で実行(execute)された場合に、上述した発明の様々な実施形態を提供する方法を実行する(perform)。コンピュータ読取可能な記録媒体は運搬可能であり、プログラム及びその記録媒体に記録されているプログラムは、上述した発明の様々な特徴を実現するために、1又は複数の異なるコンピュータ又はプロセッサにロード可能である。
用語「プログラム」は、ここでは、上述した本発明の様々な特徴を実現するために、コンピュータ又は他のプロセッサをプログラムするために使用することが可能な、任意の種類のコンピュータコード又は命令セットを指す一般的な意味で使用されている。
さらに、本実施形態の1つの態様によれば、本発明の様々な態様を実現するために、本発明の方法を実行する1又は複数のコンピュータプログラムは単一のコンピュータプロセッサに存在する必要はなく、多数の異なるコンピュータ又はプロセッサの間でモジュールの形で配分されてもよいことも理解されるべきである。
本発明の様々な態様は、単独で使用されてもよいし、組み合わせで使用されてもよいし、上述した実施形態で具体的に論じなかった様々なアレンジを加えて使用してよく、従って、そのアプリケーションにおいて、上記で説明された又は図で示された要素の詳細及びアレンジに限定されることはない。例えば、1つの実施形態で説明した態様は、他の実施形態で説明した態様と任意の方法によって組み合わせることができる。
また、ステップのタイミング及び順序は変形可能である。例えば、図2A、・・・、2Cに示したやり取りは、リモートクライアントが要求を発行し、特定のアーティファクトに関連する識別子及び暗号化キーを受信することで開始した。単一のアーティファクトに対する識別子及び暗号化キーは、変化する可能性がある。もしそうであれば、それぞれのリモートクライアントは、自装置がファイルを要求する度に識別子及び暗号化キーを要求することが必要となる可能性がある。しかしながら、クライアントワークステーションがファイルに対する識別子及び暗号化キーのコピーを格納し、以前に取得して格納しておいた暗号化キーを使用して、216、256及び276といった要求を生成することができる。
「第1の」、「第2の」、「第3の」などの、クレーム要素を変更するためにクレームにおいて順序用語を使用することは、それ自体は優先度、優位性、クレーム要素の他に対する順序、又は、方法の動作が実行される一時的な順序を暗示するものではなく、単に、クレーム要素を区別するために、ある名前を有する1つのクレーム要素を同じ名前(序数用語の使用を除いて)を有する他の要素と区別するためのラベルとして使用される。
また、ここで使用される表現及び専門用語は説明を目的としており、限定的に考えるべきでない。「含有する(including)」、「構成する(comprising)」、「有する(having)」、「含む(containing)」、「含む(involving)」の使用、及び、そのバリエーションは、その後でリストされる項目、及び、追加の項目のみならず同等物をも含むことを意味している。
本発明の実施形態に係る情報管理システムの構造を示す概略図である。 図1の情報管理システムにおいて示された装置間の通信を示す概略図である。 別の動作状態に従った図1の情報管理システムにおける装置間の通信を示す概略図である。 別の動作状態に従った図1の情報管理システムにおける装置間の通信を示す概略図である。 本発明に係る情報管理システムにおける情報処理を示すフローチャートである。
符号の説明
110 セントラルサイト
112 リモートサイト
114 インターネット
124 広域ネットワーク
1261、1262、1263、1264 クライアントワークステーション
140 リバースプロキシサーバ
150 プロキシサーバ
156 リモートクライアントワークステーション

Claims (9)

  1. 複数のアーティファクトへのアクセスを有し、第1のサイトにあるサーバであって、前記第1のサイトにあるプロキシサーバに接続されたサーバと、第2のサイトにあるクライアントであって、前記第1のサイトと前記第2のサイトとを接続するネットワークを介した前記プロキシサーバへのアクセスを有するクライアントと、の間の通信方法であって、前記プロキシサーバは、前記サーバと前記ネットワークとの間に接続され、前記プロキシサーバのキャッシュと関連付けられ、該キャッシュは、前記サーバによって暗号化されたアーティファクトのコピーを格納し、前記方法は、
    前記クライアントが、セキュアなコネクションを介して、前記アーティファクトに対する第1の要求を前記サーバに送信するステップと、
    前記クライアントが、前記第1の要求に応答して、前記セキュアなコネクションを介して前記アーティファクトについての情報を前記サーバから受信するステップであって、前記情報は、前記暗号化されたアーティファクトに関する暗号化情報と、前記暗号化されたアーティファクトに関する識別子とを含む、ステップと、
    前記クライアントが、前記識別子を用いて、セキュアでないコネクションを介して前記アーティファクトに関する第2の要求を前記プロキシサーバに送信するステップと、
    前記暗号化されたアーティファクトのコピーが前記キャッシュに格納されている場合、前記クライアントが、前記第2の要求に応答して、前記セキュアでないコネクションを介して、前記プロキシサーバの前記キャッシュから前記暗号化されたアーティファクトのコピーを受信するステップと
    前記クライアントが、前記暗号化情報を用いて前記暗号化されたアーティファクトのコピーを復号化するステップと
    を備えることを特徴とする方法。
  2. 前記アーティファクトのコピーが前記キャッシュに格納されていない場合、選択的に前記第2の要求を前記サーバに提供するステップをさらに備えることを特徴とする請求項1に記載の方法。
  3. 前記第1の要求を送信するステップは、前記クライアントと前記サーバとの間の前記セキュアなコネクションを確立するステップを備えることを特徴とする請求項1に記載の方法。
  4. 前記セキュアなコネクションを確立するステップは、SSLコネクションを確立するステップを備えることを特徴とする請求項3に記載の方法。
  5. 第1のサイトにある装置と、第2のサイトにある装置と、前記第1のサイトにある装置及び前記第2のサイトにある装置を接続するネットワークと、を有するソースコードコントロールシステムであって、
    前記第1のサイトにある装置は、
    複数のソースコードファイルの複数のバージョンを格納するメモリストレージデバイスと、
    前記メモリストレージデバイスにアクセスして、ソースコードファイルのバージョンを暗号化し、暗号化されたアーティファクトを生成し、前記ネットワークを介して前記暗号化されたアーティファクトを送信し、前記暗号化されたアーティファクトに関する識別子と前記暗号化されたアーティファクトに関する暗号化情報とを含む情報をセキュアなコネクションを介して送信するための第1のサーバと
    前記第1のサーバと前記ネットワークとの間に接続された第2のサーバであって、前記第1のサーバから前記セキュアなコネクションを介して前記ソースコードファイルに関する第1の要求を受信したことに応答して前記第1のサーバから前記暗号化されたアーティファクトを受信し、前記第2のサーバのキャッシュに前記暗号化されたアーティファクトを格納し、前記第2のサイトにある装置から前記暗号化されたアーティファクトに関する第2の要求を受信したことに応答して、前記暗号化されたアーティファクトを送信する、第2のサーバと
    を備え、
    前記第2のサイトにある装置は、前記セキュアなコネクションを介してソースコードファイルに関する前記第1の要求を送信し、前記情報を前記セキュアなコネクションを介して受信し、前記識別子を用いて、前記ネットワークを介して前記アーティファクトに関する前記第2の要求を送信し、前記ネットワークを介して前記暗号化されたアーティファクトを受信し、前記暗号化情報を使用して前記暗号化されたアーティファクトを復号化し、前記ソースコードファイルのバージョンを生成するクライアントコンピュータを備えることを特徴とするソースコードコントロールシステム。
  6. 前記第1のサーバは、複数のソースコードファイルのバージョンのそれぞれを異なる暗号化キーで暗号化することを特徴とする請求項に記載のソースコードコントロールシステム。
  7. 前記メモリストレージデバイスは、第1のタイプの識別子に関連付けて複数のソースコードファイルの複数のバージョンのそれぞれを格納し、
    前記第1のサーバは、前記暗号化されたアーティファクトに関する第2のタイプの識別子を前記ネットワークを介して通信し、
    前記キャッシュは、前記第2のタイプの識別子と関連付けて、前記複数の暗号化されたソースコードファイルを格納することを特徴とする請求項に記載のソースコードコントロールシステム。
  8. 前記ネットワークを介したページのダウンロードに適応されるブラウザをそれぞれ保持する複数のクライアントコンピュータをさらに備え、
    前記キャッシュは、前記ネットワークを介してダウンロードされた前記ページをキャッシュすることを特徴とする請求項に記載のソースコードコントロールシステム。
  9. 前記ネットワークはインターネットを備えることを特徴とする請求項に記載のソースコードコントロールシステム。
JP2006032953A 2005-03-25 2006-02-09 分散情報管理方法および分散情報管理装置 Expired - Fee Related JP5058492B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/090,681 2005-03-25
US11/090,681 US7937753B2 (en) 2005-03-25 2005-03-25 Method and apparatus for distributed information management

Publications (2)

Publication Number Publication Date
JP2006279933A JP2006279933A (ja) 2006-10-12
JP5058492B2 true JP5058492B2 (ja) 2012-10-24

Family

ID=36283207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006032953A Expired - Fee Related JP5058492B2 (ja) 2005-03-25 2006-02-09 分散情報管理方法および分散情報管理装置

Country Status (5)

Country Link
US (1) US7937753B2 (ja)
EP (1) EP1705871B1 (ja)
JP (1) JP5058492B2 (ja)
KR (1) KR101159368B1 (ja)
CN (1) CN1838601B (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060265387A1 (en) * 2005-05-20 2006-11-23 International Business Machines Corporation Method and apparatus for loading artifacts
US7720931B2 (en) * 2006-10-13 2010-05-18 International Business Machines Corporation System and method of remotely managing and loading artifacts
US7761559B2 (en) * 2006-10-13 2010-07-20 International Business Machines Corporation System and method of remotely managing and loading artifacts
US8464209B2 (en) * 2007-03-19 2013-06-11 Microsoft Corporation Using collaborative development information in a team environment
US8707260B2 (en) * 2007-05-25 2014-04-22 International Business Machines Corporation Resolving interdependencies between heterogeneous artifacts in a software system
US20090063623A1 (en) * 2007-08-31 2009-03-05 International Business Machines Corporation Determining connection information to use to access an artifact from an application on a remote server
CN101217449B (zh) * 2008-01-09 2011-01-12 金蝶软件(中国)有限公司 远程调用管理方法
KR100960111B1 (ko) * 2008-07-30 2010-05-27 한국전자통신연구원 리버스 캐싱 프록시를 이용한 웹 기반의 역추적 시스템
EP2323084A1 (en) * 2009-10-23 2011-05-18 Alcatel Lucent Artifact management method
US8599836B2 (en) * 2010-01-27 2013-12-03 Neobitspeak LLC Web-based, hosted, self-service outbound contact center utilizing speaker-independent interactive voice response and including enhanced IP telephony
US8806190B1 (en) 2010-04-19 2014-08-12 Amaani Munshi Method of transmission of encrypted documents from an email application
US8560833B2 (en) * 2010-10-29 2013-10-15 Aruba Networks, Inc. Automatic secure client access
DE102010056497A1 (de) * 2010-12-30 2012-07-05 Robert Bosch Gmbh Funkwerkzeug und Verfahren zu dessen Betrieb
US9584949B2 (en) 2011-01-27 2017-02-28 Microsoft Technology Licensing, Llc Cloud based master data management architecture
US20120198018A1 (en) * 2011-01-27 2012-08-02 Microsoft Corporation Securely publishing data to network service
US9128768B2 (en) 2011-01-27 2015-09-08 Microsoft Technology Licensing, LCC Cloud based master data management
KR101922607B1 (ko) * 2011-04-25 2018-11-27 이카노스 커뮤니케이션스, 인크. 네트워크 환경에서의 캐싱을 위한 방법 및 장치
US9164781B2 (en) * 2011-07-12 2015-10-20 Daniel Q. Bandera Client bundle resource creation
US8370341B1 (en) * 2012-01-06 2013-02-05 Inkling Systems, Inc. Systems and methods for determining and facilitating content updates for a user device
US10102212B2 (en) * 2012-09-07 2018-10-16 Red Hat, Inc. Remote artifact repository
US20140173759A1 (en) * 2012-12-17 2014-06-19 Microsoft Corporation Rights-managed code
CN104426849A (zh) * 2013-08-22 2015-03-18 深圳中兴网信科技有限公司 一种实现数据安全保护的方法及系统
EP3105689A1 (en) * 2014-02-14 2016-12-21 Telefonaktiebolaget LM Ericsson (publ) Caching of encrypted content
CN106685932B (zh) * 2016-12-08 2019-11-15 努比亚技术有限公司 一种基于云服务的文件访问系统和方法
CN108809906B (zh) 2017-05-03 2020-07-07 腾讯科技(深圳)有限公司 数据处理方法、系统及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4809170A (en) * 1987-04-22 1989-02-28 Apollo Computer, Inc. Computer device for aiding in the development of software system
US20020073167A1 (en) * 1999-12-08 2002-06-13 Powell Kyle E. Internet content delivery acceleration system employing a hybrid content selection scheme
US7565450B2 (en) * 2000-03-16 2009-07-21 Adara Networks Inc. System and method for using a mapping between client addresses and addresses of caches to support content delivery
DE60121831T2 (de) * 2001-06-06 2007-08-09 Yahoo! Inc., Sunnyvale System und verfahren zum steuern des zugriffs auf digitalen inhalt einschliesslich streaming-medien
JP2003069639A (ja) * 2001-08-27 2003-03-07 Nec Corp xDSL収容装置、マルチキャスト配信システム及びデータ配信方法
JP4064652B2 (ja) * 2001-10-12 2008-03-19 株式会社シンクプラス プロキシサーバ付きブラウザおよび情報複写システム
US7243366B2 (en) 2001-11-15 2007-07-10 General Instrument Corporation Key management protocol and authentication system for secure internet protocol rights management architecture
US7231663B2 (en) * 2002-02-04 2007-06-12 General Instrument Corporation System and method for providing key management protocol with client verification of authorization
US7661129B2 (en) * 2002-02-26 2010-02-09 Citrix Systems, Inc. Secure traversal of network components
JP2004038439A (ja) * 2002-07-02 2004-02-05 Hitachi Ltd Webアクセス中継装置
US20040098463A1 (en) * 2002-11-19 2004-05-20 Bo Shen Transcoding-enabled caching proxy and method thereof
US8615795B2 (en) * 2003-06-25 2013-12-24 Ntrepid Corporation Secure network privacy system
US7515717B2 (en) * 2003-07-31 2009-04-07 International Business Machines Corporation Security containers for document components
US20050144242A1 (en) * 2003-10-31 2005-06-30 Justin Marston Caching in an electronic messaging system
US7720845B2 (en) * 2004-08-13 2010-05-18 Yahoo! Inc. Systems and methods for updating query results based on query deltas

Also Published As

Publication number Publication date
CN1838601B (zh) 2012-04-04
KR20060103095A (ko) 2006-09-28
US20060218623A1 (en) 2006-09-28
US7937753B2 (en) 2011-05-03
KR101159368B1 (ko) 2012-06-25
JP2006279933A (ja) 2006-10-12
CN1838601A (zh) 2006-09-27
EP1705871B1 (en) 2012-09-12
EP1705871A1 (en) 2006-09-27

Similar Documents

Publication Publication Date Title
JP5058492B2 (ja) 分散情報管理方法および分散情報管理装置
CN108259169B (zh) 一种基于区块链云存储的文件安全分享方法及系统
JP6389895B2 (ja) 要求によって供給される鍵を用いたデータセキュリティ
US8302169B1 (en) Privacy enhancements for server-side cookies
JP5777630B2 (ja) ドキュメント共有のための方法及び装置
US7320076B2 (en) Method and apparatus for a transaction-based secure storage file system
JP4359974B2 (ja) アクセス権限委譲方法
US6601169B2 (en) Key-based secure network user states
US20030079120A1 (en) Web environment access control
US20060291664A1 (en) Automated key management system
US20090313483A1 (en) Single Instance Storage of Encrypted Data
EP1944905A1 (en) An encrypted transmission method and equipment system for preventing copying the data resource
CN100342684C (zh) 在客户和服务器之间建立保密通信信道的方法
US20050010764A1 (en) System and method for securely transmitting, and improving the transmission of, tag based protocol files containing proprietary information
JP2009510628A (ja) 防護電子通信の処理
JP4264650B2 (ja) コンテンツ伝送システム及びコンテンツ伝送方法、コンテンツ送信装置及びコンテンツ送信方法、コンテンツ受信装置及びコンテンツ受信方法、並びにコンピュータ・プログラム
JP2001244925A (ja) 暗号化データ管理システム及び方法、記憶媒体
US8402278B2 (en) Method and system for protecting data
WO2002005475A2 (en) Generation and use of digital signatures
JPH09251426A (ja) ファイル暗号化システム及びその制御方法ならびに暗号ファイル受信システム及びその制御方法
JP3661776B2 (ja) クライアントのプロファイル情報をサーバに提供する方法とシステム
KR19980050938A (ko) 인터넷 상에서 암호환된 문서 전송방법
KR100915003B1 (ko) 웹 환경에서의 안전한 사용자 세션 관리 방법 및 시스템,이를 수행하는 프로그램이 기록된 기록매체
KR20010110991A (ko) 보안 프로토콜을 이용한 전송에 있어서 벌크 데이터의대칭 암호화 효율을 향상시키기 위한 컴퓨터 프로그램제품, 시스템 및 방법
JPH11212850A (ja) 暗号化共有ファイル送受信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120404

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120801

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5058492

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees