WO2002100036A1 - Intelligent secure data manipulation apparatus and method - Google Patents

Intelligent secure data manipulation apparatus and method Download PDF

Info

Publication number
WO2002100036A1
WO2002100036A1 PCT/US2002/016866 US0216866W WO02100036A1 WO 2002100036 A1 WO2002100036 A1 WO 2002100036A1 US 0216866 W US0216866 W US 0216866W WO 02100036 A1 WO02100036 A1 WO 02100036A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic data
data
network
protocol
module
Prior art date
Application number
PCT/US2002/016866
Other languages
French (fr)
Inventor
Jon Andre Chun
Stephen Dao Hui Hsu
James Noshir Hormuzdiar
Original Assignee
Symantec Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Symantec Corporation filed Critical Symantec Corporation
Priority to EP02737242A priority Critical patent/EP1402678A4/en
Priority to CA2449739A priority patent/CA2449739C/en
Priority to JP2003501886A priority patent/JP2004533179A/en
Publication of WO2002100036A1 publication Critical patent/WO2002100036A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Definitions

  • This disclosure relates generally to the exchange of electronic data over a generally insecure communication network, and in particular but not exclusively, relates to the secure exchange and the manipulation of data (including static data, dynamic data such as email and instant messaging, and the access to applications that manipulate such data at a higher level) being provided over the communication network.
  • data including static data, dynamic data such as email and instant messaging, and the access to applications that manipulate such data at a higher level
  • exchanges of electronic data include business-to-business relationships where one business contracts with another business to manage a particular component of its operation. For instance, a business may outsource with a third-party organization to manage its payroll and benefits. In such an affiliation, the business typically provides the third-party organization with remote access to its confidential electronic information (e.g., data stored in databases and file systems, as well as applications to manipulate such data) to allow the third-party organization to process the information.
  • confidential electronic information e.g., data stored in databases and file systems, as well as applications to manipulate such data
  • HIPAA Health Insurance Portability and Accountability Act of 1996
  • HIPAA compliance mandates a national Electronic Data Interchange (EDI) framework that standardizes private electronic health information so it can be securely shared in a largely automated manner between health care providers, employers, insurers, patients, and other authorized parties.
  • EDI Electronic Data Interchange
  • an insurer can access patient records at a hospital in order to verify treatment and coverage for a particular patient, for instance.
  • VPNs Virtual private networks
  • systems data exchanges between computer to computer, computer to human, human to human, or any variation thereof.
  • a secure network overlays an insecure public network, such as the Internet.
  • a VPN is created by encrypting all data streams between selected nodes on the larger public network, such that no other nodes on the same public network can access the confidential data.
  • VPN data exchange systems suffer from a number of drawbacks.
  • Many of them can only understand, analyze, and act according to external data stream information and not the actual contents of the data stream.
  • traditional VPNs monitor incoming and outgoing packets, block incoming packets based upon source or destination, and require some authentication information in order to establish a secure connections to authorized data.
  • the VPN is largely unaware of the content of the data being exchanged. The most such systems can do is blindly record the data exchanged without the ability to intelligently act upon it in real time.
  • VPN data exchange systems Another disadvantage of these VPN data exchange systems is that data will often need to be exchanged between machines (such as between computer systems, client terminals, application software, servers, web browsers, and the like) that communicate via different or incompatible data formats and protocols.
  • machines such as between computer systems, client terminals, application software, servers, web browsers, and the like
  • individual in the business may need to re-format the data to a format (e.g., to a compatible software application file, database layout, intermediate file format, and so on) before the data is sent to the third-party organization, so that the third-party organization can read and process the data.
  • a web browser generally only understands the web-based protocols, such as hypertext transfer protocol (HTTP) and hypertext transfer protocol secure (HTTPS), and thus cannot exchange data with an email server that communicates via the other protocols, such as SMTP, POP, and/or IMAP protocols.
  • HTTP hypertext transfer protocol
  • HTTPS hypertext transfer protocol secure
  • This translation between data formats and protocols may need to be done differently and manually on a case-by-case basis for each data exchange link, thereby adding to the complexity and inefficiency of the process.
  • VPN data exchange systems Yet another problem with these VPN data exchange systems is that erroneous data can be cumbersome to detect or correct. Correction of incorrect data, if such incorrect data is even located to begin with, typically involves having to track down specific static database or file system entries where the original error occurs. This can be difficult in situations where there are multiple databases having different formats.
  • data that is exchanged often needs to be logged in terms of source, destination, date and time, or other transactional tracking information. This transactional information is also generally stored statically in databases, file systems, or other storage locations (e.g., "data at rest"), and can easily become outdated or erroneous if the original data had errors.
  • Erroneous data can result in severe consequences, particularly in the health care field where a wrong prescription number for a medicine may cause great harm to a patient. If left uncorrected, erroneous data can propagate and proliferate through various systems and databases as the data is exchanged.
  • Figure 1 illustrates an example of a system that can implement an embodiment of an intelligent data manipulation apparatus.
  • Figure 2 is a block diagram of an embodiment of a portion of an intelligent data manipulation apparatus for the system of Figure 1.
  • FIG 3 is a flowchart illustrating operation of the apparatus of Figures 1-2 in accordance with an embodiment of the invention.
  • Figure 4 is a flowchart illustrating examples of data manipulation operations of the flowchart of Figure 3 in greater detail in accordance with an embodiment of the invention.
  • Embodiments of an apparatus and method for intelligent data manipulation are described herein.
  • numerous specific details are provided, such as examples of protocols and network components, to provide a thorough understanding of embodiments of the invention.
  • One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, etc.
  • well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
  • an embodiment of the invention provides an apparatus in the form of an appliance that can be installed in an existing network.
  • the appliance comprises a single modular device that is less expensive than existing techniques/systems, yet more comprehensive in addressing data exchange issues, more robust, less complicated to manage, and so on.
  • An embodiment of the appliance thoroughly integrates security to allow the appliance to be located at a network gateway where all incoming and outgoing data exchanges must pass through. This ensures that no data can be exchanged externally without the knowledge and opportunity to monitor and manage the data. This network gateway location also makes it easier to centralize, secure and globally monitor, and manage all external data exchanges.
  • An embodiment of the appliance can be installed or plugged into a computer network between business partners, and can perform many of the difficult and tedious data manipulation operations in a secure, transparent, and substantially automated manner.
  • operations that can be performed by an embodiment of the apparatus include, but are not limited to, encryption, single sign-on authentication, auditing, shaping data to a common intermediate format for exchange between partners, other auditing of data exchanges in transaction logs, filtering data for privacy compliance and risk management, error detection and correction, mapping internal non-standard data elements to external standard code sets, proxy and protocol re-writing, and so on.
  • An embodiment of the apparatus is embedded with various tools to perform and customize these operations, and therefore appears to be an "intelligent" device.
  • An embodiment of the apparatus is also provided with remote or local configuration, management, and rules-based data manipulation programming capabilities.
  • the data can be transformed according to fixed data manipulation rules or programmable data manipulation rules.
  • the data can be manipulated while the data is in transit (e.g., "while on the wire") and need not be restricted to being manipulated only while in back-end static storage locations, such as databases, file systems, or storage unit.
  • Figure 1 shows an embodiment of an intelligent data manipulation apparatus 12 installed in the system 10.
  • the apparatus 12 may be physically implemented in one network device in one embodiment, or several distinct dedicated network appliance devices may be implemented in another embodiment (where the dashed lines of the appliance 12 in Figure 1 indicates a functional grouping of these devices rather than a physical boundary).
  • the apparatus 12 can be thought of as including a network security database component 14 or the ability to communicate with an external network security database component 20, a secure portal 16 (which can have built into it a multi-protocol gateway functionality), and an optional distinct firewall device 18.
  • the network security database component 14 can be based on a Lightweight Directory Access Protocol (LDAP) framework 20 in one embodiment. Additional detailed descriptions of the components 14-18 (or analogous components to perform similar operations) will be provided later below with reference to Figure 2 and the subsequent flowcharts.
  • LDAP Lightweight Directory Access Protocol
  • the apparatus 12 can be coupled in parallel as shown in Figure 1 or in series between a border firewall 22 and a private intranet 24 (or other network), both of which typically form part of a business' computer system.
  • the private intranet 24 can in turn be coupled to or include an email server 26, a file server 28, other web servers 30, or other web-based or nonweb-based types of applications or data stores (not shown).
  • the email server 26 includes email applications (and related files) that allow users/employees to electronically communicate with each other (or with persons, systems, or web sites outside of the business' premises) using standard email protocols (such as SMTP, POP, IMAP, and the like).
  • the file server 28 includes files stored on various operating systems and accessed directly or indirectly by distinct network access protocols (such as SMB, NFS, and the like) that allow individuals to internally or remotely access stored data, files, via a web-based application (such as a browser) or via other techniques.
  • the web server 30 can include files, data, or software related to human resources (HR), payroll, reporting, transactions, collaboration, or other aspects related to operation of the business.
  • the apparatus 12 is useful in that it may be accessed through web-based or browser-based devices. It is to be appreciated that these aspects are merely illustrative, and that in some embodiments, web-based components need not necessarily be used.
  • machines e.g., client terminals, PCs, servers, applications, and the like
  • machines can communicate or exchange data with external parties.
  • parties include a mobile user 34 that can communicate with the business via wireless devices, a home user 36 that uses a personal computer (PC), or a business partner 38 that has machines (e.g., client terminals, PCs, servers, applications, and the like) that exchange information with the machines on the other side of the border firewall 22.
  • an outsourced management service 40 can also be provided with access to the business' computer system.
  • the outsourced management service 40 can include a service to manage the business' specific software applications payroll, benefits, and the like, or more general services such as network security and data exchanges.
  • the outsourced management service 40 is shown as being in direct communication with the apparatus 12. It is to be appreciated that in other embodiments, the outsourced management service 40 can communicate with the apparatus 12 via the public Internet 32, via dedicated dial-up lines or via dedicated communication lines.
  • Figure 1 shows an example of a specific configuration for the system 10, it is understood that Figure 1 only shows one possible embodiment of the system 10.
  • components of the system 10 can be distributed across multiple networks.
  • the business partner 38 and/or the outsourced management service 40 may have their own apparatus 12, which in turn can communicate with other apparatus 12 in the system 10.
  • Figure 2 is a block diagram of an embodiment of a portion of the apparatus 12 for the system 10 of Figure 1. More specifically, Figure 2 is a block diagram showing components of the secure portal 16 of the apparatus 12, as well as other components of the system 10.
  • the apparatus 12 can be "plugged-into" a network (e.g., the business' computer system) with minimal or no re-configuration of the network needed.
  • Network cards of the apparatus 12 may be configured as necessary in a manner similar to other network devices.
  • the apparatus 12 is installed between the public Internet 32 and the private intranet 24, thereby allowing all incoming and outgoing data (e.g., data being exchanged between machines) to be routed through the apparatus 12 and the optional distinct firewall device 18 to be managed as a part of the entire data exchange system within the apparatus 12. It is noted that the apparatus 12 does not have to be in-line/in series with the border firewall 22 and the private Intranet 24 to sniff all data being exchanged--an embodiment of the apparatus 12 can accomplish this from the parallel position. Some of the various communications/connections in Figure 2, which may be secured, are indicated by "padlock" symbols.
  • the apparatus 12 can be provided with 2 GB of synchronous dynamic random access memory (SDRAM) and network interface cards (NICs), as an example.
  • SDRAM synchronous dynamic random access memory
  • NICs network interface cards
  • One illustrative embodiment of the apparatus 12 can have up to four NICs or network connection devices: 1) facing external network, 2) facing internal network, 3) facing internal data stores streaming in/out data like audit, etc., 4) dedicated local administration (potentially a modem).
  • Additional non-limiting and non-exhaustive examples of encryption acceleration cards, modem, operating system, browser, server, and other such components of the apparatus 12 and/or with which the apparatus can operate are disclosed in the priority provisional patent application from which the present application claims priority and incorporates by reference. Additional features of various embodiments of the apparatus 12 are also disclosed in this provisional patent application.
  • the apparatus 12 includes an authentication module 42 and an authorization module 44, both of which may use part of the network security database component 14 as a data store for a user map 46 and a resource map 48 to perform security operations (e.g., comprise part of a security module to control the exchange of electronic data).
  • Initial configuration of the apparatus 12 so as to provide security capability can include populating a user map store 46 (corresponding to the authentication module 42) and a resource map store 48 (corresponding to the authorization module 44).
  • the stores 46 and 48 (as well as other data stores shown in Figure 2) can comprise databases, file systems, or other suitable storage components.
  • the various modules and stores shown in Figure 2 and described herein can be embodied in software or other machine-readable instructions stored on machine-readable storage media.
  • the data stores may be located within the apparatus 12, or reside on a remote device such as a database, file server, and the like.
  • the user map store 46 can be linked to the resource map store 48 (shown symbolically by an arrow in Figure 2), and can be populated with permission properties that map user/entity/group objects to resource objects (such as local network resources) that are specified in the resource map store 48. Types of relationships can be specified using the user/entity/group objects and resource objects, such as owner, access rules that determine which users/group/machines have what kind of access to which local resources, and so on.
  • the structure of the user map store 46 and the resource map store 48 can be based on an LDAP framework. Additional details regarding the operation of the authentication module 42 and the authorization module 44 will be provided later below, and it is to be appreciated that these specific implementations of the authentication and authorization process are merely for purposes of illustration and explanation.
  • the apparatus 12 can implement Authentication, Authorization and Access (AAA) or Extranet Access Mechanism (EAM) features, such as single sign-on functionality. This allows users of the system 10 to authenticate only once, yet gain access to multiple secured back-end systems that individually would each require a separate authentication process. Once a user has initially authenticated to the apparatus 12, any requests to access a restricted back-end system can be fulfilled automatically by the apparatus 12. In such cases, an embodiment of the apparatus 12 can invisibly provide the appropriate login credentials required to access each particular secured back-end system in a seamless process (e.g., "pass through authentication").
  • AAA Authentication, Authorization and Access
  • EAM Extranet Access Mechanism
  • a data shaping module 50 has functionality that analyzes, rewrites, merges, separates, or otherwise alters data passing through the apparatus 12. Modification of data by the data shaping module 50 can be based on both a transaction at a single point in time or the cumulative results of prior transactions that form a multi-part transaction over time, as the state(s) of such transactions are read in from the transaction logs. Some of this functionality is static and built into the data shaping module 50, while other functionality is flexible and programmable via external user-supplied data rules (stored in a data rules store 52) that are parsed in via a parsing application program interface (API) module 54.
  • API application program interface
  • Static functionality includes the ability to analyze, sanitize, and rewrite hypertext markup language (HTML), dynamic HTML (DHTML), Flash, Java, or other content that should be or can be modified.
  • This static functionality can also include a group of atomic data manipulation functions and tools that can be called upon by external data rules as translated by the parsing API module 54.
  • the flexible or dynamic data shaping functionality of the data shaping module 50 can be created at a high level via external data rules stored in the data rules store 52.
  • This dynamic data shaping functionality can include, but not be limited to, extensible markup language (XML) tag markup, codification/classification of data elements into standard dictionary terms for electronic data interchange (EDI), reconciliation and creation of metadata out of various disparate data sources, and the like.
  • XML extensible markup language
  • EDI electronic data interchange
  • the parsing API module 54 presents a high- level scripting interface to administrators of the business to enable them to automate, manipulate, and customize the internal functionality of the data- shaping module 50.
  • User commands are translated into an intuitive high- level data rule language that are sent to the parsing API module 54 for translation for and execution against the internal functions within the data shaping module 50, or otherwise parses the syntax of the data rules that the various modules can understand and act upon.
  • the apparatus 12 can include an auditing module 56 to selectively audit data and transactions that pass through the apparatus 12.
  • a reports module 58 can create static and dynamic reports 60 based on audit logs 62.
  • the auditing module 56 can obtain/create information such as which user, from where, at what time, accessed what data, from where, how, what was done, how was the data manipulated or processed, who should be informed of this transaction, and so on, and then store this information in the audit logs 62.
  • the reports module 58 can then create the reports 60 based on the audit logs 62, with an example report showing who is accessing a particular internal resource, marking the content and status of scheduled electronic exchanges with remote partners, or providing other types of transaction analysis.
  • data transaction history can be recorded by the auditing module 56, stored in the logs 62, and used by the reports module 58 and data shaping module 50. Transactional history may be customized to record data in the audit logs 62 in a variety of formats to allow compatibility with popular reporting and data analysis systems.
  • the system utilities module 66 can perform various utilities functions, including a name translation of non-routable internal web resources (e.g., 192.1680.11 or //hrmanual) or non-routable non-web resource (e.g., email or file systems) to a standard Internet-routable external resource (e.g., safeweb.companyabc.com/hrmanual/).
  • the system utilities module 66 is also responsible for rewriting any external network links to route all such requests back through the apparatus 12 as described below.
  • the systems utilities module 66 can include a proxy component to reformat the electronic data from a first protocol to a second protocol. This includes typical HTTP and FTP requests for network resources coded in component scripting languages such as HTML, JavaScript, etc.
  • An agents module 68 accesses customized agent scripts 64 that are scheduled to execute automatically based upon time, connection, or other trigger events. Once created and running, such scripts can automatically access data, analyze it, operate upon it, and so on per the scriptwriter's conditions. The results are then provided via web pages, files, e-mail, database updates, or via other automated notification and customization techniques 74.
  • the agents module 68 can be communicatively coupled to the other modules to combine, automate, and schedule multiple commands used for operation of the apparatus 12.
  • a local management module 70 enables administrators or a local information technology (IT) department 76 to configure, manage, and customize the appliance 12.
  • the IT department 76 can perform activities such as creating or updating the user map store 46 and the resource map store 48.
  • the IT department 76 can also view reports 60, audit logs 62, and edit, create or delete data rules store 52 and agent scripts 64.
  • the apparatus 12 further includes a remote management module 72 to enable outsourcing of the management and customization of the apparatus 12 to outside remote consultants 78 or other parties. This remote management allows the consultant 78 to monitor, update, diagnose, or solve potential issues, and also allows the outsourcing of future services such as intrusion detection and quality of service (QoS) monitoring.
  • QoS quality of service
  • the user map store 46 comprises a data store of all users/entities that have permission to access the system. These comprise objects having a security model hierarchy with various properties that determine the exact conditions and constraints that a particular entity has on using the apparatus 12 to access and work with private internal intranet resource objects (or simply "resources"). Examples of resources that can potentially be accessed include, but are not limited to, files, databases, applications/programs, file systems, intranet pages, electronic records, or other data and the like. Properties included in the user map store 46 include such items as username, password, last failed login, last successful login, last password, and the like.
  • the audit logs 62 comprise a data store of raw audit information for all the data processing, manipulation, and other transactions that occur in the apparatus 12.
  • the auditing module 56 can determine the source, type, resolution, and frequency of what information is captured and stored in the audit logs 62.
  • the reports 60 comprise a data store that can contain specific reports that are both static and dynamic in nature. These reports can be made visible via the Internet 32 and downloadable in HTML format, as well as other formats such as text and PDF formats as well.
  • the agents 64 comprise a data store that keeps a library of code of all automated agent scripts, along with code management metadata of ownership, sharing, versions, and so on.
  • the data rules store 52 comprises a data store containing application-specific data rules that can dictate how data is shaped as it passes through the apparatus 12. These rules can be grouped into sets based on criteria such as the data operated upon, the user/partner receiving the processed data, or the data application used.
  • a claim processing company may have several distinct data rule sets in the data rules store 52 that dictate how to map their internal data systems into several standard data formats for electronic interchange with business partners 38, such as banks, insurance companies, brokers, hospitals, government agencies, etc.
  • the resource map store 48 comprises a data store that contains resource objects organized into a security model hierarchy, along with properties on each such as accessibility, type, and the like that can be used to both determine security and use.
  • Figure 3 is a flowchart illustrating operation of an embodiment of the apparatus 12 of Figures 1-2.
  • a remote user such as the mobile user 34, the home user 36, or the business partner 38
  • the remote user can operate a machine (such as a PC or laptop) that communicates with one or more machines in the business, via the apparatus 12.
  • connection to the apparatus 12 occurs. In one embodiment, this may be done when the remote user opens a web browser from any computer at home or on the road (such as a when a patient connects to a hospital's computer system to view his/her medical records under the HIPAA), or at the business partner's 38 premises (such as when an insurance agent connects to the hospital to verify the patient's treatment), or at some other location.
  • Connection between the remote external user and the apparatus 12 is largely via HTTPS in one embodiment. Connection between the apparatus 12 and the local internal data source may be performed via HTTP, file transfer protocol (FTP), email protocols (SMTP, POP, IMAP), network file protocols (SMB, NSF, etc.), or other suitable protocols.
  • FTP file transfer protocol
  • SMB network file protocols
  • NSF network file protocols
  • Company ABC has established a site on the public Internet 32 through which it makes its internal private intranet 24 available to remote users — the site is secure in that all communications is routed through the apparatus 12 (e.g., via use of the "safeweb” identifier in the login address).
  • the remote user may enter a HTTPS prefix via the web browser or be redirected there when connecting to this website, thereby resulting in the secure encryption of data exchanged with the apparatus 12 (via use of 128-bit SSL encryption or PKI encryption, for instance).
  • the remote user can proceed through a login and authentication process at a block 82.
  • the authentication module 42 can present the remote user with a username/password login page.
  • the validation can comprise verification of the username/password combination with other account restrictions such as expiration, lockout after multiple failed logins, restrictions on date/time windows, restrictions based on domain name system (DNS) domain name or internet protocol (IP) address or other address, or other factors.
  • DNS domain name system
  • IP internet protocol
  • authentication may be two-factored or more by challenging the remote user with a one-time password (OTP) system such as the SecurelDTM card system or with biometric devices/systems.
  • OTP one-time password
  • the user is authenticated against a central LDAP server for rights, permissions, and group membership that follow the user per session.
  • the remote user can also be presented by authentication module 42 with the ability to optionally change passwords, retrieve passwords via email, review last login date/time, and the like.
  • authorization and access is performed at a block 84.
  • the user is presented with a web page at the block 84 that organizes all of the internal intranet 24 resources that are available to the remote user.
  • the remote user can access (e.g., "surfs") authorized intranet web resources (or other non-web resources such as email and file systems) as if within the internal intranet 24, via a web-based point and click interface, by entering a URL address (or other address) of a particular resource, automatedly via a remote SSL agent, according to various embodiments.
  • the authorization module 44 checks user permissions and resource access control lists for each request for private internal resources, so as to determine if the remote user's request for the resource should be processed or if an error message should be delivered. Because this operation may be invoked with each request in some embodiments, authorization may be streamlined via tokens that quickly map and resolve security model permissions. Thus, the remote user may "click" on various intranet data resources to access them seamlessly via this pass- through login process that can originate from the LDAP server or database.
  • the requested resource is retrieved from its storage location (such as from a database or file system).
  • the retrieved resource is passed from the internal intranet 24 to the apparatus 12, where the data shaping module 50 performs various data manipulation operations on the retrieved resource at a block 86.
  • data manipulation at the block 86 can be performed on "data in motion.”
  • the data manipulation at the block 86 can include one or more different types of data shaping operations, which in one embodiment can include rules-based dynamic manipulation of high-level content (based on fixed or programmable data-manipulation rules).
  • Dataflow auditing can be performed to audit data as it "travels along the wire," for both high-level and low-level content in data packets.
  • Dataflow markup can be performed to reformat the data to an intermediate format or other format that can be processed by the remote user's machine that requested the data.
  • Dataflow analysis including statistical analysis, error detection and correction, and application of logic rules, may be performed.
  • Dataflow analysis or other data manipulation at the block 86 can also include filtering data based on a minimum need-to-know basis (e.g., data can be filtered in transit according to minimal visibility rules, business security models and mandated privacy regulations) and auto-correction of data.
  • proxy rewriting is performed by the system utilities module 66 of Figure 2 at a block 88.
  • proxy rewriting at the block 88 involves modification or replacement of links or addresses in the retrieved resource to ensure that all subsequent communication passes through the apparatus 12.
  • a retrieved resource that is sent to the remote user may include a hypertext link to a page in the private intranet 24 or to some other location. If proxy rewriting is not performed at the block 88, then the remote user's web browser might bypass the apparatus 12 when the remote user clicks on the hypertext link. If proxy rewriting is performed at the block 88, however, then all such subsequent requests are ensured to pass securely (and anonymously in one embodiment) through the apparatus 12.
  • One embodiment of the apparatus 12 rewrites display and scripting languages at the block 88 according to various fixed syntax rules, but more particularly also rewrites the addesses in the high-level data (e.g., in the data content) itself.
  • the system utilities module 66 or other component parses through the retrieved resource, such as a web page, and rewrites or replaces the links or addresses that it finds. In one embodiment, this involves opening up each web page, breaking it down into constituent components (e.g., HTML, JavaScript, VBScript, Cascading Style Sheet or CSS, Java, Flash, and so on), and rewriting all links to keep the remote user routed through the apparatus 12.
  • the data shaping module 50 or other parsing component of the apparatus 12 can also perform the examination and manipulation of high-level content of the requested resource.
  • multi-protocol proxy/gateway rewriting may be performed at the protocol level to rewrite distinct protocols, such as those used for email and file access, into web-based protocols for access via a only a web browser.
  • multi-protocol proxy/gateway rewriting may be performed to proxy all protocols at a lower packet level via a traditional proxy such as a SOCKS v5 proxy or via a packet level encryption such as that enabled by IPSec.
  • traditional proxies and packet level encryption require some modification of the remote browser or computer, they can enable full access to any internal resources such as client-server applications like Microsoft OutlookTM.
  • Web resources can comprise any network resource (such as data or applications) that run on a traditional web server and is accessed with a web browser.
  • Such web resources include static and dynamic web pages for both content and applications, and are typically written in a combination of HTML, JavaScript, VBScript, CSS, Flash, or Java on the client side.
  • the apparatus 12 fetches the web page, breaks it open into constituent languages, analyzes it, and rewrites and sanitizes all references to external links to ensure that all network traffic is routed through the apparatus 12.
  • an embodiment of the apparatus 12 uses a distinct parser for each web language to account for the different behavior of each web language. Moreover, each parser may be permissive and sufficiently sophisticated to account for different behavior of these languages based on browser manufacturer, browser version, operating system, or web page syntax.
  • Non-web resources comprise network resources that cannot normally be accessed with only a browser. Typically, access to such resources requires a special client application independent of a web browser, such as OutlookTM or EudoraTM for email resources.
  • the apparatus 12 may be viewed as a protocol gateway — an embodiment of the apparatus 12 translates non-web protocols such as POP/SMTP/IMAP (for email), SMB (for MicrosoftTM network file sharing), and so on into secure web protocols such as HTTPS that can be delivered to any authorized user with a web browser.
  • POP/SMTP/IMAP for email
  • SMB for MicrosoftTM network file sharing
  • HTTPS Secure HyperText Transfer Protocol Secure
  • data manipulation may occur anytime after authorization is successful, and not just between authorization and proxy rewriting as shown in Figure 3.
  • Examples include single sign-on (where username/passwords are transparently rewritten and users are automatically logged-in, as required by distinct internal applications or translating a raw data file into a PDF report or into a structured XML data file as the data stream passes through the appliance 12).
  • auditing can include recording all aspects of each of these discrete operations, although it is not explicitly shown in Figure 3.
  • the apparatus 12 is able to maintain state/memory across multi-part transactions. That is, the apparatus 12 is able to process multipart electronic transactions that occur over a period of time, with each discrete step potentially depending upon the previous step in the overall transaction set.
  • the encryption occurs at the block 90 (as well as when other operations occur in the various blocks of Figure 3)
  • such operations in some instances are being performed on a particular part of a multi-part transaction. These operations can then be repeated when the subsequent parts of the transaction are ready to be performed.
  • Figure 4 is a flowchart illustrating examples of data manipulation operations (from the block 86) of the flowchart of Figure 3 in greater detail in accordance with an embodiment of the invention. More particularly, the flowchart of Figure 4 illustrates dataflow auditing, dataflow markup, dataflow analysis, and dataflow filtering, which in one embodiment may be based on fixed and/or programmable data manipulation rules embodied in software or other machine-readable instructions stored on a machine-readable medium. While the flowchart of Figure 4 shows these operations in a specific order, it is to be appreciated that various embodiments of the apparatus 12 may perform these data manipulation operations in any suitable order. Moreover, it is to be appreciated that various embodiments of the apparatus 12 may perform less, more, or different data manipulation operations than what is shown in Figure 4.
  • the data could be translated from a raw data file into a formatted PDF report or formatted according to wireless markup language (WML) for display on a small screen mobile device.
  • WML wireless markup language
  • unstructured data such as instant messages, facsimiles, and voice mail
  • structured data files such as attachments to medical files
  • web-viewable format e.g., voice mail to a common format understood by a browser plug-in such as Real AudioTM.
  • the data in transit may be stored in one or more memories, mass storage devices, or other machine-readable storage media.
  • a health provider may send a private medical record with sensitive information to various business partners like other health providers, claim management companies, a bank for claim payment via automatic deposit, and an employer's HR department.
  • a good auditing system for such data transactions are now mandated by law (e.g., HIPAA) and would typically record what medical data components were sent to which entities at what time for what purpose.
  • HIPAA HIPAA
  • a patient has some rights for visibility of these records as well as to restrict who has access to this private medical information (e.g., drug company marketing departments).
  • the audit data is stored along with the main data. This is uncommon and often inaccurate as electronic data is repeatedly exchanged/processed, and the audit data may not be kept updated with each transaction to reflect this.
  • the data (such as a patient record) is often stored in a database. This data can be written and read from the database via database programming languages that not only read to/write main data but can also create audit logs of each read/write command. The problem with this approach is that such audit logs generally only record when and what data was directly read from/written to the database, and not the more important audit information, such as where the data went, to whom or even when it was sent over the wire to remote business partners.
  • Once data is read from the database it can easily be electronically copied, manipulated, and exchanged with external systems without any centralized control or auditing, such as with medications or transactions.
  • An embodiment of the apparatus 12 addresses these problems. Instead of the traditional data transaction auditing described above that takes place on the server or database, the apparatus 12 actually audits high-level data dynamically at the block 92-as the data travels over the network routed through the apparatus 12. Some devices such as firewalls or packet sniffers audit data as it travels over a network but only at a very low network/packet level for security purposes. An embodiment of the apparatus 12 can also audit data at the block 92 as it travels over the network at both a low network/packet level for security or performance purposes, but more importantly audits data of transactions at a high content level for the purposes of facilitating business data exchange, such as a medical patient record.
  • the ability to dynamically process data as it flows over the network through the apparatus 12 located between two business partners to facilitate data exchange in a variety of ways is a unique feature of the apparatus 12.
  • the apparatus 12 facilitates data exchange by processing the data in transit via: encryption, auditing, analysis, markup, and the like. Dataflow auditing is just one example of this unique feature of the apparatus 12.
  • the auditing module 56 performs the operations at the block 92 to provide source, destination, content, time, and other audit information for the audit logs 62.
  • Dataflow markup may be performed at 94, such as in situations where two business entities that wish to exchange data typically have to reformat their data according to some common intermediate format. Almost every business has its own internal database. Even if both businesses store patient records, they will typically have differently data elements, formats, and organization of patient record data or other data. In order for these two business to electronically exchange data between these two different database systems, they will have create a standard intermediate format that identifies all the required data and structures it in a common, logical, and consistent form.
  • each business will have to write programs to extract data from their internal systems and re-format it into the standard intermediate form in order to share it with external business partners.
  • they will have to write programs to read data stored in the standard intermediate form and re-format it for input into their internal system.
  • These programs are complicated by the fact that the internal patient record data may be spread across many internal databases from different vendors that understand different programming languages.
  • Each of these programs on distinct internal database servers must then feed their output to another main program, which then combines all the data into the external standard intermediate format that can subsequently be sent to external business partners.
  • a data structure can be determined by fixed text position in a flat data file where each row represents a particular patient record. For example, characters between column 0 and 7 inclusive can be defined to be the eight consecutive integers that make up a social security number (SSN) without any hyphens, while characters between 8 and 32 inclusive are the left- justified upper case alphabetic characters that represent the patient's last name.
  • SSN social security number
  • a header record and trailer record typically surround any records transmitted containing information such as the sender and receiver IDs, data format version, error checksums, and the like.
  • a data structure can be determined by variable text position in a flat data file where each row represents a particular patient record, and a defined separator (e.g.,
  • the first field can be defined as the integers of patients' SSN, and the second field includes the upper-case characters of the last name. Header records and trailer records also surround any data records sent as a transaction.
  • a data structure can be determined by markup tags rather than a position within a flat data file.
  • a complete patient record can be defined as everything concatenated within a starting ⁇ PATREC> and an ending ⁇ /PATREC> markup tag.
  • individual data elements can be embedded within starting ⁇ SSN> and ending ⁇ /SSN> tags.
  • XML may be used as the technology to structure, define, parse, and exchange such information.
  • An example patient record may thus appear as: ⁇ PATREO ⁇ SSN>480843847 ⁇ /SSN> ⁇ LNAME>SMITH ⁇ /LNAME>... ⁇ /PATREC>
  • any internal data that passes over the network through the apparatus 12 can be restructured and marked-up to be compliant with one or more external standard intermediate formats that remote business partners require (including EDI standards such as those mandated by HIPAA, XML or other data exchange formats), using any of these three common markup techniques shown at the blocks 96-100 or other techniques.
  • external standard intermediate formats including EDI standards such as those mandated by HIPAA, XML or other data exchange formats
  • the apparatus 12 may be programmed to choose from a selection of different intermediate formats and then to perform the required re-formatting of the data into the selected intermediate format, based on a correlation of the particular entity with database entries that map acceptable intermediate formats for each particular entity.
  • an embodiment of the apparatus 12 can also perform dataflow analysis at a block 102, including statistical analysis, error detection/correction, and various data logic rules to increase the accuracy, efficiency, and value of any data exchanges between business partners.
  • dataflow analysis at the block 102 can be performed by an embodiment of the apparatus 12, and it is to be appreciated that there are many other opportunities to build in dataflow analysis functionality into the apparatus 12, and that these are just three illustrative examples:
  • Error detection/correction A huge problem with any automated electronic data exchange system is the possibility of errors that can creep into the data, propagate undetected, and result in costly or even dangerous business decisions.
  • a data entry operator at a hospital mistypes 951 instead of 961 as diagnosis code on a medical record, resulting in an underpayment on the claim, or worst, inappropriate follow-up medical care.
  • the data can be passed through custom error and quality filters that detect, flag, standardize, correct, reject or otherwise ensure that the data is as standard, complete and accurate as required. These results can also be fed back into the originating databases to clean up their data.
  • filters can be programmed with data sets/rules to detect potentially dangerous situations where patients who are prescribed with anti-depressant drugs are also prescribed with alcohol- based drugs.
  • Logic rules Various rules can be applied to the data as it passes through the apparatus 12 at the block 102 to create new derived data based on the original data and specific data rules.
  • Various data streams to different partners can be correlated and logically tied together in a manner that accurately reflects true business operations. For example, suppose a claims management firm wants to send a bank a data file to effect automatic deposit for payments on a medical claim to an individual. This same claims management firm needs to obtain verification of the medical authorization as well as clearance from the underwriting insurance company before such payments should be made. Via various programmable logic rules in the apparatus 12, automatic deposit payments can be scheduled and triggered automatically once data feeds verifying medical and insurance authorization are received.
  • dataflow filtering may be performed for minimum need-to-know situations such as those as mandated by privacy regulations.
  • a resource may be scrubbed or edited so that the remote user that requested the resource does not get to view the entire resource.
  • a patient may be allowed to see only the medical costs for treatment from his/her patient record, and may not be given access to the doctor's diagnosis (e.g., the doctor's diagnosis in the patient record may be deleted or masked from the patient who requested the record).
  • Such atomic-level content filtering may be specified in the resource map store 48 in one embodiment.
  • an embodiment of the apparatus 12 has been described herein as being implemented for facilitating the exchange of data between machines, it is to be appreciated that another embodiment of the apparatus 12 can be used as an "intelligent firewall" to protect an internal network (e.g., the private intranet 24) against external threats, restrict access to external web sites, and monitor and record traffic.
  • an embodiment of the apparatus 12 may be used as a monitoring and surveillance device to intercept, filter, record, and report on all content passing through the apparatus 12.
  • the apparatus 12 is able to do this because it can receive an incoming encrypted SSL communication/connection, break open such an encrypted connection, examine high-level content (e.g., record, filter, audit, act upon specific content according to various rules, and so on), and re-establish the secure encrypted communication.
  • This capability of the apparatus 12 can defeat a situation where, for instance, an outside party sets up a dummy external e-commerce web server/site with a secure payment page that allows an individual inside of a business to appear to be simply purchasing a book or airline tickets. In fact, the individual can upload any electronic information to the external web site in the completely unsuspicious context of a routine e- commerce transaction.
  • Blocking all encryption to external web sites destroys the benefits/efficiencies of e-commerce and is a poor solution.
  • use of the apparatus 12 enables a business to still utilize the advantages of secure e-commerce, yet also provide precise knowledge and control over the electronic transmission of data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

A data manipulation appliance can be installed or plugged into a computer network between business partners (16), and can perform many of the difficult and tedious data manipulation operations in a substantially automated manner. Examples of operations that can be performed by an embodiment of the apparatus include, but are not limited to, encryption, authentication, auditing (56), shaping data to a common intermediate format for exchange between partners (50), other auditing of data exchanges in transaction logs, filtering data for privacy compliance and risk management, error detection and correction, mapping internal non-standard data elements to appliance can be embedded with various tools to perform these operations, and therefore appears to be 'intelligent'.

Description

INTELLIGENT SECURE DATA MANIPULATION APPARATUS AND METHOD
CROSS-REFERENCE TO RELATED APPLICATION
The present application claims the benefit of U.S. Provisional Application Serial No. 60/295,240, entitled "INTELLIGENT DATA MANIPULATION APPARATUS AND METHOD," filed June 1 , 2001 and incorporated herein by reference.
TECHNICAL FIELD
This disclosure relates generally to the exchange of electronic data over a generally insecure communication network, and in particular but not exclusively, relates to the secure exchange and the manipulation of data (including static data, dynamic data such as email and instant messaging, and the access to applications that manipulate such data at a higher level) being provided over the communication network.
BACKGROUND
As technology advances in today's society, many tasks that were traditionally performed manually can now be performed automatedly via the use of computers. An example is electronic commerce or "e-commerce" that allows consumers to purchase goods and services via the Internet. With e- commerce, consumers and merchants rely on the secure exchange of accurate electronic data.
Other examples of exchanges of electronic data include business-to-business relationships where one business contracts with another business to manage a particular component of its operation. For instance, a business may outsource with a third-party organization to manage its payroll and benefits. In such an affiliation, the business typically provides the third-party organization with remote access to its confidential electronic information (e.g., data stored in databases and file systems, as well as applications to manipulate such data) to allow the third-party organization to process the information.
Yet other examples where electronic data can be exchanged are with systems that try to comply with the Health Insurance Portability and Accountability Act of 1996 (HIPAA). HIPAA compliance mandates a national Electronic Data Interchange (EDI) framework that standardizes private electronic health information so it can be securely shared in a largely automated manner between health care providers, employers, insurers, patients, and other authorized parties. Thus, an insurer can access patient records at a hospital in order to verify treatment and coverage for a particular patient, for instance.
Virtual private networks (VPNs) have been used as one technique to securely exchange data between remote systems (where the term "systems" herein includes data exchanges between computer to computer, computer to human, human to human, or any variation thereof). With a VPN, a secure network overlays an insecure public network, such as the Internet. A VPN is created by encrypting all data streams between selected nodes on the larger public network, such that no other nodes on the same public network can access the confidential data.
These examples of VPN data exchange systems suffer from a number of drawbacks. First, many of them can only understand, analyze, and act according to external data stream information and not the actual contents of the data stream. For example, traditional VPNs monitor incoming and outgoing packets, block incoming packets based upon source or destination, and require some authentication information in order to establish a secure connections to authorized data. However, once a secure connection is established the VPN is largely ignorant of the content of the data being exchanged. The most such systems can do is blindly record the data exchanged without the ability to intelligently act upon it in real time.
Another disadvantage of these VPN data exchange systems is that data will often need to be exchanged between machines (such as between computer systems, client terminals, application software, servers, web browsers, and the like) that communicate via different or incompatible data formats and protocols. In the payroll and benefits scenario described above, and individual in the business may need to re-format the data to a format (e.g., to a compatible software application file, database layout, intermediate file format, and so on) before the data is sent to the third-party organization, so that the third-party organization can read and process the data. A web browser generally only understands the web-based protocols, such as hypertext transfer protocol (HTTP) and hypertext transfer protocol secure (HTTPS), and thus cannot exchange data with an email server that communicates via the other protocols, such as SMTP, POP, and/or IMAP protocols. This translation between data formats and protocols may need to be done differently and manually on a case-by-case basis for each data exchange link, thereby adding to the complexity and inefficiency of the process.
Yet another problem with these VPN data exchange systems is that erroneous data can be cumbersome to detect or correct. Correction of incorrect data, if such incorrect data is even located to begin with, typically involves having to track down specific static database or file system entries where the original error occurs. This can be difficult in situations where there are multiple databases having different formats. In addition, data that is exchanged often needs to be logged in terms of source, destination, date and time, or other transactional tracking information. This transactional information is also generally stored statically in databases, file systems, or other storage locations (e.g., "data at rest"), and can easily become outdated or erroneous if the original data had errors. Erroneous data can result in severe consequences, particularly in the health care field where a wrong prescription number for a medicine may cause great harm to a patient. If left uncorrected, erroneous data can propagate and proliferate through various systems and databases as the data is exchanged.
Specific software packages and general application server platforms have been developed to address some of the more sophisticated problems of data analysis, integration, and exchange. This software approach to data exchange usually provides some advanced programming environment whereby functionality can be customized to analyze, manipulate, and audit data according to the unique business flow and data architecture of each customer.
These examples of software data exchange systems suffer from a number of drawbacks. First, security at all levels is usually a prerequisite for data exchange but generally only exists at the application layer in such software systems, such as in the form of login username and passwords. Because encryption is so computationally costly and poorly done in software alone, these systems are either inefficient or unable to secure significant data exchanges at the lower packet level. Often, security must be addressed separately at the application, operating system, network level, and overall integration levels.
In addition, software is just one component of an overall working data exchange system. Hardware must be independently researched, purchased, configured, and managed along with the software package. Both the hardware (including the operating system) and software must be integrated for security, performance, automation, etc., which represents a significant continual effort. Moreover, such software data exchange systems are usually tied to a back-end local data store operating on data at rest. Once data is initially extracted, it can be copied and exchanged many times independent of such systems, thereby undermining core functionality such as comprehensive auditing and privacy filtering.
Accordingly, improvements are needed in data exchange techniques. BRIEF DESCRIPTION OF THE DRAWINGS
Non-limiting and non-exhaustive embodiments of the present invention are described with reference to the following figures, wherein like reference numerals refer to like parts throughout the various views unless otherwise specified.
Figure 1 illustrates an example of a system that can implement an embodiment of an intelligent data manipulation apparatus.
Figure 2 is a block diagram of an embodiment of a portion of an intelligent data manipulation apparatus for the system of Figure 1.
Figure 3 is a flowchart illustrating operation of the apparatus of Figures 1-2 in accordance with an embodiment of the invention.
Figure 4 is a flowchart illustrating examples of data manipulation operations of the flowchart of Figure 3 in greater detail in accordance with an embodiment of the invention.
DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS
Embodiments of an apparatus and method for intelligent data manipulation are described herein. In the following description, numerous specific details are provided, such as examples of protocols and network components, to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
Reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
As an overview, an embodiment of the invention provides an apparatus in the form of an appliance that can be installed in an existing network. The appliance comprises a single modular device that is less expensive than existing techniques/systems, yet more comprehensive in addressing data exchange issues, more robust, less complicated to manage, and so on. An embodiment of the appliance thoroughly integrates security to allow the appliance to be located at a network gateway where all incoming and outgoing data exchanges must pass through. This ensures that no data can be exchanged externally without the knowledge and opportunity to monitor and manage the data. This network gateway location also makes it easier to centralize, secure and globally monitor, and manage all external data exchanges.
An embodiment of the appliance can be installed or plugged into a computer network between business partners, and can perform many of the difficult and tedious data manipulation operations in a secure, transparent, and substantially automated manner. Examples of operations that can be performed by an embodiment of the apparatus include, but are not limited to, encryption, single sign-on authentication, auditing, shaping data to a common intermediate format for exchange between partners, other auditing of data exchanges in transaction logs, filtering data for privacy compliance and risk management, error detection and correction, mapping internal non-standard data elements to external standard code sets, proxy and protocol re-writing, and so on. An embodiment of the apparatus is embedded with various tools to perform and customize these operations, and therefore appears to be an "intelligent" device. An embodiment of the apparatus is also provided with remote or local configuration, management, and rules-based data manipulation programming capabilities. The data can be transformed according to fixed data manipulation rules or programmable data manipulation rules. The data can be manipulated while the data is in transit (e.g., "while on the wire") and need not be restricted to being manipulated only while in back-end static storage locations, such as databases, file systems, or storage unit.
Referring first to Figure 1, shown generally at 10 is an example of a system that can implement an embodiment of the invention. More specifically, Figure 1 shows an embodiment of an intelligent data manipulation apparatus 12 installed in the system 10. The apparatus 12 may be physically implemented in one network device in one embodiment, or several distinct dedicated network appliance devices may be implemented in another embodiment (where the dashed lines of the appliance 12 in Figure 1 indicates a functional grouping of these devices rather than a physical boundary). For purposes of explanation, the apparatus 12 can be thought of as including a network security database component 14 or the ability to communicate with an external network security database component 20, a secure portal 16 (which can have built into it a multi-protocol gateway functionality), and an optional distinct firewall device 18. The network security database component 14 can be based on a Lightweight Directory Access Protocol (LDAP) framework 20 in one embodiment. Additional detailed descriptions of the components 14-18 (or analogous components to perform similar operations) will be provided later below with reference to Figure 2 and the subsequent flowcharts.
The apparatus 12 can be coupled in parallel as shown in Figure 1 or in series between a border firewall 22 and a private intranet 24 (or other network), both of which typically form part of a business' computer system. The private intranet 24 can in turn be coupled to or include an email server 26, a file server 28, other web servers 30, or other web-based or nonweb-based types of applications or data stores (not shown). The email server 26 includes email applications (and related files) that allow users/employees to electronically communicate with each other (or with persons, systems, or web sites outside of the business' premises) using standard email protocols (such as SMTP, POP, IMAP, and the like). The file server 28 includes files stored on various operating systems and accessed directly or indirectly by distinct network access protocols (such as SMB, NFS, and the like) that allow individuals to internally or remotely access stored data, files, via a web-based application (such as a browser) or via other techniques. The web server 30 can include files, data, or software related to human resources (HR), payroll, reporting, transactions, collaboration, or other aspects related to operation of the business. In an embodiment, the apparatus 12 is useful in that it may be accessed through web-based or browser-based devices. It is to be appreciated that these aspects are merely illustrative, and that in some embodiments, web-based components need not necessarily be used.
Via the border firewall 22 coupled to a public Internet 32, machines (e.g., client terminals, PCs, servers, applications, and the like) of the business can communicate or exchange data with external parties. Examples of such parties include a mobile user 34 that can communicate with the business via wireless devices, a home user 36 that uses a personal computer (PC), or a business partner 38 that has machines (e.g., client terminals, PCs, servers, applications, and the like) that exchange information with the machines on the other side of the border firewall 22.
Another party, such as an outsourced management service 40, can also be provided with access to the business' computer system. Examples of the outsourced management service 40 can include a service to manage the business' specific software applications payroll, benefits, and the like, or more general services such as network security and data exchanges. In the embodiment of Figure 1, the outsourced management service 40 is shown as being in direct communication with the apparatus 12. It is to be appreciated that in other embodiments, the outsourced management service 40 can communicate with the apparatus 12 via the public Internet 32, via dedicated dial-up lines or via dedicated communication lines.
While Figure 1 shows an example of a specific configuration for the system 10, it is understood that Figure 1 only shows one possible embodiment of the system 10. In various other embodiments, components of the system 10 can be distributed across multiple networks. Additionally, there may be more than one apparatus 12 in the system 10. For instance, the business partner 38 and/or the outsourced management service 40 may have their own apparatus 12, which in turn can communicate with other apparatus 12 in the system 10.
Figure 2 is a block diagram of an embodiment of a portion of the apparatus 12 for the system 10 of Figure 1. More specifically, Figure 2 is a block diagram showing components of the secure portal 16 of the apparatus 12, as well as other components of the system 10. The apparatus 12 can be "plugged-into" a network (e.g., the business' computer system) with minimal or no re-configuration of the network needed. Network cards of the apparatus 12 may be configured as necessary in a manner similar to other network devices.
In one embodiment, the apparatus 12 is installed between the public Internet 32 and the private intranet 24, thereby allowing all incoming and outgoing data (e.g., data being exchanged between machines) to be routed through the apparatus 12 and the optional distinct firewall device 18 to be managed as a part of the entire data exchange system within the apparatus 12. It is noted that the apparatus 12 does not have to be in-line/in series with the border firewall 22 and the private Intranet 24 to sniff all data being exchanged--an embodiment of the apparatus 12 can accomplish this from the parallel position. Some of the various communications/connections in Figure 2, which may be secured, are indicated by "padlock" symbols.
The apparatus 12 can be provided with 2 GB of synchronous dynamic random access memory (SDRAM) and network interface cards (NICs), as an example. One illustrative embodiment of the apparatus 12 can have up to four NICs or network connection devices: 1) facing external network, 2) facing internal network, 3) facing internal data stores streaming in/out data like audit, etc., 4) dedicated local administration (potentially a modem). Additional non-limiting and non-exhaustive examples of encryption acceleration cards, modem, operating system, browser, server, and other such components of the apparatus 12 and/or with which the apparatus can operate are disclosed in the priority provisional patent application from which the present application claims priority and incorporates by reference. Additional features of various embodiments of the apparatus 12 are also disclosed in this provisional patent application.
The apparatus 12 includes an authentication module 42 and an authorization module 44, both of which may use part of the network security database component 14 as a data store for a user map 46 and a resource map 48 to perform security operations (e.g., comprise part of a security module to control the exchange of electronic data). The secure portal 16, in one embodiment, comprises a system utilities module 66. Initial configuration of the apparatus 12 so as to provide security capability can include populating a user map store 46 (corresponding to the authentication module 42) and a resource map store 48 (corresponding to the authorization module 44). The stores 46 and 48 (as well as other data stores shown in Figure 2) can comprise databases, file systems, or other suitable storage components. The various modules and stores shown in Figure 2 and described herein can be embodied in software or other machine-readable instructions stored on machine-readable storage media. The data stores may be located within the apparatus 12, or reside on a remote device such as a database, file server, and the like.
The user map store 46 can be linked to the resource map store 48 (shown symbolically by an arrow in Figure 2), and can be populated with permission properties that map user/entity/group objects to resource objects (such as local network resources) that are specified in the resource map store 48. Types of relationships can be specified using the user/entity/group objects and resource objects, such as owner, access rules that determine which users/group/machines have what kind of access to which local resources, and so on. In an embodiment, the structure of the user map store 46 and the resource map store 48 can be based on an LDAP framework. Additional details regarding the operation of the authentication module 42 and the authorization module 44 will be provided later below, and it is to be appreciated that these specific implementations of the authentication and authorization process are merely for purposes of illustration and explanation.
In one embodiment, the apparatus 12 can implement Authentication, Authorization and Access (AAA) or Extranet Access Mechanism (EAM) features, such as single sign-on functionality. This allows users of the system 10 to authenticate only once, yet gain access to multiple secured back-end systems that individually would each require a separate authentication process. Once a user has initially authenticated to the apparatus 12, any requests to access a restricted back-end system can be fulfilled automatically by the apparatus 12. In such cases, an embodiment of the apparatus 12 can invisibly provide the appropriate login credentials required to access each particular secured back-end system in a seamless process (e.g., "pass through authentication").
A data shaping module 50 has functionality that analyzes, rewrites, merges, separates, or otherwise alters data passing through the apparatus 12. Modification of data by the data shaping module 50 can be based on both a transaction at a single point in time or the cumulative results of prior transactions that form a multi-part transaction over time, as the state(s) of such transactions are read in from the transaction logs. Some of this functionality is static and built into the data shaping module 50, while other functionality is flexible and programmable via external user-supplied data rules (stored in a data rules store 52) that are parsed in via a parsing application program interface (API) module 54.
Static functionality includes the ability to analyze, sanitize, and rewrite hypertext markup language (HTML), dynamic HTML (DHTML), Flash, Java, or other content that should be or can be modified. This static functionality can also include a group of atomic data manipulation functions and tools that can be called upon by external data rules as translated by the parsing API module 54.
The flexible or dynamic data shaping functionality of the data shaping module 50 can be created at a high level via external data rules stored in the data rules store 52. This dynamic data shaping functionality can include, but not be limited to, extensible markup language (XML) tag markup, codification/classification of data elements into standard dictionary terms for electronic data interchange (EDI), reconciliation and creation of metadata out of various disparate data sources, and the like.
In an embodiment, the parsing API module 54 presents a high- level scripting interface to administrators of the business to enable them to automate, manipulate, and customize the internal functionality of the data- shaping module 50. User commands are translated into an intuitive high- level data rule language that are sent to the parsing API module 54 for translation for and execution against the internal functions within the data shaping module 50, or otherwise parses the syntax of the data rules that the various modules can understand and act upon.
The apparatus 12 can include an auditing module 56 to selectively audit data and transactions that pass through the apparatus 12. A reports module 58 can create static and dynamic reports 60 based on audit logs 62. For instance, the auditing module 56 can obtain/create information such as which user, from where, at what time, accessed what data, from where, how, what was done, how was the data manipulated or processed, who should be informed of this transaction, and so on, and then store this information in the audit logs 62. The reports module 58 can then create the reports 60 based on the audit logs 62, with an example report showing who is accessing a particular internal resource, marking the content and status of scheduled electronic exchanges with remote partners, or providing other types of transaction analysis. It is noted that data transaction history can be recorded by the auditing module 56, stored in the logs 62, and used by the reports module 58 and data shaping module 50. Transactional history may be customized to record data in the audit logs 62 in a variety of formats to allow compatibility with popular reporting and data analysis systems.
The system utilities module 66 can perform various utilities functions, including a name translation of non-routable internal web resources (e.g., 192.1680.11 or //hrmanual) or non-routable non-web resource (e.g., email or file systems) to a standard Internet-routable external resource (e.g., safeweb.companyabc.com/hrmanual/). The system utilities module 66 is also responsible for rewriting any external network links to route all such requests back through the apparatus 12 as described below. Thus, the systems utilities module 66 can include a proxy component to reformat the electronic data from a first protocol to a second protocol. This includes typical HTTP and FTP requests for network resources coded in component scripting languages such as HTML, JavaScript, etc. An agents module 68 accesses customized agent scripts 64 that are scheduled to execute automatically based upon time, connection, or other trigger events. Once created and running, such scripts can automatically access data, analyze it, operate upon it, and so on per the scriptwriter's conditions. The results are then provided via web pages, files, e-mail, database updates, or via other automated notification and customization techniques 74. The agents module 68 can be communicatively coupled to the other modules to combine, automate, and schedule multiple commands used for operation of the apparatus 12.
A local management module 70 enables administrators or a local information technology (IT) department 76 to configure, manage, and customize the appliance 12. The IT department 76 can perform activities such as creating or updating the user map store 46 and the resource map store 48. The IT department 76 can also view reports 60, audit logs 62, and edit, create or delete data rules store 52 and agent scripts 64. The apparatus 12 further includes a remote management module 72 to enable outsourcing of the management and customization of the apparatus 12 to outside remote consultants 78 or other parties. This remote management allows the consultant 78 to monitor, update, diagnose, or solve potential issues, and also allows the outsourcing of future services such as intrusion detection and quality of service (QoS) monitoring. Either or both of the management modules 70 or 72 are capable to enable flexible extensions of new functions.
The various data stores previously described above will be further described next. The user map store 46 comprises a data store of all users/entities that have permission to access the system. These comprise objects having a security model hierarchy with various properties that determine the exact conditions and constraints that a particular entity has on using the apparatus 12 to access and work with private internal intranet resource objects (or simply "resources"). Examples of resources that can potentially be accessed include, but are not limited to, files, databases, applications/programs, file systems, intranet pages, electronic records, or other data and the like. Properties included in the user map store 46 include such items as username, password, last failed login, last successful login, last password, and the like.
The audit logs 62 comprise a data store of raw audit information for all the data processing, manipulation, and other transactions that occur in the apparatus 12. The auditing module 56 can determine the source, type, resolution, and frequency of what information is captured and stored in the audit logs 62.
The reports 60 comprise a data store that can contain specific reports that are both static and dynamic in nature. These reports can be made visible via the Internet 32 and downloadable in HTML format, as well as other formats such as text and PDF formats as well. The agents 64 comprise a data store that keeps a library of code of all automated agent scripts, along with code management metadata of ownership, sharing, versions, and so on. The data rules store 52 comprises a data store containing application-specific data rules that can dictate how data is shaped as it passes through the apparatus 12. These rules can be grouped into sets based on criteria such as the data operated upon, the user/partner receiving the processed data, or the data application used. For example, a claim processing company may have several distinct data rule sets in the data rules store 52 that dictate how to map their internal data systems into several standard data formats for electronic interchange with business partners 38, such as banks, insurance companies, brokers, hospitals, government agencies, etc. The resource map store 48 comprises a data store that contains resource objects organized into a security model hierarchy, along with properties on each such as accessibility, type, and the like that can be used to both determine security and use.
Figure 3 is a flowchart illustrating operation of an embodiment of the apparatus 12 of Figures 1-2. For purposes of explanation and illustration, the operations shown in Figure 3 will be described in the context of a remote user (such as the mobile user 34, the home user 36, or the business partner 38) who attempts to access another business' computer system via the public Internet 32. In this regard, the remote user can operate a machine (such as a PC or laptop) that communicates with one or more machines in the business, via the apparatus 12.
Beginning at a block 80 in the flow chart of Figure 3, connection to the apparatus 12 occurs. In one embodiment, this may be done when the remote user opens a web browser from any computer at home or on the road (such as a when a patient connects to a hospital's computer system to view his/her medical records under the HIPAA), or at the business partner's 38 premises (such as when an insurance agent connects to the hospital to verify the patient's treatment), or at some other location. Connection between the remote external user and the apparatus 12 is largely via HTTPS in one embodiment. Connection between the apparatus 12 and the local internal data source may be performed via HTTP, file transfer protocol (FTP), email protocols (SMTP, POP, IMAP), network file protocols (SMB, NSF, etc.), or other suitable protocols. At the block 80, connections also may be refused by IP address, time of day, and the like. Data transmitted over such connections may be manipulated to match to specific formats such as XML or EDI.
Assuming for purposes of illustration that the business who's computer system is to be accessed is named "Company ABC," then the remote user uses the web browser to enter a URL address (or other address) that is being proxied to the apparatus 12, such as a URL address of "safeweb.companyabc.com." In other words, Company ABC has established a site on the public Internet 32 through which it makes its internal private intranet 24 available to remote users — the site is secure in that all communications is routed through the apparatus 12 (e.g., via use of the "safeweb" identifier in the login address). The remote user may enter a HTTPS prefix via the web browser or be redirected there when connecting to this website, thereby resulting in the secure encryption of data exchanged with the apparatus 12 (via use of 128-bit SSL encryption or PKI encryption, for instance).
Upon completion of connection, the remote user can proceed through a login and authentication process at a block 82. In the block 82, the authentication module 42 can present the remote user with a username/password login page. The validation can comprise verification of the username/password combination with other account restrictions such as expiration, lockout after multiple failed logins, restrictions on date/time windows, restrictions based on domain name system (DNS) domain name or internet protocol (IP) address or other address, or other factors. In some embodiments, authentication may be two-factored or more by challenging the remote user with a one-time password (OTP) system such as the SecurelD™ card system or with biometric devices/systems. In one embodiment, the user is authenticated against a central LDAP server for rights, permissions, and group membership that follow the user per session. At the block 82, the remote user can also be presented by authentication module 42 with the ability to optionally change passwords, retrieve passwords via email, review last login date/time, and the like.
If the user successfully enters a username and password, then authorization and access is performed at a block 84. Based upon the authentication at the block 82, the user is presented with a web page at the block 84 that organizes all of the internal intranet 24 resources that are available to the remote user. Thus, the remote user can access (e.g., "surfs") authorized intranet web resources (or other non-web resources such as email and file systems) as if within the internal intranet 24, via a web-based point and click interface, by entering a URL address (or other address) of a particular resource, automatedly via a remote SSL agent, according to various embodiments.
In an embodiment, the authorization module 44 checks user permissions and resource access control lists for each request for private internal resources, so as to determine if the remote user's request for the resource should be processed or if an error message should be delivered. Because this operation may be invoked with each request in some embodiments, authorization may be streamlined via tokens that quickly map and resolve security model permissions. Thus, the remote user may "click" on various intranet data resources to access them seamlessly via this pass- through login process that can originate from the LDAP server or database.
If the user clicks on a particular resource that is listed on the page and the resource is determined by the authorization module 44 to be one that the user is authorized to access, then the requested resource is retrieved from its storage location (such as from a database or file system). The retrieved resource is passed from the internal intranet 24 to the apparatus 12, where the data shaping module 50 performs various data manipulation operations on the retrieved resource at a block 86. In other words, data manipulation at the block 86 can be performed on "data in motion." The data manipulation at the block 86 can include one or more different types of data shaping operations, which in one embodiment can include rules-based dynamic manipulation of high-level content (based on fixed or programmable data-manipulation rules). Dataflow auditing can be performed to audit data as it "travels along the wire," for both high-level and low-level content in data packets. Dataflow markup can be performed to reformat the data to an intermediate format or other format that can be processed by the remote user's machine that requested the data. Dataflow analysis, including statistical analysis, error detection and correction, and application of logic rules, may be performed. Dataflow analysis or other data manipulation at the block 86 can also include filtering data based on a minimum need-to-know basis (e.g., data can be filtered in transit according to minimal visibility rules, business security models and mandated privacy regulations) and auto-correction of data. It is to be appreciated that these various data manipulation operations are merely illustrative of operations that may be performed by the data shaping module 50 and that other data shaping operations (or variations and combinations thereof, such as recording electronic data and derivatives thereof) may also be performed. Further details of the data manipulation at the block 86 will be provided later below.
After or concurrently with the data manipulation at the block 86, proxy rewriting is performed by the system utilities module 66 of Figure 2 at a block 88. In general, proxy rewriting at the block 88 involves modification or replacement of links or addresses in the retrieved resource to ensure that all subsequent communication passes through the apparatus 12. For instance, a retrieved resource that is sent to the remote user may include a hypertext link to a page in the private intranet 24 or to some other location. If proxy rewriting is not performed at the block 88, then the remote user's web browser might bypass the apparatus 12 when the remote user clicks on the hypertext link. If proxy rewriting is performed at the block 88, however, then all such subsequent requests are ensured to pass securely (and anonymously in one embodiment) through the apparatus 12.
One embodiment of the apparatus 12 rewrites display and scripting languages at the block 88 according to various fixed syntax rules, but more particularly also rewrites the addesses in the high-level data (e.g., in the data content) itself. The system utilities module 66 or other component parses through the retrieved resource, such as a web page, and rewrites or replaces the links or addresses that it finds. In one embodiment, this involves opening up each web page, breaking it down into constituent components (e.g., HTML, JavaScript, VBScript, Cascading Style Sheet or CSS, Java, Flash, and so on), and rewriting all links to keep the remote user routed through the apparatus 12. It is noted that the data shaping module 50 or other parsing component of the apparatus 12 can also perform the examination and manipulation of high-level content of the requested resource.
In an embodiment, additional operations may be performed at the block 88. As one example, multi-protocol proxy/gateway rewriting may be performed at the protocol level to rewrite distinct protocols, such as those used for email and file access, into web-based protocols for access via a only a web browser. As another example, multi-protocol proxy/gateway rewriting may be performed to proxy all protocols at a lower packet level via a traditional proxy such as a SOCKS v5 proxy or via a packet level encryption such as that enabled by IPSec. Although traditional proxies and packet level encryption require some modification of the remote browser or computer, they can enable full access to any internal resources such as client-server applications like Microsoft Outlook™.
The user may access both web resources and non-web resources at the block 84, and then data manipulation and proxy rewriting can be performed at the blocks 86 and 88, respectively, as described above. Web resources can comprise any network resource (such as data or applications) that run on a traditional web server and is accessed with a web browser. Such web resources include static and dynamic web pages for both content and applications, and are typically written in a combination of HTML, JavaScript, VBScript, CSS, Flash, or Java on the client side. When the remote user requests a local web resource, the apparatus 12 fetches the web page, breaks it open into constituent languages, analyzes it, and rewrites and sanitizes all references to external links to ensure that all network traffic is routed through the apparatus 12. Because the analysis, rewriting, and sanitizing of all of these various web languages can be difficult, an embodiment of the apparatus 12 uses a distinct parser for each web language to account for the different behavior of each web language. Moreover, each parser may be permissive and sufficiently sophisticated to account for different behavior of these languages based on browser manufacturer, browser version, operating system, or web page syntax.
Non-web resources comprise network resources that cannot normally be accessed with only a browser. Typically, access to such resources requires a special client application independent of a web browser, such as Outlook™ or Eudora™ for email resources. For these non- web resources, the apparatus 12 may be viewed as a protocol gateway — an embodiment of the apparatus 12 translates non-web protocols such as POP/SMTP/IMAP (for email), SMB (for Microsoft™ network file sharing), and so on into secure web protocols such as HTTPS that can be delivered to any authorized user with a web browser. In this manner, remote users can access not only web server applications and data via the apparatus 12, but also email, files, and other resources with only their web browser in one embodiment, thereby preserving the benefits of portability.
It is noted that in an embodiment, data manipulation may occur anytime after authorization is successful, and not just between authorization and proxy rewriting as shown in Figure 3. Examples include single sign-on (where username/passwords are transparently rewritten and users are automatically logged-in, as required by distinct internal applications or translating a raw data file into a PDF report or into a structured XML data file as the data stream passes through the appliance 12). It is further noted that auditing can include recording all aspects of each of these discrete operations, although it is not explicitly shown in Figure 3.
Next at a block 90, the data is encrypted and sent through the border firewall 22 to the machine of the remote user that requested the data. In an embodiment, the apparatus 12 is able to maintain state/memory across multi-part transactions. That is, the apparatus 12 is able to process multipart electronic transactions that occur over a period of time, with each discrete step potentially depending upon the previous step in the overall transaction set. Thus, when the encryption occurs at the block 90 (as well as when other operations occur in the various blocks of Figure 3), such operations in some instances are being performed on a particular part of a multi-part transaction. These operations can then be repeated when the subsequent parts of the transaction are ready to be performed.
Figure 4 is a flowchart illustrating examples of data manipulation operations (from the block 86) of the flowchart of Figure 3 in greater detail in accordance with an embodiment of the invention. More particularly, the flowchart of Figure 4 illustrates dataflow auditing, dataflow markup, dataflow analysis, and dataflow filtering, which in one embodiment may be based on fixed and/or programmable data manipulation rules embodied in software or other machine-readable instructions stored on a machine-readable medium. While the flowchart of Figure 4 shows these operations in a specific order, it is to be appreciated that various embodiments of the apparatus 12 may perform these data manipulation operations in any suitable order. Moreover, it is to be appreciated that various embodiments of the apparatus 12 may perform less, more, or different data manipulation operations than what is shown in Figure 4. For instance, many more types of data manipulation operations may occur for both structured and unstructured data. The data could be translated from a raw data file into a formatted PDF report or formatted according to wireless markup language (WML) for display on a small screen mobile device. It should also be noted that unstructured data (such as instant messages, facsimiles, and voice mail) can be rewritten, embedded in structured data files (such as attachments to medical files), and/or proxied into a web-viewable format (e.g., voice mail to a common format understood by a browser plug-in such as Real Audio™). The data in transit (whether transformed or in original form), as well as the manipulated data, may be stored in one or more memories, mass storage devices, or other machine-readable storage media.
Beginning at a block 92, in many applications it is often necessary to audit all data exchanges in a transaction-like format. For example, a health provider may send a private medical record with sensitive information to various business partners like other health providers, claim management companies, a bank for claim payment via automatic deposit, and an employer's HR department. A good auditing system for such data transactions are now mandated by law (e.g., HIPAA) and would typically record what medical data components were sent to which entities at what time for what purpose. Under HIPAA, a patient has some rights for visibility of these records as well as to restrict who has access to this private medical information (e.g., drug company marketing departments).
To create such audit trails of all such data exchanges between two such business entities, two simple methods are usually used by existing systems. First, the audit data is stored along with the main data. This is uncommon and often inaccurate as electronic data is repeatedly exchanged/processed, and the audit data may not be kept updated with each transaction to reflect this. Second, the data (such as a patient record) is often stored in a database. This data can be written and read from the database via database programming languages that not only read to/write main data but can also create audit logs of each read/write command. The problem with this approach is that such audit logs generally only record when and what data was directly read from/written to the database, and not the more important audit information, such as where the data went, to whom or even when it was sent over the wire to remote business partners. Once data is read from the database, it can easily be electronically copied, manipulated, and exchanged with external systems without any centralized control or auditing, such as with medications or transactions.
An embodiment of the apparatus 12 addresses these problems. Instead of the traditional data transaction auditing described above that takes place on the server or database, the apparatus 12 actually audits high-level data dynamically at the block 92-as the data travels over the network routed through the apparatus 12. Some devices such as firewalls or packet sniffers audit data as it travels over a network but only at a very low network/packet level for security purposes. An embodiment of the apparatus 12 can also audit data at the block 92 as it travels over the network at both a low network/packet level for security or performance purposes, but more importantly audits data of transactions at a high content level for the purposes of facilitating business data exchange, such as a medical patient record.
The ability to dynamically process data as it flows over the network through the apparatus 12 located between two business partners to facilitate data exchange in a variety of ways is a unique feature of the apparatus 12. The apparatus 12 facilitates data exchange by processing the data in transit via: encryption, auditing, analysis, markup, and the like. Dataflow auditing is just one example of this unique feature of the apparatus 12. In an embodiment, the auditing module 56 performs the operations at the block 92 to provide source, destination, content, time, and other audit information for the audit logs 62. This may be done by software of the auditing module 56 that interprets the data stream passing through apparatus 12 as discrete high-level transactions, as well as consulting lookup tables or databases if necessary to further identify auditable properties of the transaction, and then storing such audit information in the audit logs 62 for generation of the reports 60.
Dataflow markup may be performed at 94, such as in situations where two business entities that wish to exchange data typically have to reformat their data according to some common intermediate format. Almost every business has its own internal database. Even if both businesses store patient records, they will typically have differently data elements, formats, and organization of patient record data or other data. In order for these two business to electronically exchange data between these two different database systems, they will have create a standard intermediate format that identifies all the required data and structures it in a common, logical, and consistent form.
Typically in existing systems, each business will have to write programs to extract data from their internal systems and re-format it into the standard intermediate form in order to share it with external business partners. In addition, they will have to write programs to read data stored in the standard intermediate form and re-format it for input into their internal system. These programs are complicated by the fact that the internal patient record data may be spread across many internal databases from different vendors that understand different programming languages. Each of these programs on distinct internal database servers must then feed their output to another main program, which then combines all the data into the external standard intermediate format that can subsequently be sent to external business partners.
The external intermediate format used to exchange data, such as patient records between business partners, is commonly structured in one of three ways at 94 by an embodiment of the apparatus 12. First at a block 96, a data structure can be determined by fixed text position in a flat data file where each row represents a particular patient record. For example, characters between column 0 and 7 inclusive can be defined to be the eight consecutive integers that make up a social security number (SSN) without any hyphens, while characters between 8 and 32 inclusive are the left- justified upper case alphabetic characters that represent the patient's last name. In addition, a header record and trailer record typically surround any records transmitted containing information such as the sender and receiver IDs, data format version, error checksums, and the like. Second at a block 98, a data structure can be determined by variable text position in a flat data file where each row represents a particular patient record, and a defined separator (e.g., |) demarks the boundaries between distinct data elements. For example, the first field can be defined as the integers of patients' SSN, and the second field includes the upper-case characters of the last name. Header records and trailer records also surround any data records sent as a transaction.
Third at a block 100, a data structure can be determined by markup tags rather than a position within a flat data file. For example, a complete patient record can be defined as everything concatenated within a starting <PATREC> and an ending </PATREC> markup tag. Within this patient record, individual data elements can be embedded within starting <SSN> and ending </SSN> tags. In an embodiment, XML may be used as the technology to structure, define, parse, and exchange such information. An example patient record may thus appear as: <PATREO<SSN>480843847</SSN><LNAME>SMITH</LNAME>... </PATREC>
According to an embodiment, any internal data that passes over the network through the apparatus 12 can be restructured and marked-up to be compliant with one or more external standard intermediate formats that remote business partners require (including EDI standards such as those mandated by HIPAA, XML or other data exchange formats), using any of these three common markup techniques shown at the blocks 96-100 or other techniques. While existing art dictates that businesses create distributed applications on each data source and try to coordinate their aggregation, the apparatus 12 allows businesses to leave their internal IT production systems undisturbed by centralizing all e-commerce data manipulations in one convenient secure location for ease of implementation, consistency and reuse. For instance in an embodiment, the apparatus 12 may be programmed to choose from a selection of different intermediate formats and then to perform the required re-formatting of the data into the selected intermediate format, based on a correlation of the particular entity with database entries that map acceptable intermediate formats for each particular entity.
In addition to merging, editing, standardizing, and marking up internal data to external data formats for e-commerce as described above at 94, an embodiment of the apparatus 12 can also perform dataflow analysis at a block 102, including statistical analysis, error detection/correction, and various data logic rules to increase the accuracy, efficiency, and value of any data exchanges between business partners. Here are a few concrete examples of dataflow analysis at the block 102 that can be performed by an embodiment of the apparatus 12, and it is to be appreciated that there are many other opportunities to build in dataflow analysis functionality into the apparatus 12, and that these are just three illustrative examples:
Statistical analysis: Imagine patient records with diagnosis, treatment, prescription, and financial information sent over the network through the apparatus 12 from a hospital to an insurance company. Imagine further that these four types of data originated from different internal servers. When all such data is passed through the apparatus 12, another type of data (e.g., auditing timestamps and the like) can be created and combined with various programmable rules to create new useful business intelligence, such as a real-time report of the financial efficiency of various treatments on specific medical conditions, with the report having the ability to detail the pharmaceutical component of treatment and costs.
Error detection/correction: A huge problem with any automated electronic data exchange system is the possibility of errors that can creep into the data, propagate undetected, and result in costly or even dangerous business decisions. Imagine a data entry operator at a hospital mistypes 951 instead of 961 as diagnosis code on a medical record, resulting in an underpayment on the claim, or worst, inappropriate follow-up medical care. As data passes through the apparatus 12, the data can be passed through custom error and quality filters that detect, flag, standardize, correct, reject or otherwise ensure that the data is as standard, complete and accurate as required. These results can also be fed back into the originating databases to clean up their data. For instance, filters can be programmed with data sets/rules to detect potentially dangerous situations where patients who are prescribed with anti-depressant drugs are also prescribed with alcohol- based drugs. Logic rules: Various rules can be applied to the data as it passes through the apparatus 12 at the block 102 to create new derived data based on the original data and specific data rules. Various data streams to different partners can be correlated and logically tied together in a manner that accurately reflects true business operations. For example, suppose a claims management firm wants to send a bank a data file to effect automatic deposit for payments on a medical claim to an individual. This same claims management firm needs to obtain verification of the medical authorization as well as clearance from the underwriting insurance company before such payments should be made. Via various programmable logic rules in the apparatus 12, automatic deposit payments can be scheduled and triggered automatically once data feeds verifying medical and insurance authorization are received.
Next at a block 104, dataflow filtering may be performed for minimum need-to-know situations such as those as mandated by privacy regulations. For instance, a resource may be scrubbed or edited so that the remote user that requested the resource does not get to view the entire resource. Thus for instance, a patient may be allowed to see only the medical costs for treatment from his/her patient record, and may not be given access to the doctor's diagnosis (e.g., the doctor's diagnosis in the patient record may be deleted or masked from the patient who requested the record). Such atomic-level content filtering may be specified in the resource map store 48 in one embodiment.
In conclusion, current data interchange technology is still broken down into a number of distinct complex technologies including server and client software, hardware and operating system platforms, network, application and system security-not a complete modular network appliance device incorporating all these distinct components (which is a feature of one embodiment of the apparatus 12). This distinction is used as a basis by an embodiment of the apparatus 12 to provide a new approach to data interchange. Typically, businesses would have to independently research, specify, purchase, install, configure, program secure and integrate distinct hardware, software, client and server technologies in order to build data interchange functionality into their computer networks. In addition, many existing technologies are inflexible and often do not work with products from other vendors forcing customers to replace or build additional computer systems. An embodiment of the apparatus 12 embeds all these disparate complex technologies within a single modular network device that can be configured to solve common and specific data interchange problems with a simple, quick, low-cost, low-risk and flexible plug-in device that can optionally be remotely configured and managed.
The above description of illustrated embodiments of the invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize.
For instance, while an embodiment of the apparatus 12 has been described herein as being implemented for facilitating the exchange of data between machines, it is to be appreciated that another embodiment of the apparatus 12 can be used as an "intelligent firewall" to protect an internal network (e.g., the private intranet 24) against external threats, restrict access to external web sites, and monitor and record traffic. In other words, an embodiment of the apparatus 12 may be used as a monitoring and surveillance device to intercept, filter, record, and report on all content passing through the apparatus 12.
The apparatus 12 is able to do this because it can receive an incoming encrypted SSL communication/connection, break open such an encrypted connection, examine high-level content (e.g., record, filter, audit, act upon specific content according to various rules, and so on), and re-establish the secure encrypted communication. This capability of the apparatus 12 can defeat a situation where, for instance, an outside party sets up a dummy external e-commerce web server/site with a secure payment page that allows an individual inside of a business to appear to be simply purchasing a book or airline tickets. In fact, the individual can upload any electronic information to the external web site in the completely unsuspicious context of a routine e- commerce transaction. Blocking all encryption to external web sites destroys the benefits/efficiencies of e-commerce and is a poor solution. In contrast, however, use of the apparatus 12 enables a business to still utilize the advantages of secure e-commerce, yet also provide precise knowledge and control over the electronic transmission of data.
These modifications can be made to the invention in light of the above detailed description. The terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification and the claims. Rather, the scope of the invention is to be determined entirely by the following claims, which are to be construed in accordance with established doctrines of claim interpretation.

Claims

CLAIMSWhat is claimed is:
1. An apparatus through which to exchange electronic data over a network between remote machines, the apparatus comprising: a security module to secure an exchange of electronic data between the remote machines; a secure portal capable to reformat the electronic data, to be exchanged over the network, from a first protocol to a second protocol; a data shaping module to manipulate the electronic data that is to be exchanged over the network, from a first format to a second format; and a management module to enable configuration of the security module, the secure portal, and the data shaping module.
2. The apparatus of claim 1 , further comprising: a first network connection device coupled to the security module to receive the electronic data from one of the remote machines; and an additional network connection device capable of being coupled to the secure portal to provide dedicated links for (a) the manipulated electronic data to another one of the remote machines, or (b) to provide data from a data store.
3. The apparatus of claim 2 wherein the first network connection device and the second network connection device comprise a same device.
4. The apparatus of claim 1 wherein the electronic data includes programs.
5. The apparatus of claim 2, further comprising: a first storage device coupled to the first network connection device to store the received electronic data; and a second storage device coupled to the second network connection device to store the manipulated electronic data.
6. The apparatus of claim 5 wherein the first and second storage devices comprise a same storage device.
7. The apparatus of claim 1 wherein the security module comprises: an authentication module to encrypt electronic data transmitted over the network from one of the remote machines and to authenticate remote machines prior to establishment of a network communication; and an authorization module to authorize requests by remote machines to access specific electronic data resources.
8. The apparatus of claim 7 wherein the authorization module is capable to authorize a request to access the electronic data that comprises a request to access the management module to configure any one of the modules.
9. The apparatus of claim 1 wherein the management module is capable to enable at least one of: remote local or remote configuration and management of any one of the modules; local or remote management of any one of the modules; or local or remote programming of data manipulation rules for the data shaping module.
10. The apparatus of claim 1 wherein the data shaping module includes machine-readable instructions to perform at least one of: transform the electronic data according to fixed data manipulation rules; transform the electronic data according to programmable data manipulation rules; transform the electronic data according to historical information in a multi-part transaction over time; or record the electronic data or derivatives thereof.
11. The apparatus of claim 1 wherein the data shaping module includes machine-readable instructions to perform at least one of: audit high and low level portions of the electronic data; audit transactional data; re-format the electronic data to an intermediate format prior to providing the electronic data to one of the remote machines; or analyze the electronic data and transactional data.
12. The apparatus of claim 11 wherein the instructions to re-format the electronic data to an intermediate format include instructions to re-format the electronic data based on one of a fixed text position technique, variable text position technique, markup tag technique, technique for unstructured data, or technique for transactional history.
13. The apparatus of claim 11 wherein the instructions to analyze the data include instructions to perform at least one of statistical analysis, error detection and correction, or application of logic rules on the electronic data.
14. The apparatus of claim 11 wherein the data shaping module further includes machine-readable instructions to filter the electronic data.
15. The apparatus of claim 7, further comprising: a user map store communicatively coupled to the authentication module and to the authorization module to store information indicative of users authorized to access the electronic data; and a resource map store communicatively coupled to the authorization module to store information indicative of electronic data, including resources of the network accessible by any one of the remote machines, and which users and groups have certain specific access privileges.
16. The apparatus of claim 15 wherein the user map and resource map stores are based on a network directory service.
17. The apparatus of claim 2 wherein the first network connection device and the additional network connection device comprise a same device.
18. The apparatus of claim 2 wherein the same device includes multiple network cards.
19. The apparatus of claim 1 , further comprising a local or remote storage unit to store state information indicative of parts of a multi-part transaction set involving the electronic data.
20. The apparatus of claim 1 wherein the secure portal is capable to cause the electronic data to be routed through the security module via a rewrite of at least one address included with the electronic data.
21. The apparatus of claim 1 wherein the secure portal is further capable to rewrite a protocol, corresponding to a protocol level of the electronic data, into a web-based protocol.
22. The apparatus of claim 1 wherein the secure portaf is further capable to rewrite a protocol, corresponding to the electronic data, into a lower packet level protocol.
23. The apparatus of claim 1 , further comprising: an auditing module, communicatively coupled to an audit logs data store, to obtain audit information corresponding to the electronic data to be exchanged and to store the obtain audit information in the audit logs data store; a reports module, communicatively coupled to an audit logs data store, to provide report information based on the audit information stored in the audit logs data store; and an agent data store to hold various scripts that can be scheduled to automate various tasks to be executed, the scripts capable to be read in by a parsing module that translates the scripts into commands that the other modules can understand and act upon.
24. The apparatus of claim 1, further comprising a parsing module to parse the data manipulation rules and translate them into commands other modules can execute.
25. The apparatus of claim 1, further comprising an agents module communicatively coupled to the other modules to combine, automate, and schedule multiple operation commands.
26. The apparatus of claim 1 wherein the management module is capable to enable flexible extensions of new functions.
27. A method to facilitate an exchange of electronic data over a network between remote machines, the method comprising: securing an exchange of electronic data between the remote machines; if needed, re-formatting the electronic data to be exchanged over the network from a first protocol to a second protocol; manipulating the electronic data that is to be exchanged over the network from a first format to a second format; and enabling remote configuration of the securing, routing, or manipulation of the electronic data.
28. The method of claim 27 wherein securing the exchange of the electronic data includes: encrypting electronic data transmitted over the network from one of the remote machines and authenticating remote machines prior to establishment of a network communication; and authorizing requests by remote machines to access specific electronic data resources.
29. The method of claim 28 wherein authorizing requests by remote machines to access the electronic data include authorizing a request to configure the securing, the routing, or the manipulation of the electronic data.
30. The method of claim 27 wherein manipulating the electronic data includes at least one of: transforming the electronic data according to fixed data manipulation rules; transforming the electronic data according to programmable data manipulation rules; transforming the electronic data according to historical information in a multi-part transaction over time; or recording the electronic data or derivatives thereof.
31. The method of claim 27 wherein manipulating the electronic data includes at least one of: auditing high and low level portions of the electronic data; auditing transactional data; re-formatting the electronic data to an intermediate format prior to providing the electronic data to one of the remote machines; or analyzing the electronic data and transactional data.
32. The method of claim 31 wherein re-formatting the electronic data to the intermediate format includes re-formatting the electronic data based on one of a fixed text position technique, variable text position technique, markup tag technique, technique for unstructured data, or technique for transactional history.
33. The method of claim 31 wherein analyzing the electronic data includes performing at least one of statistical analysis, error detection and correction, or application of logic rules on the electronic data.
34. The method of claim 27 wherein manipulating the electronic data includes filtering the electronic data.
35. The method of claim 27, further comprising storing state information indicative of parts of a multi-part transaction set involving the electronic data over time.
36. The method of claim 27 wherein routing the electronic data to be exchanged includes rewriting at least one address included with the electronic data.
37. The method of claim 27, further comprising: rewriting a protocol, corresponding to a protocol level of the electronic data, into a web-based protocol; and rewriting a protocol, corresponding to- the electronic data, into a lower packet level protocol.
38. The method of claim 27, further comprising: obtaining audit information corresponding to the electronic data to be exchanged and storing the obtain audit information in the audit logs data store; and providing report information based on the stored audit information.
39. An article of manufacture, comprising: a machine-readable medium having instructions stored thereon to: secure an exchange of electronic data between the remote machines; if needed, re-format the electronic data to be exchanged over the network from a first protocol to a second protocol; manipulate the electronic data that is to be exchanged over the network from a first format to a second format; and enable remote configuration of the securing, routing, or manipulation of the electronic data.
40. The article of manufacture of claim 39 wherein the instructions to secure the exchange of the electronic data include instructions to: encrypt electronic data transmitted over the network from one of the remote machines and authenticate remote machines prior to establishment of a network communication; and authorize requests by remote machines to access specific electronic data resources.
41. The article of manufacture of claim 39 wherein the instructions to manipulate the electronic data include instructions to perform at least one of: transform the electronic data according to fixed data manipulation rules; transform the electronic data according to programmable data manipulation rules; transform the electronic data according to historical information in a multi-part transaction over time; or record the electronic data or derivatives thereof.
42. The article of manufacture of claim 39 wherein the instructions to manipulate the electronic data include instructions to perform at least one of: audit high and low level portions of the electronic data; audit transactional data; re-format the electronic data to an intermediate format prior to providing the electronic data to one of the remote machines; or analyze the electronic data and transactional data.
43. The article of manufacture of claim 42 wherein the instructions to analyze the electronic data include instructions to perform at least one of statistical analysis, error detection and correction, application of logic rules on the electronic data, a technique for unstructured data, or a technique for transactional history.
44. The article of manufacture of claim 42 wherein the instructions to manipulate the electronic data include instructions to filter the electronic data.
45. The article of manufacture of claim 39 wherein the machine-readable medium further includes instructions stored thereon to store state information indicative of parts of a multi-part transaction set involving the electronic data over time.
46. The article of manufacture of claim 39 wherein the instructions to route the electronic data to be exchanged include instructions to rewrite at least one address included with the electronic data.
47. The article of manufacture of claim 39 wherein the machine-readable medium further includes instructions stored thereon to: rewrite a protocol, corresponding to a protocol level of the electronic data, into a web-based protocol; and rewrite a protocol, corresponding to the electronic data, into a lower packet level protocol.
48. The article of manufacture of claim 39 wherein the machine-readable medium further includes instructions stored thereon to: obtain audit information corresponding to the electronic data to be exchanged and store the obtained audit information; and provide report information based on the stored audit information.
49. The article of manufacture of claim 39 wherein the machine-readable medium further includes instructions stored thereon to perform a single sign- on authentication.
PCT/US2002/016866 2001-06-01 2002-05-29 Intelligent secure data manipulation apparatus and method WO2002100036A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP02737242A EP1402678A4 (en) 2001-06-01 2002-05-29 Intelligent secure data manipulation apparatus and method
CA2449739A CA2449739C (en) 2001-06-01 2002-05-29 Intelligent secure data manipulation apparatus and method
JP2003501886A JP2004533179A (en) 2001-06-01 2002-05-29 Apparatus and method for intelligent and secure data manipulation

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US29524001P 2001-06-01 2001-06-01
US60/295,240 2001-06-01
US09/956,730 2001-09-19
US09/956,730 US7730528B2 (en) 2001-06-01 2001-09-19 Intelligent secure data manipulation apparatus and method

Publications (1)

Publication Number Publication Date
WO2002100036A1 true WO2002100036A1 (en) 2002-12-12

Family

ID=26969009

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/016866 WO2002100036A1 (en) 2001-06-01 2002-05-29 Intelligent secure data manipulation apparatus and method

Country Status (5)

Country Link
US (1) US7730528B2 (en)
EP (1) EP1402678A4 (en)
JP (2) JP2004533179A (en)
CA (1) CA2449739C (en)
WO (1) WO2002100036A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008500612A (en) * 2004-05-05 2008-01-10 アイエムエス ソフトウェア サービシズ リミテッド Data encryption application that integrates multi-source long-term patient level data
JP2019219916A (en) * 2018-06-20 2019-12-26 Zホールディングス株式会社 Device, method, and program for processing information

Families Citing this family (208)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070055582A1 (en) 1996-11-12 2007-03-08 Hahn-Carlson Dean W Transaction processing with core and distributor processor implementations
US8392285B2 (en) 1996-11-12 2013-03-05 Syncada Llc Multi-supplier transaction and payment programmed processing approach with at least one supplier
US7110959B2 (en) * 1996-11-12 2006-09-19 Hahn-Carlson Dean W Processing and management of transaction timing characteristics
US8396811B1 (en) 1999-02-26 2013-03-12 Syncada Llc Validation approach for auditing a vendor-based transaction
US20080172314A1 (en) 1996-11-12 2008-07-17 Hahn-Carlson Dean W Financial institution-based transaction processing system and approach
US20040010463A1 (en) * 1996-11-12 2004-01-15 Hahn-Carlson Dean W. Automated transaction processing system and approach
US20050165699A1 (en) * 1996-11-12 2005-07-28 Hahn-Carlson Dean W. Processing and management of transaction timing characteristics
US7509490B1 (en) 2000-05-26 2009-03-24 Symantec Corporation Method and apparatus for encrypted communications to a secure server
US7673329B2 (en) 2000-05-26 2010-03-02 Symantec Corporation Method and apparatus for encrypted communications to a secure server
US8023421B2 (en) 2002-07-25 2011-09-20 Avaya Inc. Method and apparatus for the assessment and optimization of network traffic
US7756032B2 (en) 2000-10-17 2010-07-13 Avaya Inc. Method and apparatus for communicating data within measurement traffic
IL155355A0 (en) 2000-10-17 2003-11-23 Routescience Technologies Inc Method and apparatus for performance and cost optimization in an internetwork
US7720959B2 (en) 2000-10-17 2010-05-18 Avaya Inc. Method and apparatus for characterizing the quality of a network path
US7349994B2 (en) 2000-10-17 2008-03-25 Avaya Technology Corp. Method and apparatus for coordinating routing parameters via a back-channel communication medium
US6954746B1 (en) * 2001-06-01 2005-10-11 Oracle International Corporation Block corruption analysis and fixing tool
US20030043416A1 (en) * 2001-08-31 2003-03-06 Xerox Corporation Features for scanning hard-copy images to electronic mail
US7076797B2 (en) * 2001-10-05 2006-07-11 Microsoft Corporation Granular authorization for network user sessions
US20030135507A1 (en) * 2002-01-17 2003-07-17 International Business Machines Corporation System and method for managing and securing meta data using central repository
US7047296B1 (en) * 2002-01-28 2006-05-16 Witness Systems, Inc. Method and system for selectively dedicating resources for recording data exchanged between entities attached to a network
US9008300B2 (en) 2002-01-28 2015-04-14 Verint Americas Inc Complex recording trigger
US7219138B2 (en) * 2002-01-31 2007-05-15 Witness Systems, Inc. Method, apparatus, and system for capturing data exchanged between a server and a user
US7882212B1 (en) 2002-01-28 2011-02-01 Verint Systems Inc. Methods and devices for archiving recorded interactions and retrieving stored recorded interactions
US7376708B2 (en) * 2002-01-31 2008-05-20 Claredi Corporation Systems and methods relating to the establishment of EDI trading partner relationships
US6658091B1 (en) 2002-02-01 2003-12-02 @Security Broadband Corp. LIfestyle multimedia security system
US20030159072A1 (en) * 2002-02-04 2003-08-21 Atreus Systems Corp. Single sign-on for multiple network -based services
US20030167187A1 (en) * 2002-02-19 2003-09-04 Bua Robert N. Systems and methods of determining performance ratings of health care facilities and providing user access to performance information
US7447991B2 (en) * 2002-04-01 2008-11-04 Hewlett-Packard Development Company, L.P. Document agents
WO2003096162A2 (en) * 2002-05-10 2003-11-20 Us Bancorp Automated transaction processing system and approach
US8630414B2 (en) * 2002-06-20 2014-01-14 Qualcomm Incorporated Inter-working function for a communication system
US20030236980A1 (en) * 2002-06-20 2003-12-25 Hsu Raymond T. Authentication in a communication system
US10170203B1 (en) * 2002-08-01 2019-01-01 Prosocial Applications, Inc. Method and software for a web-based platform of comprehensive personal health records that enforces individualized patient hierarchies of user permissions and detects gaps in patient care
US10249386B2 (en) 2002-08-01 2019-04-02 Prosocial Applications, Inc. Electronic health records
AU2003298007B2 (en) * 2002-12-06 2007-12-06 Syncada Llc Processing and management of transaction timing characteristics
AU2008201069B2 (en) * 2002-12-06 2009-01-08 Syncada Llc Processing and management of transaction timing characteristics
US7958187B2 (en) * 2003-02-19 2011-06-07 Google Inc. Systems and methods for managing directory harvest attacks via electronic messages
US7020771B2 (en) 2003-05-05 2006-03-28 Cisco Technology, Inc. Controlling data security procedures using an admission control signaling protocol
US7627669B2 (en) * 2003-05-21 2009-12-01 Ixia Automated capturing and characterization of network traffic using feedback
US7840664B2 (en) * 2003-05-21 2010-11-23 Ixia Automated characterization of network traffic
US7363508B2 (en) * 2003-05-21 2008-04-22 Palo Alto Research Center Incorporated System and method for dynamically enabling components to implement data transfer security mechanisms
US20050021938A1 (en) * 2003-06-10 2005-01-27 Kabushiki Kaisha Toshiba Document access control system and method
US7415267B2 (en) * 2003-12-15 2008-08-19 Jp Morgan Chase Bank Methods and systems for managing call reports for the financial services industry
US20090313682A1 (en) * 2004-01-06 2009-12-17 Saeed Rajput Enterprise Multi-interceptor Based Security and Auditing Method and Apparatus
US20050182639A1 (en) * 2004-02-18 2005-08-18 Fujitsu Limited Dynamic virtual organization manager
US11677577B2 (en) 2004-03-16 2023-06-13 Icontrol Networks, Inc. Premises system management using status signal
US8963713B2 (en) 2005-03-16 2015-02-24 Icontrol Networks, Inc. Integrated security network with security alarm signaling system
US10156959B2 (en) 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11316958B2 (en) 2008-08-11 2022-04-26 Icontrol Networks, Inc. Virtual device systems and methods
US9531593B2 (en) 2007-06-12 2016-12-27 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US12063220B2 (en) 2004-03-16 2024-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US10382452B1 (en) * 2007-06-12 2019-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US10142392B2 (en) 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US8635350B2 (en) 2006-06-12 2014-01-21 Icontrol Networks, Inc. IP device discovery systems and methods
GB2428821B (en) 2004-03-16 2008-06-04 Icontrol Networks Inc Premises management system
US11113950B2 (en) 2005-03-16 2021-09-07 Icontrol Networks, Inc. Gateway integrated with premises security system
US11277465B2 (en) 2004-03-16 2022-03-15 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US11201755B2 (en) 2004-03-16 2021-12-14 Icontrol Networks, Inc. Premises system management using status signal
US8988221B2 (en) 2005-03-16 2015-03-24 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US20090077623A1 (en) 2005-03-16 2009-03-19 Marc Baum Security Network Integrating Security System and Network Devices
US10200504B2 (en) 2007-06-12 2019-02-05 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US10444964B2 (en) 2007-06-12 2019-10-15 Icontrol Networks, Inc. Control system user interface
US10375253B2 (en) 2008-08-25 2019-08-06 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US11159484B2 (en) 2004-03-16 2021-10-26 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US20170118037A1 (en) 2008-08-11 2017-04-27 Icontrol Networks, Inc. Integrated cloud system for premises automation
US10313303B2 (en) 2007-06-12 2019-06-04 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US9609003B1 (en) 2007-06-12 2017-03-28 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US10348575B2 (en) 2013-06-27 2019-07-09 Icontrol Networks, Inc. Control system user interface
US9141276B2 (en) 2005-03-16 2015-09-22 Icontrol Networks, Inc. Integrated interface for mobile device
US9191228B2 (en) 2005-03-16 2015-11-17 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11368429B2 (en) 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US11190578B2 (en) 2008-08-11 2021-11-30 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US10339791B2 (en) 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US7711796B2 (en) 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US7623543B2 (en) * 2004-03-19 2009-11-24 Fujitsu Limited Token-controlled data transmissions in communication networks
US7965732B2 (en) * 2004-03-19 2011-06-21 Fujitsu Limited Scheduling token-controlled data transmissions in communication networks
US7529267B2 (en) 2004-03-19 2009-05-05 Fujitsu Limited Data transmissions in communication networks using multiple tokens
US7565438B1 (en) 2004-03-30 2009-07-21 Sprint Communications Company L.P. Digital rights management integrated service solution
US11017097B2 (en) 2004-05-14 2021-05-25 Peter N. Ching Systems and methods for prevention of unauthorized access to resources of an information system
US7814024B2 (en) * 2004-05-14 2010-10-12 Ching Peter N Multi-way transactions related data exchange apparatus and methods
US8762238B2 (en) 2004-06-09 2014-06-24 Syncada Llc Recurring transaction processing system and approach
CA2569338A1 (en) 2004-06-09 2005-12-29 U.S. Bancorp Licensing, Inc. Financial institution-based transaction processing system and approach
CA2569346A1 (en) * 2004-06-09 2005-12-29 U.S. Bancorp Licensing, Inc. Order-resource fulfillment and management system and approach
US7392934B2 (en) * 2004-06-09 2008-07-01 U.S. Bank National Association Transaction accounting processing system and approach
US7925551B2 (en) * 2004-06-09 2011-04-12 Syncada Llc Automated transaction processing system and approach
US7574386B2 (en) 2004-06-09 2009-08-11 U.S. Bank National Association Transaction accounting auditing approach and system therefor
US7822653B2 (en) * 2004-06-09 2010-10-26 Syncada Llc Transaction accounting payment and classification system and approach
US8126785B2 (en) * 2004-06-09 2012-02-28 Syncada Llc Automated transaction accounting processing engine and approach
US7925727B2 (en) * 2004-07-29 2011-04-12 Nortel Networks Limited Method and apparatus for efficient communication of management data in a telecommunications network
US8094821B2 (en) * 2004-08-06 2012-01-10 Qualcomm Incorporated Key generation in a communication system
US7840707B2 (en) * 2004-08-18 2010-11-23 International Business Machines Corporation Reverse proxy portlet with rule-based, instance level configuration
US20060047784A1 (en) * 2004-09-01 2006-03-02 Shuping Li Method, apparatus and system for remotely and dynamically configuring network elements in a network
EP1790131B1 (en) 2004-09-09 2012-12-05 Avaya Inc. Methods of and systems for network traffic security
US7634572B2 (en) * 2004-12-22 2009-12-15 Slipstream Data Inc. Browser-plugin based method for advanced HTTPS data processing
US20060167791A1 (en) * 2004-12-29 2006-07-27 Hahn-Carlson Dean W Multi-party transaction processing system and approach
US9306809B2 (en) 2007-06-12 2016-04-05 Icontrol Networks, Inc. Security system with networked touchscreen
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US11615697B2 (en) 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US7912486B2 (en) * 2005-03-28 2011-03-22 Tekelec Methods, systems, and computer program products for surveillance of messaging service messages in a communications network
US7970671B2 (en) 2005-04-12 2011-06-28 Syncada Llc Automated transaction processing system and approach with currency conversion
US7720463B2 (en) * 2005-09-02 2010-05-18 Tekelec Methods, systems, and computer program products for providing third party control of access to media content available via broadcast and multicast service (BCMCS)
US7961622B2 (en) * 2005-09-02 2011-06-14 Tekelec Methods, systems, and computer program products for monitoring and analyzing signaling messages associated with delivery of streaming media content to subscribers via a broadcast and multicast service (BCMCS)
US7860799B2 (en) * 2005-10-25 2010-12-28 Tekelec Methods, systems, and computer program products for providing media content delivery audit and verification services
US20070174916A1 (en) * 2005-10-28 2007-07-26 Ching Peter N Method and apparatus for secure data transfer
US8103575B1 (en) * 2006-03-27 2012-01-24 Icap Services North America Llc System and method for use in auditing financial transactions
US8831011B1 (en) 2006-04-13 2014-09-09 Xceedium, Inc. Point to multi-point connections
US20070271271A1 (en) * 2006-05-18 2007-11-22 Chalasani Nanchariah R Method, system, and program product for conducting a cross-organizational transaction audit
US12063221B2 (en) 2006-06-12 2024-08-13 Icontrol Networks, Inc. Activation of gateway device
US10079839B1 (en) 2007-06-12 2018-09-18 Icontrol Networks, Inc. Activation of gateway device
US7840996B1 (en) 2006-08-03 2010-11-23 Juniper Networks, Inc. Remote directory browsing through a secure gateway of a virtual private network
WO2008018080A2 (en) * 2006-08-11 2008-02-14 Bizwheel Ltd. Smart integration engine and metadata-oriented architecture for automatic eii and business integration
US8712884B2 (en) 2006-10-06 2014-04-29 Syncada Llc Transaction finance processing system and approach
US8417537B2 (en) 2006-11-01 2013-04-09 Microsoft Corporation Extensible and localizable health-related dictionary
US20080103818A1 (en) * 2006-11-01 2008-05-01 Microsoft Corporation Health-related data audit
US20080103794A1 (en) * 2006-11-01 2008-05-01 Microsoft Corporation Virtual scenario generator
US8316227B2 (en) * 2006-11-01 2012-11-20 Microsoft Corporation Health integration platform protocol
US20080104617A1 (en) * 2006-11-01 2008-05-01 Microsoft Corporation Extensible user interface
US20080104012A1 (en) * 2006-11-01 2008-05-01 Microsoft Corporation Associating branding information with data
US8533746B2 (en) * 2006-11-01 2013-09-10 Microsoft Corporation Health integration platform API
US8634430B2 (en) * 2006-11-27 2014-01-21 Fujitsu Limited Multicast transmissions in optical burst transport
US20080124081A1 (en) * 2006-11-27 2008-05-29 Takeo Hamada Predictive scheduling of data path control
US7826747B2 (en) * 2006-11-27 2010-11-02 Fujitsu Limited Optical burst transport using an electro-optic switch
US7971241B2 (en) * 2006-12-22 2011-06-28 Hitachi Global Storage Technologies Netherlands, B.V. Techniques for providing verifiable security in storage devices
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US10498830B2 (en) 2007-06-12 2019-12-03 Icontrol Networks, Inc. Wi-Fi-to-serial encapsulation in systems
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US10616075B2 (en) 2007-06-12 2020-04-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US10666523B2 (en) 2007-06-12 2020-05-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US10051078B2 (en) 2007-06-12 2018-08-14 Icontrol Networks, Inc. WiFi-to-serial encapsulation in systems
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11423756B2 (en) 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US10423309B2 (en) 2007-06-12 2019-09-24 Icontrol Networks, Inc. Device integration framework
US12003387B2 (en) 2012-06-27 2024-06-04 Comcast Cable Communications, Llc Control system user interface
US10389736B2 (en) 2007-06-12 2019-08-20 Icontrol Networks, Inc. Communication protocols in integrated systems
US11089122B2 (en) 2007-06-12 2021-08-10 Icontrol Networks, Inc. Controlling data routing among networks
US20080320596A1 (en) * 2007-06-22 2008-12-25 Feng Chi Wang Distributed digital rights management system and methods for use therewith
US10223903B2 (en) 2010-09-28 2019-03-05 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US8751337B2 (en) 2008-01-25 2014-06-10 Syncada Llc Inventory-based payment processing system and approach
CN101981887B (en) 2008-01-26 2016-02-10 思杰系统有限公司 For configuring the system and method driving WEB content to detect and rewrite with fine-grained policy
US20170185278A1 (en) 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
US11258625B2 (en) 2008-08-11 2022-02-22 Icontrol Networks, Inc. Mobile premises automation platform
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
US8082576B2 (en) 2008-09-12 2011-12-20 At&T Mobility Ii Llc Network-agnostic content management
WO2010062974A1 (en) * 2008-11-26 2010-06-03 Syncada Llc Methods and arrangements involving adaptive auditing and rating for disparate data processing
US8577043B2 (en) * 2009-01-09 2013-11-05 International Business Machines Corporation System and service to facilitate encryption in data storage devices
US20100177885A1 (en) * 2009-01-09 2010-07-15 Ibm Corporation Methods to facilitate encryption in data storage devices
US20100205054A1 (en) * 2009-02-06 2010-08-12 Hahn-Carlson Dean W Contingency-based electronic auditing
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
US8875219B2 (en) * 2009-07-30 2014-10-28 Blackberry Limited Apparatus and method for controlled sharing of personal information
US8934380B2 (en) * 2009-10-09 2015-01-13 Tekelec Global, Inc. Methods, systems, and computer readable media for switching office trigger induction by an intermediate signaling node
US9021251B2 (en) * 2009-11-02 2015-04-28 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for providing a virtual private gateway between user devices and various networks
JP2011188029A (en) * 2010-03-04 2011-09-22 Fujitsu Ltd Digital signature device, digital signature method, and computer program
CN102985915B (en) 2010-05-10 2016-05-11 网际网路控制架构网络有限公司 Control system user interface
TWI441181B (en) * 2010-09-09 2014-06-11 Silicon Motion Inc Method for performing data shaping, and associated memory device and controller thereof
US20120066051A1 (en) * 2010-09-15 2012-03-15 You Technology, Inc. System and method for managing a proof of purchase reward program
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
US8386595B2 (en) * 2010-10-22 2013-02-26 Unisys Corporation Method and system of securing data over networks
US11750414B2 (en) 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US9147337B2 (en) 2010-12-17 2015-09-29 Icontrol Networks, Inc. Method and system for logging security event data
US8930330B1 (en) * 2011-06-27 2015-01-06 Amazon Technologies, Inc. Validation of log formats
US9639815B2 (en) 2011-07-14 2017-05-02 International Business Machines Corporation Managing processes in an enterprise intelligence (‘EI’) assembly of an EI framework
US9646278B2 (en) 2011-07-14 2017-05-09 International Business Machines Corporation Decomposing a process model in an enterprise intelligence (‘EI’) framework
US8566345B2 (en) 2011-07-14 2013-10-22 International Business Machines Corporation Enterprise intelligence (‘EI’) reporting in an EI framework
US9659266B2 (en) 2011-07-14 2017-05-23 International Business Machines Corporation Enterprise intelligence (‘EI’) management in an EI framework
US10154076B2 (en) * 2011-10-11 2018-12-11 Entit Software Llc Identifying users through a proxy
KR101585936B1 (en) * 2011-11-22 2016-01-18 한국전자통신연구원 System for managing virtual private network and and method thereof
US10742601B2 (en) * 2013-03-14 2020-08-11 Fortinet, Inc. Notifying users within a protected network regarding events and information
WO2015119658A1 (en) * 2014-02-07 2015-08-13 Oracle International Corporation Mobile cloud service architecture
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management
US11146637B2 (en) 2014-03-03 2021-10-12 Icontrol Networks, Inc. Media content management
US10778684B2 (en) 2017-04-07 2020-09-15 Citrix Systems, Inc. Systems and methods for securely and transparently proxying SAAS applications through a cloud-hosted or on-premise network gateway for enhanced security and visibility
US10756924B2 (en) * 2017-04-12 2020-08-25 Denso International America, Inc. System and method for encoding data within a vehicle communication network
US10949486B2 (en) 2017-09-20 2021-03-16 Citrix Systems, Inc. Anchored match algorithm for matching with large sets of URL
US10936826B2 (en) * 2018-06-14 2021-03-02 International Business Machines Corporation Proactive data breach prevention in remote translation environments
US11398968B2 (en) 2018-07-17 2022-07-26 Keysight Technologies, Inc. Methods, systems, and computer readable media for testing virtualized network functions and related infrastructure
US11323354B1 (en) 2020-10-09 2022-05-03 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using switch emulation
US11483227B2 (en) 2020-10-13 2022-10-25 Keysight Technologies, Inc. Methods, systems and computer readable media for active queue management
US11483228B2 (en) 2021-01-29 2022-10-25 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using an emulated data center environment
US11405302B1 (en) 2021-03-11 2022-08-02 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using configurable test infrastructure
US11388081B1 (en) 2021-03-30 2022-07-12 Keysight Technologies, Inc. Methods, systems, and computer readable media for impairment testing using an impairment device
CN114301621B (en) * 2021-11-17 2024-06-14 北京智芯微电子科技有限公司 Intelligent transformer substation and network communication safety control method and device thereof
US11729087B2 (en) 2021-12-03 2023-08-15 Keysight Technologies, Inc. Methods, systems, and computer readable media for providing adaptive background test traffic in a test environment
US11765068B2 (en) 2021-12-22 2023-09-19 Keysight Technologies, Inc. Methods, systems, and computer readable media for programmable data plane processor based traffic impairment
US12056028B2 (en) 2022-09-15 2024-08-06 Keysight Technologies, Inc. Methods, systems, and computer readable media for using an impairment configuration manager

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621796A (en) * 1994-09-30 1997-04-15 Electronic Payment Services, Inc. Transferring information between transaction networks
US5987480A (en) * 1996-07-25 1999-11-16 Donohue; Michael Method and system for delivering documents customized for a particular user over the internet using imbedded dynamic content
US6182095B1 (en) * 1998-04-30 2001-01-30 General Electric Capital Corporation Document generator

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528503A (en) * 1993-04-30 1996-06-18 Texas Instruments Incoporated Integrated automation development system and method
US5550984A (en) * 1994-12-07 1996-08-27 Matsushita Electric Corporation Of America Security system for preventing unauthorized communications between networks by translating communications received in ip protocol to non-ip protocol to remove address and routing services information
US6137884A (en) * 1995-03-21 2000-10-24 Bankers Trust Corporation Simultaneous electronic transactions with visible trusted parties
US6049820A (en) * 1996-06-03 2000-04-11 International Business Machines Corporation Multiplexing of clients and applications among multiple servers
US6002767A (en) * 1996-06-17 1999-12-14 Verifone, Inc. System, method and article of manufacture for a modular gateway server architecture
US6128607A (en) * 1996-07-12 2000-10-03 Nordin; Peter Computer implemented machine learning method and system
US6003084A (en) * 1996-09-13 1999-12-14 Secure Computing Corporation Secure network proxy for connecting entities
US5961593A (en) * 1997-01-22 1999-10-05 Lucent Technologies, Inc. System and method for providing anonymous personalized browsing by a proxy system in a network
US6345303B1 (en) * 1997-03-25 2002-02-05 Intel Corporation Network proxy capable of dynamically selecting a destination device for servicing a client request
US6029245A (en) * 1997-03-25 2000-02-22 International Business Machines Corporation Dynamic assignment of security parameters to web pages
US6144638A (en) * 1997-05-09 2000-11-07 Bbn Corporation Multi-tenant unit
US5935212A (en) * 1997-08-07 1999-08-10 I-Planet, Inc. Connection-oriented session emulation
JP3920971B2 (en) * 1997-08-29 2007-05-30 富士フイルム株式会社 Data communication system and method
US6256739B1 (en) * 1997-10-30 2001-07-03 Juno Online Services, Inc. Method and apparatus to determine user identity and limit access to a communications network
US6047268A (en) * 1997-11-04 2000-04-04 A.T.&T. Corporation Method and apparatus for billing for transactions conducted over the internet
US6032260A (en) * 1997-11-13 2000-02-29 Ncr Corporation Method for issuing a new authenticated electronic ticket based on an expired authenticated ticket and distributed server architecture for using same
US6199113B1 (en) * 1998-04-15 2001-03-06 Sun Microsystems, Inc. Apparatus and method for providing trusted network security
US6182142B1 (en) * 1998-07-10 2001-01-30 Encommerce, Inc. Distributed access management of information resources
AU6401999A (en) * 1998-09-28 2000-04-17 Argus Systems Group, Inc. Trusted compartmentalized computer operating system
US6502135B1 (en) * 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US6389462B1 (en) * 1998-12-16 2002-05-14 Lucent Technologies Inc. Method and apparatus for transparently directing requests for web objects to proxy caches
JP3497088B2 (en) * 1998-12-21 2004-02-16 松下電器産業株式会社 Communication system and communication method
US6460076B1 (en) * 1998-12-21 2002-10-01 Qwest Communications International, Inc. Pay per record system and method
US6507908B1 (en) * 1999-03-04 2003-01-14 Sun Microsystems, Inc. Secure communication with mobile hosts
US6081900A (en) * 1999-03-16 2000-06-27 Novell, Inc. Secure intranet access
US6502106B1 (en) * 1999-03-25 2002-12-31 International Business Machines Corporation System, method, and program for accessing secondary storage in a network system
JP2000311125A (en) * 1999-04-28 2000-11-07 Hitachi Ltd Link supporting device, network system and computer readable recording medium recording link supporting program
US6779111B1 (en) * 1999-05-10 2004-08-17 Telefonaktiebolaget Lm Ericsson (Publ) Indirect public-key encryption
JP2001014400A (en) * 1999-07-01 2001-01-19 Hitachi Ltd Integrated operation system
US6704873B1 (en) * 1999-07-30 2004-03-09 Accenture Llp Secure gateway interconnection in an e-commerce based environment
US6401125B1 (en) * 1999-08-05 2002-06-04 Nextpage, Inc. System and method for maintaining state information between a web proxy server and its clients
US6721424B1 (en) * 1999-08-19 2004-04-13 Cybersoft, Inc Hostage system and method for intercepting encryted hostile data
US7046691B1 (en) 1999-10-04 2006-05-16 Microsoft Corporation Methods and systems for dynamic conversion of objects from one format type to another format type by selectively using an intermediary format type
US7111060B2 (en) * 2000-03-14 2006-09-19 Aep Networks, Inc. Apparatus and accompanying methods for providing, through a centralized server site, a secure, cost-effective, web-enabled, integrated virtual office environment remotely accessible through a network-connected web browser
US7673329B2 (en) * 2000-05-26 2010-03-02 Symantec Corporation Method and apparatus for encrypted communications to a secure server
US20020069366A1 (en) * 2000-12-01 2002-06-06 Chad Schoettger Tunnel mechanis for providing selective external access to firewall protected devices
US20020133706A1 (en) * 2001-03-19 2002-09-19 Alok Khanna Login for online account aggregation
US7228438B2 (en) * 2001-04-30 2007-06-05 Matsushita Electric Industrial Co., Ltd. Computer network security system employing portable storage device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621796A (en) * 1994-09-30 1997-04-15 Electronic Payment Services, Inc. Transferring information between transaction networks
US5987480A (en) * 1996-07-25 1999-11-16 Donohue; Michael Method and system for delivering documents customized for a particular user over the internet using imbedded dynamic content
US6182095B1 (en) * 1998-04-30 2001-01-30 General Electric Capital Corporation Document generator

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1402678A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008500612A (en) * 2004-05-05 2008-01-10 アイエムエス ソフトウェア サービシズ リミテッド Data encryption application that integrates multi-source long-term patient level data
JP2019219916A (en) * 2018-06-20 2019-12-26 Zホールディングス株式会社 Device, method, and program for processing information

Also Published As

Publication number Publication date
US7730528B2 (en) 2010-06-01
JP2008135038A (en) 2008-06-12
EP1402678A4 (en) 2009-12-02
JP5114174B2 (en) 2013-01-09
CA2449739A1 (en) 2002-12-12
JP2004533179A (en) 2004-10-28
US20020184527A1 (en) 2002-12-05
CA2449739C (en) 2012-02-07
EP1402678A1 (en) 2004-03-31

Similar Documents

Publication Publication Date Title
CA2449739C (en) Intelligent secure data manipulation apparatus and method
US11012447B2 (en) Method, system, and storage medium for secure communication utilizing social networking sites
JP6835999B2 (en) Virtual service provider zone
US7660413B2 (en) Secure digital couriering system and method
US6357010B1 (en) System and method for controlling access to documents stored on an internal network
US11669584B2 (en) System and method for third party application activity data collection
US7761306B2 (en) icFoundation web site development software and icFoundation biztalk server 2000 integration
EP1358572B1 (en) Support for multiple data stores
US6314425B1 (en) Apparatus and methods for use of access tokens in an internet document management system
US20170142116A1 (en) Dynamic encryption of a universal resource locator
US9578123B2 (en) Light weight portal proxy
JP6506762B2 (en) System and method for collecting third party application activity data
EP3513540A1 (en) Single sign-on and single logout functionality for a multi-tenant identity and data security management cloud service
US20090049512A1 (en) Method and system for masking data
US20030051142A1 (en) Firewalls for providing security in HTTP networks and applications
US20060242241A1 (en) Dual authentication of a requestor using a mail server and an authentication server
DE10051571A1 (en) Selective data encoding by application of style-sheet processing for document elements in computer environment, involves carrying out selected support objects on given input document during use of one or more style-sheets
US20180191692A1 (en) Encryption filter
US20110208631A1 (en) System and method for mortgage application recording
US10021139B2 (en) Method, system and computer program product for enforcing access controls to features and subfeatures on uncontrolled web application
US20070005359A1 (en) Method for transmitting transactional commands and data between computer networks
Dass I2RS working group S. Hares Internet-Draft Huawei Intended status: Standards Track A. Beirman Expires: November 6, 2016 YumaWorks
Tarandi Operational Environment Demonstrations description

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2003501886

Country of ref document: JP

Ref document number: 2449739

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2002737242

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002737242

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642