Patent application number | Description | Published |
20100195914 | SCALABLE NEAR DUPLICATE IMAGE SEARCH WITH GEOMETRIC CONSTRAINTS - Methods are disclosed for finding images from a large corpus of images that at least partially match a query image. The present method makes use of feature detectors to bundle features into local groups or bundles. These bundled features are repeatable and much more discriminative than an individual SIFT feature. Equally importantly, the bundled features provide a flexible representation that allows simple and robust geometric constraints to be efficiently enforced when querying the index. | 08-05-2010 |
20100205588 | GENERAL PURPOSE DISTRIBUTED DATA PARALLEL COMPUTING USING A HIGH LEVEL LANGUAGE - General-purpose distributed data-parallel computing using a high-level language is disclosed. Data parallel portions of a sequential program that is written by a developer in a high-level language are automatically translated into a distributed execution plan. The distributed execution plan is then executed on large compute clusters. Thus, the developer is allowed to write the program using familiar programming constructs in the high level language. Moreover, developers without experience with distributed compute systems are able to take advantage of such systems. | 08-12-2010 |
20100312777 | PARTIAL-MATCHING FOR WEB SEARCHES - An efficient manner of performing an M-out-of-N partial matching search of indexed documents (e.g., web pages) is provided herein. More particularly, indexed words are arranged into a global location space (GLS), providing for respective occurrences of words in indexed documents being searched to have continuous locations on a one-dimensional GLS. Documents within the GLS are separated by end of document word marking boundaries between consecutive documents. The query words are then separated into an active set, comprising the left-most query words, and a non-active set. A partial matching operator transverses the GLS, applying active geometric constraints, in a sequential manner, to words in the active set. This causes shifting of the active set along the GLS to comprise M left-most query words. If a document satisfies constraints associated with M words in an active set, the document comprises at least M-out-of-N words. | 12-09-2010 |
20110067030 | FLOW BASED SCHEDULING - A job scheduler may schedule concurrent distributed jobs in a computer cluster by assigning tasks from the running jobs to compute nodes while balancing fairness with efficiency. Determining which tasks to assign to the compute nodes may be performed using a network flow graph. The weights on at least some of the edges of the graph encode data locality, and the capacities provide constraints that ensure fairness. A min-cost flow technique may be used to perform an assignment of the tasks represented by the network flow graph. Thus, online task scheduling with locality may be mapped onto a network flow graph, which in turn may be used to determine a scheduling assignment using min-cost flow techniques. The costs may encode data locality, fairness, and starvation-freedom. | 03-17-2011 |
20120117551 | OPTIMIZATION OF DECLARATIVE QUERIES - Source code is generated that includes one or more iterator-based expressions such as declarative queries. The source code is translated into an intermediate language that classifies operators making up the iterator-based expressions into classes based on whether the operators are aggregating, element-wise, or sink operators. The intermediate language, including the identified classes, is processed using an automaton to replace the iterator-based expressions with one or more equivalent non-iterator-based expressions. Where an iterator-based expression is nested, the nested expression is processed using an equivalent number of nested automatons. The resulting optimized source code may be compiled and executed using fewer virtual function calls than the equivalent non-optimized source code. | 05-10-2012 |
20120177294 | IMAGE RETRIEVAL USING DISCRIMINATIVE VISUAL FEATURES - Image search results are obtained by providing weights to visual features to emphasize features corresponding to objects of interest while simultaneously deemphasizing irrelevant or inconsistent features that lead to poor search results. In order to minimize the impact of visual features that are unreliable or irrelevant with respect to the objects of interest in the image, context-dependent weights are provided to detect visual features such that those visual features pertaining to the objects of interest are more heavily weighted than those visual features that pertain to irrelevant or unreliable portions of the image. Visual features may be weighted for images in a searchable database. Training data may be obtained and used in weighting visual features in a query image and, alternatively, in searchable database images. | 07-12-2012 |
20120306850 | DISTRIBUTED ASYNCHRONOUS LOCALIZATION AND MAPPING FOR AUGMENTED REALITY - A system and method for providing an augmented reality environment in which the environmental mapping process is decoupled from the localization processes performed by one or more mobile devices is described. In some embodiments, an augmented reality system includes a mapping system with independent sensing devices for mapping a particular real-world environment and one or more mobile devices. Each of the one or more mobile devices utilizes a separate asynchronous computing pipeline for localizing the mobile device and rendering virtual objects from a point of view of the mobile device. This distributed approach provides an efficient way for supporting mapping and localization processes for a large number of mobile devices, which are typically constrained by form factor and battery life limitations. | 12-06-2012 |
20120314942 | DETERMINING FOREGROUND REGIONS AND BACKGROUND REGIONS IN AN IMAGE - A system for providing augmented reality detects foreground occluders in an image of a video stream. One or more virtual objects are then rendered appropriately with respect to the occluders. Location information associated with the image is used to retrieve a three dimensional representation of the location where the image was taken. Features that are expected to appear in the image based on the three dimensional location but that cannot be located are used to determine regions of the image that are likely to include foreground occluders. Pixels in these regions are used to train a color model that classifies pixels as either part of the background of the image or part of one or more foreground occluders. The pixels in the image are classified using the model, and one or more virtual objects are rendered so that they appear behind any foreground occluders. | 12-13-2012 |
20120314961 | SCALABLE NEAR DUPLICATE IMAGE SEARCH WITH GEOMETRIC CONSTRAINTS - Methods are disclosed for finding images from a large corpus of images that at least partially match a query image. The present method makes use of feature detectors to bundle features into local groups or bundles. These bundled features are repeatable and much more discriminative than an individual SIFT feature. Equally importantly, the bundled features provide a flexible representation that allows simple and robust geometric constraints to be efficiently enforced when querying the index. | 12-13-2012 |
20120324472 | TRANSACTIONAL COMPUTATION ON CLUSTERS - Computations are performed on shared datasets in a distributed computing cluster using aggressive speculation and a distributed runtime that executes code transactionally. Speculative transactions are conducted with currently available data on the assumption that no dependencies exist that will render the input data invalid. For those specific instances where this assumption is found to be incorrect—that the input data did indeed have a dependency (thereby impacting the correctness of the speculated transaction)—the speculated transaction is aborted and its results (and all transactions that relied on its results) are rolled-back accordingly for re-computation using updated input data. In operation, shared state data is read and written using only the system's data access API which ensures that computations can be rolled-back when conflicts stemming from later-determined dependencies are detected. | 12-20-2012 |
20130110853 | SQL CONSTRUCTS PORTED TO NON-SQL DOMAINS | 05-02-2013 |
20130117257 | QUERY RESULT ESTIMATION - Techniques for efficiently performing queries are provided. A search component can receive a request for information based on data, and a management component can determine a degree of accuracy requested for the information. In turn, the search component can render the information based on the degree of accuracy requested. In an aspect, the search generates a query configured to determine the first information, and the management component instructs the search component to perform the query to a level of completion less than full completion when the degree of accuracy requested is below a predetermined threshold to cause the search component to render an estimation of the first information. In another aspect, a tracking component can track information associated with multiple query requests and an analysis determine and employ a related aspect of the tracked information to a new query request to determine an answer for a the new query request. | 05-09-2013 |
20130117272 | SYSTEMS AND METHODS FOR HANDLING ATTRIBUTES AND INTERVALS OF BIG DATA - Data management techniques are provided for handling of big data. A data management process can account for attributes of data by analyzing or interpreting the data, assigning intervals to the attributes based on the data, and effectuating policies, based on the attributes and intervals, that facilitate data management. In addition, the data management process can determine relations among data in a data collection and generate and store approximate results concerning the data based on the attributes, intervals, and the policies. | 05-09-2013 |
20130169626 | DISTRIBUTED ASYNCHRONOUS LOCALIZATION AND MAPPING FOR AUGMENTED REALITY - A system and method for providing an augmented reality environment in which the environmental mapping process is decoupled from the localization processes performed by one or more mobile devices is described. In some embodiments, an augmented reality system includes a mapping system with independent sensing devices for mapping a particular real-world environment and one or more mobile devices. Each of the one or more mobile devices utilizes a separate asynchronous computing pipeline for localizing the mobile device and rendering virtual objects from a point of view of the mobile device. This distributed approach provides an efficient way for supporting mapping and localization processes for a large number of mobile devices, which are typically constrained by form factor and battery life limitations. | 07-04-2013 |
20150029218 | LATE STAGE REPROJECTION - Methods for generating and displaying images associated with one or more virtual objects within an augmented reality environment at a frame rate that is greater than a rendering frame rate are described. The rendering frame rate may correspond with the minimum time to render images associated with a pose of a head-mounted display device (HMD). In some embodiments, the HMD may determine a predicted pose associated with a future position and orientation of the HMD, generate a pre-rendered image based on the predicted pose, determine an updated pose associated with the HMD subsequent to generating the pre-rendered image, generate an updated image based on the updated pose and the pre-rendered image, and display the updated image on the HMD. The updated image may be generated via a homographic transformation and/or a pixel offset adjustment of the pre-rendered image. | 01-29-2015 |
Patent application number | Description | Published |
20090204969 | TRANSACTIONAL MEMORY WITH DYNAMIC SEPARATION - Strong semantics are provided to programs that are correctly synchronized in their use of transactions by using dynamic separation of objects that are accessed in transactions from those accessed outside transactions. At run-time, operations are performed to identify transitions between these protected and unprotected modes of access. Dynamic separation permits a range of hardware-based and software-based implementations which allow non-conflicting transactions to execute and commit in parallel. A run-time checking tool, analogous to a data-race detector, may be provided to test dynamic separation of transacted data and non-transacted data. Dynamic separation may be used in an asynchronous I/O library. | 08-13-2009 |
20090210457 | TRANSACTIONAL MEMORY WITH DYNAMIC SEPARATION - Strong semantics are provided to programs that are correctly synchronized in their use of transactions by using dynamic separation of objects that are accessed in transactions from those accessed outside transactions. At run-time, operations are performed to identify transitions between these protected and unprotected modes of access. Dynamic separation permits a range of hardware-based and software-based implementations which allow non-conflicting transactions to execute and commit in parallel. A run-time checking tool, analogous to a data-race detector, may be provided to test dynamic separation of transacted data and non-transacted data. Dynamic separation may be used in an asynchronous I/O library. | 08-20-2009 |
20100235406 | OBJECT RECOGNITION AND LIBRARY - An image may be received, a portion of which corresponds to a surface of an object, such as a book, a CD, a DVD, a wine bottle, etc. The portion of the image that corresponds to the surface of the object is located. The portion of the image is compared with previously stored images of surfaces of objects to identify the object. A record of the object is created and added to a library. The record of the object may comprise the image of the object, the portion of the image which corresponds to the surface of the object, and/or the received image itself. The record may comprise an indicator of a location of the object. | 09-16-2010 |
20100241827 | High Level Programming Extensions For Distributed Data Parallel Processing - General-purpose distributed data-parallel computing using high-level computing languages is described. Data parallel portions of a sequential program that is written by a developer in a high-level language are automatically translated into a distributed execution plan. A set of extensions to a sequential high-level computing language are provided to support distributed parallel computations and to facilitate generation and optimization of distributed execution plans. The extensions are fully integrated with the programming language, thereby enabling developers to write sequential language programs using known constructs while providing the ability to invoke the extensions to enable better generation and optimization of the execution plan for a distributed computing environment. | 09-23-2010 |
20100241828 | General Distributed Reduction For Data Parallel Computing - General-purpose distributed data-parallel computing using high-level computing languages is described. Data parallel portions of a sequential program written in a high-level language are automatically translated into a distributed execution plan. Map and reduction computations are automatically added to the plan. Patterns in the sequential program can be automatically identified to trigger map and reduction processing. Direct invocation of map and reduction processing is also provided. One or more portions of the reduce computation are pushed to the map stage and dynamic aggregation is inserted when possible. The system automatically identifies opportunities for partial reductions and aggregation, but also provides a set of extensions in a high-level computing language for the generation and optimization of the distributed execution plan. The extensions include annotations to declare functions suitable for these optimizations. | 09-23-2010 |
20110235908 | PARTITION MIN-HASH FOR PARTIAL-DUPLICATE IMAGE DETERMINATION - Images in a database or collection of images are each divided into multiple partitions with each partition corresponding to an area of an image. The partitions in an image may overlap with each other. Min-hash sketches are generated for each of the partitions and stored with the images. A user may submit an image and request that an image that is a partial match for the submitted image be located in the image collection. The submitted image is similarly divided into partitions and min-hash sketches are generated from the partitions. The min-hash sketches are compared with the stored min-hash sketches for matches, and images having partitions whose sketches are matches are returned as partial matching images. | 09-29-2011 |
20110246439 | AUGMENTED QUERY SEARCH - A query is annotated with a small sketch (e.g. a Bloom filter) that approximates a set of interest that is related to the query. The query and sketch may be forwarded to index servers that each stores a portion of a search engine corpus. Each of the index servers may filter documents using the sketch before returning results for aggregation. The sketch is designed so there may be false positives (results returned by authors not in the set), but no false negatives (all relevant results are returned). The final aggregated results set may be checked against the full set to remove false positives before returning the final results to the user. | 10-06-2011 |
20130304744 | DIFFERENTIAL DATAFLOW - The techniques discussed herein efficiently perform data-parallel computations on collections of data by implementing a differential dataflow model that performs computations on differences in the collections of data. The techniques discussed herein describe defined operators for use in a data-parallel program that performs the computations on the determined differences between the collections of data by creating a lattice and indexing the differences in the collection of data according to the lattice. | 11-14-2013 |
20140172939 | Reachability-Based Coordination for Cyclic Dataflow - Various embodiments provide techniques for working with large-scale collections of data pertaining to real world systems, such as a social network, a roadmap/GPS system, etc. The techniques perform incremental, iterative, and interactive parallel computation using a coordination clock protocol, which applies to scheduling computations and managing resources such as memory and network resources, etc., in cyclic graphs including those resulting from a differential dataflow model that performs computations on differences in the collections of data. | 06-19-2014 |