Automated translation of service invocations for batch processing
    21.
    发明授权
    Automated translation of service invocations for batch processing 有权
    自动翻译服务调用批量处理

    公开(公告)号:US08364750B2

    公开(公告)日:2013-01-29

    申请号:US12144634

    申请日:2008-06-24

    IPC分类号: G06F15/16

    CPC分类号: G06F9/547

    摘要: The utilization of data services (such as web services) may involve the invocation of services, which may reduce performance and overburden the server. In some scenarios, the invocation may be specified in a language that does not support batch invocation, but it may not be feasible to re-code the invocations in a language that supports batching. Instead, the service invocations may be automatically translated into a batch logic specified in a batch-capable language and sent to the service as a batch. For example, a local proxy may receive a language-integrated query having two or more service invocations, compile the query into an expression tree including the two or more invocations, and send the expression tree to the service host to achieve the batch processing of the service invocations.

    摘要翻译: 数据服务(如Web服务)的使用可能涉及服务的调用,这可能会降低服务器的性能和负担。 在某些情况下,可以使用不支持批量调用的语言来指定调用,但以支持批处理的语言重新编码调用可能不可行。 相反,服务调用可以自动转换为以批处理语言指定的批处理逻辑,并作为批处理发送到服务。 例如,本地代理可以接收具有两个或多个服务调用的语言集成查询,将查询编译成包括两个或更多个调用的表达式树,并将表达式树发送到服务主机以实现批处理 服务调用。

    ANONYMOUS TYPES FOR STATICALLY TYPED QUERIES
    24.
    发明申请
    ANONYMOUS TYPES FOR STATICALLY TYPED QUERIES 有权
    静态类型的静态类型

    公开(公告)号:US20100217776A1

    公开(公告)日:2010-08-26

    申请号:US12777110

    申请日:2010-05-10

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30421 G06F17/3041

    摘要: 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.

    摘要翻译: 编程语言的匿名类型。 不可表示的匿名类型是编译器代表程序员生成的类型,然后可以用作标称类型。 只要匿名类型没有名称,它们只能在创建它们的方法中使用。 此外,匿名类型不能以任何方式暴露在该方法之外。 创建匿名类型的语法在与“选择”运算符一起使用以生成具有特定形状的结果时非常有用,而无需为其定义类型。 匿名类型是可表达的,使得可以写入该类型的表达式。 编译器生成一个匿名类型,生成一个实现Equals和GetHashCode方法的标称类。 在同一方法中存在匿名类型的等价物,并将未实现的结构类型转换为结构兼容的名义类型。

    AUTOMATED TRANSLATION OF SERVICE INVOCATIONS FOR BATCH PROCESSING
    25.
    发明申请
    AUTOMATED TRANSLATION OF SERVICE INVOCATIONS FOR BATCH PROCESSING 有权
    自动翻译用于批处理的服务协议

    公开(公告)号:US20090319497A1

    公开(公告)日:2009-12-24

    申请号:US12144634

    申请日:2008-06-24

    IPC分类号: G06F17/30

    CPC分类号: G06F9/547

    摘要: The utilization of data services (such as web services) may involve the invocation of services, which may reduce performance and overburden the server. In some scenarios, the invocation may be specified in a language that does not support batch invocation, but it may not be feasible to re-code the invocations in a language that supports batching. Instead, the service invocations may be automatically translated into a batch logic specified in a batch-capable language and sent to the service as a batch. For example, a local proxy may receive a language-integrated query having two or more service invocations, compile the query into an expression tree including the two or more invocations, and send the expression tree to the service host to achieve the batch processing of the service invocations.

    摘要翻译: 数据服务(如Web服务)的使用可能涉及服务的调用,这可能会降低服务器的性能和负担。 在某些情况下,可以使用不支持批量调用的语言来指定调用,但以支持批处理的语言重新编码调用可能不可行。 相反,服务调用可以自动转换为以批处理语言指定的批处理逻辑,并作为批处理发送到服务。 例如,本地代理可以接收具有两个或多个服务调用的语言集成查询,将查询编译成包括两个或更多个调用的表达式树,并将表达式树发送到服务主机以实现批处理 服务调用。

    Query processing pipelines with single-item and multiple-item query operators
    26.
    发明授权
    Query processing pipelines with single-item and multiple-item query operators 有权
    使用单项和多项查询运算符查询处理流水线

    公开(公告)号:US08375044B2

    公开(公告)日:2013-02-12

    申请号:US12144639

    申请日:2008-06-24

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30427

    摘要: Queries against data sources (such as language-integrated queries to be applied against relational databases) may be prepared for processing by a query processing pipeline. This pipeline performs services including transforming the query into a form more easily applied by the data source, e.g., into SQL, by matching query terms with query operators configured to handle various query operations. Many query processing pipelines include single-item query operators that perform individual operations (e.g., an updating query operator that specifies an updating of individual records of a table.) An integrated query pipeline may be devised that includes both single-item query operators and multiple-item query operators that specify operations on sets of data items. An integrated query processing pipeline may analyze the query to determine whether a single-item or multiple-item operation is specified in order to select an appropriate query operator, which may improve the efficiency and performance of the data source querying.

    摘要翻译: 可以准备对数据源的查询(例如针对关系数据库应用的语言集成查询),以供查询处理流水线进行处理。 该流水线执行服务,包括通过将查询项与配置为处理各种查询操作的查询操作符相匹配,将查询转换成数据源更容易应用的形式,例如SQL转换。 许多查询处理流水线包括执行单独操作的单项查询运算符(例如,指定表的各个记录的更新的更新查询运算符)。可以设计一个综合查询流水线,其包括单项查询运算符和多个 - 用于指定数据项集合操作的目标查询运算符。 综合查询处理流水线可以分析查询以确定单项目或多项目操作是否被指定以便选择适当的查询运算符,这可以提高数据源查询的效率和性能。

    Anonymous types for statically typed queries
    27.
    发明授权
    Anonymous types for statically typed queries 有权
    用于静态类型查询的匿名类型

    公开(公告)号:US08275731B2

    公开(公告)日:2012-09-25

    申请号:US12777110

    申请日:2010-05-10

    IPC分类号: G06N5/00

    CPC分类号: G06F17/30421 G06F17/3041

    摘要: 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.

    摘要翻译: 编程语言的匿名类型。 不可表示的匿名类型是编译器代表程序员生成的类型,然后可以用作标称类型。 只要匿名类型没有名称,它们只能在创建它们的方法中使用。 此外,匿名类型不能以任何方式暴露在该方法之外。 创建匿名类型的语法在与“选择”运算符一起使用以生成具有特定形状的结果时非常有用,而无需为其定义类型。 匿名类型是可表达的,使得可以写入该类型的表达式。 编译器生成一个匿名类型,生成一个实现Equals和GetHashCode方法的标称类。 在同一方法中存在匿名类型的等价物,并将未实现的结构类型转换为结构兼容的名义类型。

    COMPILER SUPPORTING PROGRAMS AS DATA OBJECTS
    28.
    发明申请
    COMPILER SUPPORTING PROGRAMS AS DATA OBJECTS 有权
    编译器支持程序作为数据对象

    公开(公告)号:US20110246973A1

    公开(公告)日:2011-10-06

    申请号:US13161816

    申请日:2011-06-16

    IPC分类号: G06F9/45

    CPC分类号: G06F8/47 G06F8/427 G06F8/436

    摘要: 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.

    摘要翻译: 支持语言的编译器,其中选择的语义对象被表示为数据对象。 数据对象可以以多种方式用于扩展编程语言的能力。 数据对象可以传递给应用程序,并用于为该应用程序创建可执行指令。 以这种方式,用编译器的母语编写的指令可以用于控制接受与编译器的本机语言不一致的语言的程序的应用程序。 编译器的语法检查和变量绑定功能可以用于将由与编译器生成的目标代码分离的应用程序执行的那些指令。 可以基于包含在源代码中的快速操作来选择表示为数据对象的语义对象,或者可以基于隐式类型转换。

    ARCHITECTURE THAT EXTENDS TYPES USING EXTENSION METHODS
    29.
    发明申请
    ARCHITECTURE THAT EXTENDS TYPES USING EXTENSION METHODS 有权
    使用扩展方法扩展类型的架构

    公开(公告)号:US20100175048A1

    公开(公告)日:2010-07-08

    申请号:US12728939

    申请日:2010-03-22

    IPC分类号: G06F9/44

    CPC分类号: G06F8/315

    摘要: 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.

    摘要翻译: 使用扩展方法扩展现有类型,包括构造和密封类型的体系结构。 扩展方法是可以使用实例方法语法调用的静态方法。 扩展方法通过在方法的第一个参数上指定关键字“this”作为修饰符来声明。 扩展方法具有常规静态方法的所有功能。 另外,一旦导入,可以使用实例方法语法来调用扩展方法。 还公开了导入扩展方法和扩展方法调用的规则。 扩展方法通过using-namespace-directives导入。 除了导入命名空间中包含的类型之外,using-namespace-directive会在命名空间中的所有静态类中导入所有扩展方法。 实际上,导入的扩展方法在其第一个参数给出的类型上显示为附加方法,并且具有比常规实例方法更低的优先级。

    Dynamically typed unsafe variance
    30.
    发明授权
    Dynamically typed unsafe variance 有权
    动态类型不安全差异

    公开(公告)号:US07694274B2

    公开(公告)日:2010-04-06

    申请号:US11193692

    申请日:2005-07-29

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F9/44589 G06F9/45516

    摘要: A program execution engine that facilitates generic type variance verification is provided. The execution engine receives a program executable in the form of intermediate language (IL). The program executable can be based on code that includes expression(s) with generic type(s) which have been identified as requiring variance verification (e.g., covariance and/or contra-variance). The execution engine includes a variance verification component that dynamically determines whether value(s) associated with the generic type(s) identified as requiring variance verification comply with the particular variance verification requirement. The variance verification component can provide error information (e.g., throw an exception), if the specified variance is not safely compliant. Variance verification can be based on static checking which places the burden on a source language compiler to emit the run-time checks in intermediate language (IL), if run-time checked variance is required. Additionally, language(s) that do not support variance can treat generic type(s) as non-variant.

    摘要翻译: 提供了促进通用类型方差验证的程序执行引擎。 执行引擎以中间语言(IL)的形式接收可执行的程序。 程序可执行程序可以基于包括已经被识别为需要方差验证(例如协方差和/或反差)的通用类型的表达式的代码。 执行引擎包括方差验证组件,其动态地确定与被识别为需要方差验证的通用类型相关联的值是否符合特定方差验证要求。 方差验证组件可以提供错误信息(例如,抛出异常),如果指定的方差不能安全地符合。 方差验证可以基于静态检查,如果需要运行时检查方差,那么将源语言编译器的负担放在中间语言(IL)中发出运行时检查。 另外,不支持差异的语言可以将通用类型视为非变体。