Patents by Inventor Andrew Rogers

Andrew Rogers 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: 20130318136
    Abstract: Directories in a file system are defined with a dummy cluster in a file allocation table as the initial entry. Subsequent clusters in a directory's definition may define any data for the directory that can be changed in a transaction-safe mode. A directory may be modified in a transaction-safe mode by modifying any of the subsequent clusters while tracking changes in a second file allocation table. When the changes have been made to the directory, a pointer to the second file allocation table may be switched to indicate that the second file allocation table is now last known good. The first file allocation table may then be synchronized with the second.
    Type: Application
    Filed: July 29, 2013
    Publication date: November 28, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Sachin Patel, Yadhu Gopalan, Andrew Rogers
  • Patent number: 8499013
    Abstract: Directories in a file system are defined with a dummy cluster in a file allocation table as the initial entry. Subsequent clusters in a directory's definition may define any data for the directory that can be changed in a transaction-safe mode. A directory may be modified in a transaction-safe mode by modifying any of the subsequent clusters while tracking changes in a second file allocation table. When the changes have been made to the directory, a pointer to the second file allocation table may be switched to indicate that the second file allocation table is now last known good. The first file allocation table may then be synchronized with the second.
    Type: Grant
    Filed: September 19, 2011
    Date of Patent: July 30, 2013
    Assignee: Microsoft Corporation
    Inventors: Sachin Patel, Yadhu Gopalan, Andrew Rogers
  • Patent number: 8397290
    Abstract: Embodiments provide a security infrastructure that may be configured to run on top of an existing operating system to control what resources can be accessed by an applications and what APIs an application can call. Security decisions are made by taking into account both the current thread's identity and the current thread's call chain context to enable minimal privilege by default. The current thread context is captured and a copy of it is created to be used to perform security checks asynchronously. Every thread in the system has an associated identity. To obtain access to a particular resource, all the callers on the current thread are analyzed to make sure that each caller and thread has access to that resource. Only when each caller and thread has access to that resource is the caller given access to that resource.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: March 12, 2013
    Assignee: Microsoft Corporation
    Inventors: Neil Laurence Coles, Scott Randall Shell, Upender Reddy Sandadi, Angelo Renato Vals, Matthew G. Lyons, Christopher Ross Jordan, Andrew Rogers, Yadhu Gopalan, Bor-Ming Hsieh
  • Publication number: 20130013856
    Abstract: Various flash management techniques may be described. An apparatus may comprise a processor, a flash memory coupled to the processor, and a flash management module. The flash management module may be executed by the processor to receive a write request to write data to the flash memory, write a first control sector with a sequence number to the flash memory, and write the sequence number, an address for a logical sector, and data to at least one physical sector corresponding to the logical sector of the flash memory. Other embodiments are described and claimed.
    Type: Application
    Filed: September 14, 2012
    Publication date: January 10, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Andrew Rogers, Sachin C. Patel, Yadhu N. Gopalan
  • Patent number: 8307148
    Abstract: Various flash management techniques may be described. An apparatus may comprise a processor, a flash memory coupled to the processor, and a flash management module. The flash management module may be executed by the processor to receive a write request to write data to the flash memory, write a first control sector with a sequence number to the flash memory, and write the sequence number, an address for a logical sector, and data to at least one physical sector corresponding to the logical sector of the flash memory. Other embodiments are described and claimed.
    Type: Grant
    Filed: June 23, 2006
    Date of Patent: November 6, 2012
    Assignee: Microsoft Corporation
    Inventors: Andrew Rogers, Sachin C. Patel, Yadhu N. Gopalan
  • Publication number: 20120011179
    Abstract: Directories in a file system are defined with a dummy cluster in a file allocation table as the initial entry. Subsequent clusters in a directory's definition may define any data for the directory that can be changed in a transaction-safe mode. A directory may be modified in a transaction-safe mode by modifying any of the subsequent clusters while tracking changes in a second file allocation table. When the changes have been made to the directory, a pointer to the second file allocation table may be switched to indicate that the second file allocation table is now last known good. The first file allocation table may then be synchronized with the second.
    Type: Application
    Filed: September 19, 2011
    Publication date: January 12, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Sachin Patel, Yadhu Gopalan, Andrew Rogers
  • Publication number: 20110302142
    Abstract: A transaction safe file system uses two sets of file allocation tables and bitmap images to perform file modifications on one of the sets while the other set remains a last known good set. After a modification is complete, a pointer is changed to the newly modified set, and the newly modified set becomes the last known good set. The sets are then synchronized. The file allocation table is used to define cluster chains while the bitmap image is used to determine if a cluster is free or not. In some operations, only the bitmap image may need to be manipulated. The file system may be used in a transaction safe mode as well as a non-transaction safe mode.
    Type: Application
    Filed: August 15, 2011
    Publication date: December 8, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Sachin Patel, Yadhu Gopalan, Andrew Rogers
  • Patent number: 8024383
    Abstract: Directories in a file system are defined with a dummy cluster in a file allocation table as the initial entry. Subsequent clusters in a directory's definition may define any data for the directory that can be changed in a transaction-safe mode. A directory may be modified in a transaction-safe mode by modifying any of the subsequent clusters while tracking changes in a second file allocation table. When the changes have been made to the directory, a pointer to the second file allocation table may be switched to indicate that the second file allocation table is now last known good. The first file allocation table may then be synchronized with the second.
    Type: Grant
    Filed: November 2, 2009
    Date of Patent: September 20, 2011
    Assignee: Mircrosoft Corporation
    Inventors: Sachin Patel, Yadhu Gopalan, Andrew Rogers
  • Patent number: 8001165
    Abstract: A transaction safe file system uses two sets of file allocation tables and bitmap images to perform file modifications on one of the sets while the other set remains a last known good set. After a modification is complete, a pointer is changed to the newly modified set, and the newly modified set becomes the last known good set. The sets are then synchronized. The file allocation table is used to define cluster chains while the bitmap image is used to determine if a cluster is free or not. In some operations, only the bitmap image may need to be manipulated. The file system may be used in a transaction safe mode as well as a non-transaction safe mode.
    Type: Grant
    Filed: May 6, 2010
    Date of Patent: August 16, 2011
    Assignee: Microsoft Corporation
    Inventors: Sachin Patel, Yadhu Gopalan, Andrew Rogers
  • Patent number: 7930760
    Abstract: This disclosure describes techniques of using a centralized rule database to control the abilities of software processes to perform actions with regard to resources provided by a computer. As described herein, each software process executing in a computer executes within a chamber and each resource provided by the computer is associated with a canonical name that uniquely identifies the resource. Furthermore, the computer stores a set of security rules in a centralized rule database. In addition, this disclosure describes techniques of enforcing the rules stored in the centralized rule database.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: April 19, 2011
    Assignee: Microsoft Corporation
    Inventors: Neil Coles, Yadhu Gopalan, Christopher Jordan, Matthew Lyons, Andrew Rogers, Upender Sandadi, Scott Shell, Zoheb Vacheri, Angelo Vals, Sharath Viswanathan, Loren M. Kohnfelder
  • Publication number: 20100217788
    Abstract: A transaction safe file system uses two sets of file allocation tables and bitmap images to perform file modifications on one of the sets while the other set remains a last known good set. After a modification is complete, a pointer is changed to the newly modified set, and the newly modified set becomes the last known good set. The sets are then synchronized. The file allocation table is used to define cluster chains while the bitmap image is used to determine if a cluster is free or not. In some operations, only the bitmap image may need to be manipulated. The file system may be used in a transaction safe mode as well as a non-transaction safe mode.
    Type: Application
    Filed: May 6, 2010
    Publication date: August 26, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Sachin Patel, Yadhu Gopalan, Andrew Rogers
  • Patent number: 7747664
    Abstract: A transaction safe file system uses two sets of file allocation tables and bitmap images to perform file modifications on one of the sets while the other set remains a last known good set. After a modification is complete, a pointer is changed to the newly modified set, and the newly modified set becomes the last known good set. The sets are then synchronized. The file allocation table is used to define cluster chains while the bitmap image is used to determine if a cluster is free or not. In some operations, only the bitmap image may need to be manipulated. The file system may be used in a transaction safe mode as well as a non-transaction safe mode.
    Type: Grant
    Filed: January 16, 2007
    Date of Patent: June 29, 2010
    Assignee: Microsoft Corporation
    Inventors: Sachin Patel, Yadhu Gopalan, Andrew Rogers
  • Patent number: 7734714
    Abstract: A method, apparatus, and system is described for creating a spatial sieve tree which stores, manages, and manipulates multidimensional data by partitioning the bounds of the nodes of the tree, creating child nodes which each have defined bounds associated with a partitioned portion of their parent node(s) and may be further partitioned into additional levels of child nodes, and determining which level of the tree has the smallest size node in which a data object could wholly fit regardless of the data object's location in coordinate space and the one or more nodes of that determined level that could at least partially contain the data object based on the bounds of the one or more nodes and the data object's location in coordinate space.
    Type: Grant
    Filed: January 11, 2008
    Date of Patent: June 8, 2010
    Assignee: SpaceCurve, Inc.
    Inventor: J. Andrew Rogers
  • Patent number: 7711923
    Abstract: Flash memory is accessed via mapping tables comprising a master mapping table and at least one secondary mapping table. The master mapping table contains indexes to the secondary mapping tables. The secondary mapping tables contain indexes to locations in the flash memory. The mapping tables are maintained in the flash memory. Upon initialization subsequent a safe power shutdown, the master mapping table is cached and secondary mapping tables are cached as needed. Upon initialization subsequent an unsafe power shutdown, the mapping tables are constructed in accordance with a multiple-phase process. In an example embodiment, the multiple-phase process comprises locating all the secondary mapping tables stored in the flash memory, determining which secondary mapping tables are valid, determining which secondary mapping tables are invalid, determining which sectors of the flash memory are free, and constructing the master mapping table and the secondary mapping tables from this information.
    Type: Grant
    Filed: June 23, 2006
    Date of Patent: May 4, 2010
    Assignee: Microsoft Corporation
    Inventors: Andrew Rogers, Sachin C. Patel, Yadhu N. Gopalan
  • Publication number: 20100049776
    Abstract: Directories in a file system are defined with a dummy cluster in a file allocation table as the initial entry. Subsequent clusters in a directory's definition may define any data for the directory that can be changed in a transaction-safe mode. A directory may be modified in a transaction-safe mode by modifying any of the subsequent clusters while tracking changes in a second file allocation table. When the changes have been made to the directory, a pointer to the second file allocation table may be switched to indicate that the second file allocation table is now last known good. The first file allocation table may then be synchronized with the second.
    Type: Application
    Filed: November 2, 2009
    Publication date: February 25, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Sachin Patel, Yadhu Gopalan, Andrew Rogers
  • Patent number: 7650458
    Abstract: Various flash management techniques may be described. An apparatus may comprise a processor, a flash memory coupled to the processor, and a flash management module. The flash management module may be executed by the processor to receive a write transaction request to write data to a flash memory, and write the data to a set of multiple discontiguous logical sectors corresponding to a set of physical sectors of the flash memory in a single atomic operation. Other embodiments are described and claimed.
    Type: Grant
    Filed: June 23, 2006
    Date of Patent: January 19, 2010
    Assignee: Microsoft Corporation
    Inventors: Andrew Rogers, Sachin C. Patel, Yadhu N. Gopalan
  • Patent number: 7643658
    Abstract: A display arrangement comprises an image display device having a first camera directed towards positions adopted by users viewing the display; one or more further cameras directed towards other respective locations; a face detector for detecting human faces in images captured by the cameras; and means for detecting those faces which appear in images captured by both the first camera and at least one of the further cameras.
    Type: Grant
    Filed: January 21, 2005
    Date of Patent: January 5, 2010
    Assignee: Sony United Kingdom Limited
    Inventors: Andrew Roger Kilner, Victoria Sophia Jennings, Sebastian Aleksander Paszkowicz, Robert Mark Stefan Porter, Ratna Rambaruth, Clive Henry Gillard
  • Publication number: 20090328180
    Abstract: Embodiments provide a security infrastructure that may be configured to run on top of an existing operating system to control what resources can be accessed by an applications and what APIs an application can call. Security decisions are made by taking into account both the current thread's identity and the current thread's call chain context to enable minimal privilege by default. The current thread context is captured and a copy of it is created to be used to perform security checks asynchronously. Every thread in the system has an associated identity. To obtain access to a particular resource, all the callers on the current thread are analyzed to make sure that each caller and thread has access to that resource. Only when each caller and thread has access to that resource is the caller given access to that resource.
    Type: Application
    Filed: June 27, 2008
    Publication date: December 31, 2009
    Applicant: Microsoft Corporation
    Inventors: Neil Laurence Coles, Scott Randall Shell, Upender Sandadi, Angelo Renato Vals, Matthew G. Lyons, Christopher Ross Jordan, Andrew Rogers, Yadhu Gopalan, Bor-Ming Hsieh
  • Patent number: 7636456
    Abstract: A display arrangement comprises an image display device having two or more sets of images for display; a camera directed towards positions adopted by users viewing the display; a face detector for detecting human faces in images captured by the camera, the face detector being arranged to detect faces in at least two face categories; and means, responsive to the a frequency of detection of categories of faces by the face detector at one or more different periods, for selecting a set of images to be displayed on the image display device at that time of day.
    Type: Grant
    Filed: January 21, 2005
    Date of Patent: December 22, 2009
    Assignee: Sony United Kingdom Limited
    Inventors: Andrew Collins, Andrew Roger Kilner, Victoria Sophia Jennings, Sebastian Aleksander Paszkowicz, Eric Rudolf Siereveld, Stephane Daniel Andre Charles Labrousse, Robert Mark Stefan Porter, Ratna Rambaruth, Clive Henry Gillard
  • Patent number: 7613738
    Abstract: Directories in a file system are defined with a dummy cluster in a file allocation table as the initial entry. Subsequent clusters in a directory's definition may define any data for the directory that can be changed in a transaction-safe mode. A directory may be modified in a transaction-safe mode by modifying any of the subsequent clusters while tracking changes in a second file allocation table. When the changes have been made to the directory, a pointer to the second file allocation table may be switched to indicate that the second file allocation table is now last known good. The first file allocation table may then be synchronized with the second.
    Type: Grant
    Filed: January 16, 2007
    Date of Patent: November 3, 2009
    Assignee: Microsoft Corporation
    Inventors: Sachin Patel, Yadhu Gopalan, Andrew Rogers