US20050165773A1 - Executing dynamically assigned functions while providing services - Google Patents
Executing dynamically assigned functions while providing services Download PDFInfo
- Publication number
- US20050165773A1 US20050165773A1 US11/086,590 US8659005A US2005165773A1 US 20050165773 A1 US20050165773 A1 US 20050165773A1 US 8659005 A US8659005 A US 8659005A US 2005165773 A1 US2005165773 A1 US 2005165773A1
- Authority
- US
- United States
- Prior art keywords
- request
- computer
- processing
- functions
- response
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1859—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
Definitions
- the present invention relates to the field of computer services. Specifically, the present invention relates to methods, systems, and computer program products for applying one or more functions during processing that may occur in a server providing one or more services.
- monitoring services for purposes of debugging, performance, hardware problems, system attacks, and the like, often involves various complex issues. For example, services by nature tend to be accessed by large numbers of clients. The shear volume of transactions can make monitoring services a significant exercise. Moreover, monitoring itself may introduce some amount of processing overhead. While the overhead for a single transaction is relatively small, the aggregate overhead for a large number of transactions may result in unacceptable levels of performance and skew any conclusions that are reached from the monitoring.
- monitoring often begins by detecting some type of high-level irregularity. Once discovered, the high-level irregularity may lead to more specific monitoring of increasingly specific processing or functionality until the problem's cause is discovered and corrected. After a particular problem is corrected, monitoring often returns back to the high-level system view.
- the iterative process of moving back and forth between high-level system monitoring and relatively lower level monitoring of specific service processing or functionality may require shutting services and/or servers down and restarting them.
- certain monitoring tools may require significant expertise to use, including programming skills. For many, the level of skill required may reduce the effectiveness of a particular monitoring tool or prevent its use all together.
- monitoring tools are often specific to the environment in which they run, requiring administrators of heterogeneous systems to use different monitoring tools for each distinct system. Accordingly, methods, systems, and computer program products are desired for dynamically applying a function during any of various processing steps that may occur in providing a service to a client system.
- the present invention extends to methods, systems and computer products for dynamically executing one or more functions at any of one or more processing steps that may occur in providing a service to a client system.
- executing the one or more functions during identified processing steps provides significant flexibility for dynamically monitoring the operation of the service being analyzed. By identifying particular processing steps that are executed during operation of the service, specific functions may be designated for execution when the processing steps occur. These specific functions are dynamically associated with the processing steps so that the type and extent of monitoring can be adjusted quickly to allow for rapid and efficient problem diagnosis.
- a check is performed to determine if an operation or action is associated with the processing step. This may include evaluating whether an associated operation should be performed before the processing step or after the processing step. Then, for processing steps with an associated operation, the operation is applied in conjunction with the execution of the processing step.
- the processing steps are related to processing requests from clients systems that are directed to a service. In these circumstances, request for the service is received, a response to the request is generated, and the response is sent to the client.
- the response and request may be organized hierarchically within a network message.
- One popular hierarchical organization uses eXtensible Markup Language (“XML”) formatted data, with network messages being based on Simple Object Access Protocol (“SOAP”).
- XML eXtensible Markup Language
- SOAP Simple Object Access Protocol
- binary data is contrary to the XML standard, the invention may include binary data within the hierarchical organization. For example, it may be desirable to attach certain debugging or diagnostic information to a request or response, and a binary format may be a convenient representation for that information.
- Functions associated with processing steps may be predefined or custom, depending on monitoring needs or wants. Predefined functions are advantageous because certain operations or actions are likely to be commonly used in many monitoring scenarios and therefore predefined functions may provide enhanced value. By allowing for custom functions, individual monitoring circumstances may be addressed in a meaningful way. Describing at least a portion of the server system in terms of a hierarchical organization may add to the flexibility of custom functions and provide a mechanism for writing monitoring functions that are useful across multiple operating platforms. Here again, an organization based on XML may be desirable given the popularity and flexibility of the language.
- Typical operations for functions may include a logging function and a filtering function.
- logging functions write certain information to a log of some sort for analysis.
- Filtering functions may be used to end processing of a request and send a response to the requesting client.
- logging and filtering may be useful in monitoring error conditions that occur while processing a client's request.
- FIG. 1 is a block diagram of an example server system embodiment that operates in accordance with the present invention
- FIG. 2A shows an example XML document corresponding to the example XML schema of FIG. 2B ;
- FIG. 2B illustrates an example XML schema corresponding to the example XML document of FIG. 2A ;
- FIG. 3A shows an example XML document corresponding to the example xPath statement of FIG. 3B ;
- FIG. 3B illustrates an example xPath statement corresponding to the example XML document of FIG. 3A ;
- FIG. 4A depicts the hierarchy of an example SOAP message
- FIG. 4B shows the request portion of an overall example hierarchy illustrated in FIG. 5 ;
- FIG. 4C shows the response portion of an overall example hierarchy illustrated in FIG. 5 ;
- FIG. 5 shows a more complete portion of a hierarchal organization for message processing corresponding to the example server system embodiment of FIG. 1 ;
- FIG. 6 illustrates an example organization for assigning functions to processing steps in accordance with the present invention
- FIGS. 7A-7B show a flowchart of a method for executing one or more functions at any of one or ore processing steps in accordance with the present invention.
- FIG. 8 illustrates an exemplary system that provides a suitable operating environment for the present invention.
- the present invention extends to methods, systems, and computer program products for applying one or more operations or actions during the processing that may occur in a server providing one or more services.
- a server providing one or more services.
- specific operations may be executed along with each processing step. These operations are dynamically associated with the processing steps such that as a processing step executes, a check is performed to determine if any operations exists for the processing step. For processing steps that include an operation, the operation is applied during execution of the processing step.
- Embodiments within the scope of the present invention may comprise one or more special purpose and/or one or more general purpose computers including various computer hardware, as discussed in greater detail below.
- Embodiments within the scope of the present invention also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon.
- Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer.
- Such computer-readable media can comprise physical storage media such as RAM, ROM, EEPROM, CD-ROM or other optical disc storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
- Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
- FIG. 1 shows a block diagram of an example server system that operates in accordance with the present invention.
- the server system uses several distinct processing layers in processing a request 101 a from a client, including a parse layer, a security layer, a cryptography layer and a service layer. Each of these layers is divided into a request processing component and a response processing component. There are corresponding response and request components for each layer. Note, however, that the present invention is not necessarily limited to any particular process layering or component division.
- parse component 120 a may be used to parse a request 101 a that includes XML data, such as the XML document 200 A shown in FIG. 2A .
- XML is a markup language that provides for data typing and namespaces.
- the default namespace is “x-schema:classSchema.xml” 201 A( 1 ). This informs the parser to validate the document against the schema “x-schema” at the URL “classSchema.xml.”
- FIG. 2B shows the entire schema for the document of FIG. 2A .
- the top level of the schema is ⁇ Schema> ⁇ /Schema> element pair 200 B that contains the declaration of the schema namespace and, in this case, the declaration of the “datatypes” namespace as well.
- ElementType assigns a type and conditions to an element, and what, if any, child elements it can contain; “AttributeType” assigns a type and conditions to an attribute; “attribute” declares that a previously defined attribute type can appear within the scope of the named ElementType element; and “element” declares that a previously defined element type can appear within the scope of the named ElementType element.
- ElementType declaration is followed by its attribute and child elements.
- elements When an element has attributes or child elements, they are in its ElementType declaration. They also are previously declared in their own ElementType or AttributeType declaration.
- the example XML document 300 A in FIG. 3A will be used in conjunction with the xPath statement 300 B shown in FIG. 3B .
- xPath uses abstract document relationships in identifying parts of a document.
- the xPath statement 300 B locates Smith's numbers within the XML document 300 A. Similar to FIGS. 2A and 2B , notice that the reference numbers for the XML document 300 A of FIG. 3A correspond to xPath statement 300 B of FIG. 3B .
- the “/descendant::contact” portion 301 B of the xPath statement 300 B maps to descendants of the ⁇ contact> ⁇ /contact> tag pair 301 A.
- the “/child::numbers” portion 340 B selects the ⁇ numbers> ⁇ /numbers> children of contact 301 A.
- “/child::*” identifies the specific children (i.e., “ ⁇ home> 801-555-1234 ⁇ /home>” 340 A. 1 and “ ⁇ cell> 801-555-4321 ⁇ /cell>” 340 A. 2 ) that are of interest. (The star or asterisk is a wildcard indicating that all children are of interest.)
- parse component 120 a includes before functions 122 a that are executed prior to parse component 120 a and after functions 124 a that are executed after parse component 120 a .
- Path 120 c shows that processing may proceed to parse 120 b on the response side following the operation of parse component 120 a . Proceeding to parse 120 b following parse 120 a may be the result of a parse error or may be dictated by before functions 122 a or after functions 124 a , in which case it makes little sense to continue on to security 130 a .
- after functions 124 a may be able to determine that some problem exists with the request 101 a .
- After functions 124 a may determine that request 101 a is part of a denial of service attack or that request 101 a includes content or originates from a source that is blocked for some reason, such as inappropriate material or spam.
- Parse component 120 a may indicate that processing should continue with security component 130 a .
- Security component 130 a determines the identity associated with the request 101 a . In one embodiment, this involves determining an application identifier, a user identifier, and a platform identifier for request 101 a , because the service layer provides storage and access to data that is identity specific. For example, a user may access the service layer for email, calendar items, contacts, etc., using both a PC and a handheld device. The security layer, and security component 130 a , determines the appropriate identity so that data and operations are appropriate to the device being used for access. Similarly, different users may be allowed different access to the same data.
- an owner might be able to add, delete, and modify data, whereas a delegate may only have read privileges.
- the type of access permitted is controlled by role list database that contains various rules for determining access rights.
- the present invention does not necessarily require a security layer, and if one is present, it need not operate as security component 130 a . A failure in the security layer may result in proceeding along path 130 c or assigning default access privileges.
- cryptography component 140 a includes before functions 142 a and after functions 144 a .
- Cryptography component 140 a is responsible for any decryption that is needed for request 101 a .
- request 101 a is a Simple Object Access Protocol (“SOAP”) request, conforming to the hierarchy 400 A illustrated in FIG. 4A .
- SOAP Simple Object Access Protocol
- a SOAP message includes an envelope 420 A with a header 420 A. 1 and a body 420 A. 2 , where the envelope 420 A is at the root level 401 A.
- FIG. 4B shows the request portion and FIG. 4C shows the response portion of an overall example hierarchy illustrated in FIG. 5 .
- FIGS. 4A, 4B , and 4 C are similarly numbered.
- the example hierarchy illustrated in FIG. 5 will be described in greater detail below.
- envelope 420 B is at the request level 401 B (rather than the root level) and that the request level 401 B includes additional information 440 B.
- Envelope 420 B continues to include header 420 B. 1 and body 420 B. 2 .
- envelope 420 C is at the response level 401 C (rather than the root level) and the response level 401 C includes additional information 440 C.
- Envelope 420 C continues to include header 420 C. 1 and body 420 C. 2 .
- the additional information 440 B and 440 C may be used to store information that may be helpful in monitoring a service.
- the additional information may comprise binary data, including a data structure or data object.
- additional information 440 C may contain a detailed error chain.
- the present invention is not limited to any particular type or format of additional information.
- parse 120 a may be limited initially to those portions of request 101 a that are not encrypted. Then, following cryptography 140 a , parse component 120 a may continue with the decrypted portions of request 101 a . At this point, it is worth noting that the flow from layer to layer need not be strictly sequential to fall within the scope of the present invention. A cryptography failure will result in proceeding with processing along path 140 c.
- Service 150 a represents the processing that carries out the methods that may be included with request 101 a .
- request 101 a may attempt to query, insert, replace, update or delete data maintained by service 150 a , such as email, calendar items, contacts, spreadsheet, word processing documents, or the like.
- data such as email, calendar items, contacts, spreadsheet, word processing documents, or the like.
- service component 150 b prepares an appropriate response to the methods that may be included with request 101 a .
- a response may include data that is queried or indicate whether an insert, update, replace, or delete operation was successful or failed. Failures may include error codes of some sort, with more substantial debugging or error information in the response's additional information 440 C ( FIG. 4C ).
- Service component 150 b includes before functions 152 b and after functions 154 b . Notice that the ordering of the before functions and after functions on the response side is opposite the ordering on the request side because the flow from layer to layer is reversed.
- Cryptography component 140 b follows service component 150 b or path 140 c from cryptography 140 a . As indicated earlier, the body of a SOAP message is encrypted. For response 101 b , the cryptography layer, and cryptography component 140 b in particular, performs the encryption. Note that service component 150 b and cryptography component 140 b essentially perform analogous or complementary functionality for the corresponding service component 150 a and cryptography component 140 a of the respective layers.
- the present invention does not necessary require analogous or complementary functionality in each layer.
- parse component 120 b Like security component 130 b , there is no analogous or complementary function of parse component 120 a to be performed by parse component 120 b . Still, before functions 122 b and after functions 124 b may provide desirable functionality in some circumstances. Both parse component 120 b and security component 130 b may simply pass whatever is present in response 101 b to the next level.
- Logging is generally associated with monitoring, although not exclusively so. For performance, debugging, identifying hardware problems, detecting system attacks, and the like, logging may provide valuable information for each layer (both prior to and following execution of the layer).
- Filtering relates to terminating further processing, usually with respect to a request. Filtering might include detecting a denial of service attack or other type of attack, preventing access to certain content, such as pornographic material, stopping spam or other unsolicited interaction, or the like.
- FIG. 5 shows a more complete portion of a hierarchal organization for message processing corresponding to the example server system embodiment of FIG. 1 .
- Server 501 identifies at least one server that is responsible for providing one or more services. Note that server 501 provides services for messages directed to myInbox ( 540 ), messages directed to myCalendar ( 560 ), and messages directed to other services. In some circumstances it may be desirable for a single server to provide multiple services whereas in other circumstances it may be desirable for a server to provide only one service. In addition, a single server may be made up of multiple computers and multiple servers may be used to provide a single service.
- the present invention does not require any particular hardware configurations and each of the foregoing examples, including combinations thereof, is an example of a server system and should be included within the scope of the present invention.
- Server 501 includes various status indicators 520 , including alarms 520 . 1 and timers 520 . 2 . These status indicators may be used by any of the processing layers shown in FIG. 1 .
- service configuration 520 . 3 and system document 520 . 4 contain configuration information, security information, identity information, and other data that may be necessary or useful a service.
- request 540 . 3 . 1 with envelope 540 . 3 . 1 . 1 , header 540 . 3 . 1 . 1 . 1 , body 540 . 3 . 1 . 1 . 2 , and additional information 540 . 3 . 1 .
- FIG. 5 is one example of describing at least a portion of a server system in accordance with an XML schema. However, it should be emphasized that many other hierarchical arrangements are possible and that the present invention is not limited to any particular description.
- FIG. 6 illustrates an action association list 600 for assigning functions to processing steps in accordance with the present invention.
- Action association list 600 identifies a layer 1 620 processing step, a layer 2 640 processing step, and other layer processing steps.
- Layer 1 620 processing step specifies whether a particular action should be executed before 620 . 1 layer 1 or after 620 . 2 layer 1 .
- actionA Prior to execution of layer 1 , if xPathA 620 . 1 . 1 is present in the XML hierarchy 500 shown in FIG. 5 , actionA is applied.
- actionB is applied, and if xPathC 620 .
- the present invention also may be described in terms of methods comprising functional steps and/or non-functional acts.
- the following is a description of acts and steps that may be performed in practicing the present invention.
- functional steps describe the invention in terms of results that are accomplished, whereas non-functional acts describe more specific actions for achieving a particular result.
- non-functional acts describe more specific actions for achieving a particular result.
- the functional steps and non-functional acts may be described or claimed in a particular order, the present invention is not necessarily limited to any particular ordering or combination of the acts and/or steps.
- FIGS. 7A and 7B are a flow diagram that describe various acts and steps for methods according to the present invention.
- a step for identifying ( 710 ) one or more functional processing blocks where one or more operations or actions may be applied to one or more requests directed to one or more services may include acts of: defining ( 712 ) one or more processing steps within a server system that provides one or more services; defining ( 714 ) one or more functions that may be executed at any of the one or more processing steps; and describing ( 716 ) at least a portion of the server system in accordance with an XML schema.
- An act of defining ( 714 ) one or more functions should be interpreted broadly to include selecting a predefined function or creating a new function.
- service should be interpreted broadly to encompass a wide variety of computer processing.
- the term “service” is used as a generic reference for some type of computer resource.
- an embodiment of the present invention is described in the context of an overall service that provides access to identity-based data, with one or more individual services within the overall service being dedicated to particular types of data, such as email, contacts, calendar, tasks, documents, etc.
- service is not necessarily limited to any particular type of computing resource, and any service specifically identified should be interpreted merely as an example.
- processing step “functional processing block,” “operation,” “function,” and “action” are often used as generic references for some division or grouping of one or more computer instructions that accomplish a particular task.
- processing steps and “functional blocks” generally are associated with the parsing, security, cryptography, and service operations
- operations and “actions” generally are associated with logging and filtering.
- each of the foregoing terms is used throughout the application in a generic sense.
- “processing step,” “functional processing block,““operation,” “function,” and “action” should not be limited to any particular division or grouping of computer instructions, and any more specific description should be understood simply to represent an example.
- a step for dynamically associating ( 720 ) at least one operation or action; for at least one of the one or more functional processing blocks may include acts of: assigning ( 722 ) at least one function to at least one of one or more processing steps; and an act of evaluating ( 724 ) whether the at least one dynamically assigned function should be executed either before or after the at least one of the one or more processing steps.
- a step for checking ( 730 ) whether or not any action has been associated with a particular functional processing block during execution of the particular functional processing block may include acts of: receiving ( 732 ) a request for one or more services from a client system; and evaluating ( 734 ) whether or not any function has been assigned to a processing step.
- a step for applying ( 740 ) one or more associated operations or actions during execution of any function processing block with one or more associated actions may include acts of: executing ( 742 ) at least one assigned function at each processing step that has at least one assigned function; and terminating ( 744 ) any further processing on a request received from a client system.
- a step for responding ( 750 ) to a client system based on a request for one or more services from a client system may include acts of: generating ( 752 ) a response; and sending ( 754 ) the response to the client system.
- FIG. 8 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented.
- the invention will be described in the general context of computer-executable instnictions, such as program modules, being executed by computers in network environments.
- program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
- Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein.
- the particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.
- the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like.
- the invention may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination of hardwired or wireless links) through a communications network.
- program modules may be located in both local and remote memory storage devices.
- an exemplary system for implementing the invention includes a general purpose computing device in the form of a conventional computer 820 , including a processing unit 821 , a system memory 822 , and a system bus 823 that couples various system components including the system memory 822 to the processing unit 821 .
- the system bus 823 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- the system memory includes read only memory (ROM) 824 and random access memory (RAM) 825 .
- a basic input/output system (BIOS) 826 containing the basic routines that help transfer information between elements within the computer 820 , such as during start-up, may be stored in ROM 824 .
- the computer 820 may also include a magnetic hard disk drive 827 for reading from and writing to a magnetic hard disk 839 , a magnetic disk drive 828 for reading from or writing to a removable magnetic disk 829 , and an optical disc drive 830 for reading from or writing to removable optical disc 831 such as a CD-ROM or other optical media.
- the magnetic hard disk drive 827 , magnetic disk drive 828 , and optical disc drive 830 are connected to the system bus 823 by a hard disk drive interface 832 , a magnetic disk drive-interface 833 , and an optical drive interface 834 , respectively.
- the drives and their associated computer-readable media provide nonvolatile storage of computer-executable instructions, data structures, program modules and other data for the computer 820 .
- exemplary environment described herein employs a magnetic hard disk 839 , a removable magnetic disk 829 and a removable optical disc 831
- other types of computer readable media for storing data can be used, including magnetic cassettes, flash memory cards, digital versatile discs, Bernoulli cartridges, RAMs, ROMs, and the like.
- Program code means comprising one or more program modules may be stored on the hard disk 839 , magnetic disk 829 , optical disc 831 , ROM 824 or RAM 825 , including an operating system 835 , one or more application programs 836 , other program modules 837 , and program data 838 .
- a user may enter commands “and information into the computer 820 through keyboard 840 , pointing device 842 , or other input devices (not shown), such as a microphone, joy stick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 821 through a serial port interface 846 coupled to system bus 823 .
- the input devices may be connected by other interfaces, such as a parallel port, a game port or a universal serial bus (USB).
- a monitor 847 or another display device is also connected to system bus 823 via an interface, such as video adapter 848 .
- personal computers typically include other peripheral output devices (not shown), such as speakers and printers.
- the computer 820 may operate in a networked environment using logical connections to one or more remote computers, such as remote computers 849 a and 849 b .
- Remote computers 849 a and 849 b may each be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically include many or all of the elements described above relative to the computer 820 , although only memory storage devices 850 a and 850 b and their associated application programs 836 a and 836 b have been illustrated in FIG. 1 .
- the logical connections depicted in FIG. 1 include a local area network (LAN) 851 and a wide area network (WAN) 852 that are presented here by way of example and not limitation.
- LAN local area network
- WAN wide area network
- the computer 820 When used in a LAN networking environment, the computer 820 is connected to the local network 851 through a network interface or adapter 853 . When used in a WAN networking environment, the computer 820 may include a modem 854 , a wireless link, or other means for establishing communications over the wide area network 852 , such as the Internet.
- the modem 854 which may be internal or external, is connected to the system bus 823 via the serial port interface 846 .
- program modules depicted relative to the computer 820 may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing communications over wide area network 852 may be used.
Abstract
Methods, systems, and computer program products for applying actions during server system processing. Functional processing blocks where actions may be applied to a service request are identified. Actions are dynamically associated with functional processing blocks. During execution of a functional processing block, a check is performed to determine whether an action is associated with the functional processing block. If an action is associated with a functional processing block, the action is applied during the functional processing block's execution. An evaluation may be performed to determine if an action should be applied before or after the functional processing block. The server system may comprise an XML data repository, providing access to XML data, based on identity information which is received with a client system request. A portion of the server system may be described in accordance with an XML schema.
Description
- The present application is a divisional of U.S. application Ser. No. 10/062,045, filed Jan. 31, 2002, entitled “Executing Dynamically Assigned Functions while Providing Services”. That application claims priority from co-pending U.S. Provisional Application Ser. No. 60/275,809, filed Mar. 14, 2001 and entitled “Identity-Based Service Communication Using XML Messaging Interfaces”, both of which are incorporated herein by reference.
- 1. The Field of the Invention
- The present invention relates to the field of computer services. Specifically, the present invention relates to methods, systems, and computer program products for applying one or more functions during processing that may occur in a server providing one or more services.
- 2. Background and Relevant Art
- Typically, before being deployed in a live system, services undergo significant testing to uncover programming errors and to evaluate performance. While useful, such testing often is able only to estimate full-scale use. As a result, certain program errors or performance problems may go undetected in development or testing environments. Finding these latent problems usually involves monitoring the operation of a service in one form or another. Furthermore, independent of programming errors or unexpected performance considerations, monitoring a service may be helpful in uncovering hardware failures and system attacks.
- However, monitoring services for purposes of debugging, performance, hardware problems, system attacks, and the like, often involves various complex issues. For example, services by nature tend to be accessed by large numbers of clients. The shear volume of transactions can make monitoring services a significant exercise. Moreover, monitoring itself may introduce some amount of processing overhead. While the overhead for a single transaction is relatively small, the aggregate overhead for a large number of transactions may result in unacceptable levels of performance and skew any conclusions that are reached from the monitoring.
- As a general rule, discovering problems through monitoring is an iterative process. For example, as noted above, it may be impractical to produce all possible monitoring information at all times, either due to the amount of monitoring information that will be produced or due to the negative effect that such monitoring may have on overall system performance. Therefore, monitoring often begins by detecting some type of high-level irregularity. Once discovered, the high-level irregularity may lead to more specific monitoring of increasingly specific processing or functionality until the problem's cause is discovered and corrected. After a particular problem is corrected, monitoring often returns back to the high-level system view.
- In some systems, the iterative process of moving back and forth between high-level system monitoring and relatively lower level monitoring of specific service processing or functionality may require shutting services and/or servers down and restarting them. Furthermore, certain monitoring tools may require significant expertise to use, including programming skills. For many, the level of skill required may reduce the effectiveness of a particular monitoring tool or prevent its use all together. Also, monitoring tools are often specific to the environment in which they run, requiring administrators of heterogeneous systems to use different monitoring tools for each distinct system. Accordingly, methods, systems, and computer program products are desired for dynamically applying a function during any of various processing steps that may occur in providing a service to a client system.
- The present invention extends to methods, systems and computer products for dynamically executing one or more functions at any of one or more processing steps that may occur in providing a service to a client system. In one embodiment, executing the one or more functions during identified processing steps provides significant flexibility for dynamically monitoring the operation of the service being analyzed. By identifying particular processing steps that are executed during operation of the service, specific functions may be designated for execution when the processing steps occur. These specific functions are dynamically associated with the processing steps so that the type and extent of monitoring can be adjusted quickly to allow for rapid and efficient problem diagnosis.
- As a processing step executes, a check is performed to determine if an operation or action is associated with the processing step. This may include evaluating whether an associated operation should be performed before the processing step or after the processing step. Then, for processing steps with an associated operation, the operation is applied in conjunction with the execution of the processing step. Typically, the processing steps are related to processing requests from clients systems that are directed to a service. In these circumstances, request for the service is received, a response to the request is generated, and the response is sent to the client.
- The response and request may be organized hierarchically within a network message. One popular hierarchical organization uses eXtensible Markup Language (“XML”) formatted data, with network messages being based on Simple Object Access Protocol (“SOAP”). Although binary data is contrary to the XML standard, the invention may include binary data within the hierarchical organization. For example, it may be desirable to attach certain debugging or diagnostic information to a request or response, and a binary format may be a convenient representation for that information.
- Functions associated with processing steps may be predefined or custom, depending on monitoring needs or wants. Predefined functions are advantageous because certain operations or actions are likely to be commonly used in many monitoring scenarios and therefore predefined functions may provide enhanced value. By allowing for custom functions, individual monitoring circumstances may be addressed in a meaningful way. Describing at least a portion of the server system in terms of a hierarchical organization may add to the flexibility of custom functions and provide a mechanism for writing monitoring functions that are useful across multiple operating platforms. Here again, an organization based on XML may be desirable given the popularity and flexibility of the language.
- Typical operations for functions may include a logging function and a filtering function. In general, logging functions write certain information to a log of some sort for analysis. Filtering functions may be used to end processing of a request and send a response to the requesting client. Among other things, logging and filtering may be useful in monitoring error conditions that occur while processing a client's request.
- Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the invention. The features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.
- In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered as limiting its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
-
FIG. 1 is a block diagram of an example server system embodiment that operates in accordance with the present invention; -
FIG. 2A shows an example XML document corresponding to the example XML schema ofFIG. 2B ; -
FIG. 2B illustrates an example XML schema corresponding to the example XML document ofFIG. 2A ; -
FIG. 3A shows an example XML document corresponding to the example xPath statement ofFIG. 3B ; -
FIG. 3B illustrates an example xPath statement corresponding to the example XML document ofFIG. 3A ; -
FIG. 4A depicts the hierarchy of an example SOAP message; -
FIG. 4B shows the request portion of an overall example hierarchy illustrated inFIG. 5 ; -
FIG. 4C shows the response portion of an overall example hierarchy illustrated inFIG. 5 ; -
FIG. 5 shows a more complete portion of a hierarchal organization for message processing corresponding to the example server system embodiment ofFIG. 1 ; -
FIG. 6 illustrates an example organization for assigning functions to processing steps in accordance with the present invention; -
FIGS. 7A-7B show a flowchart of a method for executing one or more functions at any of one or ore processing steps in accordance with the present invention; and -
FIG. 8 illustrates an exemplary system that provides a suitable operating environment for the present invention. - The present invention extends to methods, systems, and computer program products for applying one or more operations or actions during the processing that may occur in a server providing one or more services. Through the identification of discrete processing steps that are executed while a service operates, specific operations may be executed along with each processing step. These operations are dynamically associated with the processing steps such that as a processing step executes, a check is performed to determine if any operations exists for the processing step. For processing steps that include an operation, the operation is applied during execution of the processing step.
- Embodiments within the scope of the present invention may comprise one or more special purpose and/or one or more general purpose computers including various computer hardware, as discussed in greater detail below. Embodiments within the scope of the present invention also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise physical storage media such as RAM, ROM, EEPROM, CD-ROM or other optical disc storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of computer-readable media. Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
-
FIG. 1 shows a block diagram of an example server system that operates in accordance with the present invention. The server system uses several distinct processing layers in processing arequest 101 a from a client, including a parse layer, a security layer, a cryptography layer and a service layer. Each of these layers is divided into a request processing component and a response processing component. There are corresponding response and request components for each layer. Note, however, that the present invention is not necessarily limited to any particular process layering or component division. - On the
request 101 a, an incoming request first passes through parsecomponent 120 a. For example, parsecomponent 120 a may be used to parse arequest 101 a that includes XML data, such as theXML document 200A shown inFIG. 2A . By way of background, XML is a markup language that provides for data typing and namespaces. ForXML document 200A, the default namespace is “x-schema:classSchema.xml” 201A(1). This informs the parser to validate the document against the schema “x-schema” at the URL “classSchema.xml.” -
FIG. 2B shows the entire schema for the document ofFIG. 2A . The top level of the schema is <Schema> </Schema>element pair 200B that contains the declaration of the schema namespace and, in this case, the declaration of the “datatypes” namespace as well. The first, “xmlns=“urn:schemas-microsoft-com:xml-data”,” 200B(1) indicates that this XML document is an XML Schema. The second, “xmlns:dt=“urn:schemas-microsoft-com:datatypes”,” 200B(2) allows for typing element and attribute content by using a “dt” prefix on the type attribute within their ElementType and AttributeType declarations. - “ElementType” assigns a type and conditions to an element, and what, if any, child elements it can contain; “AttributeType” assigns a type and conditions to an attribute; “attribute” declares that a previously defined attribute type can appear within the scope of the named ElementType element; and “element” declares that a previously defined element type can appear within the scope of the named ElementType element. The content of the schema begins with the AttributeType and ElementType declarations of the innermost elements, namely:
<AttributeType name=‘studentID’ dt:type=‘string’ required=‘yes’/> 220B(1); <ElementType name=‘name’ content=‘textOnly’/> 200B.1; and <ElementType name=‘GPA’ content=‘textOnly’ dt:type=‘float’/> 200B.2. - The next ElementType declaration is followed by its attribute and child elements. When an element has attributes or child elements, they are in its ElementType declaration. They also are previously declared in their own ElementType or AttributeType declaration. In particular,
<ElementType name=‘student’ content=‘mixed’> 220B; <attribute type=‘studentID’/> 220B(1)’; <element type=‘name’/> 220B.1’; <element type=‘GPA’/> 220B.2’; and </ElementType> 220B. - The process is continued throughout the rest of the schema until every element and attribute has been declared:
<ElementType name=‘class’ content=‘eltOnly’> 201B; <element type=‘student’/> ; </ElementType> 201B. - Notice that the reference numbers for the XML document shown in
FIG. 2A correspond to the schema declarations inFIG. 2B . Specifically,<class xmlns=“x-schema:classSchema.xml”> 201A; <student studentID=“13429”> 220A; <name>James Smith</name> 220A.1; <GPA>3.8</GPA> 220A.2; </student> 220A; </class> 201A. - The
example XML document 300A inFIG. 3A will be used in conjunction with thexPath statement 300B shown inFIG. 3B . In general, xPath uses abstract document relationships in identifying parts of a document. For example, thexPath statement 300B locates Smith's numbers within theXML document 300A. Similar toFIGS. 2A and 2B , notice that the reference numbers for theXML document 300A ofFIG. 3A correspond toxPath statement 300B ofFIG. 3B . - Specifically, the “/descendant::contact”
portion 301B of thexPath statement 300B maps to descendants of the <contact> </contact>tag pair 301A. The “[name=“Smith”]”portion 320B selects the “<name> Smith</name>” 320A contact entry, and the “/child::numbers”portion 340B selects the <numbers> </numbers> children ofcontact 301A. “/child::*” identifies the specific children (i.e., “<home> 801-555-1234</home>” 340A.1 and “<cell> 801-555-4321</cell>” 340A.2) that are of interest. (The star or asterisk is a wildcard indicating that all children are of interest.) - Referring back to
FIG. 1 , parsecomponent 120 a includes beforefunctions 122 a that are executed prior to parsecomponent 120 a and afterfunctions 124 a that are executed after parsecomponent 120 a.Path 120 c shows that processing may proceed to parse 120 b on the response side following the operation of parsecomponent 120 a. Proceeding to parse 120 b following parse 120 a may be the result of a parse error or may be dictated by beforefunctions 122 a or afterfunctions 124 a, in which case it makes little sense to continue on tosecurity 130 a. For example, after at least some parsing, afterfunctions 124 a may be able to determine that some problem exists with therequest 101 a. Afterfunctions 124 a may determine thatrequest 101 a is part of a denial of service attack or thatrequest 101 a includes content or originates from a source that is blocked for some reason, such as inappropriate material or spam. - Parse
component 120 a may indicate that processing should continue withsecurity component 130 a.Security component 130 a determines the identity associated with therequest 101 a. In one embodiment, this involves determining an application identifier, a user identifier, and a platform identifier forrequest 101 a, because the service layer provides storage and access to data that is identity specific. For example, a user may access the service layer for email, calendar items, contacts, etc., using both a PC and a handheld device. The security layer, andsecurity component 130 a, determines the appropriate identity so that data and operations are appropriate to the device being used for access. Similarly, different users may be allowed different access to the same data. For example, an owner might be able to add, delete, and modify data, whereas a delegate may only have read privileges. The type of access permitted is controlled by role list database that contains various rules for determining access rights. Nevertheless, as noted the present invention does not necessarily require a security layer, and if one is present, it need not operate assecurity component 130 a. A failure in the security layer may result in proceeding alongpath 130 c or assigning default access privileges. - It may seem somewhat redundant to allow for both after
functions 124 a in parsecomponent 120 a and beforefunctions 132 a insecurity component 130 a. However, because processing may proceed alongpath 120 c, functions 132 a will not necessarily be invoked for arequest 101 a. Further, associating functions closely with a particular layer provides for greater clarity as to when the function will be executed. A similar analysis holds true for afterfunctions 134 b ofsecurity component 130 b and beforefunctions 122 b of parsecomponent 120 b. It should be emphasized, nevertheless, that the present invention does not necessarily require the specific association of functions with processing steps that is shown inFIG. 1 . Therefore, the assignment of functions to processing steps should be interpreted broadly to cover a wide range of function associations. Fromsecurity component 130 a, processing proceeds to eithersecurity component 130 b or to cryptography component 140 a. - Similar to other components, cryptography component 140 a includes before
functions 142 a and afterfunctions 144 a. Cryptography component 140 a is responsible for any decryption that is needed forrequest 101 a. In one embodiment, request 101 a is a Simple Object Access Protocol (“SOAP”) request, conforming to thehierarchy 400A illustrated inFIG. 4A . Basically, a SOAP message includes anenvelope 420A with a header 420A.1 and a body 420A.2, where theenvelope 420A is at theroot level 401A. -
FIG. 4B shows the request portion andFIG. 4C shows the response portion of an overall example hierarchy illustrated inFIG. 5 . Here too, references have been selected so that corresponding portions areFIGS. 4A, 4B , and 4C are similarly numbered. The example hierarchy illustrated inFIG. 5 will be described in greater detail below. It should be noted that inFIG. 4B , envelope 420B is at therequest level 401B (rather than the root level) and that therequest level 401B includesadditional information 440B. Envelope 420B continues to include header 420B.1 and body 420B.2. Likewise, inFIG. 4C ,envelope 420C is at theresponse level 401C (rather than the root level) and theresponse level 401C includesadditional information 440C.Envelope 420C continues to include header 420C.1 and body 420C.2. - Adding the
request level 401B and theresponse level 401C removes ambiguity from thesingle root level 401A that is illustrated inFIG. 4A . As a result, it is clear whether a locator statement such as an xPath statement references arequest 101 a orresponse 101 b (both ofFIG. 1 ), without the need to determine the processing context of the xPath statement. Theadditional information additional information 440C may contain a detailed error chain. The present invention is not limited to any particular type or format of additional information. - Returning now to
FIG. 1 , the body of a SOAP request is encrypted, so cryptography component 140 a performs the necessary decryption. Those of skill in the art will recognize that there is not much value to parsing an encrypted SOAP body. Therefore, parse 120 a may be limited initially to those portions ofrequest 101 a that are not encrypted. Then, following cryptography 140 a, parsecomponent 120 a may continue with the decrypted portions ofrequest 101 a. At this point, it is worth noting that the flow from layer to layer need not be strictly sequential to fall within the scope of the present invention. A cryptography failure will result in proceeding with processing alongpath 140 c. - Following cryptography 140 a, processing proceeds to service 150 a and before
functions 152 a and afterfunctions 154 a. Service 150 a represents the processing that carries out the methods that may be included withrequest 101 a. For example, request 101 a may attempt to query, insert, replace, update or delete data maintained byservice 150 a, such as email, calendar items, contacts, spreadsheet, word processing documents, or the like. Although described as a data store that is manipulated with XML, the present invention is not necessarily limited to any particular type or service, or any particular access mechanism for identity-specific data. - Turning next to the processing for
response 101 b,service component 150 b prepares an appropriate response to the methods that may be included withrequest 101 a. For example a response may include data that is queried or indicate whether an insert, update, replace, or delete operation was successful or failed. Failures may include error codes of some sort, with more substantial debugging or error information in the response'sadditional information 440C (FIG. 4C ).Service component 150 b includes beforefunctions 152 b and afterfunctions 154 b. Notice that the ordering of the before functions and after functions on the response side is opposite the ordering on the request side because the flow from layer to layer is reversed. -
Cryptography component 140 b followsservice component 150 b orpath 140 c from cryptography 140 a. As indicated earlier, the body of a SOAP message is encrypted. Forresponse 101 b, the cryptography layer, andcryptography component 140 b in particular, performs the encryption. Note thatservice component 150 b andcryptography component 140 b essentially perform analogous or complementary functionality for thecorresponding service component 150 a and cryptography component 140 a of the respective layers. - The present invention, however, does not necessary require analogous or complementary functionality in each layer. For example, there is no analogous or complementary functionality provided by
security 130 b. Nevertheless, it may still be desirable to allow for beforefunctions 132 b and afterfunctions 134 b, whether processing flowed fromcryptography component 140 b or fromsecurity component 130 a throughprocessing path 130 c. - Like
security component 130 b, there is no analogous or complementary function of parsecomponent 120 a to be performed by parsecomponent 120 b. Still, beforefunctions 122 b and afterfunctions 124 b may provide desirable functionality in some circumstances. Both parsecomponent 120 b andsecurity component 130 b may simply pass whatever is present inresponse 101 b to the next level. - At this stage, it may be worth identifying some types of functions that may be applicable to each processing layer. Two examples of commonly applicable functions are logging and filtering. Logging is generally associated with monitoring, although not exclusively so. For performance, debugging, identifying hardware problems, detecting system attacks, and the like, logging may provide valuable information for each layer (both prior to and following execution of the layer). Filtering relates to terminating further processing, usually with respect to a request. Filtering might include detecting a denial of service attack or other type of attack, preventing access to certain content, such as pornographic material, stopping spam or other unsolicited interaction, or the like.
-
FIG. 5 shows a more complete portion of a hierarchal organization for message processing corresponding to the example server system embodiment ofFIG. 1 .Server 501 identifies at least one server that is responsible for providing one or more services. Note thatserver 501 provides services for messages directed to myInbox (540), messages directed to myCalendar (560), and messages directed to other services. In some circumstances it may be desirable for a single server to provide multiple services whereas in other circumstances it may be desirable for a server to provide only one service. In addition, a single server may be made up of multiple computers and multiple servers may be used to provide a single service. The present invention does not require any particular hardware configurations and each of the foregoing examples, including combinations thereof, is an example of a server system and should be included within the scope of the present invention. -
Server 501 includes various status indicators 520, including alarms 520.1 and timers 520.2. These status indicators may be used by any of the processing layers shown inFIG. 1 . Within myInbox 540, service configuration 520.3 and system document 520.4 contain configuration information, security information, identity information, and other data that may be necessary or useful a service. As noted earlier, for a particular message, such as message 540.3, request 540.3.1, with envelope 540.3.1.1, header 540.3.1.1.1, body 540.3.1.1.2, and additional information 540.3.1.2, and response 540.3.2, with envelope 540.3.2.1, header 540.3.2.1.1, body 540.3.2.1.2, and additional information 540.3.2.2, correspond toFIGS. 4B and 4C , respectively.FIG. 5 is one example of describing at least a portion of a server system in accordance with an XML schema. However, it should be emphasized that many other hierarchical arrangements are possible and that the present invention is not limited to any particular description. -
FIG. 6 illustrates anaction association list 600 for assigning functions to processing steps in accordance with the present invention.Action association list 600 identifies alayer 1 620 processing step, alayer 2 640 processing step, and other layer processing steps.Layer 1 620 processing step specifies whether a particular action should be executed before 620.1layer 1 or after 620.2layer 1. Prior to execution oflayer 1, if xPathA 620.1.1 is present in theXML hierarchy 500 shown inFIG. 5 , actionA is applied. Similarly, after execution oflayer 1, if xPathB 620.2.1 is present in theXML hierarchy 500, actionB is applied, and if xPathC 620.2.2 is present in the 4XML hierarchy 500, actionC is applied. Depending on how actionB is defined, it is possible for xPathC to either be ignored or processed. Although no details are shown, before 640.1 and after 640.2 oflayer 2 640 operate in an analogous fashion. - The present invention also may be described in terms of methods comprising functional steps and/or non-functional acts. The following is a description of acts and steps that may be performed in practicing the present invention. Usually, functional steps describe the invention in terms of results that are accomplished, whereas non-functional acts describe more specific actions for achieving a particular result. Although the functional steps and non-functional acts may be described or claimed in a particular order, the present invention is not necessarily limited to any particular ordering or combination of the acts and/or steps.
-
FIGS. 7A and 7B are a flow diagram that describe various acts and steps for methods according to the present invention. A step for identifying (710) one or more functional processing blocks where one or more operations or actions may be applied to one or more requests directed to one or more services may include acts of: defining (712) one or more processing steps within a server system that provides one or more services; defining (714) one or more functions that may be executed at any of the one or more processing steps; and describing (716) at least a portion of the server system in accordance with an XML schema. An act of defining (714) one or more functions should be interpreted broadly to include selecting a predefined function or creating a new function. - It should be noted that the terms such as “service,” “processing step,” “functional processing block,” “operation,” “function,” and “action” should be interpreted broadly to encompass a wide variety of computer processing. Often, the term “service” is used as a generic reference for some type of computer resource. For example, an embodiment of the present invention is described in the context of an overall service that provides access to identity-based data, with one or more individual services within the overall service being dedicated to particular types of data, such as email, contacts, calendar, tasks, documents, etc. As used in this application, therefore, “service” is not necessarily limited to any particular type of computing resource, and any service specifically identified should be interpreted merely as an example.
- Similarly, the terms “processing step,” “functional processing block,” “operation,” “function,” and “action” are often used as generic references for some division or grouping of one or more computer instructions that accomplish a particular task. With reference to the service that provides access to identity-based data, “processing steps” and “functional blocks” generally are associated with the parsing, security, cryptography, and service operations, whereas “operations,” “functions,” and “actions” generally are associated with logging and filtering. Nevertheless, each of the foregoing terms is used throughout the application in a generic sense. The general associations identified above, therefore, should not necessarily be interpreted as limiting any of these terms to the specific examples used merely in describing an embodiment of the present invention. As such, “processing step,” “functional processing block,““operation,” “function,” and “action” should not be limited to any particular division or grouping of computer instructions, and any more specific description should be understood simply to represent an example.
- A step for dynamically associating (720) at least one operation or action; for at least one of the one or more functional processing blocks may include acts of: assigning (722) at least one function to at least one of one or more processing steps; and an act of evaluating (724) whether the at least one dynamically assigned function should be executed either before or after the at least one of the one or more processing steps. A step for checking (730) whether or not any action has been associated with a particular functional processing block during execution of the particular functional processing block may include acts of: receiving (732) a request for one or more services from a client system; and evaluating (734) whether or not any function has been assigned to a processing step.
- A step for applying (740) one or more associated operations or actions during execution of any function processing block with one or more associated actions may include acts of: executing (742) at least one assigned function at each processing step that has at least one assigned function; and terminating (744) any further processing on a request received from a client system. A step for responding (750) to a client system based on a request for one or more services from a client system may include acts of: generating (752) a response; and sending (754) the response to the client system.
- Having now described the principles of the present invention in detail, it is noted that the precise hardware configuration that implements the above-described features is not important to the present invention. For example, it is not important to the principles of the present invention where the various components of
FIG. 1 are implemented. - Nevertheless, for the sake of completeness,
FIG. 8 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented. Although not required, the invention will be described in the general context of computer-executable instnictions, such as program modules, being executed by computers in network environments. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps. - Those skilled in the art will appreciate that the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination of hardwired or wireless links) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
- With reference to
FIG. 8 , an exemplary system for implementing the invention includes a general purpose computing device in the form of aconventional computer 820, including aprocessing unit 821, asystem memory 822, and asystem bus 823 that couples various system components including thesystem memory 822 to theprocessing unit 821. Thesystem bus 823 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory includes read only memory (ROM) 824 and random access memory (RAM) 825. A basic input/output system (BIOS) 826, containing the basic routines that help transfer information between elements within thecomputer 820, such as during start-up, may be stored inROM 824. - The
computer 820 may also include a magnetichard disk drive 827 for reading from and writing to a magnetichard disk 839, amagnetic disk drive 828 for reading from or writing to a removablemagnetic disk 829, and anoptical disc drive 830 for reading from or writing to removableoptical disc 831 such as a CD-ROM or other optical media. The magnetichard disk drive 827,magnetic disk drive 828, andoptical disc drive 830 are connected to thesystem bus 823 by a harddisk drive interface 832, a magnetic disk drive-interface 833, and anoptical drive interface 834, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer-executable instructions, data structures, program modules and other data for thecomputer 820. Although the exemplary environment described herein employs a magnetichard disk 839, a removablemagnetic disk 829 and a removableoptical disc 831, other types of computer readable media for storing data can be used, including magnetic cassettes, flash memory cards, digital versatile discs, Bernoulli cartridges, RAMs, ROMs, and the like. - Program code means comprising one or more program modules may be stored on the
hard disk 839,magnetic disk 829,optical disc 831,ROM 824 orRAM 825, including anoperating system 835, one ormore application programs 836,other program modules 837, andprogram data 838. A user may enter commands “and information into thecomputer 820 throughkeyboard 840, pointingdevice 842, or other input devices (not shown), such as a microphone, joy stick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to theprocessing unit 821 through aserial port interface 846 coupled tosystem bus 823. Alternatively, the input devices may be connected by other interfaces, such as a parallel port, a game port or a universal serial bus (USB). Amonitor 847 or another display device is also connected tosystem bus 823 via an interface, such asvideo adapter 848. addition to the monitor, personal computers typically include other peripheral output devices (not shown), such as speakers and printers. - The
computer 820 may operate in a networked environment using logical connections to one or more remote computers, such asremote computers Remote computers computer 820, although onlymemory storage devices application programs FIG. 1 . The logical connections depicted inFIG. 1 include a local area network (LAN) 851 and a wide area network (WAN) 852 that are presented here by way of example and not limitation. Such networking environments are commonplace in office-wide or enterprise-wide computer networks, intranets and the Internet. - When used in a LAN networking environment, the
computer 820 is connected to thelocal network 851 through a network interface oradapter 853. When used in a WAN networking environment, thecomputer 820 may include amodem 854, a wireless link, or other means for establishing communications over thewide area network 852, such as the Internet. Themodem 854, which may be internal or external, is connected to thesystem bus 823 via theserial port interface 846. In a networked environment, program modules depicted relative to thecomputer 820, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing communications overwide area network 852 may be used. - The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims (5)
1. One or more computer-readable media having stored thereon a data structure for use when accessing a hierarchically organized request or a hierarchically organized response associated with the request using a locator statement without having to determine the processing context of the locator statement, the data structure comprising:
a first field that represents an ancestral node for the hierarchically organized request and the hierarchically organized response, the first field further comprising:
a second field that represents the hierarchically organized request; and
a third field that represents the hierarchically organized response, wherein the locator statement may be used to locate hierarchical nodes within either the hierarchically organized request or the hierarchically organized response.
2. One or more computer-readable media as recited in claim 1 , wherein the first field represents a server, the first field further comprising:
a fourth field that represents performance information for the server.
3. One or more computer-readable media as recited in claim 1 , wherein the first field further comprises information related to other request/response pairs.
4. One or more computer-readable media as recited in claim 1 , wherein the locator statement comprises an xPath statement.
5. One or more computer-readable media as recited in claim 1 , wherein the data structure is organized in accordance with an eXtensible Markup Language (XML).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/086,590 US20050165773A1 (en) | 2001-03-14 | 2005-03-21 | Executing dynamically assigned functions while providing services |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US27580901P | 2001-03-14 | 2001-03-14 | |
US10/062,045 US7024662B2 (en) | 2001-03-14 | 2002-01-31 | Executing dynamically assigned functions while providing services |
US11/086,590 US20050165773A1 (en) | 2001-03-14 | 2005-03-21 | Executing dynamically assigned functions while providing services |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/062,045 Division US7024662B2 (en) | 2001-03-14 | 2002-01-31 | Executing dynamically assigned functions while providing services |
Publications (1)
Publication Number | Publication Date |
---|---|
US20050165773A1 true US20050165773A1 (en) | 2005-07-28 |
Family
ID=26741804
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/062,045 Expired - Lifetime US7024662B2 (en) | 2001-03-14 | 2002-01-31 | Executing dynamically assigned functions while providing services |
US11/086,590 Abandoned US20050165773A1 (en) | 2001-03-14 | 2005-03-21 | Executing dynamically assigned functions while providing services |
US11/347,448 Expired - Fee Related US8572576B2 (en) | 2001-03-14 | 2006-02-03 | Executing dynamically assigned functions while providing services |
US14/045,704 Expired - Lifetime US9413817B2 (en) | 2001-03-14 | 2013-10-03 | Executing dynamically assigned functions while providing services |
US15/214,307 Abandoned US20170017529A1 (en) | 2001-03-14 | 2016-07-19 | Executing dynamically assigned functions while providing services |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/062,045 Expired - Lifetime US7024662B2 (en) | 2001-03-14 | 2002-01-31 | Executing dynamically assigned functions while providing services |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/347,448 Expired - Fee Related US8572576B2 (en) | 2001-03-14 | 2006-02-03 | Executing dynamically assigned functions while providing services |
US14/045,704 Expired - Lifetime US9413817B2 (en) | 2001-03-14 | 2013-10-03 | Executing dynamically assigned functions while providing services |
US15/214,307 Abandoned US20170017529A1 (en) | 2001-03-14 | 2016-07-19 | Executing dynamically assigned functions while providing services |
Country Status (1)
Country | Link |
---|---|
US (5) | US7024662B2 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020133535A1 (en) * | 2001-03-14 | 2002-09-19 | Microsoft Corporation | Identity-centric data access |
US20030131069A1 (en) * | 2001-03-14 | 2003-07-10 | Lucovsky Mark H. | Schema-based context service |
US20060161554A1 (en) * | 2001-03-14 | 2006-07-20 | Microsoft Corporation | Schema-Based Services For Identity-Based Data Access |
US20080004593A1 (en) * | 2006-06-07 | 2008-01-03 | Lodge Richard W | Absorbent article having an anchored core assembly |
US20080230682A1 (en) * | 2007-03-20 | 2008-09-25 | Semiconductor Energy Laboratory Co., Ltd. | Method for manufacturing a semiconductor device |
US8572576B2 (en) | 2001-03-14 | 2013-10-29 | Microsoft Corporation | Executing dynamically assigned functions while providing services |
US8858523B2 (en) | 2007-09-07 | 2014-10-14 | The Procter & Gamble Company | Disposable wearable absorbent articles with anchoring subsystems |
US9056031B2 (en) | 2007-09-07 | 2015-06-16 | The Procter & Gamble Company | Disposable wearable absorbent articles with anchoring subsystems |
US9060900B2 (en) | 2007-09-07 | 2015-06-23 | The Proctor & Gamble Company | Disposable wearable absorbent articles with anchoring subsystems |
US9886309B2 (en) | 2002-06-28 | 2018-02-06 | Microsoft Technology Licensing, Llc | Identity-based distributed computing for device resources |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7010565B2 (en) * | 2002-09-30 | 2006-03-07 | Sampson Scott E | Communication management using a token action log |
US6804687B2 (en) * | 2002-09-30 | 2004-10-12 | Scott E. Sampson | File system management with user-definable functional attributes stored in a token action log |
US8051172B2 (en) | 2002-09-30 | 2011-11-01 | Sampson Scott E | Methods for managing the exchange of communication tokens |
US7533383B2 (en) * | 2003-11-12 | 2009-05-12 | International Business Machines Corporation | Method, system, and apparatus for scheduling pattern based web services |
US7716728B2 (en) * | 2004-02-16 | 2010-05-11 | Microsoft Corproation | Security scopes and profiles |
US7640573B2 (en) * | 2004-02-16 | 2009-12-29 | Microsoft Corporation | Generic security claim processing model |
US7873831B2 (en) * | 2004-02-26 | 2011-01-18 | Microsoft Corporation | Digests to identify elements in a signature process |
US8566400B2 (en) | 2004-09-30 | 2013-10-22 | International Business Machines Corporation | On demand email response |
US8789013B1 (en) | 2006-08-28 | 2014-07-22 | Rockwell Automation Technologies, Inc. | Ordered execution of events in a data-driven architecture |
US7915126B2 (en) * | 2007-02-14 | 2011-03-29 | Micron Technology, Inc. | Methods of forming non-volatile memory cells, and methods of forming NAND cell unit string gates |
JP4661854B2 (en) * | 2007-11-09 | 2011-03-30 | 株式会社デンソー | Inspection system and program |
US8473455B2 (en) | 2008-09-03 | 2013-06-25 | Microsoft Corporation | Query-oriented message characterization |
US8099498B2 (en) * | 2008-09-03 | 2012-01-17 | Microsoft Corporation | Probabilistic mesh routing |
US9339691B2 (en) | 2012-01-05 | 2016-05-17 | Icon Health & Fitness, Inc. | System and method for controlling an exercise device |
WO2014153158A1 (en) | 2013-03-14 | 2014-09-25 | Icon Health & Fitness, Inc. | Strength training apparatus with flywheel and related methods |
US9122804B2 (en) * | 2013-05-15 | 2015-09-01 | Oracle Internation Corporation | Logic validation and deployment |
CN105848733B (en) | 2013-12-26 | 2018-02-13 | 爱康保健健身有限公司 | Magnetic resistance mechanism in hawser apparatus |
US10433612B2 (en) | 2014-03-10 | 2019-10-08 | Icon Health & Fitness, Inc. | Pressure sensor to quantify work |
WO2015191445A1 (en) | 2014-06-09 | 2015-12-17 | Icon Health & Fitness, Inc. | Cable system incorporated into a treadmill |
WO2015195965A1 (en) | 2014-06-20 | 2015-12-23 | Icon Health & Fitness, Inc. | Post workout massage device |
US10391361B2 (en) | 2015-02-27 | 2019-08-27 | Icon Health & Fitness, Inc. | Simulating real-world terrain on an exercise device |
US10127398B2 (en) * | 2015-09-18 | 2018-11-13 | Rovi Guides, Inc. | Methods and systems for implementing parental controls |
US10272317B2 (en) | 2016-03-18 | 2019-04-30 | Icon Health & Fitness, Inc. | Lighted pace feature in a treadmill |
US10625137B2 (en) | 2016-03-18 | 2020-04-21 | Icon Health & Fitness, Inc. | Coordinated displays in an exercise device |
US10493349B2 (en) | 2016-03-18 | 2019-12-03 | Icon Health & Fitness, Inc. | Display on exercise device |
US10671705B2 (en) | 2016-09-28 | 2020-06-02 | Icon Health & Fitness, Inc. | Customizing recipe recommendations |
US10479356B1 (en) | 2018-08-17 | 2019-11-19 | Lyft, Inc. | Road segment similarity determination |
US11157007B2 (en) * | 2019-06-28 | 2021-10-26 | Lyft, Inc. | Approaches for encoding environmental information |
US11449475B2 (en) | 2019-06-28 | 2022-09-20 | Lyft, Inc. | Approaches for encoding environmental information |
US11788846B2 (en) | 2019-09-30 | 2023-10-17 | Lyft, Inc. | Mapping and determining scenarios for geographic regions |
US11816900B2 (en) | 2019-10-23 | 2023-11-14 | Lyft, Inc. | Approaches for encoding environmental information |
US11222722B2 (en) * | 2019-11-18 | 2022-01-11 | Flex Dental Solutions, Llc | Systems and methods for dynamic dental treatment plans |
Citations (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5218680A (en) * | 1990-03-15 | 1993-06-08 | International Business Machines Corporation | Data link controller with autonomous in tandem pipeline circuit elements relative to network channels for transferring multitasking data in cyclically recurrent time slots |
US5440744A (en) * | 1990-08-14 | 1995-08-08 | Digital Equipment Corporation | Methods and apparatus for implementing server functions in a distributed heterogeneous environment |
US5485409A (en) * | 1992-04-30 | 1996-01-16 | International Business Machines Corporation | Automated penetration analysis system and method |
US5544285A (en) * | 1991-11-08 | 1996-08-06 | International Business Machines Corporation | Graphical user interface control for replicating data fields in forms |
US5754175A (en) * | 1992-12-01 | 1998-05-19 | Microsoft Corporation | Method and system for in-place interaction with contained objects |
US5819092A (en) * | 1994-11-08 | 1998-10-06 | Vermeer Technologies, Inc. | Online service development tool with fee setting capabilities |
US5930801A (en) * | 1997-03-07 | 1999-07-27 | Xerox Corporation | Shared-data environment in which each file has independent security properties |
US5956715A (en) * | 1994-12-13 | 1999-09-21 | Microsoft Corporation | Method and system for controlling user access to a resource in a networked computing environment |
US6003079A (en) * | 1997-02-27 | 1999-12-14 | Hewlett Packard Company | System and method for continuously measuring quality of service in a federated application environment |
US6106573A (en) * | 1997-06-12 | 2000-08-22 | Advanced Micro Devices, Inc. | Apparatus and method for tracing microprocessor instructions |
US6122629A (en) * | 1998-04-30 | 2000-09-19 | Compaq Computer Corporation | Filesystem data integrity in a single system image environment |
US6148290A (en) * | 1998-09-04 | 2000-11-14 | International Business Machines Corporation | Service contract for managing service systems |
US6151624A (en) * | 1998-02-03 | 2000-11-21 | Realnames Corporation | Navigating network resources based on metadata |
US6161125A (en) * | 1998-05-14 | 2000-12-12 | Sun Microsystems, Inc. | Generic schema for storing configuration information on a client computer |
US6192380B1 (en) * | 1998-03-31 | 2001-02-20 | Intel Corporation | Automatic web based form fill-in |
US6243830B1 (en) * | 1997-05-08 | 2001-06-05 | Yazaki Corporation | State information managing method and communication system |
US6253204B1 (en) * | 1997-12-17 | 2001-06-26 | Sun Microsystems, Inc. | Restoring broken links utilizing a spider process |
US6272506B1 (en) * | 1997-09-12 | 2001-08-07 | Doxis, Llc | Computerized verification form processing system and method |
US20010023421A1 (en) * | 1999-12-16 | 2001-09-20 | International Business Machines Corporation | Access control system, access control method, storage medium and program transmission apparatus |
US6308216B1 (en) * | 1997-11-14 | 2001-10-23 | International Business Machines Corporation | Service request routing using quality-of-service data and network resource information |
US6314093B1 (en) * | 1997-12-24 | 2001-11-06 | Nortel Networks Limited | Traffic route finder in communications network |
US6327574B1 (en) * | 1998-07-07 | 2001-12-04 | Encirq Corporation | Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner |
US6330610B1 (en) * | 1997-12-04 | 2001-12-11 | Eric E. Docter | Multi-stage data filtering system employing multiple filtering criteria |
US20020013788A1 (en) * | 1998-11-10 | 2002-01-31 | Pennell Mark E. | System and method for automatically learning information used for electronic form-filling |
US20020019828A1 (en) * | 2000-06-09 | 2002-02-14 | Mortl William M. | Computer-implemented method and apparatus for obtaining permission based data |
US20020059342A1 (en) * | 1997-10-23 | 2002-05-16 | Anoop Gupta | Annotating temporally-dimensioned multimedia content |
US20020083048A1 (en) * | 2000-09-26 | 2002-06-27 | I2 Technologies, Inc. | System and method for selective database indexing |
US20020085579A1 (en) * | 2000-12-29 | 2002-07-04 | Gateway, Inc. | Shared registry with multiple keys for storing preferences and other applications on a local area network |
US20020103661A1 (en) * | 2000-10-30 | 2002-08-01 | International Business Machines Corporation | System and method for representation of business policy and governing the conduct of business activities using a business rules book |
US20020133627A1 (en) * | 2001-03-19 | 2002-09-19 | International Business Machines Corporation | Intelligent document filtering |
US20020133535A1 (en) * | 2001-03-14 | 2002-09-19 | Microsoft Corporation | Identity-centric data access |
US6457066B1 (en) * | 1997-11-10 | 2002-09-24 | Microsoft Corporation | Simple object access protocol |
US6470450B1 (en) * | 1998-12-23 | 2002-10-22 | Entrust Technologies Limited | Method and apparatus for controlling application access to limited access based data |
US20020157007A1 (en) * | 2001-04-18 | 2002-10-24 | Nec Corporation | User authentication system and user authentication method used therefor |
US20030004874A1 (en) * | 2001-04-03 | 2003-01-02 | Bottomline Technologies (De) Inc. | Electronic bill presentment system with client specific formatting of data |
US6510439B1 (en) * | 1999-08-06 | 2003-01-21 | Lucent Technologies Inc. | Method and system for consistent update and retrieval of document in a WWW server |
US20030023263A1 (en) * | 2001-07-24 | 2003-01-30 | Incept Llc | Apparatus and methods for aspirating emboli |
US20030041065A1 (en) * | 2001-03-14 | 2003-02-27 | Mark Lucovsky | Schema-based services for identity-based access to contacts data |
US20030041076A1 (en) * | 2001-03-14 | 2003-02-27 | Lucovsky Mark H. | Schema-based services for identity-based access to calendar data |
US20030050911A1 (en) * | 2001-03-14 | 2003-03-13 | Mark Lucovsky | Schema-based services for identity-based access to profile data |
US20030061365A1 (en) * | 2001-03-14 | 2003-03-27 | Microsoft Corporation | Service-to-service communication for network services |
US6542923B2 (en) * | 1997-08-21 | 2003-04-01 | Planet Web, Inc. | Active electronic mail |
US20030069887A1 (en) * | 2001-03-14 | 2003-04-10 | Lucovsky Mark H. | Schema-based services for identity-based access to inbox data |
US6571279B1 (en) * | 1997-12-05 | 2003-05-27 | Pinpoint Incorporated | Location enhanced information delivery system |
US20030101190A1 (en) * | 2001-03-14 | 2003-05-29 | Microsoft Corporation | Schema-based notification service |
US6574631B1 (en) * | 2000-08-09 | 2003-06-03 | Oracle International Corporation | Methods and systems for runtime optimization and customization of database applications and application entities |
US6581095B1 (en) * | 1998-12-31 | 2003-06-17 | Hyundai Electronics Industries Co., Ltd. | Apparatus for matching a large amount of configuration data between exchanger and telecommunication management network repeater in code division multiple access system and control method thereof |
US20030115228A1 (en) * | 2001-03-14 | 2003-06-19 | Horvitz Eric J. | Schema-based service for identity-based access to location data |
US20030131069A1 (en) * | 2001-03-14 | 2003-07-10 | Lucovsky Mark H. | Schema-based context service |
US20030131142A1 (en) * | 2001-03-14 | 2003-07-10 | Horvitz Eric J. | Schema-based information preference settings |
US20030131073A1 (en) * | 2001-03-14 | 2003-07-10 | Lucovsky Mark H. | Schema-based services for identity-based data access |
US6594666B1 (en) * | 2000-09-25 | 2003-07-15 | Oracle International Corp. | Location aware application development framework |
US20030135411A1 (en) * | 2002-01-11 | 2003-07-17 | Kazumasa Ushiki | Content adaptation service control system |
US20030133553A1 (en) * | 2002-01-15 | 2003-07-17 | Khakoo Shabbir A. | Method and apparatus for delivering enhanced caller identification services to a called party |
US20030149696A1 (en) * | 2002-02-07 | 2003-08-07 | Steve Nelson | Internet based system for creating presentations |
US20030177135A1 (en) * | 2000-10-13 | 2003-09-18 | Axon Information Technology Pty Ltd. | Multi-user database for computer-based information |
US6651217B1 (en) * | 1999-09-01 | 2003-11-18 | Microsoft Corporation | System and method for populating forms with previously used data values |
US20040006564A1 (en) * | 2002-06-28 | 2004-01-08 | Lucovsky Mark H. | Schema-based service for identity-based data access to category data |
US20040010451A1 (en) * | 2002-07-12 | 2004-01-15 | Romano Aaron A. | Method and system for finalizing specific processes through a dynamic system |
US6684204B1 (en) * | 2000-06-19 | 2004-01-27 | International Business Machines Corporation | Method for conducting a search on a network which includes documents having a plurality of tags |
US20040024866A1 (en) * | 2002-07-31 | 2004-02-05 | Murali Sundar | Service creator apparatus, systems, and methods |
US6694429B1 (en) * | 1998-08-04 | 2004-02-17 | At&T Corp. | Method for establishing call state information without maintaining state information at gate controllers |
US6708137B2 (en) * | 2001-07-16 | 2004-03-16 | Cable & Wireless Internet Services, Inc. | System and method for providing composite variance analysis for network operation |
US6711585B1 (en) * | 1999-06-15 | 2004-03-23 | Kanisa Inc. | System and method for implementing a knowledge management system |
US20040060002A1 (en) * | 2002-09-12 | 2004-03-25 | Microsoft Corporation | Schema-based service for identity-based access to lists |
US6745011B1 (en) * | 2000-09-01 | 2004-06-01 | Telephia, Inc. | System and method for measuring wireless device and network usage and performance metrics |
US6754470B2 (en) * | 2000-09-01 | 2004-06-22 | Telephia, Inc. | System and method for measuring wireless device and network usage and performance metrics |
US20040205526A1 (en) * | 2001-09-28 | 2004-10-14 | Vadim Borodovski | Prompted form filling mechanism |
US20040205656A1 (en) * | 2002-01-30 | 2004-10-14 | Benefitnation | Document rules data structure and method of document publication therefrom |
US6816886B2 (en) * | 2002-03-14 | 2004-11-09 | Microsoft Corporation | Measuring performance metrics of networked computing entities |
US6820204B1 (en) * | 1999-03-31 | 2004-11-16 | Nimesh Desai | System and method for selective information exchange |
US6823369B2 (en) * | 2001-03-14 | 2004-11-23 | Microsoft Corporation | Using state information in requests that are transmitted in a distributed network environment |
US6850975B1 (en) * | 1999-11-29 | 2005-02-01 | Intel Corporation | Web site monitoring |
US6857013B2 (en) * | 1999-01-29 | 2005-02-15 | Intermec Ip.Corp. | Remote anomaly diagnosis and reconfiguration of an automatic data collection device platform over a telecommunications network |
US6868447B1 (en) * | 2000-05-09 | 2005-03-15 | Sun Microsystems, Inc. | Mechanism and apparatus for returning results of services in a distributed computing environment |
US6892201B2 (en) * | 2001-09-05 | 2005-05-10 | International Business Machines Corporation | Apparatus and method for providing access rights information in a portion of a file |
US20050100150A1 (en) * | 2002-09-30 | 2005-05-12 | Avaya Technology Corp. | Method and apparatus for delivering documents with identification information to a called party |
US6917937B1 (en) * | 2000-11-01 | 2005-07-12 | Sas Institute Inc. | Server-side object filtering |
US6925307B1 (en) * | 2000-07-13 | 2005-08-02 | Gtech Global Services Corporation | Mixed-mode interaction |
US6985958B2 (en) * | 2001-03-14 | 2006-01-10 | Microsoft Corporation | Messaging infrastructure for identity-centric data access |
US6986145B2 (en) * | 2001-03-13 | 2006-01-10 | Dipayan Gangopadhyay | In-context access to relevant services from multiple applications and information systems by object schema traversal |
US6993502B1 (en) * | 1999-11-11 | 2006-01-31 | Cch Incorporated | Transaction tax collection system and method |
US7072843B2 (en) * | 2001-03-23 | 2006-07-04 | Restaurant Services, Inc. | System, method and computer program product for error checking in a supply chain management framework |
US20060150140A1 (en) * | 2001-03-14 | 2006-07-06 | Microsoft Corporation | Executing dynamically assigned functions while providing services |
US7136859B2 (en) * | 2001-03-14 | 2006-11-14 | Microsoft Corporation | Accessing heterogeneous data in a standardized manner |
US7206788B2 (en) * | 2002-07-30 | 2007-04-17 | Microsoft Corporation | Schema-based services for identity-based access to device data |
US7210147B1 (en) * | 1999-10-05 | 2007-04-24 | Veritas Operating Corporation | IP virtualization |
US7216287B2 (en) * | 2002-08-02 | 2007-05-08 | International Business Machines Corporation | Personal voice portal service |
US7246122B2 (en) * | 2002-06-28 | 2007-07-17 | Microsoft Corporation | Schema-based services for identity-based data access to favorite website data |
US7250846B2 (en) * | 2002-03-05 | 2007-07-31 | International Business Machines Corporation | Method and apparatus for providing dynamic user alert |
US7284271B2 (en) * | 2001-03-14 | 2007-10-16 | Microsoft Corporation | Authorizing a requesting entity to operate upon data structures |
US7284197B2 (en) * | 2002-06-28 | 2007-10-16 | Microsoft Corporation | Schema-based services for identity-based data access to application settings data |
Family Cites Families (358)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4731750A (en) | 1984-01-04 | 1988-03-15 | International Business Machines Corporation | Workstation resource sharing |
US5031089A (en) | 1988-12-30 | 1991-07-09 | United States Of America As Represented By The Administrator, National Aeronautics And Space Administration | Dynamic resource allocation scheme for distributed heterogeneous computer systems |
EP0809185B1 (en) | 1990-09-18 | 1999-12-08 | Fujitsu Limited | A shared storage duplicating method |
US5446880A (en) | 1992-08-31 | 1995-08-29 | At&T Corp. | Database communication system that provides automatic format translation and transmission of records when the owner identified for the record is changed |
US5867712A (en) * | 1993-04-05 | 1999-02-02 | Shaw; Venson M. | Single chip integrated circuit system architecture for document instruction set computing |
US5544302A (en) | 1993-06-03 | 1996-08-06 | Taligent, Inc. | Object-oriented framework for creating and using container objects with built-in properties |
CA2141931A1 (en) | 1993-06-03 | 1994-12-22 | Robert David Dickinson | Place object system |
US5666534A (en) | 1993-06-29 | 1997-09-09 | Bull Hn Information Systems Inc. | Method and appartus for use by a host system for mechanizing highly configurable capabilities in carrying out remote support for such system |
GB2345157B (en) | 1998-12-23 | 2003-06-18 | Ibm | Publish and subscribe data processing apparatus, method and computer program product with declaration of a unique publisher broker |
US5493692A (en) | 1993-12-03 | 1996-02-20 | Xerox Corporation | Selective delivery of electronic messages in a multiple computer system based on context and environment of a user |
US5487141A (en) | 1994-01-21 | 1996-01-23 | Borland International, Inc. | Development system with methods for visual inheritance and improved object reusability |
US5640504A (en) | 1994-01-24 | 1997-06-17 | Advanced Computer Applications, Inc. | Distributed computing network |
US5586311A (en) | 1994-02-14 | 1996-12-17 | American Airlines, Inc. | Object oriented data access and analysis system |
EP0687089B1 (en) * | 1994-06-10 | 2003-05-28 | Hewlett-Packard Company, A Delaware Corporation | Event-processing system and method of constructing such a system |
US5694539A (en) | 1994-08-10 | 1997-12-02 | Intrinsa Corporation | Computer process resource modelling method and apparatus |
EP0697662B1 (en) | 1994-08-15 | 2001-05-30 | International Business Machines Corporation | Method and system for advanced role-based access control in distributed and centralized computer systems |
US5742905A (en) | 1994-09-19 | 1998-04-21 | Bell Communications Research, Inc. | Personal communications internetworking |
US5901312A (en) | 1994-12-13 | 1999-05-04 | Microsoft Corporation | Providing application programs with unmediated access to a contested hardware resource |
US5687376A (en) * | 1994-12-15 | 1997-11-11 | International Business Machines Corporation | System for monitoring performance of advanced graphics driver including filter modules for passing supported commands associated with function calls and recording task execution time for graphic operation |
US7127328B2 (en) | 1994-12-30 | 2006-10-24 | Power Measurement Ltd. | System and method for federated security in an energy management system |
EP0733971A3 (en) | 1995-03-22 | 1999-07-07 | Sun Microsystems, Inc. | Method and apparatus for managing connections for communication among objects in a distributed object system |
US5758184A (en) | 1995-04-24 | 1998-05-26 | Microsoft Corporation | System for performing asynchronous file operations requested by runnable threads by processing completion messages with different queue thread and checking for completion by runnable threads |
US5640569A (en) | 1995-04-28 | 1997-06-17 | Sun Microsystems, Inc. | Diverse goods arbitration system and method for allocating resources in a distributed computer system |
US5729682A (en) | 1995-06-07 | 1998-03-17 | International Business Machines Corporation | System for prompting parameters required by a network application and using data structure to establish connections between local computer, application and resources required by application |
US6807558B1 (en) * | 1995-06-12 | 2004-10-19 | Pointcast, Inc. | Utilization of information “push” technology |
US5778227A (en) * | 1995-08-01 | 1998-07-07 | Intergraph Corporation | System for adding attributes to an object at run time in an object oriented computer environment |
US5634053A (en) | 1995-08-29 | 1997-05-27 | Hughes Aircraft Company | Federated information management (FIM) system and method for providing data site filtering and translation for heterogeneous databases |
US5754111A (en) | 1995-09-20 | 1998-05-19 | Garcia; Alfredo | Medical alerting system |
US5774670A (en) | 1995-10-06 | 1998-06-30 | Netscape Communications Corporation | Persistent client state in a hypertext transfer protocol based client-server system |
US5787283A (en) * | 1995-10-27 | 1998-07-28 | International Business Machines Corporation | Framework for manufacturing logistics decision support |
US5790785A (en) | 1995-12-11 | 1998-08-04 | Customer Communications Group, Inc. | World Wide Web registration information processing system |
JPH09167141A (en) | 1995-12-18 | 1997-06-24 | Hitachi Ltd | Load distribution control method |
US5787427A (en) | 1996-01-03 | 1998-07-28 | International Business Machines Corporation | Information handling system, method, and article of manufacture for efficient object security processing by grouping objects sharing common control access policies |
US5873084A (en) | 1996-01-18 | 1999-02-16 | Sun Microsystems, Inc. | Database network connectivity product |
US6047327A (en) | 1996-02-16 | 2000-04-04 | Intel Corporation | System for distributing electronic information to a targeted group of users |
US5862325A (en) | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
US5911139A (en) | 1996-03-29 | 1999-06-08 | Virage, Inc. | Visual image database search engine which allows for different schema |
US5867799A (en) * | 1996-04-04 | 1999-02-02 | Lang; Andrew K. | Information system and method for filtering a massive flow of information entities to meet user information classification needs |
US6247026B1 (en) | 1996-10-11 | 2001-06-12 | Sun Microsystems, Inc. | Method, apparatus, and product for leasing of delegation certificates in a distributed system |
AUPN955096A0 (en) | 1996-04-29 | 1996-05-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Telecommunications information dissemination system |
US5933820A (en) | 1996-05-20 | 1999-08-03 | International Business Machines Corporation | System, method, and program for using direct and indirect pointers to logically related data and targets of indexes |
US5872926A (en) | 1996-05-31 | 1999-02-16 | Adaptive Micro Systems, Inc. | Integrated message system |
US6044224A (en) * | 1996-06-26 | 2000-03-28 | Sun Microsystems, Inc. | Mechanism for dynamically associating a service dependent representation with objects at run time |
US5835722A (en) * | 1996-06-27 | 1998-11-10 | Logon Data Corporation | System to control content and prohibit certain interactive attempts by a person using a personal computer |
US6088451A (en) | 1996-06-28 | 2000-07-11 | Mci Communications Corporation | Security system and method for network element access |
US5826252A (en) * | 1996-06-28 | 1998-10-20 | General Electric Company | System for managing multiple projects of similar type using dynamically updated global database |
US6021403A (en) | 1996-07-19 | 2000-02-01 | Microsoft Corporation | Intelligent user assistance facility |
US6721941B1 (en) * | 1996-08-27 | 2004-04-13 | Compuware Corporation | Collection of timing and coverage data through a debugging interface |
JPH1074159A (en) | 1996-08-30 | 1998-03-17 | Hitachi Ltd | Method for controlling computer system |
US5926810A (en) | 1996-08-30 | 1999-07-20 | Oracle Corporation | Universal schema system |
US5870739A (en) | 1996-09-20 | 1999-02-09 | Novell, Inc. | Hybrid query apparatus and method |
US5684950A (en) | 1996-09-23 | 1997-11-04 | Lockheed Martin Corporation | Method and system for authenticating users to multiple computer servers via a single sign-on |
US6018343A (en) | 1996-09-27 | 2000-01-25 | Timecruiser Computing Corp. | Web calendar architecture and uses thereof |
US5870759A (en) | 1996-10-09 | 1999-02-09 | Oracle Corporation | System for synchronizing data between computers using a before-image of data |
US5944823A (en) | 1996-10-21 | 1999-08-31 | International Business Machines Corporations | Outside access to computer resources through a firewall |
US5809509A (en) | 1996-10-25 | 1998-09-15 | International Business Machines Corporation | Method for using a non-object-oriented datastore as a generic persistent datastore for persistent objects |
US9418381B2 (en) | 2000-04-14 | 2016-08-16 | Citigroup Credit Services, Inc. (USA) | Method and system for notifying customers of transaction opportunities |
US5937189A (en) * | 1996-11-12 | 1999-08-10 | International Business Machines Corporation | Object oriented framework mechanism for determining configuration relations |
US6385715B1 (en) | 1996-11-13 | 2002-05-07 | Intel Corporation | Multi-threading for a processor utilizing a replay queue |
US6023765A (en) | 1996-12-06 | 2000-02-08 | The United States Of America As Represented By The Secretary Of Commerce | Implementation of role-based access control in multi-level secure systems |
US5748890A (en) | 1996-12-23 | 1998-05-05 | U S West, Inc. | Method and system for authenticating and auditing access by a user to non-natively secured applications |
US6049821A (en) * | 1997-01-24 | 2000-04-11 | Motorola, Inc. | Proxy host computer and method for accessing and retrieving information between a browser and a proxy |
CA2278709A1 (en) * | 1997-01-27 | 1998-08-13 | Benjamin Slotznick | System for delivering and displaying primary and secondary information |
US5864848A (en) | 1997-01-31 | 1999-01-26 | Microsoft Corporation | Goal-driven information interpretation and extraction system |
AUPO527497A0 (en) | 1997-02-25 | 1997-03-20 | Mclaren Software Technology Pty Ltd | Application messaging system |
JP3497342B2 (en) | 1997-02-27 | 2004-02-16 | 株式会社日立製作所 | Client / server system, server, client processing method, and server processing method |
US5990883A (en) | 1997-04-28 | 1999-11-23 | Microsoft Corporation | Unified presentation of programming from different physical sources |
US5987454A (en) | 1997-06-09 | 1999-11-16 | Hobbs; Allen | Method and apparatus for selectively augmenting retrieved text, numbers, maps, charts, still pictures and/or graphics, moving pictures and/or graphics and audio information from a network resource |
US6092101A (en) | 1997-06-16 | 2000-07-18 | Digital Equipment Corporation | Method for filtering mail messages for a plurality of client computers connected to a mail service system |
US6185551B1 (en) | 1997-06-16 | 2001-02-06 | Digital Equipment Corporation | Web-based electronic mail service apparatus and method using full text and label indexing |
US6282548B1 (en) | 1997-06-21 | 2001-08-28 | Alexa Internet | Automatically generate and displaying metadata as supplemental information concurrently with the web page, there being no link between web page and metadata |
CA2241767C (en) | 1997-06-27 | 2004-01-20 | Juxtacomm Technologies Inc. | A system for transforming and exchanging data between distributed heterogeneous computer systems |
JPH1185750A (en) | 1997-07-08 | 1999-03-30 | Hitachi Ltd | Structured document rpocessing method, structured document rpocessor and computer-readable recording medium recorded with structured document processing program |
US20030018771A1 (en) | 1997-07-15 | 2003-01-23 | Computer Associates Think, Inc. | Method and apparatus for generating and recognizing speech as a user interface element in systems and network management |
US6044372A (en) | 1997-07-18 | 2000-03-28 | Dazel Corporation | Method and apparatus for publishing information to a communications network and enabling subscriptions to such information |
US6317795B1 (en) | 1997-07-22 | 2001-11-13 | International Business Machines Corporation | Dynamic modification of multimedia content |
DE69808632T2 (en) * | 1997-07-25 | 2003-06-12 | British Telecomm | Creation of software systems |
US6442549B1 (en) | 1997-07-25 | 2002-08-27 | Eric Schneider | Method, product, and apparatus for processing reusable information |
US5956730A (en) | 1997-08-15 | 1999-09-21 | International Business Machines Corporation | Legacy subclassing |
US6226642B1 (en) * | 1997-09-11 | 2001-05-01 | International Business Machines Corporation | Content modification of internet web pages for a television class display |
US5983273A (en) | 1997-09-16 | 1999-11-09 | Webtv Networks, Inc. | Method and apparatus for providing physical security for a user account and providing access to the user's environment and preferences |
US6119122A (en) | 1997-09-17 | 2000-09-12 | Novell, Inc. | Method and apparatus for generically viewing and editing objects |
US5983234A (en) | 1997-09-17 | 1999-11-09 | Novell, Inc. | Method and apparatus for generically viewing and editing objects |
US6016394A (en) | 1997-09-17 | 2000-01-18 | Tenfold Corporation | Method and system for database application software creation requiring minimal programming |
US6192408B1 (en) | 1997-09-26 | 2001-02-20 | Emc Corporation | Network file server sharing local caches of file access information in data processors assigned to respective file systems |
US5974443A (en) | 1997-09-26 | 1999-10-26 | Intervoice Limited Partnership | Combined internet and data access system |
US6081840A (en) | 1997-10-14 | 2000-06-27 | Zhao; Yan | Two-level content distribution system |
US20020002458A1 (en) | 1997-10-22 | 2002-01-03 | David E. Owen | System and method for representing complex information auditorially |
US6317868B1 (en) * | 1997-10-24 | 2001-11-13 | University Of Washington | Process for transparently enforcing protection domains and access control as well as auditing operations in software components |
JP4035872B2 (en) | 1997-10-27 | 2008-01-23 | 株式会社日立製作所 | File format conversion method, file system, information system and electronic commerce system using the same |
US6269369B1 (en) | 1997-11-02 | 2001-07-31 | Amazon.Com Holdings, Inc. | Networked personal contact manager |
AU1367699A (en) | 1997-11-03 | 1999-05-24 | Arial Systems Corporation | Personnel and asset tracking method and apparatus |
JPH11143827A (en) | 1997-11-04 | 1999-05-28 | Toshiba Corp | Computer resource allocation system, portable terminal and computer resource managing method |
US5974416A (en) | 1997-11-10 | 1999-10-26 | Microsoft Corporation | Method of creating a tabular data stream for sending rows of data between client and server |
US6282709B1 (en) | 1997-11-12 | 2001-08-28 | Philips Electronics North America Corporation | Software update manager |
EP0917119A3 (en) | 1997-11-12 | 2001-01-10 | Citicorp Development Center, Inc. | Distributed network based electronic wallet |
US6202066B1 (en) | 1997-11-19 | 2001-03-13 | The United States Of America As Represented By The Secretary Of Commerce | Implementation of role/group permission association using object access type |
US6216132B1 (en) | 1997-11-20 | 2001-04-10 | International Business Machines Corporation | Method and system for matching consumers to events |
US6654747B1 (en) | 1997-12-02 | 2003-11-25 | International Business Machines Corporation | Modular scalable system for managing data in a heterogeneous environment with generic structure for control repository access transactions |
US6122348A (en) | 1997-12-22 | 2000-09-19 | Nortel Networks Corporation | System and method for managing incoming communication events using multiple media options |
US5999932A (en) | 1998-01-13 | 1999-12-07 | Bright Light Technologies, Inc. | System and method for filtering unsolicited electronic mail messages using data matching and heuristic processing |
US6480830B1 (en) | 1998-01-29 | 2002-11-12 | International Business Machines Corporation | Active calendar system |
US6282698B1 (en) * | 1998-02-09 | 2001-08-28 | Lucent Technologies Inc. | Detecting similarities in Java sources from bytecodes |
US6148302A (en) | 1998-02-26 | 2000-11-14 | Sun Microsystems, Inc. | Method, apparatus, system and computer program product for initializing a data structure at its first active use |
CA2322026A1 (en) | 1998-02-27 | 1999-09-02 | Daniel Jaye | System and method for building user profiles |
US6065012A (en) | 1998-02-27 | 2000-05-16 | Microsoft Corporation | System and method for displaying and manipulating user-relevant data |
US6148336A (en) * | 1998-03-13 | 2000-11-14 | Deterministic Networks, Inc. | Ordering of multiple plugin applications using extensible layered service provider with network traffic filtering |
EP0949787A1 (en) | 1998-03-18 | 1999-10-13 | Sony International (Europe) GmbH | Multiple personality internet account |
US7028312B1 (en) | 1998-03-23 | 2006-04-11 | Webmethods | XML remote procedure call (XML-RPC) |
US7302402B2 (en) | 1998-03-30 | 2007-11-27 | International Business Machines Corporation | Method, system and program products for sharing state information across domains |
US6065055A (en) * | 1998-04-20 | 2000-05-16 | Hughes; Patrick Alan | Inappropriate site management software |
US6301012B1 (en) | 1998-04-24 | 2001-10-09 | Hewlett-Packard Company | Automatic configuration of a network printer |
US6167402A (en) | 1998-04-27 | 2000-12-26 | Sun Microsystems, Inc. | High performance message store |
US6144996A (en) * | 1998-05-13 | 2000-11-07 | Compaq Computer Corporation | Method and apparatus for providing a guaranteed minimum level of performance for content delivery over a network |
US6052720A (en) | 1998-05-14 | 2000-04-18 | Sun Microsystems, Inc. | Generic schema for storing configuration information on a server computer |
US6279111B1 (en) | 1998-06-12 | 2001-08-21 | Microsoft Corporation | Security model using restricted tokens |
US6308273B1 (en) | 1998-06-12 | 2001-10-23 | Microsoft Corporation | Method and system of security location discrimination |
US6101480A (en) | 1998-06-19 | 2000-08-08 | International Business Machines | Electronic calendar with group scheduling and automated scheduling techniques for coordinating conflicting schedules |
ATE345528T1 (en) * | 1998-06-19 | 2006-12-15 | Sun Microsystems Inc | DIMENSIONABLE PROXY SERVERS WITH INSERT FILTERS |
US6141778A (en) | 1998-06-29 | 2000-10-31 | Mci Communications Corporation | Method and apparatus for automating security functions in a computer system |
US6199081B1 (en) | 1998-06-30 | 2001-03-06 | Microsoft Corporation | Automatic tagging of documents and exclusion by content |
US6148301A (en) | 1998-07-02 | 2000-11-14 | First Data Corporation | Information distribution system |
US6182142B1 (en) | 1998-07-10 | 2001-01-30 | Encommerce, Inc. | Distributed access management of information resources |
US6490721B1 (en) * | 1998-07-14 | 2002-12-03 | Oc Systems Incorporated | Software debugging method and apparatus |
US6553427B1 (en) | 1998-07-24 | 2003-04-22 | Mci Communications Corporation | Object-oriented encapsulation of a telecommunications service protocol interface |
JP3558887B2 (en) | 1998-08-28 | 2004-08-25 | 株式会社東芝 | Distributed system, control method thereof, and storage medium |
US6167408A (en) | 1998-08-31 | 2000-12-26 | International Business Machines Corporation | Comparative updates tracking to synchronize local operating parameters with centrally maintained reference parameters in a multiprocessing system |
US6351843B1 (en) * | 1998-08-31 | 2002-02-26 | International Business Machines Corporation | Dynamically inserting a function into an application executable at runtime |
US7197534B2 (en) | 1998-09-01 | 2007-03-27 | Big Fix, Inc. | Method and apparatus for inspecting the properties of a computer |
US6256664B1 (en) | 1998-09-01 | 2001-07-03 | Bigfix, Inc. | Method and apparatus for computed relevance messaging |
US6516341B2 (en) | 1998-09-14 | 2003-02-04 | Juno Online Services, Inc. | Electronic mail system with advertising |
WO2000016209A1 (en) | 1998-09-15 | 2000-03-23 | Local2Me.Com, Inc. | Dynamic matchingtm of users for group communication |
US6453317B1 (en) | 1998-09-29 | 2002-09-17 | Worldcom, Inc. | Customer information storage and delivery system |
US6253203B1 (en) | 1998-10-02 | 2001-06-26 | Ncr Corporation | Privacy-enhanced database |
US6480850B1 (en) | 1998-10-02 | 2002-11-12 | Ncr Corporation | System and method for managing data privacy in a database management system including a dependently connected privacy data mart |
US6275824B1 (en) | 1998-10-02 | 2001-08-14 | Ncr Corporation | System and method for managing data privacy in a database management system |
US6226792B1 (en) * | 1998-10-14 | 2001-05-01 | Unisys Corporation | Object management system supporting the use of application domain knowledge mapped to technology domain knowledge |
US8006177B1 (en) | 1998-10-16 | 2011-08-23 | Open Invention Network, Llc | Documents for commerce in trading partner networks and interface definitions based on the documents |
US6324544B1 (en) | 1998-10-21 | 2001-11-27 | Microsoft Corporation | File object synchronization between a desktop computer and a mobile device |
US6163794A (en) | 1998-10-23 | 2000-12-19 | General Magic | Network system extensible by users |
ES2200753T3 (en) | 1998-10-28 | 2004-03-16 | Verticalone Corporation | APPARATUS AND METHOD FOR AGGREGATION AND AUTOMATED SUPPLY OF TRANSACTIONS THAT INVOLVE INFORMATION OR PERSONAL ELECTRONIC DATA. |
AU1343800A (en) | 1998-11-05 | 2000-05-22 | Neuvis, Inc. | Method for controlling access to information |
US6397246B1 (en) * | 1998-11-13 | 2002-05-28 | International Business Machines Corporation | Method and system for processing document requests in a network system |
JP2000163345A (en) | 1998-11-25 | 2000-06-16 | Seiko Epson Corp | Device control system, information registering method, device utilizing method and storage medium recording computer program |
US6263498B1 (en) * | 1998-12-03 | 2001-07-17 | International Business Machines Corporation | Method and apparatus for enabling server side distributed object modification |
US6336118B1 (en) | 1998-12-03 | 2002-01-01 | International Business Machines Corporation | Framework within a data processing system for manipulating program objects |
JP2000172657A (en) | 1998-12-08 | 2000-06-23 | Fujitsu Ltd | System and method for distributed processing, computer- readable recording medium with program for computer to execute the same method recorded therein, server device and client device |
US6801223B1 (en) | 1998-12-18 | 2004-10-05 | Tangis Corporation | Managing interactions between computer users' context models |
US6513046B1 (en) | 1999-12-15 | 2003-01-28 | Tangis Corporation | Storing and recalling information to augment human memories |
US6711612B1 (en) | 1998-12-18 | 2004-03-23 | Emc Corporation | System for facilitating the transfer of management information from a remote mass storage subsystem over a switching fabric or selectively over a private link to a central location for servicing |
US6791580B1 (en) | 1998-12-18 | 2004-09-14 | Tangis Corporation | Supplying notifications related to supply and consumption of user context data |
US6466232B1 (en) | 1998-12-18 | 2002-10-15 | Tangis Corporation | Method and system for controlling presentation of information to a user based on the user's condition |
US6349307B1 (en) | 1998-12-28 | 2002-02-19 | U.S. Philips Corporation | Cooperative topical servers with automatic prefiltering and routing |
JP2001515636A (en) | 1998-12-29 | 2001-09-18 | スイスコム アーゲー | Method and system for providing an object to a user of a communication network |
US6311206B1 (en) | 1999-01-13 | 2001-10-30 | International Business Machines Corporation | Method and apparatus for providing awareness-triggered push |
US6370537B1 (en) | 1999-01-14 | 2002-04-09 | Altoweb, Inc. | System and method for the manipulation and display of structured data |
US6266690B1 (en) | 1999-01-27 | 2001-07-24 | Adc Telecommunications, Inc. | Enhanced service platform with secure system and method for subscriber profile customization |
US6480860B1 (en) | 1999-02-11 | 2002-11-12 | International Business Machines Corporation | Tagged markup language interface with document type definition to access data in object oriented database |
AU2565200A (en) | 1999-02-19 | 2000-09-04 | Nokia Networks Oy | Network arrangement for communication |
ATE228257T1 (en) | 1999-02-26 | 2002-12-15 | America Online Inc | PROXY SERVER FOR EXPANDING A REQUEST FROM A CLIENT WITH DATA ABOUT THE USER |
US6401085B1 (en) | 1999-03-05 | 2002-06-04 | Accenture Llp | Mobile communication and computing system and method |
US6826597B1 (en) * | 1999-03-17 | 2004-11-30 | Oracle International Corporation | Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients |
US6023223A (en) | 1999-03-18 | 2000-02-08 | Baxter, Jr.; John Francis | Early warning detection and notification network for environmental conditions |
US6741980B1 (en) | 1999-03-23 | 2004-05-25 | Microstrategy Inc. | System and method for automatic, real-time delivery of personalized informational and transactional data to users via content delivery device |
US6505167B1 (en) | 1999-04-20 | 2003-01-07 | Microsoft Corp. | Systems and methods for directing automated services for messaging and scheduling |
US6560565B2 (en) | 1999-04-30 | 2003-05-06 | Veritas Dgc Inc. | Satellite-based seismic mobile information and control system |
US6459913B2 (en) | 1999-05-03 | 2002-10-01 | At&T Corp. | Unified alerting device and method for alerting a subscriber in a communication network based upon the result of logical functions |
US6757720B1 (en) | 1999-05-19 | 2004-06-29 | Sun Microsystems, Inc. | Profile service architecture |
US6343287B1 (en) | 1999-05-19 | 2002-01-29 | Sun Microsystems, Inc. | External data store link for a profile service |
US6542515B1 (en) | 1999-05-19 | 2003-04-01 | Sun Microsystems, Inc. | Profile service |
US6356940B1 (en) | 1999-05-26 | 2002-03-12 | Brian Robert Short | Method and system of electronically logging remote user dietary information, and generating and automatically sending suggested dietary modifications |
US6519571B1 (en) | 1999-05-27 | 2003-02-11 | Accenture Llp | Dynamic customer profile management |
US6411992B1 (en) | 1999-05-28 | 2002-06-25 | Qwest Communications Int'l, Inc. | Method and apparatus for broadcasting information over a network |
US6351744B1 (en) | 1999-05-28 | 2002-02-26 | Unisys Corporation | Multi-processor system for database management |
US7472349B1 (en) | 1999-06-01 | 2008-12-30 | Oracle International Corporation | Dynamic services infrastructure for allowing programmatic access to internet and other resources |
US6792605B1 (en) | 1999-06-10 | 2004-09-14 | Bow Street Software, Inc. | Method and apparatus for providing web based services using an XML Runtime model to store state session data |
US6910068B2 (en) | 1999-06-11 | 2005-06-21 | Microsoft Corporation | XML-based template language for devices and services |
US6574655B1 (en) | 1999-06-29 | 2003-06-03 | Thomson Licensing Sa | Associative management of multimedia assets and associated resources using multi-domain agent-based communication between heterogeneous peers |
US6526438B1 (en) | 1999-07-12 | 2003-02-25 | Divine, Inc. | Method for distributing information to subscribers over a network |
US6405191B1 (en) | 1999-07-21 | 2002-06-11 | Oracle Corporation | Content based publish-and-subscribe system integrated in a relational database system |
US6959415B1 (en) | 1999-07-26 | 2005-10-25 | Microsoft Corporation | Methods and apparatus for parsing Extensible Markup Language (XML) data streams |
US6622160B1 (en) | 1999-07-30 | 2003-09-16 | Microsoft Corporation | Methods for routing items for communications based on a measure of criticality |
US6714967B1 (en) | 1999-07-30 | 2004-03-30 | Microsoft Corporation | Integration of a computer-based message priority system with mobile electronic devices |
US6601233B1 (en) * | 1999-07-30 | 2003-07-29 | Accenture Llp | Business components framework |
US6618716B1 (en) | 1999-07-30 | 2003-09-09 | Microsoft Corporation | Computational architecture for managing the transmittal and rendering of information, alerts, and notifications |
US6718535B1 (en) * | 1999-07-30 | 2004-04-06 | Accenture Llp | System, method and article of manufacture for an activity framework design in an e-commerce based environment |
US6381465B1 (en) | 1999-08-27 | 2002-04-30 | Leap Wireless International, Inc. | System and method for attaching an advertisement to an SMS message for wireless transmission |
US7343351B1 (en) | 1999-08-31 | 2008-03-11 | American Express Travel Related Services Company, Inc. | Methods and apparatus for conducting electronic transactions |
US6662357B1 (en) * | 1999-08-31 | 2003-12-09 | Accenture Llp | Managing information in an integrated development architecture framework |
US6405364B1 (en) * | 1999-08-31 | 2002-06-11 | Accenture Llp | Building techniques in a development architecture framework |
US6748555B1 (en) * | 1999-09-09 | 2004-06-08 | Microsoft Corporation | Object-based software management |
US6343324B1 (en) | 1999-09-13 | 2002-01-29 | International Business Machines Corporation | Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access to the devices |
US6732080B1 (en) | 1999-09-15 | 2004-05-04 | Nokia Corporation | System and method of providing personal calendar services |
US6314447B1 (en) | 1999-10-04 | 2001-11-06 | Sony Corporation | System uses local registry and load balancing procedure for identifying processing capabilities of a remote device to perform a processing task |
US20030140112A1 (en) | 1999-11-04 | 2003-07-24 | Satish Ramachandran | Electronic messaging system method and apparatus |
US6609148B1 (en) | 1999-11-10 | 2003-08-19 | Randy Salo | Clients remote access to enterprise networks employing enterprise gateway servers in a centralized data center converting plurality of data requests for messaging and collaboration into a single request |
US6823458B1 (en) | 1999-11-18 | 2004-11-23 | International Business Machines Corporation | Apparatus and method for securing resources shared by multiple operating systems |
US6556995B1 (en) | 1999-11-18 | 2003-04-29 | International Business Machines Corporation | Method to provide global sign-on for ODBC-based database applications |
US20040078273A1 (en) | 1999-12-08 | 2004-04-22 | Loeb Michael R. | Method and apparatus for relational linking based upon customer activities |
JP2001175606A (en) | 1999-12-20 | 2001-06-29 | Sony Corp | Data processor, and data processing equipment and its method |
US20040193444A1 (en) | 1999-12-28 | 2004-09-30 | Wendy Hufford | Computer system for managing litigation risk early warning system |
JP2001188965A (en) | 1999-12-28 | 2001-07-10 | Optrom Inc | Storage medium, and information managing method and information processing system using the storage medium |
US6499077B1 (en) | 1999-12-30 | 2002-12-24 | Intel Corporation | Bus interface unit for reflecting state information for a transfer request to a requesting device |
US20020010781A1 (en) * | 1999-12-30 | 2002-01-24 | Tuatini Jeffrey Taihana | Shared service messaging models |
US20010047385A1 (en) | 1999-12-30 | 2001-11-29 | Jeffrey Tuatini | Passthru to shared service funtionality |
US6697865B1 (en) | 2000-01-04 | 2004-02-24 | E.Piphany, Inc. | Managing relationships of parties interacting on a network |
US6845448B1 (en) | 2000-01-07 | 2005-01-18 | Pennar Software Corporation | Online repository for personal information |
US6643652B2 (en) | 2000-01-14 | 2003-11-04 | Saba Software, Inc. | Method and apparatus for managing data exchange among systems in a network |
WO2001052056A2 (en) | 2000-01-14 | 2001-07-19 | Saba Software, Inc. | Method and apparatus for a business applications management system platform |
US6757898B1 (en) | 2000-01-18 | 2004-06-29 | Mckesson Information Solutions, Inc. | Electronic provider—patient interface system |
US7024692B1 (en) | 2000-01-21 | 2006-04-04 | Unisys Corporation | Non pre-authenticated kerberos logon via asynchronous message mechanism |
US6694336B1 (en) | 2000-01-25 | 2004-02-17 | Fusionone, Inc. | Data transfer and synchronization system |
WO2001055870A1 (en) | 2000-01-26 | 2001-08-02 | Yefim Zhuk | Distributed active knowledge and process base |
US6591260B1 (en) | 2000-01-28 | 2003-07-08 | Commerce One Operations, Inc. | Method of retrieving schemas for interpreting documents in an electronic commerce system |
US20010029470A1 (en) | 2000-02-03 | 2001-10-11 | R. Steven Schultz | Electronic transaction receipt system and method |
US6816878B1 (en) | 2000-02-11 | 2004-11-09 | Steven L. Zimmers | Alert notification system |
EP1128266A3 (en) * | 2000-02-22 | 2004-02-25 | Orsus Solutions Limited | Cooperative software application architecture |
CA2400442A1 (en) | 2000-02-25 | 2001-08-30 | Yet Mui | Method for enterprise workforce planning |
US7634528B2 (en) | 2000-03-16 | 2009-12-15 | Microsoft Corporation | Harnessing information about the timing of a user's client-server interactions to enhance messaging and collaboration services |
US7249159B1 (en) | 2000-03-16 | 2007-07-24 | Microsoft Corporation | Notification platform architecture |
US6738767B1 (en) | 2000-03-20 | 2004-05-18 | International Business Machines Corporation | System and method for discovering schematic structure in hypertext documents |
US6604099B1 (en) | 2000-03-20 | 2003-08-05 | International Business Machines Corporation | Majority schema in semi-structured data |
US6820082B1 (en) | 2000-04-03 | 2004-11-16 | Allegis Corporation | Rule based database security system and method |
JP2003532955A (en) | 2000-04-17 | 2003-11-05 | ショーン・イー・ウィーダリン | Online directory assistance system |
US20020002625A1 (en) * | 2000-04-17 | 2002-01-03 | Mark Vange | System and method for reformatting data traffic |
US6917373B2 (en) | 2000-12-28 | 2005-07-12 | Microsoft Corporation | Context sensitive labels for an electronic device |
US6584564B2 (en) | 2000-04-25 | 2003-06-24 | Sigaba Corporation | Secure e-mail system |
US6731940B1 (en) | 2000-04-28 | 2004-05-04 | Trafficmaster Usa, Inc. | Methods of using wireless geolocation to customize content and delivery of information to wireless communication devices |
US6601016B1 (en) | 2000-04-28 | 2003-07-29 | International Business Machines Corporation | Monitoring fitness activity across diverse exercise machines utilizing a universally accessible server system |
US6981028B1 (en) | 2000-04-28 | 2005-12-27 | Obongo, Inc. | Method and system of implementing recorded data for automating internet interactions |
US7191236B2 (en) | 2000-05-02 | 2007-03-13 | Canon Kabushiki Kaisha | Transparent telecommunications system and apparatus |
US6799208B1 (en) | 2000-05-02 | 2004-09-28 | Microsoft Corporation | Resource manager architecture |
US6976078B1 (en) | 2000-05-08 | 2005-12-13 | International Business Machines Corporation | Process for simultaneous user access using access control structures for authoring systems |
US6917976B1 (en) | 2000-05-09 | 2005-07-12 | Sun Microsystems, Inc. | Message-based leasing of resources in a distributed computing environment |
US6792466B1 (en) | 2000-05-09 | 2004-09-14 | Sun Microsystems, Inc. | Trusted construction of message endpoints in a distributed computing environment |
US6789126B1 (en) | 2000-05-09 | 2004-09-07 | Sun Microsystems, Inc. | Addressing message gates in a distributed computing environment |
US7072967B1 (en) | 2000-05-09 | 2006-07-04 | Sun Microsystems, Inc. | Efficient construction of message endpoints |
US6898618B1 (en) | 2000-05-09 | 2005-05-24 | Sun Microsystems, Inc. | Client-specified display services in a distributed computing environment |
US6789077B1 (en) | 2000-05-09 | 2004-09-07 | Sun Microsystems, Inc. | Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment |
US6643650B1 (en) | 2000-05-09 | 2003-11-04 | Sun Microsystems, Inc. | Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment |
US6918084B1 (en) | 2000-05-09 | 2005-07-12 | Sun Microsystems, Inc. | Spawning new repository spaces using information provided in advertisement schema messages |
JP2004501428A (en) | 2000-05-09 | 2004-01-15 | サン・マイクロシステムズ・インコーポレイテッド | Method and apparatus for service proximity discovery |
US6862594B1 (en) | 2000-05-09 | 2005-03-01 | Sun Microsystems, Inc. | Method and apparatus to discover services using flexible search criteria |
US6850979B1 (en) | 2000-05-09 | 2005-02-01 | Sun Microsystems, Inc. | Message gates in a distributed computing environment |
JP2001325869A (en) | 2000-05-17 | 2001-11-22 | Sony Chem Corp | Protective element |
US6772216B1 (en) | 2000-05-19 | 2004-08-03 | Sun Microsystems, Inc. | Interaction protocol for managing cross company processes among network-distributed applications |
US7062642B1 (en) | 2000-05-20 | 2006-06-13 | Ciena Corporation | Policy based provisioning of network device resources |
JP3642004B2 (en) | 2000-05-22 | 2005-04-27 | 日本電気株式会社 | Relay device, mobile radio communication system, failure notification method thereof, and recording medium recording failure notification program thereof |
US6594672B1 (en) | 2000-06-01 | 2003-07-15 | Hyperion Solutions Corporation | Generating multidimensional output using meta-models and meta-outlines |
US20020016173A1 (en) | 2000-06-21 | 2002-02-07 | Hunzinger Jason F. | Communication of location information in a wireless communication system |
US6990513B2 (en) | 2000-06-22 | 2006-01-24 | Microsoft Corporation | Distributed computing services platform |
US6748417B1 (en) | 2000-06-22 | 2004-06-08 | Microsoft Corporation | Autonomous network service configuration |
CA2414379A1 (en) | 2000-06-30 | 2002-01-10 | Troy Schultz | Method and apparatus for a gis based search engine utilizing real time advertising |
US9038170B2 (en) | 2000-07-10 | 2015-05-19 | Oracle International Corporation | Logging access system events |
US7031945B1 (en) | 2000-07-24 | 2006-04-18 | Donner Irah H | System and method for reallocating and/or upgrading and/or rewarding tickets, other event admittance means, goods and/or services |
JP3833450B2 (en) | 2000-07-27 | 2006-10-11 | 三菱電機株式会社 | Communication control method and router |
US6601075B1 (en) | 2000-07-27 | 2003-07-29 | International Business Machines Corporation | System and method of ranking and retrieving documents based on authority scores of schemas and documents |
US6766362B1 (en) | 2000-07-28 | 2004-07-20 | Seiko Epson Corporation | Providing a network-based personalized newspaper with personalized content and layout |
US6944662B2 (en) | 2000-08-04 | 2005-09-13 | Vinestone Corporation | System and methods providing automatic distributed data retrieval, analysis and reporting services |
US20040015725A1 (en) * | 2000-08-07 | 2004-01-22 | Dan Boneh | Client-side inspection and processing of secure content |
US6704024B2 (en) * | 2000-08-07 | 2004-03-09 | Zframe, Inc. | Visual content browsing using rasterized representations |
JP4049525B2 (en) | 2000-08-16 | 2008-02-20 | 富士通株式会社 | Distributed processing system |
US20020026426A1 (en) | 2000-08-24 | 2002-02-28 | Bennett Joseph Michael | Method of accessing the internet via the use of automated teller machines |
TW512640B (en) | 2000-08-25 | 2002-12-01 | Phone Inc W | Mobile opinion polling system and method |
US6957199B1 (en) | 2000-08-30 | 2005-10-18 | Douglas Fisher | Method, system and service for conducting authenticated business transactions |
US6954751B2 (en) | 2000-09-06 | 2005-10-11 | Oracle International Corporation | Accessing data stored at an intermediary from a service |
US6686838B1 (en) | 2000-09-06 | 2004-02-03 | Xanboo Inc. | Systems and methods for the automatic registration of devices |
US6823495B1 (en) | 2000-09-14 | 2004-11-23 | Microsoft Corporation | Mapping tool graphical user interface |
US6934740B1 (en) | 2000-09-19 | 2005-08-23 | 3Com Corporation | Method and apparatus for sharing common data objects among multiple applications in a client device |
EP1189159A1 (en) | 2000-09-19 | 2002-03-20 | Niels Mache | System for processing like-kind exchange transactions |
US6907465B1 (en) | 2000-09-22 | 2005-06-14 | Daniel E. Tsai | Electronic commerce using personal preferences |
US6604209B1 (en) * | 2000-09-29 | 2003-08-05 | Sun Microsystems, Inc. | Distributed component testing in an enterprise computer system |
US6542845B1 (en) * | 2000-09-29 | 2003-04-01 | Sun Microsystems, Inc. | Concurrent execution and logging of a component test in an enterprise computer system |
US20020042846A1 (en) | 2000-10-05 | 2002-04-11 | Bottan Gustavo L. | Personal support network |
US6414635B1 (en) | 2000-10-23 | 2002-07-02 | Wayport, Inc. | Geographic-based communication service system with more precise determination of a user's known geographic location |
US8868448B2 (en) | 2000-10-26 | 2014-10-21 | Liveperson, Inc. | Systems and methods to facilitate selling of products and services |
AU2002243279A1 (en) | 2000-11-01 | 2002-06-18 | Flexiworld Technologies, Inc. | Controller and manager for device-to-device pervasive digital output |
FI20002402A (en) | 2000-11-01 | 2002-05-02 | Nokia Corp | Configuration control in a distributed environment |
US8996698B1 (en) | 2000-11-03 | 2015-03-31 | Truphone Limited | Cooperative network for mobile internet access |
EP1334463B1 (en) * | 2000-11-06 | 2010-03-31 | Koninklijke Philips Electronics N.V. | Method of measuring the movement of an input device. |
CA2326368A1 (en) | 2000-11-20 | 2002-05-20 | Adexact Corporation | Method and system for targeted content delivery, presentation, management, and reporting |
US20020090934A1 (en) | 2000-11-22 | 2002-07-11 | Mitchelmore Eliott R.D. | Content and application delivery and management platform system and method |
US6678682B1 (en) | 2000-11-28 | 2004-01-13 | G.E. Information Services, Inc. | Method, system, and software for enterprise access management control |
US20020065881A1 (en) | 2000-11-29 | 2002-05-30 | Tapio Mansikkaniemi | Wireless family bulletin board |
US7721210B2 (en) | 2000-11-29 | 2010-05-18 | Nokia Corporation | Electronic calendar system |
US20020069298A1 (en) | 2000-12-01 | 2002-06-06 | Jorgen Birkler | Mobile terminal having multiple personal information management functionality |
US6832237B1 (en) | 2000-12-01 | 2004-12-14 | Unisys Corporation | Method and apparatus for selecting and/or changing the display resolution of HTML home pages in a web application development environment |
US20020129000A1 (en) | 2000-12-11 | 2002-09-12 | Vikram Pillai | XML file system |
US7080406B2 (en) | 2000-12-15 | 2006-07-18 | International Business Machines Corporation | Method for transferring privilege access to a resource manager with subsequent loss of privilege by the initiating identity |
US20030041000A1 (en) | 2000-12-18 | 2003-02-27 | Paul Zajac | System and method for providing a graphical user interface for a multi-interface financial transaction system |
US20020116232A1 (en) | 2000-12-18 | 2002-08-22 | Rapp Larry J. | System and method for interactive scheduling |
US20040139145A1 (en) | 2000-12-21 | 2004-07-15 | Bar-Or Gigy | Method and apparatus for scalable distributed storage |
US6782379B2 (en) | 2000-12-22 | 2004-08-24 | Oblix, Inc. | Preparing output XML based on selected programs and XML templates |
US20020083073A1 (en) | 2000-12-22 | 2002-06-27 | Vaidya Neelam N. | Managing a layered hierarchical data set |
US20030220891A1 (en) | 2000-12-22 | 2003-11-27 | Fish Robert D | Matter management computer software |
US20030061081A1 (en) | 2000-12-26 | 2003-03-27 | Appareon | System, method and article of manufacture for collaborative supply chain modules of a supply chain system |
US20030074247A1 (en) | 2000-12-26 | 2003-04-17 | Appareon | System, method, and article of manufacture for manipulating the actors in a supply chain system |
US20020087397A1 (en) | 2000-12-28 | 2002-07-04 | Sam Mazza | Buying, selling, and marketing advertisements |
US7127514B2 (en) | 2000-12-28 | 2006-10-24 | Microsoft Corporation | Stateless distributed computer architecture with server-oriented state-caching objects maintained on network or client |
GB2382898B (en) | 2000-12-29 | 2005-06-29 | Zarlink Semiconductor Ltd | A method of managing data |
US20020099573A1 (en) | 2001-01-24 | 2002-07-25 | Hitachi, Ltd. | Network solution system of analysis and evaluation |
US6907457B2 (en) | 2001-01-25 | 2005-06-14 | Dell Inc. | Architecture for access to embedded files using a SAN intermediate device |
US7337125B2 (en) | 2001-01-25 | 2008-02-26 | International Business Machines Corporation | System and method for enhancing sales for service providers utilizing an opportunistic approach based on an unexpected change in schedule of services |
US6871232B2 (en) | 2001-03-06 | 2005-03-22 | International Business Machines Corporation | Method and system for third party resource provisioning management |
US7136908B2 (en) | 2001-01-29 | 2006-11-14 | Intel Corporation | Extensible network services system |
US20020104017A1 (en) * | 2001-01-30 | 2002-08-01 | Rares Stefan | Firewall system for protecting network elements connected to a public network |
US20020154161A1 (en) | 2001-02-01 | 2002-10-24 | Friedman Michael A. | Method and system for providing universal remote control of computing devices |
US20020133477A1 (en) | 2001-03-05 | 2002-09-19 | Glenn Abel | Method for profile-based notice and broadcast of multimedia content |
US7133869B2 (en) | 2001-03-06 | 2006-11-07 | Knowledge Vector, Inc. | Methods and systems for and defining and distributing information alerts |
US7681032B2 (en) * | 2001-03-12 | 2010-03-16 | Portauthority Technologies Inc. | System and method for monitoring unauthorized transport of digital content |
US20020131428A1 (en) | 2001-03-13 | 2002-09-19 | Vivian Pecus | Large edge node for simultaneous video on demand and live streaming of satellite delivered content |
US20030023623A1 (en) | 2001-03-14 | 2003-01-30 | Horvitz Eric J. | Schema-based service for identity-based access to presence data |
WO2002073442A1 (en) | 2001-03-14 | 2002-09-19 | Microsoft Corporation | Service-to-service communication for network services |
WO2002075534A1 (en) * | 2001-03-19 | 2002-09-26 | Empirix Inc. | Component/web service operational profile auto-sequencing |
JP2002279026A (en) | 2001-03-19 | 2002-09-27 | Nec Corp | Server, method and program for presenting program interest level |
US20060265475A9 (en) * | 2001-03-19 | 2006-11-23 | Thomas Mayberry | Testing web services as components |
US7721110B2 (en) | 2001-04-06 | 2010-05-18 | Mcafee, Inc. | System and method for secure and verified sharing of resources in a peer-to-peer network environment |
US6697809B2 (en) | 2001-04-19 | 2004-02-24 | Vigilance, Inc. | Data retrieval and transmission system |
US20020161838A1 (en) | 2001-04-27 | 2002-10-31 | Pickover Cilfford A. | Method and apparatus for targeting information |
WO2002088908A2 (en) | 2001-05-02 | 2002-11-07 | Bitstream Inc. | Methods, systems, and programming for producing and displaying subpixel-optimized font bitmaps using non-linear color balancing |
US6925481B2 (en) | 2001-05-03 | 2005-08-02 | Symantec Corp. | Technique for enabling remote data access and manipulation from a pervasive device |
US20020184092A1 (en) | 2001-06-01 | 2002-12-05 | Cherry Darrel D. | Customized advertising methods for personal media services |
US7027051B2 (en) | 2001-06-29 | 2006-04-11 | International Business Machines Corporation | Graphical user interface for visualization of sampled data compared to entitled or reference levels |
IL144141A0 (en) | 2001-07-04 | 2002-05-23 | Method and system for improving a route along which data is sent using an ip protocol in a data communications network | |
US7562112B2 (en) | 2001-07-06 | 2009-07-14 | Intel Corporation | Method and apparatus for peer-to-peer services for efficient transfer of information between networks |
CN100346338C (en) * | 2001-07-12 | 2007-10-31 | 捷讯研究有限公司 | System and method for providing remote data access and transcoding for a mobile communication device |
US20030014659A1 (en) * | 2001-07-16 | 2003-01-16 | Koninklijke Philips Electronics N.V. | Personalized filter for Web browsing |
US7002942B2 (en) | 2001-08-02 | 2006-02-21 | Motorola, Inc. | Method and apparatus for communicating information by splitting information among a plurality of proximal units |
US6958984B2 (en) | 2001-08-02 | 2005-10-25 | Motorola, Inc. | Method and apparatus for aggregation of wireless resources of proximal wireless units to facilitate diversity signal combining |
US7113771B2 (en) | 2001-08-02 | 2006-09-26 | Motorola, Inc. | Method and apparatus for enabling and rewarding wireless resource sharing |
WO2003021978A1 (en) | 2001-08-10 | 2003-03-13 | Strix Systems, Inc. | Virtual linking using a wireless device |
US7545805B2 (en) * | 2001-08-15 | 2009-06-09 | Precache, Inc. | Method and apparatus for content-based routing and filtering at routers using channels |
US20030165139A1 (en) * | 2001-08-15 | 2003-09-04 | Tsu-Wei Chen | Packet routing via payload inspection |
EP1444810B1 (en) | 2001-09-21 | 2006-12-06 | Koninklijke Philips Electronics N.V. | No specific control module? use less specific one |
US6882706B2 (en) | 2001-10-23 | 2005-04-19 | Microsoft Corp. | Method and system of providing emergency data |
US7610390B2 (en) | 2001-12-04 | 2009-10-27 | Sun Microsystems, Inc. | Distributed network identity |
US7487233B2 (en) | 2001-12-05 | 2009-02-03 | Canon Kabushiki Kaisha | Device access based on centralized authentication |
US20030135556A1 (en) | 2001-12-14 | 2003-07-17 | International Business Machines Corporation | Selection of communication strategies for message brokers or publish/subscribe communications |
US20030135441A1 (en) | 2001-12-17 | 2003-07-17 | Cfph, L.L.C. | Systems and methods for durable goods futures market |
US6543317B1 (en) | 2001-12-18 | 2003-04-08 | Beere Precision Medical Instruments, Inc. | Screw holder and torquing tool |
GB0130626D0 (en) | 2001-12-20 | 2002-02-06 | Ibm | Message filtering |
US7149219B2 (en) * | 2001-12-28 | 2006-12-12 | The Directtv Group, Inc. | System and method for content filtering using static source routes |
US20030149646A1 (en) | 2002-02-01 | 2003-08-07 | Ubs Painewebber Inc. | Method and system for providing an aggregated stock options report |
US7149806B2 (en) | 2002-02-27 | 2006-12-12 | Hewlett-Packard Development Company, L.P. | Data access in a distributed environment |
US7178149B2 (en) | 2002-04-17 | 2007-02-13 | Axeda Corporation | XML scripting of soap commands |
AU2003241394A1 (en) | 2002-05-10 | 2003-11-11 | Microsoft Corporation | Cooperation of concurrent, distributed networks of resources |
US7260601B1 (en) | 2002-06-28 | 2007-08-21 | Cisco Technology, Inc. | Methods and apparatus for transmitting media programs |
US9886309B2 (en) | 2002-06-28 | 2018-02-06 | Microsoft Technology Licensing, Llc | Identity-based distributed computing for device resources |
US20040006590A1 (en) | 2002-06-28 | 2004-01-08 | Microsoft Corporation | Service for locating centralized schema-based services |
US6986121B1 (en) | 2002-06-28 | 2006-01-10 | Microsoft Corporation | Managing code when communicating using heirarchically-structured data |
US8489742B2 (en) | 2002-10-10 | 2013-07-16 | Convergys Information Management Group, Inc. | System and method for work management |
US6911143B2 (en) | 2002-10-31 | 2005-06-28 | Stanadyne Corporation | Base receptacle for filter cartridge incorporating a peripheral compatibility matrix |
US7385957B2 (en) * | 2002-11-14 | 2008-06-10 | Qualcomm Incorporated | Methods and apparatus for extending mobile IP |
US7937578B2 (en) * | 2002-11-14 | 2011-05-03 | Qualcomm Incorporated | Communications security methods for supporting end-to-end security associations |
US7346630B2 (en) | 2003-06-13 | 2008-03-18 | Yahoo! Inc. | Method and system for delivery alerts to a user |
US7266557B2 (en) | 2003-06-25 | 2007-09-04 | International Business Machines Corporation | File retrieval method and system |
US7979448B2 (en) | 2003-06-25 | 2011-07-12 | International Business Machines Corporation | Mail and calendar tool and method |
US20050289447A1 (en) | 2004-06-29 | 2005-12-29 | The Boeing Company | Systems and methods for generating and storing referential links in a database |
-
2002
- 2002-01-31 US US10/062,045 patent/US7024662B2/en not_active Expired - Lifetime
-
2005
- 2005-03-21 US US11/086,590 patent/US20050165773A1/en not_active Abandoned
-
2006
- 2006-02-03 US US11/347,448 patent/US8572576B2/en not_active Expired - Fee Related
-
2013
- 2013-10-03 US US14/045,704 patent/US9413817B2/en not_active Expired - Lifetime
-
2016
- 2016-07-19 US US15/214,307 patent/US20170017529A1/en not_active Abandoned
Patent Citations (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5218680A (en) * | 1990-03-15 | 1993-06-08 | International Business Machines Corporation | Data link controller with autonomous in tandem pipeline circuit elements relative to network channels for transferring multitasking data in cyclically recurrent time slots |
US5440744A (en) * | 1990-08-14 | 1995-08-08 | Digital Equipment Corporation | Methods and apparatus for implementing server functions in a distributed heterogeneous environment |
US5544285A (en) * | 1991-11-08 | 1996-08-06 | International Business Machines Corporation | Graphical user interface control for replicating data fields in forms |
US5485409A (en) * | 1992-04-30 | 1996-01-16 | International Business Machines Corporation | Automated penetration analysis system and method |
US5754175A (en) * | 1992-12-01 | 1998-05-19 | Microsoft Corporation | Method and system for in-place interaction with contained objects |
US5819092A (en) * | 1994-11-08 | 1998-10-06 | Vermeer Technologies, Inc. | Online service development tool with fee setting capabilities |
US5956715A (en) * | 1994-12-13 | 1999-09-21 | Microsoft Corporation | Method and system for controlling user access to a resource in a networked computing environment |
US6003079A (en) * | 1997-02-27 | 1999-12-14 | Hewlett Packard Company | System and method for continuously measuring quality of service in a federated application environment |
US5930801A (en) * | 1997-03-07 | 1999-07-27 | Xerox Corporation | Shared-data environment in which each file has independent security properties |
US6243830B1 (en) * | 1997-05-08 | 2001-06-05 | Yazaki Corporation | State information managing method and communication system |
US6106573A (en) * | 1997-06-12 | 2000-08-22 | Advanced Micro Devices, Inc. | Apparatus and method for tracing microprocessor instructions |
US6542923B2 (en) * | 1997-08-21 | 2003-04-01 | Planet Web, Inc. | Active electronic mail |
US6272506B1 (en) * | 1997-09-12 | 2001-08-07 | Doxis, Llc | Computerized verification form processing system and method |
US20020059342A1 (en) * | 1997-10-23 | 2002-05-16 | Anoop Gupta | Annotating temporally-dimensioned multimedia content |
US6457066B1 (en) * | 1997-11-10 | 2002-09-24 | Microsoft Corporation | Simple object access protocol |
US6308216B1 (en) * | 1997-11-14 | 2001-10-23 | International Business Machines Corporation | Service request routing using quality-of-service data and network resource information |
US6330610B1 (en) * | 1997-12-04 | 2001-12-11 | Eric E. Docter | Multi-stage data filtering system employing multiple filtering criteria |
US6571279B1 (en) * | 1997-12-05 | 2003-05-27 | Pinpoint Incorporated | Location enhanced information delivery system |
US6253204B1 (en) * | 1997-12-17 | 2001-06-26 | Sun Microsystems, Inc. | Restoring broken links utilizing a spider process |
US6314093B1 (en) * | 1997-12-24 | 2001-11-06 | Nortel Networks Limited | Traffic route finder in communications network |
US6151624A (en) * | 1998-02-03 | 2000-11-21 | Realnames Corporation | Navigating network resources based on metadata |
US6192380B1 (en) * | 1998-03-31 | 2001-02-20 | Intel Corporation | Automatic web based form fill-in |
US6122629A (en) * | 1998-04-30 | 2000-09-19 | Compaq Computer Corporation | Filesystem data integrity in a single system image environment |
US6161125A (en) * | 1998-05-14 | 2000-12-12 | Sun Microsystems, Inc. | Generic schema for storing configuration information on a client computer |
US6327574B1 (en) * | 1998-07-07 | 2001-12-04 | Encirq Corporation | Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner |
US6694429B1 (en) * | 1998-08-04 | 2004-02-17 | At&T Corp. | Method for establishing call state information without maintaining state information at gate controllers |
US6148290A (en) * | 1998-09-04 | 2000-11-14 | International Business Machines Corporation | Service contract for managing service systems |
US20020013788A1 (en) * | 1998-11-10 | 2002-01-31 | Pennell Mark E. | System and method for automatically learning information used for electronic form-filling |
US6470450B1 (en) * | 1998-12-23 | 2002-10-22 | Entrust Technologies Limited | Method and apparatus for controlling application access to limited access based data |
US6581095B1 (en) * | 1998-12-31 | 2003-06-17 | Hyundai Electronics Industries Co., Ltd. | Apparatus for matching a large amount of configuration data between exchanger and telecommunication management network repeater in code division multiple access system and control method thereof |
US6857013B2 (en) * | 1999-01-29 | 2005-02-15 | Intermec Ip.Corp. | Remote anomaly diagnosis and reconfiguration of an automatic data collection device platform over a telecommunications network |
US6820204B1 (en) * | 1999-03-31 | 2004-11-16 | Nimesh Desai | System and method for selective information exchange |
US6711585B1 (en) * | 1999-06-15 | 2004-03-23 | Kanisa Inc. | System and method for implementing a knowledge management system |
US6510439B1 (en) * | 1999-08-06 | 2003-01-21 | Lucent Technologies Inc. | Method and system for consistent update and retrieval of document in a WWW server |
US6651217B1 (en) * | 1999-09-01 | 2003-11-18 | Microsoft Corporation | System and method for populating forms with previously used data values |
US7210147B1 (en) * | 1999-10-05 | 2007-04-24 | Veritas Operating Corporation | IP virtualization |
US6993502B1 (en) * | 1999-11-11 | 2006-01-31 | Cch Incorporated | Transaction tax collection system and method |
US6850975B1 (en) * | 1999-11-29 | 2005-02-01 | Intel Corporation | Web site monitoring |
US20010023421A1 (en) * | 1999-12-16 | 2001-09-20 | International Business Machines Corporation | Access control system, access control method, storage medium and program transmission apparatus |
US6868447B1 (en) * | 2000-05-09 | 2005-03-15 | Sun Microsystems, Inc. | Mechanism and apparatus for returning results of services in a distributed computing environment |
US20020019828A1 (en) * | 2000-06-09 | 2002-02-14 | Mortl William M. | Computer-implemented method and apparatus for obtaining permission based data |
US6684204B1 (en) * | 2000-06-19 | 2004-01-27 | International Business Machines Corporation | Method for conducting a search on a network which includes documents having a plurality of tags |
US20060003780A1 (en) * | 2000-07-13 | 2006-01-05 | Malik Mamdani | Mixed-mode interaction |
US6925307B1 (en) * | 2000-07-13 | 2005-08-02 | Gtech Global Services Corporation | Mixed-mode interaction |
US6574631B1 (en) * | 2000-08-09 | 2003-06-03 | Oracle International Corporation | Methods and systems for runtime optimization and customization of database applications and application entities |
US6754470B2 (en) * | 2000-09-01 | 2004-06-22 | Telephia, Inc. | System and method for measuring wireless device and network usage and performance metrics |
US6745011B1 (en) * | 2000-09-01 | 2004-06-01 | Telephia, Inc. | System and method for measuring wireless device and network usage and performance metrics |
US6594666B1 (en) * | 2000-09-25 | 2003-07-15 | Oracle International Corp. | Location aware application development framework |
US20020083048A1 (en) * | 2000-09-26 | 2002-06-27 | I2 Technologies, Inc. | System and method for selective database indexing |
US20030177135A1 (en) * | 2000-10-13 | 2003-09-18 | Axon Information Technology Pty Ltd. | Multi-user database for computer-based information |
US20020103661A1 (en) * | 2000-10-30 | 2002-08-01 | International Business Machines Corporation | System and method for representation of business policy and governing the conduct of business activities using a business rules book |
US6917937B1 (en) * | 2000-11-01 | 2005-07-12 | Sas Institute Inc. | Server-side object filtering |
US20020085579A1 (en) * | 2000-12-29 | 2002-07-04 | Gateway, Inc. | Shared registry with multiple keys for storing preferences and other applications on a local area network |
US6986145B2 (en) * | 2001-03-13 | 2006-01-10 | Dipayan Gangopadhyay | In-context access to relevant services from multiple applications and information systems by object schema traversal |
US20030131069A1 (en) * | 2001-03-14 | 2003-07-10 | Lucovsky Mark H. | Schema-based context service |
US20060150140A1 (en) * | 2001-03-14 | 2006-07-06 | Microsoft Corporation | Executing dynamically assigned functions while providing services |
US7284271B2 (en) * | 2001-03-14 | 2007-10-16 | Microsoft Corporation | Authorizing a requesting entity to operate upon data structures |
US20070083561A1 (en) * | 2001-03-14 | 2007-04-12 | Microsoft Corporation | Distributing notifications to multiple recipients via a broadcast list |
US7136859B2 (en) * | 2001-03-14 | 2006-11-14 | Microsoft Corporation | Accessing heterogeneous data in a standardized manner |
US20060161554A1 (en) * | 2001-03-14 | 2006-07-20 | Microsoft Corporation | Schema-Based Services For Identity-Based Data Access |
US7062539B2 (en) * | 2001-03-14 | 2006-06-13 | Microsoft Corporation | Using state information in a distributed environment |
US20030131073A1 (en) * | 2001-03-14 | 2003-07-10 | Lucovsky Mark H. | Schema-based services for identity-based data access |
US20060036642A1 (en) * | 2001-03-14 | 2006-02-16 | Microsoft Corporation | Schemas for a notification platform and related information services |
US20030131142A1 (en) * | 2001-03-14 | 2003-07-10 | Horvitz Eric J. | Schema-based information preference settings |
US20020133535A1 (en) * | 2001-03-14 | 2002-09-19 | Microsoft Corporation | Identity-centric data access |
US20030115228A1 (en) * | 2001-03-14 | 2003-06-19 | Horvitz Eric J. | Schema-based service for identity-based access to location data |
US20030101190A1 (en) * | 2001-03-14 | 2003-05-29 | Microsoft Corporation | Schema-based notification service |
US20040199869A1 (en) * | 2001-03-14 | 2004-10-07 | Microsoft Corporation | Schema-based service for identity-based data access to financial data |
US20040199861A1 (en) * | 2001-03-14 | 2004-10-07 | Lucovsky Mark H. | Schema-based services for identity-based data access to document data |
US6985958B2 (en) * | 2001-03-14 | 2006-01-10 | Microsoft Corporation | Messaging infrastructure for identity-centric data access |
US20030041065A1 (en) * | 2001-03-14 | 2003-02-27 | Mark Lucovsky | Schema-based services for identity-based access to contacts data |
US20030041076A1 (en) * | 2001-03-14 | 2003-02-27 | Lucovsky Mark H. | Schema-based services for identity-based access to calendar data |
US20030069887A1 (en) * | 2001-03-14 | 2003-04-10 | Lucovsky Mark H. | Schema-based services for identity-based access to inbox data |
US6823369B2 (en) * | 2001-03-14 | 2004-11-23 | Microsoft Corporation | Using state information in requests that are transmitted in a distributed network environment |
US20030061365A1 (en) * | 2001-03-14 | 2003-03-27 | Microsoft Corporation | Service-to-service communication for network services |
US20030050911A1 (en) * | 2001-03-14 | 2003-03-13 | Mark Lucovsky | Schema-based services for identity-based access to profile data |
US20020133627A1 (en) * | 2001-03-19 | 2002-09-19 | International Business Machines Corporation | Intelligent document filtering |
US7072843B2 (en) * | 2001-03-23 | 2006-07-04 | Restaurant Services, Inc. | System, method and computer program product for error checking in a supply chain management framework |
US20030004874A1 (en) * | 2001-04-03 | 2003-01-02 | Bottomline Technologies (De) Inc. | Electronic bill presentment system with client specific formatting of data |
US20020157007A1 (en) * | 2001-04-18 | 2002-10-24 | Nec Corporation | User authentication system and user authentication method used therefor |
US6708137B2 (en) * | 2001-07-16 | 2004-03-16 | Cable & Wireless Internet Services, Inc. | System and method for providing composite variance analysis for network operation |
US20030023263A1 (en) * | 2001-07-24 | 2003-01-30 | Incept Llc | Apparatus and methods for aspirating emboli |
US6892201B2 (en) * | 2001-09-05 | 2005-05-10 | International Business Machines Corporation | Apparatus and method for providing access rights information in a portion of a file |
US20040205526A1 (en) * | 2001-09-28 | 2004-10-14 | Vadim Borodovski | Prompted form filling mechanism |
US20030135411A1 (en) * | 2002-01-11 | 2003-07-17 | Kazumasa Ushiki | Content adaptation service control system |
US20030133553A1 (en) * | 2002-01-15 | 2003-07-17 | Khakoo Shabbir A. | Method and apparatus for delivering enhanced caller identification services to a called party |
US20040205656A1 (en) * | 2002-01-30 | 2004-10-14 | Benefitnation | Document rules data structure and method of document publication therefrom |
US20030149696A1 (en) * | 2002-02-07 | 2003-08-07 | Steve Nelson | Internet based system for creating presentations |
US7250846B2 (en) * | 2002-03-05 | 2007-07-31 | International Business Machines Corporation | Method and apparatus for providing dynamic user alert |
US6816886B2 (en) * | 2002-03-14 | 2004-11-09 | Microsoft Corporation | Measuring performance metrics of networked computing entities |
US20040006564A1 (en) * | 2002-06-28 | 2004-01-08 | Lucovsky Mark H. | Schema-based service for identity-based data access to category data |
US7246122B2 (en) * | 2002-06-28 | 2007-07-17 | Microsoft Corporation | Schema-based services for identity-based data access to favorite website data |
US7284197B2 (en) * | 2002-06-28 | 2007-10-16 | Microsoft Corporation | Schema-based services for identity-based data access to application settings data |
US20040010451A1 (en) * | 2002-07-12 | 2004-01-15 | Romano Aaron A. | Method and system for finalizing specific processes through a dynamic system |
US7206788B2 (en) * | 2002-07-30 | 2007-04-17 | Microsoft Corporation | Schema-based services for identity-based access to device data |
US20040024866A1 (en) * | 2002-07-31 | 2004-02-05 | Murali Sundar | Service creator apparatus, systems, and methods |
US7216287B2 (en) * | 2002-08-02 | 2007-05-08 | International Business Machines Corporation | Personal voice portal service |
US20040060002A1 (en) * | 2002-09-12 | 2004-03-25 | Microsoft Corporation | Schema-based service for identity-based access to lists |
US20050100150A1 (en) * | 2002-09-30 | 2005-05-12 | Avaya Technology Corp. | Method and apparatus for delivering documents with identification information to a called party |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140032631A1 (en) * | 2001-03-14 | 2014-01-30 | Microsoft Corporation | Executing dynamically assigned functions while providing services |
US20030131069A1 (en) * | 2001-03-14 | 2003-07-10 | Lucovsky Mark H. | Schema-based context service |
US20060161554A1 (en) * | 2001-03-14 | 2006-07-20 | Microsoft Corporation | Schema-Based Services For Identity-Based Data Access |
US20020133535A1 (en) * | 2001-03-14 | 2002-09-19 | Microsoft Corporation | Identity-centric data access |
US9460421B2 (en) | 2001-03-14 | 2016-10-04 | Microsoft Technology Licensing, Llc | Distributing notifications to multiple recipients via a broadcast list |
US9413817B2 (en) * | 2001-03-14 | 2016-08-09 | Microsoft Technology Licensing, Llc | Executing dynamically assigned functions while providing services |
US7664724B2 (en) | 2001-03-14 | 2010-02-16 | Microsoft Corporation | Schema-based services for identity-based data access |
US8572576B2 (en) | 2001-03-14 | 2013-10-29 | Microsoft Corporation | Executing dynamically assigned functions while providing services |
US9886309B2 (en) | 2002-06-28 | 2018-02-06 | Microsoft Technology Licensing, Llc | Identity-based distributed computing for device resources |
US20080004584A1 (en) * | 2006-06-07 | 2008-01-03 | Langdon Frederick M | Absorbent article having an anchored core assembly |
US20080004586A1 (en) * | 2006-06-07 | 2008-01-03 | Lodge Richard W | Absorbent article having an anchored core assembly |
US20080004593A1 (en) * | 2006-06-07 | 2008-01-03 | Lodge Richard W | Absorbent article having an anchored core assembly |
US20080230682A1 (en) * | 2007-03-20 | 2008-09-25 | Semiconductor Energy Laboratory Co., Ltd. | Method for manufacturing a semiconductor device |
US8858523B2 (en) | 2007-09-07 | 2014-10-14 | The Procter & Gamble Company | Disposable wearable absorbent articles with anchoring subsystems |
US9056031B2 (en) | 2007-09-07 | 2015-06-16 | The Procter & Gamble Company | Disposable wearable absorbent articles with anchoring subsystems |
US9060900B2 (en) | 2007-09-07 | 2015-06-23 | The Proctor & Gamble Company | Disposable wearable absorbent articles with anchoring subsystems |
Also Published As
Publication number | Publication date |
---|---|
US8572576B2 (en) | 2013-10-29 |
US20170017529A1 (en) | 2017-01-19 |
US9413817B2 (en) | 2016-08-09 |
US20060150140A1 (en) | 2006-07-06 |
US20140032631A1 (en) | 2014-01-30 |
US20020184344A1 (en) | 2002-12-05 |
US7024662B2 (en) | 2006-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9413817B2 (en) | Executing dynamically assigned functions while providing services | |
US10489730B2 (en) | Managing virtual business instances within a computer network | |
US8239954B2 (en) | Access control based on program properties | |
US7457815B2 (en) | Method and apparatus for automatically providing network services | |
US7730138B2 (en) | Policy processing model | |
US6993714B2 (en) | Grouping and nesting hierarchical namespaces | |
US7454486B2 (en) | Profiling and tracing distributed applications | |
US20080208806A1 (en) | Techniques for a web services data access layer | |
Coward et al. | Java servlet specification version 2.3 | |
US7363550B2 (en) | Remote error detection by preserving errors generated throughout a software stack within a message | |
US8671284B1 (en) | Security model for actor-based languages and apparatus, methods, and computer programming products using same | |
US20020103811A1 (en) | Method and apparatus for locating and exchanging clinical information | |
US20030126464A1 (en) | Method and system for determining and enforcing security policy in a communication session | |
US20040199818A1 (en) | Automated testing of web services | |
JP2009134756A (en) | System and method for actively managing enterprise of configurable components | |
Bellwood et al. | UDDI version 2.04 API specification | |
US20040059704A1 (en) | Self-managing computing system | |
Belyaev et al. | On the design and analysis of protocols for personal health record storage on personal data server devices | |
US7574601B2 (en) | Securely inspecting electronic messages | |
US7426551B1 (en) | System, method and computer program product for dynamic system adaptation using contracts | |
US7430596B2 (en) | Integrating electronic messaging diagnostics into a messaging pipeline | |
Benedictis et al. | SLAs for cloud applications: agreement protocol and REST-based implementation | |
Paananen | Analyzing Java EE application security with SonarQube | |
Dini | Self-adaptable trust mechanism for Web services | |
Cubo et al. | Middlesex University Research Repository |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001 Effective date: 20141014 |