WO2017004104A1 - Method and system for service offer management - Google Patents

Method and system for service offer management Download PDF

Info

Publication number
WO2017004104A1
WO2017004104A1 PCT/US2016/039929 US2016039929W WO2017004104A1 WO 2017004104 A1 WO2017004104 A1 WO 2017004104A1 US 2016039929 W US2016039929 W US 2016039929W WO 2017004104 A1 WO2017004104 A1 WO 2017004104A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
project
service provider
client
data
Prior art date
Application number
PCT/US2016/039929
Other languages
French (fr)
Inventor
Wolfgang WEINZIERL
Original Assignee
Schlumberger Technology Corporation
Schlumberger Canada Limited
Services Petroliers Schlumberger
Geoquest Systems B.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Schlumberger Technology Corporation, Schlumberger Canada Limited, Services Petroliers Schlumberger, Geoquest Systems B.V. filed Critical Schlumberger Technology Corporation
Publication of WO2017004104A1 publication Critical patent/WO2017004104A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/08Construction

Definitions

  • Models may be generated from the data by interpreting the data, and applying various analytic techniques to generate data points where data does not exist. Simulations may be performed on the models to obtain simulation results. Based on an analysis of the simulation results, excavation for the natural resources may be performed. Because of costs associated with gathering the large amounts of data as well as the competitive advantage that having such data offers, companies endeavor to maintain protection of such data.
  • one or more embodiments relate to a method to provide integrated services to clients including receiving a project specification for a project for a client, transmitting, to service providers, a service offer request, and receiving, in response to the service offer request, service offers from the service providers.
  • a service provider receives a project specification for a project for a client, transmitting, to service providers, a service offer request, and receiving, in response to the service offer request, service offers from the service providers.
  • an acceptance of a service offer is sent based on the service provider providing the service offer satisfying a criterion for the project defined by the project specification.
  • Access to a set of tools and client data on a computing system is granted to the service provider. While the service provider is performing the project, the access by the service provider is limited to using the set of tools with the client data on the computing system.
  • a status update is provided to the client based on the service provider performing the project.
  • FIG. 1 is a schematic view, partially in cross-section, of a field in which one or more embodiments.
  • FIG. 2 shows a schematic diagram of a system in accordance with one or more embodiments of the technology.
  • FIG. 3, FIG. 4, and FIG. 5 show flowcharts in accordance with one or more embodiments of the technology.
  • FIG. 6 shows an example in accordance with one or more embodiments.
  • FIG. 7.1 and FIG. 7.2 show a computing system in accordance with one or more embodiments.
  • ordinal numbers e.g., first, second, third, etc.
  • an element i.e., any noun in the application.
  • the use of ordinal numbers is not to imply or create any particular ordering of the elements nor to limit any element to being a single element unless expressly disclosed, such as by the use of the terms "before”, “after”, “single”, and other such terminology. Rather, the use of ordinal numbers is to distinguish between the elements.
  • a first element is distinct from a second element, and the first element may encompass more than one element and succeed (or precede) the second element in an ordering of elements.
  • embodiments are directed to a method and system for performing a field operation by at least improving the client's access to field technology.
  • a project platform is provided that connects clients and service providers while maintaining the security protections of the client data.
  • service providers are granted access to tools, while being prevented from exporting data from the project platform.
  • clients may select a type of oil and/or gas service and/or project and then submit various design specifications that describe the scope of work for the service project.
  • various users may submit a bid using the project for performing a service using a resource pool offered to users (e.g., service companies or external consultants) using the project platform.
  • the project platform may provide a virtual tendering process hosted within the platform that allows users fully integrated computing cloud software to deliver on the service/project.
  • resource revenue and cloud revenue e.g., infrastructure that includes hardware, software licensing and network security
  • the service provider may deliver the service while being prevented from extracting the proprietary client data.
  • a service is labor that may be provided by a service provider for a client.
  • a service may be an analysis of seismic data, generation of a program, generation of a geological model, generation of a well plan, or other actions that may be performed by a service provider.
  • FIG. 1 depicts a schematic view, partially in cross section, of a field (100) in which one or more embodiments may be implemented.
  • one or more of the modules and elements shown in FIG. 1 may be omitted, repeated, and/or substituted. Accordingly, embodiments should not be considered limited to the specific arrangements of modules shown in FIG. 1.
  • a geologic sedimentary basin contains subterranean formations (104).
  • the subterranean formation (104) may include several geological structures (106-1 through 106-4).
  • the formation (104) may include a shale layer (106-1), a limestone layer (106-2), a sandstone layer (106-3), and another shale layer (106-4).
  • a fault plane (107) may extend through the formation.
  • the geologic sedimentary basin includes rock formations and at least one reservoir including fluids.
  • the rock formations include at least one seal rock as, for example, the shale layer (106-1), which may act as a top seal.
  • the rock formations may include at least one seal rock as, for example, the shale layer (106-4), which may act as a bottom seal.
  • various survey tools and/or data acquisition tools are adapted to measure the formation (104) and detect the characteristics of the geological structures of the formation (104).
  • survey operations and wellbore operations are referred to as field operations of the field (100). These field operations may be performed as directed by the surface unit (112).
  • the surface unit (112) is communicatively coupled to the E&P computer system (118).
  • the data received by the surface unit (112) may be sent to the E&P computer system (118) for further analysis.
  • the E&P computer system (118) is configured to analyze, model, control, optimize, or perform management tasks of the aforementioned field operations based on the data provided from the surface unit (112).
  • the E&P computer system (118) is provided with functionality for manipulating and analyzing the data, such as performing simulation, planning, and optimization of production operations of the wellsite system A (114-1), wellsite system B (114-2), and/or wellsite system C (114-3).
  • the result generated by the E&P computer system (118) may be displayed for an analyst user to view the result in a two-dimensional (2D) display, three-dimensional (3D) display, or other suitable displays.
  • 2D two-dimensional
  • 3D three-dimensional
  • the surface unit (112) is shown as separate from the E&P computer system (118) in FIG. 1, in other examples, the surface unit (112) and the E&P computer system (118) may also be combined.
  • FIG. 1 shows a field (100) on the land
  • the field (100) may be an offshore field.
  • the subterranean formation (104) may be in the sea floor.
  • field data may be gathered from the field (100) that is an offshore field using a variety of offshore techniques for gathering field data.
  • the data received by the surface unit (112) represents characteristics of the subterranean formation (104) and may include seismic data and/or information related to location of the horizon and fault surfaces or characteristics of the formation rocks like porosity, saturation, permeability, natural fractures, stress magnitude and orientations, elastic properties, etc. during a drilling, fracturing, logging, or production operation of the wellbore (103) at the wellsite system.
  • FIG. 2 shows a diagram of a system in which one or more embodiments of a method and system for virtually integrated service may be implemented.
  • one or more of the modules and elements shown in FIG. 2 may be omitted, repeated, and/or substituted. Accordingly, embodiments of prospect assessment using structural framework should not be considered limited to the specific arrangements of modules shown in FIG. 2.
  • the E&P computer system (118) shown in FIG. 1 may be the same or similar to the computer system (218) shown in FIG. 2.
  • the computer system (218) shown in FIG. 2 may be connected to the E&P computer system (118) in FIG. 1.
  • the project platform includes a collaborative architecture with secure network channels between client facilities and computer systems for users to complete work within the computer system.
  • the collaborative architecture may monitor client data, such as data from a seismic survey and wellsite data.
  • the system includes a client side (200) that includes one or more clients (e.g. client Q (201), client R (204)), a service provider side (210) that includes one or more service providers (e.g. service providers S (211), service provider T (214)), the computer system (218), and a field equipment module (260) connected to the computer system (218).
  • the computer system (218), clients and service providers are connected via a network (270).
  • the client side (200) may include multiple unconnected and disparate clients (e.g., client Q (201), client R (204)).
  • a client is an individual, organization, business entity, or other group that requests a service and the entity on whose behalf the service is performed.
  • the client is deemed to perform an action when an action is performed on behalf of the client.
  • a representative or third party business may request the service for the client.
  • the service provider side (210) may include multiple unconnected and disparate service providers (e.g., service provider S (211), service provider T (214)).
  • a service provider is an individual, organization, business entity, or other group that provides a service.
  • the computer system (218) includes a security framework (220), a project manager (230), a data repository (240) and an analysis toolset (250).
  • the data repository (240) may include one or more disk drive storage devices, one or more semiconductor storage devices, other suitable computer data storage devices, or combinations thereof.
  • content stored in the data repository (240) may be stored as a data file, a linked list, a data sequence, a database, a graphical representation, any other suitable data structure, or combinations thereof.
  • the data repository (240) includes functionality to store one or more project specification (241), service offers (244), input parameters (247), and output parameters (249).
  • Project specifications (241) are specifications of projects for which a service is requested in accordance with one or more embodiments.
  • a project specification may include a set of descriptive elements that characterize the project to be developed.
  • the project specifications may include a set of requirements, calculations, technical details, data manipulation procedures, processing guidelines and other specific functionalities that define the scope of the project.
  • the set of requirements is the functionality that the project is able to achieve, the report that is to be generated by the project, or another end goal for the project. Calculations may specify types of equations that are to be performed.
  • the project specifications may define criteria that can be used to judge service offers.
  • the criteria may be minimum characteristics (e.g., rating, education, experience) of service providers that may perform the project.
  • the criteria may also define minimum requirements for service offers (e.g., time requirements, costs, etc.).
  • the project specifications may describe the interfaces and communication channels.
  • the project specification establishes the basis for an agreement between a client and a service provider on what the project product is to do as well as what it is not expected to do.
  • the project specifications may contain description of project, project objectives, user access protocols, design specifications, success criteria, input parameters required, marketing expectations, project maintenance, project timeline, and budget constraints.
  • the project specifications provide a basis for bid evaluations and permit a best selection of a service provider.
  • a project specification may further define a set of tools that are to be used for the project, level of access for the service provider, and data protections for the client data.
  • the data protections may be relationships between identification of a data item of client data (e.g., oilfield data models, seismic data, etc.) and one or more Boolean values defining whether a read, write, and copy permission exist for the data item.
  • the service offers (244) are a set of offers for providing the service to perform the project.
  • Each service offer includes a set of activity commitments which define the level of service in terms of availability, scope and pricing.
  • a service offer specifies a delivery of a service that includes one or more activities.
  • service offers enables a client to understand the service that will be provided, including what each activity does and does not include, eligibility, limitations, cost, communication interfaces for communications between clients and service providers, and technical support.
  • service offers may identify internal processes to provide and support the service.
  • the input parameters (247) are a set data that are available to the service provider and may be used to execute the project.
  • the data collections may represent the values of physical attributes that characterize various project components.
  • the output products (249) include a set of data that results from project development.
  • the output products are produced by the service provider at the end of the project execution.
  • the security framework (220) includes a collection of standards and procedures that are configured to ensure private and confidential access to a subset of data in the data repository.
  • the security framework may comprise a dedicated hardware security layer, a software security layer or both.
  • the secure access to the subset of the data is controlled by implementation of authentication protocols and by establishment of an encrypted communication channel.
  • the project manager (230) software, hardware, firmware, or any combination thereof that initiates, plans, executes, controls, and close the work of a project in order to achieve specific goals and meet specific criteria.
  • the project manager may be configured to control the project execution in a time-constrained environment. For example, the project manager may define deadlines and monitors progress of a work on a project.
  • the project manager may be configured to synchronize and control the sequence of various tasks and service providers access to a specific project.
  • the project manager includes an online project service offer interface having hardware and/or software for obtaining a project specification, distributing requests for service offers, obtaining service offers, requesting information on the service offer, and requesting price quotations for the service offer.
  • An online service offer interface may provide various cloud computing tools for requesting bids for a particular service offer from various service providers with access to the project platform.
  • the project manager may include a system for feedback and recommendation to allow evaluation of bids in the online service offer interface.
  • the analysis toolset (250) includes domestic tools (251), external tools (254), consultant tools (257), and external databases (259).
  • the analysis toolset (250) may include various user applications for performing project scoped work through the project platform.
  • the project platform may also include client specific customizations of the user applications.
  • the analysis toolset is hosted on an application server having hardware and/or software for project scoped work submitted according to the online interface of the project manager.
  • the domestic tools (251) include a collection of software solutions aimed to solve specific project problems and are managed by a platform operator.
  • the domestic tools (251) are tools developed by the platform operator.
  • the domestic tools (251) may include a reservoir simulator, a multiphase flow simulator, well trajectory planning platform, network pipe simulator, or other tool.
  • a reservoir simulator may model geological structures, including heterogeneous formations, and completion configurations.
  • a multiphase flow simulator includes functionality to simulate flow behavior, including the physics describing flow through the production systems, from reservoir pore to process facility.
  • the multiphase flow simulator models time-dependent behaviors, or transient flow, to maximize production potential.
  • the domestic tools are hosted on the project platform.
  • the external tools (254) include a collection of software solutions aimed to solve specific project problems and are managed by an external operator.
  • external tools (254) are tools that are externally developed and sold by a third party company.
  • the third party company is not the platform operator.
  • the external tools (254) are hosted on the project platform.
  • the consultant tools (257) include a collection of software solutions aimed to solve specific project problems and are managed by an external operator.
  • the external tools are hosted on an external platform.
  • the external data repositories are a set of interfaces that links to a collection of data hosted on external platforms that are accessible to the service provider.
  • the data from the external databases may be incorporated in the project development.
  • client data may be stored in an external data repository.
  • the client data is any data of the client that may be operated on by the service provider.
  • the client data may be client proprietary data.
  • the client proprietary data is data that is confidential to the client.
  • the client proprietary data may be owned by the client.
  • the field equipment module (260) that is configured to generate a field operation control signal based at least on a result generated by the computer system, such as based on the project analysis results.
  • Field equipment depicted in FIG. 1 above may be controlled by the field operation control signal.
  • the field operation control signal may be used to control drilling equipment, an actuator, a fluid valve, or other electrical and/or mechanical devices disposed about the field (100) depicted in FIG. 1 above.
  • the network (270) is defined as a communications network which allows computers to exchange data.
  • networked computers exchange data with each other using a data link.
  • the connections between computers are established using wired and/or wireless media.
  • the network is the Internet.
  • FIGs. 3, 4, and 5 show flowcharts in accordance with one or more embodiments. While the various blocks in these flowcharts are presented and described sequentially, one of ordinary skill will appreciate that at least some of the blocks may be executed in different orders, may be combined or omitted, and at least some of the blocks may be executed in parallel. Furthermore, the actions in the blocks may be performed actively or passively. For example, some actions may be performed using polling or be interrupt driven in accordance with one or more embodiments.
  • determination blocks may not use a processor to process an instruction unless an interrupt is received to signify that condition exists in accordance with one or more embodiments. As another example, determination blocks may be performed by performing a test, such as checking a data value to test whether the value is consistent with the tested condition in accordance with one or more embodiments.
  • FIG. 3 shows a flowchart in accordance with one or more embodiments.
  • a project specification for a project for a client is received in accordance with one or more embodiments.
  • the project manager receives the project specification for a new project.
  • the project specification may be received via an application programming interface (API) and/or graphical user interface (GUI) of the project manager.
  • API application programming interface
  • GUI graphical user interface
  • the client may provide at least a portion of the project specification in the Extensible Markup Language (XML) format or other format in accordance with a predefined and published standard.
  • Providing and receiving the project specification may be through an interface whereby the project specification may be uploaded onto the computing system after authenticating the client.
  • at least a portion of the project specification may be provided via a GUI.
  • a service offer request is transmitted to the service providers in accordance with one or more embodiments.
  • the service offer request is an electronic notification of a new project specification and a request to submit a service offer for the project specification.
  • the project manager identifies service providers that comply with the minimum criteria set forth in the project specification.
  • the project manager may transmit service proposal request (e.g., via text messaging, email, application messaging, etc.) to each selected service provider informing the existence of the project.
  • the project manager may publish the existence of the project on a website that is accessible by multiple service providers.
  • the website may be tailored to each particular service provider, may be publically available, may use authentication to access, or may have another form of access.
  • service providers may review the service offer request, obtain the project specification from a link associated with the service offer request, and determine whether to submit a service offer. If the service provider decides to submit the service offer, then the service provider may generate a service offer. Because the service offer request may be shown to multiple service providers, who may not otherwise be known to the client, one or more embodiments connect the clients to the multiple disparate service providers. However, because of the particular proprietary nature of the client data, the client data is still protected. Service offers received may or may not be hidden from the other service providers.
  • one or more service offers are received from service providers in response to the service offer request.
  • the project manager receives the service offer for a new project.
  • the service offer may be received via an API or GUI of the project manager.
  • the service provider may provide at least a portion of the service offer in the XML format or other format in accordance with a predefined and published standard.
  • Providing and receiving the service offer may be through an interface, whereby the service offer may be uploaded onto the computing system after authenticating the service provider.
  • at least a portion of the service offer may be provided via a GUI using GUI widgets.
  • an acceptance of a service offer is sent to a service provider based on the service provider providing the service offer satisfying a criterion for the project defined by the project specifications.
  • service offers received are submitted to the client.
  • the project manager may perform a complete or partial analysis of the service offers, and compare the service offers with the criterion in the project specification. If the service offer does not satisfy the criterion in the project specification, then the service offer is not shown to the client in accordance with one or more embodiments.
  • service offers, which fail the project specification may be presented to the client if other service offers do not exist.
  • each service offer received is presented to the client as the service offer is received.
  • predefined time period exists whereby service offers may be received.
  • the service offers are analyzed to determine which service offer or set of service offers should be accepted.
  • FIG. 4 shows an example flowchart for analyzing service offers in accordance with one or more embodiments.
  • Block 350 access is granted for the service provider to the set of tools and to client data on a server.
  • the service provider of the accepted service offer is granted access to the set of tools on the computing system.
  • the service provider may remotely perform the service. Granting access includes associating the service provider identifier with the set of tools in the security framework.
  • Block 360 while the service provider is performing the project, access used by the service provider to the set of tools with the client data on the computing system.
  • the service provider may not export the client data or use the set of tools in which the service provider has been granted access except on the computing system of the project platform. Further, the service provider cannot copy the client data or the set of tools from the project platform. Because of the limited access, when the project is complete and the service provider has performed the service, the client may be generally assured that the client data remains confidential.
  • the project platform may further limit access to portions of the client data automatically (i.e., without client-provided configurations). For example, in the hydrocarbon production environment, locations of oilfields, sizes of reservoir, and pumping schedules may be proprietary confidential information.
  • the project platform may hide the particular location of the oilfield and refer to the location using a code name without having the client change the configuration settings or particularly specify that the particular location should be hidden.
  • the service provider usage of the project platform may be monitored to ensure that the service provider is complying with security constraints and time limits. As the service provider is using the platform, status information is gathered with the monitoring information, and any intermediate and/or final results that the service provider would like to provide.
  • a status update is provided to the client based on the service provider performing the project.
  • Providing the status update may include transmitting the status update to the client.
  • the transmission may be performed in a same or similar manner to transmitting the service offer request to the service providers.
  • results of performing the service are presented to the client. For example, the client may be notified of the existence of the results.
  • the results may be stored in a data repository associated with the client.
  • FIG. 4 shows a flowchart for selecting a service offer according to one or more embodiments.
  • a service offer is obtained from a service provider. Obtaining the service offer may be performed in a same or similar manner discussed above with reference to FIG. 3.
  • the service provider is evaluated against a set of one or more minimal criterion by which the client determines whether the service provider has sufficient expertise to perform the project.
  • the set of minimum criterion may be a minimum client rating, education level, years of experience, expertise, certification, number of projects performed, types and numbers of each type of project performed, and other criteria.
  • the minimum criterion for the service provider may be defined in the project specification or separate as a client default. For example, if the project is particularly significant to the client, the client may have a higher minimum education level than an insignificant project. A service offer from a service provider failing to satisfy the minimum criterion may be ignored and the flow may proceed to Block 450.
  • Block 430 a determination is made whether the service offer satisfies a minimum criterion in the project specification.
  • the service offer is evaluated against a set of minimal criterion that is in the project specification to determine whether the service offer can be accepted.
  • the set of minimum criterion may be a maximum price, a maximum time limit to complete the service, the set of deliverables, communication channels to be used, or other criteria.
  • a service offer failing to satisfy the minimum criterion may be ignored and the flow may proceed to Block 450.
  • the service offer by the service provider is rated using project specifications. Rating the service offer may be performed using a weighted metric. In particular, points may be assigned to each portion of the service offer based on predefined rules set by default and/or the client. The points for each portion may be aggregated (e.g., using a total or weighted average) to obtain aggregated points. The aggregated points may be the rating of the service offer.
  • Block 450 a determination is made whether another service offer exists that is not associated with the rating or set to be ignored. If another service offer exists, the flow may proceed to Block 410 to process the next service offer. Otherwise, the flow may proceed to Block 460.
  • Block 460 a determination is made whether at least one service offer exists that satisfies the minimum criterion. In particular, if no service offers exist that are rated, the flow may proceed to Block 470.
  • Block 470 a notification is sent to the client. The notification informs the client that at least one service offer satisfying the minimum criterion does not exist. At this stage, the client may revise the minimum criterion or decide to perform the service directly.
  • Block 480 a service offer is selected based on the service offer rating.
  • a service offer with the greatest rating is automatically selected without client interaction.
  • a predefined number of service offers with the best ratings are transmitted to the client. For example, the top five rated service offers may be transmitted to the client. Thus, the client may select from the top rated service offers.
  • the project platform may facilitate payment from the client to the service provider. For example, the project platform may hold payment from the client in an escrow account until the service is completed or until intermediary benchmarks are satisfied. In the example, once the service is completed or the intermediary benchmarks are satisfied, the project platform may transmit payment to the service provider.
  • FIG. 5 shows a flowchart for executing a project by the service provider according to one or more embodiments.
  • a set of tools is selected and configured based on the service offer.
  • the set of tools that is used to perform the service is associated with the service provider. If the set of tools includes external tools, the project platform may obtain the external tools from a third party and send a bill for the tools to the client and/or service provider as set forth in the project specification. Further, in one or more embodiments, any configuration parameters for the set of tools are set so that the service provider may use the tools to perform the project. In some embodiments, the service provider may specify which configuration parameters to set and how to set the configuration parameters.
  • the access parameters are updated for the set of tools and are associated with the service provider.
  • the access parameters for the set of tools regulate the use of the tools by the service provider.
  • the analysis toolset is hosted on a computer system.
  • the computer system may follow a usage on demand principle for applications.
  • the computer system is a hosted environment where companies and end users can have an account or multiple accounts and the access to existing license configurations is enabled.
  • the domestic tools to which companies have paid access may be accessed according to the license configuration.
  • companies or end users may install a set of external tools as desired to which they then have access when working in the application server environment.
  • service providers and/or clients may customize or extend existing functionalities in an application and have the application at least semi-permanently deployed on user accounts.
  • the access parameters are updated for the client data and are associated with the service provider.
  • the access parameters for the client data regulate the use of the client data by the service provider.
  • the service provider is granted access to the portion of the client data on which the service is to be performed. Remaining client data is protected. Further, the granularity of the access parameters is set so as to protect as much confidential client data as possible without unduly burdening the project platform and throttling access.
  • the project platform interfaces with service provider to perform service on platform using client data while logging access to set of tools and client data to obtain results.
  • a communication channel with the service provider is opened and the control is transferred to the service provider to perform service on the project.
  • the project manager monitors and logs the access of the service provider to the set of tools and to the client data. Copying data outside of the project platform is restricted.
  • the service provider executes the project and obtains the service results.
  • the service results are presented to the client.
  • the service results may be presented on a display device, printed, transmitted to a computing device for display, or otherwise presented. Further, the client may be notified of the existence of the results and the client may obtain the results.
  • the service results are analyzed and validated against the project specification.
  • the client performs a test on the project results.
  • the test includes iteratively comparing the results with the project specification agreed to at the initiation of the project.
  • the service provider receives a performance review by the client.
  • the performance review may be based on metrics defined in the project specification. For example, the performance review may be based on the quality of the service provider's work, timeliness of the work, and cost of the work.
  • the client may provide the performance review in an interface of the project manager.
  • the project manager may generate a service provider rating based on the performance review, and/or may publicize the performance review.
  • a field operation is performed based on the service results.
  • a field operation includes drilling a well.
  • a field operation may include initiation of a field data acquisition program. For example, a well logging, a seismic acquisition operation or a well test data acquisition may be performed.
  • usage of the tools may be provided through licensing configurations of the client.
  • a service provider may be charged for the tool usage by a client that is paying for the tool.
  • One technique that may be applied is by using smart contracts.
  • the smart contracts may include an algorithm, procedure, or any other potential tool, in which the entity offering the tool is paid for the tool.
  • one or more embodiments may use a decentralized application platform.
  • a third party may offer a tool, which interacts with the project platform. The third party installs the tool on the third party's computing system, and clients may pay for usage of the tool by the service provider. Thus, the third party receives a utilization fee.
  • Project platform distributor may receive maintenance and/or offering fee for the tool by third party.
  • HADOOP OpenStack
  • OpenStack OpenStack
  • the HADOOP infrastructure may include a secured distributed file system (Hdfs), resource scheduling, and a map/reduce framework.
  • Hdfs secured distributed file system
  • the project platform may monitor the encryption of data.
  • FIG. 6 shows an example case for utilizing the project platform by a client and performing project execution according to one or more embodiments.
  • a client company Versant Oil Co. (610) has a project that entails a complete evaluation of the well to seismic ties (50 wells) within a working environment. To properly assess the location and extent of a subterranean reservoir rock of an oilfield, an evaluation should be performed.
  • the client (610) issues a project specification statement (615) for a service request to tie the petrophysical logs of the 50 wells into their proper subterranean formation as defined by a result of seismic interpretation in a time domain.
  • the project deliverables include obtaining a time-depth relationship at each well location that matches the interpretation of the logs in the depth domain to the seismic interpretation done in the time domain.
  • the dynamic time warping method is desired to be used to perform the well to seismic ties.
  • a maximum budget in the amount of $450,000.00.
  • a correlation coefficient for each well to seismic tie is used to evaluate the quality of the project deliverables.
  • the client (610) also issues a set of minimal criteria (635) for awarding the project to a service provider candidate.
  • the quality control department of Versant Oil Co. requested specifically service providers that have a performance rating of 3 and above be selected for interview.
  • the Intellectual Property department of Versant Oil Co. also requested domestic companies to be selected for interview.
  • Project work will be offered online on the virtually integrated service platform and, subsequently, individuals and companies have the opportunity to bid on the tender, offering services for a fixed amount and/or a daily consultant fee.
  • a secure and dedicated channel for questioning and answering allows communication between the client (610) and individual/company willing to execute the project.
  • the secure channel is administered by the project manager server (630) of the platform.
  • Companies requesting for tender have any rights to choose the offer if the companies are comfortable with the project.
  • the project platform and/or the client analyzes the service offers of service provider candidates that satisfy the set of minimal criteria (635) and score the service offers (625) based on project specifications (615). The service provider of which offer obtains the highest score is awarded the tender (624).
  • the selected service provider given the right to execute the project (620) is Horizon Geoservices Inc.
  • the project channel is now solely between Versant Oil Co. and Horizon Geoservices Inc.
  • service provider (620) and client (610) have agreed on deliverables timeline (five wells per day). The complete set of 50 wells should therefore be delivered in ten days.
  • the client uploads a set of seismic data and well logs on the platform data repository (626). The seismic data and well logs will be used by the service provider as input parameters in project execution.
  • Execution of the project is constrained to the virtual delivery of the output products (670) on the project platform. Any work with the data of the client (610) can be monitored and logged (651) by Versant Oil Co. information technology (IT) department. The utilization of the tools available is based on a usage on demand principle and can be analyzed within the scope of the project deliverables and timeline to final delivery.
  • IT information technology
  • the service provider Horizon Geoservices Inc. is issued a set access credentials (626) that enable access to the client data (630) through the security framework (655) of the platform.
  • the service provider is renting license options (623) for the tools utilization within the project.
  • the usage of the license is timed and monitored (641) inside the project platform (640).
  • the service provider is now configuring and selecting (645) the tools combination (646, 647, 648) and proceeding to project execution (660).
  • Horizon Geoservices Inc. delivers to Versant Oil Co. the desired deliverable.
  • the project management capabilities within the project platform allow monitoring and final closure of the project from both the client side and the service provider side. As communication is useful in the virtual environment project space, feedback can be given and publicly made available for future reference by clients of subsequent projects.
  • 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.
  • the computing system (700) may include one or more computer processors (702), non- persistent storage (704) (e.g., volatile memory, such as random access memory (RAM), cache memory), persistent storage (706) (e.g., a hard disk, an optical drive such as a compact disk (CD) drive or digital versatile disk (DVD) drive, a flash memory, etc.), a communication interface (712) (e.g., Bluetooth interface, infrared interface, network interface, optical interface, etc.), and numerous other elements and functionalities.
  • non- persistent storage e.g., volatile memory, such as random access memory (RAM), cache memory
  • persistent storage (706) e.g., a hard disk, an optical drive such as a compact disk (CD) drive or digital versatile disk (DVD) drive, a flash memory, etc.
  • a communication interface (712) e
  • the computer processor(s) (702) may be an integrated circuit for processing instructions.
  • the computer processor(s) may be one or more cores or micro-cores of a processor.
  • the computing system (700) may also include one or more input devices (710), such as a touchscreen, keyboard, mouse, microphone, touchpad, electronic pen, or any other type of input device.
  • the communication interface (712) may include an integrated circuit for connecting the computing system (700) 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.
  • a network not shown
  • LAN local area network
  • WAN wide area network
  • the Internet such as the Internet
  • mobile network such as another computing device.
  • the computing system (700) may include one or more output devices (708), 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.
  • a screen e.g., a liquid crystal display (LCD), a plasma display, touchscreen, cathode ray tube (CRT) monitor, projector, or other display 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) (702), non-persistent storage (704), and persistent storage (706).
  • the computer processor(s) may be locally or remotely connected to the computer processor(s) (702), non-persistent storage (704), and persistent storage (706).
  • 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.
  • 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 (700) in FIG. 7.1 may be connected to or be a part of a network.
  • the network (720) may include multiple nodes (e.g., node X (722), node Y (724)).
  • Each node may correspond to a computing system, such as the computing system shown in FIG. 7.1, or a group of nodes combined may correspond to the computing system shown in FIG. 7.1.
  • embodiments may be implemented on a node of a distributed system that is connected to other nodes.
  • embodiments may be implemented on a distributed computing system having multiple nodes, where each portion may be located on a different node within the distributed computing system.
  • one or more elements of the aforementioned computing system (700) may be located at a remote location and connected to the other elements over a network.
  • the node may correspond to a blade in a server chassis that is connected to other nodes via a backplane.
  • the node may correspond to a server in a data center.
  • the node may correspond to a computer processor or micro-core of a computer processor with shared memory and/or resources.
  • the nodes (e.g., node X (722), node Y (724)) in the network (720) may be configured to provide services for a client device (726).
  • the nodes may be part of a cloud computing system.
  • the nodes may include functionality to receive requests from the client device (726) and transmit responses to the client device (726).
  • the client device (726) may be a computing system, such as the computing system shown in FIG. 7.1. Further, the client device (726) may include and/or perform at least a portion of one or more embodiments.
  • 7.1 and 7.2 may include functionality to perform a variety of operations disclosed herein.
  • the computing system(s) may perform communication between processes on the same or different system.
  • a variety of mechanisms, employing some form of active or passive communication, may facilitate the exchange of data between processes on the same device. Examples representative of these inter-process communications include, but are not limited to, the implementation of a file, a signal, a socket, a message queue, a pipeline, a semaphore, shared memory, message passing, and a memory-mapped file. Further details pertaining to a couple of these non-limiting examples are provided below.
  • sockets may serve as interfaces or communication channel end-points enabling bidirectional data transfer between processes on the same device.
  • a server process e.g., a process that provides data
  • the server process may create a first socket object.
  • the server process binds the first socket object, thereby associating the first socket object with a unique name and/or address.
  • the server process then waits and listens for incoming connection requests from one or more client processes (e.g., processes that seek data).
  • client processes e.g., processes that seek data.
  • 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.
  • 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.
  • 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.
  • the server process analyzes the request and gathers the requested data.
  • 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.
  • 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, one authorized process may mount the shareable segment, other than the initializing process, at any given time.
  • the computing system performing one or more embodiments may include functionality to receive data from a user.
  • a user may submit data via a graphical user interface (GUI) on the user device.
  • GUI graphical user interface
  • 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.
  • information regarding the particular item may be obtained from persistent or non-persistent storage by the computer processor.
  • the contents of the obtained data regarding the particular item may be displayed on the user device in response to the user's selection.
  • a request to obtain data regarding the particular item may be sent to a server operatively connected to the user device through a network.
  • 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.
  • HTTP Hypertext Transfer Protocol
  • the server may extract the data regarding the particular selected item and send the data to the device that initiated the request.
  • the contents of the received data regarding the particular item may be displayed on the user device in response to the user's selection.
  • 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.
  • HTML Hyper Text Markup Language
  • 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 FIG. 7.1.
  • the organizing pattern (e.g., grammar, schema, layout) of the data is determined, which may be based on one or more of the following: position (e.g., bit or column position, Nth token in a data stream, etc.), attribute (where the attribute is associated with one or more values), or a hierarchical/tree structure (consisting of layers of nodes at different levels of detail— such as in nested packet headers or nested document sections).
  • the raw, unprocessed stream of data symbols is parsed, in the context of the organizing pattern, into a stream (or layered structure) of tokens (where each token may have an associated token "type").
  • 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).
  • the token(s) at the position(s) identified by the extraction criteria are extracted.
  • the token(s) and/or node(s) associated with the attribute(s) satisfying the extraction criteria are extracted.
  • 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.
  • the computing system of FIG. 7.1 while performing one or more embodiments, may perform data comparison.
  • the comparison may be performed by submitting A, B, and an opcode specifying an operation related to the comparison into an arithmetic logic unit (ALU) (i.e., circuitry that performs arithmetic and/or bitwise logical operations on the two data values).
  • ALU arithmetic logic unit
  • the ALU outputs the numerical result of the operation and/or one or more status flags related to the numerical result.
  • the status flags may indicate whether the numerical result is a positive number, a negative number, zero, etc.
  • the comparison may be executed. For example, in order to determine if A > B, B may be subtracted from A (i.e., A - B), and the status flags may be read to determine if the result is positive (i.e., if A > B, then A - B > 0).
  • a and B may be vectors, and comparing A with B includes comparing the first element of vector A with the first element of vector B, the second element of vector A with the second element of vector B, etc. In one or more embodiments, if A and B are strings, the binary values of the strings may be compared.
  • the computing system in FIG. 7.1 may implement and/or be connected to a data repository.
  • a data repository is a database.
  • a database is a collection of information configured for ease of data retrieval, modification, re-organization, and deletion.
  • Database Management System is a software application that provides an interface for users to define, create, query, update, or administer databases.
  • the user, or software application may submit a statement or query into the
  • the DBMS interprets the statement.
  • the statement may be a select statement to request information, update statement, create statement, delete statement, etc.
  • 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.
  • 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 FIG. 7.1 may include functionality to present raw and/or processed data, such as results of comparisons and other processing.
  • presenting data may be accomplished through various presenting methods.
  • data may be presented through a user interface provided by a computing device.
  • the user interface may include a GUI that displays information on a display device, such as a computer monitor or a touchscreen on a handheld computer device.
  • the GUI may include various GUI widgets that organize what data is shown as well as how data is presented to a user.
  • the GUI may present data directly to the user, e.g., data presented as actual data values through text, or rendered by the computing device into a visual representation of the data, such as through visualizing a data model.
  • a GUI may first obtain a notification from a software application requesting that a particular data object be presented within the GUI.
  • 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.
  • 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.
  • 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.
  • 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.
  • haptic methods may include vibrations or other physical signals generated by the computing system.
  • 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Databases & Information Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Bioethics (AREA)
  • Operations Research (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A method to provide integrated services to clients includes receiving a project specification for a project for a client, transmitting, to service providers, a service offer request, and receiving, in response to the service offer request, service offers from the service providers. To a service provider, an acceptance of a service offer is sent based on the service provider providing the service offer satisfying a criterion for the project defined by the project specification. Access to a set of tools and client data on a computing system is granted to the service provider. While the service provider is performing the project, the access by the service provider is limited to using the set of tools with the client data on the computing system. A status update is provided to the client based on the service provider performing the project.

Description

METHOD AND SYSTEM FOR SERVICE OFFER
MANAGEMENT
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority under 35 U.S.C. § 119(e) to U.S. Provisional
Patent Application Serial Number 62/187,486, filed on July 01, 2015, and entitled, "METHOD AND SYSTEM FOR VIRTUALLY INTEGRATED SERVICE AND PRODUCT OFFERINGS," which is incorporated herein by reference in its entirety.
BACKGROUND
[0002] Understanding natural processes and planning excavations for natural resources involves gathering large amounts of data. Models may be generated from the data by interpreting the data, and applying various analytic techniques to generate data points where data does not exist. Simulations may be performed on the models to obtain simulation results. Based on an analysis of the simulation results, excavation for the natural resources may be performed. Because of costs associated with gathering the large amounts of data as well as the competitive advantage that having such data offers, companies endeavor to maintain protection of such data.
SUMMARY
[0003] In general, in one aspect, one or more embodiments relate to a method to provide integrated services to clients including receiving a project specification for a project for a client, transmitting, to service providers, a service offer request, and receiving, in response to the service offer request, service offers from the service providers. To a service provider, an acceptance of a service offer is sent based on the service provider providing the service offer satisfying a criterion for the project defined by the project specification. Access to a set of tools and client data on a computing system is granted to the service provider. While the service provider is performing the project, the access by the service provider is limited to using the set of tools with the client data on the computing system. A status update is provided to the client based on the service provider performing the project.
[0004] Other aspects will be apparent from the following description and the appended claims.
BRIEF DESCRIPTION OF DRAWINGS
[0005] FIG. 1 is a schematic view, partially in cross-section, of a field in which one or more embodiments.
[0006] FIG. 2 shows a schematic diagram of a system in accordance with one or more embodiments of the technology.
[0007] FIG. 3, FIG. 4, and FIG. 5 show flowcharts in accordance with one or more embodiments of the technology.
[0008] FIG. 6 shows an example in accordance with one or more embodiments.
[0009] FIG. 7.1 and FIG. 7.2 show a computing system in accordance with one or more embodiments.
DETAILED DESCRIPTION
[0010] Specific embodiments of the technology 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.
[0011] In the following detailed description of embodiments of the technology, numerous specific details are set forth in order to provide a more thorough understanding of the technology. However, it will be apparent to one of ordinary skill in the art that the technology 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.
[0012] Throughout the application, ordinal numbers (e.g., first, second, third, etc.) may be used as an adjective for an element (i.e., any noun in the application). The use of ordinal numbers is not to imply or create any particular ordering of the elements nor to limit any element to being a single element unless expressly disclosed, such as by the use of the terms "before", "after", "single", and other such terminology. Rather, the use of ordinal numbers is to distinguish between the elements. By way of an example, a first element is distinct from a second element, and the first element may encompass more than one element and succeed (or precede) the second element in an ordering of elements.
[0013] In general, embodiments are directed to a method and system for performing a field operation by at least improving the client's access to field technology. In one or more embodiments, a project platform is provided that connects clients and service providers while maintaining the security protections of the client data. In other words, service providers are granted access to tools, while being prevented from exporting data from the project platform. For example, clients may select a type of oil and/or gas service and/or project and then submit various design specifications that describe the scope of work for the service project. Thus, various users may submit a bid using the project for performing a service using a resource pool offered to users (e.g., service companies or external consultants) using the project platform. As such, the project platform may provide a virtual tendering process hosted within the platform that allows users fully integrated computing cloud software to deliver on the service/project. In particular, resource revenue and cloud revenue (e.g., infrastructure that includes hardware, software licensing and network security) may be generated from various user transactions (e.g., requesting and delivering on service/project bids) performed using the project platform. When a service offer is selected, the service provider may deliver the service while being prevented from extracting the proprietary client data.
[0014] A service, as used herein, is labor that may be provided by a service provider for a client. For example, a service may be an analysis of seismic data, generation of a program, generation of a geological model, generation of a well plan, or other actions that may be performed by a service provider.
[0015] FIG. 1 depicts a schematic view, partially in cross section, of a field (100) in which one or more embodiments may be implemented. In one or more embodiments, one or more of the modules and elements shown in FIG. 1 may be omitted, repeated, and/or substituted. Accordingly, embodiments should not be considered limited to the specific arrangements of modules shown in FIG. 1.
[0016] A geologic sedimentary basin contains subterranean formations (104). As shown in FIG. 1, the subterranean formation (104) may include several geological structures (106-1 through 106-4). As shown, the formation (104) may include a shale layer (106-1), a limestone layer (106-2), a sandstone layer (106-3), and another shale layer (106-4). A fault plane (107) may extend through the formation. In particular, the geologic sedimentary basin includes rock formations and at least one reservoir including fluids. In one or more embodiments, the rock formations include at least one seal rock as, for example, the shale layer (106-1), which may act as a top seal. In one or more embodiments, the rock formations may include at least one seal rock as, for example, the shale layer (106-4), which may act as a bottom seal. In one or more embodiments, various survey tools and/or data acquisition tools are adapted to measure the formation (104) and detect the characteristics of the geological structures of the formation (104). Generally, survey operations and wellbore operations are referred to as field operations of the field (100). These field operations may be performed as directed by the surface unit (112).
[0017] In one or more embodiments, the surface unit (112) is communicatively coupled to the E&P computer system (118). In one or more embodiments, the data received by the surface unit (112) may be sent to the E&P computer system (118) for further analysis. Generally, the E&P computer system (118) is configured to analyze, model, control, optimize, or perform management tasks of the aforementioned field operations based on the data provided from the surface unit (112). In one or more embodiments, the E&P computer system (118) is provided with functionality for manipulating and analyzing the data, such as performing simulation, planning, and optimization of production operations of the wellsite system A (114-1), wellsite system B (114-2), and/or wellsite system C (114-3). In one or more embodiments, the result generated by the E&P computer system (118) may be displayed for an analyst user to view the result in a two-dimensional (2D) display, three-dimensional (3D) display, or other suitable displays. Although the surface unit (112) is shown as separate from the E&P computer system (118) in FIG. 1, in other examples, the surface unit (112) and the E&P computer system (118) may also be combined.
[0018] Although FIG. 1 shows a field (100) on the land, the field (100) may be an offshore field. In such a scenario, the subterranean formation (104) may be in the sea floor. Further, field data may be gathered from the field (100) that is an offshore field using a variety of offshore techniques for gathering field data.
[0019] In one or more embodiments, the data received by the surface unit (112) represents characteristics of the subterranean formation (104) and may include seismic data and/or information related to location of the horizon and fault surfaces or characteristics of the formation rocks like porosity, saturation, permeability, natural fractures, stress magnitude and orientations, elastic properties, etc. during a drilling, fracturing, logging, or production operation of the wellbore (103) at the wellsite system.
[0020] FIG. 2 shows a diagram of a system in which one or more embodiments of a method and system for virtually integrated service may be implemented. In one or more embodiments, one or more of the modules and elements shown in FIG. 2 may be omitted, repeated, and/or substituted. Accordingly, embodiments of prospect assessment using structural framework should not be considered limited to the specific arrangements of modules shown in FIG. 2.
[0021] The E&P computer system (118) shown in FIG. 1 may be the same or similar to the computer system (218) shown in FIG. 2. By way of another example, the computer system (218) shown in FIG. 2 may be connected to the E&P computer system (118) in FIG. 1.
[0022] In one or more embodiments, the project platform includes a collaborative architecture with secure network channels between client facilities and computer systems for users to complete work within the computer system. For example, the collaborative architecture may monitor client data, such as data from a seismic survey and wellsite data.
[0023] As shown in FIG. 2, the system includes a client side (200) that includes one or more clients (e.g. client Q (201), client R (204)), a service provider side (210) that includes one or more service providers (e.g. service providers S (211), service provider T (214)), the computer system (218), and a field equipment module (260) connected to the computer system (218). The computer system (218), clients and service providers are connected via a network (270).
[0024] The client side (200) may include multiple unconnected and disparate clients (e.g., client Q (201), client R (204)). A client is an individual, organization, business entity, or other group that requests a service and the entity on whose behalf the service is performed. In accordance with one or more embodiments, the client is deemed to perform an action when an action is performed on behalf of the client. For example, a representative or third party business may request the service for the client.
[0025] The service provider side (210) may include multiple unconnected and disparate service providers (e.g., service provider S (211), service provider T (214)). A service provider is an individual, organization, business entity, or other group that provides a service.
[0026] The computer system (218) includes a security framework (220), a project manager (230), a data repository (240) and an analysis toolset (250). In one or more embodiments, the data repository (240) may include one or more disk drive storage devices, one or more semiconductor storage devices, other suitable computer data storage devices, or combinations thereof. In one or more embodiments, content stored in the data repository (240) may be stored as a data file, a linked list, a data sequence, a database, a graphical representation, any other suitable data structure, or combinations thereof. In one or more embodiments, the data repository (240) includes functionality to store one or more project specification (241), service offers (244), input parameters (247), and output parameters (249).
[0027] Project specifications (241) are specifications of projects for which a service is requested in accordance with one or more embodiments. For example, a project specification may include a set of descriptive elements that characterize the project to be developed. For example, in one or more embodiments, the project specifications may include a set of requirements, calculations, technical details, data manipulation procedures, processing guidelines and other specific functionalities that define the scope of the project. The set of requirements is the functionality that the project is able to achieve, the report that is to be generated by the project, or another end goal for the project. Calculations may specify types of equations that are to be performed.
[0028] In one or more embodiments, the project specifications may define criteria that can be used to judge service offers. For example, the criteria may be minimum characteristics (e.g., rating, education, experience) of service providers that may perform the project. The criteria may also define minimum requirements for service offers (e.g., time requirements, costs, etc.). In one or more embodiments, the project specifications may describe the interfaces and communication channels.
[0029] In one or more embodiments, the project specification establishes the basis for an agreement between a client and a service provider on what the project product is to do as well as what it is not expected to do. In one or more embodiments, the project specifications may contain description of project, project objectives, user access protocols, design specifications, success criteria, input parameters required, marketing expectations, project maintenance, project timeline, and budget constraints. In one or more embodiments, the project specifications provide a basis for bid evaluations and permit a best selection of a service provider.
[0030] A project specification may further define a set of tools that are to be used for the project, level of access for the service provider, and data protections for the client data. For example, the data protections may be relationships between identification of a data item of client data (e.g., oilfield data models, seismic data, etc.) and one or more Boolean values defining whether a read, write, and copy permission exist for the data item.
[0031] The service offers (244) are a set of offers for providing the service to perform the project. Each service offer includes a set of activity commitments which define the level of service in terms of availability, scope and pricing. In one or more embodiments, a service offer specifies a delivery of a service that includes one or more activities. In one or more embodiments, service offers enables a client to understand the service that will be provided, including what each activity does and does not include, eligibility, limitations, cost, communication interfaces for communications between clients and service providers, and technical support. In one or more embodiments, service offers may identify internal processes to provide and support the service.
[0032] The input parameters (247) are a set data that are available to the service provider and may be used to execute the project. The data collections may represent the values of physical attributes that characterize various project components.
[0033] The output products (249) include a set of data that results from project development. In one or more embodiments, the output products are produced by the service provider at the end of the project execution.
[0034] The security framework (220) includes a collection of standards and procedures that are configured to ensure private and confidential access to a subset of data in the data repository. In one or more embodiments, the security framework may comprise a dedicated hardware security layer, a software security layer or both. In one or more embodiments, the secure access to the subset of the data is controlled by implementation of authentication protocols and by establishment of an encrypted communication channel.
[0035] Continuing with FIG. 2., the project manager (230) software, hardware, firmware, or any combination thereof that initiates, plans, executes, controls, and close the work of a project in order to achieve specific goals and meet specific criteria. In one or more embodiments, the project manager may be configured to control the project execution in a time-constrained environment. For example, the project manager may define deadlines and monitors progress of a work on a project. In one or more embodiments, as a result of time constraints, the project manager may be configured to synchronize and control the sequence of various tasks and service providers access to a specific project. In one or more embodiments, the project manager includes an online project service offer interface having hardware and/or software for obtaining a project specification, distributing requests for service offers, obtaining service offers, requesting information on the service offer, and requesting price quotations for the service offer. An online service offer interface may provide various cloud computing tools for requesting bids for a particular service offer from various service providers with access to the project platform. In one or more embodiments, the project manager may include a system for feedback and recommendation to allow evaluation of bids in the online service offer interface.
[0036] In one or more embodiments, the analysis toolset (250) includes domestic tools (251), external tools (254), consultant tools (257), and external databases (259). For example, the analysis toolset (250) may include various user applications for performing project scoped work through the project platform. The project platform may also include client specific customizations of the user applications. In one or more embodiments, the analysis toolset is hosted on an application server having hardware and/or software for project scoped work submitted according to the online interface of the project manager.
[0037] The domestic tools (251) include a collection of software solutions aimed to solve specific project problems and are managed by a platform operator. In other words, the domestic tools (251) are tools developed by the platform operator. In one or more embodiments in which the project platform is used for production of hydrocarbons, the domestic tools (251) may include a reservoir simulator, a multiphase flow simulator, well trajectory planning platform, network pipe simulator, or other tool. By way of a more detailed example, a reservoir simulator may model geological structures, including heterogeneous formations, and completion configurations. A multiphase flow simulator includes functionality to simulate flow behavior, including the physics describing flow through the production systems, from reservoir pore to process facility. The multiphase flow simulator models time-dependent behaviors, or transient flow, to maximize production potential. In one or more embodiments, the domestic tools are hosted on the project platform.
[0038] The external tools (254) include a collection of software solutions aimed to solve specific project problems and are managed by an external operator. In other words, external tools (254) are tools that are externally developed and sold by a third party company. The third party company is not the platform operator. In one or more embodiments, the external tools (254) are hosted on the project platform.
[0039] The consultant tools (257) include a collection of software solutions aimed to solve specific project problems and are managed by an external operator. In one or more embodiments, the external tools are hosted on an external platform.
[0040] The external data repositories (259) are a set of interfaces that links to a collection of data hosted on external platforms that are accessible to the service provider. In one or more embodiments, the data from the external databases may be incorporated in the project development. Although not shown in FIG. 2, client data may be stored in an external data repository. The client data is any data of the client that may be operated on by the service provider. For example, the client data may be client proprietary data. The client proprietary data is data that is confidential to the client. For example, the client proprietary data may be owned by the client.
[0041] The field equipment module (260) that is configured to generate a field operation control signal based at least on a result generated by the computer system, such as based on the project analysis results. Field equipment depicted in FIG. 1 above may be controlled by the field operation control signal. For example, the field operation control signal may be used to control drilling equipment, an actuator, a fluid valve, or other electrical and/or mechanical devices disposed about the field (100) depicted in FIG. 1 above.
[0042] The network (270) is defined as a communications network which allows computers to exchange data. In one or more embodiments, networked computers exchange data with each other using a data link. In one or more embodiments, the connections between computers are established using wired and/or wireless media. In one or more embodiments, the network is the Internet.
[0043] FIGs. 3, 4, and 5 show flowcharts in accordance with one or more embodiments. While the various blocks in these flowcharts are presented and described sequentially, one of ordinary skill will appreciate that at least some of the blocks may be executed in different orders, may be combined or omitted, and at least some of the blocks may be executed in parallel. Furthermore, the actions in the blocks may be performed actively or passively. For example, some actions may be performed using polling or be interrupt driven in accordance with one or more embodiments. By way of an example, determination blocks may not use a processor to process an instruction unless an interrupt is received to signify that condition exists in accordance with one or more embodiments. As another example, determination blocks may be performed by performing a test, such as checking a data value to test whether the value is consistent with the tested condition in accordance with one or more embodiments.
[0044] FIG. 3 shows a flowchart in accordance with one or more embodiments. In
Block 310, a project specification for a project for a client is received in accordance with one or more embodiments. In one or more embodiments, the project manager receives the project specification for a new project. For example, the project specification may be received via an application programming interface (API) and/or graphical user interface (GUI) of the project manager. By way of a more specific example, the client may provide at least a portion of the project specification in the Extensible Markup Language (XML) format or other format in accordance with a predefined and published standard. Providing and receiving the project specification may be through an interface whereby the project specification may be uploaded onto the computing system after authenticating the client. By way of another example, at least a portion of the project specification may be provided via a GUI. For example, the client may submit, into GUI widgets, the minimum rating for the service provider, range of prices for the service provider, time constraints, and other aspects defining the project. The project manager may group the various entries of the client into a single project specification for publication. In Block 320, a service offer request is transmitted to the service providers in accordance with one or more embodiments. The service offer request is an electronic notification of a new project specification and a request to submit a service offer for the project specification. In one or more embodiments, the project manager identifies service providers that comply with the minimum criteria set forth in the project specification. The project manager may transmit service proposal request (e.g., via text messaging, email, application messaging, etc.) to each selected service provider informing the existence of the project. By way of another example, the project manager may publish the existence of the project on a website that is accessible by multiple service providers. The website may be tailored to each particular service provider, may be publically available, may use authentication to access, or may have another form of access. In one or more embodiments, service providers may review the service offer request, obtain the project specification from a link associated with the service offer request, and determine whether to submit a service offer. If the service provider decides to submit the service offer, then the service provider may generate a service offer. Because the service offer request may be shown to multiple service providers, who may not otherwise be known to the client, one or more embodiments connect the clients to the multiple disparate service providers. However, because of the particular proprietary nature of the client data, the client data is still protected. Service offers received may or may not be hidden from the other service providers.
[0046] In Block 330, one or more service offers are received from service providers in response to the service offer request. In one or more embodiments, the project manager receives the service offer for a new project. For example, the service offer may be received via an API or GUI of the project manager. By way of a more specific example, the service provider may provide at least a portion of the service offer in the XML format or other format in accordance with a predefined and published standard. Providing and receiving the service offer may be through an interface, whereby the service offer may be uploaded onto the computing system after authenticating the service provider. By way of another example, at least a portion of the service offer may be provided via a GUI using GUI widgets.
[0047] In Block 340, an acceptance of a service offer is sent to a service provider based on the service provider providing the service offer satisfying a criterion for the project defined by the project specifications. In one or more embodiments, service offers received are submitted to the client. In some embodiments, the project manager may perform a complete or partial analysis of the service offers, and compare the service offers with the criterion in the project specification. If the service offer does not satisfy the criterion in the project specification, then the service offer is not shown to the client in accordance with one or more embodiments. In some embodiments, service offers, which fail the project specification, may be presented to the client if other service offers do not exist. In some embodiments, each service offer received is presented to the client as the service offer is received. In some embodiments, predefined time period exists whereby service offers may be received. At the end of the time period, the service offers are analyzed to determine which service offer or set of service offers should be accepted. FIG. 4 shows an example flowchart for analyzing service offers in accordance with one or more embodiments.
[0048] Continuing with FIG. 3, in Block 350, access is granted for the service provider to the set of tools and to client data on a server. The service provider of the accepted service offer is granted access to the set of tools on the computing system. Thus, the service provider may remotely perform the service. Granting access includes associating the service provider identifier with the set of tools in the security framework.
[0049] In Block 360, while the service provider is performing the project, access used by the service provider to the set of tools with the client data on the computing system. In other words, the service provider may not export the client data or use the set of tools in which the service provider has been granted access except on the computing system of the project platform. Further, the service provider cannot copy the client data or the set of tools from the project platform. Because of the limited access, when the project is complete and the service provider has performed the service, the client may be generally assured that the client data remains confidential. In some embodiments, the project platform may further limit access to portions of the client data automatically (i.e., without client-provided configurations). For example, in the hydrocarbon production environment, locations of oilfields, sizes of reservoir, and pumping schedules may be proprietary confidential information. In such a scenario, the project platform may hide the particular location of the oilfield and refer to the location using a code name without having the client change the configuration settings or particularly specify that the particular location should be hidden. Moreover, the service provider usage of the project platform may be monitored to ensure that the service provider is complying with security constraints and time limits. As the service provider is using the platform, status information is gathered with the monitoring information, and any intermediate and/or final results that the service provider would like to provide.
[0050] In Block 370, a status update is provided to the client based on the service provider performing the project. Providing the status update may include transmitting the status update to the client. The transmission may be performed in a same or similar manner to transmitting the service offer request to the service providers. In one or more embodiments, results of performing the service are presented to the client. For example, the client may be notified of the existence of the results. By way of another example, the results may be stored in a data repository associated with the client.
[0051] FIG. 4 shows a flowchart for selecting a service offer according to one or more embodiments. In Block 410, a service offer is obtained from a service provider. Obtaining the service offer may be performed in a same or similar manner discussed above with reference to FIG. 3.
[0052] In Block 420, a determination is made whether the service provider satisfies a minimum criterion for the service provider. In particular, the service provider is evaluated against a set of one or more minimal criterion by which the client determines whether the service provider has sufficient expertise to perform the project. The set of minimum criterion may be a minimum client rating, education level, years of experience, expertise, certification, number of projects performed, types and numbers of each type of project performed, and other criteria. The minimum criterion for the service provider may be defined in the project specification or separate as a client default. For example, if the project is particularly significant to the client, the client may have a higher minimum education level than an insignificant project. A service offer from a service provider failing to satisfy the minimum criterion may be ignored and the flow may proceed to Block 450.
[0053] In Block 430, a determination is made whether the service offer satisfies a minimum criterion in the project specification. In particular, the service offer is evaluated against a set of minimal criterion that is in the project specification to determine whether the service offer can be accepted. The set of minimum criterion may be a maximum price, a maximum time limit to complete the service, the set of deliverables, communication channels to be used, or other criteria. A service offer failing to satisfy the minimum criterion may be ignored and the flow may proceed to Block 450.
[0054] In Block 440, the service offer by the service provider is rated using project specifications. Rating the service offer may be performed using a weighted metric. In particular, points may be assigned to each portion of the service offer based on predefined rules set by default and/or the client. The points for each portion may be aggregated (e.g., using a total or weighted average) to obtain aggregated points. The aggregated points may be the rating of the service offer.
[0055] In Block 450, a determination is made whether another service offer exists that is not associated with the rating or set to be ignored. If another service offer exists, the flow may proceed to Block 410 to process the next service offer. Otherwise, the flow may proceed to Block 460.
[0056] In Block 460, a determination is made whether at least one service offer exists that satisfies the minimum criterion. In particular, if no service offers exist that are rated, the flow may proceed to Block 470. In Block 470, a notification is sent to the client. The notification informs the client that at least one service offer satisfying the minimum criterion does not exist. At this stage, the client may revise the minimum criterion or decide to perform the service directly.
[0057] However, if at least one service offer having a rating exists, the flow may proceed to Block 480 to process the service offer. In Block 480, a service offer is selected based on the service offer rating. In one or more embodiments, a service offer with the greatest rating is automatically selected without client interaction. In other embodiments, a predefined number of service offers with the best ratings are transmitted to the client. For example, the top five rated service offers may be transmitted to the client. Thus, the client may select from the top rated service offers. After the service offer is selected, the project platform may facilitate payment from the client to the service provider. For example, the project platform may hold payment from the client in an escrow account until the service is completed or until intermediary benchmarks are satisfied. In the example, once the service is completed or the intermediary benchmarks are satisfied, the project platform may transmit payment to the service provider.
[0058] FIG. 5 shows a flowchart for executing a project by the service provider according to one or more embodiments. In Block 510, a set of tools is selected and configured based on the service offer. In one or more embodiments, the set of tools that is used to perform the service is associated with the service provider. If the set of tools includes external tools, the project platform may obtain the external tools from a third party and send a bill for the tools to the client and/or service provider as set forth in the project specification. Further, in one or more embodiments, any configuration parameters for the set of tools are set so that the service provider may use the tools to perform the project. In some embodiments, the service provider may specify which configuration parameters to set and how to set the configuration parameters. [0059] In Block 520, the access parameters are updated for the set of tools and are associated with the service provider. In one or more embodiments, the access parameters for the set of tools regulate the use of the tools by the service provider. In one or more embodiments, the analysis toolset is hosted on a computer system. In one or more embodiments, the computer system may follow a usage on demand principle for applications. In one or more embodiments, the computer system is a hosted environment where companies and end users can have an account or multiple accounts and the access to existing license configurations is enabled. In one or more embodiments, the domestic tools to which companies have paid access may be accessed according to the license configuration. In one or more embodiments, companies or end users may install a set of external tools as desired to which they then have access when working in the application server environment. Furthermore, service providers and/or clients may customize or extend existing functionalities in an application and have the application at least semi-permanently deployed on user accounts.
[0060] In Block 530, the access parameters are updated for the client data and are associated with the service provider. In one or more embodiments, the access parameters for the client data regulate the use of the client data by the service provider. The service provider is granted access to the portion of the client data on which the service is to be performed. Remaining client data is protected. Further, the granularity of the access parameters is set so as to protect as much confidential client data as possible without unduly burdening the project platform and throttling access.
[0061] In Block 540, the project platform interfaces with service provider to perform service on platform using client data while logging access to set of tools and client data to obtain results. In other words, a communication channel with the service provider is opened and the control is transferred to the service provider to perform service on the project. In one or more embodiments, the project manager monitors and logs the access of the service provider to the set of tools and to the client data. Copying data outside of the project platform is restricted. In one or more embodiments, the service provider executes the project and obtains the service results.
[0062] In Block 550, the service results are presented to the client. In one or more embodiments, the service results may be presented on a display device, printed, transmitted to a computing device for display, or otherwise presented. Further, the client may be notified of the existence of the results and the client may obtain the results.
[0063] In Block 560, the service results are analyzed and validated against the project specification. In one or more embodiments, the client performs a test on the project results. In one or more embodiments, the test includes iteratively comparing the results with the project specification agreed to at the initiation of the project.
[0064] In Block 570, the service provider receives a performance review by the client. In one or more embodiments, the performance review may be based on metrics defined in the project specification. For example, the performance review may be based on the quality of the service provider's work, timeliness of the work, and cost of the work. The client may provide the performance review in an interface of the project manager. Thus, the project manager may generate a service provider rating based on the performance review, and/or may publicize the performance review.
[0065] In Block 580, a field operation is performed based on the service results. In one or more embodiments, a field operation includes drilling a well. In one or more embodiments, a field operation may include initiation of a field data acquisition program. For example, a well logging, a seismic acquisition operation or a well test data acquisition may be performed.
[0066] In one or more embodiments, usage of the tools may be provided through licensing configurations of the client. In other words, a service provider may be charged for the tool usage by a client that is paying for the tool. One technique that may be applied is by using smart contracts. The smart contracts may include an algorithm, procedure, or any other potential tool, in which the entity offering the tool is paid for the tool. Further, one or more embodiments may use a decentralized application platform. A third party may offer a tool, which interacts with the project platform. The third party installs the tool on the third party's computing system, and clients may pay for usage of the tool by the service provider. Thus, the third party receives a utilization fee. Project platform distributor may receive maintenance and/or offering fee for the tool by third party. Further, one or more embodiments may use HADOOP, OpenStack, or other system for security. The HADOOP infrastructure may include a secured distributed file system (Hdfs), resource scheduling, and a map/reduce framework. Further, the project platform may monitor the encryption of data.
[0067] FIG. 6 shows an example case for utilizing the project platform by a client and performing project execution according to one or more embodiments.
[0068] A client company, Versant Oil Co. (610) has a project that entails a complete evaluation of the well to seismic ties (50 wells) within a working environment. To properly assess the location and extent of a subterranean reservoir rock of an oilfield, an evaluation should be performed.
[0069] The client (610) issues a project specification statement (615) for a service request to tie the petrophysical logs of the 50 wells into their proper subterranean formation as defined by a result of seismic interpretation in a time domain. The project deliverables include obtaining a time-depth relationship at each well location that matches the interpretation of the logs in the depth domain to the seismic interpretation done in the time domain. The dynamic time warping method is desired to be used to perform the well to seismic ties. A maximum budget in the amount of $450,000.00. A correlation coefficient for each well to seismic tie is used to evaluate the quality of the project deliverables.
[0070] The client (610) also issues a set of minimal criteria (635) for awarding the project to a service provider candidate. The quality control department of Versant Oil Co. requested specifically service providers that have a performance rating of 3 and above be selected for interview. The Intellectual Property department of Versant Oil Co. also requested domestic companies to be selected for interview.
[0071] Project work will be offered online on the virtually integrated service platform and, subsequently, individuals and companies have the opportunity to bid on the tender, offering services for a fixed amount and/or a daily consultant fee. A secure and dedicated channel for questioning and answering allows communication between the client (610) and individual/company willing to execute the project. The secure channel is administered by the project manager server (630) of the platform. Companies requesting for tender have any rights to choose the offer if the companies are comfortable with the project. The project platform and/or the client analyzes the service offers of service provider candidates that satisfy the set of minimal criteria (635) and score the service offers (625) based on project specifications (615). The service provider of which offer obtains the highest score is awarded the tender (624).
[0072] The selected service provider given the right to execute the project (620) is Horizon Geoservices Inc. The project channel is now solely between Versant Oil Co. and Horizon Geoservices Inc. At project execution, service provider (620) and client (610) have agreed on deliverables timeline (five wells per day). The complete set of 50 wells should therefore be delivered in ten days. [0073] The client uploads a set of seismic data and well logs on the platform data repository (626). The seismic data and well logs will be used by the service provider as input parameters in project execution.
[0074] Execution of the project is constrained to the virtual delivery of the output products (670) on the project platform. Any work with the data of the client (610) can be monitored and logged (651) by Versant Oil Co. information technology (IT) department. The utilization of the tools available is based on a usage on demand principle and can be analyzed within the scope of the project deliverables and timeline to final delivery.
[0075] The service provider Horizon Geoservices Inc. is issued a set access credentials (626) that enable access to the client data (630) through the security framework (655) of the platform. The service provider is renting license options (623) for the tools utilization within the project. The usage of the license is timed and monitored (641) inside the project platform (640). The service provider is now configuring and selecting (645) the tools combination (646, 647, 648) and proceeding to project execution (660). At project closure, Horizon Geoservices Inc. delivers to Versant Oil Co. the desired deliverable.
[0076] The project management capabilities within the project platform allow monitoring and final closure of the project from both the client side and the service provider side. As communication is useful in the virtual environment project space, feedback can be given and publicly made available for future reference by clients of subsequent projects.
[0077] 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 FIG. 7.1, the computing system (700) may include one or more computer processors (702), non- persistent storage (704) (e.g., volatile memory, such as random access memory (RAM), cache memory), persistent storage (706) (e.g., a hard disk, an optical drive such as a compact disk (CD) drive or digital versatile disk (DVD) drive, a flash memory, etc.), a communication interface (712) (e.g., Bluetooth interface, infrared interface, network interface, optical interface, etc.), and numerous other elements and functionalities.
[0078] The computer processor(s) (702) 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 (700) may also include one or more input devices (710), such as a touchscreen, keyboard, mouse, microphone, touchpad, electronic pen, or any other type of input device.
[0079] The communication interface (712) may include an integrated circuit for connecting the computing system (700) 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.
[0080] Further, the computing system (700) may include one or more output devices (708), 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) (702), non-persistent storage (704), and persistent storage (706). Many different types of computing systems exist, and the aforementioned input and output device(s) may take other forms.
[0081] 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.
[0082] The computing system (700) in FIG. 7.1 may be connected to or be a part of a network. For example, as shown in FIG. 7.2, the network (720) may include multiple nodes (e.g., node X (722), node Y (724)). Each node may correspond to a computing system, such as the computing system shown in FIG. 7.1, or a group of nodes combined may correspond to the computing system shown in FIG. 7.1. By way of an example, embodiments may be implemented on a node of a distributed system that is connected to other nodes. By way of another example, embodiments may be implemented on a distributed computing system having multiple nodes, where each portion may be located on a different node within the distributed computing system. Further, one or more elements of the aforementioned computing system (700) may be located at a remote location and connected to the other elements over a network.
[0083] Although not shown in FIG. 7.2, the node may correspond to a blade in a server chassis that is connected to other nodes via a backplane. By way of another example, the node may correspond to a server in a data center. By way of another example, the node may correspond to a computer processor or micro-core of a computer processor with shared memory and/or resources.
[0084] The nodes (e.g., node X (722), node Y (724)) in the network (720) may be configured to provide services for a client device (726). For example, the nodes may be part of a cloud computing system. The nodes may include functionality to receive requests from the client device (726) and transmit responses to the client device (726). The client device (726) may be a computing system, such as the computing system shown in FIG. 7.1. Further, the client device (726) may include and/or perform at least a portion of one or more embodiments.
[0085] The computing system or group of computing systems described in FIG.
7.1 and 7.2 may include functionality to perform a variety of operations disclosed herein. For example, the computing system(s) may perform communication between processes on the same or different system. A variety of mechanisms, employing some form of active or passive communication, may facilitate the exchange of data between processes on the same device. Examples representative of these inter-process communications include, but are not limited to, the implementation of a file, a signal, a socket, a message queue, a pipeline, a semaphore, shared memory, message passing, and a memory-mapped file. Further details pertaining to a couple of these non-limiting examples are provided below.
[0086] 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).
[0087] 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, one authorized process may mount the shareable segment, other than the initializing process, at any given time.
[0088] Other techniques may be used to share data, such as the various data described in the present application, between processes without departing from the scope. The processes may be part of the same or different application and may execute on the same or different computing system.
[0089] 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.
[0090] 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. [0091] 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 FIG. 7.1. First, the organizing pattern (e.g., grammar, schema, layout) of the data is determined, which may be based on one or more of the following: position (e.g., bit or column position, Nth token in a data stream, etc.), attribute (where the attribute is associated with one or more values), or a hierarchical/tree structure (consisting of layers of nodes at different levels of detail— such as in nested packet headers or nested document sections). Then, the raw, unprocessed stream of data symbols is parsed, in the context of the organizing pattern, into a stream (or layered structure) of tokens (where each token may have an associated token "type").
[0092] 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).
[0093] The extracted data may be used for further processing by the computing system. For example, the computing system of FIG. 7.1, while performing one or more embodiments, may perform data comparison. Data comparison may be used to compare two or more data values (e.g., A, B). For example, one or more embodiments may determine whether A > B, A = B, A != B, A < B, etc. The comparison may be performed by submitting A, B, and an opcode specifying an operation related to the comparison into an arithmetic logic unit (ALU) (i.e., circuitry that performs arithmetic and/or bitwise logical operations on the two data values). The ALU outputs the numerical result of the operation and/or one or more status flags related to the numerical result. For example, the status flags may indicate whether the numerical result is a positive number, a negative number, zero, etc. By selecting the proper opcode and then reading the numerical results and/or status flags, the comparison may be executed. For example, in order to determine if A > B, B may be subtracted from A (i.e., A - B), and the status flags may be read to determine if the result is positive (i.e., if A > B, then A - B > 0). In one or more embodiments, B may be considered a threshold, and A is deemed to satisfy the threshold if A = B or if A > B, as determined using the ALU. In one or more embodiments, A and B may be vectors, and comparing A with B includes comparing the first element of vector A with the first element of vector B, the second element of vector A with the second element of vector B, etc. In one or more embodiments, if A and B are strings, the binary values of the strings may be compared.
[0094] The computing system in FIG. 7.1 may implement and/or be connected to a data repository. For example, one type of data repository is a database. A database is a collection of information configured for ease of data retrieval, modification, re-organization, and deletion. Database Management System (DBMS) is a software application that provides an interface for users to define, create, query, update, or administer databases.
[0095] 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.
[0096] The computing system of FIG. 7.1 may include functionality to present raw and/or processed data, such as results of comparisons and other processing. For example, presenting data may be accomplished through various presenting methods. Specifically, data may be presented through a user interface provided by a computing device. The user interface may include a GUI that displays information on a display device, such as a computer monitor or a touchscreen on a handheld computer device. The GUI may include various GUI widgets that organize what data is shown as well as how data is presented to a user. Furthermore, the GUI may present data directly to the user, e.g., data presented as actual data values through text, or rendered by the computing device into a visual representation of the data, such as through visualizing a data model.
[0097] 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.
[0098] 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.
[0099] 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.
[00100] The above description of functions presents a few examples of functions performed by the computing system of FIG. 7.1 and the nodes and/ or client device in FIG. 7.2. Other functions may be performed using one or more embodiments.
[00101] While the technology 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 technology as disclosed herein. Accordingly, the scope of the technology should be limited by the attached claims.

Claims

CLAIMS What is claimed is:
1. A method to provide integrated services to clients comprising:
receiving a project specification for a project for a client;
transmitting, to a plurality of service providers, a service offer request;
receiving, in response to the service offer request, a plurality of service offers from the plurality of service providers;
sending, to a service provider of the plurality of service providers, an acceptance of a service offer in the plurality of service offers, based on the service provider providing the service offer satisfying a criterion for the project defined by the project specification;
granting, to the service provider, access to a set of tools and client data on a computing system,
limiting, while the service provider is performing the project, the access by the service provider to using the set of tools with the client data on the computing system; and
providing a status update to the client based on the service provider performing the project.
2. The method of claim 1, wherein limiting access comprises preventing the service provider from copying the client data outside of the computing system.
3. The method of claim 1, wherein limiting access comprises:
determining a subset of client data used to perform the project; and
denying access to client data that is not in the subset.
4. The method of claim 1, further comprising:
installing an external tool from a third party,
wherein the external tool is in the set of tools.
5. The method of claim 1, wherein the criterion comprises a credential of the service provider.
6. The method of claim 1, wherein the criterion comprises a minimum criterion in the service offer.
7. The method of claim 1, further comprising monitoring performance of the project by the service provider, wherein the status update comprises an indicator of the performance.
8. A system comprising:
a processor; and
a memory comprising one or more instructions that, when executed by the processor, cause the system to perform operations, the operations comprising:
receiving a project specification for a project for a client;
transmitting, to a plurality of service providers, a service offer request; receiving, in response to the service offer request, a plurality of service offers from the plurality of service providers;
sending, to a service provider of the plurality of service providers, an acceptance of a service offer in the plurality of service offers, based on the service provider providing the service offer satisfying a criterion for the project defined by the project specification;
granting, to the service provider, access to a set of tools and client data on a computing system,
limiting, while the service provider is performing the project, the access by the service provider to using the set of tools with the client data on the computing system; and providing a status update to the client based on the service provider performing the project.
9. The system of claim 8, wherein limiting access comprises preventing the service provider from copying the client data outside of the computing system.
10. The system of claim 8, wherein limiting access comprises:
determining a subset of client data used to perform the project; and
denying access to client data that is not in the subset.
11. The system of claim 8, wherein the operations further comprises:
installing an external tool from a third party,
wherein the external tool is in the set of tools.
12. The system of claim 8, wherein the criterion comprises a credential of the service provider.
13. The system of claim 8, wherein the criterion comprises a minimum criterion in the service offer.
14. The system of claim 8, wherein the operation further comprises monitoring performance of the project by the service provider, wherein the status update comprises an indicator of the performance.
. A computer program product comprising instructions for performing a method according to any one of claims 1-7.
PCT/US2016/039929 2015-07-01 2016-06-29 Method and system for service offer management WO2017004104A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562187486P 2015-07-01 2015-07-01
US62/187,486 2015-07-01

Publications (1)

Publication Number Publication Date
WO2017004104A1 true WO2017004104A1 (en) 2017-01-05

Family

ID=57609585

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2016/039929 WO2017004104A1 (en) 2015-07-01 2016-06-29 Method and system for service offer management

Country Status (1)

Country Link
WO (1) WO2017004104A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021226474A1 (en) * 2020-05-07 2021-11-11 Schlumberger Technology Corporation Secure platform for the dissemination of data
US11295397B1 (en) 2017-10-27 2022-04-05 Intuit Inc. Systems, methods, and computer program products for matching service consumers and providers

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020062727A (en) * 2000-08-01 2002-07-29 고쿠요 가부시키가이샤 System and method for project management
US20030135481A1 (en) * 2001-12-07 2003-07-17 Philip Helmes Rules based method and system for project performance monitoring
US20050149367A1 (en) * 2003-12-23 2005-07-07 Lee Kang W. Inter-enterprise collaborative process management system
US20050228725A1 (en) * 2001-12-10 2005-10-13 Halliburton Energy Services, Inc. Methods and systems for selecting and acquiring data to update a geophysical database
US20130185773A1 (en) * 2012-01-13 2013-07-18 Ubiterra Corporation Apparatus, system, and method for managing, sharing, and storing seismic data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020062727A (en) * 2000-08-01 2002-07-29 고쿠요 가부시키가이샤 System and method for project management
US20030135481A1 (en) * 2001-12-07 2003-07-17 Philip Helmes Rules based method and system for project performance monitoring
US20050228725A1 (en) * 2001-12-10 2005-10-13 Halliburton Energy Services, Inc. Methods and systems for selecting and acquiring data to update a geophysical database
US20050149367A1 (en) * 2003-12-23 2005-07-07 Lee Kang W. Inter-enterprise collaborative process management system
US20130185773A1 (en) * 2012-01-13 2013-07-18 Ubiterra Corporation Apparatus, system, and method for managing, sharing, and storing seismic data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11295397B1 (en) 2017-10-27 2022-04-05 Intuit Inc. Systems, methods, and computer program products for matching service consumers and providers
WO2021226474A1 (en) * 2020-05-07 2021-11-11 Schlumberger Technology Corporation Secure platform for the dissemination of data

Similar Documents

Publication Publication Date Title
US20180004868A1 (en) Cloud-Based Reservoir Simulation Environment
US20180230785A1 (en) Well management on cloud computing system
WO2017004104A1 (en) Method and system for service offer management
US11887031B2 (en) Oil field resource allocation using machine learning and optimization
US11475649B2 (en) Data structures for augmented reality planning of geographic locations
US20220222363A1 (en) Client isolation with native cloud features
WO2017058738A1 (en) Network based simulation workflows
US11972176B2 (en) Pipeline network solving using decomposition procedure
US20230229810A1 (en) Secure platform for the dissemination of data
CN110807583A (en) Configurable ERP role authority verification system and method based on RBAC
US20230126588A1 (en) Integrated authentication system and method
US10339600B1 (en) Application platform reverse auction
US20240220391A1 (en) Application lifecycle management
US20220092617A1 (en) Rapid region wide production forecasting
EP4280074A1 (en) Network security framework for maintaining data security while allowing remote users to perform user-driven quality analyses of the data
Hassan et al. Cloud-Based Software for Automated Well Planning
Mostafa Design and implementation of secured E-business structure with LTL patterns for user behavior prediction
WO2022235172A1 (en) Application lifecycle management
Mwansa et al. Switching to Cruise Control with Next Generation Well Design Software
Mwansa et al. Field Development Plan (FDP) Cloud-based Data Integration Between Geology & Drilling Software Using Python Tools
WO2021101546A1 (en) Widget delivery workflow system and method
WO2023101924A1 (en) Automated tools recommender system for well completion

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16818631

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16818631

Country of ref document: EP

Kind code of ref document: A1