US20080052397A1 - Future locking of resources - Google Patents
Future locking of resources Download PDFInfo
- Publication number
- US20080052397A1 US20080052397A1 US11/717,548 US71754807A US2008052397A1 US 20080052397 A1 US20080052397 A1 US 20080052397A1 US 71754807 A US71754807 A US 71754807A US 2008052397 A1 US2008052397 A1 US 2008052397A1
- Authority
- US
- United States
- Prior art keywords
- resource
- client
- demand request
- requirement
- processor
- 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.)
- Abandoned
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
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/781—Centralised allocation of resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/808—User-type aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
Definitions
- the technical field relates to resource allocation, and in particular, to allocating resources based on resource requirements determined from a demand request.
- a system for allocating resources to demand requests includes a resource requirement processor, which may identify a set of resource requirements associated with a demand request.
- the system also includes a resource selector.
- the resource selector may select a resource that satisfies at least one of the resource requirements from the set of resource requirements identified by the resource requirement processor.
- the system further includes a communication processor that is capable of receiving a response from a client indicating whether a client can satisfy a locking prerequisite associated with the selected resource.
- the system additionally includes a resource allocation processor that allocates the selected resource to the demand request based on the response received by the communication processor.
- FIG. 1 is a block diagram of an example of a system for allocating resources to a demand request.
- FIG. 2 is a flowchart of an example for allocating resources to a demand request.
- FIG. 3 is a flowchart of an example of selecting resources that satisfy the demand request received from FIG. 2 .
- FIG. 4A is a flowchart of an example of allocating currently available resources to the demand request received from FIG. 2 .
- FIG. 4B is a flowchart of an alternative example of allocating currently available resources to the demand request received from FIG. 2 .
- FIG. 4C is a flowchart of an example of allocating future resources to the demand request received from FIG. 2 .
- FIG. 4D is a flowchart of an alternative example of allocating future resources to the demand request received from FIG. 2 .
- a system for assigning resources to demand requests 102 may include a communication interface 112 coupled with a communication processor 114 .
- the system 102 may also include a resource requirement processor 116 and a resource selector 118 coupled with the communication processor 114 .
- a demand request/resource allocation database 122 and a resource allocation processor 124 may be coupled with the resource selector 118 .
- a resource database 120 is also coupled with the resource selector 118 .
- the system 102 includes an input interface 126 and an output interface 128 coupled with the communication processor 114 .
- An input device 130 is coupled with the input interface 126 and an output device 132 is coupled with the output interface 128 .
- clients 104 / 106 / 108 send demand requests to the system 102 using a communication link 110 .
- the communication link 110 may be a wired or wireless link, such as a packet-network, a circuit-switched network, or a combination thereof.
- Clients 104 / 106 / 108 may communicate directly with the system 102 , such as using Ethernet, or indirectly, such as using a modem to communicate with an Internet service provider (ISP), which then communicates with the system 102 .
- ISP Internet service provider
- the system 102 may reside on any one of clients 104 / 106 / 108 .
- the system 102 may also reside on all three of the clients 104 / 106 / 108 .
- a client 104 communicates with the system for assigning resources to demand requests 102 using a communication interface 112 .
- the communication interface 112 may be a serial or parallel interface.
- the communication interface 112 may also be a Universal Serial Bus (USB) interface.
- the communication interface 112 is an Ethernet interface.
- the communication interface 112 is an IEEE 1394 (FireWire) interface.
- the communication interface 112 is a SCSI interface.
- the communication interface 112 may also be an IDE interface.
- the communication interface 112 is coupled with a communication processor 114 .
- the communication interface 112 may be coupled directly or indirectly with the communication processor 114 .
- the communication interface 112 may be directly coupled with the communication processor 114 , such that there are no intermediate components between the communication interface 112 and the communication processor 114 . It is also possible that the communication interface 112 is coupled indirectly with the communication processor 114 , such that the communication interface 112 communicates with the communication processor 114 through other components or systems.
- the communication processor 114 of the system 102 may be configured to process demand requests received from the client 104 using communication interface 112 .
- the communication processor 114 is a hardware-implemented processor, such as a processor implemented as a complex instruction set computer (CISC), as a processor implemented as a reduced instruction set computer (RISC), or as a combination thereof.
- the communication processor 114 is a software-implemented processor written using a computer programming language such as C, Java, ASP.NET, in another computer programming language, or as a combination thereof.
- the communication processor 114 may be configured to facilitate communication between the components of the system 102 , and between the components of the system 102 and the clients 104 / 106 / 108 in communication with the system 102 .
- the communication processor 114 may first process the demand request.
- the communication processor 114 may transmit the demand request to the resource requirement processor 116 .
- the resource requirement processor 116 is a hardware-implemented processor, such as a processor implemented as a complex instruction set computer (CISC), as a processor implemented as a reduced instruction set computer (RISC), or as a combination thereof.
- the communication processor 114 is a software-implemented processor written using a computer programming language such as C, Java, ASP.NET, in another computer programming language, or as a combination thereof.
- the resource requirement processor 116 may be configured to determine the resource requirements associated with the demand request. In one embodiment, the resource requirement processor 116 determines that one of the resource requirements is a technical skill requirement. For example, the resource requirement processor 116 may determine that a particular skill, such as being able to program in a programming language or being able to perform a complex job is required. In another embodiment, the resource requirement processor 116 determines that a resource requirement of the demand request is a travel availability requirement. For example, the resource requirement processor 116 may determine that being able to travel to another country is a requirement. The resource requirement processor 116 could also determine that being able to travel during a set period of time is required. In yet another embodiment, the resource requirement processor 116 determines that a resource requirement is a time availability requirement. For example, the resource requirement processor 116 may determine that a resource be available for specific set of time or duration, such as a period of days, weeks, months, or combination thereof. Other measurements of time are also possible.
- the resource requirement processor 116 may then communicate with the resource selector 118 using the communication processor 114 to select resources that satisfy the requirements determined by the resource requirement processor 116 .
- the resource selector 118 may be software stored in computer-readable memory on the system 102 and coupled with the communication processor 114 .
- the resource selector 118 may be written in a computer programming language, such as C, Java, or other programming language, and residing on a storage device, such as a hard drive, tape drive, or other storage device, and coupled with the communication processor 114 .
- the resource selector 118 may be implemented in hardware and coupled with the communication processor 114 .
- the resource selector 118 may be a processor implemented as a complex instruction set computer (CISC) or implemented as a reduced instruction set computer (RISC) to select the resources that satisfy the resource requirements of the demand request.
- CISC complex instruction set computer
- RISC reduced instruction set computer
- the resource selector 118 is coupled with a resource database 120 .
- the resource database may be a software-implemented database that stores information associated with each of the resources available to the system 102 .
- the resource database 120 may reside on the same system as the resource selector 118 , or the resource database 120 may reside on another system coupled to the resource selector 102 .
- the resources available to the system 102 may be human resources, such as workers, staff, or other employed persons, and the resource database 120 may store information associated with each of the employed persons.
- the resources available to the system 102 may be computer resources, such as software, hardware, or combinations thereof.
- the resources available to the system 102 may be general resources, including persons, places, or tools, that were previously catalogued and had information associated with them stored in the resource database 120 .
- the information associated with the resources and stored by the resource database 120 may be personal information.
- the resource database 120 may store information about the particular skill sets of a person, such as languages spoken, programming languages known, educational level, or other skill-related information.
- the resource database 120 may store travel-related information about the resources.
- travel-related information may include whether resources, such as employees, have passports or visas, have traveled outside a particular country or region, or are available to travel. Other travel-related information is also possible.
- the resource database 120 may store electrical information about the resources, if the resources satisfy electrical requirements.
- the resources may be generators, and the resource database 120 may store information about how much output the generators produce.
- the resource database 120 may store software-related information about the resources, if the resources satisfy software related requirements.
- client 104 may need software that meets a particular need, such as a program that can act as a word processor.
- Other software-related information may include, but is not limited to, running a particular operating system, whether the resource can perform certain tasks, or whether the resource can behave in a desired fashion.
- the resource database 120 may also store information representing a “locking prerequisite.”
- a locking prerequisite may be a prerequisite that a client 104 has to satisfy before a resource will be hard-locked to a demand request.
- the locking prerequisite may be a financial prerequisite.
- the financial prerequisite may require that the client 104 pay a certain amount of money before the resource is allocated to the demand request of the client 104 .
- the locking prerequisite may be an availability prerequisite.
- the availability prerequisite may require that the client 104 make available to the resource a desired thing, such as a visa, a particular piece of hardware, or a particular location.
- the availability prerequisite could also be a temporal prerequisite, such as that the client 104 may only reserve the resource for the demand request for a particular amount of time.
- the resource will be allocated to the demand request of the client 104 as a hard-locked allocation.
- a resource that is hard-locked to a demand request will not be assignable to a future demand request even if the resource is capable of satisfying the future demand request.
- the resource may be assigned to the demand request of the client 104 as a soft-lock allocation. If a resource is assigned to a client 104 as a soft-lock allocation, the resource may be re-assignable to another demand request of another client 106 if the other client 106 is able to satisfy the locking prerequisite of the resource.
- the resource selector 118 After the resource selector 118 has received a set of resource requirements from the resource requirement processor 116 , the resource selector 118 then queries the resource database 120 . In one embodiment, the resource selector 118 queries the resource database 120 to receive a set of all available resources to the system 102 . In another embodiment, the resource selector 118 queries the resource database 120 for a set of all resources accessible by the system 102 , whether the resources are available or not. Availability may be determined based on whether the resource was previously allocated to another demand request or client, or availability may be based on whether the system 102 has access to the resource. For example, the resource selector 118 may query the demand request/resource allocation database 122 to determine which resources are currently allocated from the resources of the resource database 120 .
- the resource selector 118 selects the resources that satisfy the requirements determined by the resource requirement processor 116 .
- the resource selector 118 may filter the resources of the resource set sent by the resource database 120 based on the requirements determined by the resource requirement processor 116 .
- a requirement of the demand request might be that the resource be available to travel for a period of three weeks, in which case, the resource selector 118 would choose a resource that is available to travel for those three weeks.
- the requirement of the demand request might be that a resource have a certain programming skill level, in which case the resource selector 118 would then choose a resource that satisfies the programming skill.
- the resource selector 118 would then select the resource or resources that satisfy each of the requirements identified by the resource requirement processor 116 .
- the resource selector 118 may also select multiple resources that satisfy the same resource requirement of the demand request.
- the resource selector 118 may then communicate with the resource allocation processor 124 to allocate the resources to a client 104 .
- the resource allocation processor is a processor implemented as a complex instruction set computer (CISC).
- the resource allocation processor is a processor implemented as a reduced instruction set computer (RISC).
- CISC complex instruction set computer
- RISC reduced instruction set computer
- the resource allocation processor 124 is implemented using a computer language, such as C, Java, or other programming language, or combination thereof.
- the resource allocation processor 124 may reside on the same system as the resource selector 118 , or the resource allocation processor 124 may reside on another system.
- the resource allocation processor 124 may query the demand request/resource allocation database 122 to determine which resources are currently allocated from the resources of the resource set sent by the resource selector 118 . In one embodiment, the resource allocations processor 124 may query the client 104 via the communication processor 114 to choose a resource for allocation. In another embodiment, the resource allocation processor 124 may choose a resource automatically for allocation. The resource allocation processor 124 may choose a resource that is not currently allocated from the resource set sent by the resource selector 118 .
- the resource allocation processor 124 may communicate with the client 104 using the communication processor 114 to determine whether the client 104 can satisfy the locking prerequisite of the resource selected by the resource allocation processor 124 . Once the resource allocation processor 124 has determined whether the client 104 can satisfy the locking prerequisite of the resource, the resource allocation processor 124 updates the demand request/resource allocation database 122 accordingly. In one embodiment, the resource allocation processor 124 may update or provide a locking identifier that identifies whether the resource allocated by the resource allocation processor 124 is allocated to the demand request as a soft-locked allocation or as a hard-locked allocation. The resource allocation processor 124 may also communicate with the resource database 120 or the demand request/resource allocation database 122 to update and/or modify either database.
- resource allocation processor 124 may choose a resource that is currently allocated to another demand request.
- the system 102 may have received a demand request from a client 106 , and the resource chosen by the allocation processor 124 that satisfies the requirements of the demand request received from the client 106 .
- the resource chosen by the resource allocation processor 124 may be currently allocated to the client 104 . If the resource chosen by the resource allocation processor 124 satisfies the requirements of the demand request sent by the client 106 , but the resource is currently allocated to the client 104 , the system 102 may query the client 104 to satisfy the locking prerequisite of the resource soft-locked to the client 104 . If the resource is soft-locked to the client 104 , and the client 104 is unable to satisfy the locking prerequisite of the resource after being queried by the system 102 , then the system 102 may query the other client 106 to satisfy the locking prerequisite.
- the input interface 126 may be an audio interface, such as a microphone input, a tactile input interface, such as USB, an AT interface, a PS/2 interface, or a wireless interface, such as infrared, Bluetooth, are other radio transmission interface. Other input interfaces may also be possible.
- the output interface 128 may be a visual output interface, such as a DVI interface, a VGA interface, or other graphical interface.
- the output interface 128 may be an audio output interface, such as a stereo output interface or other audio output interface. Coupled to the input interface 126 is an input device 130 .
- the input device 130 may be tactile input device, such as a keyboard, mouse, or other tactile input device, or the input device 130 may be an audio input device, such as a microphone, headset, or other audio input device.
- the output device 132 may be a visual output device, such as a CRT monitor, LCD monitor, or other visual output device.
- the output device 132 may also be an audio output device, such as stereo speakers or other audio output device.
- a user may use the input device 130 to communicate with the resource requirement processor 116 , the resource selector 118 , or the resource allocation processor 124 .
- a user may also use the input device 130 to communicate with the demand request/resource allocation database 122 or the resource database 120 .
- a user may manually modify the entries of the demand request/resource allocation database 122 or the entries of the resource database 120 . Modification by a user may include creating, deleting, editing, or other modifications.
- the output device 132 may provide feedback to the user for commands the user provides to the system 102 .
- the output device 132 may also provide feedback as to the results of allocating a resource to a demand request.
- the output device 132 may provide feedback as to a successful allocation.
- the output device 132 could also provide feedback as to an unsuccessful allocation. Other types of feedback may also be possible.
- FIG. 2 is a flowchart of an example for allocating resources to demand requests.
- a system 102 receives a demand for resources (Act 202 ).
- the demand for resources may be received as a demand request from a client 104 .
- the system 102 selects the resources that satisfy the demand request (Act 204 ).
- the system 102 then transmits results of allocating the selected resources (Act 206 ).
- FIG. 3 is a flowchart of an example of selecting resources to satisfy the resource requirements of the demand request.
- the system 102 identifies the resource requirements of the demand request (Act 302 ).
- the system 102 may use the resource requirement processor 116 to identify the resource requirements of the demand request.
- the resource requirement processor 116 may communicate with the resource selector 118 via the communication processor 114 to select the resources that satisfy the resource requirements.
- the resource selector 118 communicates with the resource database 120 to receive a set of all available resources (Act 304 ).
- the resource selector 118 may then filter the resource set received from the resource database 120 for those resources that satisfy the resource requirements of the demand request (Act 306 ).
- the resource selector 118 determines whether the filtering of the resource set was successful (Act 308 ). For example, the resource selector 118 may determine whether any of the resources of the resource database 120 are able to satisfy the resource requirements of the demand request. In another embodiment, the resource selector 118 may determine whether a group of resources are able to satisfy the resource requirements of the demand request. If the resource selector 118 is unable to choose a resource or a group of resources that satisfy the resource requirements of the demand request, the resource selector 118 may employ branching logic to produce an error. For example, the resource selector 118 may communicate with the communication processor 114 to output a message indicating that there was an unsuccessful selection of resources (Act 310 ).
- the error message indicating an unsuccessful selection may be sent to the output device 132 .
- the error message indicating an unsuccessful selection may also be sent to the client 104 of the demand request via the communication processor 114 .
- Other actions other than sending an error message based on an unsuccessful selection may also be possible.
- the resource selector 118 may determine that a resource or group of resources satisfies the resource requirements of the demand request. If the resource selector 118 makes this determination, the resource selector 118 then communicates with the resource allocation processor 114 to allocate the resource or resources that satisfy the resource requirements of the demand request (Act 312 ). The resource allocation processor 124 then proceeds to allocate the resource or resources selected by the resource selector 118 . The resource allocation processor 124 may determine whether there was a successful allocation of resources (Act 314 ). If the resource allocation processor 124 determines that there was an unsuccessful allocation, the resource allocation processor 124 may send an error message to the communication processor 114 . The communication processor 114 may send an error message indicating an unsuccessful allocation to the client 104 via the communication interface 112 . The communication processor 114 may also send an error message indicating an unsuccessful allocation to the output device 132 via the output interface 128 .
- the resource allocation processor 124 could also send an output indicating a successful allocation of resources that satisfy the resource requirements of the demand request (Act 316 ).
- the resource allocation processor 124 could send a message indicating a successful allocation to the communication processor 114 .
- the communication processor 114 could then send a success message to the client 104 via the communication interface 112 .
- the communication processor 114 could also send a success message to the output device 132 via the output interface 128 .
- the system 102 could then transmit the result of allocating the resources by the resource allocation processor 124 (Act 206 ).
- FIG. 4A is a flowchart of an example of allocating currently available resources to the demand request.
- the resource allocation processor 124 receives a filtered set of resources from the resource selector 118 (Act 402 ). The resource allocation processor 124 then queries the demand request/resource allocation database 122 to determine if there are current resources available to satisfy the resource requirements of the demand request (Act 404 ). If the resource allocation processor 124 determines that there are no current resources available, the resource allocation processor 124 may then query the demand request/resource allocation database to determine whether a future resource satisfies the resource requirements may become available. However, if the resource allocation processor 124 determines that a current resource is able to satisfy the resource requirements of the demand request, the resource allocation processor 124 selects a current resource satisfying the resource requirements of the demand request (Act 406 ).
- resource allocation processor 124 determines whether the selected current resource is hard-locked (Act 408 ). For example, the resource allocation processor 124 may query the demand request/resource allocation database 122 to make this determination, such as by examining the locking identifier associated with the selected resource. The resource allocation processor 124 could also query the resource database 120 to make this determination. If the resource allocation processor 124 determines that the selected current resource is hard-locked, the resource allocation processor 124 may select another resource. However, if the resource allocation processor 124 determines that the selected current resource is not hard-locked, then the resource allocation processor 124 may determine whether the selected current resource is soft-locked (Act 410 ).
- the resource allocation processor 124 may determine that the selected current resource is soft-locked. If the resource allocation processor 124 makes this determination, the resource allocation processor 124 may query the previously allocated demand request to satisfy the locking prerequisite of the selected current resource (Act 412 ). For example, the resource allocation processor 124 may communicate with the client of the previously allocated demand request via the communication processor 114 and communication link 110 . In an alternative embodiment, the client may provide information that allows the resource allocation processor 124 to automatically determine whether the client of the previously allocated demand request can satisfy the locking prerequisite of the selected current resource. If the client of the previously allocated demand request can satisfy the locking prerequisite of the selected current resource, the resource allocation processor 124 may hard-lock the current resource to the previously allocated demand request (Act 414 ). For example, the resource allocation processor 124 may assign a locking identifier that identifies the selected current resource as hard-locked to the previously allocated demand request. The resource allocation processor 124 may then proceed to allocate another current resource (Act 404 ).
- the client of the previous demand request may not be able to satisfy the locking prerequisite of the selected current resource. If the client of the previous demand request is unable to satisfy the locking prerequisite, the resource allocation processor 124 may query the client of the current demand request to satisfy the locking prerequisite (Act 416 ). If the client of the current demand request is unable to satisfy the locking prerequisite of the soft-locked current resource, the resource allocation processor 124 may proceed to allocate another current resource (Act 404 ). If however, the client of the current demand request can satisfy the locking prerequisite of the current resource, the resource allocation processor 124 may proceed to reassign the selected current resource to the client of the current demand request (Act 418 ). For example, the resource allocation processor 124 may remove the soft-locked locking identifier associated with the selected current resource and the previously allocated demand request. The resource allocation processor 124 then hard-locks the selected current resource to the current demand request (Act 420 ), such as by assigning a hard-locked locking identifier to the selected current resource in the demand request/resource allocation database 122 .
- the resource allocation processor 124 may determine that the selected current resource is not soft-locked (Act 410 ). If the resource allocation processor 124 determines that the selected current resource is not soft-locked, the resource allocation processor 124 may query the client of the current demand request to satisfy the locking prerequisite of the selected current resource (Act 422 ). In an alternative embodiment, the resource allocation processor 124 may not query the client of the current demand request, such as where the client has previously provided information as to whether the client can satisfy the locking prerequisite of the resources of the system 102 . If the client of the current demand request is able to satisfy the locking prerequisite of the selected current resource, the resource allocation processor 124 may then hard-lock the selected current resource to the current demand request (Act 420 ). The resource allocation processor 124 then proceeds to determine whether the resource requirements of the demand request have been satisfied (Act 426 ).
- the resource allocation processor 124 may then soft-lock the selected current resource to the current demand request (Act 424 ). For example, the resource allocation processor 124 may assign a soft-lock locking identifier to the current resource and update the demand request/resource allocation database 122 accordingly. After the resource allocation processor 124 has assigned a soft-locked locking identifier to the selected current resource, the resource allocation processor 124 then proceeds to determine whether the resource requirements of the demand request has been satisfied (Act 426 ).
- the resource allocation processor 124 may compare the information associated with the selected current resource stored by the resource database 120 with the resource requirements of the current demand request. If the resource allocation processor 124 determines that not all of the resource requirements of the demand request are satisfied, the resource allocation processor 124 may proceed to allocate another current resource (Act 404 ). It is also possible that the resource allocation processor 124 proceeds to select a later available future resource to satisfy the resource requirements of the current demand request (See FIG. 4C ).
- the resource allocation processor 124 determines that the resource requirements of the current demand request are satisfied, the resource allocation processor 124 then proceeds to generate a resource set of the resources that have satisfied the resource requirements of the demand request (Act 428 ). In another embodiment, the resource allocation processor 124 may allow the client of the current demand request to select specific resources if more than one resource satisfies the resource requirements of the demand request.
- FIG. 4B is a flowchart of an alternative example of allocating a current resource or resources to a current demand request.
- the resource allocation processor 124 may proceed to conflict resolution (Act 430 ) if the client of the current demand request cannot satisfy the locking prerequisite of the selected current resource (Act 416 ).
- the resource allocation processor 124 may take into account the resource requirements of the current demand and the resource requirements of the previous demand. Based on the comparison analysis, the resource allocation processor 124 may determine whether the current resource should be allocated as a soft-locked allocation to the current demand or whether the current resource should be allocated as a soft-locked allocation to the previous demand.
- the resource allocation processor 124 may determine that the current demand request has a higher priority than the previous demand request. In another example, the resource allocation processor 124 may determine that the current demand request has less resource requirements than the previous demand request. Other types of conflict resolutions are also possible.
- the resource allocation processor 124 After performing conflict resolution between the current demand request and the previous demand request, the resource allocation processor 124 then determines whether the conflict resolution was successful (Act 432 ). In one embodiment, the resource allocation processor 124 may send a conflict resolution message to the communications processor 114 . The communication processor 114 may then send this conflict resolution message to the client of the current demand request and/or the client of the previous demand request. The communication processor 114 could also send the conflict resolution message to the output device 132 via the output interface 120 .
- the resource allocation processor 124 may then proceed to select another current resource (Act 404 ). If the resource allocation processor 124 determines that the conflict resolution was successful, such as where the selected current resource should be reallocated to the current demand request as a soft-locked allocation, the resource allocation processor 124 then proceeds to determine whether the resource requirements of the current demand request were satisfied (Act 426 ). If the resource allocation processor 124 determines that the resource requirements of the current demand request are satisfied, the resource allocation processor 124 then proceeds to generate a resource set of resources that satisfy the resource requirements (Act 428 ).
- the resource allocation processor 124 may then proceed to select another current resource (Act 404 ). In one embodiment, if the resource allocation processor 124 determines that there are no current resources available (Act 404 ), the resource allocation processor 124 may then proceed to select future resources that may become available that satisfy the resource requirements of the current demand request.
- FIG. 4C is a flowchart of an example of allocating future resources to a demand request continuing from FIG. 4A , or alternatively, FIG. 4B .
- the resource selector 118 may query the demand request/resource allocation database 122 to select future resources that may become available that satisfy the demand requirements of the received demand request. Based on the future resources selected by the resource selector 118 , the resource allocation processor 124 would then proceed to allocate future resources to the demand request in conjunction with, or alternatively to, allocating current resources to the demand request. As shown in FIG. 4C and with reference to FIG. 1 , the resource allocation processor 124 determines whether there will be future resources available (Act 440 ).
- the resource allocation processor 124 may query the demand request/resource allocation database 122 based on the list of resources communicated by the resource selector 118 to determine whether a future resource may become available at a future time. If the resource allocation processor 124 determines that there are no future resources available (Act 440 ), the resource allocation processor 124 may generate an error indicating that the resource requirements cannot be satisfied (Act 470 ). This error message could be communicated to the client of the current demand request via the communication processor 114 . This error message could also be communicated to the output device 132 via the communication processor 114 .
- the resource allocation processor 124 could determine that a future resource will become available. In this case, the resource allocation processor 124 selects a future resource that satisfies a resource requirement or resource requirements of the demand request (Act 442 ). The resource allocation processor 124 then proceeds to determine whether the selected future resource is hard-locked (Act 444 ). If the resource allocation processor 124 determines that the selected future resource is hard-locked, the resource allocation processor 124 may then proceed to determine whether another future resource is available (Act 440 ).
- the resource allocation processor 124 may determine whether the selected future resource is soft-locked (Act 446 ). The resource allocation processor 124 may determine that the selected future resource is soft-locked. If the resource allocation processor 124 makes this determination, the resource allocation processor 124 may query the previously allocated demand request to satisfy the locking prerequisite of the selected future resource (Act 448 ). If the client of the previous allocated demand request can satisfy the locking prerequisite of the selected future resource, the resource allocation processor 124 may hard-lock the future resource to the previously allocated demand request (Act 450 ). The resource allocation processor 124 may then proceed to allocate another future resource (Act 440 ).
- the client of the previous demand request may not be able to satisfy the locking prerequisite of the selected future resource. If the client of the previous demand request is unable to satisfy the locking prerequisite, the resource allocation processor 124 may query the client of the current demand request to satisfy the locking prerequisite (Act 452 ). If the client of the current demand request is unable to satisfy the locking prerequisite of the soft-locked future resource, the resource allocation processor 124 may then proceed to allocate another future resource (Act 440 ). If however, the client of the current demand request is able to satisfy the locking prerequisite of the future resource, the resource allocation processor 124 may then proceed to reassign the selected future resource to the client of the current demand request (Act 454 ). The resource allocation processor 124 then hard-locks the selected future resource to the current demand request (Act 456 ).
- the resource allocation processor 124 may determine that the selected future resource is not soft-locked (Act 446 ). If the resource allocation processor 124 determines that the selected future resource is not soft-locked, the resource allocation processor 124 may query the client of the current demand request to satisfy the locking prerequisite of the selected future resource (Act 458 ). In an alternative embodiment, the resource allocation processor 124 may not have to query the client of the current demand request, such as where the client has previously provided information as to whether the client can satisfy the locking prerequisite of the resources of the system 102 . If the client of the current demand request is able to satisfy the locking prerequisite of the selected future resource, the resource allocation processor 124 may then hard-lock the selected future resource to the current demand request (Act 456 ). The resource allocation processor 124 then proceeds to determine whether the resource requirements of the demand request have been satisfied (Act 466 ).
- the resource allocation processor 124 may then soft-lock the selected future resource to the current demand request (Act 460 ). The resource allocation processor 124 then proceeds to determine whether the resource requirements of the demand request have been satisfied (Act 466 ).
- the resource allocation processor 124 may compare the information associated with the selected future resource stored by the resource database 120 with the resource requirements of the current demand request. If the resource allocation processor 124 determines that not all of the resource requirements of the demand request are satisfied, the resource allocation processor 124 may proceed to allocate another future resource (Act 440 ).
- the resource allocation processor 124 determines that the resource requirements of the current demand request are satisfied, the resource allocation processor 124 then proceeds to generate a resource set of the resources that satisfy the resource requirements of the demand request (Act 468 ).
- the generated resource set may include future resources that will become available, current resources that are available, or a combination thereof.
- the resource allocation processor 124 may allow the client of the current demand request to select specific resources if more than one resource satisfies the resource requirements of the demand request.
- FIG. 4D is a flowchart of an alternative example of allocating a future resource or resources to a current demand request.
- the resource allocation processor 124 may proceed to conflict resolution (Act 472 ) if the client of the current demand request cannot satisfy the locking prerequisite of the selected future resource (Act 453 ).
- the resource allocation processor 124 may take into account the resource requirements of the current demand and the resource requirements of the previous demand. Based on the comparison analysis, the resource allocation processor 124 may determine whether the future resource should be allocated as a soft-locked allocation to the current demand or whether the future resource should be allocated as a soft-locked allocation to the previous demand.
- the resource allocation processor 124 may determine that the current demand request has a higher priority than the previous demand request. In another example, the resource allocation processor 124 may determine that the current demand request has less resource requirements than the previous demand request. Other types of conflict resolutions are also possible.
- the resource allocation processor 124 After performing conflict resolution between the current demand request and the previous demand request, the resource allocation processor 124 then determines whether the conflict resolution was successful (Act 474 ). In one embodiment, the resource allocation processor 124 may send a conflict resolution message to the communications processor 114 . The communication processor 114 may then send this conflict resolution message to the client of the current demand request and/or the client of the previous demand request. The communication processor 114 could also send the conflict resolution message to the output device 132 via the output interface 120 . If the resource allocation processor 124 determines that the conflict resolution was not successful such that the selected future resource should remain soft-locked to the previous demand request, the resource allocation processor 124 may then proceed to select another future resource (Act 440 ).
- the resource allocation processor 124 determines that the conflict resolution was successful, such as where the selected future resource should be reallocated to the current demand request as a soft-locked allocation, the resource allocation processor 124 then proceeds to determine whether the resource requirements of the current demand request were satisfied (Act 466 ). If the resource allocation processor 124 determines that the resource requirements of the current demand request are satisfied, the resource allocation processor 124 then proceeds to generate a resource set of the resources that satisfied the resource requirements (Act 468 ). However, if the resource allocation processor 124 determines that not all of the resource requirements were satisfied, the resource allocation processor 124 may then proceed to select another future resource (Act 440 ).
Abstract
Description
- This application claims priority under 35 U.S.C. § 119 to Indian Patent Application No. 1334/MUM/1006 filed Aug. 24, 2006, the entire content of which is hereby incorporated by reference.
- The technical field relates to resource allocation, and in particular, to allocating resources based on resource requirements determined from a demand request.
- Business centers have seen explosive growth over the last several years, for example, from having no available resources to tens of thousands of resources. This growth can span across multiple locations, facilities, skills and employment pyramid levels. The pace of growth and its resulting complexity requires planning, effective management of staffing, and knowledgeable utilization of resources. The demand for resources at these business centers is typically lumpy in nature and has extremely short lead times for fulfillment. Currently, there is a problem in managing and effectively using resources in businesses employing complex categorizations of resources.
- A system for allocating resources to demand requests is set forth. The system includes a resource requirement processor, which may identify a set of resource requirements associated with a demand request. The system also includes a resource selector. The resource selector may select a resource that satisfies at least one of the resource requirements from the set of resource requirements identified by the resource requirement processor. The system further includes a communication processor that is capable of receiving a response from a client indicating whether a client can satisfy a locking prerequisite associated with the selected resource. The system additionally includes a resource allocation processor that allocates the selected resource to the demand request based on the response received by the communication processor.
- Other systems, methods, features and advantages of the invention will be, or will become, apparent to one with skill in the art upon examination of the following figures and detailed description. It is intended that all such additional systems, methods, features and advantages be included within this description, be within the scope of the invention, and be protected by the following claims.
- The invention can be better understood with reference to the following drawings and description. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. Moreover, in the figures, like referenced numerals designate corresponding parts throughout the different views.
-
FIG. 1 is a block diagram of an example of a system for allocating resources to a demand request. -
FIG. 2 is a flowchart of an example for allocating resources to a demand request. -
FIG. 3 is a flowchart of an example of selecting resources that satisfy the demand request received fromFIG. 2 . -
FIG. 4A is a flowchart of an example of allocating currently available resources to the demand request received fromFIG. 2 . -
FIG. 4B is a flowchart of an alternative example of allocating currently available resources to the demand request received fromFIG. 2 . -
FIG. 4C is a flowchart of an example of allocating future resources to the demand request received fromFIG. 2 . -
FIG. 4D is a flowchart of an alternative example of allocating future resources to the demand request received fromFIG. 2 . - As shown in
FIG. 1 , a system for assigning resources to demandrequests 102 may include acommunication interface 112 coupled with acommunication processor 114. Thesystem 102 may also include aresource requirement processor 116 and aresource selector 118 coupled with thecommunication processor 114. A demand request/resource allocation database 122 and aresource allocation processor 124 may be coupled with theresource selector 118. Aresource database 120 is also coupled with theresource selector 118. - In one embodiment, the
system 102 includes aninput interface 126 and anoutput interface 128 coupled with thecommunication processor 114. Aninput device 130 is coupled with theinput interface 126 and anoutput device 132 is coupled with theoutput interface 128. - As shown in
FIG. 1 ,clients 104/106/108 send demand requests to thesystem 102 using acommunication link 110. Thecommunication link 110 may be a wired or wireless link, such as a packet-network, a circuit-switched network, or a combination thereof.Clients 104/106/108 may communicate directly with thesystem 102, such as using Ethernet, or indirectly, such as using a modem to communicate with an Internet service provider (ISP), which then communicates with thesystem 102. Thesystem 102 may reside on any one ofclients 104/106/108. Thesystem 102 may also reside on all three of theclients 104/106/108. - A
client 104 communicates with the system for assigning resources to demandrequests 102 using acommunication interface 112. Thecommunication interface 112 may be a serial or parallel interface. Thecommunication interface 112 may also be a Universal Serial Bus (USB) interface. In another embodiment, thecommunication interface 112 is an Ethernet interface. In yet another embodiment, thecommunication interface 112 is an IEEE 1394 (FireWire) interface. In a further embodiment, thecommunication interface 112 is a SCSI interface. Thecommunication interface 112 may also be an IDE interface. - The
communication interface 112 is coupled with acommunication processor 114. Thecommunication interface 112 may be coupled directly or indirectly with thecommunication processor 114. Thecommunication interface 112 may be directly coupled with thecommunication processor 114, such that there are no intermediate components between thecommunication interface 112 and thecommunication processor 114. It is also possible that thecommunication interface 112 is coupled indirectly with thecommunication processor 114, such that thecommunication interface 112 communicates with thecommunication processor 114 through other components or systems. - The
communication processor 114 of thesystem 102 may be configured to process demand requests received from theclient 104 usingcommunication interface 112. In one embodiment thecommunication processor 114 is a hardware-implemented processor, such as a processor implemented as a complex instruction set computer (CISC), as a processor implemented as a reduced instruction set computer (RISC), or as a combination thereof. In another embodiment, thecommunication processor 114 is a software-implemented processor written using a computer programming language such as C, Java, ASP.NET, in another computer programming language, or as a combination thereof. Thecommunication processor 114 may be configured to facilitate communication between the components of thesystem 102, and between the components of thesystem 102 and theclients 104/106/108 in communication with thesystem 102. - When the
system 102 receives a demand request from aclient 104, thecommunication processor 114 may first process the demand request. Thecommunication processor 114 may transmit the demand request to theresource requirement processor 116. In one embodiment, theresource requirement processor 116 is a hardware-implemented processor, such as a processor implemented as a complex instruction set computer (CISC), as a processor implemented as a reduced instruction set computer (RISC), or as a combination thereof. In another embodiment, thecommunication processor 114 is a software-implemented processor written using a computer programming language such as C, Java, ASP.NET, in another computer programming language, or as a combination thereof. - The
resource requirement processor 116 may be configured to determine the resource requirements associated with the demand request. In one embodiment, theresource requirement processor 116 determines that one of the resource requirements is a technical skill requirement. For example, theresource requirement processor 116 may determine that a particular skill, such as being able to program in a programming language or being able to perform a complex job is required. In another embodiment, theresource requirement processor 116 determines that a resource requirement of the demand request is a travel availability requirement. For example, theresource requirement processor 116 may determine that being able to travel to another country is a requirement. Theresource requirement processor 116 could also determine that being able to travel during a set period of time is required. In yet another embodiment, theresource requirement processor 116 determines that a resource requirement is a time availability requirement. For example, theresource requirement processor 116 may determine that a resource be available for specific set of time or duration, such as a period of days, weeks, months, or combination thereof. Other measurements of time are also possible. - After the
resource requirement processor 116 has determined the requirements of the demand request received by thecommunication processor 114, theresource requirement processor 116 may then communicate with theresource selector 118 using thecommunication processor 114 to select resources that satisfy the requirements determined by theresource requirement processor 116. Theresource selector 118 may be software stored in computer-readable memory on thesystem 102 and coupled with thecommunication processor 114. For example, theresource selector 118 may be written in a computer programming language, such as C, Java, or other programming language, and residing on a storage device, such as a hard drive, tape drive, or other storage device, and coupled with thecommunication processor 114. In another embodiment, theresource selector 118 may be implemented in hardware and coupled with thecommunication processor 114. For example, theresource selector 118 may be a processor implemented as a complex instruction set computer (CISC) or implemented as a reduced instruction set computer (RISC) to select the resources that satisfy the resource requirements of the demand request. - A shown in
FIG. 1 , theresource selector 118 is coupled with aresource database 120. In one embodiment, the resource database may be a software-implemented database that stores information associated with each of the resources available to thesystem 102. Theresource database 120 may reside on the same system as theresource selector 118, or theresource database 120 may reside on another system coupled to theresource selector 102. For example the resources available to thesystem 102 may be human resources, such as workers, staff, or other employed persons, and theresource database 120 may store information associated with each of the employed persons. As another example, the resources available to thesystem 102 may be computer resources, such as software, hardware, or combinations thereof. In yet another example, the resources available to thesystem 102 may be general resources, including persons, places, or tools, that were previously catalogued and had information associated with them stored in theresource database 120. - In one embodiment, the information associated with the resources and stored by the
resource database 120 may be personal information. For example, theresource database 120 may store information about the particular skill sets of a person, such as languages spoken, programming languages known, educational level, or other skill-related information. In another embodiment, theresource database 120 may store travel-related information about the resources. For example, travel-related information may include whether resources, such as employees, have passports or visas, have traveled outside a particular country or region, or are available to travel. Other travel-related information is also possible. - In yet another embodiment, the
resource database 120 may store electrical information about the resources, if the resources satisfy electrical requirements. For example, the resources may be generators, and theresource database 120 may store information about how much output the generators produce. As yet another embodiment, theresource database 120 may store software-related information about the resources, if the resources satisfy software related requirements. For example,client 104 may need software that meets a particular need, such as a program that can act as a word processor. Other software-related information may include, but is not limited to, running a particular operating system, whether the resource can perform certain tasks, or whether the resource can behave in a desired fashion. - The
resource database 120 may also store information representing a “locking prerequisite.” A locking prerequisite may be a prerequisite that aclient 104 has to satisfy before a resource will be hard-locked to a demand request. In one embodiment, the locking prerequisite may be a financial prerequisite. For example, the financial prerequisite may require that theclient 104 pay a certain amount of money before the resource is allocated to the demand request of theclient 104. In another embodiment, the locking prerequisite may be an availability prerequisite. For example, the availability prerequisite may require that theclient 104 make available to the resource a desired thing, such as a visa, a particular piece of hardware, or a particular location. The availability prerequisite could also be a temporal prerequisite, such as that theclient 104 may only reserve the resource for the demand request for a particular amount of time. - If the
client 104 is able to satisfy the locking prerequisite, then the resource will be allocated to the demand request of theclient 104 as a hard-locked allocation. A resource that is hard-locked to a demand request will not be assignable to a future demand request even if the resource is capable of satisfying the future demand request. However, if theclient 104 is unable to satisfy the locking prerequisite, the resource may be assigned to the demand request of theclient 104 as a soft-lock allocation. If a resource is assigned to aclient 104 as a soft-lock allocation, the resource may be re-assignable to another demand request of anotherclient 106 if theother client 106 is able to satisfy the locking prerequisite of the resource. - After the
resource selector 118 has received a set of resource requirements from theresource requirement processor 116, theresource selector 118 then queries theresource database 120. In one embodiment, theresource selector 118 queries theresource database 120 to receive a set of all available resources to thesystem 102. In another embodiment, theresource selector 118 queries theresource database 120 for a set of all resources accessible by thesystem 102, whether the resources are available or not. Availability may be determined based on whether the resource was previously allocated to another demand request or client, or availability may be based on whether thesystem 102 has access to the resource. For example, theresource selector 118 may query the demand request/resource allocation database 122 to determine which resources are currently allocated from the resources of theresource database 120. - After the
resource selector 118 has received a set of available resources from theresource database 120, theresource selector 118 then selects the resources that satisfy the requirements determined by theresource requirement processor 116. For example, theresource selector 118 may filter the resources of the resource set sent by theresource database 120 based on the requirements determined by theresource requirement processor 116. In one embodiment, a requirement of the demand request might be that the resource be available to travel for a period of three weeks, in which case, theresource selector 118 would choose a resource that is available to travel for those three weeks. In another embodiment, the requirement of the demand request might be that a resource have a certain programming skill level, in which case theresource selector 118 would then choose a resource that satisfies the programming skill. It is also possible that the demand request has multiple requirements, in which case theresource selector 118 would then select the resource or resources that satisfy each of the requirements identified by theresource requirement processor 116. Theresource selector 118 may also select multiple resources that satisfy the same resource requirement of the demand request. - After the
resource selector 118 has selected the resource or resources that satisfy the requirements identified by theresource requirement processor 116, theresource selector 118 may then communicate with theresource allocation processor 124 to allocate the resources to aclient 104. In one embodiment, the resource allocation processor is a processor implemented as a complex instruction set computer (CISC). In another embodiment, the resource allocation processor is a processor implemented as a reduced instruction set computer (RISC). It is also possible that theresource allocation processor 124 is implemented using a computer language, such as C, Java, or other programming language, or combination thereof. Theresource allocation processor 124 may reside on the same system as theresource selector 118, or theresource allocation processor 124 may reside on another system. - To allocate a resource to a
client 104, theresource allocation processor 124 may query the demand request/resource allocation database 122 to determine which resources are currently allocated from the resources of the resource set sent by theresource selector 118. In one embodiment, theresource allocations processor 124 may query theclient 104 via thecommunication processor 114 to choose a resource for allocation. In another embodiment, theresource allocation processor 124 may choose a resource automatically for allocation. Theresource allocation processor 124 may choose a resource that is not currently allocated from the resource set sent by theresource selector 118. If theresource allocation processor 124 chooses a resource that is not currently allocated from the resource set, theresource allocation processor 124 may communicate with theclient 104 using thecommunication processor 114 to determine whether theclient 104 can satisfy the locking prerequisite of the resource selected by theresource allocation processor 124. Once theresource allocation processor 124 has determined whether theclient 104 can satisfy the locking prerequisite of the resource, theresource allocation processor 124 updates the demand request/resource allocation database 122 accordingly. In one embodiment, theresource allocation processor 124 may update or provide a locking identifier that identifies whether the resource allocated by theresource allocation processor 124 is allocated to the demand request as a soft-locked allocation or as a hard-locked allocation. Theresource allocation processor 124 may also communicate with theresource database 120 or the demand request/resource allocation database 122 to update and/or modify either database. - Alternatively,
resource allocation processor 124 may choose a resource that is currently allocated to another demand request. For example, thesystem 102 may have received a demand request from aclient 106, and the resource chosen by theallocation processor 124 that satisfies the requirements of the demand request received from theclient 106. However, the resource chosen by theresource allocation processor 124 may be currently allocated to theclient 104. If the resource chosen by theresource allocation processor 124 satisfies the requirements of the demand request sent by theclient 106, but the resource is currently allocated to theclient 104, thesystem 102 may query theclient 104 to satisfy the locking prerequisite of the resource soft-locked to theclient 104. If the resource is soft-locked to theclient 104, and theclient 104 is unable to satisfy the locking prerequisite of the resource after being queried by thesystem 102, then thesystem 102 may query theother client 106 to satisfy the locking prerequisite. - Further shown in
FIG. 1 , is aninput interface 126 and anoutput interface 128 coupled with thecommunication processor 114. Theinput interface 126 may be an audio interface, such as a microphone input, a tactile input interface, such as USB, an AT interface, a PS/2 interface, or a wireless interface, such as infrared, Bluetooth, are other radio transmission interface. Other input interfaces may also be possible. Theoutput interface 128 may be a visual output interface, such as a DVI interface, a VGA interface, or other graphical interface. Theoutput interface 128 may be an audio output interface, such as a stereo output interface or other audio output interface. Coupled to theinput interface 126 is aninput device 130. Theinput device 130 may be tactile input device, such as a keyboard, mouse, or other tactile input device, or theinput device 130 may be an audio input device, such as a microphone, headset, or other audio input device. Theoutput device 132 may be a visual output device, such as a CRT monitor, LCD monitor, or other visual output device. Theoutput device 132 may also be an audio output device, such as stereo speakers or other audio output device. - A user may use the
input device 130 to communicate with theresource requirement processor 116, theresource selector 118, or theresource allocation processor 124. A user may also use theinput device 130 to communicate with the demand request/resource allocation database 122 or theresource database 120. For example, a user may manually modify the entries of the demand request/resource allocation database 122 or the entries of theresource database 120. Modification by a user may include creating, deleting, editing, or other modifications. Theoutput device 132 may provide feedback to the user for commands the user provides to thesystem 102. Theoutput device 132 may also provide feedback as to the results of allocating a resource to a demand request. For example, theoutput device 132 may provide feedback as to a successful allocation. Theoutput device 132 could also provide feedback as to an unsuccessful allocation. Other types of feedback may also be possible. -
FIG. 2 is a flowchart of an example for allocating resources to demand requests. As shown inFIG. 2 with reference toFIG. 1 , asystem 102 receives a demand for resources (Act 202). The demand for resources may be received as a demand request from aclient 104. Thesystem 102 then selects the resources that satisfy the demand request (Act 204). Thesystem 102 then transmits results of allocating the selected resources (Act 206). -
FIG. 3 is a flowchart of an example of selecting resources to satisfy the resource requirements of the demand request. As shown inFIG. 3 with reference toFIG. 1 , thesystem 102 identifies the resource requirements of the demand request (Act 302). Thesystem 102 may use theresource requirement processor 116 to identify the resource requirements of the demand request. After theresource requirement processor 116 has determined the resource requirements of the demand request, theresource requirement processor 116 may communicate with theresource selector 118 via thecommunication processor 114 to select the resources that satisfy the resource requirements. In one embodiment, theresource selector 118 communicates with theresource database 120 to receive a set of all available resources (Act 304). Theresource selector 118 may then filter the resource set received from theresource database 120 for those resources that satisfy the resource requirements of the demand request (Act 306). - As shown in
FIG. 3 with reference toFIG. 1 , theresource selector 118 determines whether the filtering of the resource set was successful (Act 308). For example, theresource selector 118 may determine whether any of the resources of theresource database 120 are able to satisfy the resource requirements of the demand request. In another embodiment, theresource selector 118 may determine whether a group of resources are able to satisfy the resource requirements of the demand request. If theresource selector 118 is unable to choose a resource or a group of resources that satisfy the resource requirements of the demand request, theresource selector 118 may employ branching logic to produce an error. For example, theresource selector 118 may communicate with thecommunication processor 114 to output a message indicating that there was an unsuccessful selection of resources (Act 310). The error message indicating an unsuccessful selection may be sent to theoutput device 132. The error message indicating an unsuccessful selection may also be sent to theclient 104 of the demand request via thecommunication processor 114. Other actions other than sending an error message based on an unsuccessful selection may also be possible. - Alternatively, the
resource selector 118 may determine that a resource or group of resources satisfies the resource requirements of the demand request. If theresource selector 118 makes this determination, theresource selector 118 then communicates with theresource allocation processor 114 to allocate the resource or resources that satisfy the resource requirements of the demand request (Act 312). Theresource allocation processor 124 then proceeds to allocate the resource or resources selected by theresource selector 118. Theresource allocation processor 124 may determine whether there was a successful allocation of resources (Act 314). If theresource allocation processor 124 determines that there was an unsuccessful allocation, theresource allocation processor 124 may send an error message to thecommunication processor 114. Thecommunication processor 114 may send an error message indicating an unsuccessful allocation to theclient 104 via thecommunication interface 112. Thecommunication processor 114 may also send an error message indicating an unsuccessful allocation to theoutput device 132 via theoutput interface 128. - However, the
resource allocation processor 124 could also send an output indicating a successful allocation of resources that satisfy the resource requirements of the demand request (Act 316). For example, theresource allocation processor 124 could send a message indicating a successful allocation to thecommunication processor 114. Thecommunication processor 114 could then send a success message to theclient 104 via thecommunication interface 112. Thecommunication processor 114 could also send a success message to theoutput device 132 via theoutput interface 128. Referring back toFIG. 2 , thesystem 102 could then transmit the result of allocating the resources by the resource allocation processor 124 (Act 206). -
FIG. 4A is a flowchart of an example of allocating currently available resources to the demand request. As shown inFIG. 4A with reference toFIG. 1 , theresource allocation processor 124 receives a filtered set of resources from the resource selector 118 (Act 402). Theresource allocation processor 124 then queries the demand request/resource allocation database 122 to determine if there are current resources available to satisfy the resource requirements of the demand request (Act 404). If theresource allocation processor 124 determines that there are no current resources available, theresource allocation processor 124 may then query the demand request/resource allocation database to determine whether a future resource satisfies the resource requirements may become available. However, if theresource allocation processor 124 determines that a current resource is able to satisfy the resource requirements of the demand request, theresource allocation processor 124 selects a current resource satisfying the resource requirements of the demand request (Act 406). - After the
resource allocation processor 124 has selected a current resource,resource allocation processor 124 determines whether the selected current resource is hard-locked (Act 408). For example, theresource allocation processor 124 may query the demand request/resource allocation database 122 to make this determination, such as by examining the locking identifier associated with the selected resource. Theresource allocation processor 124 could also query theresource database 120 to make this determination. If theresource allocation processor 124 determines that the selected current resource is hard-locked, theresource allocation processor 124 may select another resource. However, if theresource allocation processor 124 determines that the selected current resource is not hard-locked, then theresource allocation processor 124 may determine whether the selected current resource is soft-locked (Act 410). - The
resource allocation processor 124 may determine that the selected current resource is soft-locked. If theresource allocation processor 124 makes this determination, theresource allocation processor 124 may query the previously allocated demand request to satisfy the locking prerequisite of the selected current resource (Act 412). For example, theresource allocation processor 124 may communicate with the client of the previously allocated demand request via thecommunication processor 114 andcommunication link 110. In an alternative embodiment, the client may provide information that allows theresource allocation processor 124 to automatically determine whether the client of the previously allocated demand request can satisfy the locking prerequisite of the selected current resource. If the client of the previously allocated demand request can satisfy the locking prerequisite of the selected current resource, theresource allocation processor 124 may hard-lock the current resource to the previously allocated demand request (Act 414). For example, theresource allocation processor 124 may assign a locking identifier that identifies the selected current resource as hard-locked to the previously allocated demand request. Theresource allocation processor 124 may then proceed to allocate another current resource (Act 404). - The client of the previous demand request may not be able to satisfy the locking prerequisite of the selected current resource. If the client of the previous demand request is unable to satisfy the locking prerequisite, the
resource allocation processor 124 may query the client of the current demand request to satisfy the locking prerequisite (Act 416). If the client of the current demand request is unable to satisfy the locking prerequisite of the soft-locked current resource, theresource allocation processor 124 may proceed to allocate another current resource (Act 404). If however, the client of the current demand request can satisfy the locking prerequisite of the current resource, theresource allocation processor 124 may proceed to reassign the selected current resource to the client of the current demand request (Act 418). For example, theresource allocation processor 124 may remove the soft-locked locking identifier associated with the selected current resource and the previously allocated demand request. Theresource allocation processor 124 then hard-locks the selected current resource to the current demand request (Act 420), such as by assigning a hard-locked locking identifier to the selected current resource in the demand request/resource allocation database 122. - Alternatively, the
resource allocation processor 124 may determine that the selected current resource is not soft-locked (Act 410). If theresource allocation processor 124 determines that the selected current resource is not soft-locked, theresource allocation processor 124 may query the client of the current demand request to satisfy the locking prerequisite of the selected current resource (Act 422). In an alternative embodiment, theresource allocation processor 124 may not query the client of the current demand request, such as where the client has previously provided information as to whether the client can satisfy the locking prerequisite of the resources of thesystem 102. If the client of the current demand request is able to satisfy the locking prerequisite of the selected current resource, theresource allocation processor 124 may then hard-lock the selected current resource to the current demand request (Act 420). Theresource allocation processor 124 then proceeds to determine whether the resource requirements of the demand request have been satisfied (Act 426). - If the client of the current demand request is unable to satisfy the locking prerequisite of the selected current resource, the
resource allocation processor 124 may then soft-lock the selected current resource to the current demand request (Act 424). For example, theresource allocation processor 124 may assign a soft-lock locking identifier to the current resource and update the demand request/resource allocation database 122 accordingly. After theresource allocation processor 124 has assigned a soft-locked locking identifier to the selected current resource, theresource allocation processor 124 then proceeds to determine whether the resource requirements of the demand request has been satisfied (Act 426). - In one embodiment, the
resource allocation processor 124 may compare the information associated with the selected current resource stored by theresource database 120 with the resource requirements of the current demand request. If theresource allocation processor 124 determines that not all of the resource requirements of the demand request are satisfied, theresource allocation processor 124 may proceed to allocate another current resource (Act 404). It is also possible that theresource allocation processor 124 proceeds to select a later available future resource to satisfy the resource requirements of the current demand request (SeeFIG. 4C ). - If the
resource allocation processor 124 determines that the resource requirements of the current demand request are satisfied, theresource allocation processor 124 then proceeds to generate a resource set of the resources that have satisfied the resource requirements of the demand request (Act 428). In another embodiment, theresource allocation processor 124 may allow the client of the current demand request to select specific resources if more than one resource satisfies the resource requirements of the demand request. -
FIG. 4B is a flowchart of an alternative example of allocating a current resource or resources to a current demand request. In this alternative example and with reference toFIG. 1 , theresource allocation processor 124 may proceed to conflict resolution (Act 430) if the client of the current demand request cannot satisfy the locking prerequisite of the selected current resource (Act 416). In one embodiment, theresource allocation processor 124 may take into account the resource requirements of the current demand and the resource requirements of the previous demand. Based on the comparison analysis, theresource allocation processor 124 may determine whether the current resource should be allocated as a soft-locked allocation to the current demand or whether the current resource should be allocated as a soft-locked allocation to the previous demand. For example, theresource allocation processor 124 may determine that the current demand request has a higher priority than the previous demand request. In another example, theresource allocation processor 124 may determine that the current demand request has less resource requirements than the previous demand request. Other types of conflict resolutions are also possible. - After performing conflict resolution between the current demand request and the previous demand request, the
resource allocation processor 124 then determines whether the conflict resolution was successful (Act 432). In one embodiment, theresource allocation processor 124 may send a conflict resolution message to thecommunications processor 114. Thecommunication processor 114 may then send this conflict resolution message to the client of the current demand request and/or the client of the previous demand request. Thecommunication processor 114 could also send the conflict resolution message to theoutput device 132 via theoutput interface 120. - If the
resource allocation processor 124 determines that the conflict resolution was not successful such that the selected current resource should remain soft-locked to the previous demand request, theresource allocation processor 124 may then proceed to select another current resource (Act 404). If theresource allocation processor 124 determines that the conflict resolution was successful, such as where the selected current resource should be reallocated to the current demand request as a soft-locked allocation, theresource allocation processor 124 then proceeds to determine whether the resource requirements of the current demand request were satisfied (Act 426). If theresource allocation processor 124 determines that the resource requirements of the current demand request are satisfied, theresource allocation processor 124 then proceeds to generate a resource set of resources that satisfy the resource requirements (Act 428). However, if theresource allocation processor 124 determines that the resource requirements were not satisfied, theresource allocation processor 124 may then proceed to select another current resource (Act 404). In one embodiment, if theresource allocation processor 124 determines that there are no current resources available (Act 404), theresource allocation processor 124 may then proceed to select future resources that may become available that satisfy the resource requirements of the current demand request. -
FIG. 4C is a flowchart of an example of allocating future resources to a demand request continuing fromFIG. 4A , or alternatively,FIG. 4B . Referring again toFIG. 1 , in one embodiment, theresource selector 118 may query the demand request/resource allocation database 122 to select future resources that may become available that satisfy the demand requirements of the received demand request. Based on the future resources selected by theresource selector 118, theresource allocation processor 124 would then proceed to allocate future resources to the demand request in conjunction with, or alternatively to, allocating current resources to the demand request. As shown inFIG. 4C and with reference toFIG. 1 , theresource allocation processor 124 determines whether there will be future resources available (Act 440). For example, theresource allocation processor 124 may query the demand request/resource allocation database 122 based on the list of resources communicated by theresource selector 118 to determine whether a future resource may become available at a future time. If theresource allocation processor 124 determines that there are no future resources available (Act 440), theresource allocation processor 124 may generate an error indicating that the resource requirements cannot be satisfied (Act 470). This error message could be communicated to the client of the current demand request via thecommunication processor 114. This error message could also be communicated to theoutput device 132 via thecommunication processor 114. - Alternatively, the
resource allocation processor 124 could determine that a future resource will become available. In this case, theresource allocation processor 124 selects a future resource that satisfies a resource requirement or resource requirements of the demand request (Act 442). Theresource allocation processor 124 then proceeds to determine whether the selected future resource is hard-locked (Act 444). If theresource allocation processor 124 determines that the selected future resource is hard-locked, theresource allocation processor 124 may then proceed to determine whether another future resource is available (Act 440). - However, if the
resource allocation processor 124 determines that the selected future resource is not hard-locked, then theresource allocation processor 124 may determine whether the selected future resource is soft-locked (Act 446). Theresource allocation processor 124 may determine that the selected future resource is soft-locked. If theresource allocation processor 124 makes this determination, theresource allocation processor 124 may query the previously allocated demand request to satisfy the locking prerequisite of the selected future resource (Act 448). If the client of the previous allocated demand request can satisfy the locking prerequisite of the selected future resource, theresource allocation processor 124 may hard-lock the future resource to the previously allocated demand request (Act 450). Theresource allocation processor 124 may then proceed to allocate another future resource (Act 440). - The client of the previous demand request may not be able to satisfy the locking prerequisite of the selected future resource. If the client of the previous demand request is unable to satisfy the locking prerequisite, the
resource allocation processor 124 may query the client of the current demand request to satisfy the locking prerequisite (Act 452). If the client of the current demand request is unable to satisfy the locking prerequisite of the soft-locked future resource, theresource allocation processor 124 may then proceed to allocate another future resource (Act 440). If however, the client of the current demand request is able to satisfy the locking prerequisite of the future resource, theresource allocation processor 124 may then proceed to reassign the selected future resource to the client of the current demand request (Act 454). Theresource allocation processor 124 then hard-locks the selected future resource to the current demand request (Act 456). - Alternatively, the
resource allocation processor 124 may determine that the selected future resource is not soft-locked (Act 446). If theresource allocation processor 124 determines that the selected future resource is not soft-locked, theresource allocation processor 124 may query the client of the current demand request to satisfy the locking prerequisite of the selected future resource (Act 458). In an alternative embodiment, theresource allocation processor 124 may not have to query the client of the current demand request, such as where the client has previously provided information as to whether the client can satisfy the locking prerequisite of the resources of thesystem 102. If the client of the current demand request is able to satisfy the locking prerequisite of the selected future resource, theresource allocation processor 124 may then hard-lock the selected future resource to the current demand request (Act 456). Theresource allocation processor 124 then proceeds to determine whether the resource requirements of the demand request have been satisfied (Act 466). - If the client of the current demand request is unable to satisfy the locking prerequisite of the selected future resource, the
resource allocation processor 124 may then soft-lock the selected future resource to the current demand request (Act 460). Theresource allocation processor 124 then proceeds to determine whether the resource requirements of the demand request have been satisfied (Act 466). - In one embodiment, the
resource allocation processor 124 may compare the information associated with the selected future resource stored by theresource database 120 with the resource requirements of the current demand request. If theresource allocation processor 124 determines that not all of the resource requirements of the demand request are satisfied, theresource allocation processor 124 may proceed to allocate another future resource (Act 440). - If the
resource allocation processor 124 determines that the resource requirements of the current demand request are satisfied, theresource allocation processor 124 then proceeds to generate a resource set of the resources that satisfy the resource requirements of the demand request (Act 468). The generated resource set may include future resources that will become available, current resources that are available, or a combination thereof. In another embodiment, theresource allocation processor 124 may allow the client of the current demand request to select specific resources if more than one resource satisfies the resource requirements of the demand request. -
FIG. 4D is a flowchart of an alternative example of allocating a future resource or resources to a current demand request. With reference toFIG. 1 , in this alternative example ofFIG. 4D , theresource allocation processor 124 may proceed to conflict resolution (Act 472) if the client of the current demand request cannot satisfy the locking prerequisite of the selected future resource (Act 453). In one embodiment, theresource allocation processor 124 may take into account the resource requirements of the current demand and the resource requirements of the previous demand. Based on the comparison analysis, theresource allocation processor 124 may determine whether the future resource should be allocated as a soft-locked allocation to the current demand or whether the future resource should be allocated as a soft-locked allocation to the previous demand. For example, theresource allocation processor 124 may determine that the current demand request has a higher priority than the previous demand request. In another example, theresource allocation processor 124 may determine that the current demand request has less resource requirements than the previous demand request. Other types of conflict resolutions are also possible. - After performing conflict resolution between the current demand request and the previous demand request, the
resource allocation processor 124 then determines whether the conflict resolution was successful (Act 474). In one embodiment, theresource allocation processor 124 may send a conflict resolution message to thecommunications processor 114. Thecommunication processor 114 may then send this conflict resolution message to the client of the current demand request and/or the client of the previous demand request. Thecommunication processor 114 could also send the conflict resolution message to theoutput device 132 via theoutput interface 120. If theresource allocation processor 124 determines that the conflict resolution was not successful such that the selected future resource should remain soft-locked to the previous demand request, theresource allocation processor 124 may then proceed to select another future resource (Act 440). If theresource allocation processor 124 determines that the conflict resolution was successful, such as where the selected future resource should be reallocated to the current demand request as a soft-locked allocation, theresource allocation processor 124 then proceeds to determine whether the resource requirements of the current demand request were satisfied (Act 466). If theresource allocation processor 124 determines that the resource requirements of the current demand request are satisfied, theresource allocation processor 124 then proceeds to generate a resource set of the resources that satisfied the resource requirements (Act 468). However, if theresource allocation processor 124 determines that not all of the resource requirements were satisfied, theresource allocation processor 124 may then proceed to select another future resource (Act 440). - While various embodiments of the invention have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the invention. Accordingly, the invention is not to be restricted except in light of the attached claims and their equivalents.
Claims (40)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/732,168 US10146587B2 (en) | 2006-08-24 | 2015-06-05 | Future locking of resources |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN1334/MUM/1006 | 2006-08-24 | ||
IN1334MU2006 | 2006-08-24 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/732,168 Continuation US10146587B2 (en) | 2006-08-24 | 2015-06-05 | Future locking of resources |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080052397A1 true US20080052397A1 (en) | 2008-02-28 |
Family
ID=39197959
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/717,548 Abandoned US20080052397A1 (en) | 2006-08-24 | 2007-03-13 | Future locking of resources |
US14/732,168 Active 2028-08-31 US10146587B2 (en) | 2006-08-24 | 2015-06-05 | Future locking of resources |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/732,168 Active 2028-08-31 US10146587B2 (en) | 2006-08-24 | 2015-06-05 | Future locking of resources |
Country Status (1)
Country | Link |
---|---|
US (2) | US20080052397A1 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100169489A1 (en) * | 2008-12-25 | 2010-07-01 | International Business Machines Corporation | Resource management tool |
US20100318659A1 (en) * | 2007-09-10 | 2010-12-16 | Samsung Electronics Co., Ltd. | Method for allocating resource and receiving data |
US20100329156A1 (en) * | 2008-02-19 | 2010-12-30 | Nxp B.V. | Software defined radio |
US20120110190A1 (en) * | 2009-02-19 | 2012-05-03 | International Business Machines Corporation | Mechanisms For Obtaining Access to Shared Resources Using a Single Timestamp Technique |
US20150058922A1 (en) * | 2012-05-02 | 2015-02-26 | Huawei Technologies Co., Ltd. | Method and apparatus for controlling network device |
US20180074864A1 (en) * | 2016-09-15 | 2018-03-15 | Red Hat, Inc. | Time-bound conditional resource deallocation |
US10146587B2 (en) | 2006-08-24 | 2018-12-04 | Accenture Global Services Limited | Future locking of resources |
CN110764899A (en) * | 2019-09-03 | 2020-02-07 | 无锡华云数据技术服务有限公司 | Resource quota management method, resource processing method, device, equipment, system and medium |
US20210089362A1 (en) * | 2018-02-19 | 2021-03-25 | Nippon Telegraph And Telephone Corporation | Virtual resource management device, virtual resource allocation method, and virtual resource allocation program |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11909814B1 (en) * | 2019-03-26 | 2024-02-20 | Amazon Technologies, Inc. | Configurable computing resource allocation policies |
Citations (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5711010A (en) * | 1995-05-31 | 1998-01-20 | Motorola, Inc. | Method of establishing access to secondary communication resources in a communication system |
US5867494A (en) * | 1996-11-18 | 1999-02-02 | Mci Communication Corporation | System, method and article of manufacture with integrated video conferencing billing in a communication system architecture |
US5956712A (en) * | 1995-06-07 | 1999-09-21 | International Business Machines Corporation | Byte range locking in a distributed environment |
US5995805A (en) * | 1997-10-17 | 1999-11-30 | Lockheed Martin Missiles & Space | Decision-theoretic satellite communications system |
US6067301A (en) * | 1998-05-29 | 2000-05-23 | Cabletron Systems, Inc. | Method and apparatus for forwarding packets from a plurality of contending queues to an output |
US6112243A (en) * | 1996-12-30 | 2000-08-29 | Intel Corporation | Method and apparatus for allocating tasks to remote networked processors |
US6219412B1 (en) * | 1999-05-05 | 2001-04-17 | Spiderphone.Com, Inc. | Choice of guaranteed vs. bumpable conference call reservations |
US6253236B1 (en) * | 1998-05-19 | 2001-06-26 | Serena Software International, Inc. | System and method for serving host computer files to one or more client computer systems |
US6259913B1 (en) * | 1998-08-06 | 2001-07-10 | Alcatel | Method of allocating links between a set of areas and a set of satellites |
US20010039581A1 (en) * | 2000-01-18 | 2001-11-08 | Yuefan Deng | System for balance distribution of requests across multiple servers using dynamic metrics |
US20020004832A1 (en) * | 2000-01-12 | 2002-01-10 | Yage Co., Ltd. | Method for establishing communication channel using information storage media |
US20020026398A1 (en) * | 2000-08-24 | 2002-02-28 | Sheth Beerud D. | Storefront for an electronic marketplace for services |
US20020055865A1 (en) * | 2000-04-21 | 2002-05-09 | Goalassist Corporation | System and method employing yield management in human-factor resource industry |
US20020161891A1 (en) * | 2001-04-25 | 2002-10-31 | Tatsuo Higuchi | System and method for computer resource marketing |
US20030005457A1 (en) * | 2001-06-28 | 2003-01-02 | Sorin Faibish | Video file server cache management using movie ratings for reservation of memory and bandwidth resources |
US20030083919A1 (en) * | 2001-10-31 | 2003-05-01 | Goalassist Corporation | System and method employing capacity/demand management in prepared food service industry |
US6684193B1 (en) * | 1999-10-05 | 2004-01-27 | Rapt Technologies Corporation | Method and apparatus for multivariate allocation of resources |
US6690668B1 (en) * | 1998-10-19 | 2004-02-10 | Texas Instruments Incorporated | Modular interconnection of network switches |
US6751455B1 (en) * | 1999-09-17 | 2004-06-15 | The Regents Of The University Of California | Power- and bandwidth-adaptive in-home wireless communications system with power-grid-powered agents and battery-powered clients |
US6754714B1 (en) * | 1999-10-05 | 2004-06-22 | Cisco Technology, Inc. | Multilink point-to-point protocol network access server channel allocation method and apparatus |
US20040203832A1 (en) * | 2002-03-22 | 2004-10-14 | Yongho An | Method for managing wireless assets in a coverage area |
US20040215780A1 (en) * | 2003-03-31 | 2004-10-28 | Nec Corporation | Distributed resource management system |
US20050071241A1 (en) * | 2003-09-26 | 2005-03-31 | Flockhart Andrew D. | Contact center resource allocation based on work bidding/auction |
US20050071593A1 (en) * | 2003-09-29 | 2005-03-31 | Pradeep Vincent | Efficient file system data journaling |
US20050114860A1 (en) * | 2003-11-26 | 2005-05-26 | Wuqin Lin | Method and apparatus for on-demand resource allocation and job management |
US20050125278A1 (en) * | 2003-12-09 | 2005-06-09 | Suvas Vajracharya | Method and apparatus for queue-based automated staff scheduling |
US20050131899A1 (en) * | 2003-12-12 | 2005-06-16 | Mike Dvorkin | Adaptive object level locking |
US20050131898A1 (en) * | 2003-12-15 | 2005-06-16 | Fatula Joseph J.Jr. | Apparatus, system, and method for on-demand control of grid system resources |
US6920454B1 (en) * | 2000-01-28 | 2005-07-19 | Oracle International Corporation | Techniques for DLM optimization with transferring lock information |
US20050172291A1 (en) * | 2004-01-30 | 2005-08-04 | Rajarshi Das | Method and apparatus for utility-based dynamic resource allocation in a distributed computing system |
US20050182856A1 (en) * | 2003-12-22 | 2005-08-18 | Mcknett Charles L. | Systems and methods for creating time aware networks using independent absolute time values in network devices |
US20050188088A1 (en) * | 2004-01-13 | 2005-08-25 | International Business Machines Corporation | Managing escalating resource needs within a grid environment |
US7047299B1 (en) * | 2001-08-31 | 2006-05-16 | Hewlett-Packard Development Company, L.P. | Generic cluster aware lock broker with user defined locking modes |
US20060149865A1 (en) * | 2004-12-30 | 2006-07-06 | Microsoft Corporation | Queue rendezvous |
US20060224496A1 (en) * | 2005-03-31 | 2006-10-05 | Combinenet, Inc. | System for and method of expressive sequential auctions in a dynamic environment on a network |
US20060271700A1 (en) * | 2005-05-24 | 2006-11-30 | Fujitsu Limited | Record medium with a load distribution program recorded thereon, load distribution method, and load distribution apparatus |
US20060282400A1 (en) * | 2005-06-10 | 2006-12-14 | Muralidhar Kalavacharla | Apparatus, system, and method for encapsulating logical units of work using business objects |
US20060294239A1 (en) * | 2005-06-24 | 2006-12-28 | Hitachi, Ltd. | Method and system for controlling computer in system |
US7174379B2 (en) * | 2001-08-03 | 2007-02-06 | International Business Machines Corporation | Managing server resources for hosted applications |
US20070079073A1 (en) * | 2005-09-30 | 2007-04-05 | Mark Rosenbluth | Instruction-assisted cache management for efficient use of cache and memory |
US20070094325A1 (en) * | 2005-10-21 | 2007-04-26 | Nucleoid Corp. | Hybrid peer-to-peer data communication and management |
US7219347B1 (en) * | 1999-03-15 | 2007-05-15 | British Telecommunications Public Limited Company | Resource scheduling |
US20070127527A1 (en) * | 2005-12-06 | 2007-06-07 | International Business Machines Corporation | Methods and apparatus for implementing a flexible multi-user advance reservation system where reservation requests are specified in terms of multiple options and where each option has an associated business value |
US20070165525A1 (en) * | 2006-01-18 | 2007-07-19 | Fujitsu Limited | Computer program, method, and apparatus for managing reservation of it resources |
US20070174101A1 (en) * | 2004-12-09 | 2007-07-26 | British Telecommunications Public Limited Company | Workflow scheduler |
US7313557B1 (en) * | 2002-03-15 | 2007-12-25 | Network Appliance, Inc. | Multi-protocol lock manager |
US20070299804A1 (en) * | 2006-06-21 | 2007-12-27 | Zhen Liu | Method and system for federated resource discovery service in distributed systems |
US7398525B2 (en) * | 2002-10-21 | 2008-07-08 | International Business Machines Corporation | Resource scheduling in workflow management systems |
US20080263549A1 (en) * | 2003-05-01 | 2008-10-23 | International Business Machines Corporation | Managing locks and transactions |
US20090043888A1 (en) * | 2004-03-13 | 2009-02-12 | Cluster Resources, Inc. | System and method of providing reservation masks within a compute environment |
US7693093B2 (en) * | 2003-03-10 | 2010-04-06 | Sony Deutschland Gmbh | QoS-aware handover procedure for IP-based mobile ad-hoc network environments |
Family Cites Families (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6535880B1 (en) | 2000-05-09 | 2003-03-18 | Cnet Networks, Inc. | Automated on-line commerce method and apparatus utilizing a shopping server verifying product information on product selection |
US6903723B1 (en) | 1995-03-27 | 2005-06-07 | Donald K. Forest | Data entry method and apparatus |
US6195691B1 (en) | 1996-09-17 | 2001-02-27 | National Systems Corporation | Method and apparatus for creating and using dynamic universal resource locators |
US5991739A (en) | 1997-11-24 | 1999-11-23 | Food.Com | Internet online order method and apparatus |
US6845361B1 (en) | 1998-07-21 | 2005-01-18 | Eric M. Dowling | Virtual-wait queue for mobile commerce |
US6526449B1 (en) | 1998-09-11 | 2003-02-25 | Digital Convergence Corporation | Method and apparatus for controlling a computer from a remote location |
US6546374B1 (en) | 1998-11-10 | 2003-04-08 | Aether Systems, Inc. | Apparatus for providing instant vendor notification in an electronic commerce network environment |
US6587838B1 (en) | 1999-01-25 | 2003-07-01 | Aether Systems, Inc. | Method and system for conducting real time electronic commerce |
US6901397B1 (en) | 1999-02-05 | 2005-05-31 | Gte Service Corporation | Method and apparatus for providing web-based assistance to customers and service representatives |
WO2000052552A2 (en) | 1999-03-02 | 2000-09-08 | Quixtar Investments, Inc. | Electronic commerce transactions within a marketing system that may contain a membership buying opportunity |
US6401085B1 (en) | 1999-03-05 | 2002-06-04 | Accenture Llp | Mobile communication and computing system and method |
US20020038261A1 (en) | 1999-03-25 | 2002-03-28 | James Kargman | System for placing orders through the internet to a selected store of a chain of stores |
JP2002543500A (en) | 1999-04-27 | 2002-12-17 | アイスリーイー・ホールディングス・エルエルシー | Remote ordering system |
US6519571B1 (en) | 1999-05-27 | 2003-02-11 | Accenture Llp | Dynamic customer profile management |
EP1190353A2 (en) | 1999-05-27 | 2002-03-27 | Accenture LLP | Methods, concepts and technology for a virtual shopping system capable of assessing needs of a customer and recommending a product or service based on such assessed needs |
US7523385B2 (en) | 1999-06-22 | 2009-04-21 | Starcite, Inc. | System and method for enterprise event marketing and management automation |
AU6760000A (en) | 1999-08-04 | 2001-03-05 | Kozmo.Com, Inc. | System and method for real-time ordering and delivery of locally available products |
US6697824B1 (en) | 1999-08-31 | 2004-02-24 | Accenture Llp | Relationship management in an E-commerce application framework |
US6961778B2 (en) | 1999-11-30 | 2005-11-01 | Accenture Llp | Management interface between a core telecommunication system and a local service provider |
US7072856B1 (en) | 2000-01-18 | 2006-07-04 | Al Nachom | Communication enhancement means |
US20040267616A1 (en) | 2000-02-11 | 2004-12-30 | Kargman James B. | Creation of custom designed direct mail advertising via the internet |
US7069235B1 (en) | 2000-03-03 | 2006-06-27 | Pcorder.Com, Inc. | System and method for multi-source transaction processing |
WO2001071630A2 (en) | 2000-03-22 | 2001-09-27 | America To Go Llc | Methods and apparatus for on-line ordering |
CA2404343A1 (en) | 2000-03-24 | 2001-10-04 | Ahmet Alpdemir | Voice-interactive marketplace providing time and money saving benefits and real-time promotion publishing and feedback |
US6959283B1 (en) | 2000-03-29 | 2005-10-25 | Ncr Corporation | Automated cafeteria |
US7003500B1 (en) | 2000-08-01 | 2006-02-21 | James Leonard Driessen | Retail point of sale (RPOS) apparatus for internet merchandising |
US6922567B1 (en) | 2000-08-22 | 2005-07-26 | Telefonaktiebolaget L.M. Ericsson | Systems, methods and computer program products for identifying items of interest that are geographically proximate to wireless communicator users |
WO2002021820A2 (en) | 2000-09-07 | 2002-03-14 | Healthetech, Inc. | Image based diet logging |
US20020049644A1 (en) | 2000-09-28 | 2002-04-25 | Kargman James B. | Method for simplified one-touch ordering of goods and services from a wired or wireless phone or terminal |
US20020067827A1 (en) | 2000-12-04 | 2002-06-06 | Kargman James B. | Method for preventing check fraud |
US20020188492A1 (en) | 2001-06-11 | 2002-12-12 | Borton Robert L. | Food-making, -delivery, and -carry-out system and method |
US20040111321A1 (en) | 2002-08-09 | 2004-06-10 | Kargman James B. | Graphical display system for use with a computerized point-of-sale system |
US20040158494A1 (en) | 2003-02-05 | 2004-08-12 | Suthar Yogin P. | Restaurant automation system |
US20050049922A1 (en) | 2003-03-24 | 2005-03-03 | Ipdev Co. | Method and apparatus for specifying toppings and their placement on a pizza and confirming same |
US20050015256A1 (en) | 2003-05-29 | 2005-01-20 | Kargman James B. | Method and apparatus for ordering food items, and in particular, pizza |
US20050021407A1 (en) | 2003-06-20 | 2005-01-27 | Kargman James B. | Enhanced user display for use in a restaurant kitchen |
US20050045728A1 (en) | 2003-07-03 | 2005-03-03 | Kargman James B. | Enhanced method and apparatus for capturing and processing coupon redemption data |
US20050220009A1 (en) | 2003-10-08 | 2005-10-06 | Kargman James B | Enhanced method and apparatus for managing a communication system |
US20050108097A1 (en) | 2003-11-19 | 2005-05-19 | Simpledine, Inc. | Web-based food ordering system utilizing a text-to-speech engine |
US20050267811A1 (en) | 2004-05-17 | 2005-12-01 | Almblad Robert E | Systems and methods of ordering at an automated food processing machine |
US7505929B2 (en) | 2004-06-01 | 2009-03-17 | Angert Charles D | Method, system and computer product for auction of deliverable prepared food via the internet |
US20060041482A1 (en) | 2004-08-03 | 2006-02-23 | Awiszus Steven T | System and method providing backup local ordering for establishment using a remote ordering system |
US20060080163A1 (en) | 2004-09-29 | 2006-04-13 | Eric Sutcliffe | Methods and apparatus for food brokering services |
US20060080165A1 (en) | 2004-09-29 | 2006-04-13 | Eric Sutcliffe | Methods and apparatus for residential food brokering services |
CA2509734A1 (en) | 2004-10-05 | 2006-04-05 | Hospitality 101, Inc. | Network based food ordering system |
US20060155753A1 (en) | 2004-11-11 | 2006-07-13 | Marc Asher | Global asynchronous serialized transaction identifier |
US20060123098A1 (en) | 2004-11-11 | 2006-06-08 | Ipdev | Multi-system auto-failure web-based system with dynamic session recovery |
US20060155770A1 (en) | 2004-11-11 | 2006-07-13 | Ipdev Co. | System and method for time-based allocation of unique transaction identifiers in a multi-server system |
US20060122896A1 (en) | 2004-12-08 | 2006-06-08 | Parsley Andrew J | Green touch display advertising kiosk system |
US20060178943A1 (en) | 2005-01-07 | 2006-08-10 | Rollinson Joseph R | Food order fulfillment system deploying a universal in-store point-of-sale (POS) for preparation and pickup scheduling |
US8185905B2 (en) * | 2005-03-18 | 2012-05-22 | International Business Machines Corporation | Resource allocation in computing systems according to permissible flexibilities in the recommended resource requirements |
US7979859B2 (en) * | 2005-05-03 | 2011-07-12 | International Business Machines Corporation | Managing automated resource provisioning with a workload scheduler |
US20080052397A1 (en) | 2006-08-24 | 2008-02-28 | Ramanathan Venkataraman | Future locking of resources |
-
2007
- 2007-03-13 US US11/717,548 patent/US20080052397A1/en not_active Abandoned
-
2015
- 2015-06-05 US US14/732,168 patent/US10146587B2/en active Active
Patent Citations (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5711010A (en) * | 1995-05-31 | 1998-01-20 | Motorola, Inc. | Method of establishing access to secondary communication resources in a communication system |
US5956712A (en) * | 1995-06-07 | 1999-09-21 | International Business Machines Corporation | Byte range locking in a distributed environment |
US5867494A (en) * | 1996-11-18 | 1999-02-02 | Mci Communication Corporation | System, method and article of manufacture with integrated video conferencing billing in a communication system architecture |
US6112243A (en) * | 1996-12-30 | 2000-08-29 | Intel Corporation | Method and apparatus for allocating tasks to remote networked processors |
US5995805A (en) * | 1997-10-17 | 1999-11-30 | Lockheed Martin Missiles & Space | Decision-theoretic satellite communications system |
US6253236B1 (en) * | 1998-05-19 | 2001-06-26 | Serena Software International, Inc. | System and method for serving host computer files to one or more client computer systems |
US6067301A (en) * | 1998-05-29 | 2000-05-23 | Cabletron Systems, Inc. | Method and apparatus for forwarding packets from a plurality of contending queues to an output |
US6259913B1 (en) * | 1998-08-06 | 2001-07-10 | Alcatel | Method of allocating links between a set of areas and a set of satellites |
US6690668B1 (en) * | 1998-10-19 | 2004-02-10 | Texas Instruments Incorporated | Modular interconnection of network switches |
US7219347B1 (en) * | 1999-03-15 | 2007-05-15 | British Telecommunications Public Limited Company | Resource scheduling |
US6219412B1 (en) * | 1999-05-05 | 2001-04-17 | Spiderphone.Com, Inc. | Choice of guaranteed vs. bumpable conference call reservations |
US6751455B1 (en) * | 1999-09-17 | 2004-06-15 | The Regents Of The University Of California | Power- and bandwidth-adaptive in-home wireless communications system with power-grid-powered agents and battery-powered clients |
US7197326B2 (en) * | 1999-09-17 | 2007-03-27 | The Regents Of The University Of California | Adaptive local wireless communication system |
US6754714B1 (en) * | 1999-10-05 | 2004-06-22 | Cisco Technology, Inc. | Multilink point-to-point protocol network access server channel allocation method and apparatus |
US6684193B1 (en) * | 1999-10-05 | 2004-01-27 | Rapt Technologies Corporation | Method and apparatus for multivariate allocation of resources |
US20020004832A1 (en) * | 2000-01-12 | 2002-01-10 | Yage Co., Ltd. | Method for establishing communication channel using information storage media |
US20010039581A1 (en) * | 2000-01-18 | 2001-11-08 | Yuefan Deng | System for balance distribution of requests across multiple servers using dynamic metrics |
US6920454B1 (en) * | 2000-01-28 | 2005-07-19 | Oracle International Corporation | Techniques for DLM optimization with transferring lock information |
US20020055865A1 (en) * | 2000-04-21 | 2002-05-09 | Goalassist Corporation | System and method employing yield management in human-factor resource industry |
US20020026398A1 (en) * | 2000-08-24 | 2002-02-28 | Sheth Beerud D. | Storefront for an electronic marketplace for services |
US20020161891A1 (en) * | 2001-04-25 | 2002-10-31 | Tatsuo Higuchi | System and method for computer resource marketing |
US20030005457A1 (en) * | 2001-06-28 | 2003-01-02 | Sorin Faibish | Video file server cache management using movie ratings for reservation of memory and bandwidth resources |
US7174379B2 (en) * | 2001-08-03 | 2007-02-06 | International Business Machines Corporation | Managing server resources for hosted applications |
US7047299B1 (en) * | 2001-08-31 | 2006-05-16 | Hewlett-Packard Development Company, L.P. | Generic cluster aware lock broker with user defined locking modes |
US20030083919A1 (en) * | 2001-10-31 | 2003-05-01 | Goalassist Corporation | System and method employing capacity/demand management in prepared food service industry |
US7313557B1 (en) * | 2002-03-15 | 2007-12-25 | Network Appliance, Inc. | Multi-protocol lock manager |
US20040203832A1 (en) * | 2002-03-22 | 2004-10-14 | Yongho An | Method for managing wireless assets in a coverage area |
US7139578B2 (en) * | 2002-03-22 | 2006-11-21 | Lucent Technologies Inc. | Method for managing wireless assets in a coverage area |
US7398525B2 (en) * | 2002-10-21 | 2008-07-08 | International Business Machines Corporation | Resource scheduling in workflow management systems |
US7693093B2 (en) * | 2003-03-10 | 2010-04-06 | Sony Deutschland Gmbh | QoS-aware handover procedure for IP-based mobile ad-hoc network environments |
US20040215780A1 (en) * | 2003-03-31 | 2004-10-28 | Nec Corporation | Distributed resource management system |
US20080263549A1 (en) * | 2003-05-01 | 2008-10-23 | International Business Machines Corporation | Managing locks and transactions |
US20050071241A1 (en) * | 2003-09-26 | 2005-03-31 | Flockhart Andrew D. | Contact center resource allocation based on work bidding/auction |
US20050071593A1 (en) * | 2003-09-29 | 2005-03-31 | Pradeep Vincent | Efficient file system data journaling |
US7010721B2 (en) * | 2003-09-29 | 2006-03-07 | International Business Machines Corporation | File system journal management |
US20050114860A1 (en) * | 2003-11-26 | 2005-05-26 | Wuqin Lin | Method and apparatus for on-demand resource allocation and job management |
US7526765B2 (en) * | 2003-11-26 | 2009-04-28 | International Business Machines Corporation | Method and apparatus for on-demand resource allocation and job management |
US20050125278A1 (en) * | 2003-12-09 | 2005-06-09 | Suvas Vajracharya | Method and apparatus for queue-based automated staff scheduling |
US20050131899A1 (en) * | 2003-12-12 | 2005-06-16 | Mike Dvorkin | Adaptive object level locking |
US20050131898A1 (en) * | 2003-12-15 | 2005-06-16 | Fatula Joseph J.Jr. | Apparatus, system, and method for on-demand control of grid system resources |
US20050182856A1 (en) * | 2003-12-22 | 2005-08-18 | Mcknett Charles L. | Systems and methods for creating time aware networks using independent absolute time values in network devices |
US20050188088A1 (en) * | 2004-01-13 | 2005-08-25 | International Business Machines Corporation | Managing escalating resource needs within a grid environment |
US20050172291A1 (en) * | 2004-01-30 | 2005-08-04 | Rajarshi Das | Method and apparatus for utility-based dynamic resource allocation in a distributed computing system |
US20090043888A1 (en) * | 2004-03-13 | 2009-02-12 | Cluster Resources, Inc. | System and method of providing reservation masks within a compute environment |
US20070174101A1 (en) * | 2004-12-09 | 2007-07-26 | British Telecommunications Public Limited Company | Workflow scheduler |
US20060149865A1 (en) * | 2004-12-30 | 2006-07-06 | Microsoft Corporation | Queue rendezvous |
US20060224496A1 (en) * | 2005-03-31 | 2006-10-05 | Combinenet, Inc. | System for and method of expressive sequential auctions in a dynamic environment on a network |
US20060271700A1 (en) * | 2005-05-24 | 2006-11-30 | Fujitsu Limited | Record medium with a load distribution program recorded thereon, load distribution method, and load distribution apparatus |
US20060282400A1 (en) * | 2005-06-10 | 2006-12-14 | Muralidhar Kalavacharla | Apparatus, system, and method for encapsulating logical units of work using business objects |
US20060294239A1 (en) * | 2005-06-24 | 2006-12-28 | Hitachi, Ltd. | Method and system for controlling computer in system |
US20070079073A1 (en) * | 2005-09-30 | 2007-04-05 | Mark Rosenbluth | Instruction-assisted cache management for efficient use of cache and memory |
US20070094325A1 (en) * | 2005-10-21 | 2007-04-26 | Nucleoid Corp. | Hybrid peer-to-peer data communication and management |
US20070127527A1 (en) * | 2005-12-06 | 2007-06-07 | International Business Machines Corporation | Methods and apparatus for implementing a flexible multi-user advance reservation system where reservation requests are specified in terms of multiple options and where each option has an associated business value |
US20080235065A1 (en) * | 2005-12-06 | 2008-09-25 | International Business Machines Corporation | Methods and Apparatus for Implementing a Flexible Multi-User Advance Reservation System Where Reservation Requests are Specified in Terms of Multiple Options and Where Each Option Has an Associated Business Value |
US20070165525A1 (en) * | 2006-01-18 | 2007-07-19 | Fujitsu Limited | Computer program, method, and apparatus for managing reservation of it resources |
US20070299804A1 (en) * | 2006-06-21 | 2007-12-27 | Zhen Liu | Method and system for federated resource discovery service in distributed systems |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10146587B2 (en) | 2006-08-24 | 2018-12-04 | Accenture Global Services Limited | Future locking of resources |
US20100318659A1 (en) * | 2007-09-10 | 2010-12-16 | Samsung Electronics Co., Ltd. | Method for allocating resource and receiving data |
US8214500B2 (en) * | 2007-09-10 | 2012-07-03 | Samsung Electronics Co., Ltd. | Method for allocating resource and receiving data to control a transmission error |
US8687524B2 (en) * | 2008-02-19 | 2014-04-01 | Nxp, B.V. | Software defined radio |
US20100329156A1 (en) * | 2008-02-19 | 2010-12-30 | Nxp B.V. | Software defined radio |
US20100169489A1 (en) * | 2008-12-25 | 2010-07-01 | International Business Machines Corporation | Resource management tool |
US8606919B2 (en) * | 2008-12-25 | 2013-12-10 | International Business Machines Corporation | Resource management tool |
US20120110190A1 (en) * | 2009-02-19 | 2012-05-03 | International Business Machines Corporation | Mechanisms For Obtaining Access to Shared Resources Using a Single Timestamp Technique |
US8301779B2 (en) * | 2009-02-19 | 2012-10-30 | International Business Machines Corporation | Mechanisms for obtaining access to shared resources using a single timestamp technique |
US20150058922A1 (en) * | 2012-05-02 | 2015-02-26 | Huawei Technologies Co., Ltd. | Method and apparatus for controlling network device |
US20180074864A1 (en) * | 2016-09-15 | 2018-03-15 | Red Hat, Inc. | Time-bound conditional resource deallocation |
US10296389B2 (en) * | 2016-09-15 | 2019-05-21 | Red Hat, Inc. | Time-bound conditional resource deallocation |
US20210089362A1 (en) * | 2018-02-19 | 2021-03-25 | Nippon Telegraph And Telephone Corporation | Virtual resource management device, virtual resource allocation method, and virtual resource allocation program |
CN110764899A (en) * | 2019-09-03 | 2020-02-07 | 无锡华云数据技术服务有限公司 | Resource quota management method, resource processing method, device, equipment, system and medium |
Also Published As
Publication number | Publication date |
---|---|
US20150269003A1 (en) | 2015-09-24 |
US10146587B2 (en) | 2018-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10146587B2 (en) | Future locking of resources | |
US20230419259A1 (en) | System and method for workflow management | |
US7502747B1 (en) | Automated job scheduling based on resource availability | |
KR100778966B1 (en) | Global document creation system including administrative server computer | |
WO2013128555A1 (en) | Task management method and task management device | |
US10223673B2 (en) | Cognitive adaptation to user behavior for personalized automatic processing of events | |
US20080294483A1 (en) | Free time priority for calendar schedulers | |
US20080306806A1 (en) | Methods and apparatus for dynamically allocating tasks | |
US20120004942A1 (en) | Conflict Resolution in a Computerized Calendaring System | |
US20110208557A1 (en) | Supply and Demand Consolidation in Employee Resource Planning | |
US20060167725A1 (en) | Method and apparatus for scheduling | |
JP2006301990A (en) | Appointment system, appointment program, recording medium and appointment method | |
US20070011678A1 (en) | Methods and systems for managing shared tasks | |
EP2954445A1 (en) | Methods and apparatus for data-driven monitoring | |
US11693702B2 (en) | Systems and methods for managing usage of computing resources | |
US8626557B2 (en) | System and method of providing snapshot to support approval of workflow changes | |
US20200265347A1 (en) | Allocation method, storage medium, and information processing device | |
US20090112704A1 (en) | Management tool for efficient allocation of skills and resources | |
Nguyen et al. | Scheduling rules to achieve lead-time targets in outpatient appointment systems | |
US20090222818A1 (en) | Fast workflow completion in a multi-system landscape | |
US20050137927A1 (en) | System and method for multi-site workforce deployment | |
US20090094089A1 (en) | Custom dispatch software | |
CN112102099A (en) | Policy data processing method and device, electronic equipment and storage medium | |
US8788305B2 (en) | Method for processing concurrent personnel assignments | |
WO2015111023A1 (en) | An improved method of appraisal system, performance analysis and task scheduling in an organization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ACCENTURE GLOBAL SERVICES GMBH, SWITZERLAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VENKATARAMAN, RAMANATHAN;NANADIKAR, PRAMOD;VASUDEVAN, BADRINARAYANAN;AND OTHERS;REEL/FRAME:020169/0620;SIGNING DATES FROM 20071105 TO 20071121 |
|
AS | Assignment |
Owner name: ACCENTURE GLOBAL SERVICES LIMITED, IRELAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ACCENTURE GLOBAL SERVICES GMBH;REEL/FRAME:025700/0287 Effective date: 20100901 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |