US Pat. No. 9,092,270

METHOD OF SOA PERFORMANCE TUNING

ORACLE INTERNATIONAL CORP...

1. A method of performance tuning processing stages in a computer system, the method comprising:
monitoring a plurality of processing stages to determine a thread rate for each processing stage and a number of threads enabled
for each processing stage, wherein the thread rate is a number of messages which can be processed by a thread in a specified
time period;

calculating a processing speed for each of the processing stages by multiplying the thread rate by the number of threads enabled
for each processing stage;

tuning a slowest processing stage of the plurality of processing stages, wherein tuning comprises
calculating a new number of threads to be allocated to the slowest processing stage;
dividing the processing speed for a fastest processing stage by the thread rate for the slowest processing stage; and
allocating the new number of threads to the slowest processing stage; and
processing messages by the slowest processing stage utilizing the allocated threads.

US Pat. No. 9,251,498

FACILITATING DEPLOYMENT OF CUSTOMIZATIONS OF ENTERPRISE APPLICATIONS

Oracle International Corp...

1. A non-transitory machine readable medium storing one or more sequences of instructions for causing a management system
to facilitate deployment of a plurality of customizations of an enterprise application, a plurality of software modules constituting
entire software instructions of said enterprise application, wherein said plurality of software modules includes a first software
module pre-installed in a state suitable for execution on a first server and a second server of said plurality of servers,
wherein execution of said one or more sequences of instructions by one or more processors contained in said management system
causes said management system to perform the actions of:
receiving a plurality of deployment units, each of said plurality of deployment units containing data defining a manner of
configuration of at least some of said software modules already installed on corresponding servers to attain said plurality
of customizations of said enterprise application according to the requirements of an enterprise, wherein said plurality of
deployment units includes a first deployment unit for customizing said first software module;

receiving an enterprise profile indicating a corresponding set of deployment units to be used in customizing said enterprise
application in corresponding one of said plurality of servers according to the requirements of said enterprise, wherein a
portion of said enterprise profile indicates that said first deployment unit is to be used to customize said enterprise application
in both of said first server and said second server; and

orchestrating the configuration of said plurality of software modules already installed on said plurality of servers according
to the data specified in said plurality of deployment units and said enterprise profile, wherein said orchestrating orchestrates
the configuration of said first software module already installed on both of said first server and said second server in the
corresponding manner according to the data specified in said first deployment unit and said portion of said enterprise profile,
such that said enterprise application having said plurality of software modules pre-installed in said state suitable for execution
is further adapted according to the requirements of said enterprise, said orchestrating comprises:

receiving a level of parallelism specifying a number of deployment units that may be simultaneously deployed on said plurality
of servers;

examining a dependency data indicating a first set of deployment units which need to be deployed prior to deployment of a
first deployment unit, wherein said first set of deployment unit and said first deployment unit are contained in said plurality
of deployment units; and

performing configuration of said plurality of software modules based on said first set of deployment units before performing
configuration based on said first deployment unit in response to said examining,

wherein said performing ensures that the maximum number of deployment units deployed simultaneously on said plurality of servers
does not exceed said number of deployment units.

US Pat. No. 9,058,471

AUTHORIZATION SYSTEM FOR HETEROGENEOUS ENTERPRISE ENVIRONMENTS

Oracle International Corp...

1. A computer-implemented method comprising:
storing, in a policy store that is stored within a computer-readable storage memory and utilized by a plurality of applications
in an enterprise, a first authorization policy that specifies features that are used within a first type of authorization
environment;

storing, in the policy store, a second authorization policy that specifies features that are used within a second type of
authorization environment that differs from the first type of authorization environment;

determining that the first authorization policy and the second authorization policy in the policy store are relevant to a
request from an application of the plurality of applications;

performing a union of the first authorization policy, configured for use within the first type of authorization environment,
and the second authorization policy, configured for use within the second type of authorization environment, wherein the second
type of authorization environment is an Oracle Access Manager (OAM) environment, in response to the determining, wherein the
first authorization policy specifies features of a role-based access control (RBAC) model including a role category to which
multiple roles belong, and wherein the second authorization policy specifies features of a discretionary access control (DAC)
model;

evaluating the union of the first policy and the second policy within a policy engine that evaluates both features that are
used within the first type of authorization environment and features that are used within the second type of authorization
environment wherein evaluating the features that are used within the first type of authorization policy comprises determining
whether an access-requesting subject is associated with a particular role that belongs to the role category; and

granting access to at least one resource within the enterprise based on a result of the evaluating.

US Pat. No. 9,588,742

RULE-BASED AUTOMATIC CLASS GENERATION FROM A JSON MESSAGE

ORACLE INTERNATIONAL CORP...

1. A computer implemented method using a processor executing a process to perform one or more steps, the steps comprising:
receiving a set of one or more rules that include an identification portion and an action portion to be applied to one or
more JSON messages;

receiving the one or more JSON messages;
identifying a class structural or hierarchical characteristic provided by at least one JSON message in the one or more JSON
messages;

identifying a final class structural or hierarchical characteristic for a Java class to be generated for the at least one
JSON message;

generating a structural determination result at least by determining whether there is a structural or hierarchical change
between the class structural characteristic provided by the at least one JSON message in the one or more JSON messages and
the final class structural characteristic of the Java class to be generated for the at least one JSON message;

generating one or more Java classes respective to the one or more JSON messages using at least some of the set of one or more
rules based in part or in whole on the structural determination results, the one or more JSON messages converted into the
one or more Java classes by applying one or more actions specified by the action portion when a corresponding identification
portion is identified within at least one of the received one or more JSON messages to convert the one or more JSON messages
into the one or more Java classes;

identifying a form-oriented environment in which one or more message-based services are executed;
identifying a message-based service that returns a JSON message representation of an executed form and data associated with
the executed form in the form-oriented environment;

accessing the data associated with the executed form for the JSON message representation;
generating parsing results at least by parsing the data associated with the executed form for the JSON message representation;
converting at least a portion of the JSON message representation into a first Java object at least by deserializing the at
least the portion of the JSON message representation;

retrieving Java consumable data from the first Java object at least by referencing the first Java object using at least a
native Java object;

identifying a first proprietary data type in a Java environment;
communicating first data values in the first proprietary data type in a first JSON message, rather than communicating in the
first proprietary data type within the Java environment;

identifying a first preferred format for a first Java class;
generating the first Java class in the first preferred format at least by applying one or more rules in the set of one or
more rules to at least a part of the first JSON message to convert the at least the part of the first JSON message to the
first Java class;

identifying a second proprietary data type in the Java environment;
generating a different proprietary data type at least by transforming the second proprietary data type into the different
proprietary data type;

communicating second data values in the different proprietary data type in a second JSON message, rather than communicating
in the different proprietary data type within the Java environment;

identifying a second preferred format for a second Java class;
generating the second Java class in the second preferred format at least by applying at least one rule in the set of one or
more rules to at least a part of the second JSON message to convert the at least the part of the second JSON message to the
second Java class;

identifying a hostname, a port, an URL, and login credentials for a server;
receiving, by a plug-in, a third JSON message by listening to the port for the server;
identifying a third preferred format for a third Java class;
generating the third Java class in the third preferred format at least by applying at least some of the set of one or more
rules to at least a part of the third JSON message to convert the at least the part of the third JSON message to the third
Java class on-the-fly;

identifying a skeleton of one or more JSON messages;
creating one or more needed Java classes based on the skeleton of the one or more JSON messages;
identifying a first rule in the set of one or more rules, the first rule defining one or more Java language constructs that
are allowed to be present in at least one Java class of the one or more Java classes with the rule;

identifying a second rule in the set of one or more rules, the second rule one or more functions and one or more stylistic
aspects including one or more formatting characteristics of the one or more Java language constructs;

defining a fourth Java class with a public access modifier, the fourth Java class comprising a plurality of Java language
constructs, a plurality of fields, and a plurality of methods;

defining the plurality of fields of the fourth Java class with private access modifiers;
defining the plurality of methods of the fourth Java class with public access modifiers, return types, method names, and parameters;
selecting a source from which the set of one or more rules is identified;
selecting a hierarchical structure for at least one Java class of the one or more Java classes;
verifying integrity of the set of one or more rules at least by detecting inconsistencies; and
defining a hierarchy on a storage device by using a generated Java class of the one or more Java classes.

US Pat. No. 9,281,028

METHOD AND CIRCUIT FOR GLITCH REDUCTION IN MEMORY READ LATCH CIRCUIT

Oracle International Corp...

1. A circuit comprising:
a first logic gate having a first input coupled to a read bit line associated with a first memory cell, and a second input;
and

a second logic gate coupled to receive as inputs a first enable signal and a delayed version of the first enable signal and
configured to provide a second enable signal to the second input of the first logic gate, wherein the second logic gate is
configured to provide a rising edge of the second enable signal after a predetermined delay without a corresponding delay
of a falling edge of the second enable signal;

wherein the first logic gate is configured to provide an output corresponding to a data value received on the read bit line
responsive to receiving the rising edge of the second enable signal on its second input.

US Pat. No. 9,208,527

GENERAL LEDGER (GL) JOURNAL DELETE/ACCOUNTING LINE REVERSAL WEB SERVICE

ORACLE INTERNATIONAL CORP...

1. A computer-implemented method of formulating reverse accounting entries for a deleted journal, the method comprising:
receiving a command, in at least one computer processor operatively coupled to a memory, that a journal is to be deleted;
mapping, by the at least one computer processor operatively coupled with the memory, a journal entry in the journal to be
deleted to a transaction entry received from a feeder system;

determining, by the at least one computer processor operatively coupled with the memory, an identifier key corresponding to
the transaction entry received from the feeder system;

formulating, by the at least one computer processor operatively coupled with the memory, a reverse accounting entry in a web
service message to reverse the transaction entry; and

sending, by the at least one computer processor operatively coupled with the memory, the reverse accounting entry with the
identifier key corresponding to the transaction entry received from the feeder system in the web service message to the feeder
system, wherein the web service message aggregates other reverse accounting entries for other journal entries in the journal
to be deleted.

US Pat. No. 9,507,838

USE OF PROJECTOR AND SELECTOR COMPONENT TYPES FOR ETL MAP DESIGN

Oracle International Corp...

1. A method for facilitating generation of a data mapping, the method comprising:
receiving, at one or more computer systems, information specifying one or more components of a logical design, wherein at
least one of the one or more components is of a first type, and the information specifying the one or more components of the
logical design is either indicative of an operation that changes shape of the information flowing through the logical design,
or indicative of an operation that controls the flow of information flowing through the logical design but does not change
shape of the information flowing through the logical design;

determining, with one or more processors associated with the one or more computer systems, a set of data attributes of an
object visible to downstream components in the logical design of the at least one of the one or more components that is of
the first type based on upstream components in the logical design;

grouping the set of data attributes of the object that is of the first type; and
generating, with the one or more processors associated with the one or more computer systems, information indicative of the
group including the set of attributes visible to the downstream components in the logical design of the at least one of the
one or more components that is of the first type in order to create a data integration plan.

US Pat. No. 9,426,307

NON-LINEAR DATA CHARGING

ORACLE INTERNATIONAL CORP...

1. A method of charging a data session of a subscriber, the method comprising:
in response to a request to initiate the data session, providing a first quantity of granted service units of data for the
data session associated with a first charging condition;

during the data session, receiving a change in charging conditions for the subscriber;
in response to the change, sending a re-authorization message to the subscriber;
in response to the re-authorization message, receiving a first update message from the subscriber comprising a first used
service units for the data session since the providing of the first quantity of granted service units of data;

in response to the first update message and based on the change in charging conditions and the first used service units, providing
a second quantity of granted service units of data for the data session associated with a second charging condition; and

charging the data session of the subscriber according to a total used service units comprising the first used service units
included with the first update message under the first charging condition and second used service units for the data session
used since the first update message under the second charging condition.

US Pat. No. 9,105,118

GALAXY VIEWS FOR VISUALIZING LARGE NUMBERS OF NODES

Oracle International Corp...

1. A method for interactively illustrating data in a concentric banded galaxy visualization, the method executing in a computing
system, the method comprising:
accessing data, wherein the data is organized into objects;
assigning a transparency value to each object;
graphically depicting the data by randomly or partially randomly distributing graphical depictions of the objects in non-overlapping
concentric regions of the visualization in accordance with a distribution function, wherein each graphical depiction of an
object is characterized by the associated transparency value, wherein overlapping regions of two or more transparent objects
are progressively darker as more objects overlap;

receiving a user input to change a separation between a smaller and a larger non-overlapping concentric region of the visualization
from a first distance to a second distance; and

in response to receiving the user input to change the separation, updating the concentric banded galaxy visualization to display
a size difference between an outer radius of the smaller region and an updated inner radius of the larger region equal to
the second distance, and to graphically depict objects from the larger region at modified positions in between the updated
inner radius and an outer radius of the larger region.

US Pat. No. 9,251,435

SCREENSHOT DATABASE FOR APPLICATION VERIFICATION

ORACLE INTERNATIONAL CORP...

1. A method of processing and storing screenshot images, the method comprising:
receiving, using a computer system, an image, the image depicting a screenshot of results of an application test;
comparing, using the computer system, the image to a plurality of reference images;
selecting, using the computer system, a reference image that is the most similar to the image;
generating, using the computer system, a delta image representing a difference between the reference image and the image;
storing, using the computer system, the delta image with a reference to the reference image; and
balancing, using the computer system, a number of reference images stored in a reference area with a number of delta images
stored in a delta area to maintain one or more of:

a predetermined ratio of reference images to delta images; or
a predetermined ratio of average delta image size to average reference image size.

US Pat. No. 9,245,236

FACTORIZATION OF CONCERNS TO BUILD A SDP (SERVICE DELIVERY PLATFORM)

ORACLE INTERNATIONAL CORP...

1. A service delivery platform (SDP) comprising:
a processor; and
a memory coupled with and readable by the processor and having stored therein a sequence of instructions which, when executed
by the processor, cause the processor to execute:

a network layer within the SDP, the network layer comprising a plurality of network resources and performing a first set of
functions concerned with communicating with the plurality of network resources, and wherein the network layer performs the
first set of functions independently and without concern about functions of other layers of the SDP;

a network adapter layer within the SDP comprising a plurality of adapters for the plurality of network resources, the adapters
providing an abstraction of the network resources, and wherein the network adapter layer performs functions independently
and without concern about functions of other layers of the SDP;

a service layer within the SDP performing a second set of functions concerned with a service, the service layer comprising
one or more enablers and an abstract interface layer, wherein the enablers expose the second set of functions to the abstract
interface layer and the abstract interface layer provides interfaces for the one or more enablers, wherein the service layer
performs the second set of functions independently and without concern about functions of other layers of the SDP, wherein
the first set of functions of the network layer is factored out of the second set of functions of the service layer, and wherein
the second set of functions performs a service in the service layer using the first set of functions of the network layer
through the abstract interface layer, enablers, and network adapter layer;

a lifecycle management layer within the service layer and providing through the abstract interface layer a set of lifecycle
management functions factored out from the second set of functions of the service layer and the first set of functions of
the network layer, wherein the lifecycle management layer performs the lifecycle management functions independently and without
concern about functions of other layers of the SDP and wherein the lifecycle management functions include one or more of development
functions, deployment functions, monitoring functions, debugging functions, upgrade functions, or removal functions for one
or more services of the service layer or one or more of the network resources; and

a business rules layer within the SDP separate from the service layer performing a third set of functions concerned with applying
business rules to a service request from a user, wherein the business rules layer performs the third set of functions independently
and without concern about functions of other layers of the SDP, wherein the second set of functions and lifecycle management
functions of the service layer are factored out of the third set of functions of the business rules layer, and wherein enforcing
the business rules on the second set of functions and lifecycle management functions includes composing the second set of
functions and lifecycle management functions of the service layer through the abstract interface layer to provide the service
based on the rules applied to the service request by the business rules layer.

US Pat. No. 9,276,942

MULTI-TENANCY IDENTITY MANAGEMENT SYSTEM

Oracle International Corp...

1. A computer-implemented method comprising:
storing, in a cloud computing environment, in a shared identity store in a shared identity management system used by multiple
identity domains that are isolated from each other, identities of a plurality of users associated with different identity
domains within the multiple identity domains;

creating a first identity domain through the shared identity management system;
associating a first plurality of services with the first identity domain;
sharing, among the first plurality of services, identities of a first set of users from the plurality of users managed by
the shared identity management system;

creating, through the shared identity management system, a second identity domain that is isolated from the first identity;
associating a second plurality of services with the second identity domain; and
sharing, among the second plurality of services, identities of a second set of users from the plurality of users managed by
the shared identity management system, wherein the second set of users is different from the first set of users;

in response to a request to provision an instance of a particular service to the first or second identity domain of the multiple
identity domains, selecting, from a plurality of different role hierarchy templates that are associated with different services,
a particular role hierarchy template that was associated with the particular service prior to receiving the request; and

in response to the request, creating, in the first or second identity domain, a role hierarchy to map the first or second
set of users to specific roles based on the particular role hierarchy template.

US Pat. No. 9,116,710

DYNAMIC USER INTERFACE AUTHORING

Oracle International Corp...

1. A method for facilitating authoring computer code to facilitate rendering of a display of data, the method comprising:
accepting a signal from a user input device to specify an attribute in accordance with a definition of a class of attributes
in a data model;

providing the specification of the attribute to a software component characterizing a webpage, wherein the software component
includes an indicator for dynamic rendering of at least a portion of data included in the data model and associated with the
attribute;

storing the definition of the class of attributes, including the data associated with the attribute, for retrieval and rendering
of the data on a target device;

providing a first mechanism for facilitating modification of one or more attributes of the data model;
propagating, using one or more processors, one or more modifications to the data model to computer code characterizing a webpage
so that the computer code characterizing the webpage can be used to automatically modify a user interface display screen rendered
for the webpage in accordance with the one or more modifications to the data model;

providing a first user option to trigger creation of a layout object to characterize a portion of a user interface display
screen; and

providing a second user option to specify a value representing an expression language expression that resolves to a hierarchical
object in the attributes model.

US Pat. No. 9,189,522

SQL EXECUTION PLAN BASELINES

ORACLE INTERNATIONAL CORP...

1. A method comprising:
identifying a plurality of query execution plans that have been designated as acceptable for use by a database server to execute
a database command, the database command being a query statement that instructs the database server to perform one or more
operations on data stored in a database;

persistently maintaining, at the database server, for the database command, baseline data specifying the plurality of query
execution plans that have been designated as acceptable for executing the database command, wherein the baseline data includes
a plurality of query execution plan outlines, wherein the plurality of query execution plan outlines is a set of data from
which the database server reconstructs each query execution plan in the plurality of query execution plans;

while persistently maintaining the baseline data, the database server receiving a first request to execute the database command;
estimating, by the database server, for each given query execution plan in the plurality of query execution plans, predicted
costs for executing the database command in response to the first request according to the given query execution plan;

based on the predicted costs for each query execution plan in the plurality of query execution plans, the database server
selecting a particular query execution plan from the plurality of query execution plans that have been designated as acceptable
for executing the database command; and

in response to the first request to execute the database command, the database server executing the database command according
to the particular query execution plan;

wherein the method is performed by one or more computing devices.

US Pat. No. 9,135,280

GROUPING INTERDEPENDENT FIELDS

Oracle International Corp...

1. A method
for determining which fields, of a plurality of fields in a data set, are interdependent, comprising:
determining different levels of interdependence between different pairs of fields of the plurality of fields at least in part
by, for each pair of the different pairs of fields:

for a respective sample of the data set in said each pair:
computing respective measured frequencies of co-occurrences of values in said each pair,
computing respective predicted frequencies of co-occurrences of values in said each pair based at least in part on measured
frequencies of values in each separate field of said each pair;

computing a respective divergence score that measures how divergent values are in the separate fields of said each pair based
at least in part on the respective measured frequencies of co-occurrences and the respective predicted frequencies of co-occurrences;

determining a maximum divergence score among respective divergence scores computed by said computing a respective divergence
score for each pair of said different pairs;

scaling the respective divergence score based at least in part on the maximum divergence score to a respective scaled divergence
score that is different from the respective divergence score; and

identifying a group of fields as interdependent based on said levels of interdependence between different pairs of fields.

US Pat. No. 9,098,834

TASK MANAGEMENT USING ELECTRONIC MAIL

Oracle International Corp...

1. A computing system comprising:
a first client system to form and send an email upon a first user specifying a task to be performed and a distribution list,
wherein said email contains a header portion and a body portion,

said email specifying said task and said distribution list, said distribution list being represented in the form of a single
email address in an address field of said header portion in said email, said body portion of said email containing a pre-specified
tag to expressly indicate that said email is related to management of said task;

a server system operable to;
maintain a distribution data mapping each of a plurality of distribution lists to a corresponding list of recipients, each
of said list of recipients containing more than one recipient;

receive said email including said pre-specified tag in said body portion, said email also including said single email address
representing said distribution list in said header portion;

examine said distribution data to identify one of said plurality of distribution lists matching said single email address,
wherein a list of recipients mapped to said identified one of said plurality of distribution lists represents said distribution
list, said list of recipients containing more than one email address to specify corresponding recipients, said examine also
identifying said pre-specified tag in said body portion of said email,

upon identification of said at least one tag in said body portion, automatically determining said email as relating to task
management;

forward said email for management of said task to each of said list of recipients represented by said distribution list in
response to said single email address and said pre-specified tag in said email such that more than one recipient receives
said email in response to said single email address;

create an entry in a status table for said task in response to receiving said first email, wherein said current status is
stored in said entry;

insert, upon identification of said pre-specified tag in said body portion, a unique identifier in said first email prior
to said forwarding, said unique identifier uniquely identifying said task, said unique identifier also being stored in said
entry of said status table; and

maintain status data indicating a current status of said task in response to said task being specified in said email; and
a second client system of one of said list of recipients to receive said email forwarded by said server system, and for sending
a response email to said server system with a status update related to said task,

wherein said server system examines said response email for said unique identifier to determine that said response email is
related to said task and updates said current status of said task according to said status update in said response email after
receiving said status update if said response email is determined to be related to said task,

wherein at least one of said first client system, said server system and said second client system comprises a processor to
execute instructions.

US Pat. No. 9,398,434

METHOD AND SYSTEM FOR ZONE ANALYSIS IN A CHARGING SYSTEM

Oracle International Corp...

1. A method comprising:
receiving a service usage request, wherein
the service usage request represents, at least in part, a request for service usage received from a subscriber,
the service usage request comprises
a value pair, and
the value pair comprises
a first value, and
a second value;
identifying a zone item by traversing a configurable zone model tree, wherein
the traversing is performed using
the first value, and
the second value;
identifying a zone name of the zone by determining whether the service usage request occurred during a validity period for
an entry in the zone item, wherein the validity period is defined by a start time and an end time specified by the zone item;
and

returning the zone name of the zone, wherein
the zone item comprises the zone name, and
the zone name identifies a charging structure to be used in satisfying the service usage request.

US Pat. No. 9,176,878

FILTERING PRE-FETCH REQUESTS TO REDUCE PRE-FETCHING OVERHEAD

ORACLE INTERNATIONAL CORP...

1. A computer-implemented method for filtering pre-fetch requests to reduce pre-fetching overhead, the method comprising:
executing an instruction that involves a memory reference which is directed to a memory;
determining a frequency of cache misses for the instruction from a tracked history of cache misses for the instruction;
determining a frequency of performance penalties of the cache misses from a tracked history of performance penalties of the
cache misses for the instruction;

when the frequency of cache misses exceeds a threshold, filtering a pre-fetch request that is associated with the instruction;
and

otherwise, when the frequency of cache misses does not exceed the threshold:
when the frequency of performance penalties exceeds a second threshold, causing at least a cache line to be pre-fetched by
sending the pre-fetch request; and

otherwise, filtering the pre-fetch request.

US Pat. No. 9,185,054

SYSTEM AND METHOD FOR PROVIDING ZERO BUFFER COPYING IN A MIDDLEWARE MACHINE ENVIRONMENT

ORACLE INTERNATIONAL CORP...

1. A system for providing a middleware machine, comprising:
one or more high performance computing hardware systems, each including one or a plurality of processors, a high performance
memory, and a networking component; and

a middleware environment operating thereon that includes one or a plurality of application server instances, and one or more
Java virtual machines (JVMs), wherein each of said application server instances includes at least one muxer;

wherein when a request is received by a said application server instance that includes a plurality of layers to process the
request

data associated with the request is stored in one or more byte arrays on a heap space of a said JVM, wherein each said layer
applies one or more changes to the data via one of a plurality of byte buffers, wherein each said byte buffer is accessible
to the JVM and the said application server instance and includes a pointer to the data,

a response is generated by the said application server using the data, and gathered from the one or more byte arrays using
scatter/gather input/output (I/O), and

the response is received from a plurality of threads by a sender queue and transferred therefrom using a said muxer to a different
said application server instance over a plurality of parallel channels associated with the said muxer.

US Pat. No. 9,047,249

HANDLING FAULTS IN A CONTINUOUS EVENT PROCESSING (CEP) SYSTEM

Oracle International Corp...

1. A computer-readable memory storing a plurality of instructions for causing a processor to perform operations, the plurality
of instructions comprising:
instructions that cause the processor to detect a first fault raised by the operator of a first continuous execution processing
(CEP) query relative to a first event from an event stream;

instructions that cause the processor to invoke, in response to detecting the first fault, a first user-registered fault handler
that has been registered with a CEP query processor;

instructions that cause the processor to determine that the first user-registered fault handler caught and handled the first
fault; and

instructions that cause the processor to cause the CEP query processor, in response to determining that the first user-registered
fault handler caught and handled the first fault, to continue to execute the first CEP query without halting execution of
the first CEP query;

wherein the first user-registered fault handler is configured to determine whether to handle the first fault or to re-throw
the first fault so that a fault handler other than the first user-registered fault handler can handle the first fault.

US Pat. No. 9,177,124

FLEXIBLE AUTHENTICATION FRAMEWORK

Oracle International Corp...

1. A method for authenticating users in a secure search system, comprising:
receiving, using one or more processors, user identification information from a user in a secure enterprise system;
authenticating, using the one or more processors, the user to a plurality of secure data sources by providing the user identification
information to a plurality of application program interfaces (APIs), with each API interfacing with a respective identity
management computer system, and with each identity management computer system of a plurality of identity management computer
systems managing identities for one or more secure data sources in the secure enterprise system, where each secure data source
provides access to data by authenticated and authorized users, where a number or types of objects representing the user identification
information required by a first identity management computer system is different from a number or types of objects representing
the user identification information required by a second identity management computer system;

crawling, using the one or more processors, a secure data source associated with the at least one identity management computer
system and building an index of documents based on the crawling;

receiving, using the one or more processors, a query from the user;
calling, using the one or more processors, back into the at least one identity management computer system to obtain a security
attribute value for the user in response to the query;

appending, using the one or more processors, the security attribute value for the user to the query and using the appended
query to query the index; and

based on the appended query and security attributes of documents in the secure data source, determining, using the one or
more processors, one or more documents from the index of documents, that are accessible to the user.

US Pat. No. 9,251,178

SYSTEM AND METHOD FOR CONNECTION LABELING FOR USE WITH CONNECTION POOLS

ORACLE INTERNATIONAL CORP...

1. A system for connection labeling for use with connection pools, comprising:
a computer including a processor and a database;
a connection pool, including a plurality of connection objects which provide connections that software applications can use
to make requests to access the database;

wherein each application is associated with a configuration information that associates particular labels with particular
connection states, and defines, for that application, costs associated with repurposing connections from one state to another,
so that each of the connections are labeled for use by that application according to the configuration information defined
by that application; and

a connection pool logic that performs a process to identify high-cost connections, for use in determining whether to create
or repurpose connections for use by an application upon receiving a request from the application for a labeled connection,
and avoids using those high-cost connections to serve requests when the total number of connections is below a particular
threshold value.

US Pat. No. 9,229,948

SELF-GOVERNED CONTENTION-AWARE APPROACH TO SCHEDULING FILE DEFRAGMENTATION

ORACLE INTERNATIONAL CORP...

1. A computer implemented method for self-governed, contention-aware scheduling of file defragmentation, comprising:
selecting a plurality of candidate files of a storage volume for performing defragmentation operations, using a score calculated
by combining a frequency or recency of access and a fragmentation severity value of a respective candidate file;

executing, by a computer, a process to determine an amount of contention of access to a candidate file of the plurality of
candidate files, wherein the amount of contention indicates an amount of time to obtain access to the candidate file;

initiating a defragmentation operation on the candidate file if the contention is determined to be below a contention threshold
value;

initiating the defragmentation operation after delaying, for a calculated wait time, the defragmentation operation on the
candidate file if the amount of time to obtain access to the candidate file is above the contention threshold value;

determining, after initiating the defragmentation operation on the candidate file, a system utilization value; and
initiating a second defragmentation operation if the system utilization value is below a headroom threshold value, and delaying
the initiation if the system utilization value is above the headroom threshold value.

US Pat. No. 9,047,392

SYSTEM AND METHOD FOR CONVERSION OF JMS MESSAGE DATA INTO DATABASE TRANSACTIONS FOR APPLICATION TO MULTIPLE HETEROGENEOUS DATABASES

ORACLE INTERNATIONAL CORP...

1. A system for integrating a message-based system with a database-based system, comprising:
a computer including a microprocessor;
a data parsing component, provided as a shared library to integrate a dataflow of a source system, wherein the data parsing
component includes a plurality of parsers, wherein each of the plurality of parsers is configured to parse messages received
from a message-based system having a particular message format; and

a properties file which indicates properties and data definitions that define how the system is to parse messages from a source
format of the source system, to a target format of a target system;

wherein the data parsing component operates to
read a message from a messaging topic at the source system,
present values read from a header of the message to the properties file,
select, using the properties file, a parser from the plurality of parsers to parse the message,
parse, using the selected parser and the properties file, the message to determine transaction boundaries and operation types,
store the parsed message in a persistent trail file, which is subsequently routed via a network to the target system,
generate a source definition file from properties in the properties file, which is provided to the target system, and
apply the parsed message as database operations at a database at the target system, wherein, if the target system needs to
be recovered from an earlier point in time, the persistent trail is deciphered using the source definition file to replay
the database operations.

US Pat. No. 9,229,680

ENHANCED VOICE COMMAND OF COMPUTING DEVICES

Oracle International Corp...

3. A method for facilitating access to data and functionality, the method comprising:
receiving natural language input;
analyzing the natural language input and selecting one or more portions of the natural language input;
employing the one or more portions to select software functionality, wherein the one or more portions include one or more
keywords occurring in the natural language input; and

presenting one or more user interface controls in combination with a representation of the natural language input, wherein
the one or more user interface controls are adapted to facilitate user access to the software functionality, and wherein presenting
further includes functionally augmenting the one or more keywords via in-line tagging of the one or more keywords via one
or more of the user interface controls, resulting in functionally-augmented natural language.

US Pat. No. 9,134,970

SOFTWARE DEVELOPMENT METHODOLOGY SYSTEM FOR IMPLEMENTING BUSINESS PROCESSES

Oracle International Corp...

1. A non-transitory computer readable medium including instructions stored thereon that, when executed by a processor, cause
the processor to provide a software development tool for developing software that implements a customer's business processes,
the providing comprising:
determining a plurality of models to define the software to be developed, wherein at least one model of the plurality of models
is a business model that comprises at least one business process, and the at least one business process is a set of interrelated
business process paths that accomplish a business goal, wherein one of the plurality of models is a functional model that
comprises functional features performed by the software to be developed;

defining at least one business process path, wherein the at least one business process path is a route through the at least
one business process taken during a single execution of the at least one business process, and the at least one business process
path comprises at least one step to be performed by the software to be developed;

mapping the defined at least one business process path to the functional model, wherein the mapping identifies, for each step
of the defined at least one business process path, at least one corresponding part of the functional model that implements
the at least one step of the business process path; and

building the software, which implements each step of the at least one business process path that has been mapped to the functional
model that comprises the functional features.

US Pat. No. 9,229,697

SPECULATIVE OBJECT SHAPES

Oracle International Corp...

1. A method for speculative object shapes, comprising:
obtaining a first value for a first object and a second value for a second object, wherein the first object is of a first
shape, and wherein the second object is of a second shape;

determining, by a processor and during runtime, a first speculative type for the first value and a second speculative type
for the second value;

generating, based on the first speculative type and the second speculative type, a shape tree comprising a first subtree for
the first shape and a second subtree for the second shape;

marking, by the processor, the first subtree as obsolete based on a determination that the first speculative type is incorrect
and that the second shape is a super shape of the first shape;

transforming, in response to marking, the first object from the first shape to the second shape by:
merging the first subtree into the second subtree;
obtaining a third value for a third object, wherein the third object is of a third shape;
determining, by the processor and during runtime, a third speculative type for the third value;
generating, based on the third speculative type, a third subtree for the shape tree; and
marking, in response to determining that the third shape causes polymorphism, the third subtree as obsolete based on a determination
that the second shape is the super shape of the third shape and that the third shape causes polymorphism with the second shape,

wherein the third speculative type is correct.

US Pat. No. 9,124,448

METHOD AND SYSTEM FOR IMPLEMENTING A BEST EFFORTS RESEQUENCER

ORACLE INTERNATIONAL CORP...

1. A method for determining a set of messages to process in a computing system, comprising:
receiving a set of messages from a message producer;
establishing a waiting period for the set of messages to be processed, wherein the set of messages are sequenced using a set
of non-contiguous sequence identifiers such that it is unknown whether any messages are missing from the set of messages based
on the set of non-contiguous sequence identifiers;

using a processor to determine whether any messages of the set of messages arrive over a network to be processed during a
pendency of the waiting period for the set of messages;

re-starting the waiting period to wait for new messages if any messages of the set of messages arrive during the pendency
of the waiting period˜wherein the waiting period is restarted for an arriving message even if it is unknown whether any messages
of the set of messages are missing based on a non-contiguous sequence identifier of the arriving message;

extending the waiting period if a first message arrives during the pendency of the waiting period that indicates that a second
message is missing, wherein the indication that the second message is missing is based at least in part on text-based sequence
information in the first message; and

selecting all existing messages for the set of messages to be processed by the computing system if there are no new messages
that arrive during the pendency of the waiting period.

US Pat. No. 9,361,622

MULTI-DIMENSIONED DATA HIERARCHIES

ORACLE INTERNATIONAL CORP...

1. A method of configuring a dashboard application displaying data for a user, the method comprising:
accessing a set of data comprising a plurality of records, each of the plurality of records comprising a plurality of data
elements, wherein each data element in a record has a corresponding dimension, wherein the plurality of records correspond
to an enterprise application;

providing a list of available dimensions;
providing a first input mechanism to allow selection of one or more dimensions for assigning categories for the plurality
of records, the categories comprising view criteria for presenting the data by the dashboard application;

receiving, via the first input mechanism, an assignment of categories for the plurality of records, wherein the assignment
of the categories for the plurality of records is based in part on a first set of one or more dimensions;

providing a second input mechanism to allow selection of one or more dimensions for filtering the set of data, each selected
dimension comprising a perspective from which a metric will be presented by the dashboard application;

receiving, via the second input mechanism, an identification of a second set of one or more dimensions by which the plurality
of records are filtered; and

generating a display hierarchy for displaying the set of data in response to receiving the identification of the second set
of one or more dimensions and based on the first set of dimensions and the second set of dimensions, the display hierarchy
comprising:

a representation of how the set of data is displayed by the dashboard application;
a display hierarchy component representing levels of the generated display hierarchy and a current path in the generated display
hierarchy; and

a drill down grid component representing values in the set of data for a parameter corresponding to a selected level of the
generated display hierarchy selected using the display hierarchy component, wherein the dashboard application provides visibility
of operations of the enterprise application and the set of data based on the assigned categories, the selected dimensions,
and the generated display hierarchy.

US Pat. No. 9,055,005

VIRTUAL-PORT NETWORK SWITCH FABRIC

ORACLE INTERNATIONAL CORP...

1. An input/output (I/O) switch fabric, comprising:
first physical ports, wherein a given first physical port is configured to convey multiple network flows;
classifiers, coupled to the first physical ports, configured to separate packets for network flows associated with different
types of service and to convey the packets to different virtual switch ports without interference between the separated packets
associated with the different network flows;

the virtual switch ports coupled to the classifiers, wherein the virtual switch ports support different types of service and
a given virtual switch port supports a given type of service to facilitate splitting and recombining of the different network
flows; and

second physical ports coupled to the virtual switch ports, wherein a given second physical port is configured to concurrently
output packets for at least some of the network flows associated with the different types of service.

US Pat. No. 9,148,425

SECOND SCREEN MEDIATION

Oracle International Corp...

1. A non-transitory computer readable medium having instructions stored thereon that, when executed by a processor, cause
the processor to mediate a second screen session, the mediating comprising:
authenticating a first session for a first application running on a workstation, the workstation having a first display and
being configured to allow a user to interact with aspects of the first application shown on the first display;

authenticating a second session for a second application running on a second screen device, the second screen device having
a second display and being configured to allow the user to interact with aspects of the second application shown on the second
display;

linking the first application to the second application;
receiving data indicating that one of the linked first and second applications was changed by the user interacting with the
workstation or the second screen device, respectively;

providing update data to the other of the linked first and second applications corresponding to the change by the user; and
causing the respective display associated with the other of the linked first and second applications to update based on the
update data.

US Pat. No. 9,282,128

ARCHITECTED DATA TRANSFER

Oracle International Corp...

1. A method comprising:
receiving, at a controller computer, a request to transfer data to a first receiver of a plurality of receivers, wherein the
controller computer is not a member of the plurality of receivers;

selecting, by the controller computer, one or more optimal transmitters from a plurality of transmitters, wherein each transmitter
of the plurality of transmitters stores at least a portion of a copy of the data;

assigning, by the controller computer, a respective one or more segments of the data to each optimal transmitter of the one
or more optimal transmitters;

sending, by the controller computer, an instruction to each optimal transmitter of the one or more optimal transmitters, wherein
the instruction causes each optimal transmitter of the one or more optimal transmitters to transfer the respective one or
more segments of the data assigned to the optimal transmitter to the first receiver;

receiving, at the controller computer, a second request to transfer the data to a second receiver of the plurality of receivers,
wherein the second receiver is different from the first receiver;

selecting, by the controller computer, second one or more optimal transmitters from the plurality of transmitters;
assigning, by the controller computer, a second respective one or more segments of the data to each optimal transmitter of
the second one or more optimal transmitters;

sending, by the controller computer, a second instruction to each optimal transmitter of the second one or more optimal transmitters,
wherein the second instruction causes each optimal transmitter of the second one or more optimal transmitters to transfer
the second respective one or more segments of the data assigned to the optimal transmitter to the second receiver;

wherein the method is performed by one or more computing devices.

US Pat. No. 9,304,927

ADAPTIVE STRIDE PREFETCHER

ORACLE INTERNATIONAL CORP...

1. A method for dynamically changing a prefetching configuration in a computer system that supports multiple prefetching configurations,
comprising:
during operation of the computer system, keeping track of stream lengths of two or more streams, wherein the keeping track
involves maintaining, for each stream of the two or more streams, a hit counter for the stream that counts a number of demand
hits for prefetches generated according to a given prefetching configuration from the prefetching configurations, wherein
the given prefetching configuration specifies how to adjust an ahead distance that indicates how many references ahead to
prefetch for the stream, and wherein the stream is a sequence of memory references with a constant stride;

maintaining a separate global counter for each of the prefetching configurations;
updating the global counter for a first of the prefetching configurations based on the number of demand hits for prefetches
generated according to a different one of the prefetching configurations;

determining a dominant global counter from the global counters based on values of the global counters; and
dynamically changing the prefetching configuration for the computer system to the prefetching configuration for the stream
that corresponds to the dominant global counter.

US Pat. No. 9,274,790

CUSTOMIZATION MANAGER

Oracle International Corp...

1. A method implemented by at least one computer, the method comprising:
receiving, via a field of a first screen of a graphical user interface, a first specific position within a first existing
module, at which additional software is to be executed, during execution of an existing generic version of application software
that comprises a plurality of modules including the first existing module;

wherein the first specific position is selected, by user input in the first screen, to be at a beginning of the first existing
module, or at an end of the first existing module, or at a specific line number in between the beginning and the end of the
first existing module;

receiving the additional software;
storing in a database, a customization that comprises a first name of the first existing module, and the first specific position
within the first existing module;

receiving a new generic version of the application software;
automatically identifying, in the new generic version of application software, by use of at least one processor and the customization
in the database, a first new module having a first name identical to the first name of the first existing module in the existing
generic version of the application software, the first existing module being associated with the additional software to be
executed when executing an existing customized version of the application software;

receiving via a second screen of the graphical user interface, a new specific position at which the additional software is
to be executed in the first new module when executing a new customized version of the application software;

automatically preparing and storing in one or more non-transitory computer-readable storage media, the new customized version
of the application software to execute the additional software when executing the first new module in the new generic version
of the application software;

wherein the new customized version of the application software is obtained, based on the new specific position, by automatic
insertion of the additional software, directly or via a function call, into the new generic version of the application software;
and

executing a new executable based on the new customized version of the application software.

US Pat. No. 9,142,044

APPARATUS, SYSTEMS AND METHODS FOR LAYOUT OF SCENE GRAPHS USING NODE BOUNDING AREAS

Oracle International Corp...

1. A computer-implemented method, comprising:
assigning, using at least one processing device, a first value to a layout bound variable of a layout bound, the layout bound
defining a bounding volume for an object, the object corresponding to a first node in a plurality of nodes in a scene graph,

wherein the first node of the scene graph includes:
at least one display property defining at least an area of the object of the first node; and
at least one set of transforms for modifying the at least one display property, the at least one set of transforms comprising
a first set of transforms and a second set of transforms,

and wherein the first value assigned to the layout bound variable includes the area of the object and the first set of transforms;
using the at least one processing device, calculating, based on the first value assigned to the layout bound variable, a first
display layout for at least a second node in the plurality of nodes, the first display layout defining a first position of
the second node relative to the first node when rendered;

first rendering, using the at least one processing device, the first node and the second node by:
applying the first set of transforms of the first value to the area of the object to thereby modify the object; and
generating a first display on a display device according to the calculated first display layout;
assigning, using the at least one processing device, a second value to the layout bound variable, wherein the second value
comprises the second set of transforms and is thereby different than the first value;

calculating, using the at least one processing device, a second display layout for the second node relative to the first node
based on the second value of the layout bound variable, the second display layout defining a second position of the second
node relative to the first node when rendered; and

second rendering, using the at least one processing device, the first node and the second node by:
applying the second set of transforms of the second value to the at least one display property, thereby modifying the object;
and

generating a second display on the display device according to the second display layout.

US Pat. No. 9,047,363

TEXT INDEXING FOR UPDATEABLE TOKENIZED TEXT

Oracle International Corp...

1. A computer-implemented method, comprising:
accessing a text index that includes postings that map tokens to documents that contain the tokens;
where each posting includes a mature portion having token location information compiled at a last posting rewrite and an allocated
free space portion having revised token location information for tokens received since the last posting rewrite, further where
the mature portion is sorted on document identifier, and further where each posting is configured such that both the mature
portion and the allocated free space portion are susceptible to query operations for tokens; and

rewriting a selected posting by:
removing the revised token location information from the allocated free space portion;
sorting the revised token location information according to document identifier; and
merging the sorted revised token location information into the mature portion.

US Pat. No. 9,378,387

MULTI-LEVEL SECURITY CLUSTER

Oracle International Corp...

1. A multi-level security system, the security system comprising:
a first cluster-wide security container comprising a first security label, wherein the first cluster-wide security container
includes a plurality of first zones each provided by one of a corresponding plurality of computing machines comprising a computer
cluster, each first zone configured to provide a first environment where one or more resources of its associated computing
machine are processed according to the first security label;

a second cluster-wide security container comprising a second security label, wherein the second cluster-wide security container
includes a plurality of second zones associated with each of the plurality of computing machines, each second zone configured
to provide a second environment where the resources of its associated computing machine are processed according to the second
security label; and

a global container including a plurality of global zones associated with the plurality of computing machines, each global
zone configured to modify one or more access rights to the resources independently for each of the first security label and
the second security label,

wherein each computing machine comprising a multi-level security (MLS) operating system that supports MLS for a single machine,
the MLS operating system including cluster extensions that provide the first environment and the second environment for the
first zone and the second zone, respectively, and

wherein the global zones comprise a cluster configuration repository including configuration information about the first zones
and second zones configured on their respective computing machines, wherein access to the cluster configuration repository
is not allowed through the first zones or the second zones, and wherein the configuration information for each of the first
zones of the first cluster-wide security container and the second zones of the second cluster-wide security container are
stored in each of the global zones in the global container, each global zone stored in corresponding computing machines of
the computing cluster.

US Pat. No. 9,306,750

TECHNIQUES FOR SECURING SUPPLY CHAIN ELECTRONIC TRANSACTIONS

ORACLE INTERNATIONAL CORP...

1. A computer readable storage device storing a plurality of instructions which, when executed by a processor, cause the processor
to authenticate an identity of a party to a transaction in a supply chain by:
registering, by a hub registry system, one or more reader devices at each of a plurality of points along the supply chain,
each reader device registered by a network address of the reader device and associated with a public encryption key and a
private encryption key;

receiving, by the hub registry system, a first encrypted transaction data for a shipment of goods from a reader device registered
by a shipper of the goods, the shipper comprising a first point of a plurality of points along the supply chain, the first
encrypted transaction data identifying the goods being shipped and the shipper of the goods, the first encrypted transaction
data being encrypted using the private encryption key associated with the reader device registered by the shipper and associated
with the shipper by the hub registry system;

decrypting, by the hub registry system, the first encrypted transaction data using a public encryption key associated with
the registered network address of the reader device registered by the shipper of the goods to authenticate the sender of the
goods;

storing, by the hub registry system, the decrypted transaction data in an audit history for the transaction, the audit history
providing a chain of custody for the shipment of goods and comprising information tracking the progress of goods between the
plurality of points along the supply chain;

receiving, by the hub registry system, a second encrypted transaction data from a reader device registered to a receiver of
the goods, the receiver comprising a second point of the plurality of points along the supply chain, the second encrypted
transaction data being encrypted using the private encryption key associated with the reader device registered by the receiver
of the goods and associated with the receiver of the goods by the hub registry system, wherein the second encrypted transaction
data includes the first encrypted transaction data from the shipper of the goods and additional information identifying the
goods being received and the receiver of the goods;

decrypting, by the hub registry system, the second encrypted transaction data using a public encryption key associated with
the registered network address of the reader device registered by the receiver of the goods to authenticate the receiver of
the goods;

updating, by the hub registry system, the audit history for the transaction with the decrypted transaction data;
rejecting, by the hub registry system, the transaction if authentication of one or more of the sender or the receiver of the
goods failed; and

providing, by the hub registry system, the audit history to the shipper and the receiver.

US Pat. No. 9,275,165

METHOD AND APPARATUS FOR DEFINING AN APPLICATION TO ALLOW POLYMORPHIC SERIALIZATION

Oracle International Corp...

1. An apparatus comprising:
a receiving circuit for receiving a first page request from a first mobile device, wherein the first page request comprises
information that identifies a first serialization format or a second serialization format;

a memory comprising a plurality of page definitions, wherein each of the page definitions comprises metadata that identifies
data of a logical data model, and wherein each of the page definitions is configured to be merged with data to be displayed
by a mobile device;

a merging circuit for merging a first page definition of the plurality of page definitions with first data of the logical
data model to create a first merged page definition, wherein the first data is identified by first metadata of the first page
definition;

a selecting circuit for selecting a first circuit or a second circuit based on the information contained in the first page
request, wherein the first circuit is configured for serializing the first merged page definition into content in the first
serialization format, and wherein the second circuit is configured for serializing the first merged page definition into content
in the second serialization format, wherein the first and second serialization formats are distinct from each other.

US Pat. No. 9,280,988

TAPE HEAD SURFACE WITH NON-UNIFORM CROSS-WIDTH EDGE PROFILES

Oracle International Corp...

1. A magnetic head for performing at least one of reading operations and writing operations on a magnetic tape, comprising:
a first module including a body with an upper surface and a span of transducers on the upper surface that is configured to
face a magnetic tape traveling over the upper surface along a direction of travel, wherein the upper surface includes at least
a first edge portion having a first profile in a first region aligned with the span of transducers, wherein the upper surface
includes at least a second edge portion having a second profile in a second region that is offset from the first region along
a direction that is perpendicular to the direction of travel, wherein the first profile is sharper than the second profile,
and wherein the first profile of the first edge portion extends along at least an entirety of a length of the span of transducers
of the first module; and

a second module including a body with an upper surface and a span of transducers on the upper surface that is configured to
face the magnetic tape traveling over the upper surface along the direction of travel, wherein the upper surface includes
at least a first edge portion having a first profile in a first region aligned with the span of transducers, wherein the upper
surface includes at least a second edge portion having a second profile in a second region that is offset from the first region
along a direction that is perpendicular to the direction of travel, wherein the first profile is sharper than the second profile,
wherein the first profile of the first edge portion extends along at least an entirety of a length of the span of transducers
of the second module, and wherein the span of recording transducers of the first module is at least partially offset from
the span of transducers of the second module along the direction perpendicular to the direction of travel.

US Pat. No. 9,274,871

IN-LANE EXCEPTION HANDLING

ORACLE INTERNATIONAL CORP...

1. A method of implementing in-lane exception handling, the method comprising:
providing, by a data management system, a first user interface (UI) configured to display application data in organized rows
and columns, the application data comprising a version of a plan, the plan comprising a plurality of plan lines arranged according
to a plan hierarchy of a project life cycle;

receiving, by the data management system, updates and/or edits to the application data during a planning and management process;
refreshing, by the data management system, the first UI with the updated and/or edited application data;
analyzing, by the data management system during the planning and management process, the updates and/or edits to determine
one or more of associated errors, warnings, and exceptions;

providing, by the data management system within the refreshed first UI during the planning and management process and for
each of the errors, warnings, and exceptions, a graphical representation along with the application data causing each of the
errors, warnings, and exceptions in the row and/or column of the refreshed first UI in-lane with the application data where
the error, warning, or exception has occurred and without navigating away from the application data;

receiving, by the data management system, a selection of one of the graphical representations indicating rows and/or columns
including an error, warning, or exception;

in response to the selection, providing, by the data management system, a second UI including each row and/or column of the
first UI indicated by each graphical representation including the selected graphical representation and indicating both plan
level and line level exceptions within the version of the plan and further indicating the plan hierarchy, wherein upon displaying
of the second UI, a cursor is automatically placed over the error, warning, or exception associated with an indicated row
and/or column of the selected graphical representation;

providing, by the data management system in the second UI, expansion icons for each of the included rows;
receiving, by the data management system, a selection of at least one of the expansion icons; and
in response to receiving the selection of at least one of the expansion icons, providing, by the data management system within
the second UI, information about the error, warning, or exception for the row of the second UI containing the selected expansion
icon, wherein the information comprises one or more of the following: details of the error, warning, or exception, causes
of the error, warning, or exception, or actions to remedy the error, warning, or exception, wherein the information about
the error, warning, or exception comprises information necessary to fix/address the error, warning, or exception at the same
page as the error, warning of exception is displayed.

US Pat. No. 9,087,040

METHOD AND APPARATUS FOR PERFORMING HOST BASED DIAGNOSTICS USING A SERVICE PROCESSOR

Oracle International Corp...

1. A method for performing a set of diagnostics on a host system using a service processor, comprising:
recognizing a power-on event;
in response to the power-on event, checking a diagnostic flag, wherein the diagnostic flag indicates the set of diagnostics
to be performed;

retrieving, from internal storage of the service processor, a disk image comprising the set of diagnostics to be performed;
mounting, using a disk image reader, the disk image within the service processor to obtain a mounted disk image;
making the disk image accessible to the service processor as a file system by mounting the disk image using a loop driver;
making the mounted disk image accessible to the host system as a device using a virtual device driver;
mounting, using a connection between the service processor and the host system, the device within the host system;
performing, after the mounting of the device, the set of diagnostics on the host system to generate a set of results; and
writing, using the virtual device driver, the set of results to the mounted disk image.

US Pat. No. 9,489,407

SYSTEMS, METHODS, AND MACHINE-READABLE MEMORIES FOR PARTITIONING A DATABASE

ORACLE INTERNATIONAL CORP...

1. A method for partitioning a multi-tenant database between a plurality of tenants, the method comprising:
defining, by a computer system, a first level partition of data in a table within the database, the first level partition
defined by a column of the table associated with the first level partition, each row of the column associated with the first
level partition storing a first partition parameter value indicating whether data of the row of the table is assigned to the
first level partition;

defining, by the computer system, a second level partition of the data in the table within the database, the second level
partition defined by a column of the table associated with the second level partition, each row of the column associated with
the second level partition storing a second partition parameter value indicating whether data of the row of the table is assigned
to the second level partition;

receiving, by the computer system, a request from an entity associated with a tenant of the plurality of tenants to access
a first datum stored in the database:

determining, by the computer system, whether the tenant with which the entity is associated is assigned to the first level
partition, the second level partition, or both the first level partition and the second level partition, wherein the determining
comprises identifying that a first tenant is uniquely assigned to the first level partition and/or a second tenant is uniquely
assigned to the second level partition, wherein an assignment of the first level partition and an assignment of second level
partition are mutually exclusive; and

granting, by the computer system, access to the first datum to:
a first entity where the tenant corresponds to the first tenant and the first datum corresponds to the first level partition
parameter value for a row of the table in which the first datum is stored;

a second entity where the tenant corresponds to the second tenant and the first datum corresponds to the second level partition
parameter value for the row of the table in which the first datum is stored.

US Pat. No. 9,432,825

SYSTEMS AND METHODS FOR INTEGRATING A SERVICE ACCESS GATEWAY WITH BILLING AND REVENUE MANAGEMENT SYSTEMS

ORACLE INTERNATIONAL CORP...

1. A system for integrating a gateway in a telecommunication (telecom) network environment with charging and payment functionality,
said system comprising:
a gateway residing in said telecom network operating on one or more microprocessors, wherein the gateway intercepts communication
traffic transmitted between mobile devices connected to the telecom network and one or more client applications that reside
externally with respect to said telecom network;

a charging data record listener, executing on said gateway, wherein the charging data record listener listens for charging
data records generated within the gateway as the gateway processes the communication traffic, wherein each charging data record
contains one or more methods invoked, and one or more responses received for each request in the communication traffic, and
wherein the charging data record listener converts a charging data record into an offline charging request and issues the
offline charging request over a diameter protocol to a billing server that supports the diameter protocol, upon detecting
that the charging data record has been generated;

a payment service executing on the gateway, said payment service providing an interface for said client applications to invoke
a charging request, wherein the payment service translates said charging request and transmits the translated charging request
to the billing server; and

a credit control interceptor executing on said gateway, wherein the credit control interceptor is an object registered with
said gateway that filters requests in said communication traffic, wherein if a request matches parameters set in the credit
control interceptor, the credit control interceptor is invoked and initiates an online charging request and a credit control
request to the billing server.

US Pat. No. 9,269,060

METHODS AND SYSTEMS FOR GENERATING METADATA DESCRIBING DEPENDENCIES FOR COMPOSABLE ELEMENTS

ORACLE INTERNATIONAL CORP...

1. A method of generating, maintaining, combining, and storing metadata which describe dependencies for composable elements,
the method comprising:
maintaining a database describing information about a plurality of composable elements, wherein each of the plurality of composable
elements has associated metadata to describe dependencies for each of the plurality of composable elements, wherein the metadata
describes both tangible dependencies known to a developer of the composable element at compile time of that composable element
and intangible dependencies that are unknown to the developer of the composable element at compile time of that composable
element, and wherein each of the composable elements include one or more of: a combination, a reprogramming, or a repurposing
of software components and/or services;

receiving a request to compose, modify, update, re-program, or re-purpose two or more of the plurality of composable elements
into a new element;

determining common dependencies among the two or more composable elements;
determining redundant dependencies among the two or more composable elements;
combining the dependencies to include each of any redundant dependencies from the combined components as well as any dependencies
unique to each of the combined components or services, and any dependency that is common to more than one, then the more restrictive
component dependency is utilized within the new element, wherein each dependency includes an associated level of dependency
value and the higher the level of dependency value the more restrictive the dependency, and wherein the determination of the
utilization of the common dependency is determined based on each of the levels of dependency of the common dependencies;

determining new dependencies needed for the new element based on the combined dependencies, the new dependencies comprising
at least one intangible dependency; and

generating metadata for the new element to include each of the common dependencies and each of the new dependencies.

US Pat. No. 9,569,544

FRAMEWORK TO PERSIST AND RETRIEVE PREVIOUS SEARCHES BASED ON THE CONTEXT

ORACLE INTERNATIONAL CORP...

1. A method for persisting and retrieving search results, the method comprising:
receiving, at a time of receipt, a search request at a server application executing on a first computer system maintaining
a repository of information, the server application performing a plurality of different functions, the request including search
criteria and having been generated by a client application executing on a second computer system;

identifying a context of the server application corresponding to a particular function of the plurality of different functions
being performed for the client application at the server application at the time of receipt;

performing, by the first computer system, a search of the repository of information for one or more objects matching the search
criteria, wherein the search of the repository of information is invoked through the function of the server application which
the client application was accessing;

generating by the first computer system, a set of results from performing the search that includes an indication of each of
the one or more objects matching the search criteria and metadata identifying the context of the server application for the
results;

sending the set of results from the first computer system to the client application executing on the second computer system;
determining, subsequent to the sending the set of results, that the second computer system is reengaging in the context, the
determination including:

detecting that a new user interface page being or to be presented at the second computer system corresponds to the metadata;
and

in response to the determination, facilitating a presentation, at the second computer system and in association with the new
user interface page, that includes an indication of available search results.

US Pat. No. 9,246,893

INTRA-COMPUTER PROTECTED COMMUNICATIONS BETWEEN APPLICATIONS

Oracle International Corp...

1. A method for securely transferring a data object from a source application to a destination application on a computing
device, the method comprising:
providing a source application and a destination application on a computing device, the source and destination applications
each having original, post-compile object code;

modifying, using at least one processor operatively coupled with a memory, the original object code of the source application
to create first replacement object code for the source application;

modifying, using the at least one processor operatively coupled with the memory, the original object code of the destination
application to create second replacement object code for the destination application;

transferring, from the source application to the destination application, a data object that is encrypted with an object data
protection key;

requesting, from the first replacement code of the source application to a security manager application on the computing device,
a source application key that is associated with the source application;

decrypting the source application key using a data protection root key from the security manager application;
decrypting, by the first replacement code of the source application, the object data protection key with the decrypted source
application key;

encrypting, by the first replacement code of the source application, the object data protection key with a data-sharing key
or a destination application key, the destination application key associated with the destination application;

sharing with the destination application the object data protection key that is encrypted with the data-sharing key or destination
application key;

decrypting, in the second replacement code of the destination application, the object data protection key that is encrypted
with the data-sharing key or destination application key; and

decrypting, in the second replacement code of the destination application, the object data using the unencrypted object data
protection key.

US Pat. No. 9,280,342

VECTOR OPERATIONS FOR COMPRESSING SELECTED VECTOR ELEMENTS

Oracle International Corp...

1. A method comprising:
fetching instructions and data from a memory;
decoding the fetched instructions; and
processing decoded vector instructions used to compress vectors in the fetched data by:
performing a comparison of each of a plurality of elements of a source vector to given criteria to generate a result vector,
wherein the result vector comprises a separate result of the comparison for each of the plurality of elements;

performing a compressed select operation on the result vector to generate a permutation vector, wherein the permutation vector
identifies one or more elements of the plurality of elements meeting the given criteria and identifies a permuted position
for each of the one or more elements;

performing a first permutation operation using said permutation vector on the plurality of elements of the source vector to
generate an intermediate vector; and

selecting the one or more elements of the plurality of elements in the intermediate vector meeting the given criteria to store
in an output vector, wherein the output vector comprises only said one or more elements.

US Pat. No. 9,246,890

PGP ENCRYPTED DATA TRANSFER

Oracle International Corp...

1. A sending processing system for Pretty Good Protection (PGP) encrypting a data file to form a PGP-encrypted data file and
for on-the-fly delivering of the PGP-encrypted data file to a receiving processing system, where the sending and receiving
processing systems are coupled to a network, the sending processing system comprising:
one or more processors;
a transport sender initialized to open a socket channel between the sending and receiving processing systems and configured
to send data from the sending processing system to the receiving processing system;

a PGP encrypter configured to symmetrically encrypt data using a symmetric PGP session key;
a storage unit storing a file to be encrypted;
logic encoded in one or more non-transitory computer readable storage media for execution by the one or more processors and
with the one or more processors, when executing the logic, performing the acts of:

defining a hash variable holding a message digest/hash value;
initializing a pipe object with a source channel assigned to an input stream of the transport sender and a sink channel assigned
as an output stream of the PGP encrypter;

generating a PGP header packet including an asymmetrically encrypted PGP session key, with the PGP session key encrypted using
the public key of a PGP asymmetric public key/private key pair;

sending the PGP header packet to the sink channel of the pipe, where the PGP header packet is sent by the transport sender
to the receiving processing system;

computing an initial message digest/hash value equal to the hash value of the PGP header packet;
encrypting a first chunk of the data file with the PGP encrypter to form a first encrypted data file chunk;
sending the first encrypted data file chunk to the sink channel of the pipe, where the first encrypted data file chunk is
sent by the transport sender to the receiving processing system;

recomputing the message digest/hash value based on bytes of the first encrypted data file chunk and a previously generated
message digest/hash value;

if all data in the data file has not been encrypted, encrypting a next chunk of the data file with the PGP encrypter to form
a next encrypted data file chunk;

sending the next encrypted data file chunk to the sink channel of the pipe, where the next encrypted data file chunk is sent
by the transport sender to the receiving processing system;

recomputing the message digest/hash value based on bytes of the next encrypted data file chunk and a previously generated
message digest/hash value;

if all data in the data file has been encrypted, generating a PGP footer packet including a last recomputed message digest
hash value; and

sending the PGP footer packet to the sink channel of the pipe, where the PGP footer packet is sent by the transport sender
to the receiving processing system.

US Pat. No. 9,280,788

INFORMATION RETRIEVAL AND NAVIGATION USING A SEMANTIC LAYER

ORACLE INTERNATIONAL CORP...

1. A system for information storage and retrieval, the system comprising:
a memory to store a collection of data records, each data record including attributes having values;
a processor, coupled to the memory, configured to provide:
a data layer configured to directly access the collection of data records stored in the memory;
a semantic layer, configured to directly access the collection of data records stored in the memory, including a plurality
of virtual objects, each virtual object storing operations and virtual data generated by the operations, the virtual data
including attributes having values, the operations including query operations to be directly performed on the collection of
data records stored in the memory and data operations to be performed on the virtual data, the data operations including programming
language statements stored as values of one or more attributes; and

a query interface configured to:
access the collection of data records through the data layer,
access the collection of data records through the semantic layer,
access the plurality of virtual objects in the semantic layer, and
access at least one virtual object by an object name within a namespace defined by data objects stored in the collection of
data records.

US Pat. No. 9,298,878

SYSTEM AND METHOD FOR REAL-TIME TRANSACTIONAL DATA OBFUSCATION

ORACLE INTERNATIONAL CORP...

1. A system, implemented on a computer comprising one or more processors, for providing transactional data privacy while maintaining
data usability, comprising:
a capture process, executing on the one or more processors, that
monitors a first or source system, and
captures a transaction containing one or more changes to data while the transaction is being received and committed at the
first or source system; and

an obfuscation process that
receives a signal from the capture process when the capture process detects that the transaction is being committed,
wherein meta-data associated with the data contained in the transaction includes a data structure describing a distribution
of data values that is incrementally maintained,

obfuscates the transaction using an obfuscation technique to create an obfuscated transaction,
wherein the obfuscation technique includes a nearest neighbor data substitution process combined with anonymization whereby
a distance between the data and an origin point is calculated,
a nearest neighbor point in the data structure is determined, and
a geometric transformation is applied to the nearest neighbor point, generating an obfuscated value,
wherein at least some of the data contained in the transaction cannot be determined from the obfuscated transaction, and
sends the obfuscated transaction back to the capture process for use in generating a trail file or other information to be
sent to a target or second system, wherein the trail file or other information reflects the obfuscated transaction.

US Pat. No. 9,268,608

AUTOMATIC ADMINISTRATION OF UNIX COMMANDS

Oracle International Corp...

1. A method comprising:
receiving, by a computing device, input from a user, the input comprising information identifying a multipart command, identifying
an order of each part of a plurality of parts of the multipart command, identifying a delay that sets a minimum amount of
time to elapse between successive parts of the multipart command being issued, and identifying a maximum number of commands
to issue in parallel, the input further comprising additional information identifying N target systems, wherein the multipart
command is configured to be performed by an operating system; and

administering, by the computing device, the identified N target systems using the received input, including:
creating a queue relating to the N target systems, the queue comprising N entries, wherein each of the N entries identifies
one of the N target systems, the multipart command to be issued to at least one target system of the N target systems, and
a set of parameters to be provided with the multipart command, the set of parameters including platform-specific parameters
of each of the N target systems;

creating N threads, each of the N threads corresponding with one of the N entries in the queue, and each of the N threads
being configured to issue a respective one of N instances of the multipart command to a respective one of the N target systems;
and

issuing, using the N threads, each of the parts of the N instances of the multipart command to each of the maximum number
of N target systems in parallel, in the order identified by the information, and based on the minimum amount of time associated
with the delay, respectively, wherein N is an integer greater than one.

US Pat. No. 9,135,943

TAPE GUIDE WITH FLANGES

ORACLE INTERNATIONAL CORP...

1. A tape drive for use with a length of tape, the tape drive comprising:
a drive body;
a tape head;
a tape guide mounted on the drive body, the tape guide including a guide body having an outer surface for receiving the tape
thereon, and flanges on opposite ends of the guide body, the flanges being spaced apart by a distance in the range of 12,761.5
to 13,161.9 microns;

an additional tape guide mounted on the drive body such that the tape head is located between the tape guide and the additional
tape guide. the additional tape guide including a guide body having an outer surface for receiving the tape thereon, and flanges
on opposite ends of the guide body, the flanges of the additional tape guide being spaced apart by a distance in the range
of 12,761.5 to 13,161.9 microns; and

first and second outer tape guides mounted on the drive body such that the tape guide and the additional tape guide are positioned
between the outer tape guides, each of the outer tape guides including a guide body having an outer surface for receiving
the tape thereon, and flanges on opposite ends of the guide body, wherein, for each of the outer tape guides, the associated
flanges are spaced apart by a distance that is less than 12,711.9 microns.

US Pat. No. 9,298,564

IN PLACE POINT-IN-TIME RECOVERY OF PLUGGABLE DATABASES

Oracle International Corp...

1. A method comprising:
a database server maintaining a container database, wherein the container database comprises:
one or more pluggable databases,
a root database that stores an undo log for rolling back transactions on the one or more pluggable databases, and
a redo log for replaying modifications to the container database;
the database server restoring a particular pluggable database with a backup version of the particular pluggable database that
corresponds to a first point in time;

the database server generating a clone database loaded with a backup version of the root database that corresponds to the
first point in time, the clone database including a backup version of the undo log of the root database;

the database server applying one or more redo records of the redo log to recover the particular pluggable database and the
clone database, including the backup version of the undo log, to a second point in time that is later than the first point
in time;

the database server identifying, based on the backup version of the undo log in the clone database, one or more active transactions
on the particular pluggable database that have not committed by the second point in time;

the database server rolling back the one or more active transactions, wherein modifications to the particular pluggable database
performed during roll back of the one or more active transactions are recorded in the redo log;

wherein the method is performed by one or more computing devices.

US Pat. No. 9,280,476

HARDWARE STREAM PREFETCHER WITH DYNAMICALLY ADJUSTABLE STRIDE

Oracle International Corp...

1. An apparatus, comprising:
a first memory configured to store a table, wherein the table includes at least a first entry, wherein the first entry includes:
an expected address of a next memory access; and
an offset to adjust a value of the expected address for a subsequent memory access; and
a control circuit coupled to the first memory, wherein the control circuit is configured to:
read data at a predicted address in a second memory, wherein a value of the predicted address is dependent upon the value
of the expected address and a value of the offset; and

store the read data in a cache memory;
a first address comparator configured to compare a received address value of a received memory access to the value of the
expected address; and

a second address comparator configured to compare the received address value of the received memory access to a value dependent
upon the value of the expected address and the value of the offset;

wherein the control circuit is further configured to generate a new value of the offset dependent upon an output of the first
comparator and an output of the second comparator.

US Pat. No. 9,122,798

DEBUGGER WITH METHOD RESTART CAPABILITY

Oracle International Corp...

1. A computer implemented method, comprising:
implementing one or more user interfaces (UIs) enabling a user to submit a request, via a single UI interaction within a debugging
session of a program, to restart execution of an invocable operation included in source code of the program; and

in response to a particular request to restart execution of a particular invocable operation of the source code, received
via a single UI interaction according to a particular user interface of the one or more interfaces, wherein at least one instruction
of the particular invocable operation has been executed previously during the debugging session:

designating, as a next source code line to be executed for debugging purposes during the debugging session, the first line
of source code of the particular invocable operation that corresponds to an executable operation,

wherein said designating comprises sending one or more debugging requests to a virtual machine at which the program is being
executed,

wherein the one or more debugging requests comprise a first debugging request and a second debugging request, wherein the
first debugging request comprises a request to pop the execution stack of the program to a calling invocable operation from
which the particular invocable operation is called, and wherein the second debugging request comprises a request to step into
the particular invocable operation;

indicating, to a submitter of the particular request, that execution of the program being debugged is to be resumed at the
first line; and

resuming execution of the program being debugged, in a debug mode, at the designated first line, such that the next line executed
in the debugging session in response to the particular request is the designated first line of the particular invocable operation.

US Pat. No. 9,298,772

SMALL TABLE REPLICATION FOR PARALLELIZED JOIN OPERATIONS

ORACLE INTERNATIONAL CORP...

1. A computer implemented method for planning parallelization of a distributed join having a smaller left-side and a larger
right-side, the method comprising:
receiving a request for a join operation comprising a left-side table and a right-side table;
calculating relative sizes of the left-side table compared to the right-side table;
determining that the left-side table has a relatively smaller size as compared to the right-side table;
identifying overhead associated with the join operation, the overhead determined by:
identifying a frequency of moving data in the left-side table to a computational unit of a plurality of computation units;
identifying a size of the left-side table;
calculating the overhead from consideration of both the frequency of moving the data in the left-side table and the size of
the left-side table;

determining whether to broadcast or to replicate the left-side table to the plurality of computational units based in part
or in whole upon the overhead; and

compiling, prior to execution within the plurality of computational units, a plan to broadcast or to replicate an entirety
of the left-side table and to transmit a portion of the right-side table to the plurality of computational units based at
least in part upon a result of determining whether to broadcast or to replicate the left-side table.

US Pat. No. 9,281,268

METHOD FOR FABRICATING MULTI-CHIP MODULE WITH MULTI-LEVEL INTERPOSER

ORACLE INTERNATIONAL CORP...

1. A method for fabricating a multi-level interposer plate for use in an multi-chip module, comprising:
defining first micro-spring connectors on first surfaces of first substrates, wherein the first substrates have a first thickness;
defining second micro-spring connectors on second surfaces of second substrates, wherein the second substrates have a second
thickness, wherein the second thickness is greater than the first thickness;

attaching the first substrates and the second substrates to a mechanical alignment plate; and
mechanically coupling the first substrates and the second substrates to a base plate, thereby fabricating the multi-level
interposer plate.

US Pat. No. 9,280,388

METHOD AND APPARATUS FOR EFFICIENT SCHEDULING OF MULTITHREADED PROGRAMS

Oracle International Corp...

1. A non-transitory computer-readable medium comprising instructions, which when executed by a processor perform a method,
the method comprising:
obtaining lock overhead times for a plurality of threads;
generating a set of thread groups, wherein each of the plurality of threads is assigned to one of the plurality of thread
groups based on the lock overhead times;

allocating at least one core of a multi-core system to each of the plurality of thread groups; and
assigning a time-quantum for each of the plurality of thread groups,
wherein the time-quantum for each of the plurality of thread groups corresponds to an amount of time that threads in each
of the plurality of thread groups can execute on the at least one allocated core, and

wherein assigning the time-quantum for each of the plurality of thread groups comprises using a time-quantum table specifying
a time-quantum for each processor utilization range.

US Pat. No. 9,286,337

SYSTEM AND METHOD FOR SUPPORTING HETEROGENEOUS SOLUTIONS AND MANAGEMENT WITH AN ENTERPRISE CRAWL AND SEARCH FRAMEWORK

ORACLE INTERNATIONAL CORP...

5. A method for search framework management, comprising:
displaying, via a computing environment, an administration interface for use in administrating an enterprise crawl and search
framework (ECSF) which abstracts an underlying enterprise search engine, and serves as an integration layer between a plurality
of instances of the underlying enterprise search engine and a plurality of enterprise applications, each enterprise application
associated with a set of searchable objects;

configuring and administering, via the administration interface, a runtime server associated with the ECSF framework;
synchronizing the runtime server of the ECSF framework with the plurality of instances of the underlying enterprise search
engine;

managing a lifecycle of the set of searchable objects associated with a particular enterprise application, including binding
the set of searchable objects to one or more search categories associated with a particular search engine instance; and

importing one or more external search categories registered with a different search engine instance, to make the imported
external search categories for direct search.

US Pat. No. 9,633,150

EXPERIMENTS APPROACH TO DESIGN VARIATION MITIGATION AND OPTIMIZATION

Oracle International Corp...

1. A system for design variation mitigation and optimization, comprising:
a simulation device, comprising instructions which, when executed by a processor, cause the processor to:
simulate a design metric for a plurality of local variations and a plurality of global variation conditions related to one
selected from a group consisting of an electrical design, a chemical design, and a mechanical design;

evaluate a global condition at which the design metric opposes a design objective and a local variation of the design metric
meets a first predetermined condition;

simulate the design metric for a plurality of local conditions using the evaluated global condition;
evaluate a subset of the plurality of local conditions at which a variation of the design metric meets a second predetermined
condition;

simulate the design metric for a plurality of parameterized design dimensions in an inner loop and an outer loop of one selected
from a group consisting of nested design-of-experiments (DoE) simulations and nested Monte Carlo simulations, wherein in the
outer loop, one of the plurality of parameterized design dimensions is maintained at a time, while the inner loop performs
a variation analysis; and

output the design metric and design metric variation from the inner loop and outer loop;
an optimizer device comprising a first processor, a second processor, a memory, and an optimizer module configured to:
store the design metric and design metric variation from the inner loop and outer loop;
model the design metric and design metric variation using a response surface; and
optimize the design metric or the design metric variation for the subset of a plurality of local conditions using the response
surface to generate an optimized design.

US Pat. No. 9,654,299

EXECUTION FRAMEWORK FOR POLICY MANAGEMENT

ORACLE INTERNATIONAL CORP...

1. A system for policy management in a telecommunication network operating, the system operating on one or more microprocessors
and comprising:
a plurality of interfaces, each operable to receive subscriber information pertaining to a subscriber;
a mapping processor for abstracting a plurality of facts from the subscriber information;
a plurality of policies for generating policy and charging control decisions for subscribers, wherein each of the plurality
of policies includes one or more rules dependent upon said plurality of facts, wherein said plurality of facts include, subscriber
profile, network triggers, network state, service accessed, and concurrent services accessed;

a subscriber profile repository which includes a subscriber profile which identifies one or more of said policies applicable
to said subscriber;

a rules engine which generates policy and charging control decisions for said subscriber based on said one or more policies
applicable to said subscriber by evaluating a plurality of rules or customized rules included in said one or more of said
plurality of policies in view of said plurality of facts; and

a policy designer configured to enable dynamic customization of said plurality of policies by an operator of said telecommunication
network to include customized rules dependent upon each of said plurality of facts.

US Pat. No. 9,826,655

METHOD AND APPARATUS FOR MOUNTING A CIRCUIT BOARD IN AN ENCLOSURE

ORACLE INTERNATIONAL CORP...

1. A computing apparatus adapted for efficient installation of a circuit board such as a midplane board, comprising:
a chassis comprising a first sidewall and a second sidewall opposite the first sidewall;
a bulkhead extending orthogonally between the first and second sidewalls of the chassis;
a clamp member with a planar body oriented parallel to the bulkhead, wherein the clamp member is pivotally coupled at a first
end to the first sidewall and is coupled at a second end opposite the first end to the bulkhead;

a circuit board sandwiched between the bulkhead and the body of the clamp member with a first side facing the bulkhead and
a second side facing the body of the clamp member; and

a compression spring assembly on a surface of the planar body of the clamp member that faces the second side of the circuit
board,

wherein the compression spring assembly applies at least one preload force to the second side of the circuit board urging
the circuit board toward the bulkhead,

wherein the compression spring assembly comprises a plurality of spaced-apart bumper elements mounted on the planar body of
the clamp member each having a pad formed of an elastomer on the surface of the planar body of the clamp member;

wherein the planar body is pivotally coupled to the first sidewall via at least one hook on the first end of the body of the
clamp member and at least one hook receptacle on an inward facing surface of the first sidewall of the chassis;

wherein the second end of the planar body of the clamp member is coupled to the bulkhead via a threaded member extending from
and affixed to the bulkhead and a fastener threaded onto the threaded member and abutting the planar body of the clamp member;
and

wherein the fastener is torqued to a predefined torque or until a lip on the second end of the planar body contacts a stop
provided on the second sidewall of the chassis.

US Pat. No. 9,397,954

SYSTEM AND METHOD FOR SUPPORTING LIVE MIGRATION OF VIRTUAL MACHINES IN AN INFINIBAND NETWORK

ORACLE INTERNATIONAL CORP...

1. A system for supporting virtual machine live migration in a network, comprising:
one or more microprocessors;
a plurality of hosts, running on the one or more microprocessors, wherein the plurality of hosts are interconnected via the
network;

one or more virtual machines, wherein at least one virtual machine in the one or more virtual machines operates to perform
a migration of the at least one virtual machine from a first host to a second host,

wherein said at least one virtual machine is attached with a virtual function that is associated with a queue pair (QP), wherein
the QP is supported by a host channel adapter (HCA) at the first host, and wherein one or more attributes of the queue pair
(QP) associated with the HCA at the first host are registered in a table; and

wherein during the migration of the at least one virtual machine from the first host to the second host
the virtual function is detached from the virtual machine at the first host;
a queue pair (QP) is newly created for use by the second host, using the one or more attributes registered in the table, and
is associated with a HCA at the second host:

the virtual machine is migrated to the second host; and
a new virtual function is attached to the migrated virtual machine and the newly created QP at the second host.

US Pat. No. 9,307,031

GENERIC MODEL FOR CUSTOMIZING PROTOCOL BEHAVIOR THROUGH JAVASCRIPT

ORACLE INTERNATIONAL CORP...

1. A system for enabling real-time communication between an HTML5 application and a server-side real-time communication signaling
controller, the system comprising:
a computer including one or more microprocessors;
a client-side controller operating on the computer, wherein the client-side controller provides a JavaScript application programming
interface (API) to interface with the HTML5 application and to facilitate communication between the HTML5 application and
the server-side real-time communication signaling controller;

wherein the JavaScript API includes a plurality of libraries for use by the HTML5 application in adding functionalities thereto;
wherein the functionalities are used by the HTML5 application to communicate with the server-side real-time communication
signaling controller, and are added using one or more elements selected from the group consisting of

an extension header of a message transmitted between the HTML5 application and the server-side real-time communication signaling
controller,

a new JavaScript package created by extending an existing package in the JavaScript API, and
a new object created by extending an existing JavaScript object in the JavaScript API.

US Pat. No. 9,280,290

METHOD FOR STEERING DMA WRITE REQUESTS TO CACHE MEMORY

Oracle International Corp...

1. An apparatus, comprising:
a bridge unit configured to:
receive a transaction packet on a communications bus, wherein the transaction packet includes a header and a data payload;
and

determine if the header of the received transaction packet identifies a preferred destination in a cache memory of a processor,
responsive to a determination the header indicates a Direct Memory Access (DMA) write instruction to the cache memory; and

a processor interface unit coupled to the bridge unit, wherein the processor interface is configured to:
format the data payload of the received transaction packet for storage in the cache memory responsive to the determination
the header indicates the DMA write instruction to the cache memory;

select the preferred destination in the cache memory as a target destination for the DMA write instruction responsive to receiving
a notification from the processor that the preferred destination in the cache memory can accept more data; and

send the formatted data payload to the processor with instructions to store the formatted data payload in the target destination.

US Pat. No. 9,286,862

SYSTEM AND METHOD FOR DETECTING A SCROLLING EVENT DURING A CLIENT DISPLAY UPDATE

Oracle International Corp...

1. An apparatus for detecting a scrolling event and for updating a display, the apparatus comprising:
a first computer for communicating with a second computer over a network, the first computer being configured to:
store a destination array including a plurality of pixels corresponding to a present set of data on a display of the second
computer, the destination array including a plurality of rows and a pixel location for each pixel;

store a source array including a plurality of pixels corresponding to an expected set of data to be provided on the display
of the second computer after a scrolling event is performed at the second computer, the source array including a plurality
of rows and a pixel location for each pixel;

determine hash values of pixel pairs for the plurality of pixels at each pixel location of the destination array;
determine hash values of pixel pairs for the plurality of pixels at each pixel location of the source array;
determine a final scroll offset between the pixels in the destination array and the pixels in the source array based on the
hash values of the pixel pairs for the destination array and on the hash values of the pixel pairs for the source array;

transmit pixels indicative of the expected set of data to the second computer based on the final scroll offset such that the
second computer provides the expected set of data on the display thereof when the scrolling event is performed;

group the pixel locations with equal hash values of the destination array into buckets;
generate a count for each bucket prior to determining the final scroll offset;
determine whether the count for each bucket is equal to or greater than a first predetermined value and is equal to or less
than a second predetermined value; and

compare, for each count that is equal to or greater than the first predetermined value and that is equal to or less than the
second predetermined value, rows of the source array to rows of the destination array to determine if one or more of the rows
of the source array are equal to one or more of the rows of the destination array,

wherein the second predetermined value corresponds to a resolution in terms of determining the pixel offset during the scrolling
event.

US Pat. No. 9,285,865

DYNAMIC LINK SCALING BASED ON BANDWIDTH UTILIZATION

Oracle International Corp...

1. A computing system comprising:
control logic;
a plurality of nodes including at least a first node and a second node, wherein each of said nodes includes a processor and
a cache; and

a set of links coupling the first node to the second node, the set of links including at least a first link and a second link;
wherein in response to a cache miss by a processor within a given node of the plurality of nodes, the given node is configured
to convey a request for data corresponding to the cache miss to another node of the plurality of nodes via the set of links;

wherein each of a first node and a second node of the plurality of nodes is configured to:
detect a level of utilization for each of the first link and the second link;
send an indication of low utilization for the first link in the set of links to the control logic, in response to determining
the first link is underutilized; and

send an indication of high utilization for the first link in the set of links to the control logic, in response to determining
the first link is overutilized;

wherein the control logic is configured to:
send a notification to each of the first node and the second node for turning off the second link, in response to determining
both the first link and the second link are currently enabled for communicating between the first node and the second node,
and the first link is underutilized; and

send a notification for enabling the second link, in response to determining the first link is overutilized and the second
link is currently disabled, thereby enabling both the first link and the second link for concurrent communication between
the first node and the second node.

US Pat. No. 9,189,281

APPARATUS, SYSTEM AND METHOD FOR PROVIDING FAIRNESS IN TASK SERVICING

Oracle International Corp...

1. A task processing system comprising:
a host system including a plurality of initiator devices, wherein each of the plurality of the initiator devices includes
at least one processor to generate a plurality of tasks; and

a storage array including at least one target port and at least one logical unit, a target system including at least one second
processor to receive the plurality of tasks, the at least second processor operable to sort the plurality of tasks into a
number of task lists, each task list of the number of task lists associated with a specific Initiator, Target, Logical Unit
(ITL) nexus, the target system further operable to process a task from the plurality of tasks sorted into the number of task
lists from each of the plurality of task lists prior to processing another task from the plurality of tasks sorted into the
number of task lists from any of the plurality of task lists, wherein the tasks being processed may arrive at the target device
nonsequentially,

the target system to process the tasks from each of the plurality of task lists by dispatching one or more task workers from
a plurality of available task workers, and

wherein the task workers are dispatched using a dispatch threshold, with each additional task worker being dispatched every
time the dispatch threshold is crossed, the dispatch threshold determined from a time attribute and a latency attribute, the
time attribute relating to a task run time and the latency attribute relating to a worker dispatch latency.

US Pat. No. 9,083,691

FINE-GRAINED USER AUTHENTICATION AND ACTIVITY TRACKING

Oracle International Corp...

1. A method of controlling access to a protected resource, the method comprising:
at an access manager server having a hardware processor and a memory storing global session settings applicable to all resources
and sessions in a first domain:

receiving, a time value for server-side sessions maintained by the processor using a session lifecycle, the session lifecycle
comprising creation, updates, idleness, and expiration, the server-side sessions configured with access to the protected resource
when the protected resource is within a second domain, the time value comprising a period of time specific to the protected
resource following a last successful authentication using a credential before the credential needs to be re-authenticated,
the period of time specific to the protected resource overriding a subset of the global session settings in the memory on
a per-resource or per-application basis;

monitoring a user's server-side session maintained by the processor in the memory in which a user is authenticated to access
the protected resource, the monitoring comprising determining, by the processor, a period of time since the last successful
authentication of the user based on information stored in the user's server-side session;

transitioning the user's server-side session from a first state in the session lifecycle to a second state in the session
lifecycle based upon determining that the period of time since the last successful authentication of the user exceeds or equals
the time value for the server-side sessions configured with access to the protected resource when the protected resource is
within a second domain, the second state comprising an idle state or an expired state;
generating, by the computer systems, information in the user's server side session in the memory denying the user access to
the protected resource based on the second state until the user is re-authenticated.

US Pat. No. 9,280,554

USING CONFIDENCE VALUES FOR SYNCHRONIZING FILE SYSTEMS

ORACLE INTERNATIONAL CORP...

1. A computer implemented method for analyzing an installation to determine a file system promotion path during an online
patching cycle, the method comprising:
identifying an initial run edition file system and a shadow file system, the shadow file system being at least some duration
older than the initial run edition file system;

analyzing a history of changes that are applied to an installation of the initial run edition file system during the at least
some duration to determine whether the changes cause instability for the initial run edition file system when an upcoming
upgrade is applied to the initial run edition file system;

storing, at a first location of a non-transitory computer readable storage medium, a result of determining whether the changes
cause instability as a confidence value;

determining whether to select the shadow file system or the initial run edition file system to be upgraded based in part or
in whole upon the confidence value;

selecting the shadow file system to be upgraded with the upcoming upgrade when the confidence value is below a threshold;
and

selecting the initial run edition file system to be upgraded with the upcoming upgrade when the confidence value is equal
or above the threshold.

US Pat. No. 9,275,122

BUSINESS INTELLIGENCE DASHBOARD GENERATOR

ORACLE INTERNATIONAL CORP...

1. A non-transitory computer-readable medium having instructions stored thereon that, when executed by a processor, cause
the processor to generate a business intelligence dashboard, the generating comprising:
receive from a source environment a first interactive dashboard, wherein the first interactive dashboard comprises a first
layout and first logical calculations that generate first data to be displayed in the first layout, wherein the source environment
is a first business intelligence system repository;

identify a list of required source objects used in the first interactive dashboard that are required in a target environment,
wherein the required source objects comprise one or more of the first logical calculations for displaying data on the first
interactive dashboard;

provide a declarative mapping screen showing the list of required source objects including root arguments of logical formulas,
and a list of available objects in the target environment to map the source objects against, wherein the target environment
is a second business intelligence system repository that is different than the first business intelligence system repository,
wherein the declarative mapping screen identifies one or more database columns that are required for duplicating the first
interactive dashboard on the target environment, wherein associated logical formulas that are associated with the identified
required database columns are reproduced in the target environment;

receive mapping information selections from a user, wherein each of the list of required source objects is mapped to an available
object of the list of available objects in the target environment;

receive alterations to the logical formulas; and
generate the second interactive dashboard for use in the target environment based on the mapping information selections and
the first interactive dashboard, wherein the second interactive dashboard comprises a second layout that is a duplicate of
the first layout, and second logical calculations that are different than the first logical calculations and that are created
based on the alterations to the logical formulas and that generate second data to be displayed in the second layout.

US Pat. No. 9,235,649

DOMAIN BASED WORKFLOWS

ORACLE INTERNATIONAL CORP...

1. A computer-implemented method for selecting a workflow of a plurality of workflows to perform a task, the method comprising:
associating by an identity server each workflow of the plurality of workflows with a different corresponding portion of a
hierarchical directory structure, each portion of the directory structure storing identity profile object information associated
with a plurality of different entities,

wherein the plurality of difference entities comprise at least one organization, at least one group within the organization,
and at least one user within the group,

wherein the plurality of workflows comprises workflows that are different from each other, and
wherein each workflow in the plurality of workflows is capable of performing the task;
receiving by the identity server a request to perform the task wherein the task affects a first identity profile object associated
with one of the entities and storing identity information for the associated entity;

determining by the identity server a portion of the directory structure storing identity profile object information for the
entity associated with the first identity profile object;

determining by the identity server a workflow associated with the determined portion of the directory structure and capable
of performing the task;

performing, by the identity server as part of said workflow, a first task to affect the first identity profile, said identity
profile comprising information for determining a set of access rights; and

starting by the identity server a subflow of said workflow, wherein the starting of the subflow includes providing a callback
command that can be used to restart said workflow;

performing, as part of said subflow, a second task pertaining to said identity profile;
accessing an indication of whether said workflow should wait for said subflow to complete said second task, wherein said indication
is a result code indicating that said workflow should pause, wherein the pause include waiting to invoke said workflow until
said callback command is invoked; and

waiting for said subflow to complete said second task if said indication indicates to wait for said subflow to complete said
second task.

US Pat. No. 9,270,650

SYSTEM AND METHOD FOR PROVIDING SECURE SUBNET MANAGEMENT AGENT (SMA) IN AN INFINIBAND (IB) NETWORK

ORACLE INTERNATIONAL CORP...

1. A system for providing a secure subnet management agent (SMA) in an InfiniBand (IB) fabric having a fabric administrator,
the system comprising:
a host channel adapter (HCA) installed in a host system, the HCA comprising an embedded firmware;
a secure subnet management agent (SMA) implemented in the embedded firmware of the HCA;
wherein the SMA is associated with a management key, and wherein a host administrator and software with root access to the
host system are prevented from observing the management key unless endorsed by the fabric administrator;

wherein the HCA comprises a protection scheme which utilizes a HCA password to prevent the host administrator of the host
system and software with root access to the host system from changing the embedded firmware of the HCA and modifying one or
more states associated with the SMA without presenting the HCA password;

an upgrade control executable which comprises an encrypted version of the HCA password bundled with a HCA firmware update;
wherein the upgrade control executable is configured to enable the host administrator of the host to upgrade the embedded
firmware of the HCA using the HCA firmware update and the encrypted version of the HCA password; and

wherein the system further comprises a password mechanism, which enables the fabric administrator to upgrade the embedded
firmware of the HCA without having root access to the host system.

US Pat. No. 10,089,317

SYSTEM AND METHOD FOR SUPPORTING ELASTIC DATA METADATA COMPRESSION IN A DISTRIBUTED DATA GRID

ORACLE INTERNATIONAL CORP...

1. A distributed data grid comprising:a plurality of computer servers each comprising a microprocessor, random access memory (RAM) and a flash memory device;
a plurality of cluster nodes operating on the plurality of computer servers;
wherein each of the plurality of cluster nodes provides access to cached data on said each of the plurality of cluster nodes via a cache service operating on said each of the plurality of cluster nodes;
wherein each of the plurality of cluster nodes comprises,
a radix-tree data structure in a heap in said RAM, the radix-tree data structure comprising a plurality of keys,
a RAM journal stored in said RAM;
a flash journal stored in said flash memory device;
a plurality of journal entries comprising said cached data stored in said flash journal and said RAM journal;
wherein each of the plurality of keys is associated with one of said plurality of journal entries stored in said flash journal and said RAM journal, and
wherein each of the plurality of cluster nodes is configured to access said cached data on said each of the plurality of cluster nodes by using said plurality of keys of said radix-tree data structure to access said plurality of journal entries stored in said flash journal and said RAM journal.

US Pat. No. 10,051,758

CHASSIS WITH LOW-COST, TOOL-LESS FASTENING MECHANISMS FOR RACK MOUNT SYSTEMS

ORACLE INTERNATIONAL CORP...

1. An apparatus for mounting in a rack used to store computer, telecommunications, electronic, and other equipment, comprising:a chassis comprising a first sidewall and a second sidewall;
a first rack-mounting ear coupled with the first sidewall; and
a second rack-mounting ear coupled with the second sidewall,
wherein the first and second rack-mounting ears each includes a body with a pair of spaced apart fastener holes for mounting the chassis to the rack,
wherein the body is fabricated as a unitary piece,
wherein the first and second rack-mounting ears are coupled to the first and second sidewalls, respectively, in a tool-less manner without use of separate fasteners,
wherein the body includes an upper locking element comprising at least one wing portion and at least one recessed portion, the wing portion including a center member extending outward from a surface of the body and a pair of extension members extending outward from opposite sides of the center member,
wherein each of the extension members is spaced apart from the surface of the body by a gap, and
wherein the wing portion has a width that is greater than a width of the recessed portion.

US Pat. No. 9,472,233

SYSTEM AND METHOD FOR WRITE PROTECTING PORTIONS OF MAGNETIC TAPE STORAGE MEDIA

Oracle International Corp...

1. A method for writing data on a magnetic tape having a plurality of partitions and accessed by a tape drive having an associated
tape drive processor in communication with a host computer having an associated host processor, the method comprising:
storing a read-only partition identifier associated with each of the plurality of partitions;
comparing a requested write partition identifier with the stored read-only partition identifiers; and
writing data to the requested write partition only if the associated read-only identifier indicates that the requested write
partition is not a read-only partition.

US Pat. No. 9,063,916

COMPACT ENCODING OF NODE LOCATIONS

Oracle International Corp...

1. A computer-implemented method of encoding location of a node in a hierarchy, comprising:
generating, by a computer system configured with executable instructions, an encoding for each node on a path from a root
node on the path to a destination node on the path based at least in part on an encoding scheme that does not utilize a name
of each node on the path to encode each node, the encoding scheme based at least in part on a type of each node and a position
of each node, but not the name of each node, the position of each node on the path identifying an order for each node among
other nodes of a same hierarchical level, the generated encoding for each node including a single American Standard Code for
Information Interchange (ASCII) character to represent each node on the path; and

generating an encoded location path for the destination node at least by combining the single ASCII character of each node
on the path from the root node to the destination node to form a set of ASCII characters as the encoded location path, the
set of ASCII characters comprising the single ASCII character of each node on the path.

US Pat. No. 9,471,631

CREATING AND USING DATA THAT INDICATES MISESTIMATES OF ACTUAL COSTS

Oracle International Corp...

1. A method comprising:
determining a cost estimate for performing a first operation indicated in a first execution plan that is generated for a first
query and that includes a plurality of operations;

while executing the first execution plan, determining an actual cost of performing the first operation;
determining a difference between the actual cost and the cost estimate;
based on the difference, determining that the cost estimate is a misestimate;
in response to determining that the cost estimate is a misestimate, storing object identification data that identifies one
or more database objects that are associated with the first operation;

after storing the object identification data, identifying, within a second execution plan that is generated for a second query
that is different than the first query, a second operation that is associated with the one or more database objects;

in response to identifying the second operation that is associated with the one or more database objects, analyzing the object
identification data to determine that the one or more database objects are associated with a previous operation;

determining, based on the object identification data, whether to ignore statistics that are available for the one or more
database objects;

wherein determining whether to ignore the statistics comprises determining a number of times a misestimate has been determined
for the one or more database objects; and

determining to ignore the statistics if the number of times a misestimate has been determined for the one or more database
objects is greater than a particular threshold number;

wherein the method is performed by one or more computing devices.

US Pat. No. 9,473,581

INTEGRATED WEB-ENABLED SESSION BORDER CONTROLLER

ORACLE INTERNATIONAL CORP...

1. A system for integrating a telecommunications network with HTML5 environments, comprising:
a network element, provided as part of a telecommunications network, that includes an application programming interface (API);
an HTML5 application that sends a communication request to the network element, for a call to a remote client;
wherein the network element operates to
provide real-time communication signaling between the HTML5 application and the remote client,
modify the communication request using the API to force one or more media streams of the call to pass through the network
element, and

exercise control over the one or more media streams.

US Pat. No. 9,355,689

DETECTION OF MULTIPLE ACCESSES TO A ROW ADDRESS OF A DYNAMIC MEMORY WITHIN A REFRESH PERIOD

Oracle International Corp...

15. A system, comprising:
a processor;
one or more dynamic random access memories (DRAMs), wherein each one of the one or more DRAMs is coupled to the processor;
and

a row address cache circuit coupled to the processor, wherein the row address cache circuit is configured to:
receive a row address used to access at least one of the one or more DRAMs;
store the received row address responsive to a determination that the received row address has not been previously received;
determine a number of times the row address has been received responsive to a determination that the received row address
has been previously received;

determine how long the row address has been stored responsive to the determination that the row address has been previously
received; and

initiate a refresh of the at least one of the one or more DRAMs dependent upon the determined number of times the row address
has been received and dependent upon how long the row address has been stored.

US Pat. No. 9,316,784

SINGLE- LAYER FULL-MESH, POINT-TO-POINT NETWORK

ORACLE INTERNATIONAL CORP...

1. A multi-chip module (MCM), comprising:
N chips; and
a single optical routing layer that provides point-to-point connectivity among the N chips, wherein the optical routing layer
comprises:

N input optical waveguides optically coupled to the N chips;
N output optical waveguides optically coupled to the N chips; and
a cyclic de-multiplexer, optically coupled to the N input optical waveguides, that receives optical signals from the N input
optical waveguides without optical waveguide crossing in the optical routing layer, wherein the cyclic de-multiplexer is further
optically coupled to the N output optical waveguides, that de-multiplexes the received optical signals into the N output optical
waveguides without optical waveguide crossing in the optical routing layer.

US Pat. No. 9,472,498

MULTIPLE ACCESS OVER PROXIMITY COMMUNICATION

ORACLE INTERNATIONAL CORP...

1. An inter-substrate communication system, comprising:
a plurality of substrates arranged in a stack;
on at least a first one of the substrates, a plurality of inductive transmitting elements, wherein each of the transmitting
elements transmits a signal in a corresponding separate channel from a set of channels during a different assigned time slot
in a set of time slots, wherein each transmitting element is active in its assigned time slot and is inactive during other
slots, and wherein each of the transmitting elements includes a transmitting coil or partial coil; and

on at least a second of the substrates, an inductive receiving element inductively coupled to the inductive transmitting elements,
wherein the inductive receiving element includes a receiving coil in physical opposition to all of the transmitting coils
or partial coils, wherein an area of the receiving coil is larger than an area encompassing all of the transmitting coils
or partial coils to facilitate signal coupling, and wherein the inductive receiving element is coupled to a de-multiplexer
on the second substrate.

US Pat. No. 9,471,798

AUTHORIZATION POLICY OBJECTS SHARABLE ACROSS APPLICATIONS, PERSISTENCE MODEL, AND APPLICATION-LEVEL DECISION-COMBINING ALGORITHM

Oracle International Corp...

1. A computer-implemented method comprising:
identifying, by a computer system of an access management system, a global policy that is stored within a global policy container
and that is shared by multiple applications, wherein the identified global policy includes a global rule for determining access
to a resource by a plurality of applications;

identifying, by the computer system, a first application-specific container from application-specific policy containers, the
first application-specific container identified based on an association with a first application, wherein each of the application-specific
policy containers stores an application-specific policy that includes an application-specification rule for determining access
to a resource by an application associated with the application-specific policy container;

determining, by the computer system, by applying the global rule of the global policy and a first application-specific rule
of the identified first application-specific container, whether the first application is permitted to access a requested resource;

identifying, by the computer system, a second application-specific container from the application-specific policy containers,
the second application-specific container identified based on an association with a second application; and

determining, by the computer system, by applying the global rule of the global policy and a second application-specific rule
of a second application-specific policy in the identified second application-specific container, whether the second application
is permitted to access the requested resource.

US Pat. No. 9,202,239

BILLING USAGE IN A VIRTUAL COMPUTING INFRASTRUCTURE

Oracle International Corp...

1. A method of billing usage of a cloud computing environment, the method comprising:
executing, on a cluster of computer systems in the cloud computing environment, a distributed control plane, wherein the cluster
of computer systems comprises a plurality of virtual machine nodes, wherein the distributed control plane comprises an infrastructure
controller and a metering and billing module, wherein the distributed control plane is replicated on each of the plurality
of virtual machine nodes in the cluster of computer systems, and wherein one of the plurality of virtual machine nodes comprises
a master node;

metering, by the metering and billing module of the master node on the cluster of computer systems, usage of one or more cloud
resources within the cloud computing environment by one or more users based on one or more rules, wherein the one or more
cloud resources are hosted on the cluster of computer systems in the cloud computing environment or on one or more remote
cloud sites accessible to the cluster of computer systems, wherein the one or more users is associated with at least one entity,
and wherein each of the one or more rules comprises one or more predicate defined when a rule is applied and one or more associated
actions taken when the rule is applied;

converting, by the metering and billing module of the master node on the cluster of computer systems, the metered usage of
the one or more cloud resources to a revenue-generating value, wherein converting the metered usage of the one or more cloud
resources to the revenue-generating value comprises applying the one or more rules to usage files for the one or more users;
and

billing, by the metering and billing module of the master node on the cluster of computer systems, the revenue-generating
value to the at least one entity associated with the one or more users, wherein billing the revenue-generating value to the
at least one entity associated with the one or more users comprises generating one or more settlement files.

US Pat. No. 9,471,767

CAPTCHA TECHNIQUES UTILIZING TRACEABLE IMAGES

Oracle International Corp...

1. A method comprising:
creating, by a first computing device, a traceable image by combining a plurality of image elements that each include trace
data, wherein the traceable image is associated with a set of coordinates;

sending, by the first computing device, data representing the traceable image to be displayed by a second computing device
via a touch-enabled display;

receiving, at the first computing device, a trace input data corresponding to a trace of the displayed traceable image made
at the second computing device;

determining, by the first computing device based upon the trace input data, whether the trace of the displayed traceable image
is within an error tolerance range of the set of coordinates associated with the traceable image; and

sending, by the first computing device, a result of the determination.

US Pat. No. 9,208,261

POWER REDUCTION FOR FULLY ASSOCIATED TRANSLATION LOOKASIDE BUFFER (TLB) AND CONTENT ADDRESSABLE MEMORY (CAM)

Oracle International Corp...

1. A translation lookaside buffer (TLB) comprising:
a content addressable memory (CAM) having a plurality of entries each storing a virtual address corresponding to one of a
plurality of address translations;

enable logic configured to, responsive to a TLB query, enable searching of selected ones of the CAM entries that correspond
to a thread that initiated the TLB query, wherein the thread that initiated the TLB query is one of a plurality of threads
executing on a processor, and wherein the enable logic is further configured to inhibit searching of CAM entries that are
not associated with the thread that initiated the TLB query;

a mask vector storage unit configured to store a plurality of mask vectors, wherein each of the plurality of mask vectors
uniquely corresponds to one of the plurality of threads executing on the processor, wherein each mask vector includes a plurality
of bits each uniquely corresponding to one of the plurality of CAM entries, wherein each bit, when set, indicates that the
thread corresponding to that mask vector is associated with the CAM entry corresponding to that bit.

US Pat. No. 9,473,356

AUTOMATIC CONFIGURATION OF APPLICATIONS BASED ON HOST METADATA USING APPLICATION-SPECIFIC TEMPLATES

Oracle International Corp...

1. A method of automatically configuring applications based on a deployment environment, comprising:
receiving a request to start an application in a domain, in response to the request to start the application, instantiating
a managed server and determining an identifier of the managed server, wherein the identifier is a name of the managed server;

identifying a template from a plurality of templates in the domain, based on the identifier of the managed server, wherein
the template defines how configuration data is referenced in one or more property files associated with the managed server;

determining metadata for the domain, wherein the metadata includes a plurality of domain-specific parameters;
automatically substituting the configuration data in the one or more property files with the metadata based on the template
to create one or more configured property files; and

starting the managed server using the one or more configured property files.

US Pat. No. 9,335,786

ADAPTER FACILITATING BLIND-MATE ELECTRICAL CONNECTION OF FIELD REPLACEABLE UNITS WITH VIRTUAL BACKPLANE OF COMPUTING RACK

Oracle International Corp...

1. A system for automatically interconnecting a field replaceable unit (FRU) with an out of band (OOB) management network
of a computing rack, the computing rack including a plurality of receiving bays for receiving a plurality of FRUs, the system
comprising:
a rail member configured to slide relative to a complimentary rail member adjacent one of the plurality of receiving bays
of the computing rack, wherein the rail member comprises a plurality of attachment components for fixedly securing the rail
member to a side portion of the FRU; and

an adapter rigidly secured to the rail member that allows the FRU to blind-matingly electrically interconnect to the OOB management
network of the computing rack, wherein the adapter comprises:

a mounting member rigidly secured to the rail member, wherein the rail member is configured to rigidly connect the mounting
member to the FRU; and

an attachment member extending from the mounting member, wherein the attachment member includes a first opening therein; and
a first blind-mate connector received in the first opening and secured to the attachment member, wherein the attachment member
defines a space between the first blind-mate connector and the FRU for passage of one or more cables or wires that are electrically
connected between the FRU and the first blind-mate connector, and wherein the first blind-mate connector is configured to
interface with a complimentary second blind-mate connector secured adjacent a rear of the one of the plurality of receiving
bays as the rail member slides relative to the complimentary rail member.

US Pat. No. 9,317,529

MEMORY-EFFICIENT SPATIAL HISTOGRAM CONSTRUCTION

Oracle International Corp...

1. A method comprising:
accessing a hierarchical spatial index comprising a plurality of leaf nodes and a plurality of non-leaf nodes, each leaf node
of the plurality of leaf nodes representing a bounding region containing a spatial object stored in a spatial database, each
non-leaf node of the plurality of non-leaf nodes representing a bounding region at least partially containing one or more
spatial objects associated with one or more leaf nodes, wherein any child node descending from any of the plurality of non-leaf
nodes is at least partially contained within a bounding region of its ancestor non-leaf nodes;

determining a plurality of selected nodes selected from the plurality of non-leaf nodes;
determining a weight for each particular node in the plurality of selected nodes, the weight indicating a number of spatial
objects, of the spatial objects stored in the spatial database, that are contained within the bounding region represented
by said each particular node;

determining a spatial partitioning of bounding regions represented by the plurality of selected nodes by applying a partitioning
procedure to recursively divide a space containing the bounding regions represented by the plurality of selected nodes to
determine a plurality of partitions containing the bounding regions represented by the plurality of selected nodes;

generating a spatial histogram based on the spatial partitioning of the bounding regions represented by the plurality of selected
nodes and the weights of the plurality of selected nodes; and

outputting, in response to a query, a query result for the spatial database based on the spatial histogram;
wherein the method is performed by one or more computing devices.

US Pat. No. 9,299,246

REPORTING RESULTS OF PROCESSING OF CONTINUOUS EVENT STREAMS

Oracle International Corp...

16. A digital processing system comprising:
a processor;
a random access memory (RAM);
a machine readable medium to store one or more instructions, which when retrieved into said RAM and executed by said processor
causes said digital processing system to report results of processing of continuous event streams, said digital processing
system performing the actions of:

receiving a matching condition indicating a pattern of interest as a part of an alert definition in relation to a set of continuous
event streams, wherein occurrences of said pattern of interest are desirable to be reported as corresponding alert instances;

receiving a suppression condition associated with said pattern of interest, wherein said suppression condition indicates the
specific occurrences of said pattern of interest that are not to be reported as corresponding alert instances;

determining, in said set of continuous event streams, a sequence of occurrences of said pattern of interest; and
for each occurrence in said sequence of occurrences, generating an alert instance corresponding to the occurrence only if
said suppression condition is not satisfied for the occurrence.

US Pat. No. 9,129,104

SYSTEM AND METHOD OF SECURITY MANAGEMENT FOR A VIRTUAL ENVIRONMENT

ORACLE INTERNATIONAL CORP...

1. A system for supporting security management in a computing environment, the system comprising:
a plurality of computer systems wherein each computer system comprises a microprocessor, a memory, and a hypervisor operating
on the microprocessor;

a plurality of virtual machines, wherein each virtual machine comprises one or more applications providing one or more services,
and wherein each virtual machine operates on one of the plurality of computer systems;

a plurality of agents, wherein an agent resides on each of the plurality of computer systems, and wherein said agent communicates
with the one or more applications operating on said computer system using a channel secured with a one-way authentication
method;

a plurality of virtual centers wherein a virtual center resides on each of the plurality of computer systems, and wherein
the agent residing on said each of the plurality of computer systems communicates with the virtual center residing on said
each of the plurality of computer systems using a channel secured with the one-way authentication method;

a controller which communicates with each of the plurality of agents using a channel secured with a mutual authentication
method to collect data from the plurality of agents about current operating performance of the computing environment; and

wherein, in response to collecting said data, the controller communicates with said plurality of virtual centers via said
plurality of agents to start and stop virtual machines of said plurality of virtual machines in a way that honors one or more
service level agreements for said one of more services provided by said one or more applications of said plurality of virtual
machines.

US Pat. No. 9,104,398

INVOCATION OF EXTERNAL WEB SERVICES USING DYNAMICALLY GENERATED COMPOSITE APPLICATIONS

Oracle International Corp...

1. A computer-readable medium having instructions stored thereon that, when executed by a processor, cause the processor to
invoke an external web service using a composite application, the invoking comprising:
creating a composite application definition, wherein the composite application definition comprises external web service information
and a mapping of a task operation to a service operation of the external web service;

dynamically generating the composite application based on the composite application definition, wherein the composite application
comprises computer code; and

deploying the composite application;
wherein the creating the composite application definition further comprises:
mapping the task operation to an outbound service operation of the external web service; and
mapping the task operation to an inbound service operation of the external web service.

US Pat. No. 9,311,044

SYSTEM AND METHOD FOR SUPPORTING EFFICIENT BUFFER USAGE WITH A SINGLE EXTERNAL MEMORY INTERFACE

ORACLE INTERNATIONAL CORP...

1. A system for supporting input/output (I/O) virtualization in a computing environment, comprising:
a free buffer pool in a memory, wherein the free buffer pool contains a two-dimensional linked list and a one-dimensional
linked list,

wherein each entry of the two-dimensional linked list contains multiple packet buffers in consecutive memory locations, and
each entry of the one-dimensional linked list contains a single packet buffer,

wherein an I/O device operates to use the free buffer pool to store data exchanged between the I/O device and an associated
physical host bus adaptor (HBA) in accordance with a transaction;

wherein the I/O device operates to selectively allocate one or more packet buffers in one of either the two-dimensional linked
list or the one-dimensional linked list in accordance with a type of the transaction; and

wherein the I/O device operates to selectively en-queue the data in the one or more of the allocated packet buffers.

US Pat. No. 9,767,178

MULTI-INSTANCE REDO APPLY

Oracle International Corp...

1. A method comprising:
on each standby instance of a plurality of standby instances for a standby database:
an apply process of a plurality of apply processes running on said each standby instance to apply change records to said standby
database;

a sender process of a plurality of sender processes running on said each standby instance to transmit change records to at
least one receiver process of a plurality of receiver processes;

a receiver process of said plurality of receiver processes running on said each standby instance to receive change records
transmitted by at least one sender process of said plurality of sender processes to said receiver process;

each standby instance of said plurality of standby instances:
storing a plurality of change records received from one or more primary instances for a primary multi-instance database;
making determinations of how to assign said plurality of change records to said plurality of apply processes, each determination
of said determinations assigning a change record of said plurality of change records to an apply process of said plurality
of apply processes;

according to said determinations, the respective sender process of said plurality of sender processes running on said each
standby instance dispatching each change record of at least of a portion of said plurality of change records to a standby
instance on which the apply process assigned to said each change record runs;

each receiver process of said plurality of receiver processes receiving dispatched change records dispatched to said each
receiver process by a sender process running on a standby instance different than the standby instance on which said each
receiver process runs;

each standby instance of said plurality of standby instances ordering a respective plurality of assigned change records assigned
to an apply process running on said each standby instance, said ordering made according to a logical time associated with
each assigned change record of said plurality of assigned change records, said respective plurality of assigned change records
including dispatched change records that are received by a receiver process of said plurality of receiver processes running
on said each standby instance and that are transmitted by a sender process of said plurality of sender processes running on
a different standby instance of said plurality of standby instances;

each standby instance of said plurality of standby instances distributing each assigned change record of the respective plurality
of assigned change records to the assigned apply process of said each assigned change record.

US Pat. No. 9,471,545

APPROXIMATING VALUE DENSITIES

Oracle International Corp...

1. A method comprising:
generating a first density model that approximates value densities in a set of data, wherein the first density model comprises
a first set of functional components;

iteratively generating at least one additional density model comprising a second density model, wherein generating the second
density model comprises:

selecting a first functional component of the first set of functional components based at least in part on how much the first
functional component contributes to how well the first set of functional components approximates the value densities in the
set of data,

generating a variation of the first functional component, and
generating the second density model comprising a second set of functional components, wherein the second set of functional
components includes at least one more functional component than the first set of functional components, and wherein the second
set of functional components is determined using at least the first functional component and the variation of the first functional
component as seed components;

storing, in association with the set of data, a resulting density model selected from the at least one additional density
model;

wherein the method is performed by one or more computing devices.

US Pat. No. 9,369,386

METHODS, SYSTEMS, AND COMPUTER READABLE MEDIA FOR DESTINATION-HOST DEFINED OVERLOAD SCOPE

Oracle International Corp...

1. A method for Destination-Host defined overload scope, the method comprising:at a Diameter agent for routing Diameter signaling messages within a telecommunications network:
receiving, by the Diameter agent and from a Diameter client, a Diameter session establishment request message for establishing
a Diameter session with a Diameter server;

in response to receiving the Diameter session establishment request message, creating an overload group;
generating, by the Diameter agent, an alias;
assigning, by the Diameter agent, the alias to the overload group;
routing, by the Diameter agent, the Diameter session establishment request message to the Diameter server;
receiving, by the Diameter agent and from the Diameter server, a Diameter response message to the Diameter session establishment
request message; and

remapping an origin host parameter value in the Diameter response message by replacing, in the Diameter response message,
an address of the Diameter server with the alias for the overload group; and

routing, by the Diameter agent and to the Diameter client, the Diameter response message with the origin host parameter value
set to the alias for the overload group, thereby causing the Diameter client to address subsequent messages associated with
the session to the alias.

US Pat. No. 9,355,126

ACTIVE AUDITING IN A DATABASE SYSTEM

ORACLE INTERNATIONAL CORP...

1. A computer-implemented method for automatically auditing database objects in a database, comprising:
receiving a set of audit rules, wherein an audit rule defines search criteria used to identify a database object that is desired
to be audited;

searching through a set of database objects in the database to identify one or more database objects which satisfy the set
of audit rules;

generating an audit command for auditing an identified database object that satisfies the set of audit rules, without receiving
a user audit command that explicitly specifies the identified database object; and

in response to determining that the identified database object is updated:
determining that the identified database object does not satisfy the set of audit rules; and
removing the audit command.

US Pat. No. 9,298,915

INTELLIGENT HEURISTICS FOR FILE SYSTEMS AND FILE SYSTEM OPERATIONS

Oracle International Corp...

1. A method for halting an unauthorized bulk data copy operation, comprising:
maintaining a repository of fingerprints, each fingerprint in the repository of fingerprints corresponding to a specific bulk
data copy operation and indicative of one or more characteristics of the specific bulk copy operation corresponding to that
fingerprint, wherein, for at least one fingerprint in the repository of fingerprints, the at least one fingerprint indicates
a characteristic related to a file system traversal performed by the bulk data copy operation corresponding to the at least
one fingerprint or the at least one fingerprint indicates a characteristic related to a number of files copied by the bulk
data copy operation corresponding to the at least one fingerprint;

receiving, from a user, a request, the request specifying a particular operation that, when executed, accesses a file system;
determining whether the particular operation is a bulk data copy operation by matching a characteristic of the particular
operation against one or more of the fingerprints in the repository;

upon determining, based on the matching, that particular operation is a bulk data copy operation, detecting whether the particular
operation exceeds a threshold associated with a permitted data copy operation; and

halting the particular operation by the user in response to determining that the request is determined to be a bulk data copy
operation and that the threshold is exceeded.

US Pat. No. 9,300,322

ENCODING OF PLAIN ASCII DATA STREAMS

Oracle International Corp...

1. A method of encoding plain ASCII data streams, said method being performed in a digital processing system, said method
comprising:
receiving a stream of characters sought to be encoded as an encoded content, with each character being represented as a corresponding
plain ASCII code;

selecting a pair of adjacent characters in said stream;
examining said pair for a condition of said pair containing a consonant followed by one of a set of characters, or a vowel
followed by one of said set of characters, wherein said set of characters is selected only from vowels and the space character;

if said condition is satisfied, emitting a corresponding extended ASCII code for said pair into said encoded content, and
forming said pair for a next iteration as the next two characters of said stream;

if said condition is not satisfied, emitting the first character of said pair in the form of a corresponding plain ASCII code
into said encoded content, and forming said pair for said next iteration with the second character of the pair as the first
character and a next character of said stream of characters as the second character; and

performing said next iteration of said examining and said emitting using the formed pair until all of said stream of characters
are encoded in said encoded content.

US Pat. No. 9,129,129

AUTOMATIC DATA PROTECTION IN A COMPUTER SYSTEM

Oracle International Corp...

1. A method comprising:
storing, in a computer system, a first mapping that maps a data security policy to a sensitive type, wherein the data security
policy includes a particular security feature;

storing, in the computer system, a second mapping that maps the sensitive type to one or more data sets;
based on the first mapping and the second mapping, causing the particular security feature to be applied to each data set
of the one or more data sets;

wherein the method is performed by one or more computing devices.

US Pat. No. 9,047,294

MODEL FOR GENERATING CUSTOM FILE PLANS TOWARDS MANAGEMENT OF CONTENT AS RECORDS

Oracle International Corp...

1. A method of managing records with respect to entities, said method comprising:
maintaining historical data representing previously selected policies, wherein each policy specifies a corresponding treatment
of entities as records;

receiving a request for file plan from a user;
forming a file plan containing a set of policies likely to be used by said user, said set of policies being determined based
on said historical data;

sending said file plan to said user;
receiving from said user a selection of a first policy from said set of policies for associating with a first set of entities,
wherein said first policy specifies is a first retention category which specifies a retention policy including a first duration,
wherein said first retention category further specifies a disposition policy including a second duration; and

applying said first policy to said first set of entities in response to receiving of said selection such that said first policy
is thereafter enforced with respect to managing said first set of entities as corresponding records,

wherein, in response to receiving of said selection, said applying retains each of said first set of entities according to
said first duration and thereafter disposes each of said first set of entities according to said second duration.

US Pat. No. 9,473,926

METHODS, SYSTEMS, AND COMPUTER READABLE MEDIA FOR SUPPORTING LOCAL BREAKOUT

Oracle International Corp...

1. A method for supporting local breakout (LBO), the method comprising:
at a signaling platform:
receiving, from a home subscriber server (HSS) or home location register (HLR), a signaling message associated with a roaming
subscriber, wherein the signaling message includes a Diameter Insert-Subscriber-Data-Request (IDR) message, a Diameter Update-Location-Answer
(ULA) message, or a mobile application part (MAP) insert subscriber data (ISD) message;

determining, using the signaling message, whether a roaming provider is appropriate for performing an LBO service, wherein
determining whether the roaming provider is appropriate for performing the LBO service includes identifying an access point
name and performing a lookup in a database using the access point name;

in response to determining that the roaming provider is appropriate for performing the LBO service, modifying the signaling
message to include control information for performing the LBO service and, after modifying the signaling message, forwarding
the signaling message to a destination; and

in response to the determining that the roaming provider is not appropriate for performing the LBO service, forwarding the
signaling message to a destination, wherein the signaling message does not include control information for performing the
LBO service.

US Pat. No. 9,471,801

METHOD AND APPARATUS TO SUPPORT PRIVILEGES AT MULTIPLE LEVELS OF AUTHENTICATION USING A CONSTRAINING ACL

ORACLE INTERNATIONAL CORP...

1. A method for using ACLs (access control lists) to determine user privileges in a database, the method comprising:
authenticating, by a computer, a user using an authentication method selected from a plurality of authentication methods corresponding
to a plurality of authentication levels;

determining an authentication level of the selected authentication method, wherein the authentication level indicates a security
strength of the selected authentication method, and wherein the authentication level corresponds to a user role associated
with the user;

identifying an entry in a constraining ACL based on the determined authentication level, wherein the entry in the constraining
ACL specifies a global security policy that is specific to the determined authentication level and applies to all applications
interacting with the database;

receiving a request from the user to perform an operation on data;
identifying a child ACL, which specifies the user's privileges;
establishing a constraining inheritance relationship between the child ACL and the constraining ACL, which involves requiring
a check of the constraining ACL whenever the child ACL is checked; and

performing, by the computer, the operation on the data in response to determining that the operation is permitted based on
the user role, the child ACL and the constraining ACL.

US Pat. No. 9,432,304

SYSTEM AND METHOD FOR SUPPORTING LIVE MIGRATION OF VIRTUAL MACHINES BASED ON AN EXTENDED HOST CHANNEL ADAPTOR (HCA) MODEL

ORACLE INTERNATIONAL CORP...

1. A system for supporting virtual machine live migration in a network, comprising:
a first host having a first microprocessor and a second host having a second microprocessor;
a first fabric adaptor associated with the first host, wherein the first fabric adaptor is associated with a first plurality
of first virtual host channel adapters (HCAs), and wherein each said first virtual host channel adapter (vHCA) is associated
with a first separate queue pair (QP) space;

a second fabric adaptor associated with the second host, wherein the second fabric adaptor is associated with a second plurality
of second virtual host channel adapters (HCAs), and wherein each said second virtual host channel adapter (vHCA) is associated
with a second queue pair (QP) space;

a virtual machine operating on the first host, wherein the virtual machine is attached with said first virtual host channel
adapter (vHCA) that is associated with a queue pair (QP) in said first queue pair (QP) space, and wherein said virtual machine
is assigned a unique Local Identifier (LID) for addressing the first vHCA; and

wherein said system is configured to perform a live migration of said virtual machine from the first host to the second host;
wherein, after live migration, said virtual machine is attached with said second virtual host channel adapter (vHCA) that
is associated with said first queue pair (QP), and wherein said virtual machine utilizes said same unique LID for addressing
the second vHCA; and

wherein said first queue pair (QP) operates to signal a peer QP about the live migration and provide said peer QP with address
information after migration.

US Pat. No. 9,160,370

SINGLE COMPONENT CORRECTING ECC USING A REDUCIBLE POLYNOMIAL WITH GF(2) COEFFICIENTS

ORACLE INTERNATIONAL CORP...

1. A memory system that provides error detection and correction, comprising:
an access mechanism configured to access a block of data from the memory system, wherein each block of data in the memory
system includes an array of bits logically organized into R rows and C columns, including C-2 data-bit columns containing
data bits, a row check bit column including row-parity bits for each of the R rows in the block, and an inner check bit column
including X inner check bits, which are defined to cover bits in the array in accordance with a set of check vectors, wherein
each check vector is associated with a different bit in the array and is an element of Res(P), a residue system comprising
a set of polynomials with GF(2) coefficients modulo a polynomial P with GF(2) coefficients, wherein each column is stored
in a different memory component, and wherein the check bits are generated from the data bits to facilitate block-level detection
and correction for errors generated in a memory component; and

an error-detection circuit configured to,
examine a block of data retrieved by the access mechanism, and
determine whether a memory component has generated an error based on the examination.

US Pat. No. 9,509,317

ROTATIONAL SYNCHRONIZER CIRCUIT FOR METASTABLITY RESOLUTION

Oracle International Corp...

1. A circuit comprising:
a plurality of M+1 latches each coupled to receive data through a common data input, wherein the data received through the
common input is synchronized to a first clock signal in a first clock domain;

a multiplexer having a M+1 inputs each coupled to receive data from an output of a corresponding one of the M+1 latches, and
an output, wherein the multiplexer is a one-hot multiplexer configured to select one of its inputs to be coupled to the output;

a control circuit configured to cause the multiplexer to sequentially select outputs of selected ones of the M+1 latches responsive
to N successive clock pulses, and further configured to cause the selected ones of the M+1 latches to sequentially latch data
received through the common data input, wherein the control circuit includes a first shift register configured to generate
clock pulses to each of the M+1 latches such that only one of the M+1 latches is transparent at a given time, and a second
shift register configured to generate selection signals provided to the multiplexer, such that only one selection signal is
asserted at a given time, wherein the first and second shift registers are each synchronized to a second clock signal in a
second clock domain; and

a flip-flop coupled to receive the output of the multiplexer, wherein the flip-flop is synchronized to the second clock signal
in the second clock domain.

US Pat. No. 9,436,389

MANAGEMENT OF SHARED STORAGE I/O RESOURCES

Oracle International Corp...

1. A computer-executed method for managing shared storage input-output (I/O) resources, comprising:
receiving a request for an I/O operation on a storage system to which a plurality of requests for I/O operations have been
recently issued;

wherein the plurality of requests comprises a first set of requests that are associated with a first I/O scheduling group
of a plurality of I/O scheduling groups, and a second set of requests that are associated with a second I/O scheduling group
of the plurality of I/O scheduling groups;

determining an I/O scheduling group of the plurality of I/O scheduling groups with which the received request is associated;
in response to determining that the received request is associated with the first I/O scheduling group:
identifying a first I/O policy, associated with the first I/O scheduling group, that specifies a first I/O allocation that
dictates a first maximum threshold, wherein the first maximum threshold is one of:

a first maximum I/O rate at which I/O operations should issue to said storage system for requests associated with said first
I/O scheduling group, or

a first maximum throughput rate at which I/O operations should issue to said storage system for requests associated with said
first I/O scheduling group,

determining an I/O statistic associated with I/O operations that have recently issued to said storage system for said first
I/O scheduling group,

wherein the I/O statistic is one of: I/O rate and I/O throughput;
determining, based at least in part on whether said I/O statistic indicates that said first maximum threshold has been exceeded,
whether to place said request in an I/O request queue, and

in response to determining to place said request in an I/O request queue:
placing said request in a particular I/O request queue associated with said first I/O scheduling group, and
issuing said request to said storage system when said request is dequeued from said particular I/O request queue based on
said first I/O policy, for performance of said I/O operation by said storage system;

wherein a second I/O policy associated with said second I/O scheduling group specifies a second I/O allocation that dictates
a second maximum threshold, wherein the second maximum threshold is one of:

a second maximum I/O rate at which I/O operations should issue to said storage system for requests associated with said second
I/O scheduling group, or

a second maximum throughput rate at which I/O operations should issue to said storage system for requests associated with
said second I/O scheduling group;

determining whether said I/O statistic associated with I/O operations that have recently issued to said storage system for
said first I/O scheduling group is less than said first maximum threshold; and

in response to determining that said I/O statistic is less than said first maximum threshold:
issuing more requests associated with said second I/O scheduling group than prescribed by said second maximum threshold;
wherein the method is performed by one or more computing devices.

US Pat. No. 9,389,851

SYSTEM AND METHOD FOR PROVIDING CONSISTENCY BETWEEN SOFTWARE LIBRARY REPOSITORIES

ORACLE INTERNATIONAL CORP...

1. A system for providing consistency between compile-time and run-time software library repositories, comprising:
a computer including one or more microprocessors;
an execution environment, on the computer, that includes a plurality of software libraries, wherein each software library
is associated with a library file describing that software library;

a population and synchronization tool plugged into the execution environment, wherein the population and synchronization tool
operates to

search for each library file associated with a software library
create a data structure that includes one or more software libraries based on the library file or a corresponding location
file, and

process each software library in the data structure to update a defined repository for use at compile time by performing the
steps of

determining that a software library with a same name already exists in the defined depository
determining that the two software libraries include different contents, and
replacing the software library in the defined repository with that software library in the data structure,
wherein the population and synchronization tool, before performing the replacement, operates to determine whether the software
library to be replaced in the defined repository has been previously modified by a user, and, if the software library is determined
to have been modified, warn the user that the modified software library is to be replaced.

US Pat. No. 9,378,764

METHOD AND DEVICE FOR VERIFYING A SERVO PATTERN IN TAPE MEDIA

Oracle International Corp...

1. A method for verifying a servo pattern in tape media, the method comprising:
moving the tape media across a read head in a direction parallel to a length of the tape media, the tape media comprising
at least one servo band, each of the at least one servo band comprising a servo pattern;

scanning the read head across the entire servo band in a direction parallel to a width of the tape media and reading the at
least one servo pattern; and

verifying the at least one servo pattern by demodulating the at least one servo pattern and calculating at least one of a
mean moving range of peak amplitudes of a plurality of peak amplitudes of the at least one demodulated servo pattern and a
standard deviation of a plurality of peak amplitudes of the at least one demodulated servo pattern.

US Pat. No. 9,336,413

METHOD AND SYSTEM FOR FAST PERMISSION CHANGES FOR VIRTUAL ADDRESSES

Oracle International Corp...

1. A method for accessing shared memory, the method comprising:
loading a first private context ID into a private context ID register, wherein the first private context ID enables a first
thread to access a first private memory region only accessible by the first thread;

receiving, from the first thread, a first request to access a shared memory region;
in response to the first request, loading a shared context ID into a shared context ID register;
permitting, by a memory management unit (MMU), the first thread to access the shared memory region using the shared context
ID;

receiving, from the first thread, a second request to disable access to the shared memory region; and
removing, in response to the second request, the shared context ID from the shared context ID register, wherein after removing
the shared context ID from the shared context ID register the first thread is no longer able to access the shared memory region.

US Pat. No. 9,256,026

HYBRID INTEGRATED PHOTONIC CHIP PACKAGE

ORACLE INTERNATIONAL CORP...

1. A chip package, comprising:
an integrated circuit having a first surface with first integrated-circuit connector pads and second integrated circuit connector
pads;

optical-integrated-circuit electrical connectors electrically coupled to the first integrated circuit connector pads;
an optical integrated circuit having a front surface, facing the first surface of the integrated circuit, with optical-integrated-circuit
connector pads electrically coupled to the optical-integrated-circuit electrical connectors, wherein the optical integrated
circuit is configured to communicate optical signals;

substrate electrical connectors electrically coupled to the second integrated-circuit connector pads;
a substrate having a front surface facing the first surface of the integrated circuit, with substrate connector pads electrically
coupled to the substrate electrical connectors;

wherein the substrate further includes, ramp-stack connector pads disposed on a back surface of the substrate on an opposite
side of the substrate from the front surface, through-substrate vias (TSVs) electrically coupling the substrate connector
pads to the ramp-stack connector pads,
ramp-stack electrical connectors electrically coupled to the ramp-stack connector pads, and a ramp-stack chip package electrically
coupled to the ramp-stack electrical connectors, wherein the ramp-stack chip package includes multiple parallel substrates
arranged at an oblique angle relative to the substrate.

US Pat. No. 9,245,044

USE OF GENERIC UNIVERSAL RESOURCE INDICATORS

ORACLE INTERNATIONAL CORP...

1. A method for using a generic universal resource indicator to retrieve a resource, the method comprising:
accessing, by a computer system, the generic universal resource indicator from an application server system that is hosting
enterprise resource planning software, wherein:

the generic universal resource indicator comprises one or more parameters; and
a generic parameter of the one or more parameters is linked with a variable;
determining, by the computer system, a value of the variable to use for the generic parameter, wherein:
the value for the variable is at least partially based on a stored data field of a record accessed by a user from a plurality
of records of a database, the database being accessed via the application server system from the enterprise resource planning
software;

creating, by the computer system, a universal resource indicator using the generic universal resource indicator having the
generic parameter of the generic universal resource indicator set to the value;

retrieving, by the computer system, from a third-party entity accessed via the Internet, the resource using the universal
resource indicator, wherein one or more attributes of the resource retrieved are contextualized at least partially based on
the value; and

causing, by the computer system, information from the record of the database associated with the enterprise resource planning
software to be presented concurrently with the resource retrieved using the universal resource indicator to be presented to
the user.

US Pat. No. 9,185,175

SYSTEM AND METHOD FOR OPTIMIZING VISUAL SESSION RECORDING FOR USER ACCOUNT MANAGEMENT IN A COMPUTING ENVIRONMENT

ORACLE INTERNATIONAL CORP...

1. A method for monitoring user sessions on a target system in a computing environment, comprising:
providing an account management system;
automatically capturing with the account management system a plurality of user session screen captures that are associated
with a user session on the target system at an interval;

tuning the interval dynamically based on an activity in said user session;
using the account management system to process each user session screen capture of said plurality of user session screen captures
by,

computing a hash for the user session screen capture,
comparing the hash computed for the user session screen capture, which is captured at a time during said user session, with
a hash that was computed for a user session screen capture that was recorded before the time and discarding said user session
screen capture if the hash computed for the user session screen capture is identical to said hash that was computed for said
user session screen capture that was recorded before the time, and

applying one or more screen capture comparison rules and discarding said user session screen capture if differences identified
between the user session screen capture and said user session screen capture that was recorded before the time do not satisfy
at least one of said one or more screen capture comparison rules; and

using the account management system to automatically encode into a video a subset of the plurality of recorded user session
screen captures said subset comprising those user session screen captures which were not discarded.

US Pat. No. 9,110,711

DYNAMIC DISPLAYS IN A DISTRIBUTED COMPUTING ENVIRONMENT

Oracle International Corp...

1. A method for presenting results data in a distributed computing environment, comprising:
performing, by one or more computers:
accessing a presentation schema in the distributed computing environment, wherein the presentation schema includes information
for presenting results data for clients in the distributed computing environment;

accessing, over a network, from a source in the distributed computing environment, results data for a client in the distributed
computing environment, wherein the information in the presentation schema has not been applied to the accessed results data
prior to said accessing the results data, and wherein, prior to said accessing the results data, a service in the distributed
computing environment generates the results data in response to the client sending a request message to the service to generate
the results data; and

presenting the results data for the client in accordance with the information from the presentation schema, wherein said presenting
comprises applying the information in the presentation schema to the accessed results data.

US Pat. No. 9,099,162

MEDIA AND DRIVE VALIDATION IN TAPE LIBRARIES

ORACLE INTERNATIONAL CORP...

1. A method of validating tape drives and media in a tape library, comprising:
with a computer running an analytics module, receiving a validation request for a tape in the tape library;
with the tape loaded into a predefined gold drive in the tape library, performing a statistical analysis on the tape to determine
an operating parameter for the tape in the predefined gold drive; and

with the analytics module, validating the tape when the operating parameter is greater than a threshold limit defined for
the operating parameter for media in the tape library,

wherein the operating parameter is read quality index (RQI).

US Pat. No. 10,111,356

SYSTEM FOR ELECTRICAL CONNECTION OF PRINTED CIRCUIT BOARDS AND BACKPLANES IN SERVER ENCLOSURE

Oracle International Corp...

11. A module for slidable receipt in an electronics enclosure, comprising:a chassis including opposite front and rear portions, opposite first and second side portions, and an interior portion;
a printed circuit board (PCB) mounted within the interior portion of the chassis for sliding movement along an axis that extends from the front portion to the rear portion between the first and second side portions of the chassis;
at least a first connector electrically connected to the PCB adjacent the rear portion of the chassis; and
a biasing apparatus interconnected between the chassis and the PCB that is configured to deflect upon engagement between the at least one connector and a corresponding second connector secured within the electronics enclosure as the chassis is inserted into a socket of the electronics enclosure, wherein the at least one connector is a plurality of connectors electrically attached to the PCB, and wherein the module further includes:
a stiffening plate interconnecting the plurality of connectors; and
a plurality of stiffening members interconnecting the stiffening plate to the PCB, wherein the stiffening plate and the plurality of stiffening members are configured resist bending moments induced in the plurality of connectors as the module is inserted into the socket of the electronics enclosure.

US Pat. No. 10,015,910

HEAT POP WITH NEAR-AZEOTROPIC BINARY FLUID

Oracle International Corp...

1. A heat pipe, comprising:a housing comprising a first end to couple to a processing unit and a second end to couple to a heat sink, wherein the housing has an outer surface and an inner surface, the inner surface defines a cavity in the heat pipe;
a wick structure coupled to the inner surface; and
a binary working fluid in the cavity comprising a composition of isopropanol and water, the boiling point as a function of the composition of the isopropanol and the water is within one degree Celsius of and less than an azeotropic boiling point in a thermodynamic phase diagram as a function of a temperature and the composition of the isopropanol and the water.

US Pat. No. 9,563,522

DATA RECOVERY FOR A RELATIONAL DATABASE MANAGEMENT SYSTEM INSTANCE IN A HETEROGENEOUS DATABASE SYSTEM

ORACLE INTERNATIONAL CORP...

1. A method comprising:
detecting a failure of a first RDBMS instance of a plurality of RDBMS instances of a shared-disk database system;
wherein a compute cluster is configured to store, in memory, one or more tables stored by the shared-disk database system;
wherein the first RDBMS instance is configured to modify the one or more tables stored by the shared-disk database system
and transfer modified data to the compute cluster to update the one or more tables at the compute cluster;

after detecting the failure of the first RDBMS instance, scanning redo records generated by the first RDBMS instance;
identifying, based on said scanning, pending modified data that was not transferred to the compute cluster before the failure;
transferring the pending modified data to the compute cluster;
wherein the method is performed by one or more computing devices.

US Pat. No. 9,519,105

SELF-ASSEMBLED VERTICALLY ALIGNED MULTI-CHIP MODULE

ORACLE INTERNATIONAL CORP...

1. A method for fabricating an MCM, comprising:
defining first regions with a first hydrophilic material on a first surface of a first substrate, wherein the first substrate
includes a first optical waveguide disposed on the first substrate at a first height relative to the first surface;

disposing spacers, which have a thickness, on a second surface of a second substrate, wherein the second substrate includes
a second optical waveguide disposed on the second substrate at a second height relative to the second surface;

defining second regions with a second hydrophilic material on the second surface;
defining third regions with a third hydrophilic material on a third surface of a third substrate;
defining one or more regions with a hydrophobic material on the third surface of the third substrate;
dispensing a liquid on the third surface;
placing the first substrate and the second substrate on the liquid with the first surface facing the third surface and the
second surface facing the third surface; and

after the first substrate and the second substrate have self-aligned relative to the third substrate, mechanically coupling
the first surface to the third surface and the top surfaces of the spacers to the third surface, wherein the thickness of
the spacers aligns the first optical waveguide and the second optical waveguide.

US Pat. No. 9,396,474

DRILL DOWN FUNCTIONALITY IN A DASHBOARD APPLICATION

ORACLE INTERNATIONAL CORP...

1. In a computer system, a method of presenting data to a user, the method comprising:
accessing a set of data from two or more enterprise applications;
implementing a dashboard application configured as an intermediary between the two or more enterprise applications and a client
computer system, wherein the dashboard application provides a dashboard interface providing consolidated indirect access to
the two or more enterprise applications and the set of data;

providing, in a first visible component of the dashboard interface, a visual representation of a multi-dimensional display
hierarchy to organize a display of the set of data, wherein the display hierarchy represented by the visual representation
comprises a plurality of levels, each of the levels corresponding to a different parameter of the set of data by which the
data can be filtered, wherein the visual representation of the display hierarchy provides a drill-down path by which at least
a portion of the set of data can be viewed at varying levels of granularity, and wherein the visual representation of the
display hierarchy includes a representation of a current level of the display hierarchy and a current drilldown and drill
up path;

providing a first input mechanism in the first visible component of the dashboard interface to allow the user to select a
level in the display hierarchy from the visual representation of the display hierarchy;

providing, in a second visible component of the dashboard interface, a visual representation of a drill down grid, the drill
down grid representing values in the set of data for a parameter corresponding to the selected level of the display hierarchy;

providing a second input mechanism in the second visible component of the dashboard interface to allow the user to provide
a first value from the values in the set of data as a filter criterion;

filtering the set of data according to the selected level in the display hierarchy and according to the filter criterion to
identify a set of records matching the selected level and the first value;

providing a third input mechanism in the second visible component of the dashboard interface to allow the user to select a
view criterion, the view criterion comprising a parameter by which the filtered set of data is categorized, the parameter
corresponding to a level of the display hierarchy;

categorizing the filtered set of data, using the selected view criterion; and
providing, in the second visible component of the dashboard interface, the filtered and categorized data according to the
selected level in the display hierarchy, wherein the dashboard interface provides real-time visibility of operations of an
enterprise application.

US Pat. No. 9,281,971

VERTICAL EYE MARGIN MEASUREMENT USING CHANNEL RECEIVER EQUALIZER

ORACLE INTERNATIONAL CORP...

1. A system for determining a link margin of a data communications channel, the system comprising:
an error measurement subsystem that operates to:
inject a set of channel test data into a receiver system communicatively coupled with the data communications channel;
receive a set of recovered data output from the receiver system in response to receiving the set of channel test data; and
calculate a bit error rate by comparing the set of recovered data with the set of channel test data;
a tap adjustment subsystem that operates to adjust a set of filter tap weights of the receiver system from fully adapted values
to failure region values, the fully adapted values of the set of filter tap weights corresponding to when the receiver system
is fully adapted to the data communications channel, and the failure region values of the set of filter tap weights corresponding
to when the calculated bit error rate for the receiver system is exceeding a predetermined error threshold for the data communications
channel; and

a vertical margin calculation subsystem that operates to calculate a vertical margin measurement for the data communications
channel as a function of a difference between the fully adapted values and the failure region values of the set of filter
tap weights.

US Pat. No. 9,277,053

READY-TO-DIAL GLOBAL PHONE NUMBERS

Oracle International Corp...

1. A computer-implemented method, implemented in a computer system, comprising:
importing a first telephone number database from a first system into a second telephone number database stored on a second
system, wherein

the first system and the second system are located in geographically disparate regions,
the first telephone number database comprises a plurality of telephone numbers,
the importing comprises
batch processing the plurality of telephone numbers, and
generating a plurality of telephone number components by parsing the plurality of telephone numbers;
in response to receiving a request for a telephone number of the plurality of telephone numbers at the computer system, generating,
using one or more processors of the computer system, a ready-to-dial telephone number, wherein the generating comprises

determining a geographic location from which the ready-to-dial telephone number is to be dialed,
determining a target location of the telephone number,
retrieving a first set of telephone number components of the plurality of telephone number components from the second telephone
number database, wherein

the first set of telephone number components comprise at least a part of the telephone number,
retrieving a second set of telephone number components, wherein
the second set of telephone number components are not part of the plurality of telephone number components, and
one or more components of the second set of telephone number components are required to generate the ready-to-dial telephone
number, and

assembling components of the first set of telephone number components and components of the second set of telephone number
components into the ready-to-dial telephone number; and

in response to the generating, presenting the ready-to-dial telephone number to a user of the second system.

US Pat. No. 9,275,666

ROTATABLE RECORDING HEAD ACTUATOR FOR CORRECTING ANGULAR ERROR IN TAPE DRIVES

ORACLE INTERNATIONAL CORP...

1. A recording head actuator assembly for correcting for tape mis-registration in a tape drive, comprising:
a recording head actuator comprising a head with a plurality of read or write elements;
a dynamic azimuth control (DAC) assembly comprising a flexural pivot and a rotation driver physically linked to the flexural
pivot, wherein the recording head actuator is rigidly coupled to and supported by the flexural pivot,

wherein the rotation driver operates to apply a driving force on the flexural pivot,
wherein, in response to the driving force, the flexural pivot rotates about a hinge axis, and
wherein, in response to the rotation of the flexural pivot, the head rotates about a rotation axis passing through the head
from a first azimuth angle to a second azimuth angle.

US Pat. No. 9,274,771

AUTOMATED ADAPTIVE COMPILER OPTIMIZATION

ORACLE INTERNATIONAL CORP...

1. A computer-implemented method for automated rule-based compiling optimization, the method comprising:
first compiling source code to generate first compiled code and a set of annotations that associate code segments of the first
compiled code with code segments of the source code, wherein the first compiling comprises canonically compiling the source
code to generate the first compiled code, and wherein the canonically compiling comprises disabling speculative compiler optimizations
and performing non-speculative compiler optimizations using default parameters;

executing the first compiled code and monitoring the execution to generate performance characteristics associated with the
code segments of the source code according to the annotations;

analyzing the performance characteristics according to a set of predefined optimization rules to associate each of a set of
the code segments of the source code with a selected compiler optimization;

generating optimization control data comprising instructions that each defines one of the selected compiler optimizations
and its associated code segment of the source code; and

second compiling the source code to generate second compiled code under direction of the optimization control data.

US Pat. No. 9,275,175

INTEGRATED CIRCUIT CLOCK TREE VISUALIZER

Oracle International Corp...

1. A non-transitory computer-readable medium having instructions stored thereon that, when executed by a processor, cause
the processor to visualize a clock tree for an integrated circuit, the visualizing comprising:
receiving an extracted cell library, an extracted text-based clock netlist of an integrated circuit design comprising clock
headers and interconnects, and simulation results of the integrated circuit design;

generating an internal data structure for the clock headers;
dividing the clock headers into a plurality of levels based on the interconnects;
ordering the clock headers from a lowest level to a highest level, wherein the ordering untangles the interconnects; and
displaying on a graphical user interface the ordered clock headers and the untangled interconnects of the integrated circuit
design.

US Pat. No. 9,262,490

ADAPTIVELY ROUTING TRANSACTIONS TO SERVERS

ORACLE INTERNATIONAL CORP...

1. One or more non-transitory storage media storing instructions which, when executed by one or more computing devices, cause:
causing mappings to be stored for use by one or more mid-tier servers that provide connections to database servers, the mappings
comprising:

a data-to-dataset mapping that maps first requests associated with data having one or more first key values to one or more
first datasets and other requests associated with other data having one or more other key values to one or more other datasets,

a first dataset-to-candidate-physical-database-server mapping that maps the one or more first datasets to a first candidate
physical database server and the one or more other datasets to one or more other candidate physical database servers, and

a candidate-physical-database-server-to-physical-database-server mapping that maps the first candidate physical database server
to a first physical database server and the one or more other candidate physical database servers to one or more other physical
database servers;

wherein when, based on a change in one or more conditions of the first candidate physical database server after causing the
mappings to be stored for use, the first candidate physical database server does not satisfy stored criteria, one or more
of the first requests, which are mapped to the first candidate physical database server, are caused to be routed to a first
other physical database server, and

when a second candidate physical database server does not satisfy the stored criteria, one or more second requests, which
are mapped to the second candidate physical database server, are caused to be routed to a second other physical database server;

wherein the second candidate physical database server is different from the first candidate physical database server;
receiving information that indicates a change of at least one of a condition or a characteristic of one or more physical database
servers;

using the information to automatically generate a second dataset-to-candidate-physical-database-server mapping that is different
from the first dataset-to-candidate-physical-database-server mapping, wherein the second dataset-to-candidate-physical-database-server
mapping maps at least one of the first one or more datasets to the second candidate physical database server;

causing the one or more mid-tier servers to use the second dataset-to-candidate-physical-database-server mapping instead of
the first dataset-to-candidate-physical-database-server mapping.

US Pat. No. 9,218,616

GRANTING ACCESS TO A CLOUD COMPUTING ENVIRONMENT USING NAMES IN A VIRTUAL COMPUTING INFRASTRUCTURE

Oracle International Corp...

1. A method of granting access to resources in a cloud computing environment, the method comprising:
assigning a first name to a group of users within the cloud computing environment, the first name specifying a first path;
assigning a second name to at least one subgroup of users from the group of users;
assigning a third name to an object;
receiving a request to access the object, the request specifying the second name and the third name;
receiving a plurality of permissions that form a graph, wherein each permission of the plurality of permissions includes a
plurality of key-value pairs;

wherein a first key-value pair of the plurality of key-value pairs of the each permission includes a subject key and a name
of a subject to whom the each permission is delegated;

wherein a second key-value pair of the plurality of key-value pairs of the each permission includes an object key and a name
of a cloud object on which the each permission is delegated;

wherein a third key-value pair of the plurality of key-value pairs of the each permission includes an authorizer key and a
name of an authorizer who is authorized to delegate the each permission;

wherein each permission of the plurality of permissions corresponds to a different vertex of vertices in the graph, the vertices
connected by edges such that the each permission has at least one parent permission or at least one child permission corresponding
to a different one of the vertices in the graph, wherein for each permission of the plurality of permissions having a parent
permission in the graph, the name of the authorizer in the third key-value pair of the each permission matches the name of
the subject in the first key-value pair of the parent permission, and wherein for each permission of the plurality of permissions
having a child permission in the graph, the name of the subject in the first key-value pair of the each permission matches
the name of the authorizer in the third key-value pair of the child permission;

receiving authorizer information indicating an authorizer name of an authorizer to grant permissions to access the object;
identifying a first permission from the plurality of permissions, the first permission having one or more child permissions
connected in the graph and wherein the authorizer name matches a value in the third key-value pair of the first permission;

using the graph to identify a second permission from the one or more child permissions, wherein the name of the authorizer
of the third key-value pair of the second permission matches or is a descendant of the name of the subject of the first key-value
pair of the first permission; and

using the second permission to determine whether to grant the request by at least one of:
determining whether the second name matches or is a descendant of the name of the subject in the first key-value pair of the
second permission, or

determining whether the third name matches or is a descendant of the name of the cloud object in the second key-value pair
of the second permission.

US Pat. No. 9,182,941

FLOW CONTROL WITH BUFFER RECLAMATION

ORACLE INTERNATIONAL CORP...

1. A non-transitory computer storage medium storing computer-executable instructions that when executed by a computing device
comprising a receiving device, cause the computing device to:
allocate a first number of buffers to a first sending device, where the first number specifies a number of buffers that can
be received from the first sending device;

generate a first flow control message that communicates a reduction in the first number of buffers;
transmit the first flow control message to the first sending device;
until a release notification is received from the first sending device, continue the allocation of the first number of buffers
to the first sending device;

in response to receiving a release notification from the first sending device that identifies a number of buffers released
by the sending device, reduce the first number of buffers by the number of buffers released by the sending device to determine
a second number of buffers that can be received from the first sending device and reallocate up to the number of released
buffers to a second sending device.

US Pat. No. 9,166,897

SYSTEM AND METHOD FOR SUPPORTING DYNAMIC OFFLOADING OF VIDEO PROCESSING FOR USER ACCOUNT MANAGEMENT IN A COMPUTING ENVIRONMENT

ORACLE INTERNATIONAL CORP...

1. A method for supporting privileged account management in a computing environment comprising a privileged account manager
server and a target system wherein a plurality of users share access to a privileged account on the target system, the method
comprising:
providing a privileged account manager operating on the privileged account manager server;
providing a recording agent operating on the target system;
receiving at the privileged account manager a request to access said privileged account on the target system from a particular
user of the plurality of users;

providing said particular user with one-time access to a privileged account session for said privileged account on the target
system in response to said request wherein said one-time access is terminated when said privileged account session is ended;

detecting establishment of said privileged account session for said privileged account on the target system with the recording
agent;

in response to said detecting, capturing with the recording agent, a plurality of user session screens associated with said
privileged account session;

initiating, via the recording agent on the target system, a video processing task, wherein the video processing task encodes
the plurality of user session screens captured by the recording agent into a video;

determining with said recording agent whether a resource usage for performing the video processing task on the target system
exceeds a threshold;

dynamically offloading the video processing task to the privileged account manager server, if the resource usage for performing
the video processing task on the target system exceeds the threshold; and

storing said video on said privileged account manager server.

US Pat. No. 9,141,343

INDICATORS FOR RESOURCES WITH CLOSE METHODS THAT DO NOT COMPLETE ERRONEOUSLY IN SOFTWARE PROGRAMS

ORACLE INTERNATIONAL CORP...

1. A method, comprising:
receiving, while compiling a software program, source code comprising a resource-management statement that omits an exception-handling
construct;

detecting whether a resource within the resource-management statement is associated with an indicator, wherein the indicator
indicates that a close method for the resource does not complete with a throwing of an exceptional event, wherein the exceptional
event, if thrown, would be handled by the software program, and wherein the indicator is associated with type that is included
in a type hierarchy of a programming language platform associated with the source code;

if the resource is associated with the indicator, generating instructions that represent the resource-management statement,
wherein the instructions, when executed, cause the resource to be closed without throwing the exceptional event, and wherein
the generating involves: performing exception analysis on an implementation of the type and if the exception analysis finds
that the close method of the implementation does not complete erroneously, permitting compilation of the implementation; and

if there is no close method for the resource that does not complete with the throwing of the exceptional event, generating
a compilation error.

US Pat. No. 9,122,520

GENERIC WAIT SERVICE: PAUSING A BPEL PROCESS

Oracle International Corp...

1. A method performed by a generic wait service for pausing an instance of a service-oriented application the method comprising:
receiving, from the instance of the service-oriented application, an initiation message including a first set of attributes
and an exit criterion, the first set of attributes uniquely identifying the instance, the exit criterion identifying a condition
that should be satisfied before the instance is allowed to resume;

defining two or more wait states in parallel for the instance, wherein the two or more wait states include a first wait state
in which a first task flow begins execution after the first wait state and a second wait state in which a second task flow
begins execution after the second wait state which is parallel to the first wait state;

de-coupling the service-oriented application from event producers responsible for generating status information, wherein the
service-oriented application is not required to be aware of technical complexities involved in correlating a notification
message received from the event producers to a particular paused instance, and the event producers are not required to be
aware of the instance that is waiting for status information;

based on the first and second wait states, creating a correlation set based on the first set of attributes, the correlation
set associating the first set of attributes with the instance;

pausing the instance;
waiting for status information relevant to the instance;
receiving, from an event producer, a notification message including a second set of attributes and a status of a business
event;

determining, based on the correlation set, that the status is relevant to the instance;
determining, based on the status, that the exit criterion is satisfied; and
in response to the exit criterion being satisfied, sending the status to the instance and resuming the instance.

US Pat. No. 9,501,346

FINE AND COARSE GRANULARITY LOGGING HANDLER

ORACLE INTERNATIONAL CORP...

1. A non-transitory computer-storage medium storing instructions for processing log messages from a component that is part
of an application cluster and that when executed by one or more processors cause the one or more processors to at least:
collect log messages generated by the component according to a fine granularity and a coarse granularity, wherein the instructions
to collect the log messages according to the fine granularity include instructions to store a first set of messages from the
log messages in an incident buffer of a logging handler,

wherein the instructions to collect the log messages according to the coarse granularity include instructions to store a second
set of messages from the log messages in a regular buffer, and

wherein the second set of log messages includes fewer log messages than the first set of log messages; and
in response to detecting an error at the component, (i) freeze the incident buffer to preserve the first set of log messages
present in the incident buffer, and (ii) communicate the second set of log messages in the regular buffer to a logging appliance,

wherein the instructions to store the first set of messages in the incident buffer write a new log message by overwriting
an oldest log message that has been stored longer than other log messages of the first set of messages,

wherein the instructions to store the second set of messages store the second set of messages for a defined period of time
and do not overwrite messages in the regular buffer when writing a new log message, and

wherein the instructions to collect the log messages according to the fine granularity include instructions to collect log
messages according to the coarse granularity and collect additional messages that are not collected for the coarse granularity.

US Pat. No. 9,498,925

METHODS FOR MANUFACTURING AN EMBOSSER DRUM FOR USE IN PRE-FORMATTING OPTICAL TAPE MEDIA

Oracle International Corp...

1. A method for pre-formatting optical tape media, the method comprising:
obtaining a length of optical tape that has first and second opposing surfaces; and
embossing, using an embosser drum, a nanostructure pattern into at least one of the first and second opposing surfaces, wherein
the embosser drum is manufactured by a process that results in the embosser drum including an outer embossing surface that
is free of welded seams therein; wherein the embosser drum manufacturing process comprises the steps of:

welding opposing end surfaces of a metallic shim together at a single seam to form a first cylinder having an interior surface
with the nanostructure pattern;

applying a metallic layer to the interior surface of the cylinder to form a second cylinder on the interior surface of the
first cylinder; and

removing the first cylinder from the second cylinder, wherein the second cylinder comprises the embosser drum, and wherein
the removing includes cutting the opposing end surfaces from each other along the welded single seam and removing the first
cylinder from the second cylinder.

US Pat. No. 9,430,494

SPATIAL DATA CARTRIDGE FOR EVENT PROCESSING SYSTEMS

Oracle International Corp...

1. A system comprising:
a storage component configured to store a spatial data cartridge including metadata pertaining to a spatial function that
is not natively supported by the system and code that implements the spatial function, the spatial function being configured
to determine a topological relationship between first spatial data and second spatial data; and

a processor configured to:
receive a query referencing the spatial data cartridge and the spatial function to be evaluated using the spatial data cartridge,
the query being adapted to process one or more data streams;

compile the query based on the metadata included in the spatial data cartridge, the metadata comprising a list of arguments
for evaluating the spatial function using the spatial data cartridge; and

execute the query based on the code included in the spatial data cartridge;
wherein the query includes a link definition that specifies the spatial function and the spatial data cartridge;
wherein the processor is configured to identify the spatial data cartridge based on the link definition;
wherein the system is an event processing system.

US Pat. No. 9,424,080

SYSTEMS AND METHODS FOR UTILIZING FUTURES FOR CONSTRUCTING SCALABLE SHARED DATA STRUCTURES

Oracle International Corp...

1. A system, comprising:
one or more processor cores; and
a memory coupled to the one or more processor cores;
wherein the memory stores:
a shared data structure;
program instructions that when executed on the one or more processor cores cause the one or more processor cores to implement
a multithreaded application that invokes a plurality of operations targeting the shared data structure; and

program instructions that when executed on the one or more processor cores cause the one or more processor cores to implement
a futures support module;

wherein to invoke the plurality of operations targeting the shared data structure, one or more threads of the multithreaded
application are configured to create two or more pending futures, each pending future being implemented as a future data object
indicating a respective operation to be performed on the shared data structure prior to an evaluation of the pending future;

wherein between creation of a given one of the two or more pending futures and evaluation of the given pending future, a component
of the futures support module is configured to perform an optimization operation on a collection of pending futures that includes
the given pending future;

wherein subsequent to performing the optimization operation on the collection of pending futures, a component of the futures
support module is configured to determine one or more respective result values for one or more pending futures of the collection
of pending futures, including the given pending future; and

wherein the order in which the one or more respective result values for the one or more pending futures of the collection
of pending futures is determined or the optimization operation that is performed on the collection of pending futures is dependent,
at least in part, on a futures linearization policy.

US Pat. No. 9,425,114

FLIP CHIP PACKAGES

Oracle International Corp...

1. A lid-less flip chip package comprising:
a substrate;
a silicon die supported on and electrically connected with the substrate; and
one or more support structures supported on the substrate and positioned around the silicon die without covering the silicon
die, wherein the silicon die and support structures cooperate to support a heat sink such that the silicon die and support
structures distribute compression loads associated with the heat sink to the substrate, wherein the silicon die has a side
including one or more tracks formed therein, and wherein the side is positioned to be adjacent to the heat sink.

US Pat. No. 9,396,284

METHOD AND SYSTEM FOR IMPLEMENTING EFFICIENT UPDATABLE RELATIONAL VIEWS OVER XML DATA

ORACLE INTERNATIONAL CORP...

1. A computer implemented method for implementing an updateable relational view over XML, data, comprising:
generating the updateable relational view to respond to both SQL query operations and SQL update operations, the updateable
relational view comprising one or more rows and one or more columns, wherein data within the one or more rows and the one
or more columns are populated from underlying XML data that is not stored in a relational format;

using a processor to generate an index table for mapping node addresses within the underlying XML data to the updateable relational
view, an entry in the index table relates a node in the underlying XML data to an item of the data in the updateable relational
view, wherein the entry in the index table comprises a column that includes a node address for the node in the underlying
XML data;

receiving a SQL update operation, wherein the SQL update operation includes an update is directed to the updateable relational
view and not to the underlying XML data;

identifying the item of the data for updating in the updatable relational view to implement the SQL update operation, the
item of the data corresponding to the node in the underlying XML data;

using the index table to identify the node address of the node in the underlying XML data; and
updating the node at the node address within the underlying XML data to implement the update made to the updateable relational
view by the SQL update operation.

US Pat. No. 9,355,211

UNIFIED TOOL FOR AUTOMATIC DESIGN CONSTRAINTS GENERATION AND VERIFICATION

ORACLE INTERNATIONAL CORP...

10. A computing system, comprising:
model creating logic configured to read data structures comprising design data of a circuit design and generate computerized
design models based on the design data;

domain tagging logic configured to:
read data structures comprising a design intent specification of the circuit design,
perform an analysis of the computerized design models using at least clock and power information from the design intent specification,
and

tag the computerized design models with clock domains and power domains identified by the analysis;
boundary identification logic configured to identify, from the computerized design models, crossings of the clock domains
and crossings of the power domains;

constraint generation logic configured to analyze and cross-check a design intent of the design intent specification with
the computerized design models and generate design constraints for a physical flow of the circuit design; and

test bench and assertion generation logic configured to analyze and cross-check the design intent of the design intent specification
with the computerized design models and generate test benches and assertions for a verification flow of the circuit design.

US Pat. No. 9,336,397

COMBINING TYPE-ANALYSIS WITH POINTS-TO ANALYSIS FOR ANALYZING LIBRARY SOURCE-CODE

Oracle International Corp...

1. A method for statically analyzing a library comprising:
obtaining native method annotations associated with native methods invoked by the library;
extracting facts from the library to obtain library facts, wherein the library is written in a first programming language;
constructing a type-object lattice;
modeling an abstracted heap using the type-object lattice, wherein modeling the abstracted heap comprises expressing the abstracted
heap as rules and facts of a declarative logic programming language;

expressing abstracted heap update operations as heap update rules;
constructing, based on the library, a most general application (MGA) for the library;
analyzing the library using the native method annotations, the library facts, the MGA, the abstracted heap, and the heap update
rules to obtain results;

storing the results of the analysis, wherein the results comprise a source code location in the library at which a security
vulnerability exists; and

performing an action based on the results,
wherein the action comprises generating a report comprising the source code location of the security vulnerability, and
wherein the report is accessible by an interested entity.

US Pat. No. 9,332,049

MEDIA COMPRESSION FOR TUNNELED REAL-TIME COMMUNICATIONS

Oracle International Corp...

15. A system for compression of real-time communications (RTC), comprising:
an establishing module that establishes a tunnel with a user equipment (UE) by a tunneling server;
a communicating module that communicates traffic with the UE over the tunnel;
a receiving module that receives a request from a tunneling client at the UE to enable compression for the traffic, wherein
the request is in response to the UE determining that the traffic corresponds to encapsulated media;

a determining module that determines a codec out of available codecs for transcoding the encapsulated media at the tunneling
client and at the tunneling server;

a sending module that sends a response from the tunneling server to the UE to indicate that compression is enabled for the
encapsulated media; and

a communicating module that communicates compressed encapsulated media with the UE over the tunnel, wherein the compressed
encapsulated media comprises a compressed payload encoded by the determined codec.

US Pat. No. 9,298,713

EXECUTOR FOR SOFTWARE CONFIGURATION AUTOMATION

Oracle International Corp...

1. A distributed topology system, comprising:
a distributed topology engine configured to run on a server device and define a topology comprising a plurality of building
blocks, each building block representing at least one task pertaining to an application;

a distributed topology application configured to run on a client device and automatically execute at least one of the plurality
of building blocks; and

a distributed topology database configured to store the topology, wherein the topology specifies that a first one of the plurality
of building blocks is to be executed on a first host and a second one of the plurality of building blocks is to be executed
on a second host, and wherein the topology further specifies that the first and second ones of the plurality of building blocks
are to be executed at least partially concurrently with each other.

US Pat. No. 9,297,971

HYBRID-INTEGRATED PHOTONIC CHIP PACKAGE WITH AN INTERPOSER

ORACLE INTERNATIONAL CORP...

1. A chip package, comprising:
an integrated circuit having a front surface with integrated-circuit connector pads;
integrated-circuit electrical connectors electrically coupled to the integrated-circuit connector pads;
an interposer having a top surface, facing the front surface of the integrated circuit, with first interposer connector pads,
electrically coupled to the integrated-circuit electrical connectors, and second interposer connector pads;

input/output (I/O)-integrated-circuit electrical connectors electrically coupled to the second interposer connector pads;
an I/O integrated circuit having a front surface, facing the top surface, with first I/O-integrated-circuit connector pads
electrically coupled to the I/O-integrated-circuit electrical connectors, and second I/O-integrated-circuit connector pads,
wherein the I/O integrated circuit is proximate to the integrated circuit on a same side of the interposer, and wherein the
I/O integrated circuit includes electrical I/O circuits and optical driver and receiver circuits;

optical-integrated-circuit electrical connectors electrically coupled to the second I/O-integrated-circuit connector pads;
and

an optical integrated circuit having a top surface, facing the front surface of the I/O integrated circuit, with optical-integrated-circuit
connector pads electrically coupled to the optical-integrated-circuit electrical connectors, wherein the optical integrated
circuit is configured to communicate optical signals;

wherein the optical integrated circuit is placed adjacent to the interposer, and wherein a part of the I/O integrated circuit
extends beyond an edge of the interposer to dispose on top of the optical integrated circuit.

US Pat. No. 9,292,574

TACTICAL QUERY TO CONTINUOUS QUERY CONVERSION

Oracle International Corp...

1. A system, comprising:
a memory storing a plurality of instructions; and
one or more processors configured to access the memory, wherein the one or more processors are further configured to execute
the plurality of instructions to at least:

configure, based at least in part on an indication of business event data to be displayed, a query engine with a tactical
query, the tactical query configured to enable pulling the business event data from a database to the query engine;

receive, from a user, a first request to generate an active visualization of the business event data only for the user, the
first request to activate the visualization comprising at least a request to collapse the business event data into one or
more objects and to update the one or more objects based at least in part on a user-specified time interval;

enable, based at least in part on the first request, conversion, at runtime, of the tactical query to a continuous query configured
to enable a stream of the business event data to be pushed to the query engine and to generate one or more hybrid queries
for executing with a combination of the continuous query and a scheduled database query;

register a listening service to receive data pushed from the stream of the business event data;
execute the continuous query against the stream of business event data;
receive, during execution of the continuous query, a second request to change a dimension of the continuous query;
change the dimension of the continuous query via a dashboard at runtime based at least in part on the second request; and
provide a user interface configured to display the active visualization of the business event data pushed from the stream
to the query engine based at least in part on the execution of the continuous query against the stream of business event data.

US Pat. No. 9,285,539

POLARIZATION-INSENSITIVE SILICON-PHOTOTONIC OPTICAL RECEIVER

ORACLE INTERNATIONAL CORP...

1. An optical receiver, comprising:
a polarizing splitting grating coupler (PSGC) having an input port, a first output port and a second output port, wherein
the input port is configured to receive an input optical signal having two orthogonal polarization components and multiple
wavelengths, and wherein the first output port is configured to provide a first optical signal having a transverse-electric
(TE) mode corresponding to one of the two polarization components and the second output port is configured to provide a second
optical signal having the TE mode corresponding to the other of the two polarization components;

a first optical waveguide optically coupled to the first output port;
a second optical waveguide optically coupled to the second output port;
a wavelength-selective filter, optically coupled to the first optical waveguide and the second optical waveguide, having output
ports configured to provide output optical signals having the wavelengths in the first optical signal and the second optical
signal, wherein a given output port is configured to provide a given output optical signal having a given wavelength in one
of the first optical signal and the second optical signal, wherein the wavelength-selective filter includes pairs of ring-resonator
drop filters optically coupled to the first optical waveguide and the second optical waveguide, and optically coupled to the
optical detectors, wherein a first ring-resonator drop filter in a given pair of ring-resonator drop filters includes one
of the output ports and is configured to output the given output optical signal having the given wavelength in the first optical
signal, and wherein a second ring-resonator drop filter in the given pair of ring-resonator drop filters includes another
of the output ports and is configured to output the given output optical signal having the given wavelength in the second
optical signal; and

optical detectors, optically coupled to the wavelength-selective filter, configured to provide electrical signals corresponding
to the output optical signals, wherein a given optical detector is optically coupled to at least the given output port and
is configured to provide a given electrical signal corresponding to at least the given output optical signal.

US Pat. No. 9,275,369

DEMYSTIFYING OBFUSCATED INFORMATION TRANSFER FOR PERFORMING AUTOMATED SYSTEM ADMINISTRATION

Oracle International Corp...

1. A method, comprising:
receiving, by an administrator computer system, a plurality of input parameters including a first parameter specifying a plurality
of target computer systems, a second parameter specifying a command to be executed against the plurality of target computer
systems, and a third parameter specifying a total number of child processes that can be active at once for executing the command
in parallel against a subset of the plurality of target computer systems;

validating, by the administrator computer system, the plurality of input parameters by providing a ping to the plurality of
target computer systems;

subsequently to the validating, causing, by the administrator computer system, the command to be automatically executed in
parallel against the subset of the plurality of target computer systems, the subset comprising each target of the plurality
of target computer systems that replied to the ping;

storing, by the administrator computer system, output information and first error information generated as a result of the
command execution; and

storing, by the administrator computer system, second error information generated as a result of the receiving, validating,
and causing, the second error information being distinct from the first error information, wherein causing the command to
be automatically executed in parallel against the subset of the plurality of target computer systems further comprises, for
each target of the subset:

determining whether a current number of active child processes meets or exceeds the total number of child processes that can
be active at once; and

if the current number does not meet or exceed the total number:
forking a new child process for the target of the subset; and
executing the command against the target of the subset in the context of the new child process.

US Pat. No. 9,269,391

MANAGEMENT OF ROBOTICS ASSEMBLY AND CARTRIDGE ACCESS PORT OF MEDIA ELEMENT STORAGE LIBRARY

Oracle International Corp...

1. A method of operating a media element storage library, comprising:
accessing, by a robotics assembly of the media element storage library, at least one opening in a first position of a storage
container that is pivotable through a loading zone of the media element storage library between the first position and a second
position in which the at least one opening in the storage container faces an opening in a wall of the media element storage
library through which the at least one opening in the storage container is configured to be accessed by users.

US Pat. No. 9,245,572

OPTICAL TAPE PICK UP UNIT WITH HOLOGRAPHIC OPTICAL ELEMENT

Oracle International Corp...

12. An optical tape system comprising:
an optical tape pick up unit including a holographic optical element configured to introduce wavefront error via diffraction
into first order beams and an aspheric objective lens arranged such that the first order beams focused by the aspheric objective
lens onto an optical tape have wavefront error of less than 50 milliwaves.

US Pat. No. 9,171,591

CIRCUITS AND METHODS FOR EFFICIENT EXECUTION OF A READ OR A WRITE OPERATION

Oracle International Corp...

1. A system comprising:
a memory array including a way, the way including lower address memory cells for storing data and including higher address
memory cells for storing data, the lower address memory cells having lower addresses compared to addresses of the higher address
memory cells;

a read and compare circuit coupled to the memory array, the read and compare circuit for performing a read operation, the
read operation including reading the data stored within the lower address memory cells and for reading the data stored within
the higher address memory cells, the read and compare circuit for comparing the data stored within the lower address memory
cells with information received from a storage device to generate a result of comparison, the read and compare circuit for
comparing the data stored within the higher address memory cells with the information to generate a result of comparison;
and

a merge and multiplex circuit coupled to the read and compare circuit, the merge and multiplex circuit for merging the result
of comparison generated based on the comparison with the lower address memory cells and the result of comparison generated
based on the comparison with the higher address memory cells to create a merged outcome of comparison, the merged outcome
of comparison indicating whether the way has bits that match the information, the merge and multiplex circuit for selecting
between providing the merged outcome of comparison during the read operation as an output and providing an indication of a
selection of the way during a write operation as an output.

US Pat. No. 9,083,765

SYSTEMS AND METHODS OF OFFLINE PROCESSING

Oracle International Corp...

1. A system configured to operate within a computing device where the computing device includes an application configured
to communicate with a remote device using a network connection, the system comprising:
a source data store within the computing device that stores a plurality of forms received from the remote device during execution
of the application, where the plurality of forms include a plurality of data input fields to receive data for submission to
the remote device;

a link detection logic configured to determine a link status of the network connection where the link status includes an online
state and an offline state;

an offline logic configured to allow the application to continue operating when the network connection is in the offline state
by providing a simulated online state by allowing a user of the computing device to navigate between pages of the plurality
of forms that are stored in accordance with a page structure relationship determined between the plurality of forms, by allowing
data to be inputted to the plurality of data input fields while in the offline state, and to allow the plurality of forms
to generate network communications to be sent to the remote device, responsive to user interaction with the plurality of forms;

where the offline logic is configured to identify navigation options associated with the plurality of forms to determine page
structure relationships between the plurality of forms, where a navigation option is an option that is programmed in a form
to initiate a network communication to the remote device to cause the remote device to determine a next page in the plurality
of forms; and

redirecting the network communications and storing the network communications and the data from the plurality of data input
fields in a post data store; and

the offline logic being configured to submit the network communications and the data from the plurality of data input fields
from the post data store to the remote device when the link status changes to the online state.

US Pat. No. 9,519,592

STALE POINTER DETECTION WITH OVERLAPPING VERSIONED MEMORY

Oracle International Corp...

1. A method for managing virtual memory (VM) comprising:
incrementing, in response to updating a status of a VM location in a freed VM location list, a version of the VM location
to generate a first VM location version value for the VM location;

generating a first versioned VM address based on the first VM location version value;
receiving, from an application, a first access request comprising the first versioned VM address identifying the VM location;
obtaining, in response to the first access request, the first VM location version value from the first versioned VM address;
comparing, in response to the first access request, a first current VM location version value and the first VM location version
value to determine a match, wherein the first current VM location version value corresponds to the version of the VM location
concurrent with the first access request; and

servicing, in response to the match, the first access request using the first versioned VM address.

US Pat. No. 9,519,163

TUNABLE SILICON GRATING COUPLERS

ORACLE INTERNATIONAL CORP...

1. An integrated circuit, comprising:
a substrate;
a buried-oxide layer disposed on the substrate;
a semiconductor layer, disposed on the buried-oxide layer, having a top surface; and
a grating coupler, disposed in the semiconductor layer, having an alternating pattern of grating trenches and grating teeth
adjacent to the grating trenches, wherein the grating coupler is a portion of the semiconductor layer, and wherein the grating
trenches extend all the way through the semiconductor layer from the top surface to the buried-oxide layer;

wherein the grating trenches are filled with an electro-optical material; and
wherein the grating teeth are configured as electrodes to apply an electric potential across the electro-optical material
to modify an index of refraction of the electro-optical material.

US Pat. No. 9,519,692

VISUALIZING RELATED EVENTS WITHIN A TIMELINE

ORACLE INTERNATIONAL CORP...

1. A non-transitory computer-readable medium having instructions stored thereon that, when executed by a processor, cause
the processor to visualize events within a timeline, the visualizing comprising:
receiving data that represents a plurality of events;
creating an event group that comprises at least two events of the plurality of events, wherein the at least two events are
related events based on a criteria;

creating an event group software object that represents the event group, the event group software object storing at least
two keys, each of the at least two keys identifying one of the at least two events;

displaying a graphical user interface to a user, the graphical user interface including:
an overview panel displaying an overview of the timeline,
an overview window, slidingly disposed over the overview panel, highlighting a viewable portion of the timeline, the overview
window including a marker for the event group, and

a timeline panel, disposed adjacent to the overview panel, displaying the viewable portion of the timeline;
displaying the event group within the timeline panel;
in response to a first user action, using the at least two keys stored within the event group software object to identify
the at least two events and display the at least two events in an expanded view of the event group wherein the expanded view
comprises a layer comprising the at least two events and the layer is disposed on top of the timeline panel; and

removing the expanded view in response to a second user interaction outside of the layer.

US Pat. No. 9,449,034

GENERIC ONTOLOGY BASED SEMANTIC BUSINESS POLICY ENGINE

Oracle International Corp...

1. A computer-implemented method of implementing policies, comprising:
identifying, by a computer system, first data, the first data being stored in a first data store according to a first schema;
identifying at least a subset of the first data in the first data store as being relevant to one or more policies defined
by an organization;

populating a second data store with second data based at least in part on the subset of the first data in the first data store;
defining, based at least in part on the one or more policies, a second schema for analyzing the second data stored in the
second data store;

analyzing the second data in the second data store in accordance with the one or more policies to detect a policy violation,
the analyzing comprising:

analyzing the second data in the second data store in accordance with a first policy of the one or more policies when the
second schema is defined in accordance with a first schema type; and

analyzing the second data in the second data store in accordance with a second policy of the one or more policies when the
second schema is defined in accordance with a second schema type;

determining a conclusion from at least a portion of the second data based at least in part on the analyzing; and
providing the conclusion to a user.

US Pat. No. 9,201,595

HIGH SPEED READ ACCESS MEMORY ARRAY WITH VARIATION TOLERANT BYPASS SCHEME WITH PROTECTION CIRCUIT

Oracle International Corp...

1. A method for process variation tolerant bypass operation of a memory array, comprising:
receiving a memory command at the memory array corresponding to bypass operation of the memory array, wherein the memory command
includes bypass data to be written to and read from a memory location of the memory array in a single clock cycle period of
the memory array;

writing, using a memory I/O module, the bypass data to a location in the memory array during the single clock cycle period;
reading, using the memory I/O module, output data from the location in the memory array during the single clock cycle period;
comparing the output data from the memory array during the single clock cycle period in relation to a bypass verification
signal corresponding to an expected value of the output data of the single clock cycle period in view of the bypass data to
determine whether the output data corresponds with the bypass data; and

selectively passing the output data based on the comparing.

US Pat. No. 9,134,386

GIANT MAGNETORESISTIVE SENSOR HAVING HORIZONTAL STABILIZER

Oracle International Corp...

1. A giant magnetoresistive (GMR) sensor for reading information from a magnetic storage medium, the GMR sensor having a working
surface oriented proximate the magnetic storage medium during operation of the GMR sensor, the GMR sensor comprising:
a first non-magnetoresistive layer;
a first magnetoresistive layer formed on the first non-magnetoresistive layer;
a second non-magnetoresitive layer formed on the first magnetoresistive layer;
a second magnetoresistive layer formed on the second non-magnetoresistive layer; and
wherein the first non-magnetoresistive layer is provided with only a single step on a surface thereof, the step providing
a transitional surface in the first non-magnetoresistive layer between first and second levels of the surface of the first
non-magnetoresistive layer and having an edge along a line formed by a junction of the transitional surface and the first
level of the surface of the non-magnetoresistive layer, the edge extending in a direction substantially parallel to a plane
of the working surface of the GMR sensor.

US Pat. No. 9,104,770

METHODS FOR QUERY PROCESSING OF TOPOLOGICAL RELATIONSHIPS AMONG COMPLEX SPATIAL OBJECTS

ORACLE INTERNATIONAL CORP...

1. A method for processing queries of spatial objects, the method comprising:
receiving a query requesting a description of a spatial relationship between a query polygon and a test object;
obtaining the query polygon formed from a plurality of line segments, wherein the query polygon has a boundary, an interior,
and an exterior;

obtaining a minimum bounding box (MBR) containing the test object, the test object having one or more features including one
or more of a boundary, an exterior, or an interior;

obtaining an In-Memory R-tree (IMR-tree) for accessing one or more bounding boxes of the query polygon, wherein each bounding
box contains a particular group of the line segments of the query polygon;

determining a first spatial relationship between the MBR of the test object and the query polygon by searching the IMR-tree
with the MBR of the test object;

adjusting values in a 9-intersection matrix to describe the first spatial relationship, wherein the values of the matrix describe
intersections of any features of the test object with the boundary, the interior, or the exterior of the query polygon;

if the first spatial relationship does not specify the requested description:
determining a second spatial relationship between the test object and the query polygon by searching the IMR-tree using the
one or more features of the test object; and

adjusting the values in the 9-intersection matrix to describe the second spatial relationship; and
returning the adjusted 9-intersection matrix as an answer to the query;
wherein the method is performed by one or more computing devices.

US Pat. No. 9,047,136

METHOD AND SYSTEM FOR MIGRATING THE STATE OF A VIRTUAL CLUSTER

ORACLE INTERNATIONAL CORP...

1. A method for migrating a state of a virtual cluster, comprising:
using at least one computer to capture the state of the virtual cluster on a first computer system, wherein the virtual cluster
includes one or more virtual nodes, and wherein a given virtual node of the one or more virtual nodes represents a machine;
and

instantiating the captured state of the virtual cluster on a second computer system,
wherein the captured state comprises an address for a network resource, names and paths of a file system and a failover file
system for the virtual cluster, CPU and memory information for the virtual cluster, security privileges, and, for each of
the one or more virtual nodes, a name for the virtual node and a mapping of the virtual node to a physical machine that the
virtual node resides on.

US Pat. No. 9,900,981

FLEXIBLE CIRCUIT WITH PARTIAL GROUND PATH

Oracle International Corp...

1. A flexible circuit comprising:
a substrate having an end portion, the end portion having electrical contacts;
at least one insulating layer deposited over the substrate;
a handling portion along the substrate, the handling portion having a surface; and
a material deposited over the substrate, deposited over the surface of the handling portion, and extending between at least
some of the electrical contacts and the handling portion,

wherein the material has a conductivity less than a conductivity of the electrical contacts,
wherein the material has a conductivity greater than a conductivity of the at least one insulating layer of the flexible circuit,
wherein the material is deposited in a predefined pattern based on the conductivity of the material to provide a resistance
between the electrical contacts and the handling portion within a predefined target range.

US Pat. No. 9,519,585

METHODS AND SYSTEMS FOR IMPLEMENTING TRANSCENDENT PAGE CACHING

ORACLE INTERNATIONAL CORP...

1. A method of implementing a shared cache between a plurality of virtual machines, the method comprising:
maintaining, by a computer system, the plurality of virtual machines on one or more physical machines, wherein each of the
plurality of virtual machines includes a private cache;

determining, by the computer system, portions of the private caches that are idle;
maintaining, by the computer system, a shared cache that comprises the portions of the private caches that are idle;
storing, by the computer system, data associated with the plurality of virtual machines in the shared cache; and
load balancing, by the computer system, use of the shared cache between the plurality of virtual machines.

US Pat. No. 9,519,680

METHODS FOR QUERY PROCESSING OF TOPOLOGICAL RELATIONSHIPS AMONG COMPLEX SPATIAL OBJECTS

Oracle International Corp...

1. A method comprising:
receiving a query requesting a spatial relationship between a query object and at least one test object, the query object
comprising a plurality of line segments;

obtaining a minimum bounding box containing the at least one test object;
obtaining an In-Memory R-tree (IMR-tree) for accessing one or more bounding boxes of the query object, wherein each bounding
box of said one or more bounding boxes contains one or more of the plurality of line segments of the query object;

determining at least one first value in a set of spatial relationship values for the at least one test object by searching
the IMR-tree with the minimum bounding box of the at least one test object;

wherein the set of spatial relationship values includes one or more values that describe whether a boundary, an interior or
an exterior of the at least one test object intersects a boundary, an interior, or an exterior of the query object;

determining if the spatial relationship can be resolved based on the at least one first value;
if the spatial relationship cannot be resolved based on the at least one first value:
obtaining the at least one test object;
determining at least one second value in the set of spatial relationship values for the at least one test object by searching
the IMR-tree using the at least one test object;

wherein the spatial relationship can be resolved based on the set of spatial relationship values after determining the at
least one second value;

wherein the method is performed by one or more computing devices.

US Pat. No. 9,406,364

CODEC TO REDUCE SIMULTANEOUSLY SWITCHING OUTPUTS

Oracle International Corp...

1. An apparatus, comprising:
a row decode circuit configured to decode a first portion of a given data word of a first plurality of data words, wherein
each data word of the first plurality of data words includes N data bits, and wherein N is a positive integer greater than
one;

a column decode circuit configured to decode a second portion of the given data word of the first plurality of data words,
wherein the second portion is not the same as the first portion;

a memory array coupled to the row decode circuit and the column decode circuit, wherein the memory array is configured to:
store a second plurality of data words, wherein each data word of the second plurality of data words includes M data bits,
and wherein M is a positive integer greater than N; and

retrieve a given data word of the second data words dependent upon the decoded first portion of the given data word and the
decoded second portion of the given data word.

US Pat. No. 9,355,932

HEAT DISSIPATION STRUCTURE FOR AN INTEGRATED CIRCUIT (IC) CHIP

ORACLE INTERNATIONAL CORP...

1. An apparatus for cooling an integrated circuit (IC) die, comprising:
an adhesion layer with high thermal conductivity coated on a surface of the IC die; and
a heat dissipation structure comprising one or more sets of heat dissipation plates affixed to the adhesion layer, each plate
in the one or more sets having a fin-shaped geometry and oriented such that a largest face of the plate is perpendicular to
the surface of the IC die;

wherein, for a given set of the heat dissipation plates, a first and a second of the plates in the given set are mechanically
coupled through two or more top beams located away from the surface of the IC die and oriented perpendicularly to the largest
face of the first and second plates;

wherein the second and a third of the plates for the given set are mechanically coupled through two or more bottom beams located
near the surface of the IC die and oriented perpendicularly to the largest face of the second and the third plates; and

wherein bottom portions of the first and second plates are not mechanically coupled to each other, and top portions of the
second and third plates are not mechanically coupled to each other.

US Pat. No. 9,311,410

SUBJECT MATTER CONTEXT SEARCH ENGINE

Oracle International Corp...

1. A method utilizing at least one computing device for searching stored data, comprising steps of:
providing a list of potential search terms pertaining to a subject matter of interest, wherein the list of potential search
terms is generated independent of the stored data;

identifying source terms in a source form from the stored data;
establishing a set of rules for transforming the potential search terms from a first form to a standardized form and for transforming
the source terms in the source form to the standardized form, wherein the standardized form differs from both the first form
and the source form with respect to at least one of linguistics and syntax;

transforming, using the set of rules, a given term of the potential search terms, thereby providing a transformed potential
search term in the standardized form, wherein at least two separate terms from the list of potential search terms in the first
form correspond to a first single term in the standardized form;

transforming, using the set of rules, a given term of the source terms, thereby providing a transformed source term in the
standardized form, wherein two separate terms from the source terms correspond to a second single term in the standardized
form;

associating the transformed potential search term and the transformed source term with a common classification structure;
receiving a search request comprising one term of the list of potential search terms; and
using the transformed potential search term corresponding to the one term of the potential search terms of the search request
relative to the common classification structure having the transformed source term to search the stored data in response to
the search request;

wherein the transforming steps and the associating step occur prior to the receiving of the search request.

US Pat. No. 9,292,268

SYSTEMS AND METHODS FOR UNIQUELY DEFINING FORTRAN RUN TIME TYPE DESCRIPTORS FOR POLYMORPHIC ENTITIES

Oracle International Corp...

1. A computer-implemented method, comprising:
generating a plurality of object files from a plurality of source code portions, wherein at least one of the source code portions
comprises at least one variable, and wherein the generating comprises:

instantiating Fortran type descriptor definitions of the at least one variable in each of the object files;
marking each type descriptor definition with a singleton attribute; and
associating common type descriptor definitions across the object files with common COMDAT groups;
performing a folding operation of the type descriptor definitions in common COMDAT groups across the plurality of object files
to obtain a single copy of each type of type descriptor definition in an executable file, wherein each of the single copies
resides at a particular address in memory; and

for each type of type descriptor definition, using the singleton attribute of the single copy to bind all references to the
type to the single copy.

US Pat. No. 9,141,340

INTEGRATION MESSAGE RESUBMISSION TOOL

Oracle International Corp...

1. A non-transitory computer readable medium having instructions stored thereon that, when executed by a processor, cause
the processor to resubmit a message for integration of applications, the resubmitting comprising:
receiving context information associated with a plurality of messages configured to be communicated between different types
of integration milestones, wherein each of the different types of integration milestones corresponds to a message checkpoint
associated with an application, wherein at least two of the different types of integration milestones implement different
logics for resubmission of failed messages, wherein each of the plurality of messages has failed to be transmitted between
the different types of integration milestones, and the plurality of messages includes the message;

receiving filtering criteria related to the received context information;
selecting the message for resubmission by filtering the received context information based on the received filtering criteria;
and

sending the message from a first integration milestone to a second integration milestone.

US Pat. No. 9,137,032

SPECIFYING DESIRED LIST OF RECIPIENTS IN ELECTRONIC MAILS

Oracle International Corp...

1. A method of processing email communications, said method being performed in an end user system, said method comprising:
receiving, in said end user system, a criteria for determining the recipients of an email communication while said email communication
is composed at said end user system, wherein said criteria comprises one or more conditions, each condition containing a pre-defined
field, a conditional operator and a set of values;

identifying in said end user system, a set of recipients matching said criteria by sending a query specifying said criteria
and receiving email identifiers of said recipients as a response,

wherein an enterprise data store maintains information on a plurality of users of an enterprise, wherein said query is processed
by said enterprise data store to generate information representing said set of recipients by processing said criteria,

wherein said enterprise data store includes a user in said set of recipients only if the information of said user matches
said one or more conditions,

wherein said end user system sends said query to said email server, which in turn forwards said query to said enterprise data
store to cause said criteria to be processed by said enterprise data store, wherein said information is thereafter forwarded
to said end user system,

said set of recipients being contained in said plurality of users, said information containing an email address of each of
said set of recipients to represent the corresponding user; and

forwarding from said end user system to said email server, said email communication containing said email identifiers to specify
that said email communication is to be delivered to said set of recipients.

US Pat. No. 9,135,301

PUSHDOWN OF SORTING AND SET OPERATIONS (UNION, INTERSECTION, MINUS) TO A LARGE NUMBER OF LOW-POWER CORES IN A HETEROGENEOUS SYSTEM

ORACLE INTERNATIONAL CORP...

1. A method of performing a query operation on a pair of relations in a database system coupled to a plurality of compute
nodes, the method comprising: receiving a request to perform the query operation on the pair of relations; determining a type
of query operation from the request;
computing a first cost of performing the query operation on the database system without assistance of the plurality of compute
nodes, each compute node of the plurality of compute nodes comprising at least one processor and its own main memory;

computing one or more second costs of performing the query operation on the database system with assistance of the plurality
of compute nodes using one or more algorithms,

wherein the plurality of compute nodes is arranged in one or more hierarchies each comprising a root compute node, a plurality
of leaf compute nodes, and a plurality of intermediate compute nodes,

wherein performing the query operation on the database system with the assistance of the plurality of compute nodes comprises
performing portions of the query operation on one or more of the plurality of compute nodes;

comparing the first cost and the one or more second costs to determine whether to perform the query operation with the assistance
of the plurality of compute nodes using a particular algorithm of the one or more algorithms;

if it is determined to perform the query operation with the assistance of the plurality of compute nodes, performing portions
of the query operation in accordance with the particular algorithm on the pair of relations on one or more of the plurality
of compute nodes.

US Pat. No. 9,135,302

QUERY REWRITE WITH A NESTED MATERIALIZED VIEW

Oracle International Corp...

1. A computer-implemented method, comprising steps of:
selecting, from among a hierarchy of materialized views, only first-tier materialized views that depend directly on a base
table;

establishing a set of candidate materialized views that consists only of the first-tier materialized views;
based on a cardinality of a nested materialized view that is a descendant of a particular first-tier materialized view, selecting
the particular first-tier materialized view from among the set of candidate materialized views even though the particular
first-tier materialized view does not have a lowest cardinality among cardinalities of first-tier materialized views in said
set of candidate materialized views;

based on said selecting, rewriting an existing query statement, which references said base table, into a rewritten query statement
that references said particular first-tier materialized view instead of said base table;

wherein said first-tier materialized view is a parent materialized view to another materialized view; and
wherein said method is performed by one or more computing devices.

US Pat. No. 9,123,377

APPARATUS AND METHOD FOR ALLOWING PASSAGE OF A LEADER THROUGH A TAPE DRIVE TAPE PATH

Oracle International Corp...

1. A tape drive for use with a tape, the tape drive comprising:
a head for performing read and/or write operations on the tape;
a drive leader that is cooperable with the tape for moving the tape along a tape path of the tape drive; and
a retraction mechanism for retracting the tape, the drive leader and/or a cartridge leader attached to the tape away from
the head to allow at least a portion of the drive leader to pass by the head without contacting the head, the retraction mechanism
including a movable pin that is engageable with the tape, the cartridge leader and/or the drive leader, the pin being movable
from a first position proximate the head to a second position disposed further away from the head than the first position.

US Pat. No. 9,286,330

MIGRATION OF DATA OBJECTS

ORACLE INTERNATIONAL CORP...

1. A non-transitory computer readable medium having instructions stored thereon that, when executed by a processor, causes
the processor to migrate first data objects from a first repository product to a second repository product, the migrating
comprising:
exporting the first data objects from the first repository product into a schema, the schema defining a logical model of the
first data objects;

mapping the first data objects to second data objects of the second repository product;
trimming the first data objects so that the first data objects are modified and can be migrated to the second repository product;
creating placeholders within the second repository product that uniquely identify attributes of each of the first data objects
for later deployment binding; and

publishing the first objects to the second repository product based on the created placeholders,
wherein the first repository product uses a first logical model and the second repository product utilizes a second logical
model.

US Pat. No. 9,235,723

SYSTEMS AND METHODS FOR CONTEXT-SENSITIVE DATA SECURITY FOR BUSINESS APPLICATION PERFORMANCE OPTIMIZATION

ORACLE INTERNATIONAL CORP...

1. A system for context-sensitive data security for business application performance optimization, comprising:
a computer including a processor;
a context capture module that captures context attributes associated with a user interaction with a business application;
and

a context processor that receives as input the context attributes and a set of one or more data security predicate (DSP) sub-queries
applicable to the user, and applies the context attributes to the DSP sub-queries to produce a context-sensitive query,

wherein the context-sensitive query is a simplification of the set of one or more DSP sub-queries applicable to the user,
wherein the simplification results from the application of the context attributes to the DSP sub-queries; and
a security framework that determines, based on the user's role and a current context, the set of DSP sub-queries applicable
to the user, and provides the set of DSP sub-queries to the context processor in response to the user interaction.

US Pat. No. 10,055,224

RECONFIGURABLE HARDWARE STRUCTURES FOR FUNCTIONAL PIPELINING OF ON-CHIP SPECIAL PURPOSE FUNCTIONS

Oracle International Corp...

1. A device comprising:a first multiplexer operatively coupled between a first streaming functional unit and a first plurality of potential input sources;
wherein the first streaming function unit is dynamically configurable to perform any one of a first plurality of functions;
wherein the first plurality of functions includes a first function;
a second multiplexer operatively coupled between a second streaming functional unit and a second plurality of potential input sources;
wherein the second streaming function unit is dynamically configurable to perform any one of a second plurality of functions;
wherein the second plurality of functions includes a second function;
wherein output of the first streaming functional unit is one potential input source, of the second plurality of potential input sources;
a scheduler configured to perform the following in response to a request to perform an operation that involves the first function and the second function:
determine how to configure the first multiplexer and second multiplexer to make use of the first streaming functional unit and the second streaming functional unit in performing the operation;
send one or more first signals to the first streaming functional unit to dynamically configure the first streaming functional unit to perform the first function;
send one or more second signals to the second streaming functional unit to dynamically configure the second streaming functional unit to perform the second function; and
send signals to the first multiplexer and the second multiplexer to dynamically configure the first multiplexer and second multiplexer to make use of the first streaming functional unit and the second streaming functional unit in performing the operation.

US Pat. No. 9,507,566

ENTROPY GENERATION FOR A DISTRIBUTED COMPUTING SYSTEM

ORACLE INTERNATIONAL CORP...

1. A method comprising:
generating a first entropy using a hardware random number generator in a management computer, wherein the management computer
is configured to manage a main computer, wherein the main computer controls a physical nodes executing a virtual machine;

transmitting, from the management computer, the first entropy to the main computer;
combining, by the main computer the first entropy with a second entropy generated by the main computer to generate a third
entropy; and

transmitting, from the main computer, the third entropy to the virtual machine executing on the physical node;
wherein the method is performed by at least one device including a hardware processor.

US Pat. No. 9,208,241

USER INTERFACE TASK FLOW COMPONENT

Oracle International Corp...

1. A method of generating a user interface at a client computer, the method comprising:
including a plurality of region tags in a definition of the user interface, wherein each region tag corresponds to a task
flow component stored on a remote server, and each task flow component comprises a plurality of sub-pages and a control flow
for the sub-pages;

executing at the client computer the definition including the region tags and in response receiving the corresponding task
flow components from a remote server and generating the user interface with a plurality of regions, and embedding one of the
received task flow components in each of the regions; and

displaying a first task flow sub-page of the plurality of sub-pages within each region of the user interface and enabling
the control flow;

wherein the control flow automatically determines that the first task flow sub-page is an initial sub-page of the plurality
of sub-pages to display and automatically determines, in response to a request to perform an action on a second task flow
sub-page, whether navigation should occur to a third sub-page and determines the third sub-page from the plurality of sub-pages
to navigate to and to display within the region that replaces the second task flow sub-page;

wherein the control flow further determines one or more parameters to pass from the second sub-page to the third sub-page
upon navigation to the third sub-page;

wherein a remainder of the user interface is isolated from the region during navigation between the sub-pages;
wherein the plurality of region tags are generated by, using an editor, providing a developer of an application with a list
of valid task flow components that are part of the application and each provide a predefined functionality, and allowing the
developer to select one of the valid task flow components to be embedded into each region in the user interface, wherein each
task flow component selected causes the corresponding region tag in the definition of the user interface to be generated,
and the corresponding functionality of the plurality of sub-pages and the control flow of the selected task flow component
to be executed as a region component within the region after the user interface is generated at the client computer.