CN1229489A - 自毁文档和电子邮件发报系统 - Google Patents

自毁文档和电子邮件发报系统 Download PDF

Info

Publication number
CN1229489A
CN1229489A CN98800856A CN98800856A CN1229489A CN 1229489 A CN1229489 A CN 1229489A CN 98800856 A CN98800856 A CN 98800856A CN 98800856 A CN98800856 A CN 98800856A CN 1229489 A CN1229489 A CN 1229489A
Authority
CN
China
Prior art keywords
digital object
container
document
virtual container
title
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.)
Pending
Application number
CN98800856A
Other languages
English (en)
Inventor
H·R·乌德尔
S·D·贝克
C·S·卡普尔
G·M·舍曼
W·里斯
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.)
Purdue Pharma LP
Original Assignee
Purdue Pharma LP
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 Purdue Pharma LP filed Critical Purdue Pharma LP
Publication of CN1229489A publication Critical patent/CN1229489A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1076Revocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1077Recurrent authorisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1078Logging; Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp

Abstract

提供了一种自毁文档或电子邮件发报系统,该系统通过把宏或病毒附加到文档或电子邮件报文,以在预定的时间自动地销毁文档或电子邮件报文。产生(220)宏,并在它产生时把它附加(230)到诸如电子邮件报文(280)或文档(270)等文件。宏包含可执行代码或可执行程序的一部分,它指令计算机在所需的时间改写和/或删除附加了病毒的文件。

Description

自毁文档和电子邮件发报系统
本申请要求1997年6月17日提交的名为自毁文档和电子邮件发报(messaging)系统的60/049,853号美国临时申请的优先权,在这里通过引用而引入其全部内容。
技术领域
本发明涉及以电子方式产生文档的领域,包括电子邮件(“e-mail”)发报,也涉及文档保存和删除的领域。
背景技术
电子邮件发报系统被全世界的商行和个人所广泛使用。电子邮件系统还使用户可把电子报文(message)发送到其它用户并接收来自其它用户的电子报文。电子邮件系统可构成为连到局域网(LAN)的用户提供发报服务,也可构成使用户经由诸如因特网等外部网络往返于LAN外部的用户发送/接收报文。电子邮件系统还使用户可保存、拷贝和转送在电子邮件系统上接收到的报文。
电子邮件系统使用户可容易地保存、拷贝和转送报文,这样带来了妨碍文档保存政策的不想要的结果。通常,由商行来实行文档保存政策,以保证把由商行产生或接收到的文档保存规定的时间然后销毁。此外,可对不同类型的文档规定不同的文档保存周期。文档保存政策的一个对象是为保存和销毁文档提供一种系统方法,从而商行可从给定的时间周期中大致识别哪些类型的文档仍旧存在。
有效的文档保存政策在诉讼角度中也有价值。在该角度下,商行具有与文档的保存和销毁有关的坚定政策且商行实行该政策是重要的。例如,如果商行的文档保存政策规定要把信件保留三年的周期,并坚决地履行这个政策,则不太容易受到对销毁有5年之久的特定信件的指控,这是因为此信件对商行的诉讼身份是有害的。此外,如果没有坚决地履行文档保存政策而只丢弃特定时间周期的一些文档,则剩余的文档将对在此时间内发生的事件产生不完全或不准确的概念是可能的。
对计算机文件坚持文档保存政策的系统是众所周知的。通常,这些系统周期性地扫描网络中的文件并删除在特定日期前产生的文件。然而,由于这种系统在网络上进行操作,所以它们不可能删除存储在个人计算机的硬驱上的文件。为存取这些文件,在每个个人计算机上安装了文档保存程序。然而,即使在每个个人计算机上安装有文档保存系统,该系统仍旧不能删除存储在软盘或其它外部媒体上的文件。此外,这些系统不能删除已经由电子邮件转移到网络外部的计算机的文件。于是,例如,常规的文档保存系统不能删除已转移到雇员的家庭计算机或膝上型计算机或第三方的文件。
发明内容
依据本发明的第一实施例,提供了一种自毁文档和电子邮件发报系统,该系统通过把诸如“病毒”等可执行模块附加到文档或电子邮件报文以在预定时间自动地销毁文档或电子邮件报文。
计算机病毒是众所周知的。一般,计算机病毒是本身附加到宿主文件的可执行代码或程序的一部分。例如,“附加病毒”通过把自己附加到主程序的末尾并使主程序在执行主程序前执行病毒代码来进行操作。相反,“前置病毒”把自己附加到主程序的开始。其它类型的病毒位于主程序的内部。知道另一类病毒是“宏”病毒。这些病毒是嵌入文本文档中的宏,这些病毒可构成在每当打开、产生或保存文档时执行。通常,术语特洛伊马指属于其主文件或程序且不移动到其它文件或程序的病毒。
依据本发明的第一实施例,把具有特洛伊马形式可执行模块在文件(诸如电子邮件报文或文件)创建时附加到该文件。可执行模块包含可执行代码或可执行程序的一部分,它指令计算机在所需的时间改写和/或删除附加了可执行模块的文件。这样,可执行模块对文档或电子邮件报文的寿命加以限制。由于把可执行模块附加到文件,所以即使在把文件拷贝、转送或保存到盘片或磁带驱动器时,可执行模块也将随文件移动。
依据本发明第一实施例的另一个方面,每当打开附加了可执行模块的文件时就执行可执行模块。可执行模块确定是否已碰到文件删除的先决条件。如果碰到先决条件,则可执行模块指令计算机以零数据改写文件然后保存、关闭或删除该文件。
这样,本发明提供了超过已有技术系统的许多优点。例如,由于把可执行模块附加到文件并在打开文件时执行,所以依据本发明的系统即使在已把文件存储在诸如软盘等外部媒体或非网络计算机上时也可坚持文档保存政策。这是因为可执行模块随文件移动且在无论何时何地每当打开文件时就执行。
依据本发明的第二实施例,提供了一种自毁电子邮件发报系统,该系统把可执行模块自动地附加到每个所产生的电子邮件报文或电子邮件报文附件。可执行模块包含可执行代码或可执行程序的一部分,它指令计算机在所需的时间改写和/或删除该可执行模块附加到的报文(和/或报文附件)。当把报文传输到其地址时,可执行模块随报文一起移动,这是因为可执行模块被附加到报文上。此外,即使在把报文拷贝、转送到另一个地址或保存到盘片或其它外部媒体时,可执行模块也保持附加于该报文。
依据本发明的第三实施例,一种文档安全系统包括其中“放置”有一个或多个数字对象(object)的虚拟容器。这样,术语“数字对象”被广泛地使用,它包括文档(诸如电子表格、图表/图形、字处理器文档、ASCII文本文件、图像和其它数据文件)、程序以及可被存储在计算机上的任何东西。文档安全系统包括容器创建工具和容器开启工具。以在计算机上执行的一个或多个软件程序来实行容器创建工具和容器开启工具。容器开启工具使用户可对容器中数字对象的有效寿命加以限制。例如,这些“寿命控制”可包括截止日期、截止日期和时间、文档可被打开的固定次数或其它限制。在由容器开启工具来打开该容器时,容器开启工具检查寿命控制。如果它们有效,则可访问包含在容器内的数字对象以使用户显示或执行。然而,如果寿命控制无效,则容器开启工具将立即销毁该数字对象。
包括容器创建工具和容器开启工具的文档安全系统的一个优点在于,在某些环境下,它与包含可执行模块的自毁文档相比,为寿命控制提供了更稳健的强制力。这是因为当前字处理和电子表格程序执行可执行模块的能力随产品的不同而变化很大。因此,例如,如果打开包括可由Microsoft WordTM执行的可执行模块的自毁文档则该文档将不能自毁,例如一个简单的ASCII文件没有构成识别和执行可执行模块。相反,由此文档安全系统,可把文档固定在由容器开启工具来打开的容器中,容器开启工具在使用时可对容器中的任何文档执行寿命控制,而文档的类型无关。
依据本发明第三实施例的文档安全系统的另一个方面,容器内的每个数字对象可具有独立的寿命控制。依据此特征,当容器内的单个物体期满时,可销毁该物体,而其它物体保持完整。
依据文档安全系统的再一个实施例,数字对象是依据本发明的第一或第二实施例产生的自毁文档。
依据本发明的又一个实施例,可抵挡希望破坏该安全系统的用户来保护容器、其内容及其寿命控制。通过使用加密技术来实行此保护。尤其是,使容器创建工具构成对容器内的物体加密,并使容器开启工具构成对物体解密。这样,如果用户打开一个物体而不利用容器开启工具,则该物体将不可读。
依据第一和第二实施例的另一个方面,通过可执行模块或通过其它工具对自毁文档或电子邮件报文进行加密,使可执行模块构成只在文档或电子邮件报文的寿命还未期满时对文档和电子邮件报文进行解密。
依据本发明的另一个实施例,通过把多个可执行模块嵌入文档或电子邮件报文来产生自毁文档,其中可通过不同的字处理或电子邮件系统来执行每个模块。例如,一个文档可包括可由第一系统执行的第一模块以及由第二系统执行的第二模块。文档本身可以是属于任一个系统的文档。依据此实施例,将执行对文档的寿命控制,而不管该文档是在第一系统还是在第二系统中打开。
依据本发明的再一个实施例,提供了一种利用虚拟容器的因特网商务系统。依据此实施例,希望在因特网上销售可以电子方式传输的产品的一方使用对产品加密并对产品设定时间控制的容器创建工具把产品放置在虚拟容器内。希望在购买产品前对产品看样的产品潜在购买者从销售者处获得容器以及容器开启工具的拷贝。容器开启工具使潜在购买者只能在预选的截止日期前才能观看和使用产品。在此实施例中,容器开启工具不能使用户从虚拟容器中除去该产品。依据此实施例的一个较佳方面,如果在截止日期后打开该容器,则由容器开启工具来删除该产品。依据此实施例的另一个方面,如果销售者在截止日期前接收到产品的付款,则销售者将把独有的密钥传输给购买者。可使容器开启工具构成在接收到此密钥时从容器中释放产品。
附图概述
图1示出可实行本发明的示意的已有技术环境。
图2(a)和2(b)示出依据本发明的电子邮件报文,它们分别包括pre-pending和附加病毒。
图3是用于依据本发明的一个示意实施例产生自毁电子邮件报文的示意方法的流程图。
图4是把宏病毒嵌入图3的自毁电子邮件报文中的流程图。
图5(a)到5(c)示出用于依据本发明一个实施例的自毁文档的图形用户界面,它是为Microsoft ExcelTM文档而实行的。
图6(a)到6(c)示出用于依据本发明一个实施例的自毁文档的图形用户界面,它是为Microsoft WordTM文档而实行的。
图7(a)到7(e)示出用于依据本发明一个实施例的自毁电子邮件报文的图形用户界面,它是为Microsoft OutlookTM而实行的。
图8(a)示出依据本发明一个实施例的文档组虚拟容器。
图8(b)示出依据本发明一个实施例的虚拟容器代理。
图9(a)和9(b)示出本发明的文档组虚拟容器的另一个实施例。
图10(a)示出构成保存单个文档的文档组容器的示意标题格式。
图10(b)示出构成保存多个文档的文档组容器的示意标题格式。
图11示出用于容器创建工具和容器开启工具的图形用户接口。
图12是用于把文档加到图10(b)的文档组容器的示意流程图。
图13是用于从图10(b)的文档组容器中提取文档的示意流程图。
本发明的较佳实施方式
图1示出可利用本发明的示意的已有技术环境。局域网1(LAN 1)包括多个办公计算机10.1-10.6(以下集中叫做计算机10)和服务器20。每个计算机10包括各个主存储设备12(诸如硬驱)和各个辅存储设备14(诸如软盘或CD Rom驱动器)。服务器20同样包括主网络存储设备22(诸如硬驱)和辅网络存储设备24(诸如磁带或CD Rom驱动器)。主和辅网络存储设备22、24上的数据是共享的,它可被所有的计算机10所访问。相反,每个计算机10的主和辅存储设备12、14上的数据是私有的,它只能被其各自的计算机10所访问。服务器20经由传输线50对诸如家庭计算机40等网络外的计算机提供因特网访问。家庭计算机40包括主存储设备42和辅存储设备44。LAN 1支持电子邮件发报服务,该服务使每个计算机10在LAN 1内把报文发送到其它计算机10,以及把报文向LAN 1外发送到诸如家庭计算机等网络外的计算机。图1所示的结构是商行中常用的典型LAN的示意。然而,本领域内的普通技术人员应理解,本发明可以各种网络结构来实行。此外,本发明的电子邮件发报系统还可等价地应用于非网络设备,例如,在这些设备中,由独立式计算机经由调制解调器或其它连接来发送和接收电子邮件报文。此外,可通过或不通过至外部计算机的调制解调器或其它连接而在独立式计算机上实行本发明的文档保存和删除特征。
现在将参考图1的结构来说明可依据本发明来减轻的文档保存和销毁物体的一些问题。
为了说明,假设把局域网安装在采用要求销毁超过两年的旧文档的文档保存政策的商行中。通常,通过在服务器20上安装周期性地扫描主网络存储设备22的程序并删除创建日期比当前扫描日期早两年多的文档来实行这种文档保存政策。这种程序的一个问题是,它没有充分地考虑到未存储在网络存储设备中的文档拷贝。
例如,假设用户-1在计算机10.1上创建一文档,并把它存储在网络存储设备22上。然后,在一周以后,用户-1把文档拷贝到计算机10.1的硬驱12.1上以及经由辅存储设备14.1拷贝到软盘上。此外,由于该文档在主网络存储设备22上,所以用户-2可把该文档拷贝计算机10.2的主存储设备12.2上以及经由辅存储设备14.2拷贝到另一个软盘上,而不必让用户-1知道。这样,已产生了该文档的五个拷贝,网络文档保存程序只能访问和删除其中之一。
由图1的LAN提供电子发报业务这一事实使上述问题更为复杂。结果,用户-1可创建一电子邮件报文并经由因特网服务器30把它向LAN外发送到计算机40。此外,可把先前创建的文档文件作为附件插入电子邮件报文中。这样产生了另外的问题。例如,可把电子邮件报文及其附件向LAN外发送到不了解商行的文档保存政策的第三方。在任何情况下,即使只把电子邮件发送到雇员的家庭计算机,该家庭计算机也不能被网络文档保存程序所访问。
通常,对未存储在网络存储设备上的文档执行文档保存政策需要每个雇员搜索其各自硬驱的每个目录以及其每个软盘或其它辅助存储媒体。此外,由于电子邮件系统可包括文档作为电子邮件报文的附件的能力,所以可把较旧的文档隐藏在最新的电子邮件报文中,使得难于识别和删除这些文档。雇员还必须搜索其膝上型和家庭计算机中的商业文件。此外,即使每个雇员都能勤快地进行这些费时的任务,也将存在文档继续留在第三方的计算机上的可能性。
与实行文档保存政策有关的另一个问题是,通常,在从存储媒体删除文档时,并未除去该文档本身。相反,计算机只除去表示该文档在存储媒体中的位置的文档指针。文档本身仍保留在存储媒体中,直到计算机以另一个文档对其进行改写。结果,为了使雇员确保文档确实被删除,他们必须以空字符来改写该文档然后删除文档,从而进一步增加了与执行文档保存政策有关的时间。
            嵌入文档或电子邮件报文中的可执行模块
依据本发明,提供了一种把可执行模块附加到文档的自毁文档系统。依据本发明的另一个实施例,提供了一种在电子报文或报文附件产生时把可执行模块附加到报文或报文附件的自毁电子邮件发报系统。可以任何公知的方式把可执行模块附加到报文或文档。例如,参考图2,可把可执行模块作为前置病毒(图2A)、作为附加病毒(图2B)或以任何公知的方式来附加。例如,可利用汇编语言、高级编程语言或宏等任何方式来产生模块本身。附加的可执行模块使文档或报文在碰到预定条件时就自毁。这样,可执行模块设定了可控制文档寿命的“寿命控制”。例如,在上述说明中,对可执行模块进行编程,以在当前日期比文档或报文的创建日期晚两年多时删除文档或该文档附加到的报文。依据本发明的再一个实施例,可执行模块在删除文档或报文前以空字符(例如,全都是“X”)来改写文档或该文档附加到的报文。
依据本发明的还有一个实施例,可在出现其它或附加条件时判断改写和/或删除文档或报文。例如,系统可构成在文档i)被关闭或ii)被第二次打开时改写和/或删除报文或文档,从而产生在被销毁前只可读一次的文档。此外,系统还可构成在尝试拷贝、转送或打印报文或文档时改写和/或删除报文或文档。此外,系统还可构成阻止打印或拷贝报文或文档的任何尝试,从而产生只能看而不能打印的文档。还可以一事件来触发这些附加的寿命控制,从而在输入密码或密钥时解除阻止打印或拷贝,或者从而在预定的时间周期或其它事件后施加阻止打印或拷贝。
依据本发明的另一个实施例,该系统可使LAN管理者预定改写/删除条件,从而给所有的系统用户以及由系统用户所创建的所有文档或报文施加文档保存政策。同样,可使该系统构成使每个用户选择特定文档或报文是否包括改写/删除条件。此外,可使用户从各自改写/删除条件中进行选择。例如,这可以通过工具菜单来实现。
现在将描述用于实行自毁电子文档或提供自毁电子报文系统的示例方法。虽然这里所描述的示例实施例是针对Microsoft WordTM、Microsoft ExcelTM和Microsoft OutlookTM环境来加以说明的,但本领域内的普通技术人员应理解可在各自环境下以及以各自方式来实行本发明。
图3和4示出用于Microsoft WordTM6.0文档的自毁电子发报系统的示意图。参考图3,在步骤200,用户开始在例如图1的办公计算机10.1上创建一文档或报文。在步骤220,系统创建“AutoOpen”宏并把该宏保存在“Normal.dot”文件中。依据Microsoft WordTM的构造,每当打开Word文档时,就将执行标题为AutoOpen的宏。把步骤220处所参考的以WordBasicTM编程语言来写的指令作为AutoOpen宏保存在normal.dot模板文件中。Normal.dot是由WordTM程序指定为全局宏的存储文件的模板。在步骤230,把包括AutoOpen宏的normal.dot文件拷贝到名为“message.dot”的文件。然后,在步骤240,从normal.dot文件中删除AutoOpen宏。在步骤250-260,打开message.dot文件,并提示用户插入文档或报文的文本。然后,在步骤270,保存现在包括文档或报文以及normal.dot文件的拷贝的message.dot文件。normal.dot文件的拷贝继而包括AutoOpen宏。在步骤280-290,把message.dot文件更名为message.doc,然后把它作为电子邮件报文或电子邮件报文附件发送。
在因特网上经由LAN服务器20和因特网服务器30把电子邮件报文发送到家庭计算机40。在由报文的收件人打开message.doc文件时,将执行嵌入message.doc文件的AutoOpen宏。图4是被嵌入message.doc文件的AutoOpen宏的流程图。在步骤310,DateSerial()函数返还一表示报文创建日期的系列值作为变量“created”。在创建AutoOpen宏的同时(图3的步骤210和220)就设定函数DateSerial的自变量,把该自变量任意地表示为图3和4中的1997年6月10日。在步骤320,Today()函数返还表示当前日期的系列值作为变量“curdate”。由这些函数所返还的系列值为1和802074之间的整数,1相应于1899年12月31日,802074相应于4095年12月31日。在步骤330,把变量“difference”设定为“curdate”与“created”之差。结果,变量“difference”等于从产生message.doc文件到打开文档的当前日期之间所经过的天数。
步骤340到360构成了一“If,Then”语句,它确定创建日期和当前日期之间所经过的时间是否超过预定阈值。为了说明,已把阈值设定为60天。在步骤340,把变量“difference”与值60相比较。如果“difference”大于60,即如果从message.doc文件创建后已经过60多天,则执行步骤350、360和370。在步骤350,执行EditReplace.Find函数。此函数以空字符(它已被任意地设定为“X”)来替换message.doc文件的每一个字符。然后,在步骤360,保存并关闭已被改写为与message.doc文件中文本字符数目相等的一系列“X”字符的message.doc文件。这样,以空字符改写了从中检索到message.doc文件的存储器位置。相反,如果在步骤340,变量“difference”小于或等于60,则跳到步骤370并报文的收件人能自由地查看和编辑报文。
实际上,可把图4所示的宏修改成进行附加的函数。例如,可把宏修改成通过利用FileNameFrom Window$()函数在打开message.doc文件的同时检索该文件的位置,然后利用Kill函数来删除该文件,这样在message.doc文件被保存后删除该文件。此外,还可把宏修改成使打开message.doc文件的用户推迟报文的删除。
图5(a)到5(c)和以下的表1示出一自毁文档系统,该系统是相对于MicrosoftExcelTM示出的。参考表1,示出用于创建自毁Excel文档的示意的Visual BasicTM程序,该程序包括为Microsoft WindowsTM环境所实现的用户界面。所示的示例利用由Microsoft ExcelTM所支持的“auto_open”和“auto_close”例程。依据所示的实施例,这些例程位于Microsoft ExcelTM的xlstart子目录中的“book.xlt”模板中。这样,把具有auto_open和auto_close程序的book.xlt用作所创建的每个MicrosoftExcelTM文档的模板。因此这些例程位于Excel文档中。
每当创建Excel文档时,就把表1的程序作为宏嵌入文档中。当关闭文档时,实行auto_close程序。在从自定义文档特性(表1的23-26行)中读取变量“lcdata”和“lcmode”后,程序查看是否已对该文档设定寿命控制(表1的28行)。如果已实行寿命控制,则退出auto_close例程(表1的29行)。如果还未实行寿命控制,则程序询问用户是否希望实行寿命控制(图5a)。如果他们希望,则程序请求用户输入该文档的期满日期(图5(b)和表1的35-36行)。然后把期满日期设定为“lcdata”并把“lcmode”设定为“1”(表1的37-38行)。如果用户不希望实行寿命控制,则把“lcmode”设定为“0”并把”lcdata设定为“”(表1的39-41行)。把“lcmode”和“lcdata”的值作为自定义文档特性保存在ExcelTM文档内。
当打开包含嵌入程序的ExcelTM文档时,执行auto_open宏(表1的2-20行)。从自定义文档特性中读取“lcmode”和“lcdata”的值(表1的4-7行)。如果“lcmode”等于“1”(第9行)且当前日期在“lcdata”中的日期以后(第10行),则把该文档的名称存储在变量“fn”(第12行)中,把声明该文档不再有效的报文作为报文框显示在计算机的显示屏幕上(图5(c)和表1的14行),并关闭和删除该文档(第15-16行)。虽然表1的程序在Excelwd被删除前不以空数据来改写该文档,但例如使用如下所述Visual BasicTM程序中的Clear方法可容易地加上此功能:
If DateValue(Date)>=DateValue(lcdata)Then
Range(“A1”).Select
Range(Selection,Selection.SpecialCells(XlLastCell)).Select
Selection.Clear
ActiveWorkbook.Save
图6a到6c和表2(a,b)示出一自毁文档系统,该系统是相对于Microsoft Word97TM示出的。参考表2(a,b),示出用于产生自毁Word 97文档的示意的VisualBasicTM程序,该程序包括为Microsoft Windows环境而实行的用户界面。所示的示例利用FileSave和FileSaveAs宏来启动寿命控制,并利用AutoOpen宏来执行寿命控制。依据所示的实施例,把表2的程序作为模板嵌入文档中。
每当产生Word 97TM时,就把表2的程序嵌入该文档中。该程序位于作者的工作站上的外部文档模板中,并使用表2c所示的AutoNew宏拷贝到新的文档中。这个宏执行函数“InstallSDD”,该函数从模板SDD.dot中读取表2的程序并使用Microsoft Word Organizer对象把该程序的内容拷贝到新的文档中。依据本发明的本实施例,使用此方法保证了把嵌入的程序封装到文档中。
当保存新文档(表2b的FileSave或FileSaveAS)时,读取变量“lcmode”。如果未定义“lcmode”(即,这是第一次保存该文档),则调用例程“pflmplementLifetimeControls”(表2a),且该程序询问用户是否希望实行寿命控制(图6a,表2)。如果他们希望,则该程序请求用户输入文档的期满日期(图6(b)和表2a)。然后把期满日期存储为“lcdata”并把“lcmode”设定为“1”(表2a)。如果用户不希望实行寿命控制,则把“lcmode”设定为“0”并把“lcdata”设定为“”(表2a)。把“lcmode”和“lcdata”的值作为文档变量存储在Word 97TM文档中。
当打开包含嵌入程序的Word 97Tmwd时,执行AutoOpen(表2b)。使用“pfGetLcmode”和“pfGetLcdata”函数(表2a,2b)来读取“lcmode”和“lcdata”的值。如果“lcmode”等于“1”(表2b),且当前日期在“lcdata”中的日期以后,则把该文档的名称存储在变量中(第12行),把变量“rng”设定为文档的长度,以空数据来改写文档(ret=rng.Delete)然后删除文档(Kill(dlg.name)),并把声明该文档不再有效的报文作为报文框显示在计算机的显示屏幕上(图6(c)和表2b)。
图7(a)到7(e)以及表3示出一自毁文档系统,该系统是相对于MicrosoftOutlookTM示出的。参考表3,示出用于产生自毁OutlookTM电子邮件报的示意的Visual Basic程序,该程序包括为Microsoft Windows环境而实行的用户界面。参考图7(a)和7(b),把名为“Self-destruct”73的制表符加到默认的电子邮件报文模板。图7(a)示出在用户希望创建电子邮件报文时显示的常规“message”制表框74。制表框74包括电子邮件报文文本76和电子邮件接收者的地址77。图7(b)示出自毁制表框,它包括表示报文是否为自毁报文的触发器框71以及其中输入销毁日期的日期框72。如下所述,把销毁日期嵌入电子邮件报文中并在打开电子邮件报文时检索和处理。
Outlook 98支持Visual Basic代码的Outlook Items(诸如报文、日历入口、任务等独立对象)。为每个Item定义事件集合,并可把Visaul basic代码写为与每个事件一致。在Outlook对象模型中,公知的电子邮件报文为“MailItem”。OutlookTM使编程人员可截取和修改应用行为,并截取和修改报文创建和报文打开行为。
表3示出Visual Basic程序,该程序被嵌入电子邮件报文中并在使用Item_Open函数打开电子邮件报文时执行。当产生电子邮件报文时,把一检查输入自毁制表符73的触发器框71,并把一日期输入日期框72,然后把触发器框71的值存储在“Item.UserProperties(“DoDestruct”)”中,并把输入日期框72中的日期存储“Item.UserProperties(“DestructDate”)”中。把这些值与表3的程序一起嵌入电子邮件报文中。当打开此电子邮件报文时,自动地执行嵌入的程序FunctionItem_Open。参考表3,如果DoDestruct特性为False(即,该报文不是自毁报文),则退出该程序并打开电子邮件报文。然而,如果DoDestruct特性为True,则程序通过实行函数“itemExpired”来查看该报文是否期满,继而实行函数“daysTilDestruct”。此函数days TilDestruct从“DestructDate”的值中减去当前日期并返还日期的差值。把由函数days TilDestruct返还的值存储在函数itemExpired的变量“dt”中。如果“dt”小于或等于零,则函数“itemExpired”向函数Item_Open返还布尔型值True,以图7(e)所示的文本“此报文不再有效”来改写报文的文本,并在图7(d)所示的对活框中显示报文“此报文不再有效”,如果“dt”大于1,则“itemExpired”返还布尔型值False,并在图7(c)所示的对话框中显示报文”此报文将在[days TilDestruct]天内销毁”。
                                 表1到3
ttribute VB_Name=″Modulel″
Sub auto_opem)
  On Error Go To ehEnd:
  Dim lcmode As String
  lcmode=Active Workbook.Custom DocumentProperties(″lcmode″)
  Dim lcdata As String
  lcdata=Active Workbook.Custom DocumentProperties(″lcdata″)
  On Error Resume Next
  |f|cmode=″1″Then

    If Date Value(Date)>=Date Vaiue(lcdata)Then

     Dim fn As String

    fn=ActiveWorkbook.Name

    Dim ret

    ret=MsgBox(″-fn+is no longer vaiid.″.vbCritical-vbOKOnly,
″Purdue/SDD″)

    ActiveWorkbook.Close(False)

    Kill(fn)

  End If
  End If
ehEnd:
End Sub
Sub auto_close()
  On Error Go To ehlmplement:
  Dim lcmode As String
  lcmode=ActiveWorkbook.CustomDocumentProperties(″lcmode″)
  Dim lcdata As String
  lcdata=ActiveWorkbook.CustomDocumentProperties(″lcdata″)
  On Error Resume Next
  If lcmode ◇″″Then

   Exit Sub
   End If
ehImplement:
   Dim ret
   ret=MsgBox(″Would you like to impiement lifetime controls in this workbook?″,
vbQuestion+vbYesNo,″Purdue/SDD″)
   If ret=vbYes Then

   lcdata =InputBox(″Please enter the expirarion date for this workbook.″,
″Purdue/SDD″,Date)

   ret=ActiveWorkbook.CustomDocumentProperties.Add(″lcmode″,False,
msoProPertyTypeString,″l″)

   ret=ActiveWorkbook.CustomDocumentProperties.Add(″lcdata″,False,
msoPropertyTypeString,lcdata)
  ElseIf ret=vbNo Then

  ret=ActiveWorkbook.CustomDocumentProperties.Add(″lcmode″,Faise,
msoPropertyTypeString,″0″)

  ret=ActiveWorkbook.CustomDocumentProperties.Add(″lcdata″,False,
msoPropertyTypeString,″″)
   End If
End Sub
                             表1
Attribute VB Name=″Utilities″
Pubiic Function prGetLcmode(doc As Document)As String
  On Error Go To ehUnderined
  Dim Icmode As String
  lcmode=doc.Variabies(″lcmode)
  pfGetLcmode=lcmode
  Exit Function
ehUndetined:
  pfGetLcmode=″″
End Function
Public Function pfGetLcdata(doc As Document)As String
  On Error GoTo ehUndetined
  Dim lcdata As String
  lcdata=doc.Variabies(″lcdata″)
  pfGetLcdata=lcdata
  Exit Function
ehUndefined:
  pfGetLcdata=″″
End Function
Public Function pfImplementLifetimeControls(doc As Document)As Booiean
  Dim ret
  ret=MsgBox(″Would you like to implement lifetime controls in this document?″,
vbQuestion+vbYesNo.″Purdue/SDD″)
  If ret=vb Yes Then

   ret=doc.Variables.Add(″lcmode″,″1″}

   Dim data As String

   data=lnputBox(″Please enter the expiration date of this document″,
″Purdue/SDD″.Date)

   ret=doc.Variabies.Add(″lcdata″,data)
  ElseIfret=vbNo Tnen

   ret=doc.Variables.Add(″lcmode″,″0″)
  End If
  pfSetLc=True
End Function
                           表2A
Sub FileSave()
Attribute FileSave.VB_Description=″Saves the active document or template″
Attribute FileSave.VB_ProcData.VB_Invoke_Func=″Normal.NewMacros.FileSave″
   Dim lcmode As String
   lcmode=pfGetLcmode(ActiveDocument)
   If lcmode=″″Tnen

    Dim ret As Boolean

    ret=pflmplementLifetimeControls(ActiveDocument)
   Else
   End If
   ActiveDocument.Save
End Sub
				
				<dp n="d13"/>
Sub FileSaveAs()
Attribute FileSaveAs.VB_Description=″Saves a copy of the document in a separate
file″
Artribute FileSaveAs.VB_ProcData.VB_Invoke Func=
″Normal.NewMacros.FileSaveAs″
   Dim lcmode As String
   lcmode=pfGetLcmode(ActiveDocument)
   If lcmode=″″Tnen

    Dim ret As Boolean

    ret=pflmplementLifenmeControist(ActiveDocument)
   Else
   End If
   Diaiogs(wdDiaiogFiieSaveAs).Show
End Sub
Sub AutoOpen()
  Dim doc As Document
  Set doc=ActiveDocument
  Dim lcmode As String
  lcmode=pfGetLcnode(doc)
  Dim lcdata As String
  lcdata=pfGetLcdata(doc)
  If lcmode=″1″Then

   If Date Value(Date)>=DateValue(lcdata)Then

      Dim mg As Range

      Set mg=doc.Content()

      ret=mg.Delete()

      doc.Close(wdSaveChanges)

      Kill(dlg.Name)

      ret=MsgBox(″This document is no longer vaiid.″&amp; Chr(13) &amp;″It
has been destroyed.″,vbCritical-vbOKOnly.″Purdue/SDD″)

      Exit Sub

   End If
  End If
End Sub
                              表2B
Suo AutoNew()

      Call InstallSDD
End Sub
Sub InstallSDD()

       Dim tPath As String

       tPath=Options.DefaultFilePath(wdUserTempiatesPath)

       tPath=tPath+″\SDD.dot″

       On Error GoTo errHandler

       Application.OrganizerCopy_

       Source:=tPath,_

       Destination:=ActiveDocument.Name,_

       Name:=″SDDModule″,_

       Object:=wdOrganizerObjectProjectltems

       Exit Sub
errHandler:

       MsgBox″Could not load self-destructing document module.″

       Exit Sub
End Sub
                               表2C
Function Item_Open()

      If Item.UserProperties(″DoDestruct″).Value=False Then

              Item_Open=True

              Exit Function

      End If

      If itemExpired()Then

              Item.Body=″This message is no longer available.″

              Item.Save()

              MsgBox(″This message is no longer available.″)

      Else
                MsgBox(″This message will destruct in″&amp; daysTilDestruct()&amp;″
days.″)

      End If
End Function
Function itemExpired

      dt=daysTilDestruct()

      If dt<=0 Then

               itemExpired=True

      Else

               itemExpired=False

      End If
End Function
Function days TilDestruct

      daysTilDestruct=DateDiff(″d″,Now().ltem.UserProperties
(″DestructDate″).Value)
End Function
                               表3
此外,依据上述自毁文档的可执行模块还可利用加密技术来防止用户例如通过以不能执行可执行模块的应用程序打开自毁文档来使寿命控制失效。依据这样的实施例,当第一次保存或关闭一个文档时,可执行模块将对该文档加密。然后,当后来打开该文档时,可执行模块将只在寿命控制有效时才对该文档解密。此外,如果以不能执行可执行模块的应用程序来打开文档,则文档将保持加密,且用户不能查看该文档。作为一个例子,如果用户产生用WordPerfectTM应用程序来打开自毁Microsoft WordTM文档,则WordPerfectTM应用程序将不能执行Microsoft WordTM AutoOpen或FileOpen宏,且无论该文档的寿命控制是否有效,该文档都将被打开。然而,如果预先通过AutoClose、FileSave或FileSaveAs宏(例如,使用如下所述的异或多字母码)对自毁Microsoft WordTM文档进行加密,则文档将保持加密,除非用户使用执行这些宏的应用程序(包括异或多字母密码的相应解密算法)来打开文件。选择适当的加密技术将依据所需的安全程度以及用于实行该技术的宏或描述文本(script)。
                             虚拟容器
现在将描述利用虚拟容器的依据本发明的文档安全系统。
依据图8a所示文档安全系统的第一实施例,文档组容器500用于存储一个或多个文档510(或其它数字对象),每个文档具有独立的寿命控制520。在用户希望打开和显示容器内容的任何计算机上安装一工具。该工具使文档的寿命控制在把文档显示给用户前有效。如果寿命控制有效,则从容器中提取的文档可被用户所使用。如果寿命控制无效,则例如通过以空数据改写文档来销毁文档。
依据图8(b)所示文档安全系统的第二实施例,容器代理500′可用于存储单个文档510′(或其它数字对象)。把代理处理程序安装在用户希望打开并显示代理容器中的文档的任何计算机上。与文档组容器不同的是,代理的操作对于用户是不可见的---除非文档的寿命控制520′无效。为了提供此透明度,对代理进行命名或编码而显示为文档的普通实例,可改变把文档与其应用程序相关联的操作系统机构以使文档改为与代理处理程序相关联。如果寿命控制有效,则代理处理程序将过渡性地完成文档与应用程序之间的关联。本实施例利用了这样的优势,即在例如通过鼠标器单击“My Computer”中Windows 95文档图标、Windows 95TM桌面中的文件或Windows 3.1的文件管理器中的文件来访问文件时,操作系统将尝试把该文件与诸如MicroSoftTM Word、Microsoft ExcelTM或WordPerfectTM等应用程序关联。依据容器代理,把容器代理工具插在操作系统和应用程序之间,从而在用户访问容器代理(它将作为普通文档呈现给用户)时,操作系统将调用容器开启工具来自动地打开该容器,如果寿命控制有效,则将启动该应用程序并打开该容器中的文档。如果寿命控制无效,则例如通过以空数据改写文档和/或删除文档来销毁该文档。依据容器代理的另一个实施例,系统可构成在应用程序被关闭时把文档自动地返还容器代理。
现在将讨论文档组容器(DS容器)的各种实施例。依据DS容器的第一实施例,提供了容器开启工具和容器创建工具。容器创建工具位于用户希望创建DS容器的计算机上,此工具的名称暗示着它可用于创建DS容器、指定寿命控制并把文档置于DS容器中。容器开启工具位于用户希望打开DS容器的计算机上,此工具可用于打开DS容器、检查寿命控制的有效性以及在寿命控制有效时从DS容器中提取文档。如果寿命控制无效,则例如通过以空数据改写文档来销毁该文档。依据一个实施例,DS容器只包含一个文档。依据另一个实施例,可在单个容器中存储多个文档,每个文档可具有它自己的寿命控制。在想要使用户可打开DS容器而不是创建DS容器时,可把容器开启工具而不是容器创建工具安装到计算机上。未打开的DS容器作为单个文件呈现给用户,它包括标题信息(例如,包括寿命控制)以及该文档或这些文档本身,而与DS容器中所存在的文档数目无关。
依据本发明的多文档DS容器的另一个方面,DS容器可包括容器标题,此标题包含该容器的控制信息并引用两个流的单链接列表。第一链接列表包含活动(active)流,第二链接列表包含非活动流。活动流相应于仍具有有效寿命控制的文档,非活动流相应于具有无效寿命控制或已从容器中除去(删除)的文档。活动和非活动流都具有标题,这些标题包含用于其相应流的寿命控制(以及最好是如下所述的加密信息)。这些流的标题中的每一个都包含对其列表(无论是活动的还是非活动的)中下一个流的引用指针(reference)或表示该流是其列表中最后一个流的指示符。每个流是二进制数据的连续块。
在使一个流无效或从容器中除去时,把其流标题标记为非活动并移动到非活动流列表中,并以空数据来改写该流。在把新的流加到容器中时,可在非活动流的长度足以包含此新的流时重新激活并使用此非活动流。如果没有非活动流或它不足以包含新的流,则可在容器中创建和激活新的流。如果容器的活动和非活动流列表经过许多变化,则该容器将变得碎片化。换句话说,在文档期满并被空数据替换时,活动文档可能被夹在只包括空数据的一个或多个非活动文档之间。在本发明的一个较佳实施例中,容器创建工具可检测此情况并对容器作必要的压缩。
图9(a)和(b)示出本发明的活动/非活动流的实施例。图9(a)示出已创建了三个文档包含在其中的虚拟容器。如图9(a)所示,容器标题包括容器信息(诸如容器的名称、容器的默认寿命控制、容器创建的日期、最后修改容器的日期DM 804以及最后访问容器的日期)、与活动流有关的信息(诸如对活动流中第一个文档的指针和活动流中文档的数目)以及与非活动流有关的信息(诸如对非活动流中第一文档的指针以及非活动流中文档的数目)。容器中的每个文档包括文档标题,该标题包括寿命控制信息以及其各自流中下一个文档的指针。自从创建容器时,这三个文档就处于活动流中,容器标题包括活动流次标题,该次标题包括对第一个文档的指针以及表示这三个文档都处于活动流中的指示。非活动流次标题包括空信息。然后,在图9(b)中,已把两个新的文档(文档4和5)加到容器中,且文档2已期满。虽然活动流容器次标题仍旧指向文档1,但现在文档1标题中的指针指向文档3而不是文档2。此外,现在非活动流容器次标题指向文档2。
如上所述,依据本发明的虚拟容器包含一个或多个文档,应在这些文档不再有效时销毁它们(由其寿命控制来确定)。一般,使这些控制失效所需努力的成本应超过延长文档的有效寿命的价值。
依据本发明的一个较佳实施例,为了防止对虚拟容器中的文档进行未授权的访问并防止用户使文档的寿命控制失效,对该容器中的文档进行加密。例如,这些加密技术可被这里所述的任何虚拟容器所使用,包括图8a、9a和9b中的DS容器以及图8a的代理容器。
依据本发明的另一个实施例,该系统使作者根据包含在其中的文档的已知值从几个安全等级中进行选择。一般,随着安全等级增加时,使它失效所需的努力也增加---从而安全本身的成本和复杂性也增加。在描述如何在虚拟容器中使用加密前,将讨论加密技术的某些基本原理。
                        加密技术概况
一般,加密技术(通常被叫做加密系统)由两个基本成分所构成:算法和密钥。算法是转换数据的数学函数。密钥“指示”转换的确切特性。
加密算法可以公开或保密的。公开算法由其设计者所公开,由学术界考察并通过商业启用来审核。保密算法是设计者不希望公众了解或使用的专利成果。一般,在商业产品中使用的加密算法是“公开”算法。一般,可把已公开、考察并在经过长时期的广泛实行后仍旧在使用的加密算法作为安全的算法,因为它已受到大多数研究所的分析以及全世界的计算机科学的学生的攻击而未受到危害。
一般从有效加密系统的密钥中得到其强度。假设加密算法已被宣布(如上所述),则加密系统的安全性有赖于产生适当的密钥以及小心地保护其保密性。合适性的一个重要措施是密钥的长度---通常以位来表示。短的密钥有利于快速的加密和解密,但加密的报文更容易被破译。长的密钥需要长的加密和解密处理,但有可能根本就不能破译。这种领悟力非常普遍,从而美国政府允许自由而公开地使用任何加密算法,但对密钥的长度有严格的限制。
虽然依据本发明可使用各自公开和保密的加密技术,但这里将对四个加密技术进行简要地讨论:对称算法、公共密钥算法、数字签名(signature)和单向散列(hash)。
对称算法一般依赖于单个密钥来对报文进行加密和解密。这些算法容易理解和使用,并在适当使用时提供了相对高的安全等级。然而,双方必须在通信前商定密钥,而不要把给密钥意外地泄露给第三方。此外,必须使密钥永远保密,或者可在以后对较老的报文进行解密。对称算法尤其适用于临时报文---在通信结束后不保存的报文。如果不保存该报文,而密钥又被破坏,则以后没有机会对该报文进行解密。流行的对称算法是数据加密标准(Data Encryption Standard),它是一ANSI和ISO标准并已使用了二十多年。
公共密钥算法使用一对密钥---一个叫做公共密钥,另一个叫做私人(private)密钥。可使用公共或私人密钥对报文进行加密,并使用另一个密钥对该报文进行解密。只有私人密钥可对以公共密钥加密的报文进行解密,只有公共密钥可对以私人密钥加密的报文进行解密。此外,给定了公共密钥,实际上就不可能设计出其它的私人密钥。通常,在某些公知的可靠场所(可能是因特网上的数据库或目录)中公开任何对的公共密钥,而所有者保留私人密钥。适用于公共密钥加密的常见情景如下:Alice想给Bob发一个机密的报文。Alice可从可靠的源处获取Bob的公共密钥。她使用该密钥对她给Bob的报文进行加密。当Bob接收到此加密报文时,他可使用自己的私人密钥对此报文进行解密。如果a)Alice已获取Bob的真实公共密钥(而不是伪造的),且b)Bob是其私人密钥的唯一所有者(没有人有该密钥的拷贝),则Alice可确认只有Bob可读取她的报文。流行的公共密钥算法是由RSA Data Security,Inc.所拥有的RSA加密系统。
把数字签名设计成证明报文作者的身份。虽然有许多实行数字签名的方法,但公共密钥加密非常普遍。我们可把以上所讨论的情景延伸到如下所示。Alice想要给Bob发一个私人报文,她想让Bob确信此报文是她发的。毕竟,先前的情景没有证实Bob接收到来自Alice的报文;它只使Alice确信她给Bob的机密报文不可能被其它人阅读。因此,Alice首先用她的私人密钥对给Bob的报文进行加密。然后,她再如上所述使用他的公共密钥对该(已加密)报文进行加密。当Bob接收到该报文时,他首先使用自己的私人密钥对其进行解密。然后,为确信此报文是否的确来自Alice,他从可靠的源处获取Alice的公共密钥。他使用该密钥对Alice的报文进行解密。如果a)Bob确信Alice的密钥还未通过拷贝或伪造而破坏(如上对Bob所述),且b)Alice确信Bob的密钥还未被破坏,则Alice仍可确认只有Bob可以阅读她的报文,Bob也可确认此报文来自Alice。RSA Data Security,Inc.生产了被广泛使用的数字签名算法。
虽然数字签名是在数字领域中证明身份的可靠的方法,但还存在要证明文档的原作者而不需要传递整个(可能很大)文档的情况。单向散列提供了已知很好的解决方法。它们是把任何数组(文档或其它)转换成小的二进制信息流的数学函数。单向散列函数的一个重要特征是,该函数不会从两个不同的源中产生两个相同的散列。为产生具有此特征的单向散列,在学术和商业研究上已耗费了许多精力。MD5是产生128位散列的公知的单向散列函数。
                     加密技术运用于虚拟容器
根据本发明的较佳实施例,虚拟容器文档安全系统允许用户(和/或系统管理员)选择不同的安全等级。第一级安全等级可以不对文档进行任何加密。文档的安全性是根据容器收件人采用容器开启工具显示文档的要求导出的。然而,可以采用市场上出售的几种二进制文件编辑器中的任何一种编辑器将容器自身作为单个文档打开,由此观看文档内容。同样,由于绝大多数字处理程序允许用户从文档恢复ASCII正文,因此能够采用这种程序将容器自身作为单个文档打开,由此观看文档内容。
第二级安全等级可以是一种称为异或多字母密码的对称加密形式。这种加密算法以软件执行是简单的,它能非常快地操作。这种加密算法采用单个密钥对文档既加密又解密。这个密钥可以“硬编码”到软件中,它能够随软件而分发并由用户周期地改变,或者在每次需要它时从可靠源处获取。按照这一方法,文档是采用密钥与文档的异或(即[Document]XOR[key]=[Encrypted Document])对文档加密。例如,容器开启工具和容器创建实用工具可以包括既加密又解密的单个“硬加密”对称密钥。文档的作者利用容器创建工具对文档和任选的文档寿命控制进行加密。当作者希望分发文档时,他把该加密文档转送到虚拟容器中。收件人利用容器开启实用工具对文档及其寿命控制进行解密。容器开启实用工具检查寿命控制,如果是有效的,向收件人显示文档。如果寿命控制不是有效的,容器开启实用工具销毁文档。
更高一级的安全等级可以利用中央授权(central authority CA)进一步保证文档的安全性。按照CA系统的第一实施例,作者将文档及其寿命控制送至CA。CA返回文档的唯一标识符。当作者希望分发文档时,他将该唯一标识符传送给收件人。收件人将该唯一标识符传送给CA对文档进行评审。CA检查寿命控制,如果是有效的,那么将文档返回到请求人。请求人接收并显示文档。虽然CA的使用增强了安全性,但是,它具有需要中央授权干预的缺点。
CA系统的另一个实施例采用单向散列。按照这个实施例,作者将文档及其寿命控制传送至CA。CA对寿命控制进行散列(混编)并将原始寿命控制、散列寿命控制和文档组合到一个容器中。CA用其私人密钥对该容器进行加密并将数据包返回给作者。当作者希望分发文档时,他将有CA签字的容器传送给收件人。收件人采用CA的公共密钥打开该容器并对寿命控制进行检查。如果它们是无效的,那么容器被销毁。如果它们是有效的,那么对它们进行散列并将该散列与存储在容器中的散列进行比较。如果散列不匹配,那么容器被销毁。如果散列匹配且寿命控制是有效的,那么文档被显示。
CA系统的再一个实施例采用单向散列和对称密钥。按照这一实施例,作者将文档及其寿命控制传送给CA。CA产生唯一对称密钥(以下称为DK)并对文档进行加密。它将文档的DK和唯一标识符(以下称为DKID)记录在其数据库中。CA对原始寿命控制进行散列,并创建包含原始寿命控制、散列寿命控制、加密文档和DKID的容器。它用其私人密钥对数据包签字并将该数据包返回给作者。当作者希望分发文档时,他送出有CA签记的数据包。收件人采用CA的公共密钥打开该数据包。它将原始寿命控制、散列寿命控制和DKID传送给CA。CA对寿命控制进行检查。如果是无效的,那么CA停止。如果它们是有效的,那么对它们进行散列并将该散列与从收件人那里接收的散列进行比较。如果散列不匹配,那么CA停止。如果散列匹配且寿命控制是有效的,那么CA将对应于DKID的DK返回给收件人。收件人用DK对文档进行解密并显示该文档。
本实施例的一个问题是收件人能够通过创建新的寿命控制、对它们进行散列以及采用容器的原始DKID将散列的新的寿命控制传送给CA而击败系统。按照本实施例的另一方面能够缓解这一问题,其中CA创建原始寿命控制、散列寿命控制和DKID的加密分容器。只要CA知道加密密钥(如对称密钥或公共密钥或私人密钥)。收件人(他不能用这些密钥接入分容器)将该分容器传送给CA。然后,当CA对分容器进行解密时,它能够确信从分容器恢复的寿命控制、散列寿命控制和DKID是由CA创建和加密的。
                    以Java TM 编程语音实施虚拟容器
现在将描述含有一个文档并采用异或多字母密码的DS容器的一个示范实施例,其中,容器创建和容器开启实用工具是以JavaTM编程语音编程的。容器创建和容器开启工具是利用数据和文件流类实施的,数据和文件流类形成Java编程语音的标准I/O封装的一部分。特定流类的每个对象对应于存储器的一组相邻字节。
根据本实施例的DS容器包括容器标题(它包括容器的控制信息)和容器中文档的文档标题。虽然DS容器的这个实施例设置成仅容纳一个文档,而以下描述的另外实施例能够容纳无数个文档。参考图10a,按照该单个文档DS容器实施例的较佳实施,容器标题包括容器名称CNAME 701、创建容器的日期DC 703、最后改动容器的日期DM 705、最后访问容器的日期DLA 704以及容器706中的文档数目(或是0或是1)。容器还包括一个文档710。该文档的标题包括文档名称(707)、文档的寿命控制(708)和文档的长度(709)。按照这一实施例,DC 703、DM 704和DLA 705字段允许用户确定创建容器的日期、最后改动容器的日期和最后访问容器的日期,正如以下参照表5(a)的视图方法所说明的。如果不需要这样的功能,自然可以省略容器创建、最后改动和最后访问字段。
以下参考表4(a),通过调用方法“public static int create(Stringenvelopefilename)”创建DS容器,该方法包括字符串“envelopefilename”作为其变元。如果“envelopefilename”是一个现有文件名,或者如果它取空值,那么返回出错,否则程序继续创建新的容器。对象“fos”被限定在拥有目的文件名“envelopefilename”的FileOutputStream中。相应的对象“dos”在用于容纳对应于对象“dos”的目的数据(它是“envelopefilename”)的DataOutputStream中被定义。然后,程序创建标题,它将被存储在DataOutputStream对象“dos”中。在这方面,对象“eh”被限定在类SdeEnvelopeHeader中,类SdeEnvelopeHeader的“d_name”字段设定为字符串“envelopefilename”,“d_created”、“d_last_modified”和“d_last_accessed”字段设定为当前日期。然后,调用方法“writeTo”(表4(c)),它将容器名称、容器创建日期、最后改动容器的日期、最后访问容器的日期以及容器中文档的数目(当前为0)写入到对象dos中,由此创建新创建容器的容器标题。采用这种方式,容器将作为一个载有“envelopename”中所含名称的单个文件而出现。
参考表4(b),为了将文档增加到容器中,调用addDocument方法。方法addDocument取“envelopefilename”、“documentfilename”和“expires”为参数。如果任何参数为零,那么返回出错。如果不存在名称为“envelopefilename”的容器,那么调用“create”方法(表4(a))来创建容器。如果不存在名称为“documentfilename”的文档,那么返回出错。否则,FileInputStream的对象“fis”定义为“envelopefilename”,DateInputStream的对象“dis”定义为对应于“envelopefilename”的数据(DateInputStream(fis))。以这种方式,以“fis”和“dis”打开名称为“envelopefilename”的容器。然后,创建名称为“[envelopefilename].tmp.”的临时容器。在这方面,FileOutputStream的对象“fos”被定义为“[envelopefilename].tmp.”,DataOutputStream的对象“dos”被定义为对应于“[envelopefilename].tmp.”的数据(DateInputStream(fos))。
为了更新封壳标题,那么创建SdeEnvelopeHeader的对象“eh”,用方法“readFrom”(表4(c))将“dis”(它是“envelopefilename”的容器标题)的内容读入到“eh”中。再参考表4(b),对类SdeEnvelopeHeader的对象“d_last_modified”和“d_total_documents”进行更新,将更新的封壳标题(eh)写入到DataOutputStream的对象“dos”中。
为了更新文档标题,将文件的对象“file_doc”设定为“documentfilename”的路径,将变量“length”设定为与位于“file_doc”处的文件的长度相等。FileInputStream的对象“fis_doc”设定为容纳文件“documentfilename”。然后,创建SdeDocumentHeader的对象“dh”,并将类SdeDocumentHeader的“d_name”字段设定为字符串“documentfilename”,将“d_expired”字段设定为参数“expires”的值,将“d_total_bytes”字段设定为变量“length”的值。然后,调用方法“writeTo”(表4(d)),它把文档名、期满日和文档长度写入对象dos,由此创建文档的文档标题。
然后,将文档读入到变量“ch”(int ch=fis_doc.read())并通过在“ch”上执行异或功能对文档加密。然后,将加密文档写入到对象“dos”中。以这种方式,利用DataOutputStream功能已经将经过更新的封壳标题、文档标题和加密文档写入到存储器的相邻位置中,并已创建了含有一个加密文档的DS容器。然后,删除原始容器(envelopefilename),将已更新的容器(“[envelopefilename].tmp”)改名为“envelopefilename”。以这种方式,容器将作为载有包含在容器CNAME 71字段中的名称的单个文件出现,将包括容器标题、文档标题和文档。
现在参考表5(a)和5(b)描述DS容器的开启工具的实施。表5(a)示出观看按照表4(a)至4(c)创建的DS容器的容器标题的程序。方法“view”包括两个参数,即字符串“envelopename”和PrintStream“ps”。如果“envelopename”或“documentfilename”都不是“空”并且如果存在名称为“envelopename”的容器,那么,FileInputStream的对象“fis”定义为“envelopefilename”,DataInputStream的对象“dis”定义为对应于“envelopefilename”(DataInputStream(fis))的数据。以这种方式,以“fis”和“dis”打开名称为“envelopename”的容器。然后,创建SdeEnvelopeHeader的对象“eh”并采用方法“readFrom”(表4(c))将“dis”(它是“envelopefilename”的容器标题)的内容读入到“eh”中。最后,利用方法“println”打印容器标题信息。
表5(b)示出用于打开按照表4(a)至4(d)创建的DS容器的程序。方法“extractDocument”包括两个参数,即字符串“envelopefilename”和“documentfilename”。如果“envelopename”或“documentfilename”都不是“空”并且如果存在名称为“envelopename”的容器,那么,FileInputStream的对象“fis”定义为“envelopefilename”,DataInputStream的对象“dis”定义为对应于“envelopefilename”(DataInputStream(fis))的数据。以这种方式,以“fis”和“dis”打开名称为“envelopename”的容器。然后,创建SdeEnvelopeHeader的对象“eh”并采用方法“readFrom”(表4(c))将“dis”(它是“envelopefilename”的容器标题)的内容读入到“eh”中。然后,创建SdeDocumentHeader的对象“eh”并采用方法“readFrom”(表4(c))将类SdeDocumentHeader中“dis”(它是文件标题)的内容读入到“dh”中。然后将字段“d_name”与“documentname”进行比较,如果它们是相同的,那么程序继续检查文档“documentname”的期满日。利用日期方法“before”,如果字段“d_expires”中的日期在当前日期之前,那么,将变量“valid”设定为假。如果不是,将文档的路径放入类文件的对象“file_doc”中。
假设存在文档“documentname”并且该文档未到期,将对象“file_doc”设定为新路径:“[documentfilename].x”,将FileOutputStream的对象“fos_doc”设定为FileOutputStream(file_doc)。以这种方式,临时文件“fos_doc”是由类FileOutputStream创建的。然后,一次一字节地将文档读入到变量“ch”中。通过对“ch”执行异或功能又对每个字节进行解密并写入“fos_doc”中。如果文档不存在,将“fos_doc”设定为空值,程序指示文件不存在,如果文档存在,但是期满,将“valid”变量设定为假。这可以防止“fos_doc”与该文档相关,防止文档的解密,并使程序指示文档期满。为了改写文档以便销毁它,可以将下列指令插入表5b中:
if(valid=Faise)
{

  for(long 1=0,1<dh.d_total_bytes;1++)

  {

         int ch=0

         fos_doc.write(ch)

  }
}
图11(a)和11(b)示出能够被用于既实施以上针对表4和5所述的单个文档DS容器和又实施以下针对图12和13所述的多个文档DS容器的单个图形用户接口。为了创建DS容器,用户单击“New”按钮1510。然后将出现对话框(未示出),它将提示用户输入容器名。一旦已经输入容器名,将创建DS容器,容器名将显示在题标1500上。在图11(a)和11(b)中,容器名为“demo.env”,容器作为文件“demo.env”存储在“C:\”目录中。为了将文档增加到DS容器中,用户单击“Add”按钮1520。然后将出现文件菜单(未示出),它将允许用户或是浏览所需文档的使用目录或是直接输入路径和文档名,一旦已经选择文档,并且期满日已经输入框1540中,那么文档将被增加到容器中。一旦文档已经成功地增加到容器中,文档名、文档长度和文档的期满日将显示在框1550中。参考图11(b),如果容器“demo.env”是在文档“demo.txt”的期满日之后打开的,那么,文档将自动地被空数据改写,在框1550中将出现一条消息,表示文档到期。为了从容器中提取文档,通过单击框1550中的文档,然后单击Extract按钮1530来选择该文档。那么,文档将从容器中取出并存储在计算机的指定目录中。如果文档到期,系统将不允许在框1550中选择该文档。
如上所述,按照DS容器的另一些实施例,可以使容器扩大和缩小以容纳多个文档和其它数字对象。可以将新的文档(或其它数字对象)增加到容器中,可以对容器中的现有文档进行更新和删除,可以将多个容器合并。容器中的每个文档可以具有独立的寿命控制和不同的安全等级。
为了提供这一功能,将DS容器模型化为单个文件中的虚拟文件系统。虚拟文件系统是一个作为单个文件出现在外部世界中的存储单元,而其内部表示实际上管理着许多个文件以及它们的控制信息。尽管虚拟文件系统通常包括分层目录结构,但是最好采用平直-单个目录-结构作为DS容器。按照本发明的较佳实施例,DS容器支持以下操作:i)创建新的DS容器;ii)将新的文档增加到具有独立寿命控制和安全性的DS容器中;iii)更新DS容器中的现有文档,而不改变寿命控制和安全性;iv)更新DS容器中现有文档的寿命控制或安全性;v)删除DS容器中的现有文档;vi根据DS容器的寿命控制使DS容器中现有文档失效,并从DS容器中删除它;vii)销毁DS容器。
按照本实施例的DS容器包括容器标题(它包括容器的控制信息)和容器中每个文档的文档标题。
参考图10b,按照本实施例的较佳实施,容器标题包括容器名称CNAME801、容器的缺省寿命控制DLC 802、创建容器的日期DC 803、最后改动容器的日期DM 804、最后访问容器的日期DLA 805以及容器中的文档数目806。图10(b)示出一个包括两个文档904.1和904.2的DS容器。每个文档的标题包括文档名称(901.1或901.2)、文档的寿命控制(902.1或902.2)和文档的长度(903.1或903.2)。按照这一实施例,当将文档增加到容器中时采用包含在封壳标题中的DLC802作为缺省寿命控制。DC 803、DM 804和DLA 805字段允许用户通过实施类似于表5(a)视图方法的例程确定创建容器的日期、最后改动容器的日期和最后访问容器的日期。如果不需要这一功能,自然可以从容器标题中省略缺省寿命控制、容器创建、最后改动和最后访问字段。
由于图10b的DS容器是以与图10a以及表4a至5b的DS容器的相似方式实施的,所以,这里将不提供对本实施例编程方法的详细讨论。
参考图12的流程图,为了将文档增加到现有DS容器中,打开现有DS容器(步骤1010),读出容器标题(包括容器名称、缺省寿命控制、创建日期、最后改动日期、最后访问日期和文档数目)。然后,在步骤1030创建被增加新文档的标题,包括文档名、文档的寿命控制和文档长度。然后将文档标题和文档自身添加到容器的末端(步骤1040和1050),对最后访问、最后改动和文档总数字段的值进行更新(步骤1060),把新的值写作新的容器标题。按照图12的流程图,更新的容器改写原始容器。这与表4a至5b的实施例相反,在表4a至5b的情况中,更新的容器是作为一个新文件创建的,原始容器接着被删除。自然,可以将图10b和13的实施例修改为采用表4a至5b的方法(即改写原始容器),反之亦然。
参考图13所示的流程图,为了从图10b的DS容器中提取文档,打开容器(步骤1110),读出容器际题。然后,在步骤1120从容器读出容器中第一个文档的文档标题。在步骤1130,将被提取文档的名称与文档名字段901中的名称进行比较,如果它们相同,那么流程继续到步骤1140,如果它们不相同,那么流程继续到步骤1150。假设文档名字段中的当前文档名与请求文档相同。那么,在步骤1140程序确定该文档的寿命控制是否有效(即当前日期是否在期满日之后)。如果寿命控制是有效的,那么提取当前文档。如果寿命控制是无效的,那么删除该文档。删除文档的说明性代码段如下所示。这里getTotalBytes()的功能从当前文档的文档标题恢复文档长度。
public void nullifyDocumentContent(SdeDocumentHeader dh)

             throws IOException

     {

             long bytes ToNullify=dh.getTotalBytes();

             for(long 1=0;1<bytesToNullify;1++)

             {

                    write(0);

             } 

     }
如果当前文档不是请求的文档,那么在步骤1150程序跳过当前文档的内容到下一文档标题或者封壳的末尾。执行这一功能的说明性代码如下所示:
    public void skipDocumentContent(SdeDocumentHeader dh)

           throws IOException

    {

           long bytesToSkip=dh.getTotalBytes();

           for(long 1=0;1<bytesToSkip;1++)

           {

                  int ch=read();

           }

    }
以这种方式,程序读过当前文档,从而当程序返回到步骤1120时它设定为读出容器中下一个文档的文档标题。
已提取文档后,对容器标题中最后访问字段进行更新(步骤1160),更新的容器标题改写容器标题字段801至806(步骤1170),关闭容器(步骤1180)。
                        表4至5(B)
pubiic static int create(String enveiopetilename)
{
{(enveiopetilename=nuil)
{

    return(CREATE_FAIL_BAD_PARAM);
}
(f,enveiopeExists(enveiopefiiename))
{

    return(CREATE_FAIL_BAD_PARAM);
}
try
{

    FileOutputStream fos=new FileOutputStream(enveloperilename):

    DataOutputStream dos=new DataOutputStream(fos);

    SdeEnvelopeHeader eh=new SdeEnveiopeHeader();

    eh.d name                    =enveiopetilename;

    eh.d_created           =new Date();

    eh.d_last_modified     =new Date();

    eh.d_last_accessed     =new Date();

    eh.write To(dos):

    dos.flush();

    fos.close();
}
                                  表 4A
public static int addDocument(

        String enveiopefilename,

        String documenttilename,

        Date  expires
}

        If(envelopefilename=null‖

                documentfilename=null‖

                expires=null)

        {

                return(ADD_FAIL_BAD_PARAM);

        }

        if(envelopeExists(enveiopefilename)=faise)

       {

                create(enveiopefiiename);

       }

       if(documentExists(documentfiiename)=false)

       {

                return(ADD_FAIL_BAD_PARAM);

       }

       try

       {

                FileInputStream fis=new FilelnputStream(enveiopefiiename);

                DataInputStream dis=new DatalnputStream(fis);

                FiieOutputStream fos=new FileOutputStream(envelopefiiename+″.tmp″);

                DataOutputStream dos=new DataOutputStream(fos);

                SdeEnveiopeHeader eh=new SdeEnvelopeHeader();

                eh.readFrom(dis);

                eh.d_last_modified=new Date();

                eh.d_total_documents++;

                eh.writeTo(dos);

                File file_doc=new File(documentfilename);

                long length=fiie_doc.length();

                FileInputStream fis_doc=new FileinputStream(file_doc);

                SdeDocumentHeader dh=new SdeDocumentHeader();
				
				<dp n="d28"/>
         dh.d_name=documenttilename:

         dh.d_expires=expires;

         dh.d_total_bytes=iength;

         dh.write To(dos);

         while(true)

         {

                int ch=fis_doc.read();

                if(ch=-1)

                       break;

                ch^=65;

                dos.write(ch);

         }

         fis_doc.close();

         dos.flush();

         fos.close();

         fis.close();

         File file_orig=new File(envelopefilename);

         file_orig.delete();

         File file_new=new File(enveiopefilename+″.tmp″);

         file_new.rename To(file_orig);

  }

  catch(IOException ioe)

  {

         return(ADD_FAIL_IOEXCEPTION);

  }

  return(ADD_OK);
}
                                表4B
  class SdeEnvelopeHeader

  {

           public String    d_name             =nuil;

           public Date      d_created          =null;

           public Date      d_last_modified    =nuil;

           public Date      d_last_accessed    =null;

           public long      d_total_documents  =0;

           public boolean write To(DataOutputStream dos)

                   throws IOException

          {

                   dos.writeUTF(d_name);

                   dos.writeLong(d_created.get Time());

                   dos.writeLong(d_last_modified.getTimet));

                   dos.writeLong(d_last_accessed.getTimet));

                   dos.writeLong(d_total_documents);

                   return(true):

          }

          pubiic boolean readFrom(DataInputStream dis)

                   throws IOException
{

                   d_name=dis.readUTF();

                   long c=dis.readLong();

                   d_created=new Date(c);

                   long Im=dis.readLong();

                   d_last_modified=new Date(lm);

                   long la=dis.readLong();

                   d_last_accessed=new Date(la);

                   d_total_documents=dis.readLong();
				
				<dp n="d29"/>
                      return(true):

                  }

        }
                         表4C
class SdeDocumentHeader
{

       pubiic String    d_name           =nuil:

       public Date      d_expires        =nuil;

       public long      d_totai_bytes    =0;

       pubiic booiean write To(DataOutputStream dos)

               throws IOException

       {

               dos.writeUTF(d_name);

               dos.writeLong(d_expires.getTime());

               dos.writeLong(d_total_bytes);

               return(true);

       }

       pubiic boolean readFrom(DataInputStream dis)

               throws IOException

       {

               d_name=dis.readUTF();

               long e=dis.readLong();

               d_expires=new Date(e);

               d_total_bytes=dis.readLong();

               return(true);

       }
}
                            表4D
   public static int VIEW_OK=0;

   public static int VIEW_FAIL_BAD_PARAM=1;

   public static int VIEW_FAIL_IOEXCEPTION=2;

   public static int view(String envelopefilename.PrintStream ps)

   {

            if(enveiopefilename=null‖ps=null)

            {

                    return(VIEW_FAIL_BAD_PARAM);

            }

            if(enveiopeExists(envelopefiiename)=false)

            {

                    return(EXTRACT_FAIL_BAD_PARAM):

            }

            try

            {

            FiieinputStream fis=new FiieinputStream(enveiopefiiename);

           DataInputStream dis=new DatainputStream(fis);

           SdeEnvelopeHeader eh=new SdeEnveiopeHeader();

           eh.readFrom(dis);

           ps.println(″Envelope:+eh.d_name+.″);

           ps.println(″Created:″+eh.d_created.toString());

           ps.println(″Last modified:″+eh.d_last_modified.toString());

           ps.println(″Last accessed:″+eh.d_last_accessed.toString());

           ps.println(″Contains:″+eh.d_total_documents+″
document(s).″);

                      fis.close();
				
				<dp n="d30"/>
                  }

                  catch(IOException ioe)

                  {

                           return(VIEW_FAIL_IOEXCEPTION);

                  }

                  return(VIEW_OK);

       }
                               表5A
public static int extractDocument(String enveiopefilename.String documenttilename)

       {

                  if(envelopefilename=null i documenttilename=nuil)

                  {

                          return(EXTRACT_FAIL_BAD_PARAM);

                  }

                  if(enveiopeExists(envelopefilename)=false)

                  {

                          return(EXTRACT_FAIL_BAD_PARAM);

                  }

                  booiean vaiid          =true;

                  int    invalid_reason  =EXTRACT_FAIL_UNKNOWN;

                  try

                  {

                         FilelnputStream fis=new
FilelnputStream(envelopefilename);

                         DataInputStream dis=new DataInputStream(fis);

                         SdeEnvelopeHeader eh=new SdeEnveiopeHeader();

                         eh.readFrom(dis);

                         SdeDocumentHeader dh=new SdeDocumentHeader();

                         dh.readFrom(dis);

                         if(dh.d_name.equalsIgnoreCase(documentfilename)=
false)

                         {

                                 valid=false;

                                 nvalid_reason=
EXTRACT_FAIL_NOT_FOUND:

                         }

                         if(dh.d_expires.before(new Date()))

                         {

                                 valid=false;

                                 invalid_reason=EXTRACT_FAIL_INVALID;

                         }

                         File file_doc=new File(documentfilename);

                         if(file_doc.exists())

                         {


                                 file_doc=new File(documenttilename+″.x″);

                         }

                         FileOutputStrearn fos_doc=null;

                         If(valid)

                         {

                                 fos_doc=new FileOurputStream(file_doc);

                         }

                         for(long 1=0;1<dh.d_total_bytes;i-)
                                 int ch=dis.read();

                                 if(valid)

                                 {

                                         ch^=65;

                                         fos_doc.write(ch);
				
				<dp n="d31"/>
                        }

                         if(valid)

                         {

                                   fos_doc.close();

                         } 

                         fis.close();

                  }

                  catch(IOException ioe)

                  {

                         return(EXTRACT_FAIL_IOEXCEPTION);

                  }

                  if(valid)

                  {

                          return(EXTRACT_OK);

                  }

                  else

                  {

                         return(invalid_reason);

                  }

          }
                                表5B
然而,应当注意:以上所示的示范实施例以较为简单的图形用户接口、简单的加密技术和包括期满日的寿命控制将基于Java流的方法提供给虚拟容器,应当注意:本发明包括较宽的附加实施方案的排列,它们可以是较为简单或者是较为复杂的。在这方面,用户接口可以包括更复杂的GUI或者没有图形的简单命令行接口。同样,虚拟容器也可以利用Java串行机制实现或是可以利用另一种语言,如C++一起实现。此外,可以将寿命控制修改为多次提取文档或多次对文档进行修改的功能。此外,可以将寿命控制用于在规定期限后将文档转变为只读文档或者防止文档被复制或打印。
                  虚拟容器的因特网商务应用
按照本发明的另一实施例,提供一个采用虚拟容器的因特网商务系统。按照本实施例,希望在因特网上出售电子化可传输产品的一方利用容器创建实用工具将产品放置到虚拟容器中,容器创建实用工具对产品进行加密和设定产品的寿命控制。在这方面,出售方希望允许可能的买主观看产品或者在有限的试用期内使用该产品,如果没有购买则在这一试用期后销毁该产品。希望在购买产品前对产品进行看样的可能买主从出售方获得容器的复制品以及容器开启实用工具。容器开启实用工具允许买主观看或使用产品同时将产品维持在虚拟容器内。然而,能够将容器开启实用工具设置成防止用户打印该产品(或其任何部分)、复制该产品(或其任何部分)以及修改该产品,如果买主试图不使用容器开启工具观看产品,他/她将不能对产品解密。在任何情况中,一旦产品的寿命控制变为无效(即在出售方规定的时限之后),采用容器开启工具打开容器的任何企图都将导致产品毁坏。应当注意:产品可以是能够以数字形式发送的任何形式的电子媒体,包括例如文档、照相、图象和程序。
按照本实施例的另一方面,买主可以在寿命控制期满日之前例如通过将他/她的信用卡信息发送给售主而购买该产品。在收到和/或核实支付信息后,售主将购买密钥发送给买主。容器开启工具被设置成能识别购买密钥(该密钥最好是仅针对发给该特定买主的产品的特定情况),如果购买密钥是有效的,允许买主从容器中提取产品。
            使用虚拟容器和嵌入式可执行模块的软件元件
在上述的每个示范实施例中,以应用专用程序已经实现自销毁文档,从而用来执行自销毁WordTM文档的程序不用于执行自销毁ExcelTM文档的程序。为了避免这一可重复(再)开发过程,自销毁文档,或在这方面的虚拟容器系统能够作为软件元件来实现。软件元件是易于再利用的软件单元,通常提供一种简单服务。
元件对象模型(COM)是软件元件技术的微软(Microsoft)标准。它定义易于再利用的封装软件的标准。通常的COM元件包括两大类内容:作为一组方法(功能)实行的元件的功能性和有关该元件及其功能性的描述信息。总起来说,这一内容被称为元件接口。应当注意:采用的这一术语不同于术语“用户接口”。用户接口通常是窗口、菜单、按钮和允许用户与应用程序功能交互作用的图形显示。然而,“接口”更广泛地是指进入软件(方法或功能)单元的入口点。
能够采用COM元件来执行用户接口元件,如按钮和清单。也能够采用它们来提供不用用户接口的服务。例如,COM元件可以提供计算正弦和余弦函数的数学功能。
尽管元件与对象之间存在微妙的技术差别,但是它们都代表两个非常相似的概念。照此,本文采用的术语与贸易出版和技术参考材料的惯用语相一致,可以互换。
此外,术语控制通常用于描述具有与之相关联的用户接口的元件。具体地说,微软公司采用术语ActiveX Control来描述通常具有用户接口的特定一类COM元件。当采用COM元件扩展现有应用程序的功能时,将该元件说成是嵌入在应用程序的文档中。通常将这种元件称为嵌入对象。在这方面,我们注意到Word97TM、ExcelTM、Outlook98TM各自都包括Visual Basic应用程序至COM对象文件库的支持程序。
采用嵌入对象技术实现应用程序扩展通常需要将COM元件安装到文档作者的计算机中。另外,接收文档复制件的任何用户通常也必须将COM元件安装到他或她的计算机中,以实现扩展功能。
通过广泛努力,虚拟容器的COM元件可以按照如下所述来实现。
1.首先,指定元件的接口。接口描述元件提供的每一种服务。在SDE元件的情况中,服务可以包括CreateEnvelope、AddDocumentToEnvelope和ExtractDocumentFromEnvelope。
2.利用诸如C++、Java和Visual Basic的编程语音实现元件的每一个服务。
3.利用编程语音的开发工具创建COM元件。
4.将COM元件安装到用户的工作站上。实现调用元件服务的少量过程需求。
然而,应当注意:这里描述了微软公司的COM元件标准,也可以采用其它制造商分发的软件元件标准。
虽然对目前认为是本发明较佳实施例作了描述,但是,本领域的专业人员在不偏离本发明精神的条件下能够对其作出改变和改进。希望所有这些改变都落在本发明权利要求的范围内。

Claims (43)

1.一种创建自毁文档的方法,其特征在于所述方法包括以下步骤:
创建一可执行模块,该模块指令计算机改写和/或删除所述可执行模块附加到其上的文档;
将所述可执行模块附加到所述文档上。
2.如权利要求1所述的方法,其特征在于:所述可执行模块是可执行的代码。
3.如权利要求1所述的方法,其特征在于:所述可执行模块是可执行的程序。
4.如权利要求1所述的方法,其特征在于:所述可执行模块是宏指令。
5.如权利要求1所述的方法,其特征在于:所述方法进一步包括在打开所述文档时执行所述可执行模块的步骤。
6.一种自毁电子邮件发报系统,其特征在于所述系统包括:
可执行模块,该模块配置成指令计算机删除所述可执行模块附加到其上的报文;
电子邮件发报系统,所述电子邮件发报系统配置成创建一电子邮件报文并发送所述电子邮件报文,所述电子邮件发报系统在发送前将所述可执行模块附加到所述电子邮件报文上。
7.如权利要求6所述的系统,其特征在于:所述可执行模块是可执行的代码。
8.如权利要求6所述的系统,其特征在于:所述可执行模块是可执行的程序。
9.如权利要求6所述的系统,其特征在于:所述可执行模块是宏指令。
10.如权利要求6所述的系统,其特征在于:所述可执行模块配置成采用空字符改写所述消息。
11.如权利要求6所述的系统,其特征在于:所述可执行模块配置成指令所述计算机在出现预定条件时删除所述电子邮件报文。
12.如权利要求11所述的系统,其特征在于:所述预定条件是指日期。
13.如权利要求6所述的系统,其特征在于:所述可执行模块配置成在打开附加所述可执行模块的所述电子邮件时执行。
14.如权利要求6所述的系统,其特征在于:所述可执行模块配置成在打开附加所述可执行模块的所述电子邮件时开始执行,如果满足预定条件在所述执行过程期间所述可执行模块删除所述报文。
15.如权利要求6所述的系统,其特征在于:所述电子邮件报文是电子邮件报文附件。
16.如权利要求15所述的系统,其特征在于:所述可执行模块配置成指令所述计算机在出现预定条件时删除所述电子邮件报文附件。
17.如权利要求16所述的系统,其特征在于:所述预定条件是指所述电子邮件报文的打印、复制或转送。
18.如权利要求1所述的方法,其特征在于:所述文档是指加密文档,所述可执行模块配置成指令所述计算机若满足预定条件则对所述文档进行解密,若不满足所述预定条件则删除所述文档。
19.如权利要求6所述的方法,其特征在于:所述文档是指加密文档,所述可执行模块配置成指令所述计算机若满足预定条件则对所述报文进行解密,若不满足所述预定条件则删除所述报文。
20.一种创建含有数字对象的虚拟容器的方法,其特征在于所述方法包括以下步骤:
创建一虚拟容器,所述虚拟容器驻留在计算机电子存储媒体的邻接位置中,所述虚拟容器包括标题部分和数字对象部分;
选择插入到所述虚拟容器中的数字对象;
将加密技术运用于所述数字对象,以创建一加密数字对象;
选择所述数字对象的期满日;
将所述期满日的信息指示写入所述虚拟容器的所述标题部分。
21.一种从虚拟容器提取文档的方法,其特征在于所述方法包括以下步骤:
从虚拟容器的标题部分读出期满日的信息指示,所述虚拟容器驻留在计算机电子存储媒体的邻接位置中,所述虚拟容器包括标题部分和数字对象部分,所述数字对象部分包括加密数字对象;
根据所述信息确定所述电子对象是否到期;
如果所述电子对象到期,用空数据改写所述虚拟容器中的数字对象部分;
如果所述数字对象不到期,从所述数字对象部分读出所述数字对象并将加密技术运用于所述数字对象。
22.一种虚拟容器系统,其特征在于所述系统包括:
一容器创建实用工具,所述容器创建实用工具创建一虚拟容器,它驻留在计算机电子存储媒体的邻接位置中,这里,所述虚拟容器包括标题部分和数字对象部分,容器开启实用工具接收用户的数字对象选择和期满日选择,容器创建工具将加密技术运用于所选数字对象上以创建加密数字对象并将所述加密数字对象写入到所述虚拟容器的所述数字对象部分中,容器创建工具将所述期满日的信息指示写入到所述虚拟容器的所述标题部分中;
容器开启实用工具,所述容器开启实用工具从所述虚拟容器的所标题部分读出所述期满日的指示信息,所述容器开启工具根据所述信息确定所述电子对象是否到期,如果所述电子对象到期,所述容器开启工具用零数据改写所述虚拟容器中的数字对象部分;如果所述数字对象不到期,所述容器开启工具从所述数字对象部分读出所述数字对象并将加密技术运用于所述数字对象。
23.一种创建虚拟容器和从虚拟容器中提取数字对象的方法,其特征在于:
创建所述虚拟容器的方法包括以下步骤:
创建一虚拟容器,所述虚拟容器驻留在计算机电子存储媒体的邻接位置中,所述虚拟容器包括标题部分和数字对象部分;
选择插入到所述虚拟容器中的数字对象;
将加密技术运用于所述数字对象,以创建一加密数字对象;
将所述加密数字对象写入所述数字对象部分;
选择所述数字对象的期满日;
将所述期满日的指示信息写入所述虚拟容器的所述标题部分;
从所述虚拟容器中提取文档的方法包括以下步骤:
从虚拟容器的标题部分读出期满日的指示信息;
根据所述信息确定所述电子对象是否到期;
如果所述电子对象到期,用空数据改写所述虚拟容器中的数字对象部分;
如果所述数字对象不到期,从所述数字对象部分读出所述数字对象并将加密技术运用于所述数字对象。
24.如权利要求20所述的方法,其特征在于:创建虚拟容器的所述步骤包括创建容器标题和数字对象标题的步骤,所述容器标题包括涉及所述容器的信息,如容器名称,所述数字对象标题包括涉及所述数字对象的信息,如数字对象名称。
25.如权利要求24所述的方法,其特征在于:写入所述期满日的指示信息的所述步骤包括把所述信息写入所述容器标题中。
26.如权利要求24所述的方法,其特征在于:写入所述期满日的指示信息的所述步骤包括把所述信息写入所述数字对象标题中。
27.如权利要求24所述的方法,其特征在于:
选择插入到所述虚拟容器中的数字对象的步骤包括多个选择插入到所述虚拟容器中的数字对象;
运用加密技术的步骤包括将加密技术运用于所述多个数字对象中的每一个;
将所述加密数字对象写入到所述数字对象部分中的步骤包括将每个所述加密数字对象写入到所述数字对象部分中;
选择期满日的步骤包括选择多个数字对象中每一个的期满日;以及
写入信息的步骤包括将每一个数字对象的期满日的信息指示写入到各自的数字对象标题中。
28.如权利要求23所述的方法,其特征在于:创建虚拟容器的所述步骤包括创建容器标题和数字对象标题的步骤,所述容器标题包括涉及所述容器的信息,如容器名称,所述数字对象标题包括涉及所述数字对象的信息,如数字对象名称。
29.如权利要求28所述的方法,其特征在于:写入所述期满日的指示信息的所述步骤包括把所述信息写入所述容器标题中。
30.如权利要求28所述的方法,其特征在于:写入所述期满日的指示信息的所述步骤包括把所述信息写入所述数字对象标题中。
31.如权利要求2所述的方法,其特征在于:
选择插入到所述虚拟容器中的数字对象的步骤包括选择多个插入到所述虚拟容器中的数字对象;
运用加密技术的步骤包括将加密技术运用于所述多个数字对象中的每一个;
将所述加密数字对象写入到所述数字对象部分中的步骤包括将每个所述加密数字对象写入到所述数字对象部分中;
选择期满日的步骤包括选择多个数字对象中每一个的期满日;以及
写入信息的步骤包括将每一个数字对象的期满日的信息指示写入到各自的数字对象标题中。
32.一种将可销毁数字对象发送给收件人的方法,其特征在于所述方法包括以下步骤:
创建一虚拟容器,所述虚拟容器驻留在计算机电子存储媒体的邻接位置中,所述虚拟容器包括标题部分和数字对象部分;
选择插入到所述虚拟容器中的数字对象;
将加密技术运用于所述数字对象,以创建一加密数字对象;
将所述加密数字对象写入到所述数字对象部分中;
选择所述数字对象的期满日;
将所述期满日的信息指示写入所述虚拟容器的所述标题部分,
将所述虚拟容器和容器开启实用工具发送给收件人,这里,所述容器开启实用工具在被收件人调用时从虚拟容器的标题部分读出期满日的指示信息,根据所述信息确定所述电子对象是否到期,如果所述电子对象到期,用空数据改写所述虚拟容器中的数字对象部分,如果所述数字对象不到期,从所述数字对象部分读出所述数字对象并将加密技术运用于所述数字对象。
33.如权利要求32所述的方法,其特征在于:所述虚拟容器是经因特网发送的。
34.如权利要求27所述的方法,其特征在于:所述标题部分包括所述容器标题部分和所述数字对象部分,每个数字对象在所述虚拟容器中处于与其各自数字对象标题相邻的位置。
35.如权利要求31所述的方法,其特征在于:所述标题部分包括所述容器标题部分和所述数字对象部分,每个数字对象在所述虚拟容器中处于与其各自数字对象相邻的位置。
36.如权利要求21所述的方法,其特征在于:所述数字对象是文档。
37.如权利要求22所述的方法,其特征在于:所述数字对象是文档。
38.如权利要求23所述的方法,其特征在于:所述数字对象是文档。
39.如权利要求32所述的方法,其特征在于:所述数字对象是文档。
40.如权利要求21所述的方法,其特征在于:所述数字对象是程序。
41.如权利要求22所述的方法,其特征在于:所述数字对象是程序。
42.如权利要求23所述的方法,其特征在于:所述数字对象是程序。
43.如权利要求32所述的方法,其特征在于:所述数字对象是程序。
CN98800856A 1997-06-17 1998-06-16 自毁文档和电子邮件发报系统 Pending CN1229489A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US4985397P 1997-06-17 1997-06-17
US60/049,853 1997-06-17

Publications (1)

Publication Number Publication Date
CN1229489A true CN1229489A (zh) 1999-09-22

Family

ID=21962098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN98800856A Pending CN1229489A (zh) 1997-06-17 1998-06-16 自毁文档和电子邮件发报系统

Country Status (13)

Country Link
US (1) US7191219B2 (zh)
EP (1) EP1000400A4 (zh)
JP (1) JP2000501540A (zh)
KR (1) KR100336025B1 (zh)
CN (1) CN1229489A (zh)
AT (1) AT4261U3 (zh)
AU (1) AU725944B2 (zh)
BR (1) BR9806000A (zh)
CA (2) CA2362716A1 (zh)
HU (1) HUP0001042A3 (zh)
IL (1) IL128576A (zh)
NZ (1) NZ334075A (zh)
WO (1) WO1998058321A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968361B2 (en) 2000-08-30 2005-11-22 Nec Corporation Method of transmitting and receiving electronic mail and communication terminal
US7926752B2 (en) 2005-09-09 2011-04-19 Fuji Xerox Co., Ltd. Recording medium destruction and discarding system, recording medium destruction and discarding method, recording medium destruction and discarding apparatus, recording medium management apparatus, and recording medium management system
CN101489010B (zh) * 2005-09-09 2012-05-30 富士施乐株式会社 记录介质销毁和废弃系统以及记录介质管理系统
CN103166833A (zh) * 2011-12-16 2013-06-19 北京新媒传信科技有限公司 一种电子邮件自毁方法及系统

Families Citing this family (335)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3206529B2 (ja) 1997-12-05 2001-09-10 日本電気株式会社 電子メールシステム、電子メールシステムにおける電子メールの送受信方法および電子メールの送受信用プログラムを記録した記録媒体
US6711608B1 (en) * 1998-09-23 2004-03-23 John W. L. Ogilvie Method for including a self-removing code in a self-removing message
US7325052B1 (en) * 1998-10-06 2008-01-29 Ricoh Company, Ltd. Method and system to erase data after expiration or other condition
US6651087B1 (en) 1999-01-28 2003-11-18 Bellsouth Intellectual Property Corporation Method and system for publishing an electronic file attached to an electronic mail message
CA2298274A1 (en) * 1999-02-22 2000-08-22 Lucent Technologies, Inc. Specifiable delete times for email messages
US7596606B2 (en) * 1999-03-11 2009-09-29 Codignotto John D Message publishing system for publishing messages from identified, authorized senders
US7096355B1 (en) 1999-04-26 2006-08-22 Omniva Corporation Dynamic encoding algorithms and inline message decryption
US6625734B1 (en) 1999-04-26 2003-09-23 Disappearing, Inc. Controlling and tracking access to disseminated information
US7149893B1 (en) * 1999-09-07 2006-12-12 Poofaway.Com, Inc. System and method for enabling the originator of an electronic mail message to preset an expiration time, date, and/or event, and to control processing or handling by a recipient
US6704771B1 (en) 1999-09-21 2004-03-09 Neostar, Inc. Electronic message payload for interfacing with text contained in the message
US6360221B1 (en) 1999-09-21 2002-03-19 Neostar, Inc. Method and apparatus for the production, delivery, and receipt of enhanced e-mail
US9092535B1 (en) 1999-09-21 2015-07-28 Google Inc. E-mail embedded textual hyperlink object
US7840639B1 (en) 1999-09-21 2010-11-23 G&H Nevada-Tek Method and article of manufacture for an automatically executed application program associated with an electronic message
US7634528B2 (en) 2000-03-16 2009-12-15 Microsoft Corporation Harnessing information about the timing of a user's client-server interactions to enhance messaging and collaboration services
WO2001069387A2 (en) * 2000-03-16 2001-09-20 Microsoft Corporation Notification platform architecture
US7243130B2 (en) 2000-03-16 2007-07-10 Microsoft Corporation Notification platform architecture
US7565403B2 (en) 2000-03-16 2009-07-21 Microsoft Corporation Use of a bulk-email filter within a system for classifying messages for urgency or importance
US7844670B2 (en) 2000-04-03 2010-11-30 Paltalk Holdings, Inc. Method and computer program product for establishing real-time communications between networked computers
US20020023134A1 (en) * 2000-04-03 2002-02-21 Roskowski Steven G. Method and computer program product for establishing real-time communications between networked computers
JP2001337865A (ja) 2000-05-25 2001-12-07 Minolta Co Ltd ファイル生成方法およびファイル管理方法ならびにファイル
JP2001350670A (ja) * 2000-06-05 2001-12-21 Tokio Marine & Fire Insurance Co Ltd 情報管理装置及びシステム、情報消去機能付き記録メディア
US6901519B1 (en) 2000-06-22 2005-05-31 Infobahn, Inc. E-mail virus protection system and method
US7913078B1 (en) 2000-06-22 2011-03-22 Walter Mason Stewart Computer network virus protection system and method
US7958213B1 (en) 2000-09-21 2011-06-07 Siemens Enterprise Communications, Inc. Processing electronic messages
US20030014512A1 (en) * 2001-07-10 2003-01-16 Murata Kikai Kabushiki Kaisha Communication apparatus and structured document management apparatus
US7640361B1 (en) * 2001-08-24 2009-12-29 Mcafee, Inc. Systems and methods for converting infected electronic files to a safe format
US7117248B1 (en) * 2001-09-28 2006-10-03 Bellsouth Intellectual Property Corporation Text message delivery features for an interactive wireless network
US7035904B1 (en) * 2001-09-28 2006-04-25 Bellsouth Intellectual Property Corporation Text message delivery features for an interactive wireless network
US7356564B2 (en) * 2002-01-09 2008-04-08 At&T Delaware Intellectual Property, Inc. Method, system, and apparatus for providing self-destructing electronic mail messages
JP2004005436A (ja) * 2002-03-28 2004-01-08 Seiko Epson Corp 電子メールを用いる情報収集システム
US7254772B2 (en) * 2002-07-30 2007-08-07 Xerox Corporation Systems and methods for visually representing the aging and/or expiration of electronic documents
WO2004017592A1 (en) 2002-08-19 2004-02-26 Research In Motion Limited System and method for secure control of resources of wireless mobile communication device
US7496631B2 (en) 2002-08-27 2009-02-24 Aol Llc Delivery of an electronic communication using a lifespan
JP2004326378A (ja) * 2003-04-24 2004-11-18 Hitachi Ltd 通信端末及び送受信方法
US7107416B2 (en) 2003-09-08 2006-09-12 International Business Machines Corporation Method, system, and program for implementing retention policies to archive records
US7146388B2 (en) * 2003-10-07 2006-12-05 International Business Machines Corporation Method, system, and program for archiving files
US7117322B2 (en) * 2003-09-08 2006-10-03 International Business Machines Corporation Method, system, and program for retention management and protection of stored objects
FR2861235B1 (fr) * 2003-10-17 2005-12-16 Sagem Procede de protection d'un algorithme cryptographique
JP2007511820A (ja) * 2003-10-27 2007-05-10 アーカイヴァス インコーポレイテッド 独立ノード冗長アレイに対するポリシーに基づく管理
US20050198165A1 (en) * 2003-11-06 2005-09-08 Reddel Frederick A.V Systems and methods for electronic information distribution
US20050132010A1 (en) * 2003-12-12 2005-06-16 International Business Machines Corporation Scheduled electronic mail deletions
JP2005184222A (ja) * 2003-12-17 2005-07-07 Konica Minolta Business Technologies Inc ワークフローシステム及びそのクライアント端末
US7430754B2 (en) * 2004-03-23 2008-09-30 Microsoft Corporation Method for dynamic application of rights management policy
EP1605649B1 (de) * 2004-06-02 2006-08-09 Ixos Software AG Verfahren und Vorrichtung zum Verwalten von elektronischen Nachrichten
WO2005125114A1 (en) * 2004-06-21 2005-12-29 Research In Motion Limited System and method for handling electronic messages
US20060036739A1 (en) * 2004-08-12 2006-02-16 International Business Machines Corporation Method and system for removing messaging information in a messaging client
US7519670B2 (en) * 2004-08-12 2009-04-14 International Business Machines Corporation Method for disappearing ink for text messaging
US20060053308A1 (en) * 2004-09-08 2006-03-09 Raidy 2 Go Ltd. Secured redundant memory subsystem
US20070112784A1 (en) * 2004-11-17 2007-05-17 Steven Blumenau Systems and Methods for Simplified Information Archival
US20060106782A1 (en) * 2004-11-17 2006-05-18 Steven Blumenau Systems and methods for searching digital assets using virtual folders having labels based on taxonomy tags
US20070208685A1 (en) * 2004-11-17 2007-09-06 Steven Blumenau Systems and Methods for Infinite Information Organization
US7958148B2 (en) * 2004-11-17 2011-06-07 Iron Mountain Incorporated Systems and methods for filtering file system input and output
US7792757B2 (en) * 2004-11-17 2010-09-07 Iron Mountain Incorporated Systems and methods for risk based information management
US7809699B2 (en) * 2004-11-17 2010-10-05 Iron Mountain Incorporated Systems and methods for automatically categorizing digital assets
US20070130218A1 (en) * 2004-11-17 2007-06-07 Steven Blumenau Systems and Methods for Roll-Up of Asset Digital Signatures
US20060156381A1 (en) * 2005-01-12 2006-07-13 Tetsuro Motoyama Approach for deleting electronic documents on network devices using document retention policies
US20060248352A1 (en) * 2005-04-27 2006-11-02 Sbc Knowledge Ventures, L.P. Method and system of securing electronic data
US9401900B2 (en) 2005-07-01 2016-07-26 Cirius Messaging Inc. Secure electronic mail system with thread/conversation opt out
US10021062B2 (en) 2005-07-01 2018-07-10 Cirius Messaging Inc. Secure electronic mail system
US7730142B2 (en) * 2005-07-01 2010-06-01 0733660 B.C. Ltd. Electronic mail system with functionality to include both private and public messages in a communication
US8688790B2 (en) * 2005-07-01 2014-04-01 Email2 Scp Solutions Inc. Secure electronic mail system with for your eyes only features
US7610345B2 (en) 2005-07-28 2009-10-27 Vaporstream Incorporated Reduced traceability electronic message system and method
US9282081B2 (en) * 2005-07-28 2016-03-08 Vaporstream Incorporated Reduced traceability electronic message system and method
US7720825B2 (en) 2005-10-21 2010-05-18 International Business Machines Corporation System and method for enabling records management
US7987511B2 (en) 2005-11-23 2011-07-26 Research In Motion Limited E-mail with secure message parts
JP2007257144A (ja) * 2006-03-22 2007-10-04 Nec System Technologies Ltd セキュア機密情報配布システム、貸出元コンピュータ、セキュア機密情報配布方法及びプログラム
US20080059591A1 (en) * 2006-09-01 2008-03-06 Martin Denis Optimized message counting
US8554868B2 (en) 2007-01-05 2013-10-08 Yahoo! Inc. Simultaneous sharing communication interface
US8161383B2 (en) * 2007-06-26 2012-04-17 Canon Kabushiki Kaisha Information processing apparatus and information processing method
US9135473B2 (en) * 2007-08-08 2015-09-15 Honeywell International Inc. Method and apparatus for erasure of data from a data storage device located on a vehicle
US20090055498A1 (en) * 2007-08-22 2009-02-26 International Business Machines Corporation Administration Of Time-Sensitive Email
US20090055499A1 (en) * 2007-08-22 2009-02-26 International Business Machines Corporation Administration Of Time-Sensitive Email
US11270267B2 (en) 2007-12-12 2022-03-08 Avaya Inc. Sensitive information management
US20090177704A1 (en) * 2008-01-09 2009-07-09 Microsoft Corporation Retention policy tags for data item expiration
US7475120B1 (en) * 2008-03-10 2009-01-06 International Business Machines Corporation Auto removal of sent attachments
KR100883837B1 (ko) * 2008-04-11 2009-02-17 이승호 전자 메일 및 원격 파일의 로컬 및 원격지에서의 파일 관리방법
US8832201B2 (en) * 2008-08-18 2014-09-09 International Business Machines Corporation Method, system and program product for providing selective enhanced privacy and control features to one or more portions of an electronic message
JP5200807B2 (ja) * 2008-09-19 2013-06-05 富士通株式会社 モバイル端末、データ管理システム及びプログラム
US8620869B2 (en) * 2008-09-25 2013-12-31 Microsoft Corporation Techniques to manage retention policy tags
US8272028B2 (en) * 2008-10-15 2012-09-18 Ricoh Company, Ltd. Approach for managing access to electronic documents on network devices using document retention policies and document security policies
US20100106689A1 (en) * 2008-10-24 2010-04-29 At&T Intellectual Property I, L.P. Methods, Computer Program Products, and Systems for File Retention
US20100217984A1 (en) * 2009-02-13 2010-08-26 Hill Gregory G Methods and apparatus for encrypting and decrypting email messages
US9177264B2 (en) 2009-03-06 2015-11-03 Chiaramail, Corp. Managing message categories in a network
JP2011008621A (ja) * 2009-06-26 2011-01-13 Fujitsu Ltd 情報処理装置、方法およびプログラム
US8024462B1 (en) * 2009-10-05 2011-09-20 Mcafee, Inc. System, method, and computer program product for preventing communication of unwanted network traffic by holding only a last portion of the network traffic
US8447734B2 (en) * 2009-11-30 2013-05-21 Hewlett-Packard Development Company, L.P. HDAG backup system with variable retention
US9443227B2 (en) * 2010-02-16 2016-09-13 Tigertext, Inc. Messaging system apparatuses circuits and methods of operation thereof
US8554253B2 (en) 2010-08-26 2013-10-08 John L. Rogitz Telephone messaging privacy
EP2453631B1 (en) 2010-11-15 2016-06-22 BlackBerry Limited Data source based application sandboxing
US9282084B2 (en) 2010-12-07 2016-03-08 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for provisioning a temporary identity module using a key-sharing scheme
US8457668B2 (en) 2011-01-18 2013-06-04 Claremont Speede Mobile sender initiated SMS message deletion method and system
JP2012203476A (ja) * 2011-03-23 2012-10-22 Nakayo Telecommun Inc 情報自動削除機能を有する情報表示装置および情報送信装置
US8880625B2 (en) 2011-03-31 2014-11-04 Loment, Inc. Automatic expiration of messages communicated among end user communication devices
US9331972B2 (en) 2011-03-31 2016-05-03 Loment, Inc. Automatic expiration of messages communicated to an end user communication device
MX2014000392A (es) 2011-07-12 2014-04-30 Mobli Technologies 2010 Ltd Metodos y sistemas para proporcionar funciones de edicion de contenido visual.
US8972357B2 (en) 2012-02-24 2015-03-03 Placed, Inc. System and method for data collection to validate location data
US11734712B2 (en) 2012-02-24 2023-08-22 Foursquare Labs, Inc. Attributing in-store visits to media consumption based on data collected from user devices
US9148417B2 (en) 2012-04-27 2015-09-29 Intralinks, Inc. Computerized method and system for managing amendment voting in a networked secure collaborative exchange environment
US9251360B2 (en) 2012-04-27 2016-02-02 Intralinks, Inc. Computerized method and system for managing secure mobile device content viewing in a networked secure collaborative exchange environment
US9253176B2 (en) 2012-04-27 2016-02-02 Intralinks, Inc. Computerized method and system for managing secure content sharing in a networked secure collaborative exchange environment
US9553860B2 (en) 2012-04-27 2017-01-24 Intralinks, Inc. Email effectivity facility in a networked secure collaborative exchange environment
US20140304836A1 (en) * 2012-04-27 2014-10-09 Intralinks, Inc. Digital rights management through virtual container partitioning
US10155168B2 (en) 2012-05-08 2018-12-18 Snap Inc. System and method for adaptable avatars
US9285981B1 (en) 2012-07-16 2016-03-15 Wickr Inc. Discouraging screen capture
US20150206349A1 (en) 2012-08-22 2015-07-23 Goldrun Corporation Augmented reality virtual content platform apparatuses, methods and systems
EP2898421A4 (en) 2012-09-24 2016-07-13 Claremont Speede CONTROLLED DATA ACCESS AND METHOD AND SYSTEM FOR CLEARING DATA THROUGH A MOBILE TRANSMITTER
CN103023655B (zh) * 2012-12-13 2016-06-29 曙光云计算技术有限公司 网络安全系统
US9742713B2 (en) 2013-05-30 2017-08-22 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US10439972B1 (en) 2013-05-30 2019-10-08 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US9705831B2 (en) 2013-05-30 2017-07-11 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US9866591B1 (en) 2013-06-25 2018-01-09 Wickr Inc. Enterprise messaging platform
US10129260B1 (en) 2013-06-25 2018-11-13 Wickr Inc. Mutual privacy management
US10567349B2 (en) 2013-06-25 2020-02-18 Wickr Inc. Secure time-to-live
US9830089B1 (en) 2013-06-25 2017-11-28 Wickr Inc. Digital data sanitization
US20160246999A1 (en) * 2013-10-04 2016-08-25 Telefonica Digital Espana, S.L.U. Method and system for image capturing prevention of information displayed on a screen and computer program thereof
WO2015073708A1 (en) 2013-11-14 2015-05-21 Intralinks, Inc. Litigation support in cloud-hosted file sharing and collaboration
US9083770B1 (en) 2013-11-26 2015-07-14 Snapchat, Inc. Method and system for integrating real time communication features in applications
US20150180845A1 (en) * 2013-12-19 2015-06-25 Robert Uomini Electronic mail system and methods
CA2863124A1 (en) 2014-01-03 2015-07-03 Investel Capital Corporation User content sharing system and method with automated external content integration
US9628950B1 (en) 2014-01-12 2017-04-18 Investment Asset Holdings Llc Location-based messaging
US20150222686A1 (en) * 2014-02-06 2015-08-06 Elijah Aizenstat System and a method for sharing interactive media content by at least one user with at least one recipient over a communication network
US10082926B1 (en) 2014-02-21 2018-09-25 Snap Inc. Apparatus and method for alternate channel communication initiated through a common message thread
US9698976B1 (en) 2014-02-24 2017-07-04 Wickr Inc. Key management and dynamic perfect forward secrecy
US8909725B1 (en) 2014-03-07 2014-12-09 Snapchat, Inc. Content delivery network for ephemeral objects
US20170004327A1 (en) * 2014-03-27 2017-01-05 Yulong Computer Telecommunication Scientific (Shenzhen) Co., Ltd. Message sending method and device and message receiving method and device
DE102014105116A1 (de) 2014-04-10 2015-10-15 Fujitsu Technology Solutions Intellectual Property Gmbh Verfahren zur Zerstörung von Dateiinhalten
US9613190B2 (en) 2014-04-23 2017-04-04 Intralinks, Inc. Systems and methods of secure data exchange
US9276886B1 (en) 2014-05-09 2016-03-01 Snapchat, Inc. Apparatus and method for dynamically configuring application component tiles
US9537811B2 (en) 2014-10-02 2017-01-03 Snap Inc. Ephemeral gallery of ephemeral messages
US9396354B1 (en) 2014-05-28 2016-07-19 Snapchat, Inc. Apparatus and method for automated privacy protection in distributed images
IL239238B (en) 2014-06-05 2022-04-01 Mobli Tech 2010 Ltd Automatic enrichment of advertising with the help of social network trends
US9113301B1 (en) 2014-06-13 2015-08-18 Snapchat, Inc. Geo-location based event gallery
US9584530B1 (en) 2014-06-27 2017-02-28 Wickr Inc. In-band identity verification and man-in-the-middle defense
US9225897B1 (en) 2014-07-07 2015-12-29 Snapchat, Inc. Apparatus and method for supplying content aware photo filters
US10055717B1 (en) 2014-08-22 2018-08-21 Snap Inc. Message processor with application prompts
US10423983B2 (en) 2014-09-16 2019-09-24 Snap Inc. Determining targeting information based on a predictive targeting model
US10824654B2 (en) 2014-09-18 2020-11-03 Snap Inc. Geolocation-based pictographs
US11216869B2 (en) 2014-09-23 2022-01-04 Snap Inc. User interface to augment an image using geolocation
US10839086B2 (en) * 2014-09-30 2020-11-17 Jonker Llc Method of operating ephemeral peripheral device
US10284508B1 (en) 2014-10-02 2019-05-07 Snap Inc. Ephemeral gallery of ephemeral messages with opt-in permanence
US9892204B2 (en) 2014-11-10 2018-02-13 International Business Machines Corporation Creating optimized shortcuts
US9015285B1 (en) 2014-11-12 2015-04-21 Snapchat, Inc. User interface for accessing media at a geographic location
US9654288B1 (en) 2014-12-11 2017-05-16 Wickr Inc. Securing group communications
US9385983B1 (en) 2014-12-19 2016-07-05 Snapchat, Inc. Gallery of messages from individuals with a shared interest
US10311916B2 (en) 2014-12-19 2019-06-04 Snap Inc. Gallery of videos set to an audio time line
US9754355B2 (en) 2015-01-09 2017-09-05 Snap Inc. Object recognition based photo filters
US11388226B1 (en) 2015-01-13 2022-07-12 Snap Inc. Guided personal identity based actions
US10133705B1 (en) 2015-01-19 2018-11-20 Snap Inc. Multichannel system
US9521515B2 (en) 2015-01-26 2016-12-13 Mobli Technologies 2010 Ltd. Content request by location
US9294425B1 (en) 2015-02-06 2016-03-22 Snapchat, Inc. Storage and processing of ephemeral messages
US10223397B1 (en) 2015-03-13 2019-03-05 Snap Inc. Social graph based co-location of network users
KR102371138B1 (ko) 2015-03-18 2022-03-10 스냅 인코포레이티드 지오-펜스 인가 프로비저닝
US9692967B1 (en) 2015-03-23 2017-06-27 Snap Inc. Systems and methods for reducing boot time and power consumption in camera systems
US9390284B1 (en) * 2015-04-03 2016-07-12 Ray Wang Method for secure and private computer file
US9946603B1 (en) * 2015-04-14 2018-04-17 EMC IP Holding Company LLC Mountable container for incremental file backups
US9996429B1 (en) 2015-04-14 2018-06-12 EMC IP Holding Company LLC Mountable container backups for files
US10078555B1 (en) 2015-04-14 2018-09-18 EMC IP Holding Company LLC Synthetic full backups for incremental file backups
US10135949B1 (en) 2015-05-05 2018-11-20 Snap Inc. Systems and methods for story and sub-story navigation
US9881094B2 (en) 2015-05-05 2018-01-30 Snap Inc. Systems and methods for automated local story generation and curation
CN107431632B (zh) 2015-05-06 2022-09-16 斯纳普公司 用于短暂群组聊天的系统和方法
US10503264B1 (en) 2015-06-16 2019-12-10 Snap Inc. Radial gesture navigation
US9906479B1 (en) 2015-06-16 2018-02-27 Snap Inc. Storage management for ephemeral messages
US10993069B2 (en) 2015-07-16 2021-04-27 Snap Inc. Dynamically adaptive media content delivery
US10181045B1 (en) 2015-07-24 2019-01-15 Hologic, Inc. Automated email message and document shredding system
US10033702B2 (en) 2015-08-05 2018-07-24 Intralinks, Inc. Systems and methods of secure data exchange
US10817898B2 (en) 2015-08-13 2020-10-27 Placed, Llc Determining exposures to content presented by physical objects
US20170046531A1 (en) * 2015-08-14 2017-02-16 Strong Bear Llc Data encryption method and system for use with cloud storage
US10616162B1 (en) 2015-08-24 2020-04-07 Snap Inc. Systems devices and methods for automatically selecting an ephemeral message availability
US11121997B1 (en) 2015-08-24 2021-09-14 Snap Inc. Systems, devices, and methods for determining a non-ephemeral message status in a communication system
US10157333B1 (en) 2015-09-15 2018-12-18 Snap Inc. Systems and methods for content tagging
US9652896B1 (en) 2015-10-30 2017-05-16 Snap Inc. Image based tracking in augmented reality systems
US11119628B1 (en) 2015-11-25 2021-09-14 Snap Inc. Dynamic graphical user interface modification and monitoring
US10474321B2 (en) 2015-11-30 2019-11-12 Snap Inc. Network resource location linking and visual content sharing
US9984499B1 (en) 2015-11-30 2018-05-29 Snap Inc. Image and point cloud based tracking and in augmented reality systems
US9584493B1 (en) 2015-12-18 2017-02-28 Wickr Inc. Decentralized authoritative messaging
US10354425B2 (en) 2015-12-18 2019-07-16 Snap Inc. Method and system for providing context relevant media augmentation
US10291607B1 (en) 2016-02-02 2019-05-14 Wickr Inc. Providing real-time events to applications
US11023514B2 (en) 2016-02-26 2021-06-01 Snap Inc. Methods and systems for generation, curation, and presentation of media collections
US10679389B2 (en) 2016-02-26 2020-06-09 Snap Inc. Methods and systems for generation, curation, and presentation of media collections
US10285001B2 (en) 2016-02-26 2019-05-07 Snap Inc. Generation, curation, and presentation of media collections
US10164987B2 (en) 2016-02-29 2018-12-25 Microsoft Technology Licensing, Llc Controlling access to data originating from a third party website
US10530731B1 (en) 2016-03-28 2020-01-07 Snap Inc. Systems and methods for chat with audio and video elements
US10270839B2 (en) 2016-03-29 2019-04-23 Snap Inc. Content collection navigation and autoforwarding
US10339365B2 (en) 2016-03-31 2019-07-02 Snap Inc. Automated avatar generation
US11900418B2 (en) 2016-04-04 2024-02-13 Snap Inc. Mutable geo-fencing system
US10686899B2 (en) 2016-04-06 2020-06-16 Snap Inc. Messaging achievement pictograph display system
US9591479B1 (en) 2016-04-14 2017-03-07 Wickr Inc. Secure telecommunications
US9590958B1 (en) 2016-04-14 2017-03-07 Wickr Inc. Secure file transfer
US9813642B1 (en) 2016-05-06 2017-11-07 Snap Inc. Dynamic activity-based image generation
US10474353B2 (en) 2016-05-31 2019-11-12 Snap Inc. Application control using a gesture based trigger
US10805696B1 (en) 2016-06-20 2020-10-13 Pipbin, Inc. System for recording and targeting tagged content of user interest
US11785161B1 (en) 2016-06-20 2023-10-10 Pipbin, Inc. System for user accessibility of tagged curated augmented reality content
US11876941B1 (en) 2016-06-20 2024-01-16 Pipbin, Inc. Clickable augmented reality content manager, system, and network
US11044393B1 (en) 2016-06-20 2021-06-22 Pipbin, Inc. System for curation and display of location-dependent augmented reality content in an augmented estate system
US10638256B1 (en) 2016-06-20 2020-04-28 Pipbin, Inc. System for distribution and display of mobile targeted augmented reality content
US10334134B1 (en) 2016-06-20 2019-06-25 Maximillian John Suiter Augmented real estate with location and chattel tagging system and apparatus for virtual diary, scrapbooking, game play, messaging, canvasing, advertising and social interaction
US11201981B1 (en) 2016-06-20 2021-12-14 Pipbin, Inc. System for notification of user accessibility of curated location-dependent content in an augmented estate
US10430838B1 (en) 2016-06-28 2019-10-01 Snap Inc. Methods and systems for generation, curation, and presentation of media collections with automated advertising
US11507977B2 (en) 2016-06-28 2022-11-22 Snap Inc. Methods and systems for presentation of media collections with automated advertising
US9681265B1 (en) 2016-06-28 2017-06-13 Snap Inc. System to track engagement of media items
US10387514B1 (en) 2016-06-30 2019-08-20 Snap Inc. Automated content curation and communication
US10182047B1 (en) 2016-06-30 2019-01-15 Snap Inc. Pictograph password security system
US11334768B1 (en) 2016-07-05 2022-05-17 Snap Inc. Ephemeral content management
US10855632B2 (en) 2016-07-19 2020-12-01 Snap Inc. Displaying customized electronic messaging graphics
US10331750B2 (en) 2016-08-01 2019-06-25 Facebook, Inc. Systems and methods to manage media content items
KR102267482B1 (ko) 2016-08-30 2021-06-22 스냅 인코포레이티드 동시 로컬화 및 매핑을 위한 시스템 및 방법
US10409779B2 (en) 2016-08-31 2019-09-10 Microsoft Technology Licensing, Llc. Document sharing via logical tagging
US10552968B1 (en) 2016-09-23 2020-02-04 Snap Inc. Dense feature scale detection for image matching
US10609036B1 (en) 2016-10-10 2020-03-31 Snap Inc. Social media post subscribe requests for buffer user accounts
US10432559B2 (en) 2016-10-24 2019-10-01 Snap Inc. Generating and displaying customized avatars in electronic messages
KR20220156101A (ko) 2016-11-01 2022-11-24 스냅 인코포레이티드 고속 비디오 캡처 및 센서 조절
CN112738408B (zh) 2016-11-07 2022-09-16 斯纳普公司 图像修改器的选择性识别和排序
US10740939B1 (en) 2016-12-09 2020-08-11 Snap Inc. Fast image style transfers
US10203855B2 (en) 2016-12-09 2019-02-12 Snap Inc. Customized user-controlled media overlays
US11616745B2 (en) 2017-01-09 2023-03-28 Snap Inc. Contextual generation and selection of customized media content
US10454857B1 (en) 2017-01-23 2019-10-22 Snap Inc. Customized digital avatar accessories
US10915911B2 (en) 2017-02-03 2021-02-09 Snap Inc. System to determine a price-schedule to distribute media content
US11250075B1 (en) 2017-02-17 2022-02-15 Snap Inc. Searching social media content
US10319149B1 (en) 2017-02-17 2019-06-11 Snap Inc. Augmented reality anamorphosis system
US10074381B1 (en) 2017-02-20 2018-09-11 Snap Inc. Augmented reality speech balloon system
US11019001B1 (en) 2017-02-20 2021-05-25 Snap Inc. Selective presentation of group messages
US10374993B2 (en) 2017-02-20 2019-08-06 Snap Inc. Media item attachment system
US10878837B1 (en) 2017-03-01 2020-12-29 Snap Inc. Acoustic neural network scene detection
US10565795B2 (en) 2017-03-06 2020-02-18 Snap Inc. Virtual vision system
US10523625B1 (en) 2017-03-09 2019-12-31 Snap Inc. Restricted group content collection
US10581782B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream
US10582277B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream
US11170393B1 (en) 2017-04-11 2021-11-09 Snap Inc. System to calculate an engagement score of location based media content
US10387730B1 (en) 2017-04-20 2019-08-20 Snap Inc. Augmented reality typography personalization system
US10382372B1 (en) 2017-04-27 2019-08-13 Snap Inc. Processing media content based on original context
KR20220141927A (ko) 2017-04-27 2022-10-20 스냅 인코포레이티드 지도-기반 소셜 미디어 플랫폼들에 대한 위치 프라이버시 관리
US11893647B2 (en) 2017-04-27 2024-02-06 Snap Inc. Location-based virtual avatars
US10212541B1 (en) 2017-04-27 2019-02-19 Snap Inc. Selective location-based identity communication
US10467147B1 (en) 2017-04-28 2019-11-05 Snap Inc. Precaching unlockable data elements
US10943255B1 (en) 2017-04-28 2021-03-09 Snap Inc. Methods and systems for interactive advertising with media collections
US10679428B1 (en) 2017-05-26 2020-06-09 Snap Inc. Neural network-based image stream modification
US10803120B1 (en) 2017-05-31 2020-10-13 Snap Inc. Geolocation based playlists
US10788900B1 (en) 2017-06-29 2020-09-29 Snap Inc. Pictorial symbol prediction
US20190026841A1 (en) * 2017-07-19 2019-01-24 Sony Corporation Distribution and access management of individual media content using code embedded within media content
US11216517B1 (en) 2017-07-31 2022-01-04 Snap Inc. Methods and systems for selecting user generated content
US11323398B1 (en) 2017-07-31 2022-05-03 Snap Inc. Systems, devices, and methods for progressive attachments
US11368442B2 (en) * 2017-08-29 2022-06-21 Amazon Technologies, Inc. Receiving an encrypted communication from a user in a second secure communication network
US10791196B2 (en) 2017-08-29 2020-09-29 Wickr Inc. Directory lookup for federated messaging with a user from a different secure communication network
US11349659B2 (en) * 2017-08-29 2022-05-31 Amazon Technologies, Inc. Transmitting an encrypted communication to a user in a second secure communication network
US11095662B2 (en) 2017-08-29 2021-08-17 Amazon Technologies, Inc. Federated messaging
US11164376B1 (en) 2017-08-30 2021-11-02 Snap Inc. Object modeling using light projection
US9980100B1 (en) 2017-08-31 2018-05-22 Snap Inc. Device location based on machine learning classifications
US11475254B1 (en) 2017-09-08 2022-10-18 Snap Inc. Multimodal entity identification
US10740974B1 (en) 2017-09-15 2020-08-11 Snap Inc. Augmented reality system
US10474900B2 (en) 2017-09-15 2019-11-12 Snap Inc. Real-time tracking-compensated image effects
US10891723B1 (en) 2017-09-29 2021-01-12 Snap Inc. Realistic neural network based image style transfer
US10872292B1 (en) 2017-10-09 2020-12-22 Snap Inc. Compact neural networks using condensed filters
US10499191B1 (en) 2017-10-09 2019-12-03 Snap Inc. Context sensitive presentation of content
US10573043B2 (en) 2017-10-30 2020-02-25 Snap Inc. Mobile-based cartographic control of display content
US10599289B1 (en) 2017-11-13 2020-03-24 Snap Inc. Interface to display animated icon
US11551059B1 (en) 2017-11-15 2023-01-10 Snap Inc. Modulated image segmentation
US10885564B1 (en) 2017-11-28 2021-01-05 Snap Inc. Methods, system, and non-transitory computer readable storage medium for dynamically configurable social media platform
US11265273B1 (en) 2017-12-01 2022-03-01 Snap, Inc. Dynamic media overlay with smart widget
US10217488B1 (en) 2017-12-15 2019-02-26 Snap Inc. Spherical video editing
US11017173B1 (en) 2017-12-22 2021-05-25 Snap Inc. Named entity recognition visual context and caption data
US10523606B2 (en) 2018-01-02 2019-12-31 Snap Inc. Generating interactive messages with asynchronous media content
US10678818B2 (en) 2018-01-03 2020-06-09 Snap Inc. Tag distribution visualization system
US10482565B1 (en) 2018-02-12 2019-11-19 Snap Inc. Multistage neural network processing using a graphics processor
US11507614B1 (en) 2018-02-13 2022-11-22 Snap Inc. Icon based tagging
US10979752B1 (en) 2018-02-28 2021-04-13 Snap Inc. Generating media content items based on location information
US10726603B1 (en) 2018-02-28 2020-07-28 Snap Inc. Animated expressive icon
US10885136B1 (en) 2018-02-28 2021-01-05 Snap Inc. Audience filtering system
US10327096B1 (en) 2018-03-06 2019-06-18 Snap Inc. Geo-fence selection system
US10933311B2 (en) 2018-03-14 2021-03-02 Snap Inc. Generating collectible items based on location information
US11126738B2 (en) * 2018-03-27 2021-09-21 BoardPAC Private Limited Methods, systems and machine-readable programs for communicating self destructive messages
US11163941B1 (en) 2018-03-30 2021-11-02 Snap Inc. Annotating a collection of media content items
US11310176B2 (en) 2018-04-13 2022-04-19 Snap Inc. Content suggestion system
KR20240027845A (ko) 2018-04-18 2024-03-04 스냅 인코포레이티드 증강 표현 시스템
US10219111B1 (en) 2018-04-18 2019-02-26 Snap Inc. Visitation tracking system
US11029809B2 (en) * 2018-05-10 2021-06-08 Citrix Systems, Inc. System for displaying electronic mail metadata and related methods
US11487501B2 (en) 2018-05-16 2022-11-01 Snap Inc. Device control using audio data
US10896197B1 (en) 2018-05-22 2021-01-19 Snap Inc. Event detection system
US10938820B2 (en) * 2018-06-11 2021-03-02 International Business Machines Corporation Data transfer prevention
US10679393B2 (en) 2018-07-24 2020-06-09 Snap Inc. Conditional modification of augmented reality object
US10997760B2 (en) 2018-08-31 2021-05-04 Snap Inc. Augmented reality anthropomorphization system
US10796283B2 (en) 2018-09-24 2020-10-06 International Business Machines Corporation Dynamically deleting received documents based on a generated expiration deadline for an event lapsing
US10698583B2 (en) 2018-09-28 2020-06-30 Snap Inc. Collaborative achievement interface
US10778623B1 (en) 2018-10-31 2020-09-15 Snap Inc. Messaging and gaming applications communication platform
US10939236B1 (en) 2018-11-30 2021-03-02 Snap Inc. Position service to determine relative position to map features
US11199957B1 (en) 2018-11-30 2021-12-14 Snap Inc. Generating customized avatars based on location information
US11032670B1 (en) 2019-01-14 2021-06-08 Snap Inc. Destination sharing in location sharing system
US10939246B1 (en) 2019-01-16 2021-03-02 Snap Inc. Location-based context information sharing in a messaging system
US11294936B1 (en) 2019-01-30 2022-04-05 Snap Inc. Adaptive spatial density based clustering
US11297027B1 (en) 2019-01-31 2022-04-05 Snap Inc. Automated image processing and insight presentation
US10936066B1 (en) 2019-02-13 2021-03-02 Snap Inc. Sleep detection in a location sharing system
US10838599B2 (en) 2019-02-25 2020-11-17 Snap Inc. Custom media overlay system
US10964082B2 (en) 2019-02-26 2021-03-30 Snap Inc. Avatar based on weather
US10852918B1 (en) 2019-03-08 2020-12-01 Snap Inc. Contextual information in chat
US11868414B1 (en) 2019-03-14 2024-01-09 Snap Inc. Graph-based prediction for contact suggestion in a location sharing system
US11852554B1 (en) 2019-03-21 2023-12-26 Snap Inc. Barometer calibration in a location sharing system
US11249614B2 (en) 2019-03-28 2022-02-15 Snap Inc. Generating personalized map interface with enhanced icons
US10810782B1 (en) 2019-04-01 2020-10-20 Snap Inc. Semantic texture mapping system
CN110262983B (zh) * 2019-05-24 2021-12-17 宜鼎国际股份有限公司 具有自我销毁功能的数据储存装置
US10582453B1 (en) 2019-05-30 2020-03-03 Snap Inc. Wearable device location systems architecture
US10560898B1 (en) 2019-05-30 2020-02-11 Snap Inc. Wearable device location systems
US10893385B1 (en) 2019-06-07 2021-01-12 Snap Inc. Detection of a physical collision between two client devices in a location sharing system
US11134036B2 (en) 2019-07-05 2021-09-28 Snap Inc. Event planning in a content sharing platform
US11307747B2 (en) 2019-07-11 2022-04-19 Snap Inc. Edge gesture interface with smart interactions
US11812347B2 (en) 2019-09-06 2023-11-07 Snap Inc. Non-textual communication and user states management
US11821742B2 (en) 2019-09-26 2023-11-21 Snap Inc. Travel based notifications
US11218838B2 (en) 2019-10-31 2022-01-04 Snap Inc. Focused map-based context information surfacing
US11128715B1 (en) 2019-12-30 2021-09-21 Snap Inc. Physical friend proximity in chat
US11429618B2 (en) 2019-12-30 2022-08-30 Snap Inc. Surfacing augmented reality objects
US10880496B1 (en) 2019-12-30 2020-12-29 Snap Inc. Including video feed in message thread
US11169658B2 (en) 2019-12-31 2021-11-09 Snap Inc. Combined map icon with action indicator
US11343323B2 (en) 2019-12-31 2022-05-24 Snap Inc. Augmented reality objects registry
US11316806B1 (en) 2020-01-28 2022-04-26 Snap Inc. Bulk message deletion
US11265281B1 (en) 2020-01-28 2022-03-01 Snap Inc. Message deletion policy selection
US11228551B1 (en) 2020-02-12 2022-01-18 Snap Inc. Multiple gateway message exchange
US11516167B2 (en) 2020-03-05 2022-11-29 Snap Inc. Storing data based on device location
US11619501B2 (en) 2020-03-11 2023-04-04 Snap Inc. Avatar based on trip
US10956743B1 (en) 2020-03-27 2021-03-23 Snap Inc. Shared augmented reality system
US11430091B2 (en) 2020-03-27 2022-08-30 Snap Inc. Location mapping for large scale augmented-reality
US11625873B2 (en) 2020-03-30 2023-04-11 Snap Inc. Personalized media overlay recommendation
CN115699130A (zh) * 2020-03-31 2023-02-03 斯纳普公司 增强现实美容产品教程
US11700225B2 (en) 2020-04-23 2023-07-11 Snap Inc. Event overlay invite messaging system
US11843574B2 (en) 2020-05-21 2023-12-12 Snap Inc. Featured content collection interface
KR20230022241A (ko) 2020-06-10 2023-02-14 스냅 인코포레이티드 애플리케이션을 론칭하기 위한 시각적 검색
US11423652B2 (en) 2020-06-10 2022-08-23 Snap Inc. Adding beauty products to augmented reality tutorials
US11503432B2 (en) 2020-06-15 2022-11-15 Snap Inc. Scalable real-time location sharing framework
US11290851B2 (en) 2020-06-15 2022-03-29 Snap Inc. Location sharing using offline and online objects
US11483267B2 (en) 2020-06-15 2022-10-25 Snap Inc. Location sharing using different rate-limited links
US11314776B2 (en) 2020-06-15 2022-04-26 Snap Inc. Location sharing using friend list versions
US11308327B2 (en) 2020-06-29 2022-04-19 Snap Inc. Providing travel-based augmented reality content with a captured image
US11899905B2 (en) 2020-06-30 2024-02-13 Snap Inc. Selectable items providing post-viewing context actions
US11832015B2 (en) 2020-08-13 2023-11-28 Snap Inc. User interface for pose driven virtual effects
US11349797B2 (en) 2020-08-31 2022-05-31 Snap Inc. Co-location connection service
US11606756B2 (en) 2021-03-29 2023-03-14 Snap Inc. Scheduling requests for location data
US11645324B2 (en) 2021-03-31 2023-05-09 Snap Inc. Location-based timeline media content system
US11829834B2 (en) 2021-10-29 2023-11-28 Snap Inc. Extended QR code

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5014234A (en) * 1986-08-25 1991-05-07 Ncr Corporation System with software usage timer and counter for allowing limited use but preventing continued unauthorized use of protected software
US5050213A (en) * 1986-10-14 1991-09-17 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US4827508A (en) 1986-10-14 1989-05-02 Personal Library Software, Inc. Database usage metering and protection system and method
US4796220A (en) 1986-12-15 1989-01-03 Pride Software Development Corp. Method of controlling the copying of software
US5051891A (en) * 1987-12-23 1991-09-24 International Business Machines Corporation Method to manage transfer of ownership of electronic documents stored in an interactive information handling system
US4899299A (en) 1987-12-23 1990-02-06 International Business Machines Corporation Method for managing the retention of electronic documents in an interactive information handling system
US5003575A (en) 1987-12-24 1991-03-26 Chamberlin David B Method and apparatus for storing and forwarding voice signals with controlled access
US6044205A (en) * 1996-02-29 2000-03-28 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
US5278955A (en) * 1990-06-18 1994-01-11 International Business Machines Corporation Open systems mail handling capability in a multi-user environment
US5905248A (en) * 1990-09-11 1999-05-18 Metrologic Instruments, Inc. System and method for carrying out information-related transactions using web documents embodying transaction enabling applets automatically launched and executed in response to reading URL-encoded symbols pointing thereto
WO1992013724A1 (en) 1991-02-04 1992-08-20 Haas David J Security identification badge
US5200999A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Public key cryptosystem key management based on control vectors
US5428210A (en) * 1992-01-10 1995-06-27 National Bancard Corporation Data card terminal with embossed character reader and signature capture
US5794005A (en) * 1992-01-21 1998-08-11 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Synchronous parallel emulation and discrete event simulation system with self-contained simulation objects and active event objects
DE69323926T2 (de) * 1992-05-15 1999-09-30 Addison M Fischer Verfahren und Vorrichtung zur Sicherheit eines Computersystem mit Programmberechtigungsdatenstrukturen
US5412717A (en) * 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
US5438430A (en) * 1992-09-25 1995-08-01 Xerox Corporation Paper user interface for image manipulations such as cut and paste
EP0672280A4 (en) * 1992-12-07 1996-09-25 Raxco Inc APPARATUS AND METHOD FOR MOVING OPEN FILES.
US5689699A (en) 1992-12-23 1997-11-18 International Business Machines Corporation Dynamic verification of authorization in retention management schemes for data processing systems
US5619656A (en) * 1994-05-05 1997-04-08 Openservice, Inc. System for uninterruptively displaying only relevant and non-redundant alert message of the highest severity for specific condition associated with group of computers being managed
US5586036A (en) 1994-07-05 1996-12-17 Pitney Bowes Inc. Postage payment system with security for sensitive mailer data and enhanced carrier data functionality
US5930514A (en) 1994-08-01 1999-07-27 International Business Machines Corporation Self-deletion facility for application programs
US5485575A (en) * 1994-11-21 1996-01-16 International Business Machines Corporation Automatic analysis of a computer virus structure and means of attachment to its hosts
US5613012A (en) * 1994-11-28 1997-03-18 Smarttouch, Llc. Tokenless identification system for authorization of electronic transactions and electronic transmissions
AUPN002594A0 (en) * 1994-12-13 1995-01-12 Dunn, Alexander Atkinson Improvements in software for the protection of executable programs, libraries and their data
JPH08180003A (ja) 1994-12-22 1996-07-12 Hitachi Ltd 電子メールシステム
US5710883A (en) * 1995-03-10 1998-01-20 Stanford University Hypertext document transport mechanism for firewall-compatible distributed world-wide web publishing
US5692183A (en) 1995-03-31 1997-11-25 Sun Microsystems, Inc. Methods and apparatus for providing transparent persistence in a distributed object operating environment
US5761684A (en) * 1995-05-30 1998-06-02 International Business Machines Corporation Method and reusable object for scheduling script execution in a compound document
JPH08331175A (ja) * 1995-05-31 1996-12-13 Sony Corp 情報管理方法及び装置
US6006328A (en) * 1995-07-14 1999-12-21 Christopher N. Drake Computer software authentication, protection, and security system
US5647002A (en) 1995-09-01 1997-07-08 Lucent Technologies Inc. Synchronization of mailboxes of different types
US5889943A (en) 1995-09-26 1999-03-30 Trend Micro Incorporated Apparatus and method for electronic mail virus detection and elimination
US5623600A (en) * 1995-09-26 1997-04-22 Trend Micro, Incorporated Virus detection and removal apparatus for computer networks
US5748740A (en) * 1995-09-29 1998-05-05 Dallas Semiconductor Corporation Method, apparatus, system and firmware for secure transactions
US5805702A (en) * 1995-09-29 1998-09-08 Dallas Semiconductor Corporation Method, apparatus, and system for transferring units of value
JP3751664B2 (ja) * 1995-10-05 2006-03-01 富士通株式会社 ソフトウェア登録システムおよび方法
US6029175A (en) 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
US5923846A (en) * 1995-11-06 1999-07-13 Microsoft Corporation Method of uploading a message containing a file reference to a server and downloading a file from the server using the file reference
US6304640B1 (en) * 1995-11-07 2001-10-16 Mci Communications Corporation Method and system for call disposition messaging
US6279112B1 (en) 1996-10-29 2001-08-21 Open Market, Inc. Controlled transfer of information in computer networks
US5781901A (en) * 1995-12-21 1998-07-14 Intel Corporation Transmitting electronic mail attachment over a network using a e-mail page
US5771355A (en) * 1995-12-21 1998-06-23 Intel Corporation Transmitting electronic mail by either reference or value at file-replication points to minimize costs
US5903723A (en) * 1995-12-21 1999-05-11 Intel Corporation Method and apparatus for transmitting electronic mail attachments with attachment references
US5826022A (en) 1996-04-05 1998-10-20 Sun Microsystems, Inc. Method and apparatus for receiving electronic mail
US5809242A (en) 1996-04-19 1998-09-15 Juno Online Services, L.P. Electronic mail system for displaying advertisement at local computer received from remote system while the local computer is off-line the remote system
US5818447A (en) 1996-06-06 1998-10-06 Microsoft Corporation System and method for in-place editing of an electronic mail message using a separate program
US5832514A (en) * 1996-06-26 1998-11-03 Microsoft Corporation System and method for discovery based data recovery in a store and forward replication process
US5787247A (en) 1996-07-12 1998-07-28 Microsoft Corporation Replica administration without data loss in a store and forward replication enterprise
US5832208A (en) 1996-09-05 1998-11-03 Cheyenne Software International Sales Corp. Anti-virus agent for use with databases and mail servers
US5953528A (en) 1996-10-30 1999-09-14 Electronic Data Systems Corporation Knowledge object registration
US6370571B1 (en) * 1997-03-05 2002-04-09 At Home Corporation System and method for delivering high-performance online multimedia services
US6085224A (en) * 1997-03-11 2000-07-04 Intracept, Inc. Method and system for responding to hidden data and programs in a datastream
US6119229A (en) 1997-04-11 2000-09-12 The Brodia Group Virtual property system
US5958005A (en) 1997-07-17 1999-09-28 Bell Atlantic Network Services, Inc. Electronic mail security
US6088720A (en) 1997-07-29 2000-07-11 Lucent Technologies Inc. Self-cleaning and forwarding feature for electronic mailboxes
US5978579A (en) 1997-08-12 1999-11-02 International Business Machines Corporation Architecture for customizable component system
US5978917A (en) 1997-08-14 1999-11-02 Symantec Corporation Detection and elimination of macro viruses
US6301245B1 (en) 1998-06-09 2001-10-09 Unisys Corporation Universal Messaging system providing integrated voice, data and fax messaging services to PC/web-based clients, including a large object server for efficiently distributing voice/fax messages to web-based clients
US6324569B1 (en) 1998-09-23 2001-11-27 John W. L. Ogilvie Self-removing email verified or designated as such by a message distributor for the convenience of a recipient
US7149893B1 (en) 1999-09-07 2006-12-12 Poofaway.Com, Inc. System and method for enabling the originator of an electronic mail message to preset an expiration time, date, and/or event, and to control processing or handling by a recipient

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968361B2 (en) 2000-08-30 2005-11-22 Nec Corporation Method of transmitting and receiving electronic mail and communication terminal
US7926752B2 (en) 2005-09-09 2011-04-19 Fuji Xerox Co., Ltd. Recording medium destruction and discarding system, recording medium destruction and discarding method, recording medium destruction and discarding apparatus, recording medium management apparatus, and recording medium management system
US8123153B2 (en) 2005-09-09 2012-02-28 Fuji Xerox Co., Ltd. Recording medium destruction and discarding system, recording medium destruction and discarding method, recording medium destruction and discarding apparatus, recording medium management apparatus, and recording medium management system
CN101489010B (zh) * 2005-09-09 2012-05-30 富士施乐株式会社 记录介质销毁和废弃系统以及记录介质管理系统
CN103166833A (zh) * 2011-12-16 2013-06-19 北京新媒传信科技有限公司 一种电子邮件自毁方法及系统

Also Published As

Publication number Publication date
NZ334075A (en) 2000-09-29
AU8373698A (en) 1999-01-04
IL128576A (en) 2004-03-28
AU725944B2 (en) 2000-10-26
CA2362716A1 (en) 1998-12-23
IL128576A0 (en) 2000-01-31
JP2000501540A (ja) 2000-02-08
KR20000068195A (ko) 2000-11-25
EP1000400A1 (en) 2000-05-17
AT4261U3 (de) 2002-01-25
CA2263171A1 (en) 1998-12-23
WO1998058321A1 (en) 1998-12-23
KR100336025B1 (ko) 2002-05-08
AT4261U2 (de) 2001-04-25
BR9806000A (pt) 2000-01-25
HUP0001042A2 (hu) 2000-08-28
EP1000400A4 (en) 2005-04-06
HUP0001042A3 (en) 2000-10-30
US20030126215A1 (en) 2003-07-03
US7191219B2 (en) 2007-03-13

Similar Documents

Publication Publication Date Title
CN1229489A (zh) 自毁文档和电子邮件发报系统
EP1680727B1 (en) Distributed document version control
US8424102B1 (en) Document access auditing
US8479301B2 (en) Offline access in a document control system
US8627077B2 (en) Transparent authentication process integration
US9497062B1 (en) System and method for secure storage, transfer and retrieval of content addressable information
US20130212707A1 (en) Document control system
US7418737B2 (en) Encrypted data file transmission
US7096355B1 (en) Dynamic encoding algorithms and inline message decryption
US20050273600A1 (en) Method and system for file data access within a secure environment
US20040120525A1 (en) System and method for storage and retrieval of cryptographic keys
US20050021635A1 (en) Organization-based content rights management and systems, structures, and methods therefor
WO2002017578A2 (en) Method and device for secure e-mail
US20090300706A1 (en) Centrally accessible policy repository
JP2009510628A (ja) 防護電子通信の処理
KR20010102851A (ko) 개인 정보 교환 신택스 객체를 처리하기 위한 방법,데이터 처리 시스템 및 컴퓨터 프로그램
JPH11238049A (ja) 電子化共有文書の原本保証方法及びその装置
AU761129B2 (en) Self-destructing document and E-mail messaging system
JP2006139744A (ja) 文書ファイル保護システム
WO2002059713A2 (en) Methods for trusted messaging
MXPA99001567A (en) Self-destructing document and e-mail messaging system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication