A Survey of Data Middleware for Grid Systems Abstract—
- 格式:pdf
- 大小:226.23 KB
- 文档页数:6
1) A web service is a standard approach to making a reusable component available and accessible across the web2)activity-location matrix:Rows are system activities from event table、Columns are physical locations3)Alpha version – incomplete testing version4)Ambiguous requirements interpreted in different ways by developers and users.5)Ambiguous requirements interpreted in different ways by developers and users.6)Beta version – end-user testing version7)CASE’s fullname is Computer-Aided Software Engineering.8)Client/Server Architecture Advantage – deployment flexibility9)Client/Server Architecture Disadvantage – complexity10)Client/server divides programs into two types:Server、Client.11)Cohesion – qualitative measure of consistency of functions within a single class12)Controls are needed for all other design activities:User interface、System interface、Application architecture、Database and Network design.13)CORBA is an international standard for an Object Request Broker - middleware to manage communications between distributed objects.14)Coupling – qualitative measure of how closely classes in a design class diagram are linked15)CRUD – create, read, update, and delete16)Data dictionary is repository for definitions of data flows, data stores, and data elements17)Data flow diagrams (DFDs) are decomposed into additional diagrams to provide multiple levels of detail18)Deployment environment definition bridges analysis and design:Hardware、System software、Networking19)Design class diagram specifically defines software classes20)Design is process of describing, organizing, and structuring system components at architectural design level and detailed design level21)Design process activities include Architectural design、Abstract specification、Interface design、Component design、Data structure design、Algorithm design 22)Domain model class diagram shows conceptual classes in users’ work environment23)Early increments act as a prototype to help elicit requirements for later increments.24)Engineers should be aware of local laws governing the use of intellectual property such as patents, copyright, etc.25)Examples of process perspectives are Workflow perspective、Data-flow perspective and Role/action perspective26)First-cut design class diagram is based on domain model and system design principles27)Functional user requirements may be high-level statements of what the system should do but functional system requirements should describe the system services in detail.28)Generic activities in all software processes are Specification、Development、Validation and Evolution29)Generic process models are Waterfall、Iterative development andComponent-based software engineering30)Important part of testing is specifying test cases and test data31)In principle, requirements should be both complete and consistent.32)In principle, requirements should be both complete and consistent.33)Integration Testing tests the behavior of a group of modules or methods34)Internet – global collection of networks that use TCP/IP networking protocols35)Layered application architecture:Presentation layer、Application processing layer、Data management layer36)Non-functional classifications are Product requirements、Organisational requirements and External requirements.37)Object contains program logic and necessary attributes in a single unit38)Object-oriented design is process by which detailed object-oriented models are built39)Objects send each other messages and collaborate to support functions of main program40)Programmers carry out some program testing to discover faults in the program and remove these faults in the debugging process.41)Requirements engineering process include Feasibility study、Requirements elicitation and analysis、Requirements specification、Requirements validation42)Sequence diagrams show the sequence of events that take place during some user interaction with a system.43)Software engineers must behave in an honest and ethically responsible way if they are to be respected as professionals.44)Some Fundamental Design Principles:Encapsulation、Object reuse、Information hiding、Protection from variations、Indirection45)Sometimes DFD fragments need to be diagrammed in more detail46)Spiral model sectors include Objective setting、Risk assessment and reduction、Development and validation、Planning。
An Oracle White PaperJuly 2011Oracle Insurance Policy Administration for Life and Annuity: Leveraging Oracle Coherence for Distributed Executionof High Volume TransactionsOracle Insurance Policy Administration for Life and Annuity: Leveraging Oracle Coherence for Distributed Execution of High Volume TransactionsDisclaimerThe following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.Introduction (2)Oracle Coherence (2)Clustered Caching (3)Oracle Insurance Policy Administration for Life and Annuity (5)Rule-based Configuration (5)OIPA Cycle Processing (6)Challenges of Cycle Processing (7)Powering Cycle with Oracle Coherence (7)Distributed Computing with the Coherence Processing Pattern (8)Scalability and High Availability in the Processing Pattern (12)OIPA Cycle Execution using the Coherence Processing Pattern (13)Extending the Processing Pattern to Support Cycle (14)Using the Processing Pattern to Submit Tasks (14)Executing a Cycle Level using ResumableTask (15)Benchmark Results for Cycle Processing (17)Conclusion (18)About Oracle Insurance (18)IntroductionThis technical white paper discusses how Oracle Insurance Policy Administration for Life and Annuity (OIPA) leverages the powerful capabilities of Oracle Coherence in-memory data grid middleware to provide predictable scalability, performance for high-volume batch cycle processing, and seamless fail-over support. It includes a technical discussion of how the Coherence Processing Pattern provides the grid computing infrastructure used by the Oracle Insurance Policy Administration cycle subsystem. The first two sections of this paper provide an overview of Oracle Coherence and the Oracle Insurance Policy Administration products, respectively. The remaining sections of the paper describe how OIPA implements the Oracle Incubator Processing Pattern to enable distributed batch processing of work across a grid of interconnected Oracle Coherence powered compute nodes.Oracle CoherenceOracle Coherence is an in-memory data grid solution that enables organizations to predictably scale mission-critical applications by providing fast access to frequently used data. Data grid software is middleware that reliably manages data objects in memory across multiple servers. By automatically and dynamically partitioning data, Oracle Coherence ensures continuous data availability and transactional integrity even in the event of a server failure. It provides organizations with a robust scaled-out data abstraction layer that brokers the supply and demand of data between applications and data sources. Oracle Coherence enables the following benefits within today’s enterprise applications:•Performance – Oracle Coherence solves latency problems and drives dramatic increases in performance by moving data closer to applications for efficient access. In-memory performance alleviates bottlenecks and reduces data contention, improving application responsiveness.•Reliability – Oracle Coherence is built on a fault-tolerant mesh that provides data reliability and accuracy. Organizations can meet data availability demands in mission-critical environments with Oracle Coherence support for data tolerance and continuous operation. The reliability of the data grid minimizes the need for applications to compensate for server and network failures, streamlining the development and deployment process.•Scalability – Oracle Coherence enables applications to scale linearly and dynamically for predictable cost and improved resource utilization. For many applications, it offers a straightforward approach to increasing the effective capacity of shared data sources. Oracle Coherence handles continually growing application loads without risking data loss or interruption of service.Figure 1. Oracle Coherence OverviewThe information stored within the nodes of a data grid is evenly distributed among the cluster members. When applications access the data grid, Oracle Coherence ensures that the data is never more than one network hop away and thus allows for near in-memory latency to all data stored within the grid. This approach enables very large performance improvements in data access. Furthermore, since the data is distributed among all nodes of the data grid and each node does not have to hold all cached data, a data grid can store very large amounts of data (in the order of magnitude of hundreds of gigabytes) without a degradation in performance. In fact, the addition of nodes to a data grid leads to a linear increase in data capacity available to the clients of the grid without any degradation in performance. This latter property is what is known as a linear scalability. Finally, a data grid has the ability to store backup copies of its data objects in separate nodes and thus also provides for high availability.Clustered CachingOne of the main capabilities of Oracle Coherence, and one that is used heavily by the features discussed within the rest of this document, is clustered caching. Clustered caching refers to the ability to maintain data in the application tier in such a way that the application can fulfill some portion of its data access requirements from the cache. This mitigates the application’s load on the database without violating the application’s requirements for data correctness if that data is being changed. Oracle Coherence provides two main types of clustered caching that are used by the Oracle Insurance Policy Administration solution: Replicated Caching and Partitioned Caching.Replicated CachingThe best-known form of coherent clustered caching is the fully replicated cache. Replication is the ability to achieve guaranteed coherency of data across multiple nodes of a cluster by maintaining copies of the data within each node and synchronizing changes. If each server maintains a local copy of cached data, then the application logic running on each server can access local data without the need to communicate with any other servers. As a result, data access has no measurable latency. There are a few limitations to replicated caching. First, a change to the cache implies the need to communicate to the entire cluster. Such communication—often accomplished by use of group network protocols—cannot by its nature scale linearly. Second, the cache is severely limited in its in-memory size, because each cluster node is maintaining the entire cache within its process space.Partitioned CachingTo solve the limitations of a replicated cache model without sacrificing either the high-availability (HA) benefits of redundancy or the coherency guarantees provided by the clustered cache, Oracle invented the concept of a partitioned cache. With the data partitioned, the cache capacity grows linearly with the size of the cluster, as does the processing capacity available for managing the cache. Further, in a shared-nothing architecture, each piece of data in the cache has exactly one owner within the cluster who is responsible for managing that data. All network communication can be point-to-point in a partitioned model, allowing the cache throughput to scale linearly on a switched network. In order to recover from a possible node failure, a partitioned cache needs to store, at a minimum, one redundant copy of the cache data on a different physical node. The partitioned caching capability of Oracle Coherence provides the foundation for distributed processing in OIPA.Oracle Insurance Policy Administration for Life and AnnuityOracle Insurance Policy Administration is a highly-flexible, rules-based policy administration solution that provides full record keeping and support for all policy lifecycle transactions (e.g. policy issue, billing, collections, policy processing, and claims). With OIPA, insurers rapidly adapt to changing business needs and regulatory requirements while supporting straight-through processing throughout the policy lifecycle.OIPA is used by leading insurers to accelerate product development and speed time to market for differentiated life, health, and annuity products. The system enables insurers to provide real-time policy servicing of customers and sales channels throughout the policy lifecycle for increased retention and loyalty. It also helps insurers reduce risk and support compliance while better managing the business to optimize performance through the use of a single system for life and annuities.Insurers require the ability to quickly bring to market innovative products that stand out from the competition, capture more market share, and ultimately maximize profitability. OIPA is an industry leading, fully configurable system allowing insurance companies to outpace competitors by getting to market faster. In addition, it enables insurers to drive transactions using business rules. It also provides real-time access to policy data, enhancing self-service capabilities for customers and distribution channels.Rule-based ConfigurationFigure 2. OIPA enables insurers to accelerate the development and launch of life, health, and annuity products and update existing products with new features or riders through flexible, rules-based configuration.The rules-based architecture of OIPA enables rapid new product development, freeing insurers from the limitations of legacy policy administration systems. The rules-driven capabilities of OIPA are unmatched in the industry; almost all changes to the system—including products, fields, screens, languages, and currencies—can be made without ever touching the core code or recompiling the application. The system does the heavy lifting through pre-configured templates, rules reusability and product cloning, and a visual Rules Palette with easy to use, drag-and-drop functionality.One of the most important elements configured by business analysts within an OIPA system is the concept of a transaction. Transactions define how the system updates, modifies, or deletes data in OIPA. As an example, a premium transaction takes a payment submitted by an insured and applies that money to a policy. A premium transaction performs a number of actions including validating inputs, removing value from suspense, applying fees and charges, issuing commission, applying the money to one or more funds on the policy, and adjusting the cash value of the policy. OIPA allows insurers to configure the sequence of steps, business rules, and calculations that are performed, as well as what data is updated as a result of the transaction processing.An instance of a transaction is known as an activity. The execution of an activity involves the execution of all processing associated with its underlying transaction within a single atomic unit of work. The execution of an activity also involves the auditing of all of the changes so that they can easily be reversed or undone.In most cases, activities that are entered into the system are scheduled for execution at a later time. In a typical OIPA system, Customer Service Representatives (CSRs) may create hundreds or even thousands of pending activities during the day. These pending activities are subsequently executed during a scheduled batch process.OIPA Cycle ProcessingCycle is the component of an OIPA system that is responsible for the scheduled execution of pending activities. The activities executed by cycle are classified into different levels, where each Cycle Level determines the type of work item to be processed and the sequence of execution:•Pre-Company – process all pending company level activities that are configured to be executed before any policy activities are processed.•Pre-Plan – process all pending plan level activities that are configured to be executed before any policy activities are processed.•Pre-Client – process all pending client level activities that are configured to be executed before any policy activities are processed.•Policy – process all pending policy activities in the insurance database•Post-Client – process all pending client level activities that are configured to be executed after any policy activities are processed.•Post-Plan – process all pending plan level activities that are configured to be executed after any policy activities are processed.•Post-Company – process all company level activities that are configured to be executed after any policy activities are processed.The association of levels with activities allows business analysts to define the sequence within which policy level activities execute. An example is the importing of the latest fund unit values into the system so that policy level activities that affect cash value can be executed properly. Fund unit values wouldhave to be imported before policy level cycle can execute, because many policy level activities require the latest fund unit values in order to process successfully. Other examples are the execution of calculations for downstream reporting or exporting of data into a data warehouse. This should happen after policies are processed, as policy level processing results in the modification of a significant amount of operational data, which should be current before it is imported into a data warehouse.Challenges of Cycle ProcessingThe requirements of the OIPA Cycle system lead to inherent time and volume challenges as described in this section. The next section will describe how Oracle Coherence’s capabilities enable Cycle to meet these challenges.Time ConstraintsOIPA Cycle processing places a large demand on database and system resources and can slow down the online OIPA application. Cycle is typically scheduled to execute off business hours in order to minimize the impact to the OIPA application users. The increasing globalization of insurance companies expands the OIPA application availability and therefore shortens the time intervals that Cycle has to complete processing.High Volume ProcessingCycle activities must be able to meet varying processing volume demands with specific time constraints. There are peak periods when the volume of pending activities can be significantly greater than normal. Example peak periods include end-of-month, end-of-quarter, and end-of-year processing when many, if not all, active policies in the system have pending activities to process. During these peak periods when the number of pending activities possibly number hundreds of thousands or even millions, Cycle must still be able to meet time constraints.Powering Cycle with Oracle CoherenceA consideration of the challenges presented by Cycle requirements makes it clear that the use of a distributed computing infrastructure that allows for the parallel execution of process intensive tasks across a number of processing nodes is needed. Furthermore, the infrastructure would also need to adhere to the following additional requirements:•Fault Tolerance – The pending tasks from a failed Cycle processing node should fail over to another node and be scheduled for processing.•Scalability – The sizing requirements for the grid are different based on the customer. While some customers may be relatively small in terms of processing requirements, other customers need the ability to execute many millions of pending insurance activities in parallel.•Simplicity – The need to achieve distributed computing capability without the system being overly cumbersome and difficult to understand and setup.•Extensible – The ability to execute custom tasks•Proven – The underlying architecture must be proven at many existing production installations. After careful consideration of these requirements, the OIPA team concluded that the best approach in addressing Cycle’s demanding needs would be through the use of Oracle Coherence.Figure 3. The use of Oracle Coherence allows OIPA to achieve the challenging performance and scalability needs driven by insurers' demand for high-volume, nightly batch processing.Oracle Coherence provides a repository of projects, known as the Coherence Incubator, that represent best practices for common solutions. The Processing Pattern is a Coherence Incubator project that provides a generalized approach for the submission and asynchronous processing of work within a Coherence cluster. This makes the Processing Pattern a good fit as a foundation for a distributed computing platform. This fit, combined with OIPA’s existing and successful use of Oracle Coherence as a distributed cache, provided the basis for choosing the Processing Pattern as the foundation for the implementation for OIPA’s distributed computing needs.Distributed Computing with the Coherence Processing PatternThe Processing Pattern leverages Oracle Coherence as the connection, communication, and management mechanism to enable distribution and execution of work across a network of computers, also known as a cluster. It allows clients to submit work to the cluster, ensures that the work gets processed, and reports the results of the execution back to the client. The Processing Pattern provides aframework that allows implementers to define their own types of work to be processed and customizes how work is dispatched and processed.The Processing Pattern provides a simple interface so that clients do not have to be concerned with how work is distributed and processed. Clients of the Processing Pattern see the cluster as a single process, and are not aware of the number and types of computers that are being used.Figure 4. The Processing Pattern distributes work using a submissions cache that is partitioned across the cluster. The Processing Pattern is built on top of the clustered caching capability of Oracle Coherence. When work is submitted using the Processing Pattern, it is stored in a partitioned cache where Oracle Coherence assigns the storage for the submission to one of the nodes connected to the cluster. When the submission is stored on the node, Oracle Coherence also makes a backup copy of the submission and stores the copy on a different node in the cluster to provide failover capability in the event that one of the nodes fails. When a node fails, the submissions in the backup storage are automatically distributed among the remaining operational nodes in the cluster. This automatic failover feature of Oracle Coherence is used by the Processing Pattern to support re-dispatching of queued tasks in the event of node failure.Distributing Tasks in the Processing PatternThere are different methods of distributing work using the Processing Pattern. The method used by OIPA Cycle includes two phases: dispatching and processing. The sequence of steps for this two phase submission process is as follows:Figure 5. The Processing Pattern distributes work in two phases: dispatching and processing.•When a task is submitted to the Processing Pattern, it is bundled with a submission and stored in the submission partitioned cache. When the submission arrives at a node, an event is fired notifying registered listeners that a new submission has arrived. The Processing Pattern has a listener (the DispatchController) that is registered to receive new submission events.•The DispatchController dispatches the new submission through a set of registered Dispatchers. The registered dispatchers form a chain of dispatchers, each one capable of performing some processing on part of the incoming submission.•The DefaultTaskDispatcher is the most important type of Dispatcher used by OIPA Cycle. It consults one or more TaskDispatchPolicy instances to determine which TaskProcessors are available to process the new submission. A TaskProcessor maps to a node in the cluster that is capable of processing the Submission. One type of TaskDispatchPolicy is the attribute-matching policy, which maps a submission to a TaskProcessor based on attributes on the submission. Another type is the round robin policy, which guarantees uniform dispatching of submissions across all nodes in the cluster. OIPA Cycle uses both of these policies to route submissions to the appropriate TaskProcessors and perform round robin load balancing of work.•Once the DefaultTaskDispatcher has selected a TaskProcessor, the DefaultTaskDispatcher assigns the submission to the TaskProcessor’s work queue using a Coherence partitioned cache.•The new submission entry is received by a TaskProcessor using another registered listener on the TaskProcessor partitioned cache. The TaskProcessor can be a different node than the node thatdispatched the submission. The TaskProcessor accepts the submission and schedules it for processing by unbundling the task associated with the submission and placing the task in a thread pool.•At some point, the task is picked up by a thread from the thread pool and processed. The code that is executed is application specific, so the task can do anything that the application requires. As an example, OIPA Cycle has a type of task called the CycleTask, which is responsible for processing all pending activities on a single unit of work such as a policy.•Once the task is completed, the TaskProcessor stores the result of the task in a SubmissionResult partitioned cache. The result of processing gets transmitted to the originating client through additional event listeners.Handling Long Running Tasks with Resumable TasksA Resumable Task is a special type of task provided by the Processing Pattern that provides additional features of reporting progress, yielding, resuming, and returning a result. These capabilities make Resumable Tasks well-suited for executing long running tasks such as asynchronously executing a Web service or governing a process that takes a long time to complete like an OIPA Cycle Level. That task can then go through a sleep/wake cycle checking on the status of processing until it is complete.When a Resumable Task is executed, it can store the progress made by saving information using a checkpoint. Thus, if the Task needs to be restarted, it can start from the latest checkpoint rather than starting from the beginning. For clients that want to be informed of the progress of a Task, the progress is reported back by listening for events on that task. It can also return a special object called a Yield that indicates the task is not yet finished and needs to be re-scheduled for execution. The Yield object is used to store the intermediate state of the task, as well as specify a delay before running the task again.Figure 6. The above diagram shows the states of a Resumable Task.Scalability and High Availability in the Processing PatternThe Processing Pattern relies on the scalability and high availability capabilities provided by Oracle Coherence to scale and provide resiliency of failure to the tasks managed by the Processing Pattern. If a node crashes during execution of a task, that task is automatically restarted on another node in the cluster. Similarly, capacity can be added to the cluster without the need for stopping or reconfiguring existing nodes. As soon as a node joins the cluster, the Processing Pattern takes advantage of the additional capacity.OIPA Cycle Execution using the Coherence Processing PatternFigure 7. OIPA Cycle executes catch processing using Oracle Coherence and the Processing PatternOIPA Cycle is built on top of the Oracle Coherence Processing Pattern to enable the distributed and parallel processing of activities during the batch processing of pending activities in the OIPA system. OIPA Cycle implements the Processing Pattern framework and provides custom tasks that execute the Cycle process. There are two components to Cycle, the Cycle Client and the Cycle Agent. The Cycle Client is a simple console application that requests a Cycle Level be completed by submitting a task to the grid for processing. The Cycle Agent is a processing node that is connected to a cluster of Cycle Agents and provides the distributed computing capability for OIPA and Cycle.Cycle acts as a workload manager; the actual work of processing activities is done by the OIPA run-time. Each Cycle Agent is bundled with the same OIPA libraries that the OIPA Web Application uses and simply delegates to these libraries to process the pending activities in the OIPA system. In this sense, Cycle provides the plumbing that connects the distributed computing capability of the Coherence Processing Pattern with the activity processing capability of OIPA.Cycle uses its own queue that exists in the underlying OIPA database in order to direct the execution of a Cycle Level. The Cycle table in the database holds a record for every task that is to be processed during the execution of a single Cycle Level. For example, when running the Policy Cycle Level, each record in the table contains an identifier for a policy that has pending activities that need to be processed. Cycle maintains its own queue instead of using the Processing Pattern’s internal queue for a two reasons. First, the number of tasks that need to be executed may number in the millions; submitting millions of tasks at one time would overwhelm the grid. Second, Cycle needs to audit each task individually to support downstream reporting on the nightly batch process. Keeping the queue in the database allows Cycle to distribute manageable chunks of work to the grid for processing and persist the results of each task.Extending the Processing Pattern to Support CycleThe Processing Pattern is a purpose-built platform that enables grid computing. It leverages Oracle Coherence as the clustering technology and builds on top of it the dispatching, assignment, scheduling, execution, and management of tasks in the cluster. One of the benefits of using the Processing Pattern is the simplicity of the framework that you need to extend in order to leverage the grid computing infrastructure that it provides. The following diagram illustrates two custom task implementations:Figure 8. Cycle classes that extend the Processing Pattern are illustrated above.The only requirement to provide custom task processing for Cycle is the implementation of the ResumableTask interface. The ResumableTask interface has a single run method that passes in a TaskEnvironment and returns an Object. The TaskEnvironment object provides access to intermediate state and gives the custom task the ability to checkpoint information and report progress. The return parameter gives the ability for the custom task to return a Yield object, which moves the task into a sleep state and schedule it for future execution.The CycleProcessTask class is the Cycle task that governs the execution of an entire Cycle Level, such as Policy Level Cycle or Pre-Company Level Cycle. The CycleProcessTask class is discussed below; it is responsible for loading the Cycle queue in the database and replenishing the grid with work until the Cycle Level is complete.The CycleTask class is responsible for processing all of the pending activities on a unit of work, (for example, a single policy). When a CycleTask object completes processing, it updates a record in the Cycle table with the results.Using the Processing Pattern to Submit TasksThe Processing Pattern provides a simple service facade called the ProcessingSession that is used to submit tasks to the grid for processing. The ProcessingSession supports different ways of waiting for the results of a task to complete, including blocking for the task to be finished (synchronous) or receiving event notifications (asynchronous).。
数据网格中一种启发式副本放置算法付雄;王汝传;邓松【摘要】副本技术广泛用于数据网格中来减少数据访问代价,增强容错能力,从而提高数据网格中数据访问的性能和可靠性.如何合理地放置副本来更有效地提高数据访问性能成为一个需要解决的重要问题.针对无向连通图表示的数据网格模型,在考虑通信代价和存储代价的基础上,提出了一种启发式副本放置算法(heuristic replica placement algorithm, HRPA),通过该算法能够得到k个副本的放置位置,并且使得整个系统的代价最小.最后,通过相应的仿真实验证明了该算法的可行性和有效性.【期刊名称】《系统工程与电子技术》【年(卷),期】2010(032)007【总页数】4页(P1513-1516)【关键词】分布式系统;数据网格;副本放置;启发式算法【作者】付雄;王汝传;邓松【作者单位】南京邮电大学计算机学院,江苏,南京,210003;南京邮电大学计算机学院,江苏,南京,210003;南京邮电大学计算机学院,江苏,南京,210003【正文语种】中文【中图分类】TP3010 引言数据网格(data grid,DG)的概念源自于网格在数据管理方面的应用,即一种在网格环境下实现分布、异构数据资源管理的新的体系结构[1]。
网格作为一种分布式计算的基础架构,其目的是在动态跨组织域的虚拟组织内部实现资源共享和协同问题求解[2]。
近年来,随着网格技术的迅速发展,网格应用领域得到迅速扩张,出现了专门面向数据密集性问题的数据网格[1,3]。
数据网格屏蔽底层资源的异构性,建立海量数据的一体化访问、存储、传输和管理,解决大规模分布式存储环境下的高效可靠的数据共享问题。
在数据网格中,为了减少数据访问的代价,提高整个系统性能,通常在不同的存储节点上建立数据的副本,以实现对数据的就近访问[1,3]。
同时,通过数据副本的复制功能,也增强数据网格的容错能力,提高了整个系统的可靠性。
1. 电子钱包的起源最早的电子钱包是由英国西敏寺( National- Westminster ) 银行开发的电子钱包 Mondex , 于 1995 年 7 月首先在有" 英国的硅谷" 之称的斯温顿( S windon ) 市试用, 很快在斯温顿打开局面, 被广泛应用于超级市场、酒吧、珠宝店、停车场等。
这是由于电子钱 包使用十分简单, 只要把 Mondex 卡插入终端, 三五分钟之后, 一笔交易即告结束。
Mondex 卡终端支付只是电子钱包的早期应用, 从形式上看, 它与智能卡十分相似。
而今天电子商务中的电子钱包则已完全摆脱了实物形态成为真正的虚拟钱包。
下文主要是对虚拟电子钱包进行介绍和分析。
2. 电子钱包 2.1 电子钱包的概念电子钱包(E- wallet)是一个可以由持卡人用来进行安全电子 交易和储存交易记录的软件。
它的本质是装载着电子货币的" 电 2) 通过电子商务服务器与有关商家联系, 诉顾客所购货物的单价、应付款、交货等信息。
并得到答复, 告 3) 顾客确认后, 用电子钱包付款, 将电子钱包打开, 输入自 己的用户名和密码, 确认是自己的钱包后, 取出其中的一张信用 卡来付款。
4) 购物者发送能够给商家一个完整的订单及要求 付 款 的 指令, 用哈希加密法对订单和付款指令生成" 消息摘要" , 由购物 者进行电子签名。
对信用卡号码使用银行的公钥进行加密( 商家 永 远 不 会 见 到 信 用 卡 号 码 ) , 用 商 家 的 公 钥 加 密 , 生成" 数 字 信 封" , 将其发送给商家。
5) 商 家 用 私 钥 打 开" 数 字 信 封" , 解 密 订 单 、验 证" 消 息 摘 要" 。
服务器将 S ET 加密的交易信息连同订单副本一起转发给结 算卡处理中心。
An Oracle White PaperApril 2013Oracle Fusion Middleware MapViewer 11gIntroduction (2)Usage Scenarios (3)Reporting (3)Proximity Search (4)Analysis (5)Brief Feature Overview (8)Developing MapViewer Applications (10)Examples of Using Specific Features (11)JavaScript API (12)Custom Map Tile Provider (12)GeoRSS (and web services) Support (14)External Attribute (non-spatial) Data Provider (14)Conclusion (16)IntroductionA picture, as they say, is worth a thousand words. This is particularly true when trying to capture the complexity of interactions among people, resources, products, and business processes distributed over geographic space. For many centuries people have relied on maps to capture and simplify these complex relationships, turning them into readily consumable, powerful packages of unambiguous information. Beginning with Oracle Database 10g and Oracle Application Server 10g and now expanded with Oracle Database 11g and the Fusion Middleware products, the basic Oracle platform delivers powerful, universally understood geospatial capabilities to every developer.Every Oracle Database includes extensive spatial capabilities in the Oracle Locator feature. Oracle Spatial and Graph option for Oracle Database Enterprise Edition expands Oracle Locator functionality with support for geocoding, routing, and advanced spatial data models to manage topologies, networks, linear referencing, gridded data and georaster imagery. Users can load all types of geometric data into Oracle Database, create spatial indexes, and issue spatial queries through SQL. Because of this, Oracle Database is an industry standard for managing geospatial data.Oracle Fusion Middleware MapViewer complements the geographic data management capacity of Oracle Database by providing a generic web-based means of delivering and viewing any geospatial data in the database. This creates enormous potential for analyzing and understanding the geographic component(s) of any business, by unlocking the enterprise information in many corporate warehouses and making it available in easy to use mapping applications. For instance, business applications such as Field Service, Transportation and Logistics, Product Lifecycle Management, Human Resources, and Real Estate commonly render and visualize the massive amount of data they control because there is a geographic component such as an address tied to the data. Developers of location-based services, data publishers in state and local government, and architects of web services and more traditional applications can all easily integrate MapViewer into their web-based solutions.2Usage ScenariosCommon use cases include reporting (e.g. sales by region), proximity search (stores or service providers nearby), and analysis (asset locations and condition, and top N insured properties within projected hurricane track). Consequently MapViewer is integrated into enterprise applications such as work and asset management, field service, human capital management, inventory management, and business intelligence dashboards. Similarly it is used in web sites for store locators, coverage and jurisdiction information, or public works project information. ReportingA map is often used as a specialized chart or graph type to present information such as state-wise sales performance (Figure 1),Figure 1: Sales Performance34or store locations and their current inventory levels (Figure 2 below).Figure 2: Store locations with inventory levelsProximity SearchThe following screenshots (Figure 3 and Figure 4) show the use of maps as a search interface. In both cases the map is used as an interactive UI component for first specifying search criteria and subsequently displaying the search results. In the first example (Figure 3) the user is searching for incidents that occurred within a specific distance from a location (a park) identified by clicking on the map.5Figure 3: Incidents within a specific distance from a locationThe second example (Figure 4) shows a summary (aggregate) report of demographic information for census areas within specified drive times from a point clicked on the map.Figure 4: Summary report of demographics within specified drive timesAnalysisThe second example above (Figure 4) is also an instance of displaying the results of a spatialanalysis query (compute drive time polygons and aggregate census demographics) on a map. This section includes additional similar examples.6Figure 5 displays the result of a network analysis (traveling salesperson tour) that computes a near optimal tour between specified locations.Figure 5: Traveling salesperson tourThe screenshot below (Figure 6) shows the result of an Asset Condition Score analysis for agiven area of interest. The area of interest in this case is the current map extent or area displayed in the map window. The asset condition score is computed only for those assets (pipelines in thisinstance) that are within the current map extent.Figure 6: Asset Condition Score analysis in an area of interestThe next example (Figure 7) shows how multiple metrics may be displayed on a map image. The user selects a section of the gaming establishment’s floor from the layout map on the left and is presented with a heatmap and tabular report on the right. These show a summary report of thecash in, win/loss, and numbers of players at individual machines within the selected area ofinterest.7Figure 7: Floorplan layout map with heatmap and tabular reportFeature OverviewThe MapViewer component in Fusion Middleware is written in Java and runs inside the Oracle WebLogic Server (WLS) or Glassfish Server. When it is up and running, MapViewer listens for client requests, which can range from map requests to administrative requests such as defining a data source or listing predefined maps in a data source. All requests will be sent using the HTTP POST method, with the content of the requests encoded in an XML format.The companion white paper “Oracle Fusion Middleware MapViewer Primer” (OTN MapViewer Training page) and the MapViewer user guide provide further details on the technology and functionality. This section is a very brief overview of MapViewer functionality.Starting with Oracle Fusion Middleware10g, MapViewer includes a new suite of technologies called Oracle Maps, that consists of a map tile server, a dynamic geospatial query service known as the Feature of Interest (FOI) server, and a Javascript based web mapping client library.The map tile server automatically fetches and serves cached map image tiles, rendered byMapViewer or other web-enabled map providers, to web application clients. The clients can thenautomatically stitch multiple map image tiles into a seamless large base map. Because the map89 image tiles are pre-generated and cached, the application users will experience fast map viewing performance.The feature of interest server renders spatial feature layers managed by Oracle Spatial and Graph, as well as individual geospatial features (points, lines, or polygons) created by an application. Unlike the cached image tiles, which typically represent static content, FOIs are dynamic and represent real-time database or application contents. The dynamic FOIs and the static cached base map enable you to build Web mapping applications.The JavaScript mapping client is a browser side map display engine that fetches map contentfrom the servers and presents it to client applications. It also provides customizable map-related user interaction control, such as map dragging and clicking, for the application. A sample Oracle Maps application is shown below.Figure 8: A Sample Oracle Maps ApplicationThe sample application displays points of interest (customers) on a base map. The map consists of two layers:•The base map layer displays the ocean, county boundaries, cities, and highways. •The FOI layer displays customer locations as markers on top of the base map.In addition to these two layers, a scale bar is displayed in the lower-left corner of the map, and a navigation panel is displayed in the upper-right corner.The application user can use the mouse to drag the map. When this happens, new image tiles and FOIs are automatically fetched for the spatial region that the map currently covers.Oracle Maps client applications running inside web browsers are pure HTML and JavaScript pages that do not require any plug-ins. Therefore, you can build the application using any web technology that delivers content as pure HTML. Such technologies include JavaServer Pages, Java Servlets, ASP, PHP, and .NET C#. MapViewer 11g comes with over 50 tutorials illustrating various aspects of the Oracle Maps functionality.Besides the basic functionality of high performance interactive rendering of geospatial content stored in an Oracle Database there are interfaces that help developers extend and enhance MapViewer. Some of them are:•Custom Map Tile Provider interfaceThe Oracle Maps API provides a generic get map tile interface. This lets developers use map tiles from a 3rd party provider (such as Nokia) in their MapViewer application. So the base map or imagery could come from an external online service while the user or application specific content (e.g. Features of Interest) are retrieved from an Oracle database.•Custom (external) Attribute Data Provider SupportMapViewer now supports middle-tier joins of external attribute data (such as sales) with geometries stored in Oracle Spatial and Graph, providing even more thematic mapping possibilities.•Custom Spatial Data Provider SupportMapViewer provides a generic spatial data provider interface. This interface lets developers extend MapViewer to work with file-based data sources such as ESRI shapefiles or other database software that manages geospatial information.The following section briefly describes MapViewer application development with Oracle tools such as JDeveloper or Application Express (APEX). The subsequent section presents examples of using some of the features outlined above in this section.Developing MapViewer ApplicationsMapViewer has XML, Java, and Javascript APIs for application development. These, combined with Oracle development tools, make it simple to develop web-mapping applications. There are10Oracle JDeveloper 11g contains a rich feature set of rapid application development components known as the Application Development Framework (ADF) and associated set of Data Visualization Tools (DVT), or components, such as dials, gauges and charts. ADF includes Java Server Faces compliant components known as ADF Faces that include data visualization components. The DVT GeoMap component is one of them. It exposes the MapViewer Javascript API functionality and handles all JSF related event, partial page refresh, component communication, synchronization, and other infrastructure services. The following JDeveloper screenshot shows the DVT GeoMap drag-and-drop component listed in the Component Palette menu and the Create Geographic Map dialog that appears at design time.Figure 9: JDeveloper 11g “Create Geographic Map” dialog and component menuA step-by-step tutorial, “Charting with ADF Data Visualization Components - Graphs, Gauge, Maps, Pivot Table and Gantt”, is available on OTN at/cd/E18941_01/tutorials/toc.htm.Examples of Using Specific FeaturesThis section briefly describes how specific features such as the Javascript API and methods to support external data sources may be used in applications. A companion document (“Using MapViewer Interfaces for External Data Sources”) provides technical details (i.e. the specificmethods and sample code) and is also available from the MapViewer page on Oracle TechnologyNetwork (/technetwork/middleware/mapviewer/overview/index.html).1112JavaScript APIThe Oracle Maps tutorial is part of the MapViewer quickstart kit on OTN (the mvdemo samples application) and contains over 50 examples demonstrating the API. The API enables location services application such as the one shown below. It is a screenshot of a demo applicationaccessible at http:/host:port/mvdemo/jslib/v2/demos/storm/storm.html, on deployment of the mvdemo samples application(i.e. mvdemo.ear file). The screenshot shows a thematic map of states based on the number of injuries due to hail in 1996. A customizable info-window pops up if the user clicks on a state.Figure 10: Demo application using the Javascript APICustom Map Tile ProviderMapViewer renders geospatial content, such as street networks or satellite imagery, stored in an Oracle Database. Sometimes users may prefer to render only application-specific content, such as customer or business partner locations, on background maps or imagery obtained from anexternal source. An example of this is high-resolution imagery from DigitalGlobe’s online serviceas shown in Figure 11.Figure 11: DigitalGlobe high-resolution imagery as background map13GeoRSS (and web services) SupportMapViewer supports GeoRSS () and the OpenGeospatial Consortitium’s (OGC) Web Feature Server (WFS 1.0) and Web MapServer (WMS 1.3) standards. This allows users to subscribe to a GeoRSS feed and display the locations and associated content on a map. In the example below, the map includes geotagged content such as photos from Flickr, restaurant reviews from Yelp, or Wikipedia articles related to an area around a postal code.Figure 12: Geotagged content including GeoRSS FeedsExternal Attribute (non-spatial) Data ProviderOften the data to be displayed on a map does not contain geographic coordinates and may not even be stored in an Oracle Database. This data can still be displayed on a map, however, if there is some means of linking or joining it to geospatial data via a common attribute such as a place name, identifier, or street address. MapViewer provides an interface for this purpose. It is commonly used with applications based on the Oracle Business Intelligence Enterprise Edition platform or JDeveloper where the data source is not necessarily an Oracle Database. It is particularly useful for BI applications when used in conjunction with the JavaScript APIs of both (OBIEE, MapViewer) products.The presentation, “Map Views in Oracle Business Intelligence Enterprise Edition 11g”, andaccompanying workbook, “Building Map-Based Dashboards” (available on OTN) discuss thefunctionality and technical details. The workbook contains a step-by-step guide for common14usage scenarios: (i) displaying thematic maps in reports, (ii) adding charts to a thematic map, (iii) invoking a detail report for a location or region selected on the map (known as master-detail linking in OBIEE), and (iv) using Action Links in thematic maps (i.e. performing an action such navigating to a different dashboard page or a detail report).The following screenshot shows a map view. The OBIEE Answers platform is mashing up project information, stored in spreadsheets, with a sales territory map based on the sales region name.Figure 13: Oracle Business Intelligence Enterprise Edition 11g with MapViewerThe same external attribute, or non-spatial, data provider interface has been used to mashupcontent from non-Oracle data sources such as Access Database, or reports published as XMLdocuments, with Oracle Spatial and Graph data and rendered with MapViewer.15ConclusionMapViewer provides web application developers a versatile means to integrate and visualize business data with maps. It uses the basic capability included with Oracle Database(either Oracle Spatial and Graph or Locator) to manage geographic mapping data. It hides the complexity of spatial data queries and the cartographic rendering process from application developers. They can easily integrate MapViewer into their applications. This creates enormous potential for understanding and capturing the geographic component(s) of any business, by unlocking the enterprise information in many corporate warehouses and making it available to basic mapping applications.16White Paper TitleApril 2013Author: Jayant SharmaContributing Authors: Carol Palmer, LJ Qian, Charles MurrayOracle CorporationWorld Headquarters500 Oracle ParkwayRedwood Shores, CA 94065U.S.A.Worldwide Inquiries:Phone: +1.650.506.7000Fax: +1.650.506.7200 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.This document is provided for information purposes only, and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission.Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group. 0113。
WIRELESS COMMUNICATIONS AND MOBILE COMPUTINGput.2013;13:1587–1611 Published online11October2011in Wiley Online Library().DOI:10.1002/wcm.1203RESEARCH ARTICLEA survey of mobile cloud computing:architecture, applications,and approachesHoang T.Dinh,Chonho Lee,Dusit Niyato*and Ping WangSchool of Computer Engineering,Nanyang Technological University(NTU),SingaporeABSTRACTTogether with an explosive growth of the mobile applications and emerging of cloud computing concept,mobile cloud computing(MCC)has been introduced to be a potential technology for mobile services.MCC integrates the cloud com-puting into the mobile environment and overcomes obstacles related to the performance(e.g.,battery life,storage,and bandwidth),environment(e.g.,heterogeneity,scalability,and availability),and security(e.g.,reliability and privacy)dis-cussed in mobile computing.This paper gives a survey of MCC,which helps general readers have an overview of the MCC including the definition,architecture,and applications.The issues,existing solutions,and approaches are presented. In addition,the future research directions of MCC are discussed.Copyright©2011John Wiley&Sons,Ltd. KEYWORDSmobile cloud computing;offloading;mobile services*CorrespondenceDusit Niyato,School of Computer Engineering,Nanyang Technological University(NTU),Singapore.E-mail:dniyato@.sg1.INTRODUCTIONMobile devices(e.g.,smartphone and tablet PC)are increasingly becoming an essential part of human life as the most effective and convenient communication tools not bounded by time and place.Mobile users accumulate rich experience of various services from mobile applications (e.g.,iPhone apps and Google apps),which run on the devices and/or on remote servers via wireless networks. The rapid progress of mobile computing(MC)[1]becomes a powerful trend in the development of IT technology as well as commerce and industryfields.However,the mobile devices are facing many challenges in their resources(e.g., battery life,storage,and bandwidth)and communications (e.g.,mobility and security)[2].The limited resources significantly impede the improvement of service qualities. Cloud computing(CC)has been widely recognized as the next generation computing offers some advantages by allowing users to use infrastructure (e.g.,servers,networks,and storages),platforms(e.g.,mid-dleware services and operating systems),and softwares (e.g.,application programs)provided by cloud providers (e.g.,Google,Amazon,and Salesforce)at low cost.In addition,CC enables users to elastically utilize resources in an on-demand fashion.As a result,mobile applica-tions can be rapidly provisioned and released with the minimal management efforts or service provider’s interac-tions.With the explosion of mobile applications and the support of CC for a variety of services for mobile users, mobile cloud computing(MCC)is introduced as an inte-gration of CC into the mobile environment.MCC brings new types of services and facilities mobile users to take full advantages of CC.This paper presents a comprehensive survey on MCC. Section2provides a brief overview of MCC including defi-nition,architecture,and its advantages.Section3discusses the use of MCC in various applications.Then,Section4 presents several issues that arise in MCC and approaches to address the issues.Next,the future research directions are outlined in Section5.Finally,we summarize and conclude the survey in Section6.The list of acronyms appeared in this paper is given in Table I.2.OVERVIEW OF MOBILE CLOUD COMPUTINGThe term‘mobile cloud computing’was introduced not long after the concept of‘cloud computing’.It has been attracting the attentions of entrepreneurs as a profitable business option that reduces the development and run-ning cost of mobile applications,of mobile users as aCopyright©2011John Wiley&Sons,Ltd.1587A survey of mobile cloud computing H.T.Dinh et al.T able I.Acronyms4G Fourth GenerationAAA Authentication,Authorization,AccountingAPDV Application Protocol Data UnitAPI Application Programing InterfaceARM Advanced RISC MachineAV AntivirusB2B Business to BusinessB2C Business to CustomerBTS Base Transceiver StationCC Cloud ComputingCSP Cloud Service ProviderEC2Elastic Compute CloudGPS Global Positioning SystemHA Home AgentIaaS Infrastructure as a ServiceIA Integrated AuthenticatedID IdentifierIMERA French acronym for Mobile Interaction in Augmented Reality EnvironmentISP Internet Service ProviderIRNA Intelligent Radio Network AccessJME Java ME,a Java platformLBS Location Base ServiceLTE Long Term EvolutionLTS Location Trusted ServerMAUI Memory Arithmetic Unit and InterfaceMC Mobile ComputingMCC Mobile Cloud ComputingMDP Markov Decision ProcessMSC Mobile Service CloudP2P Peer-to-PeerPaaS Platform as a ServiceQoS Quality of ServiceRACE Resource-Aware Collaborative ExecutionREST Repretational State TransferRFS Random File SystemRTP Real-time Transport ProtocolS3Simple Storage ServiceSaaS Software as a ServiceTCC Truster Crypto CoprocessorURI Uniform Resource Identifiernew technology to achieve rich experience of a variety of mobile services at low cost,and of researchers as a promis-ing solution for green IT[3].This section provides an overview of MCC including definition,architecture,and advantages of MCC.2.1.What is mobile cloud computing?The MCC forum defines MCC as follows[4]:‘Mobile cloud computing at its simplest,refers to an infrastructure where both the data storage and data pro-cessing happen outside of the mobile device.Mobile cloud applications move the computing power and data storage away from mobile phones and into the cloud,bringing applications and MC to not just smartphone users but a much broader range of mobile subscribers’.Aepona[5]describes MCC as a new paradigm for mobile applications whereby the data processing and stor-age are moved from the mobile device to powerful and centralized computing platforms located in clouds.These centralized applications are then accessed over the wireless connection based on a thin native client or web browser on the mobile devices.Alternatively,MCC can be defined as a combination of mobile web and CC[6,7],which is the most popular tool for mobile users to access applications and services on the Internet.Briefly,MCC provides mobile users with the data pro-cessing and storage services in clouds.The mobile devicesput.2013;13:1587–1611©2011John Wiley&Sons,Ltd.DOI:10.1002/wcmH.T.Dinh et al.A survey of mobile cloud computingdo not need a powerful configuration(e.g.,CPU speed and memory capacity)because all the complicated computing modules can be processed in the clouds.2.2.Architectures of mobile cloud computingFrom the concept of MCC,the general architecture of MCC can be shown in Figure1.In Figure1,mobile devices are connected to the mobile networks via base stations (e.g.,base transceiver station,access point,or satellite) that establish and control the connections(air links)and functional interfaces between the networks and mobile devices.Mobile users’requests and information(e.g.,ID and location)are transmitted to the central processors that are connected to servers providing mobile network ser-vices.Here,mobile network operators can provide ser-vices to mobile users as authentication,authorization,and accounting based on the home agent and subscribers’data stored in databases.After that,the subscribers’requests are delivered to a cloud through the Internet.In the cloud, cloud controllers process the requests to provide mobile users with the corresponding cloud services.These ser-vices are developed with the concepts of utility computing, virtualization,and service-oriented architecture(e.g.,web, application,and database servers).The details of cloud architecture could be different in different contexts.For example,a four-layer architecture is explained in[8]to compare cloud computing with grid computing.Alternatively,a service-oriented architec-ture,called Aneka,is introduced to enable developers to applications with the supports of application programming interfaces(APIs)and multiple programming models[9].[10]presents an architecture for creating market-oriented clouds and[11]proposes an architecture for web-delivered business services.In this paper,we focus on a layered architecture of CC(Figure2). This architecture is commonly used to demonstrate the effectiveness of the CC model in terms of meeting the user’s requirements[12].Generally,a CC is a large-scale distributed network sys-tem implemented based on a number of servers in data centers.The cloud services are generally classified based on a layer concept(Figure2).In the upper layers of this paradigm,Infrastructure as a Service(IaaS),Platform as a Service(PaaS),and Software as a Service(SaaS)are stacked.Data centers layer.This layer provides the hardware facility and infrastructure for clouds.In data center layer,a number of servers are linked with high-speed networks to provide services for customers.Typically, data centers are built in less populated places,with a high power supply stability and a low risk of disaster. IaaS.Infrastructure as a Service is built on top of the data center layer.IaaS enables the provision of storage,hardware,servers,and networking compo-nents.The client typically pays on a per-use basis.Thus,clients can save cost as the payment is only based on how much resource they really use.Infras-tructure can be expanded or shrunk dynamically as needed.The examples of IaaS are Amazon Elastic Cloud Computing and Simple Storage Service(S3). PaaS.Platform as a Service offers an advanced inte-grated environment for building,testing,and deploy-ing custom applications.The examples of PaaSareFigure1.Mobile cloud computing architecture.put.2013;13:1587–1611©2011John Wiley&Sons,Ltd.1589 DOI:10.1002/wcmA survey of mobile cloud computing H.T.Dinh et al.Software as a Service (Microsoft’s Live Mesh)Platform as a Service (e.g., Google App engine, Microsoft Azure)Data centersInfrastructure as a Service (e.g., EC2, S3)Figure2.Service-oriented cloud computing architecture.Google App Engine,Microsoft Azure,and Amazon Map Reduce/Simple Storage Service.SaaS.Software as a Service supports a software dis-tribution with specific requirements.In this layer, the users can access an application and informa-tion remotely via the Internet and pay only for that they use.Salesforce is one of the pioneers in pro-viding this service model.Microsoft’s Live Mesh also allows sharingfiles and folders across multiple devices simultaneously.Although the CC architecture can be divided into four layers as shown in Figure2,it does not mean that the top layer must be built on the layer directly below it.For exam-ple,the SaaS application can be deployed directly on IaaS, instead of PaaS.Also,some services can be considered as a part of more than one layer.For example,data storage service can be viewed as either in IaaS or PaaS.Given this architectural model,the users can use the servicesflexibly and efficiently.2.3.Advantages of mobile cloudcomputingCloud computing is known to be a promising solution for MC because of many reasons(e.g.,mobility,communica-tion,and portability[13]).In the following,we describe how the cloud can be used to overcome obstacles in MC, thereby pointing out advantages of MCC.(1)Extending battery lifetime.Battery is one of themain concerns for mobile devices.Several solutionshave been proposed to enhance the CPU perfor-mance[14,15]and to manage the disk and screen inan intelligent manner[16,17]to reduce power con-sumption.However,these solutions require changesin the structure of mobile devices,or they requirea new hardware that results in an increase of costand may not be feasible for all mobile devices.Computation offloading technique is proposed withthe objective to migrate the large computations andcomplex processing from resource-limited devices(i.e.,mobile devices)to resourceful machines(i.e.,servers in clouds).This avoids taking a long applica-tion execution time on mobile devices which results in large amount of power consumption.Rudenko et al.[18]and Smailagic and Ettus[19]evaluate the effectiveness of offloading tech-niques through several experiments.The results demonstrate that the remote application execution can save energy significantly.Especially,Rudenko et al.[18]evaluates large-scale numerical com-putations and shows that up to45%of energy consumption can be reduced for large matrix calcu-lation.In addition,many mobile applications take advantages from task migration and remote pro-cessing.For example,offloading a compiler opti-mization for image processing[20]can reduce 41%for energy consumption of a mobile device.Also,using memory arithmetic unit and interface (MAUI)to migrate mobile game components[21] to servers in the cloud can save27%of energy consumption for computer games and45%for the chess game.(2)Improving data storage capacity and processingpower.Storage capacity is also a constraint for mobile devices.MCC is developed to enable mobile users to store/access the large data on the cloud through wireless networks.First example is the Amazon Simple Storage Service[22]which sup-portsfile storage service.Another example is Image Exchange which utilizes the large storage space in clouds for mobile users[23].This mobile photo sharing service enables mobile users to upload images to the clouds immediately after capturing.Users may access all images from any devices.With the cloud,the users can save considerable amount of energy and storage space on their mobile devices because all images are sent and processed on the clouds.Flicker[24]and ShoZu[25]are also the suc-cessful mobile photo sharing applications based on MCC.Facebook[26]is the most successful social network application today,and it is also a typical example of using cloud in sharing images.put.2013;13:1587–1611©2011John Wiley&Sons,Ltd.DOI:10.1002/wcmH.T.Dinh et al.A survey of mobile cloud computingMobile cloud computing also helps in reducingthe running cost for compute-intensive applicationsthat take long time and large amount of energywhen performed on the limited-resource devices.CC can efficiently support various tasks for datawarehousing,managing and synchronizing multi-ple documents online.For example,clouds can beused for transcoding[27],playing chess[21,28],or broadcasting multimedia services[29]to mobiledevices.In these cases,all the complex calcula-tions for transcoding or offering an optimal chessmove that take a long time when perform on mobiledevices will be processed efficiently on the cloud.Mobile applications also are not constrained by stor-age capacity on the devices because their data nowis stored on the cloud.(3)Improving reliability.Storing data or running appli-cations on clouds is an effective way to improvethe reliability because the data and application arestored and backed up on a number of computers.This reduces the chance of data and application loston the mobile devices.In addition,MCC can bedesigned as a comprehensive data security modelfor both service providers and users.For example,the cloud can be used to protect copyrighted digitalcontents(e.g.,video,clip,and music)from beingabused and unauthorized distribution[30].Also,thecloud can remotely provide to mobile users withsecurity services such as virus scanning,maliciouscode detection,and authentication[31].Also,suchcloud-based security services can make efficientuse of the collected record from different users toimprove the effectiveness of the services.In addition,MCC also inherits some advantages of clouds for mobile services as follows:Dynamic provisioning.Dynamic on-demand provi-sioning of resources on afine-grained,self-service basis is aflexible way for service providers and mobile users to run their applications without advanced reservation of resources.Scalability.The deployment of mobile applications can be performed and scaled to meet the unpredictable user demands due toflexible resource provisioning.Service providers can easily add and expand an appli-cation and service without or with little constraint on the resource usage.Multitenancy.Service providers(e.g.,network oper-ator and data center owner)can share the resources and costs to support a variety of applications and large number of users.Ease of integration.Multiple services from different service providers can be integrated easily through the cloud and Internet to meet the user demand.3.APPLICATIONS OF MOBILE CLOUD COMPUTINGMobile applications gain increasing share in a global mobile market.Various mobile applications have taken the advantages of MCC.In this section,some typical MCC applications are introduced.3.1.Mobile commerceMobile commerce(m-commerce)is a business model for commerce using mobile devices.The m-commerce applications generally fulfill some tasks that require mobility(e.g.,mobile transactions and payments,mobile messaging,and mobile ticketing).The m-commerce appli-cations can be classified into few classes includingfinance, advertising,and shopping(Table II).The m-commerce applications have to face various chal-lenges(e.g.,low network bandwidth,high complexity of mobile device configurations,and security).Therefore, m-commerce applications are integrated into CC environ-ment to address these issues.Yang et al.[32]proposes a3G E-commerce platform based on CC.This paradigm com-bines the advantages of both third generation(3G)network and CC to increase data processing speed and security level [33]based on public key infrastructure(PKI).The PKI mechanism uses an encryption-based access control and an over-encryption to ensure privacy of user’s access to the outsourced data.In[34],a4PL-A VE trading platform uti-lizes CC technology to enhance the security for users and improve the customer satisfaction,customer intimacy,and cost competitiveness.3.2.Mobile learningMobile learning(m-learning)is designed based on elec-tronic learning(e-learning)and mobility.However,tradi-tional m-learning applications have limitations in terms of high cost of devices and network,low network trans-mission rate,and limited educational resources[35–37].T able II.Application classes of m-commerce.Application classes Type ExamplesMobilefinancial applications B2C,B2B Banks,brokeragefirms,mobile-user feesMobile advertising B2C Sending custom made advertisements according to user’s physical location Mobile shopping B2C,B2B Locate/order certain products from a mobile terminalB2C,business to customer;B2B,business to businessput.2013;13:1587–1611©2011John Wiley&Sons,Ltd.1591 DOI:10.1002/wcmA survey of mobile cloud computing H.T.Dinh et al.Cloud-based m-learning applications are introduced to solve these limitations.For example,utilizing a cloud with the large storage capacity and powerful processing ability, the applications provide learners with much richer services in terms of data(information)size,faster processing speed, and longer battery life.Zhao et al.[38]presents the benefits of combining m-learning and CC to enhance the communication quality between students and teachers.In this case,a smartphone software based on the open source JavaME UI frame-work and Jaber for clients is used.Through a web site built on Google Apps Engine,students communicate with their teachers at anytime.Also,the teachers can obtain the information about student’s knowledge level of the course and can answer students’questions in a timely manner.In addition,a contextual m-learning system based on Mobile Interaction in Augmented Reality Environment platform [39]shows that a cloud-based m-learning system helps learners access learning resources remotely.Another example of MCC applications in learning is ‘Cornucopia’implemented for researches of undergradu-ate genetics students and‘plantations pathfinder’designed to supply information and provide a collaboration space for visitors when they visit the gardens[40].The purpose of the deployment of these applications is to help the students enhance their understanding about the appropriate design of MCC in supportingfield experiences.In[41],an educa-tion tool is developed based on CC to create a course about image/video processing.Through mobile phones,learn-ers can understand and compare different algorithms used in mobile applications(e.g.,deblurring,denoising,face detection,and image enhancement).3.3.Mobile healthcareThe purpose of applying MCC in medical applications is to minimize the limitations of traditional medical treat-ment(e.g.,small physical storage,security and privacy,and medical errors[42,43]).Mobile healthcare(m-healthcare) provides mobile users with convenient helps to access re-sources(e.g.,patient health records)easily and efficiently. Besides,m-healthcare offers hospitals and healthcare orga-nizations a variety of on-demand services on clouds rather than owning standalone applications on local servers. There are a few schemes of MCC applications in health-care.For example,[44]presentsfive main mobile health-care applications in the pervasive environment.Comprehensive health monitoring services enable patients to be monitored at anytime and anywhere through broadband wireless communications.Intelligent emergency management system can man-age and coordinate thefleet of emergency vehicles effectively and in time when receiving calls from accidents or incidents.Health-aware mobile devices detect pulse rate,blood pressure,and level of alcohol to alert healthcare emergency system.Pervasive access to healthcare information allows patients or healthcare providers to access the current and past medical information.Pervasive lifestyle incentive management can be used to pay healthcare expenses and manage other related charges automatically.Similarly,[45]proposes@HealthCloud,a prototype implementation of m-healthcare information manage-ment system based on CC and a mobile client running Android operating system(OS).This prototype presents three services utilizing the Amazon’s S3Cloud Storage Service to manage patient health records and medical images.Seamless connection to cloud storage allows users to retrieve,modify,and upload medical contents(e.g., medical images,patient health records,and biosig-nals)utilizing web services and a set of available APIs called Repretational State Transfer.Patient health record management system displays the information regarding patients’status,related biosignals,and image contents through application’s interface.Image viewing support allows the mobile users to decode the large imagefiles at different resolution levels given different network availability and quality. For practical system,a telemedicine homecare man-agement system[46]is implemented in Taiwan to moni-tor participants,especially for patients with hypertension and diabetes.The system monitors300participants and stores more than4736records of blood pressure and sugar measurement data on the cloud.When a participant per-forms blood glucose/pressure measurement via specialized equipment,the equipment can send the measured param-eters to the system automatically.Also,the participant can send parameters by SMS via their mobile devices. After that,the cloud will gather and analyze the infor-mation about the participant and return the results.The development of mobile healthcare clearly provides tremen-dous helps for the participants.However,the information to be collected and managed related to personal health is sensitive.Therefore,[47,48]propose solutions to protect the participant’s health information,thereby,increasing the privacy of the services.Although[47]uses peer-to-peer paradigm to federate clouds to address security issue,data protection,and ownership,the model in[48]provides secu-rity as a service on the cloud to protect mobile applications. Therefore,mobile health application providers and users will not have to worry about security issue because it is ensured by the security vendor.3.4.Mobile gamingMobile game(m-game)is a potential market generating revenues for service providers.M-game can completely offload game engine requiring large computing resourceput.2013;13:1587–1611©2011John Wiley&Sons,Ltd.DOI:10.1002/wcmH.T.Dinh et al.A survey of mobile cloud computing(e.g.,graphic rendering)to the server in the cloud,and gamers only interact with the screen interface on their devices.Li et al.[49]demonstrates that offloading(multimedia code)can save energy for mobile devices,thereby increas-ing game playing time on mobile devices.Cuervo et al.[21] proposes MAUI,a system that enablesfine-grained energy-aware offloading of mobile codes to a cloud.Also,a num-ber of experiments are conducted to evaluate the energy used for game applications with3G network and WiFi net-work.It is found that instead of offloading all codes to the cloud for processing,MAUI partitions the application codes at a runtime based on the costs of network com-munication and CPU on the mobile device to maximize energy savings given network connectivity.The results demonstrate that MAUI not only helps energy reduction significantly for mobile devices(i.e.,MAUI saves27% of energy usage for the video game and45%for chess), but also improves the performance of mobile applications (i.e.,the game’s refresh rate increases from6to13frames per second).Wang and Dey[50]presents a new cloud-based m-game using a rendering adaptation technique to dynami-cally adjust the game rendering parameters according to communication constraints and gamers’demands.The ren-dering adaptation technique mainly bases on the idea to reduce the number of objects in the display list because not all objects in the display list created by game engine are necessary for playing the game and scale the com-plexity of rendering operations.The objective is to max-imize the user experience given the communications and computing costs.3.5.Other practical applicationsA cloud becomes a useful tool to help mobile users share photos and video clips efficiently and tag their friends in popular social networks as Twitter and Facebook.MeLog [51]is an MCC application that enables mobile users to share real-time experience(e.g.,travel,shopping,and event)over clouds through an automatic blogging.The mobile users(e.g.,travelers)are supported by several cloud services such as guiding their trip,showing maps, recording itinerary,and storing images and video.Ye et al.[52]introduces a mobile locationing service allowing users to capture a short video clip about the surrounding buildings.The matching algorithm run on a cloud can use a large amount of information to search for a location of these buildings.Also,One Hour Trans-lation[53]provides an online translation service running on the cloud of Amazon Web Services.One Hour Transla-tion helps mobile users,especially foreign visitors,receive the information translated in their language through their mobile devices.A cloud becomes the most effective tool when mobile users require searching services(e.g.,searching informa-tion,location,images,voices,or video clips).Keyword-based searching.Pendyala and Holliday[54]proposes an intelligent mobile search modelusing semantic in which searching tasks will be per-formed on servers in a cloud.This model can analyze the meaning of a word,a phrase,or a complex multi-phase to produce the results efficiently and accurately.Lagerspetz and Tarkoma[55]presents an applica-tion using the cloud to perform data searching tasks for mobile gerspetz and Tarkoma[55]uses Dessy system[56]tofind the users’data,meta-data,and context information through desktop search(e.g.,indexing,query,and index term stemming,and search relevance ranking),and synchronization techniques.Voice-based searching.Fabbrizio et al.[57]pro-poses a search service via a speech recognition in which mobile users just talk to microphone on their devices rather than typing on keypads or touch-screens.Fabbrizio et al.[57]introduces the AT&T speech mashup model that utilizes web services and CC environment to meet the speech service demands of customers.This model optimizes the data trans-mission in a mobile network,reduces latency,and isflexible in integrating with other services.Several examples are demonstrated(e.g.,speak4it,iPizza,and JME local business search).Tag-based searching.Cai-Dong et al.[58]introducesa photo searching technique based on ontologicalsemantic tags.Mobile users search only recall param-eters that are tagged on images before such images are sent to a cloud.The cloud is used for storing and processing images for resource-limited devices.The current service is designed for the images stored on private CC environment.In the future,it is expected to expand for searching images in a public cloud environment.In addition,there are a mobile-cloud collaborative appli-cation[59]to detect traffic lights for the blind,a CC frame-work[60]to monitor different corners in a house through a mobile device,and some efforts which integrate cur-rent services(e.g.,BitTorrent,and Mobile Social Network) into the clouds as in[61,62].Thereby,we can recognize that MCC is probably a prevailing technology trend with numerous applications in the near future.4.ISSUES AND APPROACHES OF MOBILE CLOUD COMPUTINGAs discussed in the previous section,MCC has many advantages for mobile users and service providers.How-ever,because of the integration of two differentfields,that is,CC and mobile networks,MCC has to face many techni-cal challenges.This section lists several research issues in MCC,which are related to the mobile communication and CC.Then,the available solutions to address these issues are reviewed.put.2013;13:1587–1611©2011John Wiley&Sons,Ltd.1593 DOI:10.1002/wcm。
Introduction ................................................................................................................................................2Certification Details ....................................................................................................................................2Certification Benefits . (3)What IT Certification Offers What Oracle Certification OffersOracle Certification Innovation with Digital BadgingExam Preparation .......................................................................................................................................5Exam Topics (6)Oracle Database Administration I | 1Z0-082Oracle Database Administration II | 1Z0-083Sample Questions (13)Oracle Database Administration I | 1Z0-082Oracle Database Administration II | 1Z0-083Exam Registration Process .........................................................................................................................18Exam Score ................................................................................................................................................18Oracle Certification Program Candidate Agreement ...................................................................................19Oracle Certification Program Guidelines .. (19)Oracle Database Administration I & Oracle Database Administration IICertification Overview and Sample QuestionsOracle DatabaseIntroductionPreparing to earn the Oracle Database Administration 2019 Certified Professional certification helps candidates gain the skills and knowledge to install, patch and upgrade Oracle Database and Oracle Grid Infrastructure for a standalone server, create and manage a backup and recovery strategy using Recovery Manager (RMAN), use RMAN for Database duplication and transportation, diagnose failures using RMAN, and manage all aspects of Multitenant container databases, pluggable databases and application containers including creation, cloning, security, transportation and backup and recovery. The Administration I exam and recommended training focus on fundamental Database Administration topics such as understanding the database architecture, managing database instances, managing users, roles and privileges, and managing storage that lay the foundation for a Database Administrator entry-level job role. Additionally, the Admin I exam assumes knowledge of SQL.The Administration II exam and associated recommended training presents advanced topics such as multi-tenancy, backup and recovery, deploying, patching, and upgrading.Certification BenefitsWhat Oracle Certification OffersBy becoming a certified Oracle Database Administrator Professional , you demonstrate the full skill set needed to perform day to day administration of the Oracle Database.Preparing to take the Oracle Database certification exam broadens your knowledge and skills by exposing you to a wide array of important database features, functions and tasks. Oracle Database certification preparation teaches you how to perform complex, hands-on activities through labs, study and practice.Additionally, Oracle certification exams validate your capabilities using real-world, scenario-based questions that assess and challenge your ability to think and perform.What IT Certification OffersRecognitionof having required skillsExperienced a Greater Demandfor Their SkillsReceived Positive Impact onProfessional Imagethrough new skillsOpportunitiesSaid Certification was a Key Factor in Recent Raiseby peers and managementConfidence and RespectJanuary 2018 issue of Certification Magazine’s annual salary survey The kind of longevity suggests that earning and maintaining a certification can keep you moving for-ward in your career, perhaps indefinitely.73%65%71%January 2019 issue of Certification Magazine’s annual salary survey January 2019 issue of Certification Magazine’s annual salary surveyCertification that Signifies Y our Readiness to Perform Earned badges represent recognized skills and capabilitiesDisplay Y our Oracle Certification BadgeY ou‘ve earned it. Get the recognition you deserve.Modern Representation of Skills Tied to Real Time Job Markets View from your profile and apply to jobs that are matched to your skills; based on location, title, employers or salary rangeDisplay Y our AchievementA secure way to display and share your certification achievement • Industry Recognized • Credible • Role Based• Product Focused Across Database, Applications, Cloud, Systems, Middleware and Java• Globally one of the top 10 certifica-tion programs availableOracle Certification Innovation with Digital Badging Use Your Badge to Apply for JobsBenefitsOracle Certification Signifies a Candidate’s Readiness to Perform2019 Oracle Certified Professional Oracle Database AdministratorBoost Y our Professional ImageLearn MoreExam PreparationBy passing these exams, a certified individual proves fluency in and solid understanding of the skills required to be an Oracle Database Administrator.Recommendations to successfully prepare for Oracle Database Administration I | 1Z0-082 and Oracle Database Administration II | 1Z0-083 exams are:Attend Recommended Oracle T rainingThe courses below are currently available and are terrific tools to help you prepare not only for your exams, but also for your job as an Oracle Database Administrator.The new Oracle Database Administration Learning Subscription also helps you prepare for these exams with 24/7 access to continually updated training and hands-on labs and integrated certification.Recommended for 1Z0-082• O racle Database: Administration Workshop • Oracle Database: Introduction to SQL Recommended for 1Z0-083• O racle Database: Deploy, Patch and Upgrade Workshop• O racle Database: Backup and Recovery Workshop • O racle Database: Managing Multitenant Architecture• Oracle Database Administration: Workshop • O racle Database 19c: New Features for Administrators• O racle Database 18c: New Features forAdministrators (for 10g and 11g OCAs and OCPs)• O racle Database 12c R2: New Features for 12c R1 Administrators (12c R1 OCAs and OCPs)• O racle Database 11g: New Features for Administrators (for 10g OCAs and OCPs)The following topics are covered in the Oracle Database: Administration Workshop course.The following topics are covered in theOracle Database: Introduction to SQL course.The following topics are covered in the Oracle Database: Managing Multitenant Architecture Ed 1 course.The following topics are covered in the Oracle Database: Backup and Recovery Workshop course.The following topics are covered in the Oracle Database: Deploy, Patch and Upgrade Workshop course.The following topics are covered in the Oracle Database 19c: New Features for Administrators course.The following topics are covered in the Oracle Database: Administration Workshop course1. Which two statements are true about the Oracle Database server architecture?A. An Oracle Database server process represents the state of a user’s login to an instance.B. An Oracle Database server process is always associated with a session.C. Each server process has its own User Global Area (UGA).D. A connection represents the state of a user’s login to an instance.E. The entire data dictionary is always cached in the large pool.2. W hich two statements are true about the Oracle Database server during and immediatelyafter SHUTDOWN IMMEDIATE?A. New connection requests made to the database instance are refused.B. Uncommitted transactions are rolled back automatically.C. All existing connections to the database instance remain connected until all transactions eitherroll back or commit.D. Uncommitted transactions are allowed to continue to the next COMMIT.E. All existing transactions are aborted immediately.3. Which three statements are true about Oracle database block space management?A. A row can be migrated to a block in a different extent than the extent containing the originalblock.B. An insert statement can result in a migrated row.C. An update statement cannot cause chained rows to occur.D. A row can be migrated to a block in the same extent as the extent containing the originalblock.E. An insert statement can result in a chained row.1 2. 3.4. A n Oracle Database server session has an uncommitted transaction in progress whichupdated 5000 rows in one table.In which two situations does the transaction complete, thereby committing the updates?A. When a DDL statement is executed successfully by same user in a different session.B. When a DDL statement is executed successfully by the user in the same session.C. When a DML statement is executed successfully by same user in a different session.D. When a DML statement is executed successfully by the user in the same session.E. When a DBA issues a successful SHUTDOWN NORMAL statement and the sessionterminates normally.5.Which two statements are true about indexes and their administration in an Oracle database?A. An index can be scanned to satisfy a query without the indexed table being accessed.B. A non-unique index can be converted to a unique index using a Data Definition Language(DDL) command.C. A descending index is a type of bitmapped index.D. An invisible index is maintained when a Data Manipulation Language (DML) command is per-formed on its underlying table.E. An index is always created by scanning the key columns from the underlying table.6. Which two statements are true about sequences in a single instance Oracle database?A. Sequences that start with 1 and increment by 1 can never have gaps.B. A sequence can issue the same number more than once.C. Sequence numbers that are allocated require a COMMIT statement to make the allocationpermanent.D. A sequence can provide numeric values for more than one column or table.E. The data dictionary is always updated each time a sequence number is allocated.4. 5. 6.7. E xamine the description of the SALES table:Name Null? Type---------------------------- -------- --------------PRODUCT_ID NOT NULL NUMBER(10)CUSTOMER_ID NOT NULL NUMBER(10)TIME_ID NOT NULL DATECHANNEL_ID NOT NULL NUMBER(5)PROMO_ID NOT NULL NUMBER(5)QUANTITY_SOLD NOT NULL NUMBER(10,2)PRICE NUMBER(10,2)AMOUNT_SOLD NOT NULL NUMBER(10,2)The SALES table has 55,000 rows.Examine this statement:CREATE TABLE mysales (prod_id, cust_id, quantity_sold, price)ASSELECT product_id, customer_id, quantity_sold, priceFROM salesWHERE 1 = 2;Which two statements are true?A. MYSALES is created with no rows.B. MYSALES will have no constraints defined regardless of which constraints might be de-fined on SALES.C. MYSALES has NOT NULL constraints on any selected columns which had that constraintin the SALES table.D. MYSALES is created with 2 rows.E. MYSALES is created with 1 row.71. Which three are true about an application container?A. It always contains multiple applications.B. Two or more application PDBs in the same application container can share access to tables.C. It can have new application PDBs created by copying PDB$SEED.D. T wo or more application PDBs in the same application container can be given exclusive accessto some tables.E. It always has a new application PDBs created by copying PDB$SEED.F. It always contains a single application.2. RMAN has just been connected to a target database and the recovery catalog database.In which two cases would an automatic partial resynchronization occur between this target database’s control file and the RMAN recovery catalog?A. When any control file metadata for data file backups or image copies is now older thanCONTROL_FILE_RECORD_KEEP_TIME.B. When a new data file is added to a tablespace in a registered target database.C. When a backup of the current SPFILE is created.D. When the target is first registered.E. When any control file metadata for archive log backups or image copies is now older thanCONTROL_FILE_RECORD_KEEP_TIME.3. Which two are true about Oracle Grid Infrastructure for a Standalone Server?A. Oracle Restart can be used without using ASM for databases.B. Oracle Restart can attempt to restart a failed ASM instance automatically.C. It must be installed before Oracle Database software is installed.D. It must be installed after Oracle Database software is installed.E. It allows ASM binaries to be installed without installing Oracle Restart.F. It allows Oracle Restart binaries to be installed without installing ASM.1 2. 3.4. W hich two are true about creating container databases (CDBs) and pluggable databases (PDBs) inOracle 19c and later releases?A. A CDB can be duplicated using the Database Configuration Assistant (DBCA) in silent mode.B. A CDB can be duplicated using Recovery Manager (RMAN) with no configuration requiredbefore starting the duplication.C. A PDB snapshot must be a full copy of a source PDB.D. A PDB snapshot can be a sparse copy of a source PDB.E. A CDB can be duplicated only by using the Database Configuration Assistant (DBCA).5. Which two are true about the Oracle Optimizer?A. It requires system statistics when generating SQL execution plans.B. It always generates an index access operation when a statement filters on an indexed columnwith an equality operator.C. It ignores stale object statistics in the Data Dictionary.D. It can automatically re-optimize execution plans that were detected to be sub-optimal whenexecuting.E. It can re-write a statement internally in order to generate a more optimal plan.4. 5.Exam Registration ProcessOracle exams are delivered through the independent company Pearson VUE. Create a Pearson VUE loginOracle Certification Program Candidate AgreementIn order to take your Oracle certification, you will need to agree to the Oracle Certification Program Candidate Agreement. Please review this document by going here.Oracle Certification Program GuidelinesLearn more about Oracle Certification policies here.This certification overview and sample questions were created in June 2019. The content is subject to change,please always check the web site for the most recent information regarding certifications and related exams: /certification。
1ASurveyofDataMiddlewareforGridSystems
PradeepPadalaComputer&InformationScience&EngineeringUniversityofFloridaGainesville,Florida32611–6120Email:ppadala@cise.ufl.edu
Abstract—I.INTRODUCTION
Grids[1]havebecomethefavouritechoiceforexecutingdataintensivescientificapplications.Variousscientificap-plicationsanalyzeandderivelargeamountsofdataintheorderofgigaandpetabytes.Thereisalsoagrowingneedtosharethisdataamongvariousscientificcommuinities.Thecommunitiesofresearchersareoftenlargeandgeographicallydistributed,asarethecomputingandstorageresourcesusedtoanalyzethedata.Thedatagrid[2]providesawayofmanagingthisdistributeddatainaseamlessway.SomeapplicationsthatarecommonlyrunondatagridsincludeHighEnergyPhysics(HEP),BiologyandMedicalandEarthObservations(EO)applications.Agridmiddlewareprovidesfacilitiestousethegridforapplicationsandusers.MiddlewarelikeGlobus[3],Legion[4]andUNICORE[5]providesoftwareinfrastructuretotacklevariouschallengesofcomputationalanddatagrids.Adatamiddleware,whichusuallyispartofgeneralpurposegridmiddleware,providesfacilitiesfordatamanagement.Wedistinguishbetweenhigh-levelandlow-leveldatamid-dleware.Alow-levelorstoragemiddlewareprovideslow-leveldatamanagementfacilitiesontopofexistingdatamanagementinfrastructure.Adistributedorparallelfilesystemisanexampleoflow-levelmiddleware.Ahigh-levelmiddlewareprovidesanapplication-orientedfacilitieslikeautomaticrepli-cationfacilities.Giggle[6]isanexampleofhigh-levelmid-dleware.SomesoftwareinfrastructureslikeStorageResourceBroker(SRB)[7],havefacilitiesforbothhigh-levelandlow-leveldatamanagement.Duetoheterogeneityandgeographicallydistributednatureofdatagrids,datamiddlewarefacevariouschallengesinmanagingthedata.Inthissurvey,wedescribethestate-of-the-artindatamiddlewaredevelopment.First,weprovideadefintionofhigh-levelandstoragemiddleware.Next,wedescribetherequirementsofsuchmiddlewreandanabstractmodelfordatamiddleware.Then,adetailedsurveyofexistingdatamiddlewareisprovidedwithouranalysis.Weconcludewithalistofopenresearchproblemsingriddatamanagement.
II.DATAMIDDLEWARE
Adatamiddlewareprovidesmechanismsandsoftwarein-frastructurefordatamanagement.Astoragemiddlewareor
low-leveldatamiddlewareallowstorageresourcemanagementinheterogenousresourceenvironment.mayhavetochangedependingondefinitionofstoragemiddlewareThisusuallyinvolvesmanagementofSAN(StorageAreaNetworks)orNAS(NetworkAttachedStor-age).Themiddlewareprovidesmechanismsforheterogenousstorageutilizationandstorageadministration.IBM’sTivolistorageresourcemanagerprovidesaweb-basedinterfacetomonitorandmanageenterprisestorageassets[?].Indatagrids,weoftenseehigh-leveldatamiddlewarethatprovidemechanismsforlatencymanagement,persistency,uniformaccesstounderlyingstorageetc.
III.NEEDFORDATAMIDDLEWARE
ScientificapplicationsindomainslikeHighEnergyPhysics,Bioinformatics,MedicalImageProcessingandEarthObser-vationsoftenanalyzeandproducemassiveamountsofdata(sometimesoftheorderofpetabytes).Theapplicationsaccessandmanipulatedatastoredinvarioussitesonthegrid.Theyalsohavetodistributeandpublishthederiveddata.Let’sseeascenarioofhowatypicalscientificapplicationinteractswiththedatagrid.1)Aphyicistparticipatinginahigh-energyphysicsex-perimentwouldliketoexecuteahighenergyphysicsapplication(askRickfordetails)2)Theapplicationrequiresvariousinputfiles.Ithastofindthelocationoffilesusingacatalog,indexordatabasesystemwhereinformationaboutlocationoffileisstored.Theapplicationusuallyusesalogicalfilename(LFN)toindexintothecatalogandfindthephysicallocation.3)Thefilesmayhavetobereplicatedatvariousplacesinthegridfortheapplicationtofindanearestlocationtoquicklyaccessthefile.Theapplicationmayalsohavetopre-fetchthefiletoadesignatedsiteforexecutionofajobthatrequiresthefileatthatsite.4)Theapplicationisdividedintojobseitherbyitselforascheduleroverseeingitsexecution.Thejobscaneitherbesenttoasitehavingtheinputdataorthedatacanbestagedintoasite,wherethejobisexecuted.5)Thejobsexecuteusingtheinputfilesandproducedervieddata.6)Thederiveddataneedstobesenttovarioussitesonthegridforusagebyotherscientistsandforarchivalpurposes.7)Finally,theoutputdatalocationhastobepublishedinthecatalog.