systems and methods for the exchange of information between an enterprise client and a partner within an enterprise environment are provided. In this exchange of information, the client selects, via a user interface, a subset of client data, as well as one or more screen sets, to share with a partner. Once the partner has accepted, the system then sends an account creation request or account login request to the partner. Once the partner is authenticated in the system with an account, the system creates an information exchange session for the partner, and provides, on a display of the partner's device, a user interface that shows the subset of the client data and the screen sets. Access to the rest of the customer's enterprise environment is restricted.
|
1. A method, comprising:
maintaining an enterprise environment comprising a plurality of clients, wherein each client is associated with a set of client data;
sending a client request, from a client at a client device, to a partner device of a partner associated with the client, the client request comprising a subset of the client data and one or more screen sets to be shared, the subset of the client data and the one or more screen sets being selected by the client in a client user interface, wherein the enterprise environment is configured to allow the client to have granular control over which data is sent in the client request, the data including project, activity and task metadata, portions of screens, and screens with elements redacted or blurred;
receiving a notification that the partner has responded to the client request with an acceptance;
sending one of an account creation request or account login request to the partner device;
creating an information exchange session for the partner, wherein the information exchange session occurs between a software-as-a-service (saas) environment for the partner device and a client portal for the client device, and wherein updates to the information exchange session occur via datamodel synchronization between the saas environment and the client portal, wherein the saas environment itself does not store any client data; and
providing, on a display of the partner device, a partner user interface comprising the subset of the client data and the one or more screen sets, wherein access to the enterprise environment by the partner is not a direct screen exchange, but instead, restricted to only the subset of the client data and the one or more screen sets, wherein the one or more screen sets are shared by first being converted into JSON format and then being converted into a format for display on the partner device, and wherein one or more pieces of client data are editable by the partner via the partner user interface;
wherein the client request, the notification and the updates to the information exchange session are transmitted via asynchronous communication.
15. A non-transitory computer readable medium storing instructions to execute a method, the method comprising:
maintaining an enterprise environment comprising a plurality of clients, wherein each client is associated with a set of client data;
sending a client request, from a client at a client device, to a partner device of a partner associated with the client, the client request comprising a subset of the client data and one or more screen sets to be shared, the subset of the client data and the one or more screen sets being selected by the client in a client user interface, wherein the enterprise environment is configured to allow the client to have granular control over which data is sent in the client request, the data including project, activity, and task metadata, portions of screens, and screens with elements redacted or blurred;
receiving a notification that the partner has responded to the client request with an acceptance;
sending one of an account creation request or account login request to the partner device;
creating an information exchange session for the partner, wherein the information exchange session occurs between a software-as-a-service (saas) environment for the partner device and a client portal for the client device, and wherein updates to the information exchange session occur via datamodel synchronization between the saas environment and the client portal, wherein the saas environment itself does not store any client data; and
providing, on a display of the partner device, a partner user interface comprising the subset of the client data and the one or more screen sets, wherein access to the enterprise environment by the partner is not a direct screen exchange, but instead, restricted to only the subset of the client data and the one or more screen sets, wherein the one or more screen sets are shared by first being converted into JSON format and then being converted into a format for display on the partner device, and wherein one or more pieces of client data are editable by the partner via the partner user interface;
wherein the client request, the notification and the updates to the information exchange session are transmitted via asynchronous communication.
8. A system comprising:
a processor; and
memory, the memory storing program instructions to execute a method, the method comprising:
maintaining an enterprise environment comprising a plurality of clients, wherein each client is associated with a set of client data;
sending a client request, from a client at a client device, to a partner device of a partner associated with the client, the client request comprising a subset of the client data and one or more screen sets to be shared, the subset of the client data and the one or more screen sets being selected by the client in a client user interface, wherein the enterprise environment is configured to allow the client to have granular control over which data is send in the client request, the data including project, activity, and task metadata, portions of screens, and screens with elements redacted or blurred;
receiving a notification that the partner has responded to the client request with an acceptance;
sending one of an account creation request or account login request to the partner device;
creating an information exchange session for the partner, wherein the information exchange session occurs between a software-as-a-service (saas) environment for the partner device and a client portal for the client device, and wherein updates to the information exchange session occur via datamodel synchronization between the saas environment and the client portal, wherein the saas environment does not store any client data; and
providing, on a display of the partner device, a partner user interface comprising the subset of the client data and the one or more screen sets, wherein access to the enterprise environment by the partner is not a direct screen exchange, but instead, restricted to only the subset of the client data and the one or more screen sets, wherein the one or more screen sets are shared by first being converted into JSON format and then being converted into a format for display on the partner device, and wherein one or more pieces of client data are editable by the partner via the partner user interface;
wherein the client request, the notification and the updates to the information exchange session are transmitted via asynchronous communication.
2. The method of
receiving a partner update associated with the partner comprising one or more proposed edits to the subset of the client data;
sending the partner update to the client device;
receiving a validation of at least a portion of the partner update; and
incorporating the validation of the at least a portion of the partner update into the subset of the client data.
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
9. The system of
receiving a partner update associated with the partner comprising one or more proposed edits to the subset of the client data;
sending the partner update to the client device;
receiving a validation of at least a portion of the partner update; and
incorporating the validation of the at least a portion of the partner update into the subset of the client data.
10. The system of
11. The system of
12. The system of
13. The system of
14. The system of
16. The non-transitory computer readable medium of
receiving a partner update associated with the partner comprising one or more proposed edits to the subset of the client data;
sending the partner update to the client device;
receiving a validation of at least a portion of the partner update; and
incorporating the validation of the at least a portion of the partner update into the subset of the client data.
17. The non-transitory computer readable medium of
18. The non-transitory computer readable medium of
19. The non-transitory computer readable medium of
20. The non-transitory computer readable medium of
|
This application claims the benefit of U.S. Provisional Application No. 62/672,536, entitled “ENHANCED MECHANISMS FOR INFORMATION EXCHANGE IN AN ENTERPRISE ENVIRONMENT,” filed on May 16, 2018, which is incorporated by reference herein in its entirety for all purposes
The present disclosure relates to enterprise environments, and specifically to exchanging information in an enterprise environment.
Enterprise environments are increasingly becoming essential for businesses, developers, enterprise vendors, sales teams, and more. These environments provide a set of tools for enterprise teams to collaborate with others internally within the enterprise, and some also provide solutions for collaborating externally with customers, vendors, and others. A common use of enterprise environments is for project management, wherein the environment may include such features as tracking and modification of project development milestones, collaborative tools for document creation, time sheet reporting and tracking, task scheduling, and more. Many of these project management tools incorporate software as a service (or “SaaS”) technologies, which provide “on-demand” delivery of solutions in a cloud-based fashion, allowing for project management and customer environments accessible via browsers, as well as remote, convenient accessibility of project information and data wherever it is stored.
Some project management systems are moving from single-user/single-project management systems to complex, distributed, multi-functional systems that incorporate multidimensional data, and no longer cover project planning alone. Such systems are notably working towards solving challenges around teams being increasingly geographically dispersed, leading to time zone, communication, collaboration, and organizational boundaries. The need for such enterprise collaborative environments is great.
In current project management systems and enterprise collaborative environments, information exchange typically has some limitations. For example, an enterprise client may wish to share some information with subcontractors, but in many cases the only solution available is to give their subcontractors access to their own information system or client environment. Often, the subcontractors will have to go through the information system's security rules and authentication procedures, and in some cases deadlines are imminent and the client doesn't have time to provision access for the subcontractors before the end of the contract. Further, there is often no way to share data within the information system without providing access to the internet system of information of the customer, and potentially sharing much more information than intended with the subcontractor.
Consequently, it is desirable in an enterprise environment or project management system to provide enhanced mechanisms for information exchange between a client (such as an enterprise environment customer) and a partner (such as a subcontractor of the enterprise environment customer) that overcome some of the drawbacks of conventional systems.
Systems, methods, and devices provided herein provide for with the exchange of information between an enterprise client and a partner of that client within an enterprise environment. In this exchange of information, the enterprise system receives information from the client that the client wishes to exchange with the partner. The enterprise system sends this information from the client to the partner, in the form of a client request to exchange information. This request includes a subset of the client data in the enterprise environment, as well as one or more screen sets, both of which are selected by the client in a user interface. The system receives a notification that the partner has responded to the client request with an acceptance, and then sends an account creation request or account login request to the partner, depending on whether the partner has an account that is determined to be already present in the system. Once the partner is authenticated in the system with an account, the system creates an information exchange session for the partner, and provides, on a display of the partner's device, a user interface that shows the subset of the client data and the screen sets. Access to the rest of the customer's enterprise environment is restricted. In this process, the partner doesn't need to access the information system of the client, and the client doesn't need to ask for permission, access provided to the partner, or any other burdensome steps. The client shares only aspects of the client's information that it selects and approves within the enterprise environment.
The disclosure may best be understood by reference to the following description taken in conjunction with the accompanying drawings, which illustrate particular embodiments of the present invention.
Reference will now be made in detail to some specific examples of the invention including the best modes contemplated by the inventors for carrying out the invention. Examples of these specific embodiments are illustrated in the accompanying drawings. While the invention is described in conjunction with these specific embodiments, it will be understood that it is not intended to limit the invention to the described embodiments. On the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims.
For example, the techniques of the present invention will be described in the context of project management software, including exchange and sharing of project data, tasks or activities, project scheduling, developmental milestones, project planning documents, billing reports, and more. However, it should be noted that the techniques of the present invention apply to a wide variety of different enterprise environments, collaborative environments, data structures, and different types of data. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. Particular example embodiments of the present invention may be implemented without some or all of these specific details. In other instances, well known process operations have not been described in detail in order not to unnecessarily obscure the present invention.
Various techniques and mechanisms of the present invention will sometimes be described in singular form for clarity. However, it should be noted that some embodiments include multiple iterations of a technique or multiple instantiations of a mechanism unless noted otherwise. For example, a system uses a processor in a variety of contexts. However, it will be appreciated that a system can use multiple processors while remaining within the scope of the present invention unless otherwise noted. Furthermore, the techniques and mechanisms of the present invention will sometimes describe a connection between two entities. It should be noted that a connection between two entities does not necessarily mean a direct, unimpeded connection, as a variety of other entities may reside between the two entities. For example, a processor may be connected to memory, but it will be appreciated that a variety of bridges and controllers may reside between the processor and memory. Consequently, a connection does not necessarily mean a direct, unimpeded connection unless otherwise noted.
Various organizations and enterprises rely on enterprise collaborative tools to manage, edit, update, and collaborate on projects, tasks, and activities. The systems, methods, and devices provided herein are concerned with the exchange of information between an enterprise client and a partner of that client within an enterprise environment. In this exchange of information, the enterprise system receives information from the client that the client wishes to exchange with the partner, such as project data, project milestones and deadlines, a roadmap of features, or any other information the enterprise client wishes to share. The partner will be the only entity other than the client with access to this information and data. In some embodiments, the enterprise system sends this information from the client to the partner, in the form of a client request to exchange information. This request includes a subset of the client data in the enterprise environment, as well as one or more screen sets, both of which are selected by the client in a user interface. The system receives a notification that the partner has responded to the client request with an acceptance, and then sends an account creation request or account login request to the partner, depending on whether the partner has an account that is determined to be already present in the system. Once the partner is authenticated in the system with an account, the system creates an information exchange session for the partner, and provides, on a display of the partner's device, a user interface that shows the subset of the client data and the screen sets. Access to the rest of the customer's enterprise environment is restricted. In some embodiments, the client data and screen sets that the client wishes to share are pushed and pulled from the cloud by the client, on the client side, without opening up access to the client's data by any entities within the enterprise environment.
In some embodiments, one or more pieces of client data are editable by the partner via the user interface. In some embodiments, the system receives a partner update from the partner device associated with the partner, consisting of one or more proposed edits to the shared pieces of client data. The system sends the partner update to the client, and then receives a validation of at least a portion of the partner update from the client. The system then incorporates the validation of the portion or all of the partner update into the pieces of client data.
The enterprise environment server 104 may communicate with other components of system 100. This communication may be facilitated through a combination of networks and interfaces. Enterprise environment server 104 may handle and process data requests and data transfers from the client device 108 and the partner device 110. Likewise, enterprise environment server 104 may return a response to client device 108 after a data request has been processed. For example, enterprise environment server 104 may retrieve data from one or more databases, such as the client information database 112 or the partner updates database 116. It may combine some or all of the data from different databases, and send the processed data to one or more client devices or partner devices.
A client device 108 and partner device 110 may be computing devices capable of communicating via one or more data networks with a server. Examples of client device 108 and partner device 110 include a desktop computer or portable electronic device such as a smartphone, a tablet, a laptop, a wearable device, an optical head-mounted display (OHMD) device, a smart watch, etc. Client device 108 and partner device 110 include at least one browser in which applications may be deployed.
Client information database 112 can be a database implemented in a relational or non-relational database management system. In some embodiments, this database can include the contents of one or more client-related databases within the enterprise environment. Examples of data that can be stored within the client information database 112 in various embodiments are client information, partner information, project information, activity information, task information, billing report information, project roadmap information, and so on.
Partner updates database 116 can be a database implemented in a relational or non-relational database management system. In some embodiments, this database can include edits, modifications, and/or tracked changes information related to one or more documents that a client has shared with a partner in an editable fashion.
At block 202, the system maintains an enterprise environment with a number of clients. Each of the clients is associated with a set of client data. In some embodiments, the enterprise environment is a networked user interface for various enterprises, businesses, individuals, and entities, hereinafter referred to as “clients” or “enterprise clients”, to capture, track, share, collaborate on, and modify their information. In some embodiments, the enterprise environment takes the form of a project management environment. In some embodiments, the enterprise environment hosts a number of files, accounts, clients, and/or databases via an arrangement of cloud-based servers, hosting, and deployment. In some environments, the enterprise environment has some combination of cloud-based servers, a client application running on the client device 108, a partner application, client application, or subset and/or restricted version of the client application running on the partner device 110, an enterprise host application running on one or more entities maintaining the enterprise environment, or a similar configuration.
At block 204, the system sends a client request to a partner device. In some embodiments, the client request contains a subset of the client data. For example, if a client has multiple projects in the enterprise environment, the client request may include just the product roadmap for one project. In some embodiments, the client request additionally contains one or more screen sets. In some embodiments, screen sets are screens within the client's user interface for the enterprise environment, which the client wants to share with the partner in the client request. In some embodiments, the screen sets mirror at least a portion of one or more user interface screens within the enterprise network that are associated with the client. In some embodiments, the contents of the client request (such as a subset of the client data, or one or more screen sets) are selected by the client in a user interface. In some embodiments, the client can have granular control over precisely which data is sent in the client request, including, for example, project, activity, and task metadata, portions of screens, screens with elements redacted or blurred, and more. In some embodiments, the system sends the client request by notifying the partner device. In some embodiments, this notification takes the form of an e-mail. In some embodiments, this email is automatically generated by the system. In some embodiments, the notification can be a social media message, text alert, or other form of notification automatically generated by the system.
At block 206, the system receives a notification that the partner has responded to the client request with an acceptance. In some embodiments, the acceptance takes the form of a reply to the email or text message, a click on a link, interaction with a button or other user interface element, or similar form of interaction signaling an acceptance of the client request.
At block 208, the system sends an account creation request or account login request to the partner. In some embodiments, if the system determines that an account already exists for the partner based on the existing information for the partner within the system, such as an email address, then the system presents a login screen to the partner. Upon filling in the login screen and attempting to sign in, the system performs authentication and security measures associated with login and identity processes. If no known account is found within the system, then in some embodiments, the system presents a signup screen, or presents the option of either signing up or logging in. If account login or signup is successful, then the system performs account login or signup procedures accordingly.
At block 210, the system creates an information exchange session for the partner. In some embodiments, the information exchange session is involved in establishing the security and authenticated credentials for a login session within the enterprise environment.
At block 212, the system provides, on a display of the partner device, a user interface presenting the information that the client wishes to share with the partner. In some embodiments, this user interface includes the subset of the client data that the client has selected for sharing. In some embodiments, this user interface includes the one or more screen sets that the client has chosen, representing screens of the client's user interface within the enterprise environment that the client wishes to share with the partner. In some aspects, the system restricts all access, and doesn't allow communication or display of, aspects of the client's information, environment, user interface, personal data, project data or metadata, or other client aspects that the client does not choose or select to share with the partner. In some embodiments, one or more pieces of the client data, or all of the client data presented in the user interface provided to the user are editable. In some embodiments, editable pieces of data, documents, and more are marked with a special symbol, logo, or other designation for editability.
In some embodiments, the system receives a partner update from the partner device associated with the partner, consisting of one or more proposed edits to the shared pieces of client data. In some embodiments, the user interface for the partner allows for editing of documents, data, and client information directly within the user interface. Upon editing and submitting any proposed edits, the partner device sends them to the system. The system then sends the partner update to the client, and then receives a validation of at least a portion of the partner update from the client. In some embodiments, the client can select any number of the proposed edits for acceptance or rejection, and the accepted portions are submitted as validations of the proposed edits to the system. The system then incorporates the validation of the portion or all of the partner update into the pieces of client data.
Various computing devices can implement the methods described. For instance, a mobile device, computer system, etc. can be used for accessing aspects of the enterprise environment by either the client or the partner, or both. With reference to
In addition, various very high-speed interfaces may be provided such as fast Ethernet interfaces, Gigabit Ethernet interfaces, ATM interfaces, HSSI interfaces, POS interfaces, FDDI interfaces and the like. Generally, these interfaces may include ports appropriate for communication with the appropriate media. In some cases, they may also include an independent processor and, in some instances, volatile RAM. The independent processors may control such communications intensive tasks as packet switching, media control and management.
According to particular example embodiments, the system 1200 uses memory 1203 to store data and program instructions and maintain a local side cache. The program instructions may control the operation of an operating system and/or one or more applications, for example. The memory or memories may also be configured to store received metadata and batch requested metadata.
Because such information and program instructions may be employed to implement the systems/methods described herein, the present invention relates to tangible, machine readable media that include program instructions, state information, etc. for performing various operations described herein. Examples of machine-readable media include hard disks, floppy disks, magnetic tape, optical media such as CD-ROM disks and DVDs; magneto-optical media such as optical disks, and hardware devices that are specially configured to store and perform program instructions, such as read-only memory devices (ROM) and programmable read-only memory devices (PROMs). Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter.
Although many of the components and processes are described above in the singular for convenience, it will be appreciated by one of skill in the art that multiple components and repeated processes can also be used to practice the techniques of the present disclosure.
While the present disclosure has been particularly shown and described with reference to specific embodiments thereof, it will be understood by those skilled in the art that changes in the form and details of the disclosed embodiments may be made without departing from the spirit or scope of the invention. It is therefore intended that the invention be interpreted to include all variations and equivalents that fall within the true spirit and scope of the present invention.
Demonsant, Pierre, Ollivier, Fabrice, Roche, Thibault
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
10165022, | Apr 29 2016 | INTUIT INC.; INTUIT INC | Screen sharing management |
20030097410, | |||
20060031779, | |||
20060235716, | |||
20100070842, | |||
20100262925, | |||
20120011451, | |||
20120036452, | |||
20130007895, | |||
20130036370, | |||
20130097687, | |||
20130141471, | |||
20130318589, | |||
20130318593, | |||
20140215356, | |||
20150032686, | |||
20150373081, | |||
20160065672, | |||
20160147952, | |||
20170024100, | |||
20170041296, | |||
20170200021, | |||
20170249394, | |||
20180053012, | |||
20180121667, | |||
20180218120, | |||
20180336373, | |||
20190020715, | |||
20190163927, | |||
20190196774, | |||
20200026485, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 16 2019 | PLANISWARE SAS | (assignment on the face of the patent) | / | |||
Oct 01 2019 | OLLIVIER, FABRICE | PLANISWARE SAS | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 050795 | /0730 | |
Oct 01 2019 | ROCHE, THIBAULT | PLANISWARE SAS | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 050795 | /0730 | |
Oct 21 2019 | DEMONSANT, PIERRE | PLANISWARE SAS | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 050795 | /0730 |
Date | Maintenance Fee Events |
May 16 2019 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
May 24 2019 | SMAL: Entity status set to Small. |
Date | Maintenance Schedule |
May 30 2026 | 4 years fee payment window open |
Nov 30 2026 | 6 months grace period start (w surcharge) |
May 30 2027 | patent expiry (for year 4) |
May 30 2029 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 30 2030 | 8 years fee payment window open |
Nov 30 2030 | 6 months grace period start (w surcharge) |
May 30 2031 | patent expiry (for year 8) |
May 30 2033 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 30 2034 | 12 years fee payment window open |
Nov 30 2034 | 6 months grace period start (w surcharge) |
May 30 2035 | patent expiry (for year 12) |
May 30 2037 | 2 years to revive unintentionally abandoned end. (for year 12) |