CN1501255A - 竞争仲裁装置、竞争仲裁方法及竞争仲裁程序 - Google Patents
竞争仲裁装置、竞争仲裁方法及竞争仲裁程序 Download PDFInfo
- Publication number
- CN1501255A CN1501255A CNA200310114381A CN200310114381A CN1501255A CN 1501255 A CN1501255 A CN 1501255A CN A200310114381 A CNA200310114381 A CN A200310114381A CN 200310114381 A CN200310114381 A CN 200310114381A CN 1501255 A CN1501255 A CN 1501255A
- Authority
- CN
- China
- Prior art keywords
- resource
- application program
- application
- access
- physical equipment
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Abstract
本发明的目的在于提供能够充分发挥物理设备的特性而且能够灵活适应物理设备的构成变化的竞争仲裁装置及竞争仲裁方法。竞争仲裁装置(1)包含存储资源信息的资源信息存储单元(14);存储表示逻辑设备和资源之对应关系的设备信息的设备信息存储单元(18);识别与逻辑设备对应的资源的使用资源识别单元(13);对于由使用资源识别手段识别的资源,判断允许使用的应用程序的资源访问判断单元(15);以及根据利用资源访问判断手段的判断结果,来判断指定逻辑设备的应用程序是否能够使用实现由该逻辑设备定义的功能的物理设备的设备访问判断单元(16)。
Description
技术领域
本发明涉及在多个应用程序起动的计算机系统内使用的装置及方法,特别是涉及在多个应用程序对访问对象同时进行访问时对产生的竞争进行仲裁用的装置及方法。
背景技术
通常,一个计算机系统中执行的一个应用程序,是通过控制扬声器或MIDI(Musical Instruments Digital Interface,乐器数字接口)物理设备、SDSP(SoundDigital Signal Processor,声音数字信号处理器)物理设备等多种物理设备的动作,来控制整个计算机系统的工作,进行所希望的处理。但是,在多个应用程序起动的计算机系统内,在二个以上(含二个)的应用程序同时想要访问一个物理设备时,访问请求产生冲突。在访问请求发生冲突时,物理设备不按照所希望的那样动作。
下面将这样的二个以上(含二个)的应用程序同时想要访问一个物理设备的状态称为竞争。若发生竞争,则应用程序不能按照所希望的那样来控制计算机系统的工作。因而,在多个应用程序起动的计算机系统内,就必须控制从各应用程序起动的计算机系统内,就必须控制从各应用程序向物理设备的访问请求,使其不发生竞争。下面将这样的对于从各应用程序向物理设备的访问请求进行的控制称为竞争仲裁。以往,关于竞争仲裁的方法提出了各种各样的方案。
例如,作为竞争仲裁用的方法,提出了采用排他控制标识符的方法(例如参照日本专利特开2002-175287号公报)。在该方法中,预先由执行应用程序的计算机分配排他控制标识符。在某应用程序访问公用的物理设备时,执行该应用程序的计算机汇总其它的计算机分配的排他控制标识符。然后,汇总了全部排他控制标识符的计算机获得排他控制权,能够访问公用的物理设备。
另外,提出了对在一个计算机系统内同时多线程请求访问存储数据及目标时产生的访问竞争进行仲裁用的方法(例如参照日本专利特开平10-187527号公报)。在该方法中,是通过竞争处理来访问竞争进行仲裁。
另外,提出了在一个计算机系统内通过设置进行竞争仲裁的专用控制设备来进行竞争仲裁的方法(例如参照日本专利特开2000-231458号公报)。在该方法中,控制设备根据赋予访问请求的优先级来进行竞争仲裁。
另外,还提出一种方法,是在对一个控制对象设备给予多个控制命令时,该控制对象设备根据规定的条件,选择某一个控制命令,通过这样来进行竞争仲裁(例如参照日本专利特开2001-346276号公报)。
但是,在以往的竞争仲裁方法中,在一个计算机系统内进行竞争仲裁时,是仅以实际存在的物理设备位单位进行竞争仲裁的。因此,在实际上虽然是一个物理设备,但在某种条件下,在采用从多个应用程序能够同时访问的那样的物理设备时,或者在采用从多至规定数量的应用程序允许同时访问的那样的允许多重访问的物理设备时,若采用以往的竞争仲裁方法进行竞争仲裁,则不能充分发挥物理设备的特性。
另外,像扬声器物理设备那样,它是与其它物理设备通过布线连接的物理设备。它作为单体,当不具有I/O接口的物理设备在多个物理设备之间公用那样的情况下,若采用以往的竞争仲裁方法进行竞争仲裁,则各应用程序一面参照状态转移表,一面为了不同时访问该物理设备,只有依靠自己的判断来避免竞争。因此,竞争仲裁就变成与应用程序本身的工作及物理设备之间的连接构成有关。另外,随着物理设备数量增加,各应用程序必须更新状态转移表,就难以进行竞争仲裁。
这样,已有的竞争仲裁方法不能充分发挥物理设备的特性,而且难以适应物理设备的构成变化,缺乏灵活性。
发明内容
因此,本发明的目的在于提供能够充分发挥物理设备的特性,而且能够灵活适应物理设备的构成变化的竞争仲裁装置及竞争仲裁方法。
为了解决上述问题,本发明的第一种具有以下的特征。本发明是对多个应用程序希望同时使用至少一个物理设备时发生的竞争进行仲裁用的竞争仲裁装置,包含存储表示定义物理设备所具有的功能的至少一个资源和允许使用与该资源对应的功能的至少一个应用程序之对应关系的资源信息的资源信息存储手段;存储表示在希望使用物理设备时定义由应用程序指定的功能的逻辑设备和为了实现由该逻辑设备定义的功能而定义了必需的功能的至少一个资源之对应关系的设备信息的设备信息存储手段;在根据应用程序指定逻辑设备时,参照设备信息来识别与逻辑设备对应的资源的使用资源识别手段;参照资源信息,对于由使用资源识别手段识别的资源,判断允许使用的应用程序的资源访问判断手段;以及根据资源访问判断手段的判断结果,判断指定逻辑设备的应用程序是否能够使用实现由该逻辑设备定义的功能的物理设备的设备访问判断手段。
最好是对资源信息附加表示是否能够允许多个应用程序同时使用的多重访问信息,资源访问判断手段根据多重访问信息,在允许多个应用程序同时使用时,对于资源则对多个应用程序允许使用。
这时,资源访问判断手段仅在满足规定条件的情况下,对多个应用程序允许使用。
例如,规定条件最好是应用程序使用由资源提供的功能的条件,或在多个应用程序之间全部通用的条件。
最好还具有在利用设备访问判断手段判断为指定逻辑设备的应用程序能够使用物理设备时,使控制物理设备用的设备驱动程序执行的执行手段。
例如,执行手段最好在利用访问判断手段判断为指定逻辑设备的应用程序不能使用物理设备时,对应用程序通知出错消息。
最好是资源访问判断手段根据应用程序的优先级,判断允许使用的应用程序。
再有,最好具有存储与应用程序优先级有关的信息的应用程序信息存储手段。
另外,也可以对资源信息附加有关每个资源对先提出访问请求的应用程序予以允许使用还是对随后提出访问请求的应用程序予以允许使用的先行信息,资源访问判断手段在应用程序的优先级相同时,根据先行信息,判断允许使用的应用程序。
最好还具有将根据设备访问判断手段的判断结果与应用程序对应,作为应用程序信息存储的应用程序信息存储手段,设备访问判断手段还具有在根据由应用程序最初指定逻辑设备而有访问开始请求时判断是否能够使用物理设备并将判断结果存入应用程序信息存储手段,而在访问开始请求之后有访问请求对参照存入应用程序信息存储手段的应用程序信息判断应用程序是否能够使用物理设备的执行手段。
例如,执行手段也可以在不能使用物理设备的应用程序有访问请求时,对该应用程序通知出错消息。
另外,执行手段也可以在一旦允许使用物理设备后而不能使用该物理设备的应用程序有访问请求时,对该应用程序通知出错消息。
最好资源访问判断手段在从应用程序接受了结束请求时,对希望使用与资源对应的功能的其它应用程序予以允许使用,并更新资源信息以反映允许的结果,设备访问判断手段根据利用资源访问判断手段更新的资源信息,判断其它应用程序是否能够使用物理设备。
再有,也可以还具有使设备访问判断手段的判断结果与应用程序对应作为应用程序信息存储的应用程序信息存储手段、以及根据设备访问判断手段的判断结果更新应用程序信息的执行手段。
再有,也可以具有在利用设备访问判断手段判断为其它应用程序能够使用物理设备时,对设备驱动程序改变设定,以使得其它应用程序能够访问的执行手段。
最好设备访问判断手段也可以仅在对于与逻辑设备对应的全部资源,允许使用与该全部资源对应的功能的应用程序是指定全部逻辑设备的应用程序时,判断为应用程序能够使用物理设备。
最好设备访问判断手段也可以在与逻辑设备对应的资源内,与一部分资源对应的应用程序是指定全部逻辑设备的应用程序时,判断为通过应用程序访问物理设备能够使用由一部分资源定义的功能。
再有,也可以具有从应用程序接受逻辑设备指定的应用程序I/F手段。
例如,也可以对资源信息附加有关每个资源对先提出访问请求的应用程序予以允许使用还是对随后提出访问请求的应用程序予以允许使用的先行信息,资源访问判断手段根据先行信息,判断允许使用的应用程序。
另外,本发明的第二种是为了对多个应用程序希望同时使用至少一个物理设备时发生的竞争进行仲裁而使计算机装置具有这种功能用的程序,在计算机装置中,存储表示定义物理设备所具有的功能的至少一个资源和允许使用与该资源对应的功能的至少一个应用程序之对应关系的资源信息、以及表示在希望使用物理设备时定义由应用程序指定的功能的逻辑设备和为了实现由该逻辑设备定义的功能而定义了必需的功能的至少一个资源之对应关系的设备信息,具有在根据应用程序指定逻辑设备时,参照设备信息使计算机装置识别与逻辑设备对应的资源的步骤;参照资源信息对识别的资源,使计算机判断允许使用的应用程序的步骤;以及根据允许使用的应用程序的判断结果,使计算机判断指定逻辑设备的应用程序是否能够使用实现由该逻辑设备定义的功能的物理设备的步骤。
另外,本发明的第三种是利用计算机装置对多个应用程序希望同时使用至少一个物理设备时发生的竞争进行仲裁用的方法,在计算机装置中,存储表示定义物理设备所具有的功能的至少一个资源和允许使用与该资源对应的功能的至少一个应用程序之对应关系的资源信息、以及表示在希望使用物理设备时定义由应用程序指定的功能的逻辑设备和为了实现由该逻辑设备定义的功能而定义了必需的功能的至少一个资源之对应关系的设备信息,具有在根据应用程序指定逻辑设备时,参照设备信息,计算机装置识别与逻辑设备对应的资源的步骤;参照资源信息,对识别的资源,计算机判断允许使用的应用程序的步骤;以及根据允许使用的应用程序的判断结果,计算机判断指定逻辑设备的应用程序是否能够使用实现由该逻辑设备定义的功能的物理设备的步骤。
采用上述本发明,竞争仲裁装置将由应用程序指定的逻辑设备及实际存在的物理设备分离成与物理设备及逻辑设备相对应的资源,对物理设备的功能及应用程序所希望的功能进行管理,以资源为单位对于从应用程序向物理设备的访问进行竞争仲裁。因而,即使设物理设备的构成发生变化,由于只要改变竞争仲裁装置内的资源信息及设备信息即可,因此能够提供可以灵活适应物理设备构成变化的竞争仲裁装置及竞争仲裁方法。再有,由于将物理设备的功能分割成以资源为单位进行竞争仲裁,因此即使设物理设备有各种各样的特性,也功能提供可以充分完全发挥其特性的竞争仲裁装置及竞争仲裁方法。
另外,在若是某一上限数量以内则允许多重访问那样的情况下,或者若满足某种条件则允许多重访问那样的情况下,竞争仲裁装置能够对多个应用程序赋予访问权。这样竞争仲裁装置能够充分完全发挥物理设备的特性来进行竞争仲裁。
另外,即使在虽然与其它物理设备通过布线连接,但单体不具有I/O接口的物理设备在多个设备之间公用那样的情况下,竞争仲裁装置也能够对访问该物理设备进行竞争仲裁。
又提供这样的结构,即在应用程序提出访问请求时,若能够访问则执行该设备驱动程序程序,若不能访问则向应用程序返回出错消息。因而应用程序只要考虑在提出请求访问时应付出错消息即可。这样的系统对于应用程序开发者来说,能够减轻开发负担。
另外,通过采用赋予应用程序的优先级来进行竞争仲裁,就允许从优先级高的应用程序开始按顺序对物理设备进行访问。特别是允许多重访问的物理设备中,能够从优先级更高的开始进行访问,能够进行与优先级相应的复杂的排他控制。
另外,由于应用程序是否能够对物理设备进行访问将登录在应用程序信息内,因此每次有访问请求时,都不需要判断是否能够访问,所以处理能实现高速化。
再有,在由于其它的应用程序的访问请求剥夺了对物理设备的访问权时,若访问权被剥夺之前的应用程序在下一次进行访问请求之前,再一次成为对该物理设备能够访问,则该应用程序不知道一度成为不能访问这样的事实,能够不进行特别的处理而继续对物理设备进行访问。
另外,在采用通过同时控制多个物理设备来实现所希望的功能这样的应用程序时,为了实现该所希望的处理,必须允许对该多个物理设备进行访问。如本发明那样,若以资源为单位来管理访问权,则执行在全部物理设备能够访问时所需要的设备驱动程序,能够实现所希望的功能。另外,在即使有一个不能访问时,竞争仲裁装置能够对应用程序通知出错消息。
反之,即使不能对全部物理设备进行访问,在只要能够执行所希望的功能的一部分也可以的情况下,竞争仲裁装置也能够执行设备驱动程序,使得应用程序能够执行该希望的功能的一部分。
关于本发明的这些内容及其他的目的、特征、方面及效果,参照附图并根据以下的详细说明将进一步更加清除。
附图说明
图1为本发明一实施形态的竞争仲裁装置的计算机系统整体构成方框图。
图2为应用程序、逻辑设备、资源与物理设备的对应关系例子的示意图。
图3为应用程序、逻辑设备、资源与物理设备的对应关系例子的示意图。
图4为应用程序、逻辑设备、资源与物理设备的对应关系例子的示意图。
图5为竞争仲裁装置1的功能构成方框图。
图6为应用程序信息存储单元12中存储的应用程序信息的一个例子。
图7为设备信息的一个例子。
图8为资源信息的一个例子。
图9为从应用程序有访问开始请求时的竞争仲裁装置1的工作流程图。
图10为步骤S104的资源访问判断单元15的详细工作流程图。
图11为从应用程序有访问请求时的竞争仲裁装置1的工作流程图。
图12为从应用程序有访问结束请求时的竞争仲裁装置1的工作流程图。
图13为步骤S403的资源访问判断单元15的详细工作流程图。
图14为即使在不能使用逻辑设备使用的全部资源的情况下,也使得应用程序能够仅使用能够使用的资源时的竞争仲裁装置的工作流程图。
具体实施方式
图1为本发明一实施形态的竞争仲裁装置的计算机系统整体构成方框图,在图1中,计算机系统具有竞争仲裁装置1、应用程序执行装置2、多个物理设备3及设备驱动程序执行装置4。另外,在图1中,作为应用程序执行装置2及设备驱动程序执行装置4,虽然分别所示的仅各一个装置,但也可以是多个装置。另外,物理设备3的数量与连接关系不限定于图1所示的情况。
图1的计算机系统可以认为是移动电话等移动通信终端、PDA等移动终端、个人计算机等通信终端、连接多个通信终端的LAN系统、连接多台数字家电的家庭内的LAN系统等使用计算机装置的所有系统。
应用程序执行装置2是执行应用程序用的计算机装置,至少包含中央处理器(下面称为“CPU”)及存储装置。应用程序执行装置2将程序读入存储器,用CPU执行,以此执行应用程序。应用程序执行装置2利用多任务功能,能够同时执行多个应用程序。
物理设备3是输入装置及输出装置、辅助存储装置、通信装置等硬件。作为输入装置的物理设备3,是例如按钮开关、凹凸拔盘、键盘、鼠标器、控制杆及话筒等。作为输出装置的物理设备3,是例如扬声器、液晶显示器、阴极射线管、打印机、SDSP装置及MIDI装置等。另外,SDSP装置是将应用程序具有的数字数据解码后作为模拟声音输出用的装置。作为辅助存储装置的物理设备3,是硬盘装置、光盘装置、CD-ROM驱动装置及DVD驱动装置等。作为通信装置的物理设备3,是调制解调器、DSU及LAN卡等。
设备驱动程序执行装置4是执行控制物理设备3的动作用的软件(下面称为“设备驱动程序”)用的计算机装置,至少包含CPU及存储装置。
竞争仲裁装置1是对应用程序执行装置2执行的应用程序访问物理设备3时的竞争进行仲裁的装置,至少包含CPU及存储装置。竞争仲裁装置1在从应用程序有想要开始使用物理设备3的请求时,进行竞争仲裁。然后,竞争仲裁装置1使设备驱动程序执行装置4执行设备驱动程序,以使得该应用程序能够使用该物理设备3。通过这样,应用程序能够使用所希望的物理设备3。
另外,在上面所述中为了便于理解说明,假设竞争仲裁装置1、应用程序执行装置2及设备驱动持程序执行装置4是分别独立构成的,但也可以采用公用的CPU及/或存储装置,使其利用多任务处理,通过软件构成上述各部分。另外,竞争仲裁装置1、应用程序执行装置2及设备驱动程序执行装置4也可以分别用专用的LSI通过硬件来实现,也可以用通用的CPU来执行专用程序,以通过软件来实现。
在本实施形态中,物理设备3的功能可以从物理设备一方及应用程序一方这两方面的观点来定义。
首先,说明从物理设备一方的观点来定义的物理设备3的功能。各物理设备3分别具有特定的功能。在本实施形态中,竞争仲裁装置1利用构件来定义由物理设备提供的功能。在本实施形态中,将该构件称为资源。物理设备由于至少提供一个以上的功能,因此对于一个物理设备,至少对应于一个以上的资源。
下面说明从应用程序一方的观点来定义的物理设备3的功能。各应用程序通过控制物理设备3的工作,希望实现所希望的功能,在本实施形态中,竞争仲裁装置1利用构件来定义应用程序所希望的功能。在本实施形态中,将该构件称为逻辑设备。应用程序所希望的功能通过至少一个以上的物理设备工作来实现。由于物理设备3的功能利用至少一个以上的资源来定义,因此应用程序所希望的功能由一个以上的资源来提供。亦即对于逻辑设备,对应于一个以上资源。
本发明的最大特征在于,引入所谓逻辑设备及资源的概念,用逻辑设备及资源来进行竞争仲裁。
应用程序在想要对物理设备通过电信号实际进行访问以实现所希望的功能时,对于竞争仲裁装置1,指定逻辑设备,让它进行竞争仲裁。竞争仲裁装置1以资源为单位,对应用程序是否能够访问物理设备进行管理。竞争仲裁装置1识别与逻辑设备对应的资源,判断对于识别的资源,是否对应用程序赋予访问权。在赋予访问权的情况下,竞争仲裁装置1执行设备驱动程序,使得该应用程序能够访问物理设备。
图2~图4所示为应用程序、逻辑设备、资源与物理设备的对应关系例子的示意图。下面参照图2~图4说明本实施形态的简要情况。
在图2中,作为物理设备所示的例子是使用SDSP物理设备、扬声器物理设备及MIDI物理设备的例子。在图2中,具有I/O接口的物理设备假设是SDSP物理设备及MIDI物理设备。扬声器物理设备假设与SDSP物理设备及MIDI物理设备通过布线连接,而不具有I/O接口。
因此,应用程序不能仅控制扬声器物理设备。再有,扬声器物理设备是由SDSP物理设备及MIDI物理设备公用,因此在应用程序A1访问SDSP物理设备时,应用程序A2不能访问MIDI物理设备。另外,也可能出现相反的情况。
这样,在多个应用程序希望同时对SDSP物理设备及MIDI物理设备进行访问时,对于从应用程序看不到的扬声器物理设备来说,就发生访问竞争。为了避免该访问竞争,以往必须在应用程序之间进行仲裁。因此,根据以往的方法,随着应用程序或设备的种类的增加,则仲裁将难以进行。但是,在本发明中,由于利用资源来定义物理设备提供的功能,以资源为单位进行竞争仲裁,因此在应用程序之间不需要仲裁,即使应用程序或设备的种类增加,也容易进行仲裁。
在图2中,与SDSP物理设备对应的资源是SDSP资源。与扬声器物理设备对应的资源是扬声器资源。与MIDI对应的资源是MIDI资源。定义SDSP功能的SDSP逻辑设备需要SDSP资源及扬声器资源。定义MIDI功能的MIDI逻辑设备需要MIDI资源及扬声器资源。
应用程序能够访问逻辑设备需要的条件,是对于逻辑设备所需要的全部资源要,对该应用程序赋予访问权。在本实施形态中,对一个个的资源的访问权是根据应用程序的优先级来决定的。另外,也可以根据先行或后行等来决定。
例如,在图2中,假设这样的情况,即应用程序A1希望访问SDSP逻辑设备,而应用程序A2希望访问MIDI逻辑设备。这里,在应用程序A1与应用程序A2之间,假设应用程序A2的优先级较高。在这种情况下,由于只有应用程序A1希望对SDSP资源进行访问,因此应用程序A1取得SDSP资源的访问权。同样,由于只有应用程序A2希望对MIDI资源进行访问,因此应用程序A2取得MIDI资源的访问权。
由于应用程序A1与应用程序A2的两者所希望的逻辑设备都需要扬声器资源,因此发生竞争。在这里,由于假设应用程序A2的优先级较高,因此应用程序A2能够取得扬声器资源的访问权。然后,由于应用程序A2在访问对象的MIDI逻辑设备所需要的全部资源中取得访问权,因此应用程序A2能够对MIDI物理设备及扬声器设备进行访问。另外,由于应用程序A1在访问对象的SDSP逻辑设备所需要的资源中不能取得对于扬声器资源的访问权,因此不能对SDSP物理设备及扬声器设备进行访问。
在图3中,作为物理设备所示的例子是线路物理设备。在图3中,物理设备只存在一个。但是实际上允许多重访问,采用同时能够使用多至三条的线路的适合多调用的线路物理设备。在这种情况下,应用程序的访问对象即逻辑设备及线路物理设备虽然只有一个,但线路资源定义了三个。线路逻辑设备最低限度需要一个线路资源。
例如,在图3中,假设是应用程序A1、A2、A3及A4都希望对线路逻辑设备进行访问的情况。在这里,假设优先级是按照应用程序A1、应用程序A2、应用程序A3及应用程序A4的顺序由高到低。即,假设应用程序A1具有最高的优先级。
首先,若应用程序A1希望对线路逻辑设备进行访问,则应用程序A1在有三个线路资源中取得第一个线路资源32的访问权。接着,若应用程序A2希望对线路逻辑设备进行访问,则应用程序A2取得第二个线路资源33的访问权。然后,若优先级最低的应用程序A4希望对线路逻辑设备进行访问,则应用程序A4取得第三个线路资源34的访问权。
在这样的情况下,若优先级比应用程序A4要高的应用程序A3希望对线路逻辑设备进行访问,则竞争仲裁装置1比较应用程序A4与应用程序A3的优先级。在上述的例子中,由于应用程序A3的优先级高,因此应用程序A4对第三个线路资源34不能访问。然后,应用程序A3取得对线路资源34的访问权。结果,应用程序A1、A2及A3能够对线路逻辑设备进行访问。
在图4中,作为物理设备所示的例子是采用SDSP物理设备的例子。在这里,设想SDSP物理设备是允许多重访问的物理设备。还假设图2所示的不允许多重访问的SDSP物理设备与图4所示的允许多重访问的SDSP物理设备能够在一个计算机装置内共存。在图4中,物理设备只存在一个。在该SDSP物理设备中,假设能够同时使用录音功能及重放功能。在这种情况下,应用程序的访问对象逻辑设备是SDSP录音逻辑设备及SDSP重放逻辑设备的这两个逻辑设备。资源是表示编码译码器功能的SDSP编码译码器资源、表示录音功能的SDSP录音资源及表示重放功能的SDSP重放资源的三个资源。再有,SDSP编码译码器资源在编码译码器相同时,能够同时使用录音功能及重放功能。因此,SDSP编码译码器资码不考虑存在二个,通过使其具有编码译码器信息作为附加信息,认为仅存在一个,认为允许多重访问。
在这样的情况下,在存在多个希望对SDSP物理设备进行访问的应用程序时,竞争仲裁装置1对SDSP编码译码器资源设定优先级最高的应用程序的编码译码器若与设定为优先级低的应用程序的编码译码器的编码译码器相同,则竞争仲裁装置1对于优先级低的应用程序也赋予对SDSP编码译码器资源的访问权。
例如,假设在图4中应用程序A1及Aa2希望对SDSP录音逻辑设备进行访问,应用程序A3希望对SDSP重放逻辑设备进行访问。假设优先级是按照应用程序A1、应用程序A2及应用程序A3的顺序由高到低。亦即应用程序A1具有最高的优先级。另外,假设应用程序A1、A2及A3都希望以相同的编码译码器X进行访问。
首先,若应用程序A1希望对SDSP录音逻辑设备进行访问,则应用程序A1取得SDSP编码译码器资源的访问权,设定SDSP编码译码器资源内的编码译码器为X。另外,应用程序A1对SDSP录音资源也取得访问权。然后,若应用程序A2希望对SDSP录音逻辑设备进行访问,则应用程序A2由于具有与优先级高的A1相同的编码译码器,因此虽能够取得对SDSP编码译码器资源的访问权,但对于SDSP录音资源,由于与A1进行竞争,因此不能取得访问权。
接着,假设应用程序A3希望对SDSP重放逻辑设备进行访问。应用程序A3由于具有与优先级高的A1相同的编码译码器,因此能够取得对SDSP编码译码器资源的优先权。还有,应用程序A3由于对SDSP重放资源不发生竞争,因此能够取得访问权。
结果,应用程序A1及A3对于访问对象逻辑设备所需要的全部资源都能够访问。因此,应用程序A1及A3能够分别对SDSP录音逻辑设备及SDSP重放逻辑设备进行访问。另外,应用程序A2由于不能取得SDSP录音资源的访问权,因此不能对SDSP录音逻辑设备进行访问。
图5所示为竞争仲裁装置1的功能构成方框图。在图5中,竞争仲裁装置1包含应用程序IF单元11、应用程序信息存储单元12、使用资源识别单元13、资源信息存储单元14、资源访问判断单元15、设备访问判断单元16、执行单元17及设备信息存储单元18。图5所示的全部功能单元可以利用使具有通用CPU的计算机装置实现功能的程序集中来实现,也可以利用专用的LSI集中来实现。另外,各功能单元可以分别利用使通用的CPU执行的程序来实现,也可以利用专用的LSI来实现。另外,同样也可以实现多个功能单元的组合。
应用程序IF单元11从应用程序接收想要开始使用物理设备3的请求(下面称为“访问开始请求”)。访问开始请求中指定该应用程序的应用ID、该应用程序想要使用的逻辑设备名称(下面称为“访问对象逻辑设备名”)、以及该应用程序的优先级。优先级可以预先对每个应用程序进行设定,也可以是OS后来对应用程序设定的,还可以是应用程序本身识别其它的应用程序种类后自己设定的。
接收了访问开始请求的应用程序IF单元11与识别应用程序用的ID(下面称为“应用ID”)相对应,将用该访问开始请求指定的访问对象逻辑设备名及优先级存入应用程序信息存储单元12。另外,接收了访问开始请求的应用程序IF单元11对使用资源识别识别单元13,使其识别用该访问开始请求指定的访问对象逻辑设备所使用的资源。
在有访问开始请求后,应用程序IF单元11从应用程序接收想要对物理设备3进行访问的请求(下面称为“访问请求”)。访问请求中指定应用ID、访问对象逻辑设备名、以及该应用程序的优先级。接收了访问请求的应用程序IF单元11将该访问请求的内容通知执行单元17,从执行单元17接收表示该应用程序是否能够对该逻辑设备进行访问的信息。在接受了表示能够访问的信息时,应用程序IF单元11将对该访问对象逻辑设备是能够访问的情况通知该应用程序。另一方面,在从执行单元17接受了表示不能访问的信息时,应用程序IF单元11将对该访问对象逻辑设备不能访问的情况通知该应用程序。
在有访问请求后,应用程序IF单元11从应用程序接收想要结束对物理设备3的访问的请求(下面称为“访问结束请求”)。接收了访问结束请求的应用程序IF单元11对使用资源识别单元13发出指示,令其放掉该应用程序保持的访问权。
应用程序信息存储单元12对每个应用程序存储应用程序信息。这里,应用程序信息由对应的应用程序的优先级、对应的应用程序的访问对象逻辑设备名、以及表示与访问对象逻辑设备对应的应用程序是否能够访问的信息(下面称为“访问可否信息”)构成。
图6所示为信息程序信息存储单元12存储的应用程序信息的一个例子。如图6所示,在应用程序信息存储单元中,与应用ID相对应存储优先级、访问对象逻辑设备名及访问可否信息。例如,应用ID为“1”的应用程序的优先级为“1”,访问对象逻辑设备名为“SDSP逻辑设备”,访问可否信息为“可以”。另外,在这里访问对象逻辑设备名也可以用标识ID来表示。访问可否信息也可以用标记来表示。
设备信息存储单元18保持有表示逻辑设备与该逻辑设备所需要的资源之关系的设备信息。图7所示为设备信息的一个例子。如图7所示,用设备信息指定与逻辑设备名对应的资源名。例如,在SDSP逻辑设备中指定SDSP资源及扬声器资源。一个逻辑设备中所需要的资源可以是一个,也可以是多个。
使用资源识别单元13若从应用程序IF单元11得到访问开始请求的通知,则参照设备信息存储单元18中存储的设备信息,识别访问对象逻辑设备所需要的资源。使用资源识别单元13将识别的资源、希望使用该访问对象逻辑设备的应用程序的应用ID、该访问对象逻辑设备、以及该应用程序的优先级,通知资源访问判断单元15及设备访问判断单元16。在一个逻辑设备所需要的资源是多个时,使用资源识别单元13可以将多个资源名同时通知资源访问判断单元15,也可以一个一个依次通知。
资源信息存储单元14存储资源信息。这里的所谓资源信息,指的是对每一资源预先指定具有访问权的应用程序用的信息。图8所示为资源信息的一个例子。如图8所示,在资源信息中与资源名相对应,登录了具有对该资源的访问权的应用程序的应用ID。例如,在图8中,具有对SDSP资源的访问权的应用程序的应用ID为“1”。另外,对未设定访问权的资源,登录了“NULL”。资源信息存储单元14中存储的资源信息利用资源访问判断单元15,在判断为保持对资源的访问权的应用程序改变时进行更新。
资源访问判断单元15从资源信息存储单元14读出与使用资源识别单元13通知的资源有关的资源信息,判断已经取得访问权的应用程序。资源访问判断单元15在已经取得访问权的应用程序存在情况下,在该应用程序与提出访问开始请求的应用程序之中,根据应用程序信息存储单元12中存储的应用程序的优先级,判断哪一个的优先级高。资源访问判断单元15在根据判断的结果是取得访问权的应用程序改变时,更新资源信息存储单元14中的资源信息内容。
设备访问判断单元16根据使用资源识别单元13检测出的资源及资源信息存储单元14中存储的资源信息,判断提出访问开始请求的应用程序对于访问对象逻辑设备使用的全部资源是否取得访问权,并将该信息通知执行单元17。设备访问判断单元16在对全部资源取得访问权时,决定能够由该应用程序对该逻辑设备进行访问。
执行单元17从设备访问判断单元16接受表示是否能够对逻辑设备进行访问的信息。执行单元17根据接受的信息,更新应用程序存储单元12中存储的应用程序信息的访问可否信息。另外,执行单元17若从应用程序IF单元11得到访问请求的通知,则参照应用程序信息存储单元12,判断该应用程序是否能够对作为访问对象的逻辑设备进行访问。在能够访问时,执行单元17使设备驱动程序执行装置4执行与该逻辑设备对应的设备驱动程序,将表示是能够访问的信息送给应用程序IF单元。另外,在不能访问时,执行单元17对应用程序IF单元11送出表示是不能访问的信息。
下面详细说明竞争仲裁装置1的工作。首先,在具有竞争仲裁装置1的计算机系统中,应用程序在想要使用物理设备3时,将访问开始请求通知竞争仲裁装置1。在实际上想要使用物理设备3时,应用程序将访问请求通知竞争仲裁装置1。最后,在想要结束对物理设备3进行访问时,应用程序将访问结束请求通知竞争仲裁装置1。
图9所示为从应用程序有访问开始请求时的竞争仲裁装置1的工作流程图。下面参照图9说明从应用程序有访问开始请求时的竞争仲裁装置1的工作。
首先,应用程序IF单元从应用程序接收访问开始请求(步骤S101)。下面将提出访问开始请求的应用程序称为应用程序AP1。另外,将该访问开始请求中的访问对象逻辑设备称为逻辑设备DEV1。如上所述,在该访问开始请求中还指定应用程序的优先级。
然后,应用程序IF单元从根据接收的访问开始请求,将应用程序AP1的应用程序信息登录在应用程序信息存储单元12。另外,应用程序IF单元11将用访问开始请求所指定的应用ID、访问对象逻辑设备名及优先级提供给使用资源识别单元13、通知有了访问开始请求(步骤S102)。另外,在该阶段中,应用程序信息存储单元12中的与应用程序AP1对应的访问可否信息是空白。
然后,使用资源识别单元13参照设备信息存储单元18中存储的设备信息,取得由应用程序IF单元11通知的访问对象逻辑设备DEV1使用的资源名,并通知资源访问判断单元15及设备访问判断单元16(步骤S103)。这时,在访问对象逻辑设备DEV1使用的资源是多个的情况下,使用资源识别单元13将全部资源名通知资源访问判断单元15及设备访问判断单元16。
然后,资源访问判断单元15参照资源信息存储单元14及应用程序信息存储单元12,对于由使用资源识别单元13通知的全部资源,判断提出访问开始请求的该应用程序是否能够取得访问权,并使该判断结果反映在资源信息存储单元14及应用程序信息存储单元12(步骤S104)。步骤S104中的处理将在后面详细叙述。
然后,设备访问判断单元16参照资源信息存储单元14中存储的资源信息,判断应用程序AP1是否具有与访问对象逻辑设备DEV1所需要的全部资源有关的访问权(步骤S105)。
在具有与全部资源有关的访问权的情况下,设备访问判断单元16将该情况通知执行单元17。与此相应,执行单元17更新应用程序信息存储单元12的登录内容,使得与应用程序AP1相对应的访问可否信息变为“可以”(步骤S106)。然后,执行单元17使设备驱动程序执行装置4执行与访问对象逻辑设备DEV1有关的设备驱动程序(步骤S107),并结束处理。
另一方面,在不具有与全部资源有关的访问权的情况下,设备访问判断单元16将该情况通知中心单元17。与此相应,执行单元17更新应用程序信息存储单元12的登录内容,使得与应用程序AP1相对应的访问可否信息变为“不可”(步骤S108),并结束处理。
图10所示为步骤S104的资源访问判断单元15的详细工作流程图。下面参照图10说明步骤S104中的资源访问判断单元15的工作。
首先,资源访问判断单元15参照资源信息存储单元14,对于访问对象逻辑设备DEV1使用的资源,判断是否存在多个同一名称的资源(步骤S201)。例如,如图8所示,作为同一名称的资源有线路资源。
在存在多个的情况下,资源访问判断单元15对同一名称的资源,判断应用程序是否全部设定具有访问权(步骤S202)。在全部设定时,资源访问判断单元15参照应用程序信息存储单元12中存储的应用程序信息,检索对该资源设定访问权的应用程序内优先级最低的应用程序(步骤S203),进入步骤S204的工作。这里,将优先级最低的应用程序称为应用程序AP2。在没有全部设定时,资源访问判断单元15进入步骤S208的工作。
在步骤S204中,资源访问判断单元15判断该资源是否是允许多重访问的资源。所谓允许多重访问的资源是指允许从满足规定的条件应用程序同时访问那样的资源。是否是允许多重访问的资源是利用对资源信息附加的多重访问信息(在图8中未图示)来表示的。
在是不允许多重访问的资源的情况下,资源访问判断单元15进入步骤S206的工作。另一方面,在是允许多重访问的资源的情况下,资源访问判断单元15判断对该资源进行访问的应用程序AP1的属性与已经设定的资源属性是否相同(步骤S205)。
这里,所谓属性指定是表示应用程序怎样利用资源的条件的信息。例如,作为属性对于SDSP编码译码资源有表示用怎样的编码译码的信息。该属性与访问开始请求一起,由应用程序来进行通知。在属性是相同时,资源访问判断单元15进入步骤S208的工作,对该资源更新资源信息,使得对应用程序AP1及AP2赋与访问权。另外,在属性不相同时,资源访问判断单元15进入步骤S210的动作。这样,在本实施形态中,在满足属性在提出访问开始请求的全部应用程序之间是共同的这样规定的条件时,资源访问判断单元15将资源信息进行登录,以便能够进行多重访问。
另外,在允许多重访问的应用程序的数量有上限时,在步骤S205中,资源访问判断单元15判断是否超过该上限数,仅在不超过的情况下,进入步骤S208的工作,在超过的情况下,进入步骤S206的工作,将优先级最低的应用程序的优先级与应用程序AP1的优先级进行比较,对优先级高的应用程序设定访问权。
在步骤S206中,资源访问判断单元15将提出访问开始请求的应用程序AP1的优先级与应用程序AP2的优先级进行比较。然后,资源访问判断单元15根据比较的结果,判断是否应用程序AP1的优先级较高(步骤S207)。在应用程序AP1的优先级较高时,资源访问判断单元15进入步骤S208的工作,更新资源信息,使得对优先级高的应用程序设定访问权。然后,资源访问判断单元15设定应用程序信息存储单元12中的与应用程序AP2有关的访问可否信息,使其成为“不可”(步骤209),进入步骤S210的工作。另外,在应用程序AP1的优先级较低时,资源访问判断单元15进入步骤S210的工作。
另一方面,在步骤S201中,在判断为不存在多个的情况下,即访问对象逻辑设备DEV1使用的资源仅为一个,或者虽然使用的资源有多个,但分别各为一个时,资源访问判断单元15判断是否存在对该资源的某一个取得访问权的其它应用程序(步骤S211)。这里,将取得访问权的其它应用程序称为应用程序AP2。另外,是与步骤S203中的应用程序AP2不同的其它的应用程序。在分别为各一个的资源有多个时,虽然取得访问权的应用程序有的情况下有多个,但这里首先对某一个资源进行以下的处理。
在步骤S211中,判断为不存在时,资源访问判断单元15进入步骤S208的工作,更新资源信息,使得应用程序AP1取得访问权。另外,在判断为存在时,资源访问判断单元15参照应用程序信息存储单元12,取得与该资源对应的应用程序的应用程序信息(步骤S212),进入步骤S204。
在步骤S210中,资源访问判断单元15对于访问对象逻辑设备DEV1使用的全部资源,判断上述资源信息及应用程序信息是否结束更新处理(步骤S210)。在未结束时,资源访问判断单元15返回步骤S201的工作。这时,资源访问判断单元15对于判断过一次的资源,不进行步骤S201以后的判断。另外,在结束时,竞争仲裁装置1进行步骤S105以后的工作。
图11所示为从应用程序有访问请求时的竞争仲裁装置1的工作流程图。下面参照图11说明从应用程序有访问请求时的竞争仲裁装置1的工作。
应用程序AP1在进行访问请求前,进行访问开始请求。在进行了访问请求时,如上所述,应用程序AP1对于访问对象逻辑设备DEV1的访问可否信息登录在应用程序信息存储单元12中。在访问请求时的工作中,采用由访问开始请求所设定的应用程序信息进行处理。
首先,应用程序IF单元11从应用程序AP1接收访问请求,并通知执行单元17(步骤S301)。然后,执行单元17参照应用程序信息存储单元12(步骤S302)。
然后,执行单元17根据与应用程序AP1对应的访问可否信息,判断提出访问请求的应用程序AP1是否设定为对于访问对象逻辑设备DEV1能够访问(步骤S303)。
在设定为能够访问时,执行单元17使设备驱动程序执行单元4执行该设备驱动程序(步骤S304),并结束处理。
另一方面,在设定为不能访问时,执行单元17将表示不能访问意思的出错消息通知应用程序IF单元11。与此相应,应用程序IF单元将不能访问逻辑设备DEV1的情况通知应用程序AP1(步骤S305),并结束处理。
图12所示为从应用程序有访问结束请求时的竞争仲裁装置1的工作流程图。下面参照图12说明从应用程序有访问结束请求时的竞争仲裁装置1的工作。
首先,应用程序IF单元从应用程序AP1接收访问结束请求,将应用ID、访问对象逻辑设备名及优先级传送至使用资源识别单元13,将送来访问结束请求的情况通知使用资源识别单元13(步骤S401)。
与此相应,使用资源识别单元13参照设备信息存储单元18,取得该访问对象逻辑设备DEV1所需要的资源名,通知资源访问判断单元15。与此相应,资源访问判断单元15从资源信息存储单元14取得与该访问对象逻辑设备所需要的资源所对应的资源信息(步骤S402)。
然后,资源访问判断单元15参照设备信息存储单元18,识别使用在步骤S402中识别的资源的逻辑设备,并参照应用程序信息存储单元12,识别虽然对该逻辑设备提出访问开始请求但访问可否信息为“不可”的应用程序。通过这样,资源访问判断单元15对于在步骤S402中识别的全部资源,判断除应用程序AP1以外的应用程序是否是虽然提出访问开始请求但不能取得访问权的状况。在有不能取得访问权的应用程序时,资源访问判断单元15则重写资源信息存储单元14的内容,对该应用程序设定访问权(步骤S403)。关于步骤S403中的处理,将在后面详细叙述。
接着,资源访问判断单元15参照应用程序信息存储单元12,识别利用步骤S403的处理取得了访问权的应用程序的访问对象逻辑设备,并参照设备信息,识别该访问对象逻辑设备使用的全部资源,再参照资源信息存储单元14,对该全部资源判断对该应用程序是否设定了访问权。通过这样,资源访问判断单元15检索对使用的全部资源设定了访问权的应用程序(步骤S404)。下面,将步骤S404中检索的应用程序作为应用程序AP2。另外,这里的应用程序AP2与图10的说明中所用的应用程序AP2是不同的其它程序。
然后,资源访问判断单元15判断步骤S404中检索的结果是否发现应用程序AP2(步骤S405)。在没有发现的情况下,资源访问判断单元15进入步骤S408的工作,从应用程序信息存储单元12删除有访问结束请求的应用程序AP1有关的应用程序AP1有关的应用程序信息,并结束处理。
另一方面,在有发现的情况下,资源访问判断单元15更新应用程序信息存储单元12,使得应用程序AP2有关的访问可否信息变为“可以”(步骤S406)。然后,执行单元17为了使得访问可否信息变为“可以”的应用程序能够使用,就改变与逻辑设备对应的设备驱动程序的设定,使得应用程序AP2能够使用,然后进入步骤S408的工作,再结束处理。
但是,上述工作仅在设备驱动程序具有保持设定了一次的有访问权的应用程序有关的设定的功能的情况下才有效地实现。如果在设备驱动程序没有这样的功能的情况下,执行单元17在应用程序AP2提出来访问请求时,只要将必须进行设备设定这样的出错代码返回应用程序AP2即可。另外,在设备驱动程序支持上述保持功能的情况下,设备驱动程序能够使设定自动复原。
图13所示为步骤S403的资源访问判断单元15的详细工作流程图。下面参照图13说明步骤S403中的资源访问判断单元15的工作。
首先,资源访问判断单元15参照应用程序信息存储单元12,识别应用程序AP1的访问对象逻辑设备,并参照设备信息,识别该访问对象逻辑设备使用的全部资源,再参照资源信息存储单元14,判断对于识别的某一个资源对应用程序AP1是否设定了访问权(步骤S501)。
在设定了访问权的情况下,资源访问判断单元15参照设备信息存储单元18,识别使用该资源的逻辑设备,并参照应用程序信息存储单元12,检索对该逻辑设备提出访问开始请求的应用程序(步骤S502)。这里,将检索的应用程序称为AP3。
然后,资源访问判断单元15判断步骤S502中识别的应用程序AP3是否存在多个(步骤S503)。在存在多个的情况下,资源访问判断单元15参照应用程序信息存储单元12,从其中检索优先级最高的应用程序AP3(步骤S504),进入步骤S505的工作。另外,在不存在多个的情况下,资源访问判断单元15按照原样进入步骤S505的工作。
在步骤S505中,资源访问判断单元15更新资源信息存储单元14的内容,使得对应用程序AP3给予访问权,再进入步骤S506的工作。这时,资源访问判断单元15在需要已对应用程序AP1给予访问权的资源的应用程序AP3不存在时,对该资源的资源信息设定NULL。另外,在允许多重访问的资源的资源信息更新时,资源访问判断单元15更新设定资源属性。然后,资源访问判断单元15将新设定的属性与步骤S502中检索的其它应用程序所用的该资源的属性进行比较。比较的结果在判断为是同一属性时,资源访问判断单元15也对其它的应用程序赋予访问权。这时,在能够赋予的访问权的数量有上限时,资源访问判断单元15则按照优先级的高低顺序赋予访问权。
在步骤S506中,资源访问判断单元15对应用程序AP1的访问对象即逻辑设备所需要的全部资源,判断是否进行上述处理(步骤S506)。在不进行时,资源访问判断单元15返回步骤S501的工作。另外,在进行时,竞争仲裁装置进入步骤S404的工作。
如用图12及图13所说明的那样,竞争仲裁装置1在应用程序AP1结束对逻辑设备DEV1的访问时,自动地对迄今为止由于产生资源竞争而变成不能访问的应用程序赋予对逻辑设备DEV1的访问权。
用图12及图13所说明的处理具有的特征是,对于进行了访问结束处理的逻辑设备DEV1以外的逻辑设备(例如DEV2)也赋予访问权。这里,作为一个例子考虑下述的情况,即应用程序AP2对访问对象逻辑设备DEV2提出访问开始请求,但在实际上还未对逻辑设备DEV2进行访问时,优先级比应用程序AP2要高的应用程序AP1已经对逻辑设备DEV1提出访问开始请求。这里,假设逻辑设备DEV1及逻辑设备DEV2都需要资源R。
首先,一开始在应用程序AP2对逻辑设备DEV2提出访问开始请求时,对资源R没有发生访问竞争。因此,应用程序AP2对逻辑设备DEV2将能够访问。在这之后,假设应用程序AP1对逻辑设备DEV1提出了访问开始请求。这里,由于假设应用程序AP1的优先级较高,因此对资源R的访问权是由应用程序AP1取得。结果,应用程序AP2成为对逻辑设备DEV2不能访问。
但是,由于应用程序AP2是在提出了访问开始请求的阶段停止的,因此实际上对逻辑设备DEV2还没有提出访问请求。所以,应用程序AP2还不知道成为对逻辑设备DEV2不能访问。
在这样的状况下,假设应用程序AP1在对逻辑设备DEV1进行访问之后,结束必要的处理,提出了访问结束请求。通过这样,资源R从应用程序AP1释放。由于逻辑设备DEV2需要资源R,因此利用图12及图13中说明的处理,应用程序AP2自动变成对逻辑设备DEV2能够访问(参照步骤S404~S406)。即,应用程序AP2自己提出访问开始请求后,在对逻辑设备DEV2进行访问之前的期间,不知道成为对逻辑设备DEV2不能访问的情况,而又成为对逻辑设备DEV2能够访问。通过这样的处理,进行设备访问用的应用程序的编制就很简洁。
下面以图2~图4所示的应用程序、逻辑设备、资源与物理设备的对应关系为例,具体说明用图9~图13说明的处理流程。
例如,在图2中,考虑应用程序A1已经对SDSP逻辑设备能够访问时、应用程序A2对MIDI逻辑设备提出访问开始请求的情况。这里,假设应用程序A2的优先级比应用程序A1要高。
首先,竞争仲裁装置1取得应用程序A2所需要的MIDI资源及扬声器资源的资源信息。MIDI资源及扬声器资源都没有相同名称的资源,分别只存在一个。因此,竞争仲裁装置1判断是否存在已经取得这些资源的访问权的应用程序(参照图10的步骤S211)。这里,扬声器资源的访问权已经由应用程序A1取得。因此,竞争仲裁装置1比较应用程序A2与应用程序A1的优先级(参照图10的步骤S206)。这里,由于假设应用程序A2的优先级较高,因此应用程序A2就取得MIDI资源及扬声器资源的访问权。变成对MIDI逻辑设备能够访问(参照图10的步骤S208)。
另一方面,应用程序A1由于变成对扬声器资源不能访问,因此对SDSP逻辑设备就不能访问(参照图10的步骤S209)。
然后,在应用程序A1提出访问请求时,由于在应用程序信息中已经设定为不能访问,因此竞争仲裁装置1对应用程序A1返回出错消息(参照图11的步骤S305)。通过这样,应用程序A1知道变成了不能访问的情况。
接着,考虑在应用程序A1提出访问请求之前、应用程序A2提出了访问请求的情况。首先,竞争仲裁装置1取得应用程序A2取得了访问权的资源(MIDI资源及扬声器资源)的资源信息。然后,竞争仲裁装置1检索是否存在对各资源需要访问权的应用程序。在本例中,由于对MIDI资源需要访问权的应用程序不存在,因此竞争仲裁装置1对MIDI资源的资源信息设定为NULL。另外,由于应用程序A1需要对扬声器资源的访问权,因此竞争仲裁装置1对扬声器资源信息设定应用程序A1取得了访问权(参照图12的步骤S403)。
如果在应用程序A1以外还存在需要扬声器资源的其它应用程序的情况下,竞争仲裁装置1则比较应用程序A1与其它应用程序的优先级,使优先级高的应用程序取得访问权。
由于应用程序A1通过重新取得扬声器资源的访问权,就能够对所需要的全部资源进行访问,因此对SDSP逻辑设备能够访问。通过这样,竞争仲裁装置1对应用程序A1的应用程序信息设定对SDSP逻辑设备能够访问(参照图12的步骤S406)。
如果在SDSP设备驱动程序具有能够复原应用程序A1的设定的功能的情况下,接下来应用程序A1提出访问请求时,应用程序不知道一度成为不能访问的情况,而又能够对SDSP逻辑设备进行访问那。即应用程序A1能够对SDSP物理设备及扬声器物理设备进行访问。
下面说明图3的构成例的情况下的具体处理流程。例如,在图3中,假设应用程序A1、A2及A4已经对线路逻辑设备能够访问。这时,考虑应用程序A3对线路逻辑设备提出访问开始请求时的情况。这里,假设优先级是按照应用程序A1、应用程序A2、应用程序A3及应用程序A4的顺序由高到低。即AP1的优先级最高。
首先,竞争仲裁装置1在三个线路资源32~34中判断没有设定访问权的线路资源(参照图10的步骤S202)。在本例中,应用程序A1、A2及A4已经对全部线路资源32~34取得了访问权。因而,没有设定访问权的线路资源(空的线路资源)就不存在。
接着,竞争仲裁装置1识别应用程序A1、A2及A4中的优先级最低的应用程序(参照图10的步骤S203)。在本例中,应用程序A4的优先级最低。然后,竞争仲裁装置1比较应用程序A4与A3的优先级(参照图10的步骤S206)。在本例中,应用程序A3的优先级比应用程序A4的优先级要高。因而,竞争仲裁装置1进行设定,使得对于应用程序A4取得了访问权的线路资源,由应用程序A3取得访问权。通过这样,应用程序A3成为对线路逻辑设备能够访问(参照图10的步骤S208)。另外,应用程序A4成为对线路逻辑设备不能访问(参照图10的步骤S209)。
下面考虑优先级低于应用程序A4的应用程序A5(未图示)提出来访问开始请求的情况。这时,由于线路资源已经全部占满,因此竞争仲裁装置1识别应用程序A1、A2及A3中的优先级最低的应用程序(参照图10的步骤S203)。其中,应用程序A3的优先级最低。然后,竞争仲裁装置1比较应用程序A3与A5的优先级(参照图10的步骤S206)。在本例中,AP5的优先级较低。因而,竞争仲裁装置1进行设定,使得AP5成为对线路逻辑设备不能访问(参照图9步骤S108)。
下面考虑在应用程序A4及A5都对线路逻辑设备提出访问请求之前,应用程序A2提出了访问结束请求的情况。在这样情况下,需要线路资源的应用程序存在应用程序A4及A5的二个应用程序(参照图13的步骤S502)。竞争仲裁装置1在应用程序A4与A5中,识别优先级最高的应用程序(参照图13的步骤S504)。在本例中,AP4的优先级较高。因而,竞争仲裁装置1对于AP2取得了访问权的线路资源,对应用程序A4给予访问权(参照图13的步骤S505)。通过这样,应用程序A4成为对线路逻辑设备能够访问(参照图12的步骤S406)。
下面说明图4的构成例的情况下的具体处理流程。例如,在图4中,假设应用程序A1对SDSP录音逻辑设备已经是能够访问。这时,考虑应用程序A3对SDSP重放逻辑设备提出了访问开始请求的情况。这里,假设应用程序A1的优先级比应用程序A3的优先级要高。另外,假设应用程序A1及A3使用相同的编码译码器X。另外,假设SDSP编码译码器资源是具有附加信息的资源,具有若设定的状态相同、则允许多重访问的性质。
若SDSP编码译码器资源是不允许多重访问的资源,则由于对SDSP编码译码器资源已经对应用程序A1设定了访问权,因此竞争仲裁装置1比较应用程序A1与应用程序A3的优先级(参照图10的步骤S206)。在本例中,应用程序A1的优先级比应用程序A3的优先级要高。因而,在这种情况下,若是不允许多重访问的普通的资源,则应用程序A3不能取得访问权。
但是,由于SDSP编码译码器资源是允许多重访问的资源,因此应用程序A3有可能能够取得访问权。因此,竞争仲裁装置1将SDSP编码译码器资源中设定的编码译码器的种类与应用程序A3使用的编码译码器的种类进行比较(参照图10的步骤S205)。在本例中,由于二个种类是相同的编码译码器X,因此竞争仲裁装置1对应用程序A3赋予对SDSP编码译码器资源的访问权(图10的步骤S208)。通过这样,应用程序A3成为对SDSP重放逻辑设备能够访问。
下面考虑应用程序A2对SDSP录音逻辑设备提出访问开始请求的情况。这里,假设应用程序A2的优先级比应用程序A1的优先级要低,而比应用程序A3的优先级要高。
首先,竞争仲裁装置1将SDSP编码译码器资源中设定的编码译码器的种类与AP2使用的编码译码器的种类进行比较(图10的步骤S205)。这里,假设应用程序A2使用与应用程序A1及A3不同的编码译码器Y。在这种情况下,由于资源中设定的属性即编码译码器的种类不同,因此应用程序A2成为不能取得SDSP编码译码器的访问权。所以,应用程序A2成为对SDSP录音逻辑设备不能访问(参照图9的步骤S108)。
另一方面,假设应用程序A2使用与应用程序A1及A3相同的编码译码器X。在这种情况下,由于与在资源中设定的属性、即编码译码器的种类相同,应用程序A2能够取得对SDSP编码译码器资源的访问权(参照图10的步骤S205)。但是,由于SDSP录音资源的访问权是原封不动赋予应用程序A1的,因此应用程序A2没有对全部资源的访问权(参照图9的步骤S105),对SDSP录音逻辑设备不能访问(参照图9的步骤S108)。
下面考虑应用程序A1提出访问结束请求时的情况。首先,对于SDSP录音资源,由于应用程序A2需要访问权(参照图13的步骤S502),因此竞争仲裁装置1使应用程序A2取得访问权(参照图13的步骤S505)。
然后,对于SDSP编码译码器资源,由于应用程序A2及A3需要访问权(参照图13的步骤S502),因此竞争仲裁装置1比较应用程序A2与A3的优先级(参照图13的步骤S504)。而由于应用程序A2的优先级较高,因此竞争仲裁装置1对应用程序A2给予SDSP编码译码器资源的访问权(参照图13的步骤S505)。这时,由于编码译码器的种类改变,因此竞争仲裁装置1重新设定编码译码器的种类。
然后,竞争仲裁装置1将SDSP编码译码器资源中新设定的编码译码器的种类与应用程序A3使用的编码译码器的种类进行比较(参照图13的步骤S505)。这里,由于假设应用程序A2与A3使用不同的编码译码器,因此竞争仲裁装置1进行设定,使得应用程序A3成为对SDSP编码译码器资源不能访问。通过这样,应用程序A3成为对SDSP重放逻辑设备不能访问。
这样,在上述实施形态中,竞争仲裁装置分离为由应用程序指定的逻辑设备、实际存在的物理设备及与物理设备和逻辑设备相对应的资源,对物理设备的功能及应用程序所希望的功能进行管理,以资源为单位对于从应用程序对物理设备的访问进行竞争仲裁。因而,即使物理设备的构成发生变化,由于只要改变竞争仲裁装置内的资源信息及设备信息即可,因此能够提供可以灵活适应物理设备构成变化的竞争仲裁装置及竞争仲裁方法。再有,由于将物理设备的功能分割为以资源为单位进行竞争仲裁,因此即使物理设备具有各种各样的特性,也能够提供可以充分完全发挥其特性的竞争仲裁装置及竞争仲裁方法。
例如,像线路物理设备那样,若是某上限数量以内,则在允许多重访问那样的情况下,或者像SDSP物理设备中的SDSP编码译码器功能那样,满足某种条件,则允许多重访问那样的情况下,竞争仲裁装置能够对多个应用程序赋予访问权。这样,竞争仲裁装置能够进行竞争仲裁,使得充分完全发挥物理设备的特性。
另外,例如像扬声器物理设备那样,即使在是与其它的物理设备通过布线连接、但单体不具有I/O接口的物理设备在多个设备之间公用那样的情况下,竞争仲裁装置能够对访问该物理设备进行竞争仲裁。
另外,还提供这样的结构,即在应用程序提出访问请求时,若能够访问,则执行该设备驱动程序,若不能访问,则向应用程序返回出错消息。因此,应用程序只要考虑在提出访问请求时付出错消息即可。这样的系统对应应用程序开发者来说,能够减轻开发负担。
另外,通过采用赋予应用程序的优先级来进行竞争仲裁,就允许从优先级高的应用程序开始按顺序对物理设备进行访问。特别是在允许多重访问的物理设备中,能够从优先级更高的开始进行访问,能够进行与优先级相应的复杂的排他控制
另外,由于应用程序是否能够对物理设备进行访问将登录在应用程序信息内,因此每次有访问请求时,都不需要判断是否能够访问,所以处理能够实现高速化。
再有,在由于其它的应用程序的访问请求而剥夺了对物理设备的访问权时,若访问权被剥夺之前的应用程序在下一次进行访问请求之前,若再一次成为对该物理设备能够访问,则该由于程序不知道一度成为不能访问这样的事实,能够不进行特别的处理而继续对物理设备进行访问。
另外,在采用通过同时控制多个物理设备来实现所希望的功能这样的应用程序时,为了实现该所希望的处理,必须允许对该多个物理设备进行访问。如本发明那样,若以资源为单位来管理访问权,则执行在对全部物理设备能够访问时所许哟的设备驱动程序,能够实现所希望的功能。另外,在即使有一个不能访问时,竞争仲裁装置能够对应用程序通知出错消息。
另外,上述实施形态所示的物理设备、逻辑设备及资源是一个例子,当然不限定于这些。
另外,在上述实施形态中,资源访问判断单元是对优先级高的应用程序赋予对资源的访问权。其它也可以是对于每个资源信息,附加与对先提出访问请求的程序予以允许使用、或者对随后提出访问请求的应用程序予以允许使用有关的先行信息,然后资源访问判断单元根据先行信息,判断给予访问权的应用程序。另外,资源访问判断单元也可以仅在应用程序的优先级相同时,根据先行信息,判断给予访问权的应用程序。
另外,在上述实施形态中,竞争仲裁装置仅在对应用程序所希望的逻辑设备所需要的全部资源赋予访问权的情况下,设定为该应用程序对该逻辑设备能够访问(参照图9的步骤S105~S106)。但是,即使没有对全部资源设定访问权,若仅对一部分资源设定访问权,则有时也能够实现逻辑设备的一部分功能。因此,竞争仲裁装置即使在不能使用逻辑设备的全部资源的情况下,也能够使得应用程序能够仅使用可使用的资源。
图14所示为即使在不能使用逻辑设备使用的全部资源的情况下,也使得应用程序能够仅使用能够使用的资源时的竞争仲裁装置的工作流程图。图14所示的流程图是替换图9所示的步骤S105~S108的部分。在图14中,对于与图9所示的步骤进行相同工作的步骤,附加相同的步骤编号,并省略说明。
竞争仲裁装置1在判断为提出访问开始请求的应用程序对于访问对象逻辑设备使用的全部资源没有访问权时,进入步骤S1081的工作。在步骤S1081中,竞争仲裁装置1的执行单元17在访问对象逻辑设备使用的全部资源内,识别该应用程序能够访问的资源。然后,执行单元17在步骤S1081识别的资源内,判断是否存在能够单独使用的资源(步骤S1082)。这时,执行单元17根据资源信息中附加的表示是否能够单独使用的信息,进行判断。
在存在能够单独使用的资源时,执行单元17使设备驱动程序执行单元5执行设备驱动程序,使得实现该资源的功能(步骤S1083),并结束处理。另外,在不存在能够单独使用的资源时,执行单元17更新应用程序信息的存储单元内的登录内容,使得与该应用程序相对应的访问可否信息成为“不可”(步骤S108),并结束处理。
这样,即使不能对全部物理设备进行访问,在只要能够执行所希望的功能的一部分也可以的情况下,竞争仲裁装置也能够执行设备驱动程序,使得应用程序能够执行该所希望的功能的一部分。
本发明有关的竞争仲裁装置、竞争仲裁方法及竞争仲裁程序能够充分完全发挥物理设备的特性,而且能够灵活适应物理设备的构成变化,用于多个应用程序起动的计算机系统等是很有效的。
以上详细说明了本发明,但前述说明在所有方面不过是表示本发明的例子,不是想限定其范围。当然,在不超出本发明范围的情况下,能够进行各种改进及变形。
Claims (21)
1.一种竞争仲裁装置,是对多个应用程序希望同时使用至少一个物理设备时发生的竞争进行仲裁用的竞争仲裁装置,其特征在于,包含
存储表示定义所示物理设备所具有的功能的至少一个资源和允许使用与该资源对应的功能的至少一个应用程序之对应关系的资源信息的资源信息存储手段;
存储表示在希望使用所述物理设备时定义由所述应用程序指定的功能的逻辑设备和为了实现由该逻辑设备定义的功能而定义了必需的功能的至少一个所述资源之对应关系的设备信息的设备信息存储手段;
在根据所述应用程序指定逻辑设备时,参照所述设备信息来识别与所述逻辑设备对应的资源的使用资源识别手段;
参照所述资源信息,对由所述使用资源识别手段识别的所述资源,判断允许使用的应用程序的资源访问判断手段;以及
根据所述资源访问判断手段的判断结果,判断指定所述逻辑设备的应用程序是否能够使用实现由该逻辑设备定义的功能的物理设备的设备访问判断手段。
2.如权利要求1所述的竞争仲裁装置,其特征在于,
对所述资源信息附加表示是否能够允许多个应用程序同时使用的多重访问信息,
所述资源访问判断手段根据所述多重访问信息,在允许多个应用程序同时使用时,对于所述资源信息则对多个应用程序允许使用。
3.权利要求2所述的竞争仲裁装置,其特征在于,所述资源访问判断手段仅在满足规定条件的情况下,对多个应用程序允许使用。
4.如权利要求3所述的竞争仲裁装置,其特征在于,所述规定条件是所述应用程序使用由所述资源提供的功能的条件,或在所述多个应用程序之间全部通用的条件。
5.如权利要求1所述的竞争仲裁装置,其特征在于,还具有在利用所述设备访问判断手段判断为指定所述逻辑设备的应用程序能够使用所述物理设备时,使控制所述物理设备用的设备驱动程序执行的执行手段。
6.如权利要求5所示的竞争仲裁装置,其特征在于,所述执行手段在利用所述访问判断手段判断为指定所述逻辑设备的应用程序不能使用所述物理设备时,对所述应用程序通知出错消息。
7.如权利要求1所述的竞争仲裁装置,其特征在于,所述资源访问判断手段根据应用程序的优先级,判断允许使用的应用程序。
8.如权利要求7所述的竞争仲裁装置,其特征在于,还具有存储与所述应用程序优先级有关的信息的应用程序信息存储手段。
9.如权利要求7所述的竞争仲裁装置,其特征在于,
对所述资源信息附加有关每个资源对先提出访问请求的应用程序予以允许使用还是对随后提出访问请求的应用程序予以允许使用的先行信息,
所述资源访问判断手段在所述程序的优先级相同时,根据所述先行信息,判断允许使用的应用程序。
10.如权利要求1所述的竞争仲裁装置,其特征在于,
还具有使根据所述设备访问判断手段的判断结果与应用程序对应,作为应用程序信息加以存储的应用程序信息存储手段,
所述设备访问判断手段还具有在因由所述应用程序最初指定所述逻辑设备而有访问开始请求时判断是否能够使用所述物理设备,并将判断结果存入所述应用程序信息存储手段,
而在访问开始请求之后有访问请求时,参照存入所述应用程序信息存储手段的应用程序信息,判断所述应用程序是否能够使用所述物理设备的执行手段。
11.如权利要求10所述的竞争仲裁装置,其特征在于,所述执行手段在由不能使用所述物理设备的应用程序提出访问请求时,对该应用程序通知出错消息。
12.如权利要求10所述的竞争仲裁装置,其特征在于,所述执行手段在一旦被允许使用所述物理设备后而不能使用该物理设备的应用程序有访问请求时,对该应用程序通知出错消息。
13.如权利要求1所述的竞争仲裁装置,其特征在于,
所述资源访问判断手段在从所述应用程序接受了结束请求时,对希望使用与所述资源对应的功能的其它应用程序予以允许使用,并更新所述资源信息以反映允许的结果,
所述设备访问判断手段根据利用所述资源访问判断手段更新的所述资源信息,判断所述其它应用程序是否能够使用所述物理设备。
14.如权利要求13所述的竞争仲裁装置,其特征在于,还具有
使所述设备访问判断手段的判断结果与应用程序对应作为应用程序信息存储的应用程序信息存储手段、以及
根据所述设备访问判断手段的判断结果更新所述应用程序信息的执行手段。
15.如权利要求13所述的竞争仲裁装置,其特征在于,还具有在利用所述设备访问判断手段判断为所述其它应用程序能够使用所述物理设备时,对设备驱动程序改变设定,以使得所述其它应用程序能够访问的执行手段。
16.如权利要求1所述的竞争仲裁装置,其特征在于,所述设备访问判断手段仅在对于与所述逻辑设备对应的全部所述资源,允许使用与该全部资源对应的功能的应用程序是指定全部所述逻辑设备的应用程序时,判断为所述应用程序程序能够使用所述物理设备。
17.如权利要求1所述的竞争仲裁装置,其特征在于,所述设备访问判断手段在与所述逻辑设备对应的所述资源内,与一部分所述资源对应的应用程序是指定全部所述逻辑设备的应用程序时,判断为通过所述应用程序访问所述物理设备能够使用由一部分所述资源定义的功能。
18.如权利要求1所述的竞争仲裁装置,其特征在于,还具有从所述应用程序接收所述逻辑设备的指定的应用程序I/F手段。
19.如权利要求1所述的竞争仲裁装置,其特征在于,
对所述资源信息附加有关每个资源对先提出访问请求的应用程序予以允许使用还是对随后提出访问请求的应用程序予以允许使用的先行信息,
所述资源访问判断手段根据所述先行信息,判断允许使用的应用程序。
20.一种竞争仲裁程序,是为了对多个应用程序希望同时使用至少一个物理设备时发生的竞争进行仲裁而使计算机装置具有这种功能用的程序,其特征在于,
在所述计算机装置中,存储表示定义物理设备所具有的功能的至少一个资源和允许使用与该资源对应的功能的至少一个应用程序之对应关系的资源信息、以及表示在希望使用所述物理设备时定义由所述应用程序指定的功能的逻辑设备和为了实现由该逻辑设备定义的功能而定义了必需的功能的至少一个所述资源之对应关系的设备信息,
具有在根据所述应用程序指定逻辑设备时,参照所述设备信息,使所述计算机装置识别与所述逻辑设备对应的资源的步骤;
参照所述资源信息,对识别的所述资源,使所述计算机装置判断允许使用的应用程序的步骤;以及
根据允许使用的应用程序的判断结果,使所述计算机判断指定所述逻辑设备的应用程序是否能够使用实现由该逻辑设备定义的功能的物理设备的步骤。
21.一种竞争仲裁方法,是利用计算机装置对多个应用程序希望同时使用至少一个物理设备发生的竞争进行仲裁用的方法,其特征在于,
在所述计算机装置中,存储表示定义所述物理设备所具有的功能的至少一个资源和允许使用与该资源对应的功能的至少一个应用程序之对应关系的资源信息、以及表示在希望使用所述物理设备时定义由所述应用程序指定的功能的逻辑设备和为了实现由该逻辑设备定义的功能而定义了必需的功能的至少一个所述资源之对应关系的设备信息,
具有在根据所述应用程序指定逻辑设备时,参照所述设备信息,所述计算机装置识别与所述逻辑设备对应的资源步骤;
参照所述资源信息,对识别的所述资源,所述计算机判断允许使用的应用程序的步骤;以及
根据允许使用的应用程序的判断结果,所述计算机判断指定所述逻辑设备的应用程序是否能够使用实现由该逻辑设备定义的功能的物理设备的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002331905 | 2002-11-15 | ||
JP2002331905 | 2002-11-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1501255A true CN1501255A (zh) | 2004-06-02 |
Family
ID=32212041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200310114381A Pending CN1501255A (zh) | 2002-11-15 | 2003-11-17 | 竞争仲裁装置、竞争仲裁方法及竞争仲裁程序 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7000050B2 (zh) |
EP (1) | EP1422622A3 (zh) |
KR (1) | KR20040042893A (zh) |
CN (1) | CN1501255A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101233493B (zh) * | 2005-08-18 | 2012-01-18 | 松下电器产业株式会社 | 冲突解决装置 |
CN101889264B (zh) * | 2007-11-02 | 2014-05-14 | 高通股份有限公司 | 可配置系统事件和资源仲裁管理的设备和方法 |
CN104125221A (zh) * | 2014-07-17 | 2014-10-29 | 东北大学 | Ims终端设备多软终端资源共享和应用协同装置及方法 |
CN105359106A (zh) * | 2013-07-11 | 2016-02-24 | 谷歌公司 | 用于在基于云的文件系统中提供对改变的通知的系统和方法 |
CN108508810A (zh) * | 2018-05-08 | 2018-09-07 | 深圳市智汇牛科技有限公司 | 一种基于仲裁机制的自动厨房领域多设备竞争资源方法 |
CN110161978A (zh) * | 2018-02-02 | 2019-08-23 | 深圳健康小厨智能餐饮科技有限公司 | 一种自动厨房多设备竞争资源仲裁方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4597488B2 (ja) * | 2003-03-31 | 2010-12-15 | 株式会社日立製作所 | プログラム配置方法及びその実施システム並びにその処理プログラム |
US8176117B2 (en) * | 2003-12-19 | 2012-05-08 | Stmicroelectronics, Inc. | Accelerator for object-oriented communications and method |
WO2006100771A1 (ja) * | 2005-03-23 | 2006-09-28 | Fujitsu Limited | バックアップ装置 |
JP5111022B2 (ja) * | 2007-08-31 | 2012-12-26 | キヤノン株式会社 | デバイス管理装置、デバイス管理システム、デバイス管理方法、及び、デバイス管理プログラム |
US9734312B1 (en) * | 2015-08-12 | 2017-08-15 | Symantec Corporation | Systems and methods for detecting when users are uninstalling applications |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0695895A (ja) * | 1990-11-19 | 1994-04-08 | Internatl Business Mach Corp <Ibm> | アプリケーシヨンプログラム装置及びその方法 |
JPH07319691A (ja) * | 1994-03-29 | 1995-12-08 | Toshiba Corp | 資源保護装置、特権保護装置、ソフトウェア利用法制御装置、及びソフトウェア利用法制御システム |
US6598068B1 (en) * | 1996-01-04 | 2003-07-22 | Sun Microsystems, Inc. | Method and apparatus for automatically managing concurrent access to a shared resource in a multi-threaded programming environment |
DE19625002B4 (de) * | 1996-06-22 | 2005-03-10 | Daimler Chrysler Ag | Fahrzeugkommunikationssystem |
US5835906A (en) | 1996-07-01 | 1998-11-10 | Sun Microsystems, Inc. | Methods and apparatus for sharing stored data objects in a computer system |
US6353862B1 (en) * | 1997-04-04 | 2002-03-05 | Avid Technology, Inc. | Video device manager for managing motion video output devices and supporting contexts and buffer adoption |
US5933825A (en) * | 1997-07-21 | 1999-08-03 | Apple Computer, Inc. | Arbitrating concurrent access to file system objects |
JP2000231458A (ja) | 1999-02-10 | 2000-08-22 | Seiko Epson Corp | 複合デバイス装置、複合デバイスシステム、複合デバイス制御方法および複合デバイス制御プログラムを記録した媒体 |
US6466982B1 (en) * | 1999-04-09 | 2002-10-15 | Sun Microsystems, Inc. | Exclusive use of peripheral devices |
US6799208B1 (en) | 2000-05-02 | 2004-09-28 | Microsoft Corporation | Resource manager architecture |
JP2001346276A (ja) | 2000-05-31 | 2001-12-14 | Matsushita Electric Ind Co Ltd | 競合解消装置、機器制御系統、媒体および情報集合体 |
US6801962B2 (en) * | 2000-07-26 | 2004-10-05 | Sharp Kabushiki Kaisha | Data output system, mobile terminal, data output method, data output program, and computer-readable recording medium storing data output program |
JP2002175287A (ja) | 2000-12-08 | 2002-06-21 | Matsushita Electric Ind Co Ltd | 排他制御装置及び排他制御方法 |
US6781363B2 (en) * | 2001-06-21 | 2004-08-24 | Han-Ping Chen | Memory sorting method and apparatus |
-
2003
- 2003-11-13 EP EP03025980A patent/EP1422622A3/en not_active Withdrawn
- 2003-11-14 KR KR1020030080492A patent/KR20040042893A/ko not_active Application Discontinuation
- 2003-11-14 US US10/712,001 patent/US7000050B2/en not_active Expired - Fee Related
- 2003-11-17 CN CNA200310114381A patent/CN1501255A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101233493B (zh) * | 2005-08-18 | 2012-01-18 | 松下电器产业株式会社 | 冲突解决装置 |
US8448187B2 (en) | 2005-08-18 | 2013-05-21 | Panasonic Corporation | Conflict resolution apparatus |
CN101889264B (zh) * | 2007-11-02 | 2014-05-14 | 高通股份有限公司 | 可配置系统事件和资源仲裁管理的设备和方法 |
CN105359106A (zh) * | 2013-07-11 | 2016-02-24 | 谷歌公司 | 用于在基于云的文件系统中提供对改变的通知的系统和方法 |
US10476758B2 (en) | 2013-07-11 | 2019-11-12 | Google Llc | Systems and methods for providing notifications of changes in a cloud-based file system |
CN105359106B (zh) * | 2013-07-11 | 2019-11-19 | 谷歌有限责任公司 | 用于在基于云的文件系统中提供对改变的通知的系统和方法 |
US11411837B2 (en) | 2013-07-11 | 2022-08-09 | Google Llc | Systems and methods for providing notifications of changes in a cloud-based file system |
US11855858B2 (en) | 2013-07-11 | 2023-12-26 | Google Llc | Systems and methods for providing notifications of changes in a cloud-based file system |
CN104125221A (zh) * | 2014-07-17 | 2014-10-29 | 东北大学 | Ims终端设备多软终端资源共享和应用协同装置及方法 |
CN110161978A (zh) * | 2018-02-02 | 2019-08-23 | 深圳健康小厨智能餐饮科技有限公司 | 一种自动厨房多设备竞争资源仲裁方法 |
CN108508810A (zh) * | 2018-05-08 | 2018-09-07 | 深圳市智汇牛科技有限公司 | 一种基于仲裁机制的自动厨房领域多设备竞争资源方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1422622A3 (en) | 2007-07-11 |
US7000050B2 (en) | 2006-02-14 |
EP1422622A2 (en) | 2004-05-26 |
KR20040042893A (ko) | 2004-05-20 |
US20040098526A1 (en) | 2004-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1279440C (zh) | 卸载系统 | |
CN1284095C (zh) | 多处理器系统中的任务分配方法和多处理器系统 | |
CN1324472C (zh) | 信息提供系统 | |
CN1260665C (zh) | 用于管理可换存储媒体的设备和方法 | |
CN1739292A (zh) | 通信系统及方法、信息处理装置及方法、信息管理装置及方法、记录媒体和程序 | |
CN1795434A (zh) | 程序执行控制设备,程序执行控制方法,控制程序和记录介质 | |
CN1924839A (zh) | 设备驱动程序的管理方法和信息处理装置 | |
CN1752947A (zh) | 存储装置、存储控制方法,以及计算机产品 | |
CN1501255A (zh) | 竞争仲裁装置、竞争仲裁方法及竞争仲裁程序 | |
CN1658184A (zh) | 网络系统、分布式处理方法和信息处理装置 | |
CN1300389A (zh) | 用于消息转换的装置和方法 | |
CN1956088A (zh) | 信息处理装置、信息处理方法以及计算机程序 | |
CN1159644C (zh) | 盘式存储装置和数据预读方法 | |
CN1906583A (zh) | 信息处理设备、中断处理控制方法、以及计算机程序 | |
CN101046812A (zh) | 一种数据库表记录构造与检查的方法及其装置 | |
CN1916961A (zh) | 可中断图形处理单元及其控制方法 | |
CN1942869A (zh) | 组合存储器装置、数据写入方法和程序 | |
CN1734438A (zh) | 信息处理设备、信息处理方法和程序 | |
CN101065967A (zh) | 元数据管理装置以及元数据利用装置 | |
CN1658142A (zh) | Atapi交换 | |
CN1475910A (zh) | 程序执行装置 | |
CN1159021A (zh) | 系统时钟确定装置 | |
CN1956460A (zh) | 恢复网络连接的方法和设备 | |
CN101030223A (zh) | 用于处理信息的装置、方法、和计算机程序 | |
CN100350386C (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |