Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.

Similar presentations


Presentation on theme: "Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1."— Presentation transcript:

1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1

2 Best Practices and Design Patterns for Pushing Fast Data to the Edge Prasen Palvankar Director Product Management

3 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 3 Oracle Event Processing

4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 4 Oracle Event Processing Applications Transportation & Logistics Container Tracking Vehicle Management Passenger Alerts Financial Services Algorithmic Trading Fraud Detection Risk Management Telecommunications WiFi Off-Loading Video Analytics Network Management Manufacturing & Retail Smart Mall Quality Control Building Management Outage Intelligence Workforce Management Real-time Drilling Analysis Utilities & Oil and Gas Safe Cities Medical Device Monitoring Military Asset Allocation Public Sector & Healthcare

5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 5 Why Use Event Processing Infrastructure? Application has any one or more of the following conditions: Requires high throughput and low latency processing. Has continuously streaming data. Real-time correlation between multiple incoming data sources. Time-sensitive alerts, aggregations and calculations. Needs to look for patterns in the data stream. Data does not need to be stored, if there is nothing of interest in it. Problem is more easily solved by analyzing before storing in DB.

6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 6 Oracle Event Processing (OEP) High-Volume, Low-Latency Event Processing Infrastructure Time-Sensitive Processing & Pattern Matching Light-weight Java Application Server Deploy in Data Center or Distributed Locations

7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 7 Oracle Event Processing (OEP)

8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 8 Time Management & Pattern Matching Event A NOT followed by Event B within 10 minutes Event A, Event B should occur next, but Event C occurs instead. Pattern Matching Detect Absence of Events & Missing Events Continuous Query Language (CQL)

9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 9 Input Adapter Channel Input Adapter Channel CQL Processor Channel CQL Processor Channel Output Adapter OSGi Bundle/Spring Application Context Oracle Event Processing Application DB Input adapters connect to data sources Channels help control the flow of data and can be tuned for optimal performance Databases and Coherence caches can be referenced directly in CQL processors CQL processors contain correlation, aggregation and pattern matching business logic Output adapters send data and alerts to downstream systems and business processes Coherence

10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Event Processing Network (EPN) Adapter Channel Adapters: Receive Data From Input Sources -> Convert To Event Channels: Buffer and Control Flow of Events (Sync/Async & Number of Threads) Processors: Perform Complex Time and/or Pattern Matching Logic Cache: Low-Latency, Fault-Tolerant Data Store / Perform Any Grid Operation Event-Beans/Sinks: Perform Any Java Logic Processor Cache Event Bean Event Sink

11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Event Type Repository Define Java Objects as Event Types Define Events in XML

12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Adapters Specify a provided adapter and use optional converter class

13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Adapters Easily create your own adapter in a few lines of Java

14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Channels Declare Channels with an Event Type Specify Sources and/or Listeners Optional Channel Configuration

15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Processors Contain CQL Queries

16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Processors Use CQL Views to Process Data

17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide CQL Operators Time-Based Stream-to-Relation Window Operators [NOW] This time-based range window outputs an instantaneous relation. The smallest granularity of time in OEP is nanoseconds and hence all these events expire 1 nanosecond later. [NOW] This time-based range window outputs an instantaneous relation. The smallest granularity of time in OEP is nanoseconds and hence all these events expire 1 nanosecond later.

18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide CQL Operators RANGE Holds the events in a time window for the specified period of time. By default, the range time unit is second, so S[range 1] is equivalent to S[range 1 second]. Optionally, use the SLIDE operator to control the output. SLIDE controls the output so that it is only sent at the time interval specified. [slide 30 seconds] means the user is interested in looking at the output after every 30 seconds. RANGE UNBOUNDED Events remain in the window indefinitely. RANGE Holds the events in a time window for the specified period of time. By default, the range time unit is second, so S[range 1] is equivalent to S[range 1 second]. Optionally, use the SLIDE operator to control the output. SLIDE controls the output so that it is only sent at the time interval specified. [slide 30 seconds] means the user is interested in looking at the output after every 30 seconds. RANGE UNBOUNDED Events remain in the window indefinitely. Time-Based Stream-to-Relation Window Operators

19 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide CQL Operators Row-Based Stream-to-Relation Window Operators ROWS Holds the specified number of events in window. Optionally, use the slide operator to control the output or partition by to separate events from an incoming stream. ROWS 3 SLIDE 3 controls the output so that the query executes on every 3 events. PARTITION BY partitions an incoming event stream into separate relations according to the column specified. ROWS Holds the specified number of events in window. Optionally, use the slide operator to control the output or partition by to separate events from an incoming stream. ROWS 3 SLIDE 3 controls the output so that the query executes on every 3 events. PARTITION BY partitions an incoming event stream into separate relations according to the column specified.

20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide CQL Operators Relation-to-Stream Operators ISTREAM Only evaluate events as they are inserted into the window. This will process events that are new. DTREAM Only evaluate events as they are deleted from the window. This allows the developer to determine when events are expiring from a time window. RSTREAM Outputs all the events as each new event is received. Maintains the entire current state of its input relation and outputs all of the events insertions at each time step. ISTREAM Only evaluate events as they are inserted into the window. This will process events that are new. DTREAM Only evaluate events as they are deleted from the window. This allows the developer to determine when events are expiring from a time window. RSTREAM Outputs all the events as each new event is received. Maintains the entire current state of its input relation and outputs all of the events insertions at each time step.

21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide CQL Pattern Recognition MATCH_RECOGNIZE The pattern recognition functionality in Oracle CQL allows you to define conditions on the attributes of incoming events and to identify these conditions by using String names called correlation variables. The pattern to be matched is specified as a regular expression over these correlation variables and it determines the sequence or order in which conditions should be satisfied by different incoming events to be recognized as a valid match. Additional clauses such as ALL MATCHES, PARTITION BY, and DURATION give you more control over the way the pattern recognition is performed over the input stream.. The pattern recognition functionality in Oracle CQL allows you to define conditions on the attributes of incoming events and to identify these conditions by using String names called correlation variables. The pattern to be matched is specified as a regular expression over these correlation variables and it determines the sequence or order in which conditions should be satisfied by different incoming events to be recognized as a valid match. Additional clauses such as ALL MATCHES, PARTITION BY, and DURATION give you more control over the way the pattern recognition is performed over the input stream..

22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide CQL Data Cartridges Spatial Data Cartridge Oracle Spatial is an option for Oracle Database that provides advanced spatial features to support high-end geographic information systems (GIS) and location-enabled business intelligence solutions (LBS). The Oracle Spatial data cartridge is an optional data cartridge which allows you to write Oracle CQL queries and views that seamlessly interact with Oracle Spatial classes in your Oracle CEP application. Using the Oracle Spatial data cartridge, you can configure Oracle CQL queries that perform the most important geographic domain operations such as storing spatial data, performing proximity and overlap comparisons on spatial data, and integrating spatial data with the Oracle CEP server by providing the ability to index on spatial data. Oracle Spatial is an option for Oracle Database that provides advanced spatial features to support high-end geographic information systems (GIS) and location-enabled business intelligence solutions (LBS). The Oracle Spatial data cartridge is an optional data cartridge which allows you to write Oracle CQL queries and views that seamlessly interact with Oracle Spatial classes in your Oracle CEP application. Using the Oracle Spatial data cartridge, you can configure Oracle CQL queries that perform the most important geographic domain operations such as storing spatial data, performing proximity and overlap comparisons on spatial data, and integrating spatial data with the Oracle CEP server by providing the ability to index on spatial data.

23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Simple filtering SELECT * FROM inputChannel [NOW] WHERE eventValue > 10 Continuously calculate the last hour sales by store SELECT SUM(amount) as salesTotal, storeID FROM inputChannel [range 60 minutes] GROUP BY storeID Calculate the average of the last 2 stock ticks by stock symbol SELECT AVG(stockPrice) as avgPrice, stockSymbol FROM inputChannel [PARTITION BY stockSymbol ROWS 2] GROUP BY stockSymbol Sample CQL Queries Filter for events meeting specific threshold values Running total of up- to-the- moment sales by store Average of the last 2 stock ticks by symbol

24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Find the running total of the last 24 hours of credit card transactions by account SELECT accountID, SUM(transactionAmount) as transactionsTotal FROM TransactionChannel [PARTITION BY accountID ROWS 1000 RANGE 24 HOURS] GROUP BY accountID Find smart meters that registered a last gasp (i.e. shut down) that were not expected to be serviced. RSTREAM( OffAlarmsView NOT IN KnownServiceView ) Sample CQL Queries Running Total of Credit Card Transactions for Last 24 hours Unscheduled Smart Meter Outage

25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Pattern Matching Powerful concept that allows identification of complex event patterns Defined as regular expressions PATTERN (X+ Y+) 1 or more X events …… followed by 1 or more Y events

26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Find passengers stuck in security when their flight reaches final boarding. SELECT stuck.reservationLocator, 'STUCK' as state FROM PassengerStateEventChannel MATCH_RECOGNIZE ( PARTITION BY reservationLocator MEASURES Entered.reservationLocator AS reservationLocator PATTERN (CheckIn Entered NotExited*? Final) DEFINE CheckIn AS state = 'CHECKIN', Entered AS state = 'ENTERED', NotExited AS state != 'EXITED', Final AS state = 'FINAL' ) AS stuck Sample CQL Queries Find passengers who are stuck in security when their flight is in theFINAL BOARDING process.

27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Pattern Match Query CQL view filters events for use by a query. CQL query that starts when an OFF event occurs and waits 10 seconds to make sure that it is not followed by an ON event before sending the OFF event downstream.

28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Track school buses on a map SELECT bus.busId as busId, bus.seq as seq, com.oracle.cep.cartridge.spatial.Geometry.createPoint(8307, bus.longitude, bus.latitude) as geom FROM BusPosStream as bus Alert when the bus arrives at the bus stop SELECT systimestamp() as incidentTime, bus.busId as busId, busstop.seq as stopSeq FROM BusPosGeomStream[NOW] as bus, BusStopRelation as busstop WHERE bus.geom, 100.0d) = true and bus.busId = busstop.busId Sample CQL Queries Track a bus on a map Determine when the bus is near the bus stop

29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Oracle Event ProcessingFast Data

30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Data Explosion Web & social networks experienced it first… Infographic by Go-gulf.comGo-gulf.com

31 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide … but enterprises are now facing it too … but enterprises are also facing it now Source: Utilities deploying smart meters? 200x information flowing to data center!

32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Storage is the first obvious problem. Analysis is next. Source: IDC's Digital Universe Study, sponsored by EMC, June Storage is the first obvious problem. Analysis is next. Big Data is not the created content, nor is it even its consumption it is the analysis of all the data surrounding or swirling around it.

33 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Filtering, Real-time Intelligence for Big Data 33 VOLUMEVELOCITYVARIETY VALUE SOCIAL BLOG SMART METER FAST DATA Event Processing Intelligence GREATER

34 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Big data Infinite storage Yes, storage is cheap but it helps to have clean data, with context and less redundancy 2. Hadoop is batch-oriented and there is inherent latency "With the paths that go through Hadoop [at Yahoo!], the latency is about fifteen minutes […] it will never be true real- time. " * Raymie Stata, Yahoo! CTO (June 2011) Some Challenges Working with Big Data : minutes

35 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Filter out noise (ex: data ticks with no change), add context (by correlating multiple sources), increase relevance 1. Identify certain critical conditions as you insert data into the warehouse Move time-critical analysis to front of process Get Ahead of the Curve Filter out, correlate Use Event Processing Techniques

36 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Fast Data Getting Ahead of the Curve Big Data minutes ms Fast Data Historical depth : deep Historical depth : shallow Example: analysis of traffic patterns and congestion times for urban planning Example: monitoring of traffic cameras to ensure given license plates are not in use on multiple vehicles Add depth to your fast data by merging output of MapReduce to stream processing

37 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Technical Challenge 700,000 traffic /secIn-memory but zero data loss Continuous user growth Expansion of service

38 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Why Oracle Event Processing and Coherence Optimized for high throughput processing Tight integration with Oracle Coherence Simple thread tuning by Channel architecture Extremely high throughput with In-memory technology 700,000 traffic /sec

39 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Why Oracle Event Processing and Coherence High throughput AND Strictly High Availability In-memory but zero data loss Continuous processing for stream data Redundancy of application by OEP Availability of data access by Coherence

40 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Why Oracle Event Processing and Coherence Scalability against Un-expected requirement Continuous user growth Expansion of service Liner scale out, with 0 performance loss Flexibility of function by using middleware instead of appliance product Expand to real-time customer services

41 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Oracle Event Processing using Coherence ChallengesBenefits Handle and correlate events in real- time, including support for multiple patterns: Pre-processing (buffer OEP) Within OEP (to cache reference data) Post OEP (to expose processed events to consuming apps) High throughput for storing data Aggregation and event querying Pattern implementation flexibility combining two complementary technologies Data Grid OEP Consolidated & in-context Data

42 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Cache Join Query CQL view that joins a cache containing reference data to an individual streaming event to provide additional context for further processing.

43 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Specify the cache configuration in the Event Processing Network (EPN). Use the same Coherence configuration files as any other Coherence JVM. Insert events into the cache without writing any code. Easily associate a cache listener with a cache to receive events into the OEP application. Specify the cache configuration in the Event Processing Network (EPN). Use the same Coherence configuration files as any other Coherence JVM. Insert events into the cache without writing any code. Easily associate a cache listener with a cache to receive events into the OEP application. Coherence Integration

44 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Coherence Integration Join to caches in CQL Create an OEP event-bean which has a reference to the cache set in the EPN to perform any Java logic using the cache such as invoking a Coherence entry processor. Join to caches in CQL Create an OEP event-bean which has a reference to the cache set in the EPN to perform any Java logic using the cache such as invoking a Coherence entry processor.

45 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Batching OEP Results to a Cache This technique is useful aggregating results across a number of OEP instances using a cache to hold the results. This can reduce the length of time required for the CQL windows and help scale your application and help implement high availability. Use the SLIDE clause to output the CQL results at regular intervals. Group by the criteria that you need to aggregate on.

46 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Batching OEP Results to a Cache Use an invoke operation against the cache to increase the total or add it for that key, if it doesnt exist. (The key corresponds to the same attributes in the group by clause).

47 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Oracle Event Processing High Availability

48 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide OEP High Availability – Active / Active Oracle Event Processing (OEP) Primary Secondary The same input streams are fed into all servers. Input Streams Only when a server is the primary, does it send events to downstream systems.

49 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide OEP High Availability – Active / Active Oracle Event Processing (OEP) Primary Secondary Input Streams Each server is holding its own state. Since the inputs are the same the state is the same. If a secondary server fails, there are no issues other than 1 less server available in the event of another failure. The failed server would need to be restored and is not accurate until the required time interval has elapsed to restore a correct state.

50 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide OEP High Availability – Active / Active Oracle Event Processing (OEP) Primary Input Streams When it is determined that the primary is no longer active, a secondary server assumes the role of primary and starts sending events to downstream systems.

51 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide OEP High Availability Adapters Developers can include HA adapters in their application to act as a proxy for output adapters. The HA adapter will buffer a configurable time window of events to be sent to output adapters so that no events are lost before the cluster has recognized that the primary is down and during a servers transition from secondary to primary. For more accurate recovery, the primary can send queue trimming messages to the secondary servers. trim EPN

52 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Scalability Channel Tuning Batching Event Partitioning Internal External CQL Ordering Constraints Coherence Design Patterns

53 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Scalability: Configure Channels producer consumer T producerconsumer T T max-size=2048 producerconsumer T T T max-size=2048 max-threads=2 Ordering of events is non-deterministic Default processing model is to stay on the senders thread which minimizes latency from context switching. Channels provide mechanisms for managing concurrency: max-size attribute define a FIFO buffer max-threads defines the number of consumer threads

54 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Scalability: Batching By default, a channel processes events as they arrive. Alternatively, you can configure a channel to batch events together that have the same timestamp by setting the attribute batching to true.

55 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Scalability: Internal Event Partitioning Design the application to partition and use the EventPartitioner property on the channel.

56 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Scalability: External Event Partitioning Processing Pairs are configured with the same application-specific data partitioning OEP application servers can be configured into clusters and groups that perform the same processing logic.

57 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Scalability: Event Partitioning

58 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Scalability: CQL Ordering Constraints Configure Ordering Constraints on CQL processors to allow queries to use multiple threads simultaneously. You enable parallel query execution by relaxing the default ordering constraint that ensures that events are processed serially. You do this by setting the ordering- constraint attribute on a query or view element. SELECT symbol FROM S WHERE price > 10

59 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Scalability: CQL Ordering Constraints The ordering-constraint attribute supports the following three values: ORDERED means that the order of output events (as implied by the order of input events) is important. The CQL engine will process events serially. This is the default behavior. UNORDERED means that order of the output events is not important to the consumer of the output events. This gives the freedom to the CQLProcessor to process events in parallel on multiple threads. When possible, the query will execute in parallel on multiple threads to process the events. PARTITION_ORDERED means that you're specifying that order of output events within a partition is to be preserved (as implied by the order of input events) while order of output events across different partitions is not important to the consumer of the output events. This relaxation provides some freedom to the CQL engine to process events across partitions in parallel (when possible) on multiple threads.

60 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide Oracle Event Processing (OEP) High-Volume Low-Latency Event Processing Infrastructure Event Processing Network (EPN) Light-weight Java Application Server (embeddable) Easily Customizable Integrate with existing infrastructure and other Oracle Products (e.g. Coherence, Business Activity Monitoring, Database, Big Data Appliance, Data Mining, Spatial, NoSQL Database etc.) Time Management & Pattern Matching Continuously Perform Calculations Over Time Windows Partition Event Streams By Key Values Perform Complex Pattern Matching Adjust Core Business Logic in Real-time without Redeploying

61 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 61

62 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 62


Download ppt "Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1."

Similar presentations


Ads by Google