Various industries rely on computer-based modeling applications to perform tasks related to research, development, economics, etc. In such industries, a user may spend considerable time sitting in front of a display and interacting with a modeling application. As such applications tend to be knowledge and data driven, a user may experience productivity challenges when knowledge, data or both are not readily at accessible. According to an embodiment, various technologies and techniques provide for access to and sharing of knowledge and data.
A method can include accessing, via a modeling application, social network data and rendering accessed social network data to a display. Such a method may rank data, for example, as a ranking of member profiles based on information associated with a modeling project. A method may include rendering social network data to a display, receiving an instruction via a user interface, and accessing additional social network data responsive to receipt of the instruction. A method may include sharing of activities, knowledge or data. Various other apparatuses, systems, methods, etc., are also disclosed.
This summary is provided to introduce a selection of concepts that are further described below in the detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in limiting the scope of the claimed subject matter.
Features and advantages of the described implementations can be more readily understood by reference to the following description taken in conjunction with the accompanying drawings.
The following description includes the best mode presently contemplated for practicing the described implementations. This description is not to be taken in a limiting sense, but rather is made merely for the purpose of describing the general principles of the implementations. The scope of the described implementations should be ascertained with reference to the issued claims.
In the example of
As to the management components 110 of
According to an embodiment, the simulation component 120 may rely on entities 122. Entities 122 may be earth entities and/or geological objects such as wells, surfaces, reservoirs, etc. In the system 100, the entities 122 may include virtual representations of actual physical entities that are reconstructed for purposes of simulation. The entities 122 may be based on data acquired via sensing, observation, etc. (e.g., the seismic data 112 and other information 114).
According to an embodiment, the simulation component 120 may rely on a software framework such as an object-based framework. In such a framework, entities may be based on pre-defined classes to facilitate modeling and simulation. A commercially available example of an object-based framework is the MICROSOFT®.NET™ framework (Redmond, Wash.), which provides a set of extensible object classes. In the .NET™ framework, an object class encapsulates a module of reusable code and associated data structures. Object classes can be used to instantiate object instances for use in by a program, script, etc. For example, borehole classes may define objects for representing boreholes based on well data.
In the example of
According to an embodiment, the management components 110 may include features of a commercially available simulation framework such as the PETREL® seismic to simulation software framework (Schlumberger Limited, Houston, Tex.). The PETREL® framework provides components that allow for optimization of exploration and development operations. The PETREL® framework includes seismic to simulation software components that can output information for use in increasing reservoir performance, for example, by improving asset team productivity. Through use of such a framework, various professionals (e.g., geophysicists, geologists, and reservoir engineers) can develop collaborative workflows and integrate operations to streamline processes. Such a framework may be considered an application and may be considered a data-driven application (e.g., where data is input for purposes of simulating a geologic environment).
According to an embodiment, the management components 110 may include features for geology and geological modeling to generate high-resolution geological models of reservoir structure and stratigraphy (e.g., classification and estimation, facies modeling, well correlation, surface imaging, structural and fault analysis, well path design, data analysis, fracture modeling, workflow editing, uncertainty and optimization modeling, petrophysical modeling, etc.). Particular features may allow for performance of rapid 2D and 3D seismic interpretation, optionally for integration with geological and engineering tools (e.g., classification and estimation, well path design, seismic interpretation, seismic attribute analysis, seismic sampling, seismic volume rendering, geobody extraction, domain conversion, etc.). As to reservoir engineering, for a generated model, one or more features may allow for simulation workflow to perform streamline simulation, reduce uncertainty and assist in future well planning (e.g., uncertainty analysis and optimization workflow, well path design, advanced gridding and upscaling, history match analysis, etc.). The management components 110 may include features for drilling workflows including well path design, drilling visualization, and real-time model updates (e.g., via real-time data links).
According to an embodiment, various aspects of the management components 110 may be add-ons or plug-ins that operate according to specifications of a framework environment. For example, a commercially available framework environment marketed as the OCEAN® framework environment (Schlumberger Limited) allows for seamless integration of add-ons (or plug-ins) into a PETREL® framework workflow. The OCEAN® framework environment leverages .NET® tools (Microsoft Corporation, Redmond, Wash.) and offers stable, user-friendly interfaces for efficient development. According to an embodiment, various components may be implemented as add-ons (or plug-ins) that conform to and operate according to specifications of a framework environment (e.g., according to application programming interface (API) specifications, etc.).
The model simulation layer 180 may provide domain objects 182, act as a data source 184, provide for rendering 186 and provide for various user interfaces 188. Rendering 186 may provide a graphical environment in which applications can display their data while the user interfaces 188 may provide a common look and feel for all application user interface components.
In the example of
In the example of
According to an embodiment, a system may include a framework configured with one or more modules (e.g., code, plug-ins, APIs, etc.) to leverage public resources and optionally share information via public resources.
According to an embodiment, users of a modeling system can benefit from resources that exist in a public resource layer where such resources may be social network resources. As an example, consider a user that spends considerable time sitting in front of a display and interacting with a modeling application. As such an application tends to be knowledge and data driven, the user may experience productivity challenges when knowledge, data or both are not readily at accessible. To help overcome such challenges, one or more components may integrate social network data into a modeling experience. Accordingly, when a user desires knowledge or data, the user may invoke a component (e.g., during a modeling session) where the component responds by rendering relevant social network data to the display. The social network data may include relevant information as to features of the modeling application, features of a geologic reservoir, features of equipment used to explore a reservoir, features of equipment to extract or inject material, individuals or groups with expertise, etc. According to an embodiment, such information may be available for free, a fee, share-alike, membership, subscription or other basis.
As shown in
As to the web application 320, it can include a so-called N-tier architecture with a presentation tier, a business tier and a data tier, shown as, for example, a graphical user interface (GUI) layer 322, a business logic (BL) layer 324 and a cache 326. As to the allied applications 330, these may include a public profile web application 332, one or more specialized web applications 334 and one or more advertisement web applications associated with one or more ad servers 336. According to an embodiment, advertisements may be for consultants, services, data, software, computing or other equipment, etc.
As to integration of such social network resources into a modeling application, the letters A, B, C, D, E and F identify some integration points. As to point A, integration may occur by accessing a social network via the cloud 305, for example, where the modeling application or associated framework includes a “browser” component that can access a website or other component of the social network system 300.
As to point B, such a web application may be included in a modeling application or associated framework where features allow for interaction between modeling application data and input and the web application (e.g., access via a GUI layer, a business logic layer, a cache, etc.).
As to point C, a modeling application or associated framework may include an integrated specialized web application or allow for a plug-in specialized web application that allows a user to leverage the social network resources from an instance of the modeling application.
As to point D, a modeling application or associated framework may include a component that interacts with a profile service of a social network. As an example, such a component may be part of a framework services layer of a framework associated with a modeling application.
As to point E, a modeling application or associated framework may include a component that interacts with a specialized service. For example, a company that uses a modeling application may acquire a license for access to one or more databases of a social network system. In such an arrangement, operators of the social network system may provide the company with a specialized service, optionally with security and optionally limited to certain profile data (e.g., for members, which may be individuals or other entities).
As to point F, where a social network system allows access to a core database, for example, via one or more application programming interfaces, communication ports, etc., a modeling application or associated framework may include a component that conforms queries, requests, etc., to the standards relied on by the social network system to thereby access data in the core database (e.g., SQL or other access mechanisms for relational or other types of databases).
At the level of the model simulation layer 180, a social network component 420 may be, for example, integrated as code 422 or extender code 424. As to the latter, extender code may optionally leverage features in an existing portion of simulation code that can access a website or perform other actions associated with social network types of data.
At the framework services level 190, a social network service component 430 may be, for example, an allied service or utility component 432 or a connector component 434. At the framework core level 195, a social network core component 440 may be, for example, a data access component 442 or a service connector component 444.
According to an embodiment, a component to access one or more social network resources may operate according to representational state transfer (REST). In a REST architecture, a client initiates a request to a server and a server processes the request and returns an appropriate response. Such requests and responses are built around transfer of representations of resources where a resource can be essentially any coherent and meaningful concept that may be addressed (e.g., having an IP address). RESTful architectures can be based on HTTP or other Application Layer protocols, for example, where they provide a rich and uniform vocabulary for applications based on the transfer of meaningful representational state. RESTful applications aim to maximize the use of the pre-existing, well-defined interface and other built-in capabilities provided by the chosen network protocol, and minimize the addition of new application-specific features on top of it.
According to an embodiment, components may be organized in a model-view-controller (MVC) architecture that isolates “domain logic” (application logic for a user) from a user interface (e.g., input and presentation), which can permit independent development, testing and maintenance of each component (e.g., separation of concerns). In the MVC architecture, a model represents the state of a particular aspect of an application (e.g., where the model maps to a database table with the entries in the table representing the state of the application); a controller handles interactions and updates the model to reflect a change in state of the application, and then passes information to the view; and a view accepts necessary information from the controller and renders a user interface to a display. Some examples of frameworks that allow for MVC architecture include the .NET® framework and the Ruby On Rails® framework (Hansson, D. H., Chicago, Ill.).
According to an embodiment, an application programming interface (API) 530 may allow the indexer 510 to access and optionally retrieve information 570 in the index database 560. In turn, the indexer 510 can access and optionally retrieve information 550 in the social network database 550. Logic within the indexer 510 can provide for associating the social network information 570 with index information 570. The indexer 510 may generate an index and store the index, for example, in a manner akin to a search engine that indexes websites (e.g., where the indexer 510 collects, parses, and stores data to facilitate fast and accurate information retrieval). As shown in the example of
In such a method, the access block 630 may provide for accessing a database that stores social network data associated with the user identity data, accessing the Internet to access social network data based on the user identity data or both. According to an embodiment, the access block 660 may provide for accessing a database that stores social network data associated with the user identity data, accessing a website for the social network via the Internet, or both.
According to an embodiment, a method can include accessing object property data associated with a project and accessing social network data for one or more social network member profiles based at least in part on the object property data. According to an embodiment, a method can include receiving one or more search criteria associated with a project and accessing social network data for one or more social network member profiles based at least in part on the one or more search criteria.
According to an embodiment, a method can include accessing social network data for one or more social network member profiles based on user identity data where the accessing social network data is based on a degree of relationship between members and a member associated with the user identity data. According to an embodiment, a method can include accessing social network data for one or more social network member profiles based on user identity data where the accessing social network data is based on organizational affiliation between members and a member associated with the user identity data.
The method 600 is shown in
As shown, the method 700 includes an access block 710 to access user identity data for a project associated with a geomodeling application; an access block 720 to access the Internet to retrieve social network data for one or more social network member profiles based on the user identity data; a storage block 730 to store the retrieved social network data in association with the user identity data; and a generation block 740 to generate an interface to receive a call from an instance of the geomodeling application and to return stored social network data responsive to the call.
As to the access block 710, it may access one or more databases such as a project database 752, a human resources database 754, or another database 756. As to the access block 720, it may access the Internet 762 and a social network database 764 in communication, directly or indirectly with the Internet 762. As to the storage block 730, it may store data in an index database 774. As to the generation block 740, it may generate an interface as an application programming interface (API) 786 where an application 782 can access a server 784 via the API 786 and, in turn, allow for exposure of data in the index database 774 (e.g., at least viewing of the data and optionally access and retrieval of the data).
The method 700 may optionally include a parse block to parse a call for user identity data and to access the stored, retrieved social network data based on the user identity data, to parse a call for user identity data and to access the Internet to retrieve social network data based on the user identity data, or both.
The method 700 may optionally include a generation block to generate an interface to receive a call from an instance of the geomodeling application and to access a social network website via the Internet responsive to the call.
According to an embodiment, a method may include a build block to build a group profile for a project based on project information and social network member profiles.
The method 700 is shown in
According to an embodiment, one or more computer-readable media can include computer-executable instructions to instruct a computer to: access user identity data for a project associated with a geomodeling application; access the Internet to retrieve social network data for one or more social network member profiles based on the user identity data; store the retrieved social network data in association with the user identity data; and generate an interface to receive a call from an instance of the geomodeling application and to return stored social network data responsive to the call. According to an embodiment, one or more computer-readable medium may include instructions to instruct a computer to parse a call for user identity data and to access the stored, retrieved social network data based on the user identity data; instructions to instruct a computer to parse a call for user identity data and to access the Internet to retrieve social network data based on the user identity data; instructions to instruct a computer to generate an interface to receive a call from an instance of the geomodeling application and to access a social network website via the Internet responsive to the call; instructions to instruct a computer to build a group profile for a project based on social network member profiles; or other instructions.
As shown, the GUI 800 includes a graphical portion for rendering project data 803, which may be multi-dimensional data associated with a reservoir or, more generally, a subsurface formation. In the example of
According to an embodiment, a GUI may include features for broadcasting information via a graphical broadcast control 840. Such a control may allow for broadcast via email, cell phone, text message, a social network such as the TWITTER® microblogging service (Twitter, San Francisco, Calif.) or other mode of communication. As an example, a user may type information during use of a modeling application. Additionally, or alternatively, a graphical user interface may include an option to automatically broadcast or to provide for “canned” predetermined broadcast messages. Accordingly, once a user performs a task, the GUI may access a message storage and broadcast a message associated with that task (e.g., optionally with amount of time taken to complete, success of completion, etc.). A manager may have a graphical interface that displays such microblogs by team members to thereby track progress on one or more modeling projects.
As to transmission of information via email, cell phone, text message, social network, etc., the GUI 800 may provide for scraping and parsing information associated with a social network website to identify contact information for an individual, organization, entity, etc. For example, a LINKEDIN® social network (LinkedIn Corp., Mountain View, Calif.) webpage for an individual may be accessed and its information (e.g., HTML) parsed for an email address, a phone number, an IM moniker, a TWITTER® microblog account, etc. In turn, a control may be rendered to a display that provides for selection of available contact options (e.g., allowing a user to select broadcast mode based on available options). As another example, consider a FACEBOOK® social network (Facebook, Palo Alto, Calif.) webpage that may be accessible for an organization (e.g., “North Sea Modeling Group XYZ”), where information may be transmitted from a modeling application via the Internet for posting to the “wall” for the organization. Thus, members of the organization can visit the social network webpage for updates or optionally receive email notifications from the social network responsive to such posts.
In the example of
In the example of
According to an embodiment, a method can include receiving input via a graphical user interface for a project associated with a geomodeling application; retrieving social network data for one or more social network member profiles responsive to receipt of the input; and rendering a ranking of member profiles. Where fee-based services (e.g., member consulting services) are available, fees for such services may be provided in a GUI (e.g., next to member name, etc.). Further, access restrictions may be presented for the various ranked member profiles (e.g., corporate partner, share-alike, limited to members of a professional organization, etc.).
As to scraping, such techniques may be implemented to access and transform structured or unstructured data (e.g., HTML or other format) into a particular structured form, for example, that can be rendered via a browser or other interface, stored, analyzed, etc. According to an embodiment, a modeling application, framework or indexer may include a bot component that scrapes data for further processing (e.g., parsing for contact information, expertise, location, etc.). Such a bot may conform to specifications for social network servers, which typically include a file (e.g., “robots.txt”) with rules for spidering or scraping of data accessible via such servers. As an example, consider the LINKEDIN® social network file at “http://www.linkedin.com/robots.txt”, which includes information as to user-agents and permissions (e.g., User-agent: Googlebot; Disallow: /addContacts*; Disallow:/addressBookExport*, etc.) as well as instructions for so-called “white listing”. A whitelist may be a list or register of entities that are being provided a particular privilege, service, mobility, access or recognition with respect to data or other functionality of a social network (see, e.g., the system 300 of
The method 860 is shown in
In the example of
As mentioned, during modeling, a user may wish to access knowledge or data to facilitate or increase accuracy of her modeling effort. By inputting a command (e.g., click, voice, keyboard, etc.), a modeling application used by the user may initiate a process that accesses social network data and provides a ranking of members (e.g., typically individuals) via a ranking graphic such as the ranking graphic 950. As shown, in the scenario 900, the user may then select one of the ranked members to cause rendering of a corresponding profile (via profile graphic 960) for that member.
In the particular example of
As to the profile graphic 960, it may include keywords associated with information in the GUI 910 or otherwise associated with the project or object for which the GUI 910 corresponds. As an example, the type field of the GUI 910 includes the word “seismic”, which may be a keyword for an expertise or other search that accesses information for social network members with “seismic” in their title (or another field of a member profile).
The GUIs 910, 950 and 960 are shown in
According to an embodiment, one or more computer-readable media may include computer-executable instructions to instruct a computing system to output information for controlling a process. For example, such instructions may provide for output to sensing process, an injection process, drilling process, an extraction process, etc.
According to an embodiment, components may be distributed, such as in the network system 1010. The network system 1010 includes components 1022-1, 1022-2, 1022-3, . . . 1022-N. For example, the components 1022-1 may include the processor(s) 1002 while the component(s) 1022-3 may include memory accessible by the processor(s) 1002. Further, the component(s) 1002-2 may include an I/O device for display and optionally interaction with a method. The network may be or include the Internet, an intranet, a cellular network, a satellite network, etc.
Although various methods, devices, systems, etc., have been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as examples of forms of implementing the claimed methods, devices, systems, etc.
This application claims the benefit of U.S. Provisional Patent Application 61/389,745 filed Oct. 5, 2010, entitled “Social Networking Applied to Collaboration Within Petro-Technical Applications,” the entirety of which is incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
61389745 | Oct 2010 | US |