Patents by Inventor Michael Ginsberg

Michael Ginsberg 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).

  • Patent number: 9637723
    Abstract: This disclosure is directed to methods for reproducibly generating substantial amounts of endothelial cells from amniotic cells. The endothelial cells generated in accordance with the present methodology, as well as therapeutic methods utilizing these cells, are also disclosed.
    Type: Grant
    Filed: May 30, 2013
    Date of Patent: May 2, 2017
    Assignee: CORNELL UNIVERSITY Q
    Inventors: Shahin Rafii, Sina Y. Rabbany, Michael Ginsberg
  • Publication number: 20150147299
    Abstract: This disclosure is directed to methods for reproducibly generating substantial amounts of endothelial cells from amniotic cells. The endothelial cells generated in accordance with the present methodology, as well as therapeutic methods utilizing these cells, are also disclosed.
    Type: Application
    Filed: May 30, 2013
    Publication date: May 28, 2015
    Applicant: Cornell University
    Inventors: Shahin Rafii, Sina Y. Rabbany, Michael Ginsberg
  • Patent number: 8056081
    Abstract: Described herein is a method of controlling memory usage in a computer system having limited physical memory, wherein one or more application programs execute in conjunction with an operating system. At a first memory usage threshold, the operating system requests at least one of the application programs to limit its use of memory. At a second memory usage threshold that is more critical than the first memory usage threshold, the operating system requests at least one of the application programs to close itself. At a third memory usage threshold that is more critical than the first and second memory usage thresholds, the operating system terminates at least one of the application programs without allowing its further execution.
    Type: Grant
    Filed: August 17, 2004
    Date of Patent: November 8, 2011
    Assignee: Microsoft Corporation
    Inventors: Sharad Mathur, Michael Ginsberg, Thomas Fenwick, Anthony Kitowicz, William H. Mitchell, Jason W. Fuller
  • Patent number: 7856635
    Abstract: A multi-tasking operating system and method updates PCI address values in an extension register to ensure that various threads utilize the correct values when accessing peripheral PCI devices. When application program threads require access to a PCI device, the operating system writes the high order bits of the PCI device address to two places: (1) the extension register of the PCI host bridge to allow immediate addressing of the PCI device, and (2) separate memory locations associated with the threads. When a context switch occurs from a first thread to a second thread, the operating system retrieves the stored value from the memory location associated with the second thread and writes the value to the extension register. In this manner, when the second thread requires access to its PCI device, the proper address value is already located in the extension register.
    Type: Grant
    Filed: March 17, 2005
    Date of Patent: December 21, 2010
    Assignee: Microsoft Corporation
    Inventors: Ray A. Bittner, Jr., Michael Ginsberg
  • Patent number: 7849463
    Abstract: Systems and methods for dynamically variable idle time thread scheduling are described. In one aspect, threads are scheduled according to a predetermined periodic rate. If there are no threads to execute, one or more hardware elements and program modules are deactivated to an idle state for a dynamic variable amount of time. The dynamic variable amount of time is independent of the predetermined periodic rate at which threads are scheduled. The dynamic variable amount of time is also independent of key press events, and any event associated with release of a resource. Instead, the dynamic variable amount of time is based on a sleep state of a set of threads in a sleep queue.
    Type: Grant
    Filed: November 14, 2006
    Date of Patent: December 7, 2010
    Assignee: Microsoft Corporation
    Inventor: Michael Ginsberg
  • Patent number: 7802266
    Abstract: A number of program modules may be stored on the hard disk, magnetic disk 29, optical disk 31, ROM 24, or RAM 25, including an operating system 35, one or more application programs 36, other program modules 37, and program data 38. The hard disk, magnetic disk, optical disk, ROM, RAM, and the like can be termed computer readable-storage media. A user may enter commands and information into the personal computer 20 through input devices such as a keyboard 40 and pointing device 42. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, touch sensitive pad, or the like. These and other input devices are often connected to the processing unit 21 through a serial port interface 46 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port, or a universal serial bus (USB). In addition, input to the system may be provided by a microphone to receive audio input.
    Type: Grant
    Filed: November 11, 2004
    Date of Patent: September 21, 2010
    Assignee: Microsoft Corporation
    Inventors: Sharad Mathur, Gregory Hullender, Mark Miller, Bruce Johnson, Michael Ginsberg
  • Patent number: 7472067
    Abstract: A set of Application Program Interfaces (APIs) for a resource-limited environment are disclosed. The APIs provide a mechanism for a computer application to interface with various components and modules of an operating system for a resource-limited environment. The APIs further provide a mechanism to interface with input/output devices commonly found in embedded systems running in a resource-limited environment.
    Type: Grant
    Filed: November 11, 2004
    Date of Patent: December 30, 2008
    Assignee: Microsoft Corporation
    Inventors: Sharad Mathur, Gregory Hullender, Mark Miller, Bruce Johnson, Michael Ginsberg
  • Patent number: 7464334
    Abstract: In an operating system, a resource handler accepts resource requests from application modules. A resource request identifies a module from which the requested resource is to be obtained. Rather than providing the resource from the identified module, however, the resource handler provides the requested resource from an associated resource module. An association between an executable module and resource modules of different languages is created by a defined file naming convention, optionally using different directories for resource modules of different languages. Some executable modules contain a shared resource reference which can be used to create an association between multiple executable modules and a single set of shared resource modules. A language fallback mechanism allows alternative languages to be used where resource modules of the appropriate language are not available.
    Type: Grant
    Filed: January 27, 2004
    Date of Patent: December 9, 2008
    Assignee: Microsoft Corporation
    Inventors: Edward S. Miller, Bjorn C. Retting, Gregory Wilson, Shan Xu, Arul A. Meneze, Michael J. Thomson, Sharad Mathur, Roberto Cazzaro, Michael Ginsberg
  • Patent number: 7310649
    Abstract: A data structure for efficient enqueuing and dequeuing is disclosed. The structure includes a horizontally linked list, an array, a vertically linked list, and a head pointer. Entity ranks are distributed over the array, where each array entry has a range of ranks. Each array entry points to null or the entity having the greatest rank within that entry's range. The horizontally linked list links at least a subset of ranked entities. Each entity in the linked list has a unique rank as compared to the ranks of the other entities in the list. Each vertically linked list links a subset of entities having an identical rank. The head pointer points to the entity that has the greatest rank. Methods for adding entities to and removing entities from the data structure are also disclosed. The invention can be used to enqueue threads to and dequeue threads from a priority queue.
    Type: Grant
    Filed: September 30, 2000
    Date of Patent: December 18, 2007
    Assignee: Microsoft Corporation
    Inventor: Michael Ginsberg
  • Patent number: 7284124
    Abstract: The present invention provides a system and method for regulating access to a computer platform via a provably trustworthy trust level generator and monitor. The present invention comprises an operating system component that recognizes when applications desire access to a distributed platform. The operating system component is responsible for regulating access to the platform. Such regulation may be achieved by, for example, refusing to load the application or by limiting calls that an application can make through one or more Application Programming Interfaces. The present invention further comprises a distributed platform analysis component for analyzing applications attempting to access a distributed platform and for establishing a trust level for the application.
    Type: Grant
    Filed: September 27, 2000
    Date of Patent: October 16, 2007
    Assignee: Microsoft Corporation
    Inventor: Michael Ginsberg
  • Publication number: 20070074219
    Abstract: Systems and methods for dynamically variable idle time thread scheduling are described. In one aspect, threads are scheduled according to a predetermined periodic rate. If there are no threads to execute, one or more hardware elements and program modules are deactivated to an idle state for a dynamic variable amount of time. The dynamic variable amount of time is independent of the predetermined periodic rate at which threads are scheduled. The dynamic variable amount of time is also independent of key press events, and any event associated with release of a resource. Instead, the dynamic variable amount of time is based on a sleep state of a set of threads in a sleep queue.
    Type: Application
    Filed: November 14, 2006
    Publication date: March 29, 2007
    Applicant: Microsoft Corporation
    Inventor: Michael Ginsberg
  • Patent number: 7137117
    Abstract: The subject matter provides dynamically variable idle time thread scheduling in a device with a high system tick rate. A device based on the subject matter includes an operating system, a set of application program modules, and one or more hardware elements. A thread scheduling mechanism in the operating system schedules threads at a periodic rate. Upon determining that there are no threads to execute, at least a subset of components are deactivated for a dynamic variable amount of time before they are is re-activated. The at least one subset of components are selected from the hardware elements, one or more program modules comprising the operating system, and the like. The dynamic variable amount of time is independent of the periodic rate and based on a sleep state of a set of threads in a sleep queue.
    Type: Grant
    Filed: April 25, 2001
    Date of Patent: November 14, 2006
    Assignee: Microsoft Corporation
    Inventor: Michael Ginsberg
  • Patent number: 6970889
    Abstract: Systems and methods for synchronizing a device and for ensuring that updates to the device occurring during synchronization are not re-synchronized to the synchronization partner. Generation identifiers (GIDs), which are updated each time a synchronization occurs, are assigned to objects in a store. When synchronization occurs, a sync client uses state information, which is used to indicate which generations have been synchronized, to determine which objects have changed since the last synchronization. The state information includes reserved write GIDs that are only used by a particular sync client that performs writes during a synchronization. Objects having a GID that matches a write GID are not synchronized because they were written by the sync client during the previous synchronization.
    Type: Grant
    Filed: June 9, 2004
    Date of Patent: November 29, 2005
    Assignee: Microsoft Corporation
    Inventors: Stephen D. Flanagin, Michael Ginsberg
  • Patent number: 6938254
    Abstract: Described herein is a method of controlling memory usage in a computer system having limited physical memory, wherein one or more application programs execute in conjunction with an operating system. At a first memory usage threshold, the operating system requests at least one of the application programs to limit its use of memory. At a second memory usage threshold that is more critical than the first memory usage threshold, the operating system requests at least one of the application programs to close itself. At a third memory usage threshold that is more critical than the first and second memory usage thresholds, the operating system terminates at least one of the application programs without allowing its further execution.
    Type: Grant
    Filed: May 6, 1997
    Date of Patent: August 30, 2005
    Assignee: Microsoft Corporation
    Inventors: Sharad Mathur, Michael Ginsberg, Thomas Fenwick, Anthony Kitowicz, William H. Mitchell, Jason Fuller
  • Publication number: 20050165976
    Abstract: A multi-tasking operating system and method updates PCI address values in an extension register to ensure that various threads utilize the correct values when accessing peripheral PCI devices. When application program threads require access to a PCI device, the operating system writes the high order bits of the PCI device address to two places: (1) the extension register of the PCI host bridge to allow immediate addressing of the PCI device, and (2) separate memory locations associated with the threads. When a context switch occurs from a first thread to a second thread, the operating system retrieves the stored value from the memory location associated with the second thread and writes the value to the extension register. In this manner, when the second thread requires access to its PCI device, the proper address value is already located in the extension register.
    Type: Application
    Filed: March 17, 2005
    Publication date: July 28, 2005
    Applicant: Microsoft Corporation
    Inventors: Ray Bittner, Michael Ginsberg
  • Publication number: 20050108218
    Abstract: A set of Application Program Interfaces (APIs) for a resource-limited environment are disclosed. The APIs provide a mechanism for a computer application to interface with various components and modules of an operating system for a resource-limited environment. The APIs further provide a mechanism to interface with input/output devices commonly found in embedded systems running in a resource-limited environment.
    Type: Application
    Filed: November 11, 2004
    Publication date: May 19, 2005
    Applicant: Microsoft Corporation
    Inventors: Sharad Mathur, Gregory Hullender, Mark Miller, Bruce Johnson, Michael Ginsberg
  • Publication number: 20050102687
    Abstract: A set of Application Program Interfaces (APIs) for a resource-limited environment are disclosed. The APIs provide a mechanism for a computer application to interface with various components and modules of an operating system for a resource-limited environment. The APIs further provide a mechanism to interface with input/output devices commonly found in embedded systems running in a resource-limited environment.
    Type: Application
    Filed: November 11, 2004
    Publication date: May 12, 2005
    Applicant: Microsoft Corporation
    Inventors: Sharad Mathur, Gregory Hullender, Mark Miller, Bruce Johnson, Michael Ginsberg
  • Publication number: 20050097577
    Abstract: A set of Application Program Interfaces (APIs) for a resource-limited environment are disclosed. The APIs provide a mechanism for a computer application to interface with various components and modules of an operating system for a resource-limited environment. The APIs further provide a mechanism to interface with input/output devices commonly found in embedded systems running in a resource-limited environment.
    Type: Application
    Filed: November 11, 2004
    Publication date: May 5, 2005
    Applicant: Microsoft Corporation
    Inventors: Sharad Mathur, Gregory Hullender, Mark Miller, Bruce Johnson, Michael Ginsberg
  • Patent number: 6883171
    Abstract: A multi-tasking operating system and method updates PCI address values in an extension register to ensure that various threads utilize the correct values when accessing peripheral PCI devices. When application program threads require access to a PCI device, the operating system writes the high order bits of the PCI device address to two places: (1) the extension register of the PCI host bridge to allow immediate addressing of the PCI device, and (2) separate memory locations associated with the threads. When a context switch occurs from a first thread to a second thread, the operating system retrieves the stored value from the memory location associated with the second thread and writes the value to the extension register. In this manner, when the second thread requires access to its PCI device, the proper address value is already located in the extension register.
    Type: Grant
    Filed: June 2, 1999
    Date of Patent: April 19, 2005
    Assignee: Microsoft Corporation
    Inventors: Ray A. Bittner, Jr., Michael Ginsberg
  • Publication number: 20050071855
    Abstract: A set of Application Program Interfaces (APIs) for a resource-limited environment are disclosed. The APIs provide a mechanism for a computer application to interface with various components and modules of an operating system for a resource-limited environment. The APIs further provide a mechanism to interface with input/output devices commonly found in embedded systems running in a resource-limited environment.
    Type: Application
    Filed: November 11, 2004
    Publication date: March 31, 2005
    Applicant: Microsoft Corporation
    Inventors: Sharad Mathur, Gregory Hullender, Mark Miller, Bruce Johnson, Michael Ginsberg