CN102203757B - 用于冻结对象的类型描述符管理 - Google Patents

用于冻结对象的类型描述符管理 Download PDF

Info

Publication number
CN102203757B
CN102203757B CN2009801351924A CN200980135192A CN102203757B CN 102203757 B CN102203757 B CN 102203757B CN 2009801351924 A CN2009801351924 A CN 2009801351924A CN 200980135192 A CN200980135192 A CN 200980135192A CN 102203757 B CN102203757 B CN 102203757B
Authority
CN
China
Prior art keywords
type
descriptor
action
type descriptor
connected components
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2009801351924A
Other languages
English (en)
Other versions
CN102203757A (zh
Inventor
S·D·莫热
P·F·索利趣
F·V·佩斯彻-盖里
P·H·杜斯德
S·J·霍尔
R·马丁
M·M·马格鲁德
A·帕多
M·泰鲁利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102203757A publication Critical patent/CN102203757A/zh
Application granted granted Critical
Publication of CN102203757B publication Critical patent/CN102203757B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44557Code layout in executable memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking
    • G06F8/437Type checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Stored Programmes (AREA)

Abstract

对冻结对象的类型描述符的高效使用。冻结对象实际上可以包括多个类型描述符,即,根据一组规范化规则是规范的主类型描述符,以及与主类型描述符不相同的辅助类型描述符。可以使用辅助类型描述符来访问规范类型描述符。在执行操作时,如果可以使用辅助类型描述符来执行该操作,则可使用该辅类型描述符。如果要使用规范主类型描述符来执行该操作,则使用辅类型描述符来获取对规范主类型描述符的访问权。随后使用主类型描述符来执行该操作。

Description

用于冻结对象的类型描述符管理
背景
面向对象的编程的最基本构件块被称为“对象”。一般而言,对象具有零个或多个方法和零个或多个成员字段。因此,为了由计算系统正确地解释,对象应该是由计算系统理解的特定类型。原语类型包括编程语言本身作为基本构件块向程序员提供的类型。原语类型的示例可以包括字符、串、整数、浮点数、数组等等。编程语言通常允许程序员构造表示构成类型的组合的合成类型,无论这些构成类型是原语类型还是其他合成类型。这些合成类型可能是相当复杂的。
知道特定对象的类型常常是有利的。因此,在执行期间,在存储器中,对象常常具有相关联的类型描述符。在一个示例中,对象具有指向更完整的类型描述符的类型描述指针。类型描述符可出于各种目的来使用。其一,可以评估对象的类型描述符以便验证特定操作可以由该对象来执行,或者来确定该对象是与另一对象相同或等价的类型。
一种特定种类的对象被称为“冻结对象”。冻结对象实例是在编译时完成其布局并作为经编译的映像的一部分来包括的对象实例。在运行时期间不遭受广泛的或可能任何改变的对象可能是对象冻结的最佳候选,但可以冻结具有预初始化数据的任何对象实例。例如,日历程序可以提供从1000个预定语录之中选择的日常有灵感的语录。这1000个预定语录中的每一个可以用类型串的冻结对象来表示。模块内的指令可以指的是冻结对象。在运行时,冻结对象连同模块的许多或所有其他部分一起被加载到存储器中。然而,在运行时没有必要新分配冻结对象。
简要概述
本文描述的各实施例涉及对冻结对象的类型描述符的高效使用。在一个实施例中,冻结对象实际上可以包括多个类型描述符,即,根据一组规范化规则是规范的主类型描述符,以及与主类型描述符不相同的辅助类型描述符。辅助类型描述符可被用来访问规范类型描述符。在执行操作时,如果辅助类型描述符可用于执行该操作,则使用该辅助类型描述符来执行该操作。如果要使用规范主类型描述符来执行该操作,则使用辅助类型描述符来获取对规范主类型描述符的访问权。随后使用主类型描述符来执行该操作。
本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
为了描述可以获得本发明的上文所列举的及其他优点和特征的方式,下面将通过参考附图来呈现对各实施例的更具体的描述。可以理解,这些附图只描绘了样本实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特性和细节来描述和解释各实施例,在附图中:
图1示出了可实现本文描述的多个特征之一的计算系统;
图2示出可对冻结对象使用类型描述的体系结构;
图3示出一种用于使用对应于冻结对象的多个类型描述符来执行一个或多个类型操作的方法的流程图;
图4示出一种用于使用辅助类型描述符来访问规范类型描述符的示例方法的流程图;以及
图5示出一种用于准备使用间接组件来允许访问规范类型描述符的方法的流程图。
详细描述
根据本文描述的各实施例,本文描述的各原理允许对冻结对象高效地使用类型描述符。首先,其中可以采用本文描述的各原理的计算系统的各实施例。随后,将参考图2到图5来描述用于冻结对象的类型描述符的使用的各实施例。
图1示出了计算系统100。计算系统现在越来越多地采取各种形式。计算系统可以例如是手持式设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统,或者甚至通常不被视为计算系统的设备。在本说明书以及权利要求书中,术语“计算系统”被广义地定义为包括包含至少一个处理器以及其上能含有可由处理器执行的计算机可执行指令的存储器的任何设备或系统(或其组合)。存储器可以采取任何形式,并可以取决于计算系统的特性和形式。计算系统可以分布在网络环境中,并可包括多个组成计算系统。
如图1所示,在其最基本的配置中,计算系统100通常包括至少一个处理单元102和存储器104。存储器104可以是物理系统存储器,可以是易失性、非易失性、或两者的某种组合。术语“存储器”在此也可用来指诸如物理存储介质等非易失性大容量存储。如果计算系统是分布式的,那么,处理、存储器和/或存储能力也可以是分布式的。如此处所使用的,术语“模块”或“组件”可以指在计算系统上执行的软件对象或例程。此处所描述的不同组件、模块、引擎,以及服务可以被实现为在计算系统上执行的对象或进程(例如,作为分开的线程)。
在随后的描述中,参考由一个或多个计算系统执行的动作描述了各实施例。如果这样的动作是以软件实现的,则执行动作的相关联计算系统的一个或多个处理器响应于已经执行了计算机可执行指令,引导计算系统的操作。这样的操作的示例涉及对数据的操纵。计算机可执行指令(以及被操纵的数据)可以存储在计算系统100的存储器104中。
计算系统100还可包含允许计算系统100例如通过网络110与其他消息处理器通信的通信信道108。通信信道108是通信介质的示例。通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并包括任何信息递送介质。作为示例而非限制,通信介质包括有线介质,如有线网络或直接线连接,以及诸如声学、无线电、红外线及其他无线介质之类的无线介质。如此处所用的术语“计算机可读介质”既包括存储介质又包括通信介质。
本发明的范围内的实施例还包括用于携带或其上储存有计算机可执行指令或数据结构的计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机访问的任何可用介质。作为示例而非限制,这样的计算机可读介质可包括诸如RAM、ROM、EEPROM、CD-ROM之类的物理存储器和/或存储介质或其他光盘存储、磁盘存储或其他磁存储设备、或可用于携带或存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。当信息通过网络或另一通信连接(硬连线、无线或硬连线或无线的组合)传输或提供给计算机时,计算机将该连接完全视为计算机可读介质。因此,任何这样的连接被适当地称为计算机可读介质。上述的组合也应被包括在计算机可读介质的范围内。
计算机可执行指令例如包括,使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于此处所描述的具体特征或动作。相反,此处所描述的具体特征和动作是作为实现权利要求的示例形式来公开的。
图2示出其中类型描述可高效地用于冻结对象的体系结构200。如先前所述,“冻结对象”是在编译时分配的对象,并因此作为经编译的可执行文件中的对象存在。因此,在加载来准备执行时,冻结对象连同映像文件的其他组件的潜在的其他部分或可能全部一起被加载到存储器中。通常,它可能是可用冻结对象来表示的静态数据。即,本文描述的各原理不限于一旦被加载到存储器中就无法修改的冻结对象的使用。然而,本文的某些实施例减少或消除了写入冻结对象的存储器中的表示的必要。这是有利的,因为写入存储器可以使得存储器中被写入的部分(被称为页)成为“专用”的。即,写入该页的进程迫使创建该页的专用副本。
体系结构200包括定义模块210和引用模块220。在本说明书中,“模块”可以是被加载到存储器中的可执行映像。例如,参考图1和2,模块210和220可以从存储(存储器104的非易失性部分)被加载到存储器(存储器104的易失性部分)中。
定义模块210被称为“定义”是因为它包含与特定类型相对应的并定义特定类型的主类型描述符211。在一个实施例中,主类型描述符211按照满足一组规范化规则的方式来定义特定类型。也可以存在其他类型的规范化类型描述符。然而,为了避免图2的过度复杂,只示出了一种类型的类型描述符。
引用模块220被称为“引用”是因为它包含由主类型描述符定义的类型的冻结对象222。引用模块220因此在某种意义上间接地引用主模块210中的主类型描述符。具体地,引用模块222包括与由主类型描述符211定义的相同特定类型相对应的并定义该相同特定类型的辅助类型描述符221。引用模块222还包括足够的信息来提供冻结对象222和辅助类型描述符221之间的关联223。
辅助类型描述符211与规范主类型描述符221不相同。例如,辅助类型描述符221在它可以不遵循主类型描述符211所遵循的一组规范规则中的每一条规范规则的意义上可以不是规范类型描述符。然而,在一个实施例中,辅助类型描述符221在本质上可以是主类型描述符211的克隆副本,除了可能带有足够的信息来将主类型描述符和辅助类型描述符彼此区分。在另一实施例中,辅助类型描述符221包括足够的信息从而使得用辅助类型描述符221可以执行至少一种类型操作,而非必须引用规范主类型描述符211。
冻结对象222和辅助类型描述符221之间的关联223可以是例如冻结对象本身中的类型描述符指针。例如,在对象以类型描述指针开始的实施例中,冻结对象也能以类型描述指针开始。然而,替代指向主类型描述符,冻结对象222改为指向辅助类型描述符221。如果主类型描述符211相反被包括在模块220中,则冻结对象221可改为直接地指向主类型描述符211。然而,在编译引用模块220时,可能没有足够的信息来使得冻结对象直接指向不同模块中的主类型描述符。
体系结构200还包括间接组件230,辅助类型描述符221通过该间接组件230与主类型描述符211相关联。在一个实施例中,间接组件230是导入地址表并且甚至可以是引用模块220本身的一部分。导入地址表的一个单元可被用作主类型描述符211和辅助类型描述符221之间的间接点。虽然图2中只示出了一种类型,但间接组件可用于多种类型。
在一个实施例中,使用间接组件230来如下将两个类型描述符相关联。首先,可能在编译时,辅助类型描述符包括该类型描述符是辅助的且不是主要的某些指示。这意味着修改辅助类型描述符221的各字段之一来包括指向间接组件231的相对应的部分的指针,如箭头230所示。在运行时,随后修改间接组件230的适当部分来包括指向相对应的主类型描述符211的指针(由箭头232表示)。因此,通过使用辅助类型描述221和间接组件230中的指针,辅助类型描述符221可用于访问主类型描述符211。另外,就可以使用与冻结对象相同模块中的辅助类型描述符来对该冻结对象执行类型操作而言,只使用一层间接来访问辅助类型描述符。
在一个实施例中,可能只可对间接组件写入一次,不使被写入的那些页变为专用的。即使写操作不将被写入的间接组件的部分变为专用的,但间接组件230可以被聚类成较少数量的页。因此,与要对模块220本身中的较分散的类型描述指针作出相似数量的写入的情形相比,可以使得较少的页成为专用的。
环境200还包括执行类型操作的操作管理组件240。在这样做时,操作管理组件确定辅助类型描述符是否足以执行该类型操作,或者是否需要主类型描述符来执行该类型操作。作为示例,图3示出一种用于使用对应于冻结对象的多个类型描述符来执行一个或多个类型操作的方法300的流程图。例如,如果冻结对象是图2的冻结对象222,则多个类型描述将包括主类型描述符211和辅助类型描述符221。在一个实施例中,操作管理组件240可以简单地是应用程序、操作系统或其部分。
首先,对于每一操作,组件240确定辅助类型描述符是否足以执行操作(判定框301)。对于一个或多个类型操作,可以确定辅助类型描述符将足以执行该操作(判定框301中的是)。在这种情况下,使用辅助类型描述符来执行该操作(动作302)。在某些情况下,类型操作可以要求在冻结对象和类型描述之间只存在一层间接。从冻结对象指向辅助类型描述符的指针表示该情况下的该一层间接。因此,可以在不过度地增加复杂性以通过附加间接来访问主类型描述符的情况下执行这些操作。
可以仅使用辅助类型描述符来执行的并且可能只期待在对象和类型描述符之间只有一层间接的操作类型的示例,包括虚调用操作或接口调用操作。另外,在某些情况下,两个对象之间的类型比较可以通过比较每一对象中的类型描述符指针来作出。如果指针匹配,则不管它们是指向主类型描述符还是辅助类型描述符,它们都指代同一类型。在一个实施例中,所执行的全部类型操作中的相当比例可以通过仅使用辅助类型描述符来满足。因此,这些操作可以在甚至不必寻找主类型描述符的情况下相当高效地执行。
对于一个或多个其他操作,可以确定辅助类型描述符不足以执行该操作(判定框301中的否)。在这种情况下,使用辅助类型描述符来访问规范主类型描述符(动作303)。随后,可以使用主类型描述符来执行该操作(动作304)。作为可能需要访问主类型描述符的类型操作的示例,假设在两个对象之间再次执行类型比较操作。然而在这种情况下,如果类型描述符指针不匹配,并且确定对象中的至少一个指向辅助类型描述符,则访问对应于任何辅助类型描述符的主类型描述符,并使用该主类型描述符来验证类型匹配。在一个实施例中,需要访问主类型描述符的类型操作的比例与可以仅使用辅助类型描述符来完成的操作类型的比例相比可能相对较小。
图4示出一种使用辅助类型描述符来访问规范类型描述符的示例方法400的流程图。可以采用其他方法来从辅助类型描述符访问主类型描述符。然而,方法400作为一个示例是合适的。
访问辅助类型描述符内的指针(动作401)。该指针直接或间接指向主类型描述符。例如,在图2的情况下,辅助类型描述符的指针指向(如箭头231所示)间接组件中的适当单元。随后使用间接组件的单元中的指针(参见箭头232)来访问主规范类型描述符(动作402)。
因此,即使多个类型描述符对应于单个对象,并且即使特定对象的主类型描述符驻留在冻结对象被分配到的模块之外,也可以有效地使用类型描述符。此外,通过合并对间接组件的写操作,写操作在运行时可以更同一,从而最小化并可能消除由于这些写操作而导致的页的专用化。
图5示出一种用于准备使用间接组件来允许访问规范类型描述符的方法500的流程图。该方法500可以在加载以准备执行时执行。在执行该方法之前,在编译时,可能已经设置了从冻结对象指向辅助类型描述符的指针以及从辅助类型描述符指向间接组件的指针。然而,为了完成到主类型描述符的间接路径,设置从间接组件指向主类型描述符的指针。
为此,确定对应于间接组件的适当单元的类型(动作501)。随后确定该类型对应于主类型描述符(动作502)。响应于该匹配操作,随后修改间接组件来包括指向规范类型描述符的指针(动作503)。因此,在该实施例中,在编译时期间创建了间接路径的一部分,并且在运行时创建间接路径的最后一部分。这允许在部署时主类型描述符相对于其他可执行模块中的冻结对象的位置的灵活性。因此,只要主类型描述符存在于可执行模块集合中的某处,该集合中的任何位置的冻结对象便可正确地引用(即使是间接地)该主类型描述符。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。从而,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书的范围所涵盖。

Claims (14)

1.一种用于使用对应于冻结对象(222)的多个类型描述(211、221)来执行一个或多个类型操作的方法(300),所述多个类型描述包括符合一组规范化规则的规范类型描述符(211)以及辅助类型描述符,其中所述规范类型描述符和所述辅助类型描述符彼此不同并且所述冻结对象直接或间接地与所述辅助类型描述符和所述规范类型描述符相关联,所述方法包括:
对于第一组一个或多个操作,确定(301)所述辅助类型描述符(221)将足以执行所述操作的动作,以及使用(302)所述辅助类型描述符但不使用所述规范类型描述符来执行所述操作的动作,其中所述辅助类型描述符和所述冻结对象被包含在引用模块内;以及
对于第二组一个或多个操作,确定(301)所述辅助类型描述符不足以执行所述操作的动作,使用(303)所述辅助类型描述符来访问所述规范类型描述符的动作;以及使用(304)所述规范类型描述符来执行所述操作的动作,其中所述规范类型描述符被包含在定义模块内。
2.如权利要求1所述的方法,其特征在于,所述使用所述辅助类型描述符来访问所述规范类型描述符的动作包括:
访问所述辅助类型描述符内的指针的动作,其中所述指针直接或间接地指向所述规范类型描述符。
3.如权利要求1所述的方法,其特征在于,所述使用所述辅助类型描述符来访问所述规范类型描述符的动作包括:
访问所述辅助类型描述符内的指针的动作,其中所述指针直接或间接地指向包括直接或间接地指向所述规范类型描述符的指针的间接组件;以及
使用所述间接组件中的指针来访问所述规范类型描述符的动作。
4.如权利要求3所述的方法,其特征在于,还包括准备使用所述间接组件来允许访问所述规范类型描述符的动作。
5.如权利要求4所述的方法,其特征在于,所述准备动作包括:
确定对应于所述间接组件的类型的动作;
确定所述类型对应于所述规范类型描述符的动作;以及
修改所述间接组件来包括指向所述规范类型描述符的指针的动作。
6.如权利要求1所述的方法,其特征在于,所述第二组操作中的至少一个包括所述冻结对象的类型与另一对象的类型的比较。
7.如权利要求1所述的方法,其特征在于,所述第一组操作中的至少一个要求所述冻结对象和用于执行所述操作的所述类型描述符之间只存在一层间接。
8.如权利要求1所述的方法,其特征在于,所述第一组操作中的至少一个是虚调用操作。
9.如权利要求1所述的方法,其特征在于,所述冻结对象(222)是由符合一组规范化规则的规范类型描述符(211)规范地描述的类型的实例;所述辅助类型描述符(221)与所述规范类型描述符不相同,但至少对于使用所述类型的类型描述符的操作中的某一些,所述辅助类型描述符也用作所述冻结对象的类型描述符。
10.如权利要求1所述的方法,其特征在于,所述规范类型描述符存在于计算机程序中。
11.如权利要求1所述的方法,其特征在于,所述冻结对象通过包括指向所述辅助类型描述符的指针来与所述辅助类型描述符相关联。
12.如权利要求3所述的方法,其特征在于,所述间接组件是这样一种组件:该组件可在运行时被写入从而使得所述间接组件在不使得所述间接组件或其部分变为专用的情况下指向所述规范化的类型描述符。
13.如权利要求3所述的方法,其特征在于,所述间接组件是这样一种组件:该组件可在运行时被一次写入从而使得所述间接组件在不使得所述间接组件或其部分变为专用的情况下指向所述规范化的类型描述符。
14.如权利要求3所述的方法,其特征在于,所述间接组件是导入地址表。
CN2009801351924A 2008-09-03 2009-08-19 用于冻结对象的类型描述符管理 Active CN102203757B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/203,857 US8316357B2 (en) 2008-09-03 2008-09-03 Type descriptor management for frozen objects
US12/203,857 2008-09-03
PCT/US2009/054299 WO2010027665A2 (en) 2008-09-03 2009-08-19 Type descriptor management for frozen objects

Publications (2)

Publication Number Publication Date
CN102203757A CN102203757A (zh) 2011-09-28
CN102203757B true CN102203757B (zh) 2013-07-31

Family

ID=41727204

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801351924A Active CN102203757B (zh) 2008-09-03 2009-08-19 用于冻结对象的类型描述符管理

Country Status (7)

Country Link
US (1) US8316357B2 (zh)
EP (1) EP2321734B1 (zh)
KR (1) KR20110099214A (zh)
CN (1) CN102203757B (zh)
BR (1) BRPI0916699A2 (zh)
RU (1) RU2510073C2 (zh)
WO (1) WO2010027665A2 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8755610B2 (en) * 2011-06-10 2014-06-17 Apple Inc. Auto-recognition for noteworthy objects
US8863099B2 (en) * 2012-11-05 2014-10-14 International Business Machines Corporation Compilation and placement of instructions in a memory system
RU2541935C2 (ru) 2012-12-25 2015-02-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ развертывания предварительно сконфигурированного программного обеспечения
RU2523113C1 (ru) 2012-12-25 2014-07-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ целевой установки сконфигурированного программного обеспечения
US8805972B1 (en) 2013-06-26 2014-08-12 Kaspersky Lab Zao Multi-platform operational objective configurator for computing devices
US20220212100A1 (en) * 2021-01-04 2022-07-07 Microsoft Technology Licensing, Llc Systems and methods for streaming interactive applications
US11954023B2 (en) 2022-07-20 2024-04-09 Microsoft Technology Licensing, Llc Garbage collection prefetching state machine

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6922704B2 (en) * 2000-05-27 2005-07-26 Abb Inc. Method for generating application specific input files

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0418638A (ja) 1990-05-11 1992-01-22 Fujitsu Ltd 静的メモリ割当て処理方法
US5970496A (en) 1996-09-12 1999-10-19 Microsoft Corporation Method and system for storing information in a computer system memory using hierarchical data node relationships
US6061520A (en) 1998-04-07 2000-05-09 Sun Microsystems, Inc. Method and system for performing static initialization
US6868425B1 (en) * 1999-03-05 2005-03-15 Microsoft Corporation Versions and workspaces in an object repository
US6529921B1 (en) * 1999-06-29 2003-03-04 Microsoft Corporation Dynamic synchronization of tables
CA2329559A1 (en) * 2000-12-22 2002-06-22 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for generating serialization code for representing a model in different type systems
US20030046670A1 (en) * 2001-06-15 2003-03-06 Marlow Mark J. Binary object system for automated data translation
US7403987B1 (en) * 2001-06-29 2008-07-22 Symantec Operating Corporation Transactional SAN management
US6919891B2 (en) * 2001-10-18 2005-07-19 Microsoft Corporation Generic parameterization for a scene graph
US7036118B1 (en) * 2001-12-20 2006-04-25 Mindspeed Technologies, Inc. System for executing computer programs on a limited-memory computing machine
US20030140058A1 (en) * 2002-01-18 2003-07-24 Vitria Technology, Inc. Method and apparatus for sharing information between applications using common objects
US6826666B2 (en) * 2002-02-07 2004-11-30 Microsoft Corporation Method and system for transporting data content on a storage area network
US6954762B2 (en) * 2002-02-28 2005-10-11 Veritas Operating Corporation System and method for characterizing logical storage devices
US7010783B2 (en) 2002-03-18 2006-03-07 Sun Microsystems, Inc. Method and apparatus for deployment of high integrity software using reduced dynamic memory allocation
US7353507B2 (en) 2002-10-30 2008-04-01 Hewlett-Packard Development, L.P. Intercepting function cells
US7111279B2 (en) * 2002-10-30 2006-09-19 Hewlett-Packard Development Company, L.P. Intercepting calls to common dialog functions
US20050004873A1 (en) * 2003-02-03 2005-01-06 Robin Pou Distribution and rights management of digital content
US6952743B2 (en) * 2003-03-07 2005-10-04 Ivivity, Inc. Interface for distributed processing of SCSI tasks
GB0306610D0 (en) * 2003-03-21 2003-04-30 British Telecomm Conversion of structured information
US20050086642A1 (en) * 2003-10-15 2005-04-21 Martin Runte Tools providing for backwards compatible software
US7743382B2 (en) * 2003-11-03 2010-06-22 Ramal Acquisition Corp. System for deadlock condition detection and correction by allowing a queue limit of a number of data tokens on the queue to increase
US7124291B1 (en) 2003-12-22 2006-10-17 Sun Microsystems, Inc System and method for eliminating static initialization overhead by memory space cloning of a master runtime system process
US7805495B2 (en) * 2005-03-31 2010-09-28 Google Inc. Method and system for transferring web browser data between web browsers
US7992140B2 (en) * 2005-07-29 2011-08-02 Microsoft Corporation Compiler supporting programs as data objects
US7900213B2 (en) * 2005-10-04 2011-03-01 International Business Machines Corporation Generic markup specified object descriptor for a modularized computing application
US20080127129A1 (en) * 2006-08-30 2008-05-29 Microsoft Corporation Compiling logical programs to rewrite systems
US8015556B2 (en) * 2006-10-12 2011-09-06 International Business Machines Corporation Efficient method of data reshaping for multidimensional dynamic array objects in the presence of multiple object instantiations
US7809745B2 (en) * 2007-08-09 2010-10-05 Yahoo! Inc. Method for generating structured query results using lexical clustering
US8347277B2 (en) * 2007-08-17 2013-01-01 International Business Machines Corporation Verifying that binary object file has been generated from source files
US20090070753A1 (en) * 2007-09-07 2009-03-12 International Business Machines Corporation Increase the coverage of profiling feedback with data flow analysis
US8850057B2 (en) * 2007-09-20 2014-09-30 Intel Corporation Healthcare semantic interoperability platform

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6922704B2 (en) * 2000-05-27 2005-07-26 Abb Inc. Method for generating application specific input files

Also Published As

Publication number Publication date
EP2321734A2 (en) 2011-05-18
KR20110099214A (ko) 2011-09-07
WO2010027665A2 (en) 2010-03-11
EP2321734B1 (en) 2021-05-26
RU2510073C2 (ru) 2014-03-20
BRPI0916699A2 (pt) 2015-11-17
WO2010027665A3 (en) 2010-06-24
US20100058304A1 (en) 2010-03-04
WO2010027665A8 (en) 2011-07-07
CN102203757A (zh) 2011-09-28
US8316357B2 (en) 2012-11-20
EP2321734A4 (en) 2016-02-24
RU2011108110A (ru) 2012-09-10

Similar Documents

Publication Publication Date Title
CN102203757B (zh) 用于冻结对象的类型描述符管理
CN101663655B (zh) 用于合成固态驱动器的访问、标识和优化的方法及系统
CN102934114B (zh) 用于文件系统的检查点
US6886083B2 (en) Apparatus and method for controlling a card device
CN101273338B (zh) 用于数据集及数据集“异或”的dma传送的方法、装置及系统
CN101939730B (zh) 用于单个i/o操作内的双向数据传输的方法和装置
US8209693B2 (en) System and method for processing series of processes in given order having processing status generation with tables storing status including beginning, end and existence segment
US20080195833A1 (en) Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit
CN101183379A (zh) 用于检索数据的方法和系统
US20120124237A1 (en) Affinity-based transaction processing
CN1892591B (zh) 数据对齐系统和方法
US11195023B2 (en) Feature generation pipeline for machine learning
CN101169718A (zh) 用于实例化抽象类的系统和方法
CN102323930B (zh) 对数据库系统中的数据变更进行镜像
JP4890869B2 (ja) 同じアイテムを表すデータ構造間で生データを転送するメカニズム
CN101535969A (zh) 使用内核模式重定向来改变代码执行路径
CN102985914A (zh) 通过端口共享硬件对存储设备的带外访问
CN109634921B (zh) 一种文件存储的方法及存储系统
CN101479724A (zh) 从双语词语对齐高效提取短语对
CN101539852A (zh) 处理器和信息处理设备
CN103582866B (zh) 无序数据传输的处理
CN102812437A (zh) 高和低值应用状态
CN101796493B (zh) 信息检索系统、信息检索方法及程序
CN112114978A (zh) 电子秤数据更新方法、装置、设备以及可读存储介质
CN104508636A (zh) 分割数据以改进系统性能

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150518

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150518

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.