Patent ID: 12203329

Like reference numbers and designations in the various drawings indicate like elements. Figures are not drawn to scale.

DETAILED DESCRIPTION

The following detailed description describes techniques for completing a well adding a tubing joint that includes an adjustable (ad-hoc retractable) landing profile into the tubing string for a mono-bore completion, including slim mono-bore completions. Various modifications, alterations, and permutations of the disclosed implementations can be made and will be readily apparent to those of ordinary skill in the art, and the general principles defined may be applied to other implementations and applications, without departing from scope of the disclosure. In some instances, details unnecessary to obtain an understanding of the described subject matter may be omitted so as to not obscure one or more described implementations with unnecessary detail and inasmuch as such details are within the skill of one of ordinary skill in the art. The present disclosure is not intended to be limited to the described or illustrated implementations, but to be accorded the widest scope consistent with the described principles and features.

Aspects of this disclosure are directed to devices and techniques to complete wells, including wells with slim mono-bore completion. The tubing described herein includes selectively activated landing pads to install and secure mono-bore (invariable diameter) completion for production wells, including oil, gas, and water wells. The selectively activated landing pads result in tubing with an ad-hoc adjustable landing profile. The selectively activated landing profile of the tubing facilitates consistent internal diameter throughout the length of the tubing string, which is useful for running large tools down string to carry out operations in the lower completion. In addition to providing accessibility, aspects of the embodiments can reduce the risk of scale precipitation which usually occurs in conventional landing profiles. Three different modes of operations are used to deploy the landing profiles by means of mechanical, hydraulic, and/or electrical activation. Various embodiments and implementation choices are described below.

FIG.1Ais a first view of a schematic diagram of an example tubing100with selective activated landing profile according to some implementations of the present disclosure.FIG.1Bis a second, sectional view of a schematic diagram of the example tubing with selective activated landing profile ofFIG.1Aaccording to some implementations of the present disclosure. The tubing100can be a portion of a wellbore completion, such as that used for slim monobore designs. The tubing100can be a tubular joint or other sectional piece of a completion, drill string, well string, or other type of wellbore completion. The tubing100can include an outer surface102and an inner surface108(inner surface108having an inner diameter ID).

The tubing100can include a first flange106adisposed at a first distal end of the tubing100. The tubing100can also include a second flange106bdisposed at a second distal end of the tubing100, opposite the first distal end. The flanges106aand106bcan be used as couplings for other sections of tubing or other components in the completion. The flanges106aand106balso define a first outer diameter of the tubing100(shown inFIGS.2A-B). The flanges106aand106bcan protect the tubing100and landing pads104a-dwhile the tubing100is positioned within the wellbore. The flanges106aand106bcan also help to guide the tubing100into the wellbore.

The tubing100also includes one or more landing pads, here shown with four landing pads104a,104b,104c, and104d. The landing pads104a-dare movable in a radial direction relative to the tubing100to secure the tubing100in the wellbore. In addition, the landing pads104a-dare designed (and sized) to not obstruct the passage of tools and production materials through the tubing100at least during operation of the well and when the landing pads104a-dare extended outwards towards the surface of the wellbore. The landing pads104a-dare shown to be arranged at equidistant locations around the circumference of the tubing surface102. The landing pads104a-dcan be installed on 1-3 feet of tubing joints. The tubing joints can be threaded to the tubing when designing and running the well tubular during the well completion phase.

The operation of the landing pads104a-dis illustrated in more detail inFIGS.2A-Bbelow.

FIGS.2A and2Billustrate the tubing100within a wellbore having wellbore surface202(or wellbore casing surface202, if a wellbore casing is used).FIG.2Ais a schematic diagram200of an example tubing100with selective activated landing profile in a wellbore with landing pads retracted in accordance with embodiments of the present disclosure. InFIG.2A, the tubing100is shown with landing pads104a,104b, and104cin a retracted position. The retracted position allows for the tubing100to be positioned and repositioned prior to being secured in place and coupled to other components of the completion. While in the retracted position, two opposing landing pads (e.g., landing pads104aand104c) define a landing pad diameter204a. This landing pad diameter can be less than or equal to the outer diameter of the tubing206defined by the flanges106aand106b. Outer diameter of the tubing106can be just less than the wellbore diameter208(or wellbore casing) so that the tubing100can be positioned and moved in the wellbore.

InFIG.2A, the dashed lines adjoining the landing pads104aand104cindicate unseen portions of the landing pads. InFIG.2A, the unseen portion of the landing pads104a-dcan be bound by the inner diameter ID of the tubing100(shown inFIG.1B). In embodiments, the landing pads104a-dcan extend into the interior of the tubing100past the inner diameter ID. In either case, the retracted position of the landing pads can define an inner diameter210of the tubing100when the landing pads104a-dare retracted and the tubing100is not operational. More importantly, however, is that when in the extended position and during operation of the well, the landing pads104a-ddo not extend into the interior of the wellbore. Thus, the landing pads104a-dcan be designed and sized so that, when extended, the landing pads104a-dsecure the tubing100in the wellbore and do not extend into the tubing100to interfere with operation of the well or the movement down string tools.

FIG.2Bis a schematic diagram250of the example tubing100with selective activated landing profile ofFIG.2Ain a wellbore with landing pads extended in accordance with embodiments of the present disclosure. InFIG.2B, the landing pads104aand104care shown in an extended position. In the extended position, the landing pads define a second landing pad diameter204bof the tubing100. The second landing pad diameter204bcan be nearly equal to the wellbore diameter208(or wellbore casing diameter) such that the landing pads104a-dsecure the tubing100in the wellbore by friction and other forces. InFIG.2B, the landing pads104aand104care shown to be not fully extended past the outer surface102. By over-sizing the landing pads slightly, the highest securing force against the surface202can be achieved. The landing pads104a-dcan establish a landing profile that is activated after landing the tubing in the wellbore prior to operation. An operator can increase the landing profile for well securement in case of, for example, well integrity issues that are addressed by shallow securement. Tubing securement is achieved, thus, without interfering with the well.

FIGS.3-4describe example techniques that can be used to extend the landing pads104a-dfor securing the tubing100in the wellbore.

FIG.3Ais a schematic diagram of an example tubing300with selective activated landing profile with a shifting key arrangement and landing pads retracted in accordance with embodiments of the present disclosure.FIG.3Bis a schematic diagram of the example tubing300with selective activated landing profile ofFIG.3Awith a shifting key arrangement and landing pads extended in accordance with embodiments of the present disclosure.FIGS.3A-Billustrate a half sectional view of an example embodiment of a tubing with selectively activated landing profile. A centerline302is shown that extends axially through the center of the tubing300. The tubing includes an outer surface102and an inner surface108(shown as a dashed line). Tubing300has an inner diameter characterized by radius314. The first outer diameter is based on the sizing of the flange106aand is characterized by the radius312from the centerline to the outermost edge of the flange106a.

The landing pad304(which is similar to landing pads104a-b) is shown. Landing pad304can house a shifting key310. Shifting key310can move in an axial direction parallel to the centerline302. Shifting key310can include a notch or other receiver to receive a downhole shifting tool320. Downhole shifting tool320can be controlled by an operator at the surface using a wireline322.

The tubing300includes a thrusting element306. Thrusting element306is rigidly affixed to a surface of the tubing300, such as the inner surface108or a side-wall surface formed by inner surface108and outer surface102. The thrusting element306need not be an integral part of the tubing300. Thrusting element306can be installed into the cavity by a threaded screw or both or other securing member. The landing pad304is connected to the thrusting member306by a spring308. The spring308has sufficient spring tension to hold the landing pad304in place when the thrusting member is not being interacted with.

InFIG.3A, the shifting key310is not engaged and the landing pad304is in a “retracted” position.FIG.3Ashows the downhole shifting tool320engaged with the shifting key310. As shown by example here, the shifting key310can include a shape (such as a wedge or inclined plane) that can interact with a corresponding shaped thrusting element306. Such an interaction is shown inFIG.3B. InFIG.3B, the downhole shifting tool320moves the shifting key310axially towards the stationary thrusting element306. In embodiments, because of the cooperating designs of the shifting key310and the thrusting element306, the shifting key310can slide over the thrusting member306, thereby pushing the landing pad304in a radial direction outwards from the outer surface102of the tubing300and towards the wellbore wall (when operated in a wellbore). The extension of the landing pad304is illustrated by the landing pad diameter characterized by radius316extending from the centerline302to an outer edge of the landing pad304. In embodiments, the radius316is greater than or equal to radius312. In implementations, radius312and radius316are not related to each other; radius312and radius316can be different or similar based on manufacturing design, implementation choices, wellbore needs, etc. Once secured, friction and counter force from the spring tension can hold the shifting key310in place, thereby holding the landing pad304in place to secure the tubing300. The downhole shifting tool320can disengage from the shifting key310and be retrieved or sent to operate another shifting key306.

If the tubing300is to be repositioned or removed, the operator can use the downhole shifting tool to shift the shifting key away from the thrusting element306. The spring tension of spring308can retract the landing pad304away from the wellbore surface radially towards the outer surface102of the tubing300.

FIG.4Ais a schematic diagram of an example tubing400with selective activated landing profile with a motor arrangement and landing pads retracted in accordance with embodiments of the present disclosure.FIG.4Bis a schematic diagram of the example tubing400with selective activated landing profile ofFIG.4Awith a motor arrangement and landing pads extended in accordance with embodiments of the present disclosure.FIGS.4A-Billustrate a half sectional view of an example embodiment of a tubing with selectively activated landing profile. A centerline302is shown that extends axially through the center of the tubing400. The tubing includes an outer surface102and an inner surface108(shown as a dashed line). Tubing400has an inner diameter characterized by radius314. The first outer diameter is based on the sizing of the flange106aand is characterized by the radius312from the centerline to the outermost edge of the flange106a.

The landing pad404(which is similar to landing pads104a-b) is shown. Landing pad404can house a motor410. Motor410drive a rod or screw or other linear driving element412radially towards or away from thrusting element406. The motor410can be an electric motor or a hydraulic motor. The motor410can be controlled using a control line414. Control line422can be a wired or wireless signal that can control electric motor. Or control line414can be a hydraulic control line that either controls hydraulic fluid from the surface to the motor410or causes local hydraulic fluid to actuate a rod or screw or other linear driving element412to push or retract from the thrusting element406.

The tubing400includes a thrusting element406. Thrusting element306is rigidly affixed to a surface of the tubing400, such as the inner surface108or a side-wall surface formed by inner surface108and outer surface102. The landing pad404is connected to the thrusting member406by a spring408. The spring408has sufficient spring tension to hold the landing pad404in place when the thrusting member is not being interacted with.

InFIG.4A, the motor410is not engaged and the landing pad404and the linear driving element412in a “retracted” position, where the linear drive element412does not apply a force on the thrusting element406to oppose the spring tension. The spring tension of spring408is sufficient to hold the landing pad404in place. InFIG.4B, the motor410is actuated in a first direction, which drives the linear drive element412in a radial direction towards the stationary thrusting element406. The force created by the motor pushing the linear driving element412into the stationary thrusting element opposes the spring tension and causes the landing pad to move radially outwards from the outer surface102of the tubing300and towards the wellbore wall (when operated in a wellbore). The extension of the landing pad404is illustrated by the landing pad diameter characterized by radius316extending from the centerline302to an outer edge of the landing pad304. The radius316is greater than or equal to radius312. Once secured, the motor can hold the linear driving element412in place, thereby holding the landing pad304in place to secure the tubing300. Each landing pad can have its own motor, and the operator can operate each motor individually or cooperatively to secure the tubing400in the wellbore.

FIG.5is a flowchart of an example of a method for landing and operating a tubular joint with selective activated landing profile according to some implementations of the present disclosure. For clarity of presentation, the description that follows generally describes method500in the context of the other figures in this description. However, it will be understood that method500can be performed, for example, by any suitable system, environment, software, and hardware, or a combination of systems, environments, software, and hardware, as appropriate. In some implementations, various steps of method500can be run in parallel, in combination, in loops, or in any order.

At502, a tubing that includes a selectively activated landing profile can be introduced into a wellbore. The tubing can be introduced into the wellbore by conventional methodologies. The tubing can have the landing pads retracted for this step so that the tubing can be positioned at a desired location in the wellbore without the landing pads interfering with the surface of the wellbore. From502, method500proceeds to504.

At504, after the tubing is positioned at the desired location in the wellbore, the landing pads can be extended. The landing pads can be extended such that one or more landing pads contacts a corresponding surface of the wellbore. The landing pads can be extended using a downhole shifting tool coupled to a control device on the surface by a wireline. The landing pads can be extended using a motor, such as an electric motor or hydraulic motor, controlled by a controller at the surface, either by a wireline or wireless communications link. The hydraulic motor can also include a hydraulic line for hydraulic fluid to travel to the hydraulic motor under pressure. The electric motor can include a power line to the surface to supply power to the electric motor.

A landing pad is extended by pushing against a thrusting element that is coupled to the landing pad by a spring and rigidly affixed to a surface of the tubing. By pushing on the stationary thrusting profile, the landing pad moves against the tension of the spring in an outward direction relative the tubing and towards the wellbore surface. The tension can be maintained by frictional forces of the shifting key wedged in place or by the static nature of the motor. From504, method500proceeds to506.

At506, the landing pads contacting the surface of the wellbore secure the tubing in place within the wellbore. From506, method500proceeds to508.

At508, more tubing is added as described here, in addition to other elements by conventional techniques, to complete the wellbore completion. From508, method500proceeds to510.

At510, if desired, the landing pads can be retracted using the shifting key and tool or electric motor. The tubing can then be repositioned in or removed from the wellbore.

FIG.6is a block diagram of an example computer system600used to provide computational functionalities associated with described algorithms, methods, functions, processes, flows, and procedures described in the present disclosure, according to some implementations of the present disclosure. The illustrated computer602is intended to encompass any computing device such as a server, a desktop computer, a laptop/notebook computer, a wireless data port, a smart phone, a personal data assistant (PDA), a tablet computing device, or one or more processors within these devices, including physical instances, virtual instances, or both. The computer602can include input devices such as keypads, keyboards, and touch screens that can accept user information. Also, the computer602can include output devices that can convey information associated with the operation of the computer602. The information can include digital data, visual data, audio information, or a combination of information. The information can be presented in a graphical user interface (UI) (or GUI).

The computer602can serve in a role as a client, a network component, a server, a database, a persistency, or components of a computer system for performing the subject matter described in the present disclosure. The illustrated computer602is communicably coupled with a network630. In some implementations, one or more components of the computer602can be configured to operate within different environments, including cloud-computing-based environments, local environments, global environments, and combinations of environments.

At a top level, the computer602is an electronic computing device operable to receive, transmit, process, store, and manage data and information associated with the described subject matter. According to some implementations, the computer602can also include, or be communicably coupled with, an application server, an email server, a web server, a caching server, a streaming data server, or a combination of servers.

The computer602can receive requests over network630from a client application (for example, executing on another computer602). The computer602can respond to the received requests by processing the received requests using software applications. Requests can also be sent to the computer602from internal users (for example, from a command console), external (or third) parties, automated applications, entities, individuals, systems, and computers.

Each of the components of the computer602can communicate using a system bus603. In some implementations, any or all of the components of the computer602, including hardware or software components, can interface with each other or the interface604(or a combination of both) over the system bus603. Interfaces can use an application programming interface (API)612, a service layer613, or a combination of the API612and service layer613. The API612can include specifications for routines, data structures, and object classes. The API612can be either computer-language independent or dependent. The API612can refer to a complete interface, a single function, or a set of APIs.

The service layer613can provide software services to the computer602and other components (whether illustrated or not) that are communicably coupled to the computer602. The functionality of the computer602can be accessible for all service consumers using this service layer. Software services, such as those provided by the service layer613, can provide reusable, defined functionalities through a defined interface. For example, the interface can be software written in JAVA, C++, or a language providing data in extensible markup language (XML) format. While illustrated as an integrated component of the computer602, in alternative implementations, the API612or the service layer613can be stand-alone components in relation to other components of the computer602and other components communicably coupled to the computer602. Moreover, any or all parts of the API612or the service layer613can be implemented as child or sub-modules of another software module, enterprise application, or hardware module without departing from the scope of the present disclosure.

The computer602includes an interface604. Although illustrated as a single interface604inFIG.6, two or more interfaces604can be used according to particular needs, desires, or particular implementations of the computer602and the described functionality. The interface604can be used by the computer602for communicating with other systems that are connected to the network630(whether illustrated or not) in a distributed environment. Generally, the interface604can include, or be implemented using, logic encoded in software or hardware (or a combination of software and hardware) operable to communicate with the network630. More specifically, the interface604can include software supporting one or more communication protocols associated with communications. As such, the network630or the interface's hardware can be operable to communicate physical signals within and outside of the illustrated computer602.

The computer602includes a processor605. Although illustrated as a single processor605inFIG.6, two or more processors605can be used according to particular needs, desires, or particular implementations of the computer602and the described functionality. Generally, the processor605can execute instructions and can manipulate data to perform the operations of the computer602, including operations using algorithms, methods, functions, processes, flows, and procedures as described in the present disclosure.

The computer602also includes a database606that can hold data for the computer602and other components connected to the network630(whether illustrated or not). For example, database606can be an in-memory, conventional, or a database storing data consistent with the present disclosure. In some implementations, database606can be a combination of two or more different database types (for example, hybrid in-memory and conventional databases) according to particular needs, desires, or particular implementations of the computer602and the described functionality. Although illustrated as a single database606inFIG.6, two or more databases (of the same, different, or combination of types) can be used according to particular needs, desires, or particular implementations of the computer602and the described functionality. While database606is illustrated as an internal component of the computer602, in alternative implementations, database606can be external to the computer602.

The computer602also includes a memory607that can hold data for the computer602or a combination of components connected to the network630(whether illustrated or not). Memory607can store any data consistent with the present disclosure. In some implementations, memory607can be a combination of two or more different types of memory (for example, a combination of semiconductor and magnetic storage) according to particular needs, desires, or particular implementations of the computer602and the described functionality. Although illustrated as a single memory607inFIG.6, two or more memories607(of the same, different, or combination of types) can be used according to particular needs, desires, or particular implementations of the computer602and the described functionality. While memory607is illustrated as an internal component of the computer602, in alternative implementations, memory607can be external to the computer602.

The application608can be an algorithmic software engine providing functionality according to particular needs, desires, or particular implementations of the computer602and the described functionality. For example, application608can serve as one or more components, modules, or applications. Further, although illustrated as a single application608, the application608can be implemented as multiple applications608on the computer602. In addition, although illustrated as internal to the computer602, in alternative implementations, the application608can be external to the computer602.

The computer602can also include a power supply614. The power supply614can include a rechargeable or non-rechargeable battery that can be configured to be either user- or non-user-replaceable. In some implementations, the power supply614can include power-conversion and management circuits, including recharging, standby, and power management functionalities. In some implementations, the power-supply614can include a power plug to allow the computer602to be plugged into a wall socket or a power source to, for example, power the computer602or recharge a rechargeable battery.

There can be any number of computers602associated with, or external to, a computer system containing computer602, with each computer602communicating over network630. Further, the terms “client,” “user,” and other appropriate terminology can be used interchangeably, as appropriate, without departing from the scope of the present disclosure. Moreover, the present disclosure contemplates that many users can use one computer602and one user can use multiple computers602.

In embodiments, the computer602can be used to control the actuation of the landing pads when the tubular joint is in the wellbore. The computer602can, for example, be used by an operator to control a downhole wireline shifting tool to operate the shifting key to engage or disengage the landing pad(s). Likewise, the operator can use computer602to control the electric or hydraulic motor to extend or retract the landing pad(s). The computer602can be any type of computer, including a stationary computer, mobile computer, mobile communications devices, or other computational and communications system.

Implementations of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Software implementations of the described subject matter can be implemented as one or more computer programs. Each computer program can include one or more modules of computer program instructions encoded on a tangible, non-transitory, computer-readable computer-storage medium for execution by, or to control the operation of, data processing apparatus. Alternatively, or additionally, the program instructions can be encoded in/on an artificially generated propagated signal. For example, the signal can be a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to a suitable receiver apparatus for execution by a data processing apparatus. The computer-storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of computer-storage mediums.

The terms “data processing apparatus,” “computer,” and “electronic computer device” (or equivalent as understood by one of ordinary skill in the art) refer to data processing hardware. For example, a data processing apparatus can encompass all kinds of apparatuses, devices, and machines for processing data, including by way of example, a programmable processor, a computer, or multiple processors or computers. The apparatus can also include special purpose logic circuitry including, for example, a central processing unit (CPU), a field-programmable gate array (FPGA), or an application specific integrated circuit (ASIC). In some implementations, the data processing apparatus or special purpose logic circuitry (or a combination of the data processing apparatus or special purpose logic circuitry) can be hardware- or software-based (or a combination of both hardware- and software-based). The apparatus can optionally include code that creates an execution environment for computer programs, for example, code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of execution environments. The present disclosure contemplates the use of data processing apparatuses with or without conventional operating systems, such as LINUX, UNIX, WINDOWS, MAC OS, ANDROID, or IOS.

A computer program, which can also be referred to or described as a program, software, a software application, a module, a software module, a script, or code, can be written in any form of programming language. Programming languages can include, for example, compiled languages, interpreted languages, declarative languages, or procedural languages. Programs can be deployed in any form, including as stand alone programs, modules, components, subroutines, or units for use in a computing environment. A computer program can, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data, for example, one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files storing one or more modules, sub programs, or portions of code. A computer program can be deployed for execution on one computer or on multiple computers that are located, for example, at one site or distributed across multiple sites that are interconnected by a communication network. While portions of the programs illustrated in the various figures may be shown as individual modules that implement the various features and functionality through various objects, methods, or processes, the programs can instead include a number of sub-modules, third-party services, components, and libraries. Conversely, the features and functionality of various components can be combined into single components as appropriate. Thresholds used to make computational determinations can be statically, dynamically, or both statically and dynamically determined.

The methods, processes, or logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The methods, processes, or logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, for example, a CPU, an FPGA, or an ASIC.

Computers suitable for the execution of a computer program can be based on one or more of general and special purpose microprocessors and other kinds of CPUs. The elements of a computer are a CPU for performing or executing instructions and one or more memory devices for storing instructions and data. Generally, a CPU can receive instructions and data from (and write data to) a memory.

Graphics processing units (GPUs) can also be used in combination with CPUs. The GPUs can provide specialized processing that occurs in parallel to processing performed by CPUs. The specialized processing can include artificial intelligence (AI) applications and processing, for example. GPUs can be used in GPU clusters or in multi-GPU computing.

A computer can include, or be operatively coupled to, one or more mass storage devices for storing data. In some implementations, a computer can receive data from, and transfer data to, the mass storage devices including, for example, magnetic, magneto optical disks, or optical disks. Moreover, a computer can be embedded in another device, for example, a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device such as a universal serial bus (USB) flash drive.

Computer readable media (transitory or non-transitory, as appropriate) suitable for storing computer program instructions and data can include all forms of permanent/non-permanent and volatile/nonvolatile memory, media, and memory devices. Computer readable media can include, for example, semiconductor memory devices such as random access memory (RAM), read only memory (ROM), phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and flash memory devices. Computer readable media can also include, for example, magnetic devices such as tape, cartridges, cassettes, and internal/removable disks. Computer readable media can also include magneto optical disks and optical memory devices and technologies including, for example, digital video disc (DVD), CD ROM, DVD+/-R, DVD-RAM, DVD-ROM, HD-DVD, and BLU-RAY. The memory can store various objects or data, including caches, classes, frameworks, applications, modules, backup data, jobs, web pages, web page templates, data structures, database tables, repositories, and dynamic information. Types of objects and data stored in memory can include parameters, variables, algorithms, instructions, rules, constraints, and references. Additionally, the memory can include logs, policies, security or access data, and reporting files. The processor and the memory can be supplemented by, or incorporated into, special purpose logic circuitry.

Implementations of the subject matter described in the present disclosure can be implemented on a computer having a display device for providing interaction with a user, including displaying information to (and receiving input from) the user. Types of display devices can include, for example, a cathode ray tube (CRT), a liquid crystal display (LCD), a light-emitting diode (LED), and a plasma monitor. Display devices can include a keyboard and pointing devices including, for example, a mouse, a trackball, or a trackpad. User input can also be provided to the computer through the use of a touchscreen, such as a tablet computer surface with pressure sensitivity or a multi-touch screen using capacitive or electric sensing. Other kinds of devices can be used to provide for interaction with a user, including to receive user feedback including, for example, sensory feedback including visual feedback, auditory feedback, or tactile feedback. Input from the user can be received in the form of acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to, and receiving documents from, a device that the user uses. For example, the computer can send web pages to a web browser on a user's client device in response to requests received from the web browser.

The term “graphical user interface,” or “GUI,” can be used in the singular or the plural to describe one or more graphical user interfaces and each of the displays of a particular graphical user interface. Therefore, a GUI can represent any graphical user interface, including, but not limited to, a web browser, a touch-screen, or a command line interface (CLI) that processes information and efficiently presents the information results to the user. In general, a GUI can include a plurality of user interface (UI) elements, some or all associated with a web browser, such as interactive fields, pull-down lists, and buttons. These and other UI elements can be related to or represent the functions of the web browser.

Implementations of the subject matter described in this specification can be implemented in a computing system that includes a back end component, for example, as a data server, or that includes a middleware component, for example, an application server. Moreover, the computing system can include a front-end component, for example, a client computer having one or both of a graphical user interface or a Web browser through which a user can interact with the computer. The components of the system can be interconnected by any form or medium of wireline or wireless digital data communication (or a combination of data communication) in a communication network. Examples of communication networks include a local area network (LAN), a radio access network (RAN), a metropolitan area network (MAN), a wide area network (WAN), Worldwide Interoperability for Microwave Access (WIMAX), a wireless local area network (WLAN) (for example, using 802.11 a/b/g/n or 802.20 or a combination of protocols), all or a portion of the Internet, or any other communication system or systems at one or more locations (or a combination of communication networks). The network can communicate with, for example, Internet Protocol (IP) packets, frame relay frames, asynchronous transfer mode (ATM) cells, voice, video, data, or a combination of communication types between network addresses.

The computing system can include clients and servers. A client and server can generally be remote from each other and can typically interact through a communication network. The relationship of client and server can arise by virtue of computer programs running on the respective computers and having a client-server relationship.

Cluster file systems can be any file system type accessible from multiple servers for read and update. Locking or consistency tracking may not be necessary since the locking of exchange file system can be done at application layer. Furthermore, Unicode data files can be different from non-Unicode data files.

While this specification contains many specific implementation details, these should not be construed as limitations on the scope of what may be claimed, but rather as descriptions of features that may be specific to particular implementations. Certain features that are described in this specification in the context of separate implementations can also be implemented, in combination, in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations, separately, or in any suitable sub-combination. Moreover, although previously described features may be described as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can, in some cases, be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.

Particular implementations of the subject matter have been described. Other implementations, alterations, and permutations of the described implementations are within the scope of the following claims as will be apparent to those skilled in the art. While operations are depicted in the drawings or claims in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed (some operations may be considered optional), to achieve desirable results. In certain circumstances, multitasking or parallel processing (or a combination of multitasking and parallel processing) may be advantageous and performed as deemed appropriate.

Moreover, the separation or integration of various system modules and components in the previously described implementations should not be understood as requiring such separation or integration in all implementations. It should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

Accordingly, the previously described example implementations do not define or constrain the present disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of the present disclosure.

Furthermore, any claimed implementation is considered to be applicable to at least a computer-implemented method; a non-transitory, computer-readable medium storing computer-readable instructions to perform the computer-implemented method; and a computer system including a computer memory interoperably coupled with a hardware processor configured to perform the computer-implemented method or the instructions stored on the non-transitory, computer-readable medium.