In gas and oil exploration, potential drilling and production sites (i.e., “prospects”) may be ranked by chance of success for finding gas or oil. This chance may be calculated by convolution of several different geological quantities such as reservoir quality, seal quality, the probability of charging the reservoir from a source rock and the maturity of the source rock. In general, oil and gas reservoirs may include reservoir traps (e.g., oil and gas traps), where such traps generally refer to a subsurface pool of hydrocarbons enclosed in porous or fractured rock formations.
In general, exploration for oil, gas, and other natural resources and extraction thereof may make use of various characteristics of subsurface formations. Therefore, a continuing need exists for improved analysis systems and methods for oil and gas exploration and extraction.
In general, in one aspect, embodiments relate to a method for managing a reservoir. The method includes: receiving a plurality of geological data values associated with the reservoir; identifying a plurality of catchment areas associated with the reservoir based on the plurality of geological data values; identifying a plurality of spill points for the reservoir based on the plurality of catchment areas; identifying a plurality of reservoir traps for the reservoir based on the plurality of spill points and the plurality of catchment areas; and determining a plurality of effective trap sizes and a plurality of effective catchment area sizes based on the plurality of reservoir traps and the plurality of catchment areas.
In general, in one aspect, embodiments relate to a system for managing a reservoir. The system comprises: a processor; a repository storing a plurality of geological data values associated with the reservoir; a reservoir engine executing on the processor that: identifies a plurality of catchment areas associated with the reservoir based on the plurality of geological data values; identifies a plurality of spill points for the reservoir based on the plurality of catchment areas; identifies a plurality of reservoir traps for the reservoir based on the plurality of spill points and the plurality of catchment areas; and determines a plurality of effective trap sizes and a plurality of effective catchment area sizes based on the plurality of reservoir traps and the plurality of catchment areas; and a model generator that: generates a basin model associated with the reservoir that includes an indicator of the plurality of effective trap sizes associated with the reservoir and an indicator of the plurality of effective catchment area sizes; and generates a visualization of the basin model for output on a display.
In general, in one aspect, embodiments relate to a non-transitory computer readable medium (CRM) storing instructions for managing a reservoir. The instructions comprises functionality for: receiving a plurality of geological data values associated with the reservoir; identifying a plurality of catchment areas associated with the reservoir based on the plurality of geological data values; identifying a plurality of spill points for the reservoir based on the plurality of catchment areas; identifying a plurality of reservoir traps for the reservoir based on the plurality of spill points and the plurality of catchment areas; and determining a plurality of effective trap sizes and a plurality of effective catchment area sizes based on the plurality of reservoir traps and the plurality of catchment areas; determining an economic value of the reservoir based on the plurality of effective trap sizes and the plurality of effective catchment area sizes.
Other aspects will be apparent from the following description and the appended claims.
Specific embodiments will now be described in detail with reference to the accompanying figures. Like elements in the various figures are denoted by like reference numerals for consistency.
In the following detailed description of embodiments, numerous specific details are set forth in order to provide a more thorough understanding of the embodiments. However, it will be apparent to one of ordinary skill in the art that various embodiments may be practiced without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily complicating the description.
One or more embodiments relate to a method, system, and non-transitory computer readable medium (CRM) storing instructions for managing a reservoir. Specifically, effective trap sizes and effective catchment area sizes associated with the oil and gas reservoir are determined. In general, each effective trap size and the effective catchment area size may be included in a model of the oil and gas reservoir. Consistent with one or more embodiments, each effective trap size and the effective catchment area size may be used in determining a probability of success associated with the oil and gas reservoir for extraction of hydrocarbons, determining an economic value associated with the oil and gas reservoir, ranking the oil and gas reservoir relative to other oil and gas reservoirs, and/or other such processes that may be performed when analyzing oil and gas reservoirs for prospecting.
In general, an oil and gas reservoir may include one or more reservoir traps, where a reservoir trap generally corresponds to a subsurface pool of hydrocarbons enclosed in porous or fractured rock formations. The reservoir trap may correspond to a structural trap in the form of a smooth anticlinal layer structure, a trap in a faulted reservoir, a trap touching one or more faults of the same or different types (e.g., sealing faults), etc. A reservoir trap may form as a result of changes in a subsurface, where such changes may block the upward migration of hydrocarbons, which may lead to the formation of an oil and gas reservoir. In general, each reservoir trap is associated with a catchment area (also called a drainage area). In the case of many trap types (e.g., structural traps), the upward migration is due to the fact that the oil and gas are lighter than water. In the case of other trap types (e.g., hydrodynamic traps), the upwards migration is against overall fluid potential (i.e., overpressure gradients). The catchment area is effectively the channel in which hydrocarbons migrate upwards to reach the reservoir and afterwards migrate laterally into the same trap. Accordingly, the trap may be considered a container for storing hydrocarbons while the catchment area may be considered the access door or influx gate that leads into trap. A structural spill point generally corresponds to a lowest point of a reservoir trap that may retain hydrocarbons. Once a reservoir trap is filled to an associated spill point, further storage or retention of hydrocarbons may not occur for lack of reservoir space within the reservoir trap. In this case, the hydrocarbons may spill or leak out and migrate to another reservoir trap. In some reservoirs, some reservoir traps may be proximate one another and/or have a common spill point there between (i.e., related reservoir traps), such that hydrocarbons spilling from a first reservoir trap by way of a common spill point may be trapped in a second reservoir trap that is associated with the common spill point.
In some embodiments, related traps may be merged to form an effective trap that is representative of the related reservoir traps, but reflects a different estimation of oil and gas volume retained in the related reservoir traps Similarly, the corresponding catchment areas may also be merged to form an effective catchment area. An effective trap size based on the effective trap and an effective catchment area size based on the effective catchment area may be used in oil and gas subsurface modeling and prospecting. In some embodiments, the effective trap size may be larger than the sum of individual trap sizes of the related reservoir traps. In general, the merging of related reservoir traps and their corresponding catchment areas, and the determination of the effective trap size and the effective catchment area size may be based at least in part on the structural spill points and rules associated with the spilling and back spilling of hydrocarbons for proximate structures (e.g., related reservoir traps) having a common spill point. In these embodiments, structural spill points may be analyzed to determine an overall spill point for the related reservoir traps based on a depth associated with each structural spill point. Based on the overall spill point, the related reservoir traps and their catchment areas may be merged, and the effective trap size may be determined based at least in part on the overall spill point. The effective catchment area size may be determined from the effective trap. In some embodiments, the effective trap size may correspond to a volume, where such volume may be used to estimate a volume of hydrocarbons trapped in the one or more related reservoir traps corresponding to the effective trap.
One or more embodiments may utilize the effective trap size and the effective catchment area size associated with a reservoir for quantifying possible oil and gas resources for a reservoir, estimating oil and gas resources prior to drilling, modeling the oil and gas reservoir, and/or other such oil and gas exploration related computer implemented processes. Other variations and modifications will be apparent to one of ordinary skill in the art.
Oilfield Operations
Computer facilities may be positioned at various locations about the oilfield 100 (e.g., the surface unit 134) and/or at remote locations. Surface unit 134 may be used to communicate with the drilling tools and/or offsite operations, as well as with other surface or downhole sensors. Surface unit 134 is capable of communicating with the drilling tools to send commands to the drilling tools, and to receive data therefrom. Surface unit 134 may also collect data generated during the drilling operation and produces data output 135, which may then be stored or transmitted.
Sensors (S), such as gauges, may be positioned about oilfield 100 to collect data relating to various oilfield operations as described previously. As shown, sensor (S) is positioned in one or more locations in the drilling tools and/or at rig 128 to measure drilling parameters, such as weight on bit, torque on bit, pressures, temperatures, flow rates, compositions, rotary speed, and/or other parameters of the field operation. Sensors (S) may also be positioned in one or more locations in the circulating system.
Drilling tools 106.2 may include a bottom hole assembly (BHA) (not shown), generally referenced, near the drill bit (e.g., within several drill collar lengths from the drill bit). The bottom hole assembly includes capabilities for measuring, processing, and storing information, as well as communicating with surface unit 134. The bottom hole assembly further includes drill collars for performing various other measurement functions.
The bottom hole assembly may include a communication subassembly that communicates with surface unit 134. The communication subassembly is adapted to send signals to and receive signals from the surface using a communications channel such as mud pulse telemetry, electro-magnetic telemetry, or wired drill pipe communications. The communication subassembly may include, for example, a transmitter that generates a signal, such as an acoustic or electromagnetic signal, which is representative of the measured drilling parameters. It will be appreciated by one of skill in the art that a variety of telemetry systems may be employed, such as wired drill pipe, electromagnetic or other known telemetry systems.
Generally, the wellbore is drilled according to a drilling plan that is established prior to drilling The drilling plan generally sets forth equipment, pressures, trajectories and/or other parameters that define the drilling process for the wellsite. The drilling operation may then be performed according to the drilling plan. However, as information is gathered, the drilling operation may need to deviate from the drilling plan. Additionally, as drilling or other operations are performed, the subsurface conditions may change. The earth model may also need adjustment as new information is collected.
The data gathered by sensors (S) may be collected by surface unit 134 and/or other data collection sources for analysis or other processing. The data collected by sensors (S) may be used alone or in combination with other data. The data may be collected in one or more databases and/or transmitted on or offsite. The data may be historical data, real time data, or combinations thereof. The real time data may be used in real time, or stored for later use. The data may also be combined with historical data or other inputs for further analysis. The data may be stored in separate databases, or combined into a single database.
Surface unit 134 may include transceiver 137 to allow communications between surface unit 134 and various portions of the oilfield 100 or other locations. Surface unit 134 may also be provided with or functionally connected to one or more controllers (not shown) for actuating mechanisms at oilfield 100. Surface unit 134 may then send command signals to oilfield 100 in response to data received. Surface unit 134 may receive commands via transceiver 137 or may itself execute commands to the controller. A processor may be provided to analyze the data (locally or remotely), make the decisions and/or actuate the controller. In this manner, oilfield 100 may be selectively adjusted based on the data collected. This technique may be used to optimize portions of the field operation, such as controlling drilling, weight on bit, pump rates, or other parameters. These adjustments may be made automatically based on computer protocol, and/or manually by an operator. In some cases, well plans may be adjusted to select optimum operating conditions, or to avoid problems.
Wireline tool 106.3 may be operatively connected to, for example, geophones 118 and a computer 122.1 of a seismic truck 106.1 of
Sensors (S), such as gauges, may be positioned about oilfield 100 to collect data relating to various field operations as described previously. As shown, sensor S is positioned in wireline tool 106.3 to measure downhole parameters which relate to, for example porosity, permeability, fluid composition and/or other parameters of the field operation.
Sensors (S), such as gauges, may be positioned about oilfield 100 to collect data relating to various field operations as described previously. As shown, the sensor (S) may be positioned in production tool 106.4 or associated equipment, such as christmas tree 129, gathering network 146, surface facility 142, and/or the production facility, to measure fluid parameters, such as fluid composition, flow rates, pressures, temperatures, and/or other parameters of the production operation.
Production may also include injection wells for added recovery. One or more gathering facilities may be operatively connected to one or more of the wellsites for selectively collecting downhole fluids from the wellsite(s).
While
The field configurations of
Data plots 208.1-208.3 are examples of static data plots that may be generated by data acquisition tools 202.1-202.3, respectively, however, it should be understood that data plots 208.1-208.3 may also be data plots that are updated in real time. These measurements may be analyzed to better define the properties of the formation(s) and/or determine the accuracy of the measurements and/or for checking for errors. The plots of each of the respective measurements may be aligned and scaled for comparison and verification of the properties.
Static data plot 208.1 is a seismic two-way response over a period of time. Static plot 208.2 is core sample data measured from a core sample of the formation 204. The core sample may be used to provide data, such as a graph of the density, porosity, permeability, or some other physical property of the core sample over the length of the core. Tests for density and viscosity may be performed on the fluids in the core at varying pressures and temperatures. Static data plot 208.3 is a logging trace that generally provides a resistivity or other measurement of the formation at various depths.
A production decline curve or graph 208.4 is a dynamic data plot of the fluid flow rate over time. The production decline curve generally provides the production rate as a function of time. As the fluid flows through the wellbore, measurements are taken of fluid properties, such as flow rates, pressures, composition, etc.
Other data may also be collected, such as historical data, user inputs, economic information, and/or other measurement data and other parameters of interest. As described below, the static and dynamic measurements may be analyzed and used to generate models of the subterranean formation to determine characteristics thereof. Similar measurements may also be used to measure changes in formation aspects over time.
The subterranean structure 204 has a plurality of geological formations 206.1-206.4. As shown, this structure has several formations or layers, including a shale layer 206.1, a carbonate layer 206.2, a shale layer 206.3 and a sand layer 206.4. A fault 207 extends through the shale layer 206.1 and the carbonate layer 206.2. The static data acquisition tools are adapted to take measurements and detect characteristics of the formations.
While a specific subterranean formation with specific geological structures is depicted, it will be appreciated that oilfield 200 may contain a variety of geological structures and/or formations, sometimes having extreme complexity. In some locations, generally below the water line, fluid may occupy pore spaces of the formations. Each of the measurement devices may be used to measure properties of the formations and/or its geological features. While each acquisition tool is shown as being in specific locations in oilfield 200, it will be appreciated that one or more types of measurement may be taken at one or more locations across one or more fields or other locations for comparison and/or analysis.
The data collected from various sources, such as the data acquisition tools of
Each wellsite 302 has equipment that forms wellbore 336 into the earth. The wellbores extend through subterranean formations 306 including reservoirs 304. These reservoirs 304 contain fluids, such as hydrocarbons. The wellsites draw fluid from the reservoirs and pass them to the processing facilities via surface networks 344. The surface networks 344 have tubing and control mechanisms for controlling the flow of fluids from the wellsite to processing facility 354.
Reservoir Effective Trap and Effective Catchment Area Modeling
In general, one or more embodiments may determine effective traps and effective catchment areas that correspond to related reservoir traps of an oil and gas reservoir. An effective trap size may be determined based on the effective trap that generally corresponds to a hydrocarbon volume that may be trapped in the related reservoir traps. The effective catchment area size may be determined based on the effective trap size and the sizes of the individual catchment areas corresponding to the related reservoir traps. Accordingly, the effective trap size and the effective catchment area size may be used to estimate hydrocarbon volume, economic values, and/or other such characteristics of the reservoir for oil and gas prospecting.
In one or more embodiments, the surface unit 499 includes the repository 498. The repository 498 may be implemented in hardware (e.g., circuitry), software, firmware, or any combination thereof. The repository 498 may be implemented as a database, a flat file, a lookup table, or any other data structure. In one or more embodiments, the repository 498 stores geological values associated with an oil and gas reservoir. One or more of these geological values may be obtained from sensors or tools (discussed above) in the oilfield. One or more of these geological values may be obtained from simulations or models of the oilfield. One or more of these geological values may be obtained from oilfield personnel (e.g., operators, petroleum engineers, geophysicists, etc.). One or more of these geological values may be measurements of various features of the reservoir and/or the oilfield.
In one or more embodiments, the surface unit 499 includes the reservoir engine 496. The reservoir engine 496 may be implemented in hardware (e.g., circuitry), software, firmware, or any combination thereof. In one or more embodiments, the reservoir engine 496 is configured to identify catchment areas associated with the reservoir based on the plurality of geological data values. The reservoir engine 496 may also identify a plurality of spill points for the reservoir based on the catchment areas. Further still, the reservoir engine 496 may identify reservoir traps for the reservoir based on the plurality of spill points and the plurality of catchment areas. Further still, the reservoir engine 496 may also determine effective trap sizes and multiple effective catchment area sizes based on the reservoir traps and the catchment areas (discussed below).
In one or more embodiments, the surface unit 499 includes the model generator 494. The model generator 494 is configured to generate a basin model associated with the reservoir that includes an indicator of the effective trap size and an indicator of the effective catchment area size. The model generator 494 may also be configured to generate a visualization of the basin model for output on a display or printer.
Although
Turning now to
Based on the reservoir analysis common structural spill points, related reservoir traps and their corresponding catchment areas may be determined (block 510), where related reservoir traps generally refer to reservoir traps that share and/or are proximate a spill point. The related reservoir traps and their corresponding catchment areas are merged to form an effective trap and an effective catchment area (block 512). An overall spill point is determined for each effective trap (block 514), where the overall spill point is determined based at least in part on a depth of the spill points associated with the related reservoir traps. In general, the overall spill point corresponds to the spill point at which hydrocarbons will spill from the related reservoir traps. A contact area may be determined for each effective trap (block 516). The contact area generally refers to a defining limit between water and hydrocarbons in the reservoir. In general, hydrocarbons are less dense than water in a reservoir such that the hydrocarbons are above water in the reservoir, and therefore, the contact area defines a lower limit of hydrocarbons in the reservoir. Based on the overall spill point, the seal, and the contact area, an effective trap size and an effective catchment area size for each set of merged reservoir traps is determined (block 518). In general, the effective trap size may be a volume that is defined by the upper limit of the seal and the lower limit of the overall spill point. In general, the effective catchment area size may be calculated from all surrounding points which are directly connected by an upward path below the seal to the top of the structure.
In one or more embodiments, following Block 518, the process returned to Block 506. In other words, the process is recursive. Existing merged traps may be merged with other already merged traps to form new effective traps and their corresponding catchment areas.
Similarly,
Therefore, in the examples provided in
Based at least in part on the determined hydrocarbon volume, embodiments may evaluate a reservoir for a chance of success for finding and extracting oil and gas resources from the reservoir. Furthermore, the reservoir may be ranked relative to other reservoirs based on the chance of success and/or other economic values that may be determined based on the effective trap size.
As should be appreciated, some oil and gas reservoirs may comprise a plurality of reservoir traps with corresponding catchment areas, which may or may not be related. As such, embodiments may determine one or more effective traps for the reservoir for one or more groups of related reservoir traps. Similarly, embodiments may determine one or more effective catchment areas for the one or more groups of related catchment areas. Accordingly, an effective trap size of a reservoir may be based on one or more effective trap sizes determined for one or more related reservoir traps. Similarly, an effective catch size for the reservoir may be based on one or more effective trap sizes determined for the related catchment areas corresponding to the related traps.
Accordingly, some embodiments may include one or more of a method, computing device, computer-readable medium, and system for determining effective trap size and an effective catchment area size for prospect risking. Some embodiments comprise a chance of successful exploration determination (i.e., chance of success) that may be determined with one or more computer implemented methods based at least in part on effective trap sizes and effective catchment sizes. The determination of a chance of success may be referred to as “play to prospect risk analysis”, “play chance mapping”, “play chance assessment” or “exploration geology analysis”. Additional details regarding reservoirs, reservoir traps, and various characteristics thereof may be found, for example, in T. Hantschel & A. I. Kauerauf: Fundamentals of Basin and Petroleum Systems Modeling, Springer 2009, which is incorporated by reference herein.
As discussed, some embodiments may include the calculation of structural spill points and a merger of reservoir traps and catchment areas according to rules based on spilling and back spilling from nearby structures which share the same spill point. In such situations a merging of structures (i.e., reservoir traps, catchment areas) and calculation/re-calculation of oil and/or gas storage volume may be involved for a more accurate estimation of effective trap sizes and effective catchment area sizes. Effective trap sizes and effective catchment area sizes can be taken into account in a convolution procedure of the risk assessment, which may allow for an improved quantification of the possible petroleum (i.e., hydrocarbons, oil and gas resources) in place and thus for an improved chance of successful exploration as compared to quantifications based on individual analysis of reservoir traps and their corresponding catchment areas. Hence, a chance of finding oil and gas in exploration can be estimated for prospects before drilling based on the effective trap sizes and the effective catchment area sizes. The chance of success may be calculated in a risking procedure based on some geological features such as seal and reservoir quality, petroleum generation potential, effective trap size, effective catchment area size, etc.
In general, trap sizes may be calculated by searching of structural spill points, i.e. of potentially completely filled structures. Hydrocarbons (e.g., petroleum) are generally lighter than surrounding water in a reservoir. A contact area between water and petroleum may generally be considered to be a flat, horizontal meniscus and thus trap size can be calculated by numerical evaluation of the volume between the seal above the flat meniscus within a reservoir (e.g., the shaded areas of the reservoir traps 608, 610 of
When, however, reservoir traps share a structural spill point (i.e., related reservoir traps), overcharging of these two structures (i.e., merging) with oil can lead to one accumulation covering both traps (see e.g.,
Determining effective trap size may comprise calculating spill points and corresponding depths, searching spill points which are common to at least two reservoir traps, defining effective traps, and calculating an effective trap size based on a volume between a reservoir seal and a depth of an overall spill point. Consistent with embodiments, basin modeling, reservoir modeling, chance of success assessments, and/or other such oil and gas prospecting procedures may be based at least in part on effective trap sizes and their corresponding effective catchment areas associated with one or more reservoirs.
It will be appreciated that determination of trap sizes or volumes of effective traps based upon overall spill points would be well within the abilities of one of ordinary skill in the art having the benefit of the instant disclosure, as would implementation of the herein-described techniques in a computer system.
Embodiments may be implemented on a computing system. Any combination of mobile, desktop, server, router, switch, embedded device, or other types of hardware may be used. For example, as shown in
The computer processor(s) (1302) may be an integrated circuit for processing instructions. For example, the computer processor(s) may be one or more cores or micro-cores of a processor. The computing system (1300) may also include one or more input devices (1310), such as a touchscreen, keyboard, mouse, microphone, touchpad, electronic pen, or any other type of input device.
The communication interface (1312) may include an integrated circuit for connecting the computing system (1300) to a network (not shown) (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, mobile network, or any other type of network) and/or to another device, such as another computing device.
Further, the computing system (1300) may include one or more output devices (1308), such as a screen (e.g., a liquid crystal display (LCD), a plasma display, touchscreen, cathode ray tube (CRT) monitor, projector, or other display device), a printer, external storage, or any other output device. One or more of the output devices may be the same or different from the input device(s). The input and output device(s) may be locally or remotely connected to the computer processor(s) (1302), non-persistent storage (1304), and persistent storage (1306). Many different types of computing systems exist, and the aforementioned input and output device(s) may take other forms.
Software instructions in the form of computer readable program code to perform embodiments may be stored, in whole or in part, temporarily or permanently, on a non-transitory computer readable medium such as a CD, DVD, storage device, a diskette, a tape, flash memory, physical memory, or any other computer readable storage medium. Specifically, the software instructions may correspond to computer readable program code that, when executed by a processor(s), is configured to perform one or more embodiments.
The computing system (1300) in
Although not shown in
The nodes (e.g., node X (1322), node Y (1324)) in the network (1320) may be configured to provide services for a client device (1326). For example, the nodes may be part of a cloud computing system. The nodes may include functionality to receive requests from the client device (1326) and transmit responses to the client device (1326). The client device (1326) may be a computing system, such as the computing system shown in
The computing system or group of computing systems described in
Based on the client-server networking model, sockets may serve as interfaces or communication channel end-points enabling bidirectional data transfer between processes on the same device. Foremost, following the client-server networking model, a server process (e.g., a process that provides data) may create a first socket object. Next, the server process binds the first socket object, thereby associating the first socket object with a unique name and/or address. After creating and binding the first socket object, the server process then waits and listens for incoming connection requests from one or more client processes (e.g., processes that seek data). At this point, when a client process wishes to obtain data from a server process, the client process starts by creating a second socket object. The client process then proceeds to generate a connection request that includes at least the second socket object and the unique name and/or address associated with the first socket object. The client process then transmits the connection request to the server process. Depending on availability, the server process may accept the connection request, establishing a communication channel with the client process, or the server process, busy in handling other operations, may queue the connection request in a buffer until server process is ready. An established connection informs the client process that communications may commence. In response, the client process may generate a data request specifying the data that the client process wishes to obtain. The data request is subsequently transmitted to the server process. Upon receiving the data request, the server process analyzes the request and gathers the requested data. Finally, the server process then generates a reply including at least the requested data and transmits the reply to the client process. The data may be transferred, more commonly, as datagrams or a stream of characters (e.g., bytes).
Shared memory refers to the allocation of virtual memory space in order to substantiate a mechanism for which data may be communicated and/or accessed by multiple processes. In implementing shared memory, an initializing process first creates a shareable segment in persistent or non-persistent storage. Post creation, the initializing process then mounts the shareable segment, subsequently mapping the shareable segment into the address space associated with the initializing process. Following the mounting, the initializing process proceeds to identify and grant access permission to one or more authorized processes that may also write and read data to and from the shareable segment. Changes made to the data in the shareable segment by one process may immediately affect other processes, which are also linked to the shareable segment. Further, when one of the authorized processes accesses the shareable segment, the shareable segment maps to the address space of that authorized process. Often, only one authorized process may mount the shareable segment, other than the initializing process, at any given time.
Other techniques may be used to share data, such as the various data described in the present application, between processes. The processes may be part of the same or different application and may execute on the same or different computing system.
Rather than or in addition to sharing data between processes, the computing system performing one or more embodiments may include functionality to receive data from a user. For example, in one or more embodiments, a user may submit data via a graphical user interface (GUI) on the user device. Data may be submitted via the graphical user interface by a user selecting one or more graphical user interface widgets or inserting text and other data into graphical user interface widgets using a touchpad, a keyboard, a mouse, or any other input device. In response to selecting a particular item, information regarding the particular item may be obtained from persistent or non-persistent storage by the computer processor. Upon selection of the item by the user, the contents of the obtained data regarding the particular item may be displayed on the user device in response to the user's selection.
By way of another example, a request to obtain data regarding the particular item may be sent to a server operatively connected to the user device through a network. For example, the user may select a uniform resource locator (URL) link within a web client of the user device, thereby initiating a Hypertext Transfer Protocol (HTTP) or other protocol request being sent to the network host associated with the URL. In response to the request, the server may extract the data regarding the particular selected item and send the data to the device that initiated the request. Once the user device has received the data regarding the particular item, the contents of the received data regarding the particular item may be displayed on the user device in response to the user's selection. Further to the above example, the data received from the server after selecting the URL link may provide a web page in Hyper Text Markup Language (HTML) that may be rendered by the web client and displayed on the user device.
Once data is obtained, such as by using techniques described above or from storage, the computing system, in performing one or more embodiments, may extract one or more data items from the obtained data. For example, the extraction may be performed as follows by the computing system in
Next, extraction criteria are used to extract one or more data items from the token stream or structure, where the extraction criteria are processed according to the organizing pattern to extract one or more tokens (or nodes from a layered structure). For position-based data, the token(s) at the position(s) identified by the extraction criteria are extracted. For attribute/value-based data, the token(s) and/or node(s) associated with the attribute(s) satisfying the extraction criteria are extracted. For hierarchical/layered data, the token(s) associated with the node(s) matching the extraction criteria are extracted. The extraction criteria may be as simple as an identifier string or may be a query presented to a structured data repository (where the data repository may be organized according to a database schema or data format, such as XML).
The extracted data may be used for further processing by the computing system. For example, the computing system of
The computing system in
The user, or software application, may submit a statement or query into the DBMS. Then the DBMS interprets the statement. The statement may be a select statement to request information, update statement, create statement, delete statement, etc. Moreover, the statement may include parameters that specify data, or data container (database, table, record, column, view, etc.), identifier(s), conditions (comparison operators), functions (e.g. join, full join, count, average, etc.), sort (e.g. ascending, descending), or others. The DBMS may execute the statement. For example, the DBMS may access a memory buffer, a reference or index a file for read, write, deletion, or any combination thereof, for responding to the statement. The DBMS may load the data from persistent or non-persistent storage and perform computations to respond to the query. The DBMS may return the result(s) to the user or software application.
The computing system of
For example, a GUI may first obtain a notification from a software application requesting that a particular data object be presented within the GUI. Next, the GUI may determine a data object type associated with the particular data object, e.g., by obtaining data from a data attribute within the data object that identifies the data object type. Then, the GUI may determine any rules designated for displaying that data object type, e.g., rules specified by a software framework for a data object class or according to any local parameters defined by the GUI for presenting that data object type. Finally, the GUI may obtain data values from the particular data object and render a visual representation of the data values within a display device according to the designated rules for that data object type.
Data may also be presented through various audio methods. In particular, data may be rendered into an audio format and presented as sound through one or more speakers operably connected to a computing device.
Data may also be presented to a user through haptic methods. For example, haptic methods may include vibrations or other physical signals generated by the computing system. For example, data may be presented to a user using a vibration generated by a handheld computer device with a predefined duration and intensity of the vibration to communicate the data.
The above description of functions present only a few examples of functions performed by the computing system of
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the embodiments. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. Furthermore, to the extent that the terms “includes”, “having”, “has”, “with”, “comprised of”, or variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising.”
While various embodiments have been described in considerable detail, it is not the intention of the Applicant to restrict or in any way limit the scope of the appended claims to such detail. For example, the operations represented by blocks of the flowcharts included herein may be reorganized, performed concurrently, and/or sequentially in any order. Additional advantages and modifications will readily appear to those skilled in the art. Other embodiments are not limited to the specific details, representative apparatus and method, and illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the spirit or scope of the Applicant's general inventive concept.
While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this disclosure, will appreciate that other embodiments can be devised which do not depart from the scope of the invention as disclosed herein. Accordingly, the scope of the invention should be limited only by the attached claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2017/012793 | 1/10/2017 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62277875 | Jan 2016 | US |