WO2007080753A1 - Network resource management device, network resource management system, and network resource management method - Google Patents

Network resource management device, network resource management system, and network resource management method Download PDF

Info

Publication number
WO2007080753A1
WO2007080753A1 PCT/JP2006/325284 JP2006325284W WO2007080753A1 WO 2007080753 A1 WO2007080753 A1 WO 2007080753A1 JP 2006325284 W JP2006325284 W JP 2006325284W WO 2007080753 A1 WO2007080753 A1 WO 2007080753A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
network
terminal
resource management
processor
Prior art date
Application number
PCT/JP2006/325284
Other languages
French (fr)
Japanese (ja)
Inventor
Ken Kutaragi
Masayuki Chatani
Hirotoshi Maegawa
Original Assignee
Sony Computer Entertainment Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc. filed Critical Sony Computer Entertainment Inc.
Publication of WO2007080753A1 publication Critical patent/WO2007080753A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Definitions

  • Network resource management device Network resource management device, network resource management system, and network resource management method
  • the present invention relates to a network resource management apparatus.
  • the present invention particularly relates to a technique for distributed processing in a network resource management apparatus.
  • CORBA Common Object Request Broker Architecture
  • CORBA Common Object Request Broker Architecture
  • COR BA only regulates communication between objects distributed to multiple devices, and it is not expected to be used in a case where the configuration of a device with such objects is dynamically changed or added. It is difficult to respond.
  • clustering is known as a technique for connecting a plurality of computers and operating them like a single computer.
  • the hardware configuration, CPU, OS, etc. must be homogenized or unified among multiple computers, so that an unspecified number of computer resources can be added or changed dynamically. Is expected to be used.
  • grid computing is a system in which a plurality of computers on a network are connected to virtually construct one computer, and resources are extracted and used according to the required processing capacity. It has been known.
  • grid combining is only a technology for solving the problems in terms of processing, how to connect resources on the network and distribute processing, and whether to promote resource provision much more. ! And it can't be said that it will respond to the challenges of building a framework, such as how to open and promote the use of such resources.
  • the present inventor has made the present invention based on the above problems, and its purpose is to construct a mechanism for efficiently and actively using hardware resources on the network. .
  • a network resource management apparatus is an apparatus including a processor, a system control unit that controls the operation of the entire apparatus, and execution of a program A program control unit for controlling the computer, a usage situation in which at least a part of hardware resources including the processor in the external device is used for executing program processing via the network, and a hardware including the processor in the device And at least a part of the hardware resources used for processing execution by the external apparatus via the network, and a resource management unit that dynamically manages the usage status according to the situation.
  • Resource information indicating that at least a part of hardware resources including a processor in an external device is available! / Is transferred to another external device via a network. You may further provide the resource mediation part which mediates distribution.
  • This network resource management system includes a plurality of resource management terminals each including a processor and a resource mediation server.
  • Each of the plurality of resource management terminals includes at least hardware resources including a system control unit that controls the operation of the entire terminal, a program control unit that controls program execution, and a plug processor in another terminal.
  • a resource management unit that dynamically manages the usage status according to the status.
  • the resource mediation server receives resource information indicating that at least a part of hardware resources including a processor in the terminal is available at least one of a plurality of resource management terminals, and This is transferred to another resource management terminal via the network to mediate the distribution of resources.
  • the resource mediation server has a relationship between use and usage when a hardware resource in at least one of a plurality of resource management terminals is used for processing execution in another resource management terminal. May be recorded and sent to a server that handles billing for resource usage fees.
  • Yet another aspect of the present invention is a network resource management method.
  • the method includes generating a resource information indicating that at least a part of hardware resources including a processor in a first terminal including a processor is available; Sending the resource information to the server via the network; transferring the resource information to the second terminal; receiving the resource information to the second terminal; and sending the resource information to the second terminal.
  • FIG. 1 A configuration of a resource management network is schematically shown.
  • FIG. 2 is a diagram illustrating a hardware configuration of a user terminal.
  • FIG. 3 is a functional block diagram showing processing and operation by a user terminal or a local server.
  • FIG. 6 is a diagram showing an example of a program description for transmitting resource information from a local server to a user terminal in response to a call for user terminal power.
  • FIG. 7 is a diagram showing an example of a program description for requesting calculation from a local server.
  • FIG. 8 is a diagram showing an example of a program description for calculation execution and result return by the local server.
  • FIG. 9 is a diagram illustrating an example of a program description for transmitting resource information from a network sano to a user terminal in response to a call for user terminal power.
  • FIG. 10 is a diagram showing an example of program description for requesting calculation of the user terminal power to the network server.
  • FIG. 11 A diagram showing an example of a program description for calculation execution and result return by the network server.
  • FIG. 12 A schematic diagram of the mechanism of a distributed processing search engine in an application example.
  • FIG. 13 is a diagram showing a program description example for providing a search function to other nodes.
  • FIG. 14 is a diagram illustrating a program description example for using the search function of another node.
  • FIG. 15 is a diagram illustrating a program description example for executing a search function.
  • FIG. 16 is a diagram showing a program description example for requesting a search for other nodes to the resource mediation function.
  • FIG. 17 is a diagram illustrating a program description example for linking a search function with another node.
  • Network server 22 MPU, 24 PU, 30 SPU, 48 Resource management function, 50 Resource mediation function, 52 Service provider, 54 Resource mediation gateway, 70 System control unit, 72 Program control unit, 74 Resource management unit, 76 Resource Intermediary Department
  • the computer when a computer executes a specific process, the computer It realizes a scalable environment that can use the processors of other devices in the network to which the computer is connected in addition to the processor in the computer.
  • the provision of hardware resources from each computer is uniformly managed on the network, and a mechanism for controlling the allocation of distributed processing and data transfer is established.
  • a mechanism to actively use each resource provided on the network and an incentive trading system to promote the distribution management, use and use of such resources will be established.
  • the use and provision of hardware resources will be promoted by providing sufficient versatility and openness to the mechanism of use and provision of hardware resources, and the use and provision of dynamically changing resources will be handled comprehensively. Promote resource use.
  • FIG. 1 schematically shows the configuration of the resource management network 10.
  • the resource management network 10 includes the Internet 14 and computers such as a LAN 12 and a user terminal 16 connected to the Internet 14. Each user terminal 16 may be connected directly to the Internet 14 or may be connected to the Internet 14 via a LAN 12 such as a home network or a corporate network.
  • a network server 20 Connected to the Internet 14 is a network server 20 that manages and controls resource use and provision between user terminals 16.
  • a local server 18 such as a home server that manages and controls resource use and provision between user terminals 16 connected in the LAN 12 may be connected to the LAN 12.
  • Resource use and provision may be executed between the user terminals 16 in the LAN 12, and resource use and provision may be executed between the user terminals 16 via the Internet 14.
  • the user terminal 16 may execute resource use and provision with the local server 18.
  • hardware resources are shared among multiple user terminals 16 and local servers 18 via the Internet 14 and LAN 12, and these resources are used in a complementary manner to achieve distributed processing, thereby enabling independent processing.
  • the processing capacity of each stage can be improved rather than executing.
  • FIG. 2 illustrates a hardware configuration of the user terminal 16.
  • the user terminal 16 includes a microprocessor unit (MPU) 22, a graphics processing unit (GPU) 40, a main memory 42, an auxiliary storage device (HDD) 44, and a network control unit 46, which are connected via a main bus 38.
  • the network controller 46 is connected via the LAN 12 or the Internet 14. Data is transmitted to and received from other user terminals 16.
  • the MPU 22 is an asymmetric multiprocessor unit, and has one main processing unit (PU) 24 and a plurality of sub processing units (SPUs) 30, each of which is connected via the internal bus 36 of the MPU 22.
  • the PU 24 is a unit that processes the control of the OS and each SPU 30, and includes a processor 26 and a local memory 28.
  • the local memory 28 is, for example, a cache memory.
  • Each SPU 30 is a unit for processing operations centering on product-sum calculations, and includes a processor 32 and a local memory 34, respectively. Programs and data read from the main memory 42 are written into the local memory 34 and executed by the processor 32.
  • Each SPU 30 executes calculations necessary for image processing and data conversion processing in a distributed manner under the control of the PU 24. Which SPU 30 executes the calculation, the content of the calculation, and the scheduled execution time are managed by the PU 24.
  • the user terminal 16 includes one MPU 22, but the local server 18 includes a plurality of MPUs 22 and has a higher processing capability than the user terminal 16. Similarly to the user terminal 16, the local server 18 also uses and provides the node resource resources with other terminals and servers.
  • FIG. 3 is a functional block diagram showing processing and operation by the user terminal 16, the local server 18, and the network server 20.
  • the user terminal 16 includes a system control unit 70, a program control unit 72, a resource management unit 74, and a resource mediation unit 76.
  • the power of each part is mainly realized by the OS and various programs loaded from the HDD 44 to the main memory 42.
  • the functional blocks realized by their cooperation are drawn. Therefore, those skilled in the art will understand that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof.
  • the system control unit 70 controls the entire user terminal 16 mainly by the OS.
  • the program control unit 72 controls the operation of a program executed on the user terminal 16.
  • the resource management unit 74 is realized mainly by the operation of the PU 24, and determines which resources can be provided to the outside in the user terminal 16, and further adjusts the resource binding time and adaptable time for the provision. Resource management function to manage automatically.
  • the resource intermediary unit 76 is also realized mainly by the operation of the PU 24, and is used to mediate resource distribution on the network. Execute the function.
  • the hardware resources to be managed by the resource management unit 74 are storage devices such as the PU 24 itself, a plurality of SPUs 30 and!, A processing unit, and the main memory 42. Each processing unit is managed in units of internal components such as the processor 26, the processor 32, the low power memory 28, and the local memory 34, and may be provided for use by external power.
  • the resource management unit 74 dynamically manages which SPU 30 processor 32 and local memory 34 can be provided for a plurality of SPUs 30.
  • the resource management unit 74 uses the network control unit 46 to store resource information that describes what hardware resources can be provided in the user terminal 16 among the other user terminals 16, the local server 18, and the network server 20. And send to either as appropriate.
  • the resource management unit 74 When the resource management unit 74 receives resource information from another user terminal 16 via the network control unit 46, the use of resources of the other user terminal 16 described in the resource information can be appropriately determined.
  • the resource management unit 74 distributes specific processing in the program executed by the program control unit 72 to a plurality of SPUs 30 and external resources.
  • the resource management unit 74 dynamically manages which external user terminal 16 is provided with which internal resources, processing contents to be executed by the provision, processing time, and the like.
  • the resource manager 74 can also reserve the use of internal resources for external provision.
  • the resource management unit 74 dynamically manages the power of which resource of which external user terminal 16 is used, the processing content to be executed externally and the processing time, and the like.
  • the resource management unit 74 determines which resource is to be used, the calculation time to use it, the storage capacity, the amount of data, and the distributed content by assembling at the time of program execution, and the call information specifying them is determined. Generate. Resources to which processing is assigned by the call information and the processing content are resources or processing content for specific uses such as image processing, content generation processing, and data conversion processing. The allocation of which hardware resources are actually used may be left to the local server 18 or the network server 20, but which resource of which user terminal 16 is specifically used according to the request from the program side. The resource management unit 74 clearly specifies the power to use or the power to use any specified resource in the call information. These are the response time and process details required to execute the requested process.
  • the resource management unit 74 decides according to the load level or the like, or the resource management unit 74 decides according to the explicit designation described in the executed program.
  • a resource to be processed or a plurality of candidates may be designated.
  • the call information further specifies at least one of data, procedure, and functional process to be used.
  • the calling user terminal 16 is specified as the return destination of the processing result. In the case of a call to a local resource, the specification of the return destination may be omitted.
  • designation of resources and processing contents is described using tags whose structure is defined in advance by a meta language such as XML (Extensible Markup Language). Call information is formed in the form of a collection of such descriptions.
  • FIG. 4 logically illustrates a mechanism for mediating resources on a network.
  • a plurality of resource mediation functions 50 included in the resource management network 10 represent resource mediation functions realized by the resource mediation unit 76 of the user terminal 16, the local server 18, and the network server 20, respectively.
  • the resource mediation function 50 transmits / receives and exchanges resource information with the resource mediation function 50 executed in the other user terminal 16, the local server 18, and the network server 20.
  • the resource mediation function 50 mediates resource distribution by sending resource information received from another user terminal 16, local server 18, and network server 20 to another user terminal 16, local server 18, and network server 20. To connect resource users and providers.
  • Network nodes such as the user terminal 16, resource server 18, and network server 20 that implement the resource mediation function 50 are managed by a system such as DNS (Domain Name System) in the connected network, and appropriate from each node.
  • DNS Domain Name System
  • the resource information can be exchanged by calling the resource mediation function 50 of the neighboring node.
  • the resource mediation function 50 of the node that received the call sends resource information to the resource mediation function 50 of the calling node.
  • FIG. 5 logically illustrates a mechanism for overall management of resource mediation on a network.
  • Multiple resource mediation functions 50 are connected directly or indirectly to the resource mediation gateway 54.
  • the resource mediation gateway 54 is connected to a service provider 52 that is a provider of the resource distribution service in the resource management network 10.
  • the resource mediation function 50 is used to record the history information of which terminal used which resource and which terminal resource.
  • the history information as to whether it has been provided to the terminal is transmitted to the service provider 52 via the predetermined resource mediation gateway 54 and the predetermined network server 20. History information is sent and received using a highly secure protocol.
  • the service provider 52 accumulates the received history information and counts the number of times of use and provision, the contents, the amount, etc., and processes the charging from the user and the charging to the provider according to the counting result. Distribution and billing of resources may be handled by tokens issued by the service provider 52 via the service provider 52. The token may be used in another service provided by the service provider 52. The balance between the use and provision of resources in the user terminal 16 may be set at the limit of the user terminal 16 in advance, and at the level of the network server 20 or the like based on instructions from the service provider 52. You can set the limit!
  • the distribution of resource information itself does not necessarily go through the prescribed network server 20 or service provider 52, but the resource mediation function 50 mediates on a peer-to-peer basis even at the level between user terminals 16, so that a widely open resource distribution market is formed.
  • the usage and provision history is aggregated to the service provider 52, so that the distribution status of the entire plant is appropriately managed.
  • resource distribution is mediated by the resource mediation function 50 realized by the user terminal 16, the local server 18, and the network server 20 of each node. It may be configured to mediate resource distribution in a centralized manner.
  • RPG distributed processing role playing game
  • the user terminal 16 requests other terminals or servers to perform physical calculations necessary for rain drawing processing.
  • the user terminal 16 requests other terminals or servers to perform physical calculations necessary for rain drawing processing.
  • the user terminal 16 requests other terminals or servers to perform physical calculations necessary for rain drawing processing.
  • the resource use of the local server 18 connected to the same LAN 12 is specified.
  • User terminal 16 ⁇ The information indicating the available resources among the hardware resources of the local server 18 is appropriately notified.
  • the local server 18 performs the specified calculation and sends the result back to the user terminal 16.
  • the user terminal 16 for example, when a hero in the RPG encounters a crowd and specifies a person in a predetermined field from the crowd, a calculation request for person recognition or face recognition for the identification is made by the user. Sent from terminal 16. The terminal requested by the user terminal 16 executes the designated person recognition (face recognition) function. Specifically, the person is identified by performing image matching with the person database, and the identification result is sent back to the user terminal 16.
  • face recognition face recognition
  • FIG. 6 shows a program description example for transmitting resource information from the local server 18 to the user terminal 16 in response to a call from the user terminal 16.
  • “Register” in the resource information transmission program, the execution of the method, and the name “Consolel” are described as the destination user terminal 16.
  • the name “: HomeServer” of the local server 18 is described as the transmission source, and “profileA” in which the resources that can be provided are defined is described.
  • information such as the MPU 22 number, calculation time, and storage capacity included in the local server 18 is described. Resource information indicating these contents is sent from the oral server 18 to the user terminal 16.
  • FIG. 7 shows a program description example for requesting calculation from the user terminal 16 to the local server 18.
  • “profileA” in which resources to be used are defined, “land_areal” indicating a place where rainfall is drawn, and “conditi on-profile 1” indicating a rain condition are described.
  • FIG. 8 shows a program description example for calculation execution and result return by the local server 18.
  • “rain—fall—body” for image processing of rain in a physics program called “Phisics” !
  • execution of a method “Report” t, and “physics_report” in a result return program It is described that the execution of the method is processed in parallel as appropriate.
  • FIG. 9 shows an example of a program description for transmitting resource information from the network sano 20 to the user terminal 16 in response to a call from the user terminal 16.
  • the execution of the method “Register” in the resource information transmission program and the name “Consolel” of the destination user terminal 16 are described!
  • the name “Ne tworkServerXj” of the network server 20 is described, and “profileXl” in which the resources that can be provided are defined is described.
  • information such as the MPU 22 number, calculation time, and storage capacity included in the network server 20 is described. Resource information indicating these contents is sent to the network server 20 user terminal 16.
  • FIG. 10 shows a program description example for requesting the network server 20 to calculate the user terminal 16 as well.
  • “identify” for authentication processing in the face recognition calculation program “FaceRecognition”, execution of the method and “Net workServerX” as the request destination are described.
  • “profileXl” that specifies the resource to be used and “face-image” that indicates the object of authentication are described.
  • FIG. 11 shows an example of a program description for calculation execution and result return by the network server 20.
  • the execution of the authentication method “identify-body” in the face recognition calculation program “FaceRecognition” and the execution of the “Report” t and “id_report” in the result response program are appropriately paralleled. It is written to be processed.
  • a second application example using the resource management network 10 in the present embodiment is a distributed processing type search engine.
  • Each node on the resource management network 10 has search engine functions such as text search, image search, person search based on face image matching authentication, and database search by field or region.
  • Each node holds search results at least temporarily, shares resources and data with other search engines, and processes search in cooperation.
  • Each node has a preferred query list that lists search queries that each node is good at.
  • the criteria for whether or not you are good include, for example, the ability to return results with a short response time, or the ability to return results with high search accuracy, and the ability to return many results.
  • Each node is requested to search by many other nodes and search The preferred query list will be formed dynamically and later after the process is repeated
  • FIG. 12 schematically shows the mechanism of a distributed processing type search engine in an application example.
  • Each of the nodes connected to the resource management network 10 acts as a distributed search engine.
  • the search engines 60A to 60H are connected to each other, and the preferred query lists 62A to 62H are held as the preferred query lists.
  • the search engine 60A also receives a search query for user power, and determines whether or not the search condition included in the query is included in its preferred query list 62A.
  • the received search query includes a plurality of words such as “Tokyo Taisai” as search criteria.
  • the search engine 60A outputs the corresponding search results according to the search conditions included in the preferred query list 62A, and the search engine 60B, 60C, For 60J, it is transferred in parallel as a search query with a unique search ID and query transfer path history.
  • the search engines 60B, 60C, 60J to which the search query has been transferred also determine whether the content of the query is included in their preferred query list 62B, 62C, 62J. On the contrary, the search result is returned, and if it is included, the search result is further forwarded to another adjacent search engine. For example, since the search condition “Tokyo” is included in its preferred query list 62B, the search engine 60B returns a search result matching “Tokyo” to the search engine 60A.
  • the search engine 60C transfers the search query to the search engines 60D, 60E, and 60F because the content of the search query is not included in its preferred query list 62C.
  • the search engine 60D returns the search result matching “Tie” to the search engine 60A via the search engine 60C.
  • the search engine 60E returns the search result matching “spicy” to the search engine 60A via the search engine 60C because the search condition “spicy” is included in its own preferred query list 62E.
  • the search engine 60A totals the search results received from the search engine 60B, the search engine 60D, and the search engine 60E, calculates the AND set, and presents it to the user. [0039]
  • a limit may be set on the number of nodes or the number of hops added to the transfer path history so that the search query transfer is properly converged. The example in which the search results from each search engine are transferred so as to go back in the transfer node history has been explained, but it is also possible to return the search results directly to the search engine that is the starting point of the search.
  • Each search engine may maintain a preferred query list of adjacent or adjacent search engines on the network.
  • the search engine 60A holds, for example, the preferred category lists 62B, 62C, and 62J.
  • Each search engine can transmit the corresponding search condition only to the search engine if it is included in the preferred query list of another search engine that holds the search condition power included in the search query. , Wasteful transfers and unnecessary distribution can be reduced.
  • Each search engine stores the search result as a cache on the route for returning the search result to the search engine at the start point by simply transferring the search result.
  • the cache power also extracts the search result and returns it. This can reduce the circulation of search queries more than necessary, reduce the amount of search processing for the entire system, and increase the response speed.
  • Each search engine supports not only text search but also search such as image search and music search, as well as a search engine specialized in such special search and a search engine specializing in special search. In that case, the fact is described in the preferred query list. In particular, when each search engine maintains a preferred query list of another engine, the query transfer route is easily optimized for a special search query, and distribution efficiency and responsiveness can be improved.
  • Each search engine predicts a query that is likely to be requested in the future based on past search history and external conditions such as time zone, weather, temperature, stock price, etc. By collecting, responsiveness may be further improved.
  • the search engine may have a function to generate a search query as well as image power! /.
  • an image feature amount is extracted from one or more designated image data, and the image feature amount is transferred to another search engine as a search query.
  • the search engine is a terminal that changes frequently, such as a mobile terminal, the search query
  • the forwarding destination of Eri may be switched to a nearby search engine.
  • Each search engine may preferentially set the search engine with a relatively high return ratio of search results as the next transfer destination among the transfer destinations of search queries, and conversely, the return ratio is low. Processing may be performed to remove the engine from the transfer destination candidates.
  • FIG. 13 shows a program description example for providing a search function to other nodes.
  • the process described in this figure is executed whenever a value indicating another node is specified, and the search function “Search” is executed using the resource specified in “profile 2” for the specified node. Thus, the resource is used by the designated node.
  • FIG. 14 shows a program description example for using the search function of another node.
  • the resources of other nodes are used by executing the search function “Search” using the resources of other nodes specified by “profile2”.
  • FIG. 15 shows a program description example for executing the search function.
  • the search program “Search” is executed on its own node
  • the search program “Search” is executed on each of the other nodes
  • the result return program “search-report” is executed.
  • a value for limiting the propagation of search processing in other nodes is added.
  • FIG. 16 shows an example of a program description for requesting the resource mediation function to search for another node.
  • a node having a resource mediation function is caused to execute the method “find-resource” for resource search in the resource mediation program “Mediation”.
  • FIG. 17 shows a program description example for linking the search function with other nodes.
  • the resource search method “find—resource” of the resource mediation program “Mediation” in its own node is executed, and the resource search method “find—” of the resource mediation program “Mediation” in the neighboring nodes.
  • the execution of resource and the execution of the result response program “search—report” are processed in parallel.
  • the node of the resource mediation gateway 54 is specified in addition to the search requesting node.
  • a value is added to limit the propagation of search processing in other nodes.

Abstract

The problems how to promote resource provision over a network has not been solved, and any framework to promote the use of the resources by how to open their use of the resources has not been built. An apparatus including processors has a system control unit for controlling the operation of the whole apparatus. A program control unit controls the execution of a program. A resource management section dynamically manages the use situation that at least part of the hardware resources including a processor of an external device is used for executing a program and the used saturation that at least part of the hardware resources including a processor in the apparatus is used by an external device for executing processing depending on their saturations. A resource intermediating section intermediates circulation of resources by transferring the resource information representing that at least part of the hardware resources including the processor of an external device is usable to another external device.

Description

明 細 書  Specification
ネットワーク資源管理装置、ネットワーク資源管理システム、ネットワーク資 源管理方法  Network resource management device, network resource management system, and network resource management method
技術分野  Technical field
[0001] この発明は、ネットワーク資源管理装置に関する。この発明は特に、ネットワーク資 源管理装置における分散処理の技術に関する。  [0001] The present invention relates to a network resource management apparatus. The present invention particularly relates to a technique for distributed processing in a network resource management apparatus.
背景技術  Background art
[0002] 従来、ネットワークに接続されたコンピュータの資源を分散処理に利用する技術に おいては、ネットワーク上に提供される資源を統一的に管理して制御するための十分 な仕組みが存在しなカゝつた。  [0002] Conventionally, in a technology that uses resources of a computer connected to a network for distributed processing, there is no sufficient mechanism for uniformly managing and controlling resources provided on the network. Katsuta.
発明の開示  Disclosure of the invention
発明が解決しょうとする課題  Problems to be solved by the invention
[0003] たとえば、ネットワーク上の分散オブジェクトを呼び出すためのスキームとしては CO RBA (Common Object Request Broker Architecture)が知られている。し力し、 COR BAでは複数の装置に分散されたオブジェクト間の通信を規定するに留まり、そうした オブジェクトをもった装置の構成を動的に変更、追加すると ヽつた利用は想定されて おらず、対応が困難である。  [0003] For example, CORBA (Common Object Request Broker Architecture) is known as a scheme for calling distributed objects on a network. However, COR BA only regulates communication between objects distributed to multiple devices, and it is not expected to be used in a case where the configuration of a device with such objects is dynamically changed or added. It is difficult to respond.
[0004] たとえば、複数のコンピュータを相互接続した上でこれを 1台のコンピュータのように 動作させる技術としてクラスタリングが知られている。しかし、クラスタリングにおいては 、複数のコンピュータ間でハードウェア構成、 CPU、 OSなどが均質化ないし統一さ れている必要があり、不特定多数のコンピュータ資源を動的に追加したり変更したり するような利用は想定されて ヽな ヽ。  [0004] For example, clustering is known as a technique for connecting a plurality of computers and operating them like a single computer. However, in clustering, the hardware configuration, CPU, OS, etc. must be homogenized or unified among multiple computers, so that an unspecified number of computer resources can be added or changed dynamically. Is expected to be used.
[0005] 一方、ネットワーク上の複数のコンピュータを接続して一つのコンピュータを仮想的 に構築し、そのな力から必要とする処理能力に応じた資源を取り出して利用するシス テムであるグリッドコンピューティングが知られている。しかし、グリッドコンビユーティン グはネットワーク上の資源をどのように接続して処理を分散するかと 、つた処理面で の課題を解決するための技術にすぎず、資源提供を ヽかに促進するかと!/ヽつた課題 やそうした資源の利用をいかにオープンにして利用を促進するかといった枠組み構 築の課題には対応して ヽるとは言えな 、。 [0005] On the other hand, grid computing is a system in which a plurality of computers on a network are connected to virtually construct one computer, and resources are extracted and used according to the required processing capacity. It has been known. However, grid combining is only a technology for solving the problems in terms of processing, how to connect resources on the network and distribute processing, and whether to promote resource provision much more. ! And it can't be said that it will respond to the challenges of building a framework, such as how to open and promote the use of such resources.
[0006] 本発明者は以上の課題に基づき本発明をなしたもので、その目的は、ネットワーク 上のハードウェア資源を効率よく積極的に利用できるようにするための仕組みを構築 する点にある。  [0006] The present inventor has made the present invention based on the above problems, and its purpose is to construct a mechanism for efficiently and actively using hardware resources on the network. .
課題を解決するための手段  Means for solving the problem
[0007] 上記課題を解決するために、本発明のある態様のネットワーク資源管理装置は、プ 口セッサを含む装置であって、当該装置全体の動作を制御するシステム制御部と、プ ログラムの実行を制御するプログラム制御部と、外部装置内のプロセッサを含むハー ドウエア資源のうち少なくとも一部をプログラムの処理実行のためにネットワークを介 して利用する利用状況と、当該装置内のプロセッサを含むハードウェア資源のうち少 なくとも一部がネットワークを介して外部装置によって処理実行のために利用される 被利用状況と、をそれら状況に応じて動的に管理する資源管理部と、を備える。 [0007] In order to solve the above problems, a network resource management apparatus according to an aspect of the present invention is an apparatus including a processor, a system control unit that controls the operation of the entire apparatus, and execution of a program A program control unit for controlling the computer, a usage situation in which at least a part of hardware resources including the processor in the external device is used for executing program processing via the network, and a hardware including the processor in the device And at least a part of the hardware resources used for processing execution by the external apparatus via the network, and a resource management unit that dynamically manages the usage status according to the situation.
[0008] 外部装置内のプロセッサを含むハードウェア資源のうち少なくとも一部が利用可能 になって!/、ることを示す資源情報を、別の外部装置へネットワークを介して転送する ことにより資源の流通を仲介する資源仲介部をさらに備えてもよい。  [0008] Resource information indicating that at least a part of hardware resources including a processor in an external device is available! / Is transferred to another external device via a network. You may further provide the resource mediation part which mediates distribution.
[0009] 本発明の別の態様は、ネットワーク資源管理システムである。このネットワーク資源 管理システムは、それぞれプロセッサを含む複数の資源管理端末と資源仲介サーバ とを備える。複数の資源管理端末のそれぞれは、当該端末全体の動作を制御するシ ステム制御部と、プログラムの実行を制御するプログラム制御部と、別の端末内のプ 口セッサを含むハードウェア資源のうち少なくとも一部をプログラムの処理実行のため にネットワークを介して利用する利用状況と、当該端末内のプロセッサを含むハード ウェア資源のうち少なくとも一部がネットワークを介して別の端末によって処理実行の ために利用される被利用状況と、をそれら状況に応じて動的に管理する資源管理部 と、を有する。資源仲介サーバは、複数の資源管理端末のうち少なくともいずれかの 端末力 その端末内のプロセッサを含むハードウェア資源のうち少なくとも一部が利 用可能になっていることを示す資源情報を受信し、これを別の資源管理端末へネット ワークを介して転送することにより資源の流通を仲介する。 [0010] 資源仲介サーバは、複数の資源管理端末のうち少なくともいずれかの端末におけ るハードウェア資源が別の資源管理端末における処理実行のために利用されたとき にその利用と被利用の関係を記録し、その記録を資源利用料の課金を処理するサ ーバへ送信してもよい。 [0009] Another aspect of the present invention is a network resource management system. This network resource management system includes a plurality of resource management terminals each including a processor and a resource mediation server. Each of the plurality of resource management terminals includes at least hardware resources including a system control unit that controls the operation of the entire terminal, a program control unit that controls program execution, and a plug processor in another terminal. Usage status of using part of the program via the network for program processing execution, and at least part of the hardware resources including the processor in the terminal used for processing execution by another terminal via the network And a resource management unit that dynamically manages the usage status according to the status. The resource mediation server receives resource information indicating that at least a part of hardware resources including a processor in the terminal is available at least one of a plurality of resource management terminals, and This is transferred to another resource management terminal via the network to mediate the distribution of resources. [0010] The resource mediation server has a relationship between use and usage when a hardware resource in at least one of a plurality of resource management terminals is used for processing execution in another resource management terminal. May be recorded and sent to a server that handles billing for resource usage fees.
[0011] 本発明のさらに別の態様は、ネットワーク資源管理方法である。この方法は、プロセ ッサを含む第 1の端末力 当該第 1の端末内のプロセッサを含むハードウェア資源の うち少なくとも一部が利用可能になっていることを示す資源情報を生成するステップと 、資源情報をネットワーク経由でサーバへ送信するステップと、資源情報を受信した サーバがこれを第 2の端末へ転送するステップと、資源情報が転送された第 2の端末 力 その資源情報に基づいて第 1の端末内のプロセッサを含むハードウェア資源のう ち少なくとも一部を当該第 2の端末における処理実行のために利用するステップと、 第 1の端末が当該第 1の端末におけるハードウェア資源がネットワークを介して第 2の 端末によって処理実行のために利用される被利用状況を記録するステップと、第 2の 端末が第 1の端末におけるハードウェア資源をネットワークを介して当該第 2の端末 における処理実行のために利用する利用状況を記録するステップと、を含む。  [0011] Yet another aspect of the present invention is a network resource management method. The method includes generating a resource information indicating that at least a part of hardware resources including a processor in a first terminal including a processor is available; Sending the resource information to the server via the network; transferring the resource information to the second terminal; receiving the resource information to the second terminal; and sending the resource information to the second terminal. A step of using at least a part of hardware resources including a processor in one terminal for execution of processing in the second terminal; and a hardware resource in the first terminal being a network resource in the first terminal. Recording the usage status used for processing execution by the second terminal via the second terminal and the second terminal using the hardware resources in the first terminal. Comprising a step of recording usage utilized for processing performed in the second terminal via the network.
[0012] なお、以上の構成要素の任意の組合せや、本発明の構成要素や表現を方法、装 置、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体、 データ構造などの間で相互に置換したものもまた、本発明の態様として有効である。 発明の効果 [0012] It should be noted that any combination of the above-described constituent elements, and the constituent elements and expressions of the present invention are mutually replaced between a method, an apparatus, a system, a computer program, a recording medium storing the computer program, a data structure, and the like. These are also effective as an embodiment of the present invention. The invention's effect
[0013] 本発明によれば、ネットワーク上のハードウェア資源を効率よく積極的に利用できる ようにするための仕組みを構築することができる。  [0013] According to the present invention, it is possible to construct a mechanism for efficiently and actively using hardware resources on a network.
図面の簡単な説明  Brief Description of Drawings
[0014] [図 1]リソースマネジメントネットワークの構成を模式的に示す。 [0014] [Fig. 1] A configuration of a resource management network is schematically shown.
[図 2]ユーザ端末のハードウェア構成を例示する図である。  FIG. 2 is a diagram illustrating a hardware configuration of a user terminal.
[図 3]ユーザ端末またはローカルサーバによる処理や動作を示す機能ブロック図であ る。  FIG. 3 is a functional block diagram showing processing and operation by a user terminal or a local server.
[図 4]ネットワーク上で資源を仲介する仕組みを論理的に示す。  [Figure 4] Logically shows the mechanism for mediating resources on the network.
[図 5]ネットワーク上で資源仲介を全体的に管理する仕組みを論理的に示す。 [図 6]ユーザ端末力 の呼出に応答してローカルサーノくからユーザ端末への資源情 報を送信するためのプログラム記述例を示す図である。 [Figure 5] Logically shows the overall management mechanism for resource mediation on the network. FIG. 6 is a diagram showing an example of a program description for transmitting resource information from a local server to a user terminal in response to a call for user terminal power.
[図 7]ユーザ端末力 ローカルサーバに対して計算を依頼するためのプログラム記述 例を示す図である。 FIG. 7 is a diagram showing an example of a program description for requesting calculation from a local server.
[図 8]ローカルサーバによる計算実行と結果返信のためのプログラム記述例を示す図 である。  FIG. 8 is a diagram showing an example of a program description for calculation execution and result return by the local server.
[図 9]ユーザ端末力 の呼出に応答してネットワークサーノ からユーザ端末への資源 情報を送信するためのプログラム記述例を示す図である。  FIG. 9 is a diagram illustrating an example of a program description for transmitting resource information from a network sano to a user terminal in response to a call for user terminal power.
[図 10]ユーザ端末力もネットワークサーバに対して計算を依頼するためのプログラム 記述例を示す図である。  FIG. 10 is a diagram showing an example of program description for requesting calculation of the user terminal power to the network server.
[図 11]ネットワークサーバによる計算実行と結果返信のためのプログラム記述例を示 す図である。  [Fig. 11] A diagram showing an example of a program description for calculation execution and result return by the network server.
[図 12]応用例における分散処理型の検索エンジンの仕組みを模式的に示す。  [Fig. 12] A schematic diagram of the mechanism of a distributed processing search engine in an application example.
[図 13]他のノードへの検索機能を提供するためのプログラム記述例を示す図である。  FIG. 13 is a diagram showing a program description example for providing a search function to other nodes.
[図 14]他のノードの検索機能を利用するためのプログラム記述例を示す図である。  FIG. 14 is a diagram illustrating a program description example for using the search function of another node.
[図 15]検索機能を実行するためのプログラム記述例を示す図である。  FIG. 15 is a diagram illustrating a program description example for executing a search function.
[図 16]資源仲介機能に対して他のノードの探索を要求するためのプログラム記述例 を示す図である。  FIG. 16 is a diagram showing a program description example for requesting a search for other nodes to the resource mediation function.
[図 17]他のノードとの間で検索機能を連係するためのプログラム記述例を示す図で ある。  FIG. 17 is a diagram illustrating a program description example for linking a search function with another node.
符号の説明  Explanation of symbols
[0015] 10 リソースマネジメントネットワーク、 16 ユーザ端末、 18 ローカルサーバ、 [0015] 10 resource management network, 16 user terminal, 18 local server,
20 ネットワークサーバ、 22 MPU、 24 PU、 30 SPU、 48 資源管理機能 、 50 資源仲介機能、 52 サービスプロバイダ、 54 資源仲介ゲートウェイ、 7 0 システム制御部、 72 プログラム制御部、 74 資源管理部、 76 資源仲介部 20 Network server, 22 MPU, 24 PU, 30 SPU, 48 Resource management function, 50 Resource mediation function, 52 Service provider, 54 Resource mediation gateway, 70 System control unit, 72 Program control unit, 74 Resource management unit, 76 Resource Intermediary Department
発明を実施するための最良の形態 BEST MODE FOR CARRYING OUT THE INVENTION
[0016] 本実施の形態においては、コンピュータで特定の処理を実行するときに、当該コン ピュータ内のプロセッサだけでなぐそのコンピュータが接続されたネットワーク内に おける他の装置のプロセッサをも利用できるスケーラビリティを確保した環境を実現 する。そのために、各コンピュータからのハードウェア資源の提供をネットワーク上で 統一的に管理し、分散処理の割り当てやデータ受け渡しを制御する仕組みを構築す る。また、ネットワーク上に提供された各資源を積極的に利用するための仕組みや、 そうした資源の流通管理や利用および被利用を促進するためのインセンティブ取引 制度を構築する。さらに、ハードウェア資源の利用や提供の仕組みに十分な汎用性 、公開性をもたせることによって利用と提供を促進するとともに、動的に変化する資源 の利用および提供を包括的に処理することでさらに資源利用の促進を図る。 In the present embodiment, when a computer executes a specific process, the computer It realizes a scalable environment that can use the processors of other devices in the network to which the computer is connected in addition to the processor in the computer. For this purpose, the provision of hardware resources from each computer is uniformly managed on the network, and a mechanism for controlling the allocation of distributed processing and data transfer is established. In addition, a mechanism to actively use each resource provided on the network and an incentive trading system to promote the distribution management, use and use of such resources will be established. In addition, the use and provision of hardware resources will be promoted by providing sufficient versatility and openness to the mechanism of use and provision of hardware resources, and the use and provision of dynamically changing resources will be handled comprehensively. Promote resource use.
[0017] 図 1は、リソースマネジメントネットワーク 10の構成を模式的に示す。リソースマネジ メントネットワーク 10は、インターネット 14と、インターネット 14に接続された LAN12 やユーザ端末 16などのコンピュータで構成される。各ユーザ端末 16は、インターネッ ト 14に直接接続されている場合と、ホームネットワークや企業内ネットワークなどの L AN12を経由してインターネット 14に接続されている場合がある。インターネット 14に は、ユーザ端末 16間の資源利用および提供を管理、制御するネットワークサーバ 20 が接続されている。 LAN12には、 LAN12内に接続されたユーザ端末 16間におけ る資源利用および提供を管理、制御するホームサーバなどのローカルサーバ 18が 接続されていてもよい。 LAN12内におけるユーザ端末 16同士で資源利用および提 供を実行してもよいし、インターネット 14を介したユーザ端末 16同士で資源利用及 び提供を実行してもよい。ユーザ端末 16は、ローカルサーバ 18との間で資源利用お よび提供を実行してもよい。このように、インターネット 14および LAN12を介して複 数のユーザ端末 16やローカルサーバ 18の間でハードウェア資源を共有し、そうした 資源を相補的に利用して分散処理を図ることにより、単独で処理実行するよりも各段 の処理能力向上を図ることができる。  FIG. 1 schematically shows the configuration of the resource management network 10. The resource management network 10 includes the Internet 14 and computers such as a LAN 12 and a user terminal 16 connected to the Internet 14. Each user terminal 16 may be connected directly to the Internet 14 or may be connected to the Internet 14 via a LAN 12 such as a home network or a corporate network. Connected to the Internet 14 is a network server 20 that manages and controls resource use and provision between user terminals 16. A local server 18 such as a home server that manages and controls resource use and provision between user terminals 16 connected in the LAN 12 may be connected to the LAN 12. Resource use and provision may be executed between the user terminals 16 in the LAN 12, and resource use and provision may be executed between the user terminals 16 via the Internet 14. The user terminal 16 may execute resource use and provision with the local server 18. In this way, hardware resources are shared among multiple user terminals 16 and local servers 18 via the Internet 14 and LAN 12, and these resources are used in a complementary manner to achieve distributed processing, thereby enabling independent processing. The processing capacity of each stage can be improved rather than executing.
[0018] 図 2は、ユーザ端末 16のハードウェア構成を例示する。ユーザ端末 16は、マイクロ プロセッサユニット(MPU) 22、グラフィクス処理ユニット(GPU) 40、メインメモリ 42、 補助記憶装置 (HDD) 44、ネットワーク制御部 46を備え、それぞれがメインバス 38を 介して接続される。ネットワーク制御部 46は、 LAN12またはインターネット 14を介し て他のユーザ端末 16との間でデータを送受信する。 FIG. 2 illustrates a hardware configuration of the user terminal 16. The user terminal 16 includes a microprocessor unit (MPU) 22, a graphics processing unit (GPU) 40, a main memory 42, an auxiliary storage device (HDD) 44, and a network control unit 46, which are connected via a main bus 38. The The network controller 46 is connected via the LAN 12 or the Internet 14. Data is transmitted to and received from other user terminals 16.
[0019] MPU22は、非対称型のマルチプロセッサユニットであり、一つのメイン処理ュ-ッ ト(PU) 24と複数のサブ処理ユニット(SPU) 30を有し、それぞれが MPU22の内部 バス 36を介して接続される。 PU24は、 OSや各 SPU30の制御を処理するユニットで あり、プロセッサ 26とローカルメモリ 28を含む。ローカルメモリ 28は、たとえばキヤッシ ュメモリである。各 SPU30は、積和計算を中心とする演算を処理するユニットであり、 それぞれプロセッサ 32とローカルメモリ 34を含む。メインメモリ 42から読み出されたプ ログラムやデータがローカルメモリ 34に書き込まれてプロセッサ 32により実行される。 各 SPU30は、 PU24による制御の下で画像処理やデータ変換処理などに必要な計 算を分散して実行する。いずれの SPU30が計算を実行するか、計算の内容、および 実行予定時間は、 PU24により管理される。なお、ユーザ端末 16は一つの MPU22 を備えるが、ローカルサーバ 18は複数の MPU22を備え、ユーザ端末 16よりもさらに 高い処理能力を有する。ローカルサーバ 18もまた、ユーザ端末 16と同様に他の端 末やサーバとの間でノヽードウエア資源の利用および提供をする。  The MPU 22 is an asymmetric multiprocessor unit, and has one main processing unit (PU) 24 and a plurality of sub processing units (SPUs) 30, each of which is connected via the internal bus 36 of the MPU 22. Connected. The PU 24 is a unit that processes the control of the OS and each SPU 30, and includes a processor 26 and a local memory 28. The local memory 28 is, for example, a cache memory. Each SPU 30 is a unit for processing operations centering on product-sum calculations, and includes a processor 32 and a local memory 34, respectively. Programs and data read from the main memory 42 are written into the local memory 34 and executed by the processor 32. Each SPU 30 executes calculations necessary for image processing and data conversion processing in a distributed manner under the control of the PU 24. Which SPU 30 executes the calculation, the content of the calculation, and the scheduled execution time are managed by the PU 24. The user terminal 16 includes one MPU 22, but the local server 18 includes a plurality of MPUs 22 and has a higher processing capability than the user terminal 16. Similarly to the user terminal 16, the local server 18 also uses and provides the node resource resources with other terminals and servers.
[0020] 図 3は、ユーザ端末 16、ローカルサーバ 18、ネットワークサーバ 20による処理や動 作を示す機能ブロック図である。以下、ユーザ端末 16を例に説明する。ユーザ端末 1 6は、システム制御部 70、プログラム制御部 72、資源管理部 74、資源仲介部 76を備 える。各部は主に HDD44からメインメモリ 42にロードされる OSや各種プログラムによ つて実現される力 ここではそれらの連携によって実現される機能ブロックを描 、て ヽ る。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、または それらの組合せによっていろいろな形で実現できることは、当業者には理解されると ころである。 FIG. 3 is a functional block diagram showing processing and operation by the user terminal 16, the local server 18, and the network server 20. Hereinafter, the user terminal 16 will be described as an example. The user terminal 16 includes a system control unit 70, a program control unit 72, a resource management unit 74, and a resource mediation unit 76. The power of each part is mainly realized by the OS and various programs loaded from the HDD 44 to the main memory 42. Here, the functional blocks realized by their cooperation are drawn. Therefore, those skilled in the art will understand that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof.
[0021] システム制御部 70は、主に OSによってユーザ端末 16全体を制御する。プログラム 制御部 72は、ユーザ端末 16上で実行されるプログラムの動作を制御する。資源管 理部 74は、主に PU24の動作によって実現され、ユーザ端末 16内でどの資源が外 部へ提供可能か、さらにその提供のためにその資源の拘束可能時間や適応可能時 間を動的に管理する資源管理機能を実現する。資源仲介部 76もまた主に PU24の 動作によって実現され、ネットワーク上における資源の流通を仲介するための資源仲 介機能を実行する。 [0021] The system control unit 70 controls the entire user terminal 16 mainly by the OS. The program control unit 72 controls the operation of a program executed on the user terminal 16. The resource management unit 74 is realized mainly by the operation of the PU 24, and determines which resources can be provided to the outside in the user terminal 16, and further adjusts the resource binding time and adaptable time for the provision. Resource management function to manage automatically. The resource intermediary unit 76 is also realized mainly by the operation of the PU 24, and is used to mediate resource distribution on the network. Execute the function.
[0022] 資源管理部 74により管理対象となるハードウェア資源は、たとえば PU24自身ゃ複 数の SPU30と!、つた処理ユニットやメインメモリ 42などの記憶装置である。各処理ュ ニットは、プロセッサ 26、プロセッサ 32、ロー力ノレメモリ 28、ローカルメモリ 34などの内 部の構成要素を単位として管理され、外部力もの利用に提供されてもよい。資源管 理部 74は、複数の SPU30については、どの SPU30のプロセッサ 32およびローカル メモリ 34が提供可能かを動的に管理する。資源管理部 74は、ユーザ端末 16内でど のハードウェア資源が提供可能力を記述した資源情報を、ネットワーク制御部 46を 介して他のユーザ端末 16、ローカルサーバ 18、ネットワークサーバ 20のうち少なくと もいずれかへ適宜送る。  The hardware resources to be managed by the resource management unit 74 are storage devices such as the PU 24 itself, a plurality of SPUs 30 and!, A processing unit, and the main memory 42. Each processing unit is managed in units of internal components such as the processor 26, the processor 32, the low power memory 28, and the local memory 34, and may be provided for use by external power. The resource management unit 74 dynamically manages which SPU 30 processor 32 and local memory 34 can be provided for a plurality of SPUs 30. The resource management unit 74 uses the network control unit 46 to store resource information that describes what hardware resources can be provided in the user terminal 16 among the other user terminals 16, the local server 18, and the network server 20. And send to either as appropriate.
[0023] 資源管理部 74が他のユーザ端末 16からネットワーク制御部 46を介して資源情報 を受け取った場合、その資源情報に記述された他のユーザ端末 16の資源の利用を 適宜決定できる。資源管理部 74は、プログラム制御部 72により実行されるプログラム における特定の処理を複数の SPU30および外部の資源に分散処理させる。資源管 理部 74は、外部のどのユーザ端末 16に対して内部のどの資源を提供している力、そ の提供によって実行することとなる処理内容、処理時間などを動的に管理する。資源 管理部 74は、外部への提供のために内部の資源の使用を予約することもできる。資 源管理部 74は、外部のどのユーザ端末 16のどの資源を利用している力、その利用 において外部に実行させる処理内容、処理時間なども動的に管理する。  [0023] When the resource management unit 74 receives resource information from another user terminal 16 via the network control unit 46, the use of resources of the other user terminal 16 described in the resource information can be appropriately determined. The resource management unit 74 distributes specific processing in the program executed by the program control unit 72 to a plurality of SPUs 30 and external resources. The resource management unit 74 dynamically manages which external user terminal 16 is provided with which internal resources, processing contents to be executed by the provision, processing time, and the like. The resource manager 74 can also reserve the use of internal resources for external provision. The resource management unit 74 dynamically manages the power of which resource of which external user terminal 16 is used, the processing content to be executed externally and the processing time, and the like.
[0024] 資源管理部 74は、どの資源を利用するか、それを利用する演算時間、記憶容量、 およびデータ量と 、つた分散内容をプログラム実行時に組み立てて決定し、それらを 指定した呼出情報を生成する。呼出情報により処理が割り当てられる資源やその処 理内容は、画像処理、コンテンツ生成処理、データ変換処理などの特定用途の資源 または処理内容が対象となる。実際にどのハードウェア資源を具体的に利用するか の割当をローカルサーバ 18やネットワークサーバ 20に委ねる方式でもよいが、プロ グラム側の要求に応じて具体的にどのユーザ端末 16のどの資源を利用する力、また はどのような仕様の資源を利用する力を資源管理部 74が呼出情報にて明確に指定 する方式でもよ 、。これらは依頼する処理の実行に要求される応答時間や処理内容 、負荷の高さなどに応じて資源管理部 74が決定するか、あるいは実行されるプロダラ ムに記述された明示的な指定にしたがって資源管理部 74が決定する。呼出情報に は、処理を実行する資源またはその候補が複数指定されてもよい。呼出情報には、 使用するデータ、プロシージャ、機能プロセスのうち少なくともいずれかがさらに指定 される。呼出情報には、処理結果の返送宛先として呼出元のユーザ端末 16が指定さ れる力 ローカルの資源に対する呼出の場合には返送宛先の指定が省略されてもよ い。呼出情報は、 XML (Extensible Markup Language)などのメタ言語によりあらかじ め構造が定義されたタグを用いて資源や処理内容などの指定が記述される。そうし た記述が集合したかたちで呼出情報が形成される。 [0024] The resource management unit 74 determines which resource is to be used, the calculation time to use it, the storage capacity, the amount of data, and the distributed content by assembling at the time of program execution, and the call information specifying them is determined. Generate. Resources to which processing is assigned by the call information and the processing content are resources or processing content for specific uses such as image processing, content generation processing, and data conversion processing. The allocation of which hardware resources are actually used may be left to the local server 18 or the network server 20, but which resource of which user terminal 16 is specifically used according to the request from the program side. The resource management unit 74 clearly specifies the power to use or the power to use any specified resource in the call information. These are the response time and process details required to execute the requested process. The resource management unit 74 decides according to the load level or the like, or the resource management unit 74 decides according to the explicit designation described in the executed program. In the call information, a resource to be processed or a plurality of candidates may be designated. The call information further specifies at least one of data, procedure, and functional process to be used. In the call information, the calling user terminal 16 is specified as the return destination of the processing result. In the case of a call to a local resource, the specification of the return destination may be omitted. In the call information, designation of resources and processing contents is described using tags whose structure is defined in advance by a meta language such as XML (Extensible Markup Language). Call information is formed in the form of a collection of such descriptions.
[0025] 図 4は、ネットワーク上で資源を仲介する仕組みを論理的に示す。リソースマネジメ ントネットワーク 10に含まれる複数の資源仲介機能 50は、それぞれユーザ端末 16、 ローカルサーバ 18、ネットワークサーバ 20の資源仲介部 76によって実現される資源 仲介機能を表す。資源仲介機能 50は、他のユーザ端末 16、ローカルサーバ 18、ネ ットワークサーバ 20において実行される資源仲介機能 50との間で資源情報を送受 信し、交換する。資源仲介機能 50は、他のユーザ端末 16やローカルサーバ 18、ネ ットワークサーバ 20から受け取った資源情報をさらに別のユーザ端末 16やローカル サーバ 18、ネットワークサーバ 20へ送ることにより、資源流通の仲介をして資源の利 用者と提供者を結びつける。資源仲介機能 50が実現されるユーザ端末 16、ロー力 ルサーバ 18、ネットワークサーバ 20などのネットワークノードは、接続されるネットヮー クにおいて DNS (Domain Name System)などのシステムで管理され、各ノードから適 切に近隣ノードの資源仲介機能 50を呼び出して資源情報を交換することができる。 呼出を受けたノードの資源仲介機能 50は、呼び出した側のノードの資源仲介機能 5 0に対して資源情報を送る。  [0025] FIG. 4 logically illustrates a mechanism for mediating resources on a network. A plurality of resource mediation functions 50 included in the resource management network 10 represent resource mediation functions realized by the resource mediation unit 76 of the user terminal 16, the local server 18, and the network server 20, respectively. The resource mediation function 50 transmits / receives and exchanges resource information with the resource mediation function 50 executed in the other user terminal 16, the local server 18, and the network server 20. The resource mediation function 50 mediates resource distribution by sending resource information received from another user terminal 16, local server 18, and network server 20 to another user terminal 16, local server 18, and network server 20. To connect resource users and providers. Network nodes such as the user terminal 16, resource server 18, and network server 20 that implement the resource mediation function 50 are managed by a system such as DNS (Domain Name System) in the connected network, and appropriate from each node. The resource information can be exchanged by calling the resource mediation function 50 of the neighboring node. The resource mediation function 50 of the node that received the call sends resource information to the resource mediation function 50 of the calling node.
[0026] 図 5は、ネットワーク上で資源仲介を全体的に管理する仕組みを論理的に示す。複 数の資源仲介機能 50は、直接的または間接的に資源仲介ゲートウェイ 54に接続さ れる。資源仲介ゲートウェイ 54は、リソースマネジメントネットワーク 10における資源 流通サービスの提供者であるサービスプロバイダ 52に接続される。資源仲介機能 50 は、どの端末がどの端末の資源を利用したかの履歴情報や、どの端末の資源をどの 端末へ提供したかの履歴情報を所定の資源仲介ゲートウェイ 54や所定のネットヮー クサーバ 20を介してサービスプロバイダ 52へ送信する。履歴情報は、セキュリティ性 の高いプロトコルを用いて送受信される。サービスプロバイダ 52は、受け取った履歴 情報を蓄積して利用と提供の回数、内容、量などを集計し、その集計結果に応じて 利用者からの課金と提供者への課金を処理する。資源の流通や課金は、サービスプ ロバイダ 52がサービスプロバイダ 52を介して発行するトークンによって処理してもよ い。トークンは、サービスプロバイダ 52が提供する別のサービスにおいても利用でき るものであってもよい。ユーザ端末 16における資源の利用と提供のバランスは、あら 力じめユーザ端末 16単位で制限が設定できてもよ 、し、サービスプロバイダ 52から の指示に基づ 、てネットワークサーバ 20などのレベルで制限が設定できてもよ!、。資 源情報の流通自体は必ずしも所定のネットワークサーバ 20やサービスプロバイダ 52 を経由しなくともユーザ端末 16間レベルでも資源仲介機能 50がピアツーピアで仲介 するので、広く開放された資源流通市場が形成されるとともに、利用と提供の履歴が サービスプロバイダ 52へ集約されるので、巿場全体の流通状況は適切に管理される 。なお、本図では各ノードのユーザ端末 16、ローカルサーバ 18、ネットワークサーバ 20によって実現される資源仲介機能 50によって資源流通が仲介される例を示したが 、変形例としては、資源仲介ゲートウェイ 54が集中的に資源流通を仲介する構成で あってもよい。 [0026] FIG. 5 logically illustrates a mechanism for overall management of resource mediation on a network. Multiple resource mediation functions 50 are connected directly or indirectly to the resource mediation gateway 54. The resource mediation gateway 54 is connected to a service provider 52 that is a provider of the resource distribution service in the resource management network 10. The resource mediation function 50 is used to record the history information of which terminal used which resource and which terminal resource. The history information as to whether it has been provided to the terminal is transmitted to the service provider 52 via the predetermined resource mediation gateway 54 and the predetermined network server 20. History information is sent and received using a highly secure protocol. The service provider 52 accumulates the received history information and counts the number of times of use and provision, the contents, the amount, etc., and processes the charging from the user and the charging to the provider according to the counting result. Distribution and billing of resources may be handled by tokens issued by the service provider 52 via the service provider 52. The token may be used in another service provided by the service provider 52. The balance between the use and provision of resources in the user terminal 16 may be set at the limit of the user terminal 16 in advance, and at the level of the network server 20 or the like based on instructions from the service provider 52. You can set the limit! The distribution of resource information itself does not necessarily go through the prescribed network server 20 or service provider 52, but the resource mediation function 50 mediates on a peer-to-peer basis even at the level between user terminals 16, so that a widely open resource distribution market is formed. At the same time, the usage and provision history is aggregated to the service provider 52, so that the distribution status of the entire plant is appropriately managed. In this figure, an example is shown in which resource distribution is mediated by the resource mediation function 50 realized by the user terminal 16, the local server 18, and the network server 20 of each node. It may be configured to mediate resource distribution in a centralized manner.
(第 1の応用例) (First application example)
本実施の形態におけるリソースマネジメントネットワーク 10を使用した第 1の応用例 としては、分散処理型のロールプレイングゲーム(RPG)が挙げられる。 LAN12内の ユーザ端末 16で RPGを実行する場合を想定する。 RPGの画面で降雨を描画する 状況になった場合に、ユーザ端末 16は他の端末またはサーバに対して降雨の描画 処理に必要な物理計算を依頼する。このような時間応答性がとくに求められる描画処 理の計算を外部へ依頼するような場合、不特定の資源と不確定の処理時間で依頼 するのは望ましくないため、ユーザ端末 16はどの端末のどのハードウェア資源を利 用するかを指定するとともに、応答時間を指定して依頼する。ここでは、たとえば同じ LAN 12に接続されたローカルサーバ 18の資源利用を指定する。ユーザ端末 16〖こ はローカルサーバ 18のハードウェア資源のうち利用可能となっている資源を示す情 報が適宜通知される。ローカルサーバ 18は、ユーザ端末 16から計算が依頼された 場合、指定された計算をしてその結果をユーザ端末 16へ送り返す。 As a first application example using the resource management network 10 in the present embodiment, there is a distributed processing role playing game (RPG). Assume that RPG is executed on user terminal 16 in LAN12. When it comes to drawing rain on the RPG screen, the user terminal 16 requests other terminals or servers to perform physical calculations necessary for rain drawing processing. When requesting the calculation of drawing processing that requires such time responsiveness to the outside, it is not desirable to request with unspecified resources and indeterminate processing time. Specify which hardware resource to use and specify the response time. Here, for example, the resource use of the local server 18 connected to the same LAN 12 is specified. User terminal 16 〖 The information indicating the available resources among the hardware resources of the local server 18 is appropriately notified. When the calculation is requested from the user terminal 16, the local server 18 performs the specified calculation and sends the result back to the user terminal 16.
[0028] ユーザ端末 16において、たとえば RPG内の主人公が群衆に遭遇する状況でその 群衆の中から所定の分野の人を特定する場合、その特定のための人物認識または 顔認識の計算依頼がユーザ端末 16から送られる。ユーザ端末 16から依頼された端 末では、指定された人物認識 (顔認識)機能を実行する。具体的には、人物データべ ースとの画像のマッチングを実行して人物を特定し、特定結果をユーザ端末 16に送 り返す。 [0028] In the user terminal 16, for example, when a hero in the RPG encounters a crowd and specifies a person in a predetermined field from the crowd, a calculation request for person recognition or face recognition for the identification is made by the user. Sent from terminal 16. The terminal requested by the user terminal 16 executes the designated person recognition (face recognition) function. Specifically, the person is identified by performing image matching with the person database, and the identification result is sent back to the user terminal 16.
[0029] 図 6は、ユーザ端末 16からの呼出に応答してローカルサーバ 18からユーザ端末 1 6への資源情報を送信するためのプログラム記述例を示す。この例では、「Resourc ej t 、う資源情報送信プログラムにおける「Register」と 、うメソッドの実行と、宛先と なるユーザ端末 16として「Consolel」という名前が記述されている。送信元としては ローカルサーバ 18の名前「: HomeServer」が記述され、提供可能な資源が規定され た「profileA」が記述される。さらに、ローカルサーバ 18に含まれる MPU22の番号 や演算時間、記憶容量などの情報が記述される。これらの内容を示す資源情報が口 一カルサーバ 18からユーザ端末 16へ送られる。  FIG. 6 shows a program description example for transmitting resource information from the local server 18 to the user terminal 16 in response to a call from the user terminal 16. In this example, “Register” in the resource information transmission program, the execution of the method, and the name “Consolel” are described as the destination user terminal 16. The name “: HomeServer” of the local server 18 is described as the transmission source, and “profileA” in which the resources that can be provided are defined is described. Furthermore, information such as the MPU 22 number, calculation time, and storage capacity included in the local server 18 is described. Resource information indicating these contents is sent from the oral server 18 to the user terminal 16.
[0030] 図 7は、ユーザ端末 16からローカルサーバ 18に対して計算を依頼するためのプロ グラム記述例を示す。この例では、「Phisics」という物理計算プログラムにおける降雨 の画像処理のための「rain— fall」 t 、うメソッドの実行と、依頼先となるローカルサー ノ 18の名称「1¾011½361^^1:」が記述される。また、利用する資源が規定された「profi leA」と、降雨を描画する場所を示す「land_areal」と、降雨の条件を示す「conditi on― profile 1」が記述される。  FIG. 7 shows a program description example for requesting calculation from the user terminal 16 to the local server 18. In this example, the “rain-fall” t for rain image processing in the physical calculation program “Phisics”, the execution of the method, and the name of the requested local servo 18 “1¾011½361 ^^ 1:” Described. In addition, “profileA” in which resources to be used are defined, “land_areal” indicating a place where rainfall is drawn, and “conditi on-profile 1” indicating a rain condition are described.
[0031] 図 8は、ローカルサーバ 18による計算実行と結果返信のためのプログラム記述例を 示す。この例では、「Phisics」という物理計算プログラムにおける降雨の画像処理の ための「rain— fall— body」と!、うメソッドの実行と、「Report」 t 、う結果返信プログラ ムにおける「physics_report」と 、うメソッドの実行が適宜並列処理されるよう記述さ れている。 [0032] 図 9は、ユーザ端末 16からの呼出に応答してネットワークサーノ 20からユーザ端末 16への資源情報を送信するためのプログラム記述例を示す。この例では、資源情報 送信プログラムにおけるメソッド「Register」の実行と、宛先となるユーザ端末 16の名 前「Consolel」が記述されて!、る。送信元としてはネットワークサーバ 20の名前「Ne tworkServerXjが記述され、提供可能な資源が規定された「profileXl」が記述さ れる。さらに、ネットワークサーバ 20に含まれる MPU22の番号や演算時間、記憶容 量などの情報が記述される。これらの内容を示す資源情報がネットワークサーバ 20 力 ユーザ端末 16へ送られる。 FIG. 8 shows a program description example for calculation execution and result return by the local server 18. In this example, “rain—fall—body” for image processing of rain in a physics program called “Phisics” !, execution of a method, “Report” t, and “physics_report” in a result return program It is described that the execution of the method is processed in parallel as appropriate. FIG. 9 shows an example of a program description for transmitting resource information from the network sano 20 to the user terminal 16 in response to a call from the user terminal 16. In this example, the execution of the method “Register” in the resource information transmission program and the name “Consolel” of the destination user terminal 16 are described! As the transmission source, the name “Ne tworkServerXj” of the network server 20 is described, and “profileXl” in which the resources that can be provided are defined is described. In addition, information such as the MPU 22 number, calculation time, and storage capacity included in the network server 20 is described. Resource information indicating these contents is sent to the network server 20 user terminal 16.
[0033] 図 10は、ユーザ端末 16力もネットワークサーバ 20に対して計算を依頼するための プログラム記述例を示す。この例では、「FaceRecognition」という顔認証計算プログ ラムにおける認証処理のための「identify」と 、うメソッドの実行と、依頼先となる「Net workServerX」が記述される。また、利用する資源が規定された「profileXl」と、認 証の対象を示す「face— image」が記述される。  FIG. 10 shows a program description example for requesting the network server 20 to calculate the user terminal 16 as well. In this example, “identify” for authentication processing in the face recognition calculation program “FaceRecognition”, execution of the method and “Net workServerX” as the request destination are described. In addition, “profileXl” that specifies the resource to be used and “face-image” that indicates the object of authentication are described.
[0034] 図 11は、ネットワークサーバ 20による計算実行と結果返信のためのプログラム記述 例を示す。この例では、顔認証計算プログラム「FaceRecognition」における認証処 理のメソッド「identify— body」の実行と、「Report」 t 、う結果返信プログラムにおけ る「id_report」と 、うメソッドの実行が適宜並列処理されるよう記述されて 、る。  FIG. 11 shows an example of a program description for calculation execution and result return by the network server 20. In this example, the execution of the authentication method “identify-body” in the face recognition calculation program “FaceRecognition” and the execution of the “Report” t and “id_report” in the result response program are appropriately paralleled. It is written to be processed.
[0035] (第 2の応用例)  [0035] (Second application example)
本実施の形態におけるリソースマネジメントネットワーク 10を使用した第 2の応用例 としては、分散処理型の検索エンジンが挙げられる。リソースマネジメントネットワーク 10上の各ノードは、テキスト検索、画像検索、顔画像マッチング認証に基づく人物検 索、分野別または地域別のデータベース検索などの検索エンジン機能を有する。各 ノードは、検索結果を少なくとも一時的に保持するとともに、他の検索エンジンとの間 で資源とデータを共有し、連係して検索を処理する。  A second application example using the resource management network 10 in the present embodiment is a distributed processing type search engine. Each node on the resource management network 10 has search engine functions such as text search, image search, person search based on face image matching authentication, and database search by field or region. Each node holds search results at least temporarily, shares resources and data with other search engines, and processes search in cooperation.
[0036] 各ノードは、それぞれのノード自身が得意とする検索クエリをリストイ匕した好適クエリ リストをもつ。得意か否かの基準としては、たとえば短い応答時間で結果を返すことが できるか、高い検索精度で結果を返すことができる力 多くの結果件数を返すことが できる力、などの基準がある。各ノードが多数の他のノードから検索を依頼され、検索 を繰り返し処理するうちに、好適クエリリストが動的に、しかも事後的に形成されてゆく Each node has a preferred query list that lists search queries that each node is good at. The criteria for whether or not you are good include, for example, the ability to return results with a short response time, or the ability to return results with high search accuracy, and the ability to return many results. Each node is requested to search by many other nodes and search The preferred query list will be formed dynamically and later after the process is repeated
[0037] 図 12は、応用例における分散処理型の検索エンジンの仕組みを模式的に示す。リ ソースマネジメントネットワーク 10に接続された複数のノードの一つ一つ力 それぞれ 分散された検索エンジンの役割を果たす。本図では、検索エンジン 60A〜60Hが互 いに接続されており、それぞれの好適クエリリストとして好適クエリリスト 62A〜62Hが 保持される。 FIG. 12 schematically shows the mechanism of a distributed processing type search engine in an application example. Each of the nodes connected to the resource management network 10 acts as a distributed search engine. In this figure, the search engines 60A to 60H are connected to each other, and the preferred query lists 62A to 62H are held as the preferred query lists.
[0038] 以下、検索例を説明する。まず検索エンジン 60Aがユーザ力も検索クエリを受け取 り、そのクエリに含まれる検索条件が自己の好適クエリリスト 62Aに含まれている力否 かを判定する。受け取った検索クエリには、たとえば「東京 タイ 辛」といった複数の 単語が検索条件として含まれている。検索エンジン 60Aは、好適クエリリスト 62Aに 含まれて 、た検索条件にっ 、ては対応する検索結果を出力し、含まれて!/、なかった 検索条件については隣接する検索エンジン 60B、 60C、 60Jに対して、固有の検索 I Dとクエリの転送パス履歴を付加した検索クエリとして並行して転送する。検索クエリ が転送された検索エンジン 60B、 60C、 60Jもまた、クエリの内容が自身の好適クエリ リスト 62B、 62C、 62Jに含まれているかを判定し、含まれていた検索条件については 転送パス履歴を逆に迪つて検索結果を返送し、含まれて 、な力つた検索条件にっ 、 てはさらに別の隣接する検索エンジンへ転送する。たとえば、検索エンジン 60Bは、 検索条件「東京」が自身の好適クエリリスト 62Bに含まれて 、るので、「東京」に合致 する検索結果を検索エンジン 60Aへ返送する。検索エンジン 60Cは、検索クエリの 内容が自身の好適クエリリスト 62Cに含まれていないので、検索クエリを検索エンジン 60D、 60E、 60Fに転送する。検索エンジン 60Dは、検索条件「タイ」が自身の好適 クエリリスト 62Dに含まれているので、 「タイ」に合致する検索結果を検索エンジン 60 Cを経由して検索エンジン 60Aへ返送する。検索エンジン 60Eは、検索条件「辛」が 自身の好適クエリリスト 62Eに含まれているので、「辛」に合致する検索結果を検索ェ ンジン 60Cを経由して検索エンジン 60Aへ返送する。検索エンジン 60Aは、検索ェ ンジン 60B、検索エンジン 60D、検索エンジン 60Eのそれぞれから受け取った検索 結果を集計し、その AND集合を割り出してユーザに提示する。 [0039] 検索クエリの転送が適当に収束されるよう、転送パス履歴に付加されるノードの数な いしホップ数には制限を設けてもよい。各検索エンジンによる検索結果は転送ノード 履歴を遡るように転送される例を説明したが、検索のスタート地点となった検索ェンジ ンへ検索結果を直接返送する方式でもよ ヽ。 [0038] Hereinafter, a search example will be described. First, the search engine 60A also receives a search query for user power, and determines whether or not the search condition included in the query is included in its preferred query list 62A. The received search query includes a plurality of words such as “Tokyo Taisai” as search criteria. The search engine 60A outputs the corresponding search results according to the search conditions included in the preferred query list 62A, and the search engine 60B, 60C, For 60J, it is transferred in parallel as a search query with a unique search ID and query transfer path history. The search engines 60B, 60C, 60J to which the search query has been transferred also determine whether the content of the query is included in their preferred query list 62B, 62C, 62J. On the contrary, the search result is returned, and if it is included, the search result is further forwarded to another adjacent search engine. For example, since the search condition “Tokyo” is included in its preferred query list 62B, the search engine 60B returns a search result matching “Tokyo” to the search engine 60A. The search engine 60C transfers the search query to the search engines 60D, 60E, and 60F because the content of the search query is not included in its preferred query list 62C. Since the search condition “Tie” is included in its preferred query list 62D, the search engine 60D returns the search result matching “Tie” to the search engine 60A via the search engine 60C. The search engine 60E returns the search result matching “spicy” to the search engine 60A via the search engine 60C because the search condition “spicy” is included in its own preferred query list 62E. The search engine 60A totals the search results received from the search engine 60B, the search engine 60D, and the search engine 60E, calculates the AND set, and presents it to the user. [0039] A limit may be set on the number of nodes or the number of hops added to the transfer path history so that the search query transfer is properly converged. The example in which the search results from each search engine are transferred so as to go back in the transfer node history has been explained, but it is also possible to return the search results directly to the search engine that is the starting point of the search.
[0040] 各検索エンジンは、ネットワーク上で隣接または近接する検索エンジンの好適クエリ リストを保持しておいてもよい。本図の例では、検索エンジン 60Aがたとえば好適タエ リリスト 62B、 62C、 62Jを保持する。各検索エンジンは、検索クエリに含まれる検索条 件力 保持する他の検索エンジンの好適クエリリストに含まれて ヽればその検索ェン ジンに対してだけその対応する検索条件を転送することで、無駄な転送と必要以上 の流通を減らすことができる。  [0040] Each search engine may maintain a preferred query list of adjacent or adjacent search engines on the network. In the example of this figure, the search engine 60A holds, for example, the preferred category lists 62B, 62C, and 62J. Each search engine can transmit the corresponding search condition only to the search engine if it is included in the preferred query list of another search engine that holds the search condition power included in the search query. , Wasteful transfers and unnecessary distribution can be reduced.
[0041] 各検索エンジンは、検索結果をスタート地点の検索エンジンへ戻すルート上で、検 索結果を単に転送するだけでなぐキャッシュとして保存する。後に同様の検索クエリ が送られてきたときにキャッシュ力も検索結果を抽出して返送する。これにより、必要 以上の検索クエリの流通を減らすとともに、系全体の検索処理量を減らし、応答速度 を高めることができる。  [0041] Each search engine stores the search result as a cache on the route for returning the search result to the search engine at the start point by simply transferring the search result. When a similar search query is sent later, the cache power also extracts the search result and returns it. This can reduce the circulation of search queries more than necessary, reduce the amount of search processing for the entire system, and increase the response speed.
[0042] 各検索エンジンは、テキスト検索だけでなく画像検索や楽曲検索などの検索にも対 応するとともに、そのような特殊な検索に特化した検索エンジンや特殊な検索を得意 とする検索エンジンの場合はその好適クエリリストにその旨を記述しておく。とくに、各 検索エンジンが他のエンジンの好適クエリリストを保持する場合には、特殊な検索の クエリに対してクエリ転送ルートが最適化されやすくなり、流通効率や応答性を高める ことができる。  [0042] Each search engine supports not only text search but also search such as image search and music search, as well as a search engine specialized in such special search and a search engine specializing in special search. In that case, the fact is described in the preferred query list. In particular, when each search engine maintains a preferred query list of another engine, the query transfer route is easily optimized for a special search query, and distribution efficiency and responsiveness can be improved.
[0043] 各検索エンジンは、過去の検索履歴と、時間帯、天候、気温、株価などの外的条件 とに基づいて、今後要求される可能性の高いクエリを予測し、先行して検索結果を収 集することにより、応答性をさらに高めてもよい。  [0043] Each search engine predicts a query that is likely to be requested in the future based on past search history and external conditions such as time zone, weather, temperature, stock price, etc. By collecting, responsiveness may be further improved.
[0044] 検索エンジンの 、ずれかに、画像力も検索クエリを生成する機能をもたせてもよ!/、。  [0044] The search engine may have a function to generate a search query as well as image power! /.
たとえば、指定された一つ以上の画像データから画像特徴量を抽出し、その画像特 徴量を検索クエリとして他の検索エンジンに転送する。検索エンジンが移動端末のよ うに頻繁に接続するネットワークが変わる端末であった場合は、接続のたびに検索ク エリの転送先を近隣の検索エンジンに切り替えてもよい。各検索エンジンは、検索ク エリの転送先のうち、検索結果の返送割合が比較的高い検索エンジンを優先的に次 の転送先に設定してもよ 、し、逆に返送割合が低 、検索エンジンを転送先の候補か ら外す処理をしてもよい。 For example, an image feature amount is extracted from one or more designated image data, and the image feature amount is transferred to another search engine as a search query. If the search engine is a terminal that changes frequently, such as a mobile terminal, the search query The forwarding destination of Eri may be switched to a nearby search engine. Each search engine may preferentially set the search engine with a relatively high return ratio of search results as the next transfer destination among the transfer destinations of search queries, and conversely, the return ratio is low. Processing may be performed to remove the engine from the transfer destination candidates.
[0045] 図 13は、他のノードへの検索機能を提供するためのプログラム記述例を示す。本 図に記述された処理は、他のノードを示す値が指定されるたびに実行され、「profile 2」で特定される資源を指定ノードのために使って検索機能「Search」を実行すること により、その資源を指定ノードに利用させる。  FIG. 13 shows a program description example for providing a search function to other nodes. The process described in this figure is executed whenever a value indicating another node is specified, and the search function “Search” is executed using the resource specified in “profile 2” for the specified node. Thus, the resource is used by the designated node.
[0046] 図 14は、他のノードの検索機能を利用するためのプログラム記述例を示す。本図 に記述された処理にぉ 、ては、「profile2」で特定される他のノードの資源を使って 検索機能「Search」を実行させることにより、他のノードの資源を利用する。  FIG. 14 shows a program description example for using the search function of another node. For the processing described in this figure, the resources of other nodes are used by executing the search function “Search” using the resources of other nodes specified by “profile2”.
[0047] 図 15は、検索機能を実行するためのプログラム記述例を示す。本図に記述された 例では、自身のノードにおける検索プログラム「Search」の実行と、他の複数のノード のそれぞれに検索プログラム「Search」の実行と、結果返信プログラム「search— re port」の実行とを並列的に処理させる。また、他のノードにおける検索処理の伝搬を 制限するための値が付加されて 、る。  FIG. 15 shows a program description example for executing the search function. In the example described in this figure, the search program “Search” is executed on its own node, the search program “Search” is executed on each of the other nodes, and the result return program “search-report” is executed. Are processed in parallel. In addition, a value for limiting the propagation of search processing in other nodes is added.
[0048] 図 16は、資源仲介機能に対して他のノードの探索を要求するためのプログラム記 述例を示す。本図に記述された例では、資源仲介機能をもつノードに対して、資源 仲介プログラム「Mediation」における資源探索のためのメソッド「find—resource」 を実行させる。  FIG. 16 shows an example of a program description for requesting the resource mediation function to search for another node. In the example described in this figure, a node having a resource mediation function is caused to execute the method “find-resource” for resource search in the resource mediation program “Mediation”.
[0049] 図 17は、他のノードとの間で検索機能を連係するためのプログラム記述例を示す。  FIG. 17 shows a program description example for linking the search function with other nodes.
本図に記述された例では、自ノード内における資源仲介プログラム「Mediation」の 資源探索メソッド「find— resource]の実行と、近隣ノード内における資源仲介プログ ラム「Mediation」の資源探索メソッド「find— resource の実行と、結果返信プログラ ム「search— report」の実行とを並列的に処理させる。結果の返信先は、検索の依 頼元のノードの他、資源仲介ゲートウェイ 54のノードが指定される。また、他のノード における検索処理の伝搬を制限するための値が付加されている。  In the example described in this figure, the resource search method “find—resource” of the resource mediation program “Mediation” in its own node is executed, and the resource search method “find—” of the resource mediation program “Mediation” in the neighboring nodes. The execution of resource and the execution of the result response program “search—report” are processed in parallel. As a result return destination, the node of the resource mediation gateway 54 is specified in addition to the search requesting node. In addition, a value is added to limit the propagation of search processing in other nodes.
[0050] 以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、その 各構成要素や各処理プロセスの組合せに 、ろ 、ろな変形が可能なこと、またそうした 変形例も本発明の範囲にあることは当業者に理解されるところである。 [0050] The present invention has been described based on the embodiments. This embodiment is illustrative and its It will be understood by those skilled in the art that various combinations of each component and each treatment process are possible, and that such modifications are within the scope of the present invention.
産業上の利用可能性 Industrial applicability
ネットワーク上のハードウェア資源を効率よく積極的に利用できるようにするための 仕組みを構築することができる。  It is possible to build a mechanism that enables efficient and active use of hardware resources on the network.

Claims

請求の範囲 The scope of the claims
[1] プロセッサを含む装置であって、  [1] A device including a processor,
当該装置全体の動作を制御するシステム制御部と、  A system control unit for controlling the operation of the entire apparatus;
プログラムの実行を制御するプログラム制御部と、  A program control unit for controlling execution of the program;
外部装置内のプロセッサを含むハードウェア資源のうち少なくとも一部を前記プロ グラムの処理実行のためにネットワークを介して利用する利用状況と、当該装置内の プロセッサを含むハードウェア資源のうち少なくとも一部がネットワークを介して外部 装置によって処理実行のために利用される被利用状況と、をそれら状況に応じて動 的に管理する資源管理部と、  A usage situation in which at least a part of hardware resources including a processor in an external device is used via a network for processing execution of the program, and at least a part of hardware resources including a processor in the device A resource management unit that dynamically manages the usage status used for processing execution by an external device via a network according to the status,
を備えることを特徴とするネットワーク資源管理装置。  A network resource management device comprising:
[2] 外部装置内のプロセッサを含むハードウェア資源のうち少なくとも一部が利用可能 になって!/、ることを示す資源情報を、別の外部装置へネットワークを介して転送する ことにより資源の流通を仲介する資源仲介部をさらに備えることを特徴とする請求項 1 に記載のネットワーク資源管理装置。  [2] Resource information indicating that at least some of the hardware resources including the processor in the external device are available! / Is transferred to another external device via the network. The network resource management device according to claim 1, further comprising a resource mediation unit that mediates distribution.
[3] それぞれプロセッサを含む複数の資源管理端末と資源仲介サーバとを備え、  [3] A plurality of resource management terminals each including a processor and a resource mediation server,
前記複数の資源管理端末のそれぞれは、  Each of the plurality of resource management terminals is
当該端末全体の動作を制御するシステム制御部と、  A system control unit for controlling the operation of the entire terminal;
プログラムの実行を制御するプログラム制御部と、  A program control unit for controlling execution of the program;
別の端末内のプロセッサを含むハードウェア資源のうち少なくとも一部を前記プロ グラムの処理実行のためにネットワークを介して利用する利用状況と、当該端末内の プロセッサを含むハードウェア資源のうち少なくとも一部がネットワークを介して別の 端末によって処理実行のために利用される被利用状況と、をそれら状況に応じて動 的に管理する資源管理部と、を有し、  A usage situation in which at least a part of hardware resources including a processor in another terminal is used via a network to execute processing of the program, and at least one of hardware resources including a processor in the terminal. A resource management unit that dynamically manages the usage status used for processing execution by another terminal via a network, and dynamically managing the usage status according to the status.
前記資源仲介サーバは、前記複数の資源管理端末のうち少なくともいずれかの端 末力 その端末内のプロセッサを含むハードウェア資源のうち少なくとも一部が利用 可能になって 、ることを示す資源情報を受信し、これを別の資源管理端末へネットヮ ークを介して転送することにより資源の流通を仲介することを特徴とするネットワーク 資源管理システム。 The resource mediation server has resource information indicating that at least a part of hardware resources including a processor in the terminal is available among at least one of the plurality of resource management terminals. A network resource management system characterized by mediating distribution of resources by receiving and transferring the data to another resource management terminal via a network.
[4] 前記資源仲介サーバは、前記複数の資源管理端末のうち少なくともいずれかの端 末における前記ハードウェア資源が別の資源管理端末における処理実行のために 利用されたときにその利用と被利用の関係を記録し、その記録を資源利用料の課金 を処理するサーバへ送信することを特徴とする請求項 3に記載のネットワーク資源管 理システム。 [4] The resource mediation server is used and used when the hardware resource in at least one of the plurality of resource management terminals is used for processing execution in another resource management terminal. 4. The network resource management system according to claim 3, wherein the relationship is recorded, and the record is transmitted to a server that processes billing for the resource usage fee.
[5] プロセッサを含む第 1の端末から当該第 1の端末内のプロセッサを含むハードゥエ ァ資源のうち少なくとも一部が利用可能になっていることを示す資源情報を生成する ステップと、  [5] generating resource information indicating that at least a part of the hardware resource including the processor in the first terminal is available from the first terminal including the processor;
前記資源情報をネットワーク経由でサーバへ送信するステップと、  Transmitting the resource information to a server via a network;
前記資源情報を受信したサーバがこれを第 2の端末へ転送するステップと、 前記資源情報が転送された第 2の端末が、その資源情報に基づいて前記第 1の端 末内のプロセッサを含むハードウェア資源のうち少なくとも一部を当該第 2の端末に おける処理実行のために利用するステップと、  The server that has received the resource information transfers the resource information to a second terminal, and the second terminal to which the resource information is transferred includes a processor in the first terminal based on the resource information. Using at least a part of the hardware resources to execute processing in the second terminal;
前記第 1の端末が当該第 1の端末における前記ハードウェア資源がネットワークを 介して前記第 2の端末によって処理実行のために利用される被利用状況を記録する ステップと、  The first terminal recording a usage situation in which the hardware resource in the first terminal is used for processing execution by the second terminal via a network;
前記第 2の端末が前記第 1の端末における前記ハードウェア資源をネットワークを 介して当該第 2の端末における処理実行のために利用する利用状況を記録するステ ップと、  A step of recording a usage situation in which the second terminal uses the hardware resource in the first terminal for processing execution in the second terminal via a network;
を含むことを特徴とするネットワーク資源管理方法。  A network resource management method comprising:
PCT/JP2006/325284 2006-01-16 2006-12-19 Network resource management device, network resource management system, and network resource management method WO2007080753A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006008063A JP5100011B2 (en) 2006-01-16 2006-01-16 Network resource management apparatus, network resource management system, and network resource management method
JP2006-008063 2006-01-16

Publications (1)

Publication Number Publication Date
WO2007080753A1 true WO2007080753A1 (en) 2007-07-19

Family

ID=38256164

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/325284 WO2007080753A1 (en) 2006-01-16 2006-12-19 Network resource management device, network resource management system, and network resource management method

Country Status (2)

Country Link
JP (1) JP5100011B2 (en)
WO (1) WO2007080753A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096605B (en) * 2011-02-17 2012-10-03 成电汽车电子产业园(昆山)有限公司 Multi-level resource management implementation method in embedded real-time operation system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005208923A (en) * 2004-01-22 2005-08-04 Nippon Telegr & Teleph Corp <Ntt> Method for calculating settlement information about grid system, grid mediation device, and grid mediation program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844677A (en) * 1994-07-29 1996-02-16 Toshiba Corp Distributed processing system
JP2002351760A (en) * 2001-05-30 2002-12-06 Mitsubishi Electric Corp Device and method for decentralizing server load, and program making computer implement the same method
JP2004206273A (en) * 2002-12-24 2004-07-22 Nippon Telegr & Teleph Corp <Ntt> Computer resource trade system and computer resource trade program
JP3977298B2 (en) * 2003-07-18 2007-09-19 東日本電信電話株式会社 Grid computing system
JP2005070896A (en) * 2003-08-20 2005-03-17 Nippon Telegr & Teleph Corp <Ntt> Network system, distributed processing method, and program
JP4170285B2 (en) * 2004-02-06 2008-10-22 東日本電信電話株式会社 Usage-oriented P2P grid computing system and computer program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005208923A (en) * 2004-01-22 2005-08-04 Nippon Telegr & Teleph Corp <Ntt> Method for calculating settlement information about grid system, grid mediation device, and grid mediation program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANDRADE N. ET AL.: "OurGrid: An Approach to Easily Assemble Grids with Equitable Resource Sharing", PROCEEDINGS OF 9TH INTERNATIONAL WORKSHOP ON JOB SCHEDULING STRATEGIES FOR PARALLEL PROCESSING, vol. 2862, 24 June 2003 (2003-06-24), pages 61 - 86, XP019049433 *

Also Published As

Publication number Publication date
JP2007188455A (en) 2007-07-26
JP5100011B2 (en) 2012-12-19

Similar Documents

Publication Publication Date Title
US10491523B2 (en) Load distribution in data networks
Lee et al. Load-balancing tactics in cloud
EP2944072B1 (en) System for service allocation
JP2015537307A (en) Component-oriented hybrid cloud operating system architecture and communication method thereof
US20070083642A1 (en) Fully distributed data collection and consumption to maximize the usage of context, resource, and capacity-based client server interactions
US20100037225A1 (en) Workload routing based on greenness conditions
US10158709B1 (en) Identifying data store requests for asynchronous processing
CN103986766A (en) Self-adaptation load balancing job task scheduling method and device
CN104468299B (en) Enterprise Service Bus system based on user policy
US10102230B1 (en) Rate-limiting secondary index creation for an online table
JP6272190B2 (en) Computer system, computer, load balancing method and program thereof
CN105138679A (en) Data processing system and method based on distributed caching
CN105183470A (en) Natural language processing systematic service platform
JP5666620B2 (en) Network system and service quality control method thereof
US20070192431A1 (en) Method and apparatus for service oriented architecture infrastructure switch
JP5479710B2 (en) Processor-server hybrid system and method for processing data
CN101267449B (en) A tree P2P system resource transmission method based on mobile agent mechanism
Vashisht et al. Efficient dynamic replication algorithm using agent for data grid
Beigrezaei et al. Minimizing data access latency in data grids by neighborhood‐based data replication and job scheduling
JP2013182509A (en) Virtualization system, load distribution device, load distribution method and load distribution program
CN101388863A (en) Implementing method and system for WAP gateway extraction service
WO2007080753A1 (en) Network resource management device, network resource management system, and network resource management method
KR20030014513A (en) Meshod and System of Sharing Client Data For Distributing Load of Server
CN115426221A (en) Gateway device of Internet of things
Zhang et al. Cold-start aware cloud-native service function chain caching in resource-constrained edge: A reinforcement learning approach

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06842888

Country of ref document: EP

Kind code of ref document: A1