用于扩充配置相关可扩充软件的方法和系统

    公开(公告)号:CN100478874C

    公开(公告)日:2009-04-15

    申请号:CN200410058970.3

    申请日:2004-07-23

    Applicant: 微软公司

    CPC classification number: G06F8/70 G06F9/4488

    Abstract: 描述了用于扩充配置相关可扩充软件程序的方法和系统。可以通过添加配置相关扩展来扩充核心可扩充软件程序的类。扩展可在编译软件程序的核心版本之前静态地添加,或者在运行时刻动态地添加。可扩充核心类的声明可包括具有该类是静态可扩充还是动态可扩充的指示的可扩充属性。也描述了用于适当地声明配置相关可扩充类的对象描述语言。也描述了用于处理该对象描述语言来生成可扩充类声明及其扩展的源代码表示的预处理器。源代码表示然后可以用来生成核心软件程序的扩充版本。

    事务存储器中的并行嵌套事务

    公开(公告)号:CN101889266A

    公开(公告)日:2010-11-17

    申请号:CN200880107300.2

    申请日:2008-09-16

    Applicant: 微软公司

    CPC classification number: G06F9/467 G06F17/30356 G06F17/30359 G06F17/30362

    Abstract: 公开了用于支持事务存储器系统中的并行嵌套事务的各种技术和方法。为单个父事务创建多个封闭嵌套事务,并且这些封闭嵌套事务作为并行嵌套事务来并发执行。使用各种技术来确保对父事务之外的其他事务隐藏并行嵌套事务的影响直到该父事务提交。例如,就并行嵌套事务使用版本化写锁。当事务存储器字从写锁变为版本化写锁时,在全局版本化写锁映射中形成一条目以存储指向该版本化写锁所替换的写日志条目的指针。当在事务处理期间遇到该版本化写锁时,咨询全局版本化写锁映射以便将该版本化写锁转换成指向写日志条目的指针。

    使用缓存写和强制串行化次序的事务存储器

    公开(公告)号:CN101652761A

    公开(公告)日:2010-02-17

    申请号:CN200880011509.9

    申请日:2008-03-13

    Applicant: 微软公司

    CPC classification number: G06F9/528

    Abstract: 公开了在软件事务存储器系统中支持缓存写和强制串行化次序的各种技术和方法。提供了执行对于对象的阴影副本的写入并在提交期间确认了相应的事务之后将内容写回该对象的缓存写处理。在为特定事务第一次获得写锁时,制作特定对象的阴影副本。执行对该阴影副本的写入和读取。在提交期间确认了特定事务之后,将内容从阴影副本写入特定对象。提供确保提交事务的次序匹配该事务的抽象串行化次序的事务排序处理。事务在其票数匹配跟踪应该提交的下一事务的全局数量之前不被允许提交。

    事务存储器中的并行嵌套事务

    公开(公告)号:CN101889266B

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

    申请号:CN200880107300.2

    申请日:2008-09-16

    Applicant: 微软公司

    CPC classification number: G06F9/467 G06F17/30356 G06F17/30359 G06F17/30362

    Abstract: 公开了用于支持事务存储器系统中的并行嵌套事务的各种技术和方法。为单个父事务创建多个封闭嵌套事务,并且这些封闭嵌套事务作为并行嵌套事务来并发执行。使用各种技术来确保对父事务之外的其他事务隐藏并行嵌套事务的影响直到该父事务提交。例如,就并行嵌套事务使用版本化写锁。当事务存储器字从写锁变为版本化写锁时,在全局版本化写锁映射中形成一条目以存储指向该版本化写锁所替换的写日志条目的指针。当在事务处理期间遇到该版本化写锁时,咨询全局版本化写锁映射以便将该版本化写锁转换成指向写日志条目的指针。

    用于多个异常处理模型的中间表示

    公开(公告)号:CN1842767A

    公开(公告)日:2006-10-04

    申请号:CN200480022496.7

    申请日:2004-05-21

    Applicant: 微软公司

    CPC classification number: G06F8/20 G06F8/423

    Abstract: 如本发明所描述的,源代码文件的中间表示可用于在生成源代码的目标代码之前显式地表达异常处理控制流。如本发明中进一步描述的,可使用中间表示的单独的一组统一的指令来表达与多种不同的编程语言有关的不同的异常处理机制。异常(10)处理指令的中间形式可通过转换源代码文件的中间语言表示来生成。多种不同的中间语言中的源代码的表示可被转换成中间表示的一组单独的统一指令。异常处理指令的中间形式然后可由软件开发工具用于诸如代码生成、代码优化、代码分析等任务。由此,可对多种不同语言的中间表示使用用于代码优化、分析和生成的同一方法。

    在事务存储器系统中高效地定位事务代码块

    公开(公告)号:CN101681293B

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

    申请号:CN200880018481.1

    申请日:2008-05-30

    Applicant: 微软公司

    CPC classification number: G06F9/467 G06F8/314

    Abstract: 公开了用于在事务存储器系统中创建和/或定位事务代码块的各种技术和方法。诸如软件开发者等用户可以用标识符来装饰特定函数以便指示该特定函数是事务安全的。接着创建软件应用程序中的被标记为事务安全的每一个函数的普通版本和事务版本。创建未被标记为事务安全的每一个函数的普通版本。对于被标记为事务安全的每一个函数的普通版本,该普通版本中的存根指针指向事务版本。然后取决于执行上下文来调用该函数的适当的版本。

    事务存储器中的并行嵌套事务

    公开(公告)号:CN102929702A

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

    申请号:CN201210399252.7

    申请日:2008-09-16

    Applicant: 微软公司

    CPC classification number: G06F9/467 G06F17/30356 G06F17/30359 G06F17/30362

    Abstract: 本发明公开了用于支持事务存储器系统中的并行嵌套事务的各种技术和方法。为单个父事务创建多个封闭嵌套事务,并且这些封闭嵌套事务作为并行嵌套事务来并发执行。使用各种技术来确保对父事务之外的其他事务隐藏并行嵌套事务的影响直到该父事务提交。例如,就并行嵌套事务使用版本化写锁。当事务存储器字从写锁变为版本化写锁时,在全局版本化写锁映射中形成一条目以存储指向该版本化写锁所替换的写日志条目的指针。当在事务处理期间遇到该版本化写锁时,咨询全局版本化写锁映射以便将该版本化写锁转换成指向写日志条目的指针。

Patent Agency Ranking