Techniques for electronic signature process management are described. Some embodiments provide an electronic signature service (“ESS”) configured to associate third-party content with electronic signature documents by way of dynamic form fields. A dynamic form field is associated with a data store and an electronic signature document. The ESS may automatically populate the dynamic form field with data obtained from the associated data store. If a signer changes the data of the dynamic form field, the ESS may write back the changed data to the data store.

Patent
   RE50043
Priority
Jul 14 2011
Filed
Apr 30 2020
Issued
Jul 16 2024
Expiry
Jul 13 2032
Assg.orig
Entity
Large
0
255
currently ok
0. 21. A method comprising:
receiving, using one or more processors executing within a computing device, an electronic document and configuration data for the electronic document from a first device associated with a first user, the configuration data including one or more dynamic form fields each mapped to an associated external data store; and
in response to receiving a request to view the electronic document a second device associated with a second user:
automatically populating the one or more dynamic form fields with current data associated with the second user obtained from the associated external data store, wherein the automatically populating the one or more dynamic form fields further includes receiving access credentials associated with the external data store and obtaining the current data associated with the second user from the external data store using the received access credentials, and
displaying the electronic document and the one or more dynamic form fields populated with the current data associated with the second user at a same time to the second user for signature.
0. 24. A method comprising:
receiving, using one or more processors executing within a computing device, an electronic document and configuration data for the electronic document from a first device associated with a first user, the configuration data including one or more dynamic form fields each mapped to an associated external data store;
in response to receiving a request to view the electronic document from a second device associated with a second user:
automatically populating the one or more dynamic form fields with current data associated with the second user obtained from the associated external data store; and
displaying the electronic document and the one or more dynamic form fields populated with the current user data associated with the second user at a same time to the second user for signature;
in response to receiving an indication of the second user applying an electronic signature, determining whether the second device updated any of the user data in the one or more dynamic form fields; and
in response to determining that the second device updated at least a portion of the user data, transmitting data from the one or more dynamic form fields updated by the second device back to the external data store.
0. 26. A non-transitory computer readable storage medium including instructions that, when executed on one or more processors within a computing device, cause the computing device to perform operations including:
receiving, using one or more processors executing within a computing device, an electronic document and configuration data for the electronic document from a first device associated with a first user, the configuration data including one or more dynamic form fields each mapped to an associated external data store; and
in response to receiving a request to view the electronic document from a second device associated with a second user:
automatically populating the one or more dynamic form fields with current data associated with a second user obtained from the associated external data store, wherein the instructions for automatically populating the one or more dynamic form fields further include instructions for receiving access credentials associated with the external data store and obtaining the current data associated with the second user from the external data store using the received access credentials, and
displaying the electronic document and the one or more dynamic form fields populated with the current user data associated with the second user at a same time to the second user for signature.
0. 25. A method comprising:
receiving, using one or more processors executing within a computing device, an electronic document and configuration data for the electronic document from a first device associated with a first user, the configuration data including one or more dynamic form fields each mapped to an associated external data store;
in response to receiving a request to view the electronic document from a second device associated with a second user:
automatically populating the one or more dynamic form fields with current data associated with a second user obtained from the associated external data store:
displaying the electronic document and the one or more dynamic form fields populated with the current data associated with the second user at a same time to the second user for signature;
identifying a schema associated with the external data store associating one or more additional dynamic form fields with the one or more dynamic form fields of the configuration data received from the first device;
automatically populating the one or more additional dynamic form fields with the current data associated with the second user obtained from the associated external data store; and
presenting the electronic document including the one or more additional dynamic form fields populated with the current data associated with the second user to the second user for signature.
1. A computing system configured to facilitate management of electronic signature documents, the computing system comprising:
one or more processors;
one or more memory devices; and
a module executable via the one or more processors using instructions stored by the one or more memory devices, to perform operations including:
receiving an electronic document and configuration data for the electronic document from a first device associated with a first uservia a user interface of an electronic document transaction service, the configuration data including one or more dynamic form fields comprising unpopulated fields of the electronic document, the one or more dynamic form fields mapped to an associated external data store; and
in response to a request to access view the electronic document from a second device associated with a second user,:
automatically populating the one or more dynamic form fields with current data associated with the second user obtained from the associated external data store;, wherein the automatically populating the one or more dynamic form fields further includes receiving access credentials associated with the external data store and obtaining the current data associated with the second user from the external data store using the received access credentials, and
in response to populating the one or more dynamic form fields, presenting displaying the electronic document including and the one or more dynamic form fields populated with the current user data associated with the second user at a same time to the second user for signature; and
receiving an indication of the second user applying an electronic signature to the electronic document.
0. 2. The computing system of claim 1, wherein the module is further configured to perform operations including in response to receiving the indication of the second user applying the electronic signature determining whether the second user updated any of the user data in the one or more dynamic form fields; and
in response to determining that the second user updated at least a portion of the user data, transmitting data from the one ore more dynamic form fields updated by the second user back to the external data store.
0. 3. The computing system of claim 1, wherein the module is further configured to perform operations including:
receiving access credentials associated with the external data store; and
obtaining the current user data associated with the second user from the external data store using the received access credentials.
0. 4. The computing system of claim 1, wherein presenting the electronic document to the second user includes transmitting an image representative of a portion of the electronic document along with a module that represents the one or more dynamic form fields and that is configured to receive input data from the second user and to transmit the received input data to the computing system.
0. 5. The computing system of claim 1, wherein the module is further configured to perform operations including:
identifying a schema associated with the external data store associating one or more additional dynamic form fields with the one or more dynamic form fields of the electronic document configuration data received from the first user;
automatically populating the one or more additional dynamic form fields with the current user data associated with the second user obtained from the associated external data store; and
presenting the electronic document including the one or more additional dynamic form fields populated with the current user data associated with the second user to the second user for signature.
0. 6. The computing system of claim 1, wherein the configuration data for the electronic document received from the first user comprises a specification of data types for the one or more dynamic form fields mapped to the associated data store that provides data values for the one or more dynamic form fields.
0. 7. The computing system of claim 1, wherein presenting the electronic signature document to the second user includes transmitting an image of a portion of the electronic signature document along with a signature control to receive the indication of the second user applying the electronic signature to the electronic document.
0. 8. A method configured to facilitate management of electronic signature documents, the method comprising:
receiving, using one or more processors executing within a computing device, an electronic document and configuration data for the electronic document from a first user via a user interface of an electronic document transaction service, the configuration data including one or more dynamic form fields comprising unpopulated fields of the electronic document, the one or more dynamic form fields mapped to an associated external data store; and
in response to receiving a request to access the electronic document from a second user, automatically populating the one or more dynamic form fields with current data associated with the second user obtained from the associated external data store;
in response to populating the one or more dynamic form fields, presenting the electronic document including the one or more dynamic form fields populated with the current user data associated with the second user to the second user for signature; and
receiving an indication of the second user applying an electronic signature to the electronic document.
0. 9. The method of claim 8, further comprising:
in response to receiving the indication of the second user applying the electronic signature determining whether the second user updated any of the user data in the one or more dynamic form fields; and
in response to determining that the second user updated at least a portion of the user data, transmitting data from the one ore more dynamic form fields updated by the second user back to the external data store.
0. 10. The method of claim 8, wherein the automatically populating the one or more dynamic form fields further includes:
receiving access credentials associated with the external data store; and
obtaining the current user data associated with the second user from the external data store using the received access credentials.
0. 11. The method of claim 8, wherein presenting the electronic document to the second user includes transmitting an image representative of a portion of the electronic document along with a module that represents the one or more dynamic form fields and that is configured to receive input data from the second user and to transmit the received input data to the computing system.
0. 12. The method of claim 8, further comprising:
identifying a schema associated with the external data store associating one or more additional dynamic form fields with the one or more dynamic form fields of the electronic document configuration data received from the first user;
automatically populating the one or more additional dynamic form fields with the current user data associated with the second user obtained from the associated external data store; and
presenting the electronic document including the one or more additional dynamic form fields populated with the current user data associated with the second user to the second user for signature.
0. 13. The method of claim 8, wherein presenting the electronic signature document to the second user includes transmitting an image of a portion of the electronic signature document along with a signature control to receive the indication of the second user applying the electronic signature to the electronic document.
0. 14. A non-transitory computer readable storage medium including instructions that, when executed on one or more processors within a computing device, cause the computing device to perform operations including:
receiving, using one or more processors executing within a computing device, an electronic document and configuration data for the electronic document from a first user via a user interface of an electronic document transaction service, the configuration data including one or more dynamic form fields comprising unpopulated fields of the electronic document, the one or more dynamic form fields mapped to an associated external data store; and
in response to receiving a request to access the electronic document from a second user, automatically populating the one or more dynamic form fields with current data associated with the second user obtained from the associated external data store;
in response to populating the one or more dynamic form fields, presenting the electronic document including the one or more dynamic form fields populated with the current user data associated with the second user to the second user for signature; and
receiving an indication of the second user applying an electronic signature to the electronic document.
0. 15. The computer readable storage medium of claim 14, wherein the instruction further include instructions to perform operations comprising:
in response to receiving the indication of the second user applying the electronic signature determining whether the second user updated any of the user data in the one or more dynamic form fields; and
in response to determining that the second user updated at least a portion of the user data, transmitting data from the one ore more dynamic form fields updated by the second user back to the external data store.
0. 16. The computer readable storage medium of claim 14, wherein the instructions for automatically populating the one or more dynamic form fields further include instructions for:
receiving access credentials associated with the external data store; and
obtaining the current user data associated with the second user from the external data store using the received access credentials.
0. 17. The computer readable storage medium of claim 14, wherein presenting the electronic document to the second user includes transmitting an image representative of a portion of the electronic document along with a module that represents the one or more dynamic form fields and that is configured to receive input data from the second user and to transmit the received input data to the computing system.
0. 18. The computer readable storage medium of claim 14, wherein the instruction further include instructions to perform operations comprising:
identifying a schema associated with the external data store associating one or more additional dynamic form fields with the one or more dynamic form fields of the electronic document configuration data received from the first user;
automatically populating the one or more additional dynamic form fields with the current user data associated with the second user obtained from the associated external data store; and
presenting the electronic document including the one or more additional dynamic form fields populated with the current user data associated with the second user to the second user for signature.
0. 19. The computer readable storage medium of claim 14, wherein presenting the electronic signature document to the second user includes transmitting an image of a portion of the electronic signature document along with a signature control to receive the indication of the second user applying the electronic signature to the electronic document.
0. 20. The computer readable storage medium system of claim 14, wherein the configuration data for the electronic document received from the first user comprises a specification of data types for the one or more dynamic form fields mapped to the associated data store that provides data values for the one or more dynamic form fields.
0. 22. The method of claim 21, wherein displaying the electronic document to the second user includes transmitting an image representative of a portion of the electronic document along with a module that represents the one or more dynamic form fields and that is configured to receive input data from the second user and to transmit the received input data to the computing system.
0. 23. The method of claim 21, wherein displaying the electronic document to the second user includes transmitting an image of a portion of the electronic document along with a signature control to receive an indication of the second user applying an electronic signature to the electronic document.
0. 27. The non-transitory computer readable storage medium of claim 26, wherein the instructions further include instructions to perform operations comprising:
in response to receiving an indication of the second user applying an electronic signature, determining whether the second device updated any of the user data in the one or more dynamic form fields; and
in response to determining that the second device updated at least a portion of the user data, transmitting data from the one or more dynamic form fields updated by the second device back to the external data store.
0. 28. The non-transitory computer readable storage medium of claim 26, wherein displaying the electronic document to the second user includes transmitting an image representative of a portion of the electronic document along with a module that represents the one or more dynamic form fields and that is configured to receive input data from the second user and to transmit the received input data to the computing system.
0. 29. The non-transitory computer readable storage medium of claim 26, wherein the instructions further include instructions to perform operations comprising:
identifying a schema associated with the external data store associating one or more additional dynamic form fields with the one or more dynamic form fields of the configuration data received from the first device;
automatically populating the one or more additional dynamic form fields with the current data associated with the second user obtained from the associated external data store; and
presenting the electronic document including the one or more additional dynamic form fields populated with the current data associated with the second user to the second user for signature.
0. 30. The non-transitory computer readable storage medium of claim 26, wherein displaying the electronic document to the second user includes transmitting an image of a portion of the electronic document along with a signature control to receive an indication of the second user applying an electronic signature to the electronic document.
0. 31. The non-transitory computer readable storage medium of claim 26, wherein the configuration data for the electronic document received from the first device comprises a specification of data types for the one or more dynamic form fields mapped to the associated data store that provides data values for the one or more dynamic form fields.

This application is a reissue of U.S. Pat. No. 9,971,754, which was filed as application Ser. No. 15/006,833 on Jan. 26, 2016, which is a Continuation of U.S. patent application Ser. No. 13/548,669, filed Jul. 13, 2012, now U.S. Pat. No. 9,268,758, which also claims the benefit of U.S. Provisional Application Ser. No. 61/507,910 filed Jul. 14, 2011, the contents of which applications are incorporated by reference.

The present disclosure relates to methods and systems for electronic signatures and, more particularly, to methods and systems for associating third-party content with online electronic document signing.

Preferred and alternative examples of the present invention are described in detail below with reference to the following drawings:

FIG. 1 illustrates an example block diagram of an example embodiment of an electronic signature service;

FIGS. 2A and 2B illustrate user interface aspects according to an example embodiment;

FIG. 3 is a flow diagram of an example dynamic form management process; and

FIG. 4 is a block diagram of an example computing system for implementing an electronic signature service according to an example embodiment.

Embodiments described herein provide enhanced computer- and network-based methods and systems for dynamic signature documents. Example embodiments provide an electronic signature service (“ESS”) configured to facilitate the creation, storage, and management of documents and corresponding electronic signatures. Using the ESS, a first user (a “sender”) can provide or upload a document to be signed (“a signature document”), while a second user (a “signer”) can access, review, and sign the uploaded document.

Some embodiments of the ESS support dynamic signature documents. In one embodiment, a dynamic signature document includes or is associated with at least one dynamic form field that is mapped to an associated data store. When a dynamic signature document is accessed by a signer, its dynamic form fields are automatically populated with data obtained from the associated data store. Similarly, if the signer makes any changes to a dynamic form field, the changed data may be automatically propagated (e.g., written back, transmitted, recorded, stored) back to the associated data store. For example, suppose a document includes a dynamic form field representing a current telephone number of a signer. This field may be mapped to an associated data store, such as a database that includes customer data. Then, when a signer accesses the document, the field will be automatically populated with a current telephone number of the signer obtained from the database. And if the signer, in the course of reviewing and signing the document, changes or updates his current telephone number, the changed telephone number will be propagated back to the database.

FIG. 1 illustrates an example block diagram of an example embodiment of an electronic signature service. In particular, FIG. 1 depicts an electronic signature service 110 utilized by a sender user 10 and a signer user 20 to perform an electronic signing of a dynamic signature document.

In the illustrated scenario, the sender 10 operates a sender client device 160 in order to provide (e.g., upload, transmit) an electronic document 20 (e.g., a contract, sales order, or agreement) to the ESS 110, where it is securely stored. The electronic document includes a field 21 that is configured to include data for the document 20, such as contact information, item descriptions, quantity, date, party name, or the like. The sender 10 may configure the field 21 by associating or mapping the field to a data store, such as customer data 30 hosted by a third-party system 165. In one embodiment, the third-party system 165 is a customer relationship management (“CRM”) system that is used to store and manage information used in the sales context, including customer contact information, sales history, account information, and the like.

After configuring the form field, the sender notifies the signer 11. In some embodiments, the sender 10 causes the ESS 110 to send to the signer 11 a message (e.g., an email) that includes a reference (e.g., a URL) to the document 20 stored and maintained by the ESS 110. Upon receiving the message, the signer 11 operates a Web browser or other client module executing on the signer client device 161 to access and review the document 20 via the ESS 110. When the signer 11 accesses the document 20, the ESS 110 automatically obtains form data (e.g., a current telephone number for the signer 11) from customer data 30 in the third-party system 165, and inserts the obtained form data into the field 21.

During review, the signer 11 may update form data, such as by changing a telephone number or other item stored in the field 21. When the document has been modified to the satisfaction of the signer 11, the signer attaches (or provides an indication or instruction to attach) his electronic signature to the document 20. Once the signing has been completed, the ESS 110 writes back any form data changed by the signer 11 during the course of the signing. For example, if the signer 11 updated his current telephone number in field 21, the ESS 110 will write back the changed data to the third-party system 165, where it is stored in customer data 30.

FIGS. 2A and 2B illustrate user interface aspects according to an example embodiment. FIG. 2A illustrates a dynamic form field management screen 200. The screen 200 includes controls that are configured to create, edit, modify, or otherwise manage a dynamic form field. The screen 200 may be part of a user interface provided by an example embodiment of the ESS 110. For example, the ESS 110 may provide an administrative user interface configured to facilitate the creation and management of dynamic form fields. In one embodiment, the screen 200 may be displayed (e.g., as a Web page) via a Web browser or other client application on the sender client device 160 so that the sender 10 can create the form field 21 for inclusion with the document 20, as described with respect to FIG. 1.

The illustrated screen 200 includes a dynamic field selection control 201, data store access parameter controls 202, and a write back control 203. By selecting (e.g., checking) the dynamic field selection control 201, a user may indicate that the present field is a dynamic form field that is associated with a data store. The user may then further provide access parameters via the parameter controls 202. For example, the user may provide the name of a corresponding data field or object (e.g., “Opportunity”) in the data store, an account reference, and an account name. Other parameters may include access credentials (e.g., username and password), data type specification (e.g., number, text, telephone number), and the like.

In addition, the user may initiate write back functionality with respect to the present dynamic form field via the write back control 203. By selecting the control 203, the dynamic form field will write back (or cause to be written back) any changes to the form field made during a signature process.

Other properties or features of the dynamic form field may also be specified via the screen 200. For example, the user may provide, indicate, or specify a label, a tool tip (e.g., text to display upon a mouse over), an initial or default value, font details, field width and height, a regular expression pattern to which the form data must match, and a validation error message to display if entered form data does not match the regular expression pattern. In other embodiments, dynamic form fields may have additional, other, or fewer properties or features than those illustrated here.

In one embodiment, the dynamic form field of screen 200 may be automatically created by the ESS 110. For example, the ESS 110 may access a database schema or other metadata that describes the contents of the data store 30. Based on data objects or records defined by the schema, the ESS 110 may automatically generate one or more dynamic form fields. For example, if the schema defines a customer address record (e.g., including a street address, a city, a state, and a postal code), the ESS 110 may generate a customer address dynamic form field that may be further manually modified via the screen 200 and/or included in signature documents managed by the ESS 110.

FIG. 2B illustrates a document signature screen 210. The screen 210 may be part of a user interface provided by an example embodiment of the ESS 110. For example, the ESS 110 may provide a signer user interface configured to facilitate the review and signature of signature documents that may include dynamic form fields. In one embodiment, the screen 210 may be displayed (e.g., as a rendered Web page) via a Web browser or other client application on the signer client device 161 so that the signer 11 can review and sign the document 20, as described with respect to FIG. 1.

The screen 210 displays a representation of a signature document 211 as well as associated controls for reviewing, modifying, and signing the document. The representation of the signature document 211 may be or include one or more images of the document 20. In this example, the document 20 is a sales order, and its representation 211 displays details of the order, including addresses, order items, and a signature block.

The screen 210 includes at least one dynamic form field control 212 and a signature control 213. When the screen 210 is prepared by the ESS 110, the dynamic form field control 212 is populated with data. In this example, the control 212 is based on field 21 and associated with a customer address that is obtained from the customer data 30. The signer 11 may review and possibly modify the customer address as well as other form elements (e.g., shipping address).

Once the signer 11 is satisfied with his review, the signer may activate the signature control 213 to provide his electronic signature or otherwise manifest his assent to the terms of the agreement represented by the displayed document. As discussed above, once the document is signed, the contents of the control 212 (if modified) may be written back to the customer data store 30. Note that the contents of the control 212 may be written back upon the occurrence of other events, such as when the signer 11 saves the document for later signature, when the signer 11 forwards the document to other parties, upon the passage of a time interval (e.g., auto save), or the like.

FIG. 3 is a flow diagram of an example dynamic form management process. The illustrated process may be performed by one or more modules of the ESS 110 described herein. Other embodiments may perform fewer or additional operations than those illustrated here.

The process begins at block 302, where it receives an indication of a dynamic form field mapped to an associated data store. Receiving the indication of the dynamic form field may include receiving a selection of the form field via an user interface configured to prepare electronic documents for signature. For example, a user may select (e.g., drag and drop) a dynamic form field from a menu of form fields for inclusion with an electronic signature document.

At block 304, the process associates the dynamic form field with an electronic signature document. Associating the dynamic form field may include embedding or incorporating the form field (or a copy thereof) into the signature document. In other embodiments, associating the dynamic form field may include adding to the signature document a link or reference to the form field. The form field itself may be represented as some combination of instructions and/or data that is configured to perform or cause to be performed the functions associated with the form field, such as fetching and/or writing back form data, displaying its contents, responding to user input events, and the like.

At block 306, the process populates the dynamic form field with data from the data store. Populating the form field with data may include interacting with the data store to obtain the appropriate data, as specified by the dynamic form field. For example, the form field may specify a query to execute against a database, the query configured to return a particular data item (e.g., customer address). Having obtained the data item from the data store, the process stores the data item in association with the form field. In some embodiments, the process populates the dynamic form field “on demand,” that is, in response to a request to access, view, and/or sign the electronic signature document. In this manner, the form field will contain the most recent and up-to-date information from the data store. In other embodiments, the process may instead or also pre-fetch data for the dynamic form field, so that the form field will contain some information from the data store, even if the data store is inaccessible at a later time, such as when a user initiates a signature process.

At block 308, the process presents the electronic signature document to a user for signature. Presenting the electronic signature document may include transmitting the signature document or some representation thereof (e.g., page images) to a client device, where it will be rendered or displayed to a signer. When the signature document is displayed on the client device, the dynamic form field and associated data will also be displayed.

The process may perform additional operations in other embodiments. For example, the process may write back data from the dynamic form field which has been modified by the user. As another example, the process may automatically generate one or more dynamic form fields based on a database scheme associated with the data store.

FIG. 4 is a block diagram of an example computing system for implementing an electronic signature service according to an example embodiment. In particular, FIG. 4 shows a computing system 100 that may be utilized to implement an electronic signature service 110.

Note that one or more general purpose or special purpose computing systems/devices may be used to implement the electronic signature service 110. In addition, the computing system 100 may comprise one or more distinct computing systems/devices and may span distributed locations. Furthermore, each block shown may represent one or more such blocks as appropriate to a specific embodiment or may be combined with other blocks. Also, the electronic signature service 110 may be implemented in software, hardware, firmware, or in some combination to achieve the capabilities described herein.

In the embodiment shown, computing system 100 comprises a computer memory (“memory”) 101, a display 102, one or more Central Processing Units (“CPU”) 103, Input/Output devices 104 (e.g., keyboard, mouse, CRT or LCD display, and the like), other computer-readable media 105, and network connections 106 connected to a network 150. The electronic signature service 110 is shown residing in memory 101. In other embodiments, some portion of the contents, some or all of the components of the electronic signature service 110 may be stored on and/or transmitted over the other computer-readable media 105. The components of the electronic signature service 110 preferably execute on one or more CPUs 103 and manage electronic signature processes and dynamic signature documents as described herein. Other code or programs 130 (e.g., an administrative interface, a Web server, and the like) and potentially other data repositories, such as data repository 120, also reside in the memory 101, and preferably execute on one or more CPUs 103. Of note, one or more of the components in FIG. 4 may not be present in any specific implementation. For example, some embodiments may not provide other computer readable media 105 or a display 102.

The electronic signature service 110 includes a dynamic form field (“DFF”) manager 111, a user interface (“UI”) manager 112, an electronic signature service application program interface (“API”) 113, and an electronic signature service data store 115.

The ESS 110 generally performs electronic signature-related functions for or on behalf of users operating a sender client device 160 and/or a signer client device 161. In one embodiment, a sender operating the sender client device 160 provides (e.g., transmits, uploads, sends) a document to be electronically signed to the ESS 110. The ESS stores the document securely in data store 115. Secure document storage may include using cryptographic techniques to detect document tampering, such as generating hashes, message digests, or the like. A signer operating the signer client device 161 then accesses, reviews, and signs the document stored by the ESS 110. In some embodiments, the ESS 110 transmits images or some other representation of the document to the signer client device 161, which in turn transmits an indication of the signer's signature (or intent to sign) to the ESS 110. The ESS 110 then securely stores the signer's signature in association with the document in the data store 115.

The DFF manager 111 performs dynamic form field-related functions. For example, the signer operating signer client device 161 may interact (directly or indirectly) with the DFF manager 111 to configure a dynamic form field by specifying that data for the form field be obtained from a local or remote data store, such as data repository 120 or a data store hosted by or accessed via the third-party system 165. In addition, when a dynamic signature document is accessed by a signer (or in response to other events), the DFF manager 111 may populate its dynamic form fields using data obtained from the specified data store. Furthermore, the DFF manager 111 may, upon signature (or in response to other events) write back or propagate data from dynamic form fields that have been updated by the signer.

The UI manager 112 provides a view and a controller that facilitate user interaction with the electronic signature service 110 and its various components. For example, the UI manager 112 may provide interactive access to the electronic signature service 110, such that users can upload or download documents for signature, create and/or configure dynamic form fields associated with or incorporated into signature documents, and the like. In some embodiments, access to the functionality of the UI manager 112 may be provided via a Web server, possibly executing as one of the other programs 130. In such embodiments, a user operating a Web browser (or other client) executing on one of the client devices 160 or 161 can interact with the electronic signature service 110 via the UI manager 112.

In one embodiment, the UI manager 112 or related components are adapted to automatically configure a user interface to facilitate the generation of dynamic signature documents. For example, the UI manager 112 may interrogate or otherwise interact with a data store (e.g., a customer relationship management data store hosted by the system 165) to determine or identify a schema or other structure that describes data objects or other contents of the data store. Then, based on the identified schema, the UI manager may automatically construct or generate a collection (e.g., a palette) of dynamic form fields that are mapped to associated data objects in the data store. This collection can then be presented to a user, who can then manipulate (e.g., drag and drop) the dynamic form fields in order to associate them with signature documents, thereby creating dynamic signature documents.

The API 113 provides programmatic access to one or more functions of the electronic signature service 110. For example, the API 113 may provide a programmatic interface to one or more functions of the electronic signature service 110 that may be invoked by one of the other programs 130 or some other module. In this manner, the API 113 facilitates the development of third-party software, such as user interfaces, plug-ins, news feeds, adapters (e.g., for integrating functions of the electronic signature service 110 into Web applications), and the like. In addition, the API 113 may be in at least some embodiments invoked or otherwise accessed via remote entities, such as the third-party system 165, to access various functions of the electronic signature service 110. For example, a customer relationship management service executing on the system 165 may provide, configure, or otherwise interact with dynamic signature documents managed by the ESS 110 via the API 113.

The data store 115 is used by the other modules of the electronic signature service 110 to store and/or communicate information. The components of the ESS 110 use the data store 115 to record various types of information, including documents, signatures, dynamic form fields and related data, and the like. Although the components of the ESS 110 are described as communicating primarily through the data store 115, other communication mechanisms are contemplated, including message passing, function calls, pipes, sockets, shared memory, and the like.

The electronic signature service 110 interacts via the network 150 with client devices 160 and 161, and third-party systems 165. The network 150 may be any combination of one or more media (e.g., twisted pair, coaxial, fiber optic, radio frequency), hardware (e.g., routers, switches, repeaters, transceivers), and one or more protocols (e.g., TCP/IP, UDP, Ethernet, Wi-Fi, WiMAX) that facilitate communication between remotely situated humans and/or devices. In some embodiments, the network 150 may be or include multiple distinct communication channels or mechanisms (e.g., cable-based and wireless). The client devices 160 and 161 include personal computers, laptop computers, smart phones, personal digital assistants, tablet computers, and the like.

In an example embodiment, components/modules of the electronic signature service 110 are implemented using standard programming techniques. For example, the electronic signature service 110 may be implemented as a “native” executable running on the CPU 103, along with one or more static or dynamic libraries. In other embodiments, the electronic signature service 110 may be implemented as instructions processed by a virtual machine that executes as one of the other programs 130. In general, a range of programming languages known in the art may be employed for implementing such example embodiments, including representative implementations of various programming language paradigms, including but not limited to, object-oriented (e.g., Java, C++, C#, Visual Basic.NET, Smalltalk, and the like), functional (e.g., ML, Lisp, Scheme, and the like), procedural (e.g., C, Pascal, Ada, Modula, and the like), scripting (e.g., Perl, Ruby, Python, JavaScript, VBScript, and the like), and declarative (e.g., SQL, Prolog, and the like).

The embodiments described above may also use either well-known or proprietary synchronous or asynchronous client-server computing techniques. Also, the various components may be implemented using more monolithic programming techniques, for example, as an executable running on a single CPU computer system, or alternatively decomposed using a variety of structuring techniques known in the art, including but not limited to, multiprogramming, multithreading, client-server, or peer-to-peer, running on one or more computer systems each having one or more CPUs. Some embodiments may execute concurrently and asynchronously, and communicate using message passing techniques. Equivalent synchronous embodiments are also supported. Also, other functions could be implemented and/or performed by each component/module, and in different orders, and by different components/modules, yet still achieve the described functions.

In addition, programming interfaces to the data stored as part of the electronic signature service 110, such as in the data store 115 and/or 120, can be available by standard mechanisms such as through C, C++, C#, and Java APIs; libraries for accessing files, databases, or other data repositories; through scripting languages such as XML; or through Web servers, FTP servers, or other types of servers providing access to stored data. The illustrated data stores may be implemented as one or more database systems, file systems, or any other technique for storing such information, or any combination of the above, including implementations using distributed computing techniques.

Different configurations and locations of programs and data are contemplated for use with techniques of described herein. A variety of distributed computing techniques are appropriate for implementing the components of the illustrated embodiments in a distributed manner including but not limited to TCP/IP sockets, RPC, RMI, HTTP, Web Services (XML-RPC, JAX-RPC, SOAP, and the like). Other variations are possible. Also, other functionality could be provided by each component/module, or existing functionality could be distributed amongst the components/modules in different ways, yet still achieve the functions described herein.

Furthermore, in some embodiments, some or all of the components of the electronic signature service 110 may be implemented or provided in other manners, such as at least partially in firmware and/or hardware, including, but not limited to one or more application-specific integrated circuits (“ASICs”), standard integrated circuits, controllers executing appropriate instructions, and including microcontrollers and/or embedded controllers, field-programmable gate arrays (“FPGAs”), complex programmable logic devices (“CPLDs”), and the like. Some or all of the system components and/or data structures may also be stored as contents (e.g., as executable or other machine-readable software instructions or structured data) on a computer-readable medium (e.g., as a hard disk; a memory; a computer network or cellular wireless network or other data transmission medium; or a portable media article to be read by an appropriate drive or via an appropriate connection, such as a DVD or flash memory device) so as to enable or configure the computer-readable medium and/or one or more associated computing systems or devices to execute or otherwise use or provide the contents to perform at least some of the described techniques. Some or all of the system components and data structures may also be stored as data signals (e.g., by being encoded as part of a carrier wave or included as part of an analog or digital propagated signal) on a variety of computer-readable transmission mediums, which are then transmitted, including across wireless-based and wired/cable-based mediums, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). Such computer program products may also take other forms in other embodiments. Accordingly, embodiments of this disclosure may be practiced with other computer system configurations.

It should be apparent to those skilled in the art that many more modifications besides those already described are possible without departing from the inventive concepts herein. The inventive subject matter, therefore, is not to be restricted except in the spirit of the appended claims. Moreover, in interpreting both the specification and the claims, all terms should be interpreted in the broadest possible manner consistent with the context. In particular, the terms “includes,” “including,” “comprises,” and “comprising” should be interpreted as referring to elements, components, or steps in a non-exclusive manner, indicating that the referenced elements, components, or steps may be present, or utilized, or combined with other elements, components, or steps that are not expressly referenced. Where the specification claims refers to at least one of something selected from the group consisting of A, B, C . . . and N, the text should be interpreted as requiring only one element from the group, not A plus N, or B plus N, etc.

While the preferred embodiment of the invention has been illustrated and described, as noted above, many changes can be made without departing from the spirit and scope of the invention. Accordingly, the scope of the invention is not limited by the disclosure of the preferred embodiment. Instead, the invention should be determined entirely by reference to the claims that follow.

Peterson, Donald G., Gonser, Jr., Thomas H.

Patent Priority Assignee Title
Patent Priority Assignee Title
5040142, Jan 29 1988 Hitachi, Ltd. Method of editing and circulating an electronic draft document amongst reviewing persons at remote terminals attached to a local area network
5220675, Jan 08 1990 Microsoft Technology Licensing, LLC Method and system for customizing a user interface in an integrated environment
5222138, Aug 06 1992 INTELLIGENT DATA CORPORATION Remote signature rendering system & apparatus
5337360, Apr 06 1992 Method and apparatus for creating, supporting, and using travelling programs
5390247, Apr 06 1992 Method and apparatus for creating, supporting, and using travelling programs
5465299, Dec 03 1992 Hitachi, Ltd.; Hitachi Chubu Software, Ltd. Electronic document processing system and method of forming digital signature
5544255, Aug 31 1994 CIC ACQUISTION CORP ; CIC ACQUISITION CORP Method and system for the capture, storage, transport and authentication of handwritten signatures
5553145, Mar 21 1995 DOCUSIGN, INC Simultaneous electronic transactions with visible trusted parties
5615268, Jan 17 1995 EORIGINAL, INC System and method for electronic transmission storage and retrieval of authenticated documents
5629982, Mar 21 1995 DOCUSIGN, INC Simultaneous electronic transactions with visible trusted parties
5689567, Dec 27 1993 NEC Corporation Electronic signature method and apparatus
5748738, Jan 17 1995 EORIGINAL, INC System and method for electronic transmission, storage and retrieval of authenticated documents
5813009, Jul 28 1995 UNIVIRTUAL CORP Computer based records management system method
5832499, Jul 10 1996 University of Southern California Digital library system
5872848, Feb 18 1997 HANGER SOLUTIONS, LLC Method and apparatus for witnessed authentication of electronic documents
5898156, Aug 29 1996 THE CHASE MANHATTAN BANK, AS COLLATERAL AGENT Validation stamps for electronic signatures
6021202, Dec 20 1996 FleetBoston Financial Corporation Method and system for processing electronic documents
6067531, Jul 21 1998 RAKUTEN, INC Automated contract negotiator/generation system and method
6085322, Feb 18 1997 HANGER SOLUTIONS, LLC Method and apparatus for establishing the authenticity of an electronic document
6092080, Jul 10 1996 University of Southern California Digital library system
6119229, Apr 11 1997 HANGER SOLUTIONS, LLC Virtual property system
6128740, Dec 08 1997 Entrust Technologies Limited Computer security system and method with on demand publishing of certificate revocation lists
6161139, Jul 10 1998 ENTRUST, INC Administrative roles that govern access to administrative functions
6185587, Jun 19 1997 International Business Machines Corporation System and method for building a web site with automated help
6185683, Feb 13 1995 Intertrust Technologies Corp. Trusted and secure techniques, systems and methods for item delivery and execution
6199052, Mar 06 1998 Deloitte & Touche USA LLP Secure electronic transactions using a trusted intermediary with archive and verification request services
6210276, Aug 25 1998 Game with multiple incentives and multiple levels of game play and combined lottery game with time of purchase win progressive jackpot
6237096, Jan 17 1995 EORIGINAL, INC System and method for electronic transmission storage and retrieval of authenticated documents
6282552, Feb 27 1998 REVCHAIN SOLUTIONS, LLC Customizable electronic invoice with optional security
6289460, Sep 13 1999 DOCUSIGN, INC Document management system
6321333,
6327656, Jul 02 1997 TIMESTAMP COM, INC Apparatus and method for electronic document certification and verification
6367010, Jul 02 1999 Cisco Technology, Inc Method for generating secure symmetric encryption and decryption
6367013, Jan 17 1995 EORIGINAL, INC System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents
6446115, Mar 07 2000 Letter Services, Inc.; LETTER SERVICES, INC Automatic generation of graphically-composed correspondence via a text email interface
6470448, Oct 30 1996 Fujitsu Limited Apparatus and method for proving transaction between users in network environment
6584466, Apr 07 1999 Microsoft Technology Licensing, LLC Internet document management system and methods
6615348, Apr 16 1999 Intel Corporation Method and apparatus for an adapted digital signature
6658403, Oct 15 1999 Fujitsu Limited Apparatus and method for managing electronic original data
6671805, Jun 17 1999 WOLTERS KLUWER TECHNOLOGY B V System and method for document-driven processing of digitally-signed electronic documents
6728762, Jan 04 2000 International Business Machines Corporation System and method for browser definition of workflow documents
6751632, Sep 25 1998 SILANIS TECHNOLOGY INC. Method of creating authenticated verifiable reproductions of electronic documents
6754829, Dec 14 1999 Intel Corporation Certificate-based authentication system for heterogeneous environments
6796489, Jun 06 2000 INGEO SYSTEMS, INC Processing electronic documents with embedded digital signatures
6807633, May 25 1999 JPMORGAN CHASE BANK, N A Digital signature system
6829635, Jul 01 1998 Brent, Townshend System and method of automatically generating the criteria to identify bulk electronic mail
6912660, Aug 07 1998 SILANIS TECHNOLOGY INC. Method for parallel approval of an electronic document
6931420, Sep 24 1999 SILANIS TECHNOLOGY INC Method for the separate authentication of a template and user data
6938157, Aug 18 2000 Distributed information system and protocol for affixing electronic signatures and authenticating documents
6944648, Sep 22 2000 DOCUSIGN, INC System and method for managing transferable records
6947911, Jun 15 2000 Hitachi, LTD Method for making contract and system for processing contract
6959382, Aug 16 1999 ACCELA, INC Digital signature service
6961854, Jun 08 1999 PLS IV, LLC Methods and systems for encoding and protecting data using digital signature and watermarking techniques
6973569, Jun 30 2000 Oracle America, Inc Inexpensive secure on-line certification authority system and method
6990684, Aug 31 2000 Sony Corporation Person authentication system, person authentication method and program providing medium
7039805, May 20 1998 RAKUTEN, INC Electronic signature method
7059516, Aug 31 2000 Sony Corporation Person authentication system, person authentication method, information processing apparatus, and program providing medium
7069443, Jun 06 2000 INGEO SYSTEMS, INC Creating and verifying electronic documents
7093130, Jan 24 2000 The Regents of the University of California System and method for delivering and examining digital tickets
7100045, Nov 22 2000 Kabushiki Kaisha Toshiba System, method, and program for ensuring originality
7103778, Aug 31 2000 Sony Corporation Information processing apparatus, information processing method, and program providing medium
7162635, Jan 17 1995 EORIGINAL, INC System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents
7167844, Dec 22 1999 Accenture Global Services Limited Electronic menu document creator in a virtual financial environment
7197644, Dec 16 2002 MAJANDRO LLC Systems and methods for providing hardcopy secure documents and for validation of such documents
7237114, Apr 26 2000 BRIDGE BANK, NATIONAL ASSOCIATION Method and system for signing and authenticating electronic documents
7340608, Jun 17 2002 SILANIS TECHNOLOGY INC System and method for creating, vaulting, transferring and controlling transferable electronic records with unique ownership
7360079, Jan 05 2001 YOZONS, INC System and method for processing digital documents utilizing secure communications over a network
7395436, Jan 31 2002 KENEISYS CORP Methods, software programs, and systems for electronic information security
7424543, May 25 2001 JOLLY SEVEN, SERIES 70 OF ALLIED SECURITY TRUST I System and method of permissive data flow and application transfer
7437421, Aug 07 2003 PayPal, Inc Collaborative email with delegable authorities
7523315, Dec 22 2003 Ingeo Systems, LLC Method and process for creating an electronically signed document
7533268, May 13 2004 Microsoft Technology Licensing, LLC Digital signature with an embedded view
7554576, Jun 20 2005 Ricoh Company, LTD Information capture and recording system for controlling capture devices
7562053, Apr 02 2002 COLLABORATIVE AGREEMENTS,LLC System and method for facilitating transactions between two or more parties
7568101, May 13 2004 Microsoft Technology Licensing, LLC Digital signatures with an embedded view
7568104, Jan 19 2005 International Business Machines Corporation Method and apparatus for adding signature information to electronic documents
7581105, Dec 16 2003 SAP SE Electronic signing apparatus and methods
7644351, Jun 27 2005 Information Sciences Corporation Data collection and processing system and methods
7657832, Sep 18 2003 Adobe Inc Correcting validation errors in structured documents
7660863, Dec 18 2002 France Telecom Confidence communication method between two units
7788259, Jul 21 2006 Microsoft Technology Licensing, LLC Locating, viewing and interacting with information sources
7934098, Apr 11 2005 STERLING INFOSYSTEMS INC System and method for capturing and applying a legal signature to documents over a network
7953977, Jun 16 2008 International Business Machines Corporation Security and ticketing system control and management
8103867, Jan 21 2001 GOOGLE LLC Method and system for obtaining digital signatures
8132013, Sep 30 2004 SAP SE Long-term authenticity proof of electronic documents
8286071, Jun 29 2006 DeliverHealth Solutions LLC Insertion of standard text in transcriptions
8588483, Dec 21 2004 Signaturelink, Inc. System and method for providing a real-time, online biometric signature
8612349, Apr 04 2011 Ledder High Risk Capital Ventures, LP Cloud computing system and method for accumulating money
9268758, Jul 14 2011 DocuSign, Inc. Method for associating third party content with online document signing
9971754, Jul 14 2011 DOCUSIGN, INC Method for associating third party content with online document signing
20010018739,
20010034835,
20020004800,
20020019937,
20020026427,
20020026582,
20020040431,
20020055945,
20020069179,
20020069358,
20020082857,
20020129056,
20020133470,
20020138445,
20020143711,
20020162000,
20020178187,
20020184485,
20020194219,
20020196478,
20030023625,
20030048301,
20030051016,
20030078880,
20030120553,
20030120930,
20030131073,
20030140252,
20030217275,
20040054606,
20040078337,
20040107352,
20040117627,
20040133493,
20040162833,
20040181756,
20040205534,
20040225884,
20040230891,
20040250070,
20040255114,
20040255127,
20050033811,
20050049903,
20050076215,
20050091143,
20050120217,
20050165626,
20050182684,
20050182956,
20050192908,
20050231738,
20060020592,
20060047600,
20060161780,
20060161781,
20060174199,
20060205476,
20060259440,
20060261545,
20060294152,
20070026927,
20070061578,
20070079139,
20070088958,
20070118732,
20070130186,
20070136361,
20070143085,
20070165865,
20070198533,
20070208944,
20070220260,
20070271592,
20070289022,
20080016357,
20080034213,
20080052520,
20080055945,
20080097777,
20080141033,
20080209313,
20080209516,
20080216147,
20080235577,
20080260287,
20080301010,
20080307298,
20080313723,
20090024912,
20090025087,
20090044019,
20090083618,
20090099881,
20090132351,
20090138730,
20090145958,
20090185241,
20090268903,
20090292786,
20100088364,
20100106608,
20100122094,
20100153011,
20100217987,
20100235727,
20100274863,
20100287260,
20100293094,
20110093769,
20110093807,
20110119165,
20110126022,
20110225485,
20110238510,
20110264907,
20110314371,
20120180135,
20120209970,
20120271882,
20120304265,
20130019156,
20130019289,
20130050512,
20130067243,
20130159720,
20130179676,
20130254111,
20130263283,
20140019761,
AU2012283812,
CN101136046,
CN101299256,
CN101395599,
CN103959281,
EP1238321,
JP2000048072,
JP2003271529,
JP2004246903,
JP2005267438,
JP2008117258,
JP2008225527,
KR100929488,
KR1020020092595,
KR1020070059931,
KR20000049674,
KR20090122657,
RU2291491,
RU2300844,
RU2400811,
WO1042885,
WO2003091834,
WO2007075235,
WO2008124627,
WO2009012478,
WO2010105262,
WO2010151630,
WO2013010174,
WO3091834,
WO2007075235,
WO2008124627,
WO2009012478,
WO2010105262,
WO2010151630,
WO2013010174,
///
Executed onAssignorAssigneeConveyanceFrameReelDoc
Feb 16 2016GONSER, THOMAS H , JR DOCUSIGN, INC ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0531560670 pdf
Mar 14 2016PETERSON, DONALD G DOCUSIGN, INC ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0531560670 pdf
Apr 30 2020DocuSign, Inc.(assignment on the face of the patent)
Date Maintenance Fee Events
Apr 30 2020BIG: Entity status set to Undiscounted (note the period is included in the code).


Date Maintenance Schedule
Jul 16 20274 years fee payment window open
Jan 16 20286 months grace period start (w surcharge)
Jul 16 2028patent expiry (for year 4)
Jul 16 20302 years to revive unintentionally abandoned end. (for year 4)
Jul 16 20318 years fee payment window open
Jan 16 20326 months grace period start (w surcharge)
Jul 16 2032patent expiry (for year 8)
Jul 16 20342 years to revive unintentionally abandoned end. (for year 8)
Jul 16 203512 years fee payment window open
Jan 16 20366 months grace period start (w surcharge)
Jul 16 2036patent expiry (for year 12)
Jul 16 20382 years to revive unintentionally abandoned end. (for year 12)