Source: http://www.google.com/patents/US7490074?dq=%22edwin+asa+markham%22
Timestamp: 2014-10-01 09:24:18
Document Index: 226666615

Matched Legal Cases: ['Application No. 04252690', 'Application No. 04252689', 'application No. 04', 'application No. 04', 'application No. 04', 'application No. 04252689', 'Application No. 04252689', 'Application No. 04252690', 'application No. 04', 'application No. 04']

Patent US7490074 - Mechanism for selectively providing mount information to processes running ... - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign in<nobr>Advanced Patent Search</nobr>PatentsA mechanism is disclosed for selectively providing mount information to processes running within operating system partitions. In one implementation, a non-global operating system partition is created within a global operating system environment. A file system is maintained for this non-global partition....http://www.google.com/patents/US7490074?utm_source=gb-gplus-sharePatent US7490074 - Mechanism for selectively providing mount information to processes running within operating system partitionsAdvanced Patent SearchPublication numberUS7490074 B1Publication typeGrantApplication numberUS 10/767,235Publication dateFeb 10, 2009Filing dateJan 28, 2004Priority dateMay 9, 2003Fee statusPaidAlso published asUS7461080, US7526774, US7567985, US7793289, US7805726, US8516160Publication number10767235, 767235, US 7490074 B1, US 7490074B1, US-B1-7490074, US7490074 B1, US7490074B1InventorsOzgur C. Leonard, Andrew G. TuckerOriginal AssigneeSun Microsystems, Inc.Export CitationBiBTeX, EndNote, RefManPatent Citations (56), Non-Patent Citations (47), Referenced by (3), Classifications (9), Legal Events (2) External Links: USPTO, USPTO Assignment, EspacenetMechanism for selectively providing mount information to processes running within operating system partitionsUS 7490074 B1Abstract A mechanism is disclosed for selectively providing mount information to processes running within operating system partitions. In one implementation, a non-global operating system partition is created within a global operating system environment. A file system is maintained for this non-global partition. This file system comprises zero or more mounts, and may be part of a larger, overall file system. When a process running within the non-global partition requests information pertaining to mounts, a determination is made as to which partition the process is running in. Because the process is running within the non-global partition, only selected information is provided to the process. More specifically, only information pertaining to the mounts that are within the file system maintained for the non-global partition is provided to the process. By doing so, the process is limited to viewing only those mounts that are part of the non-global partition's file system.
BACKGROUND In a typical computer, an operating system executing on the computer maintains an overall file system. This overall file system provides the infrastructure needed to enable items, such as directories and files, to be created, stored, and accessed in an organized manner.
In addition to having directories and files, the overall file system may also comprise one or more mounts. These mounts enable devices, other file systems, and other entities to be �mounted� onto particular mount points of the overall file system to enable them to be accessed in the same manner as directories and files. For example, a floppy disk drive, a hard drive, a CDROM drive, etc., may be mounted onto a particular mount point of the overall file system. Similarly, a file system such as a process file system (ProcFS) or a network file system (NFS) may be mounted onto a particular mount point of the overall file system. Once mounted, these entities (referred to herein as �mounted entities�) may be accessed in the same manner (from the standpoint of a user) as any other directory or file. Thus, they are in effect incorporated into the overall file system.
SUMMARY In accordance with one embodiment of the present invention, there is provided a mechanism for selectively providing mount information to processes running within operating system partitions. By providing mount information in a selective manner, it is possible to control which processes are allowed to view which mounts.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a functional block diagram of an operating system environment in accordance with one embodiment of the present invention.
DETAILED DESCRIPTION OF EMBODIMENT(S) Conceptual Overview In some computer system implementations, it may be desirable to impose limits on which mounts may be viewed by which processes. To accommodate such implementations, one embodiment of the present invention provides a mechanism for selectively providing mount information to processes running within operating system partitions. An operational flow diagram showing a high-level overview of this embodiment is provided in FIG. 2.
System Overview FIG. 1 illustrates a functional block diagram of an operating system (OS) environment 100 in accordance with one embodiment of the present invention. OS environment 100 may be derived by executing an OS in a general-purpose computer system, such as computer system 600 illustrated in FIG. 6, for example. For illustrative purposes, it will be assumed that the OS is Solaris manufactured by Sun Microsystems, Inc. of Santa Clara, Calif. However, it should be noted that the concepts taught herein may be applied to any OS, including but not limited to Unix, Linux, Windows, MacOS, etc.
File System for a Non-Global Zone As noted above, each non-global zone 140 has its own associated file system 180. This file system 180 is used by the processes 170 running within the associated zone 140, and cannot be accessed by processes 170 running within any other non-global zone 140 (although it can be accessed by a process running within the global zone 130 if that process has the appropriate privileges). To illustrate how a separate file system may be maintained for each non-global zone 140, reference will be made to FIGS. 3 and 4.
Non-Global Zone States In one embodiment, a non-global zone 140 may take on one of four states: (1) Configured; (2) Installed; (3) Ready; and (4) Running. When a non-global zone 140 is in the Configured state, it means that an administrator in the global zone 130 has invoked an operating system utility (in one embodiment, zonecfg(1 m)) to specify all of the configuration parameters of a non-global zone 140, and has saved that configuration in persistent physical storage 110. In configuring a non-global zone 140, an administrator may specify a number of different parameters. These parameters may include, but are not limited to, a zone name, a zone path to the root directory of the zone's file system 180, specification of zero or more mount points and entities to be mounted when the zone is readied, specification of zero or more network interfaces, specification of devices to be configured when the zone is created, etc.
Selective Provision of Mount Information As noted previously, in one embodiment, mount information is provided to processes running within operating system partitions (zones) in a selective manner. To enable this result to be achieved, certain acts/operations are performed during each of the four states of a non-global zone 140. The acts/operations performed in each of these states will be discussed separately below. To facilitate discussion, zone A 140(a) will be used as the sample zone.
Presentation of Mount Information One of the purposes of selectively providing mount information to a process is to create an illusion for the process that the file system associated with the zone in which the process is running is the entire file system. In one embodiment, to perpetuate this illusion, mount information is presented in a particular way.
Also, when information pertaining to a mount is provided, the full path to the mount may be filtered. This helps to hide the fact that the file system associated with a zone may be part of a larger overall file system. For example, the full path to the root 322 of the file system 180(a) for zone A 140(a) is /Zones/ZoneA/Root. This full path is not shown to a process 170(a) running within zone A 140(a), however. Instead, the process 170(a) is shown just �/� (indicating a root) so that the process 170(a) is kept unaware of the existence of the other directories (e.g. Zones, Zone A, etc.). Likewise, mounts 330, 328, and 326 are shown as /A, /ProcFS, and /NFS, respectively, instead of /Zones/ZoneA/Root/A, /Zones/ZoneA/Root/ProcFS, and /Zones/ZoneA/Root/NFS. By doing so, the kernel 150 perpetuates the illusion to the process 170(a) that the file system 180(a) of zone A 140(a) is the entire file system.
Alternative Method for Determining Mounts It was disclosed previously that an MTD structure 500 may be constructed and used to determine the mounts that are within a particular file system associated with a particular zone. While this is an effective method, it should be noted that other methods may also be used within the scope of the present invention.
The term �machine-readable medium� as used herein refers to any medium that participates in providing data that causes a machine to operation in a specific fashion. In an embodiment implemented using computer system 600, various machine-readable media are involved, for example, in providing instructions to processor 604 for execution. Such a medium may take many forms, including but not limited to machine-readable storage media (e.g. non-volatile media, volatile media, etc.), and transmission media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 610. Volatile media includes dynamic memory, such as main memory 606. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 602. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS5155809May 17, 1989Oct 13, 1992International Business Machines Corp.In a data processing systemUS5283868May 17, 1989Feb 1, 1994International Business Machines Corp.Providing additional system characteristics to a data processing system through operations of an application program, transparently to the operating systemUS5291597Aug 19, 1991Mar 1, 1994Ibm CorpMethod to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an SNA networkUS5325517May 17, 1989Jun 28, 1994International Business Machines CorporationFault tolerant data processing systemUS5325526May 12, 1992Jun 28, 1994Intel CorporationTask scheduling in a multicomputer systemUS5437032Aug 19, 1994Jul 25, 1995International Business Machines CorporationTask scheduler for a miltiprocessor systemUS5590314Oct 11, 1994Dec 31, 1996Hitachi, Ltd.Apparatus for sending message via cable between programs and performing automatic operation in response to sent messageUS5784706Dec 13, 1993Jul 21, 1998Cray Research, Inc.Virtual to logical to physical address translation for distributed memory massively parallel processing systemsUS5841869Aug 23, 1996Nov 24, 1998Cheyenne Property TrustMethod and apparatus for trusted processingUS5845116Apr 13, 1995Dec 1, 1998Hitachi, Ltd.Distributed computing systemUS5963911Sep 25, 1996Oct 5, 1999British Telecommunications Public Limited CompanyResource allocationUS6064811Jun 17, 1996May 16, 2000Network Associates, Inc.Computer memory conservation systemUS6074427Aug 30, 1997Jun 13, 2000Sun Microsystems, Inc.Apparatus and method for simulating multiple nodes on a single machineUS6075938Jun 10, 1998Jun 13, 2000The Board Of Trustees Of The Leland Stanford Junior UniversityVirtual machine monitors for scalable multiprocessorsUS6279046May 19, 1999Aug 21, 2001International Business Machines CorporationEvent-driven communications interface for logically-partitioned computerUS6289462Sep 28, 1999Sep 11, 2001Argus Systems Group, Inc.Trusted compartmentalized computer operating systemUS6438594Aug 31, 1999Aug 20, 2002Accenture LlpDelivering service to a client via a locally addressable interfaceUS6557168Feb 25, 2000Apr 29, 2003Sun Microsystems, Inc.System and method for minimizing inter-application interference among static synchronized methodsUS6633963Jul 18, 2000Oct 14, 2003Intel CorporationControlling access to multiple memory zones in an isolated execution environmentUS6681238Mar 24, 1998Jan 20, 2004International Business Machines CorporationMethod and system for providing a hardware machine function in a protected virtual machineUS6681258May 31, 2000Jan 20, 2004International Business Machines CorporationFacility for retrieving data from a network adapter having a shared address resolution tableUS6701460Oct 5, 2000Mar 2, 2004Sun Microsystems, Inc.Method and apparatus for testing a computer system through software fault injectionUS6725457May 17, 2000Apr 20, 2004Nvidia CorporationSemaphore enhancement to improve system performanceUS6738832Jun 29, 2001May 18, 2004International Business Machines CorporationMethods and apparatus in a logging system for the adaptive logger replacement in order to receive pre-boot informationUS6792514Jun 14, 2001Sep 14, 2004International Business Machines CorporationMethod, system and computer program product to stress and test logical partition isolation featuresUS6813766Feb 5, 2001Nov 2, 2004Interland, Inc.Method and apparatus for scheduling processes based upon virtual server identifiersUS6859926Sep 14, 2000Feb 22, 2005International Business Machines CorporationApparatus and method for workload management using class shares and tiersUS6944699Nov 27, 2002Sep 13, 2005Vmware, Inc.System and method for facilitating context-switching in a multi-context computer systemUS6957435Apr 19, 2001Oct 18, 2005International Business Machines CorporationMethod and apparatus for allocating processor resources in a logically partitioned computer systemUS6961941Jun 8, 2001Nov 1, 2005Vmware, Inc.Computer configuration for resource management in systems including a virtual machineUS6993762Apr 7, 2000Jan 31, 2006Bull S.A.Process for improving the performance of a multiprocessor system comprising a job queue and system architecture for implementing the processUS7051340Apr 19, 2002May 23, 2006Hewlett-Packard Development Company, L.P.System and method for isolating applications from each otherUS7076634Apr 24, 2003Jul 11, 2006International Business Machines CorporationAddress translation manager and method for a logically partitioned computer systemUS7095738May 7, 2002Aug 22, 2006Cisco Technology, Inc.System and method for deriving IPv6 scope identifiers and for mapping the identifiers into IPv6 addressesUS7096469Oct 2, 2000Aug 22, 2006International Business Machines CorporationMethod and apparatus for enforcing capacity limitations in a logically partitioned systemUS7188120Jan 20, 2004Mar 6, 2007Sun Microsystems, Inc.System statistics virtualization for operating systems partitionsUS20020069369Jul 3, 2001Jun 6, 2002Tremain Geoffrey DonaldMethod and apparatus for providing computer servicesUS20020083367 *Dec 27, 2000Jun 27, 2002Mcbride Aaron A.Method and apparatus for default factory image restoration of a systemUS20020120660Feb 28, 2001Aug 29, 2002Hay Russell C.Method and apparatus for associating virtual server identifiers with processesUS20020156824Apr 19, 2001Oct 24, 2002International Business Machines CorporationMethod and apparatus for allocating processor resources in a logically partitioned computer systemUS20020161817Apr 25, 2001Oct 31, 2002Sun Microsystems, Inc.Apparatus and method for scheduling processes on a fair share basisUS20020173984Mar 29, 2002Nov 21, 2002Robertson James A.Method and system for implementing improved containers in a global ecosystem of interrelated servicesUS20020174215May 16, 2001Nov 21, 2002Stuart SchaeferOperating system abstraction and protection layerUS20030014466Jun 29, 2001Jan 16, 2003Joubert BergerSystem and method for management of compartments in a trusted operating systemUS20030069939Oct 4, 2001Apr 10, 2003Russell Lance W.Packet processing in shared memory multi-computer systemsUS20040010624Apr 29, 2002Jan 15, 2004International Business Machines CorporationShared resource support for internet protocolUS20040162914Feb 13, 2003Aug 19, 2004Sun Microsystems, Inc.System and method of extending virtual address resolution for mapping networksUS20040210760Apr 18, 2003Oct 21, 2004Advanced Micro Devices, Inc.Computer system including a secure execution mode-capable CPU and a security services processor connected via a secure communication pathUS20040215848Apr 10, 2003Oct 28, 2004International Business Machines CorporationApparatus, system and method for implementing a generalized queue pair in a system area networkUS20050021788 *Jan 21, 2004Jan 27, 2005Tucker Andrew G.Global visibility controls for operating system partitionsEP0389151A2Mar 8, 1990Sep 26, 1990International Business Machines CorporationSystem and method for partitioned cache memory managementEP1043658A1Mar 28, 2000Oct 11, 2000Bull S.A.Method for improving the performance of a multiprocessor system including a tasks waiting list and system architecture thereofEP1253516A2Apr 24, 2002Oct 30, 2002Sun Microsystems, Inc.Apparatus and method for scheduling processes on a fair share basisEP1282038A2Jul 16, 2002Feb 5, 2003Matsushita Electric Industrial Co., Ltd.Distributed processing system and distributed job processing methodEP1300766A2Sep 23, 2002Apr 9, 2003Sun Microsystems, Inc.Method and apparatus for partitioning resources within a computer systemWO2000045262A2Jan 20, 2000Aug 3, 2000Sun Microsystems IncTechniques for permitting access across a context barrier in a small footprint device using global data structures* Cited by examinerNon-Patent CitationsReference1Claims As Filed in European Patent Application No. 04252690.5 (6 pgs.).2Claims, Application No. 04252689.7-1243, 5 pages.3Communications from the ACM (ISSN: 0001-0782) vol. 44, Issue 2 (2001) entitled "An Operating System Approach to Securing E-Services" by Chris Dalton and Tse Huong Choo, ACM Copyright Notice, (C) 2001, (8 pgs).4Current Claims in EPO patent application No. 04 252 690.5-2211 (9 pgs)-attached.5Current Claims, European patent application 04252689.7, 6 pages.6Current Claims, Foreign application No. 04 252 690.5-2211, 9 pages.7Czajkowski, G., "Application isolation in the Java Virtual Machine", 2000, ACM Press, Proceedings of the 15th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 354-366.8Czajkowski, G., "Multitasking without compromise: a virtual machine evolution", ACM Press, Proceedings of the 16th ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages, and Applications, dated Oct. 2001, pp. 125-138.9European Patent Office, "Communication pursuant to Article 94(3) EPC", Foreign application No. 04 252 690.5-2211, 5 pages.10European Patent Office, "European Search Report," application No. 04252689.7, mailing date Jul. 28, 2005, 3 pages.11European Patent Office, "Result of Consultation", Application No. 04252689.7-1243, dated Aug. 11, 2008, 2 pages.12European Search Report from the European Patent Office for Foreign Patent Application No. 04252690.5 (3 pgs.).13Hewlett-Packard, "Installing and Managing HP-UX Virtual Partitions (vPars)", Third Edition, Part No. T1335-90018, Copyright Hewlett-Packard Company, Nov. 2002, pp. 1-4, 17-44, 72-75, and 157-161.14Hope, "Using Jails in FreeBSD for fun and profit", ;Login: The Magazine of USENIX &SAGE, vol. 27, No. 3, dated Jun. 2002, pp. 48-55.15Hope, Paco, "Using Jails in FreeBSD for Fun and Profit", ;Login: The Magazine of Usenix and Sage, vol. 27, No. 3, Jun. 2002, 9 pages.16IBM entitled Partitioning for the IBM eserver pSeries 690 System, (C) Copyright IBM Corp. 2001 (12 pgs).17IBM System Partitioning on IBM eserver xSeries Servers entitled "Effective Server Consolidation and Resource Management with System Partitioning" by Mark T. Chapman, IBM Server Group, dtd Dec. 2001, (23 pgs).18Jails: Confining the omnipotent root., by Poul-Henning Kamp and Robert N.M. Watson, entitled "The FreeBSD Project", http://www.servetheweb.com/, (15 pgs).19Kamp, Poul-Henning, "Rethinking / dev and devices in the UNIX kernel", BSDCon 2002 Paper, retrieved from website <http://www.usenix.org/events/bsdcon02/full-papers/kamp/kamp-html/index.html> Printed May 1, 2007, 18 pages.20Mc Dougall, Richard, et al., "Resource Management", Prentice Hall, 1999, 25 pages.21Network Working Group entitled "IP Version 6 Addressing Architecture", by R. hinden, Nokia, S. Deering, Cisco System, dtd Jul. 1998, (28 pgs).22Noordende et al., "Secure and Portable Confinement of Untrusted Programs", ACM, 2002, 14 pages.23Official Action from EPO for foreign patent application No. 04 252 690.5-2211 dated Jun. 10, 2005 (6 pgs)-attached.24Official Action from EPO for foreign patent application No. 04 252 690.5-2211 dated Nov. 23, 2005 (5 pgs)-attached.25Osman, S., et al., "The design and implementation of Zap: a system for migrating computing environments", SIGOPS Operating System, Rev. 36, SI, dated Dec. 2000, pp. 361-376.26Presotto et al., "Interprocess Communication in the Ninth Edition Unix System", John Wiley & Sons, Ltd., dated Mar. 1990, 4 pages.27Stevens, "Advanced programming in the Unix Environment", Addison-Wesley, 1993, pp. 427-436.28Sun Microsystems, "Sun EnterpriseTM 1000 Server: Dynamic System Domains," White Paper Online, Feb. 26, 2003, retrieved from the internet at <http://www.sun.com/servers/highend/whitepapers/domains.html?facet=-1>, retrieved on Jun. 21, 2005, XP-002332946, 7 pages.29Sun Microsystems, Inc. entitled Server Virtualization with Trusted Solaris(TM) 8 Operating Environment, by Glenn Faden, Sun BluePrints(TM) OnLine-Feb. 2002, http://www.sun.com/blueprints, (21 pgs).30SunSoft, a Sun Microsystems, Inc. Business entitled "File System Administration", (C) 1994 Sun Microsystems, Inc., (62 pgs).31Thompson, K., "UNIX Implementation", Bell Laboratories, The Bell System Technical Journal, 1978, pp. 1-9.32U.S. Appl. No. 10/744,360, filed Dec. 22, 2003.33U.S. Appl. No. 10/761,622, filed Jan. 20, 2004.34U.S. Appl. No. 10/762,066, filed Jan. 20, 2004.35U.S. Appl. No. 10/762,067, filed Jan. 20, 2004.36U.S. Appl. No. 10/763,147, filed Jan. 21, 2004.37U.S. Appl. No. 10/766,094, filed Jan. 27, 2004.38U.S. Appl. No. 10/767,003, filed Jan. 28, 2004.39U.S. Appl. No. 10/767,117, filed Jan. 28, 2004.40U.S. Appl. No. 10/767,118, filed Jan. 28, 2004.41U.S. Appl. No. 10/768,303, filed Jan. 29, 2004.42U.S. Appl. No. 10/769,415, filed Jan. 30, 2004.43U.S. Appl. No. 10/771,698, filed Feb. 3, 2004.44U.S. Appl. No. 10/771,827, filed Feb. 3, 2004.45U.S. Appl. No. 10/833,474, filed Apr. 27, 2004.46Virtual Private Servers and Security Contexts, dtd May 10, 2004, http://www.solucorp.qc.ca/miscprj/s-content.hc?prjstate=1&nodoc=0, (2 pgs).47Watson, "TrustedBSD-Adding Trusted Operating System Features to FreeBSD", The USENIX Association, 2001, 14 pages.Referenced byCiting PatentFiling datePublication dateApplicantTitleUS7900034 *Jul 31, 2007Mar 1, 2011International Business Machines CorporationBooting software partition with network file systemUS8095675 *Jul 20, 2006Jan 10, 2012Oracle America, Inc.Priority and bandwidth specification at mount time of NAS device volumeUS8301597Sep 16, 2011Oct 30, 2012Ca, Inc.System and method for network file system server replication using reverse path lookup* Cited by examinerClassifications U.S. Classification1/1, 707/999.001, 707/999.01International ClassificationG06F7/00, G06F17/30Cooperative ClassificationY10S707/99931, Y10S707/99943, G06F11/3476European ClassificationG06F11/34T4Legal EventsDateCodeEventDescriptionAug 10, 2012FPAYFee paymentYear of fee payment: 4Jan 28, 2004ASAssignmentOwner name: SUN MICROSYSTEMS, INC., CALIFORNIAFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LEONARD, OZGUR C.;TUCKER, ANDREW G.;REEL/FRAME:014946/0897;SIGNING DATES FROM 20040125 TO 20040127RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google