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).
-
Publication number: 20050066340Abstract: 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: ApplicationFiled: November 11, 2004Publication date: March 24, 2005Applicant: Microsoft CorporationInventors: Sharad Mathur, Gregory Hullender, Mark Miller, Bruce Johnson, Michael Ginsberg
-
Patent number: 6856999Abstract: 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: GrantFiled: June 12, 2001Date of Patent: February 15, 2005Assignee: Microsoft CorporationInventors: Stephen D. Flanagin, Michael Ginsberg
-
Publication number: 20050021917Abstract: 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: ApplicationFiled: August 17, 2004Publication date: January 27, 2005Applicant: Microsoft CorporationInventors: Sharad Mathur, Michael Ginsberg, Thomas Fenwick, Anthony Kitowicz, William Mitchell, Jason Fuller
-
Patent number: 6832381Abstract: 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: GrantFiled: April 28, 2000Date of Patent: December 14, 2004Assignee: Microsoft CorporationInventors: Sharad Mathur, Gregory Hullender, Mark Miller, Bruce Johnson, Michael Ginsberg
-
Publication number: 20040225694Abstract: 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: ApplicationFiled: June 9, 2004Publication date: November 11, 2004Inventors: Stephen D. Flanagin, Michael Ginsberg
-
Publication number: 20040155896Abstract: 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: ApplicationFiled: January 21, 2004Publication date: August 12, 2004Inventors: Edward S. Miller, Bjorn C. Rettig, Gregory Wilson, Shan Xu, Arul A. Menezes, Michael J. Thomson, Sharad Mathur, Roberto Cazzaro, Michael Ginsberg
-
Patent number: 6717588Abstract: 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: GrantFiled: June 13, 2000Date of Patent: April 6, 2004Assignee: Microsoft CorporationInventors: Edward S. Miller, Bjorn C. Retting, Gregory Wilson, Shan Xu, Arul A. Meneze, Michael J. Thomson, Sharad Mathur, Roberto Cazzaro, Michael Ginsberg
-
Patent number: 6704807Abstract: 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: GrantFiled: April 28, 2000Date of Patent: March 9, 2004Assignee: Microsoft CorporationInventors: Sharad Mathur, Gregory Hullender, Mark Miller, Bruce Johnson, Michael Ginsberg
-
Patent number: 6671745Abstract: 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: GrantFiled: March 22, 1999Date of Patent: December 30, 2003Assignee: Microsoft CorporationInventors: Sharad Mathur, Gregory Hullender, Mark Miller, Bruce Johnson, Michael Ginsberg
-
Patent number: 6637023Abstract: A method and system are described for updating software modules bundled in a read-only device of a computer. According to the invention, when a software module is to be executed from the read-only device, the operating system identifies any other software modules stored within the read-only device on which the application depends. After identifying all of the dependencies, the operating determines whether a newer version of any of the identified software modules has been installed on the computer. The operating system copies into a read/write device a portion of the software module that references the old software modules. After copying the portion, the operating system modifies all references to point to the new versions of the software module. The invention allows software modules to be primarily executed from the read-only device with only a small updated portion being executed from a read/write device.Type: GrantFiled: March 3, 1999Date of Patent: October 21, 2003Assignee: Microsoft CorporationInventor: Michael Ginsberg
-
Patent number: 6574747Abstract: A system implementing an execute-in-place (XIP) architecture is presented comprising a plurality of XIP regions. To facilitate execute-in-place functionality across the multiple XIP regions, a virtual address table (VAT) is generated to store pointers to the objects stored in the non-volatile memory hosting the multiple XIP regions.Type: GrantFiled: December 5, 2000Date of Patent: June 3, 2003Assignee: Microsoft CorporationInventor: Michael Ginsberg
-
Publication number: 20020069342Abstract: A system implementing an execute-in-place (XIP) architecture is presented comprising a plurality of XIP regions. To facilitate execute-in-place functionality across the multiple XIP regions, a virtual address table (VAT) is generated to store pointers to the objects stored in the non-volatile memory hosting the multiple XIP regions.Type: ApplicationFiled: December 5, 2000Publication date: June 6, 2002Inventor: Michael Ginsberg
-
Publication number: 20020040445Abstract: 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: ApplicationFiled: June 12, 2001Publication date: April 4, 2002Inventors: Stephen D. Flanagin, Michael Ginsberg
-
Publication number: 20020007387Abstract: 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: ApplicationFiled: April 25, 2001Publication date: January 17, 2002Inventor: Michael Ginsberg
-
Patent number: 6175916Abstract: The invention includes a method of making a call from one process to another. The method includes executing a jump instruction from a first process, while specifying an invalid destination address such as an odd virtual memory address. The invalid address causes a memory fault, which in turn results in the invocation of a memory fault handler. The memory fault handler is configured to recognize certain specified invalid addresses, and to call different system functions depending on the particular values of the addresses. The thread of the calling process is used to execute both the fault handler and the called system functions.Type: GrantFiled: May 6, 1997Date of Patent: January 16, 2001Assignee: Microsoft CorporationInventors: Michael Ginsberg, Thomas Fenwick
-
Patent number: 5621894Abstract: A system and method for exchanging data processing capabilities between computers. The computers exchange capabilities so that data transfer between the computers may be made in the most efficient data format possible for the two computers. A first computer, which will receive a data file, sends a list of data processing capabilities to a second computer, which will transmit the data file to the first computer. The transmitting computer examines the capabilities list of the receiving computer as well as its own capabilities list and determines the most efficient data format for the transfer. The transmitting computer may process the data file into an intermediate format for efficient data transfer so that the receiving computer will process the intermediate data file into the desired data format. The capabilities list can be cached for future communication between the computers. The system can update the capabilities list and inform other computers whether their cached capabilities list is current.Type: GrantFiled: August 9, 1995Date of Patent: April 15, 1997Assignee: Microsoft CorporationInventors: Arul Menezes, Sharad Mathur, Michael Ginsberg
-
Patent number: 5473691Abstract: The system of the present invention processes data for communication between first and second computers by linearizing the communications message. The message comprises a linear header portion, an extended header portion, and a message body. The linear header portion identifies the number of message recipients and message types. The extended header contains detailed information about the message recipients, such as recipient name and address. The extended header may also contain message subject information, polling information, and password data. The header information is used by the receiving computer to prepare to process the expected data type. The message body may be transferred in a form that takes advantage of the data processing capabilities of the first and second computers. The computers may exchange data processing capabilities so that the most efficient transfer form may be selected. The extended header and message body are encoded using a well-known ASN-1 data encoding process.Type: GrantFiled: November 5, 1993Date of Patent: December 5, 1995Assignee: Microsoft CorporationInventors: Arul Menezes, Sharad Mathur, Michael Ginsberg