Patents by Inventor Jeff Havens

Jeff Havens has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20070134069
    Abstract: A containment mechanism provides for the grouping and isolation of multiple processes running on a single computer using a single instance of the operating system. A system environment is divided into one or more side-by-side and/or nested spaces enabling the partitioning and controlled sharing of resources by creating different views of hierarchical name spaces via virtual hierarchies. A set of declarative rules specifying access capabilities may specify a set of filter drivers to be used to limit access to nodes in the hierarchical name space. The rules may be applied in sequence to construct a new name space from an existing one, or to add to an existing hierarchy. Filter drivers are used to limit access to nodes in the new name space or new portion of the name space. Access to nodes can be limited (read-only access instead of read/write) or nodes can be hidden altogether. Rules may be specified in a declarative language such as XML.
    Type: Application
    Filed: December 12, 2005
    Publication date: June 14, 2007
    Applicant: Microsoft Corporation
    Inventors: Frederick Smith, Jeff Havens, Madhusudhan Talluri, Yousef Khalidi
  • Publication number: 20070134070
    Abstract: A containment mechanism provides for the grouping and isolation of multiple processes running on a single computer using a single instance of the operating system. A system is divided into one or more side-by-side and/or nested spaces enabling the partitioning and controlled sharing of resources by creating different views of hierarchical name spaces by creating a new branch of an existing global system name space or by linking the sub-root level nodes of a new hierarchy to a subset of nodes in an existing global system name space.
    Type: Application
    Filed: December 12, 2005
    Publication date: June 14, 2007
    Applicant: Microsoft Corporation
    Inventors: Frederick Smith, Jeff Havens, Madhusudhan Talluri, Yousef Khalidi
  • Publication number: 20070136356
    Abstract: An intra-operating system isolation mechanism called a silo provides for the grouping of processes running on a single computer using a single instance of the operating system. The operating system divides the system into multiple side-by-side and/or nested environments enabling the partitioning and controlled sharing of resources and providing an isolated application environment in which applications can run. More specifically, a system environment may be divided into an infrastructure silo and one or more server silos. Each server silo is provided with its own copy of the device driver name space. Each device is associated with a system device object accessed via a system device functional interface and with a server silo-specific device object accessed via a control device interface. The infrastructure silo populates the silo-specific device name space with the control device interface. The server silo uses the control device interface to create new device object(s) as needed.
    Type: Application
    Filed: December 12, 2005
    Publication date: June 14, 2007
    Applicant: Microsoft Corporation
    Inventors: Frederick Smith, Jeff Havens, Madhusudhan Talluri, Yousef Khalidi
  • Publication number: 20070134068
    Abstract: An intra-operating system isolation mechanism called a silo provides for the grouping and isolation of processes running on a single computer using a single instance of the operating system. The operating system enables the controlled sharing of resources by providing a view of a system name space to processes executing within an isolated application called a server silo. A server silo is created by performing a separate “mini-boot” of user-level services within the server silo. The single OS image serving the computer employs the mechanism of name space containment to constrain which server silos can use which resource(s). Restricting access to resources is therefore directly based on the process or application placed in the server silo rather than who is running the application because if a process or application is unable to resolve a name used to access a resource, it will be unable to use the resource.
    Type: Application
    Filed: December 12, 2005
    Publication date: June 14, 2007
    Applicant: Microsoft Corporation
    Inventors: Frederick Smith, Jeff Havens, Madhusudhan Talluri, Yousef Khalidi
  • Publication number: 20070136723
    Abstract: A containment mechanism provides for the grouping and isolation of multiple processes running on a single computer using a single instance of the operating system. A system is divided into one or more side-by-side and/or nested isolated environments enabling the partitioning and controlled sharing of resources by creating different views of hierarchical name spaces via virtual hierarchies.
    Type: Application
    Filed: December 12, 2005
    Publication date: June 14, 2007
    Applicant: Microsoft Corporation
    Inventors: Frederick Smith, Jeff Havens, Madhusudhan Talluri, Yousef Khalidi
  • Publication number: 20060271941
    Abstract: An operating system architecture is based on a service model in which active entities (services) are containers for objects having a number of interfaces specified through a contract language that is a subset of the language in which the service is coded. Services may reside in the same address space or may reside in separate address spaces, without changing the programming model or compiled binaries. The location of a service is independent of the location of the service's clients and of services the service calls.
    Type: Application
    Filed: May 16, 2005
    Publication date: November 30, 2006
    Applicant: Microsoft Corporation
    Inventors: Jose Bernabeu-Auben, Jeff Havens, Yousef Khalidi, Frank Peschel-Gallee, Madhusudhan Talluri
  • Publication number: 20060256797
    Abstract: An agent, service or process may request an operation by invoking an object that is implemented by another agent, service or process. Object invocation may be carried out by one thread in a service which may include multiple executing threads. After initiating the operation, the requesting agent may detect one or more conditions that make it advisable to cancel the requested operation. In a mechanism for implementing a cancellation operation in a cooperative system, a thread identifies an operation to be cancelled. A cancel function has an argument comprising the thread identifier in which the operation is to be cancelled. The cancel function is called by a client process thread to cancel a pending object invocation initiated by the client process. An immediate or hard cancel causes the targeted client and cancel thread to return immediately. A discretionary or soft cancel does not affect the targeted client thread. In either case the server process is notified via a maintenance notification.
    Type: Application
    Filed: May 16, 2005
    Publication date: November 16, 2006
    Applicant: Microsoft Corporation
    Inventors: Jose Bernabeu-Auban, Jeff Havens, Yousef Khalidi
  • Publication number: 20060259489
    Abstract: Reference counting is shared between an in-process service runtime and a machine-wide service. The machine-wide service maintains a count for the total number of references to an object or resource (the global reference count), a count for the number of exports of a object (the global export count) and a count of the number of exports that must be received by the machine-wide service before a revoke can occur (the exports before revoke count). When a process exports an object or resource, the machine-wide service increments the global export count for the object or resource and increments the global reference count for the object or resource. The machine-wide service increments the global reference count for a passed reference but does not increment the global reference count. The machine-wide service decrements the global reference count in response to receiving an unreferenced message.
    Type: Application
    Filed: May 16, 2005
    Publication date: November 16, 2006
    Applicant: Microsoft Corporation
    Inventors: Jose Bernabeu-Auban, Jeff Havens, Yousef Khalidi
  • Publication number: 20060259488
    Abstract: In response to receiving a communication from a first process directed to a second process, a trusted entity determines if an object reference in the communication refers to an object owned by a first process which is being exported to a second process or if the communication refers to an object not owned by the first process which is being passed to the second process. The trusted entity generates a second object reference for use by the second process. Use of a naming convention identifies the reference as a reference to an object which is foreign to or owned by the processes.
    Type: Application
    Filed: May 16, 2005
    Publication date: November 16, 2006
    Applicant: Microsoft Corporation
    Inventors: Jose Bernabeu-Auban, Jeff Havens
  • Publication number: 20060259675
    Abstract: Systems and methods for providing a framework within which device drivers may run at a user-mode level. A platform (e.g., APIC) or bus (PCI bus) generic feature is used to take the CPU out of interrupt mode without having to wait for a user-level driver to clear the device interrupt. This allows writing the complete device driver in user space. The device driver still get notifications on interrupts but not at interrupt priority. The same scheme can be extended to shared interrupts, where multiple devices share a single interrupt line.
    Type: Application
    Filed: May 16, 2005
    Publication date: November 16, 2006
    Applicant: Microsoft Corporation
    Inventors: Madhusudhan Talluri, Frederick Smith, Jeff Havens