CN102521224A - 目录租赁 - Google Patents
目录租赁 Download PDFInfo
- Publication number
- CN102521224A CN102521224A CN2011102907753A CN201110290775A CN102521224A CN 102521224 A CN102521224 A CN 102521224A CN 2011102907753 A CN2011102907753 A CN 2011102907753A CN 201110290775 A CN201110290775 A CN 201110290775A CN 102521224 A CN102521224 A CN 102521224A
- Authority
- CN
- China
- Prior art keywords
- request
- lease
- catalogue
- metadata
- key
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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
-
- 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
- G06F21/6227—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 where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及目录租赁。描述了用于允许访问分布式文件系统的客户机本地高速缓存目录元数据的实施例。客户机可请求读租约,这允许该客户机本地高速缓存目录元数据并使用该高速缓存服务于从最初请求目录元数据的同一应用程序接收到的请求。此外,客户机也可请求句柄租约,这允许客户机延迟目录句柄的关闭,并允许句柄被重用以服务于来自同一应用程序或不同应用程序的后续目录元数据请求。客户机还可请求写租约,这允许该客户机上的应用程序诸如通过创建或删除目录中的新文件或改变其属性来修改目录元数据,并高速缓存这些改变。
Description
技术领域
本发明涉及本地高速缓存目录元数据。
背景技术
客户机上的应用程序常常访问存储在分布式文件系统中的文件。分布式文件系统允许对在客户机上本地运行的应用程序透明地访问远程存储的文件。分布式文件系统可包括允许客户机本地高速缓存某些信息使得比远程检索信息更为高效地用本地信息服务某些请求的某些特征。然而,当前的分布式文件系统不具有用于高速缓存诸如元数据(例如,目录元数据)等信息的机制,这些元数据在访问分布式文件系统的客户机之间提供一致性和相关性。
正是基于这些及其他考虑才作出了本发明的各实施例。同样,虽然讨论了相对具体的问题,但是,应该理解,本发明的各实施例不应该仅限于解决背景中所标识的具体问题。
发明内容
提供本发明内容以便以简化形式介绍将在以下的“具体实施方式”中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
描述了用于允许访问分布式文件系统的客户机本地高速缓存目录元数据的实施例。在一个实施例中,客户机向文件服务器请求高速缓存目录数据的租约。客户机可请求读租约,这允许该客户机本地高速缓存目录元数据并服务于来自最初请求目录元数据的同一应用程序的请求。此外,客户机也可请求句柄租约,这允许客户机延迟目录句柄的关闭,并允许句柄被重用以服务于来自该客户机上的同一应用程序或不同应用程序的后续目录元数据请求。在某些实施例中,服务器依赖于两个租约键来跟踪客户机租约,并确保对目录元数据拥有读租约的客户机对目录元数据的改变不会导致读租约被撤销。在其它实施例中,客户机可请求写租约,这允许该客户机上的应用程序诸如通过创建或删除目录中的文件或改变其属性来修改目录元数据,并高速缓存这些改变。当另一客户机请求目录元数据时,写租约被打破,且改变被转储清除到服务器。
各实施例可以实现成计算机进程、计算系统或诸如计算机程序产品或计算机可读介质之类的制品。计算机程序产品可以是计算机系统可读并编码了用于执行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品还可以是计算系统可读并编码用于执行计算机进程的指令的计算机程序的载波上的传播信号。
附图说明
参考以下附图描述非限制性和非穷尽的实施例。
图1示出了可用于实现一些实施例的系统的实施例。
图2示出了可在一些实施例中使用的客户机和服务器的框图。
图3示出了根据用于本地高速缓存目录元数据的一些实施例的操作流程。
图4示出了根据用于服务对目录元数据持有租约的客户机修改目录元数据的请求的一些实施例的操作流程。
图5示出了根据一些实施例当接收到对目录数据的读租约的撤销时执行的操作流程。
图6示出了根据用于允许本地高速缓存目录元数据的一些实施例的操作流程。
图7示出适于实现各实施例的计算环境的框图。
具体实施方式
以下将结合作为本发明一部分并示出用于实践本发明的特定实施例的附图来更详尽地描述各个实施例。然而各实施例被实现为许多不同的形式并且不应将其解释为限制在此处描述的实施例;相反地,提供这些实施例以使得本公开变得透彻和完整,并且将本发明的范围完全传达给本领域普通技术人员。因此,各实施例可以呈现完全是硬件实现、完全是软件实现或组合了软件和硬件方面的实现。因此,以下详细描述并非是局限性的。
图1示出了其中可实现各实施例的分布式文件系统100的实施例。系统100包括运行要求对文件和文件信息的访问的各个应用程序的客户机102和104。文件服务器106将文件和文件信息例如存储在数据存储108中。客户机102和104可通过例如网络110的网络访问文件服务器106。如本领域的技术人员可以理解地,网络110可以是LAN、WAN(例如,因特网)、存储区域网或允许客户机102和104与文件服务器106通信的其它网络。
分布式文件系统100可实现允许客户机102和104访问文件服务器106的协议。协议的一些非限定性示例包括服务器消息块(SMB)、SMB2和NFS。如本领域的技术人员可以理解地,文件访问协议提供客户机向文件服务器请求文件的不同格式。实施例不限于任何特定文件访问协议。相反,可使用包括但不限于以上所列的任何文件访问协议来实现所描述的实施例的特征。
在一个实施例中,客户机102和104可向文件服务器106请求允许它们本地高速缓存目录元数据的租约。如本领域的技术人员可以理解地,文件服务器106除存储实际的文件数据以外也可存储描述目录中文件的特性的目录元数据。例如,目录元数据可包括但不限于:目录中每一文件的最后修改的日期、创建日期、文件大小、文件类型和作者名。本实施例可通过提供租赁机制来实现。
如图1中所示,某些实施例允许诸如客户机102的客户机随元数据租约请求向文件服务器106发送分组112。在实施例中,分组112除租约请求以外还可包括对元数据的请求。例如,诸如浏览器应用程序的应用程序可请求特定目录的目录元数据。响应于该请求,客户机102可发送分组112,分组112将包括对该特定目录的元数据的请求以及元数据租约请求。
如图1中所示,分组112可指定读租约、写租约和/或句柄租约。读租约将允许客户机102在本地高速缓存中存储目录的元数据,并每当浏览器应用程序请求目录元数据时,该客户机可从本地高速缓存服务该请求。句柄租约将允许客户机102延迟目录句柄的关闭,这允许客户机102使用目录句柄来服务于来自浏览器应用程序以及请求目录的目录元数据的其它应用程序的后续请求。写租约允许客户机高速缓存应用程序对目录元数据进行的改变。
在图1所示的实施例中,文件服务器106发送响应分组114,分组114包括所请求的目录元数据和对是否授予所请求的租约的指示。基于响应分组,如果租约请求被准许,则客户机102高速缓存目录元数据,并将目录元数据提供给浏览器应用程序。如果响应分组指示租约未被授予,则客户机102将不会高速缓存目录元数据,而是仅将目录元数据提供给浏览器应用程序。如果客户机102未被授予租约,则浏览器应用程序对目录元数据的任何后续请求将导致客户机向文件服务器106请求目录元数据。
如下更详细描述地,向客户机授予租约在服务来自应用程序的请求方面提供了效率,并减少了客户机向文件服务器106发送多个请求的需求。从而,在一些实施例中,文件服务器106一般对客户机授予租约只要没有另一客户机当前持有冲突的租约。为确保目录元数据的相关性,文件服务器106确保不向不同的客户机授予对特定目录元数据的冲突的租约。
仅提供图1的描述来介绍一些实施例的一些特征。如下更详细描述地,其它实施例可提供其它特征。图1的描述不应被用来限制任何其它实施例的范围。
图2示出了可在一些实施例中使用的客户机和服务器的框图。如上所述,可使用不同的文件访问协议来实现所描述的各实施例的特征。图2的以下某些描述包括对SMB2的特征的一些描述。然而,这不应被用来限制其它实施例,因为可使用任何文件访问协议来实现所描述的特征。对SMB2的使用仅是一个示例,且仅用于说明的目的。
图2示出了作为分布式文件系统200的一部分的客户机202和文件服务器204的框图。在一些实施例中,客户机202可在系统100(图1)中被实现为客户机102和104,而文件服务器204可在系统100(图1)中被实现为文件服务器106。
如图2中所示,客户机202包括多个应用程序206A-C,这些应用程序请求对存储在服务器204的文件系统208中文件数据和元数据的访问。客户机202还包括重定向器210。在一个实施例中,重定向器210可被配置为SMB2重定向器,客户机202与服务器204使用根据SMB2协议格式化的分组来通信。当应用程序206A-C之一请求位于服务器204上的文件时,重定向器210将处理该请求。重定向器210将关于对文件数据和元数据的请求创建根据SMB2协议格式化的分组。如下更详细描述地,在各实施例中,SMB2协议被扩展成提供允许客户机202在客户机202上的本地高速缓存212中存储目录元数据的租赁机制。租赁机制利用客户机202上的查找表214,该查找表存储与由服务器204授予的租约相关联的租约键(目录键/文件键)。服务器204还为请求租约并被授予租约的客户机存储租约键。服务器204使用租约表216来存储租约键。
作为系统200的操作的一个示例,应用程序206A可请求存储在文件系统208的目录如目录1中的文件的元数据。作为结果,应用程序206A发出请求,该请求被重定向器210接收。响应于接收请求,重定向器210将通过发送协商请求分组218来启动与服务器204的会话。如本领域的技术人员将理解地,协商请求分组218将根据允许在客户机和服务器之间协商会话的SMB2协议格式化。协商请求分组218将包括指示该客户机是否能够处理目录元数据租赁的信息。在一个实施例中,目录元数据租赁可仅被SMB2协议的某些版本支持,协商请求分组218可提供客户机支持SMB2协议支持元数据租赁的一版本并想要使用SMB2协议的该版本与服务器通信的指示。
响应于协商请求分组218,服务器204将发送协商响应分组220,该分组可包括对服务器是否支持SMB2协议的该版本的指示。在当前示例中,协商响应分组220指示服务器同意使用SMB2协议支持目录元数据租赁的一版本通信。
当客户机202和服务器204之间的协商完成时,重定向器210然后可请求应用程序206A所请求的目录元数据。在一个实施例中,重定向器210将首先生成与正在请求的目录元数据相关联的元数据键,例如目录2键。另外,重定向器210也为包括被请求的目录元数据的父目录生成键,在此为目录1。这些键被存储在查找表214中。如图2的实施例中所示,查找表214使目录键与目录内存储的文件的各个文件键以及目录内子目录的目录键相关联。这些租约键在某些实施例中是全局唯一标识符(GUID)。然而,它们不限于GUID。
重定向器210然后发送包括对目录2中目录元数据的请求的分组222,还请求对目录2中目录元数据的租约。作为租约请求的一部分,重定向器210包括所生成的租约键(即,目录1的目录键和目录2的目录键)。在一不同的实施例中,重定向器210不生成任何目录键。相反,分组222允许重定向器210指示服务器应生成租约键。
当服务器204接收目录租约请求分组222时,它将从目录2检索目录元数据。服务器204还确定它是否可向客户机201授予所请求的租约。具体地,服务器可咨询存储它已经授予的其它租约的租约键(目录键和文件键)的租约表216。在此示例中,先前没有客户机请求对目录2的租约,作为结果,服务器204将来自目录租约请求分组222的目录1的目录键和目录2的目录键存储至租约表216。
服务器发送带有目录元数据和所请求的租约已被授予的指示的目录租约响应分组224。在这种情况中,所请求的租约可包括读租约、写租约和/或句柄租约。如果租约是读租约,则允许客户机202从高速缓存212服务来自应用程序206A对目录2的目录元数据的请求。如果租约是写租约,则可将对目录2的目录元数据的任何改变存储在高速缓存212中。如果租约包括句柄租约,客户机202可在应用程序206A关闭该句柄时对目录2延迟关闭该句柄。然后可重用该句柄以服务来自应用程序206A以及其它应用程序206B和206C的后续请求。重定向器210将向应用程序206A提供目录元数据并还将目录元数据存储在高速缓存212中。
稍后,如果第二客户机请求对存储在目录2中的同一目录元数据的访问,则在第二客户机请求与向客户机202基于的句柄租约不兼容的访问时,服务器204可撤销来自客户机202的句柄租约。服务器204将向客户机202发送指示句柄租约正在撤销的撤销通知226。在撤销之后,来自应用程序206A、206B和206C对目录元数据的任何请求将要求客户机202直接向服务器204请求新的目录句柄。在某些实施例中,对租约的撤销同步进行,且客户机202必须发送已经接收到撤销通知的确认228。如果在稍后时间,第二客户机对存储在目录2中的目录元数据作出修改,则服务器204可撤销来自客户机202的读租约,这将使存储在高速缓存212中的数据无效。在撤销之后,来自应用程序206A、206B和206C的对目录元数据的任何请求必须通过直接向服务器204请求信息来接受服务。
如本领域的技术人员将理解地,高速缓存212中的信息可由客户机202为除向应用程序206A、206B和206C提供目录元数据以外的目的而使用。作为一个示例,如果文件不存在于目录中,可使来自应用程序206A、206B和206C对遗失文件的请求失败,而不必将请求重定向至服务器204。这有助于减少目标文件不存在的开口(open)请求的网络通信量。
在一个实施例中,以上描述的租赁特征是可传递的。即,重定向器210可将租约的获取和撤销传至本地应用程序。然后可使用该本地应用程序来服务其它远程客户机。以此方式,租约授予和撤销实质上被传递回最终对等体。
图3-6示出根据各实施例的操作流程300、400、500和600。操作流程300、400、500和600可在任何合适的计算环境中执行。例如,操作流程可以由诸如图1和图2中所示的系统来执行。因此,对操作流程300、400、500和600的描述可参考图1和图2的组件中的至少一个。然而,对图1和图2的组件的任何这类参考是仅出于描述性目的的,并且应当理解,图1和图2的实现是操作流程300、400、500和600的非限制性环境。
此外,尽管以特定次序顺序地示出并描述了操作流程300、400、500和600,但在其它实施例中,能以不同的顺序、多次和/或并行执行各个操作。此外,在某些实施例中,一个或多个操作可被省略或组合。
图3示出了根据用于本地高速缓存目录元数据的一些实施例的操作流程300。流程300开始于操作302,此处从应用程序接收对目录元数据(包括目录元数据的一部分)的请求。在某些实施例中,操作302由客户机上的重定向器接收,重定向器是诸如系统100(图1)或系统200(图2)的分布式文件系统的一部分。流程300不限于使用任何特定的文件访问协议来实现。可使用任何合适的文件访问协议来实现流程300的实施例。
流程从操作302至判定304,在那里作出所请求的元数据是否被存储在本地高速缓存中的判断。如果在判定304,作出所请求的元数据被存储在本地高速缓存中的判断,则流程传至操作306,在那里从本地高速缓存检索元数据。在操作308,将从本地高速缓存检索到的元数据提供给应用程序。流程300在310处结束。
然而,如果在判定304,作出目录元数据未被存储在本地高速缓存中的判断,则控制从判定304传至操作312,在那里创建由目录元数据标识的文件的目录键。在某些实施例中,目录键是由执行流程300的重定向器生成的。在操作312之后,在操作314生成由目录元数据标识的目录的父目录的目录键。在某些实施例中,操作314可包括为目录的所有祖先生成键。键可被本地高速缓存。
在操作316,向文件服务器发送请求。请求是针对元数据以及允许对元数据进行本地高速缓存的租约的。在操作318,从文件服务器接收响应。在各实施例中,响应将包括对所请求的租约是否已由文件服务器授予的指示。流程从操作318传至操作320,将在那里来自响应的元数据提供给应用程序。在操作320之后,在判定322作出关于服务器是否授予所请求的对目录元数据的租约的判断。如果在判定322,作出租约未被批准的判断,则元数据不能被本地高速缓存,且流程在310结束。如果在判定322,作出租约被文件服务器批准的判断,则在操作324,元数据被存储在本地高速缓存。在操作324之后,流程在310结束。
现在参考图4,示出了根据用于服务对目录元数据持有句柄租约的客户机(它访问分布式文件系统)修改目录元数据的请求的某些实施例的流程400。在各实施例中,流程400可在流程300已被执行之后被执行。因此,流程400在其中已经授予用于高速缓存目录元数据的句柄租约的各实施例中执行。
流程400开始于操作402,在那里接收到修改目录元数据的请求。请求可以例如是向文件写信息的写请求,这会改变元数据;非限定性的示例包括修改日期和文件大小。之前已经由文件服务器向正在执行流程400的客户机授予用于高速缓存目录元数据的句柄租约。
在操作404处,用来自请求的信息即修改目录元数据的信息,例如要写至文件的数据,来创建分组。因为之前已授予租约,存在第一目录键和与租约相关联的父目录的目录键。从而,在操作406中,该目录键被包括在分组中,且在操作408处,各目录键被包括在分组中。分组然后在410处被发送给服务器。在某些实施例中,客户机一开始在对开口的请求中发送目录键和父目录的目录键。服务器然后将对该开口上的所有后续操作使用各键。然而,在其它实施例中,客户机可对每一操作提供目录键和父目录键。
在操作410之后,流程传至操作412,在那里更新本地高速缓存来反映改变后的元数据。换言之,更新本地高速缓存来反映在最新的修改日期、文件大小等中的改变。流程400在414处结束。
图5示出了用于处理撤销目录元数据上的读租约的通知的流程500。可在已经从诸如服务器204(图2)的服务器向客户机授予读租约之后执行流程500。流程500开始于操作502处,在那里从服务器接收到指示正在撤销之前授予的对目录元数据的读租约的撤销通知。在一些实施例中,由于另一客户机已经执行的动作影响了高速缓存的目录元数据的相关性,例如对目录中文件的修改,因此由服务器发送撤销通知。响应于接收撤销通知,流程500传至操作504,在那里使任何高速缓存的目录元数据无效。在某些实施例中,操作504包括由客户机采取的指示高速缓存不可再被使用来向请求目录元数据的应用程序提供目录元数据的多个步骤。
在操作504之后,流程传至操作506,在那里向服务器发送撤销通知被成功接收的确认。在某些实施例中,流程500可不包括操作506。在这些实施例中,客户机接收撤销通知而不向服务器发送确认。流程然后传至操作508,在那里通过向服务器请求目录元数据来服务对目录元数据的任何请求。流程500在510处结束。
图6示出了根据用于允许本地高速缓存目录元数据的一些实施例的操作流程600。在某些实施例中,流程600可由作为分布式文件系统的一部分的文件服务器执行。
流程600开始于操作602,在那里接收到对目录元数据和租约的请求。该请求在某些实施例中由客户机发送,或由作为分布式文件系统的一部分的客户机上的重定向器发送。在操作602之后,流程600传递至判定604,在那里作出是否授予在操作602接收的请求中所请求的租约的判断。判定604可基于多个因素,包括例如是否已对目录元数据授予租约。如果在判定600,作出不授予租约的判断,则流程传至操作606,在那里发送带有目录元数据的分组。分组将包括所请求的租约未被授予的指示。流程然后在操作608处结束。
如果在判定604,作为可授予租约的判断,则流程600传至操作610,在那里存储目录键和父附录键。在某些实施例中,目录键和父目录键是用作跟踪向客户机授予的租约的租约键的GUID。在某些实施例中,随对目录元数据的请求和租约请求,在操作602接收目录键和父目录键。在该实施例中,目录和父目录键由在操作602发送请求的客户机生成。在其它实施例中,目录键和父目录键可由服务器生成,并且然后在操作610处被存储在租约表中。
在某些实施例中,目录键和父目录键表达两个或多个开口句柄之间的容器-孩子关系。这对文件键和目录键成立,该文件键与该目录中的文件相关联。例如,假定存在两个句柄开口H1和H2。H1可与文件键=K1和目录键=D相关联。H2可与文件键=K2和目录键=D相关联。各键指示由这些句柄所指的文件驻留在同一目录内。
再次参考图6,在操作612,将带有所请求的目录元数据和对租约批准的指示的响应分组发送给客户机。客户机然后可根据所授予的租约本地地高速缓存目录元数据。
在操作614,接收修改目录元数据的请求。该请求例如可以是将附加信息写入文件中。这将例如通过改变最后修改时间或文件大小来修改目录元数据。流程从操作614传至判定616,在那里作出修改目录元数据的请求是否来自租约持有者的判断。
在一个实施例中,在判定616处所作的判断是通过将与其上执行修改目录元数据的句柄相关联的租约键同与先前提供给客户机的句柄相关联的租约键进行比较来作出的。如上所述,在某些实施例中,客户机生成与文件句柄(或目录句柄)相关联的租约键,且因此每一键对于特定客户机将是唯一的。在一个示例中,提供给客户机的句柄H1与文件键=K1和目录键=D相关联。如果稍后服务器接收修改与句柄H2相关联的元数据的操作,则服务器将与句柄H2相关联的租约键同与句柄H1相关联的租约键进行比较。如果例如H2与文件键=K2和目录键=D相关联,服务器判断,由于H1和H2的目录键相同,因此在目录D上具有租约的同一客户机作出了修改,且因此租约不必被撤销。然而,如果H2与文件键=K2和目录键=D1相关联,则服务器将判断由于与句柄H1和H2相关联的目录键是不同的,因此必须撤销租约。
如果作出租约持有者是对目录元数据作出修改的那个的判断,则流程传至操作618,其中更新文件系统以反映修改后的目录元数据。流程600在608处结束。
如果在判定616作出请求不是来自租约持有者的判断,则流程传至判定620,在那里作出所请求的修改是否与已给予另一客户机的租约不一致的判断。如果请求并非不一致,则流程传至操作618并在608结束。
如果在判定620处作出请求与租约不一致的判断,则流程传至操作622,在那里向当前正持有目录元数据上的租约的客户机发送撤销通知。发送撤销以便于在访问目录元数据的所有客户机之间维护目录元数据的相关性。在操作624处接收撤销通知的确认,之后流程传至操作618并在608结束。
图7示出可用于实现此处所描述的各实施例的通用计算机环境700。计算机系统700仅是计算环境的一个示例,而非旨在对计算机和网络体系结构的使用范围或功能提出任何限制。计算机系统700也不应被解释成对于在示例计算机系统700中所示出的任一组件或其组合有任何依赖或要求。在某些实施例中,系统700可用作以上参考图1和图2所述的客户机和/或服务器。
在其最基本配置中,系统700通常包括至少一个处理单元702和存储器704。取决于计算设备的确切配置和类型,存储器704可以是易失性的(如RAM)、非易失性的(如ROM、闪存等)或是两者的某种组合。该最基本配置在图7中由虚线706来例示。系统存储器704存储在系统700上执行的应用程序。例如,存储器704可存储以上参考图2描述的报告查找表214。
此处所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器704、可移动存储和不可移动存储708都是计算机存储介质示例(即,存储器存储)。计算机存储介质可包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或可用于存储信息并且可由计算设备700访问的任何其它介质。任何这样的计算机存储介质可以是设备700的一部分。计算设备700还可具有输入设备714,诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可包括输出设备616,如显示器、扬声器、打印机等。上述设备是示例并且可使用其他设备。
此处所使用的术语计算机可读介质还可包括通信介质。通信介质可由诸如载波或其他传输机制的已调制数据信号中的计算机可读指令、数据结构、程序模块、或其他数据来体现,并且包括任何信息传递介质。术语“已调制数据信号”可描述具有以对该信号中的信息编码的方式设定或者改变的一个或多个特征的信号。作为示例而非限制,通信介质可包括诸如有线网络或直接线连接的有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质的无线介质。
本说明书通篇引述了“一个实施例”或“实施例”,这意味着在至少一个实施例中包括特定描述的特征、结构或特性。因此,对这样短语的使用可指的是一个以上的实施例。而且,在一个或多个实施例中,可以用任何合适的方式组合所描述的特征、结构或特性。
然而,本领域技术人员会认识到本发明也可在没有一个或多个具体细节的情况下实施,或者采用其它方法、资源、材料等来实现。仅仅为了避免模糊本发明的各方面,在其它情况下,未示出和详述公知的结构、资源或操作。
虽然示出和描述了示例实施例和应用,但是应该理解本发明不限于上述精确配置和资源。可以对此处公开的方法和系统的排列、操作以及细节作出对本领域技术人员显而易见的各种修改、改变和变化,而不背离所要求保护的本发明的范围。
Claims (9)
1.一种计算机(700)实现的本地高速缓存目录元数据的方法,所述方法包括:
从应用程序(206A)接收对目录元数据的第一请求;
响应于接收到所述第一请求,向服务器(106)发送对所述目录元数据的第二请求(112),其中所述第二请求(112)包括对包含所述目录元数据的目录的句柄的请求,并且还包括对本地高速缓存目录元数据的租约的请求,其中所述租约允许本地高速缓存目录元数据直到所述服务器(106)撤销所述租约;
从所述服务器(106)接收第一响应(114),所述第一响应(114)包括所述目录元数据以及批准对所述租约的请求的指示;
在本地高速缓存(212)中存储所述目录元数据;以及
向所述应用程序(206A)提供所述目录元数据。
2.如权利要求1所述的方法,其特征在于,还包括:
从第二应用程序(206B)接收对所述目录元数据的第三请求;以及
响应于接收到所述第三请求,从所述本地高速缓存(211)提供所述目录元数据。
3.如权利要求1所述的方法,其特征在于,还包括:
响应于接收到所述第一请求,创建与第一目录相关联的第一目录键和与包含所述第一目录的第二目录相关联的第二目录键;以及
在发送给所述服务器(106)的第二请求(112)中包括所述第一目录键和所述第二目录键。
4.如权利要求3所述的方法,其特征在于,还包括:
从第二应用程序(206B)接收修改所述第二目录内存储的文件的第三请求;
响应于接收到所述第三请求:
创建与所述文件相关联的文件键;以及
用来自所述第三请求的数据、与所述文件相关联的文件键和所述第二目录键向所述服务器(106)发送第四请求。
5.如权利要求1所述的方法,其特征在于,还包括:
从所述服务器(106)接收对所述租约的撤销通知(226);
响应于接收到所述撤销通知(226):
发送接收到所述撤销通知(226)的确认(228);以及
从所述本地高速缓存(212)移除所述目录元数据。
6.一种被配置成允许本地高速缓存目录元数据的计算机系统(700),所述系统包括:
至少一个处理器(702);以及
存储当由所述至少一个处理器(702)执行时执行一种方法的可执行指令的计算机可读存储介质(704),所述方法包括:
在服务器(106)处从第一客户机(102)接收对目录元数据的第一请求(112、222),其中所述第一请求(112、222)包括对包含所述目录元数据的目录的句柄的请求,还包括对本地高速缓存目录元数据的租约的请求,其中所述租约允许本地高速缓存目录元数据直到所述服务器撤销所述租约;以及
发送第一响应(114、224),所述第一响应包括所述目录元数据以及批准对所述租约的请求的指示。
7.如权利要求6所述的系统,其特征在于,所述方法还包括:
接收第二请求(112、222);
判断所述第二请求(112、222)是否是从第二客户机(104)接收的,所述第二请求修改所述目录元数据。
8.如权利要求7所述的系统,其特征在于,所述判断包括:
将来自所述第二请求(112、222)的目录键与之前存储的目录键进行比较。
9.如权利要求8所述的系统,其特征在于,所述方法还包括:
响应于确定来自所述第二请求(112、222)的目录键与之前接收到的目录键不同,向所述第一客户机(102)发送撤销所述租约的撤销通知(226)。
10如权利要求6所述的系统,其特征在于,所述方法还包括:
响应于接收到所述第一请求(112、222),创建与所述目录的句柄相关联的文件键并创建与所述目录的父附录相关联的目录键;以及
在向所述服务器(106)发送的所述第一响应(114、224)中包括所述文件键和所述目录键。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410513205.XA CN104268242B (zh) | 2010-09-17 | 2011-09-16 | 目录租赁 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/885,384 US8589553B2 (en) | 2010-09-17 | 2010-09-17 | Directory leasing |
US12/885,384 | 2010-09-17 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410513205.XA Division CN104268242B (zh) | 2010-09-17 | 2011-09-16 | 目录租赁 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102521224A true CN102521224A (zh) | 2012-06-27 |
CN102521224B CN102521224B (zh) | 2014-10-29 |
Family
ID=45818735
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110290775.3A Active CN102521224B (zh) | 2010-09-17 | 2011-09-16 | 目录租赁 |
CN201410513205.XA Active CN104268242B (zh) | 2010-09-17 | 2011-09-16 | 目录租赁 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410513205.XA Active CN104268242B (zh) | 2010-09-17 | 2011-09-16 | 目录租赁 |
Country Status (12)
Country | Link |
---|---|
US (3) | US8589553B2 (zh) |
EP (2) | EP3637275B1 (zh) |
JP (1) | JP5809275B2 (zh) |
KR (1) | KR101841311B1 (zh) |
CN (2) | CN102521224B (zh) |
AU (1) | AU2011302396B2 (zh) |
BR (1) | BR112013006347A2 (zh) |
CA (1) | CA2809133A1 (zh) |
HK (1) | HK1206119A1 (zh) |
MX (1) | MX2013002933A (zh) |
RU (1) | RU2596986C2 (zh) |
WO (1) | WO2012036938A2 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819570A (zh) * | 2012-07-19 | 2012-12-12 | 华为技术有限公司 | 一种数据访问方法、装置及系统 |
CN103714183A (zh) * | 2014-01-10 | 2014-04-09 | 浪潮(北京)电子信息产业有限公司 | 一种元数据租约期限的动态获取方法和系统 |
CN107516048A (zh) * | 2016-06-16 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 一种控制分布式文件系统中文件访问的方法与设备 |
CN111177197A (zh) * | 2019-12-26 | 2020-05-19 | 北京仁科互动网络技术有限公司 | 一种缓存处理方法及系统 |
CN112765106A (zh) * | 2019-10-21 | 2021-05-07 | 伊姆西Ip控股有限责任公司 | 文件访问方法、电子设备和计算机程序产品 |
CN112905556A (zh) * | 2021-02-09 | 2021-06-04 | 山东英信计算机技术有限公司 | 分布式系统的目录租约管理方法、装置、设备及存储介质 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8463846B2 (en) * | 2010-05-06 | 2013-06-11 | Cdnetworks Co., Ltd. | File bundling for cache servers of content delivery networks |
US8589553B2 (en) | 2010-09-17 | 2013-11-19 | Microsoft Corporation | Directory leasing |
US9454573B1 (en) * | 2013-02-25 | 2016-09-27 | Emc Corporation | Parallel processing database system with a shared metadata store |
US20150234775A1 (en) * | 2014-02-14 | 2015-08-20 | Western Digital Technologies, Inc. | Enabling file oriented access on storage devices |
US10264071B2 (en) * | 2014-03-31 | 2019-04-16 | Amazon Technologies, Inc. | Session management in distributed storage systems |
US10169367B2 (en) * | 2014-06-06 | 2019-01-01 | Panzura, Inc. | Managing opportunistic locks in a distributed file system |
US11151082B1 (en) * | 2015-03-31 | 2021-10-19 | EMC IP Holding Company LLC | File system operation cancellation |
US11144504B1 (en) * | 2015-03-31 | 2021-10-12 | EMC IP Holding Company LLC | Eliminating redundant file system operations |
US11294862B1 (en) | 2015-03-31 | 2022-04-05 | EMC IP Holding Company LLC | Compounding file system metadata operations via buffering |
US9940213B2 (en) * | 2015-06-10 | 2018-04-10 | International Business Machines Corporation | Integrating external services with a clustered file system |
US10742731B2 (en) | 2015-06-10 | 2020-08-11 | International Business Machines Corporation | Maintaining service configuration consistency across nodes of a clustered file system |
KR20170010574A (ko) * | 2015-07-20 | 2017-02-01 | 삼성전자주식회사 | 정보처리장치, 영상처리장치 및 그들의 제어방법 |
CN106648903B (zh) * | 2017-01-03 | 2019-03-26 | 北京百度网讯科技有限公司 | 调用分布式文件系统的方法和装置 |
CN107360245B (zh) * | 2017-07-28 | 2020-10-16 | 苏州浪潮智能科技有限公司 | 一种基于租约锁机制的本地缓存方法及装置 |
US11301421B2 (en) * | 2018-05-25 | 2022-04-12 | Microsoft Technology Licensing, Llc | Scalable multi-tier storage structures and techniques for accessing entries therein |
CN109918356B (zh) * | 2019-03-15 | 2023-05-12 | 深信服科技股份有限公司 | 文件读取方法、装置、设备及计算机可读存储介质 |
US11204892B2 (en) | 2019-03-21 | 2021-12-21 | Microsoft Technology Licensing, Llc | Techniques for snapshotting scalable multitier storage structures |
KR102018593B1 (ko) * | 2019-05-22 | 2019-09-06 | (주)에이앤티 | 말림방지 구조를 갖는 박판용 이물질 세정장치 |
CN111158597A (zh) * | 2019-12-28 | 2020-05-15 | 浪潮电子信息产业股份有限公司 | 一种元数据读取方法、装置及电子设备和存储介质 |
CN113590546B (zh) * | 2021-06-30 | 2024-10-18 | 济南浪潮数据技术有限公司 | 一种目录删除方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757705B1 (en) * | 1998-08-14 | 2004-06-29 | Microsoft Corporation | Method and system for client-side caching |
US20050172078A1 (en) * | 2004-01-29 | 2005-08-04 | Vincent Wu | System and method for caching directory data in a networked computer environment |
US20080028033A1 (en) * | 2006-07-28 | 2008-01-31 | Kestrelink Corporation | Network directory file stream cache and id lookup |
CN101236570A (zh) * | 2007-01-03 | 2008-08-06 | 国际商业机器公司 | 用于协调访问本地和远程输出文件系统的方法和系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4897782A (en) | 1987-10-19 | 1990-01-30 | International Business Machines Corporation | Local cache structure for maintaining updated file characteristics in a file sharing system |
US7165096B2 (en) * | 2000-12-22 | 2007-01-16 | Data Plow, Inc. | Storage area network file system |
CA2513503A1 (en) * | 2003-01-17 | 2004-08-12 | Tacit Networks, Inc. | Method and system for use of storage caching with a distributed file system |
US20050091226A1 (en) | 2003-10-23 | 2005-04-28 | Yun Lin | Persistent caching directory level support |
EP1577776B1 (en) * | 2004-03-18 | 2007-05-02 | Alcatel Lucent | Method and apparatus for data synchronization in a distributed data base system |
US8131825B2 (en) | 2005-10-07 | 2012-03-06 | Citrix Systems, Inc. | Method and a system for responding locally to requests for file metadata associated with files stored remotely |
US8370456B2 (en) | 2006-09-22 | 2013-02-05 | Microsoft Corporation | Intelligent pre-fetching using compound operations |
US20080192582A1 (en) * | 2007-02-14 | 2008-08-14 | Now Is Forever, Llc. | Timepiece suggestive of orbital motion |
JP5076736B2 (ja) | 2007-08-27 | 2012-11-21 | 日本電気株式会社 | 計算機システム、ストレージ、アクセス制御方法およびアクセス制御用プログラム |
US8185566B2 (en) * | 2009-01-15 | 2012-05-22 | Microsoft Corporation | Client-based caching of remote files |
US8296420B2 (en) * | 2009-09-18 | 2012-10-23 | Hitachi, Ltd. | Method and apparatus for constructing a DHT-based global namespace |
US8589553B2 (en) | 2010-09-17 | 2013-11-19 | Microsoft Corporation | Directory leasing |
-
2010
- 2010-09-17 US US12/885,384 patent/US8589553B2/en active Active
-
2011
- 2011-09-06 KR KR1020137006736A patent/KR101841311B1/ko active IP Right Grant
- 2011-09-06 WO PCT/US2011/050573 patent/WO2012036938A2/en active Application Filing
- 2011-09-06 BR BR112013006347A patent/BR112013006347A2/pt not_active Application Discontinuation
- 2011-09-06 EP EP19213255.3A patent/EP3637275B1/en active Active
- 2011-09-06 MX MX2013002933A patent/MX2013002933A/es active IP Right Grant
- 2011-09-06 EP EP11825689.0A patent/EP2616950B1/en active Active
- 2011-09-06 JP JP2013529194A patent/JP5809275B2/ja active Active
- 2011-09-06 RU RU2013111824/08A patent/RU2596986C2/ru active
- 2011-09-06 CA CA2809133A patent/CA2809133A1/en not_active Abandoned
- 2011-09-06 AU AU2011302396A patent/AU2011302396B2/en active Active
- 2011-09-16 CN CN201110290775.3A patent/CN102521224B/zh active Active
- 2011-09-16 CN CN201410513205.XA patent/CN104268242B/zh active Active
-
2013
- 2013-09-24 US US14/035,737 patent/US9092450B2/en active Active
-
2015
- 2015-02-05 US US14/614,956 patent/US9292539B2/en active Active
- 2015-07-07 HK HK15106470.9A patent/HK1206119A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6757705B1 (en) * | 1998-08-14 | 2004-06-29 | Microsoft Corporation | Method and system for client-side caching |
US20050172078A1 (en) * | 2004-01-29 | 2005-08-04 | Vincent Wu | System and method for caching directory data in a networked computer environment |
US20080028033A1 (en) * | 2006-07-28 | 2008-01-31 | Kestrelink Corporation | Network directory file stream cache and id lookup |
CN101236570A (zh) * | 2007-01-03 | 2008-08-06 | 国际商业机器公司 | 用于协调访问本地和远程输出文件系统的方法和系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819570A (zh) * | 2012-07-19 | 2012-12-12 | 华为技术有限公司 | 一种数据访问方法、装置及系统 |
CN102819570B (zh) * | 2012-07-19 | 2015-09-30 | 华为技术有限公司 | 一种数据访问方法、装置及系统 |
CN103714183A (zh) * | 2014-01-10 | 2014-04-09 | 浪潮(北京)电子信息产业有限公司 | 一种元数据租约期限的动态获取方法和系统 |
CN103714183B (zh) * | 2014-01-10 | 2017-02-15 | 浪潮(北京)电子信息产业有限公司 | 一种元数据租约期限的动态获取方法和系统 |
CN107516048A (zh) * | 2016-06-16 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 一种控制分布式文件系统中文件访问的方法与设备 |
CN112765106A (zh) * | 2019-10-21 | 2021-05-07 | 伊姆西Ip控股有限责任公司 | 文件访问方法、电子设备和计算机程序产品 |
CN112765106B (zh) * | 2019-10-21 | 2024-05-14 | 伊姆西Ip控股有限责任公司 | 文件访问方法、电子设备和计算机程序产品 |
CN111177197A (zh) * | 2019-12-26 | 2020-05-19 | 北京仁科互动网络技术有限公司 | 一种缓存处理方法及系统 |
CN111177197B (zh) * | 2019-12-26 | 2023-03-14 | 北京仁科互动网络技术有限公司 | 一种缓存处理方法及系统 |
CN112905556A (zh) * | 2021-02-09 | 2021-06-04 | 山东英信计算机技术有限公司 | 分布式系统的目录租约管理方法、装置、设备及存储介质 |
CN112905556B (zh) * | 2021-02-09 | 2022-11-15 | 山东英信计算机技术有限公司 | 分布式系统的目录租约管理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
RU2596986C2 (ru) | 2016-09-10 |
EP2616950B1 (en) | 2019-12-25 |
EP3637275B1 (en) | 2021-03-31 |
JP2013538407A (ja) | 2013-10-10 |
CA2809133A1 (en) | 2012-03-22 |
CN102521224B (zh) | 2014-10-29 |
AU2011302396B2 (en) | 2014-07-10 |
HK1206119A1 (zh) | 2015-12-31 |
US20140040332A1 (en) | 2014-02-06 |
MX2013002933A (es) | 2013-06-28 |
US9092450B2 (en) | 2015-07-28 |
US20120072596A1 (en) | 2012-03-22 |
BR112013006347A2 (pt) | 2016-06-28 |
EP2616950A2 (en) | 2013-07-24 |
RU2013111824A (ru) | 2014-09-20 |
KR20130107280A (ko) | 2013-10-01 |
WO2012036938A3 (en) | 2012-07-05 |
EP2616950A4 (en) | 2017-06-07 |
US9292539B2 (en) | 2016-03-22 |
CN104268242A (zh) | 2015-01-07 |
EP3637275A1 (en) | 2020-04-15 |
WO2012036938A2 (en) | 2012-03-22 |
US8589553B2 (en) | 2013-11-19 |
US20150149505A1 (en) | 2015-05-28 |
CN104268242B (zh) | 2018-04-10 |
KR101841311B1 (ko) | 2018-03-22 |
JP5809275B2 (ja) | 2015-11-10 |
AU2011302396A1 (en) | 2013-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102521224B (zh) | 目录租赁 | |
US7783591B2 (en) | Coordinated data conversion systems and methods | |
RU2586866C2 (ru) | Дифференцирование набора признаков участником арендуемой среды и пользователем | |
US9304808B2 (en) | Updating a workflow when a user reaches an impasse in the workflow | |
US7949569B2 (en) | Distributed device information management system as a distributed information repository system | |
US20090222805A1 (en) | Methods and systems for dynamically building a software appliance | |
CN103713918B (zh) | 软件应用安装系统和方法 | |
WO2021081124A1 (en) | Network system and method for access management authentication and authorization | |
EP2774033A1 (en) | Server upgrades with safety checking and preview | |
KR20140047580A (ko) | 다중-서버 예약 시스템 상의 동기화 메커니즘 시스템 및 방법 | |
US20060149828A1 (en) | Method and system for conducting client-to-server or peer-to-peer or mixed mode data synchronization | |
US9043342B2 (en) | Method and system for policy driven data distribution | |
US8250104B2 (en) | Life cycle based data coordination | |
GB2462523A (en) | Workflow automation and request processing | |
EP4310673A2 (en) | Customized application architecture utilizing sparse and base metadata layers | |
CN101675433A (zh) | 非正式服务器网络中的分布式搜索 | |
US11757976B2 (en) | Unified application management for heterogeneous application delivery | |
CN115220716A (zh) | 代码生成方法、装置、电子设备和存储介质 | |
CN111090530B (zh) | 一种分布式跨进程间通信总线系统 | |
US20070174077A1 (en) | Executing system and executing method of intelligent rule base service | |
KR102464116B1 (ko) | 메타데이터에 기반하여 공공기관 빅데이터를 동적으로 수집하는 방법 및 장치 | |
CN111966700B (zh) | 信息处理方法、系统、装置以及电子设备 | |
US20210157663A1 (en) | Systems, methods and computer program products for application environment synchronization between remote devices and on-premise devices | |
CN112181975A (zh) | 用于在数据仓库中创建数据库的方法和装置 | |
US9992283B2 (en) | Providing a single interface for accessing resources that are distributed among multiple platforms |
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: 20150429 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150429 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |