CN1838601B - 用于分布式信息管理的方法和装置 - Google Patents

用于分布式信息管理的方法和装置 Download PDF

Info

Publication number
CN1838601B
CN1838601B CN2006100550011A CN200610055001A CN1838601B CN 1838601 B CN1838601 B CN 1838601B CN 2006100550011 A CN2006100550011 A CN 2006100550011A CN 200610055001 A CN200610055001 A CN 200610055001A CN 1838601 B CN1838601 B CN 1838601B
Authority
CN
China
Prior art keywords
artifactitious
server
artifact
copy
encrypted
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
CN2006100550011A
Other languages
English (en)
Other versions
CN1838601A (zh
Inventor
E·W·胡杰斯
J·克里斯蒂
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 Technology Licensing LLC
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 CN1838601A publication Critical patent/CN1838601A/zh
Application granted granted Critical
Publication of CN1838601B publication Critical patent/CN1838601B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Chemical & Material Sciences (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

信息管理系统例如可以用于源代码管理系统。信息管理系统分布在整个企业内,并且被操作以允许与在无担保网络上连接到中心站点的远程站点的安全通信。通过无担保网络来创建安全信道,以传送关于一个或多个人工制品的加密和标识符信息。该信息被用来访问来自远程站点的人工制品并为它解密。由于人工制品(虽然被加密)保持可标识形式,因此,它们可以贯穿信息管理系统而被高速缓存。高速缓存人工制品的能力可显著地减小从远程站点操作信息管理系统所要求的带宽。

Description

用于分布式信息管理的方法和装置
技术领域
本发明一般涉及信息管理系统,尤其涉及分布式信息管理系统。
背景技术
信息管理系统被广泛使用。这类系统常常包括存储“人工制品(artifact)”的数据库。人工制品是采取由信息管理系统操纵的组织形式的数据集合。人工制品常常是计算机文件。普通类型的信息管理系统是版本控制系统——例如可以被用来管理企业开发软件中的计算机源代码文件。
信息管理系统常常被网络化,以便企业内的多个人可以利用人工制品来工作。在源代码管理系统的例子中,企业内的程序开发者、项目管理人、测试工程师和其他人都可以访问源代码文件。这些文件可以被存储在中央数据库中。为了促进整个企业内的文件运用,信息管理系统常常包括被连接到该数据库的服务器。该服务器被连接到网络,从而允许信息管理系统中信息的各个用户的工作站从数据库中检索人工制品的副本。当用户需要人工制品时,他们的工作站将请求发送到服务器,该服务器随后在网络上提供人工制品的副本。
即使企业在相对广阔的地区上分布有多个工作场地,也可以使用关于信息管理系统的网络化体系结构。广域网(可能包括因特网)允许在分布式位置的单独的工作站与可以访问人工制品数据库的服务器进行通信。
如果客户机与服务器之间的通信路径的任何部分是无担保的,那么,可以在网络上创建安全信道,即使网络无担保也是如此。因特网是无担保通信路径的例子。可以在不安全网络上创建的安全信道的例子是安全套接层(SSL)连接或虚拟专用网络(VPN)。
在安全信道中,通信协议使得非预期接收者难以确定在网络上传送的信息内容,即使传输被截取也是如此。例如,当传送信息时,通过SSL信道传送的设备加密该信息。该信息也可以分成片断,以便与正被传送的信息没有可容易检测到的相关性。结果,非预期接收者甚至可能无法标识表示文件或其他在逻辑上相关的数据块的传输的各个部分,从而使“破解”加密机制的工作更加困难。
使用安全信道的缺点是用户在该安全信道上下载信息所需时间量以及在客户机-服务器环境中所施加的额外开销。SSL为每个用户的会话使用唯一非对称密钥对。当它在信道上被传送时,唯一对称密钥用于数据加密。在服务器上的信息将要被分发给多个客户机的情况下,使用SSL信道会将很高的额外开销加于该服务器。期望的是提供一种用于信息管理系统的、例如可以由具有由无担保信道互连的地理支付站点的企业来操作的经改进的方法和装置。
发明内容
本发明涉及一种信息管理系统,其中,计算设备可以在安全信道上接收关于人工制品的信息。该信息用来在无担保信道上检索并解密人工制品的加密版本。
在一个方面中,本发明涉及在可以使用多个人工制品的服务器与可以访问具有与其关联的高速缓存的代理服务器的客户机之间进行通信的方法,该高速缓存存储人工制品的副本。该方法包括将第一请求从客户机传达给服务器;响应于该请求,将关于人工制品的已编码信息从服务器传达给客户机;从客户机到代理服务器,使用该已编码信息来生成第二请求;以及,当人工制品的副本被存储在高速缓存中时,响应于第二请求来提供来自高速缓存的人工制品的副本。
在另一个方面中,本发明涉及操作计算设备来访问人工制品的方法,可形成通过安全和无担保信道而被耦合到网络的该设备。该方法包括:使用安全信道来接收关于人工制品的信息;使用关于人工制品的信息来运用无担保信道请求人工制品的副本;接收采取加密形式的人工制品;以及,使用关于人工制品的信息来将人工制品从加密形式转换成解密形式。
在另一个方面中,本发明涉及这样一种类型的源代码控制系统,它具有第一站点处的设备、第二站点处的设备以及互连该第一站点处的设备和该第二站点处的设备的网络。在第一站点的设备包括存储多个源代码文件的多个版本的记忆存储设备;服务器包括存储计算机可执行指令的计算机可读介质,这些计算机可执行指令用于加密源代码文件的版本以便创建已加密人工制品;在网络上传达该已加密人工制品;以及,在网络上传达关于该已加密人工制品的加密信息。在第二站点的设备包括客户计算机,该客户计算机包括存储用于获得加密信息的计算机可执行指令的计算机可读介质;在网络上接收已加密人工制品;以及,使用加密信息来解密已加密人工制品,以生成源代码文件的该版本。
附图说明
附图并不意在按规定比例绘制。在这些附图中,各幅图中所示的每个相同的或几乎相同的组件由相似的标号来表示。为清楚起见,并非在每幅图中标注每个组件。在这些图中:
图1是示出根据本发明的实施例的信息管理系统的体系结构的草图;
图2A是示出图1的信息管理系统中所示的设备之间的通信的草图;
图2B是示出根据替换操作状态的图1的信息管理系统中的设备之间的通信的草图;
图2C是示出根据替换操作状态的图1的信息管理系统中的设备之间的通信的草图;以及
图3是描绘了根据本发明的信息管理系统中的信息处理的流程图。
具体实施方式
通过允许无担保信道上的人工制品的安全通信,提供了一种经改进的信息管理系统。这些人工制品以加密形式传达,并可以被存储在接收这些人工制品的工作站本地的代理服务器中。安全信道用来传送关于每个人工制品的相对少量的信息。例如,这种系统可以用来使用诸如因特网等无担保信道将企业的远程站点连接到中心站点。源代码管理系统在这里被用作示例信息管理系统。
图1描绘了根据本发明的一个实施例的信息管理系统。该信息管理系统包括中心站点110和远程站点112。中心站点110和远程站点112通过网络(可能是因特网114)连接。
中心站点110包括数据库120。数据库120用计算机可读和计算机可写存储介质形成。它包括组织人工制品的存储和检索的控制器。在所描述的实施例中,每个人工制品是包含源代码的文件,它是正由操作中心站点110和远程站点112的企业执行的开发项目的一部分。在这个例子中,数据库120中的每个文件由文件名来描述,并且,每个文件的多个版本可以被存储在数据库120中。数据库120可以是如本领域中已知的数据库,但也可以使用任何合适形式的数据库。
中心站点110包括多个客户机工作站1261、1262……1264。在使用中,每个客户机工作站可以由管理中心站点110和远程站点112的企业内的人员用来处理来自数据库120的人工制品。例如,每个工作站可以由创建被存储在数据库120中的源代码文件的代码开发者来使用。或者,客户机工作站可以由从数据库120中检索源代码文件并测试它的代码测试者来使用。例如,每个客户机工作站可以是个人计算机或类似的计算设备。
中心站点110包括服务器122。服务器122被连接到数据库120。服务器122是客户机工作站1261、1262、1263和1264中的每一个在广域网124上可访问的。服务器122可以是从客户机工作站1261、1262……1264接收通信的硬件和软件元件的组合,这些客户机工作站请求将数据库120中所存储的人工制品传递到客户机工作站。服务器122包含硬件和软件元件,这些硬件和软件元件接收这类请求并访问数据库120,以便将所请求的人工制品的副本提供给工作站。服务器122可以是如本领域中已知的使用HTTP消息通信的文件服务器,但也可以使用任何合适的实现。
远程站点112包括一个或多个远程客户机工作站156。这里,为简单起见而示出单个远程客户机工作站156,但当多个客户机工作站从远程站点访问数据库120中的人工制品时,本发明可能会最有用。远程客户机工作站156可以是与客户机工作站1261……1264相同类型的工作站,并可以用于相同的目的。所以,远程客户机工作站156应该类似于客户机工作站1261……1264而可以访问数据库120中所存储的人工制品。但是,远程机客户工作站156与数据库120之间的信息流路径通过因特网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的速度。不管由一个远程客户机工作站、还是由几个不同的远程客户机工作站进行访问,当频繁地访问同一人工制品时,速度提高最大。在源代码管理系统中,经常频繁地访问包含当前正被开发的源代码的各个部分的人工制品。
传统上,因特网114不被视作提供安全信道。由于代理服务器通常存储在无担保信道上获得的信息,因此,代理服务器常常不安全。为了在远程客户机工作站156与服务器122之间提供安全通信,可加密将要被传送的人工制品。在代理服务器150不安全的情况下,人工制品可以按加密形式被高速缓存在代理服务器150中。
通过在中心站点110处高速缓存已加密人工制品,可以获得进一步的效率。在所示的实施例中,中心站点110包括也存储已加密人工制品的副本的反向代理服务器140。反向代理服务器140是可以被用来高速缓存人工制品的设备的例子。反向代理服务器140可以是如本领域中已知的代理服务器,包括根据可如本领域中已知的策略操作的高速缓存。反向代理服务器140可以加密人工制品,或者可以接收采取加密形式的人工制品。
在所描绘的实施例中,当对于人工制品的请求在因特网114上被传送时,它们到达反向代理服务器140。如果反向代理服务器140在其高速缓存中存储所请求的人工制品的已加密版本,那么,它可以提供已加密人工制品的副本。当反向代理服务器140还没有在其高速缓存中存储人工制品的已加密副本时,它可以向服务器122请求人工制品。然后,服务器122可以在广域网124上提供已加密人工制品。反向代理服务器140随后可以将已加密人工制品存储在其高速缓存中,并在因特网114上传送已加密人工制品。
图2A示出了图1中描绘的信息管理系统的各个元件之间的一连串通信。交换始于远程客户机工作站156建立与服务器122的安全信道。在图2A的实施例中,在安全信道210中启动通信。安全信道210可以使用传统的安全协议(不管是现在已知的,还是此后开发的)来形成。在所描述的实施例中,安全信道210使用安全套接层(SSL)协议来创建。由于请求212在安全信道上被发送到服务器122,因此,代理服务器150和反向代理服务器140都不可访问该请求的内容。在这个实施例中,请求212直接去往服务器122。
请求112标识将要被提供给远程客户机工作站156的一个或多个人工制品。在这个实施例中,每个人工制品由其文件名来标识。如果数据库120将文件作为版本控制系统的一部分来存储,那么,文件名可以标识文件的特定版本。中心站点110处的服务器122利用束214来响应于请求212。
束214也在安全信道210上被传送。束214提供信息,从而允许远程客户机工作站156获得并利用所请求的人工制品。对于这个实施例,束214包括关于人工制品的已加密版本的标识符。束214包括可以被用来解密人工制品的已加密版本的加密密钥。束214也可以包括为所请求的人工制品准备的错误检测码(例如,散列码)。
在这个实施例中,标识符是被分配给人工制品的代码。数据库120中的每个人工制品具有服务器122分配的唯一标识符。较佳的是,标识符没有揭示关于人工制品的功能或结构的信息。对比而言,经常选择文件名来描写人工制品的功能。在所描述的实施例中,标识符被用来指的是在无担保信道上传送的通信中的人工制品。使用非描述标识符(而不是文件名)可以提高安全性。在无担保信道上的传输的非授权接收者接收精简信息,该精简信息可以被用来“破解”人工制品的加密。每个标识符可以用任何合适的方法来分配。例如,标识符可以被任意地分配,或者可以按人工制品被添加到数据库120的顺序来分配。在数据库120存储多个文件版本的情况下,每个版本将具有其自己的标识符。
与束214相关联的加密密钥是可以用来解密人工制品的已加密版本的密钥。已知许多加密形式,并且可以使用任何合适的加密形式。在所描述的实施例中,使用对称加密算法,以便被用来加密人工制品的密钥与被用来解密人工制品的密钥相同。在所描述的实施例中,使用具有至少带有64位的密钥的加密算法。合适的算法的例子是AES 128和AES 256加密算法。每个人工制品可以具有唯一加密密钥。在数据库120存储多个文件版本的情况下,每个版本可以具有其自己的加密密钥。
与束214相关联的错误校验码提供进一步的安全措施。通过对中心站点110处的人工制品执行操作,来生成错误校验码。为错误校验码生成的值取决于表示人工制品的文件的内容。远程客户机工作站156可以对它接收的人工制品执行相同的操作。如果与束214相关联的错误校验码不与远程客户机工作站156生成的错误校验码相匹配,那么,远程客户机工作站156可以标识由于篡改而使文件被破坏或改变。在所描述的实施例中,通过散列算法来生成错误校验码。可以使用的散列算法的一个例子是SHA1散列算法,但可以使用生成错误校验码的任何合适的方法。
一旦在远程客户机工作站156处接收束214,远程客户机工作站156就可以生成对于已加密人工制品的副本的请求216。在示例实施例中,作为束214的一部分而提供的标识符用作人工制品的页面地址。在远程站点112通过因特网114连接到中心站点110的例子中,通信可以采取如传统上在因特网上使用的HTTP消息的形式。请求216可以是HTTP GET请求。在这个例子中,在束214中传送的标识符可以是关于包含人工制品的文件的URL的一部分。因此,请求216可以采取HTTP://server/identifier的形式。被表示为HTTP://server的URL的该部分标识服务器122的web地址。被识别为“identifier”的URL的该部分表示服务器122可访问的特定文件(例如,存储在数据库120中的文件)。
当图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。在使用HTTP协议在因特网114上进行远程客户机工作站156与服务器122之间的通信的例子中,根据HTTP协议规定的格式,已加密人工制品被包括在答复222中。
答复222首先传递到反向代理服务器140。反向代理服务器140可以根据其策略来高速缓存答复222中所包括的已加密人工制品的副本。已加密人工制品可以被存储在与由URL索引的反向代理服务器140相关联的高速缓存中,该URL用来向服务器122请求人工制品。对于同一人工制品的任何后向请求将在“get(获取)”请求中使用相同的URL。因此,当未加密的人工制品被高速缓存在反向代理服务器140中时,反向代理服务器140可以标识并响应于对于该人工制品的后续请求。
包含已加密人工制品的答复224在因特网114上从反向代理服务器140被发送到代理150。代理150也可以根据其策略来将已加密人工制品存储在其高速缓存中。已加密人工制品也可以被存储在与同样由URL索引的代理服务器150相关联的高速缓存中,该URL被用来请求人工制品。如果远程客户机工作站156随后请求同一人工制品的副本,同时被存储在与代理服务器150相关联的高速缓存中,那么,代理服务器150可以通过提供来自其高速缓存的人工制品的已加密副本来作出响应。
已加密人工制品在答复226中从代理服务器150被发送到远程客户机工作站156。远程客户机工作站156可以利用使用束214中所包括的加密密钥的解密软件来编程。所以,答复226中所包括的已加密人工制品的副本可以在远程客户机工作站156处被解密。然后,在束214中传送的错误校验码可以应用于人工制品的解密副本,以验证人工制品的适当传输。
一旦在远程客户机工作站156上执行的软件程序已确定远程客户机工作站156已接收所请求的人工制品的有效副本,就可以发送确认230。在这个实施例中,在安全信道228上传送确认230。但是,可以使用用于传达确认的任何合适的手段。
确认230可以被服务器122用来减少传达给远程客户机工作站156的人工制品的数目。例如,如果远程客户机工作站156请求相关的文件组,那么,来自先前的确认的信息可以被服务器122用来确定已向远程客户机工作站156提供该组中的文件的子集。因此,服务器122可以确定对一组文件的请求的适当响应要求发送少于该组中的所有文件。但是,确认230可能不被包括在所有实施例中。
图2B示出了可能发生的替换信息交换。对于图2A中所示的信息交换,交互始于远程客户机工作站156发送的请求252。在安全信道250上传送请求252。服务器122利用束254响应于请求252。束254可以包含在请求252中标识的一个或多个文件的标识符。束254也可以包括每个所请求的文件所关联的加密密钥和错误校验码。该信息在安全信道250上被返回到远程客户机工作站156。
远程客户机工作站156使用束254中所包含的标识符,以便在无担保信道上发出对于人工制品的请求256。请求256被传递到代理服务器150。在图2B所示的交换中,代理服务器150使所请求的人工制品被高速缓存。作为与远程客户机工作站156或通过代理服务器150而连接的远程站点112处的任何其他工作站的先前的交互的结果,人工制品的副本可能已被高速缓存。
代理服务器150以加密形式提供所请求的人工制品,而不会对服务器122提出请求。代理服务器150生成答复258,答复258包含采取加密形式的人工制品的副本。
如以上连同图2A所述,远程客户机工作站156使用束254中所包括的加密密钥来为人工制品解密。然后,远程客户机工作站156可以应用束254中所包括的错误校验码来验证它已正确地接收所请求的人工制品的未破坏的副本。作为响应,远程客户机工作站156可以生成确认262。在这个例子中,使用安全信道260将确认262发送到服务器122。利用这个方法,即使服务器122不直接将所请求的人工制品的副本供应给远程客户机工作站156,服务器122也可以确定远程客户机工作站156具有所请求的人工制品的副本。
图2B中所示的情形可以代表当远程站点112是更大型的企业的开发部门时发生的交换。远程站点112可以包括都访问关于特定产品的正被开发的源代码文件的最近版本的多个开发者。因此,每个开发者可以使用诸如远程客户机工作站156等每天被装载每个源文件的副本的远程客户机工作站。通过使用无担保协议(例如,HTTP)来传送文件,当特定文件被传送到远程客户机工作站并高速缓存它们的副本时,代理服务器150可以标识它们。即使代理服务器150是无担保服务器,对人工制品的非授权访问也不揭示关于人工制品的信息,因为它们被加密。但由于代理服务器150可以在人工制品正被传送时标识它们,因此,它可以高速缓存它们并响应于对于人工制品的后续请求。利用这个方法,可以显著地减少在因特网114或远程站点112与中心站点110之间的任何其他连接上传送的信息量。
图2C示出了可能响应于对于从远程客户机工作站156发送的人工制品的请求而发生的替换事务。在这个举例说明中,从远程客户机工作站156发送请求272。在可以通过因特网114建立的安全信道270上发送请求272。请求272被定向到服务器122,并标识将要被提供给远程客户机工作站156的一个或多个人工制品。
服务器122通过发送束274来响应于请求272。束274包括标识符,通过该标识符,远程客户机工作站156可以形成对于适当的人工制品的请求。束274也可以包括加密密钥和与人工制品有关的其他信息(例如,错误校验码)。
远程客户机工作站156使用关于束274中所包含的人工制品的信息来生成请求276。请求276使用束274中的标识符来格式化对于人工制品的请求。请求276在这里被示出为传递到代理服务器150。
在这个例子中,代理服务器150在其高速缓存中没有所请求的人工制品的副本。因此,从代理服务器150中生成请求278。请求278通过因特网114传递到反向代理服务器140。
在图2C所示的例子中,远程代理服务器140已在其高速缓存中存储所请求的人工制品的副本。因此,反向代理服务器140响应于请求278来生成响应280。响应280包括所请求的人工制品的副本。人工制品可以用任何合适的协议来传送,但在这里所述的实施例中,使用HTTP协议。人工制品以加密形式来传送。
答复280通过因特网114传递到代理服务器150。由于代理服务器150没有其高速缓存中所存储的所请求的人工制品的副本,因此,代理服务器150在答复280中存储人工制品的副本。人工制品可以被存储在与由请求276中使用的URL编引的代理服务器相关联的高速缓存中。请求276中所用的URL使用束274中提供的标识符,而不是实际的文件名。
代理服务器150将已加密人工制品的副本作为答复282的一部分来转发。远程客户机工作站156接收答复282。通过使用作为束274的一部分而提供的加密密钥,远程客户机工作站156可以解密与答复282一起包括的人工制品的已加密副本。远程客户机工作站156也可以将错误校验码应用于解密文件,以确定文件还没有被破坏或篡改,同时,它在远程站点112与中心站点110之间的网络连接的各个无担保部分上被传送。
然后,远程客户工作站156可以将确认286发送到服务器122。在这个例子中,在安全信道284上传送确认286。
虽然不需要代理服务器150和反向代理服务器140,但是,图2C示出了包括反向代理服务器140作为企业内的信息管理系统的一部分的好处。反向代理服务器140减少在广域网124上传送的信息量。它也减少服务器122用于加密来自数据库120的人工制品的时间量。
图3示出了信息管理系统可以用于操作的过程。该过程在块310处开始,在那里,客户机启动与服务器的安全连接。该客户机可以是诸如图1中所描绘的156的远程客户工作站。但是,相同的过程可以用于诸如位于中心站点处的1261、1262、……1264等客户机。
在块312处,客户机向服务器请求一个或多个文件。在块312处发送的请求可以标识一个或多个文件。由于请求在安全信道上被发送,因此,请求可以按名称或按任何标识格式来标识每个文件,即使它揭示关于较佳地在企业内保持安全的文件的信息,也是如此。可以使用任何合适的格式来请求一个或多个文件。例如,对于多个文件的请求可以被格式化为对于单个文件的一系列请求。但是,可以使用任何合适的格式。
在块314处,服务器以提供关于所请求的文件的信息的束来作出响应。该束包括在无担保信道上用安全方法访问这些文件所需的信息。在这个例子中,该束为每个文件包括可以用来形成从中请求文件的网络地址的标识符。该束也为每个文件包括加密密钥。较佳的是,该加密密钥对于这些文件中的每一个而言是不同的。为每个文件使用各自的加密密钥可确保即使一个加密密钥被泄密,也只有被存储在信息管理系统中的全部信息的相对较小的百分比被泄密。此外,该束可以包括关于所请求的文件的其他信息。在以上所描述的例子中,额外信息包括错误校验码,以便可以标识传输或篡改文件中的错误。可以被包括在束中的其他可能的信息可以是文件的大小、它被存储在数据库120中的日期、或对请求文件的客户机有用的其他信息。如果束提供关于多个文件的信息,那么,可以按任何合适的格式来提供该信息。例如,该信息可以被提供格式化为一连串数据集,每个文件有一个集合。
在块316处,客户机使用所提供的带有束的信息而在无担保通信信道上请求一个或多个文件。
在判定块318处,确定是否可以从客户机可以使用的代理服务器那里获得文件。如果是,则处理前进到块320,在那里,该代理提供文件。文件是以加密形式提供的。
如果在判定块318处确定客户机在本地无法获得文件,那么,处理前进到块330。在块330处,代理将文件请求转发到中心位置。
在判定块322处,该中心位置处的反向代理确定它是否已高速缓存所请求的文件的副本。如果是,则处理前进到块338,在那里,反向代理提供文件。
在反向代理还没有高速缓存文件的情况下,处理前进到块334。在块334处,管理数据库的服务器检索所请求的文件。可以在任何合适的计算机处理器中执行加密,该计算机处理器可以是服务器122,但可以使用其他服务器或计算机来执行加密。在过程块336处,文件被加密。
该过程在块338处继续进行。不管反向代理服务器是从其高速缓存那里获得文件、还是加密中心位置处的服务器所提供的文件的版本,在块338处,反向代理服务器都将文件提供给客户机。
一旦文件已被提供给客户机,就在块340处继续进行处理。不管加密文件是由反向代理提供、还是来自客户机附近的站点处的代理,处理都前进到块340。在块340处,远程客户机为文件解密。然后,可以将解密文件提供给运行于远程客户机上的应用程序。
图3所示的进程可以按任何合适的方式来实施。例如,控制与文件管理系统的交互的远程客户机工作站上的软件可以作为协议栈的应用层中的软件来实现。
在使用诸如HTTP等标准协议来传送文件的实施例中,代理服务器和反向代理服务器140可以是传统的硬件和软件元件,例如用于任何现在已知的或此后开发的应用程序中的代理服务器。同样,不管是现在已知的、还是此后开发的,可以使用传统的服务器和数据库硬件与软件访问来实现服务器122和数据库120。可以利用软件来为服务器122或反向代理服务器140编程,以便响应于远程客户机发出的请求来加密文件并提供束。例如,这类软件可以被并入中心站点处的服务器或中心站点可以访问的任何便利的硬件或软件。例如,这类程序可以被并入协议堆栈的应用层。
可能存在各种替换实施例。例如,描述了使用已编码标识符在无担保网络上请求人工制品,这可以减少无担保网络中所揭露的关于任何人工制品的信息量。如果使用人工制品的名称或其他标识符不会揭示不合需要的信息量,那么,请求使用已编码标识符是不必要的。
作为另一个例子,描述了在远程客户机工作站处发生加密文件的解密。可以在任何合适的处理器中执行解密过程。在对代理服务器150的非授权访问不是问题的情况下,代理服务器150可以执行解密并将人工制品的已解密副本存储在其高速缓存中。作为选择,可以使用远程站点112处的单独的处理器来执行人工制品的解密。
同样,加密发生的时间和地点也可能会变化。例如,已加密人工制品可以被存储在数据库120中。在这一实施例中,在将文件提供给客户机工作站1261、……1264或在安全网络上连接到服务器122的其他处理器之前,服务器122可以为文件解密。作为选择,客户机工作站1261、……1264可以接收已加密人工制品并在使用前为它们解密。例如,按这个方式再分配处理负荷可能是合乎需要的,其中与中心站点110处使用的信息量相比而言,被分配给远程站点的信息量很大。在那一点上,“中心”和“远程”是指出存储人工制品的数据库与接收要使用的人工制品的处理器之间的网络连接的性质的术语。数据库120不需要被存储在位于使用信息管理系统的企业的中心的位置。
由此,在描述了本发明的至少一个实施例的几个方面之后,将会理解,本领域的技术人员将会容易地想到各种改变、修改和改进。
这类改变、修改和改进意在成为本公开内容的一部分,并且意在落入本发明的精神和范围以内。
本发明的上述实施例可以用任何众多的方法来实现。例如,可以使用硬件、软件或其组合来实现这些实施例。当用软件来实现时,可以在任何合适的处理器或处理器集合上执行软件代码,而不管是在单一计算机中提供、还是分布在多台计算机之中。
这里略述的各种方法或过程也可以被编码为可以在使用各种操作系统或平台中的任何一个的一个或多个处理器上执行的软件。此外,这类软件可以使用任何许多合适的编程语言和/或常规编程或脚本工具来编写,也可以被编译为可执行机器语言代码。
在这方面,本发明可以被实施为利用一个或多个程序来编码的计算机可读介质(或多个计算机可读介质)(例如,计算机存储器、一个或多个软盘、紧致磁盘、光盘、磁带等),当在一台或多台计算机或其他处理器上执行时,这些程序执行实现上述本发明的各个实施例的方法。计算机可读介质或媒体可以是可传送的,以便存储于其上的一个或多个程序可以被装载到一台或多台不同的计算机或其他处理器上,以实现如上所述的本发明的各个方面。
这里在一般意义上使用的术语“程序”指的是可以被用来为计算机或其他处理器编程以便实现如上所述的本发明的各个方面的任何类型的计算机代码或指令集。此外,应该理解,根据本实施例的一个方面,在执行时实现本发明的方法的一个或多个计算机程序不需要驻留在单一计算机或处理器上,但可以按模块化方式分布在许多不同的计算机或处理器之中,以实现本发明的各个方面。
本发明的各个方面可以单独地、组合地、或按前文所描述的实施例中没有明确讨论的各种排列来使用,所以其应用不局限于前文中陈述的或附图中所示的组件的细节和排列。例如,一个实施例中所描述的各个方面可以按任何方式与其他实施例中所描述的各个方面结合。
步骤的定时和排序也可以变化。例如,图2A……2C所示的交互始于远程客户机发出请求并接收涉及特定人工制品的标识符和加密密钥。关于单个人工制品的标识符和加密密钥可能会被更改。如果是这样,那么,每当每个远程客户机要求文件时,它可能有必要请求标识符和加密密钥。但是,客户机工作站可能存储关于文件的标识符和加密密钥的副本,并使用它先前已获得和存储的密钥来生成诸如216、256或276等请求。
在权利要求书中使用诸如“第一”、“第二”、“第三”等序数术语来修改权利要求元素并不单独地暗示一个权利要求元素对另一个权利要求元素的任何优先级、先后次序或顺序、或执行方法的各项动作的时间顺序,而仅仅被用作标签,以便区别具有某个名称的一个权利要求元素和具有相同名称的另一个元素(如果没有使用序数术语),来区别各个权利要求元素。
这里使用的措词和术语也出于说明的目的,并且不应该被视作起限制的作用。这里的“包括”、“包含”、或“具有(having)”、“含有”、“涉及”及其变更意在包含其后列出的项目及其相等物以及额外的项目。

Claims (16)

1.一种在可以访问多个人工制品的服务器与可以访问代理服务器的客户机之间进行通信的方法,所述代理服务器具有与其相关联的高速缓存,所述高速缓存存储人工制品的副本,所述方法包括:
a)在所述客户机与所述服务器之间建立安全连接;
b)将对于人工制品的第一请求通过所述安全连接从所述客户机传达给所述服务器;
c)响应于所述请求,将关于所述人工制品的已编码信息通过所述安全连接从所述服务器传达给所述客户机,其中传达关于所述人工制品的已编码信息包括传达所述人工制品的标识符和加密信息;
d)从所述客户机到所述代理服务器,使用所述已编码信息来生成第二请求;以及
e)当所述人工制品的副本被存储在所述高速缓存中时,响应于所述第二请求通过非安全连接提供来自所述高速缓存的人工制品的副本。
2.如权利要求1所述的方法,其特征在于,还包括:当所述人工制品的副本不被存储在所述高速缓存中时,通过所述非安全连接有选择地将所述第二请求提供给所述服务器。
3.如权利要求1所述的方法,其特征在于:
提供来自所述高速缓存的人工制品的副本包括提供所述人工制品的已加密副本。
4.如权利要求3所述的方法,其特征在于,还包括使用所述加密信息来解密所述人工制品的已加密副本。
5.如权利要求1所述的方法,其特征在于,建立安全连接包括建立SSL连接。
6.如权利要求3所述的方法,其特征在于,所述服务器被耦合到第二代理服务器,所述第二代理服务器具有第二高速缓存:
a)所述方法还包括加密所述人工制品,并将所述已加密人工制品的副本存储在所述第二高速缓存中;以及
b)其中,提供所述人工制品的已加密副本包括从所述第二高速缓存中检索所述人工制品的已加密副本。
7.一种操作计算设备来访问人工制品的方法,所述设备被耦合到可以用于形成安全信道和无担保信道的网络,所述方法包括:
a)使用所述安全信道来接收关于所述人工制品的信息;
b)使用关于所述人工制品的信息而在所述无担保信道上传送对于所述人工制品的副本的请求,其中关于所述人工制品的信息包括加密密钥和标识符;
c)在所述无担保信道上接收采取已加密形式的人工制品;以及
d)使用关于所述人工制品的信息来将所述人工制品从已加密形式转换成已解密形式。
8.如权利要求7所述的方法,其特征在于,关于所述人工制品的信息包括错误检测码。
9.如权利要求7所述的方法,其特征在于,使用安全信道来接收关于所述人工制品的信息包括使用安全信道来接收关于多个人工制品的信息。
10.如权利要求7所述的方法,其特征在于,还包括在网络上发送指出所述计算设备接收到所述人工制品的副本的通信。
11.一种以下类型的源代码控制系统,它具有第一站点处的设备、第二站点处的设备以及互连第一站点处的设备和第二站点处的设备的网络,其特征在于:
a)所述第一站点处的设备包括:
i)存储多个源代码文件的多个版本的记忆存储设备;以及
ii)服务器,所述服务器适用于:
A)加密源代码文件的版本,以创建已加密人工制品;
B)在网络上使用非安全连接来传达所述已加密人工制品;
C)在网络上使用安全连接来传达关于所述已加密人工制品的加密信息;
b)所述第二站点处的设备包括客户计算机,所述客户计算机适用于:
i)通过所述安全连接来获得所述加密信息;
ii)在网络上通过所述非安全连接来接收所述已加密人工制品;以及
iii)使用所述加密信息来为所述已加密人工制品解密,以生成所述源代码文件的版本。
12.如权利要求11所述的源代码控制系统,其特征在于,所述服务器还适用于利用不同的加密密钥来加密源代码文件的多个版本中的每一个。
13.如权利要求12所述的源代码控制系统,其特征在于,还包括被耦合到网络的高速缓存,所述高速缓存存储多个已加密源代码文件。
14.如权利要求13所述的源代码控制系统,其特征在于:
a)所述记忆存储设备连同第一类型标识符一起来存储多个源代码文件的多个版本中的每一个;以及
b)所述服务器还适用于在网络上传达关于所述已加密人工制品的第二类型标识符;
c)所述高速缓存连同所述第二类型标识符一起来存储所述多个已加密源代码文件。
15.如权利要求13所述的源代码控制系统,其特征在于:
a)还包括多台客户计算机,每台客户计算机具有适合用于在网络上下载页面的浏览器;以及
b)其中,所述高速缓存另外存储用于高速缓存在网络上下载的页面的计算机可执行指令。
16.如权利要求15所述的源代码控制系统,其特征在于,所述网络包括因特网。
CN2006100550011A 2005-03-25 2006-02-24 用于分布式信息管理的方法和装置 Expired - Fee Related CN1838601B (zh)

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
CN1838601A CN1838601A (zh) 2006-09-27
CN1838601B true CN1838601B (zh) 2012-04-04

Family

ID=36283207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100550011A Expired - Fee Related CN1838601B (zh) 2005-03-25 2006-02-24 用于分布式信息管理的方法和装置

Country Status (5)

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

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
US9128768B2 (en) 2011-01-27 2015-09-08 Microsoft Technology Licensing, LCC Cloud based master data management
US20120198018A1 (en) * 2011-01-27 2012-08-02 Microsoft Corporation Securely publishing data to network service
JP6234919B2 (ja) * 2011-04-25 2017-11-22 イカノス・コミュニケーションズ・インコーポレイテッドIkanos Communications,Inc. ネットワーク化環境においてキャッシュするための方法および装置
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 深圳中兴网信科技有限公司 一种实现数据安全保护的方法及系统
US10084605B2 (en) * 2014-02-14 2018-09-25 Telefonaktiebolaget Lm Ericsson (Publ) Caching of encrypted content
CN106685932B (zh) * 2016-12-08 2019-11-15 努比亚技术有限公司 一种基于云服务的文件访问系统和方法
CN108809906B (zh) * 2017-05-03 2020-07-07 腾讯科技(深圳)有限公司 数据处理方法、系统及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030093694A1 (en) * 2001-11-15 2003-05-15 General Instrument Corporation Key management protocol and authentication system for secure internet protocol rights management architecture

Family Cites Families (14)

* 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 株式会社シンクプラス プロキシサーバ付きブラウザおよび情報複写システム
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
WO2005001660A2 (en) * 2003-06-25 2005-01-06 Anonymizer, Inc. Secure network privacy system using proxy server
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030093694A1 (en) * 2001-11-15 2003-05-15 General Instrument Corporation Key management protocol and authentication system for secure internet protocol rights management architecture

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jian Zhang.A Flexible Content Protection System for Media-on-Demand.Proceedings of the IEEE Fourth International Symposium on Multimedia Software Engineering.2002,272-277. *

Also Published As

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

Similar Documents

Publication Publication Date Title
CN1838601B (zh) 用于分布式信息管理的方法和装置
CN108259169B (zh) 一种基于区块链云存储的文件安全分享方法及系统
US11706029B2 (en) Secure and zero knowledge data sharing for cloud applications
CN105051750B (zh) 用于加密文件系统层的系统和方法
US6367010B1 (en) Method for generating secure symmetric encryption and decryption
US6961849B1 (en) Selective data encryption using style sheet processing for decryption by a group clerk
CN101919202B (zh) 信息流通系统和用于信息流通系统的程序
EP0695997A2 (en) Methods for providing secure access to shared information
US20080002830A1 (en) Method, system, and computer-readable medium to maintain and/or purge files of a document management system
US20030120598A1 (en) Method and system for initializing a key management system
JPH10260903A (ja) グループ暗号方法、及びファイル暗号システム
JPH1127252A (ja) 鍵管理システム、鍵管理装置、情報暗号化装置、情報復号化装置、およびプログラムを記憶した記憶媒体
JP2005063032A (ja) クライアント/サーバシステム、クライアントモジュール及び暗号化通信プログラム
US20050010764A1 (en) System and method for securely transmitting, and improving the transmission of, tag based protocol files containing proprietary information
WO2010055781A1 (ja) 提供装置、システム、サーバ装置、プログラム及び方法
JP2009510628A (ja) 防護電子通信の処理
CN102057379A (zh) 保健数据处理的方法和系统
JP2005209118A (ja) 情報分散ストレージシステムとこのシステムに用いられる全体認証サーバ装置、認証サーバ装置及び分散ストレージサーバ装置及び情報分散ストレージ方法
CN111177736A (zh) 一种数据存储和访问的系统、方法和装置
KR19980050938A (ko) 인터넷 상에서 암호환된 문서 전송방법
JP2011054028A (ja) 暗号化ネットワークストレージシステム
US20200304291A1 (en) Information management system and method for the same
JPH11212850A (ja) 暗号化共有ファイル送受信システム
US7908333B2 (en) Self configuring peer to peer inter process messaging system
CN113642009A (zh) 基于区块链的打印方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150505

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150505

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120404