Patents by Inventor Nikolaj S. Bjorner
Nikolaj S. Bjorner 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: 7624179Abstract: A resource naming service (RNS) server receives peer resource requests from peer platforms through a networking environment. The RNS server, possibly in cooperation with other RNS servers and peer registrars generates a response to the request to enable the peer platforms to access the requested peer resources. In one embodiment, a response includes a list of locations of peer devices in the networking environment where a resource is expected to be available. A requesting device can then choose to access the resource from one or more of the listed peer locations.Type: GrantFiled: February 11, 2005Date of Patent: November 24, 2009Assignee: Microsoft CorporationInventors: Dan Teodosiu, Nikolaj S. Bjorner, Markus M. Breunig
-
Patent number: 7620721Abstract: Aspects of the subject matter described herein relate to replicating initial content in resource replication systems. In aspects, each member participating in a replica group obtains a content set state from a directory service. The content set state indicates whether the member is allowed to synchronize resources with another member participating in the replica group. If the member is designated as a primary member, the member may replicate out resources to its downstream partners. If a member is not designated as a primary member, the member may not replicate out resources to its downstream partners until it has successfully synchronized resources with an upstream partner. Fence values may be set which control which resources win (and are replicated out) during synchronization.Type: GrantFiled: February 28, 2006Date of Patent: November 17, 2009Assignee: Microsoft CorporationInventors: Guhan Suriyanarayanan, Huisheng Liu, Shobana M. Balakrishnan, Nikolaj S. Bjørner
-
Publication number: 20090271528Abstract: The present invention provides a method for chunking an object. The method is arranged to provide efficient chunking of objects such that objects can be efficiently updated between a remote machine and a local machine over a network. The chunking algorithm is applicable in networked application such as file synchronization using remote differential compression (RDC) techniques. The chunking algorithm provides enhanced efficiencies by locating chunk boundaries around local maxima.Type: ApplicationFiled: April 28, 2009Publication date: October 29, 2009Applicant: MICROSOFT CORPORATIONInventors: Yuri Gurevich, Nikolaj S. Bjorner, Dan Teodosiu
-
Patent number: 7610378Abstract: A resource naming service (RNS) server receives peer resource requests from peer platforms through a networking environment. The RNS server, possibly in cooperation with other RNS servers and peer registrars generates a response to the request to enable the peer platforms to access the requested peer resources. In one embodiment, a response includes a list of locations of peer devices in the networking environment where a resource is expected to be available. A requesting device can then choose to access the resource from one or more of the listed peer locations.Type: GrantFiled: February 11, 2005Date of Patent: October 27, 2009Assignee: Microsoft CorporationInventors: Dan Teodosiu, Nikolaj S. Bjorner, Markus M. Breunig
-
Patent number: 7594030Abstract: A resource naming service (RNS) server receives peer resource requests from peer platforms through a networking environment. The RNS server, possibly in cooperation with other RNS servers and peer registrars generates a response to the request to enable the peer platforms to access the requested peer resources. In one embodiment, a response includes a list of locations of peer devices in the networking environment where a resource is expected to be available. A requesting device can then choose to access the resource from one or more of the listed peer locations.Type: GrantFiled: September 13, 2001Date of Patent: September 22, 2009Assignee: Microsoft CorporationInventors: Dan Teodosiu, Nikolaj S. Bjorner, Markus M. Breunig
-
Publication number: 20090192767Abstract: A method is described for combining models of a plurality of theory solvers in order to produce a model which may be satisfiable by each of the plurality of theory solvers. A model is accessed for a first theory solver which is satisfiable in the first theory solver. It is determined that one or more equalities are implied by the model and it is determined if the equalities are compatible with a second solver. The model is updated in accordance any equalities determined not to be compatible with the second solver. A method is also described for mutation of models using freedom intervals. A freedom interval is determined for a variable within a model and the model is updates by choosing a value for the variable which lies within the freedom interval.Type: ApplicationFiled: January 24, 2008Publication date: July 30, 2009Applicant: MICROSOFT CORPORATIONInventors: Leonardo M. de Moura, Nikolaj S. Bjorner
-
Patent number: 7562149Abstract: Peer devices register with a resource locator service so that the peer devices can be uniquely identified in a networking environment. An addressing scheme addresses a peer resource in the networking environment based on the unique identifier of a peer device that is a master publisher of the resource. Based on the addressing scheme, the resource locator service can track the location of the master publisher of the resource as well as additional locations of peer devices that have cached the resource and made it available. In various embodiments, the resource locator service can service requests for peer resources by providing a list of locations where the resource is expected to be available or, in the case of non-compatible requester, provide access to the resource itself.Type: GrantFiled: February 25, 2005Date of Patent: July 14, 2009Assignee: Microsoft CorporationInventors: Dan Teodosiu, Nikolaj S. Bjorner, Markus M. Breunig
-
Patent number: 7555531Abstract: A method and system are related to updating objects over limited bandwidth networks. Objects are updated between two or more computing devices using remote differential compression (RDC) techniques such that required data transfers are minimized. In one aspect, efficient large object transfers are achieved by recursively applying the RDC algorithm to its own metadata; a single or multiple recursion step(s) may be used in this case to reduce the amount of metadata sent over the network by the RDC algorithm. Objects and/or signature and chunk length lists can be chunked by locating boundaries at dynamically determined locations. A mathematical function evaluates hash values associated within a horizon window relative to potential chunk boundary.Type: GrantFiled: April 15, 2004Date of Patent: June 30, 2009Assignee: Microsoft CorporationInventors: Dan Teodosiu, Nikolaj S. Bjørner, Yuri Gurevich, Patrick E. Bozeman
-
Publication number: 20090164501Abstract: Embodiments are introduced which provide for creation of an E-matching code tree index which works on E-graphs to make E-matching more efficient. Use of the E-matching code tree allows performing matching of several patterns simultaneously. Embodiments are also described which provide for the generation of inverted path indexes. An inverted path index may be used to filter an E-graph to determine terms which may potentially match patterns when an E-graph is updated.Type: ApplicationFiled: December 21, 2007Publication date: June 25, 2009Applicant: MICROSOFT CORPORATIONInventors: Leonardo M. de Moura, Nikolaj S. Bjorner
-
Patent number: 7552148Abstract: Aspects of the subject matter described herein relate to shutdown recovery for resource replication systems. In aspects, a mechanism is described in which a machine having replicated data thereon can recover from a dirty shutdown. First, the machine determines whether a dirty shutdown has occurred. If so, the machine automatically performs shutdown recovery by causing resource metadata stored by the machine to be consistent with resource data stored by the machine. This may involve fixing the resource metadata for updates to the resource data that were not flushed to disk or may involve deleting the resource metadata and restoring it from another machine replicating the data.Type: GrantFiled: February 28, 2006Date of Patent: June 23, 2009Assignee: Microsoft CorporationInventors: Huisheng Liu, Guhan Suriyanarayanan, Nikolaj S. Bjorner, Dan Teodosiu
-
Patent number: 7536419Abstract: Aspects of the subject matter described herein relate to resource replication systems. In aspects, a mechanism is described that maintains replicated resources on a slave member that participates in a replica group. The slave member detects that a local resource has been updated locally. If the resource was created locally in the update, the slave member deletes the local resource. Otherwise, the slave member determines an upstream partner from which to install a replacement resource and then installs the replacement resource. In aspects, this behavior undoes local updates to local resources that occur on the slave member.Type: GrantFiled: February 28, 2006Date of Patent: May 19, 2009Assignee: Microsoft CorporationInventors: Huisheng Liu, Nikolaj S. Bjorner, Guhan Suriyanarayanan
-
Patent number: 7536465Abstract: Peer devices register with a resource locator service so that the peer devices can be uniquely identified in a networking environment. An addressing scheme addresses a peer resource in the networking environment based on the unique identifier of a peer device that is a master publisher of the resource. Based on the addressing scheme, the resource locator service can track the location of the master publisher of the resource as well as additional locations of peer devices that have cached the resource and made it available. In various embodiments, the resource locator service can service requests for peer resources by providing a list of locations where the resource is expected to be available or, in the case of non-compatible requester, provide access to the resource itself.Type: GrantFiled: July 22, 2005Date of Patent: May 19, 2009Assignee: Microsoft CorporationInventors: Dan Teodosiu, Nikolaj S. Bjorner, Markus M. Breunig
-
Publication number: 20090077252Abstract: Systems and methods for compression of data to be transmitted are described. A data stream, such as a byte code sequence, is partitioned into one or more data chunks. The data chunks can be associated with an identifier, such as a signature that differentiates one data chunk from the other. Thus, different data chunks would be identifiable through different signatures. The data chunks associated with the signatures can be compared with a repository or a history buffer. The history buffer includes a collection of previously transmitted data chunks each associated with their respective signature.Type: ApplicationFiled: September 14, 2007Publication date: March 19, 2009Applicant: Microsoft CorporationInventors: Nadim Y. Abdo, Nikolaj S. Bjorner
-
Patent number: 7506005Abstract: A computing device has a file stored on a storage volume by a file system and accessed through such file system. The file is defined to include data and metadata relating to the data, and at least a portion of the data of the file is removed from the file and stored at an alternate location such that the data does not occupy substantially any space on the volume and the file is in a reduced, ghosted form. The ghosted file is reconstituted for use by retrieving the data from the alternate location and associating such retrieved data with such ghosted file to form the reconstituted file.Type: GrantFiled: July 14, 2005Date of Patent: March 17, 2009Assignee: Microsoft CorporationInventors: Sarosh Cyrus Havewala, Guhan Suriyanarayanan, Christophe Franck Robert, Shobana Balakrishnan, Dan Teodosiu, Nikolaj S. Bjorner
-
Patent number: 7506007Abstract: A method and system for synchronizing objects among members of a replica set. An interval vector is maintained on each member. The interval vector includes one or more intervals each of which has an upper and lower bound. During synchronization, the member sends the interval vector to the member with which it is synchronizing. The other member examines the interval vector and finds resources with versions that are not included in any of the intervals of the interval vector. The other member then transmits these resources to the first member which uses them to update its store. The first member also updates its interval vector to account for the received resources.Type: GrantFiled: March 1, 2004Date of Patent: March 17, 2009Assignee: Microsoft CorporationInventor: Nikolaj S. Bjørner
-
Patent number: 7290019Abstract: A method and system for synchronizing objects among members of a replica set. Objects on members of the replica set are quickly synchronized via a join algorithm that takes advantage of version vectors. When an object is deleted, the object is tombstoned (i.e., marked as “dead”). Tombstones are also replicated between the connected members of the replica set. After a period of time (e.g., a timeout), the tombstones are deleted. A slow sync algorithm executes periodically to ensure that objects that were not deleted via replicated tombstones are eventually deleted. An époque algorithm provides that members that have been offline for a long period of time will update their objects before they participate in a join synchronization.Type: GrantFiled: February 13, 2004Date of Patent: October 30, 2007Assignee: Microsoft CorporationInventors: Nikolaj S. Bjørner, Dan Teodosiu, Rostislav Yavorskiy
-
Patent number: 7200667Abstract: Peer devices register with a resource locator service so that the peer devices can be uniquely identified in a networking environment. An addressing scheme addresses a peer resource in the networking environment based on the unique identifier of a peer device that is a master publisher of the resource. Based on the addressing scheme, the resource locator service can track the location of the master publisher of the resource as well as additional locations of peer devices that have cached the resource and made it available. In various embodiments, the resource locator service can service requests for peer resources by providing a list of locations where the resource is expected to be available or, in the case of non-compatible requester, provide access to the resource itself.Type: GrantFiled: February 25, 2005Date of Patent: April 3, 2007Assignee: Microsoft CorporationInventors: Dan Teodosiu, Nikolaj S. Bjorner, Markus M. Breunig
-
Patent number: 7072982Abstract: Peer devices register with a resource locator service so that the peer devices can be uniquely identified in a networking environment. An addressing scheme addresses a peer resource in the networking environment based on the unique identifier of a peer device that is a master publisher of the resource. Based on the addressing scheme, the resource locator service can track the location of the master publisher of the resource as well as additional locations of peer devices that have cached the resource and made it available. In various embodiments, the resource locator service can service requests for peer resources by providing a list of locations where the resource is expected to be available or, in the case of non-compatible requester, provide access to the resource itself.Type: GrantFiled: September 13, 2001Date of Patent: July 4, 2006Assignee: Microsoft CorporationInventors: Dan Teodosiu, Nikolaj S. Bjorner, Markus M. Breunig
-
Publication number: 20040186916Abstract: A method and system for synchronizing objects among members of a replica set. An interval vector is maintained on each member. The interval vector includes one or more intervals each of which has an upper and lower bound. During synchronization, the member sends the interval vector to the member with which it is synchronizing. The other member examines the interval vector and finds resources with versions that are not included in any of the intervals of the interval vector. The other member then transmits these resources to the first member which uses them to update its store. The first member also updates its interval vector to account for the received resources.Type: ApplicationFiled: March 1, 2004Publication date: September 23, 2004Inventor: Nikolaj S. Bjorner
-
Publication number: 20040177100Abstract: A method and system for synchronizing objects among members of a replica set. Objects on members of the replica set are quickly synchronized via a join algorithm that takes advantage of version vectors. When an object is deleted, the object is tombstoned (i.e., marked as “dead”). Tombstones are also replicated between the connected members of the replica set. After a period of time (e.g., a timeout), the tombstones are deleted. A slow sync algorithm executes periodically to ensure that objects that were not deleted via replicated tombstones are eventually deleted. An époque algorithm provides that members that have been offline for a long period of time will update their objects before they participate in a join synchronization.Type: ApplicationFiled: February 13, 2004Publication date: September 9, 2004Applicant: MICROSOFT CORPORATIONInventors: Nikolaj S. Bjorner, Dan Teodosiu, Rostislav Yavorskiy