-
公开(公告)号:CN105051695B
公开(公告)日:2019-07-02
申请号:CN201480003955.0
申请日:2014-01-03
Applicant: 微软技术许可有限责任公司
IPC: G06F9/54
CPC classification number: G06F15/167 , G06F9/544 , G06F12/0253
Abstract: 不可变缓冲区的环境和使用。计算实体获取数据或生成数据,并将该数据填充到缓冲区,在这之后该缓冲区被分类成不可变的。该分类保护填充在不可变缓冲区中的数据在该不可变缓冲区的寿命期间免于改变,并且还保护不可变缓冲区在该不可变缓冲区的寿命期间免于改变其物理地址。在不同的计算实体使用来自不可变缓冲区的数据时,它们通过视图提供实体所提供的视图来这样做。不可变缓冲区体系结构还可被用于流传输数据,其中流传输数据中的每一分量使用不可变缓冲区。因此,不同计算实体可以不同地查看不可变数据,而不必实际上复制该数据。
-
公开(公告)号:CN105144098B
公开(公告)日:2018-11-13
申请号:CN201480003944.2
申请日:2014-01-03
Applicant: 微软技术许可有限责任公司
Inventor: J·J·达菲 , J·P·帕森斯 , M·辛兹 , A·D·布罗姆菲尔德 , K·J·克瓦利纳
IPC: G06F8/30
Abstract: 本发明描述了可以在系统编程中提升安全性的语言扩展,在其中在该类型的所有实例不可变的情况下,整个类型可以被声明为不可变。不可变类型声明自动地使该类型的任何实例被视为不可变,并且自动使实例的所有直接或间接可达的成员(例如,字段、方法、属性)也被视为不可变。而且,允许实例的字段分配的任何构造时间引用不被允许超出实例变得对创建者可访问的点而继续存在。相应地,该实例以及相同类型的任何其他实例将会自构造时刻起不可变。将所有这种实例归类为不可变的能力是有利的,因为不可变性质允许由于资源访问安全而通常不会被允许的动作。
-
公开(公告)号:CN102929702B
公开(公告)日:2016-04-27
申请号:CN201210399252.7
申请日:2008-09-16
Applicant: 微软技术许可有限责任公司
CPC classification number: G06F9/467 , G06F17/30356 , G06F17/30359 , G06F17/30362
Abstract: 公开了用于支持事务存储器系统中的并行嵌套事务的各种技术和方法。为单个父事务创建多个封闭嵌套事务,并且这些封闭嵌套事务作为并行嵌套事务来并发执行。使用各种技术来确保对父事务之外的其他事务隐藏并行嵌套事务的影响直到该父事务提交。例如,就并行嵌套事务使用版本化写锁。当事务存储器字从写锁变为版本化写锁时,在全局版本化写锁映射中形成一条目以存储指向该版本化写锁所替换的写日志条目的指针。当在事务处理期间遇到该版本化写锁时,咨询全局版本化写锁映射以便将该版本化写锁转换成指向写日志条目的指针。
-
公开(公告)号:CN102193822B
公开(公告)日:2015-08-26
申请号:CN201110063301.5
申请日:2011-03-07
Applicant: 微软技术许可有限责任公司
IPC: G06F9/46
CPC classification number: G06F9/46
Abstract: 本发明涉及用于嵌套任务的结果的编组的方法、系统和计算机程序产品。解包方法能被用以减少任务嵌套的层级并确保在任务之间编组合适的结果。能使用代理任务以表示包装任务和被包装的任务的聚集异步操作。该代理任务具有完成状态,该完成状态至少指示聚集异步操作的完成状态。聚集异步操作的完成状态是从包装任务和被包装的任务的一个或多个完成状态中确定并设置的。代理任务的完成状态能被传送到调用逻辑以向调用逻辑指示聚集异步操作的完成状态。
-
-
公开(公告)号:CN105164642B
公开(公告)日:2019-02-19
申请号:CN201480014378.5
申请日:2014-03-11
Applicant: 微软技术许可有限责任公司
Inventor: J·J·达菲 , J·P·帕森斯 , C·S·戈登 , A·D·布罗姆菲尔德 , M·塔耶费尔 , D·A·巴尔托落梅奥 , M·巴尼特
IPC: G06F9/4401
Abstract: 前端编译器将源代码编译成中间代码,该中间代码之后被编译成二进制代码。源代码定义执行作用域并包括合同。当在执行作用域的运行时遇到合同时,对该执行作用域的进一步执行以与该合同相关联的断言是否为真作为条件。前端编译器操作以便保留合同从而使该合同在语义上继续被结构化,以使得可以从中间语言代码去除该断言。该合同可因此继续被合同的语义分析所理解。因此,该断言可以被操作中间代码的静态分析工具理解。
-
公开(公告)号:CN104718529B
公开(公告)日:2018-05-15
申请号:CN201380053879.X
申请日:2013-10-15
Applicant: 微软技术许可有限责任公司
Inventor: J·J·达菲 , J·P·帕森斯 , M·辛兹 , A·D·布罗姆菲尔德
IPC: G06F8/30
CPC classification number: G06F8/433 , G06F9/468 , G06F9/52 , G06F17/30604 , G06F17/30958
Abstract: 从可执行组件返回的引用的注释表示没有对由返回的引用来引用的特定对象图的外部引用。如果1)没有对可执行组件的输入自变量或2)每一输入自变量不可改变或者表示没有指向对象图的外部可变的引用,并且没有引用外部对象的内部可变的引用的对象图,则将特定属性分配到返回的引用。相应地,如果返回的引用是可写入的(如通过对于可执行组件评估声明代码或调用代码所确定的),返回的引用随意具有给它分配的任何访问权限,也可以被分配到隔离的存储器位置,但是,这样的分配将导致返回的引用丢失特定属性。
-
-
公开(公告)号:CN105144098A
公开(公告)日:2015-12-09
申请号:CN201480003944.2
申请日:2014-01-03
Applicant: 微软技术许可有限责任公司
Inventor: J·J·达菲 , J·P·帕森斯 , M·辛兹 , A·D·布罗姆菲尔德 , K·J·克瓦利纳
IPC: G06F9/45
Abstract: 本发明描述了可以在系统编程中提升安全性的语言扩展,在其中在该类型的所有实例不可变的情况下,整个类型可以被声明为不可变。不可变类型声明自动地使该类型的任何实例被视为不可变,并且自动使实例的所有直接或间接可达的成员(例如,字段、方法、属性)也被视为不可变。而且,允许实例的字段分配的任何构造时间引用不被允许超出实例变得对创建者可访问的点而继续存在。相应地,该实例以及相同类型的任何其他实例将会自构造时刻起不可变。将所有这种实例归类为不可变的能力是有利的,因为不可变性质允许由于资源访问安全而通常不会被允许的动作。
-
公开(公告)号:CN105103134A
公开(公告)日:2015-11-25
申请号:CN201480004057.7
申请日:2014-01-03
Applicant: 微软技术许可有限责任公司
Inventor: M·塔耶费尔 , J·于 , J·J·达菲 , S·E·特洛布里奇 , A·D·布罗姆菲尔德
IPC: G06F11/36
CPC classification number: G06F11/0772 , G06F8/4442 , G06F11/3612
Abstract: 处理程序执行中的错误。该方法包括标识包括多个显式地标识出的失败状况的集合。该方法进一步包括确定已发生了这些显式标识出的失败状况中的一个或多个。结果,该方法进一步包括停止预定的第一计算执行范围,并向另一计算范围通知该失败状况。一替换实施例可在计算环境中实施,并包括处理错误的方法。该方法包括标识包括多个显式地标识出的失败状况的集合。该方法进一步包括确定已发生了不在该包括多个显式地标识出的失败状况的集合中的错误状况。作为结果,该方法进一步包括停止预定的第一计算执行范围,并向另一计算范围通知该失败状况。
-
-
-
-
-
-
-
-
-