`(12) Patent Application Publication (10) Pub. No.: US 2004/0098526A1
`Matsumoto et al.
`(43) Pub. Date:
`May 20, 2004
`
`US 20040098526A1
`
`(54) APPARATUS, METHOD AND PROGRAM
`FOR CONTENTION ARBTRATION
`(76) Inventors: Michiko Matsumoto, Moriguchi (JP);
`Yoshiaki Suzuki, Osaka (JP)
`Correspondence Address:
`WENDEROTH, LIND & PONACK, L.L.P.
`2033 K STREET N. W.
`SUTE 800
`WASHINGTON, DC 20006-1021 (US)
`(21) Appl. No.:
`10/712,001
`(22) Filed:
`Nov. 14, 2003
`(30)
`Foreign Application Priority Data
`
`Nov. 15, 2002 (JP)...................................... 2002-331905
`
`Publication Classification
`
`(51) Int. Cl. .................................................. G06F 13/14
`
`(52) U.S. Cl. .............................................................. 710/240
`(57)
`ABSTRACT
`The present invention provides a contention arbitration
`apparatus and method which can fully utilize the advantages
`of physical devices and can be flexibly adapted to a change
`of the physical devices. A contention arbitration apparatuS 1
`includes: a resource information Storing Section 14 for
`Storing resource information; a device information Storing
`Section 18 for Storing device information indicating a cor
`respondence between a logic device and resources, a used
`resource recognizing Section 13 for recognizing a resource
`asSociated with the logic device; a resource access deter
`mining Section 15 for determining by reference to the
`resource information which application program is allowed
`to access the resource recognized by the used resource
`recognizing Section; and a device access determining Section
`16 for determining, based on a determination result provided
`by the resource acceSS determining Section, whether the
`application program which has specified the logic device is
`able to access a physical device which implements functions
`defined by the logic device.
`
`
`
`RESOURCE
`ACCESS
`DETERMINING
`SECTION
`
`RESOURCE
`INFORMATION
`STORING
`SECTION
`
`USED
`RESOURCE
`RECOGNITING
`SECTION
`
`APPLICATION
`PROGRAM
`I/F
`SECTION
`
`APPLICATION
`PROGRAM
`EXECUT ING
`APPARATUS 2
`
`DEWICE
`ACCESS
`DETERMINING
`SECTION
`
`DEVICE
`INFORMATION
`STORING
`SECTION
`
`APPLICATION
`INFORMATION
`STORING
`SECTION
`
`EXECUTING
`SECTION
`
`CONTENTION ARBITRATION APPARATUS
`
`DEWICE DRIWER
`EXECUT ING APPARATUS 4
`
`ZTE, Ex. 1008
`
`1
`
`
`
`Patent Application Publication May 20, 2004 Sheet 1 of 13
`
`US 2004/0098526A1
`
`F I G. 1
`
`APPLICATION PROGRAM
`EXECUTING APPARATUS
`
`DEVICE DRIVER
`EXECUTING APPARATUS
`
`
`
`PHYSICAL
`DEWICE
`
`
`
`
`
`
`
`
`
`CONTENTION
`ARBITRATION
`APPARATUS
`
`
`
`
`
`
`
`PHYSICAL
`DEWICE
`
`
`
`2
`
`
`
`Patent Application Publication May 20, 2004 Sheet 2 of 13
`
`US 2004/0098526A1
`
`F I G. 2
`
`APPLICATION PROGRAM
`
`APPLICATION PROGRAM
`
`
`
`
`
`SDSP LOGIC
`DEWICE
`
`MIDI LOGIC
`DEWICE
`
`
`
`
`
`
`
`SDSP
`RESOURCE
`
`LOUDSPEAKER
`RESOURCE
`
`MIDI
`RESOURCE
`
`
`
`
`
`SDSP PHYSICAL
`DEWICE
`
`MIDI PHYSICAL
`DEWICE .
`
`LOUDSPEAKER
`PHYSICAL DEVICE
`
`3
`
`
`
`Patent Application Publication May 20, 2004 Sheet 3 of 13
`
`US 2004/0098526A1
`
`F I G. 3
`
`A1
`
`A2
`
`A3
`
`A4
`
`APPLICATION
`PROGRAM
`
`APPLICATION
`PROGRAM
`
`APPLICATION
`PROGRAM
`
`APPLICATION
`PROGRAM
`
`LINE LOGIC DEWICE
`
`32
`
`33
`
`LINE
`RESOURCE d 34
`
`LINE PHYSICAL
`DEWICE
`
`4
`
`
`
`Patent Application Publication May 20, 2004 Sheet 4 of 13
`
`US 2004/0098526 A1
`
`F I G. 4
`
`A1
`
`
`
`A2
`
`A3
`
`APPLICATION
`PROGRAM
`
`APPLICATION
`PROGRAM
`
`APPLICATION
`PROGRAM
`
`
`
`SDSP RECORDING
`LOGIC DEWICE
`
`
`
`SDSP REPRODUCING
`LOGIC DEWICE
`
`SSESSEE
`
`SDSP
`RECORDING
`RESOURCE
`
`
`
`
`
`SDSP
`REPRODUCTION
`RESOURCE
`
`
`
`SDSP PHYSICAL
`DEVICE
`
`5
`
`
`
`Patent Application Publication May 20, 2004 Sheet 5 of 13
`
`US 2004/0098526A1
`
`F I G. 5
`
`
`
`RESOURCE
`ACCESS
`DETERMINING
`SECTION
`
`RESOURCE
`INFORMATION
`STORING
`SECTION
`
`USED
`RESOURCE
`RECOGNITING
`SECTION
`
`APPLICATION
`PROGRAM
`I/F
`SECTION
`
`APPLICATION
`PROGRAM
`EXECUT ING
`APPARATUS 2
`
`DEWICE
`ACCESS
`DETERMINING
`SECTION
`
`APPLICATION
`DEWICE
`INFORMATION INFORMATION
`STORING
`STORING
`SECTION
`SECTION
`
`EXECUTING
`SECTION
`
`CONTENTION ARBITRATION APPARATUS
`
`DEWICE DRIWER
`EXECUT ING APPARATUS 4
`
`1
`
`6
`
`
`
`Patent Application Publication May 20, 2004 Sheet 6 of 13
`
`US 2004/0098526A1
`
`F I G. 6
`
`APPLICATION
`ID
`
`PRIORITY
`
`ACCESS. TARGET ACCESSIBILITY
`LOGIC DEWICE NAME INFORMATION
`SDSP LOGIC
`
`
`
`
`
`
`
`
`
`F I G. 7
`
`LINE LOGIC
`
`SDSP RECORDING
`ALLOWED
`6",
`SDSP REPRODUCING
`to
`SEYE" | NOT ALLOWED
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`LOGIC DEWICE NAME
`
`RESOURCE NAME
`
`SDSP LOGIC
`DEWICE
`
`MIDI LOGIC
`DEWICE
`
`LINE LOGIC
`DEW ICE
`
`SDSP RECORDING
`LOGIC DEWICE
`
`SDSP REPRODUCING
`LOGIC DEWICE
`
`
`
`
`
`
`
`
`
`SDSP RESOURCE
`
`LOUDSPEAKER
`RESOURCE
`
`MIDI RESOURCE
`
`
`
`LOUDSPEAKER
`RESOURCE
`
`LINE RESOURCE
`SDSP RECORDING
`RESOURCE
`SDSP CODEC
`RESOURCE
`SDSP REPRODUCTION
`RESOURCE
`SDSP CODEC
`RESOURCE
`
`7
`
`
`
`Patent Application Publication May 20, 2004 Sheet 7 of 13
`F I G. 8
`
`US 2004/0098526A1
`
`
`
`
`
`RESOURCE NAME
`
`LOUDSPEAKER
`RESOURCE
`MIDI RESOURCE
`
`LINE RESOURCE
`
`LINE RESOURCE
`
`LINE RESOURCE
`
`SDSP CODEC
`RESOURCE
`
`SDSP RECORDING
`RESOURCE
`SDSP REPRODUCTION
`RESOURCE -
`
`APPLICATION ID OF
`
`
`
`l
`l
`
`NULL
`
`NULL
`
`NULL
`
`LL
`
`8
`
`
`
`Patent Application Publication May 20, 2004 Sheet 8 of 13
`
`US 2004/0098526A1
`
`F I G. 9
`
`START
`
`RECEIWE ACCESS
`START INDICATION
`
`REGISTER AND NOTI FY
`APPLICATION INFORMATION
`
`OBTAIN AND NOT IFY
`RESOURCE NAME
`
`DETERMINE WHETHER ACCESS
`RIGHT TO ALL THE RESOURCES
`CAN BE OBTAINED AND REFLECT
`DETERMINATION RESULT IN
`STORING SECTIONS
`
`
`
`S101
`
`S102
`
`S103
`
`S104
`
`
`
`
`
`
`
`
`
`
`
`HAWING ACCESS
`RIGHT TO ALL THE
`RESOURCES
`
`
`
`S105
`NO
`
`S108
`
`SET APPLICATION
`INFORMATION TO "ALLOWED"
`
`SET APPLICATION INFORMATION
`TO "NOT ALLOWED"
`
`EXECUTE DEWICE DRIWER
`
`9
`
`
`
`Patent Application Publication May 20, 2004 Sheet 9 of 13
`
`US 2004/0098526A1
`
`F I. G. 1 O
`
`(EOMs)
`
`a
`
`SAME RESOURCE
`ARE PRESENT
`
`YeS
`ALL THE ACCES
`RIGHTSARE SET
`Yes
`
`SEARCH FOR APPLICATION
`AP2 HAVING LOWEST PRIORITY
`
`RESOURC
`EFFECTS MULTIPLE
`ACCESS
`
`IDENTICAL ATTRIBUTES
`
`S201
`
`No
`
`S2O2
`
`
`
`
`
`
`
`S2O3
`
`
`
`S204
`No
`
`S211
`
`APPLICATION AP3
`HAWING ACCESS RIGHT
`IS PRESENT
`Yes
`OBTAIN APPLICATION
`INFORMATION ABOUT AP3
`
`No
`
`S212
`
`GA)
`
`COMPARE PRIORITIES OF
`AP1 AND AP2 (AP3)
`
`S2O6
`
`AP
`PRIORITIZED
`
`UPDATE RESOURCE
`INFORMATION
`
`SET APPLICATION INFORMATION
`ABOUT AP2 (AP3) TO "NOT ALLOWED"
`
`S210
`
`
`
`UPDATED FOR
`ALL THE RESOURCES
`
`Yes
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`10
`
`
`
`Patent Application Publication May 20, 2004 Sheet 10 of 13
`
`US 2004/0098526A1
`
`F I G. 1 1
`
`
`
`
`
`RECEIWE AND NOT IFY
`ACCESS INDICATION
`
`REFER TO APPLICATION
`INFORMATION
`
`S301
`
`S302
`
`
`
`
`
`ACCESS ALLOWED
`
`
`
`S305
`
`EXECUTE DEWICE DRIVER
`
`RETURN AND NOTIFY ERROR
`
`
`
`
`
`11
`
`
`
`Patent Application Publication May 20, 2004 Sheet 11 of 13
`
`US 2004/0098526 A1
`
`F I G. 1 2
`
`S401
`
`S402
`
`S403
`
`S404
`
`RECEIVE AND NOT IFY ACCESS
`TERMINATION INDICATION
`
`OBTAIN RESOURCE INFORMATION
`
`
`
`DETERMINE WHETHER THERE IS
`ANY APPLICATION PROGRAM
`WHICH WISHES TO OBTAIN
`ACCESS RIGHT TO ALL THE
`RESOURCES WHICH CAN BE ACCESSED
`BY AP1, AND GRANT ACCESS RIGHT
`
`FIND APPLICATION AP4 HAWING
`GRANTED ACCESS RIGHT TO ALL
`THE RESOURCES TO BE USED
`
`S405
`AP, IS PRESENTS-Ne
`Yes
`UPDATE APPLICATION
`INFORMATION ABOUT AP TO
`"ALLOWED"
`
`
`
`CHANGE SETTING OF
`DEWICE TO AP4
`
`DELETE APPLICATION
`INFORMATION ABOUT AP1
`
`S408
`
`C END D
`
`12
`
`
`
`Patent Application Publication May 20, 2004 Sheet 12 of 13
`
`US 2004/0098526 A1
`
`F I G. 1 3
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`FROM S4O2
`
`S501
`
`HAWING ACCESS
`RIGHT TO RESOURCES
`TO BE USED
`
`FIND APPLICATION AP5 HAWING
`PROVIDED ACCESS START INDICATION
`TO LOGIC DEVICE WHICH REQUIRES
`THE RESOURCE
`
`PLURALITY
`OF AP5 ARE PRESENT
`
`FIND APPLICATION AP5
`HAWING HIGHEST PRIORITY
`
`UPDATE RESOURCE INFORMATION
`(COMPARE ATTRIBUTES IF
`MULTIPLE ACCESS IS EFFECTED)
`
`PROCESS
`PERFORMED ON ALL THE
`RESOURCES
`
`TO S.404
`
`13
`
`
`
`Patent Application Publication May 20, 2004 Sheet 13 of 13
`
`US 2004/0098526 A1
`
`F I G. 1 4
`
`FROM S104
`
`
`
`HAWING
`ACCESS RIGHT
`TO ALL THE
`RESOURCES
`
`S105
`
`RECOGNIZE ACCESSIBLE
`RESOURCES
`
`SET APPLICATION
`INFORMATION TO "ALLOWED"
`
`
`
`
`
`
`
`
`
`
`
`FUNCTIONS
`OF PART OF
`RESOURCES CAN BE
`
`
`
`PLEENTED
`
`EXECUTE DEWICE DRIWER
`
`
`
`EXECUTE DEWICE
`DRIWER
`
`S1081
`
`S1082
`
`
`
`
`
`S108
`
`SET APPLICATION
`INFORMATION TO
`"NOT ALLOWED"
`
`14
`
`
`
`US 2004/0098526 A1
`
`May 20, 2004
`
`APPARATUS, METHOD AND PROGRAM FOR
`CONTENTION ARBTRATION
`
`BACKGROUND OF THE INVENTION
`0001) 1. Field of the Invention
`0002 The present invention relates to an apparatus and
`method for use in a computer System in which a plurality of
`application programs are executed, and more particularly to
`an apparatus and method for arbitrating a contention caused
`when the plurality of application programs simultaneously
`attempt to acceSS an acceSS target.
`0.003
`2. Description of the Background Art
`0004.
`In general, an application program executed in a
`computer System controls operations of a plurality of physi
`cal devices, Such as loudspeakers, musical instruments digi
`tal interface (MIDI) devices, and Sound digital signal pro
`cessor (SDSP) devices, thereby controlling the operation of
`the entire computer System So as to perform a desired
`process. In a computer System in which a plurality of
`application programs are executed, however, when two or
`more application programs Simultaneously access one
`physical device, a contention occurs between acceSS
`requests. On the occurrence of the contention between
`access requests, that one physical device does not operate in
`a desired manner.
`0005. Hereinafter, the term “contention” refers to such a
`State as described above in which two or more application
`programs simultaneously attempt to access one physical
`device. When a contention occurs, application programs are
`not able to control the operation of the computer System in
`a desired manner. Accordingly, in the computer System in
`which the plurality of application programs are executed, it
`is necessary to control acceSS requests from application
`programs to a physical device So as not to cause the
`occurrence of the contention. Hereinafter, the term “conten
`tion arbitration” refers to the control of acceSS requests from
`application programs to a physical device. Conventionally, a
`variety of methods for contention arbitration have been
`proposed.
`0006 For example, there is a proposed method for con
`tent arbitration which uses exclusive control identifiers (see,
`for example, Japanese Patent Laid-Open Publication
`No.2002-175287). In this method, the exclusive control
`identifiers are assigned to computing devices for executing
`application programs. When one application program
`accesses a shared physical device, a computing device,
`which executes the application program, collects exclusive
`control identifiers assigned to other computing devices.
`After collecting all the exclusive control identifiers, the
`computing device acquires exclusive control right to acceSS
`the shared physical device.
`0007. There is another proposed method for content
`arbitration which arbitrates an access contention caused
`when a plurality of threads Successively request to acceSS
`data or object stored in a computer System (see, for example,
`Japanese Patent Laid-Open Publication No. 10-187527). In
`this method, the acceSS contention is arbitrated based on a
`first-in, first-out process.
`0008. There is still another proposed method for content
`arbitration which uses a control device dedicated to conten
`
`tion arbitration in a computer System (See, for example,
`Japanese Patent Laid-Open Publication No. 2000-231458).
`In this method, the control device conducts the contention
`arbitration based on priorities assigned to access requests.
`0009. There is still another proposed method for content
`arbitration in which when a plurality of control commands
`are given to a device to be controlled, the device Selects any
`one of the control commands based on a prescribed condi
`tion to arbitrate an access contention (see, for example,
`Japanese Patent Laid-Open Publication No. 2001-346276).
`0010. In the above-described conventional methods for
`contention arbitration, the contention arbitration is con
`ducted for each physical device actually present in the
`computer System. Accordingly, in the case where the con
`ventional methods are used for arbitrating an acceSS con
`tention, for example, in a physical device which can be
`Simultaneously accessed by a plurality of application pro
`grams under a specific condition, or in a physical device
`which allows Simultaneous accesses from a prescribed num
`ber of application programs, the advantages of Such physical
`devices are not fully utilized.
`0011
`Further, in the case where the above-described
`conventional methods are used for arbitrating an access
`contention in a physical device, Such as a loudspeaker,
`which is connected to another physical device and does not
`have its own I/O port, when Such a physical device is shared
`between a plurality of physical devices, an application
`program refers to a State transition table to determine not to
`access the physical device accessed by another application
`program, thereby avoiding the access contention. As a result,
`the contention arbitration depends on how the application
`program operates or how the physical devices are connected
`to each other. Further, an increase of the number of physical
`devices necessitates each application program to update the
`State transition table, making it difficult to conduct the
`contention arbitration.
`0012. As described above, the conventional methods for
`contention arbitration cannot fully utilize the advantages of
`physical devices, and cannot be flexibly adapted to a change
`of the physical devices.
`
`SUMMARY OF THE INVENTION
`0013 Therefore, an object of the present invention is to
`provide a contention arbitration apparatus and method which
`can fully utilize the advantages of physical devices and can
`be flexibly adapted to a change of the physical devices.
`0014. The present invention has the following features to
`attain the object mentioned above.
`0015. A first aspect of the present invention is directed to
`a contention arbitration apparatus for arbitrating an access
`contention caused when a plurality of application programs
`Simultaneously attempt to access at least one physical
`device. The contention arbitration apparatus includes: a
`resource information Storing Section for Storing resource
`information which indicates a correspondence between at
`least one resource, which defines functions of Said at least
`one physical device, and at least one application program,
`which is allowed to use functions associated with Said at
`least one resource; a device information Storing Section for
`Storing device information which indicates a correspon
`dence between a logic device, which defines functions
`
`15
`
`
`
`US 2004/0098526 A1
`
`May 20, 2004
`
`Specified by Said at least one application program which
`attempts to access Said at least one physical device, and Said
`at least one resource which defines functions required for
`implementing functions defined by the logic device; a used
`resource recognizing Section for recognizing a resource
`asSociated with the logic device Specified by Said at least one
`application program by reference to the device information;
`a resource acceSS determining Section for determining by
`reference to the resource information which application
`program is allowed to access the resource recognized by the
`used resource recognizing Section; and a device acceSS
`determining Section for determining, based on a determina
`tion result provided by the resource access determining
`Section, whether the application program which has speci
`fied the logic device is able to acceSS Said at least one
`physical device which implements the functions defined by
`the logic device.
`0016 Preferably, the resource information may contain
`multiple access information which indicates whether to
`allow Simultaneous accesses from a plurality of application
`programs, and when the Simultaneous accesses from the
`plurality of application programs are allowed, the resource
`access determining Section may allow the plurality of appli
`cation programs to access the resource based on the multiple
`access information.
`0.017. In this case, the resource access determining sec
`tion may allow the plurality of application programs to
`access the resource only when a prescribed condition is
`Satisfied.
`0.018
`For example, the prescribed condition may be that
`the plurality of application programs use the same Scheme to
`implement a function provided by the resource.
`0.019
`Preferably, the contention arbitration apparatus
`may further include an executing Section for executing a
`device driver for controlling Said at least one physical device
`when the device access determining Section determines that
`Said at least one application program which has Specified the
`logic device is allowed to access Said at least one physical
`device.
`0020 For example, the executing section may send an
`error message to Said at least one application program
`having Specified the logic device when the access determin
`ing Section determines that Said at least one application is not
`allowed to access Said at least one physical device.
`0021
`Preferably, the resource access determining section
`may determine which application program is allowed to
`access Said at least one physical device based on priorities of
`the plurality of application programs.
`0022. The contention arbitration apparatus may further
`include an application information Storing Section for Storing
`information about the priorities of the plurality of applica
`tion programs.
`0023 The resource information may contain additional
`information which indicates whether to grant an access right
`to an application program having provided an access indi
`cation first or last, and when the plurality of application
`programs have the same priorities, the resource acceSS
`determining Section may determine which one of the appli
`cation programs is to be granted the access right based on the
`additional information.
`
`0024 Preferably, the contention arbitration apparatus
`may further include: an application information Storing
`Section for Storing, as application information, a correspon
`dence between a determination result obtained by the device
`acceSS determining Section and the plurality of application
`programs, and an executing Section for executing a device
`driver for controlling said at least one physical device. When
`an acceSS Start indication is provided by an application
`program to Specify the logic device, the device acceSS
`determining Section may determine whether the application
`program is able to acceSS Said at least one physical device
`and may store a determination result into the application
`information Storing Section. When an access indication is
`provided after the access Start indication, the executing
`Section may refer to the application information Stored in the
`application information Storing Section to determine whether
`the application program is able to acceSS Said at least one
`physical device.
`0025 For example, when an access indication is provided
`by an application program which is not able to access Said
`at least one physical device, the executing Section may send
`an error message to the application program.
`0026 Further, when an access indication is provided by
`an application program, which is not allowed to acceSS Said
`at least one physical device Since access to Said at least one
`physical device is granted to another application program,
`the executing Section may send an error message to the
`application program.
`0027 Preferably, upon receipt of an access termination
`indication from Said at least one application program, the
`resource acceSS determining Section may grant an access
`right to another application program which attempts to use
`the functions associated with the resource, and may update
`the resource information Such that a result of the grant of the
`access right is reflected in the resource information. The
`device access determining Section may determine whether
`Said another application program is able to access said at
`least one physical device based on the resource information
`updated by the resource access determining Section.
`0028. Further, the contention arbitration apparatus may
`further include: an application information Storing Section
`for Storing, as application information, a correspondence
`between a determination result obtained by the device acceSS
`determining Section and the plurality of application pro
`grams, and an executing Section for updating the application
`information based on the determination result obtained by
`the device acceSS determining Section.
`0029. Alternatively, the contention arbitration apparatus
`may further include an executing Section for changing a
`Setting of a device driver when the device access determin
`ing Section determines that Said another application program
`is able to access Said at least one physical device, the Setting
`being changed Such that Said another application program is
`allowed to access the physical device.
`0030 Preferably, when only said at least one application
`program, which specifies the logic device, is allowed to use
`the functions associated with all the resources associated
`with the logic device, the device access determining Section
`may determine that Said at least one application program is
`allowed to use Said at least one physical device.
`0031. Alternatively, when only said at least one applica
`tion program, which specifies the logic device, is associated
`
`16
`
`
`
`US 2004/0098526 A1
`
`May 20, 2004
`
`with a part of the resources associated with the logic device,
`the device acceSS determining Section may determine that
`Said at least one application program is allowed to use
`functions defined by the part of the resources when acceSS
`ing Said at least one physical device.
`0032. Furthermore, the contention arbitration apparatus
`may further include an application I/F Section for accepting
`Specification of the logic device from Said at least one
`application program.
`0.033
`For example, the resource information may contain
`additional information which indicates for each resource
`whether to grant an access right to an application program
`having provided an access indication first or last, and the
`resource acceSS determining Section may determine which
`application program is granted the access right based on the
`additional information.
`0034. A second aspect of the present invention is directed
`to a contention arbitration program for causing a computing
`apparatus to arbitrate an acceSS contention caused when a
`plurality of application programs simultaneously attempt to
`access at least one physical device, the computing apparatus
`having Stored therein resource information which indicates
`a correspondence between at least one resource, which
`defines functions of Said at least one physical device, and at
`least one application program, which is allowed to use
`functions associated with Said at least one resource, and also
`having Stored therein device information which indicates a
`correspondence between a logic device, which defines func
`tions specified by said at least one application program
`which attempts to access Said at least one physical device,
`and Said at least one resource which defines functions
`required for implementing functions defined by the logic
`device. The contention arbitration program causes the com
`puting apparatus to perform a contention arbitration method
`comprising the Steps of recognizing a resource associated
`with the logic device Specified by Said at least one applica
`tion program by reference to the device information; deter
`mining by reference to the resource information which
`application program is allowed to access the recognized
`resource; and determining, based on a determination result
`obtained by the step of determining by reference to the
`resource information, whether the application program
`which has specified the logic device is able to access Said at
`least one physical device which implements the functions
`defined by the logic device.
`0.035 A third aspect of the present invention is directed to
`a contention arbitration method for causing a computing
`apparatus to arbitrate an acceSS contention caused when a
`plurality of application programs simultaneously attempt to
`access at least one physical device, the computing apparatus
`having Stored therein resource information which indicates
`a correspondence between at least one resource, which
`defines functions of Said at least one physical device, and at
`least one application program, which is allowed to use
`functions associated with Said at least one resource, and also
`having Stored therein device information which indicates a
`correspondence between a logic device, which defines func
`tions Specified by Said at least one application program
`which attempts to access Said at least one physical device,
`and Said at least one resource which defines functions
`required for implementing functions defined by the logic
`device. The contention arbitration method include the Steps
`
`of recognizing a resource associated with the logic device
`Specified by Said at least one application program by refer
`ence to the device information; determining by reference to
`the resource information which application program is
`allowed to access the recognized resource; and determining,
`based on a determination result obtained by the Step of
`determining by reference to the resource information,
`whether the application program which has specified the
`logic device is able to access Said at least one physical
`device which implements the functions defined by the logic
`device.
`0036) The contention arbitration apparatus according to
`the first aspect manages logic devices Specified by applica
`tion programs, physical devices actually present in a System,
`resources for associating the logic devices with the physical
`devices, thereby managing functions of the physical devices
`and functions desired by application programs, and the
`contention apparatus according to the first aspect uses a
`method of arbitrating contention for acceSS from the appli
`cation programs to the physical devices for each resource.
`Thus, it is possible to provide a contention arbitration
`apparatus and method which can be flexibly adapted to a
`change of the physical devices only by changing the
`resource and device information Stored in the contention
`arbitration apparatus. Further, the contention arbitration
`apparatus according to the first embodiment conducts the
`contention arbitration for each resource associated with the
`functions of the physical devices. Thus, it is possible to
`provide a contention arbitration apparatus and method which
`is capable of fully utilizing the advantages of the physical
`devices even if the physical devices have a variety of
`characteristics.
`0037. Further, in the case of granting simultaneous mul
`tiple accesses within a prescribed limit, or in the case of
`granting Simultaneous multiple accesses when a prescribed
`condition is Satisfied, the contention arbitration apparatus
`according to the first aspect is able to grant a plurality of
`application programs an access right to Such a device. In this
`manner, the contention arbitration apparatus according to the
`first aspect is able to conduct contention arbitration So as to
`fully utilize the advantages of the physical devices.
`0038 Furthermore, the contention arbitration apparatus
`according to the first aspect is able to arbitrate contention of
`access to a physical device connected to other physical
`devices which does not have its own I/O port and is shared
`between a plurality of physical devices.
`0039. Further still, the contention apparatus according to
`the first aspect has a mechanism in which when an appli
`cation program provides an access indication, if acceSS is
`allowed, a device driver is executed, and if acceSS is not
`allowed, an error message is returned to the application
`program. Accordingly, the application program is only
`required to handle errors caused when providing the access
`indication. Such a mechanism reduces application program
`developerS burden in development of products.
`0040. Further still, the contention apparatus according to
`the first aspect conducts contention arbitration based on
`priorities assigned to application programs. In particular,
`when accessing a physical device which grants simultaneous
`multiple accesses, the application programs are allowed to
`the physical device in the decreasing order of priority. Thus,
`it is possible to realize complicated exclusive control based
`on the priorities.
`
`17
`
`
`
`US 2004/0098526 A1
`
`May 20, 2004
`
`Further still, whether the application programs are
`0041
`allowed to access the physical device is registered in the
`application information, and therefore it is not necessary to
`determine whether acceSS is allowed each time an acceSS
`indication is provided, leading to an increase in processing
`Speed.
`Further still, in the case where an access right to a
`0.042
`physical device owned by an application program is taken
`by another application program having provided an acceSS
`indication, if access to the physical device becomes avail
`able before the application program having previously
`owned the access right provides an acceSS indication, no
`Special proceSS is required for allowing the application
`program to access the physical device without being notified
`that the access to the physical device has been temporarily
`unavailable.
`0.043
`Further still, in the case of using an application
`program which implements a desired function by Simulta
`neously controlling a plurality of physical devices, it is
`necessary for the application program to be allowed to
`access to the plurality of physical devices in order to
`implement the desired function. AS in the case of the
`contention arbitration apparatus according to the first aspect,
`if access rights are managed for each resource, it is possible
`to execute device drivers required for accessing all the
`plurality of physical devices, thereby implementing the
`desired function. Moreover, if even one physical device is
`unable to be accessed, the contention arbitration apparatus
`according to the present aspect notifies the application
`program of an error.
`0044) Further still, in the case where a part of desired
`functions can be implemented even if access to all the
`physical devices is not allowed, the contention arbitration
`apparatus according to the first embodiment is able to
`execute a device driver So as to allow the application
`program to partially implement the desired functions.
`004.5 These and other objects, features, aspects and
`advantages of the present invention will become more
`apparent from the following detailed description of the
`present invention when taken in conjunction with the
`accompanying drawings.
`BRIEF DESCRIPTION OF THE DRAWINGS
`0.046
`FIG. 1 is a block diagram illustrating the entire
`Structure of a computer System including a contention arbi
`tration apparatus according to an embodiment of the present
`invention;
`0047 FIG. 2 is a schematic diagram illustrating an
`exemplary correspondence among application programs,
`logic devices, resources, and physical devices,
`0.048
`FIG. 3 is another schematic diagram illustrating an
`exemplary correspondence among application programs,
`logic devices, resources, and physical devices,
`0049 FIG. 4 is still another schematic diagram illustrat
`ing an exemplary correspondence among application pro
`grams, logic devices, resources, and physical devices,
`0050 FIG. 5 is a block diagram illustrating the func
`tional configuration of a contention arbitration apparatus 1;
`0051
`FIG. 6 is an exemplary table showing application
`information Stored in an application information Storing
`Section 12;
`
`0.052 FIG. 7 is an exemplary table showing device
`information;
`0053 FIG. 8 is an exemplary table showing resource
`information;
`0054 FIG. 9 is a flowchart illustrating the operation of
`the contention arbitration apparatus 1 when an access Start
`indicatio