CN101689181B - 对命名空间灵活地区分优先级 - Google Patents

对命名空间灵活地区分优先级 Download PDF

Info

Publication number
CN101689181B
CN101689181B CN2008800224310A CN200880022431A CN101689181B CN 101689181 B CN101689181 B CN 101689181B CN 2008800224310 A CN2008800224310 A CN 2008800224310A CN 200880022431 A CN200880022431 A CN 200880022431A CN 101689181 B CN101689181 B CN 101689181B
Authority
CN
China
Prior art keywords
resource
namespace
priority
distinguished
name
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2008800224310A
Other languages
English (en)
Other versions
CN101689181A (zh
Inventor
J·M·希恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101689181A publication Critical patent/CN101689181A/zh
Application granted granted Critical
Publication of CN101689181B publication Critical patent/CN101689181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

可通过使用资源的第一命名空间和资源的第二命名空间来提供对计算机上的资源的访问,其中一个或多个名称对两个命名空间是共用的,且那些名称表示资源的不同相应的实例。从应用程序接收对第一资源名称的请求,其中第一资源名称在第一资源命名空间和第二资源命名空间中存在。响应于该请求,通过将一个或多个资源策略应用于第一资源命名空间和第二资源命名空间来确定是从第一命名空间还是从第二命名空间中获取资源。

Description

对命名空间灵活地区分优先级
背景
计算机应用程序通常通过操作系统来访问计算机或系统资源。资源可以是文件、库、系统服务(例如,剪切和粘贴、打印机)、注册表或配置信息、以及其它。虚拟化环境或组件虚拟化应用程序对系统资源的访问,从而如同应用程序直接处理操作系统那样来透明地处理应用程序对系统资源的访问。
虚拟化环境可管理对多组系统资源的访问,这多组系统资源中的一部分可能重叠或冲突。本机操作系统可具有包括具有诸如“/某路径/某文件名”(“/somepath/someFileName”)等文件名的文件的一组文件资源。应用程序虚拟化包(或一组阴影资源)可具有使用同一文件名例如“/路径/某文件名”(“/path/someFileName”)的不同文件实例。虚拟化环境将以对应用程序透明的方式来管理应用程序对“/路径/某文件名”的访问。该应用程序可写入“/路径/某文件名”,且虚拟化环境将确定文件“/路径/某文件名”的哪个实例(本机操作系统文件或虚拟化包文件)将被写入。
在以下讨论涉及管理对资源的访问的技术。
概述
以下概述仅是为了介绍在以下详细描述中讨论的某些概念而包括的。本概述并不是全面的,并且不旨在描绘所要求保护的主题的范围,该范围由所附的权利要求书来阐明。
可通过使用资源的第一命名空间和资源的第二命名空间来提供对计算机上的资源的访问,其中一个或多个名称对两个命名空间是共用的,且那些名称表示资源的不同的相应实例。从应用程序接收对第一资源名称的请求,其中第一资源名称在第一资源命名空间和第二资源命名空间中存在。响应于该请求,通过将一个或多个资源策略应用于第一资源命名空间和第二资源命名空间来确定是从第一命名空间还是从第二命名空间中获取资源。
许多附带特征将参考以下的详细描述并结合附图考虑以在下文解释。
附图简述
根据附图阅读以下详细描述,将更好地理解本发明,其中使用相同的附图标记来指代所附描述中的相同部分。
图1示出计算机上的虚拟化环境。
图2示出管理对多组重叠资源的访问的虚拟化层。
图3示出对资源命名空间灵活地区分优先级的安排。
图4示出对资源命名空间区分优先级的一般过程。
图5示出使用策略来对源命名空间区分优先级的过程。
图6示出将不同策略应用于不同资源命名空间的过程。
图7示出与资源命名空间相关联的示例策略。
图8示出以不同顺序应用的图7的策略。
详细描述
概览
以下讨论的实施例涉及管理对计算机系统上的资源的虚拟访问。首先讨论虚拟环境。随后解释在虚拟环境中使用的用于对命名空间灵活地区分优先级的通用技术。随后描述用于对命名空间区分优先级的详细特征和实施例。
虚拟环境
图1示出计算机102上的虚拟化环境100。在计算机102上运行的应用程序104通过该虚拟化环境100来访问各系统资源106、108、和110。虚拟化环境100管理应用程序104对系统资源106、108、和110的访问。系统资源106、108、和110可以是计算机上可用的任何类型的资源。例如,系统资源106可以是系统文件、注册表或数据库条目、初始化或配置文件、动态加载库等。系统资源108可以是诸如对象通信服务、打印服务、剪切和粘贴服务等系统服务。系统资源110可以是概况数据、TCP/IP地址和/或端口、互斥、信号量、命名管道、COM对象、对象代理、字体等。
系统资源106、108、和110可在计算机102上具有不同的可见范围。某些资源106、108、和110可以是对计算机102上的所有应用程序可见的全局本机资源。某些系统资源106、108、和110可以是仅可由应用程序104看见或访问的本地资源。例如,应用程序虚拟化包可包括文件、注册表条目、配置设置、或仅应用程序104使用的其它资源的实例。还可以存在仅对正在使用虚拟化环境100的特定用户或应用程序可用的其它半本地资源。值得注意的是,这些本地或半本地资源中的任何一个可能具有拥有相同名称的对应本机资源实例(即,计算机102上的全局资源)。即,如背景中所提到的,给定一资源名称,可能有:具有该名称的全局资源的实例、具有该名称的本地资源的实例、和/或具有该相同名称的半本地资源的实例。用于灵活地控制如何处理此类命名空间冲突的技术在之后更详细地讨论。
虚拟化环境100可使得资源106、108、和110作为一组虚拟资源112出现。尽管应用程序104可如同直接访问系统资源106、108、和110那样执行读和/或写操作,但是虚拟化环境中介这些操作。通常,应用程序104的操作将与在虚拟化环境100不在计算机102上存在时的操作没有任何不同。然而,无论应用程序在虚拟化环境存在的情况下是否改变其行为,以下讨论的用于管理资源(如系统资源106、108、和110)的命名空间的实施例将是适用的。
图2示出管理对多组重叠资源152、154、和156的访问的虚拟化层150。应用程序158通过虚拟化层150来透明地访问资源152、154、和156。在不同环境下,资源组152、154、和156可具有不同的优先次序和目的。用户组152的范围仅为应用程序158,包组154的范围是在虚拟化层150下由相同用户运行的应用程序,而全局组156具有全局范围,主计算机上的任何应用程序或用户身份可能能够访问资源组156。可使用其它类型的资源。在另一实施例中,组152可用于所有在虚拟环境中运行的应用程序,而组154可用于运行一应用程序的所有用户上的所有虚拟环境。虽然资源组152、154、和156被示为按类型分成类别160、162、和164,但这并不是必需的,而取决于资源如何在特定计算平台上被访问。在一个实施例中,资源组152、154、或156将是包含具有相同范围的所有类型的资源的容器,例如全局文件、注册表条目、网络连接、或本地文件和系统服务等。
资源组152、154、和156可如上所述地重叠,一个资源组可具有与另一组中的另一资源实例具有相同名称的资源实例。在图2的示例中,资源的实例“c:\目录\文件1(c:\dir\file1)”在资源组的每一个中。这些实例具有不同内容、不同大小等。诸如“c:\目录\文件4(c:\dir1\file4)”的另一资源仅在全局资源组156中。虚拟化层150处理应用程序158的打开名为“c:\目录\文件2(c:\dir1\file2)”的文件的请求。
虚拟化层150有可能固定用户资源组152、154、和156的优先级。例如,虚拟化层150可能向用户资源组152给予优先级并打开资源组152中的“c:\目录\文件2(c:\dir1\file2)”的实例并将对应文件句柄或文件对象返回给应用程序158,从而使得应用程序158使用用户资源组152中的实例。在应用程序访问名为“c:\目录\文件4(c:\dir1\file4)”的文件时,从唯一具有该资源的资源组154中获取该资源。尽管此静态区分优先级的方法可以是有用的,但是它有限制。如当前将要讨论的,可增强虚拟化环境150以允许资源命名空间具有在不同条件或上下文下改变的优先级。
对命名空间灵活地区分优先级
图3示出用于对资源命名空间灵活地区分优先级的安排。在此安排中,向虚拟化层150提供策略引擎192。策略引擎192可以是对资源命名空间190灵活地区分优先级的软件组件。虽然该策略引擎192和虚拟化层150被示为单独的组件,但是这种功能区分是为了方便且其它结构安排是可能的。然而,在大多数情况下策略引擎192对应用程序194将是不可见的,应用程序194不考虑虚拟化层150的存在来操作。
图3中还可见到不同的虚拟环境196、198。虚拟化层150能够在不同虚拟环境中运行应用程序,这些不同虚拟环境孤立地操作以避免或最小化资源冲突、防止应用程序之间的干扰、允许执行同一应用程序的不同实例等。例如,虚拟环境196可以用于Adobe软件而虚拟环境198可以用于Microsoft Office应用程序。因此,虚拟环境196、198可具有其自己的资源命名空间200、202,以及用于对资源命名空间200、202区分优先级的相应策略204、206。
如之后所述,策略204、206包括可由策略引擎192使用来为应用程序194所需的不同资源以不同次序对任意资源命名空间组(例如,资源命名空间200、202)区分优先级的信息。如自命名空间200、202的箭头所示,资源命名空间200、202可以是对存储在由虚拟化层150管理的资源命名空间的池或高速缓存208中的实际资源命名空间的引用,从而允许某些资源命名空间(例如,资源命名空间200、202)被方便地传递到策略引擎192,以及在必要时在各虚拟环境(例如,虚拟环境196、198)之间共享等。在本说明书全文中,“命名空间”将用于表示包含实际资源的实例的容器以及对此类命名空间的引用(例如,指针、全局唯一标识符、对象引用等)两者,通过这些引用命名空间可被访问、在组件之间传递、共享等。
图4示出对资源命名空间区分优先级的一般过程。应该理解,对命名空间动态且灵活地区分优先级(例如,为应用程序所需的不同资源对命名空间重新区分优先级)的总的构思可采用多种方式来达成,而此处所述的实施例仅是这些方式中的若干个。最初,如前所述,应用程序具有其需要访问的资源的名称。因此,该名称被提供220给虚拟化层150(或由虚拟化层150截取)(这对应用程序而言将是透明的)。接着,虚拟化层150和/或策略引擎190中的任一个确定222哪个策略(例如,策略204)和命名空间可能与所请求的资源相关。此类命名空间可以是为虚拟环境已知的所有策略和命名空间,因为命名空间中的任何一个可能提供所需的资源。命名空间和策略还可预先相关联使得给定策略与哪个(些)命名空间相关是已知的。例如,虚拟化层或环境的用户配置设置可指定要使用哪些命名空间及其默认优先级。最后,将这些策略应用到224所确定222的命名空间以对命名空间区分优先级。如之后将变得显而易见的,如果第一资源是应用程序所需的且使用图4的过程来获取它,且第二资源随后被需要且使用图4的过程来获取,则即使使用相同的所确定222的策略和命名空间来对命名空间区分优先级,这些命名空间也可对每一所需资源具有不同的优先级。此外,可通过修改相关策略、增加新策略、或移除策略等来灵活地改变(不必修改应用程序或虚拟化层)从哪个命名空间中获取资源。
图5示出使用策略来对资源命名空间区分优先级的过程。应该理解,有可能以不同方式来实现策略,且图5的过程仅是这些方式之一。最初,应用程序具有资源的名称(例如,文件名)并需要250对于对应资源(例如,文件)的访问。也许响应于系统调用(例如,通过其名称打开文件的请求、或请求系统资源的某种其它手段),虚拟环境向策略引擎传送252:所需资源的全限定名;应用程序的虚拟环境具有访问权的资源命名空间的列表;以及为虚拟环境定义的策略的列表。同样的,可使用其它技术。例如,静态的、预先定义的策略和命名空间组可用于每一所请求的资源,可在对资源的请求之前确定要对其区分优先级的命名空间的列表等。
策略引擎为被传送252到该策略引擎的各个命名空间创建254候选命名空间结构的列表(表示命名空间的结构)。每一结构具有标识该结构所表示的命名空间的唯一标识符(ID)。该结构还将具有优先级分数,其最初被设为零。示例在图7中示出,其在之后讨论。策略引擎通过将被传送252的策略应用到被传送252的命名空间并将所得优先级分数存储在结构中以使用结构的列表来为各命名空间分别确定256分数。对结构中的每一优先级分数,从结构的列表中移除被证实不是提供所需250资源的候选者的候选命名空间(例如,因为其与第一策略相关联但不与另一策略相关联而被传递到策略引擎的命名空间)。按其优先级分数来排序260剩余的命名空间并将其返回262给虚拟化层,后者可随后从这些剩余命名空间中获取所需250资源,可进而响应于应用程序的初始请求将所需250资源提供给应用程序。
图6示出将不同策略应用于不同资源命名空间的过程。通常,被传送252到策略引擎的每一策略可能涉及被传送252到策略引擎的每一命名空间的优先级。因此,为开始280将策略应用到命名空间,选择282还未被应用的策略。如将见到的,应用策略的次序不应影响到为命名空间计算的优先级。如果策略适用于284所请求的资源,则对候选命名空间列表(命名空间结构的列表)中的每一286命名空间执行以下步骤(如果策略不适用且存在292未被应用的策略,则选择282该策略并处理)。首先,如果288另一更具体的策略已经被应用于命名空间(例如,如果命名空间的当前分数的绝对值大于当前策略所期望的分数),则选择286另一命名空间。如果否,则通过例如将策略的分数分配给命名空间来将当前策略应用290到当前命名空间。如果存在292未被应用的策略,则选择282另一策略并相应地应用该策略。如果不存在292未被应用的策略,则返回经排序/区分优先级的命名空间。
注意,可按许多方式来确定策略是否适用于284所请求的命名空间。例如,策略可具有某些上下文准则或设置定义,诸如:其应用于所有以“doc”结尾的文件名、其应用于目录“\目录1\目录2(\directory1\directory2)”中的文件、其应用于注册表位置中的条目等。还注意,尽管在图6中,策略在外循环中迭代且对每一策略迭代命名空间,但是因为结果不会被所应用策略的次序影响,所以可使用相反的形式;命名空间可在外部循环中迭代,而在内部循环中对当前命名空间迭代策略。
在一个实施例中,在应用程序194请求一资源名称的资源(例如,通过发出诸如“打开(文件名)”的系统调用)时,可经由虚拟化层150向策略引擎192传递资源名称、策略组、以及命名空间组(实际上,是对命名空间的引用或命名空间的全局唯一标识符)。策略引擎192使用此信息来对命名空间区分优先级,且从包含具有此资源名称的资源的最高优先级的命名空间中获取资源。
图7示出与资源命名空间相关联的示例策略320、322、324。三个被称为U、P、和N的假想资源命名空间是资源的可用来源。策略320和324各自与命名空间U、P、和N相关联。注意,关联的次序(U,随后是P,随后是N)反映了这些命名空间的默认优先级,U具有最高优先级。策略322与命名空间N而非P和U相关联。示例策略320、322、324是注册表位置,尽管它们也可以是文件目录或资源组的其它定义。例如,策略可指定本地注册表改变应该进入用户的个人设置注册表命名空间。另一策略可以是对用户的简档的改变应该在本地文件系统命名空间中作出。又一示例中,应该总是从本地文件系统命名空间访问具有匹配“*.doc”的名称的文件。或者,要使用给定资源命名空间来执行对网络共享的改变。考虑一些其它示例。
诸如策略320、322、以及324等策略或者可固有地指定其应用到哪些命名空间(如同前一段中的某些示例),或者命名空间可自由地与任何策略相关联。可以假设,在策略不与一命名空间相关联时(至少在被用于对特定命名空间区分优先级时),则该策略可能对该特定命名空间直接区分优先级。策略可与多个命名空间相关联,在这种情况下这些命名空间应该具有它们之间的默认优先级。策略还可具有某些可用于对其应用于的命名空间区分优先级的信息。例如,可使用一些加权常量。还可基于策略适用于所请求的名称的程度来分配优先级,以允许以在两个策略匹配一资源名称时具有更具体的上下文(例如,更具体的文件系统目录、显式文件名而不是通配指定的文件名、较长的注册表路径、其中具有特定子串的路径名等)的策略被应用的方式来应用策略。
图8根据图5和6的实施例示出了以不同顺序被应用的图7的策略320、322、324。数据结构的列表340将在现在详细讨论,而之后,将简要地讨论类似的列表342和344。对此示例,每一策略的权重或优先级分数将由其指定的路径的长度来确定,对U、P、和N相应地是16、25、和31。也可使用其它权重,路径长度恰好是针对具体性的方便度量。权重还可由诸如通配符的存在、某些预先定义的准则等因素来驱动。
假定应用程序需要250对应于完全限定资源名称“HKLM\Software\Adobe\JobQueue\Config”(为简明起见,将被称为“HKLM...Config”)的资源。策略320、322、和324对应于其中作出请求的虚拟环境,且因此这些策略以及其相关联的命名空间被传送252到策略引擎(或具有类似功能的某些虚拟化组件)。策略引擎为每一命名空间创建254候选命名空间结构,其优先级被设为0;列表340中的“命名空间”和“初始”列。如下应用280策略320、322、324。
首先选择282策略320。策略320是适用284的,因为所请求的名称“HKLM...Config”落入由策略320所指定的路径(上下文)中。换言之,所请求的资源名称“HKLM...Config”匹配策略320的上下文。因此,对候选列表340中的每一命名空间U、P、和N,以下事件发生:命名空间U被应用,因为U的当前分数(0)的绝对值小于策略320的预期分数(16.3)。注意,添加“.3”以表示对策略320而言U在命名空间U、P、和N中具有默认最高的优先级的事实。类似的,将“.2”和“.1”分别地添加到P和N的权重。策略320随后被应用于P和N,且分别给予它们分数16.2和16.1。存在292未被应用的策略,即322、324。选择282策略322。其具有比列表340中的分数大的优先级权重并因此其将这些命名空间评分为-25、-25和25。对命名空间U和P给出负分,因为策略322不与这些命名空间相关联。最后,最后的策略324被应用于290每一命名空间,因为其权重或分数31大于前一分数的绝对值。命名空间的最终分数是31.3、31.2、和31.1,这指示在从这些命名空间中获取“HKLM...Config”的资源时,命名空间U、P、和N将以该次序被使用直到在这些命名空间之一中找到对应于“HKLM...Config”的资源。
命名空间列表342和344示出了在以不同次序应用策略320、322、324时将如何分配分数。如果该次序如下则将得到列表342:策略322,320,随后324。如果该次序如下则将得到列表344:策略324,322,随后320。在每一情况下这些命名空间的最终分数是相同的。
根据上述某些实施例,可从多个重叠命名空间中获取资源且可通过指定其下不同命名空间的优先级的大体(或甚至具体)的环境(例如,通过使用策略)来以灵活且可预测的方式解决冲突。同一的策略引擎可与同一的虚拟化层协作以使用正在被虚拟化层处理的不同虚拟环境的不同策略来对不同命名空间区分优先级。此外,在某些实施例中,可按任何次序将策略应用到命名空间而具有确定性的结果。
结论
以上讨论的实施例和特征都可用储存在易失性或非易失性计算机或设备可读介质中的信息的形式来实现。这被认为至少包括诸如光学存储(例如,CD-ROM)、磁介质、闪速ROM、或存储数字信息的任何现有或未来装置等介质。所存储的信息可采用机器可执行指令(例如,经编译的可执行二进制代码)、源代码、字节代码、或任何其它可用于允许或配置计算机设备来执行上述各实施例的信息的形式。这还被认为至少包括诸如RAM和/或在程序的执行期间存储诸如CPU指令等信息以实现一实施例的虚拟存储器等易失性存储器,以及存储允许程序或可执行代码被加载和执行的信息的非易失性介质。实施例和特征可在任何类型的计算设备上执行,这些计算设备包括便携设备、工作站、服务器、移动无线设备等。

Claims (20)

1.一种用于解决资源命名空间之间的冲突的方法,其中每一资源命名空间包括多个资源及其对应的名称,且其中资源命名空间至少部分重叠以使得两个或多个资源命名空间中的同一名称表示相应资源命名空间中的资源的不同实例,所述不同实例具有不同的内容,所述方法包括:
提供描述不同命名空间适用的条件的上下文信息;
接收对资源的名称的请求,并通过将所述名称与所述上下文信息比较来相对于彼此区分所述资源命名空间优先级;以及
从所述区分优先级的命名空间中获取所述名称的资源。
2.如权利要求1所述的方法,其特征在于,如果资源命名空间不与命名空间适用的所述条件之一相关联,则所述资源命名空间不被区分优先级。
3.如权利要求1所述的方法,其特征在于,对所述命名空间区分优先级还包括与所述名称匹配所述上下文信息的程度成比例地加权所述资源命名空间。
4.如权利要求1所述的方法,其特征在于,所述资源命名空间具有默认相对优先级,且在所述名称匹配所述各个资源命名空间的上下文信息时,根据所述默认相对优先级来获取所述名称的资源。
5.如权利要求1所述的方法,其特征在于,上下文的条件包括描述可与任意资源名称比较以确定此类任意资源名称落入所述上下文内的资源名称的开集的信息。
6.如权利要求5所述的方法,其特征在于,所述条件包括文件目录或注册表位置。
7.一种在计算机上执行的方法,所述计算机具有对所述计算机上的系统资源的访问虚拟化的虚拟化组件,所述计算机具有所述计算机上的资源的第一命名空间和所述计算机上的资源的第二命名空间,其中一个或多个资源名称对两个命名空间是共用的,且这些相同的资源名称对应于其各自命名空间中的不同资源,所述方法包括:
提供用于对命名空间区分优先级的多个策略;
接收对第一资源名称的请求,且响应于所述请求通过使用所述策略来对所述第一资源命名空间和所述第二资源命名空间区分优先级来确定所述第一命名空间与所述第二资源命名空间的相对优先级;以及
根据所述确定,从所述第一资源命名空间或所述第二命名空间获取对应于所述第一资源名称的资源。
8.如权利要求7所述的方法,其特征在于,还包括:
接收对第二资源名称的请求,且响应于所述请求再次通过使用所述策略来对所述第一资源命名空间和所述第二资源命名空间区分优先级来确定所述第一命名空间与所述第二资源命名空间的相对优先级;以及
根据所述再次确定,从所述第一资源命名空间或所述第二命名空间获取对应于所述第二资源名称的资源。
9.如权利要求7所述的方法,其特征在于,还包括从所述策略中选择适用于所述第一资源名称的那些策略,并使用那些策略来确定所述第一与第二命名空间的相对优先级。
10.如权利要求9所述的方法,其特征在于,基于所述策略是否匹配所述第一资源名称来选择所述策略。
11.如权利要求7所述的方法,其特征在于,所述策略描述应该被用于对资源命名空间区分优先级的条件,且在此类条件被满足时,基于所述策略来对所述资源命名空间区分优先级。
12.如权利要求11所述的方法,其特征在于,使用两个不同的策略来对命名空间区分优先级。
13.如权利要求12所述的方法,其特征在于,策略在对命名空间区分优先级中的贡献与所述策略对于所述第一资源名称有多具体是成比例的。
14.一种用于对两个或多个重叠资源命名空间灵活地区分优先级的方法,所述方法包括:
在通过资源名称请求资源之前,存储定义多个资源上下文的策略信息;
在通过所述资源名称请求所述资源时,基于所述策略信息来相对于彼此区分所述重叠资源命名空间中的两个或多个的优先级;以及
通过按所述被区分优先级的资源命名空间的优先级的次序来访问所述被区分优先级的资源命名空间直到在所述资源命名空间之一中找到所述资源来获取所述资源。
15.如权利要求14所述的方法,其特征在于,执行所述方法以使得所述资源命名空间使用第一优先级次序相对于彼此地被区分优先级,其中所述第一优先级次序独立于用于对资源命名空间区分优先级的第二次序。
16.如权利要求14所述的方法,其特征在于,所述区分优先级还基于所述资源名称。
17.如权利要求16所述的方法,其特征在于,所述方法还包括向执行所述区分优先级的策略引擎传递所述资源名称、所述资源命名空间、和/或所述策略信息。
18.如权利要求14所述的方法,其特征在于,基于所述资源上下文中的哪一个与所请求的资源名称最相关来对所述命名空间区分优先级。
19.如权利要求14所述的方法,其特征在于,将资源上下文与所述请求的上下文进行比较。
20.如权利要求14所述的方法,其特征在于,所述方法还包括接收对第二资源名称的请求,并基于所述策略信息来相对于彼此地区分所述重叠资源命名空间中的两个或多个的优先级,其中以为所述第一资源名称区分优先级时不同的次序来对所述资源命名空间区分优先级。
CN2008800224310A 2007-06-29 2008-06-11 对命名空间灵活地区分优先级 Active CN101689181B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/771,964 US8862590B2 (en) 2007-06-29 2007-06-29 Flexible namespace prioritization
US11/771,964 2007-06-29
PCT/US2008/066559 WO2009005981A2 (en) 2007-06-29 2008-06-11 Flexible namespace prioritization

Publications (2)

Publication Number Publication Date
CN101689181A CN101689181A (zh) 2010-03-31
CN101689181B true CN101689181B (zh) 2012-05-30

Family

ID=40162407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800224310A Active CN101689181B (zh) 2007-06-29 2008-06-11 对命名空间灵活地区分优先级

Country Status (5)

Country Link
US (2) US8862590B2 (zh)
EP (1) EP2176782A4 (zh)
JP (1) JP5460588B2 (zh)
CN (1) CN101689181B (zh)
WO (1) WO2009005981A2 (zh)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW561358B (en) 2001-01-11 2003-11-11 Force Corp Z File switch and switched file system
US7512673B2 (en) * 2001-01-11 2009-03-31 Attune Systems, Inc. Rule based aggregation of files and transactions in a switched file system
US20040133606A1 (en) * 2003-01-02 2004-07-08 Z-Force Communications, Inc. Directory aggregation for files distributed over a plurality of servers in a switched file system
US8195760B2 (en) * 2001-01-11 2012-06-05 F5 Networks, Inc. File aggregation in a switched file system
US7509322B2 (en) 2001-01-11 2009-03-24 F5 Networks, Inc. Aggregated lock management for locking aggregated files in a switched file system
US8239354B2 (en) 2005-03-03 2012-08-07 F5 Networks, Inc. System and method for managing small-size files in an aggregated file system
US7885970B2 (en) * 2005-01-20 2011-02-08 F5 Networks, Inc. Scalable system for partitioning and accessing metadata over multiple servers
US7958347B1 (en) 2005-02-04 2011-06-07 F5 Networks, Inc. Methods and apparatus for implementing authentication
US8417746B1 (en) 2006-04-03 2013-04-09 F5 Networks, Inc. File system management with enhanced searchability
US8601467B2 (en) 2006-10-03 2013-12-03 Salesforce.Com, Inc. Methods and systems for upgrading and installing application packages to an application platform
WO2008130983A1 (en) * 2007-04-16 2008-10-30 Attune Systems, Inc. File aggregation in a switched file system
US8682916B2 (en) * 2007-05-25 2014-03-25 F5 Networks, Inc. Remote file virtualization in a switched file system
US8612972B2 (en) 2007-06-27 2013-12-17 Microsoft Corporation Running add-on components in virtual environments
US8180747B2 (en) 2007-11-12 2012-05-15 F5 Networks, Inc. Load sharing cluster file systems
US20090204705A1 (en) * 2007-11-12 2009-08-13 Attune Systems, Inc. On Demand File Virtualization for Server Configuration Management with Limited Interruption
US8548953B2 (en) * 2007-11-12 2013-10-01 F5 Networks, Inc. File deduplication using storage tiers
US8117244B2 (en) 2007-11-12 2012-02-14 F5 Networks, Inc. Non-disruptive file migration
US8352785B1 (en) 2007-12-13 2013-01-08 F5 Networks, Inc. Methods for generating a unified virtual snapshot and systems thereof
US8549582B1 (en) 2008-07-11 2013-10-01 F5 Networks, Inc. Methods for handling a multi-protocol content name and systems thereof
US8924963B2 (en) 2009-03-31 2014-12-30 Microsoft Corporation In-process intermediary to create virtual processes
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US9684785B2 (en) * 2009-12-17 2017-06-20 Red Hat, Inc. Providing multiple isolated execution environments for securely accessing untrusted content
US9195500B1 (en) 2010-02-09 2015-11-24 F5 Networks, Inc. Methods for seamless storage importing and devices thereof
US8204860B1 (en) 2010-02-09 2012-06-19 F5 Networks, Inc. Methods and systems for snapshot reconstitution
US8468542B2 (en) 2010-03-04 2013-06-18 Microsoft Corporation Virtual environment for server applications, such as web applications
US8489708B2 (en) * 2010-04-06 2013-07-16 Microsoft Corporation Virtual application extension points
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US9286298B1 (en) 2010-10-14 2016-03-15 F5 Networks, Inc. Methods for enhancing management of backup data sets and devices thereof
US20120102505A1 (en) * 2010-10-25 2012-04-26 Microsoft Corporation Dynamic process virtualization
US9027151B2 (en) 2011-02-17 2015-05-05 Red Hat, Inc. Inhibiting denial-of-service attacks using group controls
CN102779032B (zh) * 2011-05-11 2016-02-03 深圳市金蝶中间件有限公司 基于复合组件的请求处理方法及系统
US8396836B1 (en) 2011-06-30 2013-03-12 F5 Networks, Inc. System for mitigating file virtualization storage import latency
US8463850B1 (en) 2011-10-26 2013-06-11 F5 Networks, Inc. System and method of algorithmically generating a server side transaction identifier
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US9237195B2 (en) * 2012-04-27 2016-01-12 Netapp, Inc. Virtual storage appliance gateway
US9519501B1 (en) 2012-09-30 2016-12-13 F5 Networks, Inc. Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9554418B1 (en) 2013-02-28 2017-01-24 F5 Networks, Inc. Device for topology hiding of a visited network
US9716729B2 (en) * 2013-03-14 2017-07-25 Apcera, Inc. System and method for transforming inter-component communications through semantic interpretation
CN105101040A (zh) * 2014-05-05 2015-11-25 中兴通讯股份有限公司 资源的创建方法及装置
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US10339123B2 (en) 2014-11-01 2019-07-02 Hewlett Packard Enterprise Development Lp Data management for tenants
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US10567492B1 (en) 2017-05-11 2020-02-18 F5 Networks, Inc. Methods for load balancing in a federated identity environment and devices thereof
US10437476B2 (en) 2017-10-23 2019-10-08 Micron Technology, Inc. Namespaces allocation in non-volatile memory devices
US10503404B2 (en) 2017-10-23 2019-12-10 Micron Technology, Inc. Namespace management in non-volatile memory devices
US10642488B2 (en) 2017-10-23 2020-05-05 Micron Technology, Inc. Namespace size adjustment in non-volatile memory devices
US11580034B2 (en) 2017-11-16 2023-02-14 Micron Technology, Inc. Namespace encryption in non-volatile memory devices
US10915440B2 (en) 2017-11-16 2021-02-09 Micron Technology, Inc. Namespace mapping optimization in non-volatile memory devices
US10678703B2 (en) 2017-11-16 2020-06-09 Micron Technology, Inc. Namespace mapping structual adjustment in non-volatile memory devices
US10223254B1 (en) 2017-11-16 2019-03-05 Micron Technology, Inc. Namespace change propagation in non-volatile memory devices
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
US10833943B1 (en) 2018-03-01 2020-11-10 F5 Networks, Inc. Methods for service chaining and devices thereof
US11068165B2 (en) 2019-06-27 2021-07-20 Western Digital Technologies, Inc. Non-volatile memory data write management
US11593354B2 (en) 2020-05-20 2023-02-28 Snowflake Inc. Namespace-based system-user access of database platforms
US11501010B2 (en) 2020-05-20 2022-11-15 Snowflake Inc. Application-provisioning framework for database platforms
US11249988B2 (en) * 2020-05-20 2022-02-15 Snowflake Inc. Account-level namespaces for database platforms

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1774697A (zh) * 2003-04-29 2006-05-17 国际商业机器公司 管理对计算环境对象的访问

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6286013B1 (en) 1993-04-01 2001-09-04 Microsoft Corporation Method and system for providing a common name space for long and short file names in an operating system
US5745752A (en) * 1994-12-13 1998-04-28 Microsoft Corporation Dual namespace client having long and short filenames
US5617568A (en) 1994-12-14 1997-04-01 International Business Machines Corporation System and method for supporting file attributes on a distributed file system without native support therefor
US5915085A (en) * 1997-02-28 1999-06-22 International Business Machines Corporation Multiple resource or security contexts in a multithreaded application
US6256031B1 (en) 1998-06-26 2001-07-03 Microsoft Corporation Integration of physical and virtual namespace
JP2000112797A (ja) * 1998-10-02 2000-04-21 Nippon Telegr & Teleph Corp <Ntt> ビューディレクトリ処理方法および装置とビューディレクトリ処理プログラムを記録した記録媒体
US8099758B2 (en) * 1999-05-12 2012-01-17 Microsoft Corporation Policy based composite file system and method
US6539396B1 (en) * 1999-08-31 2003-03-25 Accenture Llp Multi-object identifier system and method for information service pattern environment
US6408298B1 (en) 1999-12-15 2002-06-18 Microsoft Corporation Methods and systems for copying and moving across virtual namespaces
US6738828B1 (en) * 2000-07-06 2004-05-18 Nortel Networks Limited Name resolution protocol, system and method for resolving a flat name space to an address space
US6832280B2 (en) 2001-08-10 2004-12-14 Freescale Semiconductor, Inc. Data processing system having an adaptive priority controller
US20030126304A1 (en) 2001-12-31 2003-07-03 Wyatt David A. Method for attaching a resource to a parent within a global resource namespace
US7149738B2 (en) * 2002-12-16 2006-12-12 International Business Machines Corporation Resource and data administration technologies for IT non-experts
US20040128544A1 (en) 2002-12-31 2004-07-01 International Business Machines Corporation Method and system for aligning trust relationships with namespaces and policies
US7222119B1 (en) * 2003-02-14 2007-05-22 Google Inc. Namespace locking scheme
EP1650665B1 (en) 2003-07-24 2012-07-11 Panasonic Corporation File management method and information processing device
WO2005036806A2 (en) * 2003-10-08 2005-04-21 Unisys Corporation Scalable partition memory mapping system
US20070061441A1 (en) * 2003-10-08 2007-03-15 Landis John A Para-virtualized computer system with I/0 server partitions that map physical host hardware for access by guest partitions
US7237184B2 (en) * 2003-12-18 2007-06-26 Microsoft Corporation Data property promotion system and method
US7203871B2 (en) * 2004-06-03 2007-04-10 Cisco Technology, Inc. Arrangement in a network node for secure storage and retrieval of encoded data distributed among multiple network nodes
JP5021475B2 (ja) 2004-08-03 2012-09-05 マイクロソフト コーポレーション コンテキストポリシー制御によるアプリケーション間の関連付けの制御のためのシステムおよび方法
JP2008538016A (ja) * 2004-11-12 2008-10-02 メイク センス インコーポレイテッド 概念または項目を用いて知識相関を構成することによる知識発見技術
US7778963B2 (en) 2005-04-26 2010-08-17 Microsoft Corporation Constraint-based conflict handling for synchronization
US20060265508A1 (en) * 2005-05-02 2006-11-23 Angel Franklin J System for administering a multiplicity of namespaces containing state information and services
US7467158B2 (en) 2005-06-10 2008-12-16 Microsoft Corporation Object virtualization
US7870230B2 (en) * 2005-07-15 2011-01-11 International Business Machines Corporation Policy-based cluster quorum determination
US20070038697A1 (en) * 2005-08-03 2007-02-15 Eyal Zimran Multi-protocol namespace server
JP2007150539A (ja) * 2005-11-25 2007-06-14 Kyocera Mita Corp 画像読取装置
US8443358B1 (en) * 2006-02-10 2013-05-14 Citrix Systems, Inc. Hot pluggable virtual machine
US8290949B2 (en) * 2006-07-24 2012-10-16 International Business Machines Corporation Resource name reconciliation in a configuration database
US8719768B2 (en) * 2006-08-22 2014-05-06 Dell Products L.P. Accretion of inter-namespace instances in multi-tenant CIMOM environment
JP5182095B2 (ja) * 2006-11-06 2013-04-10 日本電気株式会社 資源情報提供システム、方法、資源情報提供装置、およびプログラム
US20080120319A1 (en) * 2006-11-21 2008-05-22 International Business Machines Corporation System and method for identifying computer users having files with common attributes
US8307404B2 (en) * 2007-04-16 2012-11-06 Microsoft Corporation Policy-management infrastructure
US8635618B2 (en) * 2007-11-20 2014-01-21 International Business Machines Corporation Method and system to identify conflicts in scheduling data center changes to assets utilizing task type plugin with conflict detection logic corresponding to the change request

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1774697A (zh) * 2003-04-29 2006-05-17 国际商业机器公司 管理对计算环境对象的访问

Also Published As

Publication number Publication date
EP2176782A4 (en) 2012-11-14
JP5460588B2 (ja) 2014-04-02
US20150012538A1 (en) 2015-01-08
CN101689181A (zh) 2010-03-31
US20090007162A1 (en) 2009-01-01
WO2009005981A3 (en) 2009-02-26
US8862590B2 (en) 2014-10-14
JP2010532524A (ja) 2010-10-07
WO2009005981A2 (en) 2009-01-08
EP2176782A2 (en) 2010-04-21

Similar Documents

Publication Publication Date Title
CN101689181B (zh) 对命名空间灵活地区分优先级
US7925681B2 (en) Bypass of the namespace hierarchy to open files
CN101755262B (zh) 命名空间合并
US8078649B2 (en) Method and system for centrally deploying and managing virtual software applications
US10140461B2 (en) Reducing resource consumption associated with storage and operation of containers
CN102938039B (zh) 针对应用的选择性文件访问
RU2632125C1 (ru) Способ и система обработки задач в облачном сервисе
EP2656234A2 (en) Policy-based application delivery
US20080059479A1 (en) Method and apparatus for invoking a plug-in on a server
US10693971B2 (en) Identifying the best suitable application to open a file shared via a link
CN108268609A (zh) 一种文件路径的建立、访问方法和装置
CN115002228A (zh) 服务级联调用方法、装置、电子设备及存储介质
KR100864167B1 (ko) 유비쿼터스 환경의 지식기반 온톨로지 컨텍스트 관리 장치 및 그 방법
US20040221021A1 (en) High performance managed runtime environment application manager equipped to manage natively targeted applications
Scargall et al. pmemkv: A Persistent In-Memory Key-Value Store
JP2000047875A (ja) クラスロ―ダ
EP3371695B1 (en) Controlling reparse behavior associated with an intermediate directory
US11818174B1 (en) Contextual policy weighting for permissions searching
Maurya et al. Distributed mutual exclusion algorithm with improved performance
KR101345802B1 (ko) 룰 데이터 처리 시스템 및 그 방법
CN118034773A (zh) 一种基于SaaS平台的功能版本的管理方法及装置
CN116150116A (zh) 文件系统共享的方法、装置、电子设备及存储介质
US20120005574A1 (en) Method, a client device, a server, a computer system and a computer readable medium for reloading an object from a folder arrangement
CN102521661A (zh) 一种云计算环境中可扩展用户申请类型的方法

Legal Events

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

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150521

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

Effective date of registration: 20150521

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.