CN101661540B - 信息管理方法和信息管理系统 - Google Patents
信息管理方法和信息管理系统 Download PDFInfo
- Publication number
- CN101661540B CN101661540B CN200910160622.XA CN200910160622A CN101661540B CN 101661540 B CN101661540 B CN 101661540B CN 200910160622 A CN200910160622 A CN 200910160622A CN 101661540 B CN101661540 B CN 101661540B
- Authority
- CN
- China
- Prior art keywords
- electronic information
- user
- information
- history
- described electronic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种信息管理方法和信息管理系统,所述信息管理方法包括:接收对电子信息的操作的请求,其中所述某个电子信息与针对每个用户而限定许可的操作的操作权限信息相关联;判断(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一是否满足预定条件;以及如果判定(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一满足所述预定条件,则开始执行所述操作。
Description
技术领域
本发明涉及一种信息管理方法和信息管理系统。
背景技术
已知这样一种信息管理系统:即,其响应操作权限信息来控制用户对电子信息的操作,所述操作权限信息针对每个用户限定对于电子信息许可的操作。
日本专利No.3921865涉及这种技术,并且记载了通过连接网络上的多个终端而形成的数据管理系统。该数据管理系统包括存储装置、判定装置、第一更新控制装置以及第二更新控制装置。所述存储装置存储针对每种数据类型和每个负责人而限制数据更新的权限限定信息和批准目标的终端信息。所述判定装置参考存储装置中的权限限定信息和终端信息来判定(i)是否允许数据更新和(ii)批准目标的终端。如果发出用于更新需要预定管理者的批准的数据的指令,则第一更新控制装置在判定装置判定许可数据更新的条件下将更新指令的内容写入临时存储装置以进行保存并且通知对批准数据更新的请求。第二更新控制装置在响应批准请求而将批准许可输入由判定装置判定的批准目标终端的条件下基于临时存储装置中的更新指令的内容来更新数据。
发明内容
本发明提供了这样一种信息管理方法和信息管理系统,其中,即使用户所请求的对电子信息的操作是基于操作权限信息而未得到许可的操作,也可基于作为请求源的用户对电子信息或与该电子信息相关联的位置所执行的先前操作的历史来许可该操作。
[1]根据本发明的一方面,提供一种信息管理方法,包括:接收对电子信息的操作的请求,其中所述电子信息与针对每个用户而限定许可的操作的操作权限信息相关联;基于与所述电子信息相关联的操作权限来判断是否许可作为所述操作的请求源的用户执行所述操作;如果判定许可所述用户执行所述操作,则开始执行所述操作;判断(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一是否满足预定条件;以及如果判定(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一满足所述预定条件,则开始执行所述操作。
[2]根据本发明的另一方面,提供一种信息管理方法,包括:接收对电子信息的操作的请求,所述电子信息与针对每个用户而限定许可的操作的操作权限信息相关联;判断(i)由作为所述操作的请求源的用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一是否满足预定条件;如果判定(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一满足所述预定条件,则开始执行所述操作;基于与所述电子信息相关联的操作权限来判断是否许可作为所述操作的请求源的用户执行所述操作;以及如果判定许可所述用户执行所述操作,则开始执行所述操作。
[3]根据第[1]或[2]项所述的信息管理方法还可包括:如果执行了所述操作,则将表示已对所述电子信息执行所述操作的操作历史信息存储在所述电子信息的先前操作的历史中。
根据第[1]~[3]项所述的任一种信息管理方法,即使用户所请求的对电子信息的操作是基于操作权限信息而未得到许可的操作,也可基于(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一来许可所述操作。
[4]在根据第[1]或[2]项所述的信息管理方法中,所述预定条件可包括下述条件中的至少之一:作为所述操作的请求源的用户在此前的第一时间段内操作所述电子信息的条件;以及作为所述操作的请求源的用户在此前的第二时间段内操作与所述电子信息相关联的位置的条件。
根据第[4]项所述的信息管理方法,可以许可过去曾操作过所述电子信息或与所述电子信息相关联的位置的用户来操作所述电子信息或相关联的位置。
[5]根据第[1]或[2]项所述的信息管理方法还可包括:在许可与不许可(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一满足所述预定条件之间切换。
根据第[5]项所述的信息管理方法,可以切换是否基于作为所述请求源的用户对所述电子信息执行的先前操作的历史而判定许可所述用户所请求的对所述电子信息的操作。
[6]在根据第[1]或[2]项所述的信息管理方法中,作为操作目标的所述电子信息可以是构成树形结构的元素。如果由作为所述操作的请求源的用户对下述电子信息执行的先前操作的历史满足所述预定条件,则可开始执行所述操作,其中所述电子信息相对于所述电子信息位于所述树形结构的祖先节点。
根据第[6]项所述的信息管理方法,可以基于下述电子信息的先前操作的历史许可操作:即,所述电子信息相对于待操作的电子信息位于包括所述电子信息作为其元素的树形结构的祖先节点。
[7]在根据第[1]或[2]项所述的信息管理方法中,所述操作的执行可包括:复制所述电子信息;对所述电子信息的副本执行所述操作;询问具有授权权限的用户是否授权对所述电子信息执行所述操作;以及如果具有授权权限的所述用户授权对所述电子信息执行所述操作,则基于已对其执行所述操作的所述电子信息的副本来更新所述电子信息。
根据第[7]项所述的信息管理方法,可以防止在所述操作得到批准之前作为复制源的原始电子信息被更新。
[8]在根据第[1]或[2]项所述的信息管理方法中,其中,所述预定条件可包括这样的条件:即,作为所述操作的请求源的用户在此前的第一时间段内未对所述电子信息或与所述电子信息相关联的位置进行操作并且在此前的第二时间段内已将操作权限给予作为所述操作的请求源的用户。
根据第[8]项所述的信息管理方法,如果用户是已被给予操作权限但在过去尚未操作过电子信息或与该电子信息相关联的位置的人员,那么除非得到批准,否则不更新作为复制源的原始电子信息。
[9]根据本发明的另一方面,提供一种信息管理系统,其包括操作请求接收单元、操作执行单元、历史存储单元、第一控制单元以及第二控制单元。所述历史存储单元存储操作历史信息,所述操作历史信息表示(i)由所述操作执行单元对电子信息执行的先前操作的历史和(ii)由所述操作执行单元对分别与相应电子信息相关联的位置执行的先前操作的历史中的至少之一。当所述操作请求接收单元接收到对电子信息的操作的请求时,其中所述电子信息与针对每个用户而限定许可的操作的操作权限信息相关联,所述第一控制单元基于与所述电子信息相关联的操作权限来判断是否许可作为所述操作的请求源的用户执行所述操作,并且所述第二控制单元判断(i)由所述操作历史信息表示的并且由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述操作历史信息表示的并且由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一是否满足预定条件。如果所述第一控制单元判定许可所述用户执行所述操作,则所述第一控制单元使得所述操作执行单元开始执行所述操作。如果所述第二控制单元判定(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一满足所述预定条件,则所述第二控制单元使得所述操作执行单元开始执行所述操作。
根据第[9]项所述的信息管理系统,即使用户所请求的对电子信息的操作是基于操作权限信息而未得到许可的操作,也可基于(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一来许可所述操作。
[10]在根据第[9]项所述的信息管理系统中,所述预定条件可包括下述条件中的至少之一:作为所述操作的请求源的用户在此前的预定时间段内操作所述电子信息的条件;以及作为所述操作的请求源的用户在此前的所述预定时间段内操作与所述电子信息相关联的位置的条件。
[11]根据第[9]项所述的信息管理系统还可包括:切换单元,其在启用与禁用所述第二控制单元之间进行切换。
[12]在根据第[9]项所述的信息管理系统中,作为操作目标的所述电子信息可以是构成树形结构的元素。如果由作为所述操作的请求源的用户对下述电子信息执行的先前操作的历史满足所述预定条件,则所述第二控制单元可使得所述操作执行单元开始执行所述操作,其中所述电子信息相对于所述电子信息位于所述树形结构的祖先节点。
[13]根据第[9]项所述的信息管理系统还可包括询问单元。当所述操作执行单元将要执行所述操作时,所述操作执行单元可复制所述电子信息并且对所述电子信息的副本执行所述操作,所述询问单元可询问具有授权权限的用户是否授权对所述电子信息执行所述操作,并且如果具有授权权限的所述用户授权对所述电子信息执行所述操作,则所述操作执行单元可基于已对其执行所述操作的所述电子信息的副本来更新所述电子信息。
[14]在根据第[9]~[13]项中任一项所述的信息管理系统中,所述预定条件可包括这样的条件:即,作为所述操作的请求源的用户在此前的第一时间段内未对所述电子信息或与所述电子信息相关联的位置进行操作并且在此前的第二时间段内已将操作权限给予作为所述操作的请求源的用户。
[15]根据本发明的另一方面,提供一种信息管理方法,包括:接收对电子信息的操作的请求,其中所述电子信息与针对每个用户而限定许可的操作的操作权限信息相关联;执行对所述电子信息或关联位置信息的操作,所述关联位置信息表示与所述电子信息相关联的关联位置;存储操作历史信息,所述操作历史信息表示(i)由作为所述操作的请求源的用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的关联位置信息执行的先前操作的历史中的至少之一;当接收到对电子信息的操作的请求时,如果基于与所述电子信息相关联的操作权限判定许可所述用户执行所述操作,则开始执行所述操作,其中,在判定许可所述用户执行所述操作的情况下,如果判定作为所述操作的请求源的用户在此前的第一时间段内未对所述电子信息或与所述电子信息相关联的关联位置信息进行操作并且在此前的第二时间段内已将操作权限给予作为所述操作的请求源的用户,则开始执行所述操作,并且使得所述操作由其他用户批准;以及当接收到对电子信息的操作的请求时,如果(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的所述关联位置信息执行的先前操作的历史中的至少之一满足预定条件,则开始执行所述操作;其中,所述电子信息是构成树形结构的元素,所述关联位置信息相对于所述电子信息位于包括所述电子信息作为其元素的树形结构的祖先节点,并且当将要执行所述操作时,复制所述电子信息并且对所述电子信息的副本执行所述操作,如果所述其他用户批准所述操作,则基于已对其执行所述操作的所述电子信息的副本来更新所述电子信息。
根据第[15]项所述的信息管理方法,即使用户所请求的对电子信息的操作是基于操作权限信息而未得到许可的操作,也可基于(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一来许可所述操作。此外,可以基于下述关联位置信息的先前操作的历史许可操作:即,所述关联位置信息相对于待操作的电子信息位于包括所述电子信息作为其元素的树形结构的祖先节点。
[16]根据第[15]项所述的信息管理方法中,所述预定条件包括下述条件中的至少之一:作为所述操作的请求源的用户在此前的预定时间段内操作所述电子信息的条件;以及作为所述操作的请求源的用户在此前的预定时间段内操作与所述电子信息相关联的所述关联位置信息的条件。
[17]在根据第[15]或[16]项所述的信息管理方法中,在许可与不许可(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的所述关联位置信息执行的先前操作的历史中的至少之一满足所述预定条件之间切换。
根据第[17]项所述的信息管理方法,可以切换是否基于作为所述请求源的用户对所述电子信息执行的先前操作的历史而判定许可所述用户所请求的对所述电子信息的操作。
[18]根据本发明的另一方面,提供一种信息管理系统,其包括:操作请求接收单元,其接收对电子信息的操作的请求,其中所述电子信息与针对每个用户而限定许可的操作的操作权限信息相关联;操作执行单元,其执行对所述电子信息或关联位置信息的操作,所述关联位置信息表示与所述电子信息相关联的关联位置;历史存储单元,其存储操作历史信息,所述操作历史信息表示(i)由所述操作执行单元对所述电子信息执行的先前操作的历史和(ii)由所述操作执行单元对分别与相应电子信息相关联的关联位置信息执行的先前操作的历史中的至少之一;第一控制单元,当所述操作请求接收单元接收到对电子信息的操作的请求时,如果基于与所述电子信息相关联的操作权限判定许可作为所述操作的请求源的用户执行所述操作,则所述第一控制单元使得所述操作执行单元开始执行所述操作,其中,在判定许可所述用户执行所述操作的情况下,如果判定作为所述操作的请求源的用户在此前的第一时间段内未对所述电子信息或与所述电子信息相关联的关联位置信息进行操作并且在此前的第二时间段内已将操作权限给予作为所述操作的请求源的用户,则所述第一控制单元使得所述操作执行单元开始执行所述操作,并且使得所述操作由其他用户批准;以及第二控制单元,当所述操作请求接收单元接收到对电子信息的操作的请求时,如果(i)由所述操作历史信息表示的并且由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述操作历史信息表示的并且由所述用户对与所述电子信息相关联的所述关联位置信息执行的先前操作的历史中的至少之一满足预定条件,则所述第二控制单元使得所述操作执行单元开始执行所述操作;其中,所述电子信息是构成树形结构的元素,所述关联位置信息相对于所述电子信息位于包括所述电子信息作为其元素的树形结构的祖先节点,并且当所述操作执行单元将要执行所述操作时,所述操作执行单元复制所述电子信息并且对所述电子信息的副本执行所述操作,如果所述其他用户批准所述操作,则所述操作执行单元基于已对其执行所述操作的所述电子信息的副本来更新所述电子信息。
根据第[18]项所述的信息管理系统,即使用户所请求的对电子信息的操作是基于操作权限信息而未得到许可的操作,也可基于(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一来许可所述操作。此外,可以基于下述关联位置信息的先前操作的历史许可操作:即,所述关联位置信息相对于待操作的电子信息位于包括所述电子信息作为其元素的树形结构的祖先节点。
附图说明
基于以下各图对本发明的示例性实施例进行详细说明,其中:
图1是示出本发明示例性实施例的构造实例的概念模块框图;
图2是示出实现本发明示例性实施例的第一实现形式的构造实例的概念模块框图;
图3是示出根据第一实现形式的处理实例的流程图;
图4是示出实现本发明示例性实施例的第二实现形式的构造实例的概念模块框图;
图5是示出根据第二实现形式的处理实例的流程图;
图6A和6B是示出根据第二实现形式的用户评估的处理实例的流程图;
图7是示出实现本发明示例性实施例的第三实现形式的构造实例的概念模块框图;
图8A和8B是示出根据第三实现形式的处理实例的流程图;
图9A~9C是示出分配给用户的作业发生变更的实例的示意图;
图10是示出虚拟角色的条件构造实例的示意图;
图11是示出操作历史存储表的数据结构实例的示意图;
图12是示出虚拟角色信息存储表的数据结构实例的示意图;
图13是示出虚拟角色条件存储表的数据结构实例的示意图;
图14是示出正式数据存储表的数据结构实例的示意图;
图15是示出临时更新数据存储表的数据结构实例的示意图;
图16是示出针对进行临时更新的用户的列举结果表的数据结构实例的示意图;
图17是示出用于实现本发明示例性实施例的计算机的硬件构造实例的框图;
图18是示出存储在用户信息存储模块中的用户属性的数据结构实例的示意图;
图19是示出存储在用户信息存储模块中的组属性的数据结构实例的示意图;以及
图20是示出存储在文档信息存储模块中的文档属性(对象属性)的数据结构实例的示意图。
具体实施方式
下面将参照附图来说明本发明的示例性实施例。
图1是示出本发明示例性实施例的构造实例的概念模块框图。
“模块”是指通常逻辑上可分离的软件(计算机程序)、硬件等的组成部分。因此,本示例性实施例中的术语“模块”不仅意指计算机程序中的模块,而且还意指硬件构造中的模块。因此,本示例性实施例兼用作计算机程序、系统以及方法的说明。为了便于说明,使用“存储”、“使存储”及其等价词语。然而,如果本示例性实施例是计算机程序,则这些词语用来意指存储在存储装置中或者进行控制以便存储在存储装置中。模块几乎与功能具有一一对应的关系;然而,在实现时,一个模块可以是一个程序,或者两个或更多个模块可以构成一个程序,或者两个或更多个程序可以构成一个模块。可以由一台计算机来执行两个或更多个模块,或者可以在分布式或并行环境中的两台或更多台计算机中执行一个模块。一个模块可以包含任何其他模块。在以下说明中,术语“连接”不仅包含物理连接,而且还包含逻辑连接(数据传输、指令、数据块之间的参考关系等)。
不仅通过诸如网络(包含对等通信连接)等通信线路连接多台计算机、硬件设备、单元等来提供系统或装置,而且还将系统或装置实现为一台计算机、硬件设备、装置等。词语“装置”和“系统”彼此用作同义词。词语“预定”是指目标处理之前的定时、情况、状态等;其用来意指不仅在根据本示例性实施例的处理开始之前、甚至在根据本示例性实施例的处理开始之后,响应当时的情况、状态等或响应此前的情况、状态等而“确定”。“访问”是指从计算机中的存储装置(包含存储器,且不一定在计算机中)读取数据或将数据写入计算机中的存储装置。
在以下说明中,主要将文档示例为电子信息。在某些情况下,“文档”是文本的电子数据或图像、动画、声音等的电子数据。“文档”是被赋予名称的结构单元,可以进行存储、编辑以及检索,可以作为独立单元而在系统之间或用户之间交换。“文档”包括类似于以上实例的项目。“文档”的具体实例包括利用文档生成软件所生成的文档和电子邮件等。与待操作的文档相关联的关联位置(可以简称为“位置”)构造为用于分类文档等的逻辑位置;例如,“关联位置”是文件夹、目录等。在以下说明中,主要示例出文件夹。
“电子信息的树形结构”是指在上述文档实例中将文档包含在文件夹中的结构。在这种情况下,文件夹属于位于文档的父节点的电子信息。文件夹可以包含在位于文档的上一级祖先节点的另一文件夹中。因此,位于文档的祖先节点的文件夹不仅可以是位于文档的父节点的文件夹,而且还可以是位于文档的上一级祖先节点的文件夹。
在本示例性实施例的说明中,用户根据情况而作为操作者、用户、批准者、请求者等。
在以下说明中,主要将访问权限示例为操作权限。
如图1所示,本示例性实施例具有操作请求接收模块110、权限/操作处理模块120、用户信息存储模块130、操作历史存储模块140、电子信息存储模块150、询问模块160以及切换模块170。权限/操作处理模块120具有操作权限检查模块121、操作历史判断模块122以及操作执行模块123。
操作请求接收模块110与权限/操作处理模块120连接。操作请求接收模块110接收对与操作权限信息相关联的电子信息的操作请求。操作请求接收模块110将所接收到的请求发送到权限/操作处理模块120。操作权限信息是针对每个用户而限定电子信息的被许可操作的信息。因此,措辞“用户具有操作权限”用来意指如果用户试图操作电子信息则许可该操作的状态。
权限/操作处理模块120与操作请求接收模块110、用户信息存储模块130、操作历史存储模块140、电子信息存储模块150、询问模块160以及切换模块170连接。权限/操作处理模块120从操作请求接收模块110接收请求,根据该请求来控制操作权限检查模块121、操作历史判断模块122以及操作执行模块123,并且判断是否对发出请求的用户给予操作许可。如果该操作得到许可,则权限/操作处理模块120执行该操作。权限/操作处理模块120可根据来自询问模块160或切换模块170的指令来执行操作。
操作权限检查模块121访问用户信息存储模块130并且根据与电子信息相关联的操作权限信息来检查作为请求源的用户是否具有对待操作的电子信息进行操作的操作权限。例如,具体而言,操作权限检查模块121检查用户是否具有诸如对文档的读取权限、写入权限以及执行权限等对应于操作的访问权限。如果操作权限检查模块121确认用户具有操作权限,则操作执行模块123执行该操作。如果操作权限检查模块121确认用户不具有操作权限,则将控制转到由操作历史判断模块122进行的判断处理。
如果操作权限检查模块121判定用户不具有操作权限,则操作历史判断模块122判断存储在操作历史存储模块140中的由用户对电子信息执行的先前操作的历史或由用户对与电子信息相关联的关联位置执行的先前操作的历史是否满足预定条件。如果判定满足条件,则操作执行模块123执行操作。如果判定不满足条件,则执行出错处理。例如,向用户呈现表示该操作未得到许可等的消息。稍后将详细说明上述条件。
操作历史判断模块122可判断存储在操作历史存储模块140中的由用户对位于所关注的电子信息树形结构中的祖先节点的电子信息所执行的先前操作的历史是否满足预定条件。例如,具体而言,操作历史判断模块122判断存储所关注的电子信息的文件夹(或存储该文件夹的更高层级的文件夹)的操作历史是否满足预定条件。
可以执行操作权限检查模块121和操作历史判断模块122中的任一者或两者。在上述实例中,在操作权限检查模块121执行自身的处理之后操作历史判断模块122再执行自身的处理。然而,操作历史判断模块122可以与操作权限检查模块121的处理并行地执行自身的处理。操作历史判断模块122可以在没有操作权限检查模块121的处理的情况下执行其自身的处理。在操作历史判断模块122执行自身的处理之后,即如果判定不满足条件,则操作权限检查模块121可以执行其自身的处理。
操作执行模块123执行对所关注的电子信息或与所关注的电子信息相关联的关联位置的操作。如果操作权限检查模块121确认用户具有操作权限或者如果操作历史判断模块122判定操作历史满足预定条件,则根据操作请求接收模块110接收到的请求来执行操作。当执行操作时,可以提供待操作的电子信息的副本,并且可以对该副本执行操作。如果响应询问模块160的询问而给予批准,则可以基于已对其进行操作的电子信息的副本来更新作为待操作的复制源的原始电子信息。
从权限/操作处理模块120访问用户信息存储模块130。用户信息存储模块130存储与用户有关的信息,例如为用户的名称、每个用户负责的产品、每个用户所属的组织等的信息。
从权限/操作处理模块120访问操作历史存储模块140。操作历史存储模块140存储操作历史信息,该操作历史信息表示由操作执行模块123对电子信息执行的先前操作的历史和/或由操作执行模块123对与电子信息相关联的关联位置执行的先前操作的历史。这意味着操作历史存储模块140存储用户对电子信息的操作历史。
从权限/操作处理模块120访问电子信息存储模块150。电子信息存储模块150存储待操作的电子信息。例如,电子信息存储模块150存储有文档数据库等。
询问模块160与权限/操作处理模块120连接。询问模块160根据来自权限/操作处理模块120的指令询问具有批准由操作执行模块123执行的操作的权限的用户是否批准该操作。询问模块160将询问结果(具有批准操作的权限的用户的答复(批准或不批准))发送到权限/操作处理模块120。
切换模块170与权限/操作处理模块120连接。切换模块170根据来自权限/操作处理模块120的指令从具有操作待操作的电子信息的权限的用户处接收请求。然后,切换模块170响应该请求而在(i)第一状态与(ii)第二状态之间进行切换,在第一状态下,如果操作历史判断模块122判定作为请求源的用户不具有操作权限,则使得操作历史判断模块122判断是否许可该操作;在第二状态下,如果操作历史判断模块122判定作为请求源的用户不具有操作权限,则不使得操作历史判断模块122判断是否许可该操作。也就是说,切换模块170使得具有操作所关注的电子信息的权限的人员判断是启用还是禁用操作历史判断模块122。
图2是示出实现本发明示例性实施例的第一实现形式的构造实例的概念模块框图。
图2中的实例所示的第一实现形式具有操作处理模块210、更新处理模块220、访问评估模块230、虚拟角色处理模块240、虚拟角色存储模块250、用户信息存储模块260、文档信息存储模块270以及操作历史存储模块280。
图2中的实例所示的操作处理模块210是操作请求接收模块110的示例性实施例;访问评估模块230是操作权限检查模块121的示例性实施例;虚拟角色处理模块240和虚拟角色存储模块250是操作历史判断模块122、询问模块160以及切换模块170的示例性实施例;更新处理模块220是操作执行模块123的示例性实施例;用户信息存储模块260是用户信息存储模块130的示例性实施例;操作历史存储模块280是操作历史存储模块140的示例性实施例;以及文档信息存储模块270是电子信息存储模块150的示例性实施例。
在本示例性实施例(包括第一至第三实现形式)中,使用“虚拟角色”的概念。“虚拟角色”是用于许可对目标文档不具有访问权限的用户操作该目标文档的条件,并且利用目标文档的操作历史来限定“虚拟角色”。除目标文档的操作历史之外,“虚拟角色”可以是利用下述项目限定的条件:即,目标文档的属性、与目标文档有关的对象(父文件夹等)的操作历史、与目标文档有关的对象的属性、用户的属性、包含用户的组的属性等。
例如,当用户从一个组织移动到另一组织等时使用虚拟角色。在不具有本发明示例性实施例的构造的系统中,当用户从一个组织移动到另一组织时,需要设定用户的访问权限、增加或减少组的成员数量等,并且还需要使该设定仅在一定的时间段内有效。
操作处理模块210与更新处理模块220和访问评估模块230连接。操作处理模块210接收用户对文档的操作。例如,如果用户进行选择显示在显示器上的文档并且打开该文档(使得显示文档的内容)的操作,则操作处理模块210检测此操作。然后,操作处理模块210利用访问评估模块230来检查是否允许该用户对文档的操作。如果访问评估模块230的访问评估结果为该操作得到许可,则操作处理模块210使得更新处理模块220执行该操作。如果访问评估模块230的访问评估结果为该操作未得到许可,则操作处理模块210执行诸如呈现表示该操作未得到许可的消息等出错处理,并且终止处理。
更新处理模块220与操作处理模块210和文档信息存储模块270连接。更新处理模块220响应来自操作处理模块210的操作指令而对存储在文档信息存储模块270中的文档进行操作。例如,更新处理模块220通过访问文档并且编辑文档的内容来更新文档信息存储模块270中的文档。将操作的历史存储在操作历史存储模块280中。例如,操作历史存储模块280与用于识别文档的文档识别符相关联地存储有用于识别用户的用户识别符、操作日期和时间、操作等。
访问评估模块230与操作处理模块210、虚拟角色处理模块240、用户信息存储模块260以及文档信息存储模块270连接。在从操作处理模块210接收到评估访问权限的指令时,访问评估模块230利用存储在用户信息存储模块260和文档信息存储模块270中的信息来判断用户对文档的操作是否得到许可(一般访问评估)。如果该操作得到许可,则访问评估模块230将许可操作的通知发送到操作处理模块210。
如果该操作未得到许可,则访问评估模块230利用虚拟角色处理模块240来检查是否允许该用户对文档的操作。访问评估模块230将虚拟角色处理模块240的访问评估结果发送到操作处理模块210。
虚拟角色处理模块240与访问评估模块230、虚拟角色存储模块250、用户信息存储模块260、文档信息存储模块270以及操作历史存储模块280连接。在从访问评估模块230接收到评估访问权限的指令时,虚拟角色处理模块240判断是否在虚拟角色存储模块250中设定了虚拟角色。也就是说,虚拟角色处理模块240从虚拟角色存储模块250中获取虚拟角色的设定,针对与虚拟角色的设定所指定的条件相匹配的信息来搜索存储在用户信息存储模块260、文档信息存储模块270以及操作历史存储模块280中的信息,并且判断试图操作的用户是否属于该虚拟角色。虚拟角色处理模块240将判断结果发送到访问评估模块230。
当虚拟角色处理模块240许可操作时,即使作为操作的结果而将文档更新,也可以将下述消息通知给具有判断是否批准操作所实现的更新的权限的人员(例如为使用该文档的产品的负责人等):表示本来不被允许访问该文档的用户对文档进行了操作的消息。如果更新得到批准,则可将该操作所实现的更新反映在用户信息存储模块260中的文档上。
从虚拟角色处理模块240访问虚拟角色存储模块250。虚拟角色存储模块250存储与虚拟角色有关的信息,例如为图12所示的虚拟角色信息存储表1200和图13所示的虚拟角色条件存储表1300。
图12是示出虚拟角色信息存储表1200的数据结构实例的示意图。虚拟角色信息存储表1200具有vRole ID栏1210、虚拟角色名称栏1220、创建日期/时间栏1230、变更日期/时间栏1240以及其他属性信息栏1250,并且虚拟角色信息存储表1200是用于存储虚拟角色本身的信息的表格。vRole ID栏1210存储用于识别虚拟角色的识别符。虚拟角色名称栏1220存储虚拟角色的名称。创建日期/时间栏1230存储创建虚拟角色的日期和时间。变更日期/时间栏1240存储如果虚拟角色被变更的虚拟角色的变更日期和时间。其他属性信息栏1250存储与虚拟角色的属性有关的信息。
图13是示出虚拟角色条件存储表1300的数据结构实例的示意图。虚拟角色条件存储表1300具有vRole ID栏1310、顺序栏1320、目标联接栏1330、提取目标栏1340、条件联接栏1350以及条件栏1360。虚拟角色条件存储表1300是用于存储虚拟角色的设定(条件)的表格。vRole ID栏1310存储虚拟角色识别符。虚拟角色由具有相同虚拟角色识别符的行组成。例如,图13所示的虚拟角色识别符200002的虚拟角色由第三至第八行中的条件组成。顺序栏1320存储作为每个虚拟角色中的条件的各行的应用顺序。目标联接栏1330存储与目标用户或目标组有关的条件之间的联接关系。所述联接关系是指条件之间的逻辑关系,例如为AND(逻辑与)、OR(逻辑或)等。提取目标栏1340存储将被提取为条件的目标,例如为用户、组、历史等。条件联接栏1350存储与前一行中的条件栏1360中所记载的条件之间的联接关系。所述联接关系是指与前一行中的条件栏1360中所记载的条件之间的联接关系,例如为AND(逻辑与)或OR(逻辑或)。条件栏1360存储条件。这些用来生成虚拟角色。稍后将说明具体虚拟角色的意义。
从访问评估模块230和虚拟角色处理模块240访问用户信息存储模块260。用户信息存储模块260与每个用户的用户识别符相关联地存储诸如每个用户的名称和每个用户所属的组织等与每个用户有关的信息。用户信息存储模块260还存储与每个组有关的信息,例如为包含在每个组中的用户识别符等。一个组可以包括另一组及其用户,并且可以具有树形结构。
图18是示出存储在用户信息存储模块260中的用户属性的数据结构实例的示意图。如图18所示,用户信息存储模块260例如存储有用户ID栏1810、用户名称栏1820、产品名称栏1830~1850、创建日期栏1860、最后更新日期栏1870以及其他属性信息栏1880。用户ID栏1810存储每个用户的识别符。用户名称栏1820存储每个用户的用户名称。产品名称栏存储每个用户所负责的产品的产品名称。创建日期栏1860存储每个用户的创建日期。最后更新日期栏1870存储每个用户的最后更新日期。可以通过条件表达式中的元素“userDef.attribute”(例如userDef.productName)来参考每个用户属性。应当注意的是每个组所负责的产品的数目不限于三个,而是可以少于三个或多于三个。稍后将说明条件表达式。在本示例性实施例中,可以根据需要将任何其他信息添加到用户信息存储模块260(用户的属性)中。
此外,图19是示出存储在用户信息存储模块260中的组属性的数据结构实例的示意图。如图19所示,用户信息存储模块260例如也存储有组ID栏1910、组名称栏1920、用户名称栏1930~1950、创建日期栏1960、最后更新日期栏1970以及其他属性信息栏1980。组ID栏1910存储每个组的识别符。组名称栏1920存储每个组的组名称。用户名称栏1930~1950存储属于每个组的用户的用户名称。创建日期栏1960存储每个组的创建日期。最后更新日期栏1970存储每个组的最后更新日期。应当注意的是属于每个组的用户的数目不限于三个,而是可以少于三个或多于三个。可以通过条件表达式中的元素“groupDef.attribute”来参考每个组属性。稍后将说明条件表达式。在本示例性实施例中,可以根据需要将任何其他信息添加到用户信息存储模块260(组的属性)中。
从更新处理模块220和虚拟角色处理模块240访问文档信息存储模块270,并且文档信息存储模块270存储文档。文档信息存储模块270可存储与每个文档有关的属性(包括被许可访问每个文档的用户、组等)、文件夹的树形结构等。
图20是示出存储在文档信息存储模块270中的文档属性(对象属性)的数据结构实例的示意图。如图20所示,文档信息存储模块270例如存储有对象ID栏2010、文档名称(对象名称)栏2020、产品名称栏2030、创建者栏2040、创建日期栏2050、最后更新日期栏2060、最后更新人员栏2070以及其他属性信息栏2080。对象ID栏2010存储每个文档(每个对象)的识别符。文档名称栏2020存储每个文档的文档名称。产品名称栏2030存储每个文档涉及的产品的产品名称。创建者栏2040存储创建每个文档的创建者的创建者名称。创建日期栏2050存储每个文档的创建日期。最后更新日期栏2060存储每个文档的最后更新日期。可以通过条件表达式中的元素“Object.attribute”(例如Object.productName)来参考每个对象属性。在本示例性实施例中,可以根据需要将任何其他信息添加到文档信息存储模块270(对象的属性)中。
对象(例如文档)的属性可以分为两种类型,即系统属性和用户定义属性。系统属性是系统制定的属性。例如,图20所示的对象名称、创建者、创建日期、最后更新日期以及最后更新人员是系统属性的实例。任何对象都具有各系统属性。另一方面,用户定义属性是使用系统的用户(或公司)在期望的定时添加的属性。例如,图20所示的产品名称是用户定义属性的实例。在图20的实例中,由于每个文档涉及相应的产品,因此在每个文档的属性中设定每个文档所涉及的产品。应当注意的是用户定义属性不限于产品名称,而是可以是用户想要设定的任何信息。
从虚拟角色处理模块240访问操作历史存储模块280。操作历史存储模块280存储与由存储在用户信息存储模块260中的每个用户对存储在文档信息存储模块270中的文档进行的操作的历史有关的信息。例如,操作历史存储模块280存储有图11所示的操作历史存储表1100。图11是示出操作历史存储表1100的数据结构实例的示意图。操作历史存储表1100具有对象ID栏1110、操作者栏1120、操作日期/时间栏1130、操作说明栏1140、管理信息栏1150以及其他属性信息栏1160。对象ID栏1110存储操作目标文档的识别符或操作目标文件夹的识别符。操作者栏1120存储执行操作的用户的识别符。操作日期/时间栏1130存储执行操作的日期和时间(可以包含年、分、秒等)。操作说明栏1140存储操作的说明。在图11中,“(父)”用来意指其中存储有文档的文件夹,而“(本身)”是指文档本身。管理信息栏1150存储管理操作历史所需的信息。其他属性信息栏1160存储与操作历史的属性有关的信息。
在本示例性实施例中,通过元素“History.operationUser”提取的信息可以包括谁(操作用户)在何时(操作日期)以何种方式(其他属性信息)对何物(对象)进行了什么操作(操作)。此外,“ObjectHistory”是HISTROY的一种形式。如果指定了对象,则可以利用元素“ObjectHistory”来参考对象的操作历史。
可以将存储在操作历史存储表1100中的信息指定为用于确定虚拟角色中的组/用户的条件。
图3是示出根据第一实现形式的处理实例的流程图。也就是说,将说明操作处理模块210接收针对某个文档的更新请求并且用户不具有对所述某个文档的一般访问权限的情况(也就是有关利用虚拟角色进行判断的处理)。
在步骤S302,虚拟角色处理模块240判断评估目标(试图操作某个文档的用户)是否是存储在虚拟角色存储模块250中的虚拟角色中的目标。例如,在步骤S302,可以判断是否在访问权限的设定中设定了虚拟角色来代替用户、组以及角色。如果判定在访问权限的设定中设定了存储在虚拟角色存储模块250中的虚拟角色,则访问权限的设定可以是“虚拟角色中的目标”。换言之,“虚拟角色中的目标”可以是存储在虚拟角色存储模块250中的设定中所存储的设定。如果评估目标是虚拟角色中的目标(判断结果为肯定),则流程转入步骤S304;如果评估目标不是虚拟角色中的目标(在步骤302判断结果为否定),则流程转入步骤S306。
在步骤S304,虚拟角色处理模块240评估虚拟角色,例如在用户访问权限的设定中代替用户、组以及角色而指定的虚拟角色。然后,虚拟角色处理模块240确定与该虚拟角色相匹配的组或用户。稍后将参考图6说明此处理的细节。
在步骤S306,如果虚拟角色处理模块240判定发出更新请求的用户所进行的临时更新满足虚拟角色的条件(判断结果为肯定),也就是说,发出更新请求的用户属于所确定的组或者是所确定的用户,则流程转入步骤S308;如果发出更新请求的用户不属于所确定的组或者不是所确定的用户(在步骤S306判断结果为否定),则流程转入步骤S310。稍后将参考图14~16说明“临时更新”(参见“临时访问(临时更新)处理”部分)。
在步骤S308,更新处理模块220执行操作(即更新请求)并且更新文档信息存储模块270中的目标文档(主文档)。
在步骤S310,操作处理模块210进行诸如呈现表示更新未得到许可的消息等的出错处理。
图4是示出实现本发明示例性实施例的第二实现形式的构造实例的概念模块框图。图4所示的第二实现形式具有操作处理模块210、虚拟角色处理模块240、虚拟角色存储模块250、用户信息存储模块260、文档信息存储模块270、操作历史存储模块280、临时访问处理模块410以及临时访问存储模块420。除去图2所示的第一实现形式的更新处理模块220和访问评估模块230,并且添加临时访问处理模块410和临时访问存储模块420。与第一实现形式中的模块相同或类似的模块在第二实现形式中以相同的附图标记来表示,并且不再进行说明。然而,如果以相同的附图标记表示的模块除了第一实现形式的那些功能和处理之外还包括附加的功能、处理等,则对其进行说明。
操作处理模块210与临时访问处理模块410连接。操作处理模块210接收用户对文档的操作并且利用临时访问处理模块410来检查是否允许该用户对文档的操作作为临时操作。
临时访问处理模块410与操作处理模块210、虚拟角色处理模块240、用户信息存储模块260、文档信息存储模块270、操作历史存储模块280以及临时访问存储模块420连接。在从操作处理模块210接收到评估访问权限的指令时,临时访问处理模块410利用虚拟角色处理模块240来检查是否允许该用户对文档的临时操作。如果该临时操作得到许可,则临时访问处理模块410对存储在文档信息存储模块270中的文档执行临时操作并且将所得到的文档暂时存储在临时访问存储模块420中。然后,如果具有权限来判断是否批准由临时操作实现的更新的人员批准该更新时,则临时访问处理模块410更新文档信息存储模块270中的文档。如果临时操作未得到许可,则临时访问处理模块410将表示临时操作未得到许可的消息发送到操作处理模块210。
临时访问存储模块420与临时访问处理模块410连接。临时访问存储模块420存储诸如临时操作的文档等与临时操作有关的信息。
虚拟角色处理模块240与虚拟角色存储模块250、用户信息存储模块260、文档信息存储模块270、操作历史存储模块280以及临时访问处理模块410连接。在从临时访问处理模块410接收到评估访问权限的指令时,虚拟角色处理模块240执行类似于第一实现形式的处理。
图5是示出根据第二实现形式的处理实例的流程图。也就是说,将说明操作处理模块210接收针对某个文档的临时更新请求并且利用虚拟角色来进行判断的处理。
步骤S502~S506类似于图3所示的流程图中的步骤S302~306。应当注意的是,在步骤S502中,例如如同步骤S302一样,判断在访问权限的设定中是否设定了虚拟角色。
在步骤S508,临时访问处理模块410执行临时操作,即对存储在文档信息存储模块270中的文档进行操作并且将操作结果作为临时更新结果而存储在临时访问存储模块420中。这意味着该操作没有更新文档信息存储模块270中的目标文档本身。
在步骤S512,虚拟角色处理模块240判断具有更新权限的批准者是否是存储在虚拟角色存储模块250中的虚拟角色中的目标。例如,在步骤S512,可以判断在批准者的设定中是否设定了虚拟角色来代替用户、组以及角色。如果判定在批准者的设定中设定了存储在虚拟角色存储模块250中的虚拟角色,则批准者的设定可以是“虚拟角色中的目标”。换言之,“虚拟角色中的目标”可以是存储在虚拟角色存储模块250中的设定中所存储的设定。如果批准者是虚拟角色中的目标(判断结果为肯定),则流程转入步骤S514;如果批准者不是虚拟角色中的目标(在步骤S512中判断结果为否定),则流程转入步骤S516。
在步骤S514,虚拟角色处理模块240评估虚拟角色并且确定相应的组或用户。稍后将说明该处理实例的细节。
在步骤S516,临时访问处理模块410将进行临时更新操作的用户的名称和临时访问存储模块420中的临时更新的文档的存储位置通知给批准者。
在步骤S518,判断批准者是否确认在步骤S516发送的更新内容。也就是说,检测批准者进行指示确认更新内容的操作。例如,检测选择了确认按钮或者打开了通知并且访问了临时访问存储模块420中的文档等。如果批准者确认更新内容(判断结果为肯定),则流程转入S520;如果批准者没有确认更新内容(在步骤S518判断结果为否定),则重复步骤S518。
在步骤S520,判断批准者是否批准更新。如果批准者批准该更新(判断结果为肯定),则流程转入步骤S526;如果批准者没有批准该更新(在步骤S520判断结果为否定),则流程转入步骤S522。
在步骤S522,临时访问处理模块410删除临时访问存储模块420中的已更新文档数据并且取消更新。也就是说,该处理导致不进行操作。
在步骤S526,临时访问处理模块410从临时访问存储模块420获取已更新文档数据并且利用所获取的文档数据来更新文档信息存储模块270中的主文档。
图6A和6B是示出根据第二实现形式的用户评估的处理实例即在步骤S504和S514中的处理内容的流程图。
在步骤S602,虚拟角色处理模块240从虚拟角色存储模块250中提取用于确定用户的设定(虚拟角色)。
在步骤S604,虚拟角色处理模块240判断提取目标(虚拟角色条件存储表1300的提取目标栏1340)是否为组。如果虚拟角色处理模块240判定提取目标是组(判断结果为肯定),则流程转入步骤S612;如果虚拟角色处理模块240判定提取目标不是组(在步骤S604判断结果为否定),则流程转入步骤S606。
在步骤S606,虚拟角色处理模块240判断提取目标(虚拟角色条件存储表1300的提取目标栏1340)是否为用户。如果虚拟角色处理模块240判定提取目标是用户(判断结果为肯定),则流程转入步骤S614;如果虚拟角色处理模块240判定提取目标不是用户(在步骤S606判断结果为否定),则流程转入步骤S608。
在步骤S608,虚拟角色处理模块240判断提取目标(虚拟角色条件存储表1300的提取目标栏1340)是否为历史。如果虚拟角色处理模块240判定提取目标是历史(判断结果为肯定),则流程转入步骤S616;如果虚拟角色处理模块240判定提取目标不是历史(在步骤S608判断结果为否定),则处理转入步骤S610。
在步骤S610,临时访问处理模块410进行出错处理。
在步骤S612、或S614、或S616,虚拟角色处理模块240判断是否存在条件(虚拟角色条件存储表1300的条件栏1360)。如果虚拟角色处理模块240判定存在条件(判断结果为肯定),则流程转入步骤S618;如果虚拟角色处理模块240判定不存在条件(在步骤S612、或S614、或S616判断结果为否定),则处理返回到步骤S604。
在步骤S618,虚拟角色处理模块240判断条件是否涉及历史。如果虚拟角色处理模块240判定条件涉及历史(判断结果为肯定),则流程转入步骤S624;如果虚拟角色处理模块240判定条件不涉及历史(在步骤S618判断结果为否定),则流程转入步骤S620。
在步骤S620,虚拟角色处理模块240判断条件是否涉及用户。如果虚拟角色处理模块240判定条件涉及用户(判断结果为肯定),则流程转入步骤S632;如果虚拟角色处理模块240判定条件不涉及用户(在步骤S620判断结果为否定),则流程转入步骤S622。
在步骤S622,虚拟角色处理模块240判断条件是否涉及组。如果虚拟角色处理模块240判定条件涉及组(判断结果为肯定),则流程转入步骤S640;如果虚拟角色处理模块240判定条件不涉及组(在步骤S622判断结果为否定),则流程转入步骤S610。
在步骤S624,虚拟角色处理模块240对操作历史存储模块280进行搜索并且提取满足历史条件的历史。
在步骤S626,虚拟角色处理模块240判断下一个条件是否也涉及历史。如果虚拟角色处理模块240判定下一个条件涉及历史(判断结果为肯定),则流程返回到步骤S624;如果虚拟角色处理模块240判定下一个条件不涉及历史(在步骤S626判断结果为否定),则流程转入步骤S628。
在步骤S628,虚拟角色处理模块240评估虚拟角色的历史条件之间的逻辑关系(虚拟角色条件存储表1300的条件联接栏1350),并且提取出在步骤S624所提取的历史中满足与所评估的逻辑关系相联接的虚拟角色的历史条件的一些历史。
在步骤S630,虚拟角色处理模块240从在步骤S628所提取的历史的信息中提取出与执行该历史的用户有关的信息。
在步骤S632,虚拟角色处理模块240对用户信息存储模块260进行搜索,并且提取出满足用户条件的用户。
在步骤S634,虚拟角色处理模块240判断下一个条件是否也涉及用户。如果虚拟角色处理模块240判定下一个条件涉及用户(判断结果为肯定),则流程返回到步骤S632;如果虚拟角色处理模块240判定下一个条件不涉及用户(在步骤S634判断结果为否定),则流程转入步骤S636。
在步骤S636,虚拟角色处理模块240评估虚拟角色的用户条件之间的逻辑关系(虚拟角色条件存储表1300的条件联接栏1350),并且提取出在步骤S632所提取的用户中满足与所评估的逻辑关系相联接的虚拟角色的用户条件的一些用户。
在步骤S638,虚拟角色处理模块240评估请求者(即执行操作的用户)是否满足添加有在步骤S630所提取的与用户有关的信息的逻辑关系(虚拟角色条件存储表1300的目标联接栏1330)的条件。
在步骤S640,虚拟角色处理模块240对用户信息存储模块260进行搜索,并且提取出满足组条件的组。
在步骤S642,虚拟角色处理模块240判断下一个条件是否也涉及组。如果虚拟角色处理模块240判定下一个条件涉及组(判断结果为肯定),则流程返回到步骤S640;如果虚拟角色处理模块240判定下一个条件不涉及组(在步骤S642判断结果为否定),则流程转入步骤S644。
在步骤S644,虚拟角色处理模块240评估虚拟角色的组条件之间的逻辑关系(虚拟角色条件存储表1300的条件联接栏1350),并且提取出在步骤S640所提取的组中满足与所评估的逻辑关系相联接的虚拟角色的组条件的一些组。
在步骤S646,虚拟角色处理模块240评估请求者(即执行操作的用户)是否为属于下述组的用户:即,该组满足添加有与在步骤S644所提取的组有关的信息的逻辑关系(虚拟角色条件存储表1300的目标联接栏1330)的条件。
在步骤S648,虚拟角色处理模块240基于在步骤S638或S646的评估结果来判断请求者(即执行操作的用户)是否为属于虚拟角色的条件的用户。如果虚拟角色处理模块240判定请求者是属于虚拟角色的条件的用户(判断结果为肯定),则处理转入步骤S660;如果虚拟角色处理模块240判定请求者不是属于虚拟角色的条件的用户(在步骤S648判断结果为否定),则处理转入步骤S650。
在步骤S650,评估结果为:请求者(即执行操作的用户)不满足虚拟角色的条件。
在步骤S660,评估结果为:请求者(即执行操作的用户)满足虚拟角色的条件。
图7是示出实现本发明示例性实施例的第三实现形式的构造实例的概念模块框图。与第一或第二实现形式中的模块相同或类似的模块在第三实现形式中以相同的附图标记来表示,并且不再对其进行说明。然而,如果以相同的附图标记表示的模块除了第一或第二实现形式的那些功能和处理之外还包括其他功能、其他处理等,则对其进行说明。
图7所示的第三实现形式具有操作处理模块210、更新处理模块220,访问评估模块230、虚拟角色处理模块240、虚拟角色存储模块250、用户信息存储模块260、文档信息存储模块270、操作历史存储模块280、临时访问处理模块410以及临时访问存储模块420。这意味着通过将图2所示的第一实现形式与图4所示的第二实现形式组合来提供第三实现形式。也就是说,将临时访问权限设置为访问权限,并且如果未设定访问权限,则判断是否满足根据虚拟角色的条件,如果设定了临时访问权限,则判断是否满足根据虚拟角色的条件。
操作处理模块210与更新处理模块220、访问评估模块230以及临时访问处理模块410连接。操作处理模块210接收用户对文档的操作。首先,操作处理模块210利用访问评估模块230来检查是否允许该用户对文档的操作。然后,如果访问评估模块230的访问评估结果为该操作得到许可,则操作处理模块210使得更新处理模块220执行该操作。此外,如果访问评估模块230的访问评估结果为允许该用户对文档的操作作为临时操作,则操作处理模块210使得临时访问处理模块410执行处理。
访问评估模块230与操作处理模块210、虚拟角色处理模块240、用户信息存储模块260以及文档信息存储模块270连接。在从操作处理模块210接收到评估访问权限的指令时,访问评估模块230利用存储在用户信息存储模块260和文档信息存储模块270中的信息来判断该用户对文档的操作是否得到许可(一般访问评估)。如果该操作得到许可,则访问评估模块230将表示操作得到许可的消息通知给操作处理模块210。
如果允许用户对文档的操作作为临时操作,则访问评估模块230向操作处理模块210通知该操作被允许作为临时操作。操作处理模块210使得临时访问处理模块410执行处理。
接下来,如果用户对文档的操作不属于以上任一种情况,则访问评估模块230利用虚拟角色处理模块240来检查是否允许该用户对文档的操作。访问评估模块230将虚拟角色处理模块240的访问评估结果发送到操作处理模块210。
虚拟角色处理模块240与访问评估模块230、虚拟角色存储模块250、用户信息存储模块260、文档信息存储模块270、操作历史存储模块280以及临时访问处理模块410连接。虚拟角色处理模块240从访问评估模块230和临时访问处理模块410接收评估访问权限的指令。对于由操作处理模块210接收到的一个操作,虚拟角色处理模块240接收对从访问评估模块230或临时访问处理模块410接收到的访问权限评估的指令或者不接收指令(如果操作者具有一般访问权限)。
图8A和8B是示出根据第三实现形式的处理实例的流程图。也就是说,将说明当操作处理模块210接收到对某个文档的更新请求时所执行的处理。
在步骤S802,访问评估模块230判断是否基于普通访问权限的设定来判定许可用户对文档的操作,即判断是否设定了临时访问权限。如果设定了普通访问权限(判断结果为肯定,即如果未设定临时访问权限),则处理转入步骤S804;如果未设定普通访问权限,则处理转入步骤S814。
步骤S804~S812对应于图3所示的流程图中的步骤S302~S310。
步骤S814~S838对应于图5所示的流程图中的步骤S502~S528。应当注意的是步骤S812对应于步骤S510。
图9A~9C是示出分配给用户的作业发生变更的实例的示意图。图9A示出了用户A负责产品A、C、E等,且用户B负责产品D、F等。如图9B所示,分配给各人员的产品变更成用户A不负责产品A而用户B新负责产品A。此外,如图9C所示,用户A新负责产品B并且仍然负责产品B、C、E等。结果,用户B负责产品A、D、F等。
例如,如果用户A试图恰好在此状态生效之后变更在产品A中使用的文档,如果未使用第一至第三实现形式中的任一实现形式,那么从用户A不负责产品A的时间起用户A将不可能再操作该文档。另一方面,尽管用户B刚刚负责产品A,但他/她仍可操作该文档而不受限制。在这种情况下,第一至第三实现形式使得满足虚拟角色的条件的用户A可以操作该文档并且限制用户B执行该操作。
图10是示出虚拟角色的条件构造实例的示意图。这些虚拟角色的条件构造实例包括根条件1010、用于确定组的组确定条件1020、用于确定用户的用户确定条件1030、对象属性1040、相关对象类型1050、用于确定历史的对象历史条件1060等。
例如,根条件1010的第一行中的形式
{当前的操作者}[In Member/Not In Member]{组确定条件}
指示用来生成下述条件表达式的形式:即,该条件表达式表示“当前的操作者”是属于由“组确定条件”确定的组的成员(参见组确定条件1020)(In Member)或者是不属于所确定的组的成员(NotIn Member)。应当注意的是,诸如以上实例中的In Member和Not InMember等在方括号(“[”和“]”)之间描述的内容表示操作者,并且诸如以上实例中的“当前的操作者”和“组确定条件”等在波形括号(“{”和“}”)之间描述的内容表示元素或值。此外,在本示例性实施例中,以“元素+操作者+值”的形式来描述条件表达式。例如,在以上实例中,“当前的操作者”是元素的识别符,“In Member”(“Not In Member”)是操作者,并且“组确定条件”是数值。
此外,根条件1010的第二行中的形式
{当前的操作者}[=]/[!=]{用户确定条件}
指示用来生成下述条件表达式的形式:即,该条件表达式表示“当前的操作者”是由“用户确定条件”确定的用户(参见组确定条件1030)([=]的情况)或者是不是所确定的用户的用户([!=]的情况)。
在对本示例性实施例的以下说明中,条件表达式基本上具有{USER}[=]{当前的操作者}的结构或{GROUP}[IN MEMBER]{当前的操作者}的结构。如果具有这种基本结构的条件表达式为真,即如果{USER}[=]{当前的操作者}为真或者如果{GROUP}[INMEMBER]{当前的操作者}的结构为真,则在本示例性实施例中许可当前的操作者进行访问;如果具有这种基本结构的条件表达式不为真,则拒绝当前的操作者的访问。例如,条件表达式“{Document.parent.operationUser}[=]{currentOperator}”表示当前的操作者是否为父文档的操作用户。
应当注意的是,以上基本结构中的“USER”和“GROUP”分别表示用户确定条件和组确定条件,并且“{USER}[=]{当前的操作者}”表示当前的操作者等同于由用户确定条件(USER)确定的用户或包括在由用户确定条件(USER)确定的用户中的条件。
如果将条件组合,则可以设定以下相对复杂的条件作为虚拟角色:
{GROUP({Document.productName}[IN]{groupDef.productName})}[IN MEMBER]{当前的操作者}
[AND]
USER({HISTORY({ObjectHistory.operationDate}[<]{1个月}
[AND]{ObjectHistory.operation}[=]{Update}).operationUser})
[!=]{当前的操作者}
[AND]
USER({userDef.creationDate}[<]({nowDate}[-]{1个月}))
[=]{当前的操作者}
应当注意的是运算符“!=”意指“≠”。此外,符号“.”(句点)是用来表示包括所关注的信息的分隔符。例如,“{RelatedObjectType.operator}”表示被存储为与相关对象类型(RelatedObjectType)所确定的对象的操作者有关的信息的用户信息。此外,表达式“USER()”、“GROUP()”以及“HISTORY()”表示根据类型分配角色。具体而言,USER({HISTORY.operationUser})将在历史中设定的“operationUser”(表示操作用户)的数据类型变更为用户类型。此外,USER({GROUP.manager})将在组中设定的管理员的数据类型变更为用户类型。“GROUP()”和“HISTORY()”也将数据类型分别变更为组类型和历史类型。
此外,在本示例性实施例中,{当前的操作者}始终位于条件表达式的右侧。然而,{当前的操作者}可以位于条件表达式的左侧。例如,如果以上示例性条件表达式中的{当前的操作者}位于左侧,则可以描述为:
{USER({当前的操作者}).creationDate}[<]({nowDate}[-]
{1个月})
接下来,作为具体实例,将说明当用户负责的产品发生变更时所进行的根据以上示例性实施例的处理。更具体而言,采用这样的条件作为当操作历史判断模块122进行判断时使用的预定条件:即,从当前的时间起在预定的时间段内(例如在1个月内)对文档执行作为操作请求源的用户所请求的且由操作请求接收模块110接收到的操作。
如同在图9所示的实例一样,假设用户A先前负责产品A,然后用户B负责产品A而用户A不再负责产品A。还假设以下操作。也就是说,如果用户A在当前的时间之前一个月或更短的时间对在产品A中使用的文档执行一些操作,则允许用户A作为前任者来更新该文档。
当用户所负责的产品发生变更时,如同图9所示的实例一样变更与该用户有关的属性值(例如用户负责的产品的名称)。
这时,假设对在产品A中使用的文档的访问权限设定如下:
(A1)访问权限类型:临时访问权限
(A2)批准者:负责人(虚拟角色)
(A3)权限:前任者(虚拟角色):请求批准
(A4)权限:负责组的成员(虚拟角色):更新得到许可
(A5)权限:其他人:更新未得到许可
将说明(A2)中的负责人的虚拟角色。利用条件“具有用户的产品名称属性中的目标文档的产品名称属性的值的用户”来指定负责人的虚拟角色。该条件由以下的条件表达式来表示:
{USER(Object.productName[IN]userDef.productName)}[=]{当前的操作者}
条件表达式“{A}[IN]{B}”意指A包括在B中。此外,“productName”是产品的属性之一。每个产品可具有诸如产品名称(“productName”)、产品编号和制造日期以及批号等多种属性。“Object.productName”表示对象的产品名称。此外,“userDef.productName”表示在用户的属性中设定的产品名称(即用户的产品名称属性)。
当将该条件存储在虚拟角色存储模块250的虚拟角色信息存储表1200和虚拟角色条件存储表1300中时,以具有vRoleID(虚拟角色识别符)200001的行中所示的方式将该条件存储在表格中。
接下来,将说明(A3)中的前任者的虚拟角色。利用条件“由目标文档的操作历史指定为在当前的时间之前一个月或更短的时间更新目标文档的用户且不具有用户的产品名称属性中的目标文档的产品名称属性的值的用户”来指定前任者的虚拟角色。该条件由以下条件表达式来表示:
{USER({HISTORY({ObjectHistory.operationDate}[>]({nowDate}[-]{1个月})[AND]{ObjectHistory.operationUser}[=]
{当前的操作者}}).operationUser})}[=]{当前的操作者}
[AND]
{USER({Object.productName}[NOT IN]{userDef.productName})}[=]{当前的操作者}条件表达式“{A}[NOT IN]{B}”意指A不包括在B中。此外,“ObjectHistory.operationDate”表示记录在对象的历史中的操作日期,“nowDate”表示当前的日期,“ObjectHistory.operationUser”表示曾操作对象并且记录在对象的历史中的用户,并且“HISTORY.operationUser”表示记录在由HISTORY()提取的历史中的操作用户。
如果将该条件存储在虚拟角色存储模块250的虚拟角色信息存储表1200和虚拟角色条件存储表1300中,则以具有vRoleID 200002的行中所示的方式将该条件存储在表格中。
接下来,将说明(A4)中的负责组的成员的虚拟角色。利用条件“具有用户的产品名称属性中的目标文档的产品名称属性的值的用户所属的组的成员”来指定负责组的成员的虚拟角色。该条件由以下条件表达式来表示:
{USER({GROUP({GROUP}[IN MEMBER]{USER({Document.productName}[IN]{userDef.productName})}}).manager})}
[=]{当前的操作者}
如果将该条件存储在虚拟角色存储模块250的虚拟角色信息存储表1200和虚拟角色条件存储表1300中,则以具有vRoleID 200004的行中所示的方式将该条件存储在表格中。
如果预先设定了以上临时访问权限,则当用户A试图更新用户B所负责的文档时,图5的流程图判定用户A为前任者,进而进行临时更新处理。根据图6的流程图来执行虚拟角色的评估。
负责人所属的组的每个成员也对应于负责组的成员的虚拟角色并且可以进行更新。
由于默认允许批准者进行更新,因此与负责人的虚拟角色相对应的用户B可以进行更新。
接下来,作为具体实例,将说明当组的成员数目增加或减少时所进行的根据以上示例性实施例的处理。更具体而言,采用下述条件作为当操作历史判断模块122进行判断时所使用的预定条件:即,(i)从当前的时间起在预定的第一时间段内(例如一个月内)未对文档执行由作为操作请求源的用户所请求的且由操作请求接收模块110接收到的操作和(ii)在预定的第二时间段(独立于第一时间段并且可以不同于第一时间段或等于第一时间段;例如一个月)内已给予其访问权限的作为操作请求源的用户。
如同图9所示的实例一样,假设曾为组A的成员的用户A曾负责产品A,随后从组A移动到另一组(用户A不再是组A的成员),并且用户B作为新成员而添加到组A中。还假设以下操作。也就是说,如果用户A在当前的时间之前一个月或更短时间内更新文档,则允许用户A作为前任者而更新该文档,并且除非更新操作得到批准,否则不允许在当前的时间之前超过一个月未进行参考的用户(用户B)进行更新。
这时,假设对文档的访问权限设定如下:
(B1)访问权限类型:临时访问权限
(B2)批准者:负责组的责任人(虚拟角色)
(B3)权限:负责组的成员(虚拟角色):更新得到许可
(B4)权限:负责组的新成员(虚拟角色):要求批准
(B5)权限:负责组的旧成员(虚拟角色):要求批准
(B6)权限:其他人:更新未得到许可
将说明(B2)中的负责组的责任人的虚拟角色。利用条件“具有用户的产品名称属性中的目标文档的产品名称属性的值并且被设定为用户所属组的责任人属性的用户”来指定负责组的责任人的虚拟角色。该条件由以下条件表达式来表示:
{USER(GROUP({GROUP}[IN MEMBER]{USER(Object.productName[IN]UserDef.productName)}).manager)}[=]{当前的操作者}
如果将该条件存储在虚拟角色存储模块250的虚拟角色信息存储表1200和虚拟角色条件存储表1300中,则以具有vRoleID 200003的行中所示的方式将该条件存储在表格中。
接下来,将说明(B3)中的负责组的成员的虚拟角色。利用条件“作为下述组的成员的用户:即,该组包含具有用户的产品名称属性中的目标文档的产品名称属性的值的用户”来指定负责组的成员的虚拟角色。该条件由以下条件表达式来表示:
{GROUP({GROUP}[IN MEMBER]USER(Object.productName[IN]userDef.productName))}[IN MEMBER]{当前的操作者}
如果将该条件存储在虚拟角色存储模块250的虚拟角色信息存储表1200和虚拟角色条件存储表1300中,则以具有vRoleID 200002的行中所示的方式将该条件存储在表格中。
接下来,将说明(B4)中的负责组的新成员的虚拟角色。利用条件“作为下述组的成员:即,该组包含具有用户的产品名称属性中的目标文档的产品名称属性的值的用户,并且在目标文档的操作历史中未记录有在当前的时间之前超过一个月进行的操作的用户”来指定负责组的新成员的虚拟角色。该条件由以下条件表达式来表示:
{GROUP(GROUP[IN MEMBER]USER(Object.productName[IN]userDef.productName))}[IN MEMBER]{当前的操作者}[AND]
{USER({HISTORY({ObjectHistory.operationDate}[<]({nowDate}[-]{1个月}).operationUser)[AND]{ObjectHistory.operationUser}[=]{当前的操作者}}).operationUser})}[!=]{当前的操作者}
如果将该条件存储在虚拟角色存储模块250的虚拟角色信息存储表1200和虚拟角色条件存储表1300中,则以具有vRoleID 200005的行中所示的方式将该条件存储在表格中。
接下来,将说明(B5)中的负责组的旧成员的虚拟角色。利用条件“不是下述组的成员:即,该组包含具有用户的产品名称属性中的目标文档的产品名称属性的值的用户,并且在目标文档的操作历史中未记录有从当前的时间起在一个月内进行的操作的用户”来指定负责组的旧成员的虚拟角色。该条件由以下条件表达式来表示:
{GROUP({GROUP}[IN MEMBER]USER(Object.productName[IN]userDef.productName))}[NOT IN MEMBER]{当前的操作者}
[AND]
{USER(HISTORY({ObjectHistory.operationDate}[>]({nowDate}
[-]{1个月}[AND]{ObjectHistory.operationUser}[=]{当前的操作者})).operationUser)}[=]{当前的操作者}
如果将该条件存储在虚拟角色存储模块250的虚拟角色信息存储表1200和虚拟角色条件存储表1300中,则以具有vRoleID 200006的行中所示的方式将该条件存储在表格中。
如果预先设定了以上临时访问权限,则当从组A移动的用户A试图更新组A的成员所负责的文档时,图5的流程图判定用户A为负责组的旧成员,进而进行临时更新处理。
此外,用户B在历史中未记录有在一个多月之前进行的操作。因此,用户B属于负责组的新成员的虚拟角色,进而进行临时更新处理。如果已经过一个月,则检测操作记录作为在一个多月之前所进行的操作的历史。因此,以与负责组的其他成员相同的方式来对待用户B,并且允许用户B进行更新。
接下来,作为具体实例,将说明当利用高级别文件夹的信息来执行访问评估时所进行的根据以上示例性实施例的处理。更具体而言,采用下述条件作为当操作历史判断模块122进行判断时所使用的预定条件:即,在预定的时间段内(例如一个月内)对存储有文档的文件夹执行操作,其中作为操作请求源的用户请求对该文档进行由操作请求接收模块110接收到的操作。
假设即使从当前的时间起在一个月内对文档所属的文件夹的父文件夹进行过一些操作的用户不属于负责组,也许可该用户作为高级别文件夹的负责人来参考该文档。
这时,假设对文档的访问权限设定如下:
(C1)访问权限类型:访问权限
(C2)权限:负责组的成员(虚拟角色):更新得到许可
(C3)权限:高级别文件夹的负责人(虚拟角色):参考得到许可
接下来,将说明(C2)中的负责组的成员的虚拟角色。利用条件“用户是下述组的成员:即,该组包含具有用户的产品名称属性中的目标文档的产品名称属性的值的用户”来指定负责组的成员的虚拟角色。该条件由以下条件表达式来表示:
{GROUP({GROUP}[IN MEMBER]USER(Object.productName
[IN]userDef.productName))}[IN MEMBER]{当前的操作者}
如果将该条件存储在虚拟角色存储模块250的虚拟角色信息存储表1200和虚拟角色条件存储表1300中,则以具有vRoleID 200002的行中所示的方式将该条件存储在表格中。
接下来,将说明(C3)中的高级别文件夹的负责人的虚拟角色。利用条件“用户在操作历史中记录有从当前的时间起在一个月内对作为目标文档的父文件夹的父文件夹进行过操作”来指定高级别文件夹的负责人的虚拟角色。该条件由以下条件表达式来表示:
{USER(HISTORY(OBJECT(OBJECT(Object.parent).parent).ObjectHistory.operationDate[>]({nowDate}[-]{1个月})).operationUSER)}[=]{当前的操作者}
[AND]
{OBJECT(OBJECT(Object.parent).parent).ObjectHistory.operationUser}[=]{当前的操作者}
如果将该条件存储在虚拟角色存储模块250的虚拟角色信息存储表1200和虚拟角色条件存储表1300中,则以具有vRoleID 200007的行中所示的方式将该条件存储在表格中。
如果预先设定了以上访问权限,则可以进行下述操作。也就是说,甚至负责父文件夹的父文件夹的用户也可以参考目标文档,而无需负责高级别文件夹的组包括在对目标文档的访问权限和对目标文档的父文件夹的访问权限的设定中。
<临时访问(临时更新)处理>
接下来,将说明临时访问(临时更新)处理。临时访问处理分为临时更新处理和批准处理。
如果操作文档的用户仅具有临时访问权限,则临时更新处理保持作为暂时存储装置的临时访问存储模块420中的已更新内容,而不更新正式文档(文档信息存储模块270中的文档)。
例如,如图14所示,假设文档信息存储在文档信息存储模块270的正式数据存储表1400中。图14是示出正式数据存储表1400的数据结构实例的示意图。正式数据存储表1400具有对象ID栏1410、名称栏1420、变更日期/时间栏1430、用户属性1栏1440以及其他属性信息栏1450。对象ID栏1410存储作为对象的每个文档的识别符。名称栏1420存储每个对象的名称。变更日期/时间栏1430存储操作每个对象的日期和时间。用户属性1栏1440存储关于每个对象的属性。其他属性信息栏1450存储关于每个对象的其他属性。
仅具有临时访问权限的用户不能更新正式数据存储表1400。然而,许可该用户将所更新的内容暂时存储在不同的表格中。将该处理称为临时更新处理。
例如,当仅具有临时访问权限的用户1临时地更新正式数据存储表1400中的文档02的用户属性1(用户属性1栏1440)时,将文档02的所有信息复制到作为不同表格的临时更新数据存储表1500中,进而用户1更新临时更新数据存储表1500。
用于暂时存储更新数据的临时更新数据存储表1500的数据结构可以保持与用于存储正式数据的正式数据存储表1400相同的信息,并且保持更新内容(用户属性1栏1540)和更新人员(更新人员栏1560)。图15是示出临时更新数据存储表1500的数据结构实例的示意图。临时更新数据存储表1500具有对象ID栏1510、名称栏1520、变更日期/时间栏1530、用户属性1栏1540、其他属性信息栏1550以及更新人员栏1560。对象ID栏1510至其他属性信息栏1550各栏对应于正式数据存储表1400的对象ID栏1410至其他属性信息栏1450各栏。然而,用户属性1栏1540存储更新内容。更新人员栏1560存储更新用户。
这时,如果用户1发出呈现文档列表的请求,则如图16所示,对进行临时更新的用户呈现类似于列举结果表1600的文档列表。然而,对其他用户呈现类似于图14所示的仅包括正式数据的正式数据存储表1400的结果。图16是示出针对进行临时更新的用户的列举结果表1600的数据结构实例的示意图。针对进行临时更新的用户的列举结果表1600具有对象ID栏1610、名称栏1620、变更日期/时间栏1630、用户属性1栏1640以及其他属性信息栏1650。针对进行临时更新的用户的列举结果表1600具有与正式数据存储表1400相同的结构。然而,两表格的内容在进行临时更新处理的用户与没有进行临时更新处理的用户之间、或在进行临时更新处理的用户之间是不同的。
当设定批准者检查临时更新处理的内容并且进行批准操作时,通过在正式数据存储表1400上反映出保持在临时更新数据存储表1500中的内容并且删除存储在临时更新数据存储表1500中的内容来实现批准处理。
用于执行作为示例性实施例的程序的计算机的硬件构造是如图17所例示的通用计算机;具体而言,其为个人计算机、可以变成服务器的计算机等。也就是说,作为具体实例,将CPU 1701用作处理部分(运算部分),将RAM 1702、ROM 1703以及HD 1704(例如可以使用硬盘)用作存储装置。该硬件构造由下述部分组成:即,CPU 1701,其用于执行操作请求接收模块110、权限/操作处理模块120、用户信息存储模块130、操作历史存储模块140、电子信息存储模块150、操作处理模块210、更新处理模块220、访问评估模块230、虚拟角色处理模块240、临时访问处理模块410等的程序;RAM
1702,其用于存储程序和数据;ROM 1703,其用于存储用于启动计算机的程序等;辅助存储装置的HD 1104;诸如键盘或鼠标等用于输入数据的输入装置1706;CRT、液晶显示器等的输出装置1705;通信线路接口1707,其与通信网络(例如可以使用网络接口卡)连接;以及总线1708,其用于连接用于传输数据的部件。可以通过网络来连接两台或更多计算机。
对于上述示例性实施例中基于计算机程序的部分,将作为软件的计算机程序读入硬件构造的系统中,并且软件资源与硬件资源协同作业,由此实现上述示例性实施例。
图17所示的硬件构造示出了一个构造实例,但本示例性实施例不限于图17中的构造,而是可以采用任意构造,只要其能够执行示例性实施例中所述的模块即可。例如,可以将一些模块实现为专用硬件(例如ASIC等),并且可以将一些模块包括在外部系统中并且经由通信线路来连接,并且还可以经由通信线路来连接多个图17所示的系统以便使其彼此协同操作。除个人计算机之外,可以将系统嵌入家用电器、复印机、传真机、扫描仪、打印机、多功能处理机(具有扫描仪、打印机、复印机、传真机等中的任何两种或更多种功能的图像处理装置)等。
在上述示例性实施例中,“呈现”包括在打印机等上打印、将声音输出到扬声器等的声音输出单元以及在显示器等上显示,并且可以是这些情况的组合。
可以将所述程序存储在记录介质上来提供所述程序,或者可以通过通信装置来提供该程序。在这种情况下,例如,可以将所述程序理解为“记录有程序的计算机可读记录介质”的发明。
措辞“记录有程序的计算机可读记录介质”用来意指由记录有程序的计算机读取的用来安装和执行程序并且分发程序等的记录介质。
所述记录介质例如包括:作为数字化通用光盘(DVD)标准由DVD论坛会议制定的“DVD-R、DVD-RW、DVD-RAM等”;标准由DVD+RW论坛会议制定的“DVD+R、DVD+RW等”;致密光盘(CD)的只读存储器(CD-ROM)、可记录CD(CD-R)、可重写CD(CD-RW)等;蓝光光盘;磁光盘(MO);软盘(FD);磁带;硬盘;只读存储器(ROM);电可擦除可编程只读存储器(EEPROM);闪存;随机存取存储器(RAM)等。
可将所述程序或其一部分记录在上述任意记录介质中以进行保存、分发等。可以通过诸如使用局域网、城域网(MAN)、广域网(WAN)、国际互联网、内联网、外联网等的有线网络、或无线通信网络或其组合等传输介质进行通信来传输所述程序或其一部分,并且可以将所述程序或其一部分载到载波上。
此外,所述程序可以是另一程序的一部分,或者可以与不同的程序一起记录在记录介质中。可将所述程序分开记录到多个记录介质上。可以以诸如压缩或加密等任何模式来记录所述程序,只要所述程序能被恢复即可。
Claims (17)
1.一种信息管理方法,包括:
接收对电子信息的操作的请求,其中所述电子信息与针对每个用户而限定许可的操作的操作权限信息相关联;
基于与所述电子信息相关联的操作权限来判断是否许可作为所述操作的请求源的用户执行所述操作;
如果判定许可所述用户执行所述操作,则开始执行所述操作;
判断(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一是否满足预定条件;以及
如果判定(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一满足所述预定条件,则开始执行所述操作,
其中,所述预定条件包括下述条件中的至少之一:
作为所述操作的请求源的用户在此前的第一时间段内操作所述电子信息的条件,以及
作为所述操作的请求源的用户在此前的第二时间段内操作与所述电子信息相关联的位置的条件。
2.一种信息管理方法,包括:
接收对电子信息的操作的请求,所述电子信息与针对每个用户而限定许可的操作的操作权限信息相关联;
判断(i)由作为所述操作的请求源的用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一是否满足预定条件;
如果判定(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一满足所述预定条件,则开始执行所述操作;
基于与所述电子信息相关联的操作权限来判断是否许可作为所述操作的请求源的用户执行所述操作;以及
如果判定许可所述用户执行所述操作,则开始执行所述操作,
其中,所述预定条件包括下述条件中的至少之一:
作为所述操作的请求源的用户在此前的第一时间段内操作所述电子信息的条件,以及
作为所述操作的请求源的用户在此前的第二时间段内操作与所述电子信息相关联的位置的条件。
3.如权利要求1或2所述的信息管理方法,还包括:
如果执行了所述操作,则将表示已对所述电子信息执行所述操作的操作历史信息存储在所述电子信息的先前操作的历史中。
4.如权利要求1或2所述的信息管理方法,还包括:
在许可与不许可(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一满足所述预定条件之间切换。
5.如权利要求1或2所述的信息管理方法,其中,
作为操作目标的所述电子信息是构成树形结构的元素,并且
如果由作为所述操作的请求源的用户对下述电子信息执行的先前操作的历史满足所述预定条件,则开始执行所述操作,其中所述电子信息相对于所述电子信息位于所述树形结构的祖先节点。
6.如权利要求1或2所述的信息管理方法,其中,
所述操作的执行包括:
复制所述电子信息,
对所述电子信息的副本执行所述操作,
询问具有授权权限的用户是否授权对所述电子信息执行所述操作,以及
如果具有授权权限的所述用户授权对所述电子信息执行所述操作,则基于已对其执行所述操作的所述电子信息的副本来更新所述电子信息。
7.如权利要求1或2所述的信息管理方法,其中,
所述预定条件包括这样的条件:即,作为所述操作的请求源的用户在此前的第一时间段内未对所述电子信息或与所述电子信息相关联的位置进行操作并且在此前的第二时间段内已将操作权限给予作为所述操作的请求源的用户。
8.一种信息管理系统,包括:
操作请求接收单元;
操作执行单元;
历史存储单元,其存储操作历史信息,所述操作历史信息表示(i)由所述操作执行单元对电子信息执行的先前操作的历史和(ii)由所述操作执行单元对分别与相应电子信息相关联的位置执行的先前操作的历史中的至少之一;
第一控制单元;以及
第二控制单元,其中,
当所述操作请求接收单元接收到对电子信息的操作的请求时,其中所述电子信息与针对每个用户而限定许可的操作的操作权限信息相关联,
所述第一控制单元基于与所述电子信息相关联的操作权限来判断是否许可作为所述操作的请求源的用户执行所述操作,并且
所述第二控制单元判断(i)由所述操作历史信息表示的并且由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述操作历史信息表示的并且由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一是否满足预定条件,
如果所述第一控制单元判定许可所述用户执行所述操作,则所述第一控制单元使得所述操作执行单元开始执行所述操作,并且
如果所述第二控制单元判定(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的位置执行的先前操作的历史中的至少之一满足所述预定条件,则所述第二控制单元使得所述操作执行单元开始执行所述操作,
其中,所述预定条件包括下述条件中的至少之一:
作为所述操作的请求源的用户在此前的第一时间段内操作所述电子信息的条件,以及
作为所述操作的请求源的用户在此前的第二时间段内操作与所述电子信息相关联的位置的条件。
9.如权利要求8所述的信息管理系统,其中,
所述预定条件包括下述条件中的至少之一:
作为所述操作的请求源的用户在此前的预定时间段内操作所述电子信息的条件,以及
作为所述操作的请求源的用户在此前的所述预定时间段内操作与所述电子信息相关联的位置的条件。
10.如权利要求8所述的信息管理系统,还包括:
切换单元,其在启用与禁用所述第二控制单元之间进行切换。
11.如权利要求8所述的信息管理系统,其中,
作为操作目标的所述电子信息是构成树形结构的元素,并且
如果由作为所述操作的请求源的用户对下述电子信息执行的先前操作的历史满足所述预定条件,则所述第二控制单元使得所述操作执行单元开始执行所述操作,其中所述电子信息相对于所述电子信息位于所述树形结构的祖先节点。
12.如权利要求8所述的信息管理系统,还包括:
询问单元,其中
当所述操作执行单元将要执行所述操作时,
所述操作执行单元复制所述电子信息并且对所述电子信息的副本执行所述操作,
所述询问单元询问具有授权权限的用户是否授权对所述电子信息执行所述操作,并且
如果具有授权权限的所述用户授权对所述电子信息执行所述操作,则所述操作执行单元基于已对其执行所述操作的所述电子信息的副本来更新所述电子信息。
13.如权利要求8~12中任一项所述的信息管理系统,其中,
所述预定条件包括这样的条件:即,作为所述操作的请求源的用户在此前的第一时间段内未对所述电子信息或与所述电子信息相关联的位置进行操作并且在此前的第二时间段内已将操作权限给予作为所述操作的请求源的用户。
14.一种信息管理方法,包括:
接收对电子信息的操作的请求,其中所述电子信息与针对每个用户而限定许可的操作的操作权限信息相关联;
执行对所述电子信息或关联位置信息的操作,所述关联位置信息表示与所述电子信息相关联的关联位置;
存储操作历史信息,所述操作历史信息表示(i)由作为所述操作的请求源的用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的关联位置信息执行的先前操作的历史中的至少之一;
当接收到对电子信息的操作的请求时,如果基于与所述电子信息相关联的操作权限判定许可所述用户执行所述操作,则开始执行所述操作,其中,在判定许可所述用户执行所述操作的情况下,如果判定作为所述操作的请求源的用户在此前的第一时间段内未对所述电子信息或与所述电子信息相关联的关联位置信息进行操作并且在此前的第二时间段内已将操作权限给予作为所述操作的请求源的用户,则开始执行所述操作,并且使得所述操作由其他用户批准;以及
当接收到对电子信息的操作的请求时,如果(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的所述关联位置信息执行的先前操作的历史中的至少之一满足预定条件,则开始执行所述操作;其中,
所述电子信息是构成树形结构的元素,
所述关联位置信息相对于所述电子信息位于包括所述电子信息作为其元素的树形结构的祖先节点,并且
当将要执行所述操作时,复制所述电子信息并且对所述电子信息的副本执行所述操作,如果所述其他用户批准所述操作,则基于已对其执行所述操作的所述电子信息的副本来更新所述电子信息。
15.如权利要求14所述的信息管理方法,其中,
所述预定条件包括下述条件中的至少之一:
作为所述操作的请求源的用户在此前的预定时间段内操作所述电子信息的条件;以及
作为所述操作的请求源的用户在此前的预定时间段内操作与所述电子信息相关联的所述关联位置信息的条件。
16.如权利要求14或15所述的信息管理方法,其中,
在许可与不许可(i)由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述用户对与所述电子信息相关联的所述关联位置信息执行的先前操作的历史中的至少之一满足所述预定条件之间切换。
17.一种信息管理系统,包括:
操作请求接收单元,其接收对电子信息的操作的请求,其中所述电子信息与针对每个用户而限定许可的操作的操作权限信息相关联;
操作执行单元,其执行对所述电子信息或关联位置信息的操作,所述关联位置信息表示与所述电子信息相关联的关联位置;
历史存储单元,其存储操作历史信息,所述操作历史信息表示(i)由所述操作执行单元对所述电子信息执行的先前操作的历史和(ii)由所述操作执行单元对分别与相应电子信息相关联的关联位置信息执行的先前操作的历史中的至少之一;
第一控制单元,当所述操作请求接收单元接收到对电子信息的操作的请求时,如果基于与所述电子信息相关联的操作权限判定许可作为所述操作的请求源的用户执行所述操作,则所述第一控制单元使得所述操作执行单元开始执行所述操作,其中,在判定许可所述用户执行所述操作的情况下,如果判定作为所述操作的请求源的用户在此前的第一时间段内未对所述电子信息或与所述电子信息相关联的关联位置信息进行操作并且在此前的第二时间段内已将操作权限给予作为所述操作的请求源的用户,则所述第一控制单元使得所述操作执行单元开始执行所述操作,并且使得所述操作由其他用户批准;以及
第二控制单元,当所述操作请求接收单元接收到对电子信息的操作的请求时,如果(i)由所述操作历史信息表示的并且由所述用户对所述电子信息执行的先前操作的历史和(ii)由所述操作历史信息表示的并且由所述用户对与所述电子信息相关联的所述关联位置信息执行的先前操作的历史中的至少之一满足预定条件,则所述第二控制单元使得所述操作执行单元开始执行所述操作;其中,
所述电子信息是构成树形结构的元素,
所述关联位置信息相对于所述电子信息位于包括所述电子信息作为其元素的树形结构的祖先节点,并且
当所述操作执行单元将要执行所述操作时,所述操作执行单元复制所述电子信息并且对所述电子信息的副本执行所述操作,如果所述其他用户批准所述操作,则所述操作执行单元基于已对其执行所述操作的所述电子信息的副本来更新所述电子信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008222116A JP4636144B2 (ja) | 2008-08-29 | 2008-08-29 | 情報管理プログラム及び情報管理システム |
JP2008222116 | 2008-08-29 | ||
JP2008-222116 | 2008-08-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101661540A CN101661540A (zh) | 2010-03-03 |
CN101661540B true CN101661540B (zh) | 2014-08-27 |
Family
ID=41727305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910160622.XA Active CN101661540B (zh) | 2008-08-29 | 2009-07-17 | 信息管理方法和信息管理系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8281365B2 (zh) |
JP (1) | JP4636144B2 (zh) |
CN (1) | CN101661540B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5630193B2 (ja) * | 2010-10-08 | 2014-11-26 | 富士通株式会社 | 操作制限管理プログラム、操作制限管理装置及び操作制限管理方法 |
JP2015082174A (ja) | 2013-10-22 | 2015-04-27 | 富士ゼロックス株式会社 | 文書管理装置及びプログラム |
US9424436B2 (en) * | 2014-10-30 | 2016-08-23 | Microsoft Technology Licensing, Llc | Over network operation restriction enforcement |
JP7097680B2 (ja) * | 2017-07-13 | 2022-07-08 | 株式会社三菱Ufj銀行 | 情報処理装置 |
JP7009841B2 (ja) * | 2017-08-30 | 2022-01-26 | 日本電気株式会社 | 権限管理装置、権限管理方法、及びプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3921865B2 (ja) * | 1999-03-11 | 2007-05-30 | カシオ計算機株式会社 | データ処理システムおよびそのプログラム記録媒体 |
JP4122042B1 (ja) * | 2007-06-28 | 2008-07-23 | Sky株式会社 | アクセス権限制御システム |
JP2009187341A (ja) * | 2008-02-07 | 2009-08-20 | Fuji Xerox Co Ltd | 情報処理プログラム及び情報処理装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4334074B2 (ja) * | 1999-08-05 | 2009-09-16 | 株式会社リコー | 情報管理システム、権限管理方法及び記憶媒体 |
JP2002202956A (ja) * | 2000-12-28 | 2002-07-19 | Daiwa Securities Group Inc | セキュリティ管理システム、セキュリティ管理方法及びセキュリティ管理プログラム |
US20050044167A1 (en) * | 2001-09-14 | 2005-02-24 | Youichi Kobayashi | Network information processing system and network information processing method |
JP2004062780A (ja) * | 2002-07-31 | 2004-02-26 | Sony Corp | フォルダ管理装置、フォルダ管理方法、フォルダ管理プログラム及び、フォルダ管理プログラムを記録したコンピュータ読み取り可能なプログラム格納媒体 |
US7681241B2 (en) * | 2004-06-18 | 2010-03-16 | Red Hat, Inc. | Apparatus and method for managing digital rights with arbitration |
JP2006106986A (ja) * | 2004-10-01 | 2006-04-20 | Canon Inc | アクセス管理方法及び情報処理装置 |
JP4575190B2 (ja) * | 2005-02-24 | 2010-11-04 | 三菱電機株式会社 | 監査ログ分析装置及び監査ログ分析方法及び監査ログ分析プログラム |
JP2006330846A (ja) * | 2005-05-23 | 2006-12-07 | Daiwa Securities Group Inc | アクセス制御装置、アクセス制御方法及びプログラム |
JP2007334384A (ja) * | 2006-06-12 | 2007-12-27 | Fuji Xerox Co Ltd | 情報処理装置及び情報処理プログラム |
JP4865418B2 (ja) * | 2006-06-23 | 2012-02-01 | キヤノン株式会社 | ライセンス管理システム、管理サーバ装置、およびその制御方法、プログラム |
JP4900925B2 (ja) * | 2006-08-28 | 2012-03-21 | キヤノン株式会社 | アクセス権限管理システム |
-
2008
- 2008-08-29 JP JP2008222116A patent/JP4636144B2/ja not_active Expired - Fee Related
-
2009
- 2009-06-17 US US12/486,338 patent/US8281365B2/en active Active
- 2009-07-17 CN CN200910160622.XA patent/CN101661540B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3921865B2 (ja) * | 1999-03-11 | 2007-05-30 | カシオ計算機株式会社 | データ処理システムおよびそのプログラム記録媒体 |
JP4122042B1 (ja) * | 2007-06-28 | 2008-07-23 | Sky株式会社 | アクセス権限制御システム |
JP2009187341A (ja) * | 2008-02-07 | 2009-08-20 | Fuji Xerox Co Ltd | 情報処理プログラム及び情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20100058439A1 (en) | 2010-03-04 |
JP4636144B2 (ja) | 2011-02-23 |
US8281365B2 (en) | 2012-10-02 |
JP2010055520A (ja) | 2010-03-11 |
CN101661540A (zh) | 2010-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101281526B (zh) | 信息处理装置、信息处理系统和信息处理方法 | |
CN100377099C (zh) | 为复制文件管理多个文件状态的方法 | |
CN101364221B (zh) | 文档管理装置、文档管理系统和方法 | |
US20080215509A1 (en) | Content Access Rights Management | |
CN101196896A (zh) | 文档提供系统和方法 | |
US20200143012A1 (en) | Digital rights management using a digital agent | |
US9864736B2 (en) | Information processing apparatus, control method, and recording medium | |
CN101661540B (zh) | 信息管理方法和信息管理系统 | |
CN103907110A (zh) | 文档协作 | |
CN101755263A (zh) | 通过用户设备的项目消费 | |
CN102253827A (zh) | 具有学习机制的糅合基础结构 | |
JP4670968B2 (ja) | 情報管理プログラム及び情報管理システム | |
CN104011698A (zh) | 基于从相应的主应用程序数据导出的标识符来访问补充数据 | |
CN101093564A (zh) | 基于活动的管理计算机系统的装置和方法 | |
US20020055922A1 (en) | System, method, apparatus, and program for providing electronic manual | |
CN101504700A (zh) | 信息处理装置、信息处理系统和信息处理方法 | |
CN101326515A (zh) | 元数据驱动的应用程序部署 | |
JP6136192B2 (ja) | ライセンス管理装置、ライセンス管理システム、及びライセンス管理方法 | |
Haynes et al. | Responsibility for digital archiving and long term access to digital data | |
KR101961644B1 (ko) | 데이터 분산형 통합 관리시스템 | |
JP2020119610A (ja) | 登記情報更新システム、登記情報更新方法及びプログラム | |
KR100434728B1 (ko) | 전자문서 자동집결이 가능한 전자문서통합관리 시스템 및방법 | |
WO2022044758A1 (ja) | 委託管理装置、委託管理方法、および記録媒体 | |
US20240185201A1 (en) | Data management device, data sharing system and method, and non-transitory computer readable medium | |
KR100923412B1 (ko) | Rtc 설정 시스템 및 방법, 그리고 이에 적용되는 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Tokyo Patentee after: Fuji film business innovation Co.,Ltd. Address before: Tokyo Patentee before: Fuji Xerox Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |