发明名称 用于扩充软体之电脑系统、方法、电脑可读取媒体及补缀资料结构产品
摘要 本发明提供一种用于扩充(augmenting)一目标电脑系统里软体的工具。本工具在目标电脑系统接收一个扩充规格。该扩充规格指定了(1)需要扩充的函数、(2)该函数需要被测试的参数、(3)对该参数所要进行的测试、以及(4)如果该测试不通过时,修改该函数之行为。当该函数在目标电脑系统被启动时,如果该参数没能通过该测试,本工具会进行指定修改该函数的行为。
申请公布号 TWI376634 申请公布日期 2012.11.11
申请号 TW094111243 申请日期 2005.04.08
申请人 微软公司 发明人 布努费尔德安东尼;戈兰吉拉德;卡门斯强森;阿许巴尼绍德;费尔德史考特A
分类号 G06F9/445 主分类号 G06F9/445
代理机构 代理人 蔡坤财 台北市中山区松江路148号11楼;李世章 台北市中山区松江路148号11楼
主权项 一种用于在一计算系统中扩充(augmenting)软体的方法,该方法包含下列步骤:在一目标电脑系统里接收一扩充规格(augmentation specification),该修补规格指定(1)一需要修补之函数,该所指定之函数系该计算系统中所执行软体之一、(2)要被测试之该所指定之函数的一参数、(3)要应用于该所指定之参数之一测试、以及(4)如果该所指定之参数未通过该所指定之测试时,要执行于该所指定之函数行为之一修改;以及当该所指定之函数在该目标电脑系统被启动时,如果该所指定之参数未能通过该所指定之测试时,则对该所指定之函数之行为执行该所指定的修改。如申请专利范围第1项所述之方法,其中该扩充规格所指定之该修改系阻止该所指定函数之执行。如申请专利范围第1项所述之方法,其中由该扩充规格所指定之该修改,系在改变该所指定参数后,执行该所指定的函数。如申请专利范围第1项所述之方法,其中在该目标电脑系统里接收复数个扩充规格。如申请专利范围第4项所述之方法,该方法更包含以下步骤:在一资料结构中维护所有接收到之该等扩充规格。如申请专利范围第1项所述之方法,其中在接收该扩充规格之后,不需使用者之介入(intervention)即可对该所指定之函数之行为执行该所指定的修改。如申请专利范围第1项所述之方法,其中该扩充规格藉由识别(identifying)要启动之一参数测试函数来指定要应用于该所指定参数的一测试,其中该参数测试函数之程式码未包含在该扩充规格中。如申请专利范围第1项所述之方法,其中该扩充规格藉由识别(identifying)要启动之一参数测试函数来指定要应用于该所指定参数的一测试,其中该参数测试函数系在接收该扩充规格尚未前即已被安装。如申请专利范围第1项所述之方法,其中该扩充规格包含:程式码。如申请专利范围第9项所述之方法,其中该扩充规格所包含之程式码包含:启动一参数测试函数之程式码,该参数测试函数之程式码未包含在该扩充规格中。如申请专利范围第1项所述之方法,其中该扩充规格包含识别(identifying)一参数测试函数之文字,该参数测试函数之程式码未包含在该扩充规格中。如申请专利范围第11项所述之方法,其中由该扩充规格所包含之该文字所识别之该参数测试函数之程式码,系包含在该扩充规格中。如申请专利范围第11项所述之方法,其中由该扩充规格所未包含之该文字所识别之该参数测试函数之程式码,并未包含在该扩充规格中。如申请专利范围第1项所述之方法,该方法更包含以下步骤:提供一界面以设置一控制该扩充规格之运作之状态,且其中唯有当该状态为一开启状态时,才会对该所指定之函数之行为执行该所指定的修改。如申请专利范围第14项所述之方法,其中该所提供之界面容许该扩充规格之运作由本地设置。如申请专利范围第14项所述之方法,其中该所提供之界面容许该扩充规格之运作由远端设置。如申请专利范围第14项所述之方法,其中该所提供之界面容许该扩充规格之运作系依照一方针(policy)设置。如申请专利范围第14项所述之方法,其中该所指定之测试系于该所指定之函数之任何主要程式码执行前执行。如申请专利范围第1项所述之方法,该方法更包含以下步骤:提供一界面以设置与该扩充规格相关之警讯,且其中,如果使用该所提供之界面启动警讯,则每次该扩充规格指定之该测试不通过时,即产生一警讯。如申请专利范围第1项所述之方法,该方法更包含以下步骤:提供一界面以设置与该扩充规格相关之通知,且其中,如果使用该所提供之界面启动通知,则每次执行该扩充规格指定之该测试时,即产生一通知。如申请专利范围第20项所述之方法,该方法更包含以下步骤:将该等所产生之通知汇整至一单一之经过汇整的通知。如申请专利范围第1项所述之方法,其中该所接收到之扩充规格系经注记,该方法更包含以下步骤:验证该扩充规格之注记,且其中唯有该扩充规格之该注记验证成功,才会对该所指定之函数之行为执行该所指定的修改。如申请专利范围第22项所述之方法,其中唯有该扩充规格之注记之一签注人与包含该所指定函数之该软体之一签注人相符合时,才会对该所指定之函数之行为执行该所指定的修改。如申请专利范围第1项所述之方法,该方法更包含以下步骤:当侦测到该所指定之函数启动时,则执行该所指定之测试而不更动该所指定之函数之程式码。如申请专利范围第1项所述之方法,该方法更包含以下步骤:当该所指定之函数启动时,更改该函数之程式码以执行该所指定之测试。如申请专利范围第25项所述之方法,其中该所指定之函数之程式码之更改,系于该所指定之函数之程式码中插入一跳跃指令(jump),以跳至执行该所指定之测试的一个别的常式(routine)。如申请专利范围第1项所述之方法,其中该所指定之函数系提供于一可区别之可执行模组中,该可执行模组可使用一载入程式(loader)载入,该方法更包含以下步骤:为了回应该所指定之函数之每一呼叫(invocation),,向该载入程式注册以获取可执行该所指定之测试的一常式(routine),该所指定之测试系在执行该所指定之函数之前被呼叫。一种使软体能在其中扩充的计算系统,其至少包含:一包含有软体之储存装置;一补缀(patch)接收器,该补缀接收器系用于在该计算系统中接收一补缀,该补缀指定:(1)该软体需被扩充之一位置点、(2)在该所指定之位置点与一要被测试之函数相关的一数值、(3)要对该所指定之数值进行之一测试、以及(4)如果该所指定之数值未通过该所指定之测试时,则对该软体行为执行一修改;以及一修补代理程式,该修补代理程式系在该软体之该所指定之位置点插入程式码,致使在目标电脑系统内所执行之该软体到达该所指定之位置点时,如果该所指定之数值未通过该所指定之测试,则执行该软体行为之该所指定的修改。一种电脑可读取媒体,其内容使一目标计算系统执行一用于将数值验证加入到用于该目标计算系统上之软体的方法,该方法至少包含:于该目标计算系统接收一扩充规格,该扩充规格指定:(1)欲加入数值验证之一函数,该所指定之函数系该计算系统所用软体之一、(2)该所指定之函数执行期间,存在于该目标计算系统上需被测试之资料、(3)对要应用于该所指定之资料之一测试、以及(4)如果该所指定之资料未通过该所指定之测试时,要执行于该所指定之函数行为之一修改;以及当目标电脑系统启动该所指定之函数时,如果该所指定之资料未通过该所指定之测试,即对该所指定之函数之行为执行该所指定之的修改。如申请专利范围第29项所述之电脑可读取媒体,其中不论该所指定之资料之该数值为何,该指定测试必会通过。一种补缀资料结构产品,该资料结构产品至少包含:可识别欲加入数值验证之一函数的资讯;可识别存在于该函数执行期间之欲测试资料的资讯;可识别将对该所指定之资料进行之一测试的资料;如果该所指定之资料未通过该所指定之测试时,可识别要对该函数之行为执行一修改的资讯,以致使,如果在执行该所指定之函数之一目标电脑系统上接收到该资料结构,可使用该资料结构之内容以对该所指定之函数之行为执行该所指定的修改,如果该所指定之函数在该目标电脑系统上启动时,该所指定之资料未能通过该所指定之测试。如申请专利范围第31项所述之补缀资料结构产品,其中该资料结构系于电脑系统之间传送。如申请专利范围第31项所述之补缀资料结构产品,其中该资料结构系于一电脑系统之内传送。一种用于将数值验证加入到一目标计算系统之软体的方法,该方法包含下列步骤:于该目标计算系统接收一扩充规格,该扩充规格指定:(1)欲加入数值验证于其中之软体、(2)该所指定之软体内欲加入数值验证之一位置点、(3)该所指定之软体执行期间,于该所指定之位置点之存在于该目标计算系统上所欲测试之资料、(4)对要应用于该所指定之资料之一测试、以及(5)如果该所指定之资料未通过该所指定之测试时,要执行于该所指定之软体之行为之一修改;容许一使用者对接收到之该扩充规格设置一运作模式;以及当该所指定之软体在目标电脑系统之该所指定之位置点上执行时,依照与接收到之该扩充规格所设置之该运作模式相符之一方式,应用所收到之该扩充规格。如申请专利范围第34项所述之方法,其中该使用者对该扩充规格设置一目前运作模式,且其中所收到之该扩充规格之应用系依照与所设置之该运作模式相符之一方式,该方式系包含:如果该所指定之资料未能通过该所指定之测试,则对该所指定之软体之行为执行该所指定的修改。如申请专利范围第34项所述之方法,其中该使用者对该扩充规格设置一目前运作模式,且其中所收到之该扩充规格之应用系依照与所设置之该运作模式相符之一方式,该方式系包含:如果该所指定之资料未能通过该所指定之测试,则(1)对该所指定之软体之行为执行该所指定之修改、以及(2)产生一该所指定之资料未能通过该所指定之测试之通知。如申请专利范围第34项所述之方法,其中该使用者对该扩充规格设置一目前运作模式,该运作模式系一详尽式之运作模式,且其中所接收之该扩充规格之应用系依照与所设置之该运作模式相符之一方式,该方式系包含:如果该所指定之资料未能通过该所指定之测试,则对该所指定之软体之行为执行该所指定之修改;以及产生一已执行该所指定之测试的通知。如申请专利范围第34项所述之方法,其中该使用者对该扩充规格设置一详尽式之目前运作模式,且其中所接收之该扩充规格之应用系依照与所设置之该运作模式相符之一方式,该方式系包含:如果该所指定之资料未能通过该所指定之测试,则(1)对该所指定之软体之行为执行该所指定的修改、以及(2)产生一该所指定之资料未能通过该所指定之测试之通知;以及产生一已执行该所指定之测试之通知。如申请专利范围第34项所述之方法,其中该使用者对该扩充规格设置一不起作用之运作模式,且其中该所接收之扩充规格之应用系依照与所设置之该运作模式相符之一方式,该方式系包含:不论该所指定之资料是否通过该所指定之测试,不对该所指定之软体之行为执行该所指定的修改。如申请专利范围第34项所述之方法,其中该使用者对该扩充规格设置一不起作用之运作模式,且其中该所接收之扩充规格之应用系依照与所设置之该运作模式相符之一方式,该方式系包含:不论该所指定之资料是否通过该所指定之测试,不对该所指定之软体之行为执行该所指定的修改;以及如果该所指定之资料未能通过该所指定之测试,则产生一该所指定之资料未能通过该所指定之测试之通知。如申请专利范围第34项所述之方法,其中该使用者对该扩充规格设置一不起作用之运作模式,且其中该所接收之扩充规格之应用系依照与所设置之该运作模式相符之一方式,该方式系包含:不论该所指定之资料是否通过该所指定之测试,不对该所指定之软体之行为执行该所指定的修改;以及产生一已执行该所指定之测试之通知。如申请专利范围第34项所述之方法,其中上述之该使用者对该扩充规格设置一不起作用之运作模式,且其中该所接收之扩充规格之应用系依照与所设置之该运作模式相符之一方式,该方式系包含:不论该所指定之资料是否通过该所指定之测试,不对该所指定之软体行为执行该所指定的修改;产生一已执行该所指定之测试之通知;以及如果该所指定之资料未能通过该所指定之测试,产生一该所指定之资料未能通过该所指定之测试之通知。
地址 美国