Patent application number | Description | Published |
20100175048 | ARCHITECTURE THAT EXTENDS TYPES USING EXTENSION METHODS - Architecture that extends existing types including constructed and sealed types using extension methods. Extension methods are static methods that can be invoked using instance method syntax. Extension methods are declared by specifying the keyword “this” as a modifier on the first parameter of the methods. Extension methods have all the capabilities of regular static methods. In addition, once imported, extension methods can be invoked using instance method syntax. Also disclosed are rules for importing extension methods, and extension method invocations. Extension methods are imported through using-namespace-directives. In addition to importing the types contained in a namespace, a using-namespace-directive imports all extension methods in all static classes in the namespace. In effect, imported extension methods appear as additional methods on the types that are given by their first parameter and have lower precedence than regular instance methods. | 07-08-2010 |
20100217776 | ANONYMOUS TYPES FOR STATICALLY TYPED QUERIES - Anonymous types for a programming language. Non-denotable anonymous types are types that a compiler generates on behalf of a programmer and can then be used as nominal types. Insofar as anonymous types do not have a name, they can be used only inside a method in which they are created. Additionally, an anonymous type cannot be exposed in any way outside of the method. Syntax to create an anonymous type is useful when employed with a Select operator to generate a result with a particular shape, without the need of having a regular type for it. Anonymous types are expressible such that an expression of that type can be written. Translation of an anonymous type by a compiler generates a nominal class that implements Equals and GetHashCode methods. There is equivalence of anonymous types within the same method, and conversion of an unrealized structural type into structurally compatible nominal type. | 08-26-2010 |
20110246973 | COMPILER SUPPORTING PROGRAMS AS DATA OBJECTS - A compiler supporting a language in which selected semantic objects are represented as data objects. The data objects may be used in multiple ways to expand the capabilities of the programming language. Data objects may be passed to applications and used to create executable instructions for that application. In this way, instructions written in the native language of the compiler may be used to control applications that accept programs in a language inconsistent with the native language of the compiler. The syntax checking and variable binding capabilities of the compiler may be used for those instructions that will be executed by an application separate from the object code generated by the compiler. The semantic objects represented as data objects may be selected based on express operations included in the source code or may be based on implicit type conversion. | 10-06-2011 |
Patent application number | Description | Published |
20110246549 | ADAPTIVE DISTRIBUTION OF THE PROCESSING OF HIGHLY INTERACTIVE APPLICATIONS - An application defined by expressions whose execution may be dynamically distributed over multiple devices. An application defined by expressions may include a number of expressions that provide a symbolic representation of computations to be performed. The application defined by expressions may have input variables and output variables and provide a solution for the output variables using the input variables and the expressions that define the application. In providing a solution for the output variables, an expression engine may determine dependencies for the expressions to be solved and distribute the solution of some of those expressions dynamically at runtime to other devices based on the capabilities of the devices, privacy and security concerns, communications bandwidth and latency, the resources available to devices, and commercial or cost implications of where the processing is done. | 10-06-2011 |
20120159312 | REPRESENTATION OF AN INTERACTIVE DOCUMENT AS A GRAPH OF ENTITIES - Techniques for representing and publishing an interactive document useful for analyzing data. The document may be represented as a directed acyclic graph of entities interconnected by edges. The entities may be of multiple types. Yet, a broad range of interactive documents may be represented by a limited number of types of entities and the capabilities to interconnect entities of different types and to share a data schema across entities of different types. A tool may enable a user to author such documents. The tool may also facilitate publishing of the document. For publishing, the document may be converted to an executable form. Prior to such a conversion, the graph may be modified for more efficient processing. The graph may also be partitioned such that portions of the graph, when distributed across tiers of a computing system, such as a cloud-based platform, execute on computing devices that provide efficient operation. | 06-21-2012 |
20120159333 | REPRESENTATION OF AN INTERACTIVE DOCUMENT AS A GRAPH OF ENTITIES - Techniques for representing and publishing an interactive document useful for analyzing data. The document may be represented as a directed acyclic graph of entities interconnected by edges. The entities may be of multiple types. Yet, a broad range of interactive documents may be represented by a limited number of types of entities and the capabilities to interconnect entities of different types and to share a data schema across entities of different types. A tool may enable a user to author such documents. The tool may also facilitate publishing of the document. For publishing, the document may be converted to an executable form. Prior to such a conversion, the graph may be modified for more efficient processing. The graph may also be partitioned such that portions of the graph, when distributed across tiers of a computing system, such as a cloud-based platform, execute on computing devices that provide efficient operation. | 06-21-2012 |
Patent application number | Description | Published |
20120158622 | INTERACTIVE RECOMMENDATIONS - An interactive recommendation system generates one or more recommendations (e.g., recommended products, travel destinations, etc.) for a user based on a recommendation model. The recommendation model includes one or more criteria that are used to analyze a datastore of user characteristics (e.g., a user's age, location, past online behavior, etc.) and generate one or more recommendations based thereon. The interactive recommendation system further presents a user interface that allows the user to interactively modify the criteria of the recommendation model and to apply the modified recommendation model to the datastore in order to generate one or more modified recommendations. In this manner, for example, the user can customize the recommendations he or she receives by interacting with the recommendation system to modify the recommendation model used to generate such recommendations. | 06-21-2012 |
20120158643 | Data Mining in a Business Intelligence Document - A business intelligence document provides functionality for testing a hypothesis on aggregated data in a business intelligence document (e.g., a spreadsheet-like document), wherein one or more of the input data values and transformation properties are designated as constrained (e.g., invariant or constrained within a range, set, enumeration, or domain). The hypothesis, which is articulated as a data mining assertion, is input through the user interface of the business intelligence document (e.g., via an expression interface or properties of a row, column, or cell) and solved over the aggregated data. The solution is then presented through the user interface of the spreadsheet-like document, such as in a table, graph, histogram, etc. | 06-21-2012 |
20120159465 | BUSINESS INTELLIGENCE DOCUMENT - A business intelligence (BI) document preserves references to identities and formats of remote data sources and allows a local computing device to offload analytical operations to remote data sources. The BI document specifies a graph of entities connected by directed edges from the output of one entity to an input of another entity. An entity, for example, can represent without limitation a data structure, an external data source, a control element, an external event source, a visualization, or an update service. The entities of a BI document at a local computing device can reference data at an original data source—rather than extracting data from the original data source to a preferred local datastore. An entity of the BI document can direct a remote data source to execute transformations on the remote data before returning a solution to the local computing device. | 06-21-2012 |
Patent application number | Description | Published |
20100325196 | DATA-DRIVEN VISUALIZATION OF PSEUDO-INFINITE SCENES - The use of a data stream object to enumerate elements of a data stream to thereby drive rendering of a data-driven model. The data driven model includes multiple view components that may use their own construction logic to render visual items based on data provided to their input parameter(s). The data stream may be quite large, in which case, only a portion of the data stream is enumerated by the data stream object. The enumerated elements of the data stream may be used to populate the input parameters of the view components, and or may be provided to analytics, from which input parameters of the view components may be derived. Thus, a data stream, regardless of its size, may be dealt with in the consistent manner to thereby drive the data-driven model. | 12-23-2010 |
20110060704 | DEPENDENCY GRAPH IN DATA-DRIVEN MODEL - The inference of a dependency graph that represents a graph of solves that leads from input model parameter(s) to output model parameters using analytics. In one embodiment, the dependency graph is part of visually driven analytics in which the output model parameter(s) are used to formulate data-drive scenes. As the identity of the input and/or output model parameter(s) change, or as the analytics themselves change, the dependency graph may also change. This might trigger a resolve of the analytics. In one embodiment, the intermediate parameters involved in the dependency graph may be viewed and evaluated by the user. | 03-10-2011 |
20140195563 | OBJECT GRAPH PARTIAL IMMUTABILITY AND ISOLATION ENFORCEMENT - The type definition of particular types such that different portions of the corresponding object graph may have different permissions assigned to those portions during instantiation. This allows structured permissions to be applied to instantiations of the object graphs of those defined types, allowing fine grained control over what access permissions are enforced against which portions of the object graph. In some embodiments, different instantiations of the object graph may apply permissions differently. | 07-10-2014 |
20140196015 | DECLARATION OF LIFETIME OF RESOURCE REFERENCE - A language extension that advances safety in system programming by specifying a lifetime of a reference that represents a resource. In accordance with the language extension, the lifetime references a particular scope in a manner that the compiler generates computer-executable instructions that enforce the lifetime of the reference to be a function of (e.g., no longer than) the lifetime of the particular scope. Accordingly, the resource lifetime may be specified in advance to have a particular scope. This helps in performing resource management as typical managed language programs can allow resources to exist indefinitely. Furthermore, because the resources have a defined finite lifetime, they might be more conveniently allocated on a stack, instead of on a heap, for much more efficient processing. | 07-10-2014 |
Patent application number | Description | Published |
20100043618 | CUTTING TOOL - A method and apparatus for a cutting tool system. In one advantageous embodiment, an apparatus may comprise a carriage that is movable along an axis, a cutting tool, and a depth controller. The cutting tool may be capable of being removably attached to the carriage. The depth controller may be capable of controlling a cutting depth of the cutting tool with respect to a surface of a workpiece closest to a part. | 02-25-2010 |
20100054883 | CHAMFER TOOL - An apparatus may comprise a body, a pilot, a blade, a shaft, and a guide. The body may have a first end and a second end. The pilot may extend from the first end of the body and the blade may be attached to the body and positioned longitudinally on the body at the first end. The shaft may extend from the second end of the body, and the guide may be capable of receiving the pilot. | 03-04-2010 |
20100247256 | Boring Bar Apparatus - In one advantageous embodiment, an apparatus may comprise a boring bar, a slot, a channel, a centering pin, and an adjustment system. The slot may extend substantially perpendicular to an axis extending through the boring bar. The slot may be configured to receive a cutting unit. The channel may be located within the boring bar extending substantially along the axis. The centering pin may be moveably located within the channel and configured to selectively engage a centering feature in the cutting unit. The adjustment system may be configured to position the centering pin relative to the channel in a plurality of axes. | 09-30-2010 |
20110002751 | GUIDE ASSEMBLY AND METHOD - A guide assembly comprises a frame assembly, a plurality of clamping assemblies, and a head assembly. The clamping assemblies may be mountable to the frame assembly for attaching the frame assembly to a structure. The head assembly may be mountable to the frame assembly and may include a tool coupled to the head assembly. The tool assembly may be axially movable relative to the head assembly to cause the tool to exert a down force on the structure when the frame assembly is attached thereto. | 01-06-2011 |
20130174397 | GUIDE ASSEMBLY - A guide assembly comprises a frame assembly, a plurality of clamping assemblies, and a head assembly. The clamping assemblies may be mountable to the frame assembly for attaching the frame assembly to a structure. The head assembly may be mountable to the frame assembly and may include a tool coupled to the head assembly. The tool assembly may be axially movable relative to the head assembly to cause the tool to exert a down force on the structure when the frame assembly is attached thereto. | 07-11-2013 |