US8775638B2 - Method, computer readable medium and system for scaling medical applications in a public cloud data center - Google Patents
Method, computer readable medium and system for scaling medical applications in a public cloud data center Download PDFInfo
- Publication number
- US8775638B2 US8775638B2 US13/364,627 US201213364627A US8775638B2 US 8775638 B2 US8775638 B2 US 8775638B2 US 201213364627 A US201213364627 A US 201213364627A US 8775638 B2 US8775638 B2 US 8775638B2
- Authority
- US
- United States
- Prior art keywords
- user
- service manager
- application
- assigned
- instantiation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000015654 memory Effects 0.000 claims abstract description 19
- 238000002059 diagnostic imaging Methods 0.000 claims description 25
- 238000007726 management method Methods 0.000 description 60
- 230000008569 process Effects 0.000 description 12
- 238000003384 imaging method Methods 0.000 description 6
- 230000007170 pathology Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000009607 mammography Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007616 round robin method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007727 signaling mechanism Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- 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
Definitions
- Embodiments generally relate to deployment and invocation of scaled medical imaging applications in a public cloud data center.
- Cloud computing refers to the utilization of a set of shared computing resources, such as servers, which are typically consolidated in one or more data center locations.
- a cloud-based computing resource can be considered to execute or reside on a “cloud,” which may be an internal corporate network or the public Internet, for example. From the perspective of an application developer or corporate systems administrator, cloud computing enables the development and deployment of applications that exhibit scalability, meaning that resource utilization can be easily and dynamically increased without regard for the nature or location of the underlying infrastructure executing the applications or other services.
- Scalability as it pertains to applications, means that several instances of an application may be started by a cloud management system as needed. If the number of users requesting an application increases, the number of instances of the application that are started by the cloud management system are increased as well. If the number of application users decreases, then the number of running application instances is decreased, and accordingly, the cost for operating the application will drop.
- This dynamic provisioning of application instances is made possible by the underlying elasticity of the public cloud data center.
- the several running instances are not tied to the clients sending a request. Rather, the cloud management system allocates a running application instance to a client only for the duration of a single user request.
- the cloud management system typically allocates available application instances to clients using a Round Robin method.
- a cloud management module in a conventional system may assign instances of the requested application in a Round Robin fashion, for example.
- user data may be loaded into memory when the user is assigned an application instance. The next time the user requests the services of the same application, even when the user has maintained the same user session, there is no guarantee that the user will be assigned the same instance of the requested application. Before any further processing may be performed, this second assigned instance is required to re-load data needed by the user in order for the user to be able to utilize the application.
- loading this data may require a noticeable amount of time and may in some circumstances render the application inoperable in the view of the user.
- the inventors of the present application recognize, in the case of medical imaging applications for example, that a user will likely require that the application load extensive medical data into memory. This loading may require a non-negligible amount of time. These medical imaging applications, therefore, cannot be said to be stateless.
- data required by an application must remain available to the application throughout a user session in which the user works with the application.
- the user may pose several requests to the system during the user session.
- an instance of the application must be loaded one time for each user request.
- the inventors recognize that this further requires that medical image data be loaded one time for each user request. Because each loading may require a non-negligible amount of time, this repeated loading of data may detract from the user's experience to the extent that the application is rendered inoperable or nearly inoperable.
- the inventors note that a fixed allocation of an instance to a single user, throughout a user session including several user requests, may resolve the problem of repeated loading of extensive medical image data.
- public cloud providers do not currently support fixed allocation of instances to users.
- medical imaging applications cannot be scaled in the public cloud because of the large amounts of data that must be loaded in order to use many medical imaging applications.
- the inventors propose, for example, in the context of medical imaging applications executed in a public cloud, that an instantiation of a service manager be provided for each user upon an initial user request, and that this service manager instantiate a single application instance for use by that single user throughout a user session, requiring that data be loaded into memory only one time for the entire user session.
- One embodiment of the present application is directed to a method.
- the method includes receiving a request from a user to use one of a plurality of applications maintained in a memory of a cloud data center; assigning one of a plurality of instantiations of a service manager to the user; and establishing, using the assigned instantiation of the service manager, a connection between the user and an instance of the requested application for a duration of a user session.
- the method includes requesting, by a computing device, to use an application of a cloud data center, establishing a connection to one of a plurality of instantiations of a service manager of the cloud data center, and using, by the computing device, an instance of the requested application for a duration of a user session.
- a further embodiment of the present application is directed to a system.
- the system includes a network interface to a cloud data center.
- the system further includes a processor adapted to communicate with a memory.
- the processor is configured to maintain a plurality of instantiations of a service manager.
- the plurality of instantiations of the service manager are executable on the processor.
- the processor is further configured to receive, via the network interface, a request from a user to use one of a plurality of applications maintained in the cloud data center; assign one of the plurality of instantiations of the service manager to the user; and establish, using the assigned instantiation of the service manager, a connection between the user and an instance of the requested application for a duration of a user session.
- a still further embodiment of the present application is directed to a system.
- the system includes a network interface.
- the system further includes at least one computing device.
- the at least one computing device is configured to request, via the network interface, to use an application of a cloud data center; to establish a connection to one of a plurality of instantiations of a service manager of the cloud data center; and to use an instance of the requested application for a duration of a user session.
- FIG. 1 illustrates a system for supporting scaled applications according to at least one example embodiment.
- FIG. 2 illustrates an architecture of a cloud management module according to at least one example embodiment.
- FIG. 3 illustrates a method for deploying scaled applications according to at least one example embodiment.
- FIG. 4 is a signal diagram illustrates signaling mechanisms to implement a method for deploying scaled applications according to at least one example embodiment.
- FIG. 5 illustrates a system for using scaled applications according to at least one example embodiment.
- FIG. 6 illustrates a method for invoking scaled applications according to at least one example embodiment.
- FIG. 7 illustrates a system for supporting scaled medical imaging applications according to at least one example embodiment.
- example embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe the operations as sequential processes, many of the operations may be performed in parallel, concurrently or simultaneously. In addition, the order of operations may be re-arranged. The processes may be terminated when their operations are completed, but may also have additional steps not included in the figure. The processes may correspond to methods, functions, procedures, subroutines, subprograms, etc.
- illustrative embodiments will be described with reference to acts and symbolic representations of operations (e.g., in the form of flowcharts) that may be implemented as program modules or functional processes include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types and may be implemented using existing hardware at existing network elements.
- Such existing hardware may include one or more Central Processing Units (CPUs), digital signal processors (DSPs), application-specific-integrated-circuits, field programmable gate arrays (FPGAs) computers or the like.
- CPUs Central Processing Units
- DSPs digital signal processors
- FPGAs field programmable gate arrays
- the software implemented aspects of the example embodiments are typically encoded on some form of program storage medium or implemented over some type of transmission medium.
- the program storage medium e.g., non-transitory storage medium
- the program storage medium may be magnetic (e.g., a floppy disk or a hard drive) or optical (e.g., a compact disk read only memory, or “CD ROM”), and may be read only or random access.
- the transmission medium may be twisted wire pairs, coaxial cable, optical fiber, or some other suitable transmission medium known to the art. The example embodiments not limited by these aspects of any given implementation.
- Example embodiments of the present application include a method and system for providing scaled applications in a public cloud data center.
- instantiations of a service manager are installed in the public cloud data center and are managed by a cloud management module.
- the cloud management module assigns instantiations of the service manager to a user when a user requests use of an application maintained in the public cloud data center.
- each instantiation of the service manager includes mechanisms for controlling the number of running instances of applications.
- the assigned instantiation of the service manager deploys an instance of the application and returns the address of this instance to the requesting user. The user then works with that single instance of the application throughout a user session.
- the instantiation of the service manager frees the instance of the application.
- the cloud management module is then further notified that this instantiation of the service manager is available to be assigned to other users. Assigning instantiation of the service manager may occur through a Round Robin assignment mechanism, for example.
- Example embodiments provide unlimited scalability of applications in a public cloud data center by fixedly allocating one instance of an application to a user. Because only one instance of the application is loaded for a user session, loading of extensive amounts of data takes place only once for a user session. In example embodiments, an application therefore can respond to an unlimited or nearly unlimited number of user requests because the application has dynamic scalability.
- FIG. 1 illustrates an example embodiment of a system 100 in which methods of providing scaled applications of a cloud data center are implemented.
- the system 100 includes a cloud data center 110 , in which applications and systems for management of applications, servers, data storage systems, and other computing resources can operate.
- a “cloud” may include a collection of resources that can be invoked for a limited or defined duration, for example.
- the cloud includes a cloud management module 120 .
- the cloud management module 120 includes a dedicated or centralized server and/or other software, hardware, and network tools that communicate via one or more networks such as the Internet or other public or private network with all instances 130 - 1 through 130 -n of one or several applications.
- the cloud management module 120 includes one or more instantiations 140 - 1 through 140 -n of a service manager. These instantiations 140 - 1 through 140 -n of the service manager in turn invoke one of the application instances 130 - 1 through 130 -n of the one or several applications for use throughout the duration of a user session of a user 150 - 1 through 150 -n. Because a user 150 - 1 through 150 -n is assigned to a single application instance 130 - 1 through 130 -n for the duration of a user session, user data only needs to be loaded one time in a user session.
- the cloud data center 110 may support and maintain one or several applications, and there may be one or several instances of each application executing in the cloud at any point in time.
- the number of instances of each application executing at any given time may be, for example, configured dynamically according to application logic of each application, or defined according to a configuration setting of the application.
- User 150 -n may request an instance of the same application as that requested by user 150 - 1 .
- User 150 -n may request an instance of a different application than that requested by user 150 - 1 . It should be understood that any number of users 150 - 1 through 150 -n may be assigned any number of instances 130 - 1 through 130 -n of same or unique applications supported in cloud data center 110 .
- the architecture and operation of the cloud management module 120 is described below in further detail with respect to FIG. 2 .
- a method for providing scaled applications in a public cloud data center is described with respect to FIG. 3 .
- the method for providing scaled applications in a public cloud data center is described in further detail with respect to FIG. 4 .
- a system for using a scaled application of a public cloud data center is described with respect to FIG. 5 .
- a method for invoking applications of a cloud data center is described with respect to FIG. 6 .
- a system for supporting scaled medical imaging applications of a cloud data center is described with respect to FIG. 7 .
- FIG. 2 is a block diagram of an example system, such as a cloud management module 120 , for example, which may be utilized to implement methods according to example embodiments of the present application.
- the cloud management module 120 includes at least a network interface 200 to a cloud data center, a processor 210 , and a memory 220 , the processor 210 being adapted to communicate with the memory 220 and adapted to communicate with any of users 150 - 1 through 150 -n via network interface 200 .
- the processor 210 is further adapted to maintain a plurality of instantiations of a service manager 140 - 1 through 140 -n.
- the service manager instantiations 140 - 1 through 140 -n may be executed on the processor 210 according to example embodiments.
- a user 150 - 1 communicates with the cloud management module 120 through network interface 200 . It will be understood that a user 150 - 1 may communicate with the cloud management module 120 using one or more conventional communication protocols, such as the hypertext transfer protocol (HTTP) or the simple object access protocol (SOAP) for example. Other embodiments may utilize one or several other communication protocols.
- the user 150 - 1 may be a conventional web browser application, a desktop/laptop computing system executing a software application, a wireless device, any other computational device or system, etc.
- the cloud management module 120 receives, via the network interface 200 , a request from the user 150 - 1 to use one of a plurality of applications maintained in the cloud data center.
- the cloud management module 120 creates a new service manager instantiation 140 - 1 through 140 -n based on the user request and assigns the new service manager instantiation 140 - 1 through 140 -n to the user 150 - 1 .
- the assignment may be performed by, for example, cloud platform-specific API calls.
- the assignment may return a Uniform Resource Locator (URL) to the user for using the assigned service manager instantiation.
- the URL may be generated by a cloud platform.
- the cloud management module 120 may increment a numerical value in a configuration file to reflect that a new instantiation of the service manager has been created.
- the cloud platform may initiate execution of the new instantiation of the service manager 140 - 1 through 140 -n on the processor 210 based on the incrementing of the numerical value in the configuration file.
- the assigning may occur after the cloud management module 120 examines memory 220 for a user session state corresponding to user 150 - 1 . If there is no corresponding user session state for user 150 - 1 , the cloud management module determines that the user 150 - 1 wishes to initiate a new session and the cloud management module 120 assigns a service manager instantiation 140 - 1 . In example embodiments, the assigning may occur after a user authentication process.
- the assigned service manager instantiation 140 - 1 through 140 -n then establishes a connection between the requesting user 150 - 1 and an instance of the requested application 130 - 1 through 130 -n (shown in FIG. 1 ).
- the established connection is maintained throughout the user 150 - 1 session.
- the connection may be established by user 150 - 1 invocation of a second URL received from the assigned service manager instantiation 140 - 1 through 140 -n.
- the second URL may be generated by the cloud platform.
- the second URL includes parameters for using the instance of the requested application 130 - 1 through 130 -n. Example embodiments do not require re-loading of data because a user 150 - 1 is assured the use of the same application instance throughout a user session.
- the cloud management module 120 may assign a second user 150 -n to a second instantiation 140 -n of the service manager based on a request by the second user 150 -n to use an application of the cloud data center 110 .
- the second request by the second user 150 -n may be for the use of a different application from that requested by the first user 150 - 1 .
- the second request by the second user 150 -n may be for use of the same application requested by the first user 150 - 1 .
- the cloud management module 120 may assign service manager instantiations 140 - 1 through 140 -n according to a Round Robin load balancing mechanism, for example.
- the assigned service manager instantiation 140 - 1 through 140 -n may remove the assigned instance 130 - 1 of the requested application subsequent to a user request to terminate use of the instance 130 - 1 of the requested application.
- the user 150 - 1 request to terminate use of the requested application may be determined based upon the user being idle for a configurable amount of time, for example.
- the assigned instance 130 - 1 may be removed using platform-specific API calls.
- the cloud management module 120 may decrement the numerical value of the configuration file to cause the cloud platform to remove the assigned service manager instantiation 140 - 1 through 140 -n from execution on the processor 210 .
- the requested application may be a medical imaging service such as a two-dimensional (2D) or three-dimensional (3D) imaging application for use in pathology and mammography, for example.
- a medical imaging service such as a two-dimensional (2D) or three-dimensional (3D) imaging application for use in pathology and mammography, for example.
- FIG. 3 illustrates a method for providing scaled applications according to an example embodiment. Reference is made to elements of FIGS. 1 and 2 through the use of like reference numerals.
- the cloud management module 120 receives, via a network interface 200 operatively connected to the processor 210 for example, a request from a user 150 - 1 to use one of the applications maintained in a memory by the cloud data center 110 .
- the cloud management module 120 assigns one of a plurality of instantiations of a service manager 140 - 1 through 140 -n to the user 150 - 1 .
- the cloud management module 120 may create a new service manager instantiation 140 - 1 through 140 -n based on the user request and the cloud management module may assign the new service manager instantiation 140 - 1 through 140 -n to the user 140 - 1 .
- the assignment may be performed by, for example, cloud platform-specific API calls.
- the assignment may return a URL to the user 150 - 1 for using the assigned service manager instantiation.
- the URL may be generated by a cloud platform.
- the cloud management module 120 may increment a numerical value in a configuration file to reflect that a new instantiation of the service manager has been created.
- the cloud platform may initiate execution of the new instantiation of the service manager 140 - 1 through 140 -n on the processor 210 based on the incrementing of the numerical value in the configuration file.
- the cloud management module 120 may assign an instantiation 140 - 1 through 140 -n of the service manager after examining the memory 220 for a user session state corresponding to user 150 - 1 . If there is no corresponding user session state for user 150 - 1 , the cloud management module 120 may then determine that the user 140 - 1 wishes to initiate a new session and the cloud management module 120 then assigns an instantiation of the service manager to the user 150 - 1 . In example embodiments, the assigning may occur after a user authentication process.
- the assigned instantiation of the service manager 140 - 1 through 140 -n establishes a connection between the user 150 - 1 and an instance of the requested application 130 - 1 through 130 -n.
- the connection may be established by user 150 - 1 invocation of a second URL received from the assigned service manager instantiation 140 - 1 through 140 -n.
- the second URL may be generated by the cloud platform.
- the second URL includes parameters for using the instance of the requested application 130 - 1 through 130 -n.
- the established connection is maintained to the same instance of the requested application 130 - 1 through 130 -n throughout the duration of a user session.
- Example embodiments do not require re-loading of data because a user 150 - 1 is assured the use of the same application instance throughout a user session.
- the cloud management module 120 may assign a second user 150 -n to a second instantiation 140 -n of the service manager based upon a request by the second user 150 -n to use an application maintained in the cloud data center 110 .
- the second request by the second user 150 -n may be for use of a different application as that requested by the first user 150 - 1 .
- the second request by the second user 150 -n may be for use of the same application requested by the first user 150 - 1 .
- the cloud management module 120 may assign instantiations 140 - 1 through 140 -n of the service manager in a Round Robin fashion.
- the assigned service manager instantiation 140 - 1 through 140 -n may remove the assigned instance 130 - 1 of the requested application subsequent to a user being idle for a configurable amount of time, for example.
- the assigned instance 130 - 1 may be removed using platform-specific API calls.
- the cloud management module 120 may decrement the numerical value of the configuration file to cause the cloud platform to remove the assigned service manager instantiation 140 - 1 through 140 -n from execution on the processor 210 .
- the requested application may be a medical imaging service such as a two-dimensional (2D) or three-dimensional (3D) imaging application for use in pathology and mammography, for example.
- a medical imaging service such as a two-dimensional (2D) or three-dimensional (3D) imaging application for use in pathology and mammography, for example.
- FIG. 4 is a signal diagram providing further details of the messages to implement an embodiment of the method of FIG. 3 , for example.
- a cloud management module may receive a user request to use an application maintained in the cloud data center.
- the request message 1 may include information such as the name of the application requested, or the user location.
- the cloud management module may then assign an instantiation of a service manager with an assign message 2 .
- the assign message 2 may include information such as the user type of the user making the request, or the location of the user making the request, for example.
- the instantiation of the service manager may be assigned in a Round Robin fashion, for example.
- the assignment may be performed by, for example, platform-specific API calls.
- the assignment may return a Uniform Resource Locator (URL) to the user for using the assigned service manager instantiation.
- the URL may be generated by a cloud platform.
- URL Uniform Resource Locator
- the cloud management module may increment a numerical value in a configuration file to reflect that a new instantiation of the service manager has been created.
- the cloud platform may initiate execution of the new instantiation of the service manager on the processor based on the incrementing of the numerical value in the configuration file.
- the assigning may occur after a user authentication process.
- the service manager instantiation may then deploy the requested application instance with a deploy message 3 and establish a connection between the requested application and the user by sending the URL of the deployed application instance to the user in message 4 , for example.
- the connection may be established by user invocation of a URL received from the service manager instantiation.
- the URL may be generated by the cloud platform.
- the URL includes parameters for using the requested application.
- the user may then proceed to use the desired application instance for the duration of a user session 5 .
- the user may then signal a desire to cease operations using the deployed application instance with message 6 .
- the user may signal the desire to cease operations through any known way such as being idle, closing an application or logging off of a computer system, for example.
- the deployed application instance in message 7 , may then signal to the cloud management module that the user session is complete.
- the cloud management module may then signal this information to the service manager instantiation assigned to the user in 8 .
- the service manager instantiation may then remove the application instance using cloud-platform-specific API calls in message 9 .
- the cloud management module may decrement the numerical value of the configuration file to cause the cloud platform to remove the assigned service manager instantiation 140 - 1 through 140 -n from execution on the processor 210 in message 10 .
- FIG. 5 illustrates an example embodiment of a system 500 in which methods of using scaled applications of a cloud data center are implemented according to example embodiments.
- the system 500 includes a network interface 530 and at least one computing device 510 .
- the computing device 510 is adapted to request an application 540 of the cloud data center 110 via the network interface 530 .
- the computing device 510 establishes a connection to one of a plurality of instantiations of a service manager 560 .
- the computing device 510 is further configured to use a single instance 550 - 1 through 550 -n the application 540 throughout the duration of a user session.
- the computing device 510 is configured to receive, via the service manager 560 , a URL address of an instance 550 - 1 through 550 -n of the requested application 540 .
- the computing device 510 may trigger that the computing device 510 wishes to cease operations using the application 540 .
- the computing device 510 may trigger this wish through any known method such as being idle, logging off a system or closing an application.
- the requested application may be a medical imaging service such as a two-dimensional (2D) or three-dimensional (3D) imaging application for use in pathology and mammography, for example.
- FIG. 6 illustrates an example embodiment of a method for invoking scaled applications according to example embodiments. Reference is made to elements of FIGS. 1-5 by the use of like reference numerals.
- a computing device 510 requests the services of an application 540 maintained by a cloud data center 110 . As described above with respect to FIG. 3 , the request may be compared to a user session state stored by the cloud management module 120 of a cloud data center 110 . The computing device 510 may be subjected to authorization protocols according to policies of the cloud data center 110 or the cloud management system 120 .
- step S 610 the computing device 510 establishes a connection to an instantiation of a plurality of instantiations of a service manager 560 .
- step S 620 the computing device 510 uses an instance 550 - 1 through 550 -n of the requested application for the duration of a user session.
- the computing device 510 may receive, from the service manager 560 , a URL address of an instance 550 - 1 through 550 -n of the requested application.
- the computing device 510 may trigger the closing of the instance 550 - 1 through 550 -n of the requested application by, for example, being idle for a configurable amount of time.
- the requested application may be a medical imaging service such as a two-dimensional (2D) or three-dimensional (3D) imaging application for use in pathology and mammography, for example.
- FIG. 7 illustrates an example embodiment of a system for implementing and using a scaled medical imaging application of a cloud data center. Reference is made to elements of FIGS. 1 and 2 through the use of like reference numerals. A detailed explanation of elements already discussed with regard to FIGS. 1 and 2 is omitted for brevity.
- the system 700 includes a cloud data center 110 , in which applications and systems for management of applications, servers, data storage systems, and other computing resources can operate.
- the cloud includes a cloud management module 120 .
- the cloud management module 120 includes one or more instantiations 140 - 1 through 140 -n of a service manager. These instantiations 140 - 1 through 140 -n of the service manager in turn invoke one of the application instances 730 - 1 through 730 -n of the one or several medical imaging applications for use throughout the duration of a user session of a user 150 - 1 through 150 -n.
- the one or several application instances 730 - 1 through 730 -n may be, for example, instances of a 2D or 3D pathology imaging application, a 2D/3D mammography imaging application, or any other known medical imaging application.
- the one or several application instances 730 - 1 through 730 -n may be instances of the same medical imaging application, or of different medical imaging applications, or any combination thereof.
- the number of instances of each application executing at any given time may be, for example, configured dynamically according to application logic of each application, or defined according to a configuration setting of the application.
- a user 150 - 1 through 150 -n is assigned to a single application instance 730 - 1 through 730 -n for the duration of a user session, user data only needs to be loaded one time in a user session.
- a user 150 - 1 may use an application instance 730 - 1 of a 2D pathology application, for example.
- the user 150 - 1 makes a request A to the cloud management module 120 through any known method of network communications.
- a user 150 - 1 may communicate with the cloud management module 120 using one or more conventional communication protocols, such as the hypertext transfer protocol (HTTP) or the simple object access protocol (SOAP) for example.
- HTTP hypertext transfer protocol
- SOAP simple object access protocol
- Other embodiments may utilize one or several other communication protocols.
- the user 150 - 1 may be a conventional web browser application, a desktop/laptop computing system executing a software application, a wireless device, any other computational device or system, etc.
- the cloud management module 120 assigns one of service manager instantiations 140 - 1 through 140 -n to the user 150 - 1 .
- the assignment may be performed by, for example, platform-specific API calls.
- the assignment may return B a Uniform Resource Locator (URL) address to the user for using the assigned service manager instantiation.
- the URL may be generated by a cloud platform.
- the cloud management module 120 may increment a numerical value in a configuration file to reflect that a new instantiation of the service manager has been created.
- the cloud platform may initiate execution of the new instantiation of the service manager 140 - 1 through 140 -n on the processor 210 based on the incrementing of the numerical value in the configuration file.
- the assigning may occur after the cloud management module 120 examines memory 220 for a user session state corresponding to user 150 - 1 . If there is no corresponding user session state for user 150 - 1 , the cloud management module determines that the user 150 - 1 wishes to initiate a new session and the cloud management module 120 assigns a service manager instantiation 140 - 1 . In example embodiments, the assigning may occur after a user authentication process.
- the assigned service manager instantiation 140 - 1 then deploys C an instance 730 - 1 of the requested medical imaging application.
- the deployment may be performed, for example, using a platform-specific API call, or any other known method of application invocation.
- the assigned service manager instantiation establishes a connection D between the requesting user 150 - 1 and the instance of the requested medical imaging application 730 - 1 .
- the established connection is maintained throughout the user 150 - 1 session.
- the connection may be established by user 150 - 1 invocation of a URL received from the assigned service manager instantiation 140 - 1 .
- the URL may be generated by the cloud platform.
- the URL includes parameters for using the instance of the requested application 730 - 1 .
- Example embodiments do not require re-loading of data more than once within a user session because a user 150 - 1 is assured the use of the same application instance throughout a user session.
- data may only be loaded when the user 150 - 1 is ready to make a diagnosis at the end of a user session.
- the cloud management module 120 may assign G a second user 150 -n to a second instantiation 140 -n of the service manager based on a request F by the second user 150 -n to use an application of the cloud data center 110 .
- the second request by the second user 150 -n may be for the use of a different application from that requested by the first user 150 - 1 .
- the second request by the second user 150 -n may be for use of the same application requested by the first user 150 - 1 .
- the cloud management module 120 may assign service manager instantiations 140 - 1 through 140 -n according to a Round Robin load balancing mechanism, for example.
- the assigned service manager instantiation 140 - 1 removes E the assigned instance 730 - 1 of the requested application subsequent to a user 150 - 1 request to terminate use of the instance 730 - 1 of the requested application.
- the user 150 - 1 request to terminate use of the requested application may be determined based upon the user being idle for a configurable amount of time, for example.
- the instance 730 - 1 of the requested medical imaging application may be removed by, for example, invoking service management API functions to delete the instance 730 - 1 .
- the cloud management module 120 may then reduce, by updating a configuration file, the number of running instances of the service manager by 1 , causing the cloud platform to stop execution of the instance of the service manager on the processor 210 .
- One embodiment of the present application is directed to a computer readable medium.
- the computer readable medium includes code segments that, when executed by a processor, cause the processor to receive a request from a user to use one of the applications maintained in a cloud data center and to assign one of a plurality of instantiations of a service manager to the user.
- the processor may also establish, using the assigned instantiation of the service manager, a connection between the user and an instance of the requested application for a duration of a user session.
- One embodiment of the present application is directed to a computer readable medium.
- the computer readable medium includes code segments that, when executed by a processor, cause the processor to request the use of an application of a cloud data center and to use a single instance of the requested application for a duration of a user session.
- Alternative embodiments of the invention may be implemented as a computer program product for use with a computer system, the processor program product being, for example, a series of processor instructions, code segments or program segments stored on a tangible or non-transitory data recording medium (processor readable medium), such as a diskette, CD-ROM, ROM, or fixed disk, or embodied in a computer data signal, the signal being transmitted over a tangible medium or a wireless medium, for example, microwave or infrared.
- processor readable medium such as a diskette, CD-ROM, ROM, or fixed disk
- the series of processor instructions, code segments or program segments can constitute all or part of the functionality of the methods of example embodiments described above, and may also be stored in any memory device, volatile or non-volatile, such as semiconductor, magnetic, optical or other memory device.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Treatment And Welfare Office Work (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims (24)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/364,627 US8775638B2 (en) | 2012-02-02 | 2012-02-02 | Method, computer readable medium and system for scaling medical applications in a public cloud data center |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/364,627 US8775638B2 (en) | 2012-02-02 | 2012-02-02 | Method, computer readable medium and system for scaling medical applications in a public cloud data center |
Publications (2)
Publication Number | Publication Date |
---|---|
US20130205031A1 US20130205031A1 (en) | 2013-08-08 |
US8775638B2 true US8775638B2 (en) | 2014-07-08 |
Family
ID=48903922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/364,627 Active 2032-04-07 US8775638B2 (en) | 2012-02-02 | 2012-02-02 | Method, computer readable medium and system for scaling medical applications in a public cloud data center |
Country Status (1)
Country | Link |
---|---|
US (1) | US8775638B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768957B (en) * | 2015-06-12 | 2021-10-15 | 华为技术有限公司 | Method, equipment and system for managing user information of application |
US11138344B2 (en) * | 2019-07-03 | 2021-10-05 | Ooma, Inc. | Securing access to user data stored in a cloud computing environment |
Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080305815A1 (en) * | 2007-05-18 | 2008-12-11 | Smarttouch, Inc. | System and method for enhanced communications via small data rate communication systems |
US20090210929A1 (en) * | 2008-02-18 | 2009-08-20 | Microsoft Corporation | Inter-process networking for many-core operating systems |
US20100042675A1 (en) * | 2008-08-12 | 2010-02-18 | Hitachi, Ltd. | Request processing method and computer system |
US20100223378A1 (en) * | 2009-02-27 | 2010-09-02 | Yottaa Inc | System and method for computer cloud management |
US20100229108A1 (en) * | 2009-02-09 | 2010-09-09 | Last Legion Games, LLC | Computational Delivery System for Avatar and Background Game Content |
US20110055317A1 (en) * | 2009-08-27 | 2011-03-03 | Musigy Usa, Inc. | System and Method for Pervasive Computing |
US20110055398A1 (en) * | 2009-08-31 | 2011-03-03 | Dehaan Michael Paul | Methods and systems for flexible cloud management including external clouds |
US20110185063A1 (en) * | 2010-01-26 | 2011-07-28 | International Business Machines Corporation | Method and system for abstracting non-functional requirements based deployment of virtual machines |
US20110213691A1 (en) * | 2010-02-26 | 2011-09-01 | James Michael Ferris | Systems and methods for cloud-based brokerage exchange of software entitlements |
US20110283202A1 (en) * | 2010-05-12 | 2011-11-17 | International Business Machines Corporation | User interface proxy method and system |
US20120047239A1 (en) * | 2010-08-20 | 2012-02-23 | Donahue James E | System and Method for Installation and Management of Cloud-Independent Multi-Tenant Applications |
US20120209968A1 (en) * | 2010-06-23 | 2012-08-16 | Twilio, Inc. | System and method for managing a computing cluster |
US20120215582A1 (en) * | 2011-02-23 | 2012-08-23 | International Business Machines Corporation | Executing workflows based on service level agreements |
US20120271927A1 (en) * | 2010-06-23 | 2012-10-25 | Bulat Shakirzyanov | System and method for managing a computing cluster |
US20120297059A1 (en) * | 2011-05-20 | 2012-11-22 | Silverspore Llc | Automated creation of monitoring configuration templates for cloud server images |
US20120303818A1 (en) * | 2010-04-07 | 2012-11-29 | Limelight Networks, Inc. | Edge-based resource spin-up for cloud computing |
US20120311609A1 (en) * | 2011-06-01 | 2012-12-06 | Microsoft Corporation | Episodic Coordination Model for Distributed Applications |
US20120324067A1 (en) * | 2011-06-17 | 2012-12-20 | Adiseshu Hari | Method and apparatus for remote delivery of managed usb services via a mobile computing device |
US20130007753A1 (en) * | 2011-06-28 | 2013-01-03 | Microsoft Corporation | Elastic scaling for cloud-hosted batch applications |
US20130132944A1 (en) * | 2011-05-31 | 2013-05-23 | Andrew G. Davis | Methods and Apparatus for Binding Applications to a Cloud Computing Environment |
US20130138810A1 (en) * | 2011-09-09 | 2013-05-30 | Shuki Binyamin | Systems and Methods for Workspace Interaction with Cloud-Based Applications |
US20130198653A1 (en) * | 2012-01-11 | 2013-08-01 | Smart Technologies Ulc | Method of displaying input during a collaboration session and interactive board employing same |
US20130198249A1 (en) * | 2008-02-12 | 2013-08-01 | Oracle International Corporation | Distributed consistent grid of in-memory database caches |
US20130238791A1 (en) * | 2011-11-10 | 2013-09-12 | CopperEgg Corporation | System for Monitoring Elastic Cloud-Based Computing Systems as a Service |
-
2012
- 2012-02-02 US US13/364,627 patent/US8775638B2/en active Active
Patent Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080305815A1 (en) * | 2007-05-18 | 2008-12-11 | Smarttouch, Inc. | System and method for enhanced communications via small data rate communication systems |
US20130198249A1 (en) * | 2008-02-12 | 2013-08-01 | Oracle International Corporation | Distributed consistent grid of in-memory database caches |
US20090210929A1 (en) * | 2008-02-18 | 2009-08-20 | Microsoft Corporation | Inter-process networking for many-core operating systems |
US20100042675A1 (en) * | 2008-08-12 | 2010-02-18 | Hitachi, Ltd. | Request processing method and computer system |
US20100229108A1 (en) * | 2009-02-09 | 2010-09-09 | Last Legion Games, LLC | Computational Delivery System for Avatar and Background Game Content |
US20100223378A1 (en) * | 2009-02-27 | 2010-09-02 | Yottaa Inc | System and method for computer cloud management |
US20110055317A1 (en) * | 2009-08-27 | 2011-03-03 | Musigy Usa, Inc. | System and Method for Pervasive Computing |
US20110055398A1 (en) * | 2009-08-31 | 2011-03-03 | Dehaan Michael Paul | Methods and systems for flexible cloud management including external clouds |
US20110185063A1 (en) * | 2010-01-26 | 2011-07-28 | International Business Machines Corporation | Method and system for abstracting non-functional requirements based deployment of virtual machines |
US20110213691A1 (en) * | 2010-02-26 | 2011-09-01 | James Michael Ferris | Systems and methods for cloud-based brokerage exchange of software entitlements |
US20120303818A1 (en) * | 2010-04-07 | 2012-11-29 | Limelight Networks, Inc. | Edge-based resource spin-up for cloud computing |
US20110283202A1 (en) * | 2010-05-12 | 2011-11-17 | International Business Machines Corporation | User interface proxy method and system |
US20120209968A1 (en) * | 2010-06-23 | 2012-08-16 | Twilio, Inc. | System and method for managing a computing cluster |
US20120271927A1 (en) * | 2010-06-23 | 2012-10-25 | Bulat Shakirzyanov | System and method for managing a computing cluster |
US20120047239A1 (en) * | 2010-08-20 | 2012-02-23 | Donahue James E | System and Method for Installation and Management of Cloud-Independent Multi-Tenant Applications |
US20120215582A1 (en) * | 2011-02-23 | 2012-08-23 | International Business Machines Corporation | Executing workflows based on service level agreements |
US20120297059A1 (en) * | 2011-05-20 | 2012-11-22 | Silverspore Llc | Automated creation of monitoring configuration templates for cloud server images |
US20130132944A1 (en) * | 2011-05-31 | 2013-05-23 | Andrew G. Davis | Methods and Apparatus for Binding Applications to a Cloud Computing Environment |
US20120311609A1 (en) * | 2011-06-01 | 2012-12-06 | Microsoft Corporation | Episodic Coordination Model for Distributed Applications |
US20120324067A1 (en) * | 2011-06-17 | 2012-12-20 | Adiseshu Hari | Method and apparatus for remote delivery of managed usb services via a mobile computing device |
US20130007753A1 (en) * | 2011-06-28 | 2013-01-03 | Microsoft Corporation | Elastic scaling for cloud-hosted batch applications |
US20130138810A1 (en) * | 2011-09-09 | 2013-05-30 | Shuki Binyamin | Systems and Methods for Workspace Interaction with Cloud-Based Applications |
US20130238791A1 (en) * | 2011-11-10 | 2013-09-12 | CopperEgg Corporation | System for Monitoring Elastic Cloud-Based Computing Systems as a Service |
US20130198653A1 (en) * | 2012-01-11 | 2013-08-01 | Smart Technologies Ulc | Method of displaying input during a collaboration session and interactive board employing same |
Non-Patent Citations (2)
Title |
---|
Brown (Brown A., Trusted Platform-as-a-Service: A Foundation for Trustworthy Cloud-Hosted Applications, Oct. 21, 2011, Duke University Department of Computer Science, p. 17-20). * |
Rochwerger (Rochwerger B., The reservoir model and architecture for open federated cloud computing, 2009, International Business Machines Corporation, vol. 53, No. 4, Paper 4, p. 4-10). * |
Also Published As
Publication number | Publication date |
---|---|
US20130205031A1 (en) | 2013-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11762703B2 (en) | Multi-region request-driven code execution system | |
US11561811B2 (en) | Threading as a service | |
US10372499B1 (en) | Efficient region selection system for executing request-driven code | |
US8881149B2 (en) | Control of java resource runtime usage | |
US9678773B1 (en) | Low latency computational capacity provisioning | |
US9251040B2 (en) | Remote debugging in a cloud computing environment | |
US7996525B2 (en) | Systems and methods for dynamically provisioning cloud computing resources | |
CA3134856A1 (en) | Method and system for distributed edge cloud computing | |
EP3782030A1 (en) | System for managing deployment of distributed computing resources | |
US11310348B2 (en) | Highly scalable, fault tolerant remote access architecture and method of connecting thereto | |
CN112424746A (en) | In-place triggered function as a service within a services grid | |
US20210389970A1 (en) | Vnf lifecycle management method and apparatus | |
JP2022514834A (en) | Methods, devices, and programs for processing media content in MPEG NBMP | |
WO2018107945A1 (en) | Method and device for implementing allocation of hardware resources, and storage medium | |
CN103685496A (en) | Transmission method and device of file data | |
JP2022519803A (en) | Computer systems and related methods that provide virtual computing sessions through virtual delivery agent leasing with enhanced power savings and connectivity | |
CN112424749A (en) | On-demand code execution with limited memory footprint | |
US8775638B2 (en) | Method, computer readable medium and system for scaling medical applications in a public cloud data center | |
JPWO2018143235A1 (en) | Management system, management device, management method, and program | |
US9628401B2 (en) | Software product instance placement | |
WO2022237824A1 (en) | Cloud service deployment method for cloud platform and related device | |
US11765053B2 (en) | Distributed computation orchestration for internet-of-things devices using CoAP and LWM2M protocols | |
US8880702B2 (en) | Provision of other than 1:1 resource mapping | |
CN112995333A (en) | Remote file activation method, system and related device | |
US20200089544A1 (en) | Managing computer resources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SIEMENS AKTIENGESELLSCHAFT, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DORN, KARLHEINZ;UKIS, VLADYSLAV;REEL/FRAME:027917/0932 Effective date: 20120216 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: SIEMENS HEALTHCARE GMBH, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SIEMENS AKTIENGESELLSCHAFT;REEL/FRAME:039271/0561 Effective date: 20160610 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: SIEMENS HEALTHINEERS AG, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SIEMENS HEALTHCARE GMBH;REEL/FRAME:066088/0256 Effective date: 20231219 |