IT202100031202A1 - Sistema e metodo per lo scheduling di risorse in un sistema informatico distribuito - Google Patents
Sistema e metodo per lo scheduling di risorse in un sistema informatico distribuito Download PDFInfo
- Publication number
- IT202100031202A1 IT202100031202A1 IT102021000031202A IT202100031202A IT202100031202A1 IT 202100031202 A1 IT202100031202 A1 IT 202100031202A1 IT 102021000031202 A IT102021000031202 A IT 102021000031202A IT 202100031202 A IT202100031202 A IT 202100031202A IT 202100031202 A1 IT202100031202 A1 IT 202100031202A1
- Authority
- IT
- Italy
- Prior art keywords
- server
- resource
- cloud computing
- computing system
- resources
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 40
- 230000004044 response Effects 0.000 claims description 40
- 230000005540 biological transmission Effects 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000013468 resource allocation Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 4
- 238000010420 art technique Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 229920002803 thermoplastic polyurethane Polymers 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- ZYXYTGQFPZEUFX-UHFFFAOYSA-N benzpyrimoxan Chemical compound O1C(OCCC1)C=1C(=NC=NC=1)OCC1=CC=C(C=C1)C(F)(F)F ZYXYTGQFPZEUFX-UHFFFAOYSA-N 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/289—Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Description
Descrizione della domanda di brevetto per Invenzione dal titolo:
?SISTEMA E METODO PER LO SCHEDULING DI RISORSE IN UN SISTEMA INFORMATICO DISTRIBUITO?
DESCRIZIONE
La presente invenzione si riferisce ad un metodo per la condivisione e la selezione di una risorsa in un sistema di cloud computing secondo la rivendicazione 1; la presente invenzione si riferisce inoltre ad un sistema, un server, un apparato utente ed un programma per elaboratore per la condivisione e la selezione di una risorsa in un sistema di cloud computing.
Nel corso della presente descrizione, con il termine cloud computing o, equivalentemente, con i termini nuvola informatica o cloud, si far? riferimento al paradigma informatico secondo il quale una pluralit? di risorse e/o servizi detenuti da una pluralit? di fornitori (riferiti anche come server nel corso della presente descrizione) ? offerto ad una pluralit? di apparati utente (riferiti anche come client, terminali o, pi? semplicemente, utenti nel corso della presente descrizione) attraverso l?utilizzo di una rete di telecomunicazioni. Tali risorse e/o servizi possono essere per esempio delle risorse hardware di tipo fisico o virtuale, risorse di memorizzazione, risorse computazionali, risorse di trasmissione dati, servizi software, etc. Nel corso della presente descrizione con il termine risorsa si far? riferimento a qualsiasi tipo di risorsa o servizio informatico comunemente messo a disposizione nei sistemi di cloud computing noti allo stato dell?arte. Si deve comprendere che la presente invenzione non ? limitata alla particolare tipologia di risorsa o servizio offerto dal sistema di cloud computing ma, al contrario, pu? essere applicata senza alcun tipo di modifica a qualsiasi tipo di risorsa o servizio offerto dal sistema di cloud. Si deve inoltre comprendere che la presente invenzione non ? limitata alla tipologia di sistemi di cloud in cui ? presente una separazione netta tra fornitori ed utilizzatori (ovvero, tra server e client); al contrario, la presente invenzione pu? essere ugualmente applicata ad ogni tipologia di sistemi di cloud computing. Per esempio, la presente invenzione ? ugualmente applicabile ai sistemi di cloud computing in cui un singolo apparato pu? svolgere entrambe le funzioni di server e client (per esempio, un sistema di tipo peer-to-peer).
L?architettura dei sistemi di cloud computing noti allo stato dell?arte comprende solitamente uno o pi? server connessi operativamente tra loro attraverso una rete di telecomunicazioni come, per esempio, la rete globale internet o una rete dati locale; ciascun server appartenente ad un sistema di cloud computing detiene normalmente una o pi? risorse configurate per essere messe a disposizione di una pluralit? di utenti finali; secondo tecniche note allo stato dell?arte, gli utenti del sistema di cloud possono usufruire dei servizi messi a disposizione dal sistema di cloud attraverso uno o pi? apparati utente connessi operativamente al sistema di cloud computing attraverso detta rete di telecomunicazioni. In generale, il processo di assegnazione delle risorse agli utenti finali viene avviato su richiesta specifica del singolo utente; a tal fine, i sistemi di cloud computing noti allo stato dell?arte comprendono solitamente un sistema di gestione delle risorse in grado di amministrare ed allocare le risorse detenute dai server del sistema di cloud in funzione delle richieste generate dagli utenti. Tali sistemi di gestione delle risorse comprendono solitamente una pluralit? di moduli, tra i quali, per esempio, un?interfaccia utente configurata per ricevere e gestire una o pi? richieste di risorse generate da uno o pi? utenti finali, un ?control plane? configurato per gestire, tra le altre cose, la ricerca delle risorse richieste da uno o pi? utenti all?interno del sistema di cloud computing, un ?hypervisor? configurato per creare una o pi? macchine virtuali in grado di partizionare le risorse allocate su un determinato server ad uno o pi? utenti finali.
Una delle funzionalit? essenziali svolte dai sistemi di gestione delle risorse dei sistemi di cloud computing noti allo stato dell?arte ? quella della ricerca e/o della eventuale catalogazione delle risorse detenute dai server del sistema di cloud. In particolare, secondo tecniche note allo stato dell?arte, un sistema di gestione delle risorse pu? essere configurato per monitorare le risorse disponibili in un sistema di cloud in modo tale da poter accertare in qualsiasi momento la localizzazione e lo stato di utilizzazione di tali risorse (vale a dire, l?ubicazione delle risorse offerte dai server del sistema e lo stato di allocazione delle stesse). Tale operazione pu? essere svolta in maniera centralizzata da uno o pi? sistemi di gestione delle risorse i quali possono essere configurati per creare in tempo reale un catalogo delle risorse disponibili nel sistema di cloud; per esempio, un sistema di gestione delle risorse centralizzato pu? essere configurato per aggiornare in maniera proattiva e ad intervalli regolari il catalogo delle risorse centralizzato in modo tale da avere sempre a disposizione un quadro aggiornato di tutte le risorse detenute dal sistema e dello stato di utilizzazione delle stesse. I sistemi di gestione delle risorse centralizzati noti allo stato dell?arte presentano numerose problematiche legate principalmente all?accentramento delle funzionalit? di gestione delle risorse su un insieme limitato di apparati. Per esempio, al fine di garantire un certo grado di resilienza in seguito ad eventuali malfunzionamenti di uno o pi? apparati del sistema di cloud computing, il catalogo delle risorse centralizzato e le funzionalit? del sistema di gestione delle risorse possono essere replicate e memorizzate in parallelo su una pluralit? di apparati distinti; in questo modo, per esempio, in caso di guasto improvviso di uno degli apparati atti alla memorizzazione di una copia del catalogo delle risorse centralizzato, il sistema di gestione delle risorse pu? proseguire l?erogazione del servizio utilizzando una replica del catalogo delle risorse memorizzato su un apparato alternativo. La ridondanza del sistema di gestione delle risorse e del catalogo centralizzato su una pluralit? di apparati, pur garantendo un certo grado di resilienza del sistema di cloud, risulta essere molto inefficiente dal punto di vista dei costi e dell?overhead di comunicazione causato da ciascuna delle repliche del sistema di gestione delle risorse. La ridondanza del sistema di gestione delle risorse ? inoltre inefficiente dal punto di vista computazionale in quanto il numero di apparati configurati per fornire i servizi di gestione centralizzati non scala linearmente con il numero di risorse gestite; tale inefficienza ? soprattutto problematica nei sistemi di cloud computing di piccole dimensioni. Un?ulteriore problema derivante dalla gestione centralizzata delle risorse del sistema di cloud computing, ? legato all?aggiornamento del catalogo centralizzato in seguito all?installazione di nuove risorse condivise (per esempio, l?aggiunta di un nuovo server o di nuova risorsa condivisa); in questo caso, secondo tecniche note allo stato dell?arte, l?aggiornamento del catalogo centralizzato viene spesso eseguito in maniera retroattiva (vale a dire, successivamente all?installazione delle nuove risorse); tale fenomeno causa inevitabilmente un transitorio temporale durante il quale il catalogo centralizzato non rispecchia l?effettiva disponibilit? di risorse del sistema di cloud computing. Alternativamente, al fine di risolvere le problematiche legate ai sistemi di gestione delle risorse centralizzati, la ricerca delle risorse all?interno di un sistema di cloud computing pu? essere eseguita in maniera distribuita senza l?utilizzo di un catalogo delle risorse centralizzato; in questo caso, la ricerca delle risorse richieste da uno o pi? utenti pu? essere effettuata in maniera estemporanea in funzione delle necessit? del singolo utente. Per esempio, la ricerca di una determinata risorsa pu? essere effettuata direttamente dal singolo utente per mezzo di un protocollo di comunicazione stabilito, per esempio, a livello applicativo tra i server del sistema di cloud e l?utente stesso. In generale, tali protocolli di comunicazione sono solitamente configurati per eseguire una ricerca delle risorse attraverso uno o pi? messaggi di ricerca delle risorse creati dal singolo utente ed inviati ad uno o pi? server del sistema di cloud; ciascun server, in base alla disponibilit? interna delle risorse richieste, pu? essere configurato per creare ed inviare all?utente un messaggio di risposta contenente, per esempio, un elenco delle risorse disponibili richieste dall?utente. Infine, sulla base dei messaggi di risposta ricevuti, l?utente pu? selezionare autonomamente uno o pi? server del sistema di cloud al fine di effettuare l?allocazione delle risorse.
Pur presentando numerosi vantaggi rispetto ai sistemi di tipo centralizzato, i sistemi di gestione delle risorse di tipo distribuito presentano alcune problematiche legate all?assenza di un?entit? centralizzata in grado di avere una visione completa ed aggiornata del sistema di cloud. Per esempio, l?assenza di tale entit? centralizzata rende difficile l?implementazione di qualsiasi strategia di allocazione bilanciata delle risorse all?interno dei server del sistema di cloud computing (riferito anche come bilanciamento del carico o come cloud load balancing o, pi? semplicemente, come load balancing o scheduling nel corso della presente descrizione); in particolare, secondo i protocolli di ricerca delle risorse di tipo distribuito noti allo stato dell?arte, non vi ? la possibilit? di eseguire un?allocazione delle risorse in modo tale da seguire una predeterminata strategia di allocazione bilanciata. Per esempio, poich? la selezione dei server ? effettuata in maniera autonoma dal singolo utente sulla base dei soli messaggi di risposta ricevuti dai server del sistema, l?allocazione delle risorse all?interno del sistema di cloud noti allo stato dell?arte, risulta essere casuale e, sovente, non bilanciata. Tale stato di utilizzazione non uniforme dei server del sistema di cloud pu? creare problemi di sovraccarico di alcuni server con conseguente sottoutilizzo dei restanti server del sistema di cloud. Inoltre, un?ulteriore difficolt? nella gestione delle strategie di allocazione bilanciata nei sistemi di ricerca distribuiti ? dovuto alla necessit? di mantenere un predeterminato grado di sicurezza e di privacy in relazione allo stato di allocazione dei server del sistema di cloud; per esempio, al fine di scongiurare attacchi di tipo informatico al sistema di cloud, ? preferibile non divulgare ai singoli utenti alcuna informazione esplicita sulla quantit? e sulla configurazione delle risorse detenute da ciascun server.
Per esempio, la domanda di brevetto americana US2002143944A1 divulga un sistema di condivisione di risorse basato su un protocollo di ricerca di tipo distribuito. Tale protocollo di ricerca delle risorse non prevede n? la divulgazione di alcun tipo di informazione in merito al carico di lavoro di ciascun server n? l?implementazione di alcun tipo di strategia per il bilanciamento del carico a livello di sistema.
Scopo della presente invenzione ? quello di indicare un metodo, un sistema, un server, un apparato utente ed un programma per elaboratore per la condivisione e la selezione di una risorsa in un sistema di cloud computing in grado di superare gli inconvenienti dello stato dell?arte. In particolare, uno scopo della presente invenzione ? quello di indicare un metodo, un sistema, un server, un apparato utente ed un programma per elaboratore in grado di realizzare una o pi? strategie di allocazione bilanciata delle risorse in un sistema di cloud computing basato su un protocollo di ricerca delle risorse distribuito. Ulteriore scopo della presente invenzione ? quello di realizzare una o pi? strategie di allocazione bilanciata delle risorse in un sistema di cloud computing evitando la divulgazione esplicita di informazioni relative alla quantit? ed al carico delle risorse detenute da ciascun server.
Per raggiungere gli scopi precedentemente indicati, forma dunque oggetto della presente invenzione un metodo, un sistema, un server, un apparato utente ed un programma per elaboratore avente le caratteristiche delle rivendicazioni allegate, che costituiscono parte integrante della presente descrizione. Ulteriori scopi, caratteristiche e vantaggi della presente invenzione risulteranno chiari dalla descrizione particolareggiata che segue e dai disegni annessi, forniti a puro titolo esplicativo e non limitativo, in cui:
- nella Figura 1 ? rappresentato uno schema del sistema di cloud computing oggetto della presente invenzione;
- nella Figura 2 ? rappresentato uno schema a blocchi di un fornitore di servizi compreso nel sistema di cloud computing oggetto della presente invenzione; - nella Figura 3 ? rappresentato uno schema a blocchi di un apparato utente oggetto della presente invenzione;
- nella Figura 4 ? rappresentato uno schema di un sistema di gestione delle risorse di un sistema di cloud computing;
- nella Figura 5 ? rappresentato un esempio delle fasi di un protocollo per la condivisione e la selezione di una risorsa;
- nella Figura 6 ? rappresentato un diagramma di un metodo per la condivisione di una risorsa in un sistema di cloud computing secondo la presente invenzione; - nella Figura 7 ? rappresentato un diagramma di un metodo per la selezione di una risorsa in un sistema di cloud computing secondo la presente invenzione. Passando alla descrizione delle figure allegate, con il numero di riferimento 100, in Figura 1, ? indicato nel suo complesso un sistema di cloud computing secondo la presente invenzione. Come indicato in Figura 1, il sistema di cloud computing 100 comprende una pluralit? di server 104, 105, 106 operativamente connessi tra loro per mezzo di una rete di telecomunicazioni 107. Ciascuno dei server 104, 105, 106 pu? essere configurato per comprendere una o pi? risorse offerte in condivisione ad una pluralit? di apparati utente 101, 102, 103 connessi operativamente a detta rete di telecomunicazioni 107. Secondo tecniche note allo stato dell?arte, tale rete di telecomunicazioni 107 pu? comprendere una o pi? reti di dati locali operanti, per esempio, secondo la famiglia di standard di comunicazione a pacchetto IEEE 802; nel caso pi? generico, la rete di telecomunicazioni 107 pu? operare, a livello protocollare di rete e trasporto, secondo gli standard utilizzati nella rete dati globale internet (per esempio, TCP/IP o UDP/IP).
In Figura 2 ? rappresentato uno schema a blocchi di un server 104, 105, 106 compreso nel sistema di cloud computing 100 oggetto della presente invenzione. A titolo puramente esplicativo e non limitativo, ciascun server 104, 105, 106 pu? comprendere i seguenti elementi:
? una unit? di elaborazione 201 (per esempio una o pi? CPU, GPU, TPU, DPU o FPGA);
? una memoria 202 (per esempio, una memoria ad accesso casuale RAM e/o una memoria di tipo Flash e/o di altro tipo) operativamente connessa con detta unit? di elaborazione 201 e configurata per memorizzare almeno una parte delle istruzioni atte ad eseguire una o pi? funzionalit? relative al sistema di gestione delle risorse del sistema di cloud computing 100;
? una o pi? interfacce di rete 203 atte a permettere la trasmissione e la ricezione di dati attraverso detta rete di telecomunicazioni 107;
? mezzi di ingresso/uscita (I/O) 204 atti a permettere la configurazione del server 104, 105, 106 da parte per esempio, di un tecnico del ramo;
? una o pi? risorse 205, 206 configurate per essere messe in condivisione con una pluralit? di apparati utente 101, 102, 103 (definite anche come risorse condivise nel corso della presente descrizione);
? un bus di comunicazione 207 configurato per connettere operativamente l?unit? di elaborazione 201, la memoria 202, i mezzi di ingresso/uscita 205 e le risorse 205, 206.
Le risorse condivise 205, 206 possono essere di diverso tipo e possono comprendere risorse hardware di tipo fisico o virtuale, risorse di memorizzazione, risorse computazionali, risorse di trasmissione dati, servizi software, etc.; come anticipato precedentemente, la presente invenzione non ? limitata alla particolare tipologia di risorsa o servizio offerto dai server 104, 105, 106 del sistema di cloud computing 100 ma, al contrario, pu? essere applicata senza alcun tipo di modifica a qualsiasi tipo di risorsa o servizio offerto dal sistema di cloud 100.
In Figura 3 ? rappresentato uno schema a blocchi di un apparato utente 101, 102, 103 compreso nel sistema di cloud computing 100 oggetto della presente invenzione. A titolo puramente esplicativo e non limitativo, ciascun apparato utente 101, 102, 103 pu? comprendere i seguenti elementi:
? una unit? di elaborazione 301 (per esempio una o pi? CPU, GPU, TPU, DPU o FPGA);
? una memoria 302 (per esempio, una memoria ad accesso casuale RAM e/o una memoria di tipo Flash e/o di altro tipo) operativamente connessa con detta unit? di elaborazione 301 e configurata per memorizzare almeno una parte delle istruzioni atte ad interfacciarsi con il sistema di gestione delle risorse del sistema di cloud computing 100;
? mezzi di ingresso/uscita (I/O) 303 atti a permettere la configurazione dell?apparato utente 101, 102, 103 da parte di uno o pi? utenti;
? una o pi? interfacce di rete 304 atte a permettere la trasmissione e la ricezione di dati attraverso detta rete di telecomunicazioni 107;
In generale, un apparato utente 101, 102, 103 pu? essere compreso in un elaboratore laptop, uno smartphone, un personal computer, etc.; in aggiunta, un apparato utente 101, 102, 103 pu? essere compreso in un sistema di infotainment di un autoveicolo o nella centralina di controllo di un apparato elettronico domestico. Inoltre, le funzionalit? di un apparto utente 101, 102, 103 relative al protocollo di condivisione e selezione di una risorsa condivisa nel sistema di cloud computing 100 possono essere gestite da un dispositivo virtuale.
Secondo un aspetto della presente invenzione, il sistema di cloud computing pu? comprendere un sistema di gestione delle risorse configurato per amministrare i servizi offerti dal sistema di cloud; per esempio, un sistema di gestione delle risorse pu? essere configurato per interfacciarsi con una pluralit? di utenti in modo tale da poter ricevere le richieste di risorse da parte di questi ultimi, effettuare una o pi? ricerche all?interno dei server 104, 105, 106 compresi nel sistema 100, effettuare l?allocazione delle risorse 205, 206, etc. A puro titolo esplicativo e non limitativo, in Figura 4 ? rappresentato un sistema di gestione delle risorse 400 di un sistema di cloud computing 100 comprendente un framework di virtualizzazione configurato per astrarre l?hardware detenuto da ciascuno dei server del sistema di cloud. Il sistema di gestione delle risorse 400 del sistema di cloud computing 100 pu? comprendere un?interfaccia utente 401 configurata, per esempio, per permettere agli utenti 101, 102, 103 del sistema di cloud computing 100 di richiedere l?allocazione di una o pi? risorse detenute dal sistema 100. Il sistema di gestione delle risorse 400 del sistema di cloud computing 100 pu? comprendere inoltre un piano di controllo 402 (definito anche come ?control plane? nel corso della presente descrizione) configurato, per esempio, per amministrare l?accesso alle risorse del sistema di cloud computing 100, per gestire la ricerca delle risorse richieste dagli utenti 101, 102, 103, per gestire il servizio di prenotazione e monitoraggio di tali risorse (definito anche come ?bookkeeping? nel corso della presente descrizione), etc. Per esempio, l?interfaccia utente 401 ed il control plane 402 del sistema di cloud computing 100 possono comprendere soluzioni note allo stato dell?arte come, per esempio, VMware vSphere WebUI, Openstack WebUI , Proxmox WebUI, Microsoft Hyper-V, Citrix XenCenter, Xen Orchestra, Red Hat Enterprise Virtualization e oVirt, etc. Il sistema di gestione delle risorse 400 del sistema di cloud computing 100 pu? comprendere un modulo 403 atto alla creazione di una o pi? macchine virtuali all?interno di ciascun server 104, 105, 106; per esempio, il modulo 403 pu? comprendere uno o pi? hypervisor noti allo stato dell?arte, come per esempio, VMware vSphere, Linux KVM, Citrix Xen, Microsoft Hyper-V, XCP-ng, etc. I moduli 401, 402, 403 del sistema di gestione delle risorse 400 possono essere implementati attraverso una pluralit? di componenti hardware e software in maniera parzialmente o completamente distribuita sui server 104, 105, 106 del sistema di cloud computing e/o sugli apparati utente 101, 102, 103.
Secondo un aspetto della presente invenzione, il meccanismo di ricerca delle risorse all?interno del sistema di cloud computing 100 pu? essere realizzato in maniera completamente distribuita, per esempio, attraverso un?implementazione distribuita del modulo di control plane 402 del sistema di gestione delle risorse 400. In questo caso, l?implementazione del modulo di control plane 402 e, in particolare, il meccanismo di ricerca delle risorse pu? essere implementato da una pluralit? di componenti software e/o hardware distribuiti su uno o pi? apparti utente 101, 102, 103 e su uno o pi? server 104, 105, 106 compresi nel sistema di cloud computing 100; in questo caso, la ricerca delle risorse richieste da uno o pi? utenti 101, 102, 103 pu? essere effettuata senza l?utilizzo di un catalogo delle risorse centralizzato. Tale meccanismo distribuito di ricerca delle risorse pu? comprendere un protocollo di comunicazione per la condivisione e la selezione di una risorsa implementato a livello control plane il quale, attraverso una pluralit? di messaggi scambiati tra uno o pi? apparati utente 101, 102, 103 ed uno o pi? server 104, 105, 106 pu? realizzare le funzionalit? di ricerca, selezione e condivisione di una o pi? risorse condivise 205, 206.
In Figura 5 ? rappresentato un esempio figurativo dei passi eseguiti dal protocollo di comunicazione per la ricerca di una o pi? risorse all?interno di un sistema di cloud computing 100 secondo la presente invenzione. La Figura 5(a) rappresenta il passo eseguito dal protocollo nell?istante t=t0; la Figura 5(b) rappresenta il passo eseguito dal protocollo nell?istante t=t1 successivo a t0; la Figura 5(c) rappresenta il passo eseguito dal protocollo nell?istante t=t2 successivo a t1 e, infine, la Figura 5(d) rappresenta il passo eseguito dal protocollo nell?istante t=t3 successivo a t2. Come mostrato in Figura 5(a), l?apparato utente 101 pu? generare un messaggio di richiesta comprendente almeno una informazione in grado di identificare dette una o pi? risorse (definito anche come messaggio di richiesta di una o pi? risorse nel corso della presente descrizione). Secondo un aspetto della presente invenzione, detto messaggio di richiesta di una o pi? risorse pu? essere trasmesso, attraverso la rete di telecomunicazioni 107, da parte di detto apparato utente 101 ad almeno un server 104, 105, 106 del sistema di cloud computing 100. In generale, il messaggio di richiesta di una o pi? risorse pu? essere inviato da parte di ciascun apparato utente 101, 102, 103 ad una pluralit? di server 104, 105, 106; per esempio, in funzione della tecnologia di rete adottata dalla rete di telecomunicazioni 107, il messaggio di richiesta di una o pi? risorse pu? essere indirizzato secondo la modalit? ?broadcast? in modo tale da poter essere recapitato ad una pluralit? di server 104, 105, 106. Il protocollo di comunicazione per la ricerca di una o pi? risorse secondo la presente invenzione comprende un secondo passo in cui il messaggio di richiesta di una o pi? risorse viene ricevuto da almeno un server 104, 105, 106 del sistema di cloud 100. Come mostrato in Figura 5(b) ed in Figura 5(c), i server 104, 105, 106 del sistema di cloud computing 100, in funzione della effettiva disponibilit? delle risorse specificate nel messaggio di richiesta, possono trasmettere, attraverso la rete di telecomunicazioni 107, un messaggio di risposta in un istante di trasmissione predeterminato. Per esempio, in Figura 5(b) un primo messaggio di risposta viene trasmesso dal server 104 ed inviato all?apparato utente 101 in un primo istante di trasmissione t=t1; in maniera similare, come mostrato in Figura 5(c), un secondo messaggio di risposta viene trasmesso dal server 104 ed inviato all?apparato utente 101 in un secondo istante di trasmissione t=t2. Nell?esempio mostrato in Figura 5, il server 105 pu? evitare la trasmissione del messaggio di risposta; il protocollo di condivisione e selezione delle risorse secondo la presente invenzione pu? infatti essere configurato per non imporre ai server 104, 105, 106 del sistema 100 alcun obbligo di risposta. Per esempio, nell?esempio di Figura 5, il server 105 pu? essere sprovvisto delle risorse richieste dall?apparato 101 oppure pu? intenzionalmente escludere l?apparato utente 101 dall?utilizzo delle risorse richieste.
Come spiegato in dettaglio nel resto della descrizione, il calcolo dell?istante di trasmissione del messaggio di risposta, pu? essere determinato in funzione di un indice di utilizzo delle risorse condivise comprese in detto almeno un server; per esempio, detto indice di utilizzo delle risorse pu? assumere un valore direttamente proporzionale al numero di risorse condivise 205, 206 che, nell?istante di ricezione del messaggio di richiesta delle risorse o nel periodo di tempo in cui il messaggio di richiesta viene processato dal server 104, 105, 106, si trovano in stato di utilizzo. Pi? in generale, il protocollo per la condivisione e la selezione delle risorse secondo la presente invenzione pu? utilizzare, per il calcolo dell?indice di utilizzo, una qualsiasi relazione predeterminata tra l?indice di utilizzo ed il numero di risorse condivise 205, 206 che, nell?istante di ricezione del messaggio di richiesta delle risorse o nel periodo di tempo in cui il messaggio di richiesta viene processato dal server 104, 105, 106, si trovano in stato di utilizzo. Come spiegato in dettaglio nel resto della presente descrizione, al fine di implementare una o pi? strategie di bilanciamento del carico nel sistema 100, tale relazione tra l?indice di utilizzo e le risorse in stato di utilizzo dovr? preferibilmente essere nota ad almeno una pluralit? di server 104, 105, 106 e ad una pluralit? di utenti 101, 102, 103. Nel corso della presente descrizione con l?espressione ?risorsa in stato di utilizzo? si indicher? una qualsiasi risorsa 205, 206 compresa nel server 104, 105, 106 non condivisibile con l?apparato utente 101. Per esempio, una risorsa condivisa 205, 206 pu? essere in stato di allocazione e/o utilizzazione da parte di un apparato utente 102, 103 diverso dall?apparato utente 101 nell?istante di ricezione del messaggio di richiesta delle risorse o nel periodo di tempo in cui tale messaggio di richiesta viene processato dal server 104, 105, 106; in questo caso, tale risorsa condivisa 205, 206 si trova in stato di utilizzo poich? non pu? essere condivisa con l?apparato utente 101. Inoltre, l?indice di utilizzo delle risorse condivise 205, 206 pu? assumere un valore percentuale in funzione del numero totale delle risorse condivise 205, 206 comprese nel server 104, 105, 106 e del numero di risorse condivise 205, 206 in stato di utilizzo; in altre parole, l?indice di utilizzo delle risorse relativo a ciascun server 104, 105, 106 pu? rappresentare il rapporto o il valore percentuale delle risorse condivise 205, 206 in stato di utilizzo rispetto al numero totale di risorse condivise 205, 206 comprese nel server 104, 105, 106. Per esempio, ipotizzando che un server 104, 105, 106 comprenda un numero totale X di risorse condivise 205, 206 e che un numero Y di tali risorse condivise siano in stato di utilizzo, l?indice di utilizzo del server 104, 105, 106 pu? assumere il valore del rapporto Y/X. Come precedentemente descritto, l?indice di utilizzo pu? essere calcolato secondo una qualsiasi relazione in funzione del numero di risorse in stato di utilizzo. Nell?esempio raffigurato in Figura 5(b) e 5(c), si assume che l?indice di utilizzo delle risorse condivise relativo al server 104 e che l?indice di utilizzo delle risorse condivise relativo al server 106 assumano un valore distinto. In particolare, il numero di risorse in stato di utilizzo rispetto al numero totale di risorse condivise detenute dal server 104 ? diverso dal numero di risorse in stato di utilizzo rispetto al numero totale di risorse condivise detenute dal server 106. In altre parole, il carico di lavoro del server 104 nell?istante di ricezione del messaggio di richiesta delle risorse o nel periodo di tempo in cui tale messaggio viene processato ? diverso dal carico di lavoro del server 106; ne consegue che il primo istante di trasmissione t=t1 del primo messaggio di risposta del server 104 risulta diverso dal secondo istante di trasmissione t=t2 del secondo messaggio di risposta trasmesso dal server 106. In alternativa o in aggiunta, l?indice di utilizzo pu? essere calcolato in funzione della somma del numero di risorse in stato di utilizzo e del numero di risorse richiesto in rapporto con il numero totale di risorse detenute dal server 104, 105, 106. In questo modo, l?indice di utilizzo rappresenta indirettamente il carico di lavoro che il server si troverebbe ad affrontare nel caso in cui le risorse richieste nel messaggio di richiesta delle risorse fossero effettivamente allocate sul server 104, 105, 106 in questione. Si deve comprendere che l?indice di utilizzo di ciascun server 104, 105, 106 e l?istante di trasmissione del messaggio di risposta possono essere calcolati in molti modi; per esempio, l?istante di trasmissione del messaggio di risposta di ciascun server 104, 105, 106 pu? risultare direttamente proporzionale al carico di lavoro del server 104, 105, 106 oppure indirettamente proporzionale al carico di lavoro del server 104, 105, 106. A prescindere dal metodo di calcolo utilizzato, l?istante di trasmissione dei messaggi di risposta fornisce un?indicazione indiretta agli apparati utenti 101, 102, 103 in merito al carico di lavoro di ciascuno dei server 104, 105, 106.
Il protocollo di comunicazione per la ricerca di una o pi? risorse secondo la presente invenzione comprende un ulteriore passo in cui uno o pi? messaggi di risposta originati da uno o pi? server 104, 105, 106 compresi nel sistema 100 sono ricevuti dall?apparato utente 101 attraverso la rete di telecomunicazioni 107. Ciascuno di tali messaggi di risposta pu? contenere un?indicazione esplicita sulla disponibilit? delle risorse richieste dall?apparato 101 nel messaggio di richiesta di risorse. Nell?esempio mostrato in Figura 5(b) ed in Figura 5(c), l?apparato utente 101 riceve un primo messaggio di risposta dal server 104 in un primo istante di ricezione ed un secondo messaggio di riposta dal server 106 in un secondo istante di ricezione. Per semplicit? di esposizione, nell?esempio riportato in Figura 5, si ipotizza che il ritardo di trasmissione tra due qualsiasi nodi della rete di telecomunicazioni 107 sia trascurabile o che assuma un valore fisso Di conseguenza, ne risulta che, nell?esempio riportato in Figura 5, il primo istante di ricezione coincide con il primo istante di trasmissione t=t1 o, alternativamente, con un istante di ricezione pari a n maniera del tutto similare, il secondo istante di ricezione coincide con il secondo istante di trasmissione t=t2 o, alternativamente, con un istante di ricezione pari a
Poich? l?ordine temporale di ricezione dei messaggi di risposta da parte dell?apparato utente 101 ? concorde con l?ordine degli istanti di trasmissione dei messaggi di risposta originati dal server 104 e dal server 106, il primo istante di ricezione ed il secondo istante di ricezione forniscono una indicazione indiretta del valore dell?indice di utilizzo e, di conseguenza, del carico di lavoro di ciascuno dei server 104, 106. Al fine di attuare una o pi? strategie di bilanciamento del carico del sistema di cloud computing 100, l?apparato utente 101 pu? opportunamente selezionare il server fornitore di detta risorsa tra il server 104 ed il server 106 in funzione del primo istante di ricezione e del secondo istante di ricezione; nel corso della presente descrizione l?espressione server fornitore indicher? il server 104, 105, 106 a cui verr? effettivamente richiesto di condividere le risorse attraverso un messaggio di allocazione. Tale messaggio di allocazione pu? contenere una informazione in relazione alla richiesta di allocazione delle risorse in oggetto da parte dell?apparato utente; in altre parole, il messaggio di allocazione delle risorse inviato dall?apparato utente indica la volont? dell?apparato utente di utilizzare le risorse condivise 205, 206 identificate attraverso il protocollo di condivisione e ricerca delle risorse. In particolare, poich? il primo istante di ricezione ed il secondo istante di ricezione forniscono un?indicazione indiretta del carico di lavoro dei server 104, 106, l?apparto utente 101 pu? selezionare il server fornitore delle risorse richieste secondo una o pi? strategie di bilanciamento del carico del sistema 100. In particolare, nell?esempio riportato in Figura 5, il primo messaggio di risposta da parte del server 104 ? ricevuto in un primo istante di ricezione antecedente al secondo istante di ricezione del secondo messaggio di risposta; di conseguenza, per le ragioni esposte in precedenza, l?apparato utente 101 pu? dedurre, per esempio, che il carico di lavoro del server 104 ? minore rispetto al carico di lavoro del server 106. In questo modo, l?apparato utente 101 pu? scegliere opportunamente il server fornitore del servizio tra il server 104 ed il server 106 in modo tale, per esempio, da uniformare il carico di lavoro tra i server 104, 105, 106 del sistema 100. Nell?esempio riportato in Figura 5(d), l?apparato utente pu? selezionare il server 104 quale server fornitore e trasmettere, al server 104 un messaggio di allocazione delle risorse richieste.
Poich? il sistema di cloud computing 100 secondo la presente invenzione ? costituito da una pluralit? di componenti distribuiti e connessi operativamente tramite una rete di telecomunicazioni 107, i passi eseguiti dal protocollo per la condivisione e la selezione delle risorse all?interno del sistema 100 sono necessariamente distribuiti tra i componenti del sistema 100. Si deve dunque comprendere che, al fine di permettere agli apparati utente 101, 102, 103 di dedurre il carico di lavoro dei server 104, 105, 106 in funzione degli istanti di ricezione dei messaggi di risposta inviati dagli stessi server 104, 105, 106, ? opportuno che gli apparati utente 101, 102, 103 siano a conoscenza della modalit? con cui ciascun server esegue il calcolo dell?indice di utilizzo e dell?istante di trasmissione di ciascun messaggio di risposta.
In particolare, in Figura 6, ? rappresentato un diagramma del metodo 600 per la condivisione di una risorsa in un sistema di cloud computing 100 secondo la presente invenzione; tale metodo rappresenta una parte del protocollo per la condivisione e la selezione delle risorse all?interno del sistema 100 eseguita da uno o pi? server 104, 105, 106 del sistema 100. Come mostrato in Figura 6, il metodo 600 comprende un primo passo 601 in cui un server 104, 105, o 106 compreso nel sistema 100 riceve un messaggio di richiesta di una o pi? risorse; il metodo 600 comprende inoltre un passo 602 in cui un server 104, 105, o 106 calcola un indice di utilizzo delle proprie risorse condivise. Per esempio, tale indice di utilizzo pu? essere calcolato in funzione del numero totale di risorse condivise comprese nel server 104, 105, o 106 e del numero delle risorse in stato di utilizzo comprese nel server 104, 105, o 106; alternativamente, l?indice di utilizzo pu? coincidere con il numero di risorse in stato di utilizzo. Il metodo 600 comprende inoltre il passo 603 in cui il server 104, 105, 106 calcola un istante di trasmissione predeterminato in funzione dell?indice di utilizzo; infine, al passo 604 il server 104, 105, o 106 trasmette, attraverso detta rete di telecomunicazioni 107, un messaggio di risposta in detto istante di trasmissione predeterminato. Per esempio, il server 104, 105, 106 pu? determinare un istante di trasmissione memorizzando l?istante di ricezione del messaggio di richiesta di risorse e calcolando un ritardo di trasmissione in funzione di detto indice di utilizzo di dette una o pi? risorse condivise. Per esempio, il ritardo di trasmissione pu? essere calcolato in modo tale da risultare direttamente proporzionale all?indice di utilizzo delle risorse di ciascun server 104, 105, o 106. In questo modo, maggiore il carico di lavoro relativo ad un determinato server 104, 105, o 106 maggiore sar? il ritardo di trasmissione del messaggio di risposta trasmesso da ciascuno dei server 104, 105, 106. Alternativamente, l?istante di trasmissione pu? essere calcolato in modo tale da risultare indirettamente proporzionale all?indice di utilizzo delle risorse di ciascun server 104, 105, o 106. In altre parole, secondo un aspetto della presente invenzione, ciascun server pu?, in generale, rispondere al messaggio di richiesta delle risorse con un ritardo variabile in funzione del carico di lavoro del server stesso (vale a dire in funzione del numero di risorse condivise in stato di utilizzo). Il metodo 600 per la condivisione di una risorsa raffigurato in Figura 6 e descritto precedentemente pu? vantaggiosamente essere implementato sotto forma di programma per elaboratore; in questo caso, tale programma per elaboratore pu? essere installato nella memoria 202 di uno o pi? server 104, 105, 106 e pu? comprendente una pluralit? di istruzioni che, quando eseguite dall?unit? di elaborazione 201 del server 104, 105, 106, inducono detto server 104, 105, 106 ad eseguire i passi del metodo 600.
In Figura 7, ? rappresentato un diagramma del metodo per la selezione di una risorsa in un sistema di cloud computing 100 secondo la presente invenzione; tale metodo rappresenta una parte del protocollo per la condivisione e la selezione delle risorse all?interno del sistema 100 eseguita da uno o pi? apparti utente 101, 102, 103 del sistema 100. Come mostrato in Figura 7, il metodo 700 comprende un primo passo 701 in cui un apparato utente 101, 102, o 103 trasmette un messaggio di richiesta di una o pi? risorse; tale messaggio di richiesta di una o pi? risorse pu? contenere un?informazione tale da identificare dette una o pi? risorse. Il metodo 700 comprende inoltre un secondo passo 702 in cui detto apparato utente 101, 102, o 103 riceve un primo messaggio di risposta in un primo istante di ricezione da parte di un primo server 104, 105, o 106 ed un terzo passo 703 in cui detto apparato utente 101, 102, o 103 riceve un secondo messaggio di risposta in un secondo istante di ricezione da parte di un secondo server 104, 105, o 106. Il metodo 700 comprende inoltre il passo 704 in cui l?apparato utente 101, 102, o 103 seleziona un server fornitore tra detto primo server 104, 105, o 106 e detto secondo server 104, 105, o 106 in funzione del primo istante di ricezione e del secondo istante di ricezione. In altre parole, la ricezione di due o pi? messaggi di risposta indica la necessit? di effettuare una scelta tra i server 104, 105, o 106 (vale a dire, tra i server 104, 105 ,106 dai quali l?apparato utente 101, 102, 103 riceve almeno un messaggio di risposta) in modo tale da identificare il server 104, 105, 106 a cui verr? richiesto di condividere le risorse richieste (vale a dire, il server fornitore). Secondo un aspetto della presente invenzione, la selezione eseguita dall?apparato utente 101, 102, 103 viene realizzata sulla base del primo istante di ricezione e del secondo istante di ricezione. Come descritto in precedenza, l?ordine temporale di arrivo dei messaggi di risposta (vale a dire, l?ordine temporale del primo istante di ricezione e del secondo istante di ricezione) indica in forma implicita il carico di lavoro dei server 104, 105, 106. La selezione del server fornitore pu? essere dunque eseguita secondo una specifica strategia di bilanciamento del carico. Per esempio, l?apparato utente 101, 102, 103 pu? scegliere il server 104, 105, 106 il cui messaggio di risposta viene ricevuto in un istante di ricezione che indica un carico di lavoro minore rispetto ai restanti server 104, 105, 106 del sistema 100; per esempio, nel caso in cui l?istante di trasmissione dei messaggi di risposta sia calcolato in modo tale da risultare direttamente proporzionale al carico di lavoro del server 104, 105, 106, l?apparato utente 101, 102, 103 pu? scegliere, come server fornitore, il server 104, 105, 106 il cui messaggio di risposta viene ricevuto prima rispetto ai messaggi di risposta dei restanti server. In questo modo, ? possibile realizzare una strategia di bilanciamento del carico tale da distribuire il carico di lavoro in modo uniforme tra i server 104, 105, 106 del sistema 100. Alternativamente, l?apparato utente 101, 102, 103 pu? scegliere il server 104, 105, 106 il cui messaggio di risposta viene ricevuto in un istante di ricezione che indica un carico di lavoro maggiore rispetto ai restanti server 104, 105, 106 del sistema 100. In questo modo, ? possibile realizzare una strategia di bilanciamento del carico tale da distribuire il carico di lavoro in modo non uniforme tra i server 104, 105, 106 del sistema 100. Si deve comprendere che il protocollo per la condivisione e la selezione di una o pi? risorse secondo la presente invenzione, pu? essere ugualmente utilizzato per l?implementazione di qualsiasi strategia di bilanciamento del carico nota allo stato dell?arte (per esempio, bilanciamento del carico uniforme, non uniforme, etc.). Infine, il metodo 700 comprende il passo 705 secondo il quale l?apparato utente 101, 102, 103 trasmettere un messaggio di allocazione della risorsa al server fornitore; il messaggio di allocazione della risorsa pu? comprendere una o pi? istruzioni atte ad allocare le risorse richieste sul server fornitore. Il metodo 700 per la selezione di una risorsa descritto precedentemente e raffigurato in Figura 7 pu? vantaggiosamente essere implementato sotto forma di programma per elaboratore; in questo caso, tale programma per elaboratore pu? essere installato nella memoria 302 di uno o pi? apparati utente 101, 102, 103 e pu? comprendente una pluralit? di istruzioni che, quando eseguite dal processore 301 dell?apparato utente 104, 105, 106, inducono detto apparato utente 101, 102, 103 ad eseguire i passi del metodo 700.
Il sistema di cloud computing 100, i server 104, 105, 106, gli apparati utente 101, 102, 103, il metodo 600 per la condivisione di una risorsa, il metodo 700 per la selezione di una risorsa ed i programmi per elaboratore ad esso associati secondo la presente invenzione presentano numerosi vantaggi rispetto ai sistemi di cloud computing noti allo stato dell?arte. Per esempio, la presente invenzione ha il vantaggio di permettere la realizzazione di una o pi? strategie di bilanciamento del carico in un sistema di cloud computing 100 privo di catalogo delle risorse centralizzato. Come descritto in precedenza, la presente invenzione permette agli apparati utente 101, 102, 103 di ricevere in maniera indiretta una indicazione del carico di lavoro dei server 104, 105, 106 compresi nel sistema di cloud computing 100. Un ulteriore vantaggio della presente invenzione ? quello di fornire una indicazione del carico di lavoro dei server 104, 105, 106 senza divulgare alcuna informazione specifica in merito alla configurazione dei server 104, 105, 106.
Naturalmente, fermo restando il principio dell?invenzione, le forme di attuazione ed i particolari di realizzazione potranno essere ampiamente variati rispetto a quanto ? stato descritto ed illustrato a puro titolo di esempio non limitativo, senza per questo uscire dall?ambito di protezione della presente invenzione definito dalle rivendicazioni allegate.
Claims (10)
1. Metodo (600) per la condivisione di una risorsa (205, 206) in un sistema di cloud computing (100), detto sistema di cloud computing (100) comprendendo una pluralit? di server (104, 105, 106) operativamente connessi tra loro per mezzo di una rete di telecomunicazioni (107), ciascun server (104, 105, 106) di detto sistema di cloud computing (100) comprendendo una o pi? risorse condivise (205, 206), detto metodo (600) comprendendo i seguenti passi:
ricevere (601) su almeno un server (104, 105, 106) un messaggio di richiesta di detta risorsa (205, 206);
trasmettere (604), attraverso detta rete di telecomunicazioni (107), un messaggio di risposta da parte di detto almeno un server (104, 105, 106) in un istante di trasmissione predeterminato;
caratterizzato dal fatto che detto istante di trasmissione predeterminato ? calcolato in funzione di un indice di utilizzo di dette una o pi? risorse condivise (205, 206) comprese in detto almeno un server (104, 105, 106).
2. Metodo (600) per la condivisione di una risorsa (205, 206) in un sistema di cloud computing (100) secondo la rivendicazione 1, comprendente ulteriormente i seguenti passi:
calcolare detto indice di utilizzo in funzione di un numero totale di dette una o pi? risorse condivise (205, 206) comprese in detto almeno un server (104, 105, 106) ed un numero di dette una o pi? risorse condivise (205, 206) in stato di utilizzo.
3. Metodo (600) per la condivisione di una risorsa (205, 206) in un sistema di cloud computing (100) secondo una o pi? delle precedenti rivendicazioni comprendente ulteriormente i seguenti passi:
determinare un istante di ricezione di detto messaggio di richiesta di risorse; calcolare un ritardo di trasmissione in funzione di detto indice di utilizzo di dette una o pi? risorse condivise (205, 2069;
determinare detto istante di trasmissione sulla base di detto ritardo di trasmissione e detto istante di ricezione.
4. Metodo (600) per la condivisione di una risorsa (205, 206) in un sistema di cloud computing (100) secondo una o pi? delle precedenti rivendicazioni, in cui detto messaggio di risposta comprende una informazione relativa alla disponibilit? di detta risorsa.
5. Metodo (700) per la selezione di una risorsa (205, 206) in un sistema di cloud computing (100), detto sistema di cloud computing (100) comprendendo una pluralit? di server (104, 105, 106) ed almeno un apparato utente (101, 102, 103) operativamente connessi tra loro per mezzo di una rete di telecomunicazioni (107), ciascun server (104, 105, 106) di detto sistema di cloud computing (100) comprendendo una o pi? risorse condivise (205, 206), detto metodo (700) comprendendo i seguenti passi:
trasmettere (701), attraverso detta rete di telecomunicazioni (107), un messaggio di richiesta di detta risorsa da parte di detto apparato utente (101, 102, 103);
ricevere (702) su detto apparato utente (101, 102, 103) un primo messaggio di risposta in un primo istante di ricezione da parte di un primo server (104, 105, 106) compreso in detta pluralit? di server;
ricevere (703) su detto apparato utente (101, 102, 103) un secondo messaggio di risposta in un secondo istante di ricezione da parte di un secondo server (104, 105, 106) compreso in detta pluralit? di server (104, 105, 106);
caratterizzato dal fatto che detto metodo (700) comprende ulteriormente i seguenti passi:
selezionare (704) almeno un server fornitore (104, 105, 106) di detta risorsa (205, 206) tra detto primo server (104, 105, 106) e detto secondo server (104, 105, 106) in funzione di detto primo istante di ricezione e detto secondo istante di ricezione;
trasmettere (705), attraverso detta rete di telecomunicazioni (107), un messaggio di allocazione di detta risorsa (205, 206) a detto almeno un server fornitore (104, 105, 106).
6. Server (104, 105, 106) atto alla condivisione di una risorsa (205, 206) in un sistema di cloud computing (100), detto server (104, 105, 106) comprendendo:
mezzi di memoria (202);
una interfaccia di rete (203);
una o pi? risorse condivise (205, 206);
una unit? di elaborazione (201) operativamente connessa con detti mezzi di memoria (202), detta interfaccia di rete (203) e dette una o pi? risorse condivise (205, 206);
detta unit? di elaborazione (201) essendo configurata per eseguire i passi del metodo (600) per la condivisione di una risorsa (205, 206) in un sistema di cloud computing (100) secondo una o pi? delle rivendicazioni dalla 1 alla 4.
7. Apparato utente (101, 102, 103) atto alla selezione di una risorsa (205, 206) in un sistema di cloud computing (100), detto apparato utente (101, 102, 103) comprendendo:
- mezzi di memoria (302);
- una interfaccia di rete (304);
- una unit? di elaborazione (301) operativamente connessa con detti mezzi di memoria (302) e detta interfaccia di rete (304);
detta unit? di elaborazione (301) essendo configurata per eseguire i passi del metodo (700) per la selezione di una risorsa (205, 206) in un sistema di cloud computing (100) secondo la rivendicazione 5.
8. Sistema di cloud computing (100) comprendente una pluralit? di server (104, 105, 106) operativamente connessi tra loro per mezzo di una rete di telecomunicazioni (100) in cui ciascuno di detti server (104, 105, 106) ? configurato per eseguire il metodo (600) secondo una o pi? delle rivendicazioni alla 1 alla 4.
9. Programma per elaboratore per la condivisione di una risorsa in un sistema di cloud computing (100) comprendente una pluralit? di istruzioni che, quando eseguite su un apparato di elaborazione (104, 105, 106), inducono detto apparato di elaborazione (104, 105, 106) ad eseguire i passi del metodo (600) secondo una o pi? delle rivendicazioni dalla 1 alla 4.
10. Programma per elaboratore per la selezione di una risorsa in un sistema di cloud computing (100) comprendente una pluralit? di istruzioni che, quando eseguite su un apparato di elaborazione (101, 102, 103), inducono detto apparato di elaborazione (101, 102, 103) ad eseguire i passi del metodo (700) secondo la rivendicazione 5.
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT102021000031202A IT202100031202A1 (it) | 2021-12-13 | 2021-12-13 | Sistema e metodo per lo scheduling di risorse in un sistema informatico distribuito |
JP2024531633A JP2025501680A (ja) | 2021-12-13 | 2022-11-24 | 分散型コンピューティングシステムにおけるリソーススケジューリングのためのシステム及び方法 |
KR1020247023241A KR20240121832A (ko) | 2021-12-13 | 2022-11-24 | 분산형 컴퓨팅 시스템에서의 자원 스케줄링을 위한 시스템 및 방법 |
EP22813757.6A EP4449699A1 (en) | 2021-12-13 | 2022-11-24 | System and method for resource scheduling in a distributed computing system |
IL313418A IL313418A (en) | 2021-12-13 | 2022-11-24 | A system and method for resource scheduling in a distributed computing system |
PCT/IB2022/061378 WO2023111732A1 (en) | 2021-12-13 | 2022-11-24 | System and method for resource scheduling in a distributed computing system |
US18/716,028 US20250030758A1 (en) | 2021-12-13 | 2022-11-24 | System and Method for Resource Scheduling in a Distributed Computing System |
CN202280081442.6A CN118355649A (zh) | 2021-12-13 | 2022-11-24 | 用于在分布式计算系统中资源调度的系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT102021000031202A IT202100031202A1 (it) | 2021-12-13 | 2021-12-13 | Sistema e metodo per lo scheduling di risorse in un sistema informatico distribuito |
Publications (1)
Publication Number | Publication Date |
---|---|
IT202100031202A1 true IT202100031202A1 (it) | 2023-06-13 |
Family
ID=81384912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
IT102021000031202A IT202100031202A1 (it) | 2021-12-13 | 2021-12-13 | Sistema e metodo per lo scheduling di risorse in un sistema informatico distribuito |
Country Status (8)
Country | Link |
---|---|
US (1) | US20250030758A1 (it) |
EP (1) | EP4449699A1 (it) |
JP (1) | JP2025501680A (it) |
KR (1) | KR20240121832A (it) |
CN (1) | CN118355649A (it) |
IL (1) | IL313418A (it) |
IT (1) | IT202100031202A1 (it) |
WO (1) | WO2023111732A1 (it) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020143944A1 (en) | 2001-01-22 | 2002-10-03 | Traversat Bernard A. | Advertisements for peer-to-peer computing resources |
US20180070237A1 (en) * | 2015-03-23 | 2018-03-08 | Lg Electronics Inc. | Method and device for transmitting or receiving data by terminal in wireless communication system |
-
2021
- 2021-12-13 IT IT102021000031202A patent/IT202100031202A1/it unknown
-
2022
- 2022-11-24 JP JP2024531633A patent/JP2025501680A/ja active Pending
- 2022-11-24 EP EP22813757.6A patent/EP4449699A1/en active Pending
- 2022-11-24 KR KR1020247023241A patent/KR20240121832A/ko active Pending
- 2022-11-24 IL IL313418A patent/IL313418A/en unknown
- 2022-11-24 CN CN202280081442.6A patent/CN118355649A/zh active Pending
- 2022-11-24 WO PCT/IB2022/061378 patent/WO2023111732A1/en active Application Filing
- 2022-11-24 US US18/716,028 patent/US20250030758A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020143944A1 (en) | 2001-01-22 | 2002-10-03 | Traversat Bernard A. | Advertisements for peer-to-peer computing resources |
US20180070237A1 (en) * | 2015-03-23 | 2018-03-08 | Lg Electronics Inc. | Method and device for transmitting or receiving data by terminal in wireless communication system |
Non-Patent Citations (3)
Title |
---|
CARVALHO DANIEL ET AL: "Mobile Edge Computing Performance Evaluation using Stochastic Petri Nets", 2020 IEEE SYMPOSIUM ON COMPUTERS AND COMMUNICATIONS (ISCC), IEEE, 7 July 2020 (2020-07-07), pages 1 - 6, XP033840317, DOI: 10.1109/ISCC50000.2020.9219650 * |
LI FENGJIAO ET AL: "Waiting But Not Aging: Optimizing Information Freshness Under the Pull Model", IEEE /ACM TRANSACTIONS ON NETWORKING, IEEE / ACM, NEW YORK, NY, US, vol. 29, no. 1, 9 December 2020 (2020-12-09), pages 465 - 478, XP011838229, ISSN: 1063-6692, [retrieved on 20210216], DOI: 10.1109/TNET.2020.3041654 * |
XIE KUN ET AL: "Distributed Multi-Dimensional Pricing for Efficient Application Offloading in Mobile Cloud Computing", IEEE TRANSACTIONS ON SERVICES COMPUTING, IEEE, USA, vol. 12, no. 6, 1 November 2019 (2019-11-01), pages 925 - 940, XP011759544, DOI: 10.1109/TSC.2016.2642182 * |
Also Published As
Publication number | Publication date |
---|---|
IL313418A (en) | 2024-08-01 |
KR20240121832A (ko) | 2024-08-09 |
WO2023111732A1 (en) | 2023-06-22 |
EP4449699A1 (en) | 2024-10-23 |
JP2025501680A (ja) | 2025-01-23 |
US20250030758A1 (en) | 2025-01-23 |
CN118355649A (zh) | 2024-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108737270B (zh) | 一种服务器集群的资源管理方法和装置 | |
US11416308B2 (en) | Distributed load balancing for processing of high-volume data streams | |
CN110402431B (zh) | 使用有向无环图进行事件驱动的调度 | |
US20190377604A1 (en) | Scalable function as a service platform | |
US9634956B2 (en) | Multilevel multipath widely distributed computational node scenarios | |
US11652708B2 (en) | Policies for analytics frameworks in telecommunication clouds | |
US9742726B2 (en) | Distributed dynamic host configuration protocol | |
CN104123182B (zh) | 基于主从架构的MapReduce任务跨数据中心调度系统及方法 | |
CN110166507B (zh) | 多资源调度方法和装置 | |
CN107005452B (zh) | 一种网络功能虚拟化资源处理方法及虚拟网络功能管理器 | |
US10042676B1 (en) | Capacity pool health index | |
US10067785B1 (en) | Event driven virtual machine instance pool balancing | |
US20190258497A1 (en) | Template-based software discovery and management in virtual desktop infrastructure (VDI) environments | |
Sotiriadis et al. | The inter-cloud meta-scheduling (ICMS) framework | |
US20200065126A1 (en) | Resource optimization for virtualization environments | |
Vicentini et al. | SDN-based and multitenant-aware resource provisioning mechanism for cloud-based big data streaming | |
US20200394071A1 (en) | Systems and methods for cluster resource balancing in a hyper-converged infrastructure | |
US11614957B1 (en) | Native-hypervisor based on-demand code execution system | |
IT202100031202A1 (it) | Sistema e metodo per lo scheduling di risorse in un sistema informatico distribuito | |
CN111522664A (zh) | 基于分布式服务的服务资源管控方法及装置 | |
JP7496807B2 (ja) | コンテナ実行基盤におけるコンテナネットワーク方式最適化方法およびシステム | |
US11126452B2 (en) | Performance modeling for virtualization environments | |
Nayak et al. | A Survey on Load Balancing Algorithms in Cloud Computing and Proposed a model with Improved Throttled Algorithm. | |
Komarasamy et al. | Job scheduling using Minimum Variation First algorithm in cloud computing | |
WO2024112344A1 (en) | System and method for serverless parallel deployments |